{
  "name": "agents",
  "description": "A home for your AI agents",
  "keywords": [
    "cloudflare",
    "agents",
    "ai",
    "llm",
    "durable objects"
  ],
  "type": "module",
  "version": "0.24.0",
  "license": "MIT",
  "repository": {
    "directory": "packages/agents",
    "type": "git",
    "url": "git+https://github.com/cloudflare/agents.git"
  },
  "author": "Cloudflare Inc.",
  "bugs": {
    "url": "https://github.com/cloudflare/agents/issues"
  },
  "dependencies": {
    "@babel/plugin-proposal-decorators": "^8.0.2",
    "@cfworker/json-schema": "^4.1.1",
    "@rolldown/plugin-babel": "^0.2.3",
    "capnweb": "^0.12.0",
    "cron-schedule": "^6.0.0",
    "esbuild": "^0.28.1",
    "mimetext": "^3.0.28",
    "nanoid": "^5.1.16",
    "partysocket": "1.3.0",
    "postal-mime": "^2.7.5",
    "yaml": "^2.9.0"
  },
  "devDependencies": {
    "@ai-sdk/react": "^4.0.0",
    "@ai-sdk/valibot": "3.0.6",
    "@cloudflare/codemode": "^0.5.2",
    "@modelcontextprotocol/client": "2.0.0",
    "@modelcontextprotocol/conformance-v2": "npm:@modelcontextprotocol/conformance@0.2.0-alpha.10",
    "@modelcontextprotocol/sdk": "1.30.0",
    "@modelcontextprotocol/server": "2.0.0",
    "@tanstack/ai": "0.38.0",
    "@types/react": "^19.2.17",
    "@valibot/to-json-schema": "1.3.0",
    "@x402/core": "^2.17.0",
    "@x402/evm": "^2.17.0",
    "ai": "^7.0.0",
    "chat": "^4.31.0",
    "glob": "^13.0.6",
    "just-bash": "^3.0.2",
    "react": "^19.2.7",
    "teleproto": "^1.228.5",
    "valibot": "1.4.2",
    "zod": "^4.5.4"
  },
  "peerDependencies": {
    "@ai-sdk/react": "^3.0.0 || ^4.0.0",
    "@cloudflare/codemode": ">=0.5.0",
    "@modelcontextprotocol/client": "2.0.0",
    "@modelcontextprotocol/sdk": "1.30.0",
    "@modelcontextprotocol/server": "2.0.0",
    "@tanstack/ai": ">=0.10.2 <1.0.0",
    "@x402/core": "^2.0.0",
    "@x402/evm": "^2.0.0",
    "ai": "^6.0.0 || ^7.0.0",
    "chat": "^4.29.0",
    "just-bash": "^3.0.0",
    "react": "^19.0.0",
    "vite": ">=6.0.0 <9.0.0",
    "zod": "^4.0.0"
  },
  "peerDependenciesMeta": {
    "@ai-sdk/react": {
      "optional": true
    },
    "@cloudflare/codemode": {
      "optional": true
    },
    "@tanstack/ai": {
      "optional": true
    },
    "@x402/core": {
      "optional": true
    },
    "@x402/evm": {
      "optional": true
    },
    "ai": {
      "optional": true
    },
    "chat": {
      "optional": true
    },
    "just-bash": {
      "optional": true
    },
    "react": {
      "optional": true
    },
    "vite": {
      "optional": true
    }
  },
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js",
      "require": "./dist/index.js"
    },
    "./types": {
      "types": "./dist/types.d.ts",
      "import": "./dist/types.js",
      "require": "./dist/types.js"
    },
    "./client": {
      "types": "./dist/client.d.ts",
      "import": "./dist/client.js",
      "require": "./dist/client.js"
    },
    "./routing": {
      "types": "./dist/routing/index.d.ts",
      "import": "./dist/routing/index.js",
      "require": "./dist/routing/index.js"
    },
    "./streams": {
      "types": "./dist/streams/index.d.ts",
      "import": "./dist/streams/index.js",
      "require": "./dist/streams/index.js"
    },
    "./context": {
      "types": "./dist/context/index.d.ts",
      "import": "./dist/context/index.js",
      "require": "./dist/context/index.js"
    },
    "./sessions": {
      "types": "./dist/sessions/index.d.ts",
      "import": "./dist/sessions/index.js",
      "require": "./dist/sessions/index.js"
    },
    "./tasks": {
      "types": "./dist/tasks/index.d.ts",
      "import": "./dist/tasks/index.js",
      "require": "./dist/tasks/index.js"
    },
    "./lifecycle": {
      "types": "./dist/lifecycle/index.d.ts",
      "import": "./dist/lifecycle/index.js",
      "require": "./dist/lifecycle/index.js"
    },
    "./agent-tools": {
      "types": "./dist/agent-tools.d.ts",
      "import": "./dist/agent-tools.js",
      "require": "./dist/agent-tools.js"
    },
    "./codemode/ai": {
      "types": "./dist/codemode/ai.d.ts",
      "import": "./dist/codemode/ai.js",
      "require": "./dist/codemode/ai.js"
    },
    "./mcp": {
      "types": "./dist/mcp/index.d.ts",
      "import": "./dist/mcp/index.js",
      "require": "./dist/mcp/index.js"
    },
    "./mcp/client": {
      "types": "./dist/mcp/client/index.d.ts",
      "import": "./dist/mcp/client/index.js",
      "require": "./dist/mcp/client/index.js"
    },
    "./mcp/server": {
      "types": "./dist/mcp/server/index.d.ts",
      "import": "./dist/mcp/server/index.js",
      "require": "./dist/mcp/server/index.js"
    },
    "./mcp/do-oauth-client-provider": {
      "types": "./dist/mcp/client/do-oauth-client-provider.d.ts",
      "import": "./dist/mcp/client/do-oauth-client-provider.js",
      "require": "./dist/mcp/client/do-oauth-client-provider.js"
    },
    "./observability": {
      "types": "./dist/observability/index.d.ts",
      "import": "./dist/observability/index.js",
      "require": "./dist/observability/index.js"
    },
    "./observability/ai": {
      "types": "./dist/observability/ai/index.d.ts",
      "import": "./dist/observability/ai/index.js",
      "require": "./dist/observability/ai/index.js"
    },
    "./react": {
      "types": "./dist/react.d.ts",
      "import": "./dist/react.js",
      "require": "./dist/react.js"
    },
    "./websockets": {
      "types": "./dist/websockets/index.d.ts",
      "import": "./dist/websockets/index.js",
      "require": "./dist/websockets/index.js"
    },
    "./state": {
      "types": "./dist/state/index.d.ts",
      "import": "./dist/state/index.js",
      "require": "./dist/state/index.js"
    },
    "./schedule": {
      "types": "./dist/schedule.d.ts",
      "import": "./dist/schedule.js",
      "require": "./dist/schedule.js"
    },
    "./queue": {
      "types": "./dist/queue/index.d.ts",
      "import": "./dist/queue/index.js",
      "require": "./dist/queue/index.js"
    },
    "./schedules": {
      "types": "./dist/schedules/index.d.ts",
      "import": "./dist/schedules/index.js",
      "require": "./dist/schedules/index.js"
    },
    "./schedules/parser": {
      "types": "./dist/schedules/parser.d.ts",
      "import": "./dist/schedules/parser.js",
      "require": "./dist/schedules/parser.js"
    },
    "./workflows": {
      "types": "./dist/workflows.d.ts",
      "import": "./dist/workflows.js",
      "require": "./dist/workflows.js"
    },
    "./experimental/webmcp": {
      "types": "./dist/experimental/webmcp.d.ts",
      "import": "./dist/experimental/webmcp.js",
      "require": "./dist/experimental/webmcp.js"
    },
    "./x402": {
      "types": "./dist/mcp/client/x402.d.ts",
      "import": "./dist/mcp/client/x402.js",
      "require": "./dist/mcp/client/x402.js"
    },
    "./chat": {
      "types": "./dist/chat/index.d.ts",
      "import": "./dist/chat/index.js",
      "require": "./dist/chat/index.js"
    },
    "./chat/transport": {
      "types": "./dist/chat/transport.d.ts",
      "import": "./dist/chat/transport.js",
      "require": "./dist/chat/transport.js"
    },
    "./chat/react": {
      "types": "./dist/chat/react.d.ts",
      "import": "./dist/chat/react.js",
      "require": "./dist/chat/react.js"
    },
    "./chat-sdk": {
      "types": "./dist/chat-sdk/index.d.ts",
      "import": "./dist/chat-sdk/index.js",
      "require": "./dist/chat-sdk/index.js"
    },
    "./ai-chat-agent": {
      "types": "./dist/ai-chat-agent.d.ts",
      "import": "./dist/ai-chat-agent.js",
      "require": "./dist/ai-chat-agent.js"
    },
    "./ai-chat-v5-migration": {
      "types": "./dist/ai-chat-v5-migration.d.ts",
      "import": "./dist/ai-chat-v5-migration.js",
      "require": "./dist/ai-chat-v5-migration.js"
    },
    "./ai-react": {
      "types": "./dist/ai-react.d.ts",
      "import": "./dist/ai-react.js",
      "require": "./dist/ai-react.js"
    },
    "./ai-types": {
      "types": "./dist/ai-types.d.ts",
      "import": "./dist/ai-types.js",
      "require": "./dist/ai-types.js"
    },
    "./email": {
      "types": "./dist/email.d.ts",
      "import": "./dist/email.js",
      "require": "./dist/email.js"
    },
    "./browser": {
      "types": "./dist/browser/index.d.ts",
      "import": "./dist/browser/index.js",
      "require": "./dist/browser/index.js"
    },
    "./browser/ai": {
      "types": "./dist/browser/ai.d.ts",
      "import": "./dist/browser/ai.js",
      "require": "./dist/browser/ai.js"
    },
    "./browser/tanstack-ai": {
      "types": "./dist/browser/tanstack-ai.d.ts",
      "import": "./dist/browser/tanstack-ai.js",
      "require": "./dist/browser/tanstack-ai.js"
    },
    "./voice": {
      "types": "./dist/voice/index.d.ts",
      "import": "./dist/voice/index.js",
      "require": "./dist/voice/index.js"
    },
    "./voice/types": {
      "types": "./dist/voice/types.d.ts",
      "import": "./dist/voice/types.js",
      "require": "./dist/voice/types.js"
    },
    "./voice/client": {
      "types": "./dist/voice/client.d.ts",
      "import": "./dist/voice/client.js",
      "require": "./dist/voice/client.js"
    },
    "./voice/react": {
      "types": "./dist/voice/react.d.ts",
      "import": "./dist/voice/react.js",
      "require": "./dist/voice/react.js"
    },
    "./voice/errors": {
      "types": "./dist/voice/errors.d.ts",
      "import": "./dist/voice/errors.js",
      "require": "./dist/voice/errors.js"
    },
    "./voice/workers-ai": {
      "types": "./dist/voice/workers-ai.d.ts",
      "import": "./dist/voice/workers-ai.js",
      "require": "./dist/voice/workers-ai.js"
    },
    "./voice/sfu": {
      "types": "./dist/voice/sfu.d.ts",
      "import": "./dist/voice/sfu.js",
      "require": "./dist/voice/sfu.js"
    },
    "./voice/text": {
      "types": "./dist/voice/text.d.ts",
      "import": "./dist/voice/text.js",
      "require": "./dist/voice/text.js"
    },
    "./channels": {
      "types": "./dist/channels/index.d.ts",
      "import": "./dist/channels/index.js",
      "require": "./dist/channels/index.js"
    },
    "./channels/email": {
      "types": "./dist/channels/email.d.ts",
      "import": "./dist/channels/email.js",
      "require": "./dist/channels/email.js"
    },
    "./channels/slack": {
      "types": "./dist/channels/slack.d.ts",
      "import": "./dist/channels/slack.js",
      "require": "./dist/channels/slack.js"
    },
    "./channels/telegram": {
      "types": "./dist/channels/telegram.d.ts",
      "import": "./dist/channels/telegram.js",
      "require": "./dist/channels/telegram.js"
    },
    "./channels/voice": {
      "types": "./dist/channels/voice.d.ts",
      "import": "./dist/channels/voice.js",
      "require": "./dist/channels/voice.js"
    },
    "./channels/ai-sdk": {
      "types": "./dist/channels/ai-sdk.d.ts",
      "import": "./dist/channels/ai-sdk.js",
      "require": "./dist/channels/ai-sdk.js"
    },
    "./channels/tanstack-ai": {
      "types": "./dist/channels/tanstack-ai.d.ts",
      "import": "./dist/channels/tanstack-ai.js",
      "require": "./dist/channels/tanstack-ai.js"
    },
    "./tsconfig": "./agents.tsconfig.json",
    "./vite": {
      "types": "./dist/vite.d.ts",
      "import": "./dist/vite.js",
      "require": "./dist/vite.js"
    },
    "./skills": {
      "types": "./dist/skills/index.d.ts",
      "import": "./dist/skills/index.js",
      "require": "./dist/skills/index.js"
    },
    "./skills/compile": {
      "types": "./dist/skills/compile.d.ts",
      "import": "./dist/skills/compile.js",
      "require": "./dist/skills/compile.js"
    }
  },
  "publishConfig": {
    "access": "public"
  },
  "files": [
    "dist",
    "docs",
    "agents.tsconfig.json",
    "skills-module.d.ts",
    "README.md"
  ],
  "nx": {
    "implicitDependencies": [
      "!@cloudflare/ai-chat"
    ],
    "targets": {
      "build": {
        "inputs": [
          "production",
          "^production",
          "{workspaceRoot}/docs/agents/**/*",
          "{workspaceRoot}/scripts/copy-package-docs.ts"
        ],
        "outputs": [
          "{projectRoot}/dist",
          "{projectRoot}/docs"
        ]
      }
    }
  },
  "scripts": {
    "build": "tsx ./scripts/build.ts",
    "evals": "(cd evals; evalite)",
    "test": "vitest --run",
    "test:node": "vitest --project node",
    "test:react": "vitest --project react",
    "test:voice:workers": "vitest --project voice-workers",
    "test:voice:react": "vitest --project voice-react",
    "test:channels": "vitest --project channels",
    "test:channels:live": "vitest --run -c src/channels/vitest.live.config.ts",
    "test:browser": "vitest run --config src/browser-tests/vitest.config.ts",
    "test:workers": "vitest --project workers",
    "test:chat": "vitest --project chat",
    "test:webmcp": "vitest --project webmcp",
    "test:x402": "vitest --project x402",
    "test:e2e": "vitest --run -c src/e2e-tests/vitest.config.ts",
    "test:conformance": "pnpm run test:conformance:client && pnpm run test:conformance:server",
    "test:conformance:client": "pnpm run test:conformance:client:stateless && pnpm run test:conformance:client:2025-11-25 && pnpm run test:conformance:client:2025-06-18 && pnpm run test:conformance:client:2025-03-26",
    "test:conformance:client:stateless": "bash conformance/run.sh client-stateless",
    "test:conformance:client:2025-11-25": "bash conformance/run.sh client-2025-11-25",
    "test:conformance:client:2025-06-18": "bash conformance/run.sh client-2025-06-18",
    "test:conformance:client:2025-03-26": "bash conformance/run.sh client-2025-03-26",
    "test:conformance:server": "pnpm run test:conformance:server:handler && pnpm run test:conformance:server:handler:legacy-compat && pnpm run test:conformance:server:handler:legacy && pnpm run test:conformance:server:mcp-agent",
    "test:conformance:server:mcp-agent": "bash conformance/run.sh server-mcp-agent",
    "test:conformance:server:handler": "bash conformance/run.sh server-handler",
    "test:conformance:server:handler:legacy-compat": "bash conformance/run.sh server-handler-legacy-compat",
    "test:conformance:server:handler:legacy": "bash conformance/run.sh server-handler-legacy"
  }
}