Skip to content

div-anthropic D2: package.json 移除/降级 SDK 依赖 (受 #63 阻塞) #64

Description

@dahai80

背景

feat/div-anthropic Phase 5 已解耦错误层 (见 #63 D1),但 package.json 仍保留三个 SDK 运行时依赖:

"@anthropic-ai/claude-agent-sdk": "^0.2.87",
"@anthropic-ai/foundry-sdk": "^0.2.3",
"@anthropic-ai/sdk": "^0.80.0",

现状审计

  • @anthropic-ai/sdk运行时必需src/services/api/client.ts line 1 import Anthropic,4 处 new Anthropic(...) (firstParty/fusionMlx/bedrock/vertex/foundry 入口)。div-anthropic D1: client.ts 云 provider 解耦 — 决定 seam 是否覆盖 bedrock/vertex/foundry 签名 #63 D1 阻塞: D1 决定云 provider 签名归属前不能移除。
  • @anthropic-ai/foundry-sdk运行时必需 (foundry provider)client.ts:226 动态 import() 构造 AnthropicFoundry。同受 D1 阻塞。
  • @anthropic-ai/claude-agent-sdk仅类型,编译期擦除src/cli/print.ts:132 import type { PermissionMode },build 后无运行时引用。可安全降为 devDependencies 或保留 (不影响 bundle)。

bedrock/vertex SDK (@anthropic-ai/bedrock-sdk@anthropic-ai/vertex-sdk) 未在 package.json,靠 client.ts 动态 import() + 运行时报错提示用户 bun add

待办 (受 D1 阻塞)

  1. div-anthropic D1: client.ts 云 provider 解耦 — 决定 seam 是否覆盖 bedrock/vertex/foundry 签名 #63 D1 决策落地。
  2. 若 D1 选方案 2 (SDK 仅云 provider): 把 @anthropic-ai/sdk + @anthropic-ai/foundry-sdkdependencies 移到 optionalDependencies,云 provider 用户按需安装。
  3. @anthropic-ai/claude-agent-sdk 移到 devDependencies (纯类型)。
  4. 验证: bun run build 默认构建不打包 SDK; 云 provider 路径在装了 optional dep 后仍可用; grep -rn "@anthropic-ai/sdk" dist/ 为空 (或仅云 provider 分支)。
  5. README/CLAUDE.md 更新安装说明 (云 provider 需额外装 dep)。

验收标准

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions