{"_id":"@agentdock-ai/agentdock","_rev":"2-9ab3fbf840a96277ed3cb0c25328014d","name":"@agentdock-ai/agentdock","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@agentdock-ai/agentdock","version":"0.1.0","license":"MIT","_id":"@agentdock-ai/agentdock@0.1.0","maintainers":[{"name":"mhd_zain","email":"zainmemon010@gmail.com"}],"homepage":"https://github.com/agentdock-ai/agentdock#readme","bugs":{"url":"https://github.com/agentdock-ai/agentdock/issues"},"dist":{"shasum":"1c58eda619c19133b43dbcac1201d3c976f02597","tarball":"https://registry.npmjs.org/@agentdock-ai/agentdock/-/agentdock-0.1.0.tgz","fileCount":90,"integrity":"sha512-2uiU4JpF30Yw54J89dZGAbplS08t6izR+1WacP25xdlLAxoE9di/m1NxnzjfsGlbmBi4ZYq0v9jxaLvihZEyaw==","signatures":[{"sig":"MEYCIQDbNIdEGgBhmqyMiUBlbh7wIJLSQRbDvGmLSqaFbvYxwQIhAIteWtY82HL5TkmukukD7Yisb335g+4p82wqd+OhnbBa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":309521},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./agent":{"types":"./dist/agent/index.d.ts","import":"./dist/agent/index.js"},"./tools":{"types":"./dist/tools/registry.d.ts","import":"./dist/tools/registry.js"}},"gitHead":"1978464d4a727768ca1a51f4fb69e4d33dcb0ad4","scripts":{"dev":"tsc -p tsconfig.json --watch --preserveWatchOutput","test":"yarn test:types && yarn test:unit && yarn test:integration","build":"yarn clean && tsc -p tsconfig.json","clean":"rm -rf dist","format":"prettier --write src test scripts package.json README.md","prepack":"yarn build","test:unit":"vitest run test/unit","typecheck":"tsc -p tsconfig.json --noEmit","test:types":"tsc -p tsconfig.type-tests.json --noEmit","test:watch":"vitest","format:check":"prettier --check src test scripts package.json README.md","pack:artifact":"yarn pack --filename agentdock.tgz","test:coverage":"vitest run --coverage","test:scenarios":"yarn build && yarn workspace @agentdock-ai/models build && node scripts/scenarios/streaming.mjs && node scripts/scenarios/tool-call.mjs && node scripts/scenarios/approval.mjs","test:integration":"vitest run test/integration"},"_npmUser":{"name":"mhd_zain","email":"zainmemon010@gmail.com"},"repository":{"url":"git+https://github.com/agentdock-ai/agentdock.git","type":"git","directory":"packages/agentdock"},"_npmVersion":"11.12.1","description":"Reusable TypeScript agent infrastructure for AgentDock applications","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","dependencies":{"zod":"^4.5.4","langchain":"^1.5.10","@langchain/core":"^1.2.9","@langchain/langgraph":"^1.4.13","@agentdock-ai/contracts":"^0.1.0","@agentdock-ai/checkpoint":"^0.1.0","@langchain/langgraph-checkpoint":"^1.1.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","prettier":"^3.5.3","typescript":"^7.0.2","@types/node":"^26.1.2","@vitest/coverage-v8":"^4.1.11","@agentdock-ai/checkpoint-redis":"^0.1.0","@agentdock-ai/checkpoint-sqlite":"^0.1.0","@agentdock-ai/checkpoint-mongodb":"^0.1.0","@agentdock-ai/checkpoint-postgres":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/agentdock_0.1.0_1789210106221_0.15232208402442904","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"_id":"@agentdock-ai/agentdock@0.1.1","bugs":{"url":"https://github.com/agentdock-ai/agentdock/issues"},"dist":{"shasum":"ea2982c50016bf25cd95ba7abb61441ddfe7766a","tarball":"https://registry.npmjs.org/@agentdock-ai/agentdock/-/agentdock-0.1.1.tgz","fileCount":86,"integrity":"sha512-cy2KDaybiGZHjejAFZm4mfpIPnLhz/nG/yR8Jeku+wTDnhjmTAXMK5O1M5ZnS0he4F+iVLyND51YZu2RX0a3QQ==","signatures":[{"sig":"MEUCIQCYpbvzEYNDmjKYdy4EwgiCrRtCjQQgEv5fNRWgnhUmsAIgM9733gIILU27CD+i66rpXvdSwNpMSfMpiHjNF4955rY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCii6zkZrQ8RvTT3UOsTnHKl3fd0zjRhDfgMcyBhcR5tgIhAP6VjbXDnjaL6VomBlvmFZCymbGTwv4Aeyz4IHCp/Lmz"}],"unpackedSize":298614},"main":"./dist/index.js","name":"@agentdock-ai/agentdock","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./agent":{"types":"./dist/agent/index.d.ts","import":"./dist/agent/index.js"},"./tools":{"types":"./dist/tools/registry.d.ts","import":"./dist/tools/registry.js"}},"gitHead":"21147f2dcd828a7108a1bb27032495fa176a7578","license":"MIT","scripts":{"dev":"tsc -p tsconfig.json --watch --preserveWatchOutput","test":"yarn test:types && yarn test:unit && yarn test:integration","build":"yarn clean && tsc -p tsconfig.json","clean":"rm -rf dist","format":"prettier --write src test scripts package.json README.md","prepack":"yarn build","test:unit":"vitest run test/unit","typecheck":"tsc -p tsconfig.json --noEmit","test:types":"tsc -p tsconfig.type-tests.json --noEmit","test:watch":"vitest","format:check":"prettier --check src test scripts package.json README.md","pack:artifact":"yarn pack --filename agentdock.tgz","test:coverage":"vitest run --coverage","test:scenarios":"yarn build && yarn workspace @agentdock-ai/models build && node scripts/scenarios/streaming.mjs && node scripts/scenarios/tool-call.mjs && node scripts/scenarios/approval.mjs","test:integration":"vitest run test/integration"},"version":"0.1.1","_npmUser":{"name":"mhd_zain","email":"zainmemon010@gmail.com"},"homepage":"https://github.com/agentdock-ai/agentdock#readme","repository":{"url":"git+https://github.com/agentdock-ai/agentdock.git","type":"git","directory":"packages/agentdock"},"_npmVersion":"11.13.0","description":"An easy-to-use TypeScript wrapper around LangGraph for building AI agents.","directories":{},"maintainers":[{"name":"mhd_zain","email":"zainmemon010@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.17.0","dependencies":{"zod":"^4.5.4","langchain":"^1.5.10","@langchain/core":"^1.2.9","@langchain/langgraph":"^1.4.13","@agentdock-ai/contracts":"^0.1.0","@agentdock-ai/checkpoint":"^0.1.0","@langchain/langgraph-checkpoint":"^1.1.5"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","prettier":"^3.5.3","typescript":"^7.0.2","@types/node":"^26.1.2","@vitest/coverage-v8":"^4.1.11","@agentdock-ai/checkpoint-redis":"^0.1.0","@agentdock-ai/checkpoint-sqlite":"^0.1.0","@agentdock-ai/checkpoint-mongodb":"^0.1.0","@agentdock-ai/checkpoint-postgres":"^0.1.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agentdock_0.1.1_1789822409865_0.3874688222967271"}}},"time":{"created":"2026-09-12T10:48:26.043Z","modified":"2026-09-19T12:53:30.133Z","0.1.0":"2026-09-12T10:48:26.361Z","0.1.1":"2026-09-19T12:53:29.941Z"},"bugs":{"url":"https://github.com/agentdock-ai/agentdock/issues"},"license":"MIT","homepage":"https://github.com/agentdock-ai/agentdock#readme","repository":{"url":"git+https://github.com/agentdock-ai/agentdock.git","type":"git","directory":"packages/agentdock"},"description":"An easy-to-use TypeScript wrapper around LangGraph for building AI agents.","maintainers":[{"name":"mhd_zain","email":"zainmemon010@gmail.com"}],"readme":"<div align=\"center\">\n  <p>\n    <img src=\"https://raw.githubusercontent.com/agentdock-ai/agentdock/main/logo.png\" alt=\"Agentdock\" width=\"300\" />\n  </p>\n\n  <p>Production-oriented TypeScript runtime for streamed, tool-using agents.</p>\n\n  <p>\n    <a href=\"https://www.npmjs.com/package/@agentdock-ai/agentdock\"><img alt=\"npm version\" src=\"https://img.shields.io/npm/v/%40agentdock-ai%2Fagentdock?label=release&color=6959DF\" /></a>\n    <a href=\"https://github.com/agentdock-ai/agentdock/blob/main/LICENSE\"><img alt=\"License MIT\" src=\"https://img.shields.io/badge/license-MIT-111827\" /></a>\n    <img alt=\"Node.js 20+\" src=\"https://img.shields.io/badge/Node.js-20%2B-339933?logo=node.js&logoColor=white\" />\n    <img alt=\"TypeScript\" src=\"https://img.shields.io/badge/TypeScript-first-3178C6?logo=typescript&logoColor=white\" />\n  </p>\n</div>\n\nAgentdock gives TypeScript applications a focused runtime for model calls, typed\ntools, approvals, sessions, persistence, streaming, and lifecycle control. LangChain\nand LangGraph run internally; application code uses the Agentdock API.\n\n## ✨ What you get\n\n- **Agent runtime:** one `AgentDock` class for runs, streams, and resumes.\n- **Typed tools:** validation, authorization, progress, cancellation, and approvals.\n- **Durable sessions:** memory, SQLite, PostgreSQL, MongoDB, and Redis adapters.\n- **Normalized events:** one frontend-friendly contract for text, tools, usage, and interrupts.\n- **Safe lifecycle:** timeouts, cancellation, cleanup, and owned resource management.\n\n## 🚀 Install\n\n```bash\nyarn add @agentdock-ai/agentdock @agentdock-ai/models zod\n```\n\n## 💻 Quick start\n\n```ts\nimport { AgentDock, defineTool } from \"@agentdock-ai/agentdock\";\nimport { AgentDockModel } from \"@agentdock-ai/models\";\nimport { z } from \"zod\";\n\nconst weather = defineTool({\n  name: \"get_weather\",\n  description: \"Get the weather for a city.\",\n  input: z.object({ city: z.string() }),\n  run: async ({ city }) => ({ city, forecast: \"Sunny\" }),\n});\n\nconst agent = new AgentDock({\n  model: AgentDockModel.openAI({ model: \"gpt-5.4-mini\" }),\n});\n\nagent.registerTool(weather);\n\ntry {\n  const result = await agent.run(\n    \"What is the weather in Lahore?\",\n    { userId: \"user-123\" },\n    { sessionId: \"session-123\" },\n  );\n\n  console.log(result.content);\n} finally {\n  await agent.close();\n}\n```\n\nUse `agent.stream()` when the UI should receive text and tool activity as it arrives:\n\n```ts\nconst { stream, result } = await agent.stream(\n  \"Summarize my latest order.\",\n  { userId: \"user-123\" },\n  { sessionId: \"session-123\" },\n);\n\nfor await (const event of stream) {\n  if (event.type === \"message.part.delta\" && event.part.type === \"text\") {\n    process.stdout.write(event.part.text);\n  }\n}\n\nconsole.log(await result);\n```\n\n## 🧠 Sessions and approvals\n\nPass a stable `sessionId` to continue a conversation. Use a durable checkpoint\nadapter when sessions must survive restarts or be shared across instances:\n\n```bash\nyarn add @agentdock-ai/checkpoint-postgres\n```\n\n```ts\nimport { PostgresCheckpoint } from \"@agentdock-ai/checkpoint-postgres\";\n\nconst agent = new AgentDock({\n  model,\n  checkpoint: new PostgresCheckpoint({\n    connectionString: process.env.DATABASE_URL!,\n  }),\n});\n```\n\nSet `requiresApproval: true` on a side-effecting tool. Agentdock pauses the run,\npersists the interrupt, and resumes it with `agent.resume()` after approval.\n\n## 📚 Useful APIs\n\n| API                   | Use it for                                          |\n| --------------------- | --------------------------------------------------- |\n| `run()`               | Execute a prompt and receive one result.            |\n| `stream()`            | Consume normalized events while a run is executing. |\n| `resume()`            | Continue a paused approval run.                     |\n| `getSession()`        | Read the current normalized message state.          |\n| `getSessionHistory()` | Inspect checkpoint-by-checkpoint history.           |\n| `deleteSession()`     | Remove a session’s checkpoint context.              |\n| `close()`             | Stop active work and release owned resources.       |\n\n## 🔗 Related packages\n\n- [`@agentdock-ai/models`](https://www.npmjs.com/package/@agentdock-ai/models) — provider configuration.\n- [`@agentdock-ai/contracts`](https://www.npmjs.com/package/@agentdock-ai/contracts) — framework-independent events and data types.\n- [`@agentdock-ai/checkpoint`](https://www.npmjs.com/package/@agentdock-ai/checkpoint) — checkpoint contract and memory adapter.\n\n## 📄 License\n\nMIT. See the [repository license](https://github.com/agentdock-ai/agentdock/blob/main/LICENSE).\n","readmeFilename":"README.md"}