{"_id":"@opensea/tool-sdk","_rev":"50-dde10a5f50c5b4c698e81450cad9edde","name":"@opensea/tool-sdk","dist-tags":{"latest":"0.31.0"},"versions":{"0.1.0":{"name":"@opensea/tool-sdk","version":"0.1.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.1.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"eaf3a0a53012232e9e7531f20af84b97afe3bad0","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.1.0.tgz","fileCount":43,"integrity":"sha512-yZOccspFWWNdWne2DvC9aT0/4sQVxFO5efNiv4zStyoQNvKfrxMlA9+X7m7rEam90vHblvChptDSz4zxq/jGug==","signatures":[{"sig":"MEUCIQCsSjV15wA1RCj8Vjfs5z7EK7H+dpjzSmrR6lrRiEgcnAIgTtXWkL7pjaoNI0rQQDWdm7HBuWoPr6+hntz0KZAEAjc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":472072},"type":"module","_from":"file:opensea-tool-sdk-0.1.0.tgz","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"scripts":{"dev":"tsup --watch","lint":"biome check --config-path ../.. .","test":"vitest run","build":"tsup","format":"biome format --config-path ../.. --write .","lint:fix":"biome check --config-path ../.. --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path ../.. ."},"_npmUser":{"name":"ralxz","email":"ryan@ryanio.com"},"_resolved":"/private/var/folders/wg/433glvh15td3_7fsrrxn0j2m0000gn/T/b6666ba15973edc515a5bc9898bb4a05/opensea-tool-sdk-0.1.0.tgz","_integrity":"sha512-yZOccspFWWNdWne2DvC9aT0/4sQVxFO5efNiv4zStyoQNvKfrxMlA9+X7m7rEam90vHblvChptDSz4zxq/jGug==","_npmVersion":"11.12.1","description":"SDK and CLI for building ERC-XXXX compliant AI agent tools","directories":{},"_nodeVersion":"25.9.0","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.1.0_1777506225578_0.9715751757704829","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@opensea/tool-sdk","version":"0.1.2","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.1.2","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"0ee8150a4b10a55ba813bb5d2f2325c354eb55f7","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.1.2.tgz","fileCount":43,"integrity":"sha512-UNFzgChz/3FoLXcAhO2J6akxx3fDNGhm07etwx79YE5D4zSKv3OfOkBRs/vGZnIjlwqJl9OIhj+kNvyyphXalw==","signatures":[{"sig":"MEQCIDbf1VmJWPGdVBlmoBPtXO0voqI2wDutee8IFHnrwVS0AiBJwavEJruFsXqL2kgl8WmVmsiqLo6SGfezaW7wemHxxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":565017},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"b2a0d380b4e2b2d5534a1f7b0498de73ca11e2ad","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-XXXX compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.1.2_1777665576285_0.9242920890493547","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@opensea/tool-sdk","version":"0.2.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.2.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"9895e12bd9fe785b7684951607b33ef18ec6dccc","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.2.0.tgz","fileCount":43,"integrity":"sha512-QOFhjVJRYriVbSlJkBkD+XSBPAfM2rxA5kfawqXWIRDIB1lmg9M2YhQoEINAG7jqVV0qZgKZ1onkQaml8vy4aA==","signatures":[{"sig":"MEUCIQCZWtMJniYnRYMBJ/diANmEjEjjWS9SRfhehY1lDwbrMgIgaVrY3kP0TRULXkR535OxXqdG9K4X3LHdL524LFLcIqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":599916},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"617c50438034eab2b4098561326e6a5de1ce5280","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-XXXX compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.2.0_1777669325177_0.25787481444143023","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@opensea/tool-sdk","version":"0.3.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.3.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"0a3def791cd8db9da6edfa2fe3ac6f426d2be754","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.3.0.tgz","fileCount":47,"integrity":"sha512-cmWarVm0rvIGIzUZdk9AeEXFPSXac6GiT5EfsmUyzyZz84zdyhUwN576D3r2PLiBo548iccxuHPMl8dsEfvvuQ==","signatures":[{"sig":"MEUCIQChFPqGC7Nanq3XqT2KUUVT2sr/Z0Q/vLQfHo3aFdQSowIgOCwRashL+8RyS0/cBZqX34zBOq32cgOFzqnCd1w93y8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":679534},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"fe26d33ea73a7a498856bcbd10ec12a00afd56bf","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-XXXX compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.3.0_1777928718443_0.17692001949368197","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@opensea/tool-sdk","version":"0.3.1","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.3.1","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"1792bc7670dbefdc4ff7c65cea5c2c0c3746e29a","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.3.1.tgz","fileCount":47,"integrity":"sha512-h/1Q14Go0NqW2jMLz7Cdu0BEQv5XGbZ+I+3Tp+YQtuQ2mLZSNb/+7ERZohh+OAwAmAjnwucnJWWplrR2f5wcEg==","signatures":[{"sig":"MEYCIQDb2GdvvkIGLFGvGSLKXDyF8mxoWkq2roXfccrbYgj7YwIhAPMmwn6lTcGISEFZdY/LdmtVSIOyambW39YPm+9vCvmS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":679682},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"24b479f1f6ad444e1ee6ac8d39f86f3074927471","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-XXXX compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.3.1_1777932412360_0.015776410676895614","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@opensea/tool-sdk","version":"0.4.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.4.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"d4756c91c89111e0191fd2e74e56a68a74bf913a","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.4.0.tgz","fileCount":52,"integrity":"sha512-ODeAdnCx1KF2wDRTGlXudoyrKLIWZnkPyGwhr83oKZaCEBBCEfcO86DEEmeAjd4ri3KHeO+9fD0WgkZU9YDQRQ==","signatures":[{"sig":"MEUCIQD/Lu2cwfWffI70xadQn/H9z8237asjzZvmCsOGP8gGBQIgJJnSU6JzhjzVW5IQqnLqTCoF6yeI0uZld+fPRTf1lcI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":728291},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"15016699d1bc50353eb2ea2a8daf4f3ef0d6d02f","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-XXXX compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.4.0_1778003981866_0.08922749915060457","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@opensea/tool-sdk","version":"0.4.1","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.4.1","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"dc294bd3b1ab97dfc3405d3a50861d41821bd338","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.4.1.tgz","fileCount":52,"integrity":"sha512-WDLBt8nzx5Kh6jXA0e+lo0t0ZfKB/0hwy5DVJgNT39kCLColmevTDJp+mi3f1zwGAzvmHF9n+VITlwXoflVowQ==","signatures":[{"sig":"MEUCICwFwmNa4VmtqlyAtCBNd0cIh+fxoKQBp4IGpRGTv/3mAiEA9LaILiSuDcx2DDzeI2u7G0ZG07evpysyGQrrySbts/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":728322},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"85f72216bedccb6d2a0b93ee41aa167ac3e8cb4e","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-Draft compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.4.1_1778033695668_0.8900634519648618","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@opensea/tool-sdk","version":"0.4.2","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.4.2","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"7551d6fe5a77b8692ccfa9e9328d9157f0b841fb","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.4.2.tgz","fileCount":52,"integrity":"sha512-CLGtdsv4GWvem61tawkNWSeZaDUiR3Ls8MZcB1vZtAoY9g0wOcJdQdbwIftIk+2N1ChqP3KCMBnC91dR0n+YIA==","signatures":[{"sig":"MEUCIA6V3Xbit7Z5O0KxgBtB1hgOhWD6uZOisVsj1QM67igKAiEAu+mIIi3bjOkiIbw6Gnl33XAAMfuZEr19fJIFL43Xvvg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":728322},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"071f848aa7d2a26f750a2732df96d31cc733642b","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-Draft compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.4.2_1778107006269_0.8943800279850298","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@opensea/tool-sdk","version":"0.5.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.5.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"a8a6c7ea1ceaeaed0167571a002acab91522688e","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.5.0.tgz","fileCount":52,"integrity":"sha512-PFjmg5kFtUJqQpytbYUfTsudDMZmBguMQt/LySEg+DE3ou2MhrWxtOvVQ21IuzJKdwJ3bKR7DjLZmnunJhV/OQ==","signatures":[{"sig":"MEQCIAv/vuSQMzVPPstVUPL3FH3P1lRwRJjoxpr15oBwrb3BAiAvEBajt05CSzIHx9aSUbkx/9BkmqvxYr0jrlhGllnftA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":765939},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"164f9b3631f407bf016389eb606d18b440f9762a","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-Draft compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.5.0_1778195965504_0.0628506226911616","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@opensea/tool-sdk","version":"0.6.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.6.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"4049996af66227bbf4d91f75bc71e6bec972af4f","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.6.0.tgz","fileCount":52,"integrity":"sha512-YQ52healRIZ0uNf/KjAzf/KmRzcqmlg7IfHaJZyC3KEvEvm0PAceE3v+rLJ/e5hKodohHeS9Vk0AhUwJGy+6ow==","signatures":[{"sig":"MEQCICxMk/lWCDawa1EP7Qmu1GpUs76cFQM1STKuq47vhI0QAiBERle4Jz51yvts6nEpfUEHsvVxcFmrfwoX3I+1y+w1TA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":770837},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"016af2a7d38e53d57641540d0cc624bceb0bb796","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.6.0_1778261191374_0.631247348244061","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@opensea/tool-sdk","version":"0.7.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.7.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"0388c63a024e91ffc1d0ddd6e167c3eb201f7742","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.7.0.tgz","fileCount":52,"integrity":"sha512-9sCivekfh9R3yvQM9T3qR6RPTiL3qGJWTCn9BVJ7UaqzsGx5zmtewTTkAzjeq2WCdwP3KlZftB0XsgVupxmMxw==","signatures":[{"sig":"MEQCIDfmszbUTUtHbxxTz+bz55nZl2DLVcHqyAFZOFB79qEqAiBoNXZmpm7amvKTRmrnDLR2PxyGEXm7ptoRSdve5CRclw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":850834},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"8a7da221b92f7c8a836eee1ada5fb6a1215571a3","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.7.0_1778371781997_0.28958185717394347","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@opensea/tool-sdk","version":"0.7.1","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.7.1","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"680e791a92fe26bc108a6bff9628daad8b576995","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.7.1.tgz","fileCount":52,"integrity":"sha512-GsxUaSIcPqFkY/LhfHpwbaMZwXoRHUKL5b4lUTZVEnx4vbYbZLQR+ZcA9+eq7UGZXTlr2LlvbR2iQ4HBNH0z2g==","signatures":[{"sig":"MEYCIQDH0q0EsbhrIteA4XZbGctaqKCtCq63XPMLmgYo/9IUwwIhAJypa5ng/Tp/aq+6J4SxmNWsKKKPDu+4OQEScZeaRlL9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":854357},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"267c36055fd0275d83fd86c577aac55c700a2358","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.7.1_1778375678249_0.9730326789616155","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@opensea/tool-sdk","version":"0.8.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.8.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"fbb131307d18a11ef0399fcf120d250f3f1a6b96","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.8.0.tgz","fileCount":52,"integrity":"sha512-AmX0jtCETrD/frOqBYDy12r51t2OVPE5zjG5N96MRTCUzzgkyDQRmXgDONb5F6vGlQuDPOegeIolhpg2wcfw4g==","signatures":[{"sig":"MEQCIAqNu6tEENKu/16OywCpkX/VpqcbRRCi1P9wj0IzAXmlAiAVNq4q6bG0PaFa4LEMvRaipusPPpVjWnl4XPaxH0KMEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":861881},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"cba9e1a8a57fe230814cec3483a7b0b9d216d7ac","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.8.0_1778617455593_0.9623513923721263","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@opensea/tool-sdk","version":"0.8.1","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.8.1","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"8cc449d7fcde20ce84a1dbf6f3695a80981f9528","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.8.1.tgz","fileCount":52,"integrity":"sha512-K0dJ+mD33QE+hUeFmBFAKw2LLX1HxOvY1y1FhJ2wSx5U5dK1ywR6Bzl4RuL9FoYO5JAtrjtnz8aNJo/U/0NeEA==","signatures":[{"sig":"MEQCIBoEGCdvMcZ+rBCt33sZXXo6yOHJH8IUz3F7tlzXs31hAiALnXq2wQCn5HJhAzkDhhVRTlUR2sZEvpv2kSCAJQDCHQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":864838},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"35fa8d2a1cdb24210de739721ae697c5236a351e","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.8.1_1778632381985_0.22391787591897772","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@opensea/tool-sdk","version":"0.9.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.9.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"edaf2d65efdfdac70fe0bae4a04d6d896b77b863","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.9.0.tgz","fileCount":52,"integrity":"sha512-tyMo/BmVhUEQhFXAj/txkKq+O7ihSvjHGruK9WZtN5C3UQVyBkKR9jkfX2pEnwEjqAqNASCZ3aDeysGoWavFSw==","signatures":[{"sig":"MEUCIQCHhBYfdVkwlLF9SFkgtujd5llIaPfjoTxQAfNz9R1QvwIgDlbDWSRfKuRZg6N7MSTNACsedg3bYc+H/1tOpOmKsI0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":849983},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"de20c6e60d1757d6dfe89d1ae1ba4b092f5fae99","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.9.0_1779122625489_0.5000910534505463","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@opensea/tool-sdk","version":"0.10.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.10.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"9498a177d7a5d38b04eebcd71b2e39ab8b5960d0","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.10.0.tgz","fileCount":52,"integrity":"sha512-uKo0Y1VRuJvnwVuFrtI1643vJEG26xW9BcbFKzzrw2H8n4McHAx2xmW3PiKalAx1ADjElPxb44FzUaVZXFdEMw==","signatures":[{"sig":"MEUCIQD3NBy/d7ZDTYytyUBsbNTgCg4OoJUPnzsNuO3nP5anRQIgYbUlHuX55gIQ9Sng+tKd/k/Nxz2ecZqLN7Kly1V1oPs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":850456},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"75c3746a63d1f31d854ace2045478cc1642cb3c5","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.10.0_1779213525317_0.47816861863023963","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@opensea/tool-sdk","version":"0.11.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.11.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"db683b3f267f0a701bc538660cee452ac3681502","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.11.0.tgz","fileCount":52,"integrity":"sha512-2RJo+WWhZ3R2LqGlZ8VBv6ty2o7/4vhT+W32Y/EY0Y3RMSEDYgiG27VoiYU7FOvK38S4I4m23Mz5Cett+Oeo1g==","signatures":[{"sig":"MEUCIQCihS2rPv4t+biBz+djB2msj6AzMJT17SkJsSIHHtk2MwIgXLCH5uxmmgrTJfXBuwfZsoF5LB/a9g/qFefh2r3uEKU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":916342},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"3a418ee9417f7319648a900f8ca9b381306c495c","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.11.0_1779922805184_0.045858538882237454","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@opensea/tool-sdk","version":"0.12.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.12.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"436908dd88de430a35f27d71d322a2e08576ccc4","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.12.0.tgz","fileCount":52,"integrity":"sha512-vX5YXqMXgmrUA5tzvhmNzKixykd0iA0Iw+QVbtKLn1WWg2OlD9acIJTbMg3vwilct6gRt53u0kzt1WD5PfhYfg==","signatures":[{"sig":"MEUCIQCHkNYilKO4O0vTfUCnarO8BlTItJ0359yOsqKhP69OGgIgK9ObTy1KCfcHAy+m3UcSru8TMVNmyK+R83mMbhpkyto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":976614},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"f2242678edcc766a310b93d171b67fffc698da3f","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.12.0_1780078773306_0.1742486440249209","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@opensea/tool-sdk","version":"0.13.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.13.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"a2f247f1112eccc4e4d76b3ded39c35d0a713763","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.13.0.tgz","fileCount":56,"integrity":"sha512-w0FuljEdlA9xwjuEVf1dRDZAgBXMEQmjtP1BbBYtXiqpQqDO+2nWY2Bvu5mhhT52rpxipmK4qawfO4CL4Vb8Pw==","signatures":[{"sig":"MEUCIAmrTl/1SYUSeUpop8eoi391iV/Dx4Ltyuc1XpDdd2I4AiEAo1Jqds7pMTe2LLLLHY+vq9N+5S9j8Q7n7vbqLN5OpVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1056588},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"b1660c77dc9d07565589c83e58bb965c561a334f","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.13.0_1780438536896_0.11360004550856351","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"@opensea/tool-sdk","version":"0.14.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.14.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"709df3f3a9701b716afad0b4bc88736e1a6ab79e","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.14.0.tgz","fileCount":56,"integrity":"sha512-GuJBDgwya35VEAzBP6rVTU+7CWKcafbZcL/qu1N0r2VOVN0PInBmAIGS0AePURkCpesxTYEyDFtKdp7Ox9U4/w==","signatures":[{"sig":"MEQCIClKp0M1QxnDICWUvkDWLN6v7FHuW0qQ1PXEXTEB/WUsAiBw8jbLBtqAJvq6rv//wTSRS6H4chCKT7YL77kQDyVJKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1095406},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"8c6ece983c0daf6b98c32c7d711f73463a4d4274","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.14.0_1780691991655_0.7298767546142044","host":"s3://npm-registry-packages-npm-production"}},"0.14.1":{"name":"@opensea/tool-sdk","version":"0.14.1","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.14.1","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"6127ec0c1d8c8155b28042d23dae72a956494e5d","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.14.1.tgz","fileCount":56,"integrity":"sha512-3nMpTOtzoGVP9hT1nbRNRuvixkzVajZN/aCjzIbUp8cIh0mmDUWEDH5bd9e9519lpgg2v4pRt6un6bFN+t4LLg==","signatures":[{"sig":"MEQCIFfsVyHaBBfetLgyBFKr4ffGdf+DrrwWV0AlxkNHQGGBAiAakq/07C4Y+m0qG3ChhIcwOohIHIKk/wgiexg7qNfhuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.14.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1094998},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"6ccc8842aa2c31e9563484e286835449d9cfe52e","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.14.1_1780696334748_0.28186585705204203","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"@opensea/tool-sdk","version":"0.14.2","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.14.2","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"d8831e186b9c9d5c031bb5c6946abd5f96c6faf9","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.14.2.tgz","fileCount":56,"integrity":"sha512-H+wR9O6dR29kRE9M8oY82YOmD+STj/mUOLP7OvgpH6SFRfiqbwiSqj6QLUJx0HpH6KNxPTk+Ps5V64ZcOpxaKw==","signatures":[{"sig":"MEUCIQDpv+kAOH5Wbz/xsHh3ZUlfHLYDyvORZgm71icnKCOpmwIgX8D4C1hthBaykkZvP87YJAKNRSUrJXpuaCKXg0fvIhg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.14.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1096124},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"343e6c3cf97e8cc327121e61ce46137fccb5539a","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.14.2_1780699767667_0.5686197175209995","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@opensea/tool-sdk","version":"0.15.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.15.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"cce0ff3c9492044e11704db98061cfdc58debd86","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.15.0.tgz","fileCount":56,"integrity":"sha512-3zPe4X91opAlW+1HA/7CZbkrFApXuCJ/n870QXFaru/AhmEYMZTuodQFGCJtMeQv9wNwAp/+Ts1pd6El0HsVug==","signatures":[{"sig":"MEUCIFR2lPSU4cehep9hm48IsmQpb5NFZdV5O23OcjG2wt+GAiEA3O280NXBXleBWp6QjaJfw48kmM+T62/UFuIryfGgJ38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1114569},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"51a09ac95f99007b45abe14cf893259d5ea1be6f","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.15.0_1780929818215_0.12397808975854674","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@opensea/tool-sdk","version":"0.16.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.16.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"3d344c45d537508fabfa54e5f04d2145dda94f08","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.16.0.tgz","fileCount":56,"integrity":"sha512-h+CrWrZXha68NAeonMw8qj9asdVRMDh3oiLA1r9ON1qJwh0BoaKou/uZFtcnWiRQoPhe2hcXx/XAbE/CadArXQ==","signatures":[{"sig":"MEUCIANOYdtnF6t5MemSXv1JmohpKcA2X+7jUdX5TcWdQhsdAiEA5BvVfxgx69dczGBzVfj7CPv8ndp5wMkQTX602FuYd/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1168082},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"85447ac4de66b1f6c3c8dd2c12be862e1af4748a","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.16.0_1780939485939_0.2797292145419028","host":"s3://npm-registry-packages-npm-production"}},"0.16.1":{"name":"@opensea/tool-sdk","version":"0.16.1","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.16.1","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"d2d246615e28d60bdd96e0600965f4cec880038a","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.16.1.tgz","fileCount":56,"integrity":"sha512-xhfmo7LpHzTxuti/0OM0+hiDr/iHBc4wiFwqAxG5zMuosT+BwmGme+g/Z9XHuV09jzFfN3QVLsbMgvFYRvl7QA==","signatures":[{"sig":"MEYCIQCBzS5KywS00ijvl8q6fJx6Lv83O82elxqD41xca7eFJwIhAKA0YW/kOLqfu2b4bSifTcYOw7Ozm4jKbuXOg/nKVVRg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1168431},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"88c79279040ff8b8afe431267741e9d1422d02e8","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.16.1_1781130490941_0.7813525351983983","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@opensea/tool-sdk","version":"0.17.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.17.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"c2f5898228801e218f85fc2975c4ed99892c281d","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.17.0.tgz","fileCount":56,"integrity":"sha512-brgJ7tHANfkSJMzST0KGT2E9IYoOAe5p/ySq37ZXSp3a4zGuPDf/nArW5BpHEcliqWAI3cWdHJrWweUJivTFRQ==","signatures":[{"sig":"MEUCIHxmB2H0vW8XqtdYnZIgqPfDuGf42+2uL682p7fMenrVAiEA3xgoC1jx1FcNTRPuuW7xmzadZ7cw91f91bjePqDUZyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1148549},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"7ab690054e914058d3877c04cfb900e1624662b1","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.17.0_1781191236414_0.3195843130980949","host":"s3://npm-registry-packages-npm-production"}},"0.17.1":{"name":"@opensea/tool-sdk","version":"0.17.1","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.17.1","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"857066bec340d69fa8d4e32bf8269130341c23d9","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.17.1.tgz","fileCount":56,"integrity":"sha512-SYdJCDWh1KA4vrwpTDUomiqakVromoTmGk7B9i/DBOQqVjqSXqHO1EKemf/F/7Zjf3VmG2lmkQJqyY8DlNx+YQ==","signatures":[{"sig":"MEUCICMRBSK197iMibZXXIzm1BsSPXjF2nOhlKMm08VBvCW7AiEA8ySFAj53igqsaGjX5e0ohLjWe/JwSpDEyC00y9jcvTQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1149011},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"4e536f16d5e9cc7a2a4a4de43e217aae87c7110d","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.17.1_1781197114303_0.29684943855807","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@opensea/tool-sdk","version":"0.18.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.18.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"d1b51f0fdca2b8bc6fb32a1e492763d9eb95351c","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.18.0.tgz","fileCount":56,"integrity":"sha512-03IlSXxF+mhzLoJT3C6GZJgUeVAuh5q9SPwsy7NldOcg1uC+bayVyIWPOUmVI8cfNqHd076xfA193CCSMRAoLg==","signatures":[{"sig":"MEUCIQC2l6Qdw8NPbUDVeNXYRa1bo+y+t+mObci2B3WdQSAksgIgV3Y5RWYPiGPiCPbO0oDbvTTrYM41lPipzvEeUHIcQyY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1161651},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"c37d00fc92d007cfc6c705976893140c83dbd5d0","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.18.0_1781635503185_0.6109208435872906","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@opensea/tool-sdk","version":"0.19.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.19.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"e67d60b93aff79c7232622cb6d44e0db79b360ca","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.19.0.tgz","fileCount":56,"integrity":"sha512-fLMstzI1ouowJG2pJRSFbZjwkwLVyQTPJ0+z/B3DffJWATYcpjeQK+35PT8vJsu8FVPEXp2CURy2mJw8ThdvBg==","signatures":[{"sig":"MEUCIHfN5u5BNNPgHWo8y1iM4Twep8r/DNnbiCNHXlpVl+zXAiEAq1cC1/0eu/uHs89Sm8caaz5wGZTfQQWbDZHfEdtO62o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1198826},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"e455b774f67e54cc64b91c88fdb27bce65b72291","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.19.0_1781655276013_0.6183212770972415","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@opensea/tool-sdk","version":"0.20.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.20.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"4d6910e5591226e73b181abd3611b5cb8475f96d","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.20.0.tgz","fileCount":56,"integrity":"sha512-wWdxwaHALCW/cErnIPQ5Mqw/Y8r3QIqCA1fnpIoXQ8nzgOj9xPeZBx+ymuheRPX+/vcDzuGe3AJt2dx+9sMwMw==","signatures":[{"sig":"MEUCIQCgNhajE45c9LNz2HQH/yxWj2DAzYRs6sYYiDcLLfkzvwIgd+Cn6eiCxcrv2uFk5gc4Z3pOxLXIY8zSw3obM7b/HTo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1254973},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"2c9122dd682e9f1a9c9cd9105b8fd0ad323f146a","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.20.0_1781722142291_0.3129763190775914","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"@opensea/tool-sdk","version":"0.20.1","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.20.1","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"efdc27524ec9c0ca76e0c2e4fbdbc68e7b55ae2c","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.20.1.tgz","fileCount":56,"integrity":"sha512-5WdA2a3VNJmtQ3IzUUdyYdYrKVN+jBWRcsu5Eu1VLfCQMq51W99M+X+uhlAQ1e0BqilvricN3jis4sCSR8C8UA==","signatures":[{"sig":"MEQCIC7pvz2VXmE8727AGJJJotyRRv8U1RpvroZmv0ZrutiNAiB57+t41nbGVTyD8jSDaRoKwVt3Z0TCVPnCMDSHes6v5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.20.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1270263},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"f93ae964b2703c6a9d6b9f1100f41c97036bf3a3","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.20.1_1781726832724_0.550544241635093","host":"s3://npm-registry-packages-npm-production"}},"0.21.0":{"name":"@opensea/tool-sdk","version":"0.21.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.21.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"c9e001d4934e5eff4fb40ff906d3518bfa53e937","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.21.0.tgz","fileCount":56,"integrity":"sha512-i5jWyYYUsaordVAX/eutENqAIUu+P/Haf55gJFm60azgAtlqDP8Z7ohtEk4Ajyb0S1uYT6woDxIXcQlL2LZ9PA==","signatures":[{"sig":"MEQCIHun7+F7BPvGTsFLA2+4LgmjTpZI2muK8USQml4PBgNCAiBVIP/9ZL4hLo2m50uuk47LjGrYWd9+1CSNVJBOonMqbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1280067},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"9f73b5efa1bf4547b24644fd1aa030d10a8b21b2","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","picocolors":"1.1.1","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.21.0_1781734848766_0.4662697122027253","host":"s3://npm-registry-packages-npm-production"}},"0.22.0":{"name":"@opensea/tool-sdk","version":"0.22.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.22.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"7445e599a5880b5f4ed0cd39a1d01b5f8001219d","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.22.0.tgz","fileCount":56,"integrity":"sha512-LmhMTchJXt5/wNqnjwAWY9esFoM0HHiKyvp17182U8SijctRmKZUTKWgiTgyHAteNWTZeG433+yddLtkcf5ZrQ==","signatures":[{"sig":"MEUCIHOXFN/26ulCnrYCJpnR1IXZvZVjfQdIPDRT5M0KG3tzAiEA5/TPn8eywI8Lb+lwYd6IMvEK461hkdCWnbt5CnaLhj4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1297163},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"691bc1009973af49ebd6956231000540f7f3b341","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.22.0_1781739338987_0.7815689636929091","host":"s3://npm-registry-packages-npm-production"}},"0.23.0":{"name":"@opensea/tool-sdk","version":"0.23.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.23.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"27ae2a270deb0af39d303aed2ea3b12092e36e90","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.23.0.tgz","fileCount":56,"integrity":"sha512-DBBZN8snM2e7UsPd52CUbiZG+3xY7IgjQeF7gvBED6abWGcCAxfqH8I2mifmY6ChhJj12BNuLjq9r+atNXHdfA==","signatures":[{"sig":"MEUCIBOoTM9iqlN0Me9P+HRsqDJOZsu1W9xZWC4/QIRmDO8AAiEA9gEX03rYGUeTYR7sI6BmdbzTgwKO8AEkw0UZz78TaFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1313382},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"7cbb3e3bcd7fdf64ed2c311c7f0ee3f76f5b1038","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.23.0_1781741674885_0.49463134682123644","host":"s3://npm-registry-packages-npm-production"}},"0.23.1":{"name":"@opensea/tool-sdk","version":"0.23.1","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.23.1","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"4df49a23ae9fe9e9272b25679665eaebf59d82a7","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.23.1.tgz","fileCount":56,"integrity":"sha512-lIC9dYrdcJ0VrjSoigGCFHdqZFj1ZyTVObyGiTRuNIEnhVR55OJuf8z09RBvowzXNugmcQHyl2X8wlEErGTALg==","signatures":[{"sig":"MEUCIEb8QWoRZhKjdGACz3Lh6GDMVtQBiyxO9YzbZ88JYpsIAiEA23vV1vQWl42NJkXz9pcZl64Esi2jk/sm1gysWKADPRQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.23.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1317410},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"a8ad59f7d056c4334c4f7471f7dbff262e917805","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.23.1_1781754312535_0.8434237436449175","host":"s3://npm-registry-packages-npm-production"}},"0.24.0":{"name":"@opensea/tool-sdk","version":"0.24.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.24.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"011cb788ed916714a24ba38ee67c16497c07943e","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.24.0.tgz","fileCount":56,"integrity":"sha512-UA/elyEhv2NHkQgG0vuBNKpbShG7QrqvC6q1FecXFPt3BQ+Vmy8y2LX7l2zzMB381tgpFiVcG1Cjpa4RvD8niQ==","signatures":[{"sig":"MEUCIFlN0E/qZJaqVhLChBZgodEkl3JAmq6X/B6tAnXHB1JuAiEAlvSztk6RrYbGv1knrgKOH6qvf0Um8juY+BEs2zNwm/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1322845},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"1746b19e44a3b5bbe3501070a04aefb78bc7011e","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.24.0_1781827646229_0.16400451928324222","host":"s3://npm-registry-packages-npm-production"}},"0.25.0":{"name":"@opensea/tool-sdk","version":"0.25.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.25.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"7270aa111e61c3021b7de3943759eefb3713b593","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.25.0.tgz","fileCount":56,"integrity":"sha512-FZdaoPN8pnTI7ASMCt2ItlfnLkZq91R5Sj//Eil2UWlQf4LP/aBwlEeu5p6xR5h/kd7JIS0E12qcI3AgrliMRg==","signatures":[{"sig":"MEYCIQDrOx4b9IxUQFwy/G1j1HsgnNnUOAuGkcH8sqZha6oFmQIhAPl/bEqqBjjvnV7Z+ixQQorLr8+LeOq4QEU6wZG06E08","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1327798},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"6a76e1d6a554d0edad7e6f97e7169c53acab29c1","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.25.0_1782571799713_0.523557172544185","host":"s3://npm-registry-packages-npm-production"}},"0.26.0":{"name":"@opensea/tool-sdk","version":"0.26.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.26.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"932ce181144651cae9a1df9a3416b8f7376b9516","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.26.0.tgz","fileCount":56,"integrity":"sha512-fe51q8FU4uCGUQhlKdKjFbRz4BC0d2iIyO/FCiOwkVxVUYgm1Gj0Rv34qSSZre9q/pIjCvGJrDLO28dfkB2dsA==","signatures":[{"sig":"MEUCIEOCOAZA+1liYNlk+gSu6GCE85AONGEDUTCT2COWzHnKAiEArrF2wltzJBKOuh7mnGAj1R72RUFHv5p8U4/D7lazuhg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1291893},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"786c2bb8e962f27c621a98440557b6dbd31f5d48","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.26.0_1782860814008_0.8080585223354699","host":"s3://npm-registry-packages-npm-production"}},"0.26.1":{"name":"@opensea/tool-sdk","version":"0.26.1","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.26.1","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"9159b87674ea65f4c1944061de38151f244087eb","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.26.1.tgz","fileCount":56,"integrity":"sha512-qYsN2phjvU/G0IGhbHvGLPf0QibVKsByScrg8C8nqMaZ2vA1XjgTdp/9ti2UmiJQ/sGXn8WOCcjsqhEB744fZQ==","signatures":[{"sig":"MEYCIQDC4mWb6h21At8WodX1Pz3a6vVlWkAxRzp5/9kOEa0eDAIhAJdhebEufgs1AIfgPsMl/U9H7k4boazYkzMkWX55A91K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.26.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1293219},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"7b4c6969520be93e2484f6778bedaa6783e987de","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.26.1_1782874758281_0.9207219961492128","host":"s3://npm-registry-packages-npm-production"}},"0.27.0":{"name":"@opensea/tool-sdk","version":"0.27.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.27.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"11068ce70f2ab253a36870e318028d2ea316932b","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.27.0.tgz","fileCount":56,"integrity":"sha512-K4C8ekQ4mU8fFAeli+X192yhAgHlqIzQn2dFTnqmf4U/BOMmnK6CG5HnFM+VqNwW2LaBD/nws213qWEsQr1HYw==","signatures":[{"sig":"MEQCIDvvLduGiq6I/2rcqxo6MHVep83DArsByvcWfL/jml9oAiBZR9b2kxfZYBc2Z9xFbTZBD+0HNlTMvpkES2RU3ED4+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.27.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1295538},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"7b6b5ece0988763611ae7db4b0fc6c68a424f413","scripts":{"dev":"tsup --watch","lint":"biome check --config-path . .","test":"vitest run","build":"tsup","format":"biome format --config-path . --write .","lint:fix":"biome check --config-path . --write .","type-check":"tsc --noEmit","format:check":"biome format --config-path . ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.4.10"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.27.0_1783015223273_0.030936542779166576","host":"s3://npm-registry-packages-npm-production"}},"0.28.0":{"name":"@opensea/tool-sdk","version":"0.28.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.28.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"ff553340339c06705117bf230b66d598fc5c082a","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.28.0.tgz","fileCount":56,"integrity":"sha512-BajmG9ouOqoy9i6y6OKvgFDHniR5Skq7Yb05TgI2MoG18fFBqhpQ6VWqVMqHObG9oPsUXEjx+p3R1B0sNE+1Gw==","signatures":[{"sig":"MEYCIQD7V1r2yVNo77e0dqTbHlh+3g5ZjaRjm7cII5MG47OeNwIhAPMnABTagKaBguF7cglLL8A3sE9PquO3FgSi4MGfHPgM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.28.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1299021},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"37db12e668d9be79f5a69c7b7ebc16b2f01ecdbe","scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","format":"biome format --write .","lint:fix":"biome check --write .","type-check":"tsc --noEmit","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.28.0_1783540396408_0.5832397370868507","host":"s3://npm-registry-packages-npm-production"}},"0.28.1":{"name":"@opensea/tool-sdk","version":"0.28.1","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.28.1","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"fd5ece18d07dfda5328d4b87a0ce345505055c88","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.28.1.tgz","fileCount":56,"integrity":"sha512-ksXt7T5GhwAzLwKNjVmf0kUOdV5pMgs5HJ979ap0inVSOqgQXoD3sev+H+xkLxj8H1hRt3BrLywASaTUfWz5oA==","signatures":[{"sig":"MEUCIQDHA+wWZeoePr7wuHX4nWfU7vKrnpSvLTNgXMg0pIwi3wIgP8vE8YaJLeDx7xBb0cmJNqstJd0ibeCZcr1xhBkSla8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.28.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1291084},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"575a995f6846c10b1ae469d50bfacfd2277afd84","scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","format":"biome format --write .","lint:fix":"biome check --write .","type-check":"tsc --noEmit","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.28.1_1783696087398_0.27679991019890693","host":"s3://npm-registry-packages-npm-production"}},"0.28.2":{"name":"@opensea/tool-sdk","version":"0.28.2","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.28.2","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"c165ada63b9670730e961e2035fdc5976fbfcfb3","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.28.2.tgz","fileCount":56,"integrity":"sha512-sT70zfrtL3CDPxNSrw5K/4HwcuxkL3k2A5xG65qUFVXv0jA2VJtmlVECtFprHMZbh4mYdukmN9UEgNVrdPbZNA==","signatures":[{"sig":"MEYCIQDCPNRTFg+zBNGpzRcxNzHQkexSxKTX3Z02kJwxdycZMQIhAPn8J9ymMoR6tKZEvGAOEWjtt0Hg6UMKb2vB1li+g1w1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.28.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1324570},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"95403c492a811192b1203ce2b4215c52d86d31cd","scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","format":"biome format --write .","lint:fix":"biome check --write .","type-check":"tsc --noEmit","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.28.2_1783707237090_0.9220519466800161","host":"s3://npm-registry-packages-npm-production"}},"0.28.3":{"name":"@opensea/tool-sdk","version":"0.28.3","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.28.3","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"17100f95553aee084734ae1787bbf64209959d60","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.28.3.tgz","fileCount":56,"integrity":"sha512-UxZzW60zJCmZwe2J5rw4QLizaaAeBc6jPLOkcF6af8cmqHzgdwbPkh6RDDlqPNjARoaA0VKScn9Gzu0w8pbS9w==","signatures":[{"sig":"MEUCIQDaFQmUYS42wlrJwCEsoNroUEqRkxMNiyytwUi28Qgo3AIgYw5C1SZi0bD0kerkIyJ6LI6HacYBUKDPX4gpF634NSI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.28.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1328674},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"546b37c90e9b9df8b83b4325f8f81d55ca95dbea","scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","format":"biome format --write .","lint:fix":"biome check --write .","type-check":"tsc --noEmit","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.28.3_1783826033667_0.4473131055021684","host":"s3://npm-registry-packages-npm-production"}},"0.28.4":{"name":"@opensea/tool-sdk","version":"0.28.4","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.28.4","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"194d3d7b107ddf7d5c841ca7adbf9e5c1e1715f8","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.28.4.tgz","fileCount":56,"integrity":"sha512-7GWhg+76pTiU7yFudy65BS13vWmt9Ucc+AmWU2/3mDBj04K9KWBjyAF8nfaCrfqBWdnPQRnFnQ5u36B4o/iY/Q==","signatures":[{"sig":"MEUCIBq/VmR4OOET9FfdWJ5OBQIS0P5r4/XDz2mYO3o4c5fnAiEAqiZziQ3eyvS55S19+fZ+aKHxgCIJ/CRcHZ7ZqbjHXz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.28.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1329945},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"ebff0f97aee8be65c81ad88d07446bedcf47983d","scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","format":"biome format --write .","lint:fix":"biome check --write .","type-check":"tsc --noEmit","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"^2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.28.4_1783889069995_0.8311141014088055","host":"s3://npm-registry-packages-npm-production"}},"0.28.5":{"name":"@opensea/tool-sdk","version":"0.28.5","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.28.5","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"fdda42a1168ec32a38b46eee7c0c6b634a51a36b","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.28.5.tgz","fileCount":56,"integrity":"sha512-1B4LxsQs5okLRmEWmtyL+wtaX3vtGmlm6uuonzSHEiGc6s3qcgurzOnbSQ1wgpKeJdxfpqxB5i4L5TDpIQtjnQ==","signatures":[{"sig":"MEUCIQCdaDRqZgM33gtZ0LIVbJShZfMEksHdPczuAuVfTZ354QIgQDjWTFIImFMZ5km+RUc2lujkMLRJwH9IW7dlLInrkJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.28.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1332210},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"8b317d5308ed4df0d3384bc8337fa409bf07675a","scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","format":"biome format --write .","lint:fix":"biome check --write .","type-check":"tsc --noEmit","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.3"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.28.5_1784608827719_0.7113443548630398","host":"s3://npm-registry-packages-npm-production"}},"0.29.0":{"name":"@opensea/tool-sdk","version":"0.29.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.29.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"613c5a910fb9b2adfec0918d8f5e0ddff465920c","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.29.0.tgz","fileCount":56,"integrity":"sha512-F0AP6UJ66hNPOaE1B97NYp2ud60f8RMlt1JRcfytBWwpCC+DqQqpXnYgN/USF5RDer1HcXaaNNO2efAirbK7Ow==","signatures":[{"sig":"MEQCIGUBmGYLpa/zVdZiympxouMTYUM3/zsFE0RTYzrrsRwHAiA16xNEgVULC8W+46YKyN0oWCgaDpU+hrwYOzGDYcuQ3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.29.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1392915},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"46687bf497479a9e136c11fbe78e27e751572122","scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","format":"biome format --write .","lint:fix":"biome check --write .","type-check":"tsc -p tsconfig.check.json","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^0.3.5"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.29.0_1787511995886_0.4952947161044423","host":"s3://npm-registry-packages-npm-production"}},"0.30.0":{"name":"@opensea/tool-sdk","version":"0.30.0","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.30.0","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"0247349d13c0ea76e314325ebceaef51fc9d57a9","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.30.0.tgz","fileCount":56,"integrity":"sha512-IF41cNb6gNlEUpS587BhGG7WEnCH01w2mZp4DwaehMyC9lukRUgJUPYDOXqzdl9SqgfRADU90FcCC/fWAiBYFw==","signatures":[{"sig":"MEUCID+AKqMC6fFNsX2xP7gtdwTAGwav5/R06K4G5/LpvVFEAiEApBEKJsFQOe1371Ef4G7s9bfujawVk+Zv5jR1XyUKtcQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.30.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1397612},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"8660f962a77fe3b7bc4a7cdbf193e8007042a063","scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","format":"biome format --write .","lint:fix":"biome check --write .","type-check":"tsc -p tsconfig.check.json","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.30.0_1788913468499_0.7698093819800915","host":"s3://npm-registry-packages-npm-production"}},"0.30.1":{"name":"@opensea/tool-sdk","version":"0.30.1","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"license":"MIT","_id":"@opensea/tool-sdk@0.30.1","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"bin":{"tool-sdk":"dist/cli.js"},"dist":{"shasum":"96cfceccc8e9273b0b12901dbe8e268df0955322","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.30.1.tgz","fileCount":56,"integrity":"sha512-LD2TjraWvrag348MasEhKEITxkYNj6sEayl2i3SK0y0K5c1Wv7OKl1UHyyF35FrFVh4H+VEmUztDk1gMiM3wlA==","signatures":[{"sig":"MEYCIQCsgsfe3m97+QFZupRpf6QwyfzuUXf+AiDSmnx9Fty1eQIhALnxa5kTanDW/2qS8pnmfJUfW2nvp3ihEda3qB5LcA/O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDPpeMDiAa4ALm1gjuCLOX1q4lXjpO2Ql1KWFkqYLIJ0gIhAJyayRdCBB1AVQkiFSO4QJjOyXAmGbLKxkXa5l2iTKRa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.30.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1397538},"type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"d6f01966fe7e42b103074b520fda6b7519a14680","scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","format":"biome format --write .","lint:fix":"biome check --write .","type-check":"tsc -p tsconfig.check.json","format:check":"biome format ."},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"2.5.2"},"_npmOperationalInternal":{"tmp":"tmp/tool-sdk_0.30.1_1789580318313_0.8581489203160784","host":"s3://npm-registry-packages-npm-production"}},"0.31.0":{"_id":"@opensea/tool-sdk@0.31.0","bin":{"tool-sdk":"dist/cli.js"},"bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"dist":{"shasum":"285bc94feb26a6047035ed383949b3ae0efad24f","tarball":"https://registry.npmjs.org/@opensea/tool-sdk/-/tool-sdk-0.31.0.tgz","fileCount":56,"integrity":"sha512-YJ51Jq9j3HqWn7ithibIMofCp95nJtzphlaBT+stJs0iuul58zy9P898rH4+FDZs03wLMbm6JlMZsQvH2ZiCXA==","signatures":[{"sig":"MEUCIC0jFi+ZnamvUTjN8fmrUbKaDg0PDm+bH90ZGfpfXcGUAiEAk+MLCfz9oXCuFzj7rpM7fe3OlUP3bMNgGSEIF42RZ2o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCPXPsEnv6BflEEmc4QinGwBW68+vSiybUClQxOgbTE1QIgQvOhbR5T+6SaW0LmnzeSxCZjonaGe5UVKAd8bsgkHMM="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@opensea%2ftool-sdk@0.31.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1425357},"name":"@opensea/tool-sdk","type":"module","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./cloudflare":{"types":"./dist/adapters/cloudflare.d.ts","default":"./dist/adapters/cloudflare.js"}},"gitHead":"44ca87fa06c30bd10b776906f3ead31f3b60dc69","license":"MIT","scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","format":"biome format --write .","lint:fix":"biome check --write .","type-check":"tsc -p tsconfig.check.json","format:check":"biome format ."},"version":"0.31.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5d51b561-dfb1-4132-b090-1c31f4185813"}},"homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"_npmVersion":"11.11.0","description":"SDK and CLI for building ERC-8257 compliant AI agent tools","directories":{},"maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"_nodeVersion":"24.14.1","dependencies":{"zod":"4.3.6","jiti":"2.6.1","viem":"2.31.3","commander":"14.0.3","@x402/core":"2.15.0","picocolors":"1.1.1","@x402/fetch":"2.15.0","canonicalize":"2.1.0","@clack/prompts":"0.10.1","@opensea/wallet-adapters":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","vitest":"3.2.4","typescript":"6.0.2","@types/node":"22.7.5","@biomejs/biome":"2.5.2"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tool-sdk_0.31.0_1790375305524_0.5800350504022844"}}},"time":{"created":"2026-04-29T23:43:45.496Z","modified":"2026-09-25T22:28:25.972Z","0.1.0":"2026-04-29T23:43:45.760Z","0.1.2":"2026-05-01T19:59:36.419Z","0.2.0":"2026-05-01T21:02:05.350Z","0.3.0":"2026-05-04T21:05:18.597Z","0.3.1":"2026-05-04T22:06:52.558Z","0.4.0":"2026-05-05T17:59:42.061Z","0.4.1":"2026-05-06T02:14:55.892Z","0.4.2":"2026-05-06T22:36:46.482Z","0.5.0":"2026-05-07T23:19:25.710Z","0.6.0":"2026-05-08T17:26:31.561Z","0.7.0":"2026-05-10T00:09:42.237Z","0.7.1":"2026-05-10T01:14:38.660Z","0.8.0":"2026-05-12T20:24:15.732Z","0.8.1":"2026-05-13T00:33:02.176Z","0.9.0":"2026-05-18T16:43:45.726Z","0.10.0":"2026-05-19T17:58:45.492Z","0.11.0":"2026-05-27T23:00:05.339Z","0.12.0":"2026-05-29T18:19:33.479Z","0.13.0":"2026-06-02T22:15:37.087Z","0.14.0":"2026-06-05T20:39:51.858Z","0.14.1":"2026-06-05T21:52:14.973Z","0.14.2":"2026-06-05T22:49:27.871Z","0.15.0":"2026-06-08T14:43:38.369Z","0.16.0":"2026-06-08T17:24:46.094Z","0.16.1":"2026-06-10T22:28:11.111Z","0.17.0":"2026-06-11T15:20:36.591Z","0.17.1":"2026-06-11T16:58:34.467Z","0.18.0":"2026-06-16T18:45:03.373Z","0.19.0":"2026-06-17T00:14:36.186Z","0.20.0":"2026-06-17T18:49:02.464Z","0.20.1":"2026-06-17T20:07:12.990Z","0.21.0":"2026-06-17T22:20:48.999Z","0.22.0":"2026-06-17T23:35:39.184Z","0.23.0":"2026-06-18T00:14:35.089Z","0.23.1":"2026-06-18T03:45:12.707Z","0.24.0":"2026-06-19T00:07:26.406Z","0.25.0":"2026-06-27T14:49:59.895Z","0.26.0":"2026-06-30T23:06:54.205Z","0.26.1":"2026-07-01T02:59:18.433Z","0.27.0":"2026-07-02T18:00:23.520Z","0.28.0":"2026-07-08T19:53:16.601Z","0.28.1":"2026-07-10T15:08:07.608Z","0.28.2":"2026-07-10T18:13:57.394Z","0.28.3":"2026-07-12T03:13:53.810Z","0.28.4":"2026-07-12T20:44:30.136Z","0.28.5":"2026-07-21T04:40:27.925Z","0.29.0":"2026-08-23T19:06:36.035Z","0.30.0":"2026-09-09T00:24:28.651Z","0.30.1":"2026-09-16T17:38:38.398Z","0.31.0":"2026-09-25T22:28:25.605Z"},"bugs":{"url":"https://github.com/ProjectOpenSea/tool-sdk/issues"},"license":"MIT","homepage":"https://github.com/ProjectOpenSea/tool-sdk#readme","keywords":["opensea","ai","agent","tool","registry","erc","sdk","cli"],"repository":{"url":"git+https://github.com/ProjectOpenSea/tool-sdk.git","type":"git"},"description":"SDK and CLI for building ERC-8257 compliant AI agent tools","maintainers":[{"name":"meemaw","email":"ematej.snuderl@gmail.com"},{"name":"ralxz","email":"ryan@ryanio.com"},{"name":"codysearsos","email":"cody.sears@opensea.io"},{"name":"jallum","email":"joshuatallum@gmail.com"},{"name":"j-dubz","email":"james.wright@opensea.io"},{"name":"agansley","email":"alicia.gansley@opensea.io"}],"readme":"# @opensea/tool-sdk\n\n> **Read-only mirror.** This package is developed in a private monorepo and mirrored to [ProjectOpenSea/tool-sdk](https://github.com/ProjectOpenSea/tool-sdk) when a version is released, so the public code can trail the internal main branch by weeks.\n>\n> Pull requests opened on the mirror cannot be merged there. They are read, and a fix worth taking is recreated in the monorepo. Because a fix that has landed internally is not public until the next release, filing an issue before writing a patch is the quickest way to find out whether a bug is already fixed.\n\nSDK and CLI for building [ERC-8257](https://github.com/ethereum/ERCs/pull/1723) compliant AI agent tools. Provides manifest validation, onchain registration, gating middleware, framework adapters, and project scaffolding.\n\nPairs with the onchain reference implementation at [ProjectOpenSea/tool-registry](https://github.com/ProjectOpenSea/tool-registry) — the `ToolRegistry` contract and example access predicates this SDK reads from and writes to.\n\n## Quick Start\n\n```bash\n# 1. Scaffold a new tool project\nnpx @opensea/tool-sdk init my-tool\n\n# 2. Implement your tool logic\ncd my-tool && npm install\n# Edit src/handler.ts\n# NOTE: If your project sits adjacent to a pnpm workspace, use\n# pnpm install --ignore-workspace to prevent pnpm from walking\n# up to the parent workspace.\n\n# 3. Deploy\nnpx vercel  # or wrangler deploy, etc.\n\n# 4. Register onchain\nnpx @opensea/tool-sdk register \\\n  --metadata https://my-tool.vercel.app/.well-known/ai-tool/my-tool.json \\\n  --network base\n```\n\n## CLI Reference\n\nFor the latest commands and flags, run `npx @opensea/tool-sdk --help`. The reference below is a high-level guide and may lag the CLI.\n\n### `init [name]`\n\nScaffold a new ERC-8257 tool project with interactive prompts.\n\n```bash\nnpx @opensea/tool-sdk init my-tool\nnpx @opensea/tool-sdk init my-tool --no-interactive  # CI mode\n```\n\nSupports Vercel, Cloudflare Workers, and Express templates.\n\n### `validate [path]`\n\nValidate a tool manifest JSON file against the ERC-8257 schema. The schema is open: namespaced extension fields are allowed and preserved. The command warns about any bare (un-namespaced) extension fields, which should use a reverse-DNS prefix per ERC-8257.\n\n```bash\nnpx @opensea/tool-sdk validate ./manifest.json\n```\n\n### `hash [path]`\n\nCompute the JCS keccak256 hash of a tool manifest (RFC 8785 canonicalization).\n\n```bash\nnpx @opensea/tool-sdk hash ./manifest.json\n```\n\nThe hash is taken over the full manifest as served, per ERC-8257 §2: every field is included (including namespaced extension fields), and no fields are stripped or defaulted before hashing. Verifiers reproduce it by JCS-canonicalizing the manifest and hashing that, so the SDK and any other RFC 8785 implementation agree. The command prints any bare-extension warning to stderr, so the hash itself stays on stdout and piping is unaffected.\n\n### `export [path]`\n\nLoad a TypeScript manifest and output it as JSON. Validates the manifest before printing.\n\n```bash\nnpx @opensea/tool-sdk export ./src/manifest.ts\n```\n\n### `verify <url>`\n\nVerify a deployed well-known tool endpoint. Checks URL format, HTTP 200, schema validation, and origin binding.\n\n```bash\nnpx @opensea/tool-sdk verify https://my-tool.vercel.app/.well-known/ai-tool/my-tool.json\n```\n\n### `register`\n\nRegister a tool onchain via the ToolRegistry contract.\n\n```bash\nPRIVATE_KEY=0x... RPC_URL=https://... npx @opensea/tool-sdk register \\\n  --metadata <url> \\\n  --network base \\\n  --nft-gate 0xCOLLECTION  # optional: gate via ERC721OwnerPredicate\n\n# Or gate via ERC20BalancePredicate (one-shot register + configure):\nPRIVATE_KEY=0x... RPC_URL=https://... npx @opensea/tool-sdk register \\\n  --metadata <url> \\\n  --network base \\\n  --erc20-gate 0xTOKEN_ADDRESS --erc20-min-balance 1000000000000000000\n```\n\n| Flag | Description |\n|------|-------------|\n| `--metadata <url>` | Metadata URI (required) |\n| `--network <network>` | `base` or `mainnet` (default: `base`) |\n| `--nft-gate <address>` | ERC-721 collection address; gates the tool via the canonical ERC721OwnerPredicate (version auto-detected from registry) |\n| `--erc20-gate <address>` | ERC-20 token address; gates the tool via the canonical ERC20BalancePredicate. Requires `--erc20-min-balance`. Mutually exclusive with `--nft-gate` |\n| `--erc20-min-balance <amount>` | Minimum token balance in raw units (e.g. `1000000000000000000` for 1e18). Required with `--erc20-gate` |\n| `--access-predicate <address>` | Access predicate address (mutually exclusive with `--nft-gate` and `--erc20-gate`) |\n| `--predicate-config <json>` | JSON config for the access predicate (e.g. `'{\"collections\":[\"0x...\"]}'` or `'{\"token\":\"0x...\",\"minBalance\":\"1000000000000000000\"}'`). Bundles predicate setup with registration |\n| `--wallet-provider <provider>` | Wallet provider to use for signing |\n| `--rpc-url <url>` | RPC endpoint for gas estimation and tx broadcast |\n| `--dry-run` | Print summary without transacting |\n| `-y, --yes` | Skip confirmation prompt |\n\n### `update-metadata`\n\nUpdate a tool's metadata URI and manifest hash onchain.\n\n```bash\nnpx @opensea/tool-sdk update-metadata \\\n  --tool-id 1 \\\n  --metadata https://my-tool.vercel.app/.well-known/ai-tool/my-tool.json \\\n  --network base\n```\n\n| Flag | Description |\n|------|-------------|\n| `--tool-id <id>` | Numeric tool ID (required) |\n| `--metadata <url>` | New metadata URI (required) |\n| `--network <network>` | `base` or `mainnet` (default: `base`) |\n| `--wallet-provider <provider>` | Wallet provider to use for signing |\n| `--rpc-url <url>` | RPC endpoint for gas estimation and tx broadcast |\n| `--dry-run` | Print summary without transacting |\n| `-y, --yes` | Skip confirmation prompt |\n\n### `inspect`\n\nRead onchain tool state and cross-check against the live manifest.\n\n```bash\nnpx @opensea/tool-sdk inspect --tool-id 1 --network base\nnpx @opensea/tool-sdk inspect --tool-id 1 --check-access 0xYourAddress\n```\n\n| Flag | Description |\n|------|-------------|\n| `--tool-id <id>` | Numeric tool ID (required) |\n| `--network <network>` | `base` or `mainnet` (default: `base`) |\n| `--check-access <address>` | Check whether an address has access to the tool |\n\n### `deploy`\n\nDeploy a tool-sdk project to a hosting platform.\n\n```bash\nnpx @opensea/tool-sdk deploy --host vercel\nnpx @opensea/tool-sdk deploy --host vercel --non-interactive -y\n```\n\n| Flag | Description |\n|------|-------------|\n| `--host <host>` | Hosting platform (required; currently `vercel`) |\n| `--non-interactive` | Read env var values from environment (for CI) |\n| `-y, --yes` | Auto-confirm prompts (e.g., Vercel link) |\n\n### `pay <url>`\n\nMake a paid call to a tool endpoint via x402. Probes the endpoint for payment requirements (402 challenge), signs an EIP-3009 `TransferWithAuthorization` as the `X-Payment` header, and replays the request. Works for both paid and gated tools — the 402 challenge determines the payment amount (real USDC for paid, zero-value for identity-only gating).\n\n```bash\nnpx @opensea/tool-sdk pay https://my-tool.vercel.app/api/tool \\\n  --body '{\"query\":\"hello\"}'\n```\n\n| Flag | Description |\n|------|-------------|\n| `--body <json>` | JSON body (inline string or `@path/to/file.json`) |\n| `--method <verb>` | HTTP method (defaults to POST; falls back to GET if a POST probe 404/405s) |\n| `--wallet-provider <provider>` | Wallet provider to use for signing |\n| `--max-amount <baseUnits>` | Reject challenges charging more than this (token base units). Pass `unlimited` to disable |\n| `--no-report-usage` | Disable the caller-side usage report sent to OpenSea after a successful payment |\n| `--api-key <key>` | API key for usage reporting (falls back to `OPENSEA_API_KEY`, then an auto-provisioned instant key) |\n| `--tool-ref <ref>` | Tool coordinates as `chainId,registryAddress,onchainId` (e.g. `8453,0x265b...2cf1,65`, or `8453,x402_bazaar,123` for x402 registries). The legacy `x402:bazaar` / `x402:bankr` forms are also accepted and normalized. Disambiguates usage reporting when multiple tools share one endpoint |\n\nWhen an endpoint URL maps to more than one registered tool, an endpoint-only usage report is rejected with `400 Multiple tools registered for endpoint`. Pass `--tool-ref` so the report identifies the exact tool by its composite key. The canonical public source tokens are `x402_bazaar` and `x402_bankr`; the legacy colon forms are accepted and normalized. The fields are comma-separated so the registry identifier stays unambiguous:\n\n```bash\n# Onchain (ERC-8257) registry:\nnpx @opensea/tool-sdk pay https://my-tool.vercel.app/api/tool \\\n  --body '{\"query\":\"hello\"}' \\\n  --tool-ref 8453,0x265bb2dbfc0a8165c9a1941eb1372f349bad2cf1,65\n\n# x402 registry (not registered onchain):\nnpx @opensea/tool-sdk pay https://my-tool.vercel.app/api/tool \\\n  --body '{\"query\":\"hello\"}' \\\n  --tool-ref 8453,x402_bazaar,8679018179619845322\n```\n\n### `auth <url>`\n\nMake an authenticated call to a predicate-gated tool endpoint via EIP-3009 zero-value authorization.\n\n```bash\nPRIVATE_KEY=0x... RPC_URL=https://mainnet.base.org npx @opensea/tool-sdk auth https://my-tool.vercel.app/api/tool \\\n  --body '{\"query\":\"hello\"}'\n```\n\n| Flag | Description |\n|------|-------------|\n| `--body <json>` | JSON body (inline string or `@path/to/file.json`) |\n| `--wallet-provider <provider>` | Wallet provider to use for signing |\n\n### `dry-run-gate`\n\nInvoke a tool handler locally with no `X-Payment` header and assert a valid 402 response (x402 gate test).\n\n```bash\nnpx @opensea/tool-sdk dry-run-gate \\\n  --manifest ./src/manifest.ts \\\n  --input '{\"query\":\"test\"}'\n```\n\n| Flag | Description |\n|------|-------------|\n| `--manifest <path>` | Path to manifest `.ts` or `.json` file (required) |\n| `--input <json>` | JSON input body (inline or `@path`) |\n\n### `dry-run-predicate-gate`\n\nInvoke a tool handler locally with no auth header and assert a valid challenge response (402 when `operatorAddress` is configured, 401 otherwise).\n\n```bash\nnpx @opensea/tool-sdk dry-run-predicate-gate \\\n  --manifest ./src/manifest.ts \\\n  --tool-id 1\n```\n\n| Flag | Description |\n|------|-------------|\n| `--manifest <path>` | Path to manifest `.ts` or `.json` file (required) |\n| `--tool-id <id>` | Onchain tool ID to configure in the gate |\n| `--input <json>` | JSON input body (inline or `@path`) |\n\n### `smoke`\n\nSmoke-test a live tool endpoint: sign an EIP-3009 authorization, send an authenticated request, and assert the HTTP status. Classifies 402 as \"auth passed, payment required\" for paywalled tools.\n\n```bash\nPRIVATE_KEY=0x... RPC_URL=https://mainnet.base.org \\\n  npx @opensea/tool-sdk smoke \\\n  --endpoint https://my-tool.vercel.app/api/tool \\\n  --tool-id 4 \\\n  --input '{\"query\":\"hello\"}'\n```\n\n| Flag | Description |\n|------|-------------|\n| `--endpoint <url>` | Production endpoint URL (required) |\n| `--tool-id <id>` | Onchain tool ID (included in log output) |\n| `--input <json>` | JSON body (inline or `@path`; default: `{}`) |\n| `--expect <status>` | Expected HTTP status code |\n| `--chain <name>` | Chain for wallet client and EIP-3009 signature (default: `base`) |\n| `--paid` | Handle x402 payment challenge after EIP-3009 authentication |\n| `--wallet-provider <provider>` | Wallet provider to use for signing |\n| `--max-amount <amount>` | Maximum payment amount in base units (default: `1000000` = 1 USDC) |\n\n### `set-collections <toolId> <addresses...>`\n\nSet the ERC-721 collection gate list for an already-registered tool.\n\n```bash\nPRIVATE_KEY=0x... npx @opensea/tool-sdk set-collections 4 \\\n  0x07152bfde079b5319e5308c43fb1dbc9c76cb4f9 \\\n  --network base\n```\n\n| Flag | Description |\n|------|-------------|\n| `--network <network>` | `base` or `mainnet` (default: `base`) |\n| `--wallet-provider <provider>` | Wallet provider to use for signing |\n| `--rpc-url <url>` | RPC endpoint |\n| `--dry-run` | Print encoded calldata without transacting |\n\n### `get-collections <toolId>`\n\nRead the ERC-721 collection gate list for a registered tool (read-only).\n\n```bash\nnpx @opensea/tool-sdk get-collections 4 --network base\n```\n\n| Flag | Description |\n|------|-------------|\n| `--network <network>` | `base` or `mainnet` (default: `base`) |\n| `--rpc-url <url>` | RPC endpoint |\n\n### `set-collection-tokens <toolId> <address> <tokenIds...>`\n\nSet the ERC-1155 collection + token ID gate for an already-registered tool.\n\n```bash\nPRIVATE_KEY=0x... npx @opensea/tool-sdk set-collection-tokens 4 \\\n  0xCOLLECTION_ADDRESS 1 2 3 \\\n  --network base\n```\n\n| Flag | Description |\n|------|-------------|\n| `--network <network>` | `base` or `mainnet` (default: `base`) |\n| `--wallet-provider <provider>` | Wallet provider to use for signing |\n| `--rpc-url <url>` | RPC endpoint |\n| `--dry-run` | Print encoded calldata without transacting |\n\n### `configure-subscription <toolId> <collection>`\n\nConfigure the SubscriptionPredicate gate for an already-registered tool.\n\n```bash\nPRIVATE_KEY=0x... npx @opensea/tool-sdk configure-subscription 4 \\\n  0x6c9974ce02ddc6dc7786f7540613ad2a4f7ff626 \\\n  --min-tier 0 --network base\n```\n\n| Flag | Description |\n|------|-------------|\n| `--min-tier <tier>` | Minimum subscription tier (uint8, 0-255; default: `0`) |\n| `--network <network>` | `base` or `mainnet` (default: `base`) |\n| `--wallet-provider <provider>` | Wallet provider to use for signing |\n| `--rpc-url <url>` | RPC endpoint |\n| `--dry-run` | Print summary without transacting |\n\n### `configure-trait-gating <toolId> <collection> <traitKey> <allowedValues...>`\n\nConfigure the TraitGatedPredicate gate for an already-registered tool. Uses ERC-721 ownership + ERC-7496 dynamic trait matching.\n\n```bash\nPRIVATE_KEY=0x... npx @opensea/tool-sdk configure-trait-gating 4 \\\n  0xNFT_COLLECTION tier Rare Legendary \\\n  --network base\n\n# With a separate ERC-7496 traits/renderer contract:\nPRIVATE_KEY=0x... npx @opensea/tool-sdk configure-trait-gating 4 \\\n  0xNFT_COLLECTION tier Rare Legendary \\\n  --traits-contract 0xRENDERER --network base\n```\n\n| Flag | Description |\n|------|-------------|\n| `--predicate-address <address>` | Override the canonical TraitGatedPredicate address |\n| `--traits-contract <address>` | ERC-7496 traits contract address (defaults to collection if omitted) |\n| `--network <network>` | `base` or `mainnet` (default: `base`) |\n| `--wallet-provider <provider>` | Wallet provider to use for signing |\n| `--rpc-url <url>` | RPC endpoint |\n| `--dry-run` | Print summary without transacting |\n\n**Bytes32 encoding:** `traitKey` and `allowedValues` are encoded as left-aligned, zero-padded bytes32 values. They must match exactly how the traits contract stores them. `bytes32(0)` is not allowed in `allowedValues` (it is the default return for unset traits).\n\n### `get-trait-config <toolId>`\n\nRead the trait gating configuration for a registered tool (read-only).\n\n```bash\nnpx @opensea/tool-sdk get-trait-config 4 --network base\n```\n\n| Flag | Description |\n|------|-------------|\n| `--predicate-address <address>` | Override the canonical TraitGatedPredicate address |\n| `--network <network>` | `base` or `mainnet` (default: `base`) |\n| `--rpc-url <url>` | RPC endpoint |\n\n### `configure-erc20-gate <toolId> <token> <minBalance>`\n\nConfigure the ERC20BalancePredicate gate for an already-registered tool. Requires the caller to be the tool creator.\n\n```bash\nPRIVATE_KEY=0x... npx @opensea/tool-sdk configure-erc20-gate 4 \\\n  0xTOKEN_ADDRESS 1000000000000000000 \\\n  --network base\n```\n\n| Flag | Description |\n|------|-------------|\n| `--predicate-address <address>` | Override the canonical ERC20BalancePredicate address |\n| `--network <network>` | `base` or `mainnet` (default: `base`) |\n| `--wallet-provider <provider>` | Wallet provider to use for signing |\n| `--rpc-url <url>` | RPC endpoint |\n| `--dry-run` | Print summary without transacting |\n\n### `get-erc20-config <toolId>`\n\nRead the ERC-20 balance gating configuration for a registered tool (read-only).\n\n```bash\nnpx @opensea/tool-sdk get-erc20-config 4 --network base\n```\n\n| Flag | Description |\n|------|-------------|\n| `--predicate-address <address>` | Override the canonical ERC20BalancePredicate address |\n| `--network <network>` | `base` or `mainnet` (default: `base`) |\n| `--rpc-url <url>` | RPC endpoint |\n\n## Wallet Configuration\n\nAll commands that sign transactions (`register`, `update-metadata`, `pay`, `auth`, `smoke`, `set-collections`, `set-collection-tokens`, `configure-subscription`, `configure-trait-gating`, `configure-erc20-gate`) need a wallet. You can configure one in two ways:\n\n1. **Environment variables** — set the env vars for your provider and the CLI auto-detects it (priority: Privy > Fireblocks > Turnkey > Bankr > PrivateKey).\n2. **`--wallet-provider` flag** — explicitly select a provider by name.\n\n| Provider | `--wallet-provider` value | Required env vars |\n|----------|--------------------------|-------------------|\n| Privy | `privy` | `PRIVY_APP_ID`, `PRIVY_APP_SECRET`, `PRIVY_WALLET_ID` |\n| Fireblocks | `fireblocks` | `FIREBLOCKS_API_KEY`, `FIREBLOCKS_API_SECRET`, `FIREBLOCKS_VAULT_ID` |\n| Turnkey | `turnkey` | `TURNKEY_API_PUBLIC_KEY`, `TURNKEY_API_PRIVATE_KEY`, `TURNKEY_ORGANIZATION_ID`, `TURNKEY_WALLET_ADDRESS`, `TURNKEY_RPC_URL` |\n| Bankr | `bankr` | `BANKR_API_KEY` |\n| Private Key | `private-key` | `PRIVATE_KEY`, `RPC_URL` |\n\nSee [`.env.example`](.env.example) for a full annotated template.\n\n### Examples\n\n```bash\n# Auto-detect from env vars (simplest)\nPRIVATE_KEY=0x... RPC_URL=https://mainnet.base.org npx @opensea/tool-sdk register \\\n  --metadata <url> --network base\n\n# Explicit provider selection\nBANKR_API_KEY=... npx @opensea/tool-sdk register \\\n  --metadata <url> --network base --wallet-provider bankr\n\n# Privy server wallet\nPRIVY_APP_ID=... PRIVY_APP_SECRET=... PRIVY_WALLET_ID=... npx @opensea/tool-sdk auth \\\n  https://my-tool.vercel.app/api/tool --body '{\"query\":\"hello\"}'\n```\n\n## Library API\n\n### `defineManifest(manifest)`\n\nType-narrowing identity function for manifest definitions.\n\n```typescript\nimport { defineManifest } from \"@opensea/tool-sdk\"\n\nexport const manifest = defineManifest({\n  type: \"https://ercs.ethereum.org/ERCS/erc-8257#tool-manifest-v1\",\n  name: \"my-tool\",\n  description: \"A useful tool\",\n  endpoint: \"https://my-tool.vercel.app\",\n  inputs: {\n    type: \"object\",\n    properties: { query: { type: \"string\" } },\n    required: [\"query\"],\n  },\n  outputs: {\n    type: \"object\",\n    properties: { result: { type: \"string\" } },\n  },\n  creatorAddress: \"0x1234567890abcdef1234567890abcdef12345678\",\n})\n```\n\n### `validateManifest(data)`\n\nValidates unknown data against the ERC-8257 manifest schema.\n\n```typescript\nimport { validateManifest } from \"@opensea/tool-sdk\"\n\nconst result = validateManifest(jsonData)\nif (result.success) {\n  console.log(result.data.name)\n} else {\n  console.error(result.error.issues)\n}\n```\n\nThe schema is open: namespaced extension fields are preserved, and no defaults are injected, so the validated manifest still matches what gets served and hashed.\n\n### `findBareExtensionKeys(data)`\n\nReturns the top-level fields in `data` that are neither defined by the ERC-8257 schema nor namespaced as extensions (for example `paymentHint`). These fields are committed by the manifest hash since the manifest is hashed as served, but ERC-8257 requires extension fields to be namespaced (reverse-DNS, e.g. `io.opensea.paymentHint`, or the legacy `x-` prefix) so they cannot collide with future normative fields. Returns an empty array when `data` is not a JSON object.\n\n```typescript\nimport { findBareExtensionKeys } from \"@opensea/tool-sdk\"\n\nconst bare = findBareExtensionKeys(jsonData)\nif (bare.length > 0) {\n  console.warn(`Namespace these extension fields: ${bare.join(\", \")}`)\n}\n```\n\n### `createToolHandler(config)`\n\nCreates a Web Request/Response handler for your tool.\n\n```typescript\nimport { z } from \"zod/v4\"\nimport { createToolHandler } from \"@opensea/tool-sdk\"\nimport { manifest } from \"./manifest.js\"\n\nconst handler = createToolHandler({\n  manifest,\n  inputSchema: z.object({ query: z.string() }),\n  outputSchema: z.object({ result: z.string() }),\n  gates: [], // optional: predicateGate, x402Gate\n  handler: async (input, ctx) => {\n    return { result: `Hello: ${input.query}` }\n  },\n})\n```\n\n### `createWellKnownHandler(manifest)`\n\nCreates a handler for the `/.well-known/ai-tool/<slug>.json` endpoint.\n\n```typescript\nimport { createWellKnownHandler } from \"@opensea/tool-sdk\"\n\nconst wellKnown = createWellKnownHandler(manifest)\n// Responds at /.well-known/ai-tool/<derived-slug>.json\n```\n\n### `computeManifestHash(manifest)`\n\nComputes the JCS keccak256 hash of a manifest (RFC 8785 canonicalization + keccak256). Per ERC-8257 §2 the manifest is hashed as served: pass the raw served or authored object (for example the fetched response body), with every field intact and no defaults injected. Do not pass a schema-stripped copy, or an independently computed hash will not match.\n\n```typescript\nimport { computeManifestHash } from \"@opensea/tool-sdk\"\n\nconst hash = computeManifestHash(manifest)\n// => \"0x85f160012d9fd30c7e82bc9d3959c90ec9df3c7d...\"\n```\n\n### `ToolRegistryClient`\n\nClient for interacting with the onchain ToolRegistry contract.\n\n```typescript\nimport { ToolRegistryClient } from \"@opensea/tool-sdk\"\nimport { base } from \"viem/chains\"\n\nconst client = new ToolRegistryClient({\n  chain: base,\n  walletClient, // viem WalletClient with account\n})\n\nconst { toolId, txHash } = await client.registerTool({\n  metadataURI: \"https://example.com/.well-known/ai-tool/my-tool.json\",\n  manifest,\n})\n```\n\n## Invocation Flow\n\nFor a visual walkthrough of the full 402 challenge-response lifecycle (identity verification, access check, payment settlement, and usage reporting), see [docs/tool-invocation-flow.md](docs/tool-invocation-flow.md).\n\n## Gating\n\n### Predicate Gate (recommended)\n\nDelegates the access decision to the onchain `ToolRegistry`. When\n`operatorAddress` is configured, the gate returns a 402 challenge with\n`PaymentRequirements` (`maxAmountRequired: \"0\"`); the caller signs a\nzero-value `X-Payment` and retries. The challenge derives its `payTo` address\nfrom the endpoint URL, tool ID, and operator. The client checks that binding\nbefore signing, so an authorization captured by another endpoint cannot be\nreplayed here. The middleware\nrecovers the caller's address from the `X-Payment` signature via `ecrecover`\nand staticcalls `IToolRegistry.tryHasAccess(toolId, caller, data)`. Whatever\npredicate the tool's creator registered (single-collection ERC-721,\nmulti-collection, ERC-1155, subscription, composite, anything future) is the\npolicy enforced.\n\n```typescript\nimport { predicateGate } from \"@opensea/tool-sdk\"\n\nconst gate = predicateGate({\n  toolId: 42n,                          // from the ToolRegistered event\n  operatorAddress: \"0xYOUR_OPERATOR\",   // included in the audience binding\n  rpcUrl: \"https://mainnet.base.org\",   // optional\n  // audience: \"https://tool.example/api\", // only if a proxy rewrites request.url\n})\n\nconst handler = createToolHandler({\n  manifest,\n  inputSchema,\n  outputSchema,\n  gates: [gate],\n  handler: async (input, ctx) => {\n    // ctx.callerAddress is set on success\n    // ctx.gates.predicate.granted === true\n    return { result: \"access granted\" }\n  },\n})\n```\n\nStatus code mapping:\n\n| Outcome | Status | Body |\n| --- | --- | --- |\n| No auth, `operatorAddress` configured | `402` | `{ accepts: [{ payTo, maxAmountRequired: \"0\", scheme: \"exact\", ... }] }` |\n| No auth, no `operatorAddress` | `401` | `{ error, hint }` |\n| Malformed auth header or `X-Payment` | `401` | `{ error }` |\n| `tryHasAccess` returned `(true, true)` | (passes) | n/a |\n| `tryHasAccess` returned `(true, false)` | `403` | `{ error, toolId, predicate }` |\n| `tryHasAccess` returned `(false, *)` | `502` | `{ error: \"Predicate misbehaved...\" }` |\n\nThe `predicate` field in the 403 body is the registered access predicate's\naddress, fetched lazily from `getToolConfig` on first denial and cached\nin-process. Callers can read the predicate's onchain config to learn what\nthey need to satisfy.\n\nPreferred auth mechanism: `X-Payment` header (zero-value EIP-3009 `TransferWithAuthorization` via the 402 challenge flow). Also accepts `Authorization: EIP-3009 <base64url(json)>` and deprecated `SIWE <base64url(message)>.<signature>` for backward compatibility.\n\n> **Note:** The gate bounds the `validBefore` window server-side: the\n> authorization must not be expired and must be at most 1 hour in the future\n> (SDK clients sign a much shorter window — 5 min zero-value / 10 min paid).\n> Each authorization includes a random nonce bound into the signature. Configure\n> `replayGuard` with an atomic shared store when one authorization must run the\n> handler at most once. See [Replay protection](#replay-protection).\n\n#### Delegated agent access (delegate.xyz)\n\nAn AI agent can call a predicate-gated tool **on behalf of** an NFT holder\nwithout the holder's private key. The holder delegates to the agent at\n[delegate.xyz](https://delegate.xyz) (onchain, one TX, revocable anytime),\nand the agent includes the holder's address in the request:\n\n```typescript\nimport { eip3009AuthenticatedFetch } from \"@opensea/tool-sdk\"\n\nconst response = await eip3009AuthenticatedFetch(toolUrl, {\n  method: \"POST\",\n  headers: {\n    \"X-Delegate-For\": holderAddress,      // holder who delegated\n  },\n  account: agentAccount,\n  body: JSON.stringify({ query: \"hello\" }),\n})\n```\n\nWhen `X-Delegate-For` is present, the middleware:\n\n1. Verifies the agent's identity (via `X-Payment` or `Authorization: EIP-3009`) normally\n2. Calls `checkDelegateForAll(agent, holder)` on the [delegate.xyz DelegateRegistry](https://docs.delegate.xyz)\n3. If valid, runs the access predicate against the **holder** (not the agent)\n4. Sets `ctx.callerAddress = holderAddress` and `ctx.agentAddress = agentAddress`\n\n| Outcome | Status | Body |\n| --- | --- | --- |\n| Invalid `X-Delegate-For` format | `400` | `{ error }` |\n| Delegation not found onchain | `403` | `{ error, hint }` |\n| Delegate registry call failed | `502` | `{ error }` |\n\nSee [docs/predicate-gating-guide.md](docs/predicate-gating-guide.md) for the\nfull delegation walkthrough.\n\n### Client-side access preview\n\nOff-chain helper for clients that want to gate UI before invocation. Same\nstaticcall as `predicateGate`, no authentication required.\n\n```typescript\nimport { checkToolAccess } from \"@opensea/tool-sdk\"\n\nconst { ok, granted } = await checkToolAccess({\n  toolId: 42n,\n  account: \"0xabc...\",\n  rpcUrl: \"https://mainnet.base.org\", // optional\n})\n\nif (ok && granted) {\n  // enable \"Use Tool\" affordance\n}\n```\n\n`ok === false` means the predicate misbehaved upstream and the result is\nindeterminate; treat it as a transient failure, not a denial.\n\n### x402 Gate (hosted facilitator)\n\nThe SDK ships two hosted-facilitator gates with the same shape:\n`payaiX402Gate` (PayAI hosted facilitator — free, no auth required) and\n`cdpX402Gate` (Coinbase Developer Platform facilitator — requires a CDP API\nkey and JWT auth). Pick one based on the trade-offs:\n\n| Gate | Facilitator | Auth | Best for |\n| --- | --- | --- | --- |\n| `payaiX402Gate` | PayAI (`https://facilitator.payai.network`) | None | Prototyping, dogfooding, anything you want to deploy today |\n| `cdpX402Gate` | Coinbase Developer Platform (`https://api.cdp.coinbase.com/platform/v2/x402`) | CDP JWT (you supply via `createAuthHeaders`) | Production, when you have CDP credentials |\n\nBoth emit an x402-protocol-compliant 402 response with\n`accepts: [PaymentRequirements]` when `X-Payment` is missing, and verify the\npayload against the facilitator's `/verify` endpoint when present. The\nmanifest-side helper `x402UsdcPricing` is shared — the advertised price is\nidentical regardless of which facilitator enforces it.\n\n**Trade-offs:**\n\n- **PayAI** is community-operated. It is free and requires no credentials,\n  which is exactly the right fit for a first deploy. It comes with no\n  uptime SLA and its operational maturity is whatever the community has\n  built. For real money flowing at volume, evaluate CDP.\n- **CDP** is operated by Coinbase. It requires JWT auth signed with your\n  `CDP_API_KEY_SECRET`. The SDK does not bundle a JWT signer; pass a\n  `createAuthHeaders` callback that mints headers per request. A built-in\n  helper that wraps `@coinbase/cdp-sdk` is a planned follow-up.\n\n#### PayAI (recommended for first deploys)\n\n```typescript\nimport {\n  createToolHandler,\n  defineManifest,\n  payaiX402Gate,\n  x402UsdcPricing,\n} from \"@opensea/tool-sdk\"\n\nconst gate = payaiX402Gate({\n  recipient: \"0xYourPayoutAddress\",\n  amountUsdc: \"0.01\", // decimal string; \"10000\" (base units) also accepted\n})\n\nexport const manifest = defineManifest({\n  // ...\n  pricing: x402UsdcPricing({\n    recipient: \"0xYourPayoutAddress\",\n    amountUsdc: \"0.01\",\n  }),\n})\n\nconst handler = createToolHandler({\n  manifest,\n  inputSchema,\n  outputSchema,\n  gates: [gate],\n  handler: async (input, ctx) => {\n    // ctx.gates.x402.paid === true\n    return { /* ... */ }\n  },\n})\n```\n\n#### CDP (production)\n\n```typescript\nimport { cdpX402Gate, x402UsdcPricing } from \"@opensea/tool-sdk\"\nimport { generateCdpJwt } from \"./your-cdp-auth.js\" // your code, today\n\nconst gate = cdpX402Gate({\n  recipient: \"0xYourPayoutAddress\",\n  amountUsdc: \"0.01\",\n  createAuthHeaders: async () => ({\n    Authorization: `Bearer ${await generateCdpJwt({\n      apiKeyId: process.env.CDP_API_KEY_ID!,\n      apiKeySecret: process.env.CDP_API_KEY_SECRET!,\n      method: \"POST\",\n      path: \"/platform/v2/x402/verify\",\n    })}`,\n  }),\n})\n```\n\nIf you omit `createAuthHeaders` on `cdpX402Gate`, every verify call returns\n401/403 from CDP and the gate surfaces 502. PayAI is the unauthenticated\nfallback for development.\n\n**Common defaults:** USDC on Base mainnet, `maxTimeoutSeconds: 60`,\ndescription `\"Tool invocation\"`. `network: \"base-sepolia\"` is supported for\ntesting. Override any default via the config; `facilitatorUrl` is also\noverridable if you want to pin to a specific facilitator instance.\n\n**Settlement.** Both gates settle on chain automatically: the gate verifies\nthe payment before your handler runs, then calls the facilitator's `/settle`\nendpoint after your handler succeeds and the output validates. USDC moves\nfrom payer to `recipient` once `/settle` confirms. The settled tx hash is\nstashed on `ctx.gates.x402.settlementTxHash` for downstream observability.\n\n**Latency.** Settlement runs synchronously: the SDK awaits `/settle` before\nreturning the response, so a slow or unreachable facilitator adds up to 10\nseconds (the per-call timeout) to the worst-case response time. Truly\nnon-blocking settlement requires runtime-specific primitives (Cloudflare\nWorkers and Vercel `waitUntil`) that are not portable across the runtimes\nthis SDK supports, and fire-and-forget risks dropped settlements when a\nserverless process is killed after the response is sent. Blocking is the\nsafest cross-runtime default; if you need lower-latency settlement, plumb\nthe runtime's `waitUntil` into your handler and wrap the gate yourself.\n\n**Failure handling.** If `/settle` fails (network blip, facilitator outage,\nnonce already used), the failure is logged via `console.error` with prefix\n`[tool-sdk] gate.settle failed:` and the response still returns 200 with\nthe handler's output. Operators replay failed settlements out-of-band using\nthe verified payment payload from logs.\n\n### x402 Gate (advanced: custom facilitator)\n\nThe lower-level `x402Gate` accepts a `verifyPayment` callback for callers who\nwant to run their own facilitator or verify payments without an HTTP round-trip.\n\n```typescript\nimport { x402Gate } from \"@opensea/tool-sdk\"\n\nconst gate = x402Gate({\n  pricing: [\n    {\n      amount: \"20000\",\n      asset: \"eip155:8453/erc20:0x833589fcd6edb6e08f4c7c32d4f71b54bda02913\",\n      recipient: \"eip155:8453:0xYourAddress\",\n      protocol: \"x402\",\n    },\n  ],\n  verifyPayment: async (proof) => {\n    return validateX402ProofYourself(proof)\n  },\n})\n```\n\nIf `verifyPayment` is omitted, the gate rejects every request with an `X-Payment`\nheader with a 501 error. Use `payaiX402Gate` (or `cdpX402Gate`) if you do not\nhave a reason to run your own facilitator.\n\n### Client-side x402\n\nTwo helpers for **callers** of x402-gated tools — sign EIP-3009\n`TransferWithAuthorization` payments and replay requests automatically.\n\n#### `signX402Payment`\n\nSigns a USDC payment authorization and returns a base64-encoded `X-Payment`\nheader value. Requires a viem `Account` with `signTypedData` support (e.g.\n`privateKeyToAccount`).\n\n```typescript\nimport { signX402Payment } from \"@opensea/tool-sdk\"\nimport { privateKeyToAccount } from \"viem/accounts\"\n\nconst account = privateKeyToAccount(\"0x...\")\nconst xPayment = await signX402Payment({\n  account,\n  paymentRequirements: {\n    scheme: \"exact\",\n    network: \"base\",\n    maxAmountRequired: \"10000\",\n    payTo: \"0xRecipient\",\n    asset: \"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913\",\n  },\n})\n\nconst res = await fetch(toolUrl, {\n  method: \"POST\",\n  headers: { \"Content-Type\": \"application/json\", \"X-Payment\": xPayment },\n  body: JSON.stringify(payload),\n})\n```\n\n#### `paidFetch`\n\nDrop-in fetch wrapper that handles the 402 → sign → replay flow\nautomatically. If the server does not return 402, the response is passed\nthrough unchanged.\n\n**Security:** `paidFetch` trusts the server's 402 response to determine\nthe payment recipient, token, and amount. Use `maxAmount`,\n`allowedRecipients`, and `allowedAssets` to constrain what gets signed.\nBy default, `asset` is validated against the known USDC contract address\nfor the network, and `payTo` is rejected if it is the zero address or a\nknown burn address.\n\n```typescript\nimport { paidFetch } from \"@opensea/tool-sdk\"\nimport { privateKeyToAccount } from \"viem/accounts\"\n\nconst account = privateKeyToAccount(\"0x...\")\nconst res = await paidFetch(\"https://tool.example.com/api\", {\n  method: \"POST\",\n  headers: { \"Content-Type\": \"application/json\" },\n  body: JSON.stringify({ query: \"what is this NFT worth?\" }),\n  account,\n  // Optional safety caps:\n  maxAmount: \"100000\",                          // reject if server asks for more than 0.10 USDC\n  allowedRecipients: [\"0xYourTrustedPayee\"],    // reject unknown payTo addresses\n  // allowedAssets defaults to the known USDC contract per network\n})\nconst data = await res.json()\n```\n\n### Predicate-Gated Tools\n\nGate your tool using the onchain access predicate system. `predicateGate` returns `PaymentRequirements` with `maxAmountRequired: \"0\"` and a recipient derived from the endpoint URL, tool ID, and operator. The client verifies that binding, signs a zero-value `X-Payment`, and the middleware recovers the caller's address via `ecrecover`. Access is then delegated to `IToolRegistry.tryHasAccess`; it works with ERC721OwnerPredicate, ERC1155OwnerPredicate, SubscriptionPredicate, ERC20BalancePredicate, CompositePredicate, or any future predicate automatically.\n\n#### Combined predicate + payment (`paidPredicateGate`)\n\nFor tools that require **both** predicate access and x402 payment, use `paidPredicateGate` to resolve identity and payment in a single 402 round trip (2 requests instead of 3):\n\n```typescript\nimport { paidPredicateGate } from \"@opensea/tool-sdk\"\nimport { mainnet } from \"viem/chains\"\n\ngates: [\n  paidPredicateGate({\n    toolId: 1n,\n    operatorAddress: \"0xYOUR_WALLET\",\n    amountUsdc: \"0.05\",\n    chain: mainnet,\n    rpcUrl: \"https://ethereum-rpc.publicnode.com\",\n  }),\n]\n```\n\nThe gate advertises the real payment amount in the 402 challenge. The caller's `X-Payment` signature proves identity (`from`) AND authorizes payment in one step. The predicate is verified before payment settles — if access is denied, no funds move.\n\nSee [docs/predicate-gating-guide.md](docs/predicate-gating-guide.md) for the full setup walkthrough.\n\n## Usage Reporting\n\nReport tool invocations to OpenSea's analytics endpoint (`POST /api/v2/tools/usage`). For each call the SDK reports the **verified caller**: the on-chain **payer** for paid x402 calls, or the caller's **own EIP-3009 authorization** for calls authenticated by `predicateGate`. A tool server never signs on the caller's behalf.\n\n### Setup\n\n1. **Get an API key** at [docs.opensea.io/reference/api-keys](https://docs.opensea.io/reference/api-keys) and set it in your environment:\n\n```bash\nexport OPENSEA_API_KEY=\"your-api-key\"\n```\n\n2. **Add `usageReporting` to your handler config** — both free (EIP-3009 auth) and paid (x402) invocations are reported automatically:\n\n```typescript\nimport { createToolHandler } from \"@opensea/tool-sdk\"\n\nconst handler = createToolHandler({\n  manifest,\n  inputSchema,\n  outputSchema,\n  gates: [/* x402 paywall and/or predicateGate */],\n  handler: async (input, ctx) => {\n    // your tool logic\n  },\n  usageReporting: {\n    chainId: 8453,                // chain for the EIP-712 USDC domain / x402 fallback\n    toolChainId: 8453,            // ERC-8257: chain where the tool is registered\n    toolRegistryAddress: \"0x...\", // ERC-8257: registry contract\n    toolOnchainId: 42,            // ERC-8257: tool ID in the registry\n    apiKey: process.env.OPENSEA_API_KEY!,\n  },\n})\n```\n\n> **Reporting is the service's job, never the caller's.** The `apiKey` authenticates *you* (the operator) as the reporter. The caller is identified by data they already supplied (the x402 payer, or the EIP-3009 authorization `predicateGate` verified), so no caller wallet, signing, or `walletClient` is involved.\n\nThat's it: the handler runs the reporter at the very end of the lifecycle, after the output is computed and gates have settled. It is **awaited** before the response is returned (bounded by the reporter's `timeoutMs`, default 5s) so the report reliably completes even on serverless runtimes that freeze the function the moment the response flushes. Reporter failures are caught and logged; they never fail the tool call.\n\n### How it works\n\n- **Paid (x402) calls** report `verification_type: \"x402_settlement\"` with the on-chain payer address and the settlement transaction hash. The backend verifies the settlement directly, so no signature is needed.\n- **EIP-3009-authenticated calls** (e.g. behind `predicateGate`) report `verification_type: \"eip3009_authorization\"` by **forwarding the caller's original zero-value `TransferWithAuthorization`** (USDC domain, `value = 0`). The caller already signed it to authenticate; the SDK passes that exact signature through, so the reported identity is the real caller, not the server. No tokens are transferred.\n\n### Configuration reference\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `chainId` | Yes | Chain ID for the EIP-712 USDC domain / x402 `chain_id` fallback (1, 8453, 137, 42161, 10, 43114) |\n| `toolChainId` | Yes | ERC-8257 composite key: chain of registration |\n| `toolRegistryAddress` | Yes | ERC-8257 composite key: registry contract |\n| `toolOnchainId` | Yes | ERC-8257 composite key: numeric tool ID |\n| `apiKey` | Yes | OpenSea API key ([get one here](https://docs.opensea.io/reference/api-keys)). Authenticates the tool service as the reporter |\n| `aggregatorUrl` | No | Override endpoint URL (default: `https://api.opensea.io/api/v2/tools/usage`) |\n| `timeoutMs` | No | Request timeout in ms (default: 5000) |\n\n### Standalone Reporters\n\nIf you report usage outside the handler flow (a custom pipeline or a separate reporting service), use the standalone reporter functions directly.\n\n#### EIP-3009 Reporter\n\nForwards a caller's already-collected EIP-3009 authorization. Pass an `InvocationEvent` whose `callerAuthorization` holds the authorization your auth layer verified:\n\n```typescript\nimport { createEip3009UsageReporter } from \"@opensea/tool-sdk\"\n\nconst reportUsage = createEip3009UsageReporter({\n  chainId: 8453,\n  toolChainId: 8453,\n  toolRegistryAddress: \"0x...\",\n  toolOnchainId: 42,\n  apiKey: process.env.OPENSEA_API_KEY!,\n})\n\nawait reportUsage({\n  paid: false,\n  latencyMs: 123,\n  timestamp: Date.now(),\n  callerAuthorization, // the caller's verified zero-value authorization\n})\n```\n\n#### x402 Settlement Reporter\n\nFor paid tools using x402, report usage with the onchain settlement transaction hash — no wallet signing needed:\n\n```typescript\nimport { createX402UsageReporter } from \"@opensea/tool-sdk\"\n\nconst reportX402Usage = createX402UsageReporter({\n  toolChainId: 8453,\n  toolRegistryAddress: \"0x...\",\n  toolOnchainId: 42,\n  apiKey: process.env.OPENSEA_API_KEY!,\n})\n\nawait reportX402Usage({\n  callerAddress: \"0x...\",\n  txHash: \"0x...\",\n  chainId: 8453,\n  latencyMs: 200,\n})\n```\n\n## Security Considerations\n\n### Input Validation\n\n`createToolHandler` validates every request automatically:\n\n1. **Method check** — only `POST` is accepted (405 otherwise).\n2. **Body parsing** — malformed JSON returns 400.\n3. **Input schema** — the request body is validated against your Zod `inputSchema` before reaching your handler. Invalid payloads return 400 with structured error details.\n4. **Output schema** — handler return values are validated against `outputSchema` before being sent. Schema mismatches return 500 without leaking internal state.\n\nThe `ToolManifestSchema` enforces structural invariants on manifests: HTTPS-only endpoints, lowercase hex addresses, bounded field lengths, JSON Schema depth limits, and cross-field consistency (e.g. `hardware-attested` tier requires an `attestation` block).\n\n### Rate Limiting\n\nThe SDK does not ship a built-in rate limiter. Rate limiting is inherently deployment-specific — Cloudflare Workers, Vercel, AWS API Gateway, and self-hosted Node all have different preferred mechanisms, and in-memory counters do not work in serverless environments where each invocation may run in a separate isolate.\n\nRecommended approaches by platform:\n\n- **Cloudflare Workers** — [Rate Limiting rules](https://developers.cloudflare.com/waf/rate-limiting-rules/) at the edge, or [Durable Objects](https://developers.cloudflare.com/durable-objects/) for per-key counters.\n- **Vercel** — [Vercel WAF rate limiting](https://vercel.com/docs/security/vercel-waf) or [Upstash Ratelimit](https://github.com/upstash/ratelimit) with Redis.\n- **Express / self-hosted** — [`express-rate-limit`](https://github.com/express-rate-limit/express-rate-limit) or a reverse proxy (nginx, Caddy) in front of your process.\n\nYou can also implement a custom `GateMiddleware` that performs rate-limit checks in the `check()` hook and returns a 429 response when limits are exceeded.\n\n### Replay protection\n\n`predicateGate` binds each zero-value authorization to the endpoint URL, tool ID, and operator through the signed EIP-3009 `to` field. `eip3009AuthenticatedFetch` verifies that binding before signing. It permits same-origin redirects and rejects cross-origin redirects before creating a signature. This prevents a phishing endpoint from collecting a valid header for another tool, even when both tools name the same operator.\n\nThe header remains reusable against its intended endpoint until `validBefore` unless the server configures `replayGuard`. The guard atomically reserves the authorization's `(payer, nonce)` key before the handler runs. Its storage must be shared across instances and its TTL must cover the accepted authorization window. The SDK does not provide a default store because deployments use different storage systems. See `skill/references/x402.md` for the interface and a Redis example.\n\n### Sensitive Data Handling\n\n- **Private keys** are never handled directly by the SDK runtime. They flow through `@opensea/wallet-adapters`, which supports Privy, Turnkey, Fireblocks, and local key signing. The SDK accepts a `WalletAdapter` interface — it never reads or stores raw key material.\n- **Environment variables** — the `deploy` command detects sensitive env vars (names ending in `_KEY`, `_SECRET`, `_TOKEN`, `_PASSWORD`, `_PRIVATE`) and masks their values during interactive prompts.\n- **EIP-3009 auth:** The `predicateGate` middleware verifies EIP-3009 zero-value authorizations via `ecrecover` (no RPC call needed). It rejects a non-zero `value`, binds the signature to the endpoint URL, tool ID, and operator, pins it to the configured identity chain, and caps `validBefore` to at most 1 hour ahead. Use `replayGuard` for single-use semantics.\n- **x402 payments** — the `paidFetch` client validates payment parameters before signing: `maxAmount` caps the spend, `allowedRecipients` restricts payees, and `allowedAssets` defaults to the canonical USDC contract for the network. These guard against malicious 402 responses.\n\n## Tips\n\n### `ai@4` + `zod@4` type mismatch\n\n`ai@4` (Vercel AI SDK) ships its own `jsonSchema()` helper that expects a\nJSON Schema object, **not** a Zod schema. If you pass a `zod@4` schema to\n`generateObject`'s `schema` parameter it will typecheck but the return type\nis `unknown` because `ai@4` does not recognise Zod 4's schema brand.\n\nThe working pattern is to define a hand-written JSON Schema for `ai`, then\nvalidate the result at runtime with Zod:\n\n```typescript\nimport { generateObject } from \"ai\"\nimport { jsonSchema } from \"ai/json-schema\"\nimport { z } from \"zod/v4\"\n\n// 1. Hand-written JSON Schema for the AI SDK\nconst myJsonSchema = jsonSchema({\n  type: \"object\",\n  properties: {\n    name: { type: \"string\" },\n    score: { type: \"number\" },\n  },\n  required: [\"name\", \"score\"],\n})\n\n// 2. Matching Zod schema for runtime validation\nconst MySchema = z.object({\n  name: z.string(),\n  score: z.number(),\n})\n\nconst { object } = await generateObject({\n  model,\n  schema: myJsonSchema,\n  prompt: \"...\",\n})\n\n// 3. Validate at runtime — `object` is typed as `unknown` from ai@4\nconst parsed = MySchema.parse(object)\n// `parsed` is now fully typed as { name: string; score: number }\n```\n\n## Framework Adapters\n\n### Vercel\n\n```typescript\nimport { toVercelHandler } from \"@opensea/tool-sdk\"\n\nexport default toVercelHandler(handler)\n```\n\n### Cloudflare Workers\n\n```typescript\nimport { toCloudflareHandler } from \"@opensea/tool-sdk/cloudflare\"\n\nexport default toCloudflareHandler(handler)\n```\n\n### Express\n\n```typescript\nimport { toExpressHandler } from \"@opensea/tool-sdk\"\n\napp.post(\"/api\", toExpressHandler(handler))\n```\n\n## ERC Spec\n\nSee the full [ERC-8257 Tool Registry specification](https://github.com/ethereum/ERCs/pull/1723) for details on manifest schema, origin binding, creator binding, and consumer verification.\n\n## Security\n\nFound a vulnerability? Report it through OpenSea's Bugcrowd program at https://bugcrowd.com/engagements/opensea rather than opening a public issue. See [SECURITY.md](SECURITY.md).\n","readmeFilename":"README.md"}