@synergenius/flow-weaver-pack-weaver 0.9.0 → 0.9.4

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 (235) hide show
  1. package/dist/bot/ai-client.d.ts +22 -2
  2. package/dist/bot/ai-client.d.ts.map +1 -1
  3. package/dist/bot/ai-client.js +168 -20
  4. package/dist/bot/ai-client.js.map +1 -1
  5. package/dist/bot/ansi.d.ts +13 -0
  6. package/dist/bot/ansi.d.ts.map +1 -0
  7. package/dist/bot/ansi.js +13 -0
  8. package/dist/bot/ansi.js.map +1 -0
  9. package/dist/bot/assistant-core.d.ts +25 -0
  10. package/dist/bot/assistant-core.d.ts.map +1 -0
  11. package/dist/bot/assistant-core.js +272 -0
  12. package/dist/bot/assistant-core.js.map +1 -0
  13. package/dist/bot/assistant-tools.d.ts +10 -0
  14. package/dist/bot/assistant-tools.d.ts.map +1 -0
  15. package/dist/bot/assistant-tools.js +324 -0
  16. package/dist/bot/assistant-tools.js.map +1 -0
  17. package/dist/bot/audit-logger.d.ts.map +1 -1
  18. package/dist/bot/audit-logger.js +9 -5
  19. package/dist/bot/audit-logger.js.map +1 -1
  20. package/dist/bot/bot-manager.d.ts +49 -0
  21. package/dist/bot/bot-manager.d.ts.map +1 -0
  22. package/dist/bot/bot-manager.js +279 -0
  23. package/dist/bot/bot-manager.js.map +1 -0
  24. package/dist/bot/child-process-tracker.d.ts +6 -0
  25. package/dist/bot/child-process-tracker.d.ts.map +1 -0
  26. package/dist/bot/child-process-tracker.js +35 -0
  27. package/dist/bot/child-process-tracker.js.map +1 -0
  28. package/dist/bot/cli-provider.d.ts.map +1 -1
  29. package/dist/bot/cli-provider.js +13 -8
  30. package/dist/bot/cli-provider.js.map +1 -1
  31. package/dist/bot/conversation-store.d.ts +40 -0
  32. package/dist/bot/conversation-store.d.ts.map +1 -0
  33. package/dist/bot/conversation-store.js +182 -0
  34. package/dist/bot/conversation-store.js.map +1 -0
  35. package/dist/bot/error-classifier.d.ts +27 -0
  36. package/dist/bot/error-classifier.d.ts.map +1 -0
  37. package/dist/bot/error-classifier.js +71 -0
  38. package/dist/bot/error-classifier.js.map +1 -0
  39. package/dist/bot/error-guide.d.ts +5 -0
  40. package/dist/bot/error-guide.d.ts.map +1 -0
  41. package/dist/bot/error-guide.js +5 -0
  42. package/dist/bot/error-guide.js.map +1 -0
  43. package/dist/bot/knowledge-store.d.ts +17 -0
  44. package/dist/bot/knowledge-store.d.ts.map +1 -0
  45. package/dist/bot/knowledge-store.js +53 -0
  46. package/dist/bot/knowledge-store.js.map +1 -0
  47. package/dist/bot/paths.d.ts +11 -0
  48. package/dist/bot/paths.d.ts.map +1 -0
  49. package/dist/bot/paths.js +26 -0
  50. package/dist/bot/paths.js.map +1 -0
  51. package/dist/bot/retry-utils.d.ts +5 -0
  52. package/dist/bot/retry-utils.d.ts.map +1 -0
  53. package/dist/bot/retry-utils.js +5 -0
  54. package/dist/bot/retry-utils.js.map +1 -0
  55. package/dist/bot/runner.d.ts.map +1 -1
  56. package/dist/bot/runner.js +12 -1
  57. package/dist/bot/runner.js.map +1 -1
  58. package/dist/bot/safety.d.ts +10 -0
  59. package/dist/bot/safety.d.ts.map +1 -0
  60. package/dist/bot/safety.js +14 -0
  61. package/dist/bot/safety.js.map +1 -0
  62. package/dist/bot/session-state.d.ts.map +1 -1
  63. package/dist/bot/session-state.js +3 -1
  64. package/dist/bot/session-state.js.map +1 -1
  65. package/dist/bot/steering.js +2 -2
  66. package/dist/bot/steering.js.map +1 -1
  67. package/dist/bot/step-executor.d.ts +10 -5
  68. package/dist/bot/step-executor.d.ts.map +1 -1
  69. package/dist/bot/step-executor.js +252 -3
  70. package/dist/bot/step-executor.js.map +1 -1
  71. package/dist/bot/system-prompt.d.ts +1 -1
  72. package/dist/bot/system-prompt.d.ts.map +1 -1
  73. package/dist/bot/system-prompt.js +69 -43
  74. package/dist/bot/system-prompt.js.map +1 -1
  75. package/dist/bot/task-decomposer.d.ts +24 -0
  76. package/dist/bot/task-decomposer.d.ts.map +1 -0
  77. package/dist/bot/task-decomposer.js +75 -0
  78. package/dist/bot/task-decomposer.js.map +1 -0
  79. package/dist/bot/task-queue.d.ts +17 -4
  80. package/dist/bot/task-queue.d.ts.map +1 -1
  81. package/dist/bot/task-queue.js +83 -5
  82. package/dist/bot/task-queue.js.map +1 -1
  83. package/dist/bot/terminal-renderer.d.ts +60 -0
  84. package/dist/bot/terminal-renderer.d.ts.map +1 -0
  85. package/dist/bot/terminal-renderer.js +204 -0
  86. package/dist/bot/terminal-renderer.js.map +1 -0
  87. package/dist/bot/tool-registry.d.ts +24 -0
  88. package/dist/bot/tool-registry.d.ts.map +1 -0
  89. package/dist/bot/tool-registry.js +458 -0
  90. package/dist/bot/tool-registry.js.map +1 -0
  91. package/dist/bot/types.d.ts +7 -0
  92. package/dist/bot/types.d.ts.map +1 -1
  93. package/dist/bot/weaver-tools.d.ts +18 -0
  94. package/dist/bot/weaver-tools.d.ts.map +1 -0
  95. package/dist/bot/weaver-tools.js +124 -0
  96. package/dist/bot/weaver-tools.js.map +1 -0
  97. package/dist/cli-bridge.d.ts.map +1 -1
  98. package/dist/cli-bridge.js +5 -1
  99. package/dist/cli-bridge.js.map +1 -1
  100. package/dist/cli-handlers.d.ts +13 -1
  101. package/dist/cli-handlers.d.ts.map +1 -1
  102. package/dist/cli-handlers.js +615 -48
  103. package/dist/cli-handlers.js.map +1 -1
  104. package/dist/mcp-tools.js +2 -2
  105. package/dist/mcp-tools.js.map +1 -1
  106. package/dist/node-types/abort-task.d.ts.map +1 -1
  107. package/dist/node-types/abort-task.js +4 -3
  108. package/dist/node-types/abort-task.js.map +1 -1
  109. package/dist/node-types/agent-execute.d.ts +38 -0
  110. package/dist/node-types/agent-execute.d.ts.map +1 -0
  111. package/dist/node-types/agent-execute.js +252 -0
  112. package/dist/node-types/agent-execute.js.map +1 -0
  113. package/dist/node-types/bot-report.d.ts +5 -3
  114. package/dist/node-types/bot-report.d.ts.map +1 -1
  115. package/dist/node-types/bot-report.js +39 -7
  116. package/dist/node-types/bot-report.js.map +1 -1
  117. package/dist/node-types/build-context.d.ts +3 -3
  118. package/dist/node-types/build-context.d.ts.map +1 -1
  119. package/dist/node-types/build-context.js +108 -24
  120. package/dist/node-types/build-context.js.map +1 -1
  121. package/dist/node-types/detect-provider.d.ts +2 -2
  122. package/dist/node-types/detect-provider.d.ts.map +1 -1
  123. package/dist/node-types/detect-provider.js +3 -1
  124. package/dist/node-types/detect-provider.js.map +1 -1
  125. package/dist/node-types/exec-validate-retry.d.ts.map +1 -1
  126. package/dist/node-types/exec-validate-retry.js +43 -6
  127. package/dist/node-types/exec-validate-retry.js.map +1 -1
  128. package/dist/node-types/execute-plan.d.ts.map +1 -1
  129. package/dist/node-types/execute-plan.js +31 -8
  130. package/dist/node-types/execute-plan.js.map +1 -1
  131. package/dist/node-types/execute-target.d.ts.map +1 -1
  132. package/dist/node-types/execute-target.js +3 -1
  133. package/dist/node-types/execute-target.js.map +1 -1
  134. package/dist/node-types/fix-errors.d.ts.map +1 -1
  135. package/dist/node-types/fix-errors.js +21 -5
  136. package/dist/node-types/fix-errors.js.map +1 -1
  137. package/dist/node-types/genesis-observe.d.ts.map +1 -1
  138. package/dist/node-types/genesis-observe.js +3 -1
  139. package/dist/node-types/genesis-observe.js.map +1 -1
  140. package/dist/node-types/genesis-report.js +4 -1
  141. package/dist/node-types/genesis-report.js.map +1 -1
  142. package/dist/node-types/git-ops.d.ts.map +1 -1
  143. package/dist/node-types/git-ops.js +98 -4
  144. package/dist/node-types/git-ops.js.map +1 -1
  145. package/dist/node-types/index.d.ts +2 -0
  146. package/dist/node-types/index.d.ts.map +1 -1
  147. package/dist/node-types/index.js +2 -0
  148. package/dist/node-types/index.js.map +1 -1
  149. package/dist/node-types/load-config.d.ts +2 -2
  150. package/dist/node-types/load-config.d.ts.map +1 -1
  151. package/dist/node-types/load-config.js.map +1 -1
  152. package/dist/node-types/plan-task.d.ts.map +1 -1
  153. package/dist/node-types/plan-task.js +14 -2
  154. package/dist/node-types/plan-task.js.map +1 -1
  155. package/dist/node-types/read-workflow.js +8 -2
  156. package/dist/node-types/read-workflow.js.map +1 -1
  157. package/dist/node-types/receive-task.d.ts.map +1 -1
  158. package/dist/node-types/receive-task.js +35 -26
  159. package/dist/node-types/receive-task.js.map +1 -1
  160. package/dist/node-types/send-notify.js +2 -1
  161. package/dist/node-types/send-notify.js.map +1 -1
  162. package/dist/node-types/validate-gate.d.ts +18 -0
  163. package/dist/node-types/validate-gate.d.ts.map +1 -0
  164. package/dist/node-types/validate-gate.js +96 -0
  165. package/dist/node-types/validate-gate.js.map +1 -0
  166. package/dist/workflows/genesis-task.d.ts +20 -12
  167. package/dist/workflows/genesis-task.d.ts.map +1 -1
  168. package/dist/workflows/genesis-task.js +20 -12
  169. package/dist/workflows/genesis-task.js.map +1 -1
  170. package/dist/workflows/weaver-agent.d.ts +35 -0
  171. package/dist/workflows/weaver-agent.d.ts.map +1 -0
  172. package/dist/workflows/weaver-agent.js +777 -0
  173. package/dist/workflows/weaver-agent.js.map +1 -0
  174. package/dist/workflows/weaver-bot-batch.d.ts +19 -26
  175. package/dist/workflows/weaver-bot-batch.d.ts.map +1 -1
  176. package/dist/workflows/weaver-bot-batch.js +1043 -27
  177. package/dist/workflows/weaver-bot-batch.js.map +1 -1
  178. package/dist/workflows/weaver-bot.d.ts +21 -35
  179. package/dist/workflows/weaver-bot.d.ts.map +1 -1
  180. package/dist/workflows/weaver-bot.js +1119 -36
  181. package/dist/workflows/weaver-bot.js.map +1 -1
  182. package/flowweaver.manifest.json +21 -1
  183. package/package.json +5 -2
  184. package/src/bot/ai-client.ts +180 -19
  185. package/src/bot/ansi.ts +12 -0
  186. package/src/bot/assistant-core.ts +312 -0
  187. package/src/bot/assistant-tools.ts +318 -0
  188. package/src/bot/audit-logger.ts +6 -5
  189. package/src/bot/bot-manager.ts +293 -0
  190. package/src/bot/child-process-tracker.ts +40 -0
  191. package/src/bot/cli-provider.ts +13 -8
  192. package/src/bot/conversation-store.ts +222 -0
  193. package/src/bot/error-classifier.ts +90 -0
  194. package/src/bot/error-guide.ts +4 -0
  195. package/src/bot/knowledge-store.ts +59 -0
  196. package/src/bot/paths.ts +27 -0
  197. package/src/bot/retry-utils.ts +4 -0
  198. package/src/bot/runner.ts +12 -1
  199. package/src/bot/safety.ts +16 -0
  200. package/src/bot/session-state.ts +2 -1
  201. package/src/bot/steering.ts +2 -2
  202. package/src/bot/step-executor.ts +313 -5
  203. package/src/bot/system-prompt.ts +70 -47
  204. package/src/bot/task-decomposer.ts +100 -0
  205. package/src/bot/task-queue.ts +100 -8
  206. package/src/bot/terminal-renderer.ts +238 -0
  207. package/src/bot/tool-registry.ts +477 -0
  208. package/src/bot/types.ts +8 -0
  209. package/src/bot/weaver-tools.ts +134 -0
  210. package/src/cli-bridge.ts +7 -1
  211. package/src/cli-handlers.ts +624 -48
  212. package/src/mcp-tools.ts +2 -2
  213. package/src/node-types/abort-task.ts +5 -4
  214. package/src/node-types/agent-execute.ts +303 -0
  215. package/src/node-types/bot-report.ts +40 -9
  216. package/src/node-types/build-context.ts +112 -25
  217. package/src/node-types/detect-provider.ts +4 -3
  218. package/src/node-types/exec-validate-retry.ts +47 -8
  219. package/src/node-types/execute-plan.ts +32 -8
  220. package/src/node-types/execute-target.ts +2 -1
  221. package/src/node-types/fix-errors.ts +20 -5
  222. package/src/node-types/genesis-observe.ts +2 -1
  223. package/src/node-types/genesis-report.ts +1 -1
  224. package/src/node-types/git-ops.ts +93 -4
  225. package/src/node-types/index.ts +2 -0
  226. package/src/node-types/load-config.ts +3 -3
  227. package/src/node-types/plan-task.ts +15 -3
  228. package/src/node-types/read-workflow.ts +2 -2
  229. package/src/node-types/receive-task.ts +31 -26
  230. package/src/node-types/send-notify.ts +1 -1
  231. package/src/node-types/validate-gate.ts +112 -0
  232. package/src/workflows/genesis-task.ts +20 -12
  233. package/src/workflows/weaver-agent.ts +799 -0
  234. package/src/workflows/weaver-bot-batch.ts +1049 -27
  235. package/src/workflows/weaver-bot.ts +1123 -36
@@ -1 +1 @@
1
- {"version":3,"file":"weaver-bot.js","sourceRoot":"","sources":["../../src/workflows/weaver-bot.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,mCAAmC;AAgBnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAgB,EAChB,MAAkD,EAClD,eAA6B;IAE7B,0BAA0B;IAC1B,+BAA+B;IAC/B,wBAAwB;IACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"weaver-bot.js","sourceRoot":"","sources":["../../src/workflows/weaver-bot.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifestVersion": 2,
3
3
  "name": "@synergenius/flow-weaver-pack-weaver",
4
- "version": "0.9.0",
4
+ "version": "0.9.4",
5
5
  "description": "AI bot for Flow Weaver. Execute tasks, run workflows, evolve autonomously.",
6
6
  "engineVersion": ">=0.19.4",
7
7
  "categories": [
@@ -933,6 +933,26 @@
933
933
  {
934
934
  "name": "init",
935
935
  "description": "Create .weaver.json config with auto-detected provider"
936
+ },
937
+ {
938
+ "name": "assistant",
939
+ "description": "AI-powered assistant for managing bots and workflows"
940
+ },
941
+ {
942
+ "name": "examples",
943
+ "description": "Show example tasks and commands"
944
+ },
945
+ {
946
+ "name": "doctor",
947
+ "description": "Validate setup and check connectivity"
948
+ },
949
+ {
950
+ "name": "status",
951
+ "description": "Get bot session status"
952
+ },
953
+ {
954
+ "name": "audit",
955
+ "description": "Show audit log for a run"
936
956
  }
937
957
  ],
938
958
  "mcpEntrypoint": "dist/mcp-tools.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synergenius/flow-weaver-pack-weaver",
3
- "version": "0.9.0",
3
+ "version": "0.9.4",
4
4
  "description": "AI bot for Flow Weaver. Execute tasks, run workflows, evolve autonomously.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -62,9 +62,12 @@
62
62
  "test": "vitest run",
63
63
  "test:watch": "vitest",
64
64
  "typecheck": "tsc --noEmit",
65
- "release": "tsx scripts/release.ts"
65
+ "release": "tsx scripts/release.ts",
66
+ "dev": "npm run build && npm pack --pack-destination /tmp && echo '✓ Tarball ready at /tmp/synergenius-flow-weaver-pack-weaver-'$(node -p 'require(\"./package.json\").version')'.tgz'",
67
+ "dev:install": "npm run dev && node -e \"const p=process.argv[1]; if(!p){console.error('Usage: npm run dev:install -- /path/to/project');process.exit(1)} require('child_process').execSync('npm install --no-save /tmp/synergenius-flow-weaver-pack-weaver-'+require('./package.json').version+'.tgz',{cwd:p,stdio:'inherit'}); require('child_process').execSync('find '+p+' -name fw-exec-\\* -type f -delete',{stdio:'pipe'}); console.log('✓ Installed in '+p+' (cache cleaned)')\" --"
66
68
  },
67
69
  "devDependencies": {
70
+ "@synergenius/flow-weaver": "^0.22.8",
68
71
  "@types/node": "^25.3.5",
69
72
  "tsx": "^4.0.0",
70
73
  "typescript": "^5.0.0",
@@ -1,27 +1,70 @@
1
1
  import { execSync, spawn } from 'node:child_process';
2
- import { parseStreamLine, extractTextFromChunks } from './cli-stream-parser.js';
3
- import type { ProviderInfo, StreamChunk } from './types.js';
2
+ import { trackChild } from './child-process-tracker.js';
3
+ import type { ProviderInfo } from './types.js';
4
4
 
5
5
  // Strip CLAUDECODE from child env so nested claude CLI invocations work.
6
6
  const childEnv = { ...process.env };
7
7
  delete childEnv.CLAUDECODE;
8
8
 
9
- export function callCli(provider: string, prompt: string, model?: string): string {
10
- if (provider === 'claude-cli') {
11
- const modelFlag = model ? ` --model ${model}` : '';
12
- return execSync(`claude -p --output-format text${modelFlag}`, {
13
- input: prompt, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 300_000, env: childEnv,
14
- }).trim();
15
- }
9
+ /** JSON schema for Weaver plan responses enforced via --json-schema. */
10
+ const PLAN_JSON_SCHEMA = JSON.stringify({
11
+ type: 'object',
12
+ properties: {
13
+ steps: {
14
+ type: 'array',
15
+ items: {
16
+ type: 'object',
17
+ properties: {
18
+ id: { type: 'string' },
19
+ operation: { type: 'string' },
20
+ description: { type: 'string' },
21
+ args: { type: 'object' },
22
+ },
23
+ required: ['id', 'operation', 'description', 'args'],
24
+ },
25
+ },
26
+ summary: { type: 'string' },
27
+ },
28
+ required: ['steps', 'summary'],
29
+ });
30
+
31
+ export function callCli(provider: string, prompt: string, model?: string, systemPrompt?: string): string {
16
32
  if (provider === 'copilot-cli') {
17
33
  return execSync('copilot -p --silent --allow-all-tools', {
18
34
  input: prompt, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 300_000, env: childEnv,
19
35
  }).trim();
20
36
  }
21
- throw new Error(`Unknown CLI provider: ${provider}`);
37
+ throw new Error(`callCli only supports copilot-cli. Use callCliAsync for claude-cli.`);
38
+ }
39
+
40
+ /**
41
+ * Extract the model's response from the claude CLI --output-format json wrapper.
42
+ * With --json-schema: structured_output contains the validated JSON.
43
+ * Without: result contains the raw text.
44
+ */
45
+ export function extractCliJsonResult(raw: string): string {
46
+ const trimmed = raw.trim();
47
+ try {
48
+ const wrapper = JSON.parse(trimmed);
49
+ // Prefer structured_output (schema-validated JSON)
50
+ if (wrapper?.structured_output) {
51
+ return JSON.stringify(wrapper.structured_output);
52
+ }
53
+ // Fall back to result field (raw text)
54
+ if (typeof wrapper?.result === 'string' && wrapper.result.trim()) {
55
+ return wrapper.result;
56
+ }
57
+ // If wrapper has type: "result" but empty result, return the whole thing
58
+ if (wrapper?.type === 'result') {
59
+ return trimmed;
60
+ }
61
+ } catch {
62
+ // Not valid JSON wrapper — return raw output
63
+ }
64
+ return trimmed;
22
65
  }
23
66
 
24
- export async function callCliAsync(provider: string, prompt: string, model?: string): Promise<string> {
67
+ export async function callCliAsync(provider: string, prompt: string, model?: string, systemPrompt?: string): Promise<string> {
25
68
  if (provider === 'copilot-cli') {
26
69
  return callCli(provider, prompt, model);
27
70
  }
@@ -29,21 +72,38 @@ export async function callCliAsync(provider: string, prompt: string, model?: str
29
72
  throw new Error(`Unknown CLI provider: ${provider}`);
30
73
  }
31
74
 
32
- const args = ['-p', '--output-format', 'stream-json'];
75
+ // Flags matching the platform's proven CLI integration:
76
+ // --verbose + --output-format stream-json + --include-partial-messages for incremental streaming
77
+ // --json-schema for structured JSON output enforcement
78
+ // --dangerously-skip-permissions to prevent permission prompt hangs
79
+ const args = [
80
+ '-p', '--verbose',
81
+ '--output-format', 'stream-json',
82
+ '--include-partial-messages',
83
+ '--json-schema', PLAN_JSON_SCHEMA,
84
+ '--dangerously-skip-permissions',
85
+ ];
33
86
  if (model) args.push('--model', model);
87
+ if (systemPrompt) args.push('--system-prompt', systemPrompt);
34
88
 
35
89
  const child = spawn('claude', args, {
36
90
  stdio: ['pipe', 'pipe', 'pipe'],
37
91
  env: childEnv,
38
92
  });
93
+ trackChild(child);
39
94
 
40
95
  child.stdin.write(prompt);
41
96
  child.stdin.end();
42
97
 
43
98
  const timeout = setTimeout(() => child.kill('SIGTERM'), 300_000);
44
99
 
45
- const chunks: StreamChunk[] = [];
100
+ // Stream parsing matches platform's proven approach from cli-providers/claude.ts.
101
+ // ONLY content_block_delta is reliable for incremental text.
102
+ // result event contains structured_output for --json-schema responses.
103
+ let resultJson = '';
46
104
  let buffer = '';
105
+ let hasStreamedText = false;
106
+ let inThinkingBlock = false;
47
107
 
48
108
  try {
49
109
  for await (const data of child.stdout) {
@@ -52,14 +112,61 @@ export async function callCliAsync(provider: string, prompt: string, model?: str
52
112
  buffer = lines.pop()!;
53
113
 
54
114
  for (const line of lines) {
55
- const chunk = parseStreamLine(line);
56
- if (chunk) chunks.push(chunk);
115
+ if (!line.trim()) continue;
116
+ try {
117
+ let event = JSON.parse(line);
118
+
119
+ // Unwrap stream_event wrapper (--include-partial-messages wraps API events)
120
+ if (event.type === 'stream_event' && event.event) {
121
+ event = event.event;
122
+ }
123
+
124
+ // Thinking block start — print indicator once
125
+ if (event.type === 'content_block_start' && event.content_block?.type === 'thinking') {
126
+ inThinkingBlock = true;
127
+ process.stderr.write('\x1b[90m thinking...\x1b[0m');
128
+ }
129
+ // Incremental thinking — dim text, no emoji per token
130
+ else if (event.type === 'content_block_delta' && event.delta?.type === 'thinking_delta' && event.delta?.thinking) {
131
+ // Don't stream every thinking token — just show we're thinking
132
+ }
133
+ // Text block start
134
+ else if (event.type === 'content_block_start' && event.content_block?.type === 'text') {
135
+ if (inThinkingBlock) {
136
+ process.stderr.write('\n');
137
+ inThinkingBlock = false;
138
+ }
139
+ }
140
+ // Incremental text — stream to stderr (chatbot-like output)
141
+ else if (event.type === 'content_block_delta' && event.delta?.type === 'text_delta' && event.delta?.text) {
142
+ hasStreamedText = true;
143
+ process.stderr.write(`\x1b[36m${event.delta.text}\x1b[0m`);
144
+ }
145
+ // Block boundary — newline
146
+ else if (event.type === 'content_block_stop') {
147
+ if (inThinkingBlock) {
148
+ process.stderr.write('\n');
149
+ inThinkingBlock = false;
150
+ }
151
+ }
152
+ // Result event — contains structured_output with --json-schema
153
+ else if (event.type === 'result') {
154
+ resultJson = line;
155
+ // Newline after streamed text
156
+ if (hasStreamedText) process.stderr.write('\n');
157
+ }
158
+ } catch {
159
+ // Non-JSON line — ignore
160
+ }
57
161
  }
58
162
  }
59
163
 
164
+ // Process remaining buffer
60
165
  if (buffer.trim()) {
61
- const chunk = parseStreamLine(buffer);
62
- if (chunk) chunks.push(chunk);
166
+ try {
167
+ const event = JSON.parse(buffer);
168
+ if (event.type === 'result') resultJson = buffer;
169
+ } catch { /* ignore */ }
63
170
  }
64
171
  } finally {
65
172
  clearTimeout(timeout);
@@ -73,7 +180,7 @@ export async function callCliAsync(provider: string, prompt: string, model?: str
73
180
  child.on('error', reject);
74
181
  });
75
182
 
76
- return extractTextFromChunks(chunks);
183
+ return extractCliJsonResult(resultJson || buffer);
77
184
  }
78
185
 
79
186
  export async function callApi(
@@ -138,7 +245,10 @@ export async function callAI(
138
245
  userPrompt,
139
246
  );
140
247
  }
141
- return callCli(pInfo.type, systemPrompt + '\n\n' + userPrompt, pInfo.model);
248
+ // Async-only path: uses spawn() so Ctrl+C can kill child processes.
249
+ // Also uses --output-format json + --json-schema to enforce JSON output
250
+ // (eliminates hallucination entirely — no retry needed).
251
+ return callCliAsync(pInfo.type, userPrompt, pInfo.model, systemPrompt);
142
252
  }
143
253
 
144
254
  export function parseJsonResponse(text: string): Record<string, unknown> {
@@ -151,3 +261,54 @@ export function parseJsonResponse(text: string): Record<string, unknown> {
151
261
  if (match) return JSON.parse(match[0]);
152
262
  throw new Error(`Failed to parse AI response as JSON: ${text.slice(0, 200)}`);
153
263
  }
264
+
265
+ // ---------------------------------------------------------------------------
266
+ // Plan normalization — ensures AI responses conform to expected schema
267
+ // ---------------------------------------------------------------------------
268
+
269
+ export interface NormalizedPlan {
270
+ steps: Array<{ id: string; operation: string; description: string; args: Record<string, unknown> }>;
271
+ summary: string;
272
+ }
273
+
274
+ /**
275
+ * Normalize an AI-generated plan into a consistent { steps, summary } shape.
276
+ * Handles: wrapped plans, bare arrays, flat objects, missing fields.
277
+ */
278
+ export function normalizePlan(parsed: unknown): NormalizedPlan {
279
+ const obj = parsed as Record<string, unknown>;
280
+
281
+ // Case 1: already has steps array
282
+ let steps: unknown[] | undefined;
283
+ if (Array.isArray(obj?.steps)) {
284
+ steps = obj.steps;
285
+ }
286
+ // Case 2: wrapped in plan.steps
287
+ else if (obj?.plan && Array.isArray((obj.plan as Record<string, unknown>).steps)) {
288
+ steps = (obj.plan as Record<string, unknown>).steps as unknown[];
289
+ }
290
+ // Case 3: parsed is itself an array
291
+ else if (Array.isArray(parsed)) {
292
+ steps = parsed;
293
+ }
294
+
295
+ if (!steps) {
296
+ return { steps: [], summary: (obj?.summary as string) ?? 'No valid steps in AI response' };
297
+ }
298
+
299
+ // Normalize each step
300
+ const normalized = steps
301
+ .filter((s): s is Record<string, unknown> => s != null && typeof s === 'object' && !Array.isArray(s))
302
+ .map((step, idx) => ({
303
+ id: (step.id as string) ?? `step-${idx + 1}`,
304
+ operation: (step.operation as string) ?? '',
305
+ description: (step.description as string) ?? (step.operation as string) ?? `Step ${idx + 1}`,
306
+ args: (step.args as Record<string, unknown>) ?? {},
307
+ }))
308
+ .filter(s => s.operation !== ''); // Drop steps with no operation
309
+
310
+ return {
311
+ steps: normalized,
312
+ summary: (obj?.summary as string) ?? `${normalized.length} steps`,
313
+ };
314
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Shared ANSI color helpers — single source of truth.
3
+ */
4
+ export const c = {
5
+ green: (s: string) => `\x1b[32m${s}\x1b[0m`,
6
+ red: (s: string) => `\x1b[31m${s}\x1b[0m`,
7
+ yellow: (s: string) => `\x1b[33m${s}\x1b[0m`,
8
+ cyan: (s: string) => `\x1b[36m${s}\x1b[0m`,
9
+ dim: (s: string) => `\x1b[2m${s}\x1b[0m`,
10
+ bold: (s: string) => `\x1b[1m${s}\x1b[0m`,
11
+ redBold: (s: string) => `\x1b[1;31m${s}\x1b[0m`,
12
+ };