@roackb2/heddle 0.0.2

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 (370) hide show
  1. package/README.md +273 -0
  2. package/dist/examples/conversation.d.ts +2 -0
  3. package/dist/examples/conversation.d.ts.map +1 -0
  4. package/dist/examples/conversation.js +3 -0
  5. package/dist/examples/conversation.js.map +1 -0
  6. package/dist/examples/repo-investigator.d.ts +2 -0
  7. package/dist/examples/repo-investigator.d.ts.map +1 -0
  8. package/dist/examples/repo-investigator.js +57 -0
  9. package/dist/examples/repo-investigator.js.map +1 -0
  10. package/dist/src/__tests__/chat-activity-format.test.d.ts +2 -0
  11. package/dist/src/__tests__/chat-activity-format.test.d.ts.map +1 -0
  12. package/dist/src/__tests__/chat-activity-format.test.js +41 -0
  13. package/dist/src/__tests__/chat-activity-format.test.js.map +1 -0
  14. package/dist/src/__tests__/chat-compaction.test.d.ts +2 -0
  15. package/dist/src/__tests__/chat-compaction.test.d.ts.map +1 -0
  16. package/dist/src/__tests__/chat-compaction.test.js +24 -0
  17. package/dist/src/__tests__/chat-compaction.test.js.map +1 -0
  18. package/dist/src/__tests__/chat-format.test.d.ts +2 -0
  19. package/dist/src/__tests__/chat-format.test.d.ts.map +1 -0
  20. package/dist/src/__tests__/chat-format.test.js +124 -0
  21. package/dist/src/__tests__/chat-format.test.js.map +1 -0
  22. package/dist/src/__tests__/chat-runtime.test.d.ts +2 -0
  23. package/dist/src/__tests__/chat-runtime.test.d.ts.map +1 -0
  24. package/dist/src/__tests__/chat-runtime.test.js +39 -0
  25. package/dist/src/__tests__/chat-runtime.test.js.map +1 -0
  26. package/dist/src/__tests__/core-utils.test.d.ts +2 -0
  27. package/dist/src/__tests__/core-utils.test.d.ts.map +1 -0
  28. package/dist/src/__tests__/core-utils.test.js +87 -0
  29. package/dist/src/__tests__/core-utils.test.js.map +1 -0
  30. package/dist/src/__tests__/llm-factory.test.d.ts +2 -0
  31. package/dist/src/__tests__/llm-factory.test.d.ts.map +1 -0
  32. package/dist/src/__tests__/llm-factory.test.js +45 -0
  33. package/dist/src/__tests__/llm-factory.test.js.map +1 -0
  34. package/dist/src/__tests__/local-commands.test.d.ts +2 -0
  35. package/dist/src/__tests__/local-commands.test.d.ts.map +1 -0
  36. package/dist/src/__tests__/local-commands.test.js +163 -0
  37. package/dist/src/__tests__/local-commands.test.js.map +1 -0
  38. package/dist/src/__tests__/project-approval-rules.test.d.ts +2 -0
  39. package/dist/src/__tests__/project-approval-rules.test.d.ts.map +1 -0
  40. package/dist/src/__tests__/project-approval-rules.test.js +135 -0
  41. package/dist/src/__tests__/project-approval-rules.test.js.map +1 -0
  42. package/dist/src/__tests__/prompts.test.d.ts +2 -0
  43. package/dist/src/__tests__/prompts.test.d.ts.map +1 -0
  44. package/dist/src/__tests__/prompts.test.js +43 -0
  45. package/dist/src/__tests__/prompts.test.js.map +1 -0
  46. package/dist/src/__tests__/run-agent.test.d.ts +2 -0
  47. package/dist/src/__tests__/run-agent.test.d.ts.map +1 -0
  48. package/dist/src/__tests__/run-agent.test.js +1276 -0
  49. package/dist/src/__tests__/run-agent.test.js.map +1 -0
  50. package/dist/src/__tests__/run-shell.command.test.d.ts +2 -0
  51. package/dist/src/__tests__/run-shell.command.test.d.ts.map +1 -0
  52. package/dist/src/__tests__/run-shell.command.test.js +188 -0
  53. package/dist/src/__tests__/run-shell.command.test.js.map +1 -0
  54. package/dist/src/__tests__/smoke.test.d.ts +2 -0
  55. package/dist/src/__tests__/smoke.test.d.ts.map +1 -0
  56. package/dist/src/__tests__/smoke.test.js +314 -0
  57. package/dist/src/__tests__/smoke.test.js.map +1 -0
  58. package/dist/src/__tests__/tools.test.d.ts +2 -0
  59. package/dist/src/__tests__/tools.test.d.ts.map +1 -0
  60. package/dist/src/__tests__/tools.test.js +557 -0
  61. package/dist/src/__tests__/tools.test.js.map +1 -0
  62. package/dist/src/__tests__/trace-format.test.d.ts +2 -0
  63. package/dist/src/__tests__/trace-format.test.d.ts.map +1 -0
  64. package/dist/src/__tests__/trace-format.test.js +148 -0
  65. package/dist/src/__tests__/trace-format.test.js.map +1 -0
  66. package/dist/src/cli/ask.d.ts +11 -0
  67. package/dist/src/cli/ask.d.ts.map +1 -0
  68. package/dist/src/cli/ask.js +59 -0
  69. package/dist/src/cli/ask.js.map +1 -0
  70. package/dist/src/cli/chat/App.d.ts +5 -0
  71. package/dist/src/cli/chat/App.d.ts.map +1 -0
  72. package/dist/src/cli/chat/App.js +348 -0
  73. package/dist/src/cli/chat/App.js.map +1 -0
  74. package/dist/src/cli/chat/actions.d.ts +47 -0
  75. package/dist/src/cli/chat/actions.d.ts.map +1 -0
  76. package/dist/src/cli/chat/actions.js +215 -0
  77. package/dist/src/cli/chat/actions.js.map +1 -0
  78. package/dist/src/cli/chat/components/ActivityPanel.d.ts +11 -0
  79. package/dist/src/cli/chat/components/ActivityPanel.d.ts.map +1 -0
  80. package/dist/src/cli/chat/components/ActivityPanel.js +20 -0
  81. package/dist/src/cli/chat/components/ActivityPanel.js.map +1 -0
  82. package/dist/src/cli/chat/components/ApprovalComposer.d.ts +6 -0
  83. package/dist/src/cli/chat/components/ApprovalComposer.d.ts.map +1 -0
  84. package/dist/src/cli/chat/components/ApprovalComposer.js +30 -0
  85. package/dist/src/cli/chat/components/ApprovalComposer.js.map +1 -0
  86. package/dist/src/cli/chat/components/CommandHintPanel.d.ts +5 -0
  87. package/dist/src/cli/chat/components/CommandHintPanel.d.ts.map +1 -0
  88. package/dist/src/cli/chat/components/CommandHintPanel.js +13 -0
  89. package/dist/src/cli/chat/components/CommandHintPanel.js.map +1 -0
  90. package/dist/src/cli/chat/components/ConversationPanel.d.ts +16 -0
  91. package/dist/src/cli/chat/components/ConversationPanel.d.ts.map +1 -0
  92. package/dist/src/cli/chat/components/ConversationPanel.js +218 -0
  93. package/dist/src/cli/chat/components/ConversationPanel.js.map +1 -0
  94. package/dist/src/cli/chat/components/ModelPickerPanel.d.ts +7 -0
  95. package/dist/src/cli/chat/components/ModelPickerPanel.d.ts.map +1 -0
  96. package/dist/src/cli/chat/components/ModelPickerPanel.js +32 -0
  97. package/dist/src/cli/chat/components/ModelPickerPanel.js.map +1 -0
  98. package/dist/src/cli/chat/components/PromptInput.d.ts +29 -0
  99. package/dist/src/cli/chat/components/PromptInput.d.ts.map +1 -0
  100. package/dist/src/cli/chat/components/PromptInput.js +132 -0
  101. package/dist/src/cli/chat/components/PromptInput.js.map +1 -0
  102. package/dist/src/cli/chat/components/RecentTurnsPanel.d.ts +5 -0
  103. package/dist/src/cli/chat/components/RecentTurnsPanel.d.ts.map +1 -0
  104. package/dist/src/cli/chat/components/RecentTurnsPanel.js +10 -0
  105. package/dist/src/cli/chat/components/RecentTurnsPanel.js.map +1 -0
  106. package/dist/src/cli/chat/components/SessionPickerPanel.d.ts +12 -0
  107. package/dist/src/cli/chat/components/SessionPickerPanel.d.ts.map +1 -0
  108. package/dist/src/cli/chat/components/SessionPickerPanel.js +32 -0
  109. package/dist/src/cli/chat/components/SessionPickerPanel.js.map +1 -0
  110. package/dist/src/cli/chat/components/SlashHintPanel.d.ts +8 -0
  111. package/dist/src/cli/chat/components/SlashHintPanel.d.ts.map +1 -0
  112. package/dist/src/cli/chat/components/SlashHintPanel.js +38 -0
  113. package/dist/src/cli/chat/components/SlashHintPanel.js.map +1 -0
  114. package/dist/src/cli/chat/components/index.d.ts +10 -0
  115. package/dist/src/cli/chat/components/index.d.ts.map +1 -0
  116. package/dist/src/cli/chat/components/index.js +10 -0
  117. package/dist/src/cli/chat/components/index.js.map +1 -0
  118. package/dist/src/cli/chat/format.d.ts +23 -0
  119. package/dist/src/cli/chat/format.d.ts.map +1 -0
  120. package/dist/src/cli/chat/format.js +243 -0
  121. package/dist/src/cli/chat/format.js.map +1 -0
  122. package/dist/src/cli/chat/hooks/useAgentRun.d.ts +61 -0
  123. package/dist/src/cli/chat/hooks/useAgentRun.d.ts.map +1 -0
  124. package/dist/src/cli/chat/hooks/useAgentRun.js +463 -0
  125. package/dist/src/cli/chat/hooks/useAgentRun.js.map +1 -0
  126. package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts +31 -0
  127. package/dist/src/cli/chat/hooks/useApprovalFlow.d.ts.map +1 -0
  128. package/dist/src/cli/chat/hooks/useApprovalFlow.js +145 -0
  129. package/dist/src/cli/chat/hooks/useApprovalFlow.js.map +1 -0
  130. package/dist/src/cli/chat/hooks/useChatSessions.d.ts +23 -0
  131. package/dist/src/cli/chat/hooks/useChatSessions.d.ts.map +1 -0
  132. package/dist/src/cli/chat/hooks/useChatSessions.js +124 -0
  133. package/dist/src/cli/chat/hooks/useChatSessions.js.map +1 -0
  134. package/dist/src/cli/chat/hooks/useProjectApprovals.d.ts +8 -0
  135. package/dist/src/cli/chat/hooks/useProjectApprovals.d.ts.map +1 -0
  136. package/dist/src/cli/chat/hooks/useProjectApprovals.js +33 -0
  137. package/dist/src/cli/chat/hooks/useProjectApprovals.js.map +1 -0
  138. package/dist/src/cli/chat/index.d.ts +4 -0
  139. package/dist/src/cli/chat/index.d.ts.map +1 -0
  140. package/dist/src/cli/chat/index.js +9 -0
  141. package/dist/src/cli/chat/index.js.map +1 -0
  142. package/dist/src/cli/chat/local-commands.d.ts +17 -0
  143. package/dist/src/cli/chat/local-commands.d.ts.map +1 -0
  144. package/dist/src/cli/chat/local-commands.js +180 -0
  145. package/dist/src/cli/chat/local-commands.js.map +1 -0
  146. package/dist/src/cli/chat/panels.d.ts +37 -0
  147. package/dist/src/cli/chat/panels.d.ts.map +1 -0
  148. package/dist/src/cli/chat/panels.js +142 -0
  149. package/dist/src/cli/chat/panels.js.map +1 -0
  150. package/dist/src/cli/chat/runtime.d.ts +26 -0
  151. package/dist/src/cli/chat/runtime.d.ts.map +1 -0
  152. package/dist/src/cli/chat/runtime.js +28 -0
  153. package/dist/src/cli/chat/runtime.js.map +1 -0
  154. package/dist/src/cli/chat/state/approval-rules.d.ts +21 -0
  155. package/dist/src/cli/chat/state/approval-rules.d.ts.map +1 -0
  156. package/dist/src/cli/chat/state/approval-rules.js +196 -0
  157. package/dist/src/cli/chat/state/approval-rules.js.map +1 -0
  158. package/dist/src/cli/chat/state/compaction.d.ts +13 -0
  159. package/dist/src/cli/chat/state/compaction.d.ts.map +1 -0
  160. package/dist/src/cli/chat/state/compaction.js +143 -0
  161. package/dist/src/cli/chat/state/compaction.js.map +1 -0
  162. package/dist/src/cli/chat/state/local-commands.d.ts +17 -0
  163. package/dist/src/cli/chat/state/local-commands.d.ts.map +1 -0
  164. package/dist/src/cli/chat/state/local-commands.js +169 -0
  165. package/dist/src/cli/chat/state/local-commands.js.map +1 -0
  166. package/dist/src/cli/chat/state/storage.d.ts +14 -0
  167. package/dist/src/cli/chat/state/storage.d.ts.map +1 -0
  168. package/dist/src/cli/chat/state/storage.js +144 -0
  169. package/dist/src/cli/chat/state/storage.js.map +1 -0
  170. package/dist/src/cli/chat/state/types.d.ts +69 -0
  171. package/dist/src/cli/chat/state/types.d.ts.map +1 -0
  172. package/dist/src/cli/chat/state/types.js +2 -0
  173. package/dist/src/cli/chat/state/types.js.map +1 -0
  174. package/dist/src/cli/chat/storage.d.ts +13 -0
  175. package/dist/src/cli/chat/storage.d.ts.map +1 -0
  176. package/dist/src/cli/chat/storage.js +126 -0
  177. package/dist/src/cli/chat/storage.js.map +1 -0
  178. package/dist/src/cli/chat/submit.d.ts +28 -0
  179. package/dist/src/cli/chat/submit.d.ts.map +1 -0
  180. package/dist/src/cli/chat/submit.js +90 -0
  181. package/dist/src/cli/chat/submit.js.map +1 -0
  182. package/dist/src/cli/chat/types.d.ts +51 -0
  183. package/dist/src/cli/chat/types.d.ts.map +1 -0
  184. package/dist/src/cli/chat/types.js +2 -0
  185. package/dist/src/cli/chat/types.js.map +1 -0
  186. package/dist/src/cli/chat/use-run-state.d.ts +23 -0
  187. package/dist/src/cli/chat/use-run-state.d.ts.map +1 -0
  188. package/dist/src/cli/chat/use-run-state.js +118 -0
  189. package/dist/src/cli/chat/use-run-state.js.map +1 -0
  190. package/dist/src/cli/chat/use-sessions.d.ts +21 -0
  191. package/dist/src/cli/chat/use-sessions.d.ts.map +1 -0
  192. package/dist/src/cli/chat/use-sessions.js +111 -0
  193. package/dist/src/cli/chat/use-sessions.js.map +1 -0
  194. package/dist/src/cli/chat/utils/format.d.ts +41 -0
  195. package/dist/src/cli/chat/utils/format.d.ts.map +1 -0
  196. package/dist/src/cli/chat/utils/format.js +578 -0
  197. package/dist/src/cli/chat/utils/format.js.map +1 -0
  198. package/dist/src/cli/chat/utils/runtime.d.ts +31 -0
  199. package/dist/src/cli/chat/utils/runtime.d.ts.map +1 -0
  200. package/dist/src/cli/chat/utils/runtime.js +56 -0
  201. package/dist/src/cli/chat/utils/runtime.js.map +1 -0
  202. package/dist/src/cli/chat-actions.d.ts +47 -0
  203. package/dist/src/cli/chat-actions.d.ts.map +1 -0
  204. package/dist/src/cli/chat-actions.js +215 -0
  205. package/dist/src/cli/chat-actions.js.map +1 -0
  206. package/dist/src/cli/chat-format.d.ts +23 -0
  207. package/dist/src/cli/chat-format.d.ts.map +1 -0
  208. package/dist/src/cli/chat-format.js +243 -0
  209. package/dist/src/cli/chat-format.js.map +1 -0
  210. package/dist/src/cli/chat-local-commands.d.ts +17 -0
  211. package/dist/src/cli/chat-local-commands.d.ts.map +1 -0
  212. package/dist/src/cli/chat-local-commands.js +180 -0
  213. package/dist/src/cli/chat-local-commands.js.map +1 -0
  214. package/dist/src/cli/chat-panels.d.ts +37 -0
  215. package/dist/src/cli/chat-panels.d.ts.map +1 -0
  216. package/dist/src/cli/chat-panels.js +142 -0
  217. package/dist/src/cli/chat-panels.js.map +1 -0
  218. package/dist/src/cli/chat-runtime.d.ts +26 -0
  219. package/dist/src/cli/chat-runtime.d.ts.map +1 -0
  220. package/dist/src/cli/chat-runtime.js +28 -0
  221. package/dist/src/cli/chat-runtime.js.map +1 -0
  222. package/dist/src/cli/chat-storage.d.ts +13 -0
  223. package/dist/src/cli/chat-storage.d.ts.map +1 -0
  224. package/dist/src/cli/chat-storage.js +126 -0
  225. package/dist/src/cli/chat-storage.js.map +1 -0
  226. package/dist/src/cli/chat-submit.d.ts +28 -0
  227. package/dist/src/cli/chat-submit.d.ts.map +1 -0
  228. package/dist/src/cli/chat-submit.js +90 -0
  229. package/dist/src/cli/chat-submit.js.map +1 -0
  230. package/dist/src/cli/chat-types.d.ts +51 -0
  231. package/dist/src/cli/chat-types.d.ts.map +1 -0
  232. package/dist/src/cli/chat-types.js +2 -0
  233. package/dist/src/cli/chat-types.js.map +1 -0
  234. package/dist/src/cli/chat.d.ts +4 -0
  235. package/dist/src/cli/chat.d.ts.map +1 -0
  236. package/dist/src/cli/chat.js +153 -0
  237. package/dist/src/cli/chat.js.map +1 -0
  238. package/dist/src/cli/main.d.ts +3 -0
  239. package/dist/src/cli/main.d.ts.map +1 -0
  240. package/dist/src/cli/main.js +190 -0
  241. package/dist/src/cli/main.js.map +1 -0
  242. package/dist/src/cli/useChatRunState.d.ts +23 -0
  243. package/dist/src/cli/useChatRunState.d.ts.map +1 -0
  244. package/dist/src/cli/useChatRunState.js +118 -0
  245. package/dist/src/cli/useChatRunState.js.map +1 -0
  246. package/dist/src/cli/useChatSessions.d.ts +21 -0
  247. package/dist/src/cli/useChatSessions.d.ts.map +1 -0
  248. package/dist/src/cli/useChatSessions.js +111 -0
  249. package/dist/src/cli/useChatSessions.js.map +1 -0
  250. package/dist/src/config.d.ts +4 -0
  251. package/dist/src/config.d.ts.map +1 -0
  252. package/dist/src/config.js +7 -0
  253. package/dist/src/config.js.map +1 -0
  254. package/dist/src/index.d.ts +36 -0
  255. package/dist/src/index.d.ts.map +1 -0
  256. package/dist/src/index.js +31 -0
  257. package/dist/src/index.js.map +1 -0
  258. package/dist/src/llm/anthropic.d.ts +7 -0
  259. package/dist/src/llm/anthropic.d.ts.map +1 -0
  260. package/dist/src/llm/anthropic.js +115 -0
  261. package/dist/src/llm/anthropic.js.map +1 -0
  262. package/dist/src/llm/factory.d.ts +10 -0
  263. package/dist/src/llm/factory.d.ts.map +1 -0
  264. package/dist/src/llm/factory.js +53 -0
  265. package/dist/src/llm/factory.js.map +1 -0
  266. package/dist/src/llm/openai-models.d.ts +15 -0
  267. package/dist/src/llm/openai-models.d.ts.map +1 -0
  268. package/dist/src/llm/openai-models.js +97 -0
  269. package/dist/src/llm/openai-models.js.map +1 -0
  270. package/dist/src/llm/openai.d.ts +10 -0
  271. package/dist/src/llm/openai.d.ts.map +1 -0
  272. package/dist/src/llm/openai.js +170 -0
  273. package/dist/src/llm/openai.js.map +1 -0
  274. package/dist/src/llm/types.d.ts +64 -0
  275. package/dist/src/llm/types.d.ts.map +1 -0
  276. package/dist/src/llm/types.js +5 -0
  277. package/dist/src/llm/types.js.map +1 -0
  278. package/dist/src/prompts/system-prompt.d.ts +6 -0
  279. package/dist/src/prompts/system-prompt.d.ts.map +1 -0
  280. package/dist/src/prompts/system-prompt.js +117 -0
  281. package/dist/src/prompts/system-prompt.js.map +1 -0
  282. package/dist/src/run-agent/history.d.ts +3 -0
  283. package/dist/src/run-agent/history.d.ts.map +1 -0
  284. package/dist/src/run-agent/history.js +36 -0
  285. package/dist/src/run-agent/history.js.map +1 -0
  286. package/dist/src/run-agent/mutation-tracking.d.ts +22 -0
  287. package/dist/src/run-agent/mutation-tracking.d.ts.map +1 -0
  288. package/dist/src/run-agent/mutation-tracking.js +116 -0
  289. package/dist/src/run-agent/mutation-tracking.js.map +1 -0
  290. package/dist/src/run-agent/post-mutation.d.ts +23 -0
  291. package/dist/src/run-agent/post-mutation.d.ts.map +1 -0
  292. package/dist/src/run-agent/post-mutation.js +106 -0
  293. package/dist/src/run-agent/post-mutation.js.map +1 -0
  294. package/dist/src/run-agent/progress-reminders.d.ts +13 -0
  295. package/dist/src/run-agent/progress-reminders.d.ts.map +1 -0
  296. package/dist/src/run-agent/progress-reminders.js +65 -0
  297. package/dist/src/run-agent/progress-reminders.js.map +1 -0
  298. package/dist/src/run-agent/tool-dispatch.d.ts +31 -0
  299. package/dist/src/run-agent/tool-dispatch.d.ts.map +1 -0
  300. package/dist/src/run-agent/tool-dispatch.js +114 -0
  301. package/dist/src/run-agent/tool-dispatch.js.map +1 -0
  302. package/dist/src/run-agent/util.d.ts +10 -0
  303. package/dist/src/run-agent/util.d.ts.map +1 -0
  304. package/dist/src/run-agent/util.js +64 -0
  305. package/dist/src/run-agent/util.js.map +1 -0
  306. package/dist/src/run-agent.d.ts +36 -0
  307. package/dist/src/run-agent.d.ts.map +1 -0
  308. package/dist/src/run-agent.js +477 -0
  309. package/dist/src/run-agent.js.map +1 -0
  310. package/dist/src/tools/edit-file.d.ts +10 -0
  311. package/dist/src/tools/edit-file.d.ts.map +1 -0
  312. package/dist/src/tools/edit-file.js +268 -0
  313. package/dist/src/tools/edit-file.js.map +1 -0
  314. package/dist/src/tools/execute-tool.d.ts +8 -0
  315. package/dist/src/tools/execute-tool.d.ts.map +1 -0
  316. package/dist/src/tools/execute-tool.js +31 -0
  317. package/dist/src/tools/execute-tool.js.map +1 -0
  318. package/dist/src/tools/list-files.d.ts +3 -0
  319. package/dist/src/tools/list-files.d.ts.map +1 -0
  320. package/dist/src/tools/list-files.js +49 -0
  321. package/dist/src/tools/list-files.js.map +1 -0
  322. package/dist/src/tools/read-file.d.ts +3 -0
  323. package/dist/src/tools/read-file.d.ts.map +1 -0
  324. package/dist/src/tools/read-file.js +73 -0
  325. package/dist/src/tools/read-file.js.map +1 -0
  326. package/dist/src/tools/registry.d.ts +11 -0
  327. package/dist/src/tools/registry.d.ts.map +1 -0
  328. package/dist/src/tools/registry.js +27 -0
  329. package/dist/src/tools/registry.js.map +1 -0
  330. package/dist/src/tools/report-state.d.ts +3 -0
  331. package/dist/src/tools/report-state.d.ts.map +1 -0
  332. package/dist/src/tools/report-state.js +63 -0
  333. package/dist/src/tools/report-state.js.map +1 -0
  334. package/dist/src/tools/run-shell.d.ts +41 -0
  335. package/dist/src/tools/run-shell.d.ts.map +1 -0
  336. package/dist/src/tools/run-shell.js +407 -0
  337. package/dist/src/tools/run-shell.js.map +1 -0
  338. package/dist/src/tools/search-files.d.ts +8 -0
  339. package/dist/src/tools/search-files.d.ts.map +1 -0
  340. package/dist/src/tools/search-files.js +86 -0
  341. package/dist/src/tools/search-files.js.map +1 -0
  342. package/dist/src/tools/update-plan.d.ts +8 -0
  343. package/dist/src/tools/update-plan.d.ts.map +1 -0
  344. package/dist/src/tools/update-plan.js +85 -0
  345. package/dist/src/tools/update-plan.js.map +1 -0
  346. package/dist/src/trace/format.d.ts +6 -0
  347. package/dist/src/trace/format.d.ts.map +1 -0
  348. package/dist/src/trace/format.js +94 -0
  349. package/dist/src/trace/format.js.map +1 -0
  350. package/dist/src/trace/recorder.d.ts +11 -0
  351. package/dist/src/trace/recorder.d.ts.map +1 -0
  352. package/dist/src/trace/recorder.js +21 -0
  353. package/dist/src/trace/recorder.js.map +1 -0
  354. package/dist/src/types.d.ts +110 -0
  355. package/dist/src/types.d.ts.map +1 -0
  356. package/dist/src/types.js +6 -0
  357. package/dist/src/types.js.map +1 -0
  358. package/dist/src/utils/budget.d.ts +13 -0
  359. package/dist/src/utils/budget.d.ts.map +1 -0
  360. package/dist/src/utils/budget.js +22 -0
  361. package/dist/src/utils/budget.js.map +1 -0
  362. package/dist/src/utils/errors.d.ts +14 -0
  363. package/dist/src/utils/errors.d.ts.map +1 -0
  364. package/dist/src/utils/errors.js +31 -0
  365. package/dist/src/utils/errors.js.map +1 -0
  366. package/dist/src/utils/logger.d.ts +17 -0
  367. package/dist/src/utils/logger.d.ts.map +1 -0
  368. package/dist/src/utils/logger.js +50 -0
  369. package/dist/src/utils/logger.js.map +1 -0
  370. package/package.json +57 -0
@@ -0,0 +1,578 @@
1
+ import { classifyShellCommandPolicy, DEFAULT_MUTATE_RULES, } from '../../../tools/run-shell.js';
2
+ import { isCompactedHistorySummary } from '../state/compaction.js';
3
+ const MAX_SHELL_OUTPUT_CHARS = 1400;
4
+ const MAX_TOOL_CALL_SUMMARY_CHARS = 96;
5
+ export function buildConversationMessages(history) {
6
+ return history.flatMap((message, index) => {
7
+ if (isCompactedHistorySummary(message)) {
8
+ return [{
9
+ id: `compacted-${index}`,
10
+ role: 'assistant',
11
+ text: 'Earlier conversation history was compacted to preserve context for longer chats.',
12
+ }];
13
+ }
14
+ if (message.role === 'user' || message.role === 'assistant') {
15
+ if (!message.content.trim()) {
16
+ return [];
17
+ }
18
+ return [{ id: `${message.role}-${index}-${message.content}`, role: message.role, text: message.content }];
19
+ }
20
+ if (message.role === 'tool') {
21
+ const rendered = renderToolHistoryMessage(message, history, index);
22
+ if (!rendered) {
23
+ return [];
24
+ }
25
+ return [{ id: `tool-${index}-${rendered}`, role: 'assistant', text: rendered }];
26
+ }
27
+ return [];
28
+ });
29
+ }
30
+ export function summarizeTrace(trace) {
31
+ return trace.flatMap((event) => {
32
+ switch (event.type) {
33
+ case 'assistant.turn':
34
+ return [
35
+ ...(event.diagnostics?.rationale ? [`reasoning: ${truncate(event.diagnostics.rationale, 140)}`] : []),
36
+ event.requestedTools ?
37
+ `assistant requested ${event.toolCalls?.map((call) => summarizeToolCall(call.tool, call.input)).join(', ')}`
38
+ : 'assistant answered',
39
+ ];
40
+ case 'tool.approval_requested':
41
+ return [`approval requested for ${summarizeToolCall(event.call.tool, event.call.input)}`];
42
+ case 'tool.approval_resolved':
43
+ return [
44
+ `approval ${event.approved ? 'granted' : 'denied'} for ${summarizeToolCall(event.call.tool, event.call.input)}${event.reason ? ` (${truncate(event.reason, 80)})` : ''}`,
45
+ ];
46
+ case 'tool.fallback':
47
+ return [
48
+ `fallback ${summarizeToolCall(event.fromCall.tool, event.fromCall.input)} -> ${summarizeToolCall(event.toCall.tool, event.toCall.input)} (${event.reason})`,
49
+ ];
50
+ case 'tool.call':
51
+ return [`tool call ${summarizeToolCall(event.call.tool, event.call.input)}`];
52
+ case 'tool.result':
53
+ return [
54
+ `tool result ${summarizeToolResult(event.tool, extractShellCommand(event.result.output), event.result.output)}: ${event.result.ok ? 'ok' : event.result.error ?? 'error'}`,
55
+ ];
56
+ case 'run.finished':
57
+ return [`run finished: ${event.outcome}`];
58
+ default:
59
+ return [];
60
+ }
61
+ });
62
+ }
63
+ export function countAssistantSteps(trace) {
64
+ return trace.filter((event) => event.type === 'assistant.turn').length;
65
+ }
66
+ export function toLiveEvent(event) {
67
+ switch (event.type) {
68
+ case 'run.started':
69
+ return 'thinking';
70
+ case 'assistant.turn':
71
+ if (event.diagnostics?.rationale) {
72
+ return `reasoning: ${truncate(event.diagnostics.rationale, 140)}`;
73
+ }
74
+ if (event.requestedTools) {
75
+ return undefined;
76
+ }
77
+ return 'answer ready';
78
+ case 'tool.approval_requested':
79
+ return `approval needed for ${summarizeToolCall(event.call.tool, event.call.input)}`;
80
+ case 'tool.approval_resolved':
81
+ return `approval ${event.approved ? 'granted' : 'denied'} for ${summarizeToolCall(event.call.tool, event.call.input)}${event.reason ? ` (${truncate(event.reason, 80)})` : ''}`;
82
+ case 'tool.fallback':
83
+ return `retrying with ${summarizeToolCall(event.toCall.tool, event.toCall.input)} after ${summarizeToolCall(event.fromCall.tool, event.fromCall.input)} was blocked (${truncate(event.reason, 80)})`;
84
+ case 'tool.call':
85
+ return `running ${summarizeToolCall(event.call.tool, event.call.input)}`;
86
+ case 'tool.result':
87
+ return `${summarizeToolResult(event.tool, extractShellCommand(event.result.output), event.result.output)} ${event.result.ok ? 'completed' : `failed: ${event.result.error ?? 'error'}`}`;
88
+ case 'run.finished':
89
+ return event.outcome === 'done' ? undefined : `stopped: ${event.outcome}`;
90
+ default:
91
+ return undefined;
92
+ }
93
+ }
94
+ export function currentActivityText(liveEvents, isRunning, elapsedSeconds, pendingApproval, interruptRequested) {
95
+ if (pendingApproval) {
96
+ return formatApprovalPrompt(pendingApproval);
97
+ }
98
+ if (interruptRequested) {
99
+ return 'interrupt requested; waiting for the current step to finish';
100
+ }
101
+ const current = liveEvents[liveEvents.length - 1]?.text;
102
+ if (isRunning) {
103
+ return current ? `${current} · ${elapsedSeconds}s` : 'waiting for first agent event...';
104
+ }
105
+ return current ?? 'idle';
106
+ }
107
+ export function formatApprovalPrompt(pendingApproval) {
108
+ return summarizePendingApproval(pendingApproval).title;
109
+ }
110
+ export function formatApprovalHint(pendingApproval) {
111
+ const summary = summarizePendingApproval(pendingApproval);
112
+ const rememberLabel = summary.rememberLabel ? `A ${summary.rememberLabel}` : 'A remember for project';
113
+ return `Y approve once • ${rememberLabel} • N deny • Enter confirms selected choice`;
114
+ }
115
+ export function summarizePendingApproval(pendingApproval) {
116
+ const policy = describePendingApprovalPolicy(pendingApproval);
117
+ const command = extractShellCommand(pendingApproval.call.input);
118
+ const editPath = extractEditPath(pendingApproval.call.input);
119
+ if (command) {
120
+ const title = policy?.capability === 'verification' ? 'Run verification command'
121
+ : policy?.scope === 'external' ? 'Run external command'
122
+ : 'Run mutation command';
123
+ const why = policy ? `${policy.scope} scope • ${policy.capability} • ${policy.risk} risk`
124
+ : 'approval required before running this command';
125
+ const effects = buildApprovalEffects({
126
+ tool: pendingApproval.call.tool,
127
+ command,
128
+ scope: policy?.scope,
129
+ capability: policy?.capability,
130
+ risk: policy?.risk,
131
+ });
132
+ return {
133
+ title,
134
+ command,
135
+ scope: policy?.scope,
136
+ risk: policy?.risk,
137
+ capability: policy?.capability,
138
+ why,
139
+ effects,
140
+ rememberLabel: pendingApproval.rememberLabel,
141
+ };
142
+ }
143
+ if (pendingApproval.call.tool === 'edit_file') {
144
+ return {
145
+ title: 'Edit file',
146
+ command: editPath,
147
+ scope: 'workspace',
148
+ risk: 'medium',
149
+ capability: 'file_edit',
150
+ why: editPath ? `edit_file on ${editPath}` : 'approval required before editing a file',
151
+ effects: [
152
+ editPath ? `modifies ${editPath}` : 'modifies a workspace file',
153
+ 'stays inside the current repository',
154
+ ],
155
+ rememberLabel: pendingApproval.rememberLabel,
156
+ };
157
+ }
158
+ return {
159
+ title: `Allow ${pendingApproval.call.tool}`,
160
+ why: 'approval required for this tool call',
161
+ effects: ['tool-specific side effects are not yet summarized'],
162
+ rememberLabel: pendingApproval.rememberLabel,
163
+ };
164
+ }
165
+ export function summarizeToolCall(tool, input) {
166
+ const planSummary = summarizePlanInput(tool, input);
167
+ if (planSummary) {
168
+ return planSummary;
169
+ }
170
+ const shellCommand = extractShellCommand(input);
171
+ if (shellCommand) {
172
+ return `${tool} (${truncate(shellCommand, MAX_TOOL_CALL_SUMMARY_CHARS)})`;
173
+ }
174
+ const searchSummary = summarizeSearchInput(tool, input);
175
+ if (searchSummary) {
176
+ return searchSummary;
177
+ }
178
+ const path = extractPathField(input);
179
+ if (isPathAwareTool(tool) && path) {
180
+ return `${tool} (${truncate(path, MAX_TOOL_CALL_SUMMARY_CHARS)})`;
181
+ }
182
+ return tool;
183
+ }
184
+ export function summarizeToolResult(tool, command, output) {
185
+ if (command) {
186
+ return `${tool} (${truncate(command, MAX_TOOL_CALL_SUMMARY_CHARS)})`;
187
+ }
188
+ const outputPath = extractOutputPath(output);
189
+ if (tool === 'edit_file' && outputPath) {
190
+ return `${tool} (${truncate(outputPath, MAX_TOOL_CALL_SUMMARY_CHARS)})`;
191
+ }
192
+ return tool;
193
+ }
194
+ export function extractShellCommand(value) {
195
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
196
+ return undefined;
197
+ }
198
+ const command = value.command;
199
+ return typeof command === 'string' && command.trim() ? command.trim() : undefined;
200
+ }
201
+ export function extractEditPath(value) {
202
+ return extractPathField(value);
203
+ }
204
+ export function extractPathField(value) {
205
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
206
+ return undefined;
207
+ }
208
+ const path = value.path;
209
+ return typeof path === 'string' && path.trim() ? path.trim() : undefined;
210
+ }
211
+ export function extractQueryField(value) {
212
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
213
+ return undefined;
214
+ }
215
+ const query = value.query;
216
+ return typeof query === 'string' && query.trim() ? query.trim() : undefined;
217
+ }
218
+ export function extractOutputPath(value) {
219
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
220
+ return undefined;
221
+ }
222
+ const path = value.path;
223
+ return typeof path === 'string' && path.trim() ? path.trim() : undefined;
224
+ }
225
+ export function truncate(value, maxLength) {
226
+ if (value.length <= maxLength) {
227
+ return value;
228
+ }
229
+ return `${value.slice(0, maxLength - 1)}…`;
230
+ }
231
+ export function normalizeInlineText(value) {
232
+ return value.replace(/\r?\n+/g, ' ').replace(/\s+/g, ' ').trim();
233
+ }
234
+ export function parsePositiveInt(raw) {
235
+ if (!raw) {
236
+ return undefined;
237
+ }
238
+ const value = Number.parseInt(raw, 10);
239
+ if (!Number.isFinite(value) || value <= 0) {
240
+ return undefined;
241
+ }
242
+ return value;
243
+ }
244
+ export function shouldFallbackToMutate(error) {
245
+ if (!error) {
246
+ return false;
247
+ }
248
+ return error.includes('run_shell_inspect policy') || error.includes('Inspect mode permits read-only pipes');
249
+ }
250
+ export function formatDirectShellResponse(toolName, command, result) {
251
+ const lines = [
252
+ '## Direct shell result',
253
+ '',
254
+ `Command: \`${command}\``,
255
+ `Tool: ${toolName}`,
256
+ ];
257
+ const policy = extractPolicySummary(result.output);
258
+ if (policy) {
259
+ lines.push(`Policy: ${policy}`);
260
+ }
261
+ if (result.ok) {
262
+ const stdout = extractTextOutput(result.output, 'stdout');
263
+ const stderr = extractTextOutput(result.output, 'stderr');
264
+ lines.push('Outcome: success');
265
+ if (stdout) {
266
+ lines.push('', '### stdout', '```text', truncate(stdout, MAX_SHELL_OUTPUT_CHARS), '```');
267
+ }
268
+ if (stderr) {
269
+ lines.push('', '### stderr', '```text', truncate(stderr, MAX_SHELL_OUTPUT_CHARS), '```');
270
+ }
271
+ if (!stdout && !stderr) {
272
+ lines.push('', 'No stdout or stderr output.');
273
+ }
274
+ return lines.join('\n');
275
+ }
276
+ lines.push('Outcome: failed');
277
+ if (result.error) {
278
+ lines.push('', `Error: ${result.error}`);
279
+ }
280
+ const stdout = extractTextOutput(result.output, 'stdout');
281
+ const stderr = extractTextOutput(result.output, 'stderr');
282
+ if (stdout) {
283
+ lines.push('', '### stdout', '```text', truncate(stdout, MAX_SHELL_OUTPUT_CHARS), '```');
284
+ }
285
+ if (stderr) {
286
+ lines.push('', '### stderr', '```text', truncate(stderr, MAX_SHELL_OUTPUT_CHARS), '```');
287
+ }
288
+ return lines.join('\n');
289
+ }
290
+ export function extractTextOutput(value, field) {
291
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
292
+ return undefined;
293
+ }
294
+ const candidate = value[field];
295
+ return typeof candidate === 'string' && candidate.trim() ? candidate.trim() : undefined;
296
+ }
297
+ export function extractPolicySummary(value) {
298
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
299
+ return undefined;
300
+ }
301
+ const policy = value.policy;
302
+ if (!policy || typeof policy !== 'object' || Array.isArray(policy)) {
303
+ return undefined;
304
+ }
305
+ const candidate = policy;
306
+ const scope = typeof candidate.scope === 'string' ? candidate.scope : undefined;
307
+ const risk = typeof candidate.risk === 'string' ? candidate.risk : undefined;
308
+ const reason = typeof candidate.reason === 'string' ? candidate.reason : undefined;
309
+ const parts = [scope, risk, reason].filter(Boolean);
310
+ return parts.length > 0 ? parts.join(' • ') : undefined;
311
+ }
312
+ function describePendingApprovalPolicy(pendingApproval) {
313
+ if (pendingApproval.call.tool !== 'run_shell_mutate') {
314
+ return undefined;
315
+ }
316
+ const command = extractShellCommand(pendingApproval.call.input);
317
+ if (!command) {
318
+ return undefined;
319
+ }
320
+ const result = classifyShellCommandPolicy(command, {
321
+ toolName: 'run_shell_mutate',
322
+ rules: DEFAULT_MUTATE_RULES,
323
+ allowUnknown: true,
324
+ });
325
+ return 'error' in result ? undefined : result;
326
+ }
327
+ function buildApprovalEffects(options) {
328
+ const effects = [];
329
+ if (options.scope === 'workspace') {
330
+ effects.push('stays inside the current repository');
331
+ }
332
+ if (options.scope === 'external') {
333
+ effects.push('may affect an external system outside the repo');
334
+ }
335
+ if (options.capability === 'verification') {
336
+ effects.push('runs a verification command to check current changes');
337
+ }
338
+ if (options.capability === 'git_staging') {
339
+ effects.push('updates git staging state');
340
+ }
341
+ if (options.capability === 'project_script') {
342
+ effects.push('runs a project-defined script with repo-defined side effects');
343
+ }
344
+ if (options.risk === 'unknown') {
345
+ effects.push('command is not specifically classified, so review the exact command carefully');
346
+ }
347
+ if (effects.length === 0) {
348
+ effects.push(`runs: ${truncate(options.command, 96)}`);
349
+ }
350
+ return effects;
351
+ }
352
+ export function isGenericSessionName(name) {
353
+ return /^Session \d+$/.test(name.trim());
354
+ }
355
+ export function normalizeSessionTitle(value) {
356
+ if (!value) {
357
+ return undefined;
358
+ }
359
+ const normalized = value
360
+ .replace(/[\r\n]+/g, ' ')
361
+ .replace(/["'`]/g, '')
362
+ .replace(/\s+/g, ' ')
363
+ .trim();
364
+ if (!normalized) {
365
+ return undefined;
366
+ }
367
+ return truncate(normalized, 48);
368
+ }
369
+ function isPathAwareTool(tool) {
370
+ return tool === 'edit_file' || tool === 'read_file' || tool === 'list_files';
371
+ }
372
+ function summarizeSearchInput(tool, input) {
373
+ if (tool !== 'search_files') {
374
+ return undefined;
375
+ }
376
+ const query = extractQueryField(input);
377
+ if (!query) {
378
+ return tool;
379
+ }
380
+ const path = extractPathField(input);
381
+ const querySummary = truncate(JSON.stringify(query), Math.max(12, Math.floor(MAX_TOOL_CALL_SUMMARY_CHARS / 2)));
382
+ if (path) {
383
+ return `${tool} (${querySummary} in ${truncate(path, Math.max(12, Math.floor(MAX_TOOL_CALL_SUMMARY_CHARS / 2)))})`;
384
+ }
385
+ return `${tool} (${querySummary})`;
386
+ }
387
+ function summarizePlanInput(tool, input) {
388
+ if (tool !== 'update_plan') {
389
+ return undefined;
390
+ }
391
+ if (!input || typeof input !== 'object' || Array.isArray(input)) {
392
+ return tool;
393
+ }
394
+ const plan = input.plan;
395
+ if (!Array.isArray(plan) || plan.length === 0) {
396
+ return tool;
397
+ }
398
+ const current = plan.find((item) => item && typeof item === 'object' && !Array.isArray(item) && item.status === 'in_progress');
399
+ const currentStep = current && typeof current.step === 'string' ? current.step : undefined;
400
+ return currentStep ? `${tool} (${truncate(currentStep, MAX_TOOL_CALL_SUMMARY_CHARS)})` : `${tool} (${plan.length} items)`;
401
+ }
402
+ function renderToolHistoryMessage(message, history, index) {
403
+ const toolCall = findToolCallForResult(history, index, message.toolCallId);
404
+ if (!toolCall) {
405
+ return undefined;
406
+ }
407
+ const result = parseToolResultPayload(message.content);
408
+ if (!result?.ok) {
409
+ return undefined;
410
+ }
411
+ if (toolCall.tool === 'update_plan') {
412
+ return renderUpdatePlanHistoryMessage(result.output);
413
+ }
414
+ if (toolCall.tool !== 'edit_file') {
415
+ return undefined;
416
+ }
417
+ const editResult = parseEditFileResult(result.output);
418
+ if (!editResult) {
419
+ return undefined;
420
+ }
421
+ return formatEditHistoryMessage({
422
+ path: editResult.path,
423
+ action: editResult.action,
424
+ matchCount: editResult.matchCount,
425
+ bytesWritten: editResult.bytesWritten,
426
+ diff: editResult.diff?.diff,
427
+ truncated: editResult.diff?.truncated,
428
+ });
429
+ }
430
+ function renderUpdatePlanHistoryMessage(output) {
431
+ if (!output || typeof output !== 'object' || Array.isArray(output)) {
432
+ return undefined;
433
+ }
434
+ const candidate = output;
435
+ if (!Array.isArray(candidate.plan) || candidate.plan.length === 0) {
436
+ return undefined;
437
+ }
438
+ const lines = ['## Plan'];
439
+ if (typeof candidate.explanation === 'string' && candidate.explanation.trim()) {
440
+ lines.push('', candidate.explanation.trim());
441
+ }
442
+ lines.push('', ...candidate.plan.flatMap((item) => {
443
+ if (!item || typeof item !== 'object' || Array.isArray(item)) {
444
+ return [];
445
+ }
446
+ const step = typeof item.step === 'string' ? item.step.trim() : '';
447
+ const status = item.status;
448
+ if (!step || (status !== 'pending' && status !== 'in_progress' && status !== 'completed')) {
449
+ return [];
450
+ }
451
+ return [`- ${planStatusMarker(status)} ${step}`];
452
+ }));
453
+ return lines.join('\n');
454
+ }
455
+ function planStatusMarker(status) {
456
+ if (status === 'completed') {
457
+ return '[x]';
458
+ }
459
+ if (status === 'in_progress') {
460
+ return '[-]';
461
+ }
462
+ return '[ ]';
463
+ }
464
+ export function formatEditPreviewHistoryMessage(preview) {
465
+ return formatEditHistoryMessage({
466
+ path: preview.path,
467
+ action: preview.action,
468
+ diff: preview.diff,
469
+ truncated: preview.truncated,
470
+ });
471
+ }
472
+ export function formatPlanHistoryMessage(output) {
473
+ return renderUpdatePlanHistoryMessage(output);
474
+ }
475
+ function formatEditHistoryMessage(options) {
476
+ const lines = [
477
+ `## Edited \`${options.path}\``,
478
+ '',
479
+ `Action: ${options.action}`,
480
+ ];
481
+ if (typeof options.matchCount === 'number') {
482
+ lines.push(`Matches changed: ${options.matchCount}`);
483
+ }
484
+ if (typeof options.bytesWritten === 'number') {
485
+ lines.push(`Bytes written: ${options.bytesWritten}`);
486
+ }
487
+ if (options.diff) {
488
+ lines.push('', '```diff', options.diff, '```');
489
+ }
490
+ if (options.truncated) {
491
+ lines.push('', 'Preview truncated.');
492
+ }
493
+ return lines.join('\n');
494
+ }
495
+ function findToolCallForResult(history, index, toolCallId) {
496
+ for (let cursor = index - 1; cursor >= 0; cursor--) {
497
+ const message = history[cursor];
498
+ if (message?.role !== 'assistant' || !message.toolCalls?.length) {
499
+ continue;
500
+ }
501
+ const match = message.toolCalls.find((call) => call.id === toolCallId);
502
+ if (match) {
503
+ return match;
504
+ }
505
+ }
506
+ return undefined;
507
+ }
508
+ function parseToolResultPayload(content) {
509
+ try {
510
+ const parsed = JSON.parse(content);
511
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed) || typeof parsed.ok !== 'boolean') {
512
+ return undefined;
513
+ }
514
+ return parsed;
515
+ }
516
+ catch {
517
+ return undefined;
518
+ }
519
+ }
520
+ function parseEditFileResult(output) {
521
+ if (!output || typeof output !== 'object' || Array.isArray(output)) {
522
+ return undefined;
523
+ }
524
+ const candidate = output;
525
+ if (typeof candidate.path !== 'string' || typeof candidate.action !== 'string' || typeof candidate.bytesWritten !== 'number') {
526
+ return undefined;
527
+ }
528
+ const diff = candidate.diff && typeof candidate.diff === 'object' && !Array.isArray(candidate.diff) ?
529
+ parseEditDiff(candidate.diff)
530
+ : undefined;
531
+ return {
532
+ path: candidate.path,
533
+ action: candidate.action,
534
+ bytesWritten: candidate.bytesWritten,
535
+ matchCount: typeof candidate.matchCount === 'number' ? candidate.matchCount : undefined,
536
+ diff,
537
+ };
538
+ }
539
+ function parseEditDiff(value) {
540
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
541
+ return undefined;
542
+ }
543
+ const candidate = value;
544
+ if (typeof candidate.diff !== 'string' || typeof candidate.truncated !== 'boolean') {
545
+ return undefined;
546
+ }
547
+ return {
548
+ diff: candidate.diff,
549
+ truncated: candidate.truncated,
550
+ };
551
+ }
552
+ export function appendDirectShellHistory(history, shellDisplay, toolName, result) {
553
+ const summary = buildDirectShellHistorySummary(toolName, result);
554
+ const userMessage = { role: 'user', content: shellDisplay };
555
+ const assistantMessage = { role: 'assistant', content: summary };
556
+ return [...history, userMessage, assistantMessage];
557
+ }
558
+ function buildDirectShellHistorySummary(toolName, result) {
559
+ const lines = [`## Direct shell command via \`${toolName}\``];
560
+ const policy = extractPolicySummary(result.output);
561
+ if (policy) {
562
+ lines.push(`Policy: ${policy}`);
563
+ }
564
+ lines.push(`Outcome: ${result.ok ? 'success' : 'failure'}`);
565
+ if (result.error) {
566
+ lines.push(`Error: ${result.error}`);
567
+ }
568
+ const stdout = extractTextOutput(result.output, 'stdout');
569
+ const stderr = extractTextOutput(result.output, 'stderr');
570
+ if (stdout) {
571
+ lines.push('### stdout', '```text', truncate(stdout, 1200), '```');
572
+ }
573
+ if (stderr) {
574
+ lines.push('### stderr', '```text', truncate(stderr, 800), '```');
575
+ }
576
+ return lines.join('\n\n');
577
+ }
578
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { TraceEvent } from '../../../index.js';
2
+ import type { LlmProvider } from '../../../index.js';
3
+ export type ChatCliOptions = {
4
+ model?: string;
5
+ maxSteps?: number;
6
+ apiKey?: string;
7
+ workspaceRoot?: string;
8
+ stateDir?: string;
9
+ directShellApproval?: 'always' | 'never';
10
+ searchIgnoreDirs?: string[];
11
+ systemContext?: string;
12
+ };
13
+ export type ChatRuntimeConfig = {
14
+ model: string;
15
+ maxSteps: number;
16
+ apiKey?: string;
17
+ apiKeyProvider?: LlmProvider | 'explicit';
18
+ logFile: string;
19
+ sessionsFile: string;
20
+ approvalsFile: string;
21
+ traceDir: string;
22
+ workspaceRoot: string;
23
+ directShellApproval: 'always' | 'never';
24
+ searchIgnoreDirs: string[];
25
+ systemContext?: string;
26
+ };
27
+ export declare function saveTrace(traceDir: string, trace: TraceEvent[]): string;
28
+ export declare function resolveChatRuntimeConfig(options: ChatCliOptions): ChatRuntimeConfig;
29
+ export declare function resolveProviderApiKey(provider: LlmProvider): string | undefined;
30
+ export declare function resolveApiKeyForModel(model: string, runtime?: Pick<ChatRuntimeConfig, 'apiKey' | 'apiKeyProvider'>): string | undefined;
31
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../../src/cli/chat/utils/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,QAAQ,GAAG,OAAO,CAAC;IACxC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAKvE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,iBAAiB,CAsBnF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAS/E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,GAAG,MAAM,GAAG,SAAS,CAWvI"}