{"_id":"@commandlayer/agent-sdk","_rev":"4-aa2eda9a1b819b8d7112ea0ebe727ee9","name":"@commandlayer/agent-sdk","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@commandlayer/agent-sdk","version":"1.0.0","license":"MIT","_id":"@commandlayer/agent-sdk@1.0.0","maintainers":[{"name":"gsoucy","email":"info@commandlayer.org"}],"dist":{"shasum":"0243a66cbb1f58531d6ca7897d29274f14d43457","tarball":"https://registry.npmjs.org/@commandlayer/agent-sdk/-/agent-sdk-1.0.0.tgz","fileCount":27,"integrity":"sha512-ssF6mb1rWJFRQH66x5OQHmsLIuKqu/2TsyHVJSPAc1j0AECoPjsWoWlZmF3VA6bGzo+8xE3B8f4eofcP5yl5vQ==","signatures":[{"sig":"MEYCIQDAgOsT/ZdJ3hL1OLeb86D+qcP+S2Gvza0lOq+3ben1pAIhAN4tuGTkmXOlBPO1SaFVLh3G1d3zpNCCPOaWE5Z52TaK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22249},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18"},"gitHead":"e592b0fb3ba8a03f31feee0927ddfc87cad13955","scripts":{"test":"node --test dist/test/receipt.test.js","build":"tsc -p tsconfig.json","pretest":"npm run build","example:a2a":"node dist/examples/agent-to-agent-verify.js","example:demo":"npm run build && node dist/examples/full-demo.js","example:tool":"node dist/examples/openai-tool-wrapper.js","example:basic":"node dist/examples/basic-agent.js","example:wrapped":"node dist/examples/wrapped-agent-demo.js","example:existing":"node dist/examples/existing-agent-integration.js","example:workflow":"node dist/examples/workflow-job-runner.js","example:langchain":"node dist/examples/langchain-agent.js"},"_npmUser":{"name":"gsoucy","email":"info@commandlayer.org"},"_npmVersion":"11.12.1","description":"Minimal TypeScript SDK for signing CommandLayer agent receipts","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3"},"_npmOperationalInternal":{"tmp":"tmp/agent-sdk_1.0.0_1777692362950_0.6159528899991731","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@commandlayer/agent-sdk","version":"1.0.1","license":"MIT","_id":"@commandlayer/agent-sdk@1.0.1","maintainers":[{"name":"gsoucy","email":"info@commandlayer.org"}],"dist":{"shasum":"05659784835b023100e337882d244f3284f4666f","tarball":"https://registry.npmjs.org/@commandlayer/agent-sdk/-/agent-sdk-1.0.1.tgz","fileCount":27,"integrity":"sha512-C7MIA2kid5XRbLpH4eXyhHyRvwapvmHbmGTvatle9Ocoen63h96WuC/zMHyTyDekzYA/J6RHPF5pqbQ/7RmTzw==","signatures":[{"sig":"MEUCIEkHqGFGlBMenPYmC0fHTCed/Q9973f4JCrM2ktWmTQXAiEA4bwQAHVENOee7dtNvN9XpRCy/w/W356rTr2KLH8HgQQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22257},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=18"},"gitHead":"e1f48f956c0a6565022fe405b7b02231fa0f574e","scripts":{"test":"node --test dist/test/receipt.test.js","build":"tsc -p tsconfig.json","pretest":"npm run build","example:a2a":"node dist/examples/agent-to-agent-verify.js","example:demo":"npm run build && node dist/examples/full-demo.js","example:tool":"node dist/examples/openai-tool-wrapper.js","example:basic":"node dist/examples/basic-agent.js","example:wrapped":"node dist/examples/wrapped-agent-demo.js","example:existing":"node dist/examples/existing-agent-integration.js","example:workflow":"node dist/examples/workflow-job-runner.js","example:langchain":"node dist/examples/langchain-agent.js"},"_npmUser":{"name":"gsoucy","email":"info@commandlayer.org"},"_npmVersion":"11.12.1","description":"Minimal TypeScript SDK for signing CommandLayer agent receipts","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3"},"_npmOperationalInternal":{"tmp":"tmp/agent-sdk_1.0.1_1777699513232_0.37947214171476507","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@commandlayer/agent-sdk","version":"1.0.2","license":"MIT","_id":"@commandlayer/agent-sdk@1.0.2","maintainers":[{"name":"gsoucy","email":"info@commandlayer.org"}],"dist":{"shasum":"b6c8d0ea78c26a17eb2438f7a84db80498583bc9","tarball":"https://registry.npmjs.org/@commandlayer/agent-sdk/-/agent-sdk-1.0.2.tgz","fileCount":27,"integrity":"sha512-2ydYkxRTMzsbNiDG3WM14WdCMFtaSA6Kq2gG0H3sr7bgyPDjjrhEol+sc86m458fDlFBZRNomGOtCV8+q8eHWw==","signatures":[{"sig":"MEYCIQDaPGl33MIw23OvMLHpyeRLFXkhlP7tYJtIoNJAWznsQgIhALdzLzkCDO6++LI+xLWuAOm26VKCz6ixp2hM32pZu46O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22583},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","engines":{"node":">=18"},"gitHead":"1dd66ccf9bb8be16d97e50f8a71b7831bc85b8db","scripts":{"test":"node --test dist/test/receipt.test.js","build":"tsc -p tsconfig.json","pretest":"npm run build","example:a2a":"node dist/examples/agent-to-agent-verify.js","example:demo":"node dist/examples/full-demo.js","example:tool":"node dist/examples/openai-tool-wrapper.js","example:basic":"node dist/examples/basic-agent.js","example:wrapped":"node dist/examples/wrapped-agent-demo.js","example:existing":"node dist/examples/existing-agent-integration.js","example:workflow":"node dist/examples/workflow-job-runner.js","example:langchain":"node dist/examples/langchain-agent.js"},"_npmUser":{"name":"gsoucy","email":"info@commandlayer.org"},"_npmVersion":"11.12.1","description":"Minimal TypeScript SDK for signing CommandLayer agent receipts","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^22.15.3"},"_npmOperationalInternal":{"tmp":"tmp/agent-sdk_1.0.2_1777774298235_0.2200500193957522","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@commandlayer/agent-sdk","version":"1.2.0","description":"TypeScript SDK for signing and verifying CommandLayer agent receipts","license":"MIT","type":"module","main":"dist/src/index.js","types":"dist/src/index.d.ts","engines":{"node":">=18"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc -p tsconfig.json && node scripts/copy-schemas.mjs","test":"node --test dist/test/receipt.test.js dist/test/trust.test.js","pretest":"npm run build","example:basic":"node dist/examples/basic-agent.js","example:langchain":"node dist/examples/langchain-agent.js","example:wrapped":"node dist/examples/wrapped-agent-demo.js","example:tool":"node dist/examples/openai-tool-wrapper.js","example:workflow":"node dist/examples/workflow-job-runner.js","example:a2a":"node dist/examples/agent-to-agent-verify.js","example:existing":"node dist/examples/existing-agent-integration.js","example:demo":"node dist/examples/full-demo.js"},"devDependencies":{"@types/node":"^22.15.3","typescript":"^5.8.3"},"dependencies":{"ajv":"^8.17.1","ajv-formats":"^3.0.1","@commandlayer/runtime-core":"^1.2.0"},"exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"}},"gitHead":"421802c31e180f27fb675c356f97df67361298b1","_id":"@commandlayer/agent-sdk@1.2.0","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-vn66iK0xCkyBMX1acQ6PQN77YtFU6h7/k+IEQbA673J2O1q80e0UdlJtCEiZNqbL7vyQWsBN6GgKAcl8KJKoow==","shasum":"aba778c7121fc847c7d8e5dfe5f02d74ed2d4970","tarball":"https://registry.npmjs.org/@commandlayer/agent-sdk/-/agent-sdk-1.2.0.tgz","fileCount":15,"unpackedSize":25143,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC6w4oD7XnDyYuuCnxgB/8MygkXhD0rf2aYc0/FBhJbWAiBJZtwkApN/G2ByXrs4TBEMqHdcSwYUYkZiUb+Uk/ZyiQ=="}]},"_npmUser":{"name":"gsoucy","email":"info@commandlayer.org"},"directories":{},"maintainers":[{"name":"gsoucy","email":"info@commandlayer.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agent-sdk_1.2.0_1779132106786_0.4189126076863352"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-02T03:26:02.850Z","modified":"2026-05-18T19:21:47.103Z","1.0.0":"2026-05-02T03:26:03.091Z","1.0.1":"2026-05-02T05:25:13.378Z","1.0.2":"2026-05-03T02:11:38.391Z","1.2.0":"2026-05-18T19:21:46.942Z"},"license":"MIT","description":"TypeScript SDK for signing and verifying CommandLayer agent receipts","maintainers":[{"name":"gsoucy","email":"info@commandlayer.org"}],"readme":"# @commandlayer/agent-sdk\n\nWrap your agent. Emit a signed receipt. Verify through CommandLayer.\n\n`@commandlayer/agent-sdk` is a minimal Node-first TypeScript SDK for generating signed receipts from ENS-named agents and verifying them with the public CommandLayer verifier.\n\n## Install\n\n```bash\nnpm install @commandlayer/agent-sdk\n```\n\n## Quickstart\n\n```ts\nimport { CommandLayer, validateTrustReceipt } from \"@commandlayer/agent-sdk\";\n\nconst cl = new CommandLayer({\n  signer: process.env.CL_AGENT ?? \"runtime.commandlayer.eth\",\n  privateKeyPem: process.env.CL_PRIVATE_KEY_PEM,\n  keyId: process.env.CL_KEY_ID ?? \"vC4WbcNoq2znSCiQ\",\n});\n\nconst { output, receipt } = await cl.wrap(\"verify\", {\n  input: { challenge: \"abc\" },\n  run: async () => ({ approved: true }),\n});\n\nconst local = validateTrustReceipt(receipt); // schema only\nif (!local.ok) throw new Error(local.errors.join(\"; \"));\n\nconst remote = await cl.verify(receipt); // cryptographic verification\nprocess.stdout.write(JSON.stringify({ output, receipt, remote }) + \"\\n\");\n```\n\n## Wrap your agent\n\n`wrap()` returns `{ output, receipt }`; `receipt` is signed.\n\n```ts\nimport { CommandLayer } from \"@commandlayer/agent-sdk\";\n\nconst cl = new CommandLayer({\n  signer: process.env.CL_AGENT ?? \"runtime.commandlayer.eth\",\n  privateKeyPem: process.env.CL_PRIVATE_KEY_PEM,\n  keyId: process.env.CL_KEY_ID ?? \"vC4WbcNoq2znSCiQ\",\n  verifierUrl: process.env.CL_VERIFIER_URL ?? \"https://www.commandlayer.org/api/verify\",\n});\n```\n\n`verifierUrl` is optional; use it only when you need to override the default verifier endpoint.\n\n> **Note:** The constructor accepts both `signer` and `agent` as field names (they are aliases). `signer` is the canonical field name used in receipt payloads; `agent` is accepted for backward compatibility.\n\n## CLAS Trust Verification v1\n\nUse local schema validation helpers to check request/receipt shape before transport or persistence:\n\n```ts\nimport {\n  validateTrustRequest,\n  validateTrustReceipt,\n  assertValidTrustRequest,\n  assertValidTrustReceipt,\n} from \"@commandlayer/agent-sdk\";\n\nconst requestResult = validateTrustRequest(requestPayload);\nif (!requestResult.ok) process.stderr.write(requestResult.errors.join(\"\\n\") + \"\\n\");\n\nconst receiptResult = validateTrustReceipt(receiptPayload);\nif (!receiptResult.ok) process.stderr.write(receiptResult.errors.join(\"\\n\") + \"\\n\");\n\nassertValidTrustRequest(requestPayload);\nassertValidTrustReceipt(receiptPayload);\n```\n\nThese helpers validate schema shape only. They do **not** perform cryptographic verification and do not replace `cl.verify()`.\n\nSupported receipt verbs: `verify`, `authenticate`, `authorize`, `attest`, `sign`, `permit`, `grant`, `approve`, `reject`, `endorse`. Canonical capability names for discovery/catalog use `clas.trust-verification.<verb>` (for example `clas.trust-verification.verify`).\n\n## Python SDK\n\nA Python SDK is available in the `python-sdk/` directory. See `python-sdk/README.md` for usage.\n\n## Development\n\n```bash\nnpm test\n```\n\n## License\n\nMIT\n\n\n### Verb conventions\n\nUse `cl.wrap(\"verify\", handler)` for normal SDK usage. For discovery/catalog metadata, advertise the canonical capability name `clas.trust-verification.verify`. The SDK also accepts fully-qualified trust capability inputs in `wrap(...)` and normalizes emitted receipt `verb` to the short form and emits canonical metadata proof envelopes.\n","readmeFilename":"README.md"}