bobo-ai-cli 2.1.0 → 3.0.1

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 (260) hide show
  1. package/README.md +52 -9
  2. package/bundled-skills/CORE_SKILLS.txt +18 -0
  3. package/dist/agent.js +91 -51
  4. package/dist/agent.js.map +1 -1
  5. package/dist/agents/catalog.d.ts +40 -0
  6. package/dist/agents/catalog.js +172 -0
  7. package/dist/agents/catalog.js.map +1 -0
  8. package/dist/agents/index.d.ts +6 -0
  9. package/dist/agents/index.js +4 -0
  10. package/dist/agents/index.js.map +1 -0
  11. package/dist/agents/router.d.ts +43 -0
  12. package/dist/agents/router.js +87 -0
  13. package/dist/agents/router.js.map +1 -0
  14. package/dist/agents/spawn.d.ts +46 -0
  15. package/dist/agents/spawn.js +91 -0
  16. package/dist/agents/spawn.js.map +1 -0
  17. package/dist/autonomous.js +41 -1
  18. package/dist/autonomous.js.map +1 -1
  19. package/dist/cli.d.ts +8 -0
  20. package/dist/cli.js +669 -0
  21. package/dist/cli.js.map +1 -0
  22. package/dist/compactor.d.ts +49 -4
  23. package/dist/compactor.js +164 -17
  24. package/dist/compactor.js.map +1 -1
  25. package/dist/completer.js +2 -0
  26. package/dist/completer.js.map +1 -1
  27. package/dist/config.js +3 -2
  28. package/dist/config.js.map +1 -1
  29. package/dist/cost-tracker.js +36 -2
  30. package/dist/cost-tracker.js.map +1 -1
  31. package/dist/dream.d.ts +42 -0
  32. package/dist/dream.js +324 -0
  33. package/dist/dream.js.map +1 -0
  34. package/dist/hooks.d.ts +1 -1
  35. package/dist/hooks.js +7 -2
  36. package/dist/hooks.js.map +1 -1
  37. package/dist/index.js +10 -1136
  38. package/dist/index.js.map +1 -1
  39. package/dist/insight.js +4 -11
  40. package/dist/insight.js.map +1 -1
  41. package/dist/knowledge.d.ts +13 -0
  42. package/dist/knowledge.js +16 -4
  43. package/dist/knowledge.js.map +1 -1
  44. package/dist/mcp-client.js +59 -41
  45. package/dist/mcp-client.js.map +1 -1
  46. package/dist/memory.d.ts +4 -0
  47. package/dist/memory.js +30 -18
  48. package/dist/memory.js.map +1 -1
  49. package/dist/project.js +2 -1
  50. package/dist/project.js.map +1 -1
  51. package/dist/providers.js +1 -1
  52. package/dist/providers.js.map +1 -1
  53. package/dist/repl.d.ts +16 -0
  54. package/dist/repl.js +704 -0
  55. package/dist/repl.js.map +1 -0
  56. package/dist/sessions.js +59 -3
  57. package/dist/sessions.js.map +1 -1
  58. package/dist/skill-router.js +2 -2
  59. package/dist/skill-router.js.map +1 -1
  60. package/dist/skills/composer.d.ts +18 -0
  61. package/dist/skills/composer.js +59 -0
  62. package/dist/skills/composer.js.map +1 -0
  63. package/dist/skills/index.d.ts +3 -0
  64. package/dist/skills/index.js +3 -0
  65. package/dist/skills/index.js.map +1 -0
  66. package/dist/skills/loader.d.ts +12 -0
  67. package/dist/skills/loader.js +150 -0
  68. package/dist/skills/loader.js.map +1 -0
  69. package/dist/skills/types.d.ts +28 -0
  70. package/dist/skills/types.js +9 -0
  71. package/dist/skills/types.js.map +1 -0
  72. package/dist/skills.d.ts +1 -0
  73. package/dist/skills.js +10 -8
  74. package/dist/skills.js.map +1 -1
  75. package/dist/state/artifacts.d.ts +71 -0
  76. package/dist/state/artifacts.js +133 -0
  77. package/dist/state/artifacts.js.map +1 -0
  78. package/dist/state/index.d.ts +9 -0
  79. package/dist/state/index.js +7 -0
  80. package/dist/state/index.js.map +1 -0
  81. package/dist/state/manager.d.ts +89 -0
  82. package/dist/state/manager.js +132 -0
  83. package/dist/state/manager.js.map +1 -0
  84. package/dist/state/project-memory.d.ts +24 -0
  85. package/dist/state/project-memory.js +83 -0
  86. package/dist/state/project-memory.js.map +1 -0
  87. package/dist/state/recovery.d.ts +24 -0
  88. package/dist/state/recovery.js +95 -0
  89. package/dist/state/recovery.js.map +1 -0
  90. package/dist/statusbar.d.ts +1 -0
  91. package/dist/statusbar.js +12 -1
  92. package/dist/statusbar.js.map +1 -1
  93. package/dist/structured/loader.js +4 -2
  94. package/dist/structured/loader.js.map +1 -1
  95. package/dist/sub-agent-runner.d.ts +1 -0
  96. package/dist/sub-agent-runner.js +32 -5
  97. package/dist/sub-agent-runner.js.map +1 -1
  98. package/dist/sub-agents.d.ts +19 -1
  99. package/dist/sub-agents.js +142 -5
  100. package/dist/sub-agents.js.map +1 -1
  101. package/dist/tool-governance.d.ts +77 -0
  102. package/dist/tool-governance.js +366 -0
  103. package/dist/tool-governance.js.map +1 -0
  104. package/dist/tools/advanced.js +3 -2
  105. package/dist/tools/advanced.js.map +1 -1
  106. package/dist/tools/browser.js +2 -2
  107. package/dist/tools/browser.js.map +1 -1
  108. package/dist/tools/claude-code.js +2 -2
  109. package/dist/tools/claude-code.js.map +1 -1
  110. package/dist/tools/index.js +36 -12
  111. package/dist/tools/index.js.map +1 -1
  112. package/dist/tools/process-manager.js +2 -2
  113. package/dist/tools/process-manager.js.map +1 -1
  114. package/dist/ui/hud.d.ts +25 -0
  115. package/dist/ui/hud.js +67 -0
  116. package/dist/ui/hud.js.map +1 -0
  117. package/dist/verification-agent.d.ts +46 -0
  118. package/dist/verification-agent.js +533 -0
  119. package/dist/verification-agent.js.map +1 -0
  120. package/dist/watcher.js +2 -2
  121. package/dist/watcher.js.map +1 -1
  122. package/dist/web.js +1 -1
  123. package/dist/web.js.map +1 -1
  124. package/dist/workflows/ask.d.ts +13 -0
  125. package/dist/workflows/ask.js +66 -0
  126. package/dist/workflows/ask.js.map +1 -0
  127. package/dist/workflows/index.d.ts +5 -0
  128. package/dist/workflows/index.js +6 -0
  129. package/dist/workflows/index.js.map +1 -0
  130. package/dist/workflows/interview.d.ts +11 -0
  131. package/dist/workflows/interview.js +36 -0
  132. package/dist/workflows/interview.js.map +1 -0
  133. package/dist/workflows/plan.d.ts +13 -0
  134. package/dist/workflows/plan.js +34 -0
  135. package/dist/workflows/plan.js.map +1 -0
  136. package/dist/workflows/team.d.ts +17 -0
  137. package/dist/workflows/team.js +86 -0
  138. package/dist/workflows/team.js.map +1 -0
  139. package/dist/workflows/verify.d.ts +11 -0
  140. package/dist/workflows/verify.js +21 -0
  141. package/dist/workflows/verify.js.map +1 -0
  142. package/package.json +18 -5
  143. package/bundled-skills/Skill_Seekers/SKILL.md +0 -1722
  144. package/bundled-skills/ab-test-setup/SKILL.md +0 -557
  145. package/bundled-skills/adversarial-verification/SKILL.md +0 -95
  146. package/bundled-skills/agent-sdk-dev/SKILL.md +0 -238
  147. package/bundled-skills/agent-tools/SKILL.md +0 -136
  148. package/bundled-skills/analytics-tracking/SKILL.md +0 -597
  149. package/bundled-skills/artifacts-builder/SKILL.md +0 -89
  150. package/bundled-skills/asana/SKILL.md +0 -13
  151. package/bundled-skills/brand-voice/SKILL.md +0 -481
  152. package/bundled-skills/browser-use/SKILL.md +0 -419
  153. package/bundled-skills/cache-optimization-skill/SKILL.md +0 -179
  154. package/bundled-skills/canvas-design/SKILL.md +0 -147
  155. package/bundled-skills/citation-validator/SKILL.md +0 -203
  156. package/bundled-skills/clangd-lsp/SKILL.md +0 -52
  157. package/bundled-skills/code-simplifier/SKILL.md +0 -13
  158. package/bundled-skills/commit-commands/SKILL.md +0 -258
  159. package/bundled-skills/competitor-alternatives/SKILL.md +0 -795
  160. package/bundled-skills/content-atomizer/SKILL.md +0 -910
  161. package/bundled-skills/content-research-writer/SKILL.md +0 -605
  162. package/bundled-skills/context7/SKILL.md +0 -13
  163. package/bundled-skills/copy-editing/SKILL.md +0 -494
  164. package/bundled-skills/copywriting/SKILL.md +0 -510
  165. package/bundled-skills/csharp-lsp/SKILL.md +0 -40
  166. package/bundled-skills/decision-making-framework/SKILL.md +0 -154
  167. package/bundled-skills/deep-research/SKILL.md +0 -236
  168. package/bundled-skills/developer-growth-analysis/SKILL.md +0 -335
  169. package/bundled-skills/direct-response-copy/SKILL.md +0 -2336
  170. package/bundled-skills/docker-expert/SKILL.md +0 -229
  171. package/bundled-skills/document-skills/SKILL.md +0 -13
  172. package/bundled-skills/documentation-expert/SKILL.md +0 -126
  173. package/bundled-skills/email-sequence/SKILL.md +0 -1061
  174. package/bundled-skills/email-sequences/SKILL.md +0 -910
  175. package/bundled-skills/example-plugin/SKILL.md +0 -72
  176. package/bundled-skills/explanatory-output-style/SKILL.md +0 -82
  177. package/bundled-skills/feature-dev/SKILL.md +0 -458
  178. package/bundled-skills/file-organizer/SKILL.md +0 -466
  179. package/bundled-skills/firebase.disabled/SKILL.md +0 -13
  180. package/bundled-skills/form-cro/SKILL.md +0 -488
  181. package/bundled-skills/free-tool-strategy/SKILL.md +0 -636
  182. package/bundled-skills/frontend-design/SKILL.md +0 -41
  183. package/bundled-skills/frontend-design-offical/SKILL.md +0 -55
  184. package/bundled-skills/gitlab/SKILL.md +0 -13
  185. package/bundled-skills/gopls-lsp/SKILL.md +0 -32
  186. package/bundled-skills/got-controller/SKILL.md +0 -218
  187. package/bundled-skills/greptile/SKILL.md +0 -72
  188. package/bundled-skills/hookify/SKILL.md +0 -376
  189. package/bundled-skills/image-editor/SKILL.md +0 -189
  190. package/bundled-skills/image-enhancer/SKILL.md +0 -109
  191. package/bundled-skills/jdtls-lsp/SKILL.md +0 -49
  192. package/bundled-skills/json-canvas/SKILL.md +0 -654
  193. package/bundled-skills/keyword-research/SKILL.md +0 -559
  194. package/bundled-skills/kotlin-lsp/SKILL.md +0 -28
  195. package/bundled-skills/laravel-boost/SKILL.md +0 -13
  196. package/bundled-skills/launch-strategy/SKILL.md +0 -394
  197. package/bundled-skills/lead-magnet/SKILL.md +0 -393
  198. package/bundled-skills/learning-output-style/SKILL.md +0 -106
  199. package/bundled-skills/linear/SKILL.md +0 -13
  200. package/bundled-skills/lua-lsp/SKILL.md +0 -47
  201. package/bundled-skills/marketing-ideas/SKILL.md +0 -720
  202. package/bundled-skills/marketing-psychology/SKILL.md +0 -534
  203. package/bundled-skills/mcp-builder/SKILL.md +0 -369
  204. package/bundled-skills/meeting-insights-analyzer/SKILL.md +0 -347
  205. package/bundled-skills/memory-evolution-system/SKILL.md +0 -172
  206. package/bundled-skills/multi-lens-thinking/SKILL.md +0 -407
  207. package/bundled-skills/nano-banana-pro/SKILL.md +0 -116
  208. package/bundled-skills/newsletter/SKILL.md +0 -736
  209. package/bundled-skills/notebooklm/SKILL.md +0 -296
  210. package/bundled-skills/obsidian-bases/SKILL.md +0 -634
  211. package/bundled-skills/obsidian-markdown/SKILL.md +0 -651
  212. package/bundled-skills/onboarding-cro/SKILL.md +0 -494
  213. package/bundled-skills/page-cro/SKILL.md +0 -379
  214. package/bundled-skills/paid-ads/SKILL.md +0 -624
  215. package/bundled-skills/paywall-upgrade-cro/SKILL.md +0 -651
  216. package/bundled-skills/php-lsp/SKILL.md +0 -36
  217. package/bundled-skills/playwright/SKILL.md +0 -13
  218. package/bundled-skills/plugin-dev/SKILL.md +0 -434
  219. package/bundled-skills/popup-cro/SKILL.md +0 -520
  220. package/bundled-skills/positioning-angles/SKILL.md +0 -330
  221. package/bundled-skills/pr-review-toolkit/SKILL.md +0 -359
  222. package/bundled-skills/pricing-strategy/SKILL.md +0 -777
  223. package/bundled-skills/proactive-self-improving/SKILL.md +0 -435
  224. package/bundled-skills/programmatic-seo/SKILL.md +0 -714
  225. package/bundled-skills/pyright-lsp/SKILL.md +0 -43
  226. package/bundled-skills/quality-assurance-framework/SKILL.md +0 -168
  227. package/bundled-skills/question-refiner/SKILL.md +0 -160
  228. package/bundled-skills/ralph-loop/SKILL.md +0 -205
  229. package/bundled-skills/refactoring-expert/SKILL.md +0 -103
  230. package/bundled-skills/referral-program/SKILL.md +0 -668
  231. package/bundled-skills/research-executor/SKILL.md +0 -164
  232. package/bundled-skills/review-with-security/SKILL.md +0 -12
  233. package/bundled-skills/rust-analyzer-lsp/SKILL.md +0 -50
  234. package/bundled-skills/schema-markup/SKILL.md +0 -647
  235. package/bundled-skills/security-audit-expert/SKILL.md +0 -124
  236. package/bundled-skills/security-expert/SKILL.md +0 -140
  237. package/bundled-skills/security-guidance/SKILL.md +0 -13
  238. package/bundled-skills/seedance-prompt/SKILL.md +0 -139
  239. package/bundled-skills/self-evolution/SKILL.md +0 -1160
  240. package/bundled-skills/seo-audit/SKILL.md +0 -432
  241. package/bundled-skills/seo-content/SKILL.md +0 -787
  242. package/bundled-skills/serena/SKILL.md +0 -13
  243. package/bundled-skills/signup-flow-cro/SKILL.md +0 -409
  244. package/bundled-skills/skill-manager/SKILL.md +0 -226
  245. package/bundled-skills/skill-share/SKILL.md +0 -98
  246. package/bundled-skills/slack/SKILL.md +0 -13
  247. package/bundled-skills/social-content/SKILL.md +0 -878
  248. package/bundled-skills/spec-flow-skill/SKILL.md +0 -124
  249. package/bundled-skills/stripe/SKILL.md +0 -13
  250. package/bundled-skills/supabase/SKILL.md +0 -13
  251. package/bundled-skills/swift-lsp/SKILL.md +0 -40
  252. package/bundled-skills/synthesizer/SKILL.md +0 -236
  253. package/bundled-skills/template-skill/SKILL.md +0 -16
  254. package/bundled-skills/theme-factory/SKILL.md +0 -72
  255. package/bundled-skills/tiktok-research/SKILL.md +0 -208
  256. package/bundled-skills/typescript-lsp/SKILL.md +0 -36
  257. package/bundled-skills/ui-ux-pro-max/SKILL.md +0 -247
  258. package/bundled-skills/visual-prompt-engineer/SKILL.md +0 -102
  259. package/bundled-skills/webapp-testing/SKILL.md +0 -111
  260. package/bundled-skills/wide-research/SKILL.md +0 -191
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Agent Router — 任务类型 → agent/模型映射
3
+ *
4
+ * 根据任务描述自动选择最合适的 agent 角色
5
+ */
6
+ import type { AgentDefinition } from './catalog.js';
7
+ import { AGENT_CATALOG } from './catalog.js';
8
+ export type AgentRole = keyof typeof AGENT_CATALOG;
9
+ /**
10
+ * 任务路由规则
11
+ *
12
+ * 优先级:
13
+ * 1. 显式关键词匹配(test, review, plan, verify, search, doc)
14
+ * 2. 任务复杂度判断(简单 → explore, 复杂 → planner)
15
+ * 3. 默认 executor
16
+ */
17
+ export declare function routeTask(task: string): AgentRole;
18
+ /**
19
+ * 根据任务选择模型层级
20
+ *
21
+ * 规则:
22
+ * - 简单任务(lookup, search, doc)→ haiku
23
+ * - 标准任务(implement, debug, test)→ sonnet
24
+ * - 复杂任务(architecture, review, plan)→ opus
25
+ */
26
+ export declare function selectModel(task: string, role: AgentRole): 'haiku' | 'sonnet' | 'opus';
27
+ /**
28
+ * 路由决策结果
29
+ */
30
+ export interface RoutingDecision {
31
+ role: AgentRole;
32
+ model: 'haiku' | 'sonnet' | 'opus';
33
+ agent: AgentDefinition;
34
+ reason: string;
35
+ }
36
+ /**
37
+ * 完整路由决策(包含原因)
38
+ */
39
+ export declare function routeTaskWithReason(task: string): RoutingDecision;
40
+ /**
41
+ * 批量路由(用于 team 模式)
42
+ */
43
+ export declare function routeTeamTasks(tasks: string[]): RoutingDecision[];
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Agent Router — 任务类型 → agent/模型映射
3
+ *
4
+ * 根据任务描述自动选择最合适的 agent 角色
5
+ */
6
+ import { AGENT_CATALOG } from './catalog.js';
7
+ /**
8
+ * 任务路由规则
9
+ *
10
+ * 优先级:
11
+ * 1. 显式关键词匹配(test, review, plan, verify, search, doc)
12
+ * 2. 任务复杂度判断(简单 → explore, 复杂 → planner)
13
+ * 3. 默认 executor
14
+ */
15
+ export function routeTask(task) {
16
+ const lower = task.toLowerCase();
17
+ // 显式关键词匹配
18
+ if (lower.includes('test') || lower.includes('测试'))
19
+ return 'tester';
20
+ if (lower.includes('review') || lower.includes('审查') || lower.includes('检查'))
21
+ return 'reviewer';
22
+ if (lower.includes('plan') || lower.includes('规划') || lower.includes('计划'))
23
+ return 'planner';
24
+ if (lower.includes('verify') || lower.includes('验证') || lower.includes('确认'))
25
+ return 'verifier';
26
+ if (lower.includes('search') || lower.includes('find') || lower.includes('查找') || lower.includes('搜索'))
27
+ return 'explore';
28
+ if (lower.includes('doc') || lower.includes('文档') || lower.includes('readme'))
29
+ return 'writer';
30
+ if (lower.includes('challenge') || lower.includes('critique') || lower.includes('挑战') || lower.includes('质疑'))
31
+ return 'critic';
32
+ // 复杂度判断
33
+ const complexityIndicators = [
34
+ 'refactor', '重构',
35
+ 'architecture', '架构',
36
+ 'design', '设计',
37
+ 'multiple', '多个',
38
+ 'across', '跨',
39
+ ];
40
+ const isComplex = complexityIndicators.some(indicator => lower.includes(indicator));
41
+ if (isComplex)
42
+ return 'planner';
43
+ // 默认 executor
44
+ return 'executor';
45
+ }
46
+ /**
47
+ * 根据任务选择模型层级
48
+ *
49
+ * 规则:
50
+ * - 简单任务(lookup, search, doc)→ haiku
51
+ * - 标准任务(implement, debug, test)→ sonnet
52
+ * - 复杂任务(architecture, review, plan)→ opus
53
+ */
54
+ export function selectModel(task, role) {
55
+ const agent = AGENT_CATALOG[role];
56
+ const lower = task.toLowerCase();
57
+ // 显式复杂度标记
58
+ if (lower.includes('complex') || lower.includes('复杂'))
59
+ return 'opus';
60
+ if (lower.includes('simple') || lower.includes('简单'))
61
+ return 'haiku';
62
+ // 使用 agent 默认模型
63
+ return agent.model;
64
+ }
65
+ /**
66
+ * 完整路由决策(包含原因)
67
+ */
68
+ export function routeTaskWithReason(task) {
69
+ const role = routeTask(task);
70
+ const model = selectModel(task, role);
71
+ const agent = AGENT_CATALOG[role];
72
+ let reason = `Task matched role: ${role}`;
73
+ if (task.toLowerCase().includes(role)) {
74
+ reason = `Explicit keyword match: "${role}"`;
75
+ }
76
+ else if (role === 'executor') {
77
+ reason = 'Default role for implementation tasks';
78
+ }
79
+ return { role, model, agent, reason };
80
+ }
81
+ /**
82
+ * 批量路由(用于 team 模式)
83
+ */
84
+ export function routeTeamTasks(tasks) {
85
+ return tasks.map(routeTaskWithReason);
86
+ }
87
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/agents/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Agent Spawn — 基于新 catalog 的 agent 生成
3
+ *
4
+ * 桥接 agents/catalog + agents/router → sub-agents
5
+ */
6
+ import { type AgentDefinition } from './catalog.js';
7
+ import { type RoutingDecision } from './router.js';
8
+ export interface SpawnRequest {
9
+ task: string;
10
+ role?: string;
11
+ model?: string;
12
+ cwd?: string;
13
+ }
14
+ export interface SpawnResult {
15
+ decision: RoutingDecision;
16
+ agent: AgentDefinition;
17
+ systemPrompt: string;
18
+ }
19
+ /**
20
+ * 根据任务准备 spawn 参数
21
+ */
22
+ export declare function prepareSpawn(request: SpawnRequest): SpawnResult;
23
+ /**
24
+ * 列出所有可 spawn 的角色
25
+ */
26
+ export declare function listSpawnableRoles(): Array<{
27
+ role: string;
28
+ description: string;
29
+ model: string;
30
+ }>;
31
+ /**
32
+ * 实际 spawn 一个 sub-agent 并返回 agent ID
33
+ *
34
+ * 桥接到 sub-agents.ts 的真实执行
35
+ */
36
+ export declare function spawnAgent(request: SpawnRequest): Promise<{
37
+ id: string;
38
+ error?: string;
39
+ }>;
40
+ /**
41
+ * Spawn multiple agents in parallel for team workflows
42
+ */
43
+ export declare function spawnAgentTeam(requests: SpawnRequest[]): Promise<Array<{
44
+ id: string;
45
+ error?: string;
46
+ }>>;
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Agent Spawn — 基于新 catalog 的 agent 生成
3
+ *
4
+ * 桥接 agents/catalog + agents/router → sub-agents
5
+ */
6
+ import { AGENT_CATALOG } from './catalog.js';
7
+ import { routeTaskWithReason } from './router.js';
8
+ /**
9
+ * 根据任务准备 spawn 参数
10
+ */
11
+ export function prepareSpawn(request) {
12
+ const decision = request.role
13
+ ? {
14
+ role: request.role,
15
+ model: AGENT_CATALOG[request.role]?.model ?? 'sonnet',
16
+ agent: AGENT_CATALOG[request.role],
17
+ reason: `Explicit role: ${request.role}`,
18
+ }
19
+ : routeTaskWithReason(request.task);
20
+ const agent = decision.agent;
21
+ const systemPrompt = buildAgentSystemPrompt(agent, request.task);
22
+ return { decision, agent, systemPrompt };
23
+ }
24
+ /**
25
+ * 构建 agent system prompt
26
+ */
27
+ function buildAgentSystemPrompt(agent, task) {
28
+ const boundaries = agent.boundaries.map(b => `- ${b}`).join('\n');
29
+ const useCases = agent.useCases.map(u => `- ${u}`).join('\n');
30
+ return `# Role: ${agent.role} (${agent.description})
31
+
32
+ ## What you do
33
+ ${useCases}
34
+
35
+ ## What you DON'T do
36
+ ${boundaries}
37
+
38
+ ## Task
39
+ ${task}
40
+
41
+ ## Rules
42
+ - Stay within your role boundaries
43
+ - Report completion status clearly
44
+ - If you encounter something outside your role, say so
45
+ - Be concise and direct
46
+ `;
47
+ }
48
+ /**
49
+ * 列出所有可 spawn 的角色
50
+ */
51
+ export function listSpawnableRoles() {
52
+ return Object.entries(AGENT_CATALOG).map(([role, def]) => ({
53
+ role,
54
+ description: def.description,
55
+ model: def.model,
56
+ }));
57
+ }
58
+ /**
59
+ * 实际 spawn 一个 sub-agent 并返回 agent ID
60
+ *
61
+ * 桥接到 sub-agents.ts 的真实执行
62
+ */
63
+ export async function spawnAgent(request) {
64
+ const { spawnSubAgent } = await import('../sub-agents.js');
65
+ const { decision, agent, systemPrompt } = prepareSpawn(request);
66
+ const fullTask = `${systemPrompt}\n\n---\n\n${request.task}`;
67
+ // Map agent role to sub-agent role type
68
+ // Most agents map to 'worker', but some have special handling
69
+ let subAgentRole;
70
+ switch (decision.role) {
71
+ case 'explore':
72
+ subAgentRole = 'explore';
73
+ break;
74
+ case 'planner':
75
+ subAgentRole = 'plan';
76
+ break;
77
+ case 'verifier':
78
+ subAgentRole = 'verify';
79
+ break;
80
+ default:
81
+ subAgentRole = 'worker';
82
+ }
83
+ return spawnSubAgent(fullTask, subAgentRole);
84
+ }
85
+ /**
86
+ * Spawn multiple agents in parallel for team workflows
87
+ */
88
+ export async function spawnAgentTeam(requests) {
89
+ return Promise.all(requests.map(req => spawnAgent(req)));
90
+ }
91
+ //# sourceMappingURL=spawn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../src/agents/spawn.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,10 @@ import { writeFileSync, existsSync, mkdirSync } from 'node:fs';
13
13
  import { join } from 'node:path';
14
14
  import { runAgent } from './agent.js';
15
15
  import { getConfigDir } from './config.js';
16
- import { printLine, printError, printWarning } from './ui.js';
16
+ import { printLine, printSuccess, printError, printWarning } from './ui.js';
17
17
  import { Spinner } from './spinner.js';
18
+ import { runVerification, formatVerificationResult } from './verification-agent.js';
19
+ import { runDream, shouldAutoDream } from './dream.js';
18
20
  export async function runAutonomous(options) {
19
21
  const { task, model, effort, permissionMode = 'auto', // Auto-approve by default in run mode
20
22
  maxIterations = 5, logFile, } = options;
@@ -79,6 +81,27 @@ TASK: ${task}`;
79
81
  if (result.response.includes('TASK COMPLETE')) {
80
82
  printLine(chalk.green('\n✅ Task completed!'));
81
83
  log.push('\n## Result: COMPLETE');
84
+ // Run verification after task completion
85
+ printLine(chalk.dim('\n🔍 Running verification...'));
86
+ try {
87
+ const verifyResult = await runVerification(task, result.response, { cwd: process.cwd() });
88
+ log.push('\n## Verification Results');
89
+ log.push(formatVerificationResult(verifyResult));
90
+ if (verifyResult.verdict === 'PASS') {
91
+ printSuccess('Verification: PASS');
92
+ }
93
+ else if (verifyResult.verdict === 'FAIL') {
94
+ printWarning(`Verification: FAIL (${verifyResult.summary})`);
95
+ }
96
+ else {
97
+ printLine(chalk.yellow(`Verification: PARTIAL (${verifyResult.summary})`));
98
+ }
99
+ }
100
+ catch (e) {
101
+ const errMsg = e.message;
102
+ log.push(`\nVerification error: ${errMsg}`);
103
+ printWarning(`Verification failed: ${errMsg}`);
104
+ }
82
105
  break;
83
106
  }
84
107
  retries = 0; // Reset retry counter on success
@@ -109,6 +132,23 @@ TASK: ${task}`;
109
132
  writeFileSync(logPath, log.join('\n'));
110
133
  // Cleanup
111
134
  process.removeListener('SIGINT', abortHandler);
135
+ // Run dream mode if needed
136
+ if (!aborted && shouldAutoDream()) {
137
+ printLine(chalk.dim('\n🌙 Consolidating memories...'));
138
+ try {
139
+ const dreamResult = await runDream({ verbose: false });
140
+ if (dreamResult.insights.length > 0) {
141
+ log.push('\n## Dream Mode Consolidation');
142
+ log.push(dreamResult.summary);
143
+ printSuccess(`Extracted ${dreamResult.insights.length} insights`);
144
+ }
145
+ }
146
+ catch (e) {
147
+ const errMsg = e.message;
148
+ log.push(`\nDream mode error: ${errMsg}`);
149
+ // Non-fatal, continue
150
+ }
151
+ }
112
152
  printLine();
113
153
  printLine(chalk.dim('─'.repeat(60)));
114
154
  printLine();
@@ -1 +1 @@
1
- {"version":3,"file":"autonomous.js","sourceRoot":"","sources":["../src/autonomous.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autonomous.js","sourceRoot":"","sources":["../src/autonomous.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * CLI command registration — all commander subcommands.
3
+ */
4
+ import { Command } from 'commander';
5
+ /**
6
+ * Register all CLI subcommands on the program.
7
+ */
8
+ export declare function registerCommands(program: Command): void;