@qduc/term2 0.1.3 → 0.1.5

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 (375) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +5 -0
  3. package/dist/agent.js.map +1 -1
  4. package/dist/app.d.ts.map +1 -1
  5. package/dist/app.js +2 -2
  6. package/dist/app.js.map +1 -1
  7. package/dist/app.model-command-feedback.test.d.ts +2 -0
  8. package/dist/app.model-command-feedback.test.d.ts.map +1 -0
  9. package/dist/app.model-command-feedback.test.js +19 -0
  10. package/dist/app.model-command-feedback.test.js.map +1 -0
  11. package/dist/cli.js +2 -1
  12. package/dist/cli.js.map +1 -1
  13. package/dist/components/BottomArea.d.ts +2 -0
  14. package/dist/components/BottomArea.d.ts.map +1 -1
  15. package/dist/components/BottomArea.js +2 -2
  16. package/dist/components/BottomArea.js.map +1 -1
  17. package/dist/components/ChatMessage.js +1 -1
  18. package/dist/components/ChatMessage.js.map +1 -1
  19. package/dist/components/InputBox.js +1 -1
  20. package/dist/components/InputBox.js.map +1 -1
  21. package/dist/components/MarkdownRenderer.js +1 -1
  22. package/dist/components/MarkdownRenderer.js.map +1 -1
  23. package/dist/components/MentorMode.test.d.ts +2 -0
  24. package/dist/components/MentorMode.test.d.ts.map +1 -0
  25. package/dist/components/MentorMode.test.js.map +1 -0
  26. package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
  27. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts +2 -0
  28. package/dist/components/ModelSelectionMenu.error-tabs.test.d.ts.map +1 -0
  29. package/dist/components/ModelSelectionMenu.error-tabs.test.js +18 -0
  30. package/dist/components/ModelSelectionMenu.error-tabs.test.js.map +1 -0
  31. package/dist/components/ModelSelectionMenu.js +24 -15
  32. package/dist/components/ModelSelectionMenu.js.map +1 -1
  33. package/dist/components/SettingsSelectionMenu.js +1 -1
  34. package/dist/components/SettingsSelectionMenu.js.map +1 -1
  35. package/dist/components/SlashCommandMenu.js +2 -2
  36. package/dist/components/SlashCommandMenu.js.map +1 -1
  37. package/dist/components/StatusBar.d.ts +2 -0
  38. package/dist/components/StatusBar.d.ts.map +1 -1
  39. package/dist/components/StatusBar.js +44 -39
  40. package/dist/components/StatusBar.js.map +1 -1
  41. package/dist/components/StatusBar.test.d.ts +2 -0
  42. package/dist/components/StatusBar.test.d.ts.map +1 -0
  43. package/dist/components/StatusBar.test.js +19 -0
  44. package/dist/components/StatusBar.test.js.map +1 -0
  45. package/dist/components/TextInput.d.ts.map +1 -1
  46. package/dist/components/TextInput.js +1 -2
  47. package/dist/components/TextInput.js.map +1 -1
  48. package/dist/components/TextInput.test.js.map +1 -1
  49. package/dist/debug-schema.d.ts +2 -0
  50. package/dist/debug-schema.d.ts.map +1 -0
  51. package/dist/debug-schema.js +22 -0
  52. package/dist/debug-schema.js.map +1 -0
  53. package/dist/hooks/use-conversation.d.ts +2 -0
  54. package/dist/hooks/use-conversation.d.ts.map +1 -1
  55. package/dist/hooks/use-conversation.js +79 -493
  56. package/dist/hooks/use-conversation.js.map +1 -1
  57. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  58. package/dist/hooks/use-model-selection.js +1 -25
  59. package/dist/hooks/use-model-selection.js.map +1 -1
  60. package/dist/hooks/use-model-selection.test.d.ts +2 -0
  61. package/dist/hooks/use-model-selection.test.d.ts.map +1 -0
  62. package/dist/hooks/use-model-selection.test.js +28 -0
  63. package/dist/hooks/use-model-selection.test.js.map +1 -0
  64. package/dist/hooks/use-path-completion.test.d.ts +2 -0
  65. package/dist/hooks/use-path-completion.test.d.ts.map +1 -0
  66. package/dist/hooks/use-path-completion.test.js +29 -0
  67. package/dist/hooks/use-path-completion.test.js.map +1 -0
  68. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  69. package/dist/hooks/use-settings-completion.js +2 -0
  70. package/dist/hooks/use-settings-completion.js.map +1 -1
  71. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  72. package/dist/hooks/use-settings-value-completion.js +1 -0
  73. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  74. package/dist/lib/editor-impl.test.d.ts +2 -0
  75. package/dist/lib/editor-impl.test.d.ts.map +1 -0
  76. package/dist/lib/editor-impl.test.js +188 -0
  77. package/dist/lib/editor-impl.test.js.map +1 -0
  78. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  79. package/dist/lib/openai-agent-client.js +12 -4
  80. package/dist/lib/openai-agent-client.js.map +1 -1
  81. package/dist/lib/openai-agent-client.public-methods.test.d.ts +2 -0
  82. package/dist/lib/openai-agent-client.public-methods.test.d.ts.map +1 -0
  83. package/dist/lib/openai-agent-client.public-methods.test.js +188 -0
  84. package/dist/lib/openai-agent-client.public-methods.test.js.map +1 -0
  85. package/dist/prompts/default.md.bak +77 -0
  86. package/dist/prompts/simple-mentor.md +0 -8
  87. package/dist/providers/github-copilot/converters.d.ts +45 -0
  88. package/dist/providers/github-copilot/converters.d.ts.map +1 -0
  89. package/dist/providers/github-copilot/converters.js +118 -0
  90. package/dist/providers/github-copilot/converters.js.map +1 -0
  91. package/dist/providers/github-copilot/converters.test.d.ts +2 -0
  92. package/dist/providers/github-copilot/converters.test.d.ts.map +1 -0
  93. package/dist/providers/github-copilot/converters.test.js +162 -0
  94. package/dist/providers/github-copilot/converters.test.js.map +1 -0
  95. package/dist/providers/github-copilot/github-copilot.provider.d.ts +2 -0
  96. package/dist/providers/github-copilot/github-copilot.provider.d.ts.map +1 -0
  97. package/dist/providers/github-copilot/github-copilot.provider.js +75 -0
  98. package/dist/providers/github-copilot/github-copilot.provider.js.map +1 -0
  99. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts +2 -0
  100. package/dist/providers/github-copilot/github-copilot.provider.test.d.ts.map +1 -0
  101. package/dist/providers/github-copilot/github-copilot.provider.test.js +26 -0
  102. package/dist/providers/github-copilot/github-copilot.provider.test.js.map +1 -0
  103. package/dist/providers/github-copilot/index.d.ts +4 -0
  104. package/dist/providers/github-copilot/index.d.ts.map +1 -0
  105. package/dist/providers/github-copilot/index.js +4 -0
  106. package/dist/providers/github-copilot/index.js.map +1 -0
  107. package/dist/providers/github-copilot/model-direct.d.ts +34 -0
  108. package/dist/providers/github-copilot/model-direct.d.ts.map +1 -0
  109. package/dist/providers/github-copilot/model-direct.js +443 -0
  110. package/dist/providers/github-copilot/model-direct.js.map +1 -0
  111. package/dist/providers/github-copilot/model.d.ts +24 -0
  112. package/dist/providers/github-copilot/model.d.ts.map +1 -0
  113. package/dist/providers/github-copilot/model.delta.test.d.ts +2 -0
  114. package/dist/providers/github-copilot/model.delta.test.d.ts.map +1 -0
  115. package/dist/providers/github-copilot/model.delta.test.js +15 -0
  116. package/dist/providers/github-copilot/model.delta.test.js.map +1 -0
  117. package/dist/providers/github-copilot/model.js +581 -0
  118. package/dist/providers/github-copilot/model.js.map +1 -0
  119. package/dist/providers/github-copilot/provider.d.ts +20 -0
  120. package/dist/providers/github-copilot/provider.d.ts.map +1 -0
  121. package/dist/providers/github-copilot/provider.js +30 -0
  122. package/dist/providers/github-copilot/provider.js.map +1 -0
  123. package/dist/providers/github-copilot/provider.test.d.ts +2 -0
  124. package/dist/providers/github-copilot/provider.test.d.ts.map +1 -0
  125. package/dist/providers/github-copilot/provider.test.js +52 -0
  126. package/dist/providers/github-copilot/provider.test.js.map +1 -0
  127. package/dist/providers/github-copilot/utils.d.ts +20 -0
  128. package/dist/providers/github-copilot/utils.d.ts.map +1 -0
  129. package/dist/providers/github-copilot/utils.js +142 -0
  130. package/dist/providers/github-copilot/utils.js.map +1 -0
  131. package/dist/providers/github-copilot/utils.test.d.ts +2 -0
  132. package/dist/providers/github-copilot/utils.test.d.ts.map +1 -0
  133. package/dist/providers/github-copilot/utils.test.js +21 -0
  134. package/dist/providers/github-copilot/utils.test.js.map +1 -0
  135. package/dist/providers/openai-compatible/reasoning-content.test.js.map +1 -1
  136. package/dist/providers/openrouter/converters.d.ts.map +1 -1
  137. package/dist/providers/openrouter/converters.js +64 -46
  138. package/dist/providers/openrouter/converters.js.map +1 -1
  139. package/dist/providers/openrouter/converters.test.js +13 -12
  140. package/dist/providers/openrouter/converters.test.js.map +1 -1
  141. package/dist/providers/openrouter/merge-messages.test.d.ts +2 -0
  142. package/dist/providers/openrouter/merge-messages.test.d.ts.map +1 -0
  143. package/dist/providers/openrouter/merge-messages.test.js +83 -0
  144. package/dist/providers/openrouter/merge-messages.test.js.map +1 -0
  145. package/dist/providers/openrouter/reasoning-content.test.js.map +1 -1
  146. package/dist/providers/openrouter.history.test.d.ts +2 -0
  147. package/dist/providers/openrouter.history.test.d.ts.map +1 -0
  148. package/dist/providers/openrouter.history.test.js +533 -0
  149. package/dist/providers/openrouter.history.test.js.map +1 -0
  150. package/dist/providers/openrouter.test.js.map +1 -1
  151. package/dist/reproduce_issue.test.d.ts +2 -0
  152. package/dist/reproduce_issue.test.d.ts.map +1 -0
  153. package/dist/reproduce_issue.test.js +31 -0
  154. package/dist/reproduce_issue.test.js.map +1 -0
  155. package/dist/services/conversation-events.d.ts +3 -0
  156. package/dist/services/conversation-events.d.ts.map +1 -1
  157. package/dist/services/conversation-service.test.js +183 -149
  158. package/dist/services/conversation-session.d.ts +2 -0
  159. package/dist/services/conversation-session.d.ts.map +1 -1
  160. package/dist/services/conversation-session.js +151 -28
  161. package/dist/services/conversation-session.js.map +1 -1
  162. package/dist/services/conversation-session.usage.test.d.ts +2 -0
  163. package/dist/services/conversation-session.usage.test.d.ts.map +1 -0
  164. package/dist/services/conversation-session.usage.test.js +59 -0
  165. package/dist/services/conversation-session.usage.test.js.map +1 -0
  166. package/dist/services/settings-service.d.ts +9 -3
  167. package/dist/services/settings-service.d.ts.map +1 -1
  168. package/dist/services/settings-service.js +14 -0
  169. package/dist/services/settings-service.js.map +1 -1
  170. package/dist/test-search-tool.d.ts +2 -0
  171. package/dist/test-search-tool.d.ts.map +1 -0
  172. package/dist/test-search-tool.js +36 -0
  173. package/dist/test-search-tool.js.map +1 -0
  174. package/dist/tools/edit-healing.d.ts +24 -0
  175. package/dist/tools/edit-healing.d.ts.map +1 -0
  176. package/dist/tools/edit-healing.js +230 -0
  177. package/dist/tools/edit-healing.js.map +1 -0
  178. package/dist/tools/edit-healing.test.d.ts +2 -0
  179. package/dist/tools/edit-healing.test.d.ts.map +1 -0
  180. package/dist/tools/edit-healing.test.js +34 -0
  181. package/dist/tools/edit-healing.test.js.map +1 -0
  182. package/dist/tools/find-files.d.ts +1 -0
  183. package/dist/tools/find-files.d.ts.map +1 -1
  184. package/dist/tools/find-files.js +92 -8
  185. package/dist/tools/find-files.js.map +1 -1
  186. package/dist/tools/find-files.test.js +45 -0
  187. package/dist/tools/find-files.test.js.map +1 -1
  188. package/dist/tools/search-replace.d.ts +2 -0
  189. package/dist/tools/search-replace.d.ts.map +1 -1
  190. package/dist/tools/search-replace.js +207 -23
  191. package/dist/tools/search-replace.js.map +1 -1
  192. package/dist/tools/search-replace.test.js +223 -2
  193. package/dist/tools/search-replace.test.js.map +1 -1
  194. package/dist/tools/web-fetch.d.ts +20 -0
  195. package/dist/tools/web-fetch.d.ts.map +1 -0
  196. package/dist/tools/web-fetch.js +87 -0
  197. package/dist/tools/web-fetch.js.map +1 -0
  198. package/dist/tools/web-fetch.test.d.ts +2 -0
  199. package/dist/tools/web-fetch.test.d.ts.map +1 -0
  200. package/dist/tools/web-fetch.test.js +94 -0
  201. package/dist/tools/web-fetch.test.js.map +1 -0
  202. package/dist/utils/command-safety/index.d.ts +2 -2
  203. package/dist/utils/command-safety/index.d.ts.map +1 -1
  204. package/dist/utils/command-safety/index.js +7 -6
  205. package/dist/utils/command-safety/index.js.map +1 -1
  206. package/dist/utils/command-safety.d.ts.map +1 -1
  207. package/dist/utils/command-safety.find.test.js +19 -21
  208. package/dist/utils/command-safety.find.test.js.map +1 -1
  209. package/dist/utils/command-safety.js +364 -10
  210. package/dist/utils/command-safety.js.map +1 -1
  211. package/dist/utils/conversation-event-handler.d.ts +63 -0
  212. package/dist/utils/conversation-event-handler.d.ts.map +1 -0
  213. package/dist/utils/conversation-event-handler.js +132 -0
  214. package/dist/utils/conversation-event-handler.js.map +1 -0
  215. package/dist/utils/conversation-event-handler.test.d.ts +2 -0
  216. package/dist/utils/conversation-event-handler.test.d.ts.map +1 -0
  217. package/dist/utils/conversation-event-handler.test.js +281 -0
  218. package/dist/utils/conversation-event-handler.test.js.map +1 -0
  219. package/dist/utils/conversation-utils.d.ts +41 -0
  220. package/dist/utils/conversation-utils.d.ts.map +1 -0
  221. package/dist/utils/conversation-utils.js +109 -0
  222. package/dist/utils/conversation-utils.js.map +1 -0
  223. package/dist/utils/conversation-utils.test.d.ts +2 -0
  224. package/dist/utils/conversation-utils.test.d.ts.map +1 -0
  225. package/dist/utils/conversation-utils.test.js +190 -0
  226. package/dist/utils/conversation-utils.test.js.map +1 -0
  227. package/dist/utils/extract-command-messages.repro.test.d.ts +2 -0
  228. package/dist/utils/extract-command-messages.repro.test.d.ts.map +1 -0
  229. package/dist/utils/extract-command-messages.repro.test.js +31 -0
  230. package/dist/utils/extract-command-messages.repro.test.js.map +1 -0
  231. package/dist/utils/extract-command-messages.test.js +51 -58
  232. package/dist/utils/ink-render-options.d.ts +9 -0
  233. package/dist/utils/ink-render-options.d.ts.map +1 -0
  234. package/dist/utils/ink-render-options.js +8 -0
  235. package/dist/utils/ink-render-options.js.map +1 -0
  236. package/dist/utils/message-utils.d.ts +17 -0
  237. package/dist/utils/message-utils.d.ts.map +1 -0
  238. package/dist/utils/message-utils.js +52 -0
  239. package/dist/utils/message-utils.js.map +1 -0
  240. package/dist/utils/message-utils.test.d.ts +2 -0
  241. package/dist/utils/message-utils.test.d.ts.map +1 -0
  242. package/dist/utils/message-utils.test.js +48 -0
  243. package/dist/utils/message-utils.test.js.map +1 -0
  244. package/dist/utils/token-usage.d.ts +16 -0
  245. package/dist/utils/token-usage.d.ts.map +1 -0
  246. package/dist/utils/token-usage.js +110 -0
  247. package/dist/utils/token-usage.js.map +1 -0
  248. package/dist/utils/token-usage.test.d.ts +2 -0
  249. package/dist/utils/token-usage.test.d.ts.map +1 -0
  250. package/dist/utils/token-usage.test.js +38 -0
  251. package/dist/utils/token-usage.test.js.map +1 -0
  252. package/dist/utils/trim-tool-output.d.ts +2 -0
  253. package/dist/utils/trim-tool-output.d.ts.map +1 -0
  254. package/dist/utils/trim-tool-output.js +52 -0
  255. package/dist/utils/trim-tool-output.js.map +1 -0
  256. package/package.json +10 -3
  257. package/readme.md +22 -1
  258. package/dist/agent.lite-mode.test.d.ts +0 -2
  259. package/dist/agent.lite-mode.test.d.ts.map +0 -1
  260. package/dist/agent.lite-mode.test.js +0 -39
  261. package/dist/agent.lite-mode.test.js.map +0 -1
  262. package/dist/debug_ask_mentor.d.ts +0 -2
  263. package/dist/debug_ask_mentor.d.ts.map +0 -1
  264. package/dist/debug_ask_mentor.js +0 -73
  265. package/dist/debug_ask_mentor.js.map +0 -1
  266. package/dist/modes/companion/command-index.d.ts +0 -26
  267. package/dist/modes/companion/command-index.d.ts.map +0 -1
  268. package/dist/modes/companion/command-index.js +0 -50
  269. package/dist/modes/companion/command-index.js.map +0 -1
  270. package/dist/modes/companion/command-index.test.d.ts +0 -2
  271. package/dist/modes/companion/command-index.test.d.ts.map +0 -1
  272. package/dist/modes/companion/command-index.test.js +0 -86
  273. package/dist/modes/companion/command-index.test.js.map +0 -1
  274. package/dist/modes/companion/companion-app.d.ts +0 -12
  275. package/dist/modes/companion/companion-app.d.ts.map +0 -1
  276. package/dist/modes/companion/companion-app.js +0 -297
  277. package/dist/modes/companion/companion-app.js.map +0 -1
  278. package/dist/modes/companion/companion-session.d.ts +0 -63
  279. package/dist/modes/companion/companion-session.d.ts.map +0 -1
  280. package/dist/modes/companion/companion-session.js +0 -146
  281. package/dist/modes/companion/companion-session.js.map +0 -1
  282. package/dist/modes/companion/companion-session.test.d.ts +0 -2
  283. package/dist/modes/companion/companion-session.test.d.ts.map +0 -1
  284. package/dist/modes/companion/companion-session.test.js +0 -28
  285. package/dist/modes/companion/companion-session.test.js.map +0 -1
  286. package/dist/modes/companion/components/status-bar.d.ts +0 -13
  287. package/dist/modes/companion/components/status-bar.d.ts.map +0 -1
  288. package/dist/modes/companion/components/status-bar.js +0 -26
  289. package/dist/modes/companion/components/status-bar.js.map +0 -1
  290. package/dist/modes/companion/context-buffer.d.ts +0 -65
  291. package/dist/modes/companion/context-buffer.d.ts.map +0 -1
  292. package/dist/modes/companion/context-buffer.js +0 -156
  293. package/dist/modes/companion/context-buffer.js.map +0 -1
  294. package/dist/modes/companion/context-buffer.test.d.ts +0 -2
  295. package/dist/modes/companion/context-buffer.test.d.ts.map +0 -1
  296. package/dist/modes/companion/context-buffer.test.js +0 -154
  297. package/dist/modes/companion/context-buffer.test.js.map +0 -1
  298. package/dist/modes/companion/event-detector.d.ts +0 -46
  299. package/dist/modes/companion/event-detector.d.ts.map +0 -1
  300. package/dist/modes/companion/event-detector.js +0 -169
  301. package/dist/modes/companion/event-detector.js.map +0 -1
  302. package/dist/modes/companion/event-detector.test.d.ts +0 -2
  303. package/dist/modes/companion/event-detector.test.d.ts.map +0 -1
  304. package/dist/modes/companion/event-detector.test.js +0 -121
  305. package/dist/modes/companion/event-detector.test.js.map +0 -1
  306. package/dist/modes/companion/index.d.ts +0 -33
  307. package/dist/modes/companion/index.d.ts.map +0 -1
  308. package/dist/modes/companion/index.js +0 -21
  309. package/dist/modes/companion/index.js.map +0 -1
  310. package/dist/modes/companion/input-key-mapper.d.ts +0 -3
  311. package/dist/modes/companion/input-key-mapper.d.ts.map +0 -1
  312. package/dist/modes/companion/input-key-mapper.js +0 -31
  313. package/dist/modes/companion/input-key-mapper.js.map +0 -1
  314. package/dist/modes/companion/input-key-mapper.test.d.ts +0 -2
  315. package/dist/modes/companion/input-key-mapper.test.d.ts.map +0 -1
  316. package/dist/modes/companion/input-key-mapper.test.js +0 -26
  317. package/dist/modes/companion/input-key-mapper.test.js.map +0 -1
  318. package/dist/modes/companion/input-parser.d.ts +0 -53
  319. package/dist/modes/companion/input-parser.d.ts.map +0 -1
  320. package/dist/modes/companion/input-parser.js +0 -114
  321. package/dist/modes/companion/input-parser.js.map +0 -1
  322. package/dist/modes/companion/input-parser.test.d.ts +0 -2
  323. package/dist/modes/companion/input-parser.test.d.ts.map +0 -1
  324. package/dist/modes/companion/input-parser.test.js +0 -123
  325. package/dist/modes/companion/input-parser.test.js.map +0 -1
  326. package/dist/modes/companion/mode-manager.d.ts +0 -41
  327. package/dist/modes/companion/mode-manager.d.ts.map +0 -1
  328. package/dist/modes/companion/mode-manager.js +0 -56
  329. package/dist/modes/companion/mode-manager.js.map +0 -1
  330. package/dist/modes/companion/mode-manager.test.d.ts +0 -2
  331. package/dist/modes/companion/mode-manager.test.d.ts.map +0 -1
  332. package/dist/modes/companion/mode-manager.test.js +0 -65
  333. package/dist/modes/companion/mode-manager.test.js.map +0 -1
  334. package/dist/modes/companion/output-classifier.d.ts +0 -15
  335. package/dist/modes/companion/output-classifier.d.ts.map +0 -1
  336. package/dist/modes/companion/output-classifier.js +0 -77
  337. package/dist/modes/companion/output-classifier.js.map +0 -1
  338. package/dist/modes/companion/output-classifier.test.d.ts +0 -2
  339. package/dist/modes/companion/output-classifier.test.d.ts.map +0 -1
  340. package/dist/modes/companion/output-classifier.test.js +0 -133
  341. package/dist/modes/companion/output-classifier.test.js.map +0 -1
  342. package/dist/modes/companion/pty-wrapper.d.ts +0 -46
  343. package/dist/modes/companion/pty-wrapper.d.ts.map +0 -1
  344. package/dist/modes/companion/pty-wrapper.js +0 -143
  345. package/dist/modes/companion/pty-wrapper.js.map +0 -1
  346. package/dist/modes/companion/safety-classifier.d.ts +0 -31
  347. package/dist/modes/companion/safety-classifier.d.ts.map +0 -1
  348. package/dist/modes/companion/safety-classifier.js +0 -140
  349. package/dist/modes/companion/safety-classifier.js.map +0 -1
  350. package/dist/modes/companion/safety-classifier.test.d.ts +0 -2
  351. package/dist/modes/companion/safety-classifier.test.d.ts.map +0 -1
  352. package/dist/modes/companion/safety-classifier.test.js +0 -151
  353. package/dist/modes/companion/safety-classifier.test.js.map +0 -1
  354. package/dist/modes/companion/summarizer.d.ts +0 -24
  355. package/dist/modes/companion/summarizer.d.ts.map +0 -1
  356. package/dist/modes/companion/summarizer.js +0 -132
  357. package/dist/modes/companion/summarizer.js.map +0 -1
  358. package/dist/modes/companion/terminal-history.d.ts +0 -27
  359. package/dist/modes/companion/terminal-history.d.ts.map +0 -1
  360. package/dist/modes/companion/terminal-history.js +0 -142
  361. package/dist/modes/companion/terminal-history.js.map +0 -1
  362. package/dist/services/check_mock.d.ts +0 -2
  363. package/dist/services/check_mock.d.ts.map +0 -1
  364. package/dist/services/check_mock.js +0 -22
  365. package/dist/services/check_mock.js.map +0 -1
  366. package/dist/services/conversation-service.test.d.ts +0 -2
  367. package/dist/services/conversation-service.test.d.ts.map +0 -1
  368. package/dist/services/conversation-service.test.js.map +0 -1
  369. package/dist/utils/command-safety.devnull.test.d.ts +0 -2
  370. package/dist/utils/command-safety.devnull.test.d.ts.map +0 -1
  371. package/dist/utils/command-safety.devnull.test.js +0 -13
  372. package/dist/utils/command-safety.devnull.test.js.map +0 -1
  373. package/dist/utils/extract-command-messages.test.d.ts +0 -2
  374. package/dist/utils/extract-command-messages.test.d.ts.map +0 -1
  375. package/dist/utils/extract-command-messages.test.js.map +0 -1
@@ -1,156 +1,190 @@
1
1
  import test from 'ava';
2
- import { ConversationService } from './conversation-service.js';
2
+ import { ConversationService } from '../../dist/services/conversation-service.js';
3
3
  class MockStream {
4
- constructor(events) {
5
- this.events = events;
6
- this.completed = Promise.resolve();
7
- this.lastResponseId = 'resp_test';
8
- this.interruptions = [];
9
- this.state = {};
10
- this.newItems = [];
11
- this.history = [];
12
- this.finalOutput = '';
13
- }
14
- async *[Symbol.asyncIterator]() {
15
- for (const event of this.events) {
16
- yield event;
17
- }
4
+ constructor(events) {
5
+ this.events = events;
6
+ this.completed = Promise.resolve();
7
+ this.lastResponseId = 'resp_test';
8
+ this.interruptions = [];
9
+ this.state = {};
10
+ this.newItems = [];
11
+ this.history = [];
12
+ this.finalOutput = '';
13
+ }
14
+ async *[Symbol.asyncIterator]() {
15
+ for (const event of this.events) {
16
+ yield event;
18
17
  }
18
+ }
19
19
  }
20
- test('emits live text chunks for response.output_text.delta events', async (t) => {
21
- t.plan(3);
22
- const events = [
23
- { type: 'response.output_text.delta', delta: 'Hello' },
24
- { type: 'response.output_text.delta', delta: ' world' },
25
- ];
26
- const mockClient = {
27
- async startStream() {
28
- return new MockStream(events);
29
- },
30
- };
31
- const chunks = [];
32
- const service = new ConversationService({ agentClient: mockClient });
33
- const result = await service.sendMessage('hi', {
34
- onTextChunk(full, chunk) {
35
- chunks.push({ full, chunk });
36
- },
37
- });
38
- t.deepEqual(chunks, [
39
- { full: 'Hello', chunk: 'Hello' },
40
- { full: 'Hello world', chunk: ' world' },
41
- ]);
42
- t.is(result.type, 'response');
43
- t.is(result.finalText, 'Hello world');
44
- });
45
- test('passes previous response ids into subsequent runs', async (t) => {
46
- const streams = [new MockStream([]), new MockStream([])];
47
- streams[0].lastResponseId = 'resp-1';
48
- streams[0].finalOutput = 'First run done.';
49
- streams[1].lastResponseId = 'resp-2';
50
- streams[1].finalOutput = 'Second run done.';
51
- const startCalls = [];
52
- const mockClient = {
53
- async startStream(text, options) {
54
- const index = startCalls.length;
55
- startCalls.push({ text, options });
56
- return streams[index];
57
- },
58
- };
59
- const service = new ConversationService({ agentClient: mockClient });
60
- await service.sendMessage('first');
61
- const secondResult = await service.sendMessage('second');
62
- t.deepEqual(startCalls, [
63
- { text: 'first', options: { previousResponseId: null } },
64
- { text: 'second', options: { previousResponseId: 'resp-1' } },
65
- ]);
66
- t.is(secondResult.type, 'response');
67
- t.is(secondResult.finalText, 'Second run done.');
20
+ test('emits live text chunks for response.output_text.delta events', async t => {
21
+ t.plan(3);
22
+ const events = [{
23
+ type: 'response.output_text.delta',
24
+ delta: 'Hello'
25
+ }, {
26
+ type: 'response.output_text.delta',
27
+ delta: ' world'
28
+ }];
29
+ const mockClient = {
30
+ async startStream() {
31
+ return new MockStream(events);
32
+ }
33
+ };
34
+ const chunks = [];
35
+ const service = new ConversationService({
36
+ agentClient: mockClient
37
+ });
38
+ const result = await service.sendMessage('hi', {
39
+ onTextChunk(full, chunk) {
40
+ chunks.push({
41
+ full,
42
+ chunk
43
+ });
44
+ }
45
+ });
46
+ t.deepEqual(chunks, [{
47
+ full: 'Hello',
48
+ chunk: 'Hello'
49
+ }, {
50
+ full: 'Hello world',
51
+ chunk: ' world'
52
+ }]);
53
+ t.is(result.type, 'response');
54
+ t.is(result.finalText, 'Hello world');
68
55
  });
69
- test('emits approval interruptions and resumes after approval', async (t) => {
70
- const interruption = {
71
- name: 'bash',
72
- agent: { name: 'CLI Agent' },
73
- arguments: JSON.stringify({ command: 'echo hi' }),
74
- };
75
- const initialStream = new MockStream([]);
76
- initialStream.interruptions = [interruption];
77
- initialStream.state = {
78
- approveCalls: [],
79
- rejectCalls: [],
80
- approve(arg) {
81
- this.approveCalls.push(arg);
82
- },
83
- reject(arg) {
84
- this.rejectCalls.push(arg);
85
- },
86
- };
87
- const continuationStream = new MockStream([
88
- { type: 'response.output_text.delta', delta: 'Approved run' },
89
- ]);
90
- continuationStream.finalOutput = 'Approved run';
91
- const mockClient = {
92
- async startStream() {
93
- return initialStream;
94
- },
95
- async continueRunStream(state) {
96
- t.is(state, initialStream.state);
97
- return continuationStream;
98
- },
99
- };
100
- const service = new ConversationService({ agentClient: mockClient });
101
- const approvalResult = await service.sendMessage('run command');
102
- t.is(approvalResult.type, 'approval_required');
103
- t.is(approvalResult.approval.toolName, 'bash');
104
- t.is(approvalResult.approval.argumentsText, 'echo hi');
105
- const finalResult = await service.handleApprovalDecision('y');
106
- t.truthy(finalResult);
107
- t.is(finalResult.type, 'response');
108
- t.is(finalResult.finalText, 'Approved run');
109
- t.deepEqual(initialStream.state.approveCalls, [interruption]);
110
- t.deepEqual(initialStream.state.rejectCalls, []);
56
+ test('passes previous response ids into subsequent runs', async t => {
57
+ const streams = [new MockStream([]), new MockStream([])];
58
+ streams[0].lastResponseId = 'resp-1';
59
+ streams[0].finalOutput = 'First run done.';
60
+ streams[1].lastResponseId = 'resp-2';
61
+ streams[1].finalOutput = 'Second run done.';
62
+ const startCalls = [];
63
+ const mockClient = {
64
+ async startStream(text, options) {
65
+ const index = startCalls.length;
66
+ startCalls.push({
67
+ text,
68
+ options
69
+ });
70
+ return streams[index];
71
+ }
72
+ };
73
+ const service = new ConversationService({
74
+ agentClient: mockClient
75
+ });
76
+ await service.sendMessage('first');
77
+ const secondResult = await service.sendMessage('second');
78
+ t.deepEqual(startCalls, [{
79
+ text: 'first',
80
+ options: {
81
+ previousResponseId: null
82
+ }
83
+ }, {
84
+ text: 'second',
85
+ options: {
86
+ previousResponseId: 'resp-1'
87
+ }
88
+ }]);
89
+ t.is(secondResult.type, 'response');
90
+ t.is(secondResult.finalText, 'Second run done.');
111
91
  });
112
- test('dedupes command messages emitted live from run events', async (t) => {
113
- const commandPayload = JSON.stringify({
114
- command: 'ls',
115
- stdout: 'file.txt',
116
- success: true,
117
- });
118
- const rawItem = {
119
- id: 'call-123',
120
- type: 'function_call_result',
121
- name: 'bash',
122
- arguments: JSON.stringify({ command: 'ls' }),
123
- };
124
- const commandItem = {
125
- type: 'tool_call_output_item',
126
- name: 'bash',
127
- output: commandPayload,
128
- rawItem,
129
- };
130
- const events = [{ type: 'run_item_stream_event', item: commandItem }];
131
- const stream = new MockStream(events);
132
- stream.newItems = [commandItem];
133
- const emitted = [];
134
- const mockClient = {
135
- async startStream() {
136
- return stream;
137
- },
138
- };
139
- const service = new ConversationService({ agentClient: mockClient });
140
- const result = await service.sendMessage('run bash', {
141
- onCommandMessage(message) {
142
- emitted.push(message);
143
- },
144
- });
145
- t.deepEqual(emitted, [
146
- {
147
- id: 'call-123',
148
- sender: 'command',
149
- command: 'ls',
150
- output: 'file.txt',
151
- success: true,
152
- },
153
- ]);
154
- t.deepEqual(result.commandMessages, []);
92
+ test('emits approval interruptions and resumes after approval', async t => {
93
+ const interruption = {
94
+ name: 'bash',
95
+ agent: {
96
+ name: 'CLI Agent'
97
+ },
98
+ arguments: JSON.stringify({
99
+ command: 'echo hi'
100
+ })
101
+ };
102
+ const initialStream = new MockStream([]);
103
+ initialStream.interruptions = [interruption];
104
+ initialStream.state = {
105
+ approveCalls: [],
106
+ rejectCalls: [],
107
+ approve(arg) {
108
+ this.approveCalls.push(arg);
109
+ },
110
+ reject(arg) {
111
+ this.rejectCalls.push(arg);
112
+ }
113
+ };
114
+ const continuationStream = new MockStream([{
115
+ type: 'response.output_text.delta',
116
+ delta: 'Approved run'
117
+ }]);
118
+ continuationStream.finalOutput = 'Approved run';
119
+ const mockClient = {
120
+ async startStream() {
121
+ return initialStream;
122
+ },
123
+ async continueRunStream(state) {
124
+ t.is(state, initialStream.state);
125
+ return continuationStream;
126
+ }
127
+ };
128
+ const service = new ConversationService({
129
+ agentClient: mockClient
130
+ });
131
+ const approvalResult = await service.sendMessage('run command');
132
+ t.is(approvalResult.type, 'approval_required');
133
+ t.is(approvalResult.approval.toolName, 'bash');
134
+ t.is(approvalResult.approval.argumentsText, 'echo hi');
135
+ const finalResult = await service.handleApprovalDecision('y');
136
+ t.truthy(finalResult);
137
+ t.is(finalResult.type, 'response');
138
+ t.is(finalResult.finalText, 'Approved run');
139
+ t.deepEqual(initialStream.state.approveCalls, [interruption]);
140
+ t.deepEqual(initialStream.state.rejectCalls, []);
155
141
  });
156
- //# sourceMappingURL=conversation-service.test.js.map
142
+ test('dedupes command messages emitted live from run events', async t => {
143
+ const commandPayload = JSON.stringify({
144
+ command: 'ls',
145
+ stdout: 'file.txt',
146
+ success: true
147
+ });
148
+ const rawItem = {
149
+ id: 'call-123',
150
+ type: 'function_call_result',
151
+ name: 'bash',
152
+ arguments: JSON.stringify({
153
+ command: 'ls'
154
+ })
155
+ };
156
+ const commandItem = {
157
+ type: 'tool_call_output_item',
158
+ name: 'bash',
159
+ output: commandPayload,
160
+ rawItem
161
+ };
162
+ const events = [{
163
+ type: 'run_item_stream_event',
164
+ item: commandItem
165
+ }];
166
+ const stream = new MockStream(events);
167
+ stream.newItems = [commandItem];
168
+ const emitted = [];
169
+ const mockClient = {
170
+ async startStream() {
171
+ return stream;
172
+ }
173
+ };
174
+ const service = new ConversationService({
175
+ agentClient: mockClient
176
+ });
177
+ const result = await service.sendMessage('run bash', {
178
+ onCommandMessage(message) {
179
+ emitted.push(message);
180
+ }
181
+ });
182
+ t.deepEqual(emitted, [{
183
+ id: 'call-123',
184
+ sender: 'command',
185
+ command: 'ls',
186
+ output: 'file.txt',
187
+ success: true
188
+ }]);
189
+ t.deepEqual(result.commandMessages, []);
190
+ });
@@ -1,6 +1,7 @@
1
1
  import type { OpenAIAgentClient } from '../lib/openai-agent-client.js';
2
2
  import type { ILoggingService } from './service-interfaces.js';
3
3
  import type { ConversationEvent } from './conversation-events.js';
4
+ import { type NormalizedUsage } from '../utils/token-usage.js';
4
5
  interface ApprovalResult {
5
6
  type: 'approval_required';
6
7
  approval: {
@@ -29,6 +30,7 @@ interface ResponseResult {
29
30
  commandMessages: CommandMessage[];
30
31
  finalText: string;
31
32
  reasoningText?: string;
33
+ usage?: NormalizedUsage;
32
34
  }
33
35
  export type ConversationResult = ApprovalResult | ResponseResult;
34
36
  export declare class ConversationSession {
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-session.d.ts","sourceRoot":"","sources":["../../source/services/conversation-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-session.d.ts","sourceRoot":"","sources":["../../source/services/conversation-session.ts"],"names":[],"mappings":"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"}