{"_id":"@bazari.libervia.xyz/app-sdk","_rev":"5-cb819d450d8433a5d23869ecfa1e6aa5","name":"@bazari.libervia.xyz/app-sdk","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.0":{"name":"@bazari.libervia.xyz/app-sdk","version":"0.1.0","keywords":["bazari","sdk","web3","marketplace","apps"],"author":{"name":"Bazari Team"},"license":"MIT","_id":"@bazari.libervia.xyz/app-sdk@0.1.0","maintainers":[{"name":"monteiro.kleber276","email":"monteiro.kleber276@gmail.com"}],"homepage":"https://github.com/bazari/platform#readme","bugs":{"url":"https://github.com/bazari/platform/issues"},"dist":{"shasum":"8dbf8dbde6859e3346f8a78c244b3185eabc0260","tarball":"https://registry.npmjs.org/@bazari.libervia.xyz/app-sdk/-/app-sdk-0.1.0.tgz","fileCount":6,"integrity":"sha512-g7Z9xHuFSLfcF1/IHhMNENefAFZmiT1KEYRygdHJsi4rPfz/eT6L0hqqV9ga/RIhT6bH9BBe7SCGZaKJnIiwYg==","signatures":[{"sig":"MEUCIHEcYwqZ/kiO4usiKCeZ6rkrF/sy9v8gH9v5wRniwvFSAiEAoFoP3TzgMHcs5IFDKPkvjC1P47l+UpNPr8CqKfHLOG8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81864},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"c4f8a7c692df7b2fd001ffa9a8b18e653fddf49e","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src/","build":"tsup src/index.ts --format cjs,esm --dts","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"monteiro.kleber276","email":"monteiro.kleber276@gmail.com"},"repository":{"url":"git+https://github.com/bazari/platform.git","type":"git","directory":"packages/bazari-app-sdk"},"_npmVersion":"10.8.2","description":"SDK for building Bazari apps","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"peerDependencies":{"typescript":">=4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/app-sdk_0.1.0_1765313456297_0.5929406704765761","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bazari.libervia.xyz/app-sdk","version":"0.1.1","keywords":["bazari","sdk","web3","marketplace","apps"],"author":{"name":"Bazari Team"},"license":"MIT","_id":"@bazari.libervia.xyz/app-sdk@0.1.1","maintainers":[{"name":"monteiro.kleber276","email":"monteiro.kleber276@gmail.com"}],"homepage":"https://github.com/bazari/platform#readme","bugs":{"url":"https://github.com/bazari/platform/issues"},"dist":{"shasum":"1eeedd3b88c44e8c031e19356812bb68dc82c9b7","tarball":"https://registry.npmjs.org/@bazari.libervia.xyz/app-sdk/-/app-sdk-0.1.1.tgz","fileCount":6,"integrity":"sha512-e7VmZrkZXXNeu4lV7EkKbyXHPFBNHQ3bASMLdRFVBFN0Q05tYqxDBzyqtL914FIZF5RniGg9W86oOgtGwBfVHg==","signatures":[{"sig":"MEQCIG5V8BhEq/LQiZpcDJifqfNZTmNipjTwc+Mqyof3jH++AiB+ewNB1ryG48mLdAG4OFexwTTEqVaPOjoPvlgvaB+V5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81968},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"c4f8a7c692df7b2fd001ffa9a8b18e653fddf49e","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src/","build":"tsup src/index.ts --format cjs,esm --dts","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"monteiro.kleber276","email":"monteiro.kleber276@gmail.com"},"repository":{"url":"git+https://github.com/bazari/platform.git","type":"git","directory":"packages/bazari-app-sdk"},"_npmVersion":"10.8.2","description":"SDK for building Bazari apps","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"peerDependencies":{"typescript":">=4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/app-sdk_0.1.1_1765314383449_0.17738007050046867","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bazari.libervia.xyz/app-sdk","version":"0.2.0","keywords":["bazari","sdk","web3","marketplace","apps"],"author":{"name":"Bazari Team"},"license":"MIT","_id":"@bazari.libervia.xyz/app-sdk@0.2.0","maintainers":[{"name":"monteiro.kleber276","email":"monteiro.kleber276@gmail.com"}],"homepage":"https://github.com/bazari/platform#readme","bugs":{"url":"https://github.com/bazari/platform/issues"},"dist":{"shasum":"7269bad03521f3306bd3407710188037a165b8cf","tarball":"https://registry.npmjs.org/@bazari.libervia.xyz/app-sdk/-/app-sdk-0.2.0.tgz","fileCount":6,"integrity":"sha512-zijkufTvmeUpQOPtMghCHtRkWy13frDikYYDCMG8C99TowTT7PhnQaNx2ZzwcX+jynvmKhgMh5EVJgNfCpC9fg==","signatures":[{"sig":"MEUCIQDapO82IOwKbG44wkO3irS0A0mtR8lYBfUH+2a2dkLcYgIgHk6V/GJyqToZncUgVkpvCDRr7dh8R6RBckWCbAc4Tf0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92678},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"c4f8a7c692df7b2fd001ffa9a8b18e653fddf49e","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src/","build":"tsup src/index.ts --format cjs,esm --dts","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"monteiro.kleber276","email":"monteiro.kleber276@gmail.com"},"repository":{"url":"git+https://github.com/bazari/platform.git","type":"git","directory":"packages/bazari-app-sdk"},"_npmVersion":"10.8.2","description":"SDK for building Bazari apps","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"peerDependencies":{"typescript":">=4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/app-sdk_0.2.0_1765332658696_0.6733305681122395","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@bazari.libervia.xyz/app-sdk","version":"0.2.1","keywords":["bazari","sdk","web3","marketplace","apps"],"author":{"name":"Bazari Team"},"license":"MIT","_id":"@bazari.libervia.xyz/app-sdk@0.2.1","maintainers":[{"name":"monteiro.kleber276","email":"monteiro.kleber276@gmail.com"}],"homepage":"https://github.com/bazari/platform#readme","bugs":{"url":"https://github.com/bazari/platform/issues"},"dist":{"shasum":"96eb045ffe9805c639d0f6a43792a05d173aa01f","tarball":"https://registry.npmjs.org/@bazari.libervia.xyz/app-sdk/-/app-sdk-0.2.1.tgz","fileCount":6,"integrity":"sha512-Z4euuyBDK0nu2312QcKsXHiXpwqnMVjY1r4n5c5AFmpDmFaLvYinXHZCebxUd/bpPDVIZHKqv7xAHVQzeYitlQ==","signatures":[{"sig":"MEYCIQDmSs3PRg+la/du8pjC7YeCfmY2DL51cKNHiHhXeeGvtQIhALHoBN6dH3bVLuIALKi/i2y0N094nxvWIyRg4Xaj8jF6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93138},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"c4f8a7c692df7b2fd001ffa9a8b18e653fddf49e","scripts":{"dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src/","build":"tsup src/index.ts --format cjs,esm --dts","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"monteiro.kleber276","email":"monteiro.kleber276@gmail.com"},"repository":{"url":"git+https://github.com/bazari/platform.git","type":"git","directory":"packages/bazari-app-sdk"},"_npmVersion":"10.8.2","description":"SDK for building Bazari apps","directories":{},"_nodeVersion":"20.19.5","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"peerDependencies":{"typescript":">=4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/app-sdk_0.2.1_1765400365977_0.3464138591470649","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@bazari.libervia.xyz/app-sdk","version":"0.2.2","description":"SDK for building Bazari apps","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"build":"tsup src/index.ts --format cjs,esm --dts","dev":"tsup src/index.ts --format cjs,esm --dts --watch","lint":"eslint src/","typecheck":"tsc --noEmit","clean":"rm -rf dist"},"keywords":["bazari","sdk","web3","marketplace","apps"],"author":{"name":"Bazari Team"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/bazari/platform.git","directory":"packages/bazari-app-sdk"},"peerDependencies":{"typescript":">=4.7.0"},"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0"},"_id":"@bazari.libervia.xyz/app-sdk@0.2.2","gitHead":"c4f8a7c692df7b2fd001ffa9a8b18e653fddf49e","bugs":{"url":"https://github.com/bazari/platform/issues"},"homepage":"https://github.com/bazari/platform#readme","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-Q+QRaelETsmOqH5YNk+BfhU/99W0WwjWMG9gQZJLSHTVk4MTpXQFuBEfG900NUnFQrr6H7Ab3id9mVaGHZJ8aQ==","shasum":"4db5f460c6d100ae3caf1413521efa0578f00848","tarball":"https://registry.npmjs.org/@bazari.libervia.xyz/app-sdk/-/app-sdk-0.2.2.tgz","fileCount":6,"unpackedSize":92986,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICnwrSz0itneBbF9LkwYeoxEIXOh3XKJt14IFs8dEg7eAiAZnZEmxJ+XAoluQaPJI9Zr3V2fWYmCNBijhuOjSOroIw=="}]},"_npmUser":{"name":"monteiro.kleber276","email":"monteiro.kleber276@gmail.com"},"directories":{},"maintainers":[{"name":"monteiro.kleber276","email":"monteiro.kleber276@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/app-sdk_0.2.2_1765401036539_0.872384303070576"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-09T20:50:56.206Z","modified":"2025-12-10T21:10:36.971Z","0.1.0":"2025-12-09T20:50:56.455Z","0.1.1":"2025-12-09T21:06:23.632Z","0.2.0":"2025-12-10T02:10:58.857Z","0.2.1":"2025-12-10T20:59:26.144Z","0.2.2":"2025-12-10T21:10:36.765Z"},"bugs":{"url":"https://github.com/bazari/platform/issues"},"author":{"name":"Bazari Team"},"license":"MIT","homepage":"https://github.com/bazari/platform#readme","keywords":["bazari","sdk","web3","marketplace","apps"],"repository":{"type":"git","url":"git+https://github.com/bazari/platform.git","directory":"packages/bazari-app-sdk"},"description":"SDK for building Bazari apps","maintainers":[{"name":"monteiro.kleber276","email":"monteiro.kleber276@gmail.com"}],"readme":"# @bazari.libervia.xyz/app-sdk\n\nSDK oficial para desenvolvimento de apps no ecossistema Bazari.\n\n## Instalação\n\n```bash\nnpm install @bazari.libervia.xyz/app-sdk\n# ou\nyarn add @bazari.libervia.xyz/app-sdk\n# ou\npnpm add @bazari.libervia.xyz/app-sdk\n```\n\n## Uso Básico\n\n```typescript\nimport { BazariSDK } from '@bazari.libervia.xyz/app-sdk';\n\n// Inicializar SDK\nconst sdk = new BazariSDK();\n\n// Verificar se está no Bazari\nif (!sdk.isInBazari()) {\n  console.warn('Este app deve rodar dentro do Bazari');\n}\n\n// Obter usuário atual\nconst user = await sdk.auth.getCurrentUser();\nconsole.log('Usuário:', user.displayName);\n\n// Verificar saldo\nconst balance = await sdk.wallet.getBalance();\nconsole.log('Saldo BZR:', balance.formatted.bzr);\n\n// Mostrar notificação\nawait sdk.ui.success('Bem-vindo ao app!');\n```\n\n## APIs Disponíveis\n\n### Auth\n\n```typescript\n// Obter usuário logado\nconst user = await sdk.auth.getCurrentUser();\n\n// Verificar permissões\nconst permissions = await sdk.auth.getPermissions();\nconst canTransfer = await sdk.auth.hasPermission('wallet.transfer.request');\n```\n\n### Wallet\n\n```typescript\n// Obter saldo\nconst balance = await sdk.wallet.getBalance();\nconst bzrOnly = await sdk.wallet.getBalance('BZR');\n\n// Histórico\nconst transactions = await sdk.wallet.getHistory({ limit: 10 });\n\n// Solicitar transferência (abre modal de confirmação)\nconst result = await sdk.wallet.requestTransfer({\n  to: 'user-handle',\n  amount: 100,\n  token: 'BZR',\n  memo: 'Pagamento'\n});\n```\n\n### Storage\n\n```typescript\n// Salvar dados (isolados por app)\nawait sdk.storage.set('myKey', { data: 'value' });\n\n// Recuperar dados\nconst data = await sdk.storage.get('myKey');\n\n// Com fallback\nconst value = await sdk.storage.getOrDefault('key', 'default');\n\n// Remover\nawait sdk.storage.remove('myKey');\nawait sdk.storage.clear(); // Limpa tudo\n```\n\n### UI\n\n```typescript\n// Toasts\nawait sdk.ui.showToast('Mensagem', { type: 'info' });\nawait sdk.ui.success('Sucesso!');\nawait sdk.ui.error('Erro!');\nawait sdk.ui.warning('Atenção!');\n\n// Confirmação\nconst confirmed = await sdk.ui.showConfirm({\n  title: 'Confirmar ação',\n  message: 'Tem certeza?',\n  confirmText: 'Sim',\n  cancelText: 'Não'\n});\n\n// Modal\nawait sdk.ui.showModal({ title: 'Título', content: 'Conteúdo' });\nawait sdk.ui.closeModal();\n```\n\n### Events\n\n```typescript\n// Escutar evento\nconst unsubscribe = await sdk.events.on('wallet:balanceChanged', (data) => {\n  console.log('Novo saldo:', data);\n});\n\n// Parar de escutar\nunsubscribe();\n\n// Escutar uma vez\nawait sdk.events.once('app:activated', (data) => {\n  console.log('App ativado');\n});\n```\n\n## Permissões\n\nSeu app deve declarar as permissões necessárias no `bazari.manifest.json`:\n\n```json\n{\n  \"permissions\": [\n    { \"id\": \"user.profile.read\", \"reason\": \"Para exibir seu nome\" },\n    { \"id\": \"wallet.balance.read\", \"reason\": \"Para mostrar saldo\" }\n  ]\n}\n```\n\n## Eventos Disponíveis\n\n| Evento | Descrição |\n|--------|-----------|\n| `wallet:transaction` | Nova transação detectada |\n| `wallet:balanceChanged` | Saldo alterado |\n| `user:profileUpdated` | Perfil do usuário atualizado |\n| `app:activated` | App foi ativado/focado |\n| `app:deactivated` | App perdeu foco |\n\n## TypeScript\n\nO SDK é totalmente tipado. Importe os tipos conforme necessário:\n\n```typescript\nimport type {\n  SDKUser,\n  SDKBalance,\n  SDKTransaction,\n  SDKPermissions,\n  BazariEvent\n} from '@bazari.libervia.xyz/app-sdk';\n```\n\n## Debug Mode\n\nPara desenvolvimento, ative o modo debug:\n\n```typescript\nconst sdk = new BazariSDK({ debug: true });\n```\n\nIsso irá:\n- Mostrar warnings quando não estiver dentro do Bazari\n- Logar inicialização e versão\n\n## Segurança\n\n- O SDK funciona via `postMessage` com a plataforma host\n- Apps rodam em iframes sandboxed\n- Todas as operações sensíveis requerem permissão\n- Dados no storage são isolados por app\n- Transferências sempre requerem confirmação do usuário\n\n## Requisitos\n\n- TypeScript >= 4.7.0 (para desenvolvimento)\n- Navegador moderno com suporte a ES2020\n\n## Licença\n\nMIT\n","readmeFilename":"README.md"}