{"_id":"@agent-web-portal/core","_rev":"2-d5f74f826e0c742091d7d52f01636c4a","name":"@agent-web-portal/core","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@agent-web-portal/core","version":"0.1.0","keywords":["mcp","ai-agent","agent-web-portal","awp","tools","skills"],"author":{"name":"Agent Web Portal Contributors"},"license":"MIT","_id":"@agent-web-portal/core@0.1.0","maintainers":[{"name":"shazhou.ww","email":"shazhou.ww@gmail.com"}],"homepage":"https://github.com/anthropics/agent-web-portal#readme","bugs":{"url":"https://github.com/anthropics/agent-web-portal/issues"},"dist":{"shasum":"c1663d2d1a86692fbf30b8e216fea3247015e37e","tarball":"https://registry.npmjs.org/@agent-web-portal/core/-/core-0.1.0.tgz","fileCount":14,"integrity":"sha512-KYVO+o5rsXuKpdWAe+9DWR1oBnOp/m37s+NM8PAYZBvtvqjssAkJUVRlpPVUjxB2eLSfug0LhuEZkalpdhCuRA==","signatures":[{"sig":"MEUCIDeNQUUB+BruackJZx4ubrwGfGTodIyom58knFXw/MG1AiEA/5vCjsZC95enGiiwnGe7md9aGBA7mmm9ZG+6Zj8cr5g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65957},"main":"index.ts","type":"module","types":"index.ts","module":"index.ts","exports":{".":{"types":"./index.ts","import":"./index.ts"}},"gitHead":"3f0b60ac176c9511000e1e29be731374e4fa8f2d","scripts":{"lint":"biome check .","check":"tsc --noEmit && biome check .","lint:fix":"biome check --write .","typecheck":"tsc --noEmit"},"_npmUser":{"name":"shazhou.ww","email":"shazhou.ww@gmail.com"},"repository":{"url":"git+https://github.com/anthropics/agent-web-portal.git","type":"git","directory":"packages/core"},"_npmVersion":"11.6.2","description":"MCP-compatible, skill-focused framework for AI Agents","directories":{},"_nodeVersion":"24.12.0","dependencies":{"zod":"^3.23.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/core_0.1.0_1769098556280_0.20868772447906503","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agent-web-portal/core","version":"0.2.0","description":"MCP-compatible, skill-focused framework for AI Agents","license":"MIT","author":{"name":"Agent Web Portal Contributors"},"repository":{"type":"git","url":"git+https://github.com/anthropics/agent-web-portal.git","directory":"packages/core"},"homepage":"https://github.com/anthropics/agent-web-portal#readme","bugs":{"url":"https://github.com/anthropics/agent-web-portal/issues"},"publishConfig":{"access":"public"},"keywords":["mcp","ai-agent","agent-web-portal","awp","tools","skills"],"type":"module","module":"index.ts","main":"index.ts","types":"index.ts","exports":{".":{"import":"./index.ts","types":"./index.ts"}},"scripts":{"clean":"rimraf .turbo dist","typecheck":"tsc --noEmit","lint":"biome check .","lint:fix":"biome check --write .","check":"tsc --noEmit && biome check ."},"dependencies":{"zod":"3"},"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"gitHead":"ee9e9127b046b65772299a166ae6c03eb8009ea9","_id":"@agent-web-portal/core@0.2.0","_nodeVersion":"24.12.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-eabFlPyrne5oVPK6Ovh+WG5mKspgrYRN+NsMhCTHs5Rnccfr4Ue8MPzTjtg/5uGgIdR+Y3KVOrYG5NltaEB73w==","shasum":"7ca628c5b6ad6a37f222e1a60f1c6f4b232c7c17","tarball":"https://registry.npmjs.org/@agent-web-portal/core/-/core-0.2.0.tgz","fileCount":14,"unpackedSize":68108,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHSDRGaO7W+yIrE0Oq43Q/USX2Jr4IEUkHEdK8mOwAiDAiEAwustxliEscGyJ+8CrhovGKxIKRUD60ngNdOatPYVb6I="}]},"_npmUser":{"name":"shazhou.ww","email":"shazhou.ww@gmail.com"},"directories":{},"maintainers":[{"name":"shazhou.ww","email":"shazhou.ww@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/core_0.2.0_1769334894443_0.6507815640831915"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-22T16:15:55.867Z","modified":"2026-01-25T09:54:54.721Z","0.1.0":"2026-01-22T16:15:56.418Z","0.2.0":"2026-01-25T09:54:54.574Z"},"bugs":{"url":"https://github.com/anthropics/agent-web-portal/issues"},"author":{"name":"Agent Web Portal Contributors"},"license":"MIT","homepage":"https://github.com/anthropics/agent-web-portal#readme","keywords":["mcp","ai-agent","agent-web-portal","awp","tools","skills"],"repository":{"type":"git","url":"git+https://github.com/anthropics/agent-web-portal.git","directory":"packages/core"},"description":"MCP-compatible, skill-focused framework for AI Agents","maintainers":[{"name":"shazhou.ww","email":"shazhou.ww@gmail.com"}],"readme":"# @agent-web-portal/core\n\nMCP 兼容的、场景导向的 AI Agent 框架核心包。\n\n## 概述\n\n`@agent-web-portal/core` 是 Agent Web Portal 的核心包，提供：\n\n- **AgentWebPortal Builder** - 创建和配置 Portal 实例\n- **Tool Registry** - 注册和管理 Tools\n- **Skill Registry** - 注册和管理 Skills\n- **HTTP Handler** - MCP 协议实现\n- **Blob 支持** - 二进制数据交换机制\n\n## 安装\n\n```bash\nbun add @agent-web-portal/core\n```\n\n## 快速开始\n\n```typescript\nimport { createAgentWebPortal } from \"@agent-web-portal/core\";\nimport { z } from \"zod\";\n\nconst portal = createAgentWebPortal({ name: \"my-portal\" })\n  .registerTool(\"greet\", {\n    inputSchema: z.object({ name: z.string() }),\n    outputSchema: z.object({ message: z.string() }),\n    handler: async ({ name }) => ({ message: `Hello, ${name}!` }),\n  })\n  .registerSkills({\n    \"greeting-skill\": {\n      url: \"/skills/greeting-skill\",\n      frontmatter: { \"allowed-tools\": [\"greet\"] },\n    },\n  })\n  .build();\n\n// 使用 Bun 启动服务\nBun.serve({\n  port: 3000,\n  fetch: (req) => portal.handleRequest(req),\n});\n```\n\n## API\n\n### `createAgentWebPortal(options?)`\n\n创建 Portal Builder 实例。\n\n```typescript\nconst builder = createAgentWebPortal({\n  name: \"my-portal\",      // 服务器名称\n  version: \"1.0.0\",       // 版本号\n  description: \"...\",     // 描述\n});\n```\n\n### `.registerTool(name, options)`\n\n注册一个 Tool。\n\n```typescript\nbuilder.registerTool(\"search\", {\n  inputSchema: z.object({ query: z.string() }),\n  outputSchema: z.object({ results: z.array(z.string()) }),\n  description: \"Search for items\",\n  handler: async ({ query }) => ({ results: [] }),\n});\n```\n\n### `.registerSkills(skills)`\n\n批量注册 Skills。\n\n```typescript\nbuilder.registerSkills({\n  \"my-skill\": {\n    url: \"/skills/my-skill.md\",\n    frontmatter: {\n      name: \"My Skill\",\n      \"allowed-tools\": [\"search\"],\n    },\n  },\n});\n```\n\n### `.build(options?)`\n\n构建 Portal 实例，验证所有 Skills 依赖。\n\n```typescript\nconst portal = builder.build({\n  coerceXmlClientArgs: true, // 可选：兼容 XML MCP 客户端\n});\n```\n\n## 高级功能：Blob 支持\n\n使用 `defineTool` 和 `blob()` 处理二进制数据：\n\n```typescript\nimport { defineTool, blob } from \"@agent-web-portal/core\";\n\nconst processImage = defineTool({\n  name: \"process-image\",\n  input: {\n    image: blob({ mimeType: \"image/png\" }),\n    options: z.object({ width: z.number() }),\n  },\n  output: {\n    thumbnail: blob({ mimeType: \"image/png\" }),\n    metadata: z.object({ size: z.number() }),\n  },\n  handler: async (args, context) => {\n    // 通过 context.blobs.input.image 读取输入\n    // 通过 context.blobs.output.thumbnail 写入输出\n    return { metadata: { size: 1024 } };\n  },\n});\n```\n\n## 导出\n\n### 主要导出\n\n- `createAgentWebPortal` - 创建 Portal Builder\n- `defineTool` - 定义带 Blob 支持的 Tool\n- `blob` - 创建 Blob 字段 Schema\n\n### 类型导出\n\n- `AgentWebPortalInstance` - Portal 实例类型\n- `ToolDefinition` - Tool 定义类型\n- `SkillFrontmatter` - Skill Frontmatter 类型\n- `BlobContext` - Blob 上下文类型\n\n### 错误类型\n\n- `ToolNotFoundError` - Tool 不存在\n- `ToolValidationError` - Tool 验证失败\n- `SkillValidationError` - Skill 验证失败\n- `BlobContextError` - Blob 上下文错误\n\n## License\n\nMIT\n","readmeFilename":"README.md"}