{"_id":"@rightnowai/system-zero","_rev":"9-bfb24c74a280d17e25f9221534dc45ef","name":"@rightnowai/system-zero","dist-tags":{"latest":"0.4.2"},"versions":{"0.0.0-stage":{"name":"@rightnowai/system-zero","version":"0.0.0-stage","_id":"@rightnowai/system-zero@0.0.0-stage","stub":true,"maintainers":[{"name":"system-zero","email":"jaberib647@gmail.com"}],"dist":{"shasum":"1ec89f10344a248f1a365f66846016a5421a33cd","tarball":"https://registry.npmjs.org/@rightnowai/system-zero/-/system-zero-0.0.0-stage.tgz","fileCount":2,"integrity":"sha512-qohh4/skoVLfYJf0xjkRZaOsziEb6MDc0NyEY3vVflCDX4bfg+ZsnqEh0UAd9307ac/XHHgVq0CEiBLkLlt5bw==","signatures":[{"sig":"MEUCIQDRdUUWSQo1iq0fNZOqMx691sonHOHgkz9NhfyeGAP6dgIgA8PPoxUZHp2kreb9QACVQrusX8UcCc2IC4UubSX90AM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":345},"_npmUser":{"name":"system-zero","email":"jaberib647@gmail.com"},"deprecated":"Use 0.1.0 or later.","description":"Temporary package placeholder for staged publishing","directories":{}},"0.0.0":{"name":"@rightnowai/system-zero","version":"0.0.0","license":"Apache-2.0","_id":"@rightnowai/system-zero@0.0.0","maintainers":[{"name":"system-zero","email":"jaberib647@gmail.com"}],"dist":{"shasum":"3749bdda45b16c37f7d7a7fda267ac7e1136d0e8","tarball":"https://registry.npmjs.org/@rightnowai/system-zero/-/system-zero-0.0.0.tgz","fileCount":3,"integrity":"sha512-PYCXCEo/NBK1Uo4NAfwP0NOaFkqEXM1IE8ksidwcf805zTTgnszAWMyyfh6Rb6oeDXylIgIpa9SaPq8X0NZUmQ==","signatures":[{"sig":"MEQCIFEo76/VkjgzVE/PIeprHq21psrrpUEu2CM1pE2SXn5GAiB/xxFBJY7Uu2NlVzo+mFqsGoWpyj9JT2bTNB8Hx/Dabg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCMDuLToxC1CeY3VH3oBkjr3jdKkhIuTRCgidC891FaeQIhAJ478yNFBRGf6j2N+HLgcLe/llJXV8fe1UFVZKSTlzaI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11626},"_npmUser":{"name":"system-zero","email":"jaberib647@gmail.com"},"deprecated":"Use 0.1.0 or later.","_npmVersion":"11.19.0","description":"System Zero SDK placeholder; the first release is 0.1.0.","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/system-zero_0.0.0_1792464578025_0.2582492432451087","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@rightnowai/system-zero","version":"0.1.0","keywords":["system-zero","api","typescript","decisions"],"author":{"name":"RightNow AI, Inc."},"license":"Apache-2.0","_id":"@rightnowai/system-zero@0.1.0","maintainers":[{"name":"system-zero","email":"jaberib647@gmail.com"}],"homepage":"https://github.com/RightNow-AI/system-zero-sdk","bugs":{"url":"https://github.com/RightNow-AI/system-zero-sdk/issues"},"dist":{"shasum":"bd56b6940519adf897392d4af90886af092a7a36","tarball":"https://registry.npmjs.org/@rightnowai/system-zero/-/system-zero-0.1.0.tgz","fileCount":40,"integrity":"sha512-dmMGYUHu3GLI0Lr1qNIau9f/SOfTiMv5V76/V7xjSziX/264KaWJ4agzTNYrGnogbrbfZy9Dn/e5cS5+UCq2Fw==","signatures":[{"sig":"MEUCIEataM3qn7CjjJCl84X/8EgPXdmPQ9PBpoo1Cg4Mas1cAiEAmbfzTKOMe1wLpZh/YVQ18dUz75JisFOIzKujyOpLpBQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDO6ngYopOIkmJHvaTEj9U85M21RKTde/yEKDzKfZcCEwIgDfSFohoymWPaUJ0ZGvxtTA4wNyol0hxzG9ImbUms5X0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rightnowai%2fsystem-zero@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":239514},"main":"./dist/index.js","type":"module","_from":"file:sdk-release-dist/npm/rightnowai-system-zero-0.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json","./integrations/mcp-server":{"types":"./dist/integrations/mcp-server/server.d.ts","import":"./dist/integrations/mcp-server/server.js","default":"./dist/integrations/mcp-server/server.js"},"./integrations/function-tools":{"types":"./dist/integrations/function-tools/index.d.ts","import":"./dist/integrations/function-tools/index.js","default":"./dist/integrations/function-tools/index.js"}},"scripts":{"test":"vitest run --maxWorkers=2","build":"tsc -p .","typecheck":"tsc -p . --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"61df58f6-81b3-4e04-9062-fc85277ce77f"}},"_resolved":"/home/runner/work/system-zero-sdk/system-zero-sdk/sdk-release-dist/npm/rightnowai-system-zero-0.1.0.tgz","_integrity":"sha512-dmMGYUHu3GLI0Lr1qNIau9f/SOfTiMv5V76/V7xjSziX/264KaWJ4agzTNYrGnogbrbfZy9Dn/e5cS5+UCq2Fw==","repository":{"url":"git+https://github.com/RightNow-AI/system-zero-sdk.git","type":"git","directory":"typescript"},"_npmVersion":"11.19.0","description":"System Zero API client with typed decisions and client-side workflows.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"5.0.3","typescript":"5.9.3","@types/node":"22.20.4"},"_npmOperationalInternal":{"tmp":"tmp/system-zero_0.1.0_1792467950798_0.8544471905985618","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@rightnowai/system-zero","version":"0.1.1","keywords":["system-zero","api","typescript","decisions"],"author":{"name":"RightNow AI, Inc."},"license":"Apache-2.0","_id":"@rightnowai/system-zero@0.1.1","maintainers":[{"name":"system-zero","email":"jaberib647@gmail.com"}],"homepage":"https://github.com/RightNow-AI/system-zero-sdk","bugs":{"url":"https://github.com/RightNow-AI/system-zero-sdk/issues"},"dist":{"shasum":"f41ed33c7daf79fde915c8aea35b45c05e3af975","tarball":"https://registry.npmjs.org/@rightnowai/system-zero/-/system-zero-0.1.1.tgz","fileCount":40,"integrity":"sha512-fpuNh5mPnBmuzMa6KeBzDepvjrCr+FQ3QE1HFqNBszvxj2NZvHB284ihp45TVCJxo6hP8iI4aZFhBgGe6WVriw==","signatures":[{"sig":"MEUCID5iqPqmKxIXDDL+RQOdkKxrc+fxpps4Q29rWnpvVKfRAiEA9JBgSYeH7un4AgqpkV8ZBPvzh61v2UCJfa/LxsrUX0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCUqi+YGdQgYUp1d7yAEikCld3/Uj4p9pr9BW95WgZH5AIhANk/oD4Hb0KOFgYhewF5fDjrn+oDNUUN295w/TopNFwQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rightnowai%2fsystem-zero@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":251651},"main":"./dist/index.js","type":"module","_from":"file:sdk-release-dist/npm/rightnowai-system-zero-0.1.1.tgz","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json","./integrations/mcp-server":{"types":"./dist/integrations/mcp-server/server.d.ts","import":"./dist/integrations/mcp-server/server.js","default":"./dist/integrations/mcp-server/server.js"},"./integrations/function-tools":{"types":"./dist/integrations/function-tools/index.d.ts","import":"./dist/integrations/function-tools/index.js","default":"./dist/integrations/function-tools/index.js"}},"scripts":{"test":"vitest run --maxWorkers=2","build":"tsc -p .","typecheck":"tsc -p . --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"61df58f6-81b3-4e04-9062-fc85277ce77f"}},"_resolved":"/home/runner/work/system-zero-sdk/system-zero-sdk/sdk-release-dist/npm/rightnowai-system-zero-0.1.1.tgz","_integrity":"sha512-fpuNh5mPnBmuzMa6KeBzDepvjrCr+FQ3QE1HFqNBszvxj2NZvHB284ihp45TVCJxo6hP8iI4aZFhBgGe6WVriw==","repository":{"url":"git+https://github.com/RightNow-AI/system-zero-sdk.git","type":"git","directory":"typescript"},"_npmVersion":"11.19.0","description":"System Zero API client with typed decisions and client-side workflows.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"5.0.3","typescript":"5.9.3","@types/node":"22.20.4"},"_npmOperationalInternal":{"tmp":"tmp/system-zero_0.1.1_1792539819245_0.7839706468548042","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@rightnowai/system-zero","version":"0.2.0","keywords":["system-zero","api","typescript","decisions"],"author":{"name":"RightNow AI, Inc."},"license":"Apache-2.0","_id":"@rightnowai/system-zero@0.2.0","maintainers":[{"name":"system-zero","email":"jaberib647@gmail.com"}],"homepage":"https://github.com/RightNow-AI/system-zero-sdk","bugs":{"url":"https://github.com/RightNow-AI/system-zero-sdk/issues"},"dist":{"shasum":"e7ac42b3e65745354e57b4c7854bad0ceaa42f54","tarball":"https://registry.npmjs.org/@rightnowai/system-zero/-/system-zero-0.2.0.tgz","fileCount":42,"integrity":"sha512-fSHiVZPiiwJQjStlSyXfUFiBCORYgk6glgHLFInWkrcPoVTkAuyICMYHoSGZ9zfu5z6rtSWMmN3mu24IvOSy2Q==","signatures":[{"sig":"MEYCIQDat2FGFuOwCz1hPAgjHFaE86J4qrvvJRQS7a+IJBkEBwIhALIhFx9Sk0FP0qkqv5Pex09ewYM1j22bQP8iR1mZ3v3e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHPZA1QHre62a33AVM5ps9KwXCZ3uXVbzU08YcovTDm/AiAI7e/dOTSjtqSxTsIddeDyq2VzBRq9ygtB4+4lK6TnLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rightnowai%2fsystem-zero@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":270361},"main":"./dist/index.js","type":"module","_from":"file:sdk-release-dist/npm/rightnowai-system-zero-0.2.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json","./integrations/mcp-server":{"types":"./dist/integrations/mcp-server/server.d.ts","import":"./dist/integrations/mcp-server/server.js","default":"./dist/integrations/mcp-server/server.js"},"./integrations/function-tools":{"types":"./dist/integrations/function-tools/index.d.ts","import":"./dist/integrations/function-tools/index.js","default":"./dist/integrations/function-tools/index.js"}},"scripts":{"test":"vitest run --maxWorkers=2","build":"tsc -p .","typecheck":"tsc -p . --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"61df58f6-81b3-4e04-9062-fc85277ce77f"}},"_resolved":"/home/runner/work/system-zero-sdk/system-zero-sdk/sdk-release-dist/npm/rightnowai-system-zero-0.2.0.tgz","_integrity":"sha512-fSHiVZPiiwJQjStlSyXfUFiBCORYgk6glgHLFInWkrcPoVTkAuyICMYHoSGZ9zfu5z6rtSWMmN3mu24IvOSy2Q==","repository":{"url":"git+https://github.com/RightNow-AI/system-zero-sdk.git","type":"git","directory":"typescript"},"_npmVersion":"11.19.0","description":"System Zero API client with typed decisions and client-side workflows.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"5.0.3","typescript":"5.9.3","@types/node":"22.20.4"},"_npmOperationalInternal":{"tmp":"tmp/system-zero_0.2.0_1792645643021_0.267884030423613","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@rightnowai/system-zero","version":"0.3.0","keywords":["system-zero","api","typescript","decisions"],"author":{"name":"RightNow AI, Inc."},"license":"Apache-2.0","_id":"@rightnowai/system-zero@0.3.0","maintainers":[{"name":"system-zero","email":"jaberib647@gmail.com"}],"homepage":"https://github.com/RightNow-AI/system-zero-sdk","bugs":{"url":"https://github.com/RightNow-AI/system-zero-sdk/issues"},"dist":{"shasum":"c85401a459b7ddab1a3fe12a4ede654e13cc5211","tarball":"https://registry.npmjs.org/@rightnowai/system-zero/-/system-zero-0.3.0.tgz","fileCount":46,"integrity":"sha512-0oaFtIBissLtV1v3G/59D7iKK4CUjay/I1DW6ZQsu/nt6LcUPsxSJ+5oTuOiD9p+lm6TjTXIf2ZPju3VEpTIvg==","signatures":[{"sig":"MEYCIQCm4xdHPWDMdWEIWg6zsPIoJ9YC2IPw5n+EdOLab2VcUgIhAO1h/vHyQWoMGrlI3uHusj73a2GysY5f0GGO1V1yPxjL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEAaOuIEBeB56L5lUilsANWudyA90j7XLxgeWvP2eDpDAiASuvd4IJ/2dzhTOOTPmm84NilcbW8QydFuWAWZs4eWdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rightnowai%2fsystem-zero@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":347543},"main":"./dist/index.js","type":"module","_from":"file:sdk-release-dist/npm/rightnowai-system-zero-0.3.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./stream":{"types":"./dist/stream.d.ts","import":"./dist/stream.js","default":"./dist/stream.js"},"./package.json":"./package.json","./integrations/mcp-server":{"types":"./dist/integrations/mcp-server/server.d.ts","import":"./dist/integrations/mcp-server/server.js","default":"./dist/integrations/mcp-server/server.js"},"./integrations/function-tools":{"types":"./dist/integrations/function-tools/index.d.ts","import":"./dist/integrations/function-tools/index.js","default":"./dist/integrations/function-tools/index.js"}},"scripts":{"test":"vitest run --maxWorkers=2","build":"tsc -p .","typecheck":"tsc -p . --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"61df58f6-81b3-4e04-9062-fc85277ce77f"}},"_resolved":"/home/runner/work/system-zero-sdk/system-zero-sdk/sdk-release-dist/npm/rightnowai-system-zero-0.3.0.tgz","_integrity":"sha512-0oaFtIBissLtV1v3G/59D7iKK4CUjay/I1DW6ZQsu/nt6LcUPsxSJ+5oTuOiD9p+lm6TjTXIf2ZPju3VEpTIvg==","repository":{"url":"git+https://github.com/RightNow-AI/system-zero-sdk.git","type":"git","directory":"typescript"},"_npmVersion":"11.19.0","description":"System Zero API client with typed decisions and client-side workflows.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"5.0.3","typescript":"5.9.3","@types/node":"22.20.4"},"_npmOperationalInternal":{"tmp":"tmp/system-zero_0.3.0_1792718640211_0.5716421996356298","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@rightnowai/system-zero","version":"0.4.0","keywords":["system-zero","api","typescript","decisions"],"author":{"name":"RightNow AI, Inc."},"license":"Apache-2.0","_id":"@rightnowai/system-zero@0.4.0","maintainers":[{"name":"system-zero","email":"jaberib647@gmail.com"}],"homepage":"https://github.com/RightNow-AI/system-zero-sdk","bugs":{"url":"https://github.com/RightNow-AI/system-zero-sdk/issues"},"dist":{"shasum":"6e167902a79a532b427b1a23308e48316033f1ce","tarball":"https://registry.npmjs.org/@rightnowai/system-zero/-/system-zero-0.4.0.tgz","fileCount":48,"integrity":"sha512-pAhQuOLqFRebZyJrTRlyqhghcM1a1wPDq2tCcslW6seQ+7K7/LPKwm1NsPuIxc+RLrT2G+S4BnI/PQ5Jy/D2DQ==","signatures":[{"sig":"MEQCIGse1CUNMao5wQj8/CPrMgFaURbbF1dPZJk2ihF4GwOFAiAX6vNJ/8sgEyxJS9t1EP3119+NyEBOmU6faen4sD5Fbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDC5Ii+YMVT0AeBOiICsTpgO+T5YuY0nBUfZHQ7/lAvkAIhAOqD70iBfotM0DznIGMIqlovv07cbqf70pAIU7Im6V0Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rightnowai%2fsystem-zero@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":361535},"main":"./dist/index.js","type":"module","_from":"file:sdk-release-dist/npm/rightnowai-system-zero-0.4.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./stream":{"types":"./dist/stream.d.ts","import":"./dist/stream.js","default":"./dist/stream.js"},"./package.json":"./package.json","./integrations/mcp-server":{"types":"./dist/integrations/mcp-server/server.d.ts","import":"./dist/integrations/mcp-server/server.js","default":"./dist/integrations/mcp-server/server.js"},"./integrations/function-tools":{"types":"./dist/integrations/function-tools/index.d.ts","import":"./dist/integrations/function-tools/index.js","default":"./dist/integrations/function-tools/index.js"}},"scripts":{"test":"vitest run --maxWorkers=2","build":"tsc -p .","typecheck":"tsc -p . --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"61df58f6-81b3-4e04-9062-fc85277ce77f"}},"_resolved":"/home/runner/work/system-zero-sdk/system-zero-sdk/sdk-release-dist/npm/rightnowai-system-zero-0.4.0.tgz","_integrity":"sha512-pAhQuOLqFRebZyJrTRlyqhghcM1a1wPDq2tCcslW6seQ+7K7/LPKwm1NsPuIxc+RLrT2G+S4BnI/PQ5Jy/D2DQ==","repository":{"url":"git+https://github.com/RightNow-AI/system-zero-sdk.git","type":"git","directory":"typescript"},"_npmVersion":"11.19.0","description":"RightNow System Zero API client with typed decisions and client-side workflows.","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"5.0.3","typescript":"5.9.3","@types/node":"22.20.4"},"_npmOperationalInternal":{"tmp":"tmp/system-zero_0.4.0_1793024457386_0.5707670303745422","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"_id":"@rightnowai/system-zero@0.4.2","bugs":{"url":"https://github.com/RightNow-AI/system-zero-sdk/issues"},"dist":{"shasum":"cd0d2fb8f995720eb79385feae55265cd74d3dab","tarball":"https://registry.npmjs.org/@rightnowai/system-zero/-/system-zero-0.4.2.tgz","fileCount":50,"integrity":"sha512-ua8VXhaEXUIBXrTStB4+7W+EzZbuDpI8woN/m6yNn28U1Q16wlhOVxAxqLKly+it728FnjpHVh8X3QsEJG4V3w==","signatures":[{"sig":"MEUCIQCM6y9j3lb6c8AVb+E6BGTsJ9jmpYPlRWw1MgrthbvtugIgTyTDFhH2vZywGkRYN+3JzJlYkxHa6mqY1tPOEfhTlYk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFzLfJUI+nkqtacT/01ad8XpNshiOV/F4q1afddhBgnWAiB7IQxlJ3KZtM7M2j+A+y8sIrG4LfiP/VBmqdip+joTHg=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@rightnowai%2fsystem-zero@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":368606},"main":"./dist/index.js","name":"@rightnowai/system-zero","type":"module","_from":"file:sdk-release-dist/npm/rightnowai-system-zero-0.4.2.tgz","types":"./dist/index.d.ts","author":{"name":"RightNow AI, Inc."},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./stream":{"types":"./dist/stream.d.ts","import":"./dist/stream.js","default":"./dist/stream.js"},"./package.json":"./package.json","./integrations/mcp-server":{"types":"./dist/integrations/mcp-server/server.d.ts","import":"./dist/integrations/mcp-server/server.js","default":"./dist/integrations/mcp-server/server.js"},"./integrations/function-tools":{"types":"./dist/integrations/function-tools/index.d.ts","import":"./dist/integrations/function-tools/index.js","default":"./dist/integrations/function-tools/index.js"}},"license":"Apache-2.0","scripts":{"test":"vitest run --maxWorkers=2","build":"tsc -p .","typecheck":"tsc -p . --noEmit"},"version":"0.4.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"61df58f6-81b3-4e04-9062-fc85277ce77f"}},"homepage":"https://github.com/RightNow-AI/system-zero-sdk","keywords":["system-zero","api","typescript","decisions"],"_resolved":"/home/runner/work/system-zero-sdk/system-zero-sdk/sdk-release-dist/npm/rightnowai-system-zero-0.4.2.tgz","_integrity":"sha512-ua8VXhaEXUIBXrTStB4+7W+EzZbuDpI8woN/m6yNn28U1Q16wlhOVxAxqLKly+it728FnjpHVh8X3QsEJG4V3w==","repository":{"url":"git+https://github.com/RightNow-AI/system-zero-sdk.git","type":"git","directory":"typescript"},"_npmVersion":"11.19.0","description":"RightNow System Zero API client with typed decisions and client-side workflows.","directories":{},"maintainers":[{"name":"system-zero","email":"jaberib647@gmail.com"}],"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"5.0.3","typescript":"5.9.3","@types/node":"22.20.4"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/system-zero_0.4.2_1793078841917_0.35813620975531735"}}},"time":{"created":"2026-10-20T02:48:01.216Z","modified":"2026-10-27T05:27:22.465Z","0.0.0-stage":"2026-10-20T02:48:01.216Z","0.0.0":"2026-10-20T02:49:38.094Z","0.1.0":"2026-10-20T03:45:50.881Z","0.1.1":"2026-10-20T23:43:39.336Z","0.2.0":"2026-10-22T05:07:23.114Z","0.3.0":"2026-10-23T01:24:00.302Z","0.4.0":"2026-10-26T14:20:57.482Z","0.4.2":"2026-10-27T05:27:22.013Z"},"bugs":{"url":"https://github.com/RightNow-AI/system-zero-sdk/issues"},"author":{"name":"RightNow AI, Inc."},"license":"Apache-2.0","homepage":"https://github.com/RightNow-AI/system-zero-sdk","keywords":["system-zero","api","typescript","decisions"],"repository":{"url":"git+https://github.com/RightNow-AI/system-zero-sdk.git","type":"git","directory":"typescript"},"description":"RightNow System Zero API client with typed decisions and client-side workflows.","maintainers":[{"name":"system-zero","email":"jaberib647@gmail.com"}],"readme":"# RightNow System Zero TypeScript SDK\n\nRightNow is the model name; System Zero is its category. The full name is RightNow System Zero.\n\nServer-side TypeScript client for the RightNow System Zero API.\n\nRequires Node 22 or later and ES modules (ESM).\n\nInstall with `npm install @rightnowai/system-zero`.\n\nSet `SYSTEM_ZERO_API_KEY` in the server environment, then call the API:\n\n```ts\nimport { SystemZeroClient } from '@rightnowai/system-zero';\n\nconst client = new SystemZeroClient();\nconst reply = await client.decide({\n  model: 'system-zero',\n  state: { order_total: 42 },\n  questions: {\n    eligible: { type: 'boolean', instructions: 'Is the order total at least 25?' },\n  },\n});\nconsole.log(reply.answers);\n\nconst models = await client.models.list();\nconsole.log(models.data);\n```\n\nThe client calls `POST /system-zero/decide` and authenticated `GET /models`.\nBoolean, choice and score questions use the same request. `decisionFor` and\n`decisionsFor` read typed answers and per-question refusals. Responses preserve\nthe service's wire fields.\n\nUse `withResponse()` on either call to access response metadata, including\nrequest IDs, rate limits, latency and replay status. Decide options accept\n`idempotencyKey`. Both calls accept `clientRequestId`, extra headers and\n`retryBudget`; model listing does not need an idempotency key.\nClient timeouts and retry waits are milliseconds: `timeout: 150000`,\n`maxRetries: 5`, `retryBudget: 60000` and `maxRetryWait: 60000`.\n\n## Media on decide\n\n`attachments` is optional; `null` remains valid. Each inline attachment has a unique\n`name`, a `type` of `image`, `audio`, `document` or `video`, and a canonical base64 data URL in `data`.\nNames start with an ASCII letter and contain at most 64 letters, digits, `_` or `-`.\nFunction tools and the MCP adapter carry the image and audio forms.\nSend PDF and video through the ordinary client request form shown below.\n\n- Images: static PNG (`image/png`) and JPEG (`image/jpeg`), at most 4 images,\n  16,777,216 pixels each, with an aspect ratio no greater than 50:1.\n- Audio: at most 1 audio attachment, inline RIFF WAV (`audio/wav`) at exactly\n  16,000 Hz. Integer PCM with 1-64 bits per sample or IEEE float with 32 or 64 bits\n  is supported, including the extensible WAV form; 1-64 channels are allowed.\n  The duration limit is 300 seconds (4,800,000 frames); the separate long-recording\n  cutoff is 300.5 seconds. The byte limit can be reached earlier.\n- All decoded inline bytes together: at most 2,621,440 bytes. The entire JSON\n  request, including base64, is at most 3,665,920 bytes. The schema has a 16-entry\n  attachment guard; the served image and audio counts are stricter.\n\nThe helpers check MIME types, signatures, canonical encoding, counts, byte limits,\nand WAV structure/rate. Preflight is explicit; complete image decoding, dimensions,\navailability and other request checks remain with the API. Signatures alone do not\nprove a complete image is valid.\n\nGIF (`image/gif`), WebP (`image/webp`), animated PNG and images outside the decoded\nprofile are refused with `media_unpriced`. A mismatched image signature uses\n`media_decode_failed`; other unsupported image MIME types use `media_unsupported`.\nOther audio formats, rates, malformed WAV and audio upload\nreferences use `media_unsupported`. Image upload references are unavailable and\nreturn `service_unavailable` in the listed service. Send bytes inline.\n\nPDF is supported through ordinary inline attachments.\nText PDFs and readable scans are read as text.\nOnly PDF is supported; other document formats are unavailable.\nUse `type: \"document\"` and a canonical `data:application/pdf;base64,...` URL.\nThe image and audio helpers do not encode PDF; construct its inline attachment directly.\n\n\nVideo is supported through ordinary inline attachments. Send one silent H.264 MP4 video as an inline base64 data URL. Maximum duration: 10 seconds. Maximum dimensions: 1920 x 1080. Maximum decoded file size: 2,621,440 bytes (2.5 MiB). The complete JSON request must fit 3,665,920 bytes, including base64 and questions. Rotated videos, soundtracks, separate attachments and video upload references are not supported.\n\nUse `videoAttachment({ name: 'clip', data: bytes })` in TypeScript or `video_attachment(name='clip', data=bytes)` in Python. Video helpers encode the bytes; the API performs complete-file validation. A `video_not_available` response becomes `VideoNotAvailableError`, preserving status, code, message and request ID.\n```ts\nimport { readFileSync } from 'node:fs';\nimport { SystemZeroClient, inlineAttachment, validateAttachments } from '@rightnowai/system-zero';\n\nconst client = new SystemZeroClient();\nconst attachments = validateAttachments([\n  inlineAttachment({ name: 'picture', type: 'image', mime: 'image/png', data: readFileSync('picture.png') }),\n  inlineAttachment({ name: 'speech', type: 'audio', mime: 'audio/wav', data: readFileSync('speech-16khz.wav') }),\n]);\nconst reply = await client.decide({\n  model: 'system-zero', state: 'Use the picture and recording.', attachments,\n  questions: { ready: { type: 'boolean', instructions: 'Is the item ready?' } },\n});\nconsole.log(reply.answers);\n\n// PDF uses the ordinary inline request form.\nawait client.decide({\n  model: 'system-zero', state: 'Read the PDF.',\n  questions: { ready: { type: 'boolean', instructions: 'Is the item ready?' } },\n  attachments: [{ name: 'document', type: 'document',\n    data: 'data:application/pdf;base64,' + readFileSync('document.pdf').toString('base64') }],\n});\n```\n\n`MEDIA_MIMES`, `MEDIA_LIMITS` and `attachmentMagicMatches` expose the served\nregistry, limits and signature screen. `inlineAttachment` encodes one input;\n`validateAttachments` also checks aggregate counts and decoded bytes.\n\n\n\n## Ordinary HTTP retries\n\nThe defaults are five retries, 150 seconds per attempt, a 60-second total retry\nbudget and a 60-second maximum wait. The retry count is capped at five, so one\ncall makes at most six attempts. The budget starts with the first attempt and\nincludes requests and waits. The first attempt keeps its normal timeout; later\nattempts are limited by the remaining budget. A wait above the maximum wait, or\none that exhausts the remaining budget, raises the last error without waiting.\nA retry needs at least one millisecond remaining.\n\nOnly GET requests or requests carrying a non-empty idempotency key can retry.\nWith retries enabled, decide POSTs receive a generated key when none is supplied.\nAn explicit blank key omits the header and disables decision retries. Each retry\nretains the same key and serialized body. Setting the retry count or budget to\nzero disables retries.\n\nOrdinary HTTP calls retry these marked responses:\n\n- HTTP 429: `capacity_exhausted`, `rate_limit`, `rate_limit_exceeded`,\n  `concurrency_limit_exceeded` or `workspace_limit_exceeded`.\n- HTTP 503: `service_unavailable` or `system_zero_unavailable`.\n- HTTP 409: `idempotency_conflict`.\n\nMarked means `error.retryable` is `true` or the `x-should-retry` header is `true`.\nAn explicit `false` in either marker vetoes retry. A 503 warm-up response also\nqualifies when its code is `starting`, or when the service's warm-up header is\n`true` or `1` with `service_unavailable` or no code, and a valid retry delay is\npresent. That warm-up case does not require a true retry marker; a false marker\nstill vetoes it.\n\nA qualifying connection failure or timeout before any response byte can also\nretry, even if the request was sent. Failures after a response byte never retry.\nErrors of authentication and permission types never retry.\n\n`Retry-After-Ms` takes precedence; only when it is absent does `Retry-After`\nprovide seconds or an HTTP date. The wait is never below the full-jitter floor\n`min(8 seconds, 0.5 seconds * 2^attempt) * random`, with attempt zero for the first\nretry and random drawn from zero to one. A malformed millisecond header does not\nfall back to the seconds header.\n\n## Workflow recovery and call limits\n\n`runBatch` and `runFlow` use ordinary `POST /system-zero/decide` calls with a stricter\nrecovery policy. Function tools and the MCP adapter use that policy for decide and model\nlisting. Only a marked HTTP 429 refusal with one of these code/`details.cause`\npairs proves that no work ran and permits recovery:\n\n- `rate_limit_exceeded` with `key_rate` or `preauth`.\n- `concurrency_limit_exceeded` with `account_concurrency`.\n\nThe marker is `error.retryable=true` or `x-should-retry: true`; an explicit\n`false` in either vetoes recovery. All connection failures and timeouts, HTTP 503\n(including warm-up), HTTP 409 and every other code/cause pair are terminal.\nThe ordinary HTTP retry allowlist above does not expand this workflow policy.\nRetries retain one key and one logical call admission and use the client's\nretry count, wait and time bounds. Batch retry options can only lower the\nclient's retry count; they cannot enable retries disabled on the client.\n\n| Helper | Call-cap option | Default | Maximum |\n| --- | --- | --- | --- |\n| `runBatch` | `maxDecideCalls` | 1,000 | Nonnegative safe integer |\n| `runFlow` | `max_decide_calls` | 32 | 32 |\n| `createToolHandler` | `maxDecideCalls` | 100 | Nonnegative safe integer |\n\nThe flow option is spelled `max_decide_calls` even in TypeScript. The MCP\nadapter uses `createToolHandler` by default and inherits its 100-call cap.\nIt permits two concurrent tool calls; extra concurrent calls receive local\n`call_limit_reached` without dispatch.\n\nFlow and batch reports record admitted decide calls; retries do not consume\nadditional logical admissions. Batch receipts also record actual HTTP attempts.\nFlows admit a step only when its bounded call fits the remaining deadline;\nbatches also respect their deadline and the original key's replay lifetime.\nEvaluation compares caller-supplied labels locally and adds no network calls.\nExplicit call caps must be nonnegative safe integers; zero is allowed. A tool\nhandler retains its count across calls, so reuse one handler for the tool loop.\nModel listing does not consume a decide count. The module-level tool helper has\na zero decide-call limit. A depleted tool limit returns local `call_limit_reached`\nwithout dispatch; this is separate from API errors.\n\nFunction tools are exported from\n`@rightnowai/system-zero/integrations/function-tools`; the MCP adapter is exported\nfrom `@rightnowai/system-zero/integrations/mcp-server`. Both share the API request\nvalidation and error vocabulary. Tool catalog messages are SDK summaries;\nHTTP refusal messages are preserved with credential redaction.\n\n## Response metadata\n\nSDK errors and response metadata expose the request's idempotency key as\n`idempotencyKey` (`null` when no key was sent). `RateLimitError` and\n`OverloadedError` expose the response's retry delay as `retryAfterMs` in\nmilliseconds, or `null` when no valid retry delay is available.\n\nEvery HTTP attempt sends `X-SDK-Retry-Count`, starting at `0`, and a\n`User-Agent` containing only the SDK name, SDK version and runtime version.\nA blank or whitespace-only `clientRequestId` omits the\n`X-Client-Request-Id` header.\n\nKeep API keys on trusted servers. Don't enable DEBUG logging for the HTTP or WebSocket libraries in production; it can record request headers, including your API key. See [the security policy](https://github.com/RightNow-AI/system-zero-sdk/blob/main/SECURITY.md)\nfor private vulnerability reporting.\n\n## Function tool formats\n\nBreaking: the three function-tool lists were renamed by their JSON shape: NESTED_FUNCTION_TOOLS (nested function objects), FLAT_FUNCTION_TOOLS (flat function objects), INPUT_SCHEMA_TOOLS (input_schema objects). Update imports; the payloads are unchanged.\n\nThe three lists describe the same functions. Choose the shape your tool runner accepts:\n\n- `NESTED_FUNCTION_TOOLS`: `{\"type\":\"function\",\"function\":{\"name\":\"...\",\"description\":\"...\",\"parameters\":{},\"strict\":true}}`.\n- `FLAT_FUNCTION_TOOLS`: `{\"type\":\"function\",\"name\":\"...\",\"description\":\"...\",\"parameters\":{},\"strict\":true}`.\n- `INPUT_SCHEMA_TOOLS`: `{\"name\":\"...\",\"description\":\"...\",\"input_schema\":{}}`.\n\nEach list owns its schema objects. Pass the function name and its JSON arguments to the tool handler.\n\n## Streaming decisions\n\nSupply `SYSTEM_ZERO_API_KEY` in the server environment before running this example.\n\nThe root package and `@rightnowai/system-zero/stream` export\n`SystemZeroStreamClient` and its frame and configuration types. The platform\nWebSocket supports the required headers on Node 22.23.3 and 24.21.0. No additional\nruntime package is needed. An older runtime must supply a compatible server-side\nconstructor through the `WebSocket` option; unsupported native implementations\nfail before sending the key.\n\n```typescript\nimport { SystemZeroStreamClient } from '@rightnowai/system-zero';\n\nconst stream = new SystemZeroStreamClient();\nstream.on('decision', event => console.log(event.reply, event.request_id));\nstream.on('error', event => console.error(event.envelope));\ntry {\n  await stream.connect();\n  await stream.start({\n    model: 'system-zero', state: 'Order received.',\n    questions: { ready: { type: 'boolean', instructions: 'Is the order ready?' } },\n  }, { decisionMode: 'on_request', minIntervalMs: 100 });\n  const ack = await stream.appendText(' Payment received.');\n  await stream.decide();\n  const measured = await stream.waitForDecision(ack);\n  console.log(measured.decision.reply);\n} finally {\n  await stream.close();\n}\n```\n\nThe client sends `Authorization: Bearer <key>` during the RFC 6455 version 13\nhandshake and selects only `system-zero.stream.v1`. Keep the key on a trusted\nserver. The connection uses `wss://api.rightnowai.co/v1/system-zero/stream`.\n\nStart with state and questions, then append text, append JSON items, append\nattachments, or replace the state. A mutation resolves when its acknowledgement\narrives. In `on_change` mode, accepted mutations schedule decisions; in\n`on_request` mode, call `decide` to schedule one explicitly and read its decision\nevent. One decision can cover several accepted mutations.\n\nReconnect restores the latest accepted state using stable idempotency keys;\nit never resends old wire frames. The default `latest` policy resumes the selected\ndecision mode. The `never` policy restores state in `on_request` mode, leaving\nthe next decision to the caller. Neither policy retries authentication or protocol\nfailures. Idle closure reopens lazily when new work arrives. Listen for\n`possibly_decided`: a lost connection can leave accepted work whose outcome is\nunknown, and reopening does not prove that it was uncounted. Opening attempts\nare bounded by the retry count and elapsed-time options.\n\nLimits are server-advertised in the hello frame. The SDK paces outgoing state\nevents using `max_events_per_second` and the advertised `event_burst` (or `burst`)\ncapacity; when no burst is supplied it conservatively allows one event at a time.\nAwait each mutation to observe queue backpressure. Waiting for a token does not\nstart its receipt timeout or block heartbeat replies. The SDK rejects messages\nabove `max_message_bytes` before sending. Read hello for session lifetime, idle,\nheartbeat, accumulated request and decision interval limits; these can change.\nThe SDK answers heartbeats automatically. A `stream_limit_exceeded` refusal\nsupplies the effective account limit in its details. Respect retry hints.\n\nBilling is per decision, not per connection, heartbeat, acknowledgement, or\nmutation. Several mutations can be covered by one decision. A decision may be\ncounted even if the connection closes before its event arrives; use the event's\nusage and request identifier when reconciling completed work.\n\n## LongContextRequest opt-in\n\nThe SDK publishes the `LongContextRequest` type as an opt-in surface. It is unavailable until the API enables it for the workspace; workspace opt-in through the console's Settings is also required. Once available, give explicit per-request consent with `dangerZone: 'accept'` in TypeScript or `danger_zone=\"accept\"` in Python. The option sends exactly `SZ-Danger-Zone: accept`; it is never sent by default or inferred from state size. Until availability, the API ignores or refuses this option. Do not supply this header through custom headers. Retries retain the option. The same explicit option is supported by batch and flow helpers.\n\nUntil workspace enablement, the expected result is HTTP 404 `long_context_not_available`, surfaced as `LongContextNotAvailableError`. The same refusal applies without workspace opt-in. When the API supplies `details.eligibility`, `LongContextNotAvailableError.eligibility` exposes the rule: `billing`, `opt_in`, `class`, `deny_list`, `global_switch` or `account_deleted`, with a string fallback for future rules. A generic held-route refusal can omit the rule. Status, code, message and request ID remain intact. Held routes are never retried.\n\n`LongContextRequest`, `EnabledDecideRequest`, `OrdinaryRequest`, `MediaRequest` and their question types describe the separate enabled request contract in `enabled.openapi.json`. `LongContextLimits` describes its discovery limits. `openapi.json` remains the served contract. The API selects the request band and checks bounds: a `LongContextRequest` takes at most 32 questions, choices with 2 to 25 options, and scores with 2 to 4 levels. Only inline document attachments fit its document branch. The API validates document admission separately.\n\n```typescript\nawait client.decide(request, { dangerZone: 'accept' });\n```\n\n```python\nclient.decide(request, danger_zone=\"accept\")\n```\n","readmeFilename":"README.md"}