{
  "name": "@tangle-network/agent-app",
  "version": "0.46.10",
  "packageManager": "pnpm@11.17.0",
  "description": "Build agent applications with typed chat, tools, sandboxes, integrations, billing, and evaluation.",
  "keywords": [
    "tangle",
    "ai-agent",
    "agent-framework",
    "llm",
    "tool-calling",
    "mcp",
    "openai",
    "approval-workflow",
    "cloudflare-workers",
    "eval"
  ],
  "homepage": "https://github.com/tangle-network/agent-app#readme",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/tangle-network/agent-app.git"
  },
  "bugs": {
    "url": "https://github.com/tangle-network/agent-app/issues"
  },
  "license": "MIT",
  "type": "module",
  "sideEffects": false,
  "files": [
    "dist",
    "bin",
    ".claude/skills"
  ],
  "bin": {
    "agent-app-theme-check": "./dist/theme-contract/cli.js",
    "agent-app-legibility-check": "./dist/legibility/cli.js",
    "agent-app-preflight": "./dist/preflight/cli.js",
    "agent-app-peer-check": "./dist/peer-floors/cli.js",
    "agent-app-spend-check": "./dist/spend/cli.js",
    "agent-app-signoff": "./dist/signoff/cli.js",
    "agent-app-verify-proof": "./dist/signoff/proof-cli.js"
  },
  "exports": {
    "./package.json": "./package.json",
    "./signoff": {
      "types": "./dist/signoff/index.d.ts",
      "import": "./dist/signoff/index.js",
      "default": "./dist/signoff/index.js"
    },
    "./signoff/proof": {
      "types": "./dist/signoff/proof.d.ts",
      "import": "./dist/signoff/proof.js",
      "default": "./dist/signoff/proof.js"
    },
    "./tools": {
      "types": "./dist/tools/index.d.ts",
      "import": "./dist/tools/index.js",
      "default": "./dist/tools/index.js"
    },
    "./tangle": {
      "types": "./dist/tangle/index.d.ts",
      "import": "./dist/tangle/index.js",
      "default": "./dist/tangle/index.js"
    },
    "./platform": {
      "types": "./dist/platform/index.d.ts",
      "import": "./dist/platform/index.js",
      "default": "./dist/platform/index.js"
    },
    "./app-auth": {
      "types": "./dist/app-auth/index.d.ts",
      "import": "./dist/app-auth/index.js",
      "default": "./dist/app-auth/index.js"
    },
    "./runtime": {
      "types": "./dist/runtime/index.d.ts",
      "import": "./dist/runtime/index.js",
      "default": "./dist/runtime/index.js"
    },
    "./catalog": {
      "types": "./dist/catalog/index.d.ts",
      "import": "./dist/catalog/index.js",
      "default": "./dist/catalog/index.js"
    },
    "./eval": {
      "types": "./dist/eval/index.d.ts",
      "import": "./dist/eval/index.js",
      "default": "./dist/eval/index.js"
    },
    "./eval-campaign": {
      "types": "./dist/eval-campaign/index.d.ts",
      "import": "./dist/eval-campaign/index.js",
      "default": "./dist/eval-campaign/index.js"
    },
    "./knowledge": {
      "types": "./dist/knowledge/index.d.ts",
      "import": "./dist/knowledge/index.js",
      "default": "./dist/knowledge/index.js"
    },
    "./skills": {
      "types": "./dist/skills/index.d.ts",
      "import": "./dist/skills/index.js",
      "default": "./dist/skills/index.js"
    },
    "./skills-placement": {
      "types": "./dist/skills-placement/index.d.ts",
      "import": "./dist/skills-placement/index.js",
      "default": "./dist/skills-placement/index.js"
    },
    "./profile": {
      "types": "./dist/profile/index.d.ts",
      "import": "./dist/profile/index.js",
      "default": "./dist/profile/index.js"
    },
    "./prompt": {
      "types": "./dist/prompt/index.d.ts",
      "import": "./dist/prompt/index.js",
      "default": "./dist/prompt/index.js"
    },
    "./model-resolution": {
      "types": "./dist/model-resolution/index.d.ts",
      "import": "./dist/model-resolution/index.js",
      "default": "./dist/model-resolution/index.js"
    },
    "./sandbox": {
      "types": "./dist/sandbox/index.d.ts",
      "import": "./dist/sandbox/index.js",
      "default": "./dist/sandbox/index.js"
    },
    "./run": {
      "types": "./dist/run/index.d.ts",
      "import": "./dist/run/index.js",
      "default": "./dist/run/index.js"
    },
    "./config": {
      "types": "./dist/config/index.d.ts",
      "import": "./dist/config/index.js",
      "default": "./dist/config/index.js"
    },
    "./knowledge-loop": {
      "types": "./dist/knowledge-loop/index.d.ts",
      "import": "./dist/knowledge-loop/index.js",
      "default": "./dist/knowledge-loop/index.js"
    },
    "./harness": {
      "types": "./dist/harness/index.d.ts",
      "import": "./dist/harness/index.js",
      "default": "./dist/harness/index.js"
    },
    "./preset-cloudflare": {
      "types": "./dist/preset-cloudflare/index.d.ts",
      "import": "./dist/preset-cloudflare/index.js",
      "default": "./dist/preset-cloudflare/index.js"
    },
    "./billing": {
      "types": "./dist/billing/index.d.ts",
      "import": "./dist/billing/index.js",
      "default": "./dist/billing/index.js"
    },
    "./alerting": {
      "types": "./dist/alerting/index.d.ts",
      "import": "./dist/alerting/index.js",
      "default": "./dist/alerting/index.js"
    },
    "./preflight": {
      "types": "./dist/preflight/index.d.ts",
      "import": "./dist/preflight/index.js",
      "default": "./dist/preflight/index.js"
    },
    "./forms": {
      "types": "./dist/forms/index.d.ts",
      "import": "./dist/forms/index.js",
      "default": "./dist/forms/index.js"
    },
    "./object-store": {
      "types": "./dist/object-store/index.d.ts",
      "import": "./dist/object-store/index.js",
      "default": "./dist/object-store/index.js"
    },
    "./chat-store": {
      "types": "./dist/chat-store/index.d.ts",
      "import": "./dist/chat-store/index.js",
      "default": "./dist/chat-store/index.js"
    },
    "./chat-routes": {
      "types": "./dist/chat-routes/index.d.ts",
      "import": "./dist/chat-routes/index.js",
      "default": "./dist/chat-routes/index.js"
    },
    "./crypto": {
      "types": "./dist/crypto/index.d.ts",
      "import": "./dist/crypto/index.js",
      "default": "./dist/crypto/index.js"
    },
    "./stream": {
      "types": "./dist/stream/index.d.ts",
      "import": "./dist/stream/index.js",
      "default": "./dist/stream/index.js"
    },
    "./turn-stream": {
      "types": "./dist/turn-stream/index.d.ts",
      "import": "./dist/turn-stream/index.js",
      "default": "./dist/turn-stream/index.js"
    },
    "./turn-health": {
      "types": "./dist/turn-health/index.d.ts",
      "import": "./dist/turn-health/index.js",
      "default": "./dist/turn-health/index.js"
    },
    "./integrations": {
      "types": "./dist/integrations/index.d.ts",
      "import": "./dist/integrations/index.js",
      "default": "./dist/integrations/index.js"
    },
    "./interactions": {
      "types": "./dist/interactions/index.d.ts",
      "import": "./dist/interactions/index.js",
      "default": "./dist/interactions/index.js"
    },
    "./plans": {
      "types": "./dist/plans/index.d.ts",
      "import": "./dist/plans/index.js",
      "default": "./dist/plans/index.js"
    },
    "./missions": {
      "types": "./dist/missions/index.d.ts",
      "import": "./dist/missions/index.js",
      "default": "./dist/missions/index.js"
    },
    "./session-shell": {
      "types": "./dist/session-shell/index.d.ts",
      "import": "./dist/session-shell/index.js",
      "default": "./dist/session-shell/index.js"
    },
    "./web": {
      "types": "./dist/web/index.d.ts",
      "import": "./dist/web/index.js",
      "default": "./dist/web/index.js"
    },
    "./web-react": {
      "types": "./dist/web-react/index.d.ts",
      "import": "./dist/web-react/index.js",
      "default": "./dist/web-react/index.js"
    },
    "./web-react/async": {
      "types": "./dist/web-react/async/index.d.ts",
      "import": "./dist/web-react/async/index.js",
      "default": "./dist/web-react/async/index.js"
    },
    "./web-react/terminal": {
      "types": "./dist/web-react/terminal.d.ts",
      "import": "./dist/web-react/terminal.js",
      "default": "./dist/web-react/terminal.js"
    },
    "./work-product": {
      "types": "./dist/work-product/index.d.ts",
      "import": "./dist/work-product/index.js",
      "default": "./dist/work-product/index.js"
    },
    "./work-product-react": {
      "types": "./dist/work-product-react/index.d.ts",
      "import": "./dist/work-product-react/index.js",
      "default": "./dist/work-product-react/index.js"
    },
    "./chat-react": {
      "types": "./dist/chat-react/index.d.ts",
      "import": "./dist/chat-react/index.js",
      "default": "./dist/chat-react/index.js"
    },
    "./workspace-react": {
      "types": "./dist/workspace-react/index.d.ts",
      "import": "./dist/workspace-react/index.js",
      "default": "./dist/workspace-react/index.js"
    },
    "./assistant": {
      "types": "./dist/assistant/index.d.ts",
      "import": "./dist/assistant/index.js",
      "default": "./dist/assistant/index.js"
    },
    "./redact": {
      "types": "./dist/redact/index.d.ts",
      "import": "./dist/redact/index.js",
      "default": "./dist/redact/index.js"
    },
    "./store": {
      "types": "./dist/store/index.d.ts",
      "import": "./dist/store/index.js",
      "default": "./dist/store/index.js"
    },
    "./assets": {
      "types": "./dist/assets/index.d.ts",
      "import": "./dist/assets/index.js",
      "default": "./dist/assets/index.js"
    },
    "./brand-extraction": {
      "types": "./dist/brand-extraction/index.d.ts",
      "import": "./dist/brand-extraction/index.js",
      "default": "./dist/brand-extraction/index.js"
    },
    "./trace": {
      "types": "./dist/trace/index.d.ts",
      "import": "./dist/trace/index.js",
      "default": "./dist/trace/index.js"
    },
    "./sequences": {
      "types": "./dist/sequences/index.d.ts",
      "import": "./dist/sequences/index.js",
      "default": "./dist/sequences/index.js"
    },
    "./sequences/drizzle": {
      "types": "./dist/sequences/drizzle.d.ts",
      "import": "./dist/sequences/drizzle.js",
      "default": "./dist/sequences/drizzle.js"
    },
    "./sequences-react": {
      "types": "./dist/sequences-react/index.d.ts",
      "import": "./dist/sequences-react/index.js",
      "default": "./dist/sequences-react/index.js"
    },
    "./design-canvas": {
      "types": "./dist/design-canvas/index.d.ts",
      "import": "./dist/design-canvas/index.js",
      "default": "./dist/design-canvas/index.js"
    },
    "./documents": {
      "types": "./dist/documents/index.d.ts",
      "import": "./dist/documents/index.js",
      "default": "./dist/documents/index.js"
    },
    "./documents/pdf-inspector": {
      "types": "./dist/documents/pdf-inspector.d.ts",
      "import": "./dist/documents/pdf-inspector.js",
      "default": "./dist/documents/pdf-inspector.js"
    },
    "./openui": {
      "types": "./dist/openui/index.d.ts",
      "import": "./dist/openui/index.js",
      "default": "./dist/openui/index.js"
    },
    "./openui-react": {
      "types": "./dist/openui-react/index.d.ts",
      "import": "./dist/openui-react/index.js",
      "default": "./dist/openui-react/index.js"
    },
    "./design-canvas/drizzle": {
      "types": "./dist/design-canvas/drizzle.d.ts",
      "import": "./dist/design-canvas/drizzle.js",
      "default": "./dist/design-canvas/drizzle.js"
    },
    "./design-canvas-react": {
      "types": "./dist/design-canvas-react/index.d.ts",
      "import": "./dist/design-canvas-react/index.js",
      "default": "./dist/design-canvas-react/index.js"
    },
    "./design-canvas-react/engine": {
      "types": "./dist/design-canvas-react/engine.d.ts",
      "import": "./dist/design-canvas-react/engine.js",
      "default": "./dist/design-canvas-react/engine.js"
    },
    "./design-canvas-react/lazy": {
      "types": "./dist/design-canvas-react/lazy.d.ts",
      "import": "./dist/design-canvas-react/lazy.js",
      "default": "./dist/design-canvas-react/lazy.js"
    },
    "./studio": {
      "types": "./dist/studio/index.d.ts",
      "import": "./dist/studio/index.js",
      "default": "./dist/studio/index.js"
    },
    "./studio-react": {
      "types": "./dist/studio-react/index.d.ts",
      "import": "./dist/studio-react/index.js",
      "default": "./dist/studio-react/index.js"
    },
    "./studio-react/styles": "./dist/studio-react/studio.css",
    "./teams": {
      "types": "./dist/teams/index.d.ts",
      "import": "./dist/teams/index.js",
      "default": "./dist/teams/index.js"
    },
    "./teams/drizzle": {
      "types": "./dist/teams/drizzle.d.ts",
      "import": "./dist/teams/drizzle.js",
      "default": "./dist/teams/drizzle.js"
    },
    "./teams/members-api": {
      "types": "./dist/teams/members-api.d.ts",
      "import": "./dist/teams/members-api.js",
      "default": "./dist/teams/members-api.js"
    },
    "./teams/invitations-api": {
      "types": "./dist/teams/invitations-api.d.ts",
      "import": "./dist/teams/invitations-api.js",
      "default": "./dist/teams/invitations-api.js"
    },
    "./teams/resend": {
      "types": "./dist/teams/resend.d.ts",
      "import": "./dist/teams/resend.js",
      "default": "./dist/teams/resend.js"
    },
    "./teams-react": {
      "types": "./dist/teams-react/index.d.ts",
      "import": "./dist/teams-react/index.js",
      "default": "./dist/teams-react/index.js"
    },
    "./teams-react/lazy": {
      "types": "./dist/teams-react/lazy.d.ts",
      "import": "./dist/teams-react/lazy.js",
      "default": "./dist/teams-react/lazy.js"
    },
    "./intakes": {
      "types": "./dist/intakes/index.d.ts",
      "import": "./dist/intakes/index.js",
      "default": "./dist/intakes/index.js"
    },
    "./intakes/drizzle": {
      "types": "./dist/intakes/drizzle.d.ts",
      "import": "./dist/intakes/drizzle.js",
      "default": "./dist/intakes/drizzle.js"
    },
    "./intakes/api": {
      "types": "./dist/intakes/api.d.ts",
      "import": "./dist/intakes/api.js",
      "default": "./dist/intakes/api.js"
    },
    "./intakes-react": {
      "types": "./dist/intakes-react/index.d.ts",
      "import": "./dist/intakes-react/index.js",
      "default": "./dist/intakes-react/index.js"
    },
    "./intakes-react/lazy": {
      "types": "./dist/intakes-react/lazy.d.ts",
      "import": "./dist/intakes-react/lazy.js",
      "default": "./dist/intakes-react/lazy.js"
    },
    "./record": {
      "types": "./dist/record/index.d.ts",
      "import": "./dist/record/index.js",
      "default": "./dist/record/index.js"
    },
    "./record/drizzle": {
      "types": "./dist/record/drizzle.d.ts",
      "import": "./dist/record/drizzle.js",
      "default": "./dist/record/drizzle.js"
    },
    "./vault": {
      "types": "./dist/vault/index.d.ts",
      "import": "./dist/vault/index.js",
      "default": "./dist/vault/index.js"
    },
    "./vault/lazy": {
      "types": "./dist/vault/lazy.d.ts",
      "import": "./dist/vault/lazy.js",
      "default": "./dist/vault/lazy.js"
    },
    "./vault/server": {
      "types": "./dist/vault/server.d.ts",
      "import": "./dist/vault/server.js",
      "default": "./dist/vault/server.js"
    },
    "./brand": {
      "types": "./dist/brand/index.d.ts",
      "import": "./dist/brand/index.js",
      "default": "./dist/brand/index.js"
    },
    "./theme": {
      "types": "./dist/theme/index.d.ts",
      "import": "./dist/theme/index.js",
      "default": "./dist/theme/index.js"
    },
    "./tailwind-preset": {
      "types": "./dist/theme/tailwind-preset.d.ts",
      "import": "./dist/theme/tailwind-preset.js",
      "default": "./dist/theme/tailwind-preset.js"
    },
    "./theme-contract": {
      "types": "./dist/theme-contract/index.d.ts",
      "import": "./dist/theme-contract/index.js",
      "default": "./dist/theme-contract/index.js"
    },
    "./styles": "./dist/theme/tokens.css",
    "./legibility": {
      "types": "./dist/legibility/index.d.ts",
      "import": "./dist/legibility/index.js",
      "default": "./dist/legibility/index.js"
    },
    "./peer-floors": {
      "types": "./dist/peer-floors/check.d.ts",
      "import": "./dist/peer-floors/check.js",
      "default": "./dist/peer-floors/check.js"
    },
    "./spend": {
      "types": "./dist/spend/index.d.ts",
      "import": "./dist/spend/index.js",
      "default": "./dist/spend/index.js"
    }
  },
  "scripts": {
    "build": "tsup && tsc -p tsconfig.build.json",
    "dev": "tsup --watch",
    "dev:types": "tsc -p tsconfig.build.json --watch --preserveWatchOutput",
    "prepare": "pnpm run build",
    "test": "vitest run",
    "test:generated": "node .github/scripts/test-generated-projects.mjs",
    "test:gates": "vitest run src/sandbox/index.test.ts src/profile/index.test.ts tests/chat-stream.test.ts tests/browser-safe-subpaths.test.ts tests/test-quality.test.ts tests/knip-entries-fresh.test.ts tests/web-react/popover-escapes-host.test.tsx tests/web-react/popover-canon-source.test.ts tests/studio/layer-order.test.ts",
    "test:watch": "vitest",
    "typecheck": "tsc --noEmit",
    "docs:gen": "agent-docs",
    "knip": "knip",
    "signoff": "node dist/signoff/cli.js",
    "storybook": "storybook dev -p 6006",
    "build-storybook": "storybook build"
  },
  "devDependencies": {
    "@cloudflare/workers-types": "5.20260722.1",
    "@firecrawl/pdf-inspector-wasm": "^0.1.3",
    "@hocuspocus/provider": "^4.4.0",
    "@storybook/react": "^10.5.5",
    "@storybook/react-vite": "^10.5.5",
    "@tangle-network/agent-docs": "0.2.1",
    "@tangle-network/agent-eval": "0.149.0",
    "@tangle-network/agent-integrations": "0.53.54",
    "@tangle-network/agent-interface": "1.1.0",
    "@tangle-network/agent-knowledge": "8.0.10",
    "@tangle-network/agent-profile-materialize": "0.16.0",
    "@tangle-network/agent-runtime": "0.142.0",
    "@tangle-network/brand": "1.5.0",
    "@tangle-network/sandbox": "0.29.0",
    "@tangle-network/sandbox-ui": "0.105.0",
    "@tangle-network/ui": "^11.5.0",
    "@testing-library/dom": "^10.4.1",
    "@testing-library/react": "^16.3.2",
    "@testing-library/user-event": "^14.6.1",
    "@tiptap/core": "^3.28.0",
    "@tiptap/extension-mention": "^3.28.0",
    "@tiptap/pm": "^3.28.0",
    "@tiptap/react": "^3.28.0",
    "@tiptap/starter-kit": "^3.28.0",
    "@tiptap/suggestion": "^3.28.0",
    "@types/better-sqlite3": "^7.6.13",
    "@types/node": "^22.20.1",
    "@types/react": "^19.0.0",
    "@types/react-dom": "19.2.3",
    "@types/semver": "^7.7.1",
    "@xterm/addon-fit": "^0.11.0",
    "@xterm/addon-web-links": "^0.12.0",
    "@xterm/addon-webgl": "^0.19.0",
    "@xterm/xterm": "^6.0.0",
    "@xyflow/react": "^12.0.0",
    "autoprefixer": "^10.5.4",
    "better-auth": "^1.6.16",
    "better-sqlite3": "^12.10.0",
    "drizzle-orm": "^0.45.2",
    "fast-check": "^4.9.0",
    "jsdom": "^29.1.1",
    "knip": "^6.29.0",
    "konva": "^10.3.0",
    "lucide-react": "^1.16.0",
    "npm": "11.18.0",
    "pdf-lib": "^1.17.1",
    "postcss": "^8.5.25",
    "react": "^19.0.0",
    "react-dom": "^19.2.7",
    "react-konva": "^19.2.5",
    "react-router": "^8.3.0",
    "resend": "^6.12.4",
    "semver": "^7.8.5",
    "storybook": "^10.5.5",
    "tailwindcss": "^3.4.19",
    "tsup": "^8.0.0",
    "typescript": "^5.7.0",
    "vitest": "^4.1.10",
    "y-protocols": "^1.0.7",
    "yjs": "^13.6.31"
  },
  "peerDependencies": {
    "@firecrawl/pdf-inspector-wasm": ">=0.1.3",
    "@huggingface/transformers": ">=3",
    "@tangle-network/agent-eval": ">=0.149.0 <0.150.0",
    "@tangle-network/agent-integrations": ">=0.52.0",
    "@tangle-network/agent-interface": "^1.0.0",
    "@tangle-network/agent-knowledge": "^8.0.10",
    "@tangle-network/agent-profile-materialize": ">=0.16.0",
    "@tangle-network/agent-runtime": ">=0.142.0 <0.143.0",
    "@tangle-network/brand": ">=1.5.0",
    "@tangle-network/sandbox": ">=0.29.0 <0.30.0",
    "@tangle-network/sandbox-ui": ">=0.105.0",
    "@tangle-network/ui": ">=11.5.0",
    "@tiptap/core": ">=3.28.0 <4.0.0",
    "@tiptap/extension-mention": ">=3.28.0 <4.0.0",
    "@tiptap/pm": ">=3.28.0 <4.0.0",
    "@tiptap/react": ">=3.28.0 <4.0.0",
    "@tiptap/starter-kit": ">=3.28.0 <4.0.0",
    "@tiptap/suggestion": ">=3.28.0 <4.0.0",
    "@xyflow/react": ">=12.0.0",
    "better-auth": ">=1.6.16",
    "drizzle-orm": ">=0.36",
    "konva": ">=9",
    "lucide-react": ">=1",
    "pdf-lib": ">=1.17",
    "react": ">=18",
    "react-dom": ">=18",
    "react-konva": ">=18",
    "react-router": ">=8.3.0",
    "resend": ">=6"
  },
  "peerDependenciesMeta": {
    "@firecrawl/pdf-inspector-wasm": {
      "optional": true
    },
    "@huggingface/transformers": {
      "optional": true
    },
    "better-auth": {
      "optional": true
    },
    "@tangle-network/agent-knowledge": {
      "optional": true
    },
    "@tangle-network/agent-profile-materialize": {
      "optional": true
    },
    "@tangle-network/agent-runtime": {
      "optional": true
    },
    "@tangle-network/sandbox": {
      "optional": true
    },
    "drizzle-orm": {
      "optional": true
    },
    "react": {
      "optional": true
    },
    "konva": {
      "optional": true
    },
    "react-konva": {
      "optional": true
    },
    "@tangle-network/sandbox-ui": {
      "optional": true
    },
    "@tangle-network/ui": {
      "optional": true
    },
    "@tangle-network/brand": {
      "optional": true
    },
    "@tiptap/core": {
      "optional": true
    },
    "@tiptap/extension-mention": {
      "optional": true
    },
    "@tiptap/pm": {
      "optional": true
    },
    "@tiptap/react": {
      "optional": true
    },
    "@tiptap/starter-kit": {
      "optional": true
    },
    "@tiptap/suggestion": {
      "optional": true
    },
    "@xyflow/react": {
      "optional": true
    },
    "react-router": {
      "optional": true
    },
    "lucide-react": {
      "optional": true
    },
    "resend": {
      "optional": true
    },
    "pdf-lib": {
      "optional": true
    },
    "react-dom": {
      "optional": true
    }
  },
  "dependencies": {
    "zod": "^4.4.3"
  }
}
