{"_id":"@botanary/sdk","_rev":"20-581ca9645943b24c35280140b1ea951d","name":"@botanary/sdk","dist-tags":{"latest":"0.1.0-alpha.12","next":"0.1.0-alpha.12","alpha":"0.1.0-alpha.12"},"versions":{"0.1.0-alpha.1":{"name":"@botanary/sdk","version":"0.1.0-alpha.1","license":"MIT","_id":"@botanary/sdk@0.1.0-alpha.1","maintainers":[{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"}],"dist":{"shasum":"f40d73b03bcfb2dc4e47680aa4cf3008aa309a76","tarball":"https://registry.npmjs.org/@botanary/sdk/-/sdk-0.1.0-alpha.1.tgz","fileCount":80,"integrity":"sha512-U948ULwtZrm2IDf4KUPhJDiZAUbQ+l9ul8TQMtmSqET1u/3drLFP5uB80s36lDqCoKAd/r/utpiXGFBzEPJ+0g==","signatures":[{"sig":"MEUCIQCWp8QmWDaSmcCOU2vkIIwxoY0KzWL5TQoNbpmd1BdKKAIgMx9/16YpUT85sO0/H2avHIM81Am0Qs+WqCjLuing7V0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":748123},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/generated/schema.d.ts","default":"./dist/generated/schema.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./webhooks":{"types":"./dist/webhooks.d.ts","default":"./dist/webhooks.js"}},"gitHead":"cf69c1b46ffd91a005d8fa12bac33a391a82e77f","scripts":{"test":"vitest run","build":"tsc","prepack":"pnpm build","generate":"node scripts/generate.mjs","typecheck":"tsc --noEmit","test:packed":"node scripts/verify-packed.mjs","check:generated":"node scripts/generate.mjs --check"},"_npmUser":{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"},"_npmVersion":"11.7.0","description":"Typed Botanary application, connection and operation API client.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"openapi-fetch":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.5.1","devDependencies":{"yaml":"2.9.0","vitest":"2.1.9","typescript":"5.9.3","@types/node":"22.19.15","openapi-typescript":"7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-alpha.1_1788972503518_0.6582979964221696","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.2":{"name":"@botanary/sdk","version":"0.1.0-alpha.2","license":"MIT","_id":"@botanary/sdk@0.1.0-alpha.2","maintainers":[{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"}],"dist":{"shasum":"19159feb40b79b73c3cd428fc8d7646c0034ae89","tarball":"https://registry.npmjs.org/@botanary/sdk/-/sdk-0.1.0-alpha.2.tgz","fileCount":27,"integrity":"sha512-AFoWd+qUwVJOwSTB+4h9NOiPEEW7vmrbVUIk2Dghff660eCaW8tslzHN/31CBTa301hKn4vbODDBIrNHdXpedA==","signatures":[{"sig":"MEYCIQDpGU6oBoyBGfRC9FTVLu5XNJiEif9wjzW6Q2rXrnE/7gIhAMCRc8oYe+TfudqQ2adaN+m8C0AEjOLBLc8TRSmz6+15","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":385758},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/generated/schema.d.ts","default":"./dist/generated/schema.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./webhooks":{"types":"./dist/webhooks.d.ts","default":"./dist/webhooks.js"}},"gitHead":"b445ef7c1d6341069893835a12e7728c03eca8d5","scripts":{"test":"vitest run","build":"node ../protected-boundary/release-build.mjs sdk","prepack":"pnpm check:generated && pnpm build","generate":"node scripts/generate.mjs","build:tsc":"tsc","typecheck":"tsc --noEmit","test:packed":"node scripts/verify-packed.mjs","audit:artifact":"node ../protected-boundary/audit-artifact.mjs sdk","check:generated":"node scripts/generate.mjs --check","check:inventory":"node ../protected-boundary/check-inventory.mjs sdk"},"_npmUser":{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"},"_npmVersion":"11.7.0","description":"Typed Botanary application, connection and operation API client.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"openapi-fetch":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.5.1","readmeFilename":"README.md","devDependencies":{"yaml":"2.9.0","vitest":"2.1.9","esbuild":"0.25.12","typescript":"5.9.3","@types/node":"22.19.15","openapi-typescript":"7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-alpha.2_1789053819865_0.030691074940419005","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.3":{"name":"@botanary/sdk","version":"0.1.0-alpha.3","license":"MIT","_id":"@botanary/sdk@0.1.0-alpha.3","maintainers":[{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"}],"dist":{"shasum":"873cec1d9b3b4c0e6812c28bcb62856ce38b3db6","tarball":"https://registry.npmjs.org/@botanary/sdk/-/sdk-0.1.0-alpha.3.tgz","fileCount":27,"integrity":"sha512-jDd+xJ9eM7BH9XxZxbLkpTjESF/V4SRRWpBEEX7T3q0OQNE5h/PWsYhQd1ohXodiJVGpmyOuAIXEd9bQcd6G/Q==","signatures":[{"sig":"MEYCIQCOuLQjsMYCoN6MFv3rgjUrYzBgFluGo2tqWhQyVPYpYAIhAM7xdZvvd951sWmtj4jTfHtKzHuuWQ0uSY54sVrrjUGp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":421275},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/generated/schema.d.ts","default":"./dist/generated/schema.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./webhooks":{"types":"./dist/webhooks.d.ts","default":"./dist/webhooks.js"}},"gitHead":"1db9fffe4bbc4d41160ae35bccbd241dfcf042ca","scripts":{"test":"vitest run","build":"node ../protected-boundary/release-build.mjs sdk","prepack":"pnpm check:generated && pnpm build","generate":"node scripts/generate.mjs","build:tsc":"tsc","typecheck":"tsc --noEmit","test:packed":"node scripts/verify-packed.mjs","audit:artifact":"node ../protected-boundary/audit-artifact.mjs sdk","check:generated":"node scripts/generate.mjs --check","check:inventory":"node ../protected-boundary/check-inventory.mjs sdk"},"_npmUser":{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"},"_npmVersion":"11.7.0","description":"Typed Botanary application, connection and operation API client.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"openapi-fetch":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.5.1","readmeFilename":"README.md","devDependencies":{"yaml":"2.9.0","vitest":"2.1.9","esbuild":"0.25.12","typescript":"5.9.3","@types/node":"22.19.15","openapi-typescript":"7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-alpha.3_1789113649315_0.13150510768465917","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.4":{"name":"@botanary/sdk","version":"0.1.0-alpha.4","license":"MIT","_id":"@botanary/sdk@0.1.0-alpha.4","maintainers":[{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"}],"dist":{"shasum":"1d9d359c0f06056507821fe23b15570af4e1eca9","tarball":"https://registry.npmjs.org/@botanary/sdk/-/sdk-0.1.0-alpha.4.tgz","fileCount":27,"integrity":"sha512-mFjxmlbLthJPL2B4F9+taknI7PRC840XJW+AvrvccALHbYLXTroUGpb60XarIcgwxV6S5DkPjZczptLqghgaBA==","signatures":[{"sig":"MEUCIQDmatR/e7cIAIMZdKVNHncX1TUWXmXJTNJG4XPyTK1UcAIgPQuRawbu2xjZBwTmaHsnFxbQI8heU81JrIjlyLcZVPo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":428449},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/generated/schema.d.ts","default":"./dist/generated/schema.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./webhooks":{"types":"./dist/webhooks.d.ts","default":"./dist/webhooks.js"}},"gitHead":"54f5e25bdfee09050e3e25603e4982d805806d7a","scripts":{"test":"vitest run","build":"node ../protected-boundary/release-build.mjs sdk","prepack":"pnpm check:generated && pnpm build","generate":"node scripts/generate.mjs","build:tsc":"tsc","typecheck":"tsc --noEmit","test:packed":"node scripts/verify-packed.mjs","audit:artifact":"node ../protected-boundary/audit-artifact.mjs sdk","check:generated":"node scripts/generate.mjs --check","check:inventory":"node ../protected-boundary/check-inventory.mjs sdk"},"_npmUser":{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"},"deprecated":"Superseded: registry artifact did not match the audited pnpm package metadata. Use 0.1.0-alpha.5.","_npmVersion":"11.7.0","description":"Typed Botanary application, connection and operation API client.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"openapi-fetch":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.5.1","readmeFilename":"README.md","devDependencies":{"yaml":"2.9.0","vitest":"2.1.9","esbuild":"0.25.12","typescript":"5.9.3","@types/node":"22.19.15","openapi-typescript":"7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-alpha.4_1789119268560_0.45278939231795334","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.5":{"name":"@botanary/sdk","version":"0.1.0-alpha.5","license":"MIT","_id":"@botanary/sdk@0.1.0-alpha.5","maintainers":[{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"}],"dist":{"shasum":"b15cb1831ab1f320fff9c492f8b549ef0996d11b","tarball":"https://registry.npmjs.org/@botanary/sdk/-/sdk-0.1.0-alpha.5.tgz","fileCount":27,"integrity":"sha512-GL3kmb9tBC6AqV2uqTrOGU49JSprRMMvH8Xm+UkP064KOIoatxJFXrYLtGomO8uGSBqoI0PGyPL1OlBQT4U98w==","signatures":[{"sig":"MEYCIQC7Hr2KwE5cCzOMuM0F8M8th+nHwzVZY4szA+Xgg5xiswIhAORQGmDM7MT4B98HxHBqigg6kR3EbI3NZt0Xwsoftr7q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":428360},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/generated/schema.d.ts","default":"./dist/generated/schema.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./webhooks":{"types":"./dist/webhooks.d.ts","default":"./dist/webhooks.js"}},"scripts":{"test":"vitest run","build":"node ../protected-boundary/release-build.mjs sdk","generate":"node scripts/generate.mjs","build:tsc":"tsc","typecheck":"tsc --noEmit","test:packed":"node scripts/verify-packed.mjs","audit:artifact":"node ../protected-boundary/audit-artifact.mjs sdk","check:generated":"node scripts/generate.mjs --check","check:inventory":"node ../protected-boundary/check-inventory.mjs sdk"},"_npmUser":{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"},"deprecated":"Use @botanary/sdk@0.1.0-alpha.6 for immutable mandate salt review.","description":"Typed Botanary application, connection and operation API client.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"openapi-fetch":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","vitest":"2.1.9","esbuild":"0.25.12","typescript":"5.9.3","@types/node":"22.19.15","openapi-typescript":"7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-alpha.5_1789119533135_0.3838288623862014","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.6":{"name":"@botanary/sdk","version":"0.1.0-alpha.6","license":"MIT","_id":"@botanary/sdk@0.1.0-alpha.6","maintainers":[{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"}],"dist":{"shasum":"25c292ac0d37425c9c6573130030961ce7dece9d","tarball":"https://registry.npmjs.org/@botanary/sdk/-/sdk-0.1.0-alpha.6.tgz","fileCount":27,"integrity":"sha512-wl1Ip4sgiVvEvi7f0VuKNX98AJyTagN1ERgmsTo351uELL6VtAoBGwQj/LeXp3zeETpxzn4JuJ+86ZBCEH8unw==","signatures":[{"sig":"MEUCIQCA3vOnN07+jcD6Y85kA8V8lOzx3spJabbq9retLwz1cQIgIDUjfUxum/LSNeCfztRjRCI6yQgXtgmvRgGdBYouE9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":429038},"type":"module","_from":"file:/tmp/mandate-sdk-release-20260911/botanary-sdk-0.1.0-alpha.6.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/generated/schema.d.ts","default":"./dist/generated/schema.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./webhooks":{"types":"./dist/webhooks.d.ts","default":"./dist/webhooks.js"}},"scripts":{"test":"vitest run","build":"node ../protected-boundary/release-build.mjs sdk","generate":"node scripts/generate.mjs","build:tsc":"tsc","typecheck":"tsc --noEmit","test:packed":"node scripts/verify-packed.mjs","audit:artifact":"node ../protected-boundary/audit-artifact.mjs sdk","check:generated":"node scripts/generate.mjs --check","check:inventory":"node ../protected-boundary/check-inventory.mjs sdk"},"_npmUser":{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"},"_resolved":"/tmp/mandate-sdk-release-20260911/botanary-sdk-0.1.0-alpha.6.tgz","_integrity":"sha512-wl1Ip4sgiVvEvi7f0VuKNX98AJyTagN1ERgmsTo351uELL6VtAoBGwQj/LeXp3zeETpxzn4JuJ+86ZBCEH8unw==","_npmVersion":"11.7.0","description":"Typed Botanary application, connection and operation API client.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"openapi-fetch":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"yaml":"2.9.0","vitest":"2.1.9","esbuild":"0.25.12","typescript":"5.9.3","@types/node":"22.19.15","openapi-typescript":"7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-alpha.6_1789122438228_0.3405014901822856","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.7":{"name":"@botanary/sdk","version":"0.1.0-alpha.7","license":"MIT","_id":"@botanary/sdk@0.1.0-alpha.7","maintainers":[{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"}],"dist":{"shasum":"512f9b87d2a193171ef9df6abbef9d243506ac80","tarball":"https://registry.npmjs.org/@botanary/sdk/-/sdk-0.1.0-alpha.7.tgz","fileCount":27,"integrity":"sha512-ziVNXrANZxcKfTp0WjjybeMVxp9XI1h9u1BCQtYw99pAqOI7o1rkcJzlBI7xxJ2NxY8nGjk7g7x5e3l69Mdl4A==","signatures":[{"sig":"MEUCIEISIA6nIntM0hOqZWBcl6Oz/yLbC7wSCGeSSgke91IyAiEA5A6GErlz5LcRKGo8C2RLwckDUehRR7UqMI/4+WfuX1s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431944},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/generated/schema.d.ts","default":"./dist/generated/schema.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./webhooks":{"types":"./dist/webhooks.d.ts","default":"./dist/webhooks.js"}},"gitHead":"1bd80628ddd0112139d6986731f1b87cef845467","scripts":{"test":"vitest run","build":"node ../protected-boundary/release-build.mjs sdk","prepack":"pnpm check:generated && pnpm build","generate":"node scripts/generate.mjs","build:tsc":"tsc","typecheck":"tsc --noEmit","test:packed":"node scripts/verify-packed.mjs","audit:artifact":"node ../protected-boundary/audit-artifact.mjs sdk","check:generated":"node scripts/generate.mjs --check","check:inventory":"node ../protected-boundary/check-inventory.mjs sdk"},"_npmUser":{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"},"_npmVersion":"11.7.0","description":"Typed Botanary application, connection and operation API client.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"openapi-fetch":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.5.1","readmeFilename":"README.md","devDependencies":{"yaml":"2.9.0","vitest":"2.1.9","esbuild":"0.25.12","typescript":"5.9.3","@types/node":"22.19.15","openapi-typescript":"7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-alpha.7_1789196191774_0.696983002472662","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.8":{"name":"@botanary/sdk","version":"0.1.0-alpha.8","license":"MIT","_id":"@botanary/sdk@0.1.0-alpha.8","maintainers":[{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"}],"dist":{"shasum":"36a7f867a4900c47960d046047c262cc597f1109","tarball":"https://registry.npmjs.org/@botanary/sdk/-/sdk-0.1.0-alpha.8.tgz","fileCount":27,"integrity":"sha512-kS0uuDcAqTmTpFKCvlStnEps2pSaZigy2Fogorec1Qb1e5y4cYFo56cZ+XRQUKAHL+ZNp7J2GOsACuS6LDM0zA==","signatures":[{"sig":"MEUCIHgevfthJQQuMybZwHfN9c841A2PKyAn5XWXYyGEG+yhAiEAu5reyCTV5rSbNcoSsEP3KvCiABKWqgwt6Rp4aAW6XQc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":432019},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/generated/schema.d.ts","default":"./dist/generated/schema.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./webhooks":{"types":"./dist/webhooks.d.ts","default":"./dist/webhooks.js"}},"scripts":{"test":"vitest run","build":"node ../protected-boundary/release-build.mjs sdk","generate":"node scripts/generate.mjs","build:tsc":"tsc","typecheck":"tsc --noEmit","test:packed":"node scripts/verify-packed.mjs","audit:artifact":"node ../protected-boundary/audit-artifact.mjs sdk","check:generated":"node scripts/generate.mjs --check","check:inventory":"node ../protected-boundary/check-inventory.mjs sdk"},"_npmUser":{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"},"description":"Typed Botanary application, connection and operation API client.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"openapi-fetch":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"2.9.0","vitest":"2.1.9","esbuild":"0.25.12","typescript":"5.9.3","@types/node":"22.19.15","openapi-typescript":"7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-alpha.8_1789196344286_0.3533418388435823","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.9":{"name":"@botanary/sdk","version":"0.1.0-alpha.9","license":"MIT","_id":"@botanary/sdk@0.1.0-alpha.9","maintainers":[{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"}],"dist":{"shasum":"2ce20c5db0d0f721846737aa1c29447a2967d5d4","tarball":"https://registry.npmjs.org/@botanary/sdk/-/sdk-0.1.0-alpha.9.tgz","fileCount":27,"integrity":"sha512-L0A/AR3ksQkER4nJDUPVoqJXLe07mm2uEW3SHPVH2RBjQLX5KxsZ642Lata4ryhokLCIzffpQBboqh98hnKAjQ==","signatures":[{"sig":"MEQCIC+BiKOiP0Z3b08NYGlmNyTNOwmhCg8rIA76Vb4RveTrAiBAwCN7AMenu+aUEOuQ05Z6nn0nMGvhFjCXEPtXdp5ZSw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":432713},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/generated/schema.d.ts","default":"./dist/generated/schema.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./webhooks":{"types":"./dist/webhooks.d.ts","default":"./dist/webhooks.js"}},"gitHead":"29b6a4c9af64a989b9d1a7bab97a3e6c52faad09","scripts":{"test":"vitest run","build":"node ../protected-boundary/release-build.mjs sdk","prepack":"pnpm check:generated && pnpm build","generate":"node scripts/generate.mjs","build:tsc":"tsc","typecheck":"tsc --noEmit","test:packed":"node scripts/verify-packed.mjs","audit:artifact":"node ../protected-boundary/audit-artifact.mjs sdk","check:generated":"node scripts/generate.mjs --check","check:inventory":"node ../protected-boundary/check-inventory.mjs sdk"},"_npmUser":{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"},"_npmVersion":"11.7.0","description":"Typed Botanary application, connection and operation API client.","directories":{},"sideEffects":false,"_nodeVersion":"25.3.0","dependencies":{"openapi-fetch":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.5.1","readmeFilename":"README.md","devDependencies":{"yaml":"2.9.0","vitest":"2.1.9","esbuild":"0.25.12","typescript":"5.9.3","@types/node":"22.19.15","openapi-typescript":"7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-alpha.9_1789216842148_0.9827319598039286","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.10":{"name":"@botanary/sdk","version":"0.1.0-alpha.10","license":"MIT","_id":"@botanary/sdk@0.1.0-alpha.10","maintainers":[{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"}],"dist":{"shasum":"f153687272c64d3b3e14c8c6ed62f5bfc8a7044d","tarball":"https://registry.npmjs.org/@botanary/sdk/-/sdk-0.1.0-alpha.10.tgz","fileCount":27,"integrity":"sha512-v57j07AbKGsfielQYglv2eYe3DS/Gof+qvgWxdXlOQDmnZew5ctvAsWXvYWV/jPE3wTng94NxcHqjvKtM7OVRg==","signatures":[{"sig":"MEYCIQCJ8+/w6BGF2l/7wLMCZ3qDQl/y2OLdeyNphnyqooDSwAIhAI2qh3+Rz4oLC4xTGAO18VhuG/346XGPLEkj32va40P0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":432746},"type":"module","_from":"file:botanary-sdk-0.1.0-alpha.10.tgz","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/generated/schema.d.ts","default":"./dist/generated/schema.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./webhooks":{"types":"./dist/webhooks.d.ts","default":"./dist/webhooks.js"}},"scripts":{"test":"vitest run","build":"node ../protected-boundary/release-build.mjs sdk","generate":"node scripts/generate.mjs","build:tsc":"tsc","typecheck":"tsc --noEmit","test:packed":"node scripts/verify-packed.mjs","audit:artifact":"node ../protected-boundary/audit-artifact.mjs sdk","check:generated":"node scripts/generate.mjs --check","check:inventory":"node ../protected-boundary/check-inventory.mjs sdk"},"_npmUser":{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"},"_resolved":"/Users/anderson/Workspace/botanary/botanary-be/packages/sdk/botanary-sdk-0.1.0-alpha.10.tgz","_integrity":"sha512-v57j07AbKGsfielQYglv2eYe3DS/Gof+qvgWxdXlOQDmnZew5ctvAsWXvYWV/jPE3wTng94NxcHqjvKtM7OVRg==","_npmVersion":"11.7.0","description":"Typed Botanary application, connection and operation API client.","directories":{},"sideEffects":false,"_nodeVersion":"25.3.0","dependencies":{"openapi-fetch":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"yaml":"2.9.0","vitest":"2.1.9","esbuild":"0.25.12","typescript":"5.9.3","@types/node":"22.19.15","openapi-typescript":"7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-alpha.10_1789226291852_0.2326368288676457","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.11":{"name":"@botanary/sdk","version":"0.1.0-alpha.11","license":"MIT","_id":"@botanary/sdk@0.1.0-alpha.11","maintainers":[{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"}],"dist":{"shasum":"65d50a4aabbd6abf3fba574dab2d11b1b5006fee","tarball":"https://registry.npmjs.org/@botanary/sdk/-/sdk-0.1.0-alpha.11.tgz","fileCount":28,"integrity":"sha512-QVv9APnYehc1EVABpSTaW2gmr1NbKrTNhUSxMmjn5Q/eHg7wb1I36JSPkd3LgycBJO3JM/JwUibMtXP7aw9IbQ==","signatures":[{"sig":"MEQCIB/5G2RgKeQYMCvS0UDOjo+/jhvYhf+Cmx6ByJUqGzD4AiAjHyCQ9AEYODWnhb0wZG0iDnrGdkc1s1p2SU2j99lo2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCapBgh4wnDszWqJzsYQOiUVN0DJUoZhzCA5pXmx5CX9QIhAOhyhMdeu8DbVBmYGAHUKcyh6lMOOujSsDljQkfLD612","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":430837},"type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/generated/schema.d.ts","default":"./dist/generated/schema.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./webhooks":{"types":"./dist/webhooks.d.ts","default":"./dist/webhooks.js"}},"gitHead":"d78b50e1221c59dc106cd5e26db5fd2b3eb2aff1","scripts":{"test":"vitest run","build":"node ../protected-boundary/release-build.mjs sdk","prepack":"pnpm check:generated && pnpm build","generate":"node scripts/generate.mjs","build:tsc":"tsc","typecheck":"tsc --noEmit","test:packed":"node scripts/verify-packed.mjs","audit:artifact":"node ../protected-boundary/audit-artifact.mjs sdk","check:generated":"node scripts/generate.mjs --check","check:inventory":"node ../protected-boundary/check-inventory.mjs sdk"},"_npmUser":{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"},"_npmVersion":"11.7.0","description":"Typed Botanary application, connection and operation API client.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","dependencies":{"openapi-fetch":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.5.1","devDependencies":{"yaml":"2.9.0","vitest":"2.1.9","esbuild":"0.25.12","typescript":"5.9.3","@types/node":"22.19.15","openapi-typescript":"7.13.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0-alpha.11_1789496765626_0.8001247305992836","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-alpha.12":{"_id":"@botanary/sdk@0.1.0-alpha.12","dist":{"shasum":"b112ada163e00e41e00b7ee3994201a173c6c37b","tarball":"https://registry.npmjs.org/@botanary/sdk/-/sdk-0.1.0-alpha.12.tgz","fileCount":28,"integrity":"sha512-K++xH/dRz19AeK3Zg912LcEI2ya4BvuqfmKC7cKYo5kbtlqgWZ73+GtnWLGN+nvkaM94qnooU/2ZOwuPGJzR9A==","signatures":[{"sig":"MEQCIBqRGR8pGY1lhaK4zEtD97TQU0baRokR4b+DVkCM1A8UAiBc40KyWa1+ht3Lvtr8DwDErmJeInvJCGZhlpdCK3aB6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC0MyAL5sBeTwX7qXjn/e0c2yDJrdCjchobquyK6GvTawIhAOHp6HLmaG6sHxoHkl8rOey5EWiMeu2muVMAmhNv7vf7"}],"unpackedSize":430837},"name":"@botanary/sdk","type":"module","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./types":{"types":"./dist/generated/schema.d.ts","default":"./dist/generated/schema.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./webhooks":{"types":"./dist/webhooks.d.ts","default":"./dist/webhooks.js"}},"gitHead":"e1ecb674321b12494a7def8eb37d28aea29ad2fd","license":"MIT","scripts":{"test":"vitest run","build":"node ../protected-boundary/release-build.mjs sdk","prepack":"pnpm check:generated && pnpm build","generate":"node scripts/generate.mjs","build:tsc":"tsc","typecheck":"tsc --noEmit","test:packed":"node scripts/verify-packed.mjs","audit:artifact":"node ../protected-boundary/audit-artifact.mjs sdk","check:generated":"node scripts/generate.mjs --check","check:inventory":"node ../protected-boundary/check-inventory.mjs sdk"},"version":"0.1.0-alpha.12","_npmUser":{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"},"_npmVersion":"11.17.0","description":"Typed Botanary application, connection and operation API client.","directories":{},"maintainers":[{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"}],"sideEffects":false,"_nodeVersion":"25.3.0","dependencies":{"openapi-fetch":"0.17.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.5.1","devDependencies":{"yaml":"2.9.0","vitest":"2.1.9","esbuild":"0.25.12","typescript":"5.9.3","@types/node":"22.19.15","openapi-typescript":"7.13.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.0-alpha.12_1789559939211_0.7269348649306318"}}},"time":{"created":"2026-09-09T16:48:23.352Z","modified":"2026-09-16T11:58:59.491Z","1.0.0":"2025-12-18T04:53:11.919Z","0.1.0-alpha.1":"2026-09-09T16:48:23.677Z","0.1.0-alpha.2":"2026-09-10T15:23:40.026Z","0.1.0-alpha.3":"2026-09-11T08:00:49.435Z","0.1.0-alpha.4":"2026-09-11T09:34:28.681Z","0.1.0-alpha.5":"2026-09-11T09:38:53.386Z","0.1.0-alpha.6":"2026-09-11T10:27:18.371Z","0.1.0-alpha.7":"2026-09-12T06:56:31.903Z","0.1.0-alpha.8":"2026-09-12T06:59:04.445Z","0.1.0-alpha.9":"2026-09-12T12:40:42.283Z","0.1.0-alpha.10":"2026-09-12T15:18:11.974Z","0.1.0-alpha.11":"2026-09-15T18:26:05.723Z","0.1.0-alpha.12":"2026-09-16T11:58:59.307Z"},"license":"MIT","description":"Typed Botanary application, connection and operation API client.","maintainers":[{"name":"andersonweb3dev","email":"andersonweb3dev@gmail.com"}],"readme":"# @botanary/sdk\n\nAlpha version 0.1.0-alpha.12, API contract 2026-09-12. MIT licensed.\nThe package has not been verified against a deployed platform API.\nNode 22 or later is the server target.\n\n```ts\n// Server only. The value comes from a secret environment variable, never a browser bundle.\nimport { createBotanary } from '@botanary/sdk';\n\nconst botanary = createBotanary({ apiKey: process.env.BOTANARY_SECRET_KEY! });\nconst context = await botanary.app.context();\nconsole.log(context.publicAppId, context.environment, context.chainIds);\n```\n\nCreate an organization, application and scoped Test key in the console. `app:read` is required for\nthis authenticated request. Test exposes only served testnet capabilities; Live exposes only served\nmainnet capabilities. This call verifies a credential but grants no wallet authority.\n\n`client.rest` exposes generated typed methods from the reviewed developer OpenAPI contract. It uses\nopenapi-fetch; unsafe URLs, unreviewed routes and owner-only routes are refused before a key is sent.\nEach client instance retains its own key and context. Keys and payloads are not attached to errors.\n\nReads have up to two additional attempts by default. Retries respect Retry-After and the overall\n30-second deadline. A Retry-After longer than the configured maximum is returned to the caller,\nnot shortened. Mutations retry only if their reviewed route explicitly requires idempotency and\nthe same valid key is present; operation creation supports this contract. Cancellation\nstops retries. `BotanaryError` carries status, code, request ID, retry delay and available operation\nreconciliation handles. A timeout never proves that an operation failed to submit.\n\n`@botanary/sdk/browser` contains browser-safe errors, exact base-unit amounts and generated types.\nIt has no server-key constructor. The package never signs for an owner. Account/connection actions\nare added with their consent contracts; do not use an app key on existing owner API routes.\n\nWhen rotating a key, create a replacement with the required scopes, verify it server-side and revoke\nthe old key after the chosen overlap. If the secret was lost before saving, create another and revoke\nthe uncertain key. App/key revocation stops API access; on-chain permission revocation is a separate\nowner-signed operation.\n\n## Hosted customer connections\n\nThe server creates the request and stores its verification record in the initiating customer's\nserver session. Send only `request.url` to the browser:\n\n```ts\nconst { request, verification } = await botanary.connections.begin({\n  redirectUri: 'https://your-app.example/botanary/callback',\n  scopes: ['accounts:read'],\n});\n```\n\nAfter the owner returns, atomically consume that server session's verification record and pass the\ncallback URL to `botanary.connections.exchangeCallback(callbackUrl, verification)`. It checks state,\ncallback destination and result shape before exchanging the PKCE code. Store returned tokens on the\nserver. `createConnectionClient({ accessToken }).account.context()` reads only the selected account.\nNeither an app key nor a connection token is an owner signer. These clients are not browser exports.\n\nRequest `balances:read` and `activity:read` in consent and the app key to use\n`customer.account.balances()` and `customer.account.activity({ limit: 25, cursor })`.\nBoth select the consented account and chain without caller account overrides. Balances\nretain exact `amountRaw` strings and nullable metadata/prices. `building` is unknown,\nnot a confirmed empty account; `degraded` keeps stored holdings. `readAt` is calculation\ntime, not last chain sync. Activity pages expose recorded Botanary audit events with\n`settlement: 'unverified'`, not complete chain history or confirmed operation receipts.\nPagination cursors bind to the connection and consent version. These safe reads support\nthe client's bounded retry, timeout and cancellation policy.\n\n`connections.refresh(refreshToken)` rotates both tokens. Coordinate concurrent refreshes with shared\nserver storage: reuse revokes the token family, including its newest access token. The SDK never\nretries refresh or code exchange automatically. Reconnect after an uncertain token response. Use a\nreplacement active same-app/environment key with every consented scope during key rotation.\n\n`connections.list()`, `get(id)` and `revoke(id)` manage connection API access. Revocation does not\nrevoke existing on-chain grants. For a local consent page, configure `consentOrigin` explicitly, for\nexample `http://localhost:3000`; the default is `https://app.botanary.xyz`. The API base URL is configured\nseparately. This custom hosted protocol does not claim OAuth standards compliance.\n\nTo request access for a registered agent, pass `agentRegistrationId` to `connections.begin` with\n`accounts:read`, `agents:read` and the additional customer scopes your integration needs. The app key\nmust also carry `agents:write` and `connections:write`. The owner reviews the exact agent key and\nchooses its API access separately. Account consent alone does not connect the agent. Use a distinct\nagent key for each customer connection. `agents.get(id)` reports the current API access status and\nconnection ID; neither field proves an on-chain grant.\n\n## Customer operation requests\n\nRequest `operations:write` and `operations:read` in both the server key and customer consent.\nPersist an idempotency key with each customer intent before making the request. The selected\nconnection fixes the account and network; all amounts are positive integer base-unit strings.\n\n```ts\nimport { createConnectionClient } from '@botanary/sdk';\n\nconst customer = createConnectionClient({ accessToken: process.env.BOTANARY_CONNECTION_TOKEN! });\nconst operation = await customer.operations.create({\n  kind: 'send', chainId: 84532, assetRef: 'eip155:84532/slip44:60',\n  amountRaw: '1000000000000000', to: '0x1111111111111111111111111111111111111111', gasMethod: 'native',\n}, { idempotencyKey: 'persisted-customer-action-id' });\nconst current = await customer.operations.get(operation.id);\n```\n\nSend and same-chain swap intents return a durable operation ID and an origin-checked\n`approvalUrl`. The hosted `/sign` screen reviews the selected account, exact amount, fees and\nexpiry before local owner signing and relay. App and connection credentials cannot build or\nsign for the owner. A `confirmed` or `failed` result is returned only when its non-simulated\nreceipt matches the operation, submission attempt, UserOp hash, account, chain and finalized\nexecution. Confirmed effects also match the approved asset identities and exact base-unit amounts.\nLocal API and browser preview tests do not establish a deployed\ncustomer journey or settlement.\n\n`operations.wait(id, { timeoutMs: 60000, signal })` polls only the existing operation. A timeout\nor access error preserves `BotanaryError.operationId`; a create transport error preserves its\n`idempotencyKey`. Reuse the same creation key and identical intent to recover a lost response.\nNever start another financial action merely because a wait timed out. The SDK accepts keys of\n8 to 128 letters, digits, underscores or hyphens. Read/build/relay acknowledgments remain\n`settlement: 'unverified'`. Keep `submission.attemptId`, `submission.userOpHash` and any\n`transactionHashHint` while status is unresolved. The hint helps discovery and is not proof.\nAfter a reversal, the same operation returns to `unresolved`; reload it by ID and do not request\na fresh signature for the earlier uncertain attempt.\n\n## Public grants\n\nRegister and connect a distinct agent key, then use `client.grants.create`, `list`, `get` and `revoke` from the server-held app client. Creation takes a complete Test-only grant policy and an idempotency key. The response includes a durable grant ID, owner approval URL, permanent permission ID, exact compiled calls, independent API access status and strictly observed chain state. Preserve the ID and original idempotency key after uncertainty. Revocation is another durable owner operation and is not complete until its exact on-chain effect is finalized. The browser entry exports only the closed `parsePublicGrant` projection and public types, never an app credential constructor.\n\n## Webhook endpoints and raw-body verification\n\nThis package includes server-side webhook controls. Give an app key `webhooks:read`\nfor endpoint/history reads and `webhooks:write` for creation, changes, rotation, tests and redelivery.\nConsole owners, admins and developers can manage endpoints; viewers can inspect them.\nDestinations must use public HTTPS on port 443. Test and Live endpoints and secrets are separate.\n\n```ts\nconst created = await client.webhooks.create({\n  url: 'https://your-app.example/botanary-webhook',\n  eventTypes: ['connection.created', 'connection.updated', 'connection.revoked'],\n});\n// Store created.secret on the receiver server immediately. Reads never return it again.\nconst delivery = await client.webhooks.test(created.endpoint.id);\nconst history = await client.webhooks.deliveries(created.endpoint.id, { limit: 50 });\nconst details = await client.webhooks.delivery(created.endpoint.id, delivery.id);\n```\n\n`webhooks.list`, `get`, `update`, `delete`, `rotate` and `redeliver` use the same instance's\napp/environment credential. Delivery history uses `nextCursor` for stable pagination. A deleted\nendpoint keeps scoped delivery history and loses its encrypted signing secrets. A pending delivery\ncannot be manually redelivered. Delivery/rotation creation is not automatically retried after an\nambiguous response; inspect history or rotate again explicitly if a one-time secret response is lost.\n\nUse the standalone server export in your HTTP handler, before any JSON body parser:\n\n```ts\nimport { WebhookVerifier } from '@botanary/sdk/webhooks';\n\nconst verifier = new WebhookVerifier({\n  secrets: process.env.BOTANARY_WEBHOOK_SECRET!,\n  appId: process.env.BOTANARY_APP_ID!,\n  environment: 'test',\n});\n// request is the incoming Fetch API Request from your server framework.\nconst rawBody = new Uint8Array(await request.arrayBuffer());\nconst event = verifier.verify(rawBody, request.headers);\n```\n\nFor Express, install `express.raw({ type: 'application/json', limit: '1mb' })` on this route before\n`express.json()` and pass its Buffer plus `req.headers`. Never parse and reserialize the signed body.\nVerification checks the HMAC, default five-minute past/future timestamp tolerance, event ID, payload\nversion, app and environment. Signature headers follow\n[Standard Webhooks](https://github.com/standard-webhooks/standard-webhooks/blob/main/spec/standard-webhooks.md).\n\nCommit the event ID to a durable transactional inbox before returning a 2xx acknowledgement; a retry\ncan deliver the same event again. Deduplicate on `(appId, environment, event.id)`. The unsigned\n`botanary-delivery-id` header is diagnostic, not a deduplication or authorization boundary. Event IDs\nand bodies survive redelivery, while signature timestamps change. Events can arrive out of order:\nfetch current resource state when necessary, and never infer financial success from a diagnostic\n`webhook.test` event or an HTTP relay acknowledgement.\n\n`webhooks.rotate(id, overlapSeconds)` accepts zero to 86400 seconds. During overlap the sender emits\nboth signatures; receivers may configure `secrets: [newSecret, oldSecret]` during their own migration.\nRemove the old receiver secret when the overlap ends. A second positive overlap is refused until the\nfirst ends. Zero overlap immediately removes all previous sender keys. Rotating secrets does not\nchange an event's identity. Automatic delivery retries last up to three days, honor bounded\nRetry-After, refuse redirects, and disable a matching endpoint on HTTP 410. Simulated local transport\nis labeled in attempts and never completes real webhook onboarding progress.\n\nConnection lifecycle and durable approval required/resolved producers are implemented in this\ncheckpoint. Financial operation and grant notification producers still require authoritative\nsettlement integration. Approval resolution by itself does not establish financial success.\n\n## Embedded account proof preview\n\nThe package exports `client.embedded.challenge({ jwt, signerAddress, chainId, accountId?, scopes })`\nand `client.embedded.complete({ challenge, signature })`. Keep the original parsed challenge in the\nauthenticated customer BFF session; completion validates the returned exact account and scopes against it.\nA lost completion response requires a fresh challenge, never a retry to recover the bearer.\n\n`createEmbeddedClient({ accessToken })` exposes `session()`, `account()`, `portability()`, `revoke()`,\n`agents.list()`, `agents.approve(registrationId)`, `grants.create/list/get/revoke` and the existing\nfinancial operation methods.\nThe same public-grant resource is available under the developer-first `mandates.create/list/get/revoke`\nname. `grants` remains a compatibility alias because the wire resource and durable `grantId` are unchanged.\nAn embedded mandate response must carry null approval URLs and is parsed without any consumer-app origin.\n`client.embedded.list()`, `.get(bindingId)` and `.revoke(bindingId)` inspect or revoke public app access.\nCredentials remain valid for the issuing key's lifetime. They still fail immediately when the session,\nbinding or key is revoked, the app or identity configuration is disabled or changed, or the exact owner\nand account relationship no longer verifies on chain.\n\nThe browser entry exports `createEmbeddedProofAdapter({ provider, sessionId, getSessionId, review })`.\nUse a non-secret customer session revision. The review callback must display the purpose, exact account,\napp, environment, scopes and expiry before approval. The helper returns only `{ challengeId, signature }`.\nServer app keys, identity JWTs and owner bearers stay in the BFF.\n\nSame-key account claims preserve the exact account; identity login alone cannot replace a signer.\nStored signer/current sole on-chain owner mismatches are unsupported in this first profile.\nSee the embedded account portability guide for provider-dependent key export and recovery limits.\nFinal packed artifacts are refreshed separately after the complete embedded integration stabilizes.\n\n\n### Embedded financial access\n\n`createEmbeddedClient({ accessToken, baseUrl? })` stays on the authenticated application server.\nThe revocable embedded credential admits `balances()`, `gasMethods()`, `activity({ cursor?, limit? })` and\n`operations.create(intent, { idempotencyKey })`, `operations.get(id)`,\n`operations.build(id, version)`, `operations.submit(id, { attemptId, signed })` and\n`operations.reject(id)`. Grant create and revoke are separate resources:\n`grants.create(input, { idempotencyKey })` after `agents.approve(registrationId)`.\nEach grant create or revoke retains a `grant_enable` / `grant_revoke` operation on this binding;\nthe owner signs that operation through `operations.build` / `operations.submit`. No on-chain\nauthority exists until that operation is confirmed and observed. App keys and JWTs cannot read\ncustomer financial data or authorize builds.\n\nPersist the intent and idempotency key before creation, then retain the operation ID, attempt ID,\noriginal build hash and completed UserOp hash before relay. Submission has no automatic retry.\nAfter a lost response, read the original operation ID. Fresh proof to the same subject and exact\naccount can read prior operations even after key/configuration/binding changes; the operation keeps\nits original attribution. Renewed access cannot revive an invalidated build or re-sign submitted work.\n\nBrowser-safe `parseEmbeddedOperation`, `parseEmbeddedOperationBuild`, `parseEmbeddedBalances` and\n`parseEmbeddedActivity` project embedded data without a hosted connection or approval URL.\nPass the expected binding/account/app context at the BFF boundary. For old operation recovery,\n`bindingVersion` is the original operation version; do not require it to equal the new session version.\nThe build parser checks the transport envelope only. Use `@botanary/wallet` canonical review to\nvalidate calldata, deployment, hashes, fee limits and exact swap terms before invoking a signer.\nServer code never signs. The existing wallet flow signs a raw USDC permit before the EIP-191 UserOp\nwhen that explicit signer capability is available.\n\nOnly a finalized nonsimulated financial-effect receipt proves settlement. A relay acknowledgment or\nsimulated receipt does not. Simulation contributes no real customer onboarding or paid usage.\nReact inline mode, authenticated embedded BFF examples and final archive refresh remain Task 4;\nexisting package archives do not contain these new source exports yet.\n\n## What ships in the npm tarball\n\nAllowlisted declarations (no declaration maps), one bundled and minified JavaScript file per\ndocumented entry (`.`, `./browser`, `./webhooks`, `./types`; no source maps, no comments), this\nREADME, the changelog, and `LICENSE`. No `.ts`/`.tsx` source, no tests, no\nfixtures, no build config. `pnpm run audit:artifact` verifies the exact tarball before publication\nand `-- --registry <file.tgz>` re-verifies the downloaded copy after.\n\nEvery runtime export is classified in\n[`docs/specs/2026-09-10-protected-sdk-integration-boundary.inventory.md`](../../docs/specs/2026-09-10-protected-sdk-integration-boundary.inventory.md):\nall `integration` except `createEmbeddedProofAdapter`, which is a `signer-defense` check with a\nwritten threat argument. No product, routing, policy, simulation, reconciliation, billing or provider\nlogic is distributed - it lives behind the reviewed developer API. Minification is not concealment;\nthe inventory is. `bsk_*` keys are server-only and never enter `@botanary/sdk/browser`.\n","readmeFilename":"README.md"}