{"_id":"@optimizely-opal/opal-tools-sdk","_rev":"30-71a85b74fc83410d5d6e11f9bd2000c3","name":"@optimizely-opal/opal-tools-sdk","dist-tags":{"latest":"0.1.41-dev"},"versions":{"0.1.0-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.0-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.0-dev","maintainers":[{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"4d28d9239ab7de51d2e0003a28bd45d3f9cbb4e6","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.0-dev.tgz","fileCount":21,"integrity":"sha512-UacLHsvC1x67qMoGPCcqGaPMfSGQMTj5dF4UrcOTU3XKhpiCrAxwMijPDkszKm8i2nFB4jldL5PV7s0tYZ17Cg==","signatures":[{"sig":"MEYCIQCD1TdZQAA0jSIU1grk2l1RxSgYvLz2JZQaUUxeNEE6KAIhAMmfPPMv/8GRToBEwNLVIwE4gdaSfcfIWfg7+LNpG5Jy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33766},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"8d6a3e8b41f281567a2f82d0eaac5240919fc286","scripts":{"test":"jest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"18.20.8","dependencies":{"axios":"^1.6.0","express":"^4.18.2","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.2","ts-jest":"^29.1.1","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20.4.5","@types/express":"^4.17.17"},"peerDependencies":{"express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.0-dev_1746478106127_0.7771699062314041","host":"s3://npm-registry-packages-npm-production"}},"0.1.2-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.2-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.2-dev","maintainers":[{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"c7d7f2b14c3c5daa5e28e2177e2eb7715222f41e","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.2-dev.tgz","fileCount":21,"integrity":"sha512-W6W56aLsC1kQ7eVgb7zB5nz/t4AEIYyhovcKUJ5/gjPC0Rx3QhRJitLmtypJ5vUOkpPp6bzNTZC1HkC30z3sHA==","signatures":[{"sig":"MEUCIEjVud4jJjYkrXG/URjzB3hUBCUQo+C2se/OpnWFw3HfAiEAhvKOOnyE311N3JPOOd9jlRnTI7cRoqrYuYBKw7MjFNY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35946},"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"test":"jest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"24.3.0","dependencies":{"axios":"^1.6.0","express":"^4.18.2","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.2","ts-jest":"^29.1.1","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20.4.5","@types/express":"^4.17.17"},"peerDependencies":{"express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.2-dev_1755691858633_0.7791358607855674","host":"s3://npm-registry-packages-npm-production"}},"0.1.3-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.3-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.3-dev","maintainers":[{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"ff0a5daaa5e80164200eb7777446d15311cf9898","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.3-dev.tgz","fileCount":21,"integrity":"sha512-zqmvPztnoPbi+xvWliYXOg1tctcXgOM7PD3mnS+qDcbaV1LqSzO0PW5NvD56RZFjKLfdjLjLqicGUcq3PLmFZw==","signatures":[{"sig":"MEUCIQDUMFzvuuxtjuv2mbFZfzjQW15WOu5qbhi+PLXXRf1d+QIgLU9dyenUwFijVNeixkgwr6eDaaJ62vye1cqtxwx0M3k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53054},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"509ae039e8c53b5cd8c8907f299294e9f7826937","scripts":{"test":"jest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.3","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.18.0","dependencies":{"axios":"^1.6.0","express":"^4.18.2","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.2","ts-jest":"^29.1.1","typescript":"^5.1.6","@types/jest":"^29.5.3","@types/node":"^20.4.5","@types/express":"^4.17.17"},"peerDependencies":{"express":"^4.18.2"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.3-dev_1756405161166_0.6094094692928367","host":"s3://npm-registry-packages-npm-production"}},"0.1.5-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.5-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.5-dev","maintainers":[{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"be07376bc63551cea435bf1a73f1c43edd71b1e0","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.5-dev.tgz","fileCount":21,"integrity":"sha512-aaW3J0qJSSQ/pTExPzds200OOPc/LCGrrOD35s7WBGaE9Vw5sXS590OhVojOtXk+Ja3uOoF7tu22YezjFR4/Jw==","signatures":[{"sig":"MEUCIE5Con1uTP7NyQW8rpWAcsOp6/kiZJ55LorZfDr9tLD7AiEAhrupFTqSTRyxxo4zCK5KKZBCX7dMEnMvQetyjs5Zay4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54278},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e8421d4faab497972e6e69784144c8ed15dc51b7","scripts":{"test":"jest","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.21.1","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.2","ts-jest":"^29.1.1","@types/jest":"^29.5.3"},"peerDependencies":{"axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.5-dev_1765465140239_0.6587865012584924","host":"s3://npm-registry-packages-npm-production"}},"0.1.6-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.6-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.6-dev","maintainers":[{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"5f7b5f64f5a7c61d99cfbb0a53d44d9c281e8596","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.6-dev.tgz","fileCount":36,"integrity":"sha512-GKVOeND/n+kFJy3fv07Gsb3tFV8vqJO7/MD5/r0qJlzukTU5SBB81pqcgoVj3anDQp0N/drpL1nlwOaeGwuyMw==","signatures":[{"sig":"MEUCIQDgrPcxOOMweiTwA5SLLniApUAHc8kBh/rOk8OL+v/gNwIgbse1H444R+KF5UiJqpdxdJgw3O04EBc97XObZ/wzSfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":562706},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"72811c77784f1e6d955d69d753fcdc81ebbbafe0","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","generate:block":"ts-node scripts/generate-block.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.0","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.6-dev_1770046002240_0.8744430796509777","host":"s3://npm-registry-packages-npm-production"}},"0.1.8-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.8-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.8-dev","maintainers":[{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"bd4bd36a366b786f73d9c7edddebd82df7ed7ab9","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.8-dev.tgz","fileCount":39,"integrity":"sha512-SZCqTk/+3SWPvCBTHq9vBFOuKQYyQUX/v9lmSKij3FKI966uFXTpnBOAGyZljZlrbNfh9XWYI9snMDD3DCZTzg==","signatures":[{"sig":"MEUCIQDs+bbAk02sCkNla1FwBI98l6BSDd3Yv+O86/8EQJq/zgIgLPGEooWwz0mqVZYlbdpfTkdneTuaagI61bx7OemagEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211708},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"ec82ec0a60cffa1ceb1b579f1e72aff750bdcd6e","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.0","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.8-dev_1772227673057_0.3384942741894088","host":"s3://npm-registry-packages-npm-production"}},"0.1.9-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.9-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.9-dev","maintainers":[{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"048928080ee5d7c05cd84787707089cff3397ab1","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.9-dev.tgz","fileCount":39,"integrity":"sha512-m1L6QzRajWNDS9pgGk49gaeLHMjPhwD7SaWTqEV7Mgn8vET5HIDwOvSbJaYU3n5HvG6J5QrJxhF/+eBMaNneFg==","signatures":[{"sig":"MEQCIEPgmrO1ez6zprhlw9HZZhK7yj9ASMp9SoIA4D51tLT+AiBdixNP7NS29cKGSRwioQ4g6rLS2/wD7GZfaDg2Cs59vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":221983},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"983a53d00d03cb585e365fbc9770d3fce4e8b648","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.0","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.9-dev_1772657274199_0.4743683635758411","host":"s3://npm-registry-packages-npm-production"}},"0.1.10-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.10-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.10-dev","maintainers":[{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"54ecca115c74a4997d600009f2451afda34fc425","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.10-dev.tgz","fileCount":39,"integrity":"sha512-bKIWLnuH41AAGcfikTd9oWHBoLCoTXqNBCLO032g/ERhJTbMAyFy841W9BE3zoUpfyfMQJbG2YOg7ROvMDKqkA==","signatures":[{"sig":"MEYCIQDqrpo5/3u6E4d5/3GHneWK0qvfK+Q+bxtM5SNHrzUoewIhALoaaQWwJDvQEd/PX9HWDkXX6Y3TYbyRIPKE/XE6HJ7E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229950},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e1de1afcf4af838bbdbf793d1d537b2ebb7a0e7f","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.0","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.10-dev_1772894097745_0.8183116073407639","host":"s3://npm-registry-packages-npm-production"}},"0.1.11-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.11-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.11-dev","maintainers":[{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"73bbd9c2a3ac5c9848c936bc96486cf814738a27","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.11-dev.tgz","fileCount":39,"integrity":"sha512-jm9b8Yl+RNbhMM2MdpWROOHceugaatytPO9v5808wJwOjqTNJjfB/k3P3RXoBySWVcel/84TT5JRTdKQU1tPmA==","signatures":[{"sig":"MEUCIQDR4CrNLh+rgjP7Zu1OhVFI8Vy/RNLW2MUargO38dITqAIgOqoNtRobsQV5nx74ZKMnAbO2ik7faTWG5uU7SsYKLm4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":230010},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"43ee8ac68c17f3a9ae84bc44eecb2685622a5bdf","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.0","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.11-dev_1772902748601_0.19199076332187603","host":"s3://npm-registry-packages-npm-production"}},"0.1.12-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.12-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.12-dev","maintainers":[{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"a9a2082b737478541b1c2b502e8cea7c7e31fbdb","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.12-dev.tgz","fileCount":39,"integrity":"sha512-h2jFgOHbdQZx4IPeNQmDXqLG6A8xidsbv+hg3uwYAuIZs1iRtKn02Qc3zIAHGNeXPFWwWkkpOzhjmC25jLp7Fw==","signatures":[{"sig":"MEUCIQDbxH2OydhYK3kcEpst6GXYIzrfH3ulnMy/JuDGlly2iwIgJn6bBGG8vCUSCh28Thof0doa6l5TLhaJg8ML4SAkThA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":261817},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"f06057c4ac6266403701ab7b50260fb38576536e","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.0","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.12-dev_1773348355962_0.17538564944729673","host":"s3://npm-registry-packages-npm-production"}},"0.1.15-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.15-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.15-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"c2f527bbb4fb4e4a74d6adcd41ca538a0f72c540","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.15-dev.tgz","fileCount":39,"integrity":"sha512-u0iqnW+JqJcBL+F+beRmWAUahLnHnss/VS0uDW19wGd1CIwCDu2949KW3gSggyomkw/50GvgeYJzSAIgJA3iPA==","signatures":[{"sig":"MEUCIQCH6Gkaq8NMEnVH9AFY+Dy1LMHJ8R1emNmxX5cFhb27dAIgERqoI57a4LjGGzVbvELGu2Ws8UKirL2xiFBjzUvzLU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":268847},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"f09e2c4610382eeec5b0b548408fc5cd1a8b7c44","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.1","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.15-dev_1774760055595_0.9686133203400527","host":"s3://npm-registry-packages-npm-production"}},"0.1.16-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.16-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.16-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"1707a35284087c7a27a71540679a10c67ad56d52","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.16-dev.tgz","fileCount":45,"integrity":"sha512-VYn57VCQFDcKlYUVf/rlGxcC3H3cOlCvax+e3m/e7Tr4QoonI+8zWIwvyD9I7lTvSIAE2bYOnnIoejVwL84+EQ==","signatures":[{"sig":"MEUCIQDXA0YCfUR95BTaKMPOJYXeUfVI8ZVM/IYb/kt3LEubmAIgHXfnZz6TL39BCqS5TmMsCQM/sQRp3JaDfgBBcpBzTKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":295895},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"db15d5689edff16e051907c98361bddb02b2471e","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.4","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.1","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.16-dev_1775077550601_0.46391211882558925","host":"s3://npm-registry-packages-npm-production"}},"0.1.17-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.17-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.17-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"94e08dd1422c017c5bf030504542b003e44b6043","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.17-dev.tgz","fileCount":45,"integrity":"sha512-VGov7G8J3pOUVDmrGpqkYueE/t0+kDSYKx/L8W+SdSohHvhrKb5ZncduqXxquEcyt3AjrpDvc2HKD2BP9yALOw==","signatures":[{"sig":"MEQCIBDzi6jxF409eaNTTR24l7IRIzcAzYNbsnkFtnHTvFslAiBh5xCXmElNX1b+j2VOZqxnE+ELRbVN9UsIlYhf7FenRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296105},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"a05c83b4666f6a08aef164ff39bca4b719a09822","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.7","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.2","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.17-dev_1775501271509_0.4309627077022533","host":"s3://npm-registry-packages-npm-production"}},"0.1.19-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.19-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.19-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"4aee9a695f83afb27b26eaa6934166eda60406b1","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.19-dev.tgz","fileCount":45,"integrity":"sha512-2j4bHNa0qo2wm6kdabevGW/mhXjztVwm2uwbKYOLVKw7IzAGy2GFWsztiVCcIh+kIv0ui2uqVBTe1QzLYv+v1g==","signatures":[{"sig":"MEQCIAP+wfHCTI5TsTtwZ3pu8fYE/g5y3yjz32pGn8X8qWz8AiBmDF5qtTwUmq/DHjMIxLUsjO8o1mllbEt7D+lN9cSIZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301016},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"596848546ee5a550ef462f80321a8b81f1287f8b","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.7","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.2","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.19-dev_1776460101214_0.07717782798547934","host":"s3://npm-registry-packages-npm-production"}},"0.1.20-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.20-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.20-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"292440ad5f4f11917513ac9cba2bbb81f9370112","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.20-dev.tgz","fileCount":45,"integrity":"sha512-uleQZj2CuaemSDI6S6anZ9u8uNuRTmWKsMQGgb+/fOLkfwvnVNpk5Hd6if5NHj6OMVcd0dj9a7GwqEb/V1H22Q==","signatures":[{"sig":"MEYCIQCnkggDDAHg+9QnPlLQfvo6fBblhZSoV/6s1RYUwuhEKwIhAOpr2PcS3Ya4JUttbSsnSsLPOtOpsBSjbP62OPM+nmj3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301286},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0c330f5dbd0ff23fc246368dee55051e064cf02d","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.7","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.2","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.20-dev_1776714716350_0.13181311098983173","host":"s3://npm-registry-packages-npm-production"}},"0.1.23-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.23-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.23-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"2aabd8cbb523db2cd11f133c5a8b39df72fbaf51","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.23-dev.tgz","fileCount":45,"integrity":"sha512-Z088737IHPpY5lnlsWvCspiIig+mEtfBwYcKp23i2rGAm4Se1MobfJlkU+KziulFwoSUy4Y2weiIgwGgiqIjBQ==","signatures":[{"sig":"MEYCIQCsGpD0GOP9k2l6+v2jNSK/rGp5o2VMkNMtxts9M4QXqgIhAJfKaFDV6z9hXNCm9tmuowVLPgGG7btGtLVQhErWLX+h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":314181},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"4aee66ff9570ea5a9c3c86ff6d8dc6cfdd385250","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.7","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.2","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.23-dev_1777574603343_0.6325585310833184","host":"s3://npm-registry-packages-npm-production"}},"0.1.24-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.24-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.24-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"dce1ce6ac997410fccb8af9bc37ac4fd1d272876","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.24-dev.tgz","fileCount":45,"integrity":"sha512-I6/dQTbFz8eCHkMV+l7J5QUZ0Trnpm3QxgytOdGeuRWjQbTabT0A23UvcdV5vawTrvAUDjD1LB+JDZjn9yiulg==","signatures":[{"sig":"MEUCIQD92VowcWltU9wb0o6cujkukuej7HCRpnSl1rfVUE9u9wIgHRNrxYBlsk/GJq3/6I6EL6z+Etd3fq1G7bf6585A6pE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":315283},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5f66f6a0ca6e2175e740431136c81e2b0ea14b39","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.7","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.2","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.24-dev_1777908131073_0.6600458473496402","host":"s3://npm-registry-packages-npm-production"}},"0.1.25-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.25-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.25-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"a0c021ce372c814afd79f7be746bf038496b04ac","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.25-dev.tgz","fileCount":45,"integrity":"sha512-zNPhbjU73qUhYI9UhJ/WpXOdDR9AL7XWNiSd1v9sHR97xiVuNhtm98jbJJeFH82A35wUPHJP1AAt+lK/O1ThOg==","signatures":[{"sig":"MEUCIQDrvLNBfdnBxKd7BBviCEoUPcDti4MXa3C3oyra0RPkCwIgODsUBAEOMhA2YHDyoi3Alf5aDfH2L0HvXO+aSDOegK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":317636},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"359426efe3495a37b79ff7b2c2d268d7b8e7349c","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.7","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.2","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.25-dev_1778518546319_0.23498872379327862","host":"s3://npm-registry-packages-npm-production"}},"0.1.27-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.27-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.27-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"8270e7dd7c6a81d681c56c4717b6a8d32510a58a","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.27-dev.tgz","fileCount":45,"integrity":"sha512-uF/HMgqBy6oQUWx0r/TxwQVe3DNdQ1IPtsTv5Aj9KoLM7nvpctvnyjuaajQ1DpBMYRRdv3r3TDfvZDnqBRKlYw==","signatures":[{"sig":"MEQCICs+9jr/A6JOJ6quQ+7ePNF9YXoruX2GXqyb/R6lrehEAiABSuG+iX04A93F8mUMBUbjMqE5bYc3X2VgkDc8bVxleg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":326034},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"202f62086cfdd2c5110af0236bb849db80230654","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.7","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.2","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.27-dev_1779131805514_0.05249795227494625","host":"s3://npm-registry-packages-npm-production"}},"0.1.28-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.28-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.28-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"f76e0d2aaa23ccad2745c30d596e30b398588b33","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.28-dev.tgz","fileCount":45,"integrity":"sha512-99A/WRFVMqXktxeDSvGBlC6M8djABuvHsldMqokJlK3dDZqZIrT+XCrjDUcDCAqDFMowM+RoH+xpStIl5N13sg==","signatures":[{"sig":"MEUCIQCTgQLZuE1RvjtXRNrmhqKAXoHl9IO2BLgeLajg6WOkogIgIsHJf7qSn4/UAr7rbxPUzuzX2OBjYUsUVD2FWJKiRec=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":326602},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"409d93bd48869e3ace4a6962b419fb1dd3ab02f1","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.7","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.2","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.28-dev_1779201447761_0.4758399764557759","host":"s3://npm-registry-packages-npm-production"}},"0.1.32-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.32-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.32-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"eb06a9b42e9e72d5021f3a4432021cf5a815716c","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.32-dev.tgz","fileCount":24,"integrity":"sha512-tv1yU2JFhLYqHJToUriA68W8MexPonxWafc0t1OIR+RD8CwksCcVyuRAEApDGqISBP64dR2fe7rZajUfG6iXKg==","signatures":[{"sig":"MEUCIDonBQUbGVu7a62CfLCfmYV+m0FZIBdmiacLfErBVMM0AiEAglLnfd+PFXCiIKLmwucElRzp7p/ThvaphWFb2EmvdE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193309},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"e2232ed7f769e35c68211b8a98eb454a89c49c43","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.22.3","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.32-dev_1781002292700_0.8558012652151639","host":"s3://npm-registry-packages-npm-production"}},"0.1.34-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.34-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.34-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"c9eb49d8f8f34dd8da5eccc0186bed25c156ea34","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.34-dev.tgz","fileCount":32,"integrity":"sha512-D/XmzoleyIeWAxKnEErts1MH06ycgGYTvyA17XxNcIrDmPHM5GuY7i1eWhJ6giJkJvJMxPGT2gea2qjbhRcwlQ==","signatures":[{"sig":"MEQCIBwb6yCQ8MYiUmk4UQtp3lyu6qUs9XObDa4hjC00i5aCAiBAjhLbTYJwYCxHfx8JNRDSGAUhgO9pTZC+FK1Q4RiMBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228850},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"cec334224b0d632643fb1adf21a7727dfb279043","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.23.0","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.34-dev_1782743299514_0.8988258900378474","host":"s3://npm-registry-packages-npm-production"}},"0.1.35-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.35-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.35-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"1137eedafb635ae068cea010fcd8918b319fbdc3","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.35-dev.tgz","fileCount":32,"integrity":"sha512-yTzAO3jS6vrIl4LGkElT8twnbgoOColtSlpR5V/X4jR6tv38XU89vWYl+9I4PMwG8kkp6EcuARDQP/yKQc3U7A==","signatures":[{"sig":"MEQCIG+kjUMbfcBD2yS8TaGGgQNge7zPJXZ/dZgl405aGYJEAiB69EllNZICJQLSfK6Fq1CYkj/IX00GcWBx9FD5/zM7ag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229081},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0f8e39defe30a39532adc61c7f6b706cfe24de94","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.23.0","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.35-dev_1782806289349_0.7550470395931006","host":"s3://npm-registry-packages-npm-production"}},"0.1.37-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.37-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.37-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"1fb0b57fe0dcbce70348ec6e94e73b1f149a9776","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.37-dev.tgz","fileCount":32,"integrity":"sha512-W03S702OZX8z29x2/e72bjh+D1iFF5NVPOeMHCJWflADpaoZ36Uumh3qZIEnMI7Rlqm/1W7jFYaZGTQnCu9agg==","signatures":[{"sig":"MEQCIH/kIrWTUlkhjScRVSwt5+83ctkAje4N7CnamMC3g6JMAiAQLph7sntCrOJ99+gD8ZCJMsFFcfbiAIy4Ks0UElOcQQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237362},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"c8cedacfda80e92967efb79f5f2a0307e69623bb","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.23.1","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.37-dev_1785774863425_0.28333879786916416","host":"s3://npm-registry-packages-npm-production"}},"0.1.38-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.38-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.38-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"96751c65061756f746d0031a05d9485b45b58176","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.38-dev.tgz","fileCount":32,"integrity":"sha512-4TWpiPoMmtGSWkEJUI0qEy3O1//oRbMtlBkgRZxeGW5pf33jpMqXE5wa8HM8RbtFG/Kx2aRkRc8vrbU5uxD4EA==","signatures":[{"sig":"MEUCIQDwZ3IDaGkb9JMIN5J2HmQmXrpG8ADL+Um/aDNlzXFIZwIgRWpmVflHC9ocoyoUEGVamNjKKwJwGuqrZLpmrhO/QcA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239352},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"6d52bab2b9712c093799ab16887b3b19c763dc4c","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.23.1","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.38-dev_1785791833760_0.11934082967334558","host":"s3://npm-registry-packages-npm-production"}},"0.1.39-dev":{"name":"@optimizely-opal/opal-tools-sdk","version":"0.1.39-dev","keywords":["opal","tools","sdk","ai","llm"],"author":{"name":"Optimizely"},"license":"MIT","_id":"@optimizely-opal/opal-tools-sdk@0.1.39-dev","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"100df333d3f9b8d40cb60c56234bb918cbb8ce9d","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.39-dev.tgz","fileCount":32,"integrity":"sha512-UCNl/vvLxaXRqcyJ21bkoGueQzehySy3igLilNTkrzqmAklG8n+6J3znjtxKW2/nS13prb+TkUtlnVk/xodYUg==","signatures":[{"sig":"MEUCIQDA86TPwxjhJwBi6ekP3xVziyfnCo5XF4iSgp1ejwXAygIgGjAtqiZjrdiomE6ubIAgHwkdYEZREUEPkuuOcT3Hu9k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239375},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"85f771148af49061a9e94da0753fb3a97a4d6ca8","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"SDK for creating Opal-compatible tools services","directories":{},"_nodeVersion":"22.23.2","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"tmp":"tmp/opal-tools-sdk_0.1.39-dev_1789040970913_0.9848012043457439","host":"s3://npm-registry-packages-npm-production"}},"0.1.41-dev":{"_id":"@optimizely-opal/opal-tools-sdk@0.1.41-dev","bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"dist":{"shasum":"a2cf320bb492ab5c2e29373470f2d3a6852b372a","tarball":"https://registry.npmjs.org/@optimizely-opal/opal-tools-sdk/-/opal-tools-sdk-0.1.41-dev.tgz","fileCount":32,"integrity":"sha512-Qsrm1QbN0NWJdVh4AY/kQl9CanLPukieBV86Q0rQrsm6UUEZvDNF8CgYCzrIrL09L7nZT/IFdrAtVeg3/xdfGw==","signatures":[{"sig":"MEUCIQDHbM+awRQzaCfwyqOktHa6hi11sMUQxeXzpQKl+nBG2QIgMzzCXwzjYyx0AkDtXkYd5hzRCzJDE21cDPEY6cFg6pk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDU6WbaVCayxEmg+RTTak8rOE8f/hJTyd8TWqPrcy44RQIhAN9kok4GWKHT1kaGGGBWnwed3XFKDt6iT0uYbX/kcnKj"}],"unpackedSize":242574},"main":"dist/index.js","name":"@optimizely-opal/opal-tools-sdk","types":"dist/index.d.ts","author":{"name":"Optimizely"},"gitHead":"799f17f7bdf986ad0cd05e3f250788ac6b4dca90","license":"MIT","scripts":{"lint":"bash scripts/lint.sh","test":"vitest run","build":"tsc -p tsconfig.build.json","prepublishOnly":"npm run build","generate:proteus":"ts-node scripts/generate-proteus.ts"},"version":"0.1.41-dev","_npmUser":{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},"homepage":"https://github.com/optimizely/opal-tools-sdk#readme","keywords":["opal","tools","sdk","ai","llm"],"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"SDK for creating Opal-compatible tools services","directories":{},"maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"_nodeVersion":"22.23.2","dependencies":{"reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","vitest":"^1.2.0","ts-node":"^10.9.2","prettier":"^3.8.1","supertest":"^7.0.0","@types/node":"^20.4.5","@types/supertest":"^6.0.2","typescript-eslint":"^8.54.0","json-schema-to-typescript":"^13.1.1","eslint-plugin-perfectionist":"^5.4.0"},"peerDependencies":{"zod":"^3.25.0 || ^4.0.0","axios":"^1.6.0","express":"^4.18.2","typescript":"^5.1.6","@types/node":"^20.4.5","@types/express":"^4.17.17"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/opal-tools-sdk_0.1.41-dev_1790345597161_0.45655442039675687"}}},"time":{"created":"2025-05-05T20:48:26.010Z","modified":"2026-09-25T14:13:17.520Z","0.1.0-dev":"2025-05-05T20:48:26.448Z","0.1.2-dev":"2025-08-20T12:10:58.839Z","0.1.3-dev":"2025-08-28T18:19:21.389Z","0.1.5-dev":"2025-12-11T14:59:00.402Z","0.1.6-dev":"2026-02-02T15:26:42.387Z","0.1.8-dev":"2026-02-27T21:27:53.211Z","0.1.9-dev":"2026-03-04T20:47:54.349Z","0.1.10-dev":"2026-03-07T14:34:57.887Z","0.1.11-dev":"2026-03-07T16:59:08.737Z","0.1.12-dev":"2026-03-12T20:45:56.122Z","0.1.15-dev":"2026-03-29T04:54:15.747Z","0.1.16-dev":"2026-04-01T21:05:50.770Z","0.1.17-dev":"2026-04-06T18:47:51.663Z","0.1.19-dev":"2026-04-17T21:08:21.358Z","0.1.20-dev":"2026-04-20T19:51:56.528Z","0.1.23-dev":"2026-04-30T18:43:23.486Z","0.1.24-dev":"2026-05-04T15:22:11.219Z","0.1.25-dev":"2026-05-11T16:55:46.459Z","0.1.27-dev":"2026-05-18T19:16:45.678Z","0.1.28-dev":"2026-05-19T14:37:27.932Z","0.1.32-dev":"2026-06-09T10:51:32.846Z","0.1.34-dev":"2026-06-29T14:28:19.677Z","0.1.35-dev":"2026-06-30T07:58:09.489Z","0.1.37-dev":"2026-08-03T16:34:23.541Z","0.1.38-dev":"2026-08-03T21:17:13.922Z","0.1.39-dev":"2026-09-10T11:49:31.039Z","0.1.41-dev":"2026-09-25T14:13:17.231Z"},"bugs":{"url":"https://github.com/optimizely/opal-tools-sdk/issues"},"author":{"name":"Optimizely"},"license":"MIT","homepage":"https://github.com/optimizely/opal-tools-sdk#readme","keywords":["opal","tools","sdk","ai","llm"],"repository":{"url":"git+https://github.com/optimizely/opal-tools-sdk.git","type":"git"},"description":"SDK for creating Opal-compatible tools services","maintainers":[{"name":"orfiaj","email":"gazi.karim@optimizely.com"},{"name":"pratik.saha","email":"pratik.saha@optimizely.com"},{"name":"shadman.shadab.optimizely","email":"Shadman.Shadab@optimizely.com"},{"name":"pawelziebaopti","email":"pawel.zieba@optimizely.com"}],"readme":"# Opal Tools SDK for TypeScript\n\nThis SDK simplifies the creation of tools services compatible with the Opal Tools Management Service.\n\n## Features\n\n- Easy definition of tool functions with decorators\n- Automatic generation of discovery endpoints\n- Parameter validation and type checking\n- Authentication helpers\n- Express integration\n- Island components for interactive UI responses\n\n## Installation\n\n```bash\nnpm install @optimizely-opal/opal-tools-sdk\n```\n\n## Usage\n\n```typescript\nimport {\n  ToolsService,\n  tool,\n  IslandResponse,\n  IslandConfig,\n} from \"@optimizely-opal/opal-tools-sdk\";\nimport express from \"express\";\n\nconst app = express();\nconst toolsService = new ToolsService(app);\n\ninterface WeatherParameters {\n  location: string;\n  units: string;\n}\n\nclass WeatherTool {\n  @tool({\n    name: \"get_weather\",\n    description: \"Gets current weather for a location\",\n  })\n  async getWeather(parameters: WeatherParameters) {\n    // Implementation...\n    return { temperature: 22, condition: \"sunny\" };\n  }\n}\n\n// Discovery endpoint is automatically created at /discovery\n```\n\n## Authentication\n\nThe SDK provides two ways to require authentication for your tools:\n\n### 1. Using the `@requiresAuth` decorator\n\n```typescript\nimport { ToolsService, tool } from \"@optimizely-opal/opal-tools-sdk\";\nimport { requiresAuth } from \"@optimizely-opal/opal-tools-sdk/auth\";\nimport express from \"express\";\n\nconst app = express();\nconst toolsService = new ToolsService(app);\n\ninterface CalendarParameters {\n  date: string;\n  timezone?: string;\n}\n\nclass CalendarTool {\n  // Single authentication requirement\n  @requiresAuth({ provider: \"google\", scopeBundle: \"calendar\", required: true })\n  @tool({\n    name: \"get_calendar_events\",\n    description: \"Gets calendar events for a date\",\n  })\n  async getCalendarEvents(parameters: CalendarParameters, authData?: any) {\n    // The authData parameter contains authentication information\n    const token = authData?.credentials?.access_token || \"\";\n\n    // Use the token to make authenticated requests\n    // ...\n\n    return { events: [\"Meeting at 10:00\", \"Lunch at 12:00\"] };\n  }\n\n  // Multiple authentication requirements (tool can work with either provider)\n  @requiresAuth({ provider: \"google\", scopeBundle: \"calendar\", required: true })\n  @requiresAuth({\n    provider: \"microsoft\",\n    scopeBundle: \"outlook\",\n    required: true,\n  })\n  @tool({\n    name: \"get_calendar_availability\",\n    description: \"Check calendar availability\",\n  })\n  async getCalendarAvailability(\n    parameters: CalendarParameters,\n    authData?: any,\n  ) {\n    const provider = authData?.provider || \"\";\n    const token = authData?.credentials?.access_token || \"\";\n\n    if (provider === \"google\") {\n      // Use Google Calendar API\n    } else if (provider === \"microsoft\") {\n      // Use Microsoft Outlook API\n    }\n\n    return { available: true, provider_used: provider };\n  }\n}\n```\n\n### 2. Specifying auth requirements in the `@tool` decorator\n\n```typescript\ninterface EmailParameters {\n  limit?: number;\n  folder?: string;\n}\n\nclass EmailTool {\n  @tool({\n    name: \"get_email\",\n    description: \"Gets emails from the user's inbox\",\n    authRequirements: {\n      provider: \"google\",\n      scopeBundle: \"gmail\",\n      required: true,\n    },\n  })\n  async getEmail(parameters: EmailParameters, authData?: any) {\n    // Implementation...\n    return { emails: [\"Email 1\", \"Email 2\"] };\n  }\n}\n```\n\n## Authentication\n\nThe SDK provides authentication support for tools that require user credentials:\n\n```typescript\nimport {\n  ToolsService,\n  tool,\n  requiresAuth,\n  AuthData,\n} from \"@optimizely-opal/opal-tools-sdk\";\nimport express from \"express\";\n\ninterface CalendarParameters {\n  date: string;\n  timezone?: string;\n}\n\nconst app = express();\nconst toolsService = new ToolsService(app);\n\nclass CalendarTool {\n  @requiresAuth({ provider: \"google\", scopeBundle: \"calendar\", required: true })\n  @tool({\n    name: \"get_calendar_events\",\n    description: \"Gets calendar events for a date\",\n  })\n  async getCalendarEvents(parameters: CalendarParameters, authData?: AuthData) {\n    // The authData parameter contains authentication information\n    if (authData) {\n      const token = authData.credentials.access_token;\n      // Use the token to make authenticated requests\n    }\n\n    return { events: [\"Meeting at 10:00\", \"Lunch at 12:00\"] };\n  }\n}\n```\n\n## Interactions\n\nInteractions are app-only handlers — actions callable from the UI but hidden from the LLM. Use them when a tool surface needs to expose a button, form submit, or other follow-up action that the model should not be able to call. They follow the MCP \"app-only tools\" pattern (`visibility: [\"app\"]`) and are not listed in the `/discovery` endpoint.\n\n**When to use `registerInteraction` vs `@tool` / `registerTool`:**\n\n- Use `@tool` / `registerTool` when the LLM should be able to call the function on its own.\n- Use `registerInteraction` when only the UI (action cards, islands) should call it — the model should never see it.\n\n### Declaring an interaction\n\n```typescript\nimport express from \"express\";\nimport { z } from \"zod/v4\";\nimport {\n  ToolsService,\n  registerInteraction,\n  type InteractionContext,\n} from \"@optimizely-opal/opal-tools-sdk\";\n\nconst app = express();\nnew ToolsService(app);\n\nregisterInteraction(\n  \"submit_task_form\",\n  {\n    description: \"Handle task form submission\",\n    inputSchema: {\n      title: z.string().describe(\"Task title\"),\n      priority: z.string().default(\"medium\").describe(\"Task priority\"),\n      assignee: z.string().optional().describe(\"Assignee email\"),\n    },\n  },\n  async (parameters, context: InteractionContext) => {\n    // parameters is typed as { title: string; priority: string; assignee?: string }\n    // context.auth_data carries credentials when auth is configured\n    return {\n      task_id: \"task-123\",\n      message: `Task '${parameters.title}' created`,\n    };\n  },\n);\n```\n\nThe Zod schema is converted to the same `Parameter[]` representation `registerTool` uses, and the handler's `parameters` argument is statically typed from it.\n\n### Handler signature & `InteractionContext`\n\n`InteractionContext` carries the auth data resolved by TMS from the parent tool's auth requirements:\n\n```typescript\ntype InteractionContext = {\n  auth_data?: AuthData;\n};\n```\n\nIf the parent tool did not declare auth requirements (or no credentials are available), `context.auth_data` is `undefined`.\n\n### Generated endpoint\n\nThe SDK exposes a single shared endpoint for all interactions:\n\n```\nPOST /interactions/execute\nContent-Type: application/json\n\n{\n  \"name\": \"submit_task_form\",\n  \"parameters\": {\"title\": \"Ship docs\", \"priority\": \"high\"},\n  \"auth\": {\"provider\": \"...\", \"credentials\": {...}}\n}\n```\n\nThe response is whatever the handler returns, serialized as JSON. Interactions are **not** listed in `/discovery`.\n\n### Name uniqueness\n\nInteraction names must be unique across both tools and interactions in the same service, since both can be exported as MCP tools. Registering an interaction with a name that conflicts with an existing tool or interaction throws an error.\n\n## Island Components\n\nThe SDK includes Island components for creating interactive UI responses:\n\n```typescript\nimport {\n  ToolsService,\n  tool,\n  IslandResponse,\n  IslandConfig,\n} from \"@optimizely-opal/opal-tools-sdk\";\nimport express from \"express\";\n\ninterface WeatherParameters {\n  location: string;\n  units?: string;\n}\n\nconst app = express();\nconst toolsService = new ToolsService(app);\n\nclass WeatherTool {\n  @tool({\n    name: \"get_weather\",\n    description: \"Gets current weather for a location\",\n  })\n  async getWeather(parameters: WeatherParameters) {\n    // Get weather data (implementation details omitted)\n    const weatherData = { temperature: 22, condition: \"sunny\", humidity: 65 };\n\n    // Create an interactive island for weather settings\n    const island = new IslandConfig(\n      [\n        new IslandConfig.Field(\n          \"location\",\n          \"Location\",\n          \"string\",\n          parameters.location,\n        ),\n        new IslandConfig.Field(\n          \"units\",\n          \"Temperature Units\",\n          \"string\",\n          parameters.units || \"metric\",\n          false,\n          [\"metric\", \"imperial\", \"kelvin\"],\n        ),\n        new IslandConfig.Field(\n          \"current_temp\",\n          \"Current Temperature\",\n          \"string\",\n          `${weatherData.temperature}°${parameters.units === \"metric\" ? \"C\" : \"F\"}`,\n        ),\n      ],\n      [\n        new IslandConfig.Action(\n          \"refresh_weather\",\n          \"Refresh Weather\",\n          \"button\",\n          \"/tools/get_weather\",\n          \"update\",\n        ),\n      ],\n      \"button\", // Optional island type\n      \"plus\", // Optional island icon\n    );\n\n    return IslandResponse.create([island]);\n  }\n}\n```\n\n### Island Components\n\n#### IslandConfig.Field\n\nFields represent data inputs in the UI:\n\n- `name`: Programmatic field identifier\n- `label`: Human-readable label\n- `type`: Field type (`'string'`, `'boolean'`, `'json'`)\n- `value`: Current field value (optional)\n- `hidden`: Whether to hide from user (optional, default: false)\n- `options`: Available options for selection (optional)\n\n#### IslandConfig.Action\n\nActions represent buttons or operations:\n\n- `name`: Programmatic action identifier\n- `label`: Human-readable button label\n- `type`: UI element type (typically `'button'`)\n- `endpoint`: API endpoint to call\n- `operation`: Operation type (default: `'create'`)\n\n#### IslandConfig\n\nContains the complete island configuration:\n\n- `fields`: Array of IslandConfig.Field objects\n- `actions`: Array of IslandConfig.Action objects\n- `type`: Optional island type for custom rendering (optional)\n- `icon`: Optional icon identifier for the island (optional)\n\n#### IslandResponse\n\nThe response wrapper for islands:\n\n- Use `IslandResponse.create([islands])` to create responses\n- Supports multiple islands per response\n\n## Resources & Proteus UI\n\nThe SDK supports defining MCP resources that serve dynamic UI specifications using the Proteus framework. This enables tools to render rich, interactive interfaces without hardcoded frontend integrations.\n\nFor the full Proteus component reference and visual designer, see the [Proteus documentation](https://optimizely-axiom.github.io/optiaxiom/guides/proteus/).\n\n### Registering a Resource with `registerResource`\n\nUse `registerResource` to define an MCP resource:\n\n```typescript\nimport { registerResource, UI } from \"@optimizely-opal/opal-tools-sdk\";\n\nconst getCreateForm = registerResource(\n  \"create-form\",\n  {\n    uri: \"ui://my-app/create-form\",\n    description: \"Form for creating new items\",\n    title: \"Create Form\",\n  },\n  async () => {\n    return UI.Document({\n      title: \"Create Item\",\n      body: [\n        UI.Heading({ children: \"New Item\" }),\n        UI.Field({\n          label: \"Item Name\",\n          children: UI.Input({\n            name: \"item_name\",\n            placeholder: \"Enter item name\",\n          }),\n        }),\n        UI.Field({\n          label: \"Description\",\n          children: UI.Textarea({\n            name: \"description\",\n            placeholder: \"Enter description\",\n          }),\n        }),\n      ],\n      actions: [\n        UI.Action({ children: \"Save\", appearance: \"primary\" }),\n        UI.CancelAction({ children: \"Cancel\" }),\n      ],\n    });\n  },\n);\n```\n\n**Parameters:**\n\n- `name` (required): Name of the resource\n- `options.uri` (required): Unique URI for the resource (e.g., `'ui://my-app/create-form'`)\n- `options.description` (optional): Description of the resource\n- `options.mimeType` (optional): MIME type. Auto-set to `'application/vnd.opal.proteus+json'` when returning a `UI.Document`\n- `options.title` (optional): Human-readable title\n- `handler`: Async function returning a `string` or `UI.Document`\n\n### Linking a Tool to a UI Resource\n\nUse the `uiResource` option on `registerTool` to associate a tool with a Proteus UI resource:\n\n```typescript\nimport { registerTool } from \"@optimizely-opal/opal-tools-sdk\";\n\nregisterTool(\n  \"create_item\",\n  {\n    description: \"Create a new item\",\n    uiResource: \"ui://my-app/create-form\",\n  },\n  async (parameters: CreateItemParams) => {\n    return { id: \"item-123\", name: parameters.name, status: \"created\" };\n  },\n);\n```\n\nOr with the `@tool` decorator on a class method:\n\n```typescript\nclass ItemTool {\n  @tool({\n    name: \"create_item\",\n    description: \"Create a new item\",\n    uiResource: \"ui://my-app/create-form\",\n  })\n  async createItem(parameters: CreateItemParams) {\n    return { id: \"item-123\", name: parameters.name, status: \"created\" };\n  }\n}\n```\n\n### Building UI with `UI.Document`\n\nImport the `UI` namespace from the SDK. It provides factory functions for all Proteus components:\n\n```typescript\nimport { UI } from \"@optimizely-opal/opal-tools-sdk\";\n```\n\n**Available components:**\n\n| Category      | Components                                                                                                                                           |\n| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Layout        | `UI.Document()`, `UI.Group()`, `UI.Card()`, `UI.CardHeader()`, `UI.CardLink()`, `UI.Separator()`                                                     |\n| Typography    | `UI.Heading()`, `UI.Text()`, `UI.Link()`                                                                                                             |\n| Data Display  | `UI.Avatar()`, `UI.Badge()`, `UI.DataTable()`, `UI.Chart()`, `UI.IconCalendar()`, `UI.Image()`, `UI.ImageCarousel()`, `UI.Time()`                    |\n| Form Controls | `UI.Field()`, `UI.Input()`, `UI.Textarea()`, `UI.Select()`, `UI.SelectTrigger()`, `UI.SelectContent()`, `UI.Switch()`, `UI.Range()`, `UI.Question()` |\n| Actions       | `UI.Action()`, `UI.CancelAction()`                                                                                                                   |\n| Dynamic       | `UI.Value()`, `UI.Map()`, `UI.MapIndex()`, `UI.Show()`, `UI.Concat()`, `UI.Zip()`                                                                    |\n\n**Data binding** with `UI.Value` resolves paths from the tool response:\n\n```typescript\nconst getResults = registerResource(\n  \"results\",\n  {\n    uri: \"ui://my-app/results\",\n  },\n  async () => {\n    return UI.Document({\n      title: UI.Value({ path: \"/title\" }),\n      body: UI.Map({\n        path: \"/items\",\n        children: UI.Text({ children: UI.Value({ path: \"name\" }) }),\n      }),\n    });\n  },\n);\n```\n\n**Conditional rendering** with `UI.Show`:\n\n```typescript\nUI.Show({\n  when: { \"!!\": UI.Value({ path: \"/error\" }) },\n  children: UI.Text({ children: \"An error occurred\", color: \"fg.error\" }),\n});\n```\n\nThe MIME type constant is available as `UI.MIME_TYPE` (`'application/vnd.opal.proteus+json'`).\n\n## Type Definitions\n\nThe SDK provides comprehensive TypeScript type definitions:\n\n### Authentication Types\n\n- `AuthData`: Interface containing provider and credentials information\n- `Credentials`: Interface with access_token, org_sso_id, customer_id, instance_id, and product_sku\n- `Environment`: Interface specifying execution mode (`'headless'` or `'interactive'`)\n\n### Parameter Types\n\n- `ParameterType`: Enum for supported parameter types\n- `Parameter`: Class for tool parameter definitions\n- `Function`: Class for complete tool function definitions\n\nThese types provide full IDE support and compile-time type checking for better development experience.\n\n## Documentation\n\nSee full documentation for more examples and configuration options.\n","readmeFilename":"README.md"}