{
  "name": "page-agent-sdk",
  "version": "4.24.5",
  "type": "module",
  "description": "AI agent SDK for web pages — embed a chat assistant that edits page data via schema-validated tools. A lighter, framework-agnostic alternative to CopilotKit/LangChain for in-page JSON-editing agents. Vue-bundled; works with DeepSeek, OpenAI, MCP.",
  "main": "./dist/page-agent-sdk.umd.cjs",
  "module": "./dist/page-agent-sdk.js",
  "types": "./types/index.d.ts",
  "unpkg": "./dist/page-agent-sdk.iife.js",
  "jsdelivr": "./dist/page-agent-sdk.iife.js",
  "sideEffects": [
    "**/*.css"
  ],
  "exports": {
    ".": {
      "types": "./types/index.d.ts",
      "import": "./dist/page-agent-sdk.js",
      "require": "./dist/page-agent-sdk.umd.cjs"
    },
    "./storage": {
      "types": "./types/index.d.ts",
      "import": "./dist/page-agent-sdk.js"
    },
    "./query": {
      "types": "./types/index.d.ts",
      "import": "./dist/page-agent-sdk.js"
    },
    "./llm": {
      "types": "./types/index.d.ts",
      "import": "./dist/page-agent-sdk.js"
    },
    "./headless": {
      "types": "./types/headless.d.ts",
      "import": "./dist/page-agent-sdk.headless.js"
    },
    "./legacy": {
      "types": "./types/index.d.ts",
      "import": "./dist/page-agent-sdk.legacy.js"
    },
    "./style.css": "./dist/style.css"
  },
  "files": [
    "dist",
    "types",
    "skills",
    "legacy.js",
    "style.css"
  ],
  "scripts": {
    "dev": "vite",
    "mcp:mock": "tsx scripts/mcp-mock-server.ts",
    "mcp:probe": "tsx scripts/mcp-probe.ts",
    "proxy:mock": "tsx scripts/proxy-mock-server.ts",
    "verify:probe": "tsx scripts/verify-probe.ts",
    "build": "npm run build:lib && npm run build:headless && npm run build:iife && npm run build:legacy && node -e \"require('fs').copyFileSync('dist/style.css','style.css')\"",
    "build:lib": "vite build",
    "build:headless": "vite build --config vite.headless.config.ts",
    "build:iife": "vite build --config vite.iife.config.ts",
    "build:legacy": "vite build --config vite.legacy.config.ts",
    "preview": "vite preview",
    "test": "tsx src/core/__tests__/selftest.ts",
    "test:e2e": "node tests/e2e-integration.mjs",
    "test:exports": "node tests/exports-consistency.mjs",
    "test:types": "tsc --noEmit -p tsconfig.test.json",
    "test:types-alignment": "tsc --noEmit -p tsconfig.types-alignment.json",
    "test:types-novue": "tsc --noEmit -p tests/no-vue/tsconfig.json",
    "test:size": "node tests/size-check.mjs",
    "test:browser": "playwright test",
    "test:browser:ui": "playwright test --ui",
    "test:draft-real": "tsx tests/runtime/draft-real-llm.ts",
    "test:maliang-real": "tsx tests/runtime/maliang-real-llm.ts",
    "test:real": "node tests/runtime/real-llm.mjs",
    "test:node-real": "node examples/node/headless-node.mjs",
    "test:uispec-real": "node tests/runtime/uispec-real-llm.mjs"
  },
  "keywords": [
    "ai",
    "agent",
    "ai-agent",
    "agent-sdk",
    "llm",
    "chatbot",
    "chat-dialog",
    "chat-sdk",
    "tool-calling",
    "function-calling",
    "react-agent",
    "browser-agent",
    "in-page-agent",
    "conversational-editor",
    "ai-json-editor",
    "json-editor",
    "json-patch",
    "schema-validation",
    "human-in-the-loop",
    "sdk",
    "browser",
    "low-code",
    "low-code-builder",
    "no-code",
    "visual-builder",
    "page-builder",
    "deepseek",
    "openai",
    "langchain",
    "langchain-alternative",
    "langgraph",
    "langgraph-alternative",
    "copilotkit",
    "mcp",
    "model-context-protocol",
    "vue",
    "react",
    "zod"
  ],
  "author": "武浩",
  "license": "ISC",
  "homepage": "https://github.com/whyymj/page-agent-sdk",
  "repository": {
    "type": "git",
    "url": "https://github.com/whyymj/page-agent-sdk.git"
  },
  "bugs": {
    "url": "https://github.com/whyymj/page-agent-sdk/issues"
  },
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org/"
  },
  "devDependencies": {
    "@langchain/anthropic": "^1.5.4",
    "@langchain/core": "^1.2.5",
    "@langchain/openai": "^1.5.5",
    "@modelcontextprotocol/sdk": "^1.29.0",
    "@playwright/test": "^1.62.1",
    "@vitejs/plugin-vue": "^6.0.7",
    "dompurify": "^3.4.13",
    "highlight.js": "^11.11.1",
    "marked": "^18.0.6",
    "overlayscrollbars": "^2.16.0",
    "tsx": "^4.23.1",
    "typescript": "^7.0.2",
    "vite": "^8.1.4",
    "vue": "^3.5.39",
    "vue-tsc": "^3.3.7",
    "zod": "^4.4.3"
  },
  "peerDependencies": {
    "@langchain/anthropic": "^1.5.0",
    "@langchain/core": "^1.2.5",
    "@langchain/openai": "^1.5.5",
    "@modelcontextprotocol/sdk": "^1.29.0",
    "zod": "^4.4.3"
  },
  "peerDependenciesMeta": {
    "@langchain/anthropic": {
      "optional": true
    },
    "@modelcontextprotocol/sdk": {
      "optional": true
    }
  },
  "dependencies": {
    "html-to-image": "^1.11.13"
  }
}
