@orion-agents/orion-code 0.1.4 → 0.1.6

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 (540) hide show
  1. package/README.md +73 -38
  2. package/README.zh-CN.md +32 -10
  3. package/dist/agents/coder.d.ts.map +1 -1
  4. package/dist/agents/coder.js.map +1 -1
  5. package/dist/agents/fork.d.ts +12 -4
  6. package/dist/agents/fork.d.ts.map +1 -1
  7. package/dist/agents/fork.js +28 -32
  8. package/dist/agents/fork.js.map +1 -1
  9. package/dist/agents/leader.d.ts.map +1 -1
  10. package/dist/agents/leader.js.map +1 -1
  11. package/dist/agents/worker-pool.d.ts.map +1 -1
  12. package/dist/agents/worker-pool.js +38 -29
  13. package/dist/agents/worker-pool.js.map +1 -1
  14. package/dist/cli.d.ts +1 -1
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +4 -1
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands/context-commands.d.ts +4 -0
  19. package/dist/commands/context-commands.d.ts.map +1 -0
  20. package/dist/commands/context-commands.js +74 -0
  21. package/dist/commands/context-commands.js.map +1 -0
  22. package/dist/commands/context-tool-command-handlers.d.ts +13 -0
  23. package/dist/commands/context-tool-command-handlers.d.ts.map +1 -0
  24. package/dist/commands/context-tool-command-handlers.js +617 -0
  25. package/dist/commands/context-tool-command-handlers.js.map +1 -0
  26. package/dist/commands/core-command-handlers.d.ts +12 -0
  27. package/dist/commands/core-command-handlers.d.ts.map +1 -0
  28. package/dist/commands/core-command-handlers.js +805 -0
  29. package/dist/commands/core-command-handlers.js.map +1 -0
  30. package/dist/commands/diagnostic-command-handlers.d.ts +14 -0
  31. package/dist/commands/diagnostic-command-handlers.d.ts.map +1 -0
  32. package/dist/commands/diagnostic-command-handlers.js +1043 -0
  33. package/dist/commands/diagnostic-command-handlers.js.map +1 -0
  34. package/dist/commands/diagnostic-commands.d.ts +4 -0
  35. package/dist/commands/diagnostic-commands.d.ts.map +1 -0
  36. package/dist/commands/diagnostic-commands.js +175 -0
  37. package/dist/commands/diagnostic-commands.js.map +1 -0
  38. package/dist/commands/index.d.ts +9 -10
  39. package/dist/commands/index.d.ts.map +1 -1
  40. package/dist/commands/index.js +42 -3563
  41. package/dist/commands/index.js.map +1 -1
  42. package/dist/commands/legacy-commands.d.ts +4 -0
  43. package/dist/commands/legacy-commands.d.ts.map +1 -0
  44. package/dist/commands/legacy-commands.js +44 -0
  45. package/dist/commands/legacy-commands.js.map +1 -0
  46. package/dist/commands/model-command-handlers.d.ts +15 -0
  47. package/dist/commands/model-command-handlers.d.ts.map +1 -0
  48. package/dist/commands/model-command-handlers.js +526 -0
  49. package/dist/commands/model-command-handlers.js.map +1 -0
  50. package/dist/commands/model-commands.d.ts +4 -0
  51. package/dist/commands/model-commands.d.ts.map +1 -0
  52. package/dist/commands/model-commands.js +85 -0
  53. package/dist/commands/model-commands.js.map +1 -0
  54. package/dist/commands/parser.d.ts +12 -0
  55. package/dist/commands/parser.d.ts.map +1 -1
  56. package/dist/commands/parser.js +48 -7
  57. package/dist/commands/parser.js.map +1 -1
  58. package/dist/commands/registry.d.ts +4 -0
  59. package/dist/commands/registry.d.ts.map +1 -0
  60. package/dist/commands/registry.js +566 -0
  61. package/dist/commands/registry.js.map +1 -0
  62. package/dist/commands/session-command-handlers.d.ts +10 -0
  63. package/dist/commands/session-command-handlers.d.ts.map +1 -0
  64. package/dist/commands/session-command-handlers.js +626 -0
  65. package/dist/commands/session-command-handlers.js.map +1 -0
  66. package/dist/commands/session-commands.d.ts +4 -0
  67. package/dist/commands/session-commands.d.ts.map +1 -0
  68. package/dist/commands/session-commands.js +102 -0
  69. package/dist/commands/session-commands.js.map +1 -0
  70. package/dist/commands/system-commands.d.ts +4 -0
  71. package/dist/commands/system-commands.d.ts.map +1 -0
  72. package/dist/commands/system-commands.js +80 -0
  73. package/dist/commands/system-commands.js.map +1 -0
  74. package/dist/commands/target-command.d.ts +1 -1
  75. package/dist/commands/target-command.d.ts.map +1 -1
  76. package/dist/commands/target-command.js +42 -6
  77. package/dist/commands/target-command.js.map +1 -1
  78. package/dist/commands/tool-commands.d.ts +4 -0
  79. package/dist/commands/tool-commands.d.ts.map +1 -0
  80. package/dist/commands/tool-commands.js +49 -0
  81. package/dist/commands/tool-commands.js.map +1 -0
  82. package/dist/commands/types.d.ts +69 -5
  83. package/dist/commands/types.d.ts.map +1 -1
  84. package/dist/commands/types.js +3 -4
  85. package/dist/commands/types.js.map +1 -1
  86. package/dist/commands/workflow-command-handlers.d.ts +7 -0
  87. package/dist/commands/workflow-command-handlers.d.ts.map +1 -0
  88. package/dist/commands/workflow-command-handlers.js +32 -0
  89. package/dist/commands/workflow-command-handlers.js.map +1 -0
  90. package/dist/commands/workflow-commands.d.ts +4 -0
  91. package/dist/commands/workflow-commands.d.ts.map +1 -0
  92. package/dist/commands/workflow-commands.js +124 -0
  93. package/dist/commands/workflow-commands.js.map +1 -0
  94. package/dist/core/checkpoint.d.ts +12 -4
  95. package/dist/core/checkpoint.d.ts.map +1 -1
  96. package/dist/core/checkpoint.js +114 -28
  97. package/dist/core/checkpoint.js.map +1 -1
  98. package/dist/core/cost-tracker.d.ts +17 -1
  99. package/dist/core/cost-tracker.d.ts.map +1 -1
  100. package/dist/core/cost-tracker.js +24 -8
  101. package/dist/core/cost-tracker.js.map +1 -1
  102. package/dist/core/warn-dedup.d.ts +3 -0
  103. package/dist/core/warn-dedup.d.ts.map +1 -1
  104. package/dist/core/warn-dedup.js +6 -6
  105. package/dist/core/warn-dedup.js.map +1 -1
  106. package/dist/framework/index.d.ts +1 -1
  107. package/dist/framework/index.d.ts.map +1 -1
  108. package/dist/framework/index.js.map +1 -1
  109. package/dist/framework/prompt.d.ts +2 -2
  110. package/dist/framework/query.d.ts +2 -2
  111. package/dist/framework/query.d.ts.map +1 -1
  112. package/dist/framework/query.js +57 -10
  113. package/dist/framework/query.js.map +1 -1
  114. package/dist/framework/store.d.ts +15 -6
  115. package/dist/framework/store.d.ts.map +1 -1
  116. package/dist/framework/store.js +18 -0
  117. package/dist/framework/store.js.map +1 -1
  118. package/dist/framework/tool-scheduler.d.ts +16 -13
  119. package/dist/framework/tool-scheduler.d.ts.map +1 -1
  120. package/dist/framework/tool-scheduler.js +155 -38
  121. package/dist/framework/tool-scheduler.js.map +1 -1
  122. package/dist/framework/tool.d.ts +39 -2
  123. package/dist/framework/tool.d.ts.map +1 -1
  124. package/dist/framework/tool.js +27 -1
  125. package/dist/framework/tool.js.map +1 -1
  126. package/dist/harness/assembler.d.ts.map +1 -1
  127. package/dist/harness/assembler.js +4 -2
  128. package/dist/harness/assembler.js.map +1 -1
  129. package/dist/harness/drift-guard.d.ts.map +1 -1
  130. package/dist/harness/drift-guard.js +9 -1
  131. package/dist/harness/drift-guard.js.map +1 -1
  132. package/dist/harness/evidence.d.ts.map +1 -1
  133. package/dist/harness/evidence.js +3 -2
  134. package/dist/harness/evidence.js.map +1 -1
  135. package/dist/harness/safety.d.ts +11 -1
  136. package/dist/harness/safety.d.ts.map +1 -1
  137. package/dist/harness/safety.js +112 -16
  138. package/dist/harness/safety.js.map +1 -1
  139. package/dist/index.d.ts +1 -4
  140. package/dist/index.d.ts.map +1 -1
  141. package/dist/index.js.map +1 -1
  142. package/dist/init.d.ts +4 -8
  143. package/dist/init.d.ts.map +1 -1
  144. package/dist/init.js +4 -4
  145. package/dist/init.js.map +1 -1
  146. package/dist/ink-ui/App.d.ts +2 -2
  147. package/dist/ink-ui/components/Markdown.d.ts.map +1 -1
  148. package/dist/ink-ui/components/Markdown.js.map +1 -1
  149. package/dist/ink-ui/components/PixelHorseBanner.d.ts +2 -2
  150. package/dist/ink-ui/components/StatusLine.d.ts +2 -2
  151. package/dist/ink-ui/launch.d.ts +2 -2
  152. package/dist/ink-ui/screens/ReplScreen.d.ts +4 -3
  153. package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
  154. package/dist/ink-ui/screens/ReplScreen.js +103 -31
  155. package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
  156. package/dist/memory/relevant-finder.d.ts +2 -1
  157. package/dist/memory/relevant-finder.d.ts.map +1 -1
  158. package/dist/memory/relevant-finder.js +17 -8
  159. package/dist/memory/relevant-finder.js.map +1 -1
  160. package/dist/memory/semantic-config.d.ts +9 -0
  161. package/dist/memory/semantic-config.d.ts.map +1 -0
  162. package/dist/memory/semantic-config.js +16 -0
  163. package/dist/memory/semantic-config.js.map +1 -0
  164. package/dist/memory/semantic-search.d.ts +1 -6
  165. package/dist/memory/semantic-search.d.ts.map +1 -1
  166. package/dist/memory/semantic-search.js +3 -15
  167. package/dist/memory/semantic-search.js.map +1 -1
  168. package/dist/memory/storage.d.ts +23 -0
  169. package/dist/memory/storage.d.ts.map +1 -1
  170. package/dist/memory/storage.js +116 -9
  171. package/dist/memory/storage.js.map +1 -1
  172. package/dist/memory/validation.d.ts +3 -0
  173. package/dist/memory/validation.d.ts.map +1 -1
  174. package/dist/memory/validation.js +123 -10
  175. package/dist/memory/validation.js.map +1 -1
  176. package/dist/memory/vector-store.d.ts +30 -0
  177. package/dist/memory/vector-store.d.ts.map +1 -1
  178. package/dist/memory/vector-store.js +160 -21
  179. package/dist/memory/vector-store.js.map +1 -1
  180. package/dist/migration/command.d.ts.map +1 -1
  181. package/dist/migration/command.js +0 -1
  182. package/dist/migration/command.js.map +1 -1
  183. package/dist/migration/migrate.d.ts.map +1 -1
  184. package/dist/migration/migrate.js +59 -107
  185. package/dist/migration/migrate.js.map +1 -1
  186. package/dist/migration/types.d.ts +0 -1
  187. package/dist/migration/types.d.ts.map +1 -1
  188. package/dist/print-ui/launch.d.ts +13 -3
  189. package/dist/print-ui/launch.d.ts.map +1 -1
  190. package/dist/print-ui/launch.js +28 -3
  191. package/dist/print-ui/launch.js.map +1 -1
  192. package/dist/product/environment.d.ts +3 -5
  193. package/dist/product/environment.d.ts.map +1 -1
  194. package/dist/product/environment.js +4 -32
  195. package/dist/product/environment.js.map +1 -1
  196. package/dist/product/index.d.ts +1 -1
  197. package/dist/product/index.d.ts.map +1 -1
  198. package/dist/product/index.js +1 -3
  199. package/dist/product/index.js.map +1 -1
  200. package/dist/product/paths.d.ts.map +1 -1
  201. package/dist/product/paths.js +16 -11
  202. package/dist/product/paths.js.map +1 -1
  203. package/dist/runtime/agent-runtime-controller.d.ts +4 -2
  204. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  205. package/dist/runtime/agent-runtime-controller.js +129 -15
  206. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  207. package/dist/runtime/agent-runtime-protocol.d.ts +15 -0
  208. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  209. package/dist/runtime/agent-runtime-protocol.js +6 -0
  210. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  211. package/dist/runtime/chat-checkpoint.d.ts +17 -0
  212. package/dist/runtime/chat-checkpoint.d.ts.map +1 -0
  213. package/dist/runtime/chat-checkpoint.js +108 -0
  214. package/dist/runtime/chat-checkpoint.js.map +1 -0
  215. package/dist/runtime/chat-controller.d.ts +10 -51
  216. package/dist/runtime/chat-controller.d.ts.map +1 -1
  217. package/dist/runtime/chat-controller.js +256 -1070
  218. package/dist/runtime/chat-controller.js.map +1 -1
  219. package/dist/runtime/chat-effort.d.ts +5 -0
  220. package/dist/runtime/chat-effort.d.ts.map +1 -0
  221. package/dist/runtime/chat-effort.js +47 -0
  222. package/dist/runtime/chat-effort.js.map +1 -0
  223. package/dist/runtime/chat-presentation.d.ts +60 -0
  224. package/dist/runtime/chat-presentation.d.ts.map +1 -0
  225. package/dist/runtime/chat-presentation.js +537 -0
  226. package/dist/runtime/chat-presentation.js.map +1 -0
  227. package/dist/runtime/chat-trace.d.ts +52 -0
  228. package/dist/runtime/chat-trace.d.ts.map +1 -0
  229. package/dist/runtime/chat-trace.js +234 -0
  230. package/dist/runtime/chat-trace.js.map +1 -0
  231. package/dist/runtime/chat-workspace.d.ts +22 -0
  232. package/dist/runtime/chat-workspace.d.ts.map +1 -0
  233. package/dist/runtime/chat-workspace.js +154 -0
  234. package/dist/runtime/chat-workspace.js.map +1 -0
  235. package/dist/runtime/goals/accounting.js +1 -1
  236. package/dist/runtime/goals/accounting.js.map +1 -1
  237. package/dist/runtime/goals/completion-audit.d.ts.map +1 -1
  238. package/dist/runtime/goals/completion-audit.js +5 -4
  239. package/dist/runtime/goals/completion-audit.js.map +1 -1
  240. package/dist/runtime/goals/coordinator.d.ts +3 -0
  241. package/dist/runtime/goals/coordinator.d.ts.map +1 -1
  242. package/dist/runtime/goals/coordinator.js +56 -2
  243. package/dist/runtime/goals/coordinator.js.map +1 -1
  244. package/dist/runtime/goals/prompt.d.ts +1 -1
  245. package/dist/runtime/goals/prompt.d.ts.map +1 -1
  246. package/dist/runtime/goals/prompt.js +4 -3
  247. package/dist/runtime/goals/prompt.js.map +1 -1
  248. package/dist/runtime/goals/tools.d.ts +32 -8
  249. package/dist/runtime/goals/tools.d.ts.map +1 -1
  250. package/dist/runtime/goals/tools.js +187 -11
  251. package/dist/runtime/goals/tools.js.map +1 -1
  252. package/dist/runtime/goals/types.d.ts +9 -0
  253. package/dist/runtime/goals/types.d.ts.map +1 -1
  254. package/dist/runtime/goals/types.js +1 -0
  255. package/dist/runtime/goals/types.js.map +1 -1
  256. package/dist/runtime/loop-budget.d.ts +2 -2
  257. package/dist/runtime/rich-text/markdown-parser.d.ts +2 -0
  258. package/dist/runtime/rich-text/markdown-parser.d.ts.map +1 -1
  259. package/dist/runtime/rich-text/markdown-parser.js +50 -10
  260. package/dist/runtime/rich-text/markdown-parser.js.map +1 -1
  261. package/dist/runtime/subagents/index.d.ts +2 -2
  262. package/dist/runtime/subagents/index.d.ts.map +1 -1
  263. package/dist/runtime/subagents/index.js +2 -1
  264. package/dist/runtime/subagents/index.js.map +1 -1
  265. package/dist/runtime/subagents/policy.d.ts +1 -1
  266. package/dist/runtime/subagents/policy.d.ts.map +1 -1
  267. package/dist/runtime/subagents/policy.js.map +1 -1
  268. package/dist/runtime/subagents/presets.d.ts +2 -2
  269. package/dist/runtime/subagents/research-artifact.d.ts +7 -0
  270. package/dist/runtime/subagents/research-artifact.d.ts.map +1 -1
  271. package/dist/runtime/subagents/research-artifact.js +73 -27
  272. package/dist/runtime/subagents/research-artifact.js.map +1 -1
  273. package/dist/runtime/subagents/research-contract.d.ts +18 -4
  274. package/dist/runtime/subagents/research-contract.d.ts.map +1 -1
  275. package/dist/runtime/subagents/research-contract.js +122 -17
  276. package/dist/runtime/subagents/research-contract.js.map +1 -1
  277. package/dist/runtime/subagents/research-renderer.d.ts +27 -11
  278. package/dist/runtime/subagents/research-renderer.d.ts.map +1 -1
  279. package/dist/runtime/subagents/research-renderer.js +34 -2
  280. package/dist/runtime/subagents/research-renderer.js.map +1 -1
  281. package/dist/runtime/subagents/result-parser.d.ts +1 -5
  282. package/dist/runtime/subagents/result-parser.d.ts.map +1 -1
  283. package/dist/runtime/subagents/result-parser.js +5 -72
  284. package/dist/runtime/subagents/result-parser.js.map +1 -1
  285. package/dist/runtime/subagents/runtime-integration.d.ts +13 -7
  286. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  287. package/dist/runtime/subagents/runtime-integration.js +112 -2
  288. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  289. package/dist/runtime/subagents/supervisor.d.ts +15 -1
  290. package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
  291. package/dist/runtime/subagents/supervisor.js +58 -3
  292. package/dist/runtime/subagents/supervisor.js.map +1 -1
  293. package/dist/runtime/subagents/tool.d.ts +2 -2
  294. package/dist/runtime/subagents/tool.d.ts.map +1 -1
  295. package/dist/runtime/subagents/tool.js +129 -9
  296. package/dist/runtime/subagents/tool.js.map +1 -1
  297. package/dist/runtime/subagents/types.d.ts +20 -0
  298. package/dist/runtime/subagents/types.d.ts.map +1 -1
  299. package/dist/runtime/subagents/types.js.map +1 -1
  300. package/dist/runtime/subagents/web-research-adapter.d.ts +4 -2
  301. package/dist/runtime/subagents/web-research-adapter.d.ts.map +1 -1
  302. package/dist/runtime/subagents/web-research-adapter.js +81 -15
  303. package/dist/runtime/subagents/web-research-adapter.js.map +1 -1
  304. package/dist/runtime/ui-events.d.ts +36 -8
  305. package/dist/runtime/ui-events.d.ts.map +1 -1
  306. package/dist/runtime/ui-events.js.map +1 -1
  307. package/dist/runtime/ui-view-model.d.ts +53 -4
  308. package/dist/runtime/ui-view-model.d.ts.map +1 -1
  309. package/dist/runtime/ui-view-model.js +190 -10
  310. package/dist/runtime/ui-view-model.js.map +1 -1
  311. package/dist/services/agent-runner.d.ts +5 -2
  312. package/dist/services/agent-runner.d.ts.map +1 -1
  313. package/dist/services/agent-runner.js +18 -18
  314. package/dist/services/agent-runner.js.map +1 -1
  315. package/dist/services/atomic-write.d.ts +9 -1
  316. package/dist/services/atomic-write.d.ts.map +1 -1
  317. package/dist/services/atomic-write.js +55 -2
  318. package/dist/services/atomic-write.js.map +1 -1
  319. package/dist/services/auth/auth.d.ts +11 -7
  320. package/dist/services/auth/auth.d.ts.map +1 -1
  321. package/dist/services/auth/auth.js +117 -31
  322. package/dist/services/auth/auth.js.map +1 -1
  323. package/dist/services/auth/aws.d.ts +2 -0
  324. package/dist/services/auth/aws.d.ts.map +1 -1
  325. package/dist/services/auth/aws.js +126 -12
  326. package/dist/services/auth/aws.js.map +1 -1
  327. package/dist/services/auth/index.d.ts +1 -1
  328. package/dist/services/auth/index.d.ts.map +1 -1
  329. package/dist/services/auth/index.js +2 -1
  330. package/dist/services/auth/index.js.map +1 -1
  331. package/dist/services/auto-fix/autoFixConfig.d.ts +0 -3
  332. package/dist/services/auto-fix/autoFixConfig.d.ts.map +1 -1
  333. package/dist/services/auto-fix/autoFixConfig.js +25 -8
  334. package/dist/services/auto-fix/autoFixConfig.js.map +1 -1
  335. package/dist/services/auto-fix/autoFixHook.d.ts +7 -0
  336. package/dist/services/auto-fix/autoFixHook.d.ts.map +1 -1
  337. package/dist/services/auto-fix/autoFixHook.js +10 -1
  338. package/dist/services/auto-fix/autoFixHook.js.map +1 -1
  339. package/dist/services/compact/auto-compact.d.ts +2 -0
  340. package/dist/services/compact/auto-compact.d.ts.map +1 -1
  341. package/dist/services/compact/auto-compact.js +15 -1
  342. package/dist/services/compact/auto-compact.js.map +1 -1
  343. package/dist/services/compact/compact.d.ts.map +1 -1
  344. package/dist/services/compact/compact.js +9 -11
  345. package/dist/services/compact/compact.js.map +1 -1
  346. package/dist/services/compact/summary-generator.d.ts.map +1 -1
  347. package/dist/services/compact/summary-generator.js +28 -4
  348. package/dist/services/compact/summary-generator.js.map +1 -1
  349. package/dist/services/compact/tool-call-groups.d.ts +19 -0
  350. package/dist/services/compact/tool-call-groups.d.ts.map +1 -0
  351. package/dist/services/compact/tool-call-groups.js +105 -0
  352. package/dist/services/compact/tool-call-groups.js.map +1 -0
  353. package/dist/services/concurrent-sessions.d.ts +4 -0
  354. package/dist/services/concurrent-sessions.d.ts.map +1 -1
  355. package/dist/services/concurrent-sessions.js +59 -12
  356. package/dist/services/concurrent-sessions.js.map +1 -1
  357. package/dist/services/config.d.ts +8 -4
  358. package/dist/services/config.d.ts.map +1 -1
  359. package/dist/services/config.js +15 -71
  360. package/dist/services/config.js.map +1 -1
  361. package/dist/services/doctor.d.ts +2 -2
  362. package/dist/services/doctor.js.map +1 -1
  363. package/dist/services/effort.d.ts +40 -0
  364. package/dist/services/effort.d.ts.map +1 -0
  365. package/dist/services/effort.js +88 -0
  366. package/dist/services/effort.js.map +1 -0
  367. package/dist/services/file-glob.d.ts.map +1 -1
  368. package/dist/services/file-glob.js +22 -2
  369. package/dist/services/file-glob.js.map +1 -1
  370. package/dist/services/file-lock.d.ts +7 -0
  371. package/dist/services/file-lock.d.ts.map +1 -0
  372. package/dist/services/file-lock.js +193 -0
  373. package/dist/services/file-lock.js.map +1 -0
  374. package/dist/services/global-config.d.ts +9 -0
  375. package/dist/services/global-config.d.ts.map +1 -1
  376. package/dist/services/global-config.js +79 -4
  377. package/dist/services/global-config.js.map +1 -1
  378. package/dist/services/goal-storage.d.ts.map +1 -1
  379. package/dist/services/goal-storage.js +35 -11
  380. package/dist/services/goal-storage.js.map +1 -1
  381. package/dist/services/llm.d.ts +35 -17
  382. package/dist/services/llm.d.ts.map +1 -1
  383. package/dist/services/llm.js +249 -113
  384. package/dist/services/llm.js.map +1 -1
  385. package/dist/services/mcp/transports.d.ts +0 -1
  386. package/dist/services/mcp/transports.d.ts.map +1 -1
  387. package/dist/services/mcp/transports.js +12 -13
  388. package/dist/services/mcp/transports.js.map +1 -1
  389. package/dist/services/model-context.d.ts +8 -0
  390. package/dist/services/model-context.d.ts.map +1 -1
  391. package/dist/services/model-context.js +111 -7
  392. package/dist/services/model-context.js.map +1 -1
  393. package/dist/services/model-registry.d.ts +3 -0
  394. package/dist/services/model-registry.d.ts.map +1 -1
  395. package/dist/services/model-registry.js +59 -2
  396. package/dist/services/model-registry.js.map +1 -1
  397. package/dist/services/provider-diagnostics.d.ts +1 -1
  398. package/dist/services/provider-diagnostics.d.ts.map +1 -1
  399. package/dist/services/provider-diagnostics.js +30 -16
  400. package/dist/services/provider-diagnostics.js.map +1 -1
  401. package/dist/services/provider-resilience/coordinator.d.ts +8 -3
  402. package/dist/services/provider-resilience/coordinator.d.ts.map +1 -1
  403. package/dist/services/provider-resilience/coordinator.js +86 -19
  404. package/dist/services/provider-resilience/coordinator.js.map +1 -1
  405. package/dist/services/provider-resilience/error-classifier.d.ts +1 -0
  406. package/dist/services/provider-resilience/error-classifier.d.ts.map +1 -1
  407. package/dist/services/provider-resilience/error-classifier.js +50 -26
  408. package/dist/services/provider-resilience/error-classifier.js.map +1 -1
  409. package/dist/services/provider-resilience/index.d.ts +3 -3
  410. package/dist/services/provider-resilience/index.d.ts.map +1 -1
  411. package/dist/services/provider-resilience/index.js +3 -1
  412. package/dist/services/provider-resilience/index.js.map +1 -1
  413. package/dist/services/provider-resilience/request-gate.d.ts +6 -0
  414. package/dist/services/provider-resilience/request-gate.d.ts.map +1 -1
  415. package/dist/services/provider-resilience/request-gate.js +24 -9
  416. package/dist/services/provider-resilience/request-gate.js.map +1 -1
  417. package/dist/services/provider-resilience/types.d.ts +10 -1
  418. package/dist/services/provider-resilience/types.d.ts.map +1 -1
  419. package/dist/services/provider-resilience/types.js.map +1 -1
  420. package/dist/services/redaction.d.ts.map +1 -1
  421. package/dist/services/redaction.js +29 -1
  422. package/dist/services/redaction.js.map +1 -1
  423. package/dist/services/session-index.d.ts.map +1 -1
  424. package/dist/services/session-index.js +75 -44
  425. package/dist/services/session-index.js.map +1 -1
  426. package/dist/services/session-memory/sessionMemory.d.ts.map +1 -1
  427. package/dist/services/session-memory/sessionMemory.js +6 -3
  428. package/dist/services/session-memory/sessionMemory.js.map +1 -1
  429. package/dist/services/session-storage.d.ts +12 -0
  430. package/dist/services/session-storage.d.ts.map +1 -1
  431. package/dist/services/session-storage.js +301 -230
  432. package/dist/services/session-storage.js.map +1 -1
  433. package/dist/services/storage-maintenance.d.ts.map +1 -1
  434. package/dist/services/storage-maintenance.js +25 -7
  435. package/dist/services/storage-maintenance.js.map +1 -1
  436. package/dist/services/task-manager.d.ts +6 -1
  437. package/dist/services/task-manager.d.ts.map +1 -1
  438. package/dist/services/task-manager.js +18 -4
  439. package/dist/services/task-manager.js.map +1 -1
  440. package/dist/services/tool-allowlist.d.ts +20 -10
  441. package/dist/services/tool-allowlist.d.ts.map +1 -1
  442. package/dist/services/tool-allowlist.js +64 -15
  443. package/dist/services/tool-allowlist.js.map +1 -1
  444. package/dist/services/usage-state.d.ts +10 -0
  445. package/dist/services/usage-state.d.ts.map +1 -1
  446. package/dist/services/usage-state.js +116 -45
  447. package/dist/services/usage-state.js.map +1 -1
  448. package/dist/services/verification-profile.d.ts.map +1 -1
  449. package/dist/services/verification-profile.js +23 -3
  450. package/dist/services/verification-profile.js.map +1 -1
  451. package/dist/services/workspace-diff.d.ts +14 -0
  452. package/dist/services/workspace-diff.d.ts.map +1 -1
  453. package/dist/services/workspace-diff.js +60 -11
  454. package/dist/services/workspace-diff.js.map +1 -1
  455. package/dist/services/yaml-config.d.ts.map +1 -1
  456. package/dist/services/yaml-config.js +2 -1
  457. package/dist/services/yaml-config.js.map +1 -1
  458. package/dist/skills/loader.d.ts.map +1 -1
  459. package/dist/skills/loader.js +23 -9
  460. package/dist/skills/loader.js.map +1 -1
  461. package/dist/skills/runtime.d.ts +3 -3
  462. package/dist/skills/runtime.d.ts.map +1 -1
  463. package/dist/skills/runtime.js +37 -4
  464. package/dist/skills/runtime.js.map +1 -1
  465. package/dist/skills/types.d.ts +1 -1
  466. package/dist/skills/types.d.ts.map +1 -1
  467. package/dist/terminal-ui/launch.d.ts +26 -8
  468. package/dist/terminal-ui/launch.d.ts.map +1 -1
  469. package/dist/terminal-ui/launch.js +82 -39
  470. package/dist/terminal-ui/launch.js.map +1 -1
  471. package/dist/tools/bash_security.d.ts +17 -0
  472. package/dist/tools/bash_security.d.ts.map +1 -1
  473. package/dist/tools/bash_security.js +233 -27
  474. package/dist/tools/bash_security.js.map +1 -1
  475. package/dist/tools/git.d.ts +8 -8
  476. package/dist/tools/git.d.ts.map +1 -1
  477. package/dist/tools/git.js +248 -55
  478. package/dist/tools/git.js.map +1 -1
  479. package/dist/tools/index.d.ts +13 -3
  480. package/dist/tools/index.d.ts.map +1 -1
  481. package/dist/tools/index.js +262 -30
  482. package/dist/tools/index.js.map +1 -1
  483. package/dist/tools/lsp.d.ts +74 -6
  484. package/dist/tools/lsp.d.ts.map +1 -1
  485. package/dist/tools/lsp.js +24 -5
  486. package/dist/tools/lsp.js.map +1 -1
  487. package/dist/tools/mcp.d.ts +11 -4
  488. package/dist/tools/mcp.d.ts.map +1 -1
  489. package/dist/tools/mcp.js +99 -3
  490. package/dist/tools/mcp.js.map +1 -1
  491. package/dist/tools/plan.d.ts +4 -4
  492. package/dist/tools/sandbox.d.ts +5 -1
  493. package/dist/tools/sandbox.d.ts.map +1 -1
  494. package/dist/tools/sandbox.js +29 -13
  495. package/dist/tools/sandbox.js.map +1 -1
  496. package/dist/tools/todo.d.ts +3 -3
  497. package/dist/tools/web.d.ts +15 -4
  498. package/dist/tools/web.d.ts.map +1 -1
  499. package/dist/tools/web.js +240 -26
  500. package/dist/tools/web.js.map +1 -1
  501. package/dist/tui-ui/launch.d.ts +3 -3
  502. package/dist/tui-ui/launch.d.ts.map +1 -1
  503. package/dist/tui-ui/launch.js +3 -3
  504. package/dist/tui-ui/launch.js.map +1 -1
  505. package/dist/tui-ui/layout.d.ts.map +1 -1
  506. package/dist/tui-ui/layout.js +19 -5
  507. package/dist/tui-ui/layout.js.map +1 -1
  508. package/dist/tui-ui/pickers.d.ts.map +1 -1
  509. package/dist/tui-ui/pickers.js +1 -0
  510. package/dist/tui-ui/pickers.js.map +1 -1
  511. package/dist/tui-ui/runner.d.ts +2 -1
  512. package/dist/tui-ui/runner.d.ts.map +1 -1
  513. package/dist/tui-ui/runner.js +18 -29
  514. package/dist/tui-ui/runner.js.map +1 -1
  515. package/dist/tui-ui/state.d.ts +13 -1
  516. package/dist/tui-ui/state.d.ts.map +1 -1
  517. package/dist/tui-ui/state.js +28 -1
  518. package/dist/tui-ui/state.js.map +1 -1
  519. package/dist/ui/markdown.js.map +1 -1
  520. package/dist/utils/debug-log.d.ts +3 -3
  521. package/dist/utils/debug-log.d.ts.map +1 -1
  522. package/dist/utils/debug-log.js +7 -4
  523. package/dist/utils/debug-log.js.map +1 -1
  524. package/dist/utils/json.d.ts +6 -0
  525. package/dist/utils/json.d.ts.map +1 -0
  526. package/dist/utils/json.js +66 -0
  527. package/dist/utils/json.js.map +1 -0
  528. package/dist/utils/mask.d.ts +8 -1
  529. package/dist/utils/mask.d.ts.map +1 -1
  530. package/dist/utils/mask.js +10 -12
  531. package/dist/utils/mask.js.map +1 -1
  532. package/dist/utils/observability.d.ts +22 -0
  533. package/dist/utils/observability.d.ts.map +1 -0
  534. package/dist/utils/observability.js +80 -0
  535. package/dist/utils/observability.js.map +1 -0
  536. package/dist/utils/token-estimate.d.ts +8 -0
  537. package/dist/utils/token-estimate.d.ts.map +1 -1
  538. package/dist/utils/token-estimate.js +30 -17
  539. package/dist/utils/token-estimate.js.map +1 -1
  540. package/package.json +9 -8
@@ -0,0 +1,537 @@
1
+ "use strict";
2
+ /**
3
+ * Renderer-independent chat transcript, stream, and tool presentation helpers.
4
+ *
5
+ * The module consumes typed runtime/query events and projects them into UI
6
+ * entries. It has no dependency on commands or the AgentChatController loop.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.LocalFastPathBlockedError = void 0;
10
+ exports.toolFinishContent = toolFinishContent;
11
+ exports.structuredToolFinishActivity = structuredToolFinishActivity;
12
+ exports.removeTrailingUserMessage = removeTrailingUserMessage;
13
+ exports.sessionMessagesToTranscriptEntries = sessionMessagesToTranscriptEntries;
14
+ exports.createAssistantStreamPresenter = createAssistantStreamPresenter;
15
+ exports.parseLocalFastPath = parseLocalFastPath;
16
+ exports.formatLocalFastPathAssistantContent = formatLocalFastPathAssistantContent;
17
+ exports.createToolEventPresenter = createToolEventPresenter;
18
+ exports.captureConsoleOutput = captureConsoleOutput;
19
+ const session_storage_1 = require("../services/session-storage");
20
+ const tool_serializer_1 = require("../framework/tool-serializer");
21
+ const tool_artifacts_1 = require("../core/tool-artifacts");
22
+ const format_1 = require("../services/format");
23
+ const ui_view_model_1 = require("./ui-view-model");
24
+ const tool_output_presentation_1 = require("./tool-output-presentation");
25
+ const aggregate_tool_presenter_1 = require("./aggregate-tool-presenter");
26
+ const chat_trace_1 = require("./chat-trace");
27
+ const LOCAL_FAST_PATH_INLINE_OUTPUT_BYTES = 2048;
28
+ const TOOL_TRANSCRIPT_ARG_BUDGET = 512;
29
+ function toolStartContent(event) {
30
+ return (0, ui_view_model_1.formatToolActivityTranscript)((0, ui_view_model_1.toolActivityFromStarted)(event, (0, chat_trace_1.compactToolArgs)(event.args, TOOL_TRANSCRIPT_ARG_BUDGET)));
31
+ }
32
+ function toolFinishContent(event) {
33
+ return (0, ui_view_model_1.formatToolActivityTranscript)((0, ui_view_model_1.toolActivityFromFinished)(event, (0, chat_trace_1.compactToolArgs)(event.args, TOOL_TRANSCRIPT_ARG_BUDGET)));
34
+ }
35
+ function structuredToolStartActivity(event, seq) {
36
+ const command = event.name === 'exec_command' && typeof event.args.command === 'string'
37
+ ? event.args.command
38
+ : undefined;
39
+ const safeCommand = command ? (0, session_storage_1.redactTraceText)(command) : undefined;
40
+ return {
41
+ state: 'running',
42
+ name: event.name,
43
+ detail: command ? '' : (0, session_storage_1.redactTraceText)((0, chat_trace_1.compactToolArgs)(event.args, TOOL_TRANSCRIPT_ARG_BUDGET)),
44
+ command: safeCommand,
45
+ body: '',
46
+ seq,
47
+ };
48
+ }
49
+ function structuredToolFinishActivity(event, seq, options = {}) {
50
+ const modelVisible = (0, tool_serializer_1.parseToolResultEnvelope)(event.modelVisibleResult);
51
+ const durable = (0, tool_serializer_1.parseToolResultEnvelope)(event.result);
52
+ const durableOutput = typeof durable.output === 'string' ? durable.output : '';
53
+ const displayOutput = typeof modelVisible.output === 'string' ? modelVisible.output : durableOutput;
54
+ const outputBytes = event.outputBytes ?? Buffer.byteLength(durableOutput, 'utf8');
55
+ const aggregatePresentation = (0, aggregate_tool_presenter_1.presentAggregateToolResult)(event.name, durableOutput, outputBytes);
56
+ const aggregate = aggregatePresentation?.view;
57
+ const storedArtifact = event.artifactRef ??
58
+ (options.projectPath &&
59
+ durableOutput &&
60
+ (outputBytes > tool_output_presentation_1.DEFAULT_TOOL_OUTPUT_POLICY.inlineMaxBytes || aggregate)
61
+ ? ((0, tool_artifacts_1.storeArtifact)(options.projectPath, event.name, durableOutput, outputBytes) ?? undefined)
62
+ : undefined);
63
+ const artifactRef = storedArtifact
64
+ ? { id: storedArtifact.id, outputBytes: storedArtifact.outputBytes }
65
+ : undefined;
66
+ const outputView = (0, tool_output_presentation_1.createToolOutputView)({
67
+ toolName: event.name,
68
+ success: event.success,
69
+ summary: event.summary,
70
+ rawOutput: durableOutput.length <= 64 * 1024 ? durableOutput : displayOutput,
71
+ outputBytes,
72
+ artifactRef,
73
+ callId: event.callId,
74
+ sequence: seq,
75
+ turnId: options.turnId,
76
+ policy: tool_output_presentation_1.DEFAULT_TOOL_OUTPUT_POLICY,
77
+ });
78
+ if (aggregate) {
79
+ outputView.aggregate = {
80
+ ...aggregate,
81
+ steps: aggregate.steps.map(step => ({ ...step, detailRef: outputView.detailRef })),
82
+ };
83
+ }
84
+ const command = event.name === 'exec_command' && typeof event.args.command === 'string'
85
+ ? event.args.command
86
+ : undefined;
87
+ const safeCommand = command ? (0, session_storage_1.redactTraceText)(command) : undefined;
88
+ return {
89
+ state: event.success ? 'success' : 'error',
90
+ name: event.name,
91
+ detail: command ? '' : (0, session_storage_1.redactTraceText)((0, chat_trace_1.compactToolArgs)(event.args, TOOL_TRANSCRIPT_ARG_BUDGET)),
92
+ command: safeCommand,
93
+ duration: `${event.duration}ms`,
94
+ summary: event.summary ? (0, session_storage_1.redactTraceText)(event.summary.split(/\r?\n/u, 1)[0]) : undefined,
95
+ outputBytes,
96
+ body: (0, session_storage_1.redactTraceText)(modelVisible.output),
97
+ error: event.error ? (0, session_storage_1.redactTraceText)(event.error) : undefined,
98
+ seq,
99
+ artifactHint: artifactRef ? `/artifacts show ${artifactRef.id} --full` : undefined,
100
+ callId: event.callId,
101
+ turnId: options.turnId,
102
+ outputView,
103
+ };
104
+ }
105
+ function isSyntheticCompactContext(content) {
106
+ return (content.startsWith('[Orion Code Context State v2]') ||
107
+ content.startsWith('[Context Summary]') ||
108
+ content.startsWith('I will continue from this Orion Code Context State') ||
109
+ content.startsWith('I understand the context. I will continue the conversation with this background information.'));
110
+ }
111
+ function sessionToolCallSummaries(message) {
112
+ return (message.tool_calls ?? []).map(call => {
113
+ const args = parseToolCallArgs(call.function.arguments);
114
+ const detail = (0, chat_trace_1.compactToolArgs)(args);
115
+ return {
116
+ id: call.id,
117
+ content: `Requested ${call.function.name}${detail ? ` ${detail}` : ''}`,
118
+ };
119
+ });
120
+ }
121
+ function parseToolCallArgs(rawArgs) {
122
+ try {
123
+ return rawArgs ? JSON.parse(rawArgs) : {};
124
+ }
125
+ catch {
126
+ return rawArgs ? { arguments: rawArgs } : {};
127
+ }
128
+ }
129
+ function parseSessionToolResult(content) {
130
+ try {
131
+ const parsed = JSON.parse(content);
132
+ return {
133
+ success: parsed.success === true,
134
+ error: typeof parsed.error === 'string' ? parsed.error : undefined,
135
+ summary: typeof parsed.summary === 'string' ? parsed.summary : undefined,
136
+ };
137
+ }
138
+ catch {
139
+ return { success: false, error: 'Invalid JSON result' };
140
+ }
141
+ }
142
+ function removeTrailingUserMessage(runtime) {
143
+ const history = runtime.store.getSnapshot().conversationHistory;
144
+ if (history.length === 0)
145
+ return;
146
+ const lastMsg = history[history.length - 1];
147
+ if (lastMsg?.role === 'user') {
148
+ runtime.store.setState({ conversationHistory: history.slice(0, -1) });
149
+ }
150
+ }
151
+ function sessionToolResultSummary(message, toolCallsById) {
152
+ if (!message.toolCallId)
153
+ return null;
154
+ const call = toolCallsById.get(message.toolCallId);
155
+ if (!call)
156
+ return null;
157
+ const args = parseToolCallArgs(call.function.arguments);
158
+ const detail = (0, chat_trace_1.compactToolArgs)(args);
159
+ const parsed = parseSessionToolResult(message.content);
160
+ const firstLine = parsed.summary ||
161
+ `${parsed.success ? '✓' : '✗'} ${call.function.name}${detail ? ` ${detail}` : ''}`;
162
+ return parsed.error ? `${firstLine}\nError: ${parsed.error}` : firstLine;
163
+ }
164
+ function sessionMessagesToTranscriptEntries(sessionId, options = {}) {
165
+ const messages = (0, session_storage_1.loadSessionTranscriptMessages)(sessionId);
166
+ const resultTraces = options.includeToolOutputViews
167
+ ? (0, session_storage_1.readSessionTraceEvents)(sessionId).filter(trace => trace.type === 'tool_result' && trace.callId)
168
+ : [];
169
+ const resultTraceByCallId = new Map(resultTraces.map(trace => [trace.callId, trace]));
170
+ const sequenceByCallId = new Map();
171
+ resultTraces.forEach((trace, index) => {
172
+ if (!sequenceByCallId.has(trace.callId))
173
+ sequenceByCallId.set(trace.callId, index + 1);
174
+ });
175
+ const entries = [];
176
+ const toolCallsById = new Map();
177
+ const completedToolCallIds = new Set();
178
+ let fallbackToolSequence = 0;
179
+ for (const message of messages) {
180
+ for (const call of message.tool_calls ?? []) {
181
+ toolCallsById.set(call.id, call);
182
+ }
183
+ if (message.role === 'tool' && message.toolCallId) {
184
+ completedToolCallIds.add(message.toolCallId);
185
+ }
186
+ }
187
+ messages.forEach((message, index) => {
188
+ if (isSyntheticCompactContext(message.content))
189
+ return;
190
+ const idBase = `session-${sessionId.slice(0, 8)}-${index}`;
191
+ if (message.role === 'user') {
192
+ entries.push({ id: `${idBase}-user`, role: 'user', content: message.content });
193
+ return;
194
+ }
195
+ if (message.role === 'assistant') {
196
+ if (message.content?.trim()) {
197
+ entries.push({ id: `${idBase}-assistant`, role: 'assistant', content: message.content });
198
+ }
199
+ for (const summary of sessionToolCallSummaries(message)) {
200
+ if (!completedToolCallIds.has(summary.id)) {
201
+ entries.push({
202
+ id: `${idBase}-tool-call-${entries.length}`,
203
+ role: 'tool',
204
+ content: summary.content,
205
+ });
206
+ }
207
+ }
208
+ return;
209
+ }
210
+ if (message.role === 'tool') {
211
+ const summary = sessionToolResultSummary(message, toolCallsById);
212
+ const call = message.toolCallId ? toolCallsById.get(message.toolCallId) : undefined;
213
+ const trace = message.toolCallId ? resultTraceByCallId.get(message.toolCallId) : undefined;
214
+ const durable = (0, tool_serializer_1.parseToolResultEnvelope)(message.content);
215
+ const modelVisible = message.modelVisibleContent
216
+ ? (0, tool_serializer_1.parseToolResultEnvelope)(message.modelVisibleContent)
217
+ : durable;
218
+ const durableOutput = typeof durable.output === 'string' ? durable.output : '';
219
+ const displayOutput = typeof modelVisible.output === 'string' ? modelVisible.output : durableOutput;
220
+ const outputBytes = trace?.outputBytes ??
221
+ (durable.schemaVersion === 1 ? durable.outputBytes : undefined) ??
222
+ Buffer.byteLength(durableOutput, 'utf8');
223
+ const artifactId = durable.artifactRef?.id ?? trace?.artifactId;
224
+ fallbackToolSequence += 1;
225
+ const sequence = message.toolCallId
226
+ ? (sequenceByCallId.get(message.toolCallId) ?? fallbackToolSequence)
227
+ : fallbackToolSequence;
228
+ const outputView = options.includeToolOutputViews && call && message.toolCallId
229
+ ? (0, tool_output_presentation_1.createToolOutputView)({
230
+ toolName: call.function.name,
231
+ success: durable.success,
232
+ summary: durable.summary,
233
+ rawOutput: durableOutput.length <= 64 * 1024 ? durableOutput : displayOutput,
234
+ outputBytes,
235
+ artifactRef: artifactId ? { id: artifactId, outputBytes } : undefined,
236
+ callId: message.toolCallId,
237
+ sequence,
238
+ turnId: trace?.turnId,
239
+ policy: tool_output_presentation_1.DEFAULT_TOOL_OUTPUT_POLICY,
240
+ })
241
+ : undefined;
242
+ entries.push({
243
+ id: `${idBase}-tool`,
244
+ role: 'tool',
245
+ content: summary ??
246
+ (message.toolCallId
247
+ ? `Tool result ${message.toolCallId}\n${message.content}`
248
+ : message.content),
249
+ toolActivity: call && message.toolCallId && outputView
250
+ ? {
251
+ state: durable.success ? 'success' : 'error',
252
+ name: call.function.name,
253
+ detail: (0, session_storage_1.redactTraceText)((0, chat_trace_1.compactToolArgs)(parseToolCallArgs(call.function.arguments))),
254
+ summary: durable.summary
255
+ ? (0, session_storage_1.redactTraceText)(durable.summary.split(/\r?\n/u, 1)[0])
256
+ : undefined,
257
+ outputBytes,
258
+ body: (0, session_storage_1.redactTraceText)(durableOutput.length <= 64 * 1024 ? durableOutput : displayOutput),
259
+ error: durable.error ? (0, session_storage_1.redactTraceText)(durable.error) : undefined,
260
+ duration: typeof trace?.duration === 'number' ? `${trace.duration}ms` : undefined,
261
+ seq: sequence,
262
+ artifactHint: artifactId ? `/artifacts show ${artifactId} --full` : undefined,
263
+ callId: message.toolCallId,
264
+ turnId: trace?.turnId,
265
+ outputView,
266
+ }
267
+ : undefined,
268
+ });
269
+ return;
270
+ }
271
+ if (message.role === 'system') {
272
+ entries.push({ id: `${idBase}-system`, role: 'system', content: message.content });
273
+ }
274
+ });
275
+ return entries;
276
+ }
277
+ function createAssistantStreamPresenter(events, abortSignal) {
278
+ let activeSegmentText = '';
279
+ let activeEntryId = null;
280
+ const ensureLiveEntry = () => {
281
+ if (abortSignal?.aborted || !activeSegmentText)
282
+ return null;
283
+ if (activeEntryId) {
284
+ events.update(activeEntryId, { content: activeSegmentText });
285
+ return activeEntryId;
286
+ }
287
+ activeEntryId = events.append({
288
+ role: 'assistant',
289
+ content: activeSegmentText,
290
+ live: true,
291
+ });
292
+ return activeEntryId;
293
+ };
294
+ const flushSegment = () => {
295
+ if (abortSignal?.aborted) {
296
+ if (activeEntryId)
297
+ events.remove(activeEntryId);
298
+ activeEntryId = null;
299
+ activeSegmentText = '';
300
+ return;
301
+ }
302
+ const entryId = ensureLiveEntry();
303
+ if (!entryId)
304
+ return;
305
+ events.finalize(entryId);
306
+ activeEntryId = null;
307
+ activeSegmentText = '';
308
+ };
309
+ return {
310
+ appendChunk(chunk) {
311
+ if (abortSignal?.aborted || !chunk)
312
+ return;
313
+ activeSegmentText += chunk;
314
+ ensureLiveEntry();
315
+ },
316
+ closeSegment() {
317
+ flushSegment();
318
+ },
319
+ discardSegment() {
320
+ if (activeEntryId)
321
+ events.remove(activeEntryId);
322
+ activeEntryId = null;
323
+ activeSegmentText = '';
324
+ },
325
+ ensureMessage(content) {
326
+ if (abortSignal?.aborted || !content || activeSegmentText.length > 0)
327
+ return;
328
+ activeSegmentText = content;
329
+ ensureLiveEntry();
330
+ },
331
+ replaceMessage(content) {
332
+ if (abortSignal?.aborted || !content)
333
+ return;
334
+ activeSegmentText = content;
335
+ ensureLiveEntry();
336
+ },
337
+ };
338
+ }
339
+ class LocalFastPathBlockedError extends Error {
340
+ constructor(message) {
341
+ super(message);
342
+ this.name = 'LocalFastPathBlockedError';
343
+ }
344
+ }
345
+ exports.LocalFastPathBlockedError = LocalFastPathBlockedError;
346
+ function parseLocalFastPath(input) {
347
+ const text = input.trim();
348
+ if (/^git\s+status$/i.test(text)) {
349
+ return { tool: 'git_status', args: {}, label: 'git status' };
350
+ }
351
+ const readMatch = /^(?:read|读取)\s+(.+)$/i.exec(text);
352
+ const readTarget = readMatch?.[1]?.trim();
353
+ const looksLikePath = Boolean(readTarget) &&
354
+ !/\s/.test(readTarget) &&
355
+ (/[/\\.]/.test(readTarget) || readTarget.startsWith('~'));
356
+ if (readTarget && looksLikePath) {
357
+ return { tool: 'read_file', args: { path: readTarget }, label: `read ${readTarget}` };
358
+ }
359
+ const grepMatch = /^(?:grep|搜索)\s+(.+)$/i.exec(text);
360
+ if (grepMatch?.[1]?.trim()) {
361
+ return {
362
+ tool: 'grep',
363
+ args: { pattern: grepMatch[1].trim() },
364
+ label: `grep ${grepMatch[1].trim()}`,
365
+ };
366
+ }
367
+ const runTestMatch = /^(?:run\s+test|运行测试)\s*[::]\s*(.+)$/i.exec(text);
368
+ if (runTestMatch?.[1]?.trim()) {
369
+ return {
370
+ tool: 'exec_command',
371
+ args: { command: runTestMatch[1].trim() },
372
+ label: `run test: ${runTestMatch[1].trim()}`,
373
+ };
374
+ }
375
+ return null;
376
+ }
377
+ function formatLocalFastPathAssistantContent(action, rawResult, projectPath) {
378
+ const envelope = (0, tool_serializer_1.parseToolResultEnvelope)(rawResult);
379
+ const rawOutput = typeof envelope.output === 'string' ? envelope.output : '';
380
+ const output = rawOutput.trim();
381
+ const summary = envelope.summary || `${action.tool} ${envelope.success ? 'completed' : 'failed'}`;
382
+ const lines = [
383
+ envelope.success
384
+ ? `Local fast path completed ${action.label}.`
385
+ : `Local fast path failed ${action.label}.`,
386
+ '',
387
+ summary,
388
+ ];
389
+ if (!envelope.success && envelope.error) {
390
+ lines.push(`Error: ${envelope.error}`);
391
+ }
392
+ if (!output) {
393
+ return { content: lines.join('\n'), artifactRef: envelope.artifactRef };
394
+ }
395
+ let artifactRef = envelope.artifactRef;
396
+ let preview = output;
397
+ const outputBytes = envelope.outputBytes ?? (0, chat_trace_1.byteLength)(rawOutput);
398
+ if ((0, chat_trace_1.byteLength)(rawOutput) > LOCAL_FAST_PATH_INLINE_OUTPUT_BYTES) {
399
+ if (!artifactRef) {
400
+ const artifact = (0, tool_artifacts_1.storeArtifact)(projectPath, action.tool, rawOutput, outputBytes);
401
+ artifactRef = artifact ? { id: artifact.id, outputBytes: artifact.outputBytes } : undefined;
402
+ }
403
+ preview = (0, tool_artifacts_1.truncateForContext)(output, LOCAL_FAST_PATH_INLINE_OUTPUT_BYTES);
404
+ }
405
+ if (artifactRef) {
406
+ lines.push('', `Full output: /artifacts show ${artifactRef.id} --full (${(0, format_1.formatBytes)(artifactRef.outputBytes)})`);
407
+ }
408
+ lines.push('', 'Preview:', preview);
409
+ return { content: lines.join('\n'), artifactRef };
410
+ }
411
+ function createToolEventPresenter(events, options = {}) {
412
+ const runningToolEntries = new Map();
413
+ let toolSequenceCounter = 0;
414
+ return {
415
+ start(event) {
416
+ const seq = ++toolSequenceCounter;
417
+ const entryId = events.append({
418
+ role: 'tool',
419
+ title: 'tool',
420
+ content: toolStartContent(event),
421
+ toolActivity: structuredToolStartActivity(event, seq),
422
+ });
423
+ runningToolEntries.set(event.callId, {
424
+ entryId,
425
+ name: event.name,
426
+ args: event.args,
427
+ sequence: seq,
428
+ batchCount: event.batchCount,
429
+ batchIndex: event.batchIndex,
430
+ });
431
+ events.toolStarted?.({
432
+ callId: event.callId,
433
+ name: event.name,
434
+ args: event.args,
435
+ sequence: seq,
436
+ batchCount: event.batchCount,
437
+ batchIndex: event.batchIndex,
438
+ });
439
+ },
440
+ finish(event) {
441
+ const content = toolFinishContent(event);
442
+ const stored = runningToolEntries.get(event.callId);
443
+ const seq = stored?.sequence ?? ++toolSequenceCounter;
444
+ const toolActivity = structuredToolFinishActivity(event, seq, options);
445
+ if (stored) {
446
+ events.finalize(stored.entryId, {
447
+ role: event.success ? 'tool' : 'error',
448
+ title: 'tool',
449
+ content,
450
+ toolActivity,
451
+ });
452
+ runningToolEntries.delete(event.callId);
453
+ }
454
+ else {
455
+ const entryId = events.append({
456
+ role: event.success ? 'tool' : 'error',
457
+ title: 'tool',
458
+ content,
459
+ toolActivity,
460
+ });
461
+ events.finalize(entryId);
462
+ }
463
+ events.toolFinished?.({
464
+ callId: event.callId,
465
+ name: event.name,
466
+ args: event.args,
467
+ success: event.success,
468
+ duration: event.duration,
469
+ summary: event.summary,
470
+ error: event.error,
471
+ outputBytes: event.outputBytes,
472
+ artifactRef: toolActivity.outputView?.detailRef?.artifactId
473
+ ? {
474
+ id: toolActivity.outputView.detailRef.artifactId,
475
+ outputBytes: toolActivity.outputView.detailRef.outputBytes,
476
+ }
477
+ : event.artifactRef,
478
+ externalAssertion: event.externalAssertion,
479
+ sequence: seq,
480
+ batchCount: event.batchCount,
481
+ batchIndex: event.batchIndex,
482
+ });
483
+ },
484
+ finalizePendingAsSkipped(reason = 'permission denied') {
485
+ for (const [callId, entry] of runningToolEntries) {
486
+ events.finalize(entry.entryId, {
487
+ role: 'tool',
488
+ title: 'tool',
489
+ content: `Skipped · ${reason}`,
490
+ toolActivity: {
491
+ state: 'skipped',
492
+ name: entry.name,
493
+ detail: '',
494
+ body: '',
495
+ error: reason,
496
+ seq: entry.sequence,
497
+ },
498
+ });
499
+ events.toolFinished?.({
500
+ callId,
501
+ name: entry.name,
502
+ args: entry.args,
503
+ success: false,
504
+ skipped: true,
505
+ duration: 0,
506
+ error: reason,
507
+ sequence: entry.sequence,
508
+ batchCount: entry.batchCount,
509
+ batchIndex: entry.batchIndex,
510
+ });
511
+ }
512
+ runningToolEntries.clear();
513
+ },
514
+ };
515
+ }
516
+ async function captureConsoleOutput(fn) {
517
+ const lines = [];
518
+ const originalLog = console.log;
519
+ const originalError = console.error;
520
+ const originalWarn = console.warn;
521
+ const capture = (...args) => {
522
+ lines.push((0, chat_trace_1.stripAnsi)(args.map(arg => (typeof arg === 'string' ? arg : JSON.stringify(arg))).join(' ')));
523
+ };
524
+ console.log = capture;
525
+ console.error = capture;
526
+ console.warn = capture;
527
+ try {
528
+ const result = await fn();
529
+ return { result, output: lines.join('\n').trim() };
530
+ }
531
+ finally {
532
+ console.log = originalLog;
533
+ console.error = originalError;
534
+ console.warn = originalWarn;
535
+ }
536
+ }
537
+ //# sourceMappingURL=chat-presentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-presentation.js","sourceRoot":"","sources":["../../src/runtime/chat-presentation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Trace, workspace, checkpoint, and verification helpers for AgentChatController.
3
+ *
4
+ * This module owns deterministic projection/persistence helpers only. It does
5
+ * not execute the chat loop or import commands.
6
+ */
7
+ import { AsyncLocalStorage } from 'async_hooks';
8
+ import type { LLMRequestDiagnostics } from '../services/llm';
9
+ import type { SessionMessage, SessionTraceEvent } from '../services/session-storage';
10
+ import type { LoopStats } from '../framework';
11
+ import type { HarnessState } from '../harness/types';
12
+ import type { OrionCodeUiRuntime, UiEventSink } from './ui-events';
13
+ /**
14
+ * Runtime-only accounting confidence carried from the chat loop into Goal
15
+ * finalization. `false` means the recorded token totals are a known lower
16
+ * bound (for example, an in-flight provider request was aborted before usage
17
+ * metadata arrived).
18
+ */
19
+ export type GoalAccountingLoopStats = LoopStats & {
20
+ usageAccountingComplete?: boolean;
21
+ };
22
+ export declare function stripAnsi(text: string): string;
23
+ export declare function isAbortError(error: unknown, abortSignal?: AbortSignal): boolean;
24
+ export declare function errorLayerForChatError(error: unknown): import('./ui-events').ErrorLayer;
25
+ export declare function formatChatError(error: unknown): string;
26
+ export declare function compactMiddle(text: string, maxLength: number): string;
27
+ export declare function compactToolArgs(args: Record<string, unknown>, maxLength?: number): string;
28
+ interface TraceArgsDetails {
29
+ argsSummary: string;
30
+ argsArtifactId?: string;
31
+ argsBytes?: number;
32
+ }
33
+ export declare function buildTraceArgsDetails(projectPath: string | undefined, name: string, args: Record<string, unknown>): TraceArgsDetails;
34
+ export declare function byteLength(text: string): number;
35
+ export declare function traceTurnId(turnId: number | string | undefined): string;
36
+ export declare function compactTraceError(error: unknown): string;
37
+ export declare function getLastRequestDiagnostics(llm: OrionCodeUiRuntime['llm']): LLMRequestDiagnostics | undefined;
38
+ export declare function appendAssistantNotice(messages: SessionMessage[], notice: string): void;
39
+ export declare function recordTraceEvent(events: UiEventSink, sessionId: string | undefined, event: Omit<SessionTraceEvent, 'sessionId' | 'timestamp'> & {
40
+ timestamp?: number;
41
+ }): SessionTraceEvent | null;
42
+ export declare function recordProviderTraceEvents(events: UiEventSink, sessionId: string | undefined, turnId: string, stats: LoopStats): void;
43
+ export declare function emitHarnessDiagnostics(events: UiEventSink, state: HarnessState): void;
44
+ interface GoalTraceContext {
45
+ goalId: string;
46
+ goalRevision: number;
47
+ goalInputKind: import('./goals/types').AgentInputKind;
48
+ getStopReason: () => string | undefined;
49
+ }
50
+ export declare const goalTraceContext: AsyncLocalStorage<GoalTraceContext>;
51
+ export {};
52
+ //# sourceMappingURL=chat-trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-trace.d.ts","sourceRoot":"","sources":["../../src/runtime/chat-trace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,kBAAkB,EAA6B,WAAW,EAAE,MAAM,aAAa,CAAC;AAK9F;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG;IAChD,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAM/E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,aAAa,EAAE,UAAU,CAkBvF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUtD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAQrE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,SAAM,GAAG,MAAM,CAuBtF;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,gBAAgB,CAgBlB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAEvE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGxD;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAC7B,qBAAqB,GAAG,SAAS,CAQnC;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAatF;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,WAAW,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACjF,iBAAiB,GAAG,IAAI,CAc1B;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,GACf,IAAI,CA0BN;AA8BD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAErF;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,eAAe,EAAE,cAAc,CAAC;IACtD,aAAa,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,eAAO,MAAM,gBAAgB,qCAA4C,CAAC"}