@winspan/claude-forge 8.33.5 → 8.35.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.
Files changed (184) hide show
  1. package/README.md +10 -30
  2. package/dist/agents/definition.d.ts +3 -0
  3. package/dist/agents/definition.d.ts.map +1 -1
  4. package/dist/agents/definition.js +3 -0
  5. package/dist/agents/definition.js.map +1 -1
  6. package/dist/agents/official-agents.d.ts.map +1 -1
  7. package/dist/agents/official-agents.js +6 -3
  8. package/dist/agents/official-agents.js.map +1 -1
  9. package/dist/agents/registry.d.ts +17 -1
  10. package/dist/agents/registry.d.ts.map +1 -1
  11. package/dist/agents/registry.js +106 -7
  12. package/dist/agents/registry.js.map +1 -1
  13. package/dist/capability/index.d.ts +6 -5
  14. package/dist/capability/index.d.ts.map +1 -1
  15. package/dist/capability/index.js +6 -5
  16. package/dist/capability/index.js.map +1 -1
  17. package/dist/capability/types.d.ts +5 -74
  18. package/dist/capability/types.d.ts.map +1 -1
  19. package/dist/capability/types.js +4 -1
  20. package/dist/capability/types.js.map +1 -1
  21. package/dist/cli/commands/executions.d.ts +3 -0
  22. package/dist/cli/commands/executions.d.ts.map +1 -0
  23. package/dist/cli/commands/executions.js +109 -0
  24. package/dist/cli/commands/executions.js.map +1 -0
  25. package/dist/cli/commands/skills.d.ts.map +1 -1
  26. package/dist/cli/commands/skills.js +83 -20
  27. package/dist/cli/commands/skills.js.map +1 -1
  28. package/dist/cli/index.js +2 -0
  29. package/dist/cli/index.js.map +1 -1
  30. package/dist/core/storage/rows.d.ts +14 -36
  31. package/dist/core/storage/rows.d.ts.map +1 -1
  32. package/dist/core/storage/schema.sql +27 -45
  33. package/dist/core/storage/sqlite.d.ts +11 -79
  34. package/dist/core/storage/sqlite.d.ts.map +1 -1
  35. package/dist/core/storage/sqlite.js +35 -362
  36. package/dist/core/storage/sqlite.js.map +1 -1
  37. package/dist/core/utils/token-tracker.d.ts +0 -1
  38. package/dist/core/utils/token-tracker.d.ts.map +1 -1
  39. package/dist/core/utils/token-tracker.js +0 -1
  40. package/dist/core/utils/token-tracker.js.map +1 -1
  41. package/dist/daemon/handlers/post-tool-use.d.ts +1 -9
  42. package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
  43. package/dist/daemon/handlers/post-tool-use.js +2 -99
  44. package/dist/daemon/handlers/post-tool-use.js.map +1 -1
  45. package/dist/daemon/handlers/stop.d.ts +5 -15
  46. package/dist/daemon/handlers/stop.d.ts.map +1 -1
  47. package/dist/daemon/handlers/stop.js +25 -93
  48. package/dist/daemon/handlers/stop.js.map +1 -1
  49. package/dist/daemon/handlers/user-prompt.d.ts +3 -5
  50. package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
  51. package/dist/daemon/handlers/user-prompt.js +39 -98
  52. package/dist/daemon/handlers/user-prompt.js.map +1 -1
  53. package/dist/daemon/index.d.ts.map +1 -1
  54. package/dist/daemon/index.js +11 -56
  55. package/dist/daemon/index.js.map +1 -1
  56. package/dist/daemon/routing-observer.d.ts.map +1 -1
  57. package/dist/daemon/routing-observer.js +24 -1
  58. package/dist/daemon/routing-observer.js.map +1 -1
  59. package/dist/intelligence/execution-doc-builder.d.ts +61 -0
  60. package/dist/intelligence/execution-doc-builder.d.ts.map +1 -0
  61. package/dist/intelligence/execution-doc-builder.js +601 -0
  62. package/dist/intelligence/execution-doc-builder.js.map +1 -0
  63. package/dist/skills/invocation-guard.d.ts +45 -0
  64. package/dist/skills/invocation-guard.d.ts.map +1 -0
  65. package/dist/skills/invocation-guard.js +82 -0
  66. package/dist/skills/invocation-guard.js.map +1 -0
  67. package/dist/skills/official-skills.d.ts.map +1 -1
  68. package/dist/skills/official-skills.js +218 -20
  69. package/dist/skills/official-skills.js.map +1 -1
  70. package/dist/skills/registry.d.ts +22 -0
  71. package/dist/skills/registry.d.ts.map +1 -1
  72. package/dist/skills/registry.js +30 -2
  73. package/dist/skills/registry.js.map +1 -1
  74. package/dist/skills/tools/skill-invoke.d.ts +36 -0
  75. package/dist/skills/tools/skill-invoke.d.ts.map +1 -0
  76. package/dist/skills/tools/skill-invoke.js +82 -0
  77. package/dist/skills/tools/skill-invoke.js.map +1 -0
  78. package/dist/skills/tools/skill-list.d.ts +26 -0
  79. package/dist/skills/tools/skill-list.d.ts.map +1 -0
  80. package/dist/skills/tools/skill-list.js +35 -0
  81. package/dist/skills/tools/skill-list.js.map +1 -0
  82. package/dist/web/routes/execution-trace.d.ts.map +1 -1
  83. package/dist/web/routes/execution-trace.js +16 -0
  84. package/dist/web/routes/execution-trace.js.map +1 -1
  85. package/dist/web/routes/skill-stats.d.ts +12 -0
  86. package/dist/web/routes/skill-stats.d.ts.map +1 -0
  87. package/dist/web/routes/skill-stats.js +72 -0
  88. package/dist/web/routes/skill-stats.js.map +1 -0
  89. package/dist/web/routes/status.d.ts.map +1 -1
  90. package/dist/web/routes/status.js +8 -10
  91. package/dist/web/routes/status.js.map +1 -1
  92. package/dist/web/routes/token-usage.d.ts +1 -1
  93. package/dist/web/routes/token-usage.d.ts.map +1 -1
  94. package/dist/web/routes/token-usage.js +1 -16
  95. package/dist/web/routes/token-usage.js.map +1 -1
  96. package/dist/web/routes/types.d.ts +0 -6
  97. package/dist/web/routes/types.d.ts.map +1 -1
  98. package/dist/web/routes/types.js.map +1 -1
  99. package/dist/web/server.d.ts +0 -6
  100. package/dist/web/server.d.ts.map +1 -1
  101. package/dist/web/server.js +0 -5
  102. package/dist/web/server.js.map +1 -1
  103. package/dist/web/static/assets/{AIConfig-BbwRuWzm.js → AIConfig-DiUFET_Q.js} +2 -2
  104. package/dist/web/static/assets/{AIConfig-BbwRuWzm.js.map → AIConfig-DiUFET_Q.js.map} +1 -1
  105. package/dist/web/static/assets/{Agents-FyKzsN-g.js → Agents-bNNGbQnL.js} +2 -2
  106. package/dist/web/static/assets/{Agents-FyKzsN-g.js.map → Agents-bNNGbQnL.js.map} +1 -1
  107. package/dist/web/static/assets/{Events-C2OCOKAD.js → Events-DQHP6Uaq.js} +2 -2
  108. package/dist/web/static/assets/{Events-C2OCOKAD.js.map → Events-DQHP6Uaq.js.map} +1 -1
  109. package/dist/web/static/assets/ExecutionTrace-Co8ARdg-.js +3 -0
  110. package/dist/web/static/assets/ExecutionTrace-Co8ARdg-.js.map +1 -0
  111. package/dist/web/static/assets/{Methodologies-DwYLXc8o.js → Methodologies-CXNrDXwG.js} +2 -2
  112. package/dist/web/static/assets/{Methodologies-DwYLXc8o.js.map → Methodologies-CXNrDXwG.js.map} +1 -1
  113. package/dist/web/static/assets/{Sessions-CFpFk-5I.js → Sessions-ZQSCgXyy.js} +2 -2
  114. package/dist/web/static/assets/{Sessions-CFpFk-5I.js.map → Sessions-ZQSCgXyy.js.map} +1 -1
  115. package/dist/web/static/assets/{Skills-BkbegTV1.js → Skills-C5-5zOSH.js} +2 -2
  116. package/dist/web/static/assets/{Skills-BkbegTV1.js.map → Skills-C5-5zOSH.js.map} +1 -1
  117. package/dist/web/static/assets/{index-CIRlno4E.js → index-DJK5beK6.js} +3 -3
  118. package/dist/web/static/assets/{index-CIRlno4E.js.map → index-DJK5beK6.js.map} +1 -1
  119. package/dist/web/static/assets/index-phpuytMI.css +1 -0
  120. package/dist/web/static/index.html +2 -2
  121. package/package.json +2 -2
  122. package/dist/capability/execution-manager.d.ts +0 -96
  123. package/dist/capability/execution-manager.d.ts.map +0 -1
  124. package/dist/capability/execution-manager.js +0 -260
  125. package/dist/capability/execution-manager.js.map +0 -1
  126. package/dist/capability/executor/background-executor.d.ts +0 -58
  127. package/dist/capability/executor/background-executor.d.ts.map +0 -1
  128. package/dist/capability/executor/background-executor.js +0 -322
  129. package/dist/capability/executor/background-executor.js.map +0 -1
  130. package/dist/capability/executor/foreground-executor.d.ts +0 -26
  131. package/dist/capability/executor/foreground-executor.d.ts.map +0 -1
  132. package/dist/capability/executor/foreground-executor.js +0 -82
  133. package/dist/capability/executor/foreground-executor.js.map +0 -1
  134. package/dist/capability/executor/orchestrator.d.ts +0 -38
  135. package/dist/capability/executor/orchestrator.d.ts.map +0 -1
  136. package/dist/capability/executor/orchestrator.js +0 -158
  137. package/dist/capability/executor/orchestrator.js.map +0 -1
  138. package/dist/capability/executor/stream-parser.d.ts +0 -73
  139. package/dist/capability/executor/stream-parser.d.ts.map +0 -1
  140. package/dist/capability/executor/stream-parser.js +0 -56
  141. package/dist/capability/executor/stream-parser.js.map +0 -1
  142. package/dist/capability/executor/types.d.ts +0 -44
  143. package/dist/capability/executor/types.d.ts.map +0 -1
  144. package/dist/capability/executor/types.js +0 -9
  145. package/dist/capability/executor/types.js.map +0 -1
  146. package/dist/capability/executor/worker-auth-probe.d.ts +0 -30
  147. package/dist/capability/executor/worker-auth-probe.d.ts.map +0 -1
  148. package/dist/capability/executor/worker-auth-probe.js +0 -108
  149. package/dist/capability/executor/worker-auth-probe.js.map +0 -1
  150. package/dist/capability/methodologies/bmad.yaml +0 -81
  151. package/dist/capability/methodologies/code-quality-audit.yaml +0 -26
  152. package/dist/capability/methodologies/harness-engineering.yaml +0 -75
  153. package/dist/capability/methodologies/test-coverage-scan.yaml +0 -26
  154. package/dist/capability/methodology-planner.d.ts +0 -49
  155. package/dist/capability/methodology-planner.d.ts.map +0 -1
  156. package/dist/capability/methodology-planner.js +0 -306
  157. package/dist/capability/methodology-planner.js.map +0 -1
  158. package/dist/capability/methodology-registry.d.ts +0 -32
  159. package/dist/capability/methodology-registry.d.ts.map +0 -1
  160. package/dist/capability/methodology-registry.js +0 -113
  161. package/dist/capability/methodology-registry.js.map +0 -1
  162. package/dist/daemon/handlers/methodology-formatter.d.ts +0 -16
  163. package/dist/daemon/handlers/methodology-formatter.d.ts.map +0 -1
  164. package/dist/daemon/handlers/methodology-formatter.js +0 -119
  165. package/dist/daemon/handlers/methodology-formatter.js.map +0 -1
  166. package/dist/daemon/idle-detector.d.ts +0 -35
  167. package/dist/daemon/idle-detector.d.ts.map +0 -1
  168. package/dist/daemon/idle-detector.js +0 -56
  169. package/dist/daemon/idle-detector.js.map +0 -1
  170. package/dist/daemon/idle-trigger.d.ts +0 -53
  171. package/dist/daemon/idle-trigger.d.ts.map +0 -1
  172. package/dist/daemon/idle-trigger.js +0 -153
  173. package/dist/daemon/idle-trigger.js.map +0 -1
  174. package/dist/daemon/methodology-pending-queue.d.ts +0 -33
  175. package/dist/daemon/methodology-pending-queue.d.ts.map +0 -1
  176. package/dist/daemon/methodology-pending-queue.js +0 -120
  177. package/dist/daemon/methodology-pending-queue.js.map +0 -1
  178. package/dist/web/routes/methodology.d.ts +0 -12
  179. package/dist/web/routes/methodology.d.ts.map +0 -1
  180. package/dist/web/routes/methodology.js +0 -228
  181. package/dist/web/routes/methodology.js.map +0 -1
  182. package/dist/web/static/assets/ExecutionTrace-BsWSpu2v.js +0 -3
  183. package/dist/web/static/assets/ExecutionTrace-BsWSpu2v.js.map +0 -1
  184. package/dist/web/static/assets/index-N1EByy_h.css +0 -1
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Claude Forge
2
2
 
3
- > 为 Claude Code 设计的会话治理引擎 —— 通过 Hook 机制把方法论、路由、治理规则注入到 AI 开发流程中。
3
+ > 为 Claude Code 设计的会话治理引擎 —— 通过 Hook 机制把 Agent 路由、Skill 推荐、治理规则注入到 AI 开发流程中。
4
4
 
5
- Claude Forge 是一个在本地运行的守护进程,通过 Claude Code 的 Hook API 拦截 `UserPromptSubmit`、`PreToolUse`、`PostToolUse`、`Stop` 等事件,在其中做意图分类、方法论匹配、Agent 路由、规则阻断、治理建议。
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 管理后台,覆盖:会话浏览、事件流、执行追踪、方法论执行启动/取消、Agent/Skill 编辑、AI 配置、实时 SSE 日志。
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),包含仓库布局、构建/测试流程、架构说明、如何新增方法论或 Agent。
87
+ 开发者文档见 [DEVELOPMENT.md](./DEVELOPMENT.md),包含仓库布局、构建/测试流程、架构说明、如何新增 Agent 或 Skill
108
88
 
109
89
  ## License
110
90
 
@@ -26,6 +26,8 @@ export interface AgentDefinition {
26
26
  tools: string[];
27
27
  /** Suggested model slug (sonnet/opus/haiku); optional */
28
28
  model?: string;
29
+ /** Skill dependencies (skill IDs to inject as methodology) */
30
+ skills?: string[];
29
31
  /** Full markdown body that lands in ~/.claude/agents/<name>.md */
30
32
  content: string;
31
33
  }
@@ -39,6 +41,7 @@ export interface AgentRecord {
39
41
  version: string;
40
42
  tools: string[];
41
43
  model?: string;
44
+ skills?: string[];
42
45
  content: string;
43
46
  source: AgentSource;
44
47
  /** Absolute path if loaded from disk, '<builtin>' for embedded */
@@ -1 +1 @@
1
- {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/agents/definition.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,UAAU,GACV,YAAY,GACZ,SAAS,GACT,UAAU,GACV,eAAe,GACf,UAAU,GACV,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,QAAQ,EAAE,aAAa,CAAC;IACxB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAWhE"}
1
+ {"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/agents/definition.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,UAAU,GACV,YAAY,GACZ,SAAS,GACT,UAAU,GACV,eAAe,GACf,UAAU,GACV,eAAe,CAAC;AAEpB;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,QAAQ,EAAE,aAAa,CAAC;IACxB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IACpB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAchE"}
@@ -18,6 +18,9 @@ export function renderAgentMarkdown(def) {
18
18
  ];
19
19
  if (def.model)
20
20
  fm.push(`model: ${def.model}`);
21
+ if (def.skills && def.skills.length > 0) {
22
+ fm.push(`skills: [${def.skills.join(', ')}]`);
23
+ }
21
24
  fm.push('---', '');
22
25
  return fm.join('\n') + def.content.trimStart();
23
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/agents/definition.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuDH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAoB;IACtD,MAAM,EAAE,GAAa;QACnB,KAAK;QACL,SAAS,GAAG,CAAC,IAAI,EAAE;QACnB,gBAAgB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACjD,YAAY,GAAG,CAAC,OAAO,EAAE;QACzB,UAAU,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KACjC,CAAC;IACF,IAAI,GAAG,CAAC,KAAK;QAAE,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/agents/definition.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0DH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAoB;IACtD,MAAM,EAAE,GAAa;QACnB,KAAK;QACL,SAAS,GAAG,CAAC,IAAI,EAAE;QACnB,gBAAgB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;QACjD,YAAY,GAAG,CAAC,OAAO,EAAE;QACzB,UAAU,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KACjC,CAAC;IACF,IAAI,GAAG,CAAC,KAAK;QAAE,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9C,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IACD,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnB,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;AACjD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"official-agents.d.ts","sourceRoot":"","sources":["../../src/agents/official-agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA0cvD,eAAO,MAAM,eAAe,EAAE,eAAe,EAyG5C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE3E"}
1
+ {"version":3,"file":"official-agents.d.ts","sourceRoot":"","sources":["../../src/agents/official-agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AA0cvD,eAAO,MAAM,eAAe,EAAE,eAAe,EA4G5C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE3E"}
@@ -478,8 +478,9 @@ export const OFFICIAL_AGENTS = [
478
478
  name: 'refactor-specialist',
479
479
  description: '大规模重构与技术债消除',
480
480
  category: 'specialist',
481
- version: '0.2.0',
481
+ version: '0.3.0',
482
482
  tools: ['Read', 'Write', 'Edit', 'Grep', 'Glob', 'Bash'],
483
+ skills: ['official-refactor', 'official-harness-engineering'],
483
484
  content: REFACTOR_SPECIALIST_BODY,
484
485
  },
485
486
  {
@@ -494,16 +495,18 @@ export const OFFICIAL_AGENTS = [
494
495
  name: 'tester',
495
496
  description: '测试编写与覆盖率提升',
496
497
  category: 'quality',
497
- version: '0.2.0',
498
+ version: '0.3.0',
498
499
  tools: ['Read', 'Write', 'Edit', 'Grep', 'Glob', 'Bash'],
500
+ skills: ['official-tdd'],
499
501
  content: TESTER_BODY,
500
502
  },
501
503
  {
502
504
  name: 'reviewer',
503
505
  description: '代码评审和质量检查',
504
506
  category: 'quality',
505
- version: '0.3.0',
507
+ version: '0.4.0',
506
508
  tools: ['Read', 'Grep', 'Glob'],
509
+ skills: ['official-pr-review'],
507
510
  content: REVIEWER_BODY,
508
511
  },
509
512
  {
@@ -1 +1 @@
1
- {"version":3,"file":"official-agents.js","sourceRoot":"","sources":["../../src/agents/official-agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"official-agents.js","sourceRoot":"","sources":["../../src/agents/official-agents.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,12 @@
10
10
  * Phase 1 ships builtin + user + project; preset layer plugs in at Phase 3.
11
11
  */
12
12
  import type { AgentRecord } from './definition.js';
13
+ import type { SkillRegistry } from '../skills/registry.js';
13
14
  export declare class AgentRegistry {
14
15
  private readonly projectPath?;
15
16
  private agents;
16
- constructor(projectPath?: string | undefined);
17
+ private skillRegistry;
18
+ constructor(projectPath?: string | undefined, skillRegistry?: SkillRegistry);
17
19
  private scan;
18
20
  private loadBuiltin;
19
21
  private loadFromDir;
@@ -23,5 +25,19 @@ export declare class AgentRegistry {
23
25
  getAll(): AgentRecord[];
24
26
  /** Re-scan layers. */
25
27
  reload(): void;
28
+ /**
29
+ * Inject skill content as methodology reference into agent content.
30
+ * If skills are declared but SkillRegistry is not available, log warning.
31
+ */
32
+ private injectSkillContent;
33
+ /**
34
+ * Inject a dynamic skill manifest (id + description only) at the end of agent content.
35
+ * This tells the Agent which skills are available for on-demand invocation via
36
+ * the SkillInvoke tool, without injecting the full skill bodies (to save tokens).
37
+ *
38
+ * Skills already statically injected via injectSkillContent() are excluded from
39
+ * the manifest to avoid duplication.
40
+ */
41
+ private injectDynamicSkillManifest;
26
42
  }
27
43
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,KAAK,EAAiB,WAAW,EAAe,MAAM,iBAAiB,CAAC;AAI/E,qBAAa,aAAa;IAGZ,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAFzC,OAAO,CAAC,MAAM,CAAuC;gBAExB,WAAW,CAAC,EAAE,MAAM,YAAA;IAIjD,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,WAAW;IAiDnB,mCAAmC;IACnC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C,gCAAgC;IAChC,MAAM,IAAI,WAAW,EAAE;IAIvB,sBAAsB;IACtB,MAAM,IAAI,IAAI;CAIf"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,KAAK,EAAiB,WAAW,EAAe,MAAM,iBAAiB,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAJ/B,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,aAAa,CAA8B;gBAGhC,WAAW,CAAC,EAAE,MAAM,YAAA,EACrC,aAAa,CAAC,EAAE,aAAa;IAM/B,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,WAAW;IAgEnB,mCAAmC;IACnC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C,gCAAgC;IAChC,MAAM,IAAI,WAAW,EAAE;IAIvB,sBAAsB;IACtB,MAAM,IAAI,IAAI;IAKd;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuC1B;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;CA2CnC"}
@@ -19,8 +19,10 @@ const USER_AGENTS_DIR = path.join(homedir(), '.claude', 'agents');
19
19
  export class AgentRegistry {
20
20
  projectPath;
21
21
  agents = new Map();
22
- constructor(projectPath) {
22
+ skillRegistry = null;
23
+ constructor(projectPath, skillRegistry) {
23
24
  this.projectPath = projectPath;
25
+ this.skillRegistry = skillRegistry ?? null;
24
26
  this.scan();
25
27
  }
26
28
  scan() {
@@ -33,17 +35,26 @@ export class AgentRegistry {
33
35
  }
34
36
  loadBuiltin() {
35
37
  for (const def of OFFICIAL_AGENTS) {
36
- this.agents.set(def.name, {
38
+ logger.debug(`[AgentRegistry] Loading agent ${def.name}, skills: ${JSON.stringify(def.skills)}`);
39
+ const contentWithStatic = this.injectSkillContent(def.content, def.skills);
40
+ const content = this.injectDynamicSkillManifest(contentWithStatic, def.skills ?? []);
41
+ const record = {
37
42
  name: def.name,
38
43
  description: def.description,
39
44
  category: def.category,
40
45
  version: def.version,
41
46
  tools: def.tools,
42
47
  model: def.model,
43
- content: def.content,
48
+ content,
44
49
  source: 'builtin',
45
50
  path: '<builtin>',
46
- });
51
+ };
52
+ if (def.skills && def.skills.length > 0) {
53
+ record.skills = def.skills;
54
+ logger.debug(`[AgentRegistry] Agent ${def.name} has ${def.skills.length} skill(s): ${def.skills.join(', ')}`);
55
+ }
56
+ logger.debug(`[AgentRegistry] Stored agent ${def.name}, record.skills: ${JSON.stringify(record.skills)}`);
57
+ this.agents.set(def.name, record);
47
58
  }
48
59
  }
49
60
  loadFromDir(dir, source) {
@@ -71,17 +82,27 @@ export class AgentRegistry {
71
82
  ? data.category
72
83
  : 'core';
73
84
  const model = typeof data.model === 'string' ? data.model : undefined;
74
- this.agents.set(name, {
85
+ // Parse skills field
86
+ const rawSkills = data.skills;
87
+ const skills = Array.isArray(rawSkills)
88
+ ? rawSkills.filter((s) => typeof s === 'string')
89
+ : undefined;
90
+ const content = this.injectDynamicSkillManifest(this.injectSkillContent(parsed.content.trim(), skills), skills ?? []);
91
+ const record = {
75
92
  name,
76
93
  description,
77
94
  category,
78
95
  version,
79
96
  tools,
80
97
  model,
81
- content: parsed.content.trim(),
98
+ content,
82
99
  source,
83
100
  path: filePath,
84
- });
101
+ };
102
+ if (skills && skills.length > 0) {
103
+ record.skills = skills;
104
+ }
105
+ this.agents.set(name, record);
85
106
  }
86
107
  catch (err) {
87
108
  logger.warn(`[AgentRegistry] Failed to parse ${filePath}: ${err}`);
@@ -101,5 +122,83 @@ export class AgentRegistry {
101
122
  this.agents.clear();
102
123
  this.scan();
103
124
  }
125
+ /**
126
+ * Inject skill content as methodology reference into agent content.
127
+ * If skills are declared but SkillRegistry is not available, log warning.
128
+ */
129
+ injectSkillContent(content, skills) {
130
+ if (!skills || skills.length === 0) {
131
+ return content;
132
+ }
133
+ if (!this.skillRegistry) {
134
+ logger.warn(`[AgentRegistry] Skills declared [${skills.join(', ')}] but SkillRegistry not available`);
135
+ return content;
136
+ }
137
+ const skillContents = [];
138
+ for (const skillId of skills) {
139
+ const skill = this.skillRegistry.getAll().find(s => s.id === skillId);
140
+ if (skill) {
141
+ skillContents.push(`### ${skill.name}\n\n${skill.content}`);
142
+ logger.debug(`[AgentRegistry] Injected skill: ${skillId}`);
143
+ }
144
+ else {
145
+ logger.warn(`[AgentRegistry] Skill not found: ${skillId}`);
146
+ }
147
+ }
148
+ if (skillContents.length === 0) {
149
+ return content;
150
+ }
151
+ return `${content}
152
+
153
+ ---
154
+
155
+ ## 参考方法论
156
+
157
+ 以下是本 Agent 依赖的 Skill 方法论,供参考使用:
158
+
159
+ ${skillContents.join('\n\n---\n\n')}
160
+ `;
161
+ }
162
+ /**
163
+ * Inject a dynamic skill manifest (id + description only) at the end of agent content.
164
+ * This tells the Agent which skills are available for on-demand invocation via
165
+ * the SkillInvoke tool, without injecting the full skill bodies (to save tokens).
166
+ *
167
+ * Skills already statically injected via injectSkillContent() are excluded from
168
+ * the manifest to avoid duplication.
169
+ */
170
+ injectDynamicSkillManifest(agentContent, staticSkillIds) {
171
+ if (!this.skillRegistry) {
172
+ return agentContent;
173
+ }
174
+ const allSkills = this.skillRegistry.getManifest();
175
+ const availableSkills = allSkills.filter((s) => !staticSkillIds.includes(s.id));
176
+ if (availableSkills.length === 0) {
177
+ return agentContent;
178
+ }
179
+ const manifest = availableSkills
180
+ .map((s) => {
181
+ const desc = s.description?.trim() || s.name;
182
+ return `- \`${s.id}\`: ${desc}`;
183
+ })
184
+ .join('\n');
185
+ const section = `
186
+
187
+ ---
188
+
189
+ ## 可动态调用的 Skill 清单
190
+
191
+ 以下 Skill 可通过 \`SkillInvoke({ skill_id, reason })\` 工具动态调用,获取完整方法论内容:
192
+
193
+ ${manifest}
194
+
195
+ **使用建议**:
196
+ - 当你需要特定领域的方法论指导时(如 TDD、重构、性能优化),调用 \`SkillInvoke\`
197
+ - 调用前请说明 \`reason\`(为什么需要这个 Skill)
198
+ - 同一 Skill 在同一会话中只能调用一次(幂等保护)
199
+ - 单会话总调用次数限制:10 次
200
+ `;
201
+ return agentContent + section;
202
+ }
104
203
  }
105
204
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAElE,MAAM,OAAO,aAAa;IAGK;IAFrB,MAAM,GAA6B,IAAI,GAAG,EAAE,CAAC;IAErD,YAA6B,WAAoB;QAApB,gBAAW,GAAX,WAAW,CAAS;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC;IACrE,CAAC;IAEO,WAAW;QACjB,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE;gBACxB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,WAAW;aAClB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,GAAW,EAAE,MAAmB;QAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO;QAEhC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBAE/B,MAAM,IAAI,GACR,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;oBACnD,CAAC,CAAC,IAAI,CAAC,IAAI;oBACX,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACjC,MAAM,WAAW,GACf,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,MAAM,OAAO,GACX,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC5B,MAAM,KAAK,GAAa,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAC7C,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;oBAC5D,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ;wBAC5B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;wBAC1D,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,eAAe;oBAC/D,CAAC,CAAC,IAAI,CAAC,QAAQ;oBACf,CAAC,CAAC,MAAM,CAAC;gBACb,MAAM,KAAK,GACT,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBAE1D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;oBACpB,IAAI;oBACJ,WAAW;oBACX,QAAQ;oBACR,OAAO;oBACP,KAAK;oBACL,KAAK;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;oBAC9B,MAAM;oBACN,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,mCAAmC,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,gCAAgC;IAChC,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,sBAAsB;IACtB,MAAM;QACJ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"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"}
@@ -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 * from './types.js';
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;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/capability/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC"}
@@ -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 * from './types.js';
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;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC"}
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 interface Methodology {
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":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/capability/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC"}
@@ -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;;;;GAIG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/capability/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ export declare function registerExecutionsCommand(program: Command): void;
3
+ //# sourceMappingURL=executions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executions.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/executions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4GhE"}