{"_id":"@agentdock-ai/contracts","name":"@agentdock-ai/contracts","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@agentdock-ai/contracts","version":"0.1.0","description":"Framework-independent AgentDock data contracts","type":"module","repository":{"type":"git","url":"git+https://github.com/agentdock-ai/agentdock.git","directory":"packages/contracts"},"homepage":"https://github.com/agentdock-ai/agentdock#readme","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"sideEffects":false,"scripts":{"build":"tsc -p tsconfig.json","typecheck":"tsc -p tsconfig.json --noEmit","test":"vitest run test","prepack":"yarn build"},"devDependencies":{"@types/node":"^26.1.2","typescript":"^7.0.2","vitest":"^4.1.11"},"engines":{"node":">=20"},"license":"MIT","gitHead":"1978464d4a727768ca1a51f4fb69e4d33dcb0ad4","_id":"@agentdock-ai/contracts@0.1.0","bugs":{"url":"https://github.com/agentdock-ai/agentdock/issues"},"_nodeVersion":"26.0.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-N5Zd1EZOFjf8bCJ6piEHdnvdnQgjqLcRSicd9OzGmM7gmPlRUAngzJ7XhzCDpunfbJGMCbnCavH7H3Besesanw==","shasum":"693f651bba555bb565feb9a63ad64d17459ef449","tarball":"https://registry.npmjs.org/@agentdock-ai/contracts/-/contracts-0.1.0.tgz","fileCount":34,"unpackedSize":67505,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIASOQ88rNPlyMrZp1JWFp5s5gOsL2lR82GcPp4gVXkJXAiEAyCOnonh6MHJuKxJ0r8vfSmESJuNx/g2P5PDz0eizkIw="}]},"_npmUser":{"name":"mhd_zain","email":"zainmemon010@gmail.com"},"directories":{},"maintainers":[{"name":"mhd_zain","email":"zainmemon010@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/contracts_0.1.0_1789210272621_0.7174675414885459"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-12T10:51:12.402Z","0.1.0":"2026-09-12T10:51:12.765Z","modified":"2026-09-12T10:51:13.028Z"},"maintainers":[{"name":"mhd_zain","email":"zainmemon010@gmail.com"}],"description":"Framework-independent AgentDock data contracts","homepage":"https://github.com/agentdock-ai/agentdock#readme","repository":{"type":"git","url":"git+https://github.com/agentdock-ai/agentdock.git","directory":"packages/contracts"},"bugs":{"url":"https://github.com/agentdock-ai/agentdock/issues"},"license":"MIT","readme":"# @agentdock-ai/contracts\n\nFramework-independent AgentDock contracts shared by backend runtimes, frontends, and future transport packages.\n\nThis package contains JSON-compatible public data types only. It does not depend on LangChain, LangGraph, Node.js runtime APIs, or database adapters.\n\n```ts\nimport type {\n  AgentEvent,\n  AgentRunResult,\n  AgentSessionRecord,\n} from \"@agentdock-ai/contracts\";\n```\n\nRuntime implementation types such as `BaseChatModel`, `BaseCheckpointSaver`, tool functions, and LangGraph workflow state remain in the `@agentdock-ai/agentdock` package.\n\nThe event contract provides structured content parts, explicit lifecycle events,\ngeneric interrupt records, usage and finish metadata, and `reduceAgentEvent()` for\nrebuilding a UI-safe snapshot. The reducer rejects out-of-order events and ignores\nexact duplicate event IDs so reconnects are deterministic; reusing an ID with\ndifferent data is rejected. Every event carries the numeric\n`AGENT_EVENT_PROTOCOL_VERSION` and consumers must reject unsupported versions.\n\nThe lifecycle event names are `run.started`, `message.started`,\n`message.part.delta`, `message.completed`, `tool.called`, `tool.progress`,\n`tool.completed`, `tool.failed`, `interrupt.required`, `interrupt.resolved`,\n`usage.updated`, `run.completed`, `run.failed`, and `run.cancelled`. The reducer\ntracks multiple assistant messages, tool progress/results/errors, the current\ninterrupt, usage, limits, and terminal metadata. A delta requires a started\nmessage; tool results require a known tool call; events after a terminal event are\nrejected.\n\nAll public contract values are strict JSON. `cloneJsonValue()` and\n`cloneJsonObject()` reject cycles, `undefined`, functions, symbols, `BigInt`,\n`Date`, `Map`, `Set`, and non-finite numbers.\n\nNormalized `Message.content` and `AgentRunResult.content` use the same\n`ContentPart[]` contract. Tool calls and tool results are content parts rather than a\nsecond message-specific representation. Media parts identify exactly one source:\n`url`, base64 `data`, or `fileId`.\n\n`cloneJsonSchema()` accepts a JSON Schema object or boolean. AgentDock’s ordinary\nmodel-tool boundary requires an object-root schema; the supported raw subset is\ndocumented in the `@agentdock-ai/agentdock` package.\n","readmeFilename":"README.md","_rev":"1-61d8b1ec7f6f4e4a2a3d884d46853d59"}