{"_id":"@granular-software/sdk","_rev":"80-aeb0710c029d7cb5c5f3a9eda573cd21","name":"@granular-software/sdk","dist-tags":{"latest":"0.4.73"},"versions":{"0.1.0":{"name":"@granular-software/sdk","version":"0.1.0","keywords":["granular","sdk","ai","agent","tools","sandbox","mastra","langchain","openai","anthropic"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.1.0","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/granular-dev/granular-sdk#readme","bugs":{"url":"https://github.com/granular-dev/granular-sdk/issues"},"dist":{"shasum":"c5fd2eca33925a3eac97139a1fb0a65a6ab39799","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.1.0.tgz","fileCount":34,"integrity":"sha512-/3+B2O6MA7fgEfUEZK/rhnNxJhkvJyksnwoi4d7QWAq903ajmAJmM2vh8UDhMHFniy8/zfsnig9BRiD1TUc9Pg==","signatures":[{"sig":"MEQCIDLFtVVmMYMJph+Jjz34Iss2J54EQioCizju7PDLt0VTAiB6RJObzbj2ua5hMviZkxFcRZyRiRm/eBirhTnOAHrBIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":531693},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./mastra":{"types":"./dist/adapters/mastra.d.ts","import":"./dist/adapters/mastra.mjs","require":"./dist/adapters/mastra.js"},"./openai":{"types":"./dist/adapters/openai.d.ts","import":"./dist/adapters/openai.mjs","require":"./dist/adapters/openai.js"},"./anthropic":{"types":"./dist/adapters/anthropic.d.ts","import":"./dist/adapters/anthropic.mjs","require":"./dist/adapters/anthropic.js"},"./langchain":{"types":"./dist/adapters/langchain.d.ts","import":"./dist/adapters/langchain.mjs","require":"./dist/adapters/langchain.js"}},"gitHead":"95398847019d72b2e5651860277c7e819196b5f4","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahirel","email":"arthurhirel@gmail.com"},"repository":{"url":"git+https://github.com/granular-dev/granular-sdk.git","type":"git"},"_npmVersion":"10.1.0","description":"TypeScript SDK for Granular - wrap your existing tools and run them in secure sandboxes","directories":{},"_nodeVersion":"20.7.0","dependencies":{"ws":"^8.18.2","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^2.2.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"^8.0.0","openai":"^4.0.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@langchain/core":"^0.1.0","@anthropic-ai/sdk":"^0.10.0"},"peerDependencies":{"openai":">=4.0.0","@mastra/core":">=0.1.0","@langchain/core":">=0.1.0","@anthropic-ai/sdk":">=0.10.0"},"peerDependenciesMeta":{"openai":{"optional":true},"@mastra/core":{"optional":true},"@langchain/core":{"optional":true},"@anthropic-ai/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0_1770674757974_0.7680790556037427","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@granular-software/sdk","version":"0.2.0","keywords":["granular","sdk","cli","ai","agent","tools","sandbox","mastra","langchain","openai","anthropic"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.2.0","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/granular-dev/granular-sdk#readme","bugs":{"url":"https://github.com/granular-dev/granular-sdk/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"72eb931d1226dc3cd86a286e5ec76014ea1c4c13","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.2.0.tgz","fileCount":35,"integrity":"sha512-sdNnkzJGZT6LfiuJDPRDLju0bnTM/Ag6vDmDShZKG0rjQaIzP2d9jj7XuJOq3bclscpJWdqC9YhLUi5a3lF1eQ==","signatures":[{"sig":"MEUCIB84Ptt1SMqN1TLBKzqfz/iFO4IWKZgGehjSGJMSs4SoAiEAoI8H31p7OgG8HrqRKCCUUXXfSGzzH8K8zbEaF79Vx3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":824717},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./mastra":{"types":"./dist/adapters/mastra.d.ts","import":"./dist/adapters/mastra.mjs","require":"./dist/adapters/mastra.js"},"./openai":{"types":"./dist/adapters/openai.d.ts","import":"./dist/adapters/openai.mjs","require":"./dist/adapters/openai.js"},"./anthropic":{"types":"./dist/adapters/anthropic.d.ts","import":"./dist/adapters/anthropic.mjs","require":"./dist/adapters/anthropic.js"},"./langchain":{"types":"./dist/adapters/langchain.d.ts","import":"./dist/adapters/langchain.mjs","require":"./dist/adapters/langchain.js"}},"gitHead":"a262a92899407f0929ec8a1eb786c746c6fa63eb","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahirel","email":"arthurhirel@gmail.com"},"repository":{"url":"git+https://github.com/granular-dev/granular-sdk.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"22.1.0","dependencies":{"ws":"^8.18.2","ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^2.2.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"^8.0.0","openai":"^4.0.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@langchain/core":"^0.1.0","@types/commander":"^2.12.5","@anthropic-ai/sdk":"^0.10.0"},"peerDependencies":{"openai":">=4.0.0","@mastra/core":">=0.1.0","@langchain/core":">=0.1.0","@anthropic-ai/sdk":">=0.10.0"},"peerDependenciesMeta":{"openai":{"optional":true},"@mastra/core":{"optional":true},"@langchain/core":{"optional":true},"@anthropic-ai/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.2.0_1771403242989_0.8799612846803424","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@granular-software/sdk","version":"0.2.1","keywords":["granular","sdk","cli","ai","agent","tools","sandbox","mastra","langchain","openai","anthropic"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.2.1","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/granular-dev/granular-sdk#readme","bugs":{"url":"https://github.com/granular-dev/granular-sdk/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"c8bf7e200c381e0c40e9095ed44d849107fa2c8c","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.2.1.tgz","fileCount":35,"integrity":"sha512-ywD+TrCC6rXWoCmPmO2mkW/gOoiFpVTCdOJKzBySgbJexy1yLOFXOloiabL7+HFSqut2uy89O+j9pmW3rzr+Tg==","signatures":[{"sig":"MEUCIQCLmWatLFFCTuxQkL0/DhurhfaHalDNfJRz/nRJCl8/CwIgQQmCWiZFKyqCAs7s3aadyBfiYvDonstfzSSvDhfE4vM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":941698},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./mastra":{"types":"./dist/adapters/mastra.d.ts","import":"./dist/adapters/mastra.mjs","require":"./dist/adapters/mastra.js"},"./openai":{"types":"./dist/adapters/openai.d.ts","import":"./dist/adapters/openai.mjs","require":"./dist/adapters/openai.js"},"./anthropic":{"types":"./dist/adapters/anthropic.d.ts","import":"./dist/adapters/anthropic.mjs","require":"./dist/adapters/anthropic.js"},"./langchain":{"types":"./dist/adapters/langchain.d.ts","import":"./dist/adapters/langchain.mjs","require":"./dist/adapters/langchain.js"}},"gitHead":"3812e404de15fb127d8645804f09ebf9cb6c3c05","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahirel","email":"arthurhirel@gmail.com"},"repository":{"url":"git+https://github.com/granular-dev/granular-sdk.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"22.1.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"^8.0.0","openai":"^4.0.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@langchain/core":"^0.1.0","@types/commander":"^2.12.5","@anthropic-ai/sdk":"^0.10.0"},"peerDependencies":{"openai":">=4.0.0","@mastra/core":">=0.1.0","@langchain/core":">=0.1.0","@anthropic-ai/sdk":">=0.10.0"},"peerDependenciesMeta":{"openai":{"optional":true},"@mastra/core":{"optional":true},"@langchain/core":{"optional":true},"@anthropic-ai/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.2.1_1771591425709_0.9277767550818228","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@granular-software/sdk","version":"0.3.1","keywords":["granular","sdk","cli","ai","agent","tools","sandbox","mastra","langchain","openai","anthropic"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.3.1","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/granular-dev/granular-sdk#readme","bugs":{"url":"https://github.com/granular-dev/granular-sdk/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"459b4c7636db49f632b1bd9a1354f41f611984fe","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.3.1.tgz","fileCount":35,"integrity":"sha512-VAJ8my2bXHGjWnEFZlRToAlg11z8FUvCjMFaMeLOX1ALPOVXsTl6yECl+rrCnht/tUb10AMcgOFhXE1M6Vsd+g==","signatures":[{"sig":"MEUCIQCcM6d8UKbRydCMZazJhMVnszLG5g7bHO6j8HAbomAXOgIgXtITiJNCJWUtIdHPXZ50uQ6Jk/8cld7uY6VpF22ZQ30=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1748724},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./mastra":{"types":"./dist/adapters/mastra.d.ts","import":"./dist/adapters/mastra.mjs","require":"./dist/adapters/mastra.js"},"./openai":{"types":"./dist/adapters/openai.d.ts","import":"./dist/adapters/openai.mjs","require":"./dist/adapters/openai.js"},"./anthropic":{"types":"./dist/adapters/anthropic.d.ts","import":"./dist/adapters/anthropic.mjs","require":"./dist/adapters/anthropic.js"},"./langchain":{"types":"./dist/adapters/langchain.d.ts","import":"./dist/adapters/langchain.mjs","require":"./dist/adapters/langchain.js"}},"gitHead":"3812e404de15fb127d8645804f09ebf9cb6c3c05","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahirel","email":"arthurhirel@gmail.com"},"repository":{"url":"git+https://github.com/granular-dev/granular-sdk.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"22.1.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"^8.0.0","openai":"^4.0.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@langchain/core":"^0.1.0","@types/commander":"^2.12.5","@anthropic-ai/sdk":"^0.10.0"},"peerDependencies":{"openai":">=4.0.0","@mastra/core":">=0.1.0","@langchain/core":">=0.1.0","@anthropic-ai/sdk":">=0.10.0"},"peerDependenciesMeta":{"openai":{"optional":true},"@mastra/core":{"optional":true},"@langchain/core":{"optional":true},"@anthropic-ai/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.1_1772039656861_0.4143676966291556","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@granular-software/sdk","version":"0.3.2","keywords":["granular","sdk","cli","ai","agent","tools","sandbox","mastra","langchain","openai","anthropic"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.3.2","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/granular-dev/granular-sdk#readme","bugs":{"url":"https://github.com/granular-dev/granular-sdk/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"029c46a4c2d6fed7694f7989f891ccde8feea589","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.3.2.tgz","fileCount":35,"integrity":"sha512-6CXMiJSY9L8H3ujGk4Bf1GbRj/htkNUEArhi6ePF+HfjQlTYP2XiZfkBuWa2mWNncIbjuV2uk5SATM1YZeYnuQ==","signatures":[{"sig":"MEUCIAZzXd9KfuKF+YE48C8WOaEqY8DpQyxjaSyEJ+5UFxY1AiEAqX5J3tY0RKPyHHz+iGTgC23v85EUpiFAGvGhGInJXeQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1748853},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./mastra":{"types":"./dist/adapters/mastra.d.ts","import":"./dist/adapters/mastra.mjs","require":"./dist/adapters/mastra.js"},"./openai":{"types":"./dist/adapters/openai.d.ts","import":"./dist/adapters/openai.mjs","require":"./dist/adapters/openai.js"},"./anthropic":{"types":"./dist/adapters/anthropic.d.ts","import":"./dist/adapters/anthropic.mjs","require":"./dist/adapters/anthropic.js"},"./langchain":{"types":"./dist/adapters/langchain.d.ts","import":"./dist/adapters/langchain.mjs","require":"./dist/adapters/langchain.js"}},"gitHead":"a55aae25f547eae6ca091a0a3e349bb2b55d38c1","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahirel","email":"arthurhirel@gmail.com"},"repository":{"url":"git+https://github.com/granular-dev/granular-sdk.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"22.1.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"^8.0.0","openai":"^4.0.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@langchain/core":"^0.1.0","@types/commander":"^2.12.5","@anthropic-ai/sdk":"^0.10.0"},"peerDependencies":{"openai":">=4.0.0","@mastra/core":">=0.1.0","@langchain/core":">=0.1.0","@anthropic-ai/sdk":">=0.10.0"},"peerDependenciesMeta":{"openai":{"optional":true},"@mastra/core":{"optional":true},"@langchain/core":{"optional":true},"@anthropic-ai/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.2_1772179200746_0.6437530446614597","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@granular-software/sdk","version":"0.3.3","keywords":["granular","sdk","cli","ai","agent","tools","sandbox","mastra","langchain","openai","anthropic"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.3.3","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/granular-dev/granular-sdk#readme","bugs":{"url":"https://github.com/granular-dev/granular-sdk/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"dfe120fd40dec3fa2ce881acc237225fe8765142","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.3.3.tgz","fileCount":35,"integrity":"sha512-M3zMIQKiezkn5q29/Z81trHXEOTlZE5PEP3JotcsAYnouPQqrlakJzT64vYqZK8/XLM1cAOFkWxZ/rKPCxT27A==","signatures":[{"sig":"MEUCIQDyRyRC8WyjG31hF+14v+xQZzDybSOz2n1asFRUnqgmOwIgJPo63Gz7dUdA1uZJfc3Jula6WwhdBrFshh6MGSV4K3g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1756486},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./mastra":{"types":"./dist/adapters/mastra.d.ts","import":"./dist/adapters/mastra.mjs","require":"./dist/adapters/mastra.js"},"./openai":{"types":"./dist/adapters/openai.d.ts","import":"./dist/adapters/openai.mjs","require":"./dist/adapters/openai.js"},"./anthropic":{"types":"./dist/adapters/anthropic.d.ts","import":"./dist/adapters/anthropic.mjs","require":"./dist/adapters/anthropic.js"},"./langchain":{"types":"./dist/adapters/langchain.d.ts","import":"./dist/adapters/langchain.mjs","require":"./dist/adapters/langchain.js"}},"gitHead":"e02f103c5bca1a6f9e4123e2434c6516f4dce50a","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahirel","email":"arthurhirel@gmail.com"},"repository":{"url":"git+https://github.com/granular-dev/granular-sdk.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"22.1.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"^8.0.0","openai":"^4.0.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@langchain/core":"^0.1.0","@types/commander":"^2.12.5","@anthropic-ai/sdk":"^0.10.0"},"peerDependencies":{"openai":">=4.0.0","@mastra/core":">=0.1.0","@langchain/core":">=0.1.0","@anthropic-ai/sdk":">=0.10.0"},"peerDependenciesMeta":{"openai":{"optional":true},"@mastra/core":{"optional":true},"@langchain/core":{"optional":true},"@anthropic-ai/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.3_1772270709267_0.4303218135028357","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@granular-software/sdk","version":"0.3.4","keywords":["granular","sdk","cli","ai","agent","tools","sandbox","mastra","langchain","openai","anthropic"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.3.4","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/granular-dev/granular-sdk#readme","bugs":{"url":"https://github.com/granular-dev/granular-sdk/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"1e843e4bb50d071b9afb6ebef1100dcc2b47d2d4","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.3.4.tgz","fileCount":35,"integrity":"sha512-xkpSKhouhI9vMsx7O+ZZNqMRS2M3g4v9REU9By8DFkO+jp/5lOAp5BBEoo8UK5twloHU6IseLPWXnJEJHARRNg==","signatures":[{"sig":"MEQCIGKIoaDgy+xDbjDyffAZaYXcURupq8D6xvX5Z9bfWcq0AiApAKzqFGSTqY6/WHA/PE+tomqSiv0w6WR/G5dFCb6lLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1786980},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./mastra":{"types":"./dist/adapters/mastra.d.ts","import":"./dist/adapters/mastra.mjs","require":"./dist/adapters/mastra.js"},"./openai":{"types":"./dist/adapters/openai.d.ts","import":"./dist/adapters/openai.mjs","require":"./dist/adapters/openai.js"},"./anthropic":{"types":"./dist/adapters/anthropic.d.ts","import":"./dist/adapters/anthropic.mjs","require":"./dist/adapters/anthropic.js"},"./langchain":{"types":"./dist/adapters/langchain.d.ts","import":"./dist/adapters/langchain.mjs","require":"./dist/adapters/langchain.js"}},"gitHead":"fef89ac59a7874fe97326952870954c645f985fe","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahirel","email":"arthurhirel@gmail.com"},"repository":{"url":"git+https://github.com/granular-dev/granular-sdk.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"22.1.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"^8.0.0","openai":"^4.0.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@langchain/core":"^0.1.0","@types/commander":"^2.12.5","@anthropic-ai/sdk":"^0.10.0"},"peerDependencies":{"openai":">=4.0.0","@mastra/core":">=0.1.0","@langchain/core":">=0.1.0","@anthropic-ai/sdk":">=0.10.0"},"peerDependenciesMeta":{"openai":{"optional":true},"@mastra/core":{"optional":true},"@langchain/core":{"optional":true},"@anthropic-ai/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.3.4_1772481994454_0.39826995042644886","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@granular-software/sdk","version":"0.4.1","keywords":["granular","sdk","cli","ai","agent","tools","sandbox","mastra","langchain","openai","anthropic"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.1","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/granular-dev/granular-sdk#readme","bugs":{"url":"https://github.com/granular-dev/granular-sdk/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"0373660d3e5020dcde2a9133c7a3eb3d728b4cf9","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.1.tgz","fileCount":35,"integrity":"sha512-e8ah6SYpawowZ2ile2R5opFO5gmbqQcCOlXRBDHCiCpwd8k7EUA8b+gPWEmdQDHe1+R+R3RSZgatm/glU5SI4g==","signatures":[{"sig":"MEYCIQCzRjg9LMa0nVhW0KM3/G6ALaj2V3tSmAHwpWIbJOooGQIhAP/I33hX7jpFMY7EyhDdfs8MwBr+sODJtBR7aGW+nSj6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1840019},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./mastra":{"types":"./dist/adapters/mastra.d.ts","import":"./dist/adapters/mastra.mjs","require":"./dist/adapters/mastra.js"},"./openai":{"types":"./dist/adapters/openai.d.ts","import":"./dist/adapters/openai.mjs","require":"./dist/adapters/openai.js"},"./anthropic":{"types":"./dist/adapters/anthropic.d.ts","import":"./dist/adapters/anthropic.mjs","require":"./dist/adapters/anthropic.js"},"./langchain":{"types":"./dist/adapters/langchain.d.ts","import":"./dist/adapters/langchain.mjs","require":"./dist/adapters/langchain.js"}},"gitHead":"f42522e3a6ec8d63c3b7b80f08dff7763f900957","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahirel","email":"arthurhirel@gmail.com"},"repository":{"url":"git+https://github.com/granular-dev/granular-sdk.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"22.1.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"^8.0.0","openai":"^4.0.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@langchain/core":"^0.1.0","@types/commander":"^2.12.5","@anthropic-ai/sdk":"^0.10.0"},"peerDependencies":{"openai":">=4.0.0","@mastra/core":">=0.1.0","@langchain/core":">=0.1.0","@anthropic-ai/sdk":">=0.10.0"},"peerDependenciesMeta":{"openai":{"optional":true},"@mastra/core":{"optional":true},"@langchain/core":{"optional":true},"@anthropic-ai/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.1_1772813764586_0.17633970918684705","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@granular-software/sdk","version":"0.4.2","keywords":["granular","sdk","cli","ai","agent","tools","sandbox","mastra","langchain","openai","anthropic"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.2","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/granular-dev/granular-sdk#readme","bugs":{"url":"https://github.com/granular-dev/granular-sdk/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"a378445cfacd2d371f7bb8cc41638ef9d7783efc","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.2.tgz","fileCount":35,"integrity":"sha512-3rxLGjl/UYJ0D/oAVUE5oq2qgvAwjZRE8PWWCXfWB5Oj+vxu125CcD6uiM1xbM4UaEc8S+ke6VnM1czsIBlVvA==","signatures":[{"sig":"MEUCIFR0nZMBfEna0JQ9dQT7D7vvY+Kqjog/YklmmqYpg0UoAiEA3mzc3x4Y/wfXhh/FxVh+8AdiQvb9Rsjv9QZhUsS1YL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1859832},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./mastra":{"types":"./dist/adapters/mastra.d.ts","import":"./dist/adapters/mastra.mjs","require":"./dist/adapters/mastra.js"},"./openai":{"types":"./dist/adapters/openai.d.ts","import":"./dist/adapters/openai.mjs","require":"./dist/adapters/openai.js"},"./anthropic":{"types":"./dist/adapters/anthropic.d.ts","import":"./dist/adapters/anthropic.mjs","require":"./dist/adapters/anthropic.js"},"./langchain":{"types":"./dist/adapters/langchain.d.ts","import":"./dist/adapters/langchain.mjs","require":"./dist/adapters/langchain.js"}},"gitHead":"a0b96c110865de8b6bb345c739eba65b91b6e73d","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahirel","email":"arthurhirel@gmail.com"},"repository":{"url":"git+https://github.com/granular-dev/granular-sdk.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"22.1.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"^8.0.0","openai":"^4.0.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@langchain/core":"^0.1.0","@types/commander":"^2.12.5","@anthropic-ai/sdk":"^0.10.0"},"peerDependencies":{"openai":">=4.0.0","@mastra/core":">=0.1.0","@langchain/core":">=0.1.0","@anthropic-ai/sdk":">=0.10.0"},"peerDependenciesMeta":{"openai":{"optional":true},"@mastra/core":{"optional":true},"@langchain/core":{"optional":true},"@anthropic-ai/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.2_1773136110451_0.8371671454123579","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@granular-software/sdk","version":"0.4.3","keywords":["granular","sdk","cli","ai","agent","tools","sandbox","mastra","langchain","openai","anthropic"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.3","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/granular-dev/granular-sdk#readme","bugs":{"url":"https://github.com/granular-dev/granular-sdk/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"bb5b46d40c6895084e32d5774b7143ce60022ee2","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.3.tgz","fileCount":35,"integrity":"sha512-IhUTOmH7p+RBeeQtQ0ACSzpZPqpeEGO2/g8Mwa6uo6+Uc1EFS7bBLEUjjhIRX5UDZmyoxbyxPTJqbVzCJZfChg==","signatures":[{"sig":"MEQCIF7iffxbyAkgqDeMDTlCYN8ID6H+OmcmnVh6Br1loluAAiAVxI3QlzN0VlEaRT8b924FxOcmY5G7VROs6/z2Z33wFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1860184},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./mastra":{"types":"./dist/adapters/mastra.d.ts","import":"./dist/adapters/mastra.mjs","require":"./dist/adapters/mastra.js"},"./openai":{"types":"./dist/adapters/openai.d.ts","import":"./dist/adapters/openai.mjs","require":"./dist/adapters/openai.js"},"./anthropic":{"types":"./dist/adapters/anthropic.d.ts","import":"./dist/adapters/anthropic.mjs","require":"./dist/adapters/anthropic.js"},"./langchain":{"types":"./dist/adapters/langchain.d.ts","import":"./dist/adapters/langchain.mjs","require":"./dist/adapters/langchain.js"}},"gitHead":"cc4cd7bd2da1b6dc9024e57faf2e80ac07d6153d","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"ahirel","email":"arthurhirel@gmail.com"},"repository":{"url":"git+https://github.com/granular-dev/granular-sdk.git","type":"git"},"_npmVersion":"10.8.3","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"22.1.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"^8.0.0","openai":"^4.0.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@langchain/core":"^0.1.0","@types/commander":"^2.12.5","@anthropic-ai/sdk":"^0.10.0"},"peerDependencies":{"openai":">=4.0.0","@mastra/core":">=0.1.0","@langchain/core":">=0.1.0","@anthropic-ai/sdk":">=0.10.0"},"peerDependenciesMeta":{"openai":{"optional":true},"@mastra/core":{"optional":true},"@langchain/core":{"optional":true},"@anthropic-ai/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.3_1773141371096_0.2588605451383865","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@granular-software/sdk","version":"0.4.4","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.4","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"e4001b2aeb47095fee4fe6448b787f1a250b619c","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.4.tgz","fileCount":9,"integrity":"sha512-TviJrJe6TGAm2xmSTFMeZChbFsx8Y+dPZV/Xc8oBlkWN8EOqDzlPeLmK12yu437HrVA8gcJ3jJmi1Iuc2G0gdw==","signatures":[{"sig":"MEUCIA5A0QWhVOygJfgXghAwgTnvLhNMnUwc6c5u1PEbGMvgAiEAkCM0I8QPi3Tn/l+N/31szzOyWmgAe9UzRJUkIiWgn54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1784592},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"3a731db85e609c132cdfce5eaa6af8165991c848","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.9.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.4_1773391423124_0.5396400066860814","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@granular-software/sdk","version":"0.4.5","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.5","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"67680d95bbe785b94ce56c7a25b591b6fe0b4149","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.5.tgz","fileCount":9,"integrity":"sha512-nnSh+a5PY0Deh9UjBgsRG6TFAgBkUIv10EMSkQ8VyipsBYlPyax1xDZAQRUes6OPxbSGsVTblIUi8uhVDOkPDw==","signatures":[{"sig":"MEQCICUoFOErkh38CPocyIhunUy6K6r89VRNNNmWH0OP5M56AiB7V3VKI2ua+rddD6hnfOFukZdGYo8V93+EhlP3nHWHzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1795712},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"f392ebf9b0af463f504eaf117420251028ddc68a","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.9.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.5_1773427070592_0.686533310818471","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@granular-software/sdk","version":"0.4.6","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.6","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"3827a01982c1ef2d47c3eb967724eb85ae0a0b84","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.6.tgz","fileCount":9,"integrity":"sha512-jQjlEcFHMFcnlJfpjUFOtcLwXfhK1Y1lKejjdUmNnzSAkqob+sua/jg/khoOfyRKigK8BJbOJVjs4bPcwMJQiA==","signatures":[{"sig":"MEQCICHsuap1qjgTLx8svJ0ZL7eI1MaQA8t8NLNq3j1LEySDAiBJ8CxZ9CWl58npmTDVRSzuT6u6Fkr7c6BncG8mUeU5sA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1806576},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"9435066c595b840b3883aaa32e1514a1d3a09993","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.9.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.6_1773445581357_0.49185877804786404","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@granular-software/sdk","version":"0.4.7","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.7","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"4f081db4588c1c69d5b65796fbcd1092525a852d","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.7.tgz","fileCount":9,"integrity":"sha512-0w59cyloVL/OOQjtXy9WmUJz0Tm+Oo8CdQJ3o+WSf07yJ1awwvv7pKCvXw9pDQQDGl41xMW+JWG8BrUWb2hSTA==","signatures":[{"sig":"MEQCIBP59K9TK1i7lrF06VAwdjEK2s8yHhNaQBkcjUngwUwEAiBbBsQvV8JtT+RUeom0+O28byGB3YhtXaFESzNmeX1svA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1823956},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"48f8d424fde5b69aa2f836e395c4a2401959a936","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.9.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.7_1773505098944_0.4783097595556163","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@granular-software/sdk","version":"0.4.8","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.8","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"bf450d49c4465feafd82fac5b92540dd041d9ce1","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.8.tgz","fileCount":9,"integrity":"sha512-/+1CH+Miwf2PMqRu1KoJi/RJ76BDWITjQkAMHQATgvGCDjJjcjat5/lHMQDb19D0tMy0NIVurNRxSIYnaiNpKg==","signatures":[{"sig":"MEUCIDKVU90Odys1OBdpR8IoUwqRj8ZBqr49SH+yf/MiIfooAiEAmPfpmgNDqHR9m0PgvYlRanUUSVdXPnId97tcuftwnso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1855057},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"bcd6931d6e4f04d4e0630ed8cd8ea93ef2c77aed","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.9.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.8_1773612759550_0.45120970189051945","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@granular-software/sdk","version":"0.4.9","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.9","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"bc1db37505be0d4d70c6a5561da52e9c864c312e","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.9.tgz","fileCount":9,"integrity":"sha512-VXmoqVsrvj9iwnDkI8RJQq+Gy+hgHImdc3rxufvLeLCeeYIl+CQ30Kng63pyntqF41Y25ij8xSOs7ejqmFsAMA==","signatures":[{"sig":"MEUCIQCtC5SLeqObjuqpMIPtsJAUqHEe46QVMCucScP+RFdJlAIgGabApsneg+1FiihVkcUNYI/6VzMqGwoPTT4BXNa7x6c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1905387},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"235ea4a1d6996d31460fa65eefc88614b748779a","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.9.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.9_1773853140254_0.5887242574197717","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@granular-software/sdk","version":"0.4.10","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.10","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"240c21f1acb5faf9a00b2862a40a80f351799744","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.10.tgz","fileCount":9,"integrity":"sha512-j/clWyQvDvhKtBp7vUWbBo48RJ576NYm0nJ1LZgomj+Yndn1QQaDwgor4UaB1pEUeFZh1flFclwhN5rTlw/aLg==","signatures":[{"sig":"MEYCIQCMzfeEug+PH/IpBM3smV+0jXFN1BtxXF5AoPIZ3st0nQIhAJRC0+SLc9cEPriRi92Z+t5EAuuxXcnfAAmjgLzmz17s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1936396},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"faa3f73f279da0491149a1196f14b4f317edad79","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.9.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.10_1773960867829_0.14401112423527151","host":"s3://npm-registry-packages-npm-production"}},"0.4.11":{"name":"@granular-software/sdk","version":"0.4.11","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.11","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"c109abc787d4dcbd25833e053845495785dad39a","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.11.tgz","fileCount":9,"integrity":"sha512-c8ABAPSK1XuuSZpcf1hYTOZiROL0eKD1dpmgtWSB0vjNx91GzDrAefjy6Yy7QhQd/B3LxhuBYWnn1gVu6KOD1g==","signatures":[{"sig":"MEQCIGdAp8BtUX9g13BoNC0d1olvLaCdfYZ80tz+bk5ukK1fAiBsCH5zGPmANU9PkM0B0GqwBMqwgKIspXejL7dLaG39Hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1941684},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"d512dc85a10b1cb25bbe5c0d958fb6b9d8e9dad5","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.9.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.11_1774218041131_0.74503407744298","host":"s3://npm-registry-packages-npm-production"}},"0.4.12":{"name":"@granular-software/sdk","version":"0.4.12","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.12","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"be0eff5478e5233c1c2eba65b70e9afae32bcb1c","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.12.tgz","fileCount":9,"integrity":"sha512-sDmh2w+tM2VFV4bL3jdQZCADSlu68JrQY6TAemZTGz1ub/A7cQ7L2do+LRWm+70Eu21nUnHDZXD1sBY8RDlP8w==","signatures":[{"sig":"MEYCIQDdjbcgNHh2i2RUtatc8h1YSps5fESSTjl/xx5fXzxRXQIhAM2txpFKG+j+qJB07Z5zB/ho/tPaanOs1+5SuqXdjWhK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1952582},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"c0f90a6c214ce72891247b35a06e23019e0dc601","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.9.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.12_1774391739052_0.7847483393125074","host":"s3://npm-registry-packages-npm-production"}},"0.4.13":{"name":"@granular-software/sdk","version":"0.4.13","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.13","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"bd8dd0ed372577a8e3a64754e3819b9765142842","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.13.tgz","fileCount":9,"integrity":"sha512-ZE1JwTyNcorp9CadFdNK3qJgmTSoQUp90c63q6UflJ2Kc7a6QCn+QEfOAKS9U6Cja6e6uPoYx+We3ButptvAKg==","signatures":[{"sig":"MEUCIQDcAY41wFGiwulAbdXQBJclJ+SVjUqHxzd4rVZOCw/fIAIgQ/s1bQOX33A2maev2pIsi9D14kwTJcb7Db6ckVr0gy4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2034360},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1265de152854135f478e7143f1b0d9d6a139b988","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.9.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.13_1774649628120_0.011739359334821176","host":"s3://npm-registry-packages-npm-production"}},"0.4.14":{"name":"@granular-software/sdk","version":"0.4.14","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.14","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"826a74b19324640e15123aa92852185f25ff3b55","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.14.tgz","fileCount":9,"integrity":"sha512-679nLG04ReROM0li41NWWk2gNz6NxIbSbc9iisoUnxabEgkSdNaOSjuTZ7cQwQXXZGo80LWDWU7ewSoFGoI2tw==","signatures":[{"sig":"MEUCIG83BFM8gcmY9PRkKTIftbJ6du5mLiUevhAarFHldPuzAiEAj2udPqlnOmwmucd7Pu92GIxTo4dBqlcHCa9Y6dGurfU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2064608},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"0f9dbb759d6ea0211ef59e51709a43588191f820","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.9.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.14_1774810160469_0.5469706991134844","host":"s3://npm-registry-packages-npm-production"}},"0.4.15":{"name":"@granular-software/sdk","version":"0.4.15","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.15","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"638df38ad3da5519b0d16336ba186a25b18e0217","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.15.tgz","fileCount":9,"integrity":"sha512-Njx5HNGtU6jQEEkptoz4RGN3WhGi3ChudAzz2XRxMcvbdV+QEqaUan0fUGl79riByYP5HpCxhgosl6syjoQgiA==","signatures":[{"sig":"MEUCIQCiP8ac/7BvC6fQy8boK2wf9X/Ra3kvx2YJCo/KhERyEgIgJ2i2xMJM6ilw1H4cMHm4Oef+EeYn0AUGiVEs0+tqqBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2099264},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"ff9780c841fa7d53bff033492b34418284ad5b38","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.9.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.15_1774906342905_0.6849814016467186","host":"s3://npm-registry-packages-npm-production"}},"0.4.16":{"name":"@granular-software/sdk","version":"0.4.16","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.16","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"be4f354aa52119f6125cd29f7867cceae59a1b03","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.16.tgz","fileCount":9,"integrity":"sha512-JLdsLyRwJbSg9ZNSFg0aWNzzob9nWI7fFeNwUXZWPL+Lm+W5v9NeflvzWmATmNzZKytJpmczgORR+3kuMZdl+Q==","signatures":[{"sig":"MEYCIQDq6seVMJ1V1rKejkbpPgkFT4npSxcTW4cHT3o2w9KJVgIhANNsGFT5PmaKtjlDEFE0o1iQo5eXTs996+XVWvyruYjg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3448015},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"3aa3135ce1ccd33c7ebb4152428fe66f927c52a2","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.9.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.16_1774968336480_0.2347959697528157","host":"s3://npm-registry-packages-npm-production"}},"0.4.17":{"name":"@granular-software/sdk","version":"0.4.17","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.17","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"bd250c02e57aefc2b76df419d356e6eafd58fb21","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.17.tgz","fileCount":9,"integrity":"sha512-SFgF1Min45IWD0r7raf/Hst6Bz/tpZoBhJpRPq+ECoxY0jCHjq6vN7zf+iZZIon6fY29mAsVdMXOvgeDOVJAQQ==","signatures":[{"sig":"MEUCIDJVh6YUqctkAVeXyrA6B6WrJ0tTgB/qoS/qOE5URoYxAiEAoMJChvwScLLM8prgfWz0b2hMwwnuT7Tt5N3IXIEJGV0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3504055},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"656b31e2df4ce33f7e4f7409d0b8e66a539b54ff","scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.17_1775301542437_0.9986438293333124","host":"s3://npm-registry-packages-npm-production"}},"0.4.18":{"name":"@granular-software/sdk","version":"0.4.18","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.18","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"f10dea7ad5c3ae94c6e8f8a663f5a2c36ab9d066","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.18.tgz","fileCount":9,"integrity":"sha512-rNxn4IjKgA+JvlmJo6Bx7N13lMcyPu+M90Kxl1YBSbiUnTZxjsWOKyq/mnWH3h/5aOGzh2In8dbAq4qZErSi0g==","signatures":[{"sig":"MEYCIQCuGSWudvwVV0iUdReyRpDVNOu5Ib9vkX76Tt9XKKjyGQIhAJAO2Hf021wV0Q6EtQ/ngz7WhbJKmV58wvsVE+jJkDfz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3695757},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"b7e7b9a9832f1bebf652bd7cd120881d17951064","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.18_1775468813762_0.19630232811089376","host":"s3://npm-registry-packages-npm-production"}},"0.4.19":{"name":"@granular-software/sdk","version":"0.4.19","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.19","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"567f2ca8420b28004df91cc90ed284b96ebfbd2f","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.19.tgz","fileCount":23,"integrity":"sha512-VGGeU9+6zgAXMiCPIttOgMMurvTidmpvbNH/fQ5OdIzrWzta3ANM5Uj6uf0vpjhvLMXrjBJhf7hpID1liuFupQ==","signatures":[{"sig":"MEQCIFozQc8sQTKYxRiB33+161Y+su99TEsUnSud5UozMZE4AiA7ONbN0LOCA3g1EZqFZLn6K/UxM2+zOoPtHhVZ3umYrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7951615},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"94b2139e52e2d821e12fced4f2ebf28e160e3d50","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.19_1775812399361_0.7823773696994187","host":"s3://npm-registry-packages-npm-production"}},"0.4.20":{"name":"@granular-software/sdk","version":"0.4.20","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.20","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"45f938933ea3f694c42391b593274b8398c26c31","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.20.tgz","fileCount":23,"integrity":"sha512-oqc1bnig5B0H7Mwf0q7+AdMXdNfWJ08p5oBADPCv5svuQuUlM6IUKRw+PQbVrMbfJzMzInPkZPJ/BsYAME+Lhg==","signatures":[{"sig":"MEUCIQDL3cqv2rRQIBliQrmc4nW5rx9Af5H8aFDTb10YfhfEMQIgF7cNHFUuj0QhuXUNbz/ujmF6O/bvLwDoWgxlV2aiwOM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8018923},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"a0aa9db9ce0e90b6c796f7e7bc348103d61ff540","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.20_1775946332915_0.45630445698026034","host":"s3://npm-registry-packages-npm-production"}},"0.4.21":{"name":"@granular-software/sdk","version":"0.4.21","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.21","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"95c69a8b6536ff41f5077ca53556068d1d939340","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.21.tgz","fileCount":23,"integrity":"sha512-geIeh6dvQSrhiNsNdPtNzC7xyZsVo1wdW9ojkFzSXKOiYnUgmDTcH5/PsPCdn/ia7fDWM3Rv895wOTxiVjBKVw==","signatures":[{"sig":"MEUCIEndjJM0PCbBmQzniY0nXMyQx5/v7z+MfatG65OnnEOfAiEAk7h9dlVmW5VnWj3FzlTz1hQ7YK5YGrchCb2E9miHvWg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8048616},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"0b9c4504bd2b7c9b7bebcda7f62a6e432cfeef48","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.21_1776263688329_0.2761896131620911","host":"s3://npm-registry-packages-npm-production"}},"0.4.22":{"name":"@granular-software/sdk","version":"0.4.22","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.22","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"2800460a9321d81160cc786c70ae5db9109f7143","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.22.tgz","fileCount":23,"integrity":"sha512-0KUnkb/AkI6Fs2yJqcarzcG1S8Ik93pGvdV3MzamEEX0U9a08OwRCWdyYk3PeO/r4ideG9o2zgkgmFdOaXfBXg==","signatures":[{"sig":"MEQCIBXaoqmCvgBXlWqXpM4wHEXc81l9RR4Wd35rFr45JIbFAiAgc0H9cw6kJD54cMx0bQL/OQO3Hpa7hrIxNgpq+wqLLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8052486},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"ecb8d0c7df2f7ea8be20a75aebdafe0ef9aa08f6","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.22_1776420891059_0.03381909288097784","host":"s3://npm-registry-packages-npm-production"}},"0.4.23":{"name":"@granular-software/sdk","version":"0.4.23","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.23","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"8aeec6544fda0742e32aa2b651eb605fd941d771","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.23.tgz","fileCount":23,"integrity":"sha512-AurcEBiesd70abIqdEHc7X3A765kCENNpKZdKK+lho3dM5oubaTwip234SbM1iiwvcEoNy4oNZbwPwPOUwo0AQ==","signatures":[{"sig":"MEQCIGw24HsZPyW1uf5psvACeySE/6YZFvcVmzHPfwg/swCrAiBLaw1VHWZ6to1uFGOnNPNvm8+ZcEpBS7lk6VErihgnow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8048394},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"8d5f3b2f0d12019f359d2524755bf78abbb797f3","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.23_1776431565665_0.4412610429550472","host":"s3://npm-registry-packages-npm-production"}},"0.4.24":{"name":"@granular-software/sdk","version":"0.4.24","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.24","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"5289a3103cbcd38000e9462eae6bb5838e9b6822","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.24.tgz","fileCount":23,"integrity":"sha512-kZYTB8UtUoCQ/RfaybqJMOA1SVIgJ5MXWtHCKLr+iUQyfFHZX3aY+LzzYcb65Zuf14qIkxY1tggDnu/cCewT2Q==","signatures":[{"sig":"MEUCIQCbIudAsqsSFIUPYjQmwJET7uLy71PIlcdHTK8Ea+c7mQIgcbniITzAhEnLgaE6AHEX0cIywAbCY7f99mt0pme0qVM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8051178},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"c6a9aa7e734b7f4164be1bd9b40f79711c5221e2","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.24_1776440301096_0.5689018278521332","host":"s3://npm-registry-packages-npm-production"}},"0.4.25":{"name":"@granular-software/sdk","version":"0.4.25","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.25","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"f1b0dbc0f58e03c31b17acf618c3dda94838307b","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.25.tgz","fileCount":23,"integrity":"sha512-vaPTsVI2bZtXsvD3dPLNKzYSWcAPwhHXJ9GezrmOXDHb4qsYa9Z3lftxH9G07GSfQsVB1iKmHoeJN2dFSCMZVw==","signatures":[{"sig":"MEUCIHThhrD+eLlMi8WSYSTKeaPpD0SBeuWnNEfeEwbSObJUAiEA04eAIYscXJKK6IQ3+48vO1wjySTN7FISVnke8aKHZMk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8096511},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"484594fdd2f4a9617782c055c0273f2ee6c9cc00","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.25_1776469038811_0.4517782319674797","host":"s3://npm-registry-packages-npm-production"}},"0.4.26":{"name":"@granular-software/sdk","version":"0.4.26","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.26","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"1564731621f8d35f989bf979fa3bce080a23bef9","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.26.tgz","fileCount":23,"integrity":"sha512-NSUvCoFRpX0bAV6NzYAo56Hod7HOqlTvdGVeBlymiNEJzfaFfDeVxCryAUARrBxIFqzjovsAzLpryA/RMXttyw==","signatures":[{"sig":"MEQCIGZMYOsTgYLFiNo8MBIDTAi7U5PweSpvhUJql+PK5RT4AiBEYNmVmfGX5+IF/OL5ziumgATZBgw/cBoNGDYm/QOFTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8181932},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"322c14bc01081a0f305275d20d626a36e5bd5b04","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.26_1776513580632_0.1897479173394261","host":"s3://npm-registry-packages-npm-production"}},"0.4.27":{"name":"@granular-software/sdk","version":"0.4.27","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.27","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"c2e13fdb83abe078446b3127ef79c3529fefc9d9","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.27.tgz","fileCount":23,"integrity":"sha512-kEzvyewnF5nNWf6bnP3xwIspPunssJ65tHAT5vyECi9kHwg178Wm1iaa5Ueo3fmRlHlm4zxhpEpZHIybHODPfQ==","signatures":[{"sig":"MEQCIETVjDYKWvs8DeJI/jk81sfQzWvv0B+NJntK2w8tRKQVAiA4+ax328s52yKS5eXYvT3uoGmoJDSg9wstqxZNjGQX1w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8251962},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"7efc230dc01a9f0ac3694708788bcc5ae2384aa5","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.27_1776604755070_0.897420492271161","host":"s3://npm-registry-packages-npm-production"}},"0.4.28":{"name":"@granular-software/sdk","version":"0.4.28","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.28","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"1cef28dfed2d31023bae21ef3f55518095e12a76","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.28.tgz","fileCount":23,"integrity":"sha512-SXy97Gj3PfdTz2fxJw7XPUSVFwCKskARsV265Tg7CBKOG5TQSBgfi7pOUyZ7q4lXuTUZY2rNQVA+X8/RlW1IEQ==","signatures":[{"sig":"MEQCHz1jMikHq3UX9ixQhGgSuSc/Io0HZ09c1gF75nPxnPgCIQDzVABUxsJcUkgxD02+UZyNuRZ2gz7z+8iHrD8fu6swbg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8252621},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"07601f712655dd8bd5ffac0eeed730201359de37","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.28_1776623804791_0.09619811183351556","host":"s3://npm-registry-packages-npm-production"}},"0.4.29":{"name":"@granular-software/sdk","version":"0.4.29","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.29","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"63c2f7fc1fd6425db88d8ce40be0ea13d0cd8452","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.29.tgz","fileCount":23,"integrity":"sha512-fNhxRSCiJOZkrvaNF/bIIKPlVfN4uRC3xrhdTL3h06PJNv7ehfTipmMOueUTjg1pZ5yfepquFTyXJ3cA7eCxiw==","signatures":[{"sig":"MEYCIQCMs/B09QDjArktMambhFoFEkmxE1t+b8utrdVD58oFoAIhAIwrisWtoaOkuqg1g+nsKK1rxOUTJc/IUMcSpsI13ERt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8252993},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"5ae87e5c8d93d29b5043357ef6e4734c33fe780d","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.29_1776765660053_0.33948041304692134","host":"s3://npm-registry-packages-npm-production"}},"0.4.30":{"name":"@granular-software/sdk","version":"0.4.30","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.30","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"441a6a67c24a8352f2a0409428c8c13ec9e1da98","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.30.tgz","fileCount":23,"integrity":"sha512-3nSHSd1T7hW/HVagToLM5xRAwnougfbkPTYHUQ5KyqdceLIUwT0Q2wVu2uJ0T9s2vdtCrJCaFY4GHGWG/tb/4Q==","signatures":[{"sig":"MEUCIGT3KuAWlLAjxuSHSS61J0mjLL8TNzln3OOD3ul5Ipd2AiEA8pK4pWISE3AgeFAmHGWUrXxYLizJCWDaEGgsPnHRu/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8223873},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"8a41a22bbab90a75ec7eac104f8b473fa0866d83","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.12.1","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.30_1776881043864_0.3083277166878431","host":"s3://npm-registry-packages-npm-production"}},"0.4.31":{"name":"@granular-software/sdk","version":"0.4.31","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.31","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"3b735ea5e2c0b891deef6f56835ca463c420aabe","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.31.tgz","fileCount":23,"integrity":"sha512-MXJdy7pUIqYCxfJrCBxGgB3g496KTwHO2msjHudaXLA+xB1VCmhkCMxjpo2pDzh8KyXBLp/Ko9lehiERPua7cg==","signatures":[{"sig":"MEUCIQDp+liK8WJ5AVkwILkzN+eTYBswWmnCkcYQYTMzlSXEFAIgNklYezJpNR6f5Mfl4wRvfMR0efYaK3+xoO4LNdkReZk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8369459},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"25474067ebd36e917ae90ddabb6818316d4cb95a","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.31_1776969945579_0.38241306181306434","host":"s3://npm-registry-packages-npm-production"}},"0.4.32":{"name":"@granular-software/sdk","version":"0.4.32","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.32","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"a497d5b897df8c3a87790b69fe8784067edbd4da","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.32.tgz","fileCount":23,"integrity":"sha512-YBpV16cHrcu+1OWwiUOnBx1vJRCvgZ1NSRRP/5Ujg8kWIpTA3jjI9QxPZVuz9Mp0uR0fay7I+gjFalXO+CXmXg==","signatures":[{"sig":"MEUCIQDAwcx6KE8rCm3WHIA71/GQ0KUqmi4BSzb3Potr2i9fcQIgafrqDSfvJfWC2wnjE2DtrcrhfppwvfS+h0XLtyVUkm4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8381422},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"b2f74396732cacbf4df29e61b050ea90b3be8c53","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.32_1777117026806_0.012404853191064102","host":"s3://npm-registry-packages-npm-production"}},"0.4.33":{"name":"@granular-software/sdk","version":"0.4.33","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.33","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"e1a2a5a6be0aa5dd2fb4f3720ee8808d5585b830","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.33.tgz","fileCount":23,"integrity":"sha512-aGT15QawhgixvTtevJv0KyyY0Z5q2+BmAwxceUtT8siX58qudXLTTo3k/Btd6z3h60W07txn4zT6kd4fiYqClA==","signatures":[{"sig":"MEUCIAist4poXnACwS5LhoKBjdB+pNJCeCx80swuEIVDWkhtAiEAg0ax5Gn7md5QlCoxhQf7EqOa4Y4s07CEl/3Ttgj4Lkc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8552480},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"7adf7f2066fd1434b2f40493967fc07bbb8587fe","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.33_1777205968934_0.8010975917745162","host":"s3://npm-registry-packages-npm-production"}},"0.4.34":{"name":"@granular-software/sdk","version":"0.4.34","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.34","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"baec252356860a68a215a0e5180523964f1f1877","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.34.tgz","fileCount":23,"integrity":"sha512-QFq1Wwf+gUvyla4mutilewl8MLUiA5Y1xra5Zwe8oISHVgcJ1d8Okdx8fSCwp2h5Cf1Dp4HtUHYWryHQfyxrYw==","signatures":[{"sig":"MEUCIQD/ZI+pEk4YlxJavMefh5MN6hvjwobHOqynqxscBdwK0gIgXYpYJMWIHEzXqB2S1U/EeasgodOLtEbGgnkXsCRXiog=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8582147},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"bbbccfdca87da5e07ffa439b77c948f45b3e4824","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.34_1777208615410_0.05946300642807767","host":"s3://npm-registry-packages-npm-production"}},"0.4.35":{"name":"@granular-software/sdk","version":"0.4.35","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.35","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"ba2dbfbfe4bf33c0a296f2b201f1eafa774f8b89","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.35.tgz","fileCount":23,"integrity":"sha512-nYPk7urkVhwKQLnZzfUh9n7j1BZIBWC/MLi2IsapD7uSJFgX7ansiw2L2JrTSoU4TjtAoe1F6JK0FFukOHqNQw==","signatures":[{"sig":"MEQCIFXIHc334/d4scxyjqRPmhcPuPk1PlqxN6oUeVYYOwZPAiAnbYOBqsIupQlnb+W5eYTInE7pagpR9ereLLESuKvj3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8689010},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"46236659742e03bbcdd967ceceeb59db81c94e9a","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.35_1777365736446_0.7075451416221217","host":"s3://npm-registry-packages-npm-production"}},"0.4.36":{"name":"@granular-software/sdk","version":"0.4.36","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.36","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"51c36e051a822d50162409afe3189c13966d7aec","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.36.tgz","fileCount":23,"integrity":"sha512-/eu9TBceH8QAESBb72IvkB4OJikuhfOEpTytKTLxoOG+kJLxjupVrz2P59k1o953upn6EOOf/orFBmpzFNSqJQ==","signatures":[{"sig":"MEUCIQDGC56cEv9xTP5H6gPOk66TFPYfyieSge+SW1R0gpYfGAIgXVQimRrX2zlEwbVQoGbRVKZlpw3izxf2M7pcLW9YRdA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8698737},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"78716040a06a4a9bf54df01ff945f656059115b6","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.11.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.36_1777369308691_0.7616353101007951","host":"s3://npm-registry-packages-npm-production"}},"0.4.37":{"name":"@granular-software/sdk","version":"0.4.37","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.37","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"5efb3d96d8d4abdc574547c31711a03e6e123e1a","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.37.tgz","fileCount":23,"integrity":"sha512-T2q3zu6afCUwqnqByAseJtUKNQVT5Bt9gpxhAZ2tj1i/WjjTqWoP/IUXRGRSIspS/miT9Ffd6INUh1fLAcaqXQ==","signatures":[{"sig":"MEUCIQDF2KLnetq6M+WC9fJOEEUW8iuwoPw+/TtiSym18Iio9wIgDE6oXOR4c1Y8awEGmzLN5ZMqKjYTwBQLLueXVR3dzqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10167425},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"d5bd3d4be26eef82e56a9085150051eeaddf5d51","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.12.1","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1","@granular-software/policy-engine":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.37_1779214489481_0.9084300457385799","host":"s3://npm-registry-packages-npm-production"}},"0.4.38":{"name":"@granular-software/sdk","version":"0.4.38","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.38","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"1897adf202802bef044e1e4b8aac995fa0b89863","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.38.tgz","fileCount":31,"integrity":"sha512-faeSHmZUgKxWVtzwxf7S3g/E69pBL9mHIdLmaNWGt+E4ZRg57rREQcZww5eKtgHVdLTBsntPuGLvbKvtxRnT/A==","signatures":[{"sig":"MEYCIQD/AphzBUBT5ueF0kwew+ll+Q4Ulo559YY/iQvSWOtfWQIhAPyt+mL35i8O1qs/6Jqy92J5MgQE0yUR+HfNkRpG3Wul","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10329374},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"6bcf2bc1df309b4d9196ce594e071c7b070272ec","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.12.1","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1","@granular-software/policy-engine":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.38_1779285527710_0.5088466473062869","host":"s3://npm-registry-packages-npm-production"}},"0.4.39":{"name":"@granular-software/sdk","version":"0.4.39","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.39","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"9a1281821892741bf2a6f41dca1ca543a95baabf","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.39.tgz","fileCount":31,"integrity":"sha512-krwUfGMZUk7wL9xpdt58tZmKhGHewcGShplQYQXYXD90Q0YUSq6m0kM+C3px5ygzu+tFtFm/gINryCQRvUll6g==","signatures":[{"sig":"MEQCIEKL3hSswJyY3Yf0gJbVST7J96tAfk9D3xwvIFQyFkRNAiAZ37ggfmH8omziBA1VYc2uK8tDGQAT7b4YVvggH6r6tA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10599575},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"67a019d7a1ad61ce2db4bc0b9fefc3b1533a771a","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.12.1","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1","@granular-software/policy-engine":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.39_1779564071360_0.8826363554119263","host":"s3://npm-registry-packages-npm-production"}},"0.4.40":{"name":"@granular-software/sdk","version":"0.4.40","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.40","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"44d489b122181e681e42f282bd74cc718f297402","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.40.tgz","fileCount":31,"integrity":"sha512-tw/bJWKNjMRBQuL9a98Gc4VEL/QCpuk0MCn5KXu34JoRArAnKgsle6zF2lG3XfmLazeCwItBIuMgXY3bWdFGDg==","signatures":[{"sig":"MEYCIQCeWDs17xi+xLS78lhPtDVkMw2TzqHWy4vnAQkH7sT+nwIhAKkVuyeS+ekI5IjHFoY3q6lrH8d5SpqqnTGBUnsgwddq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10602501},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"e780f6c07fbf99160de8f24fede4f57174ad7281","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.12.1","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1","@granular-software/policy-engine":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.40_1779571719155_0.10129294430599844","host":"s3://npm-registry-packages-npm-production"}},"0.4.41":{"name":"@granular-software/sdk","version":"0.4.41","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.41","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"15a3431c03eb68bec77b8a92d7a2e827cd19e714","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.41.tgz","fileCount":31,"integrity":"sha512-kNY1nkxz5+Vik62s/fXlnX9Vou18iZTq23BEYrO5N5QIrSVWfu97myY8Qkeo82T+Nik3MZtML+GkGwawLdcH/Q==","signatures":[{"sig":"MEUCIQDFABSZ8pBfyGpERkt8w6rwY4shN9LTXsxrdS/SAIM1zQIgbZZBQ/dqCt46kGc3vLzLyGSSnNnMJSErKt3e/hNAIZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10602501},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"f3fa57f4fca2a41f62728836d4a32cb72a0cc1ee","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.12.1","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1","@granular-software/policy-engine":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.41_1779609541393_0.21022334796852582","host":"s3://npm-registry-packages-npm-production"}},"0.4.42":{"name":"@granular-software/sdk","version":"0.4.42","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.42","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"38009a745694c8cf072ffad608a49d672da14143","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.42.tgz","fileCount":31,"integrity":"sha512-7Xmw6QYgQZjXCcANy/A7Qd7PN0eXy1Qnv+7jYEWla4YdCjDrUfRCF/02fmCm0kwNWMZZfc8XDDL9nQjr1HTKug==","signatures":[{"sig":"MEUCIBiANhl2ZMtWc1fcx6dpgezwh2o2ijLw8SUfcz3YfxdWAiEAnq77uHkTHEiHksFV8HwiIM0z8JGYPCs2va12nR5q+L8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11067398},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"254655fb1fbf7f68207303aa1c599235bdaa0ac2","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.12.1","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1","@granular-software/policy-engine":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.18.3","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.42_1779744716501_0.7477745660115587","host":"s3://npm-registry-packages-npm-production"}},"0.4.43":{"name":"@granular-software/sdk","version":"0.4.43","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.43","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"524356f2f872c074de62e701060ab7654681cdfb","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.43.tgz","fileCount":31,"integrity":"sha512-teEn8RVNLnqrxKf2/+7SKyD0G4KV76yVJ6tWQnNNk8RbAGDqVFGqZ5nkIHqegeQI7tg1dk6YnxBg8DoXoxKVIg==","signatures":[{"sig":"MEUCID8Qg9xn/PwOarzSbdlAsPiFqWHbUY/w1NR91jt58aKFAiEAgYfpnjuZYJy2EtpSbkzLjz7Y8W36Va1J0A8vsgyLHu8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11098426},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"edcc13766df0791f10d3428dd28f556f518cb50c","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.13.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1","@granular-software/policy-engine":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.43_1780160450907_0.33024886487341765","host":"s3://npm-registry-packages-npm-production"}},"0.4.44":{"name":"@granular-software/sdk","version":"0.4.44","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.44","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"bebac04434074046cb2f21adf1872023a2ae594a","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.44.tgz","fileCount":31,"integrity":"sha512-LcgpZ5zTJyLkXvXcHQ8IATZ/hXWonmzXXAzVQEshlu2RH6qQ0Nm9tm+igV6aN2F9xsE8Qbko3VzmJ0ri1WVxog==","signatures":[{"sig":"MEUCICOgEm8PmBwxI/GJF8E0QNu6Ex47/Q0wZD7+wFh9ybjcAiEA+HJ8GK3Uy68jXhgSrstuqkG/4BvqLhOVOlKDNhKeZ5o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11101280},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"92faec576134fd5dda00eca53323e28d09ee4077","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.13.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1","@granular-software/policy-engine":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.44_1780164751979_0.913136497863059","host":"s3://npm-registry-packages-npm-production"}},"0.4.45":{"name":"@granular-software/sdk","version":"0.4.45","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.45","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"c2ffd81f8599055ef63dc455ba0356fdd88aadb3","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.45.tgz","fileCount":31,"integrity":"sha512-Urzp69J+qkD73pJTBM+pSs45bCLND+V/I4MJSkTY9sy7GRLRl177cr+mhWPUPCfutMhgguNgY+SZZ4zkbLlJ0w==","signatures":[{"sig":"MEUCIE3DpmrbDPEIAOGRLUtIIc5Ix7BHlMO0kBI4SNA3PXs7AiEA3Nr3uCd50U6KNMxk+JS2gmOaO7CXeL0Xz8AmNKlMnDQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11101280},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"4c46c3359d1c93860bd4729fdf0a393a6485abc4","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.13.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1","@granular-software/policy-engine":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.45_1780170608750_0.05940157362135823","host":"s3://npm-registry-packages-npm-production"}},"0.4.46":{"name":"@granular-software/sdk","version":"0.4.46","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.46","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"7ea85493ff2ea8b62abcb7896ee2da8c525267ae","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.46.tgz","fileCount":31,"integrity":"sha512-zq3mKiCb0+pVuDMpUdmjWKuP6ubvvdj8kttweYvajGD8t+aWf23c8Tc6jdsUurWmTY855AUVbAwZNlKm+cFFWg==","signatures":[{"sig":"MEUCIQCZoEGIq2LSby7uGb/uCYiudCEpKeHXTHIamJkSn+cHZwIgJDt6TEiHR9jAMaf8OCOt1R4mO0PAWWVnSmBI63Dpx9o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11275002},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"005cea97d2cfe65846baf4cffbaa81508c447f9e","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.13.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.46_1781033544896_0.8815284582445513","host":"s3://npm-registry-packages-npm-production"}},"0.4.47":{"name":"@granular-software/sdk","version":"0.4.47","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.47","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"435c121da2b88ed85da6dd2ea600b9402e2fcb01","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.47.tgz","fileCount":31,"integrity":"sha512-cMoD/MorNGZKjhJrIz4k8gt6pQiqgnnoWGzkWNMjav3SGeY2YqfZXE6HJT/K+g6ONey+gy1nCjYdg7jMm8lT9A==","signatures":[{"sig":"MEYCIQDfSfikm2MN4PV86DoOjPoTyjR+R9BiVEkk2+mJ6Oi/CwIhAIf8ckGBTx1MxXye6mT9uU89aDfahJYk/KbRmc57nbXp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11342948},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"c87597edddab3b6f5bb03d1de0e75b78becc4bb1","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.13.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.47_1781350598000_0.018738902555902603","host":"s3://npm-registry-packages-npm-production"}},"0.4.48":{"name":"@granular-software/sdk","version":"0.4.48","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.48","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"dcf9c9d88e0df0f8d9568c45692e7514933335ba","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.48.tgz","fileCount":31,"integrity":"sha512-evJviSMLDBV55ICiUyX+2ToZzoZvvYN8EjiR9YvJtOD3Dy43WKITIK7plJgddSAyp57Wc2ssEQfT8S1yoMTveg==","signatures":[{"sig":"MEYCIQDt/pV5amQcKUDtLGUfu+OorlhbTGVxf6AYh6QBdGJvqgIhAOBfMYG9Z5jS/Jje/Roc/nvSLGtMoMrVf3jtwQIvW3DH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11520374},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"4846d6a905a937b415a38bb3b072a68bb5f4ac92","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.13.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.48_1782324510889_0.26827797170246925","host":"s3://npm-registry-packages-npm-production"}},"0.4.49":{"name":"@granular-software/sdk","version":"0.4.49","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.49","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"3dabdff6f298df1b9c10aa8c4f1e8a809337e74a","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.49.tgz","fileCount":31,"integrity":"sha512-bRuaEGdRV4dJZ3ew9VR65MHE7DP40QOeG/ENWgoFWMTc3xZt2RP+QvJ9L/K8I1rLyrLqsBNwr5NUdo16D0+fGA==","signatures":[{"sig":"MEQCICoLoTdyQWDUmVmv0cfmuakmIwXUitsWP6BhfB55Tf/wAiBS/Ue49Fsxi51T/0XJYmB35vug6y1FDS974GHaPHmsqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11522110},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"e15d53ddb0088c8239392fad447d1cc79fa850b2","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.16.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.49_1782845630092_0.9282520999343946","host":"s3://npm-registry-packages-npm-production"}},"0.4.50":{"name":"@granular-software/sdk","version":"0.4.50","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.50","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"e2fd533727cc67201424dc8b5c3b543dbb175104","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.50.tgz","fileCount":31,"integrity":"sha512-yeE42xok0W+v8AEgw1G1281gvQGCUaEj+KDHlRvp8QWqZW18w3B0CY7mFSwuC2oCVq686eVN5t8V88KlzVfrKQ==","signatures":[{"sig":"MEUCIQClQfCHuCkAWcNvgXAq6OwoMRB5jUTC6/y/x+7KKMt/+gIgEa6pJvtXlGI41KVeYVAw+oZYDKRolW3ktjPjWDtG7DQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12219559},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"7c440cf2b8bd5653fc23f2e69ab458874c22d7a9","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.16.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.50_1783460877554_0.7875502647414749","host":"s3://npm-registry-packages-npm-production"}},"0.4.51":{"name":"@granular-software/sdk","version":"0.4.51","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.51","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"bd6d06fa4a9521402578e7d4f56d33dc1caf7e24","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.51.tgz","fileCount":31,"integrity":"sha512-GRlyDXwExUlRUjgZvRCbg7txX+cEUjL47tjJYHW6Zh194oVZqo5wg/H4fmjO04fhuue5iSkOSxD01pYlRl2yfQ==","signatures":[{"sig":"MEUCIB2C9VuAHojgUUASBILLPBd4a2MwjwCG1FbPjtKzo4RYAiEAg9zHnN7VsH9eWSlR2JuA2jWEpupK/HJloYW7di39SUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12397891},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"08f81923d152a6b86c6aef18938a24a10c48a394","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.16.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.51_1784089516311_0.8982390245079845","host":"s3://npm-registry-packages-npm-production"}},"0.4.52":{"name":"@granular-software/sdk","version":"0.4.52","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.52","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"473a4a52c0635650ab872c42b2174d56673e58d1","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.52.tgz","fileCount":31,"integrity":"sha512-DlmUwXaL1bWmyfEsMuBJGcbALhIepWN2Ir2yYur6sp5RGyfSoP1IDP1ulr+mn2HIRM4hS4YFcAKgqmyu3S4gfg==","signatures":[{"sig":"MEUCIAs1jggmmAJzFYut9zqKnrEXaVmI4gYiwMGl3is9HviKAiEA/oOknqfthQBMLKhmbT/eOw1JlStto7kNI1y90UQG158=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12502431},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"6c40a9dc881c21c1a3e45a49182f329a50092bb2","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.16.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.52_1784225976078_0.11573322652386375","host":"s3://npm-registry-packages-npm-production"}},"0.4.53":{"name":"@granular-software/sdk","version":"0.4.53","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.53","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"1b4f3fc20ccdb7cc6e28350a677f7d9ed458fc83","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.53.tgz","fileCount":31,"integrity":"sha512-jjDJsn9BMcS63EjUNPXM2/07Ei79aHry9d6/GGbozuL8v5FLjQVjRnyqcwrTmAMpT8DU6Q/8t+FAA71PkPp2Mw==","signatures":[{"sig":"MEYCIQCL1EqaYmjm9bWoN+muDWUhk390BqrdWnzcbuT6iFiB8wIhALIC829QIQew9czeqlVJ0R5Zc/J4NfihD60ux1M6eUYF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12528529},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"8acd90dcd474b5c2d8947f2afdfbda02241215ec","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.16.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.53_1784281831558_0.5665887064800301","host":"s3://npm-registry-packages-npm-production"}},"0.4.54":{"name":"@granular-software/sdk","version":"0.4.54","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.54","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"b19392865491146d60635bca2351557fbb182ebd","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.54.tgz","fileCount":31,"integrity":"sha512-wDnzGsIQ3vqPMEGY53W51hsXuLfaO2Bf8ztu+TnBhw9cKeF+aVvhr4y7kgH9wodeaF0v1FPgXwqDyo/lQ12R/Q==","signatures":[{"sig":"MEUCIQDejdwEjoeT/bUMtEBeYajXJDwxvgjto5jMZ5PGVxrUagIgbipR8KfDWVjDbot7k6Ad6vUUV2ZU9+aXJT1ZyHDBBt4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12537439},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"2fe438e8aa5ebf6f6877d4cf31cd570d34b69b09","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.16.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.54_1784917594292_0.45030612760212385","host":"s3://npm-registry-packages-npm-production"}},"0.4.55":{"name":"@granular-software/sdk","version":"0.4.55","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.55","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"83d3064b9a76f58eee0bc49da7fac725f1799052","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.55.tgz","fileCount":31,"integrity":"sha512-3jdjYMOjVGeICPuEH1/cRAcnfzz+BU2aXBXV8D2UO5UxyjJLJnjXtqCDe/OAqT7CLOL/mdcQtv0doxtkgygWKw==","signatures":[{"sig":"MEQCIDm5f8nTHbGT7U6qB8bdNGIeFhCz7fQ8sZJsJkU1X+73AiBp/u0ezQMsP3EyiRxsn7vWfOeafTfmhRdM86e2VPO+RA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12538215},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"6728329f24093808161bc1a941ec45c6a0c2231c","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.16.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.55_1784938129312_0.10436099380329367","host":"s3://npm-registry-packages-npm-production"}},"0.4.56":{"name":"@granular-software/sdk","version":"0.4.56","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.56","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"865f7c102c4b2bc752119295b4d01d61f46abc14","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.56.tgz","fileCount":31,"integrity":"sha512-bfPC1gN62Vi8Qq2nmtBlLrNK8JwbHfJyXnuhJETr5o8La06kU4Wy8EW8qJOUwB+lWjVln5YLapmrjtAIBNIsxA==","signatures":[{"sig":"MEUCIQDS1o9PXHzHcBVHEL4d9tETLVSPaXa7KY/FstWfQrmVbAIgHEtZFekS4IiJHMqw5rx7/FIL2VAZYihRGMuDS+45hNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12538563},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"0c73beadfe1d18828940141692a6d3a9f46ca701","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.16.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.56_1785012130398_0.05913140550922913","host":"s3://npm-registry-packages-npm-production"}},"0.4.57":{"name":"@granular-software/sdk","version":"0.4.57","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.57","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"9b3e8a72458b151e901090be8fa95a13ad4fffdb","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.57.tgz","fileCount":31,"integrity":"sha512-Ipz+efcpY82fmJOTZ/imShqI8Q5gnH3/GGucr4pIkc4nnxKVKkKBoK4DxVzPzdEdFtZdzFD99CdMJu18UcgvRA==","signatures":[{"sig":"MEUCIEmWM79Jkhsbhthsk29ecO85H7BSxzbhoHpaCFgXptgTAiEA+5hcMN5FfVD+NB0XsZFux3Itv02R0ulliesmknluPjY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12538563},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"0bf6c53273991843b47a7a39db31d405aa6c2288","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.16.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.57_1785236420240_0.04687092459833453","host":"s3://npm-registry-packages-npm-production"}},"0.4.58":{"name":"@granular-software/sdk","version":"0.4.58","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.58","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"ce3b7d1286000e01e996ff15574e18284950924c","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.58.tgz","fileCount":31,"integrity":"sha512-UtvcOQRU3h6YHD3SF3/I85hpTPJ8EYxazE/Absmudi//Ku4xreE3cREaGqKSQawKMzoRSs6Ya02d15ZhfoDP+Q==","signatures":[{"sig":"MEUCIQDNl734WY7MKWR4crf4Et4EfuUk08sAdpMbW1sZtXprjwIgJHRHWNG3fdmP+blXddegFhs1+nXuGmriMkmAFcYnOkY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12577067},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"e56160cc597a5b11272319d4aab6a9e6dfd2edb5","scripts":{"dev":"tsup --watch","test":"npm run build && node --test test/**/*.test.mjs","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.16.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.58_1786518531363_0.2699356305533831","host":"s3://npm-registry-packages-npm-production"}},"0.4.59":{"name":"@granular-software/sdk","version":"0.4.59","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.59","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"650f2cff285e87e18a68430858139ed215147a87","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.59.tgz","fileCount":31,"integrity":"sha512-ybu6LWchYrjLiicAXlEnVDGO+4ygAnyYzg2j6OsJNg2PnCoiGkQz7aBE9t1IU4I8Pfhv26izwNLLNZonssLLgA==","signatures":[{"sig":"MEYCIQChmJDKwTBCFBY+S3SHq2KpuEguX9NJh0DQpLD5Hq0t9QIhAOwgEkLkMlKioR32dphpIABvHYNSCZ/ogFqB3H/djDH3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13439478},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"f548348a5999f9c07c3c43d637ab24df36b1132d","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.17.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.59_1786903944778_0.27848497186773713","host":"s3://npm-registry-packages-npm-production"}},"0.4.60":{"name":"@granular-software/sdk","version":"0.4.60","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.60","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"74899606362ba2d7950657690d253a79d0c303aa","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.60.tgz","fileCount":31,"integrity":"sha512-mGiZrWQxNsh7cixtoENwxx8taZpf1khw/d1ei/ABxBE4SB81+OD9Scxp0fWt9tK89YjrtHwgHhygEUKp4hdglw==","signatures":[{"sig":"MEUCIE1hHGU/ko/j6qWJVg80ETCRH2A8cUCqrkpSAl3546o0AiEA0KPyh7LWbF4QLNDgC/8rlE+HL9zO3bhkUGCJR2Q2f3Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13441656},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"05527bfe7fb3553605c2fe9ddd37610f50836a65","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.17.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.60_1787261109570_0.2963165727170136","host":"s3://npm-registry-packages-npm-production"}},"0.4.61":{"name":"@granular-software/sdk","version":"0.4.61","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.61","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"1095381f5db0c2cb05afe7f9f60f5bfe8b9a4c75","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.61.tgz","fileCount":31,"integrity":"sha512-axbjuJ6ns3Ozzu2lsiRXM2oLsmMiUtH3z6IXh/nZSCUwI6kQCnNdzpG9KAwuiAmh+BZTx1iE9H1IzDPFX+Lxmw==","signatures":[{"sig":"MEQCIDbWgoKoyYyYF4N1X0fAhyKEwD+uPTizAmwEsEOS3lTLAiBUz3chKh/hodpSh+h4lu/PmYW6cGTkH4qjB8DnFOtwQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13442331},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"482b526adf0b08d2cd5ed896202c668af14d24b7","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.17.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.61_1787344589417_0.23567857391249958","host":"s3://npm-registry-packages-npm-production"}},"0.4.62":{"name":"@granular-software/sdk","version":"0.4.62","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.62","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"8fb0fad71f020b7576f22992ed649a00e96ca320","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.62.tgz","fileCount":31,"integrity":"sha512-dLDIBkga7sRCO8htbuivKSuY5Lr5OqODagqqcKpJWk1ZWxG3pLzMDN256BKOKyOEJrKjxSkissl6mwp6W4Nkfw==","signatures":[{"sig":"MEUCIClqtojSNFph3YL/jTt4vrnY4bE3g4O4Yc+zSsYZka9+AiEA9QutQC2/sQQ0zc/oHJiBKyIC53k2UjPIHDb1xrzBla0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13459935},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"cbbd35dc3c83008d63ed96de595605a35f5405c8","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.17.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.62_1787566273508_0.13418871617952988","host":"s3://npm-registry-packages-npm-production"}},"0.4.63":{"name":"@granular-software/sdk","version":"0.4.63","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.63","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"076480351a31d7d5a63e1e53ae1156d75a2725dc","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.63.tgz","fileCount":31,"integrity":"sha512-CH5XSJu60MgwpUlzgb/TioenkyaFJIr9dyW9561UD0FoO1Aen/BrI5Fh7G+4Krw/Uj/hjSFnPNQbThuYuUJamw==","signatures":[{"sig":"MEUCIQDSL4sJr8kOzXYMKfut7FUD/xTKCVY5+OFQWgBjaXq4HAIgditVLPmxeF2bFZxtuxkhbfmMF+Yjj2ePrhIysA1Wa9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13476560},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"49f629e4c98ceb2073e185abd2910da035c5022b","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.17.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.63_1787671243631_0.1672904677694318","host":"s3://npm-registry-packages-npm-production"}},"0.4.64":{"name":"@granular-software/sdk","version":"0.4.64","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.64","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"66be1b1aa909ba72c7f66137c12ada752fdb5fe6","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.64.tgz","fileCount":31,"integrity":"sha512-C2eqVhqAPGZhPpnmc2rqulWhkIysr7y4ajoF4rxrMfAkp2if5ndHM56rY39lYR0qU8GkEm1RUQFCu2ZE50o53Q==","signatures":[{"sig":"MEQCIEecrR1cGVIiHo4J6x7iWSXS8TTJ6yPGW0A5PIYPYWNJAiAyD1RiB+ChsFBGNObQsuSgfyZBdfaeCMTuzhsyiSF+Ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13492266},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"c3d4502049dc93c1c051919bcf07fa88e00a42bc","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.17.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.64_1787812732347_0.6249949067837386","host":"s3://npm-registry-packages-npm-production"}},"0.4.65":{"name":"@granular-software/sdk","version":"0.4.65","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.65","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"c6b6dee5f2e0304c4924972ed2913d7531cab611","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.65.tgz","fileCount":31,"integrity":"sha512-69vVfBHP1BUMWnAJmGligQnXrEbTaaPTgcESQs+vxuLkqz1phljAHBKjxyAMtuMVkbrpcpZxQLWt1utnyGVKSA==","signatures":[{"sig":"MEQCIHX34KQquEAMrh4+lypk15lhtwI6FMT99MeJeyluVZChAiBND7lEzFnHlAnL/q3TLrZp0tA+C/Y2ei/oc9wVe9KupA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13937815},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"0ae156e79cd1ef5310cd0f8364442a4f4ac8caa1","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.17.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.65_1788079719842_0.36602774101367275","host":"s3://npm-registry-packages-npm-production"}},"0.4.66":{"name":"@granular-software/sdk","version":"0.4.66","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.66","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"1084167e0dbd8035fd0e3a973fe5c99d1d7139af","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.66.tgz","fileCount":31,"integrity":"sha512-0lWd5srZ+GHN2jlNCSfy4Rh8Z8piVnVNmNzDyplwHdSaezuzFQcnj7lJAm/Mmu4VaRmtU6qaz8X5A+1T5hbW2w==","signatures":[{"sig":"MEUCIECb7B6aI/+Iqnu+dMhP7ecxgBK+IW/Iovesn0M1AifTAiEAtrULXyHx6kZTVmGpn9sLOcrXoYegB7Wd4Tt9nD7JyRA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13939645},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"5a13d352c242a23a0be549eb4187ae76a2c405c2","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.17.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.66_1788088953904_0.08176938328400074","host":"s3://npm-registry-packages-npm-production"}},"0.4.67":{"name":"@granular-software/sdk","version":"0.4.67","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.67","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"c512a0d159e47d1f5e025519c3e2425b97ffe871","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.67.tgz","fileCount":31,"integrity":"sha512-nf4yUjFsMb1BhbkJ/SykQBGv6bIz15J8DYMuvACjY4gtFswNilavR0hcFh9SOGvA5MC3CGRMuGF6UrsaHIX/WA==","signatures":[{"sig":"MEQCIG+qtu7eF3NIE7u6uTaDndvhe/NxfkSCjdTCosiFiv4HAiBJU4ceNmPqYRPLTJAoJGm0HdSF0BNUJL6Iy3rsc+LHZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14061120},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"f65e219d79de3763f3894f219e161f80d5c7dcaf","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.17.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.67_1788454732852_0.4186835263265729","host":"s3://npm-registry-packages-npm-production"}},"0.4.68":{"name":"@granular-software/sdk","version":"0.4.68","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.68","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"1e74f026389de8a624248d7361a65f39976464dd","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.68.tgz","fileCount":31,"integrity":"sha512-E7ZkqfFOXIRS9yeZQZ/QT1YAMWmN4IYx+csX126SUS/BgJWAudK00qvTssJ5kr/MH8o7kYFVqedqQCgOnV0t5w==","signatures":[{"sig":"MEUCIAiqHVoFdOo8l/e9ho7rO+NKEG9jBB6BCXIdnV52XYPdAiEAsDLxPMwcPh8P/B8DRykSeBOA6P2XtPjI7DjQfgC2Qpg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14128406},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"461f7253b1c4413e407dea00433b7fe69fa5985d","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.19.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.68_1788646306772_0.8772339520379866","host":"s3://npm-registry-packages-npm-production"}},"0.4.69":{"name":"@granular-software/sdk","version":"0.4.69","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.69","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"a087101a618e95eacca60825a9907b8f3c5ed241","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.69.tgz","fileCount":31,"integrity":"sha512-sfNQXBiYuWJFU3AJagWjCaru/ZHsgK2aA0N3yVQBhBEXGAZg3OgrB2B0EkEGsxFaDpK2S5RhVZvf4SmSAIE0ew==","signatures":[{"sig":"MEYCIQCNTwCCcfP0toR0ZmfhkJb1iIGW2WSKTolAMr+Bhx4vMgIhALmrnoKGIYzQqNudipTacYPaJuM10SEB4DBLpzTKfi6V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14131314},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"}},"gitHead":"408de406709de7f13228a5a45087db7cded7f8b6","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.19.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.69_1789201569293_0.4811228620038579","host":"s3://npm-registry-packages-npm-production"}},"0.4.70":{"name":"@granular-software/sdk","version":"0.4.70","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.70","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"0cce2bcc265b1c3a1c7f1f5171ad4628aaf49666","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.70.tgz","fileCount":37,"integrity":"sha512-9Vg0d8HOrHRdsFiQPXWU399aPD90B/xQLhm0kBlOgcR9Z0HGDFkHHbfGPQuFEgbhVgF1vh6GQNbZ86OV82DKVQ==","signatures":[{"sig":"MEYCIQCBrMoh+0JJE5KIbmkMsbQwByCLqZjUbXH/PwRsoKKNwQIhALH1sydYCtVJ9cmlDq9v3esemOcuGm/yuVY5vERu/IUZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14216053},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"},"./delegated-auth":{"types":"./dist/delegated-auth.d.ts","import":"./dist/delegated-auth.mjs","require":"./dist/delegated-auth.js"}},"gitHead":"edc002417cad723648b5fa5b5438f13168e3de20","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.19.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.70_1789245169736_0.30061300140766867","host":"s3://npm-registry-packages-npm-production"}},"0.4.71":{"name":"@granular-software/sdk","version":"0.4.71","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.71","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"7e2f1ddf4b72b618c7f6af7d37e588ac7b882923","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.71.tgz","fileCount":37,"integrity":"sha512-BPZx+HSiGXKeuMYghJs/Fic9nhnAvasFG9sr3PxPOWdwpD7SEPXnwUiARkmW1t7R8jjSJilawJchHS9gZf0VGQ==","signatures":[{"sig":"MEUCIBsUtKgUJ2kFWZftso+awIEBDwfgj4lNue2sMvkjNgizAiEA6NTSlmcaoBlIBGyjvqGZo9j0SssOpXR15GVIOEMZrrQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGecHBnKrtQnlaK83Wn419vw8DwXT3MZ0v1rNfwFPiFFAiEA7bbsnodaxpz65l3/DXKX11m02zhhA+xVVhhp5L8+vLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14801326},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"},"./delegated-auth":{"types":"./dist/delegated-auth.d.ts","import":"./dist/delegated-auth.mjs","require":"./dist/delegated-auth.js"}},"gitHead":"3e387ec787abba6a6979bbbc3cb56ea7d1d32fa1","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.19.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.71_1790035661596_0.9496881981482814","host":"s3://npm-registry-packages-npm-production"}},"0.4.72":{"name":"@granular-software/sdk","version":"0.4.72","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"author":{"name":"Granular Team"},"license":"MIT","_id":"@granular-software/sdk@0.4.72","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"homepage":"https://github.com/ahirel/granular-software#readme","bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"bin":{"granular":"dist/cli/index.js"},"dist":{"shasum":"392e1cce5fd43ecfcaab165e2c4ef9003d9d9375","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.72.tgz","fileCount":37,"integrity":"sha512-7duj+m46Pce3D3/FSHIFm7dJe5bTAH0dftGuz/aDvdOHzLgMJoCGi4/cMSpkODoGxifjbVVYc73mkgmdulUv/A==","signatures":[{"sig":"MEYCIQCPh7YuaAoSN9VVtba3prlLhn2cKm6hBi1TEIijFl6wtQIhANH6coM7mx7gmDmJY6qUKWIx0M5BMh+lw42sgbbkHOd4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD2MXkv92qqSHEw8vJqSbVcRcmHUjbNNFNkcZQ+DCdmkAIhAP9/nhaWWAHXamITkxWOAdo0yXjJzd6k0YDH6QpH9naM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14802628},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"},"./delegated-auth":{"types":"./dist/delegated-auth.d.ts","import":"./dist/delegated-auth.mjs","require":"./dist/delegated-auth.js"}},"gitHead":"1f5799c975057bd8fff0a64e80f751792f558e3f","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"11.19.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.4.72_1790114486558_0.8365038547210539","host":"s3://npm-registry-packages-npm-production"}},"0.4.73":{"_id":"@granular-software/sdk@0.4.73","bin":{"granular":"dist/cli/index.js"},"bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"dist":{"shasum":"c4a5975ced0a012137db4ae7a545730df537b5af","tarball":"https://registry.npmjs.org/@granular-software/sdk/-/sdk-0.4.73.tgz","fileCount":37,"integrity":"sha512-PToeKEIcEqs5MBOsqXEdJeX8dPlWp7JcpDMBOCEA5oIDQI+k4upFXgejrL069ARKpf/EvS51O65ZN3zi7Mku2g==","signatures":[{"sig":"MEYCIQD6NEv3cjHxEQ/jR6OZD7sSX12bzN9Qi+fgdOIKlCeOSAIhAIYoeBYwBcwsrmVRvETUio2Xlw50DSmd7td0QtxG4xh1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCZIAUVJLdm/f5nbcO/enmmzO0K+4OpgcclniVC1qbI7wIhAO3w5IsTz8ASxpg37cVBasg/b/nR0NsNz1Tzb/YfJEzc"}],"unpackedSize":14863985},"main":"./dist/index.js","name":"@granular-software/sdk","types":"./dist/index.d.ts","author":{"name":"Granular Team"},"module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./spend":{"types":"./dist/spend.d.ts","import":"./dist/spend.mjs","require":"./dist/spend.js"},"./agent-evals":{"types":"./dist/agent-evals.d.ts","import":"./dist/agent-evals.mjs","require":"./dist/agent-evals.js"},"./agent-harness":{"types":"./dist/agent-harness.d.ts","import":"./dist/agent-harness.mjs","require":"./dist/agent-harness.js"},"./delegated-auth":{"types":"./dist/delegated-auth.d.ts","import":"./dist/delegated-auth.mjs","require":"./dist/delegated-auth.js"}},"gitHead":"1adda510bda4350490cb1dd86d54940db531bd1f","license":"MIT","scripts":{"dev":"tsup --watch","test":"npm run test:source && npm run test:runtime","build":"tsup","clean":"rm -rf dist","deploy":"npm run build && npm publish --access public","typecheck":"tsc --noEmit","test:source":"bun test src","test:runtime":"npm run build && node --test test/**/*.test.mjs","prepublishOnly":"npm run build","test:feed-contract":"bun test src/feed-chronology.contract.test.ts"},"version":"0.4.73","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"62ae84bb-1ea6-43e5-9ab6-77827f626aa4"}},"homepage":"https://github.com/ahirel/granular-software#readme","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"_npmVersion":"12.2.0","description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","directories":{},"maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"ora":"^8.2.0","chalk":"^5.4.1","dotenv":"^16.4.7","openai":"^6.38.0","chokidar":"^4.0.3","commander":"^13.1.0","zod-to-json-schema":"^3.25.1","@automerge/automerge":"^3.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.0","zod":"3.25.76","tsup":"8.5.0","vitest":"^3.2.4","@types/ws":"^8.18.1","typescript":"^5.0.0","@types/node":"^25.2.3","@types/commander":"^2.12.5","@granular-software/policy-engine":"workspace:*","@granular-software/metamodel-core":"workspace:*","@granular-software/metamodel-preset-default":"workspace:*","@granular-software/metamodel-validation-rule":"workspace:*","@granular-software/metamodel-effect-behaviors":"workspace:*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.4.73_1790922671148_0.19527767858816958"}}},"time":{"created":"2026-02-09T22:05:57.862Z","modified":"2026-10-02T06:31:11.585Z","0.1.0":"2026-02-09T22:05:58.125Z","0.2.0":"2026-02-18T08:27:23.160Z","0.2.1":"2026-02-20T12:43:45.859Z","0.3.1":"2026-02-25T17:14:17.065Z","0.3.2":"2026-02-27T08:00:00.927Z","0.3.3":"2026-02-28T09:25:09.445Z","0.3.4":"2026-03-02T20:06:34.694Z","0.4.1":"2026-03-06T16:16:04.810Z","0.4.2":"2026-03-10T09:48:30.664Z","0.4.3":"2026-03-10T11:16:11.332Z","0.4.4":"2026-03-13T08:43:43.307Z","0.4.5":"2026-03-13T18:37:50.782Z","0.4.6":"2026-03-13T23:46:21.526Z","0.4.7":"2026-03-14T16:18:19.179Z","0.4.8":"2026-03-15T22:12:39.760Z","0.4.9":"2026-03-18T16:59:00.426Z","0.4.10":"2026-03-19T22:54:28.027Z","0.4.11":"2026-03-22T22:20:41.347Z","0.4.12":"2026-03-24T22:35:39.200Z","0.4.13":"2026-03-27T22:13:48.344Z","0.4.14":"2026-03-29T18:49:20.629Z","0.4.15":"2026-03-30T21:32:23.090Z","0.4.16":"2026-03-31T14:45:36.671Z","0.4.17":"2026-04-04T11:19:02.653Z","0.4.18":"2026-04-06T09:46:53.950Z","0.4.19":"2026-04-10T09:13:19.618Z","0.4.20":"2026-04-11T22:25:33.100Z","0.4.21":"2026-04-15T14:34:48.546Z","0.4.22":"2026-04-17T10:14:51.244Z","0.4.23":"2026-04-17T13:12:45.857Z","0.4.24":"2026-04-17T15:38:21.363Z","0.4.25":"2026-04-17T23:37:18.985Z","0.4.26":"2026-04-18T11:59:40.807Z","0.4.27":"2026-04-19T13:19:15.251Z","0.4.28":"2026-04-19T18:36:45.008Z","0.4.29":"2026-04-21T10:01:00.258Z","0.4.30":"2026-04-22T18:04:04.087Z","0.4.31":"2026-04-23T18:45:45.790Z","0.4.32":"2026-04-25T11:37:07.027Z","0.4.33":"2026-04-26T12:19:29.149Z","0.4.34":"2026-04-26T13:03:35.604Z","0.4.35":"2026-04-28T08:42:16.605Z","0.4.36":"2026-04-28T09:41:48.897Z","0.4.37":"2026-05-19T18:14:49.734Z","0.4.38":"2026-05-20T13:58:48.001Z","0.4.39":"2026-05-23T19:21:11.523Z","0.4.40":"2026-05-23T21:28:39.371Z","0.4.41":"2026-05-24T07:59:01.559Z","0.4.42":"2026-05-25T21:31:56.742Z","0.4.43":"2026-05-30T17:00:51.135Z","0.4.44":"2026-05-30T18:12:32.206Z","0.4.45":"2026-05-30T19:50:08.940Z","0.4.46":"2026-06-09T19:32:25.135Z","0.4.47":"2026-06-13T11:36:38.251Z","0.4.48":"2026-06-24T18:08:31.150Z","0.4.49":"2026-06-30T18:53:50.318Z","0.4.50":"2026-07-07T21:47:57.755Z","0.4.51":"2026-07-15T04:25:16.492Z","0.4.52":"2026-07-16T18:19:36.284Z","0.4.53":"2026-07-17T09:50:31.810Z","0.4.54":"2026-07-24T18:26:34.536Z","0.4.55":"2026-07-25T00:08:49.529Z","0.4.56":"2026-07-25T20:42:10.616Z","0.4.57":"2026-07-28T11:00:20.450Z","0.4.58":"2026-08-12T07:08:51.582Z","0.4.59":"2026-08-16T18:12:25.010Z","0.4.60":"2026-08-20T21:25:09.869Z","0.4.61":"2026-08-21T20:36:29.778Z","0.4.62":"2026-08-24T10:11:13.747Z","0.4.63":"2026-08-25T15:20:43.875Z","0.4.64":"2026-08-27T06:38:52.578Z","0.4.65":"2026-08-30T08:48:40.045Z","0.4.66":"2026-08-30T11:22:34.117Z","0.4.67":"2026-09-03T16:58:53.143Z","0.4.68":"2026-09-05T22:11:47.007Z","0.4.69":"2026-09-12T08:26:09.499Z","0.4.70":"2026-09-12T20:32:49.967Z","0.4.71":"2026-09-22T00:07:41.785Z","0.4.72":"2026-09-22T22:01:26.718Z","0.4.73":"2026-10-02T06:31:11.374Z"},"bugs":{"url":"https://github.com/ahirel/granular-software/issues"},"author":{"name":"Granular Team"},"license":"MIT","homepage":"https://github.com/ahirel/granular-software#readme","keywords":["granular","sdk","cli","ai","agent","tools","sandbox"],"repository":{"url":"git+https://github.com/ahirel/granular-software.git","type":"git","directory":"packages/granular-sdk"},"description":"TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes","maintainers":[{"name":"ahirel","email":"arthurhirel@gmail.com"}],"readme":"# @granular-software/sdk\n\nThe official TypeScript SDK for Granular.\n\n**Build AI-powered domain models with secure, isolated execution.** Granular lets you define ontologies (classes, relationships), attach tools to them, and run AI-generated code that operates on typed domain objects — all in a sandboxed environment with per-user permissions.\n\n## Features\n\n- 🏗️ **Domain Ontology** — Define classes, properties, and relationships as a typed graph\n- 🔧 **Class-Based Tools** — Attach instance methods, static methods, and global tools with typed I/O\n- 🤖 **Domain Synthesis** — Auto-generated TypeScript classes with `get({ path })`, `list()`, relationship accessors, and typed methods\n- 🔒 **Secure Execution** — Run AI-generated code in isolated sandboxes\n- 👥 **User Permissions** — Control what each user can access\n- ⚡ **Real-time** — WebSocket-based streaming and events\n- ↩️ **Reverse RPC** — Sandbox code calls tools that execute on your server\n\n## Documentation\n\nFull documentation: [docs.granular.dev](https://docs.granular.dev)\n\n## Installation\n\n```bash\nbun add @granular-software/sdk\n# or\nnpm install @granular-software/sdk\n```\n\nInside this monorepo, prefer the workspace package instead of installing from npm separately.\n\n## Endpoint Modes\n\nBy default, the SDK resolves endpoints like this:\n\n- Local mode (`NODE_ENV=development`): `ws://localhost:8787/granular`\n- Production mode (default): `wss://cf-api-gateway.arthur6084.workers.dev/granular`\n\nOverrides:\n\n- SDK option: `endpointMode: 'local' | 'production'`\n- SDK option: `apiUrl: 'ws://... | wss://...'` (highest priority)\n- Env: `GRANULAR_ENDPOINT_MODE=local|production`\n- Env: `GRANULAR_API_URL=...` (highest priority)\n\nCLI overrides:\n\n- `granular --local <command>`\n- `granular --prod <command>`\n- `granular --env local|production <command>`\n\nWhen the resolved API URL points at `localhost` or `127.0.0.1`, the SDK and CLI automatically swap opaque `sk_...` WorkOS keys for the local dev key `gn_sk_tenant_default_principal_local_e2e_00000000` so local runs work without server-side WorkOS validation. Override with `GRANULAR_LOCAL_API_KEY=...` or disable with `GRANULAR_DISABLE_LOCAL_API_KEY_FALLBACK=true`.\n\n## Agent documentation (CLI)\n\nProjects created with `granular init` can include Markdown for coding agents (optional `AGENTS.md` plus generated guides):\n\n- **`docs/granular-manifest.md`** — **What Granular is**, glossary, manifest → version → build run → connect → jobs, **`granular.json`** syntax (**fields**, **relationships**, **effects**), **`@granular-software/sdk`** map, CLI. Self-contained for agents new to the product. Added when you opt in at init (`--agent-docs` / `--no-agent-docs`, or the prompt).\n- **`GRANULAR_SANDBOX.md`** — **This sandbox’s ontology** snapshot: ids, exact names/keys, effect schemas, snippets. Updated after each successful **`granular build`**, **`granular deploy`**, and **`granular dev`** rebuild, and on **`granular document`** (run `build` to record version/build metadata).\n- **`AGENTS.md`** — Two-step index: manifest guide first, then sandbox doc (merged idempotently with `<!-- granular-sdk:begin -->`).\n\n## Quick Start\n\n```typescript\nimport { Granular, type ManifestContent } from \"@granular-software/sdk\";\n\nconst granular = new Granular({ apiKey: process.env.GRANULAR_API_KEY });\n\n// 1. Connect to the default dev environment for one of your app users\nconst env = await granular.openEnvironment({\n  ontology: \"my-ontology\",\n  tag: \"dev\",\n  userId: \"user_123\",\n  permissions: [\"allow-all\"],\n  name: \"Jane Doe\", // optional\n  email: \"jane@example.com\", // optional\n});\n\n// 2. Define your domain ontology\nconst manifest: ManifestContent = {\n  schemaVersion: 2,\n  name: \"my-app\",\n  volumes: [\n    {\n      name: \"schema\",\n      scope: \"sandbox\",\n      imports: [{ alias: \"@std\", name: \"standard_modules\", label: \"prod\" }],\n      operations: [\n        // Define classes with typed properties\n        {\n          create: \"customer\",\n          extends: \"@std/class\",\n          has: {\n            name: { type: \"string\", description: \"Customer name\" },\n            email: { type: \"string\", description: \"Email address\" },\n            tier: { type: \"string\", description: \"Subscription tier\" },\n          },\n        },\n        {\n          create: \"order\",\n          extends: \"@std/class\",\n          has: {\n            total: { type: \"number\", description: \"Order total\" },\n            status: { type: \"string\", description: \"Order status\" },\n          },\n        },\n        // Define relationships\n        {\n          defineRelationship: {\n            left: \"customer\",\n            right: \"order\",\n            leftSubmodel: \"orders\",\n            rightSubmodel: \"customer\",\n            leftIsMany: true,\n            rightIsMany: false,\n          },\n        },\n      ],\n    },\n  ],\n};\n\nawait env.applyManifest(manifest);\n\n// 3. Record object instances\nawait env.recordObject({\n  className: \"customer\",\n  id: \"cust_42\",\n  label: \"Acme Corp\",\n  fields: { name: \"Acme Corp\", email: \"billing@acme.com\", tier: \"enterprise\" },\n});\n\n// 4. Register live effect handlers for effects already declared in the ontology manifest\nawait granular.ontology(env.sandboxId).effects.registerMany([\n  {\n    name: \"get_billing_summary\",\n    description: \"Get billing summary for a customer\",\n    className: \"customer\", // Attached to Customer class\n    // static omitted → instance method (receives object ID automatically)\n    inputSchema: {\n      type: \"object\",\n      properties: {\n        period: {\n          type: \"string\",\n          description: 'Billing period (e.g. \"2024-Q1\")',\n        },\n      },\n    },\n    outputSchema: {\n      type: \"object\",\n      properties: {\n        total: { type: \"number\", description: \"Total billed amount\" },\n        invoices: { type: \"number\", description: \"Number of invoices\" },\n        period: { type: \"string\", description: \"The billing period\" },\n      },\n      required: [\"total\", \"invoices\"],\n    },\n    handler: async (customerId: string, params: any, ctx: any) => {\n      // customerId comes from `this.id` in sandbox code\n      console.log(\"Running for subject:\", ctx.user.subjectId);\n      return {\n        total: 4250.0,\n        invoices: 3,\n        period: params?.period || \"current\",\n      };\n    },\n  },\n]);\n\n// 6. Submit a job — the sandbox gets fully typed OOP classes!\nconst session = await env.sessions.create();\nconst job = await session.submitJob(`\n  import { Customer } from \"@granular/domain/Customer\";\n\n  // list() discovers instances; get({ path }) hydrates a specific graph object\n  const customers = await Customer.list();\n  const acme = customers.find((customer) => customer.name === 'Acme Corp');\n  if (!acme) throw new Error('Customer not found');\n  console.log(acme.name);   // \"Acme Corp\"\n  console.log(acme.email);  // \"billing@acme.com\"\n\n  // Instance method — typed input AND output\n  const billing = await acme.get_billing_summary({ period: '2024-Q1' });\n  // billing.total, billing.invoices, billing.period are all typed\n\n  // Navigate relationships\n  const orders = await acme.get_orders();\n\n  return { customer: acme.name, billing, orderCount: orders.length };\n`);\n\nconst result = await job.result;\n```\n\nEffects must be declared ahead of time in the ontology version manifest with `withEffect`. Live registration only makes already-declared effects available at runtime.\n\n### Agent-selected result columns\n\nWhen an agent needs to show records with fields or calculations chosen for the\ncurrent question, it can project a result table in the job runtime:\n\n```typescript\nimport { relativeTime, showAgentResponse, table } from \"@granular/agent\";\n\nshowAgentResponse({\n  reply: \"Two recent orders need attention.\",\n  show: table(\n    recentOrders,\n    [\n      { label: \"Order\", value: (record) => record.label },\n      {\n        label: \"Status change\",\n        value: (record) => `${record.before_status} → ${record.after_status}`,\n      },\n      { label: \"Updated\", value: (record) => relativeTime(record.timestamp) },\n    ],\n    { label: \"Latest order changes\" },\n  ),\n});\n```\n\nThe callbacks run only inside the sandbox job. Granular persists the resolved\ncolumn labels, primitive cells, typed dates, relative times, and grounded row\nreferences—not executable functions—so the conversation remains durable and\nsafe to reopen in another browser.\n\n## Core Flow\n\n```\ndeclare effects in the manifest → `granular build` creates or reuses a version → `openEnvironment({ ontology, tag, userId })` resolves the user's environment → `recordObject()` or `recordObjects()` → `granular.ontology(...).effects.registerMany()` → `environment.sessions.create()` → `session.submitJob()`\n```\n\n1. **`openEnvironment()`** — Resolve or create an ontology environment for a given `userId`, returning an `Environment`\n2. **`recordUser()`** — Optional explicit user upsert when you want the returned `granularId`\n3. **`applyManifest()`** — Define your domain ontology (classes, properties, relationships)\n4. **`recordObject()` / `recordObjects()`** — Use `recordObject()` for one targeted upsert. Use `recordObjects()` for immediate multi-record writes with chunk progress.\n5. **`granular.ontology(...).effects.registerMany()`** — Register ontology-scoped live handlers for effects declared in the ontology manifest\n6. **`environment.sessions.create()` / `session.submitJob()`** — Open a live session and execute code against the sandbox runtime\n\n## Defining the Domain Ontology\n\nUse `applyManifest()` to declare classes, typed properties, and relationships:\n\n```typescript\nconst manifest: ManifestContent = {\n  schemaVersion: 2,\n  name: \"library-app\",\n  volumes: [\n    {\n      name: \"schema\",\n      scope: \"sandbox\",\n      imports: [{ alias: \"@std\", name: \"standard_modules\", label: \"prod\" }],\n      operations: [\n        // Classes with typed properties\n        {\n          create: \"author\",\n          extends: \"@std/class\",\n          has: {\n            name: { type: \"string\", description: \"Author full name\" },\n            birth_year: { type: \"number\", description: \"Year of birth\" },\n          },\n        },\n        {\n          create: \"book\",\n          extends: \"@std/class\",\n          has: {\n            title: { type: \"string\", description: \"Book title\" },\n            isbn: { type: \"string\", description: \"ISBN number\" },\n            published_year: { type: \"number\", description: \"Year published\" },\n          },\n        },\n\n        // Relationships (bidirectional, with cardinality)\n        {\n          defineRelationship: {\n            left: \"author\",\n            right: \"book\",\n            leftSubmodel: \"books\",\n            rightSubmodel: \"author\",\n            leftIsMany: true,\n            rightIsMany: false,\n            // → author.books (one-to-many), book.author (many-to-one)\n          },\n        },\n      ],\n    },\n  ],\n};\n\nawait env.applyManifest(manifest);\n```\n\n## Recording Object Instances\n\nAfter defining the ontology, connect as a user and populate it with data:\n\n```typescript\nconst env = await granular.openEnvironment({\n  ontology: \"library-app\",\n  tag: \"dev\",\n  userId: \"user_123\",\n  permissions: [\"allow-all\"],\n});\n\nconst [tolkien, lotr] = await env.recordObjects(\n  [\n    {\n      className: \"author\",\n      id: \"tolkien\", // Real-world ID (unique per class)\n      label: \"J.R.R. Tolkien\",\n      fields: { name: \"J.R.R. Tolkien\", birth_year: 1892 },\n    },\n    {\n      className: \"book\",\n      id: \"lotr\",\n      label: \"The Lord of the Rings\",\n      fields: {\n        title: \"The Lord of the Rings\",\n        isbn: \"978-0-618-64015-7\",\n        published_year: 1954,\n      },\n      relationships: { author: \"tolkien\" }, // Real-world ID — SDK resolves it automatically\n    },\n  ],\n  {\n    onChunkComplete(info) {\n      console.log(`Committed chunk ${info.chunkIndex + 1}/${info.totalChunks}`);\n    },\n  },\n);\n// tolkien.path → 'author_tolkien' (internal graph path, unique globally)\n// tolkien.id   → 'tolkien'        (real-world ID)\n// lotr.created → true             (false means the record already existed and was updated)\n```\n\n> **Cross-class ID uniqueness**: Two objects of different classes can share the same real-world ID (e.g., an `author` \"tolkien\" and a `publisher` \"tolkien\"). The SDK derives unique graph paths internally (`author_tolkien`, `publisher_tolkien`) so they never collide.\n\nFor one-off writes, `recordObject(...)` is still the clearest choice. For large fire-and-forget imports, use `enqueueRecordImport(...)` and poll `getRecordImport(...)` / `getRecordImportSummary()` for aggregate progress.\n\n## Effect Definitions\n\nEffects are declared in the manifest with `withEffect`, then their live handlers are registered at ontology scope. Effects can be **instance methods**, **static methods**, or **global functions**. Both `inputSchema` and `outputSchema` use JSON Schema:\n\n```typescript\nawait granular.ontology(env.sandboxId).effects.registerMany([\n  // Instance method: called as `tolkien.get_bio({ detailed: true })`\n  // Handler receives (objectId, params)\n  {\n    name: \"get_bio\",\n    description: \"Get biography of an author\",\n    className: \"author\", // Attached to Author class\n    // static: false (default)        // Instance method\n    inputSchema: {\n      type: \"object\",\n      properties: {\n        detailed: { type: \"boolean\", description: \"Include full details\" },\n      },\n    },\n    outputSchema: {\n      type: \"object\",\n      properties: {\n        bio: { type: \"string\", description: \"The biography text\" },\n        source: { type: \"string\", description: \"Source of the bio\" },\n      },\n      required: [\"bio\"],\n    },\n    handler: async (id: string, params: any, ctx: any) => {\n      return { bio: `Biography of ${id}`, source: \"database\" };\n    },\n  },\n\n  // Static method: called as `Author.search({ query: 'tolkien' })`\n  // Handler receives (params) — no object ID\n  {\n    name: \"search\",\n    description: \"Search for authors\",\n    className: \"author\",\n    static: true,\n    inputSchema: {\n      type: \"object\",\n      properties: { query: { type: \"string\" } },\n      required: [\"query\"],\n    },\n    outputSchema: {\n      type: \"object\",\n      properties: { results: { type: \"array\" } },\n    },\n    handler: async (params: any, ctx: any) => {\n      return { results: [`Found: ${params.query}`] };\n    },\n  },\n\n  // Global tool: called as `global_search({ query: 'rings' })`\n  // No className → standalone exported function\n  {\n    name: \"global_search\",\n    description: \"Search across everything\",\n    inputSchema: {\n      type: \"object\",\n      properties: { query: { type: \"string\" } },\n      required: [\"query\"],\n    },\n    outputSchema: {\n      type: \"object\",\n      properties: { results: { type: \"array\" } },\n    },\n    handler: async (params: any, ctx: any) => {\n      return { results: [`Result for: ${params.query}`] };\n    },\n  },\n]);\n```\n\n## Permission Profiles and Policies\n\nPolicies are versioned with the ontology. Author role profiles as JSON files under `permissions/`, then run `granular build` or `granular deploy`; the CLI validates and syncs those files before the build.\n\nBuilt-in profiles are materialized by `granular init` and `granular pull`:\n\n- `allow-all`: exposes every declared action unless manifest logic denies it.\n- `confirm-all`: exposes every declared action but requires confirmation.\n- `deny-all`: exposes no executable actions.\n\n`openEnvironment({ permissions: [...] })` resolves each entry by exact profile\nname or profile ID. Unknown entries fail before the SDK writes an assignment;\nthey are never generated as permissive profiles. The only compatibility\nexception is the explicit `allow-all` name, which the SDK may provision when it\nis missing. Sync custom, `confirm-all`, and `deny-all` profiles with\n`granular build` or `granular deploy` first. Map application roles to reviewed\nprofile names or IDs instead of forwarding unchecked end-user input.\n\nManifest-level logic policies live on effects and apply to every profile:\n\n```json\n{\n  \"withEffect\": {\n    \"name\": \"approve_ticket\",\n    \"attachedClass\": \"ticket\",\n    \"inputSchema\": {\n      \"type\": \"object\",\n      \"properties\": { \"note\": { \"type\": \"string\" } }\n    },\n    \"outputSchema\": {\n      \"type\": \"object\",\n      \"properties\": { \"ok\": { \"type\": \"boolean\" } }\n    },\n    \"metamodels\": {\n      \"policies\": {\n        \"denyWhen\": [\n          {\n            \"reason\": \"Locked tickets cannot be approved\",\n            \"when\": {\n              \"object\": {\n                \"path\": \"locked\",\n                \"operator\": \"eq\",\n                \"booleanValue\": true\n              }\n            }\n          }\n        ]\n      }\n    }\n  }\n}\n```\n\nPermission profile files define role-specific access:\n\n```json\n{\n  \"schemaVersion\": 1,\n  \"name\": \"reviewer\",\n  \"defaults\": { \"actionPolicy\": \"deny\" },\n  \"policies\": [\n    {\n      \"action\": \"approve_ticket\",\n      \"on\": \"ticket\",\n      \"decision\": \"allow\",\n      \"reason\": \"Active low-risk tickets can be approved\",\n      \"when\": {\n        \"all\": [\n          {\n            \"object\": {\n              \"path\": \"risk_score\",\n              \"operator\": \"lte\",\n              \"numberValue\": 50\n            }\n          },\n          {\n            \"stateMachine\": {\n              \"machine\": \"lifecycle\",\n              \"operator\": \"eq\",\n              \"stringValue\": \"active\"\n            }\n          }\n        ]\n      }\n    }\n  ],\n  \"actions\": [{ \"action\": \"comment_ticket\", \"on\": \"ticket\", \"allow\": \"always\" }]\n}\n```\n\nSupported profile features:\n\n- `defaults.actionPolicy`: `allow`, `confirm`, or `deny` (omitted means `deny`).\n- `extends`: inherit one parent profile; children cannot define `defaults`.\n- `policies[]`: cross-action or targeted rules with `decision` / `outcome` and `when`.\n- `actions[]`: `allow`, `confirm`, `deny`, `allowWhen`, `confirmWhen`, `denyWhen`, and numeric `limits`.\n- Conditions can read `input`, target `object` fields, and target `stateMachine` state, with `all`, `any`, and `not`.\n\nDecision precedence is deterministic: manifest deny, profile deny, confirmation rules, profile allow, then the profile default. Runtime blocks denied actions before the effect provider is invoked; confirmation rules use the normal human prompt flow.\n\nUseful CLI checks:\n\n```bash\ngranular permissions validate\ngranular permissions preview --profile reviewer --action approve_ticket --on ticket \\\n  --input '{\"note\":\"ok\"}' \\\n  --object '{\"risk_score\":40,\"locked\":false}' \\\n  --state-machines '{\"lifecycle\":\"active\"}'\n```\n\n## Domain Synthesis (Auto-Generated Types)\n\nAfter applying the manifest and publishing tools, the sandbox gets **auto-generated TypeScript classes** through Harness v3 imports such as `@granular/domain/<Class>`:\n\n```typescript\n// What the sandbox sees (auto-generated):\nexport interface SandboxPageResult<T> {\n  items: T[];\n  page: number;\n  perPage: number;\n  totalCount: number;\n  hasMore: boolean;\n}\n\nexport declare class Author {\n  readonly id: string;\n  readonly name: string;\n  readonly birth_year: number;\n\n  constructor(id: string, fields?: Record<string, any>);\n\n  /** Get a cached Author by graph path, hydrating from the graph when needed */\n  static get(query: {\n    path: string;\n    refresh?: boolean;\n  }): Promise<Author | null>;\n\n  /** Count Author instances without loading them into the heap */\n  static count(): Promise<number>;\n\n  /** Return one page of Author instances together with pagination metadata */\n  static page(query?: {\n    page?: number;\n    perPage?: number;\n    limit?: number;\n    saveAs?: string;\n    refresh?: boolean;\n  }): Promise<SandboxPageResult<Author>>;\n\n  /** List one page of Author instances */\n  static list(query?: {\n    page?: number;\n    perPage?: number;\n    limit?: number;\n    saveAs?: string;\n    refresh?: boolean;\n  }): Promise<Author[]>;\n\n  /** Stream Author instances page by page */\n  static iterate(query?: {\n    page?: number;\n    perPage?: number;\n    limit?: number;\n    maxItems?: number;\n    refresh?: boolean;\n  }): AsyncIterable<Author>;\n\n  /** Get biography of an author */\n  get_bio(input?: {\n    detailed?: boolean;\n  }): Promise<{ bio: string; source?: string }>;\n\n  /** Search for authors (static) */\n  static search(input: { query: string }): Promise<{ results?: any[] }>;\n\n  /** Navigate to books (one_to_many) */\n  get_books(): Promise<Book[]>;\n}\n\nexport declare class Book {\n  readonly id: string;\n  readonly title: string;\n  readonly isbn: string;\n  readonly published_year: number;\n\n  static get(query: { path: string; refresh?: boolean }): Promise<Book | null>;\n\n  static count(): Promise<number>;\n\n  static page(query?: {\n    page?: number;\n    perPage?: number;\n    limit?: number;\n    saveAs?: string;\n    refresh?: boolean;\n  }): Promise<SandboxPageResult<Book>>;\n\n  static list(query?: {\n    page?: number;\n    perPage?: number;\n    limit?: number;\n    saveAs?: string;\n    refresh?: boolean;\n  }): Promise<Book[]>;\n\n  static iterate(query?: {\n    page?: number;\n    perPage?: number;\n    limit?: number;\n    maxItems?: number;\n    refresh?: boolean;\n  }): AsyncIterable<Book>;\n\n  /** Navigate to author (many_to_one) */\n  get_author(): Promise<Author | null>;\n}\n\n/** Search across everything */\nexport declare function global_search(input: {\n  query: string;\n}): Promise<{ results?: any[] }>;\n```\n\nThe LLM or user writes code against these typed classes:\n\n```typescript\nimport { Author } from \"@granular/domain/Author\";\nimport { Book } from \"@granular/domain/Book\";\nimport { global_search } from \"@granular/actions/backend\";\n\nconst totalAuthors = await Author.count();\nconst firstPage = await Author.page({ page: 1, perPage: 25 });\nconst authors = firstPage.items;\nconst tolkien = authors.find((author) => author.name === \"J.R.R. Tolkien\");\nif (!tolkien) throw new Error(\"Author not found\");\nconsole.log(totalAuthors, firstPage.hasMore);\nconsole.log(tolkien.name); // \"J.R.R. Tolkien\"\n\nfor await (const author of Author.iterate({ perPage: 100, maxItems: 200 })) {\n  console.log(author.id);\n}\n\nconst bio = await tolkien.get_bio({ detailed: true });\nconsole.log(bio.bio); // typed as string\n\nconst books = await tolkien.get_books();\nfor (const book of books) {\n  console.log(book.title, book.isbn); // typed properties\n}\n\nconst results = await Author.search({ query: \"tolkien\" });\nconst globalResults = await global_search({ query: \"rings\" });\n```\n\n## GraphQL API\n\nEvery environment has a built-in GraphQL API for direct graph queries:\n\n```typescript\n// Authenticated automatically with your API key\nconst result = await env.graphql(\n  `query { model(path: \"author\") { path label submodels { path label } } }`,\n);\n\n// The endpoint is also available as a URL\nconsole.log(env.apiEndpoint);\n```\n\n## Framework Adapters\n\nFramework-specific adapters are temporarily unavailable while the SDK build and release flow is being stabilized in the monorepo.\n\n## Examples\n\nSee [examples/](./examples/) for runnable code:\n\n- **[basic.ts](./examples/basic.ts)** — Ontology + class-based tools + domain synthesis + job execution\n- **[management.ts](./examples/management.ts)** — Sandbox, permission profiles, and user management\n- **[interactive.ts](./examples/interactive.ts)** — Human-in-the-loop prompts\n\n## API Reference\n\n### `granular.recordUser(options)`\n\nRegisters a user identity and their assigned permission profiles.\n\n### `granular.openEnvironment(options)`\n\nResolves or creates an environment handle for the specified user. Pass `ontology` and a tag such as `tag: 'dev'` or `tag: 'prod'`.\n\n### `environment.applyManifest(manifest)`\n\nDefines domain ontology: classes (with typed properties), and relationships (with cardinality).\n\n### `environment.recordObject(options)`\n\nCreates or updates a class instance with fields and relationships. Returns `{ path, id, created }`.\n\n### `environment.recordObjects(records, options?)`\n\nBatch upsert for many instances. The SDK sends **chunks** (default **100** rows per HTTP `POST` to `/records/batch`) with **retries** on transient failures, so large arrays do not time out as a single oversized request.\n\nOptional **`options`**:\n\n- **`batchSize`** — max rows per request (default 100).\n- **`concurrency`** — how many chunk requests may run in parallel (default 1, max 16); can reduce wall time when the server can overlap work.\n- **`onChunkComplete`** — async-friendly hook after each chunk for progress UIs; the returned array is always ordered like `records`.\n\n**Sync batch vs queued import:** use **`recordObjects`** when you need **synchronous** commits and/or per-chunk feedback. Use **`enqueueRecordImport`** + **`getRecordImport` / `getRecordImportSummary`** for **background** ingestion with aggregate counters when admission latency matters more than immediate row-by-row completion.\n\n### `environment.getRelationships(modelPath)`\n\nReturns relationship definitions for a given class.\n\n### `environment.listRelated(modelPath, submodelPath)`\n\nLists related instances through a relationship.\n\n### `granular.ontology(sandboxId).effects.registerMany(effects)`\n\nRegisters ontology-scoped live handlers for effects declared in the ontology manifest. Effects can be instance methods (`className` set, `static` omitted), static methods (`static: true`), or global functions (no `className`).\n\n### `environment.sessions.create(options?)` / `session.submitJob(code)`\n\nOpen a live runtime session for the environment, then submit code to the sandbox. The code imports typed classes from Harness v3 modules such as `@granular/domain/<Class>`.\n\nPass `sessionScope` when one product has more than one independent conversation\nsurface. The scope is persisted with the session and can be reused as a hard\nhistory filter:\n\n```ts\nconst session = await env.sessions.create({\n  clientId: crypto.randomUUID(),\n  sessionScope: \"spendish-order-ops\",\n});\n\nconst firstPage = await env.sessions.list({\n  status: \"all\",\n  sessionScope: \"spendish-order-ops\",\n  limit: 25,\n  offset: 0,\n});\n```\n\nSession history is always bounded (100 rows by default, 500 maximum). Increment\n`offset` to fetch another page. For tenant-level tooling,\n`granular.listSessions()` also accepts `environmentId`, `sandboxId`, and\n`subjectId`; at least one ownership filter is required.\n\n### Canonical User And Assistant Ingress\n\nThe live session API has no mixed-role message append. Browser and server\ncallers append user input with an implicit user role:\n\n```ts\nawait session.appendUserMessage({\n  id: \"user_turn_42\",\n  operationId: \"send:user_turn_42\",\n  content: \"Compare the open requests.\",\n  show: { fileIds: [\"file_123\"] },\n});\n```\n\nOnly trusted API-key `EnvironmentSession` handles can publish a terminal\nassistant text occurrence:\n\n```ts\nawait session.publishAssistantReply({\n  id: \"assistant_turn_42\",\n  operationId: \"reply:assistant_turn_42\",\n  text: \"The comparison is ready.\",\n});\n```\n\nDelegated browsers cannot call `publishAssistantReply()`. Generated jobs should\nauthor messages and components with the trusted Harness feed helpers.\n\n### Live Session State And Durable Collections\n\n`session.document` and `session.getHeap()` are local, fast views of the live runtime state synced over the WebSocket.\n\nThe canonical customer-visible history is the server-sequenced feed. The\ntranscript is a message-oriented projection of that same feed. Timeline events\nand jobs are diagnostic collections; they are not presentation chronology.\nSaved heap artifacts remain available through their named collections:\n\n```ts\nconst session = await env.sessions.create();\n\nconst liveHeap = session.getHeap();\nconst feed = await session.feed.list({ afterSequence: 0, limit: 100 });\nconst transcript = await session.transcript.list({ limit: 100 });\nconst timeline = await session.timeline.list({ limit: 100 });\nconst jobs = await session.jobs.list({ status: \"all\", limit: 100 });\nconst job = await session.jobs.get(\"job_123\");\nconst entry = await session.heap.entries.get(\"customer_123\");\nconst savedList = await session.heap.lists.get(\"recent_customers\");\n```\n\nUse the live state for current resource lifecycle data, `feed.list()` for exact\ndurable presentation order, and `transcript.list()` when only message-like\nhistory is needed. Page the feed by server sequence; never reconstruct display\norder from timeline events, jobs, or timestamps.\n\n### `session.getDomainDocumentation()`\n\nGet auto-generated TypeScript class declarations. Pass this to LLMs to help them write correct code.\n\n### `environment.graphql(query, variables?)`\n\nExecute a GraphQL query against the environment's graph. Authenticated automatically.\n\n### `session.on(event, handler)`\n\nListen for events: `'effect:invoke'`, `'effect:result'`, `'job:status'`, `'stdout'`, etc. Legacy `'tool:*'` aliases still exist internally but are no longer the primary model.\n\n### `Environment.toGraphPath(className, id)`\n\nConvert a class name + real-world ID to a unique graph path (`{className}_{id}`).\n\n### `Environment.extractIdFromGraphPath(graphPath, className)`\n\nExtract the real-world ID from a graph path by stripping the class prefix.\n\n## License\n\nMIT\n\n## License\n\nMIT\n","readmeFilename":"README.md"}