{"_id":"@agenite/tool","_rev":"10-391e4315aca906ced4c0f4e30fa94635","name":"@agenite/tool","dist-tags":{"alpha":"0.3.0-alpha.0","latest":"0.5.0"},"versions":{"0.1.0":{"name":"@agenite/tool","version":"0.1.0","_id":"@agenite/tool@0.1.0","maintainers":[{"name":"subeshb1","email":"subeshb1@gmail.com"}],"dist":{"shasum":"0353cbb3119e4a93d261240f77ef298852e81801","tarball":"https://registry.npmjs.org/@agenite/tool/-/tool-0.1.0.tgz","fileCount":9,"integrity":"sha512-SMr3a4gBQ5fHs8Csj+WWbuBJjWTZnQoRS+Vn5PPe8Mp0F80yx0AhHISCk1dtMCapU5cyfCHOGGSt4rkLsnKZZQ==","signatures":[{"sig":"MEYCIQCS6qJqiiY6aZDuPeTZlCczU1ThKO5rVDr8dswPGmRVdgIhALOVDrW4cRuD2ZnK5/Ii/RDxK/Ow6YVzmZRlnCE1g6Kx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32953},"main":"./dist/index.js","type":"module","_from":"file:agenite-tool-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"jest","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"subeshb1","email":"subeshb1@gmail.com"},"_resolved":"/private/var/folders/6t/00njv37d2bn4hm5pmsq993zr0000gp/T/0f8648bc0a701e8a3264a087984f9ee3/agenite-tool-0.1.0.tgz","_integrity":"sha512-SMr3a4gBQ5fHs8Csj+WWbuBJjWTZnQoRS+Vn5PPe8Mp0F80yx0AhHISCk1dtMCapU5cyfCHOGGSt4rkLsnKZZQ==","_npmVersion":"10.9.2","description":"Tool interface for Agenite","directories":{},"_nodeVersion":"22.13.0","dependencies":{"ajv":"^8.12.0","zod":"^3.22.4","@agenite/llm":"0.1.3","zod-to-json-schema":"^3.22.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","@types/ajv":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.11.19","@repo/tsup-config":"0.0.2","@repo/eslint-config":"0.0.2","@repo/typescript-config":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/tool_0.1.0_1737775873909_0.05602471835711054","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agenite/tool","version":"0.2.0","_id":"@agenite/tool@0.2.0","maintainers":[{"name":"subeshb1","email":"subeshb1@gmail.com"}],"dist":{"shasum":"501396cd8bca41ceb89790e3563921d45250a5c7","tarball":"https://registry.npmjs.org/@agenite/tool/-/tool-0.2.0.tgz","fileCount":10,"integrity":"sha512-gh1DrO8GQ6I+BYyjpHgd1Hr34LwMHtrvaf4NQFyWW1OajavRz9U08EC1vNpUW0uu/SiLxjg0tfgusCgaEhYWfw==","signatures":[{"sig":"MEYCIQCqdx3sf1N87sHidXz8mnmfzhc5mjaUKZhACZcS+RsI4AIhAOvygm4TSijeyInQWx50Pj+g0C26+Fg47A5dvc+MJPgs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":38963},"main":"./dist/index.js","type":"module","_from":"file:agenite-tool-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"jest","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"subeshb1","email":"subeshb1@gmail.com"},"_resolved":"/private/var/folders/6t/00njv37d2bn4hm5pmsq993zr0000gp/T/86ca50dd28c5a7775877a06f686abdc2/agenite-tool-0.2.0.tgz","_integrity":"sha512-gh1DrO8GQ6I+BYyjpHgd1Hr34LwMHtrvaf4NQFyWW1OajavRz9U08EC1vNpUW0uu/SiLxjg0tfgusCgaEhYWfw==","_npmVersion":"10.9.2","description":"Tool interface for Agenite","directories":{},"_nodeVersion":"22.13.0","dependencies":{"ajv":"^8.12.0","zod":"^3.22.4","@agenite/llm":"0.2.0","zod-to-json-schema":"^3.22.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","@types/ajv":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.11.19","@repo/tsup-config":"0.0.2","@repo/eslint-config":"0.0.2","@repo/typescript-config":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/tool_0.2.0_1737883767482_0.5587716547447747","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@agenite/tool","version":"0.2.1","keywords":["ai","generative-ai","tool","function-calling","typescript","schema-validation","type-safe","agent-tools","llm-tools","api-integration","json-schema"],"license":"MIT","_id":"@agenite/tool@0.2.1","maintainers":[{"name":"subeshb1","email":"subeshb1@gmail.com"}],"homepage":"https://github.com/subeshb1/agenite/tree/main/packages/tool#readme","bugs":{"url":"https://github.com/subeshb1/agenite/issues"},"dist":{"shasum":"ace3b2e2e42fa11cc6ff1f60d23e94b974d806bc","tarball":"https://registry.npmjs.org/@agenite/tool/-/tool-0.2.1.tgz","fileCount":10,"integrity":"sha512-fpkrtrYZEh5wobrdO6ZS6WieTJsVBGJtLOWl+vgbEWDLN7+SBveS4DZgZ6m/xv1y/R8CVey5aKy/iBe7M9DkUg==","signatures":[{"sig":"MEYCIQCMd0XPVwj++Z4quh4ArSXnEtALohNZFJh3r7WrUMuAWAIhAPu0nHO13sXzygN917w2lQGl7HFRk2mlMlwavo98OPdU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39641},"main":"./dist/index.js","type":"module","_from":"file:agenite-tool-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"jest","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"subeshb1","email":"subeshb1@gmail.com"},"_resolved":"/private/var/folders/6t/00njv37d2bn4hm5pmsq993zr0000gp/T/85202ea6a749789f20be17a4e26fa670/agenite-tool-0.2.1.tgz","_integrity":"sha512-fpkrtrYZEh5wobrdO6ZS6WieTJsVBGJtLOWl+vgbEWDLN7+SBveS4DZgZ6m/xv1y/R8CVey5aKy/iBe7M9DkUg==","repository":{"url":"git+https://github.com/subeshb1/agenite.git","type":"git","directory":"packages/tool"},"_npmVersion":"10.9.2","description":"Tool interface for Agenite","directories":{},"_nodeVersion":"22.13.0","dependencies":{"ajv":"^8.12.0","zod":"^3.22.4","@agenite/llm":"0.2.1","zod-to-json-schema":"^3.22.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","@types/ajv":"^1.0.0","typescript":"^5.3.3","@types/node":"^20.11.19","@repo/tsup-config":"0.0.2","@repo/eslint-config":"0.0.2","@repo/typescript-config":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/tool_0.2.1_1737952022505_0.025095066721578796","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@agenite/tool","version":"0.2.2","keywords":["ai","generative-ai","tool","function-calling","typescript","schema-validation","type-safe","agent-tools","llm-tools","api-integration","json-schema"],"license":"MIT","_id":"@agenite/tool@0.2.2","maintainers":[{"name":"subeshb1","email":"subeshb1@gmail.com"}],"homepage":"https://github.com/subeshb1/agenite/tree/main/packages/tool#readme","bugs":{"url":"https://github.com/subeshb1/agenite/issues"},"dist":{"shasum":"3134efd9a98211b2eb1d481387b257cd474ec6db","tarball":"https://registry.npmjs.org/@agenite/tool/-/tool-0.2.2.tgz","fileCount":10,"integrity":"sha512-lhNU/n6UEO+K64y9J1/ugJz5mBHWAJwMnMg7MkLaDUd029ySwNoxdM40yOnbRCJ10JNj9YcL8qiz1mPS8tURyA==","signatures":[{"sig":"MEUCIQCSPPhA0mG2cglKLmBadt0Z7Ty/wN1WN6+JyGRlW0wqNQIgDIKXmYmvYUtZ0Etl0utC1vvzc7GJlFUmYKeoyvHCZMQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39789},"main":"./dist/index.js","type":"module","_from":"file:agenite-tool-0.2.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"jest","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"subeshb1","email":"subeshb1@gmail.com"},"_resolved":"/private/var/folders/6t/00njv37d2bn4hm5pmsq993zr0000gp/T/fd23edd8d4c679ae02d0856e63fe34ed/agenite-tool-0.2.2.tgz","_integrity":"sha512-lhNU/n6UEO+K64y9J1/ugJz5mBHWAJwMnMg7MkLaDUd029ySwNoxdM40yOnbRCJ10JNj9YcL8qiz1mPS8tURyA==","repository":{"url":"git+https://github.com/subeshb1/agenite.git","type":"git","directory":"packages/tool"},"_npmVersion":"10.9.2","description":"Tool interface for Agenite","directories":{},"_nodeVersion":"22.13.0","dependencies":{"ajv":"^8.12.0","zod":"^3.22.4","@agenite/llm":"0.2.2","zod-to-json-schema":"^3.22.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.6","@types/ajv":"^1.0.4","typescript":"^5.3.3","@types/node":"^20.17.17","@repo/tsup-config":"0.0.3","@repo/eslint-config":"0.0.3","@repo/typescript-config":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/tool_0.2.2_1738743043997_0.09695690658543765","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@agenite/tool","version":"0.2.3","keywords":["ai","generative-ai","tool","function-calling","typescript","schema-validation","type-safe","agent-tools","llm-tools","api-integration","json-schema"],"license":"MIT","_id":"@agenite/tool@0.2.3","maintainers":[{"name":"subeshb1","email":"subeshb1@gmail.com"}],"homepage":"https://github.com/subeshb1/agenite/tree/main/packages/tool#readme","bugs":{"url":"https://github.com/subeshb1/agenite/issues"},"dist":{"shasum":"0f1403b2bb312736093e7cd97e9189ad0e8bf925","tarball":"https://registry.npmjs.org/@agenite/tool/-/tool-0.2.3.tgz","fileCount":10,"integrity":"sha512-E50ztH1oYsn3NuZZLu/ulDvDByTldjicwy8d76Bge3FCxOcF277zgMXqOaNV1Amv1lEOjHI+mDhnxyn3q8i50Q==","signatures":[{"sig":"MEQCIBjq+ckcm85NV/e0gyzIzFX+o9ERS052hBesYaPraC8oAiAZXNFyOss4PSJDEl+JoGJzJpkHnHBPPkolP0nkT01/0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39946},"main":"./dist/index.js","type":"module","_from":"file:agenite-tool-0.2.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"jest","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"subeshb1","email":"subeshb1@gmail.com"},"_resolved":"/private/var/folders/6t/00njv37d2bn4hm5pmsq993zr0000gp/T/132209fa585c146d12caf5566dc4e4eb/agenite-tool-0.2.3.tgz","_integrity":"sha512-E50ztH1oYsn3NuZZLu/ulDvDByTldjicwy8d76Bge3FCxOcF277zgMXqOaNV1Amv1lEOjHI+mDhnxyn3q8i50Q==","repository":{"url":"git+https://github.com/subeshb1/agenite.git","type":"git","directory":"packages/tool"},"_npmVersion":"10.9.2","description":"Tool interface for Agenite","directories":{},"_nodeVersion":"22.13.0","dependencies":{"ajv":"^8.12.0","zod":"^3.22.4","@agenite/llm":"0.2.2","zod-to-json-schema":"^3.22.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.6","@types/ajv":"^1.0.4","typescript":"^5.3.3","@types/node":"^20.17.17","@repo/tsup-config":"0.0.3","@repo/eslint-config":"0.0.3","@repo/typescript-config":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/tool_0.2.3_1739026767600_0.6004465807579227","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@agenite/tool","version":"0.2.4","keywords":["ai","generative-ai","tool","function-calling","typescript","schema-validation","type-safe","agent-tools","llm-tools","api-integration","json-schema"],"license":"MIT","_id":"@agenite/tool@0.2.4","maintainers":[{"name":"subeshb1","email":"subeshb1@gmail.com"}],"homepage":"https://github.com/subeshb1/agenite/tree/main/packages/tool#readme","bugs":{"url":"https://github.com/subeshb1/agenite/issues"},"dist":{"shasum":"918d2ace9089042bdb6a8b949a796c3ac1f1cc75","tarball":"https://registry.npmjs.org/@agenite/tool/-/tool-0.2.4.tgz","fileCount":10,"integrity":"sha512-4bERqMSLstF+bboQ6KLa5MgeSJstVPj5fod0Isg0tIeTb+ETNkLPoaVoY2IOdvT4rIBpABHwzdDSD3N6QO0emw==","signatures":[{"sig":"MEUCIHo8NzH8LQq7o8Bu1zos4AKaaqERo7KV2dkzq4DBm7lTAiEAp2Lt1XEXOiGNHEWJRXkAskKcns5/JnyJ3MbXcczAe8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40065},"main":"./dist/index.js","type":"module","_from":"file:agenite-tool-0.2.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"jest","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"subeshb1","email":"subeshb1@gmail.com"},"_resolved":"/private/var/folders/6t/00njv37d2bn4hm5pmsq993zr0000gp/T/4d6fd3bf50b4d755d84c43214f1518d6/agenite-tool-0.2.4.tgz","_integrity":"sha512-4bERqMSLstF+bboQ6KLa5MgeSJstVPj5fod0Isg0tIeTb+ETNkLPoaVoY2IOdvT4rIBpABHwzdDSD3N6QO0emw==","repository":{"url":"git+https://github.com/subeshb1/agenite.git","type":"git","directory":"packages/tool"},"_npmVersion":"11.1.0","description":"Tool interface for Agenite","directories":{},"_nodeVersion":"22.13.0","dependencies":{"ajv":"^8.12.0","zod":"^3.24.2","@agenite/llm":"0.3.0","zod-to-json-schema":"^3.24.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.6","@types/ajv":"^1.0.4","typescript":"^5.3.3","@types/node":"^20.17.19","@repo/tsup-config":"0.0.3","@repo/eslint-config":"0.0.4","@repo/typescript-config":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/tool_0.2.4_1740474069215_0.5297546901746111","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha.0":{"name":"@agenite/tool","version":"0.3.0-alpha.0","keywords":["ai","generative-ai","tool","function-calling","typescript","schema-validation","type-safe","agent-tools","llm-tools","api-integration","json-schema"],"license":"MIT","_id":"@agenite/tool@0.3.0-alpha.0","maintainers":[{"name":"subeshb1","email":"subeshb1@gmail.com"}],"homepage":"https://github.com/subeshb1/agenite/tree/main/packages/tool#readme","bugs":{"url":"https://github.com/subeshb1/agenite/issues"},"dist":{"shasum":"65ffe82cfc2e69308c6ca05f2af3fb70b508561b","tarball":"https://registry.npmjs.org/@agenite/tool/-/tool-0.3.0-alpha.0.tgz","fileCount":10,"integrity":"sha512-9V253aOL/xfAPww9xr4XIGnCi90K9pQT8Vi3Jt8t0W7GmuVSq+xDXdpj7P13umpeVqgSjPFRxPMAuRaBALf61g==","signatures":[{"sig":"MEUCICjIFz0/JvnBnon1Q0KdJg9+0RUczGHH6O8W4ciNPUdRAiEAiOj5Rkt/pdMD9jpShRHONa0fs96dESo0+BkyodjQzLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40344},"main":"./dist/index.js","type":"module","_from":"file:agenite-tool-0.3.0-alpha.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"jest","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"subeshb1","email":"subeshb1@gmail.com"},"_resolved":"/private/var/folders/6t/00njv37d2bn4hm5pmsq993zr0000gp/T/30a8ebe0d38a35baa356062d63e3a5cc/agenite-tool-0.3.0-alpha.0.tgz","_integrity":"sha512-9V253aOL/xfAPww9xr4XIGnCi90K9pQT8Vi3Jt8t0W7GmuVSq+xDXdpj7P13umpeVqgSjPFRxPMAuRaBALf61g==","repository":{"url":"git+https://github.com/subeshb1/agenite.git","type":"git","directory":"packages/tool"},"_npmVersion":"11.1.0","description":"Tool interface for Agenite","directories":{},"_nodeVersion":"22.13.0","dependencies":{"ajv":"^8.12.0","zod":"^3.24.2","@agenite/llm":"0.4.0-alpha.0","zod-to-json-schema":"^3.24.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsup":"^8.4.0","@types/ajv":"^1.0.4","typescript":"^5.8.2","@types/node":"^20.17.24","@repo/tsup-config":"0.0.3","@repo/eslint-config":"0.1.0-alpha.0","@repo/typescript-config":"0.1.0-alpha.0"},"_npmOperationalInternal":{"tmp":"tmp/tool_0.3.0-alpha.0_1742659703097_0.2448819547759944","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@agenite/tool","version":"0.3.0","keywords":["ai","generative-ai","tool","function-calling","typescript","schema-validation","type-safe","agent-tools","llm-tools","api-integration","json-schema"],"license":"MIT","_id":"@agenite/tool@0.3.0","maintainers":[{"name":"subeshb1","email":"subeshb1@gmail.com"}],"homepage":"https://github.com/subeshb1/agenite/tree/main/packages/tool#readme","bugs":{"url":"https://github.com/subeshb1/agenite/issues"},"dist":{"shasum":"124fb3c048ea9935e1c2fe05c6a94a6d2e49c4c9","tarball":"https://registry.npmjs.org/@agenite/tool/-/tool-0.3.0.tgz","fileCount":10,"integrity":"sha512-W5TeahQxu256kBEMR2lBLTb3NcRoMF0n1zMfe/hGM/Ha7BlX0vSWcto6INpHRjxOzhp/0IB7s8PwBdQUVku1Aw==","signatures":[{"sig":"MEYCIQDuEOgiX9MTdqCOpVNK4sDewk3h/aaUxl0+JPHtRhFGHQIhAJWPnpxL/vw5Zq1W2t4brQEyL/wgFwqHaAdZUw1gETQm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40551},"main":"./dist/index.js","type":"module","_from":"file:agenite-tool-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"jest","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"subeshb1","email":"subeshb1@gmail.com"},"_resolved":"/private/var/folders/6t/00njv37d2bn4hm5pmsq993zr0000gp/T/e1d534c91e1065cc29a87a42009a190b/agenite-tool-0.3.0.tgz","_integrity":"sha512-W5TeahQxu256kBEMR2lBLTb3NcRoMF0n1zMfe/hGM/Ha7BlX0vSWcto6INpHRjxOzhp/0IB7s8PwBdQUVku1Aw==","repository":{"url":"git+https://github.com/subeshb1/agenite.git","type":"git","directory":"packages/tool"},"_npmVersion":"11.1.0","description":"Tool interface for Agenite","directories":{},"_nodeVersion":"22.13.0","dependencies":{"ajv":"^8.12.0","zod":"^3.24.2","@agenite/llm":"0.4.0","zod-to-json-schema":"^3.24.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","@types/ajv":"^1.0.4","typescript":"^5.8.2","@types/node":"^20.17.24","@repo/tsup-config":"0.0.3","@repo/eslint-config":"0.1.0","@repo/typescript-config":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/tool_0.3.0_1742660023292_0.6242635691521861","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@agenite/tool","version":"0.4.0","keywords":["ai","generative-ai","tool","function-calling","typescript","schema-validation","type-safe","agent-tools","llm-tools","api-integration","json-schema"],"license":"MIT","_id":"@agenite/tool@0.4.0","maintainers":[{"name":"subeshb1","email":"subeshb1@gmail.com"}],"homepage":"https://github.com/subeshb1/agenite/tree/main/packages/tool#readme","bugs":{"url":"https://github.com/subeshb1/agenite/issues"},"dist":{"shasum":"cbd1b2ce9d8630a6edd9bb73a661f1e8a1c3e0b5","tarball":"https://registry.npmjs.org/@agenite/tool/-/tool-0.4.0.tgz","fileCount":10,"integrity":"sha512-LUsFxrvZSWsPd3WO/rWAO20GbLdDf6Zzdtcxf2hMyNqIDCEehtfwMSo4ASP6/oOrgMztPlka5OA420WF0Xppvg==","signatures":[{"sig":"MEYCIQCf23L6Qf3GeVe6vf/RzjksYiJTBjEyurVSDJgDXwbVYAIhANMU/hBrqCQ4oFLORaBfVSAd0/CAWSIxQ6nMAOGnrmFA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39709},"main":"./dist/index.js","type":"module","_from":"file:agenite-tool-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"private":false,"scripts":{"dev":"tsup --watch","lint":"eslint . --max-warnings 0","test":"jest","build":"tsup","check-types":"tsc --noEmit"},"_npmUser":{"name":"subeshb1","email":"subeshb1@gmail.com"},"_resolved":"/private/var/folders/6t/00njv37d2bn4hm5pmsq993zr0000gp/T/ee0b2ef1a7200a63c8894bb67ed75ef9/agenite-tool-0.4.0.tgz","_integrity":"sha512-LUsFxrvZSWsPd3WO/rWAO20GbLdDf6Zzdtcxf2hMyNqIDCEehtfwMSo4ASP6/oOrgMztPlka5OA420WF0Xppvg==","repository":{"url":"git+https://github.com/subeshb1/agenite.git","type":"git","directory":"packages/tool"},"_npmVersion":"11.1.0","description":"Tool interface for Agenite","directories":{},"_nodeVersion":"22.13.0","dependencies":{"zod":"^3.24.2","@agenite/llm":"0.4.0","zod-to-json-schema":"^3.24.5","@n8n/json-schema-to-zod":"^1.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","typescript":"^5.8.2","@types/node":"^20.17.25","@repo/tsup-config":"0.0.3","@repo/eslint-config":"0.1.0","@repo/typescript-config":"0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/tool_0.4.0_1743267776810_0.46406055409251534","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@agenite/tool","version":"0.5.0","description":"Tool interface for Agenite","private":false,"type":"module","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"dependencies":{"@n8n/json-schema-to-zod":"^1.1.0","zod":"^3.24.2","zod-to-json-schema":"^3.24.5","@agenite/llm":"0.5.0"},"devDependencies":{"@types/node":"^20.17.30","tsup":"^8.4.0","typescript":"^5.8.3","@repo/eslint-config":"0.2.0","@repo/typescript-config":"0.1.0","@repo/tsup-config":"0.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"keywords":["ai","generative-ai","tool","function-calling","typescript","schema-validation","type-safe","agent-tools","llm-tools","api-integration","json-schema"],"repository":{"type":"git","url":"git+https://github.com/subeshb1/agenite.git","directory":"packages/tool"},"homepage":"https://github.com/subeshb1/agenite/tree/main/packages/tool#readme","bugs":{"url":"https://github.com/subeshb1/agenite/issues"},"license":"MIT","scripts":{"lint":"eslint . --max-warnings 0","check-types":"tsc --noEmit","build":"tsup","dev":"tsup --watch","test":"jest"},"_id":"@agenite/tool@0.5.0","_integrity":"sha512-RbB+oGUKFpMSQhxDP3UUfypWM3yi9H1Wi8xFb5rn68cZBLMl7LbMvo7n2EN8vIgBOeP5BurOjOhkPkSD+O1ikg==","_resolved":"/private/var/folders/6t/00njv37d2bn4hm5pmsq993zr0000gp/T/d51c3a61e28cc1481473657b2ee47422/agenite-tool-0.5.0.tgz","_from":"file:agenite-tool-0.5.0.tgz","_nodeVersion":"22.13.0","_npmVersion":"11.1.0","dist":{"integrity":"sha512-RbB+oGUKFpMSQhxDP3UUfypWM3yi9H1Wi8xFb5rn68cZBLMl7LbMvo7n2EN8vIgBOeP5BurOjOhkPkSD+O1ikg==","shasum":"061e616250d1773eeb8ac872603013da68e6b9c6","tarball":"https://registry.npmjs.org/@agenite/tool/-/tool-0.5.0.tgz","fileCount":10,"unpackedSize":39880,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE3Eem/HHEE3pXfQox6FJN8BjLru8Gfk+8BGaezF9F64AiEA7COdRIOrqjV6VjN+PF17r5QSzkvgFH7V2SgLoa/uJzs="}]},"_npmUser":{"name":"subeshb1","email":"subeshb1@gmail.com"},"directories":{},"maintainers":[{"name":"subeshb1","email":"subeshb1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tool_0.5.0_1744351902382_0.3060885107196232"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-25T03:31:13.795Z","modified":"2025-04-11T06:11:42.816Z","0.1.0":"2025-01-25T03:31:14.091Z","0.2.0":"2025-01-26T09:29:27.649Z","0.2.1":"2025-01-27T04:27:02.665Z","0.2.2":"2025-02-05T08:10:44.259Z","0.2.3":"2025-02-08T14:59:27.802Z","0.2.4":"2025-02-25T09:01:09.492Z","0.3.0-alpha.0":"2025-03-22T16:08:23.268Z","0.3.0":"2025-03-22T16:13:43.528Z","0.4.0":"2025-03-29T17:02:56.970Z","0.5.0":"2025-04-11T06:11:42.572Z"},"bugs":{"url":"https://github.com/subeshb1/agenite/issues"},"license":"MIT","homepage":"https://github.com/subeshb1/agenite/tree/main/packages/tool#readme","keywords":["ai","generative-ai","tool","function-calling","typescript","schema-validation","type-safe","agent-tools","llm-tools","api-integration","json-schema"],"repository":{"type":"git","url":"git+https://github.com/subeshb1/agenite.git","directory":"packages/tool"},"description":"Tool interface for Agenite","maintainers":[{"name":"subeshb1","email":"subeshb1@gmail.com"}],"readme":"# @agenite/tool\n\nA TypeScript library for creating strongly-typed, schema-validated tools that can be used with AI agents.\n\n## Features\n\n- 🔒 Type Safety - Full TypeScript support with generic types\n- ✅ Schema Validation - Built-in JSON Schema validation using Ajv\n- 🛠️ Flexible Tools - Create simple to complex tools with ease\n- 🔌 API Integration - Seamlessly wrap external APIs as tools\n- 🎯 Error Handling - Structured error responses and handling\n- 📦 Zero Dependencies - Minimal core with optional schema validation\n\n## Installation\n\n```bash\nnpm install @agenite/tool\n```\n\n## Quick Start\n\n```typescript\nimport { Tool } from '@agenite/tool';\n\n// Define input type\ninterface CalculatorInput {\n  operation: 'add' | 'subtract' | 'multiply' | 'divide';\n  a: number;\n  b: number;\n}\n\n// Create a tool\nconst calculatorTool = new Tool<CalculatorInput>({\n  name: 'calculator',\n  description: 'Perform basic math operations',\n  version: '1.0.0',\n  inputSchema: {\n    type: 'object',\n    properties: {\n      operation: { type: 'string' },\n      a: { type: 'number' },\n      b: { type: 'number' },\n    },\n    required: ['operation', 'a', 'b'],\n  },\n  execute: async ({ input }) => {\n    const { operation, a, b } = input;\n    \n    try {\n      let result: number;\n      switch (operation) {\n        case 'add': result = a + b; break;\n        case 'subtract': result = a - b; break;\n        case 'multiply': result = a * b; break;\n        case 'divide': \n          if (b === 0) throw new Error('Division by zero');\n          result = a / b; \n          break;\n        default: throw new Error(`Unknown operation: ${operation}`);\n      }\n      \n      return {\n        isError: false,\n        data: result.toString(),\n      };\n    } catch (error) {\n      return {\n        isError: true,\n        data: error.message,\n        error: {\n          code: 'CALCULATION_ERROR',\n          message: error.message,\n        },\n      };\n    }\n  },\n});\n```\n\n## Core Concepts\n\n### Tool Definition\n\nA tool consists of:\n- `name` - Unique identifier for the tool\n- `description` - Clear description of what the tool does\n- `version` - Semantic version number\n- `inputSchema` - JSON Schema for input validation\n- `execute` - Async function that performs the tool's operation\n\n### Input Validation\n\nTools use JSON Schema for input validation:\n- Define schema matching your TypeScript interface\n- Automatic validation before execution\n- Type-safe input handling\n\n### Error Handling\n\nStructured error responses:\n- `success` - Boolean indicating success/failure\n- `data` - String result or error message\n- `error` - Optional error details with code and message\n\n## Advanced Usage\n\n### API Integration\n\nWrap external APIs as tools:\n\n```typescript\ninterface WeatherInput {\n  city: string;\n  units?: 'metric' | 'imperial';\n}\n\n// Create a tool factory with API client\nexport const createWeatherTool = (apiKey: string) => {\n  const client = new WeatherAPI(apiKey);\n\n  return new Tool<WeatherInput>({\n    name: 'weather',\n    description: 'Get current weather for a city',\n    version: '1.0.0',\n    inputSchema: {\n      type: 'object',\n      properties: {\n        city: { type: 'string' },\n        units: { type: 'string' },\n      },\n      required: ['city'],\n    },\n    execute: async ({ input }) => {\n      try {\n        const weather = await client.getWeather(input.city, input.units);\n        return { isError: false, data: weather };\n      } catch (error) {\n        return {\n          isError: true,\n          data: `Failed to get weather: ${error}`,\n          error: {\n            code: 'WEATHER_ERROR',\n            message: error.message,\n          },\n        };\n      }\n    },\n  });\n};\n```\n\n### Custom Schema Validation\n\nUse Zod or other schema validators:\n\n```typescript\nimport { z } from 'zod';\nimport { zodToJsonSchema } from 'zod-to-json-schema';\n\nconst inputSchema = z.object({\n  operation: z.enum(['add', 'subtract', 'multiply', 'divide']),\n  a: z.number(),\n  b: z.number(),\n});\n\nconst calculatorTool = new Tool<z.infer<typeof inputSchema>>({\n  // ... other options\n  inputSchema: zodToJsonSchema(inputSchema),\n});\n```\n\n## API Reference\n\n### Tool Constructor\n\n```typescript\nnew Tool<TInput>({\n  name: string;\n  description: string;\n  version: string;\n  inputSchema: JSONSchema;\n  execute: (context: {\n    input: TInput;\n    executionId?: string;\n  }) => Promise<ToolResult>;\n})\n```\n\n### Tool Result\n\n```typescript\ninterface ToolResult {\n  isError: boolean;\n  data: string;\n  error?: {\n    code: string;\n    message: string;\n  };\n}\n```\n\n## Examples\n\nCheck out the [examples](./examples) directory for more:\n\n- `calculator.ts` - Basic calculator tool implementation\n- `weather.ts` - External API integration example\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}