@winspan/claude-forge 8.34.0 → 8.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -30
- package/dist/capability/index.d.ts +6 -5
- package/dist/capability/index.d.ts.map +1 -1
- package/dist/capability/index.js +6 -5
- package/dist/capability/index.js.map +1 -1
- package/dist/capability/types.d.ts +5 -74
- package/dist/capability/types.d.ts.map +1 -1
- package/dist/capability/types.js +4 -1
- package/dist/capability/types.js.map +1 -1
- package/dist/core/ai/provider.d.ts +23 -1
- package/dist/core/ai/provider.d.ts.map +1 -1
- package/dist/core/ai/provider.js +67 -1
- package/dist/core/ai/provider.js.map +1 -1
- package/dist/core/ai/types.d.ts +28 -0
- package/dist/core/ai/types.d.ts.map +1 -1
- package/dist/core/storage/rows.d.ts +0 -36
- package/dist/core/storage/rows.d.ts.map +1 -1
- package/dist/core/storage/schema.sql +1 -45
- package/dist/core/storage/sqlite.d.ts +2 -79
- package/dist/core/storage/sqlite.d.ts.map +1 -1
- package/dist/core/storage/sqlite.js +3 -362
- package/dist/core/storage/sqlite.js.map +1 -1
- package/dist/core/utils/token-tracker.d.ts +0 -1
- package/dist/core/utils/token-tracker.d.ts.map +1 -1
- package/dist/core/utils/token-tracker.js +0 -1
- package/dist/core/utils/token-tracker.js.map +1 -1
- package/dist/daemon/handlers/post-tool-use.d.ts +1 -9
- package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
- package/dist/daemon/handlers/post-tool-use.js +2 -99
- package/dist/daemon/handlers/post-tool-use.js.map +1 -1
- package/dist/daemon/handlers/stop.d.ts +1 -15
- package/dist/daemon/handlers/stop.d.ts.map +1 -1
- package/dist/daemon/handlers/stop.js +1 -95
- package/dist/daemon/handlers/stop.js.map +1 -1
- package/dist/daemon/handlers/user-prompt.d.ts +1 -5
- package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
- package/dist/daemon/handlers/user-prompt.js +29 -99
- package/dist/daemon/handlers/user-prompt.js.map +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +9 -56
- package/dist/daemon/index.js.map +1 -1
- package/dist/engine/agent-router.d.ts +37 -0
- package/dist/engine/agent-router.d.ts.map +1 -1
- package/dist/engine/agent-router.js +58 -0
- package/dist/engine/agent-router.js.map +1 -1
- package/dist/engine/conventions/routing.yaml +31 -2
- package/dist/intelligence/classifier.d.ts +63 -43
- package/dist/intelligence/classifier.d.ts.map +1 -1
- package/dist/intelligence/classifier.js +256 -191
- package/dist/intelligence/classifier.js.map +1 -1
- package/dist/intelligence/context-gatherer.d.ts +101 -0
- package/dist/intelligence/context-gatherer.d.ts.map +1 -0
- package/dist/intelligence/context-gatherer.js +417 -0
- package/dist/intelligence/context-gatherer.js.map +1 -0
- package/dist/intelligence/cot-classifier.d.ts +95 -0
- package/dist/intelligence/cot-classifier.d.ts.map +1 -0
- package/dist/intelligence/cot-classifier.js +391 -0
- package/dist/intelligence/cot-classifier.js.map +1 -0
- package/dist/intelligence/execution-doc-builder.d.ts +90 -0
- package/dist/intelligence/execution-doc-builder.d.ts.map +1 -1
- package/dist/intelligence/execution-doc-builder.js +459 -42
- package/dist/intelligence/execution-doc-builder.js.map +1 -1
- package/dist/intelligence/intent-types.d.ts +13 -0
- package/dist/intelligence/intent-types.d.ts.map +1 -0
- package/dist/intelligence/intent-types.js +19 -0
- package/dist/intelligence/intent-types.js.map +1 -0
- package/dist/intelligence/multimodal-parser.d.ts +105 -0
- package/dist/intelligence/multimodal-parser.d.ts.map +1 -0
- package/dist/intelligence/multimodal-parser.js +425 -0
- package/dist/intelligence/multimodal-parser.js.map +1 -0
- package/dist/skills/official-skills.d.ts.map +1 -1
- package/dist/skills/official-skills.js +218 -20
- package/dist/skills/official-skills.js.map +1 -1
- package/dist/web/routes/status.d.ts.map +1 -1
- package/dist/web/routes/status.js +8 -10
- package/dist/web/routes/status.js.map +1 -1
- package/dist/web/routes/token-usage.d.ts +1 -1
- package/dist/web/routes/token-usage.d.ts.map +1 -1
- package/dist/web/routes/token-usage.js +1 -16
- package/dist/web/routes/token-usage.js.map +1 -1
- package/dist/web/routes/types.d.ts +0 -6
- package/dist/web/routes/types.d.ts.map +1 -1
- package/dist/web/routes/types.js.map +1 -1
- package/dist/web/server.d.ts +0 -6
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +0 -5
- package/dist/web/server.js.map +1 -1
- package/dist/web/static/assets/{AIConfig-DiUFET_Q.js → AIConfig-D4VglzCl.js} +2 -2
- package/dist/web/static/assets/{AIConfig-DiUFET_Q.js.map → AIConfig-D4VglzCl.js.map} +1 -1
- package/dist/web/static/assets/{Agents-bNNGbQnL.js → Agents-ne5lXc7V.js} +2 -2
- package/dist/web/static/assets/{Agents-bNNGbQnL.js.map → Agents-ne5lXc7V.js.map} +1 -1
- package/dist/web/static/assets/Dashboard-D4j0Zmek.js +2 -0
- package/dist/web/static/assets/Dashboard-D4j0Zmek.js.map +1 -0
- package/dist/web/static/assets/{Drawer-DOUcx6m1.js → Drawer-Lo5ihVP-.js} +2 -2
- package/dist/web/static/assets/{Drawer-DOUcx6m1.js.map → Drawer-Lo5ihVP-.js.map} +1 -1
- package/dist/web/static/assets/{Events-DQHP6Uaq.js → Events-DBJ1B7OW.js} +2 -2
- package/dist/web/static/assets/{Events-DQHP6Uaq.js.map → Events-DBJ1B7OW.js.map} +1 -1
- package/dist/web/static/assets/{ExecutionTrace-Co8ARdg-.js → ExecutionTrace-Du9XADc1.js} +2 -2
- package/dist/web/static/assets/{ExecutionTrace-Co8ARdg-.js.map → ExecutionTrace-Du9XADc1.js.map} +1 -1
- package/dist/web/static/assets/{Routing-BW3eGD-8.js → Routing-BNQ09OlH.js} +2 -2
- package/dist/web/static/assets/{Routing-BW3eGD-8.js.map → Routing-BNQ09OlH.js.map} +1 -1
- package/dist/web/static/assets/{SessionDetail-Cbd7Jwox.js → SessionDetail-BPrPyMNa.js} +2 -2
- package/dist/web/static/assets/{SessionDetail-Cbd7Jwox.js.map → SessionDetail-BPrPyMNa.js.map} +1 -1
- package/dist/web/static/assets/{Sessions-ZQSCgXyy.js → Sessions-o3EXsXz9.js} +2 -2
- package/dist/web/static/assets/{Sessions-ZQSCgXyy.js.map → Sessions-o3EXsXz9.js.map} +1 -1
- package/dist/web/static/assets/{Skills-C5-5zOSH.js → Skills-Czt5mkyc.js} +2 -2
- package/dist/web/static/assets/{Skills-C5-5zOSH.js.map → Skills-Czt5mkyc.js.map} +1 -1
- package/dist/web/static/assets/{export-CbQTOt71.js → export-C0mlC4AT.js} +2 -2
- package/dist/web/static/assets/{export-CbQTOt71.js.map → export-C0mlC4AT.js.map} +1 -1
- package/dist/web/static/assets/index-B1J7nBu0.js +3 -0
- package/dist/web/static/assets/index-B1J7nBu0.js.map +1 -0
- package/dist/web/static/assets/index-BVqk4bSO.css +1 -0
- package/dist/web/static/assets/{lucide-BanPULT1.js → lucide-Bu44HVAM.js} +33 -73
- package/dist/web/static/assets/lucide-Bu44HVAM.js.map +1 -0
- package/dist/web/static/index.html +3 -3
- package/package.json +2 -2
- package/dist/capability/execution-manager.d.ts +0 -96
- package/dist/capability/execution-manager.d.ts.map +0 -1
- package/dist/capability/execution-manager.js +0 -260
- package/dist/capability/execution-manager.js.map +0 -1
- package/dist/capability/executor/background-executor.d.ts +0 -58
- package/dist/capability/executor/background-executor.d.ts.map +0 -1
- package/dist/capability/executor/background-executor.js +0 -322
- package/dist/capability/executor/background-executor.js.map +0 -1
- package/dist/capability/executor/foreground-executor.d.ts +0 -26
- package/dist/capability/executor/foreground-executor.d.ts.map +0 -1
- package/dist/capability/executor/foreground-executor.js +0 -82
- package/dist/capability/executor/foreground-executor.js.map +0 -1
- package/dist/capability/executor/orchestrator.d.ts +0 -38
- package/dist/capability/executor/orchestrator.d.ts.map +0 -1
- package/dist/capability/executor/orchestrator.js +0 -158
- package/dist/capability/executor/orchestrator.js.map +0 -1
- package/dist/capability/executor/stream-parser.d.ts +0 -73
- package/dist/capability/executor/stream-parser.d.ts.map +0 -1
- package/dist/capability/executor/stream-parser.js +0 -56
- package/dist/capability/executor/stream-parser.js.map +0 -1
- package/dist/capability/executor/types.d.ts +0 -44
- package/dist/capability/executor/types.d.ts.map +0 -1
- package/dist/capability/executor/types.js +0 -9
- package/dist/capability/executor/types.js.map +0 -1
- package/dist/capability/executor/worker-auth-probe.d.ts +0 -30
- package/dist/capability/executor/worker-auth-probe.d.ts.map +0 -1
- package/dist/capability/executor/worker-auth-probe.js +0 -108
- package/dist/capability/executor/worker-auth-probe.js.map +0 -1
- package/dist/capability/methodologies/bmad.yaml +0 -81
- package/dist/capability/methodologies/code-quality-audit.yaml +0 -26
- package/dist/capability/methodologies/harness-engineering.yaml +0 -75
- package/dist/capability/methodologies/test-coverage-scan.yaml +0 -26
- package/dist/capability/methodology-planner.d.ts +0 -49
- package/dist/capability/methodology-planner.d.ts.map +0 -1
- package/dist/capability/methodology-planner.js +0 -306
- package/dist/capability/methodology-planner.js.map +0 -1
- package/dist/capability/methodology-registry.d.ts +0 -32
- package/dist/capability/methodology-registry.d.ts.map +0 -1
- package/dist/capability/methodology-registry.js +0 -113
- package/dist/capability/methodology-registry.js.map +0 -1
- package/dist/daemon/handlers/methodology-formatter.d.ts +0 -16
- package/dist/daemon/handlers/methodology-formatter.d.ts.map +0 -1
- package/dist/daemon/handlers/methodology-formatter.js +0 -119
- package/dist/daemon/handlers/methodology-formatter.js.map +0 -1
- package/dist/daemon/idle-detector.d.ts +0 -35
- package/dist/daemon/idle-detector.d.ts.map +0 -1
- package/dist/daemon/idle-detector.js +0 -56
- package/dist/daemon/idle-detector.js.map +0 -1
- package/dist/daemon/idle-trigger.d.ts +0 -53
- package/dist/daemon/idle-trigger.d.ts.map +0 -1
- package/dist/daemon/idle-trigger.js +0 -153
- package/dist/daemon/idle-trigger.js.map +0 -1
- package/dist/daemon/methodology-pending-queue.d.ts +0 -33
- package/dist/daemon/methodology-pending-queue.d.ts.map +0 -1
- package/dist/daemon/methodology-pending-queue.js +0 -120
- package/dist/daemon/methodology-pending-queue.js.map +0 -1
- package/dist/web/routes/methodology.d.ts +0 -12
- package/dist/web/routes/methodology.d.ts.map +0 -1
- package/dist/web/routes/methodology.js +0 -228
- package/dist/web/routes/methodology.js.map +0 -1
- package/dist/web/static/assets/Dashboard-Ciyyw6ph.js +0 -2
- package/dist/web/static/assets/Dashboard-Ciyyw6ph.js.map +0 -1
- package/dist/web/static/assets/Methodologies-CXNrDXwG.js +0 -5
- package/dist/web/static/assets/Methodologies-CXNrDXwG.js.map +0 -1
- package/dist/web/static/assets/MethodologyDetail-rV3W1utf.js +0 -2
- package/dist/web/static/assets/MethodologyDetail-rV3W1utf.js.map +0 -1
- package/dist/web/static/assets/index-DJK5beK6.js +0 -3
- package/dist/web/static/assets/index-DJK5beK6.js.map +0 -1
- package/dist/web/static/assets/index-phpuytMI.css +0 -1
- package/dist/web/static/assets/lucide-BanPULT1.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Claude Forge
|
|
2
2
|
|
|
3
|
-
> 为 Claude Code 设计的会话治理引擎 —— 通过 Hook
|
|
3
|
+
> 为 Claude Code 设计的会话治理引擎 —— 通过 Hook 机制把 Agent 路由、Skill 推荐、治理规则注入到 AI 开发流程中。
|
|
4
4
|
|
|
5
|
-
Claude Forge 是一个在本地运行的守护进程,通过 Claude Code 的 Hook API 拦截 `UserPromptSubmit`、`PreToolUse`、`PostToolUse`、`Stop`
|
|
5
|
+
Claude Forge 是一个在本地运行的守护进程,通过 Claude Code 的 Hook API 拦截 `UserPromptSubmit`、`PreToolUse`、`PostToolUse`、`Stop` 等事件,在其中做意图分类、Agent 路由、Skill 推荐、规则阻断、治理建议。
|
|
6
6
|
|
|
7
7
|
**版本**: 8.31.0(实时版本以 `cf --version` 为准) · **Node**: >= 18 · **License**: MIT
|
|
8
8
|
|
|
@@ -13,19 +13,14 @@ Claude Forge 是一个在本地运行的守护进程,通过 Claude Code 的 Ho
|
|
|
13
13
|
### 1. Hook 驱动的治理
|
|
14
14
|
daemon 以 Unix socket 形式与 Claude Code 的 Hook 脚本通信。每次 `UserPromptSubmit` / `PostToolUse` 等事件,daemon 在 100ms 内决定要不要往上下文注入额外指令或建议。
|
|
15
15
|
|
|
16
|
-
### 2.
|
|
17
|
-
内置两种方法论(`harness-engineering`、`bmad`),AI Planner 根据任务复杂度自动生成多阶段执行计划。执行分两种模式:
|
|
18
|
-
|
|
19
|
-
- **前台(foreground)** —— 指令注入到当前 Claude Code 会话,由主对话按 plan 调用 `Task(subagent_type=...)` 完成每个阶段
|
|
20
|
-
- **后台(background)** —— daemon 直接 spawn 独立的 `claude -p` 子进程,与当前会话完全隔离地跑完整条 plan,用户离场也能自动完成
|
|
21
|
-
|
|
22
|
-
两种模式共享 plan / phase 数据模型,可在 Web 后台随时切换。
|
|
23
|
-
|
|
24
|
-
### 3. Agent 路由
|
|
16
|
+
### 2. Agent 路由
|
|
25
17
|
基于 intent 分析(`complexity`、`taskType`)和 YAML 规则,UserPromptSubmit 阶段建议 Claude 用哪个子 agent(`researcher`、`tester`、`coder` 等)。路由决策全程记录到 `routing_events` 表,可用于离线分析和 A/B 实验。
|
|
26
18
|
|
|
19
|
+
### 3. Skill 推荐系统
|
|
20
|
+
根据用户意图和项目上下文,自动推荐合适的 Skill(如 `official-debug`、`official-tdd`、`official-refactor` 等)。Skill 是可复用的工作流模板,帮助 Claude 按照最佳实践完成特定类型的任务。
|
|
21
|
+
|
|
27
22
|
### 4. Web 管理后台
|
|
28
|
-
`claude-forge daemon start` 默认在 `http://127.0.0.1:<port>`(默认端口 `3456`,可在 `~/.claude-forge/config.yaml` 的 `web.port` 修改)开放一个 React
|
|
23
|
+
`claude-forge daemon start` 默认在 `http://127.0.0.1:<port>`(默认端口 `3456`,可在 `~/.claude-forge/config.yaml` 的 `web.port` 修改)开放一个 React 管理后台,覆盖:会话浏览、事件流、执行追踪、Agent/Skill 编辑、AI 配置、实时 SSE 日志。
|
|
29
24
|
|
|
30
25
|
---
|
|
31
26
|
|
|
@@ -38,7 +33,7 @@ npm install -g @winspan/claude-forge
|
|
|
38
33
|
# 2. 初始化(把 hook 脚本装到 ~/.claude/hooks/)
|
|
39
34
|
cf init
|
|
40
35
|
|
|
41
|
-
# 3. 配置 AI Provider
|
|
36
|
+
# 3. 配置 AI Provider(可选)
|
|
42
37
|
cf config
|
|
43
38
|
|
|
44
39
|
# 4. 启动 daemon
|
|
@@ -52,19 +47,6 @@ open http://127.0.0.1:3456
|
|
|
52
47
|
|
|
53
48
|
---
|
|
54
49
|
|
|
55
|
-
## 方法论执行模式
|
|
56
|
-
|
|
57
|
-
创建执行有两种途径:
|
|
58
|
-
|
|
59
|
-
- **UserPromptSubmit 自动触发** → 默认走**前台**。用户发出类似"帮我重构 xxx"时,daemon 识别 refactor 类任务自动创建 methodology execution,并把阶段 1 指令注入到当前 Claude Code 会话。
|
|
60
|
-
- **Web 管理后台手动创建** → 默认走**后台**。在 `/methodologies` 页面点"新建执行",选择方法论、session id、mode,daemon 立即 spawn `claude -p` 子进程按 plan 顺序跑完所有阶段。
|
|
61
|
-
|
|
62
|
-
> **前台模式的边界**:如果 Claude 主会话没有任何新输入,daemon 无法主动推 —— 只有 UserPromptSubmit / Stop hook 被触发时才能搭便车注入指令。Stop hook 会检测"当前阶段未推进"并把指令写入 pending 队列,下一次 UserPrompt 时自动消费。**实际生效需要用户至少输入一次任意内容**。
|
|
63
|
-
|
|
64
|
-
后台模式不受此影响,但消耗额外 API 预算(每个阶段默认上限 `$2`)。
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
50
|
## CLI 命令
|
|
69
51
|
|
|
70
52
|
| 命令 | 说明 |
|
|
@@ -74,7 +56,7 @@ open http://127.0.0.1:3456
|
|
|
74
56
|
| `cf config` | AI Provider 配置(API key、base_url、model) |
|
|
75
57
|
| `cf status` | 当前 daemon + Web + 存储概况 |
|
|
76
58
|
| `cf logs [--tail]` | 查看 daemon 日志 |
|
|
77
|
-
| `cf stats` | 近期 intent /
|
|
59
|
+
| `cf stats` | 近期 intent / 路由统计 |
|
|
78
60
|
| `cf rules` | 查看/编辑治理规则(YAML) |
|
|
79
61
|
| `cf agents` | 列出已注册 agent |
|
|
80
62
|
| `cf skills` | 列出可用 skills |
|
|
@@ -92,8 +74,6 @@ open http://127.0.0.1:3456
|
|
|
92
74
|
- `/sessions` — 会话列表 + 详情
|
|
93
75
|
- `/events` — Hook 事件流
|
|
94
76
|
- `/execution-trace` — 路由决策追踪(含 SSE 实时)
|
|
95
|
-
- `/methodologies` — 方法论执行列表(mode 徽章 + 新建入口)
|
|
96
|
-
- `/methodologies/:id` — 执行详情(实时 SSE 事件流 + 每阶段 output/error)
|
|
97
77
|
- `/agents` / `/skills` — 在线编辑 `~/.claude/agents/*.md` 和 `~/.claude/skills/*.md`
|
|
98
78
|
- `/ai-config` — 切换 AI Provider / 测试连接
|
|
99
79
|
- `/routing` — 路由规则查看
|
|
@@ -104,7 +84,7 @@ open http://127.0.0.1:3456
|
|
|
104
84
|
|
|
105
85
|
## 贡献
|
|
106
86
|
|
|
107
|
-
开发者文档见 [DEVELOPMENT.md](./DEVELOPMENT.md)
|
|
87
|
+
开发者文档见 [DEVELOPMENT.md](./DEVELOPMENT.md),包含仓库布局、构建/测试流程、架构说明、如何新增 Agent 或 Skill。
|
|
108
88
|
|
|
109
89
|
## License
|
|
110
90
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Capability System
|
|
2
|
+
* Capability System
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* NOTE: The methodology orchestration subsystem was removed in v8.36.0
|
|
5
|
+
* (hard deprecation phase B.1). This namespace is intentionally left empty
|
|
6
|
+
* so that legacy imports fail with a clear "module not found" error during
|
|
7
|
+
* the migration window. Functionality has migrated to the Skill system.
|
|
5
8
|
*/
|
|
6
|
-
export
|
|
7
|
-
export * from './methodology-registry.js';
|
|
8
|
-
export * from './methodology-planner.js';
|
|
9
|
+
export {};
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capability/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capability/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC"}
|
package/dist/capability/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Capability System
|
|
2
|
+
* Capability System
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* NOTE: The methodology orchestration subsystem was removed in v8.36.0
|
|
5
|
+
* (hard deprecation phase B.1). This namespace is intentionally left empty
|
|
6
|
+
* so that legacy imports fail with a clear "module not found" error during
|
|
7
|
+
* the migration window. Functionality has migrated to the Skill system.
|
|
5
8
|
*/
|
|
6
|
-
export
|
|
7
|
-
export * from './methodology-registry.js';
|
|
8
|
-
export * from './methodology-planner.js';
|
|
9
|
+
export {};
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capability/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capability/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -1,79 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Capability System Types
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* NOTE: Methodology system was removed in v8.36.0 (hard deprecation phase B.1).
|
|
5
|
+
* This file is intentionally left as a placeholder so that residual imports
|
|
6
|
+
* fail loudly during the migration window; remove entirely once all callers
|
|
7
|
+
* have been updated.
|
|
5
8
|
*/
|
|
6
|
-
export
|
|
7
|
-
id: string;
|
|
8
|
-
name: string;
|
|
9
|
-
description: string;
|
|
10
|
-
trigger: MethodologyTrigger;
|
|
11
|
-
phase_templates: Record<string, PhaseTemplate>;
|
|
12
|
-
decision_rules?: DecisionRule[];
|
|
13
|
-
}
|
|
14
|
-
export interface MethodologyTrigger {
|
|
15
|
-
taskType?: string[];
|
|
16
|
-
complexity?: string[];
|
|
17
|
-
keywords?: string[];
|
|
18
|
-
}
|
|
19
|
-
export interface PhaseTemplate {
|
|
20
|
-
agent: string;
|
|
21
|
-
prompt_template: string;
|
|
22
|
-
artifacts?: ArtifactRequirement[];
|
|
23
|
-
description?: string;
|
|
24
|
-
}
|
|
25
|
-
export interface ArtifactRequirement {
|
|
26
|
-
type: 'file' | 'test_coverage' | 'test_pass' | 'git_diff';
|
|
27
|
-
pattern?: string;
|
|
28
|
-
min?: number;
|
|
29
|
-
required?: boolean;
|
|
30
|
-
}
|
|
31
|
-
export interface DecisionRule {
|
|
32
|
-
condition: string;
|
|
33
|
-
phases: string[];
|
|
34
|
-
description?: string;
|
|
35
|
-
}
|
|
36
|
-
export interface ExecutionPlan {
|
|
37
|
-
phases: PlannedPhase[];
|
|
38
|
-
rationale: string;
|
|
39
|
-
methodology_id: string;
|
|
40
|
-
}
|
|
41
|
-
export interface PlannedPhase {
|
|
42
|
-
id: string;
|
|
43
|
-
agent: string;
|
|
44
|
-
prompt: string;
|
|
45
|
-
rationale: string;
|
|
46
|
-
artifacts?: ArtifactRequirement[];
|
|
47
|
-
}
|
|
48
|
-
export interface MethodologyExecution {
|
|
49
|
-
id: number;
|
|
50
|
-
session_id: string;
|
|
51
|
-
methodology_id: string;
|
|
52
|
-
plan_json: string;
|
|
53
|
-
original_plan_json?: string | null;
|
|
54
|
-
current_phase_index: number;
|
|
55
|
-
status: 'running' | 'completed' | 'failed' | 'cancelled';
|
|
56
|
-
mode?: 'foreground' | 'background';
|
|
57
|
-
worker_pid?: number | null;
|
|
58
|
-
worker_session_id?: string | null;
|
|
59
|
-
retry_count?: number;
|
|
60
|
-
started_at: number;
|
|
61
|
-
completed_at?: number;
|
|
62
|
-
}
|
|
63
|
-
export interface PhaseExecution {
|
|
64
|
-
id: number;
|
|
65
|
-
methodology_execution_id: number;
|
|
66
|
-
phase_id: string;
|
|
67
|
-
phase_index: number;
|
|
68
|
-
agent_name: string;
|
|
69
|
-
prompt: string;
|
|
70
|
-
status: 'pending' | 'running' | 'completed' | 'failed';
|
|
71
|
-
started_at?: number;
|
|
72
|
-
completed_at?: number;
|
|
73
|
-
duration_ms?: number;
|
|
74
|
-
artifacts_json?: string | null;
|
|
75
|
-
output_text?: string | null;
|
|
76
|
-
error_message?: string | null;
|
|
77
|
-
stream_log_path?: string | null;
|
|
78
|
-
}
|
|
9
|
+
export {};
|
|
79
10
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/capability/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/capability/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC"}
|
package/dist/capability/types.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Capability System Types
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* NOTE: Methodology system was removed in v8.36.0 (hard deprecation phase B.1).
|
|
5
|
+
* This file is intentionally left as a placeholder so that residual imports
|
|
6
|
+
* fail loudly during the migration window; remove entirely once all callers
|
|
7
|
+
* have been updated.
|
|
5
8
|
*/
|
|
6
9
|
export {};
|
|
7
10
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/capability/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/capability/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* SDK's built-in retry is disabled (maxRetries: 0) to avoid double retry layers.
|
|
7
7
|
*/
|
|
8
8
|
import Anthropic from '@anthropic-ai/sdk';
|
|
9
|
-
import type { AIProvider, AIResponse, CompleteOptions } from './types.js';
|
|
9
|
+
import type { AIProvider, AIResponse, CompleteOptions, CompleteWithImageOptions } from './types.js';
|
|
10
10
|
/** Sleep helper — exported via object indirection so tests can stub it. */
|
|
11
11
|
export declare const timing: {
|
|
12
12
|
delay(ms: number): Promise<void>;
|
|
@@ -24,6 +24,28 @@ export declare class ClaudeProvider implements AIProvider {
|
|
|
24
24
|
constructor(apiKey: string, model?: string, baseUrl?: string);
|
|
25
25
|
complete(prompt: string, options?: CompleteOptions): Promise<string>;
|
|
26
26
|
completeWithUsage(prompt: string, options?: CompleteOptions): Promise<AIResponse>;
|
|
27
|
+
/**
|
|
28
|
+
* Vision-aware completion. Reads each `ImageInput` from disk, base64-encodes
|
|
29
|
+
* it, and packs the images followed by the text prompt into a single user
|
|
30
|
+
* message (Claude Vision format).
|
|
31
|
+
*
|
|
32
|
+
* Reuses the same retry/timeout pipeline as `completeWithUsage`. Validation
|
|
33
|
+
* (file existence, media type) runs before the first attempt so bad inputs
|
|
34
|
+
* fail fast and don't consume retry budget.
|
|
35
|
+
*/
|
|
36
|
+
completeWithImage(prompt: string, options: CompleteWithImageOptions): Promise<string>;
|
|
37
|
+
/**
|
|
38
|
+
* Read an image file and turn it into an Anthropic `ImageBlockParam` with a
|
|
39
|
+
* base64 source. Validates media type and surfaces a clear error if the file
|
|
40
|
+
* is missing.
|
|
41
|
+
*/
|
|
42
|
+
private encodeImageBlock;
|
|
43
|
+
/**
|
|
44
|
+
* Core request loop shared by text-only and vision completions. Accepts
|
|
45
|
+
* already-built user content (string or content blocks) and returns the
|
|
46
|
+
* unwrapped text plus usage metadata.
|
|
47
|
+
*/
|
|
48
|
+
private runMessageRequest;
|
|
27
49
|
formatStats(): string;
|
|
28
50
|
}
|
|
29
51
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/core/ai/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/core/ai/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,eAAe,EACf,wBAAwB,EAGzB,MAAM,YAAY,CAAC;AAgBpB,2EAA2E;AAC3E,eAAO,MAAM,MAAM;cACP,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjC,CAAC;AAEF,uEAAuE;AACvE,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAiCD,qBAAa,cAAe,YAAW,UAAU;IAE/C,gBAAgB;IAChB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,cAAc,CAAK;gBAEf,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAQtD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAKpE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAIvF;;;;;;;;OAQG;IACG,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IAsBlB;;;;OAIG;YACW,gBAAgB;IA0B9B;;;;OAIG;YACW,iBAAiB;IAkG/B,WAAW,IAAI,MAAM;CAKtB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,cAAc,CAahG"}
|
package/dist/core/ai/provider.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* backoff for transient failures (AbortError / 429 / 5xx / network errors).
|
|
6
6
|
* SDK's built-in retry is disabled (maxRetries: 0) to avoid double retry layers.
|
|
7
7
|
*/
|
|
8
|
+
import { promises as fs } from 'node:fs';
|
|
8
9
|
import Anthropic from '@anthropic-ai/sdk';
|
|
9
10
|
import { logger } from '../utils/logger.js';
|
|
10
11
|
const DEFAULT_MODEL = 'claude-sonnet-4-20250514';
|
|
@@ -12,6 +13,12 @@ const DEFAULT_MAX_TOKENS = 4096;
|
|
|
12
13
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
13
14
|
const DEFAULT_MAX_RETRIES = 2;
|
|
14
15
|
const MAX_BACKOFF_MS = 8_000;
|
|
16
|
+
const SUPPORTED_IMAGE_MEDIA_TYPES = new Set([
|
|
17
|
+
'image/png',
|
|
18
|
+
'image/jpeg',
|
|
19
|
+
'image/gif',
|
|
20
|
+
'image/webp',
|
|
21
|
+
]);
|
|
15
22
|
/** Sleep helper — exported via object indirection so tests can stub it. */
|
|
16
23
|
export const timing = {
|
|
17
24
|
delay(ms) {
|
|
@@ -74,6 +81,65 @@ export class ClaudeProvider {
|
|
|
74
81
|
return response.text;
|
|
75
82
|
}
|
|
76
83
|
async completeWithUsage(prompt, options) {
|
|
84
|
+
return this.runMessageRequest(prompt, options);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Vision-aware completion. Reads each `ImageInput` from disk, base64-encodes
|
|
88
|
+
* it, and packs the images followed by the text prompt into a single user
|
|
89
|
+
* message (Claude Vision format).
|
|
90
|
+
*
|
|
91
|
+
* Reuses the same retry/timeout pipeline as `completeWithUsage`. Validation
|
|
92
|
+
* (file existence, media type) runs before the first attempt so bad inputs
|
|
93
|
+
* fail fast and don't consume retry budget.
|
|
94
|
+
*/
|
|
95
|
+
async completeWithImage(prompt, options) {
|
|
96
|
+
if (!options.images || options.images.length === 0) {
|
|
97
|
+
throw new Error('completeWithImage: at least one image is required');
|
|
98
|
+
}
|
|
99
|
+
const imageBlocks = await Promise.all(options.images.map((img) => this.encodeImageBlock(img)));
|
|
100
|
+
const content = [
|
|
101
|
+
...imageBlocks,
|
|
102
|
+
{ type: 'text', text: prompt },
|
|
103
|
+
];
|
|
104
|
+
// Strip `images` so the rest of the option bag flows through unchanged.
|
|
105
|
+
const { images: _images, ...rest } = options;
|
|
106
|
+
void _images;
|
|
107
|
+
const response = await this.runMessageRequest(content, rest);
|
|
108
|
+
return response.text;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Read an image file and turn it into an Anthropic `ImageBlockParam` with a
|
|
112
|
+
* base64 source. Validates media type and surfaces a clear error if the file
|
|
113
|
+
* is missing.
|
|
114
|
+
*/
|
|
115
|
+
async encodeImageBlock(img) {
|
|
116
|
+
if (!SUPPORTED_IMAGE_MEDIA_TYPES.has(img.mediaType)) {
|
|
117
|
+
throw new Error(`completeWithImage: unsupported media type "${img.mediaType}". ` +
|
|
118
|
+
`Supported: ${[...SUPPORTED_IMAGE_MEDIA_TYPES].join(', ')}`);
|
|
119
|
+
}
|
|
120
|
+
let buffer;
|
|
121
|
+
try {
|
|
122
|
+
buffer = await fs.readFile(img.path);
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
126
|
+
throw new Error(`completeWithImage: failed to read image at "${img.path}": ${reason}`);
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
type: 'image',
|
|
130
|
+
source: {
|
|
131
|
+
type: 'base64',
|
|
132
|
+
media_type: img.mediaType,
|
|
133
|
+
data: buffer.toString('base64'),
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Core request loop shared by text-only and vision completions. Accepts
|
|
139
|
+
* already-built user content (string or content blocks) and returns the
|
|
140
|
+
* unwrapped text plus usage metadata.
|
|
141
|
+
*/
|
|
142
|
+
async runMessageRequest(content, options) {
|
|
77
143
|
this.callCount++;
|
|
78
144
|
const modelUsed = options?.model || this.model;
|
|
79
145
|
const timeoutMs = options?.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
@@ -98,7 +164,7 @@ export class ClaudeProvider {
|
|
|
98
164
|
model: modelUsed,
|
|
99
165
|
max_tokens: options?.maxTokens || DEFAULT_MAX_TOKENS,
|
|
100
166
|
...(options?.system ? { system: options.system } : {}),
|
|
101
|
-
messages: [{ role: 'user', content
|
|
167
|
+
messages: [{ role: 'user', content }],
|
|
102
168
|
}, {
|
|
103
169
|
signal: controller.signal,
|
|
104
170
|
// Disable SDK-level retry; this method owns retry semantics.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/core/ai/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,SAAS,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/core/ai/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAS1C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,aAAa,GAAG,0BAA0B,CAAC;AACjD,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B,MAAM,2BAA2B,GAAyC,IAAI,GAAG,CAAC;IAChF,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;CACb,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,CAAC,EAAU;QACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF,CAAC;AAEF,uEAAuE;AACvE,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,GAAY;IAC/B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAAwD,CAAC;IAEnE,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB;QAAE,OAAO,IAAI,CAAC;IAC3E,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG;YAAE,OAAO,IAAI,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,kEAAkE;IAClE,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC,IAAI,KAAK,2BAA2B;QAAE,OAAO,IAAI,CAAC;IAC3F,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC7F,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;AAC/D,CAAC;AAKD,MAAM,OAAO,cAAc;IACzB,2DAA2D;IAC3D,gBAAgB;IAChB,MAAM,CAAY;IACV,KAAK,CAAS;IACd,SAAS,GAAG,CAAC,CAAC;IACd,WAAW,GAAG,CAAC,CAAC;IAChB,WAAW,GAAG,CAAC,CAAC;IAChB,cAAc,GAAG,CAAC,CAAC;IAE3B,YAAY,MAAc,EAAE,KAAc,EAAE,OAAgB;QAC1D,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,aAAa,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC;YAC1B,MAAM;YACN,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,OAAyB;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,OAAyB;QAC/D,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CACrB,MAAc,EACd,OAAiC;QAEjC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CACxD,CAAC;QAEF,MAAM,OAAO,GAAkC;YAC7C,GAAG,WAAW;YACd,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;SAC/B,CAAC;QAEF,wEAAwE;QACxE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAC7C,KAAK,OAAO,CAAC;QAEb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7D,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB,CAAC,GAAe;QAC5C,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,8CAA8C,GAAG,CAAC,SAAS,KAAK;gBAC9D,cAAc,CAAC,GAAG,2BAA2B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9D,CAAC;QACJ,CAAC;QAED,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,CAAC,IAAI,MAAM,MAAM,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,GAAG,CAAC,SAAS;gBACzB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAChC;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,iBAAiB,CAC7B,OAA0B,EAC1B,OAAyB;QAEzB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;QAC/C,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,kBAAkB,CAAC;QAC3D,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,mBAAmB,CAAC;QAC9D,MAAM,cAAc,GAAG,OAAO,EAAE,MAAM,CAAC;QAEvC,IAAI,OAAgB,CAAC;QAErB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;YAE9D,qEAAqE;YACrE,yBAAyB;YACzB,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACjD,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,cAAc,CAAC,OAAO;oBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;;oBAC1C,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjF,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAChD;oBACE,KAAK,EAAE,SAAS;oBAChB,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,kBAAkB;oBACpD,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;iBACtC,EACD;oBACE,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,6DAA6D;oBAC7D,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE,SAAS;iBACnB,CACF,CAAC;gBAEF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC;gBAE/B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC7B,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC,CAAC;gBAE7E,MAAM,CAAC,KAAK,CACV,QAAQ,OAAO,QAAQ,KAAK,EAAE,YAAY,IAAI,CAAC,IAAI,KAAK,EAAE,aAAa,IAAI,CAAC,SAAS;oBACnF,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CACnD,CAAC;gBAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBAClE,OAAO;oBACL,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE;oBAC3B,KAAK,EAAE,KAAK;wBACV,CAAC,CAAC;4BACE,YAAY,EAAE,KAAK,CAAC,YAAY;4BAChC,aAAa,EAAE,KAAK,CAAC,aAAa;yBACnC;wBACH,CAAC,CAAC,SAAS;oBACb,KAAK,EAAE,SAAS;iBACjB,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBAC1C,OAAO,GAAG,GAAG,CAAC;gBAEd,iEAAiE;gBACjE,IAAI,cAAc,EAAE,OAAO,EAAE,CAAC;oBAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,MAAM,GAAG,CAAC;gBACZ,CAAC;gBAED,MAAM,QAAQ,GAAG,OAAO,GAAG,UAAU,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnB,MAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC3F,MAAM,GAAG,CAAC;gBACZ,CAAC;gBAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,CAAC,IAAI,CACT,0BAA0B,OAAO,GAAG,CAAC,IAAI,UAAU,UAAU,SAAS,eAAe,MAAM,GAAG,CAC/F,CAAC;gBACF,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,cAAc,EAAE,CAAC;oBACnB,cAAc,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC5F,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC;YAAE,OAAO,aAAa,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,aAAa,IAAI,CAAC,SAAS,cAAc,IAAI,CAAC,WAAW,cAAc,IAAI,CAAC,WAAW,WAAW,KAAK,eAAe,IAAI,CAAC,KAAK,EAAE,CAAC;IAC5I,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAe,EAAE,KAAc,EAAE,OAAgB;IAC9E,MAAM,GAAG,GAAG,MAAM;WACb,OAAO,CAAC,GAAG,CAAC,iBAAiB;WAC7B,OAAO,CAAC,GAAG,CAAC,oBAAoB;WAChC,EAAE,CAAC;IAER,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACnF,CAAC"}
|
package/dist/core/ai/types.d.ts
CHANGED
|
@@ -25,9 +25,37 @@ export interface CompleteOptions {
|
|
|
25
25
|
maxRetries?: number;
|
|
26
26
|
signal?: AbortSignal;
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Supported media types for vision inputs. The whitelist mirrors what the
|
|
30
|
+
* Anthropic API accepts for `Base64ImageSource` (see SDK `Base64ImageSource`).
|
|
31
|
+
*/
|
|
32
|
+
export type SupportedImageMediaType = 'image/png' | 'image/jpeg' | 'image/gif' | 'image/webp';
|
|
33
|
+
/**
|
|
34
|
+
* Local image file passed to a vision-capable provider. The provider is
|
|
35
|
+
* responsible for reading and base64-encoding the file.
|
|
36
|
+
*/
|
|
37
|
+
export interface ImageInput {
|
|
38
|
+
/** Absolute or relative path to the image on disk. */
|
|
39
|
+
path: string;
|
|
40
|
+
/** Declared media type; must match the file contents. */
|
|
41
|
+
mediaType: SupportedImageMediaType;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Options for `completeWithImage`. Inherits all transport knobs from
|
|
45
|
+
* `CompleteOptions` and adds the image list.
|
|
46
|
+
*/
|
|
47
|
+
export interface CompleteWithImageOptions extends CompleteOptions {
|
|
48
|
+
/** One or more images to include before the text prompt. */
|
|
49
|
+
images: ImageInput[];
|
|
50
|
+
}
|
|
28
51
|
export interface AIProvider {
|
|
29
52
|
complete(prompt: string, options?: CompleteOptions): Promise<string>;
|
|
30
53
|
completeWithUsage(prompt: string, options?: CompleteOptions): Promise<AIResponse>;
|
|
54
|
+
/**
|
|
55
|
+
* Vision-aware completion. Optional because not every provider/back-end
|
|
56
|
+
* supports image inputs. Callers should check for presence before use.
|
|
57
|
+
*/
|
|
58
|
+
completeWithImage?(prompt: string, options: CompleteWithImageOptions): Promise<string>;
|
|
31
59
|
formatStats(): string;
|
|
32
60
|
}
|
|
33
61
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/ai/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAErE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAElF,WAAW,IAAI,MAAM,CAAC;CACvB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/ai/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAC/B,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,CAAC;AAEjB;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,SAAS,EAAE,uBAAuB,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC/D,4DAA4D;IAC5D,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAErE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAElF;;;OAGG;IACH,iBAAiB,CAAC,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB,WAAW,IAAI,MAAM,CAAC;CACvB"}
|
|
@@ -103,45 +103,9 @@ export interface TaskRow {
|
|
|
103
103
|
event_count: number;
|
|
104
104
|
created_at: string;
|
|
105
105
|
}
|
|
106
|
-
export interface MethodologyExecutionRow {
|
|
107
|
-
id: number;
|
|
108
|
-
session_id: string;
|
|
109
|
-
methodology_id: string;
|
|
110
|
-
plan_json: string;
|
|
111
|
-
original_plan_json: string | null;
|
|
112
|
-
current_phase_index: number;
|
|
113
|
-
status: 'running' | 'completed' | 'failed' | 'cancelled' | 'stale';
|
|
114
|
-
mode: 'foreground' | 'background';
|
|
115
|
-
worker_pid: number | null;
|
|
116
|
-
worker_session_id: string | null;
|
|
117
|
-
trigger_type: 'manual' | 'idle' | 'scheduled' | null;
|
|
118
|
-
retry_count: number | null;
|
|
119
|
-
last_progress_at: number | null;
|
|
120
|
-
started_at: number;
|
|
121
|
-
completed_at: number | null;
|
|
122
|
-
created_at: string;
|
|
123
|
-
}
|
|
124
|
-
export interface PhaseExecutionRow {
|
|
125
|
-
id: number;
|
|
126
|
-
methodology_execution_id: number;
|
|
127
|
-
phase_id: string;
|
|
128
|
-
phase_index: number;
|
|
129
|
-
agent_name: string;
|
|
130
|
-
prompt: string;
|
|
131
|
-
status: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
132
|
-
started_at: number | null;
|
|
133
|
-
completed_at: number | null;
|
|
134
|
-
duration_ms: number | null;
|
|
135
|
-
artifacts_json: string | null;
|
|
136
|
-
output_text: string | null;
|
|
137
|
-
error_message: string | null;
|
|
138
|
-
stream_log_path: string | null;
|
|
139
|
-
created_at: string;
|
|
140
|
-
}
|
|
141
106
|
export interface TokenUsageRow {
|
|
142
107
|
id: number;
|
|
143
108
|
session_id: string;
|
|
144
|
-
methodology_execution_id: number | null;
|
|
145
109
|
timestamp: number;
|
|
146
110
|
input_tokens: number;
|
|
147
111
|
output_tokens: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../../src/core/storage/rows.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rows.d.ts","sourceRoot":"","sources":["../../../src/core/storage/rows.ts"],"names":[],"mappings":"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"}
|
|
@@ -224,66 +224,22 @@ CREATE TABLE IF NOT EXISTS routing_rule_states (
|
|
|
224
224
|
|
|
225
225
|
CREATE INDEX IF NOT EXISTS idx_rule_states_disabled ON routing_rule_states(disabled);
|
|
226
226
|
|
|
227
|
-
-- ── Methodology Executions (方法论执行追踪) ──────────────────────────────
|
|
228
|
-
-- 记录方法论的执行实例和动态生成的执行计划
|
|
229
|
-
|
|
230
|
-
CREATE TABLE IF NOT EXISTS methodology_executions (
|
|
231
|
-
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
232
|
-
session_id TEXT NOT NULL,
|
|
233
|
-
methodology_id TEXT NOT NULL,
|
|
234
|
-
plan_json TEXT NOT NULL, -- 动态生成的执行计划(JSON)
|
|
235
|
-
current_phase_index INTEGER DEFAULT 0,
|
|
236
|
-
status TEXT NOT NULL DEFAULT 'running' CHECK(status IN ('running', 'completed', 'failed', 'cancelled', 'stale')),
|
|
237
|
-
started_at INTEGER NOT NULL,
|
|
238
|
-
completed_at INTEGER,
|
|
239
|
-
last_progress_at INTEGER, -- 最后一次推进时间戳(ms),用于 stale 判定
|
|
240
|
-
created_at TEXT DEFAULT (datetime('now'))
|
|
241
|
-
);
|
|
242
|
-
|
|
243
|
-
CREATE INDEX IF NOT EXISTS idx_methodology_exec_session ON methodology_executions(session_id);
|
|
244
|
-
CREATE INDEX IF NOT EXISTS idx_methodology_exec_status ON methodology_executions(status);
|
|
245
|
-
|
|
246
|
-
-- ── Phase Executions (阶段执行记录) ──────────────────────────────────────
|
|
247
|
-
-- 记录每个阶段的执行情况
|
|
248
|
-
|
|
249
|
-
CREATE TABLE IF NOT EXISTS phase_executions (
|
|
250
|
-
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
251
|
-
methodology_execution_id INTEGER NOT NULL,
|
|
252
|
-
phase_id TEXT NOT NULL,
|
|
253
|
-
phase_index INTEGER NOT NULL,
|
|
254
|
-
agent_name TEXT NOT NULL,
|
|
255
|
-
prompt TEXT NOT NULL,
|
|
256
|
-
status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending', 'running', 'completed', 'failed', 'cancelled')),
|
|
257
|
-
started_at INTEGER,
|
|
258
|
-
completed_at INTEGER,
|
|
259
|
-
duration_ms INTEGER,
|
|
260
|
-
artifacts_json TEXT, -- 产物记录(JSON)
|
|
261
|
-
created_at TEXT DEFAULT (datetime('now')),
|
|
262
|
-
FOREIGN KEY (methodology_execution_id) REFERENCES methodology_executions(id)
|
|
263
|
-
);
|
|
264
|
-
|
|
265
|
-
CREATE INDEX IF NOT EXISTS idx_phase_exec_methodology ON phase_executions(methodology_execution_id);
|
|
266
|
-
CREATE INDEX IF NOT EXISTS idx_phase_exec_status ON phase_executions(status);
|
|
267
|
-
|
|
268
227
|
-- ── Token Usage (Token 用量追踪) ──────────────────────────────────────────
|
|
269
228
|
-- 记录每次 AI 调用的 token 用量,用于成本可观测和预算控制
|
|
270
229
|
|
|
271
230
|
CREATE TABLE IF NOT EXISTS token_usage (
|
|
272
231
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
273
232
|
session_id TEXT NOT NULL,
|
|
274
|
-
methodology_execution_id INTEGER, -- 可选,关联方法论执行
|
|
275
233
|
timestamp INTEGER NOT NULL,
|
|
276
234
|
input_tokens INTEGER NOT NULL,
|
|
277
235
|
output_tokens INTEGER NOT NULL,
|
|
278
236
|
total_tokens INTEGER NOT NULL,
|
|
279
237
|
model TEXT, -- 如 'claude-opus-4-7'
|
|
280
238
|
tool_name TEXT, -- 如 'Task' / 'Read' / 'Agent' / 'classify' / 'plan'
|
|
281
|
-
created_at TEXT DEFAULT (datetime('now'))
|
|
282
|
-
FOREIGN KEY (methodology_execution_id) REFERENCES methodology_executions(id)
|
|
239
|
+
created_at TEXT DEFAULT (datetime('now'))
|
|
283
240
|
);
|
|
284
241
|
|
|
285
242
|
CREATE INDEX IF NOT EXISTS idx_token_usage_session ON token_usage(session_id);
|
|
286
|
-
CREATE INDEX IF NOT EXISTS idx_token_usage_methodology ON token_usage(methodology_execution_id);
|
|
287
243
|
CREATE INDEX IF NOT EXISTS idx_token_usage_timestamp ON token_usage(timestamp DESC);
|
|
288
244
|
|
|
289
245
|
-- ── Skill Invocations (Skill 调用链路追踪) ─────────────────────────────────
|