{"_id":"@akai-workflow-builder/cli-sdk","_rev":"33-31a153f8780873b386f8dddd4e0b409f","name":"@akai-workflow-builder/cli-sdk","dist-tags":{"latest":"0.11.0"},"versions":{"0.0.1":{"name":"@akai-workflow-builder/cli-sdk","version":"0.0.1","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.0.1","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"a70638a1d2ecd2d7a825f97c7e4721a5231c964f","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.0.1.tgz","fileCount":55,"integrity":"sha512-3GqJk/68G39XSPMOGoQb6QcebxoNgQrrfVmmK6jxdN2ZicxMm0ZxOspZnH8N7rGBKarDLk6/2ocW17hjDIqtRg==","signatures":[{"sig":"MEUCIH8oTO3KXv+bDil5oK1/KmUO4d9eQv2dJOdPfqZXFmPoAiEAxynm4Yll7p4xA/6mLT5Tn0yLT2DsCh72nbqxwC2+h/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127611},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.0.1_1779827497018_0.9405834620933511","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.0","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.0","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"69dde3ed57b4285a24995da91a8131a0d552765a","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.0.tgz","fileCount":58,"integrity":"sha512-29cb6tboSuZX+YWJVwtAMpX4vfc6GxmfLp95W0g2vv0h+V5YDMD7jFD68BcF1lvVwXuSwMY1MIC2VaSNdOPYrQ==","signatures":[{"sig":"MEQCIGgf7zPmr9aAmmN/H4tnWajcz8UWgKosaSwkTRJD+YUvAiBVp6InIVJYI2uVeCRtR4rW4zSw+zduKRMlhHhnhdrGWA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134509},"main":"./dist/index.js","type":"module","_from":"file:akai-workflow-builder-cli-sdk-0.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"_resolved":"/Users/lucassantana/dev/repos/akai-cli-sdk-writefile/akai-workflow-builder-cli-sdk-0.1.0.tgz","_integrity":"sha512-29cb6tboSuZX+YWJVwtAMpX4vfc6GxmfLp95W0g2vv0h+V5YDMD7jFD68BcF1lvVwXuSwMY1MIC2VaSNdOPYrQ==","repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.0_1780447203044_0.7141123003116747","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.1","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.1","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"9a7397811a9645c04f88688a3031fdd540355398","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.1.tgz","fileCount":58,"integrity":"sha512-IQoZ/lbGX2MAxF5hrYO6ZXa6xDu0UxgJR11oM8u50Et1WmRcPua0mW3CYZVq4Ne+FyRBnJxAQP/772TIYSGoSg==","signatures":[{"sig":"MEQCICiSoF2kXQbMhKU9pc1+aP/vH40Lgs2eOOOYjalqi4UhAiAIjA/0ZQV1IEq0ErlqNm0cJdrT3Y3V8a3oIk3kRliMUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134484},"main":"./dist/index.js","type":"module","_from":"file:akai-workflow-builder-cli-sdk-0.1.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"_resolved":"/Users/lucassantana/dev/repos/akai-cli-sdk-writefile/akai-workflow-builder-cli-sdk-0.1.1.tgz","_integrity":"sha512-IQoZ/lbGX2MAxF5hrYO6ZXa6xDu0UxgJR11oM8u50Et1WmRcPua0mW3CYZVq4Ne+FyRBnJxAQP/772TIYSGoSg==","repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.1_1780485875346_0.795720915266346","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.2","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.2","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"806f154adefff1fc034f2089609f72b9a8d48cd8","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.2.tgz","fileCount":58,"integrity":"sha512-iLPCRzl76yfVFV3MqqIErs9tnqxxfHWU6qrKptAhRKgqKsGTGUOt4QaJz2VT3PtESGuGpfR61YVF7LTgETw/+g==","signatures":[{"sig":"MEUCIFvS0ftk275daf3N5qR7O5hI0oR5FCC5e618vphk2FKWAiEA1hnjCchYe68QtxKsbOlG7rubfzDkbLL/+jUxMW0m5YQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":139506},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.2_1780542185652_0.6749870729386991","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.3","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.3","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"e23aeb81522468eab30846f513a4cb8de4c37dad","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.3.tgz","fileCount":59,"integrity":"sha512-+mbkpG4cuBLs1/lw1uSXd5OtxMxhwbnrEllx6+HqmmpgAcbbX/kFqyHd908SdN/AJSxiJ24vmM1Zrkg80ge8Mw==","signatures":[{"sig":"MEUCIQD0rdK6IFZpnXoe18ihD2ZXMq1u8f9heNXrjShRom712wIgQGeIxV3OdSEnwJaOHpuQ/tkwoc3tTwcfyNbgRb/fx9Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149136},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.3_1780693287298_0.5149936303551526","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.4","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.4","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"6ef0b1ee49f35b95d8abc35dd35df0e594f2c86b","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.4.tgz","fileCount":61,"integrity":"sha512-nnxDLJGTedJXvIzkfdaiFKudnJfXpPWtX5MZGjEogP4LLq4IC3NGlbqtviocoHQwh8L+ftTqlLRwHSlfSsRmkQ==","signatures":[{"sig":"MEUCIDhc2Amvdo5h9uf92SK55ZMGuZulYbJcPJD3aBkNmTofAiEAvy8//a5Un/t4FDEaBC1KmxYJJyhg7b8EN0yj6msOtSI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162889},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.4_1780938370682_0.2673478256701671","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.5","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.5","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"d296a06797f5727b901408742c1bef14fa972f4a","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.5.tgz","fileCount":62,"integrity":"sha512-OuemkVDNxlAI8JO1XoNIHscmk933s/y6DfvddBsFTG7nLZEmSz5GpgPRBHkQLgnfzwmDyfmPrWgqYQKlgHUqjQ==","signatures":[{"sig":"MEYCIQCxh/3uA7E8arykYLOvbwQQJOlMwUlXHCPbFzcaRcqUtAIhANkEhy0gNbo7A5D26Zt5T+3NXZfmUbALZFO4N6EyeGp9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174441},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.5_1781182895643_0.6105733670178393","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.6","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.6","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"aba725be9e0cab675b1abf4139e8fb1e1cf306c9","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.6.tgz","fileCount":62,"integrity":"sha512-emppIZSALKtNS9NjVLrKzJpPQbj86rxJLiSE8Jz00YPKO9IVt9Vq/JomhtiywJepw6uLwmKiw/IC8daVcFZu2g==","signatures":[{"sig":"MEQCIDlIr1iukhT966xCcGnYmzG1LlyAcJDBhT5KD2PniaDVAiAIL6wqXHQoHdP3UMZNekAzW5+MkZ4OYAUS7dfu9aZTZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175610},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.6_1781458539555_0.6689420593089179","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.7","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.7","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"f6682fc67802cae9d4830c73989f96d33bf94069","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.7.tgz","fileCount":62,"integrity":"sha512-9kZd4M4kMMLrgw/gdBXlJxfbOI+SNZzTYpSFikoznkxhEGI5o1yw+uLOJtYWxiyyNKymXZIVmaF34PHR0nXgUQ==","signatures":[{"sig":"MEUCIQCUMD9afUTsOxULO8Zyf6KX0+xGskURo7+A6Fl9MAztOAIgA5oQHEF4muLtbNqLutqOAUDLCH7+B8DgkQZgVuu6VJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179305},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.7_1781561360396_0.4783866827441685","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.8","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.8","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"eade048e9ab2ee8620748874d762fe445f6071ec","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.8.tgz","fileCount":62,"integrity":"sha512-N/GZ34tax80aT51UtGTR8GBAIPcZzw8tby8hMMlLPxV7c3ehX+2Gzx5ef5wQwWZ54NlcpzAJjLMY7ABY/mPYaA==","signatures":[{"sig":"MEYCIQDlJVUmSpqv+f4vktPeqqI8wTEq2jgquDw0I57s8lygTQIhAKsmKOhyQp9bnuAHIn2UL0PLVh1UnBkDHRS/UYSz5PdY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":180354},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.8_1781738103402_0.9783988085815762","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.9","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.9","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"d884e600041c2eaa6ec7a036a20b16b078baba57","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.9.tgz","fileCount":62,"integrity":"sha512-E4pK9m2Pw2tWZaHBfUL6Wal/TNNQKlmAK+iFeF9fK4Cy+3Bmk066xp8FIQj++pExG+YIsfqKVCCS28pyjbp/Rw==","signatures":[{"sig":"MEUCIQDiPIxc6qCuDMvr2qdksOhzRoe4suwKhdAqAXATki0BBQIgNOHTniDX2WJghiUUeaqU9iZAyH5L5A4P4CJ/huCZFHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181419},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.9_1781800448749_0.4418776550604122","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.10","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.10","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"3378e3fef572dc4663b5b4b2d2e0757952b46745","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.10.tgz","fileCount":62,"integrity":"sha512-yy+SRcD9z8359vuDQ95Oe2TjkX3XvWlRYOHzukcOKsuFjfNiT+DlXDQDawakITnLDT9rIH4oVX2psAU+HyvBQA==","signatures":[{"sig":"MEYCIQDT3bon9HwqFXOOr2r90/ojt++uo59nrCMQ7yRGnwLWiQIhAKzI08W0W5ha6DTIm5J8GsqcmvnTRj3OfgHaG/5MgzDa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182230},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d5a9f86eb0f16f56779d4f95ab230cf5749e975e","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.10_1781890872412_0.009859018561059418","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.11","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.11","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"283d52b6fe16d049dba09578453e57d3b334bb72","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.11.tgz","fileCount":62,"integrity":"sha512-/7BfTCHhIwAXUDKUcowgcI57St4LmPR7ZxE6r+HM+yI1LeW9jmn1pflkpGekWySUDoPzeEKwhfNwCUU87fA0FA==","signatures":[{"sig":"MEUCIQDFVBx/KoCtGMldY2kDKusJBfJnTnFIvZN5ePPLup7IxgIgeDcatRyzDfXUlLzalvymfEteKd/BTIiRp0vXlDrNakQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185048},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.11_1782164941057_0.15172873096898543","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.12","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.12","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"a58397f23f2b51f5ee52dce3a9cfa1f280f5867a","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.12.tgz","fileCount":62,"integrity":"sha512-9KcVjwQTEVq6Svc1fijAsdjDN0LvMFuaYq70OnDEbYjGICpw8pdYoNOfGIJzkAb7AHaPx8ia9bbMOewqdbgsmQ==","signatures":[{"sig":"MEQCIEkng/K37lkeUNXWSRvIwzr4Uqzb5A9tk56jPjs1PKsNAiA7Dhd/U5gJOFK1Mr0jB8XKjXBha4UddRC7M/PufH2AIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187139},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"90f20883cc8f5356f7db49240227e994b2f12f8c","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.12_1782265663111_0.7720095144296493","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.13","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.13","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"2f3c8fd78cf062942527dc5868e2b93d8b436b3f","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.13.tgz","fileCount":62,"integrity":"sha512-jD6Cv6DrvyYXgSBIkiJaNC8AbnKBTVp2uNx1S345CfQJx9wgSA3chsHeHSzZ/WBxJuWtZIPhVIqLwOZnXgymzA==","signatures":[{"sig":"MEUCIQCnFzOxjnog9O/JUdsas6Etbk0FXDYONjtFx9UpTfozGAIgWfvZjjO1XYJxF9DLeAFvXaNxpRslttVH3nlgA22D1Bk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186062},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"8f214d9b26eb4ae0f0c72fb7b5bc7ebb4c615d56","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.13_1782315474958_0.19348914045682242","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.14","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.14","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"fd0402237ec84cc418bf38c8ea948961c837f113","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.14.tgz","fileCount":62,"integrity":"sha512-OLDDqkGzSvMwfdxNDgRipuwzUk3WT3FxGw7sOYwZqlvusNYouLs+Ug+Ni4VE86MubUrITN2ZFYls/SJ4F80PTw==","signatures":[{"sig":"MEYCIQDfr29gZE8MFWBwl86gaXa++xVKuNUVa6hKjJkOhwQg6AIhAJjTR5GCkzQh/h3RIvoWNt5s0zvdi5C4DI6XM/tb/FzD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189159},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"d892bfa24de2b7f741ad140050648d57270fc6bc","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.14_1782328075518_0.7725550826466847","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.15","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.15","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"fa4866be30db3355c60f7541ed9328330c4955de","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.15.tgz","fileCount":62,"integrity":"sha512-B/FDPzMky/YIhH7eyBYACjTkiBTuTI0MtbRE+qqk2HdsIhzVNU0RP3jUqBAFeZDSceaWWcYCygOiyqFpH+LKZA==","signatures":[{"sig":"MEUCIQCtQLh3euLTeFnKQLoZJQzJLArzBAzt2VE8VzpSgbJw0QIgB62Si/aILSXOaduRxTVY7xgPXDDT5evUQmHW8zB/QLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195923},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"1ff860ba4cf0c6a7aaf9dca1d5beb0dc47febbe8","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.15_1782490349109_0.5673778439484574","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.16","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.16","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"a2c2b04e662f3e3a4b313b936616b03f9df0a47a","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.16.tgz","fileCount":62,"integrity":"sha512-7OI9Vepq2FNQn99iIN3VNT5H9q4dXXkdhcXACkGl5+imaSEzdXadtkXjG6TV/gvqqEnrZEcvNMncfiTLj/ldiw==","signatures":[{"sig":"MEYCIQCC20HMZOGtHIbmd3+OPU8OZCm5sCYBy2zgYw6pta56rQIhALXtwYk1Bo9cfM6vVf5ISvDnPm7j1Uj736K5KPMGdWwB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196178},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"a0d32da0b3b08d805f9e539db73f8e58bf76dafd","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.16_1782492025827_0.12834551186843823","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@akai-workflow-builder/cli-sdk","version":"0.1.17","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.1.17","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"5836846ded8276d1831330199d06b359cbfc3438","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.1.17.tgz","fileCount":62,"integrity":"sha512-3CYd7rQdWMhPRu8RlxPs+B67t7q1MjXsSNpEB6yW0d1dXBPsZ/xmDN0X5KogwNrWKR6HNeYX9suhJbN/8oKeRQ==","signatures":[{"sig":"MEQCIEidT5eOY1pXGqNxyK6DgQHXiy1h49XfQn+/BgkEAb4KAiBX5K7bdgrUWYYTj3QcDWyZsn4EyihMI3hp5B1nBTR2Nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":211150},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"4579aaeede18f3d77433d3714ed42883bec34e81","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.13.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0","semantic-release":"^24.2.9","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.3"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.1.17_1783036581229_0.7511431737117533","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@akai-workflow-builder/cli-sdk","version":"0.2.0","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.2.0","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"2b320753e2977ea3b0e2b04e273e6bd9830cbb65","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.2.0.tgz","fileCount":62,"integrity":"sha512-PxYaAsys+Fs/f1CLw8geyCqaSIwqVkKssau5/V4YPqefjHGgM4ocGn5u8qMEE0TrPRgPCOCe4ef4zAFH4GxFlQ==","signatures":[{"sig":"MEQCIElr0JhcvU/PZXoF5Zmm9StYC5Gq6JsNw7VUuhbiF0FnAiACtJ0OCwWfejMsJKZFwmTPOYPAAZ4iGNiYg/FwDHzwgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219599},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"745563309f199c5b475e2da918fa5df21c2604ea","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.16.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.2.0_1784646810789_0.07310976365672595","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@akai-workflow-builder/cli-sdk","version":"0.2.1","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.2.1","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"262f4d574d894cdd35faa5829de2c7f003749986","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.2.1.tgz","fileCount":62,"integrity":"sha512-gIy/fyTXcywsXUHNTxcUJMmo83VLtCCIiSUvjO12YElWZFTBhr1L1mI3t3UagcYW4ZcODctck17Itmq2XbxUqA==","signatures":[{"sig":"MEYCIQCxI6UQ4jPOyvLY9zrORP4RXxMjtQmHYYD1xnAxlU9V6AIhAI9UhSS+9f8hg6tMVa9qifMiHC3dlSV0rIgkEU+IYxPU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219504},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"26cee259101426cf6e3428954ae167a5137c5351","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.16.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0"},"peerDependencies":{"zod":"^4.4.1"},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.2.1_1784847423150_0.9498950588124944","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@akai-workflow-builder/cli-sdk","version":"0.3.0","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.3.0","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"cf827881115ef6416c66560b3451c5bc1611c396","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.3.0.tgz","fileCount":92,"integrity":"sha512-fXmzl8nM3uu8dc3bw3Yc0ejf5JO7IEolmiRIt6AUv3nXaQP9FND7Vt7GF8BPgcQC5Os8hChTWF56oxJI20d5cA==","signatures":[{"sig":"MEUCIQD9gGzvC4qdyHveu+tcR3XZp6WMssGX0x1bzMWFeCLZrQIgYeNA08Rd1mzmLLrHY7Bx/0oEguZlBg/tq4bdouPOJaM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":346074},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"gitHead":"41e2b3d6ba30da6776449a24dd7b3b55e6cba439","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.16.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"tar":"^7.5.22"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","sharp":"0.34.5","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0","heic-convert":"2.1.0","@types/heic-convert":"2.1.0"},"peerDependencies":{"zod":"^4.4.1","sharp":"0.34.5","heic-convert":"2.1.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"heic-convert":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.3.0_1785228327537_0.3910822674188319","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@akai-workflow-builder/cli-sdk","version":"0.4.0","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.4.0","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"fd440c5f9da836997b014262c8be9e356d8c4c5b","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.4.0.tgz","fileCount":92,"integrity":"sha512-xldlLDZIBXSDf3ZVMkuj2yM3fjM/P8IFgYEs1gw2ke/h0x19pwJOoocWvmO3feysRzLNJ5BbQssHz8eeO+L4gg==","signatures":[{"sig":"MEUCIAZfnrCMAH1HaFt/aV9tR5XihpxYhnewW4m8V5MKh0tIAiEA/J5rKHpT+3ePBGTT40i3TeLFB7svbwnDsGu00UYkXeM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350357},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"gitHead":"946ff29ab4669765b20478e40aa5ce735ae9820b","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","test:replay":"npm run build && vitest run --config vitest.replay.config.ts","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.17.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"tar":"^7.5.22"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","sharp":"0.34.5","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0","heic-convert":"2.1.0","@types/heic-convert":"2.1.0"},"peerDependencies":{"zod":"^4.4.1","sharp":"0.34.5","heic-convert":"2.1.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"heic-convert":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.4.0_1786102945702_0.40462734563285063","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@akai-workflow-builder/cli-sdk","version":"0.4.1","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.4.1","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"23769825cccca90725fe9ef784e7e2da974e9fcb","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.4.1.tgz","fileCount":92,"integrity":"sha512-aZR6bb0ifCxfIPT43dC6Rzp15WukAj6UzWUPot8es8FWVbrDF4vBOIZSSk4+E4ZVgm5BrWN7wKAtLJGZ4w5pyQ==","signatures":[{"sig":"MEUCIAC7Mpg754vappAOKrZ+FjkHzfltpNMa43XxAVSTKumBAiEAt7DDD8JMhirjd23TYD6NW4CqygDRLTK3Y+/XuNu7YlQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356779},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"gitHead":"5cba920e865496b712cf4fc66dd3229386be458f","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","test:replay":"npm run build && vitest run --config vitest.replay.config.ts","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.16.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"tar":"^7.5.22"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","sharp":"0.34.5","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0","heic-convert":"2.1.0","@types/heic-convert":"2.1.0"},"peerDependencies":{"zod":"^4.4.1","sharp":"0.34.5","heic-convert":"2.1.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"heic-convert":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.4.1_1786637527906_0.10617233038128382","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@akai-workflow-builder/cli-sdk","version":"0.5.0","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.5.0","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"79ba6a90bea29b9866887b6880e9c10ec1e60dc6","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.5.0.tgz","fileCount":95,"integrity":"sha512-ZMJTjwP0Y40VKowskrNIALCFPadFtMcymNmpnYQoiLO74rhfW0tWpuGKmERHSeOz4SCm6cj/UbvynKG/mpGceA==","signatures":[{"sig":"MEUCIQC4YQmGG+RnzHwa6z/dzaWETnuCHIhGO/c0xEo2TbzxtAIgeyggOTd88eB+gQOYTqWkqlDT3jWEnk22zgSbm9PSDW0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":382256},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"gitHead":"5b1cc792a4434b59a078cf9a2e60427a7b9abc04","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","test:replay":"npm run build && vitest run --config vitest.replay.config.ts","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.17.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"tar":"^7.5.22"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","sharp":"0.34.5","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0","heic-convert":"2.1.0","@types/heic-convert":"2.1.0"},"peerDependencies":{"zod":"^4.4.1","sharp":"0.34.5","heic-convert":"2.1.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"heic-convert":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.5.0_1787197072174_0.9282444675288586","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@akai-workflow-builder/cli-sdk","version":"0.6.0","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.6.0","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"fe64d8cfbea6cb9a4a0c64fc66cd43a15654c53c","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.6.0.tgz","fileCount":98,"integrity":"sha512-z+TG16oGLC2/oZVutsKB3vOoukCTJ1y8VtDjR7AOgLyq9jCJq4lEXYbVqpTpt87BeEIfRV6bjMtDz7E8PVl07g==","signatures":[{"sig":"MEUCIQC6K8RUYCcUNuLJjTQMpju2jqqnaVDi6QTjLqCpWN0qjQIgL4+AAkC2Etu9d5rixoKiNbHCbKxsJXKdPr0rIiEueyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":418048},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"gitHead":"b553877b89f2bd5cf4764cdc3db24fbb01a3c175","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","test:replay":"npm run build && vitest run --config vitest.replay.config.ts","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.17.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"tar":"^7.5.22"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","sharp":"0.34.5","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0","heic-convert":"2.1.0","@types/heic-convert":"2.1.0"},"peerDependencies":{"zod":"^4.4.1","sharp":"0.34.5","heic-convert":"2.1.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"heic-convert":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.6.0_1787324166202_0.22260909891826852","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@akai-workflow-builder/cli-sdk","version":"0.6.1","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.6.1","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"281b03e3b35d96f7c535b52f3676ff80815efb94","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.6.1.tgz","fileCount":98,"integrity":"sha512-lVlcK4Wd1TqQ6Z4ZB8AjH3E1TpeZlFy4V+3518V3zOmgs5ypIMsQN+TiK1sLOAOF5yI3MFDh2WfnKKCTDphDnw==","signatures":[{"sig":"MEQCIE3JFPIRlcTfocLbA3b5iKG8SO4MOMgDPLGcT+Bpbv3kAiB13VrCzNh7YkyiMME4FtMK3oXkIgU0ZryEbYp+OEAAOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":421156},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"gitHead":"fdb99ba2a8d763b4d3c02dd9a8ffdae2d84976fc","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","test:replay":"npm run build && vitest run --config vitest.replay.config.ts","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.17.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"tar":"^7.5.22"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","sharp":"0.34.5","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0","heic-convert":"2.1.0","@types/heic-convert":"2.1.0"},"peerDependencies":{"zod":"^4.4.1","sharp":"0.34.5","heic-convert":"2.1.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"heic-convert":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.6.1_1787572407907_0.926568925350699","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@akai-workflow-builder/cli-sdk","version":"0.6.2","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.6.2","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"b750f1fec9066939e18500c64e0f959442df6552","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.6.2.tgz","fileCount":98,"integrity":"sha512-Q+3w53x2f7zeyoRZgXzDuZvDL02mkeP5rV0yOcke/qB8ql+rke/FuJ30cXzZvuEe0ZTzzyMoQbYM9lzpfJSyqA==","signatures":[{"sig":"MEQCIAYb5CP1ZhaA4YwXqerDApvXwFXnEJ7PJ3oZ7TjlF/iZAiB1vt/7PMxcIjRRbAG7Rxc937BHWjobdHgVLj5ra3Q7nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":426756},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"gitHead":"77aac660778b1ee8695cd3e8067d4a2b199a9f81","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","test:replay":"npm run build && vitest run --config vitest.replay.config.ts","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.17.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"tar":"^7.5.22"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","sharp":"0.34.5","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0","heic-convert":"2.1.0","@types/heic-convert":"2.1.0"},"peerDependencies":{"zod":"^4.4.1","sharp":"0.34.5","heic-convert":"2.1.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"heic-convert":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.6.2_1787578619046_0.734082379757155","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@akai-workflow-builder/cli-sdk","version":"0.7.0","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.7.0","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"025363af0dbb0c72dfc6391f3b283416813cb0ba","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.7.0.tgz","fileCount":98,"integrity":"sha512-rRLH4Q1sZOOxjqCh9XiKtnieWKYcPsbBG5OPUfHkqxKSXzlKzdfnr/j5Tn/f351oJoRDtlJxQTk/CuCj9jULxA==","signatures":[{"sig":"MEUCIQCiqPxSgeq0l0uRjlMYrH0Sa//cFYiPcZ+9G0Fy2NrM0gIgSE0GYenk2D9Rcg67VDYSm6t+eFy8vvnAv8ofRBLPpKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":428785},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"gitHead":"4476552fa7d9a50cf5ec4c03397086e8cca5768a","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","test:replay":"npm run build && vitest run --config vitest.replay.config.ts","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"lucas.santana","email":"lucas.santana@deel.com"},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tar":"^7.5.22"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","sharp":"0.34.5","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0","heic-convert":"2.1.0","@types/heic-convert":"2.1.0"},"peerDependencies":{"zod":"^4.4.1","sharp":"0.34.5","heic-convert":"2.1.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"heic-convert":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.7.0_1787679957847_0.9801394936037098","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@akai-workflow-builder/cli-sdk","version":"0.8.0","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.8.0","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"3c3156251c87c983260c5352a99265718b2fef28","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.8.0.tgz","fileCount":101,"integrity":"sha512-eLtW3NqMeCtIUpZQJkQJZmFsGHBvmeBMmsmowR8NhltQ7RoTfQdpIUl0n+LlagGthF/t3acA2Uv7GKfvUQHcCw==","signatures":[{"sig":"MEUCIAXzfb5ep1oPgQblClmnjI+jhyn8u9BanO1MCg8OHDa1AiEAjmLyZ7CWzUqI6uPR+I4MOg4kGAtGacRS3NtDnteOJ/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434448},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"gitHead":"a204d388c8f821c13238a111108f9df167e7247a","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","test:replay":"npm run build && vitest run --config vitest.replay.config.ts","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48403bf7-ed5f-41dd-af17-1da39ff9fa37"}},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.19.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"tar":"^7.5.22"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","sharp":"0.34.5","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0","heic-convert":"2.1.0","@types/heic-convert":"2.1.0"},"peerDependencies":{"zod":"^4.4.1","sharp":"0.34.5","heic-convert":"2.1.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"heic-convert":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.8.0_1788866893322_0.8487266395228688","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@akai-workflow-builder/cli-sdk","version":"0.9.0","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.9.0","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"acfe814aa17c726cd9185fa6aba51c9c6937c518","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.9.0.tgz","fileCount":104,"integrity":"sha512-a2u+B36aqbazMZ4ldBMgy3FseaU1M3559MKyASj+ssSbQpt1InWQINfSBIXv3Hp9UQFJtIke9e3cEaYmyNVHww==","signatures":[{"sig":"MEUCIESe0bnjdezVWzw4Z4wAg3w/xbfG/UvFvtF+UeH2iR4TAiEA2G8ly5o4mhQy11fZq1rm8AYrzMfWElaNo+EjQOkQ9t4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442953},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"gitHead":"0de31e439120a9691aea085b097e3737a7c0f29d","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","test:replay":"npm run build && vitest run --config vitest.replay.config.ts","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48403bf7-ed5f-41dd-af17-1da39ff9fa37"}},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.19.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"tar":"^7.5.22"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","sharp":"0.34.5","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0","heic-convert":"2.1.0","@types/heic-convert":"2.1.0"},"peerDependencies":{"zod":"^4.4.1","sharp":"0.34.5","heic-convert":"2.1.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"heic-convert":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.9.0_1789056221293_0.503886832236067","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@akai-workflow-builder/cli-sdk","version":"0.10.0","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"license":"MIT","_id":"@akai-workflow-builder/cli-sdk@0.10.0","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"bin":{"akai":"bin/akai.js"},"dist":{"shasum":"77a83a23950417e6ea49e8838fb1b08dc7a5326a","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.10.0.tgz","fileCount":104,"integrity":"sha512-d6D08MMt1zg2T2+jOYthaJzYyaulpksP0toaI5jZzM/Fy1UVu7wEiQI3afWUtyWb9bzc9RBKzankVJehZAAXLA==","signatures":[{"sig":"MEUCIHNQ3islnPMwmowBHJ6rEI++WERKhIFo5iXJ/JkSB0thAiEAgzC3FX0rn/tplaLcuMp15TytIAmyUvgHmlr14PAyyj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCuZ0IpU3fYZlWIqpvR9fYGAJOj3XgdP+6ResS/RU/m2wIhAOg87i3flu/nb9j1LSjOBwD6xjQMA0p0+X3IpOUzWgOt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447205},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"gitHead":"ae66962253b894e3ea9cdaaabd6e46e76d5fa91d","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","test:replay":"npm run build && vitest run --config vitest.replay.config.ts","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48403bf7-ed5f-41dd-af17-1da39ff9fa37"}},"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.19.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"tar":"^7.5.22"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","sharp":"0.34.5","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0","heic-convert":"2.1.0","@types/heic-convert":"2.1.0"},"peerDependencies":{"zod":"^4.4.1","sharp":"0.34.5","heic-convert":"2.1.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"heic-convert":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/cli-sdk_0.10.0_1789559432676_0.9676394656794576","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"_id":"@akai-workflow-builder/cli-sdk@0.11.0","bin":{"akai":"bin/akai.js"},"bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"dist":{"shasum":"d81388a82af5843ae3cdf8cbabe369d3fea084e6","tarball":"https://registry.npmjs.org/@akai-workflow-builder/cli-sdk/-/cli-sdk-0.11.0.tgz","fileCount":104,"integrity":"sha512-KvuQGzvuZH3jkXsmm4QlHlG+xR0tebNtKtRRtKyfXxvNt+RyW2Z5js6ip9BgYObRDkN8mzVF+vVGMEpjwYPF8w==","signatures":[{"sig":"MEQCID8qBhTFoqdm0woWTbvL5oOQ5/Bn0Xs2ObfKiCRelQzJAiBi+cPQ/ebbvf3JxRVk0KCwmmhqHmj7bICteTtJsKWD9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHgX+IjSTkkPYa2KaC19OIbRTcfTzsRkWYk7O+4an+ygAiBL8t/Y7KXlXygWdi0jxWdL8cT08/+q6S0dL8zWJK8Iog=="}],"unpackedSize":451040},"main":"./dist/index.js","name":"@akai-workflow-builder/cli-sdk","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./runtime":{"types":"./dist/runtime/index.d.ts","import":"./dist/runtime/index.js"}},"gitHead":"72abdf75c5eef7db8072091c8d1303d616f17bc8","license":"MIT","scripts":{"test":"vitest run","build":"tsc -p tsconfig.json","publint":"publint","typecheck":"tsc -p tsconfig.typecheck.json","test:replay":"npm run build && vitest run --config vitest.replay.config.ts","prepublishOnly":"npm run typecheck && npm test && npm run build && npm run publint"},"version":"0.11.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:48403bf7-ed5f-41dd-af17-1da39ff9fa37"}},"homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"_npmVersion":"11.19.0","description":"Authoring SDK for atomic, agent-executable CLIs and tools.","directories":{},"maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"_nodeVersion":"24.21.0","dependencies":{"tar":"^7.5.22"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.4.1","sharp":"0.34.5","vitest":"^4.1.4","publint":"^0.3.21","typescript":"^5.9.3","@types/node":"^24.0.0","heic-convert":"2.1.0","@types/heic-convert":"2.1.0"},"peerDependencies":{"zod":"^4.4.1","sharp":"0.34.5","heic-convert":"2.1.0"},"peerDependenciesMeta":{"sharp":{"optional":true},"heic-convert":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli-sdk_0.11.0_1790163522601_0.25443581103130475"}}},"time":{"created":"2026-05-26T20:31:36.899Z","modified":"2026-09-23T11:38:42.891Z","0.0.1":"2026-05-26T20:31:37.175Z","0.1.0":"2026-06-03T00:40:03.210Z","0.1.1":"2026-06-03T11:24:35.531Z","0.1.2":"2026-06-04T03:03:05.786Z","0.1.3":"2026-06-05T21:01:27.444Z","0.1.4":"2026-06-08T17:06:10.906Z","0.1.5":"2026-06-11T13:01:35.783Z","0.1.6":"2026-06-14T17:35:39.709Z","0.1.7":"2026-06-15T22:09:20.553Z","0.1.8":"2026-06-17T23:15:03.630Z","0.1.9":"2026-06-18T16:34:08.942Z","0.1.10":"2026-06-19T17:41:12.541Z","0.1.11":"2026-06-22T21:49:01.198Z","0.1.12":"2026-06-24T01:47:43.301Z","0.1.13":"2026-06-24T15:37:55.178Z","0.1.14":"2026-06-24T19:07:55.690Z","0.1.15":"2026-06-26T16:12:29.269Z","0.1.16":"2026-06-26T16:40:25.999Z","0.1.17":"2026-07-02T23:56:21.360Z","0.2.0":"2026-07-21T15:13:30.979Z","0.2.1":"2026-07-23T22:57:03.311Z","0.3.0":"2026-07-28T08:45:27.675Z","0.4.0":"2026-08-07T11:42:25.835Z","0.4.1":"2026-08-13T16:12:08.051Z","0.5.0":"2026-08-20T03:37:52.317Z","0.6.0":"2026-08-21T14:56:06.479Z","0.6.1":"2026-08-24T11:53:28.033Z","0.6.2":"2026-08-24T13:36:59.195Z","0.7.0":"2026-08-25T17:45:57.997Z","0.8.0":"2026-09-08T11:28:13.468Z","0.9.0":"2026-09-10T16:03:41.449Z","0.10.0":"2026-09-16T11:50:32.761Z","0.11.0":"2026-09-23T11:38:42.716Z"},"bugs":{"url":"https://github.com/akai-workflow-builder/akai-cli-sdk/issues"},"license":"MIT","homepage":"https://github.com/akai-workflow-builder/akai-cli-sdk#readme","keywords":["akai","cli","sdk","agent","tools","llm","ai","typescript"],"repository":{"url":"git+https://github.com/akai-workflow-builder/akai-cli-sdk.git","type":"git"},"description":"Authoring SDK for atomic, agent-executable CLIs and tools.","maintainers":[{"name":"lucas.santana","email":"lucas.santana@deel.com"}],"readme":"# @akai-workflow-builder/cli-sdk\n\n> Author atomic, agent-executable CLIs in TypeScript.\n\nA small, opinionated SDK for defining CLIs that an agent runtime invokes. Each tool represents one atomic operation — typically a single HTTP call, but a tool can wrap any single observable operation. The SDK gives you a sandboxed `fetch`, scoped secrets, typed input + output schemas, and a per-tool egress allowlist. The host runtime handles input validation, secret scoping, network sandboxing, and the human-in-the-loop approval gate for writes.\n\n> **Status:** pre-v0.1. The authoring surface (`tool`, `defineCLI`, `buildCtx`, `ctx.fetch`, `ctx.secrets`, `ctx.properties`) is stable.\n\n---\n\n## Installation\n\n```bash\nnpm install @akai-workflow-builder/cli-sdk zod\n```\n\n## Requirements\n\n| | |\n|---|---|\n| Node          | `≥ 24` |\n| TypeScript    | `≥ 5.0` (uses `const` type parameters for literal-key inference) |\n| `zod`         | `^4.4.1` (peer dependency) |\n| `tsconfig.json` | needs `Response` / `RequestInit` / `AbortSignal`. Either add `\"DOM\"` to your existing `lib` entries (e.g. `\"lib\": [\"ES2023\", \"DOM\"]`) or include `@types/node@^18+` |\n\n---\n\n## Quickstart\n\n```ts\nimport { tool, defineCLI } from '@akai-workflow-builder/cli-sdk';\nimport { z } from 'zod';\n\n// Define the response shape once; reuse for `jsonOutput` and runtime parsing.\nconst Response = z.object({\n  user: z.object({ id: z.number(), email: z.string() }),\n});\n\nconst usersMe = tool({\n  name: 'Authenticated user',\n  description: 'Return the authenticated user.',\n  jsonOutput: Response,                          // input defaults to z.object({}) when omitted\n  options: {\n    network: { egress: 'zendesk.com' },\n    secretKeys: ['ZENDESK_SUBDOMAIN', 'ZENDESK_API_TOKEN'],\n    isReadonly: true,\n  },\n  handler: async ({ ctx, isJson }) => {\n    const sub = ctx.secrets.ZENDESK_SUBDOMAIN!;\n    const tok = ctx.secrets.ZENDESK_API_TOKEN!;\n    // Quickstart trusts `sub` is a workspace shortname (\"acme\"); the worked\n    // example validates it before constructing the URL.\n    const res = await ctx.fetch(`https://${sub}.zendesk.com/api/v2/users/me.json`, {\n      signal: ctx.signal,\n      headers: { Authorization: `Bearer ${tok}` },\n    });\n    if (!res.ok) throw new Error(`fetch authenticated user failed: ${res.status}`);\n    // Parse, don't cast — strips unknown fields, throws if the shape changes.\n    const body = Response.parse(await res.json());\n    return isJson ? body : `User #${body.user.id} <${body.user.email}>`;\n  },\n});\n\nexport default defineCLI({\n  id: 'zendesk',\n  name: 'Zendesk Support',\n  summary: 'Read tickets, users, and search results from Zendesk Support.',\n  description:\n    'Connect to a Zendesk Support workspace via OAuth bearer token. Read-only surface: fetch the authenticated user, fetch tickets and users by id, list tickets, and run search queries.',\n  secrets: [\n    { key: 'ZENDESK_SUBDOMAIN', name: 'Workspace subdomain', description: '...', required: true },\n    { key: 'ZENDESK_API_TOKEN', name: 'API access token',    description: '...', required: true },\n  ],\n  tools: {\n    'users.me': usersMe,\n  },\n});\n```\n\nA full worked example with five read-only tools and a smoke runner lives in the repository under `examples/zendesk/` (not bundled in the published package; see the source tree).\n\n### Defining a connection\n\nA **connection** is the umbrella identity that groups CLIs sharing one auth surface — e.g. `google` groups Gmail and Sheets. Declare it with `defineConnection`, symmetric to `defineCLI`:\n\n```ts\nimport { defineConnection } from '@akai-workflow-builder/cli-sdk';\n\nexport default defineConnection({\n  slug: 'google',                 // groups CLIs that set connectionSlug: 'google'\n  name: 'Google Workspace',       // umbrella display name\n  vendor: 'Google',\n  blurb: 'Gmail, Sheets, Docs, Drive and Calendar in one connection.',\n  longDesc: 'Connect once with OAuth; every Google CLI shares the authorization.',\n  authKind: 'oauth2',\n  oauth: { /* see below */ },\n});\n```\n\nCLIs link to it through the **existing** `defineCLI` — set `connectionSlug`:\n\n```ts\nconst gmail  = defineCLI({ id: 'gmail',  connectionSlug: 'google', summary: '…', tools: { … } });\nconst gsheet = defineCLI({ id: 'gsheet', connectionSlug: 'google', summary: '…', tools: { … } });\n```\n\n**When to declare one:** only when ≥2 CLIs share a slug and need a single umbrella identity. A **single-CLI connection needs no `defineConnection`** — its identity comes from that CLI's own metadata (`pdf`, `sandbox` and friends are unchanged).\n\n`defineConnection` owns one concern: **identity**. It does not own tool sourcing, OAuth secret glue, or UI cosmetics — those split by source:\n\n| Concern | Source |\n|---|---|\n| Identity (name / blurb / longDesc / instructions / vendor / authKind) | `defineConnection` |\n| OAuth shape (authorize/token URLs, scopes, pkce, params, refresh, admin fields) | `defineConnection.oauth` |\n| OAuth secret VALUES, token storage, encryption, refresh hooks | akai-app, keyed by slug |\n| UI cosmetics (hue / mark / logo) | akai-app, keyed by slug |\n\nA complete runnable example is in [`examples/google`](./examples/google) — `defineConnection` plus two CLIs (`gmail`, `gsheet`) grouped under it.\n\n### OAuth connections\n\nWhen `authKind` is `oauth2`, declare an `oauth` block. **The manifest declares shape; akai-app owns values:**\n\n```ts\noauth: {\n  authorizeUrl: 'https://accounts.google.com/o/oauth2/v2/auth',\n  tokenUrl: 'https://oauth2.googleapis.com/token',\n  scopes: [                                             // OAuth authorize scopes (≥1); distinct from per-CLI vendorScopes\n    'https://mail.google.com/',\n    'https://www.googleapis.com/auth/drive',\n  ],\n  pkce: true,                                           // Google requires PKCE; defaults to false\n  tokenEndpointAuthMethod: 'client_secret_post',        // default 'client_secret_basic'\n  extraAuthorizeParams: { access_type: 'offline', prompt: 'consent' },\n  refreshStrategy: 'cron',                              // 'cron' (background refresh) | 'jit' (refresh on next use); default 'cron'\n  adminFields: [\n    { key: 'GMAIL_CLIENT_ID',     label: 'Client ID' },\n    { key: 'GMAIL_CLIENT_SECRET', label: 'Client Secret', secret: true },\n  ],\n}\n```\n\n- `scopes` is the connection-level OAuth authorize scope set (≥1) the engine joins onto the authorize URL — distinct from a CLI's per-tool `vendorScopes`.\n- Set `pkce` when the provider requires it; set `extraAuthorizeParams` for static authorize params (Google's `access_type: 'offline'` to get a refresh token); leave `refreshStrategy` at the default `cron` (a background job refreshes the token before it expires) or set `jit` to refresh just-in-time on the next use.\n- `adminFields` declares **which** OAuth-app credentials an admin must enter (env-style `key` + UI `label`). The **VALUES are stored encrypted in akai-app, never in the manifest or the per-tenant image.**\n- Mark a field `secret: true` so akai-app masks the input in the admin form and redacts it from logs.\n\nSee the `connection-identity` and `define-connection-oauth` migration specs (akai-app `app/connections/migration-specs/`) for per-field guidance.\n\n---\n\n## Core concepts\n\n### Atomic tools\n\nEvery `tool()` represents **one atomic operation** — typically a single HTTP call, but it can wrap any single observable operation (a local compute, a file read, a DB query). Composition is the planner's responsibility — agents plan over the atomic tools the runtime exposes; the SDK is intentionally not the place to chain steps.\n\nThree consequences:\n\n- **Per-tool permissions are meaningful** — one tool = one observable side effect = one approval surface.\n- **Schemas stay tight** — each tool documents one operation, not a workflow.\n- **No hidden side effects** — what the schema describes is what executes.\n\nThe SDK doesn't statically enforce step count — atomicity is a design guideline. If a logical step needs three calls, ship three tools and let the planner compose them.\n\n### `defineCLI()`\n\nA CLI is a named bundle of tools sharing one secret-declaration set:\n\n```ts\ndefineCLI({\n  id: 'zendesk',\n  name: 'Zendesk Support',\n  summary: 'Read tickets, users, and search results from Zendesk Support.',\n  description: 'Connect to a Zendesk Support workspace via OAuth bearer token …',\n  secrets: [/* ... */],\n  tools: {\n    'users.me':     usersMe,\n    'tickets.get':  getTicket,\n    'tickets.list': listTickets,\n  },\n});\n```\n\n**Required**\n\n| Field | Role |\n|---|---|\n| `id`      | Machine slug. Used for wire ids (`<id>.<toolKey>`) and the `x-akai-cli` header. Pattern: `^[a-z][a-z0-9_-]*$`. |\n| `name`    | Human display label. |\n| `summary` | One-sentence short label. |\n| `tools`   | Map of `tool()` results. Keys follow the kebab + dotted convention below. |\n\n**Optional**\n\n| Field | Role |\n|---|---|\n| `vendor`       | Brand/company. Defaults to `name`. Useful when display (\"JPMorgan Access Portal\") differs from vendor (\"JPMorgan\"). |\n| `description`  | Long-form description. Consumers decide how to render when omitted. |\n| `instructions` | Ordered setup steps shown to operators. |\n| `secrets`      | Array of `SecretDecl` (the keys tools reference). |\n| `properties`   | Array of `PropertyDecl` for non-sensitive tenant config (base URLs, region codes). Distinct from `secrets[]`. |\n\n`defineCLI()` cross-validates every `secretKeys` and `propertyKeys` reference against the CLI-level declarations. Mismatches throw `AkaiSpecError` at module load — no silent failures.\n\n### Tool keys\n\nTool keys are **kebab-case**, optionally dot-namespaced for grouping:\n\n```\nchat-post-message\nusers.me\ntickets.search-by-query\nactivations.contract-benefit.mark-enrolled-ahead-of-ingest\n```\n\nEach dot-separated segment matches `[a-zA-Z][a-zA-Z0-9_]*(-[a-zA-Z0-9_]+)*` — first char a letter, hyphens must be followed by at least one word char (so `--`, leading/trailing `-`, and empty segments reject). Wire ids are `<cliId>.<toolKey>`.\n\nUnderscores and camelCase are still accepted so existing tools keep working, but new tools should be kebab to match the convention in the [`akai-cli-tools`](https://github.com/akai-workflow-builder/akai-cli-tools) repo.\n\n### The `ctx` contract\n\nTool handlers receive a frozen `ctx` with these members:\n\n```ts\ninterface ToolCtx<S extends string, P extends string> {\n  fetch:      (url: string, init?: RequestInit) => Promise<Response>;\n  secrets:    Readonly<Record<S, string | undefined>>;\n  properties: Readonly<Record<P, string | undefined>>;\n  logger:     ToolLogger;\n  signal:     AbortSignal;\n  workdir:    string;\n  safePath:   (userPath: string) => string;\n  readFile:   (value: string) => Promise<Buffer>;\n}\n```\n\n**What you get**\n\n- `fetch` — sandboxed `fetch` bound to the tool's egress allowlist.\n- `secrets` — only the secret keys the tool declared in `secretKeys`. Other workspace secrets are inaccessible.\n- `properties` — only the property keys the tool declared in `propertyKeys`. Non-sensitive tenant config (base URL, region) lives here, not in `secrets`.\n- `logger` — structured logger; writes to stderr. stdout is reserved for the tool's result.\n- `signal` — request `AbortSignal`. Forward it to `ctx.fetch` for cancellation and timeouts.\n- `workdir` — writable scratch directory scoped to this invocation.\n- `safePath` — resolve an agent-supplied path under the tool's allowed roots (default: `workdir` + `os.tmpdir()`); strips `file://`, follows symlinks on every existing parent segment, and throws `AkaiPathError` on escape.\n- `readFile` — read a local path (resolved via `safePath`) or an `http(s)://` URL; pairs with `filePath()` from the SDK so handlers transparently support cross-pod file delivery.\n\n**What `ctx` deliberately omits**\n\n- No `process.env` accessor — secrets flow through `ctx.secrets` so the runtime can scope and audit them.\n- No `fs`, `child_process`, or `worker_threads` handles — `ctx` doesn't pre-wire them. The SDK does not sandbox the Node runtime; if a handler imports those modules directly, the host is responsible for restricting that out of band.\n- No handle to invoke sibling tools — composition is the planner's job.\n\n### Secrets — declarations vs references\n\nSecrets are declared once at the CLI level and referenced by key on each tool that needs them:\n\n```ts\ndefineCLI({\n  secrets: [\n    { key: 'ZENDESK_API_TOKEN', name: 'API token', description: '...', required: true },\n  ],\n  tools: {\n    getTicket: tool({\n      options: {\n        secretKeys: ['ZENDESK_API_TOKEN'],\n        /* ... */\n      },\n      /* ... */\n    }),\n  },\n});\n```\n\n| | Field | Type | Role |\n|---|---|---|---|\n| CLI     | `secrets`            | `SecretDecl[]`                     | Operator-facing declarations |\n| Tool    | `options.secretKeys` | `string[]`                         | Per-tool subset |\n| Runtime | `ctx.secrets`        | `Readonly<Record<S, string \\| undefined>>` | What the handler reads |\n\nWhen building `ctx`, the runtime walks the tool's declared `secretKeys`. Each key must be declared in the CLI's `secrets[]`; an undeclared reference throws `AkaiSpecError` at module load. At invocation, a `required: true` secret with no value throws `AkaiSecretError`. Optional secrets that the caller didn't supply appear on `ctx.secrets` as `undefined` so handlers can branch.\n\n`ctx.secrets[K]` is typed `string | undefined` for all `K` — optional secrets may be absent, so handlers narrow before use. Even when `required: true`, the SDK can't statically prove the runtime body shipped the value, so the type stays union.\n\n### Properties — non-sensitive tenant config\n\nTenant-specific values that aren't credentials live in `properties[]`, not `secrets[]`. Examples: a workspace subdomain, a self-hosted base URL, a region code. The host runtime stores these without the encryption-at-rest treatment applied to secrets and may surface them in admin UIs unmasked.\n\n```ts\ndefineCLI({\n  secrets:    [{ key: 'JIRA_API_TOKEN', name: 'API token',     description: '...', required: true }],\n  properties: [{ key: 'JIRA_BASE_URL',  name: 'Workspace URL', description: '...', required: true }],\n  tools: {\n    getIssue: tool({\n      options: {\n        secretKeys:   ['JIRA_API_TOKEN'],\n        propertyKeys: ['JIRA_BASE_URL'],\n        network:      { egress: { from: 'property:JIRA_BASE_URL' } },\n        isReadonly:   true,\n      },\n      handler: async ({ ctx }) => {\n        const base = ctx.properties.JIRA_BASE_URL!;\n        const tok  = ctx.secrets.JIRA_API_TOKEN!;\n        return ctx.fetch(`https://${base}/rest/api/3/issue/...`, {\n          headers: { Authorization: `Bearer ${tok}` },\n        });\n      },\n      /* ... */\n    }),\n  },\n});\n```\n\n| | Field | Type | Role |\n|---|---|---|---|\n| CLI     | `properties`            | `PropertyDecl[]`                    | Operator-facing declarations |\n| Tool    | `options.propertyKeys`  | `string[]`                          | Per-tool subset |\n| Runtime | `ctx.properties`        | `Readonly<Record<P, string \\| undefined>>` | What the handler reads |\n\n`AkaiPropertyError` is thrown when a `required: true` property is missing at invocation time. Same lifecycle as `AkaiSecretError`, distinct class because the failure source is conceptually different.\n\n### Dynamic egress (multi-tenant connectors)\n\nFor connectors where the host varies per tenant (Jira Cloud, Zendesk, Looker self-hosted, GHES, Salesforce), declare the host as a property and reference it from `egress`:\n\n```ts\noptions: {\n  propertyKeys: ['JIRA_BASE_URL'],\n  network:      { egress: { from: 'property:JIRA_BASE_URL' } },\n}\n```\n\n`defineCLI()` cross-checks that the referenced key is declared in `properties[]` AND included in the tool's `propertyKeys`. `buildCtx` resolves the reference itself — extracting the hostname from the bound secret or property value — so both the in-process step-fetcher path and the executor derive the same allowlisted host. Resolution throws `AkaiSpecError` on an unsupported prefix, `AkaiSecretError`/`AkaiPropertyError` when the value is unset or not a valid host.\n\n### Egress allowlist\n\nEvery tool declares its allowed outbound hosts:\n\n```ts\noptions: {\n  network: { egress: 'api.example.com' },                  // single host (shorthand)\n  // or:    { egress: ['api.example.com', 'cdn.example.com'] },\n}\n```\n\n`ctx.fetch` enforces, in order:\n\n- **Protocol** — HTTPS-only in production. HTTP allowed only when `NODE_ENV === 'development'`.\n- **Host** — exact-or-suffix-with-dot. `api.example.com` matches itself and `*.api.example.com`; `evil.api.example.com.attacker.tld` does not.\n- **DNS preflight** — hostname resolved before the request. In production, addresses in private (RFC 1918), loopback, link-local, or unique-local IPv6 ranges are refused (IPv4, IPv6, v4-mapped, and canonicalized forms). In development the private-IP refusal is skipped so handlers can target local services.\n- **Redirects** — the SDK never follows a redirect, so a `Location:` to another host cannot smuggle a request past the egress check. `redirect: 'error'` is the default and `'follow'` is refused (it is downgraded to `'error'`), because following is the one mode that could leave the allowlisted host after the check has passed. `redirect: 'manual'` is honoured: it follows nothing, so the handler receives the 3xx itself — which is how a form-post portal reports success — and reaching the `Location:` costs a fresh `ctx.fetch` that re-runs the whole preflight.\n- **Identity headers** — `user-agent`, `x-akai-cli`, `x-akai-tool`, `x-akai-request-id` are stamped on every request. `x-akai-tenant` is stamped only when the host runtime passes a tenant id to `buildCtx`; otherwise it is removed even if a handler tried to set it. Handler-supplied values for any of these are always overwritten.\n\nProtocol, host, and DNS-preflight failures reject with `AkaiEgressError` before any network request is made. Under `redirect: 'error'` — the default, and where `'follow'` is downgraded to — a redirect surfaces instead as a `fetch` rejection after the initial response: same outcome (no follow-through), different error type. Under `'manual'` there is no failure to surface, because the 3xx is a successful result: it is returned to the handler as an ordinary response.\n\nSpec validation also rejects egress hosts that don't pass a syntactic DNS-hostname check — `localhost` (single label), IP literals, hosts with spaces or slashes — so they can't be declared in the first place. The check is shape-only; it doesn't verify the name is publicly resolvable, so internal DNS zones still pass the spec and are then handled at DNS-preflight time.\n\n### `isReadonly`\n\nEvery tool must declare whether it mutates remote state:\n\n```ts\noptions: {\n  isReadonly: true,   // reads, queries — no approval gate\n  // isReadonly: false, // writes — runtime pauses for human approval\n}\n```\n\nTwo roles:\n\n1. **Planner hint** — exposed in the tool listing so plan UIs render write steps distinctly.\n2. **Runtime gate** — write tools cannot execute unless a confirmation flag is set, which the runtime flips only after the approval flow returns approved.\n\nNo default. The SDK throws on omission — silent defaults would risk marking writes as readonly. **When in doubt, choose `false`** — false-positives cost one approval click; false-negatives cause silent mutation.\n\n### Output mode: JSON vs text\n\nEach handler receives an `isJson: boolean` flag. The caller chooses `format=json` or `format=text`; the handler returns either shape:\n\n```ts\nhandler: async ({ input, ctx, isJson }) => {\n  const body = await fetchTheThing(/* ... */);\n  return isJson ? body : `Thing #${body.id} (${body.status})`;\n}\n```\n\nWhen `jsonOutput` is declared, the handler return type is `string | ZInfer<jsonOutput>`. When `jsonOutput` is omitted, the handler always returns a string.\n\n---\n\n## Worked example: Zendesk\n\nThe repository's `examples/zendesk/` folder ships a five-tool, read-only Zendesk Support connector (not bundled in the published package):\n\n| Tool | Endpoint | Demonstrates |\n|---|---|---|\n| `users.me`       | `GET /users/me`        | Auth probe; simplest tool |\n| `users.get`      | `GET /users/{id}`      | Path parameter |\n| `tickets.get`    | `GET /tickets/{id}`    | Path parameter, 404 mapped to typed error |\n| `tickets.list`   | `GET /tickets`         | Cursor pagination |\n| `tickets.search` | `GET /search`          | Query composition, 422 surfaced |\n\nEach tool branches on `isJson` and uses the structured logger. The folder includes a smoke runner that mirrors the runtime's per-invocation dispatch (registry → `buildCtx()` → handler) so you can hit a real workspace from your terminal.\n\n---\n\n## Errors\n\n| Class | When |\n|---|---|\n| `AkaiSpecError`    | Invalid `tool()` / `defineCLI()` spec — thrown at module load |\n| `AkaiInputError`   | Tool input fails the declared zod schema — thrown by the runtime when validating the request body |\n| `AkaiSecretError`  | A `required: true` secret is missing at invocation time — thrown by `buildCtx` |\n| `AkaiPropertyError`| A `required: true` property is missing at invocation time — thrown by `buildCtx` |\n| `AkaiEgressError`  | `ctx.fetch` rejected the target |\n| `AkaiToolError`    | A handler threw a typed, caller-facing failure — the host maps `kind` to an HTTP status and surfaces the message verbatim |\n\nEvery error extends `AkaiError`; the runtime maps each to a structured error envelope.\n\n### Typed tool errors\n\nThrow `AkaiToolError` from a handler to give an expected failure a stable classification and author-vetted wording. The host runtime brand-checks the thrown value by property access on its shape — `{ name: 'AkaiToolError', kind, message, meta? }` (it reads `message` via property access, not JSON serialization, since `Error.message` is non-enumerable) — with no SDK dependency, maps `kind` to an HTTP status, and returns `message` to the caller **verbatim**. Keep messages secret-free.\n\n```ts\nimport { AkaiToolError } from '@akai-workflow-builder/cli-sdk';\n\nconst res = await ctx.fetch(`https://api.example.com/tickets/${id}`);\nif (res.status === 404) throw AkaiToolError.notFound(`No ticket ${id}`, { id });\nif (res.status === 429) throw AkaiToolError.rateLimited('Slow down', { retryAfterMs: 1000 });\n```\n\nFactories — each sets the matching `kind`:\n\n| Factory | `kind` | Host status |\n|---|---|---|\n| `AkaiToolError.notFound(msg, meta?)`     | `not_found`     | 404 |\n| `AkaiToolError.forbidden(msg, meta?)`    | `forbidden`     | 403 |\n| `AkaiToolError.authExpired(msg, meta?)`  | `auth_expired`  | 401 |\n| `AkaiToolError.invalidInput(msg, meta?)` | `invalid_input` | 422 |\n| `AkaiToolError.conflict(msg, meta?)`     | `conflict`      | 409 |\n| `AkaiToolError.rateLimited(msg, meta?)`  | `rate_limited`  | 429 (retryable) |\n| `AkaiToolError.unavailable(msg, meta?)`  | `unavailable`   | 503 (retryable) |\n\nUntyped throws are classified generically (a 500 with a derived message).\n\n---\n\n## Troubleshooting\n\n**`Cannot find name 'Response'`** — `tsconfig.json` is missing web-platform types. Add `\"DOM\"` to your existing `lib` entries (e.g. `\"lib\": [\"ES2023\", \"DOM\"]`) — setting `lib` overrides the target's defaults, so include both — or use `@types/node@^18+`.\n\n**`AkaiSpecError: undeclared secret 'X'`** — a `secretKeys` entry references a key that isn't in `defineCLI({ secrets: [...] })`.\n\n**`AkaiSpecError: undeclared property 'X'`** — a `propertyKeys` entry references a key that isn't in `defineCLI({ properties: [...] })`.\n\n**`AkaiSpecError: invalid id \"...\"`** — CLI `id` must be a lowercase slug matching `^[a-z][a-z0-9_-]*$`. The display label lives in `name`.\n\n**`AkaiSpecError: invalid egress host` for `localhost` / `127.0.0.1`** — `tool()` rejects IP literals and single-label hostnames (including `localhost`) at spec time, before `ctx.fetch` ever runs. For local development, use a tunnel (ngrok, Cloudflare Tunnel) that resolves to a public hostname.\n\n**`AkaiEgressError` against an unallowed host** — runtime egress check failed. Add the host to `options.network.egress` (matched exact-or-suffix-with-dot).\n\n**Type error: handler return doesn't match `jsonOutput`** — when `jsonOutput` is declared, the handler return type is `string | <structured shape>`. Branch on `isJson`.\n\n---\n\n## Changelog\n\n### Unreleased\n\n- Add `defineConnection` — declare a connection's umbrella identity (`slug`, `name`, `vendor`, `blurb`, `longDesc`, `instructions`, `authKind`) plus its `oauth` shape. Returns a frozen, `WeakSet`-branded `ConnectionDef`. Symmetric to `defineCLI`.\n- Add the `oauth` block: `authorizeUrl`, `tokenUrl`, `scopes`, `pkce`, `tokenEndpointAuthMethod`, `extraAuthorizeParams`, `refreshStrategy`, and `adminFields` (the OAuth-app credentials an admin enters; values stay in akai-app). Validated for valid URLs, non-empty `scopes`, env-style admin keys, and `adminFields` presence when `authKind` is `oauth2`.\n- New exports: `defineConnection`, `isAkaiConnection`, `AkaiConnectionError`, and types `ConnectionSpec`, `ConnectionDef`, `ConnectionOAuthConfig`, `OAuthAdminField`, `ConnectionAuthKind`, `RefreshStrategy`, `TokenEndpointAuthMethod`.\n- New runnable example: `examples/google` (a connection grouping `gmail` + `gsheet`).\n\n---\n\n## License\n\nMIT — see [`LICENSE`](./LICENSE).\n","readmeFilename":"README.md"}