@qduc/term2 0.7.0 → 0.7.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 (509) hide show
  1. package/dist/agent.d.ts +0 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +28 -8
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app.d.ts +3 -3
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +161 -75
  8. package/dist/app.js.map +1 -1
  9. package/dist/app.large-uncached-warning.test.js.map +1 -1
  10. package/dist/cli.integration.test.d.ts +2 -0
  11. package/dist/cli.integration.test.d.ts.map +1 -0
  12. package/dist/cli.integration.test.js +142 -0
  13. package/dist/cli.integration.test.js.map +1 -0
  14. package/dist/cli.js +47 -12
  15. package/dist/cli.js.map +1 -1
  16. package/dist/commands/auto-approve-command.d.ts +10 -0
  17. package/dist/commands/auto-approve-command.d.ts.map +1 -0
  18. package/dist/commands/auto-approve-command.js +40 -0
  19. package/dist/commands/auto-approve-command.js.map +1 -0
  20. package/dist/commands/clear-command.d.ts +3 -0
  21. package/dist/commands/clear-command.d.ts.map +1 -0
  22. package/dist/commands/clear-command.js +12 -0
  23. package/dist/commands/clear-command.js.map +1 -0
  24. package/dist/commands/copy-command.d.ts +10 -0
  25. package/dist/commands/copy-command.d.ts.map +1 -0
  26. package/dist/commands/copy-command.js +25 -0
  27. package/dist/commands/copy-command.js.map +1 -0
  28. package/dist/commands/effort-command.d.ts +11 -0
  29. package/dist/commands/effort-command.d.ts.map +1 -0
  30. package/dist/commands/effort-command.js +34 -0
  31. package/dist/commands/effort-command.js.map +1 -0
  32. package/dist/commands/guarded-settings-command.d.ts +14 -0
  33. package/dist/commands/guarded-settings-command.d.ts.map +1 -0
  34. package/dist/commands/guarded-settings-command.js +23 -0
  35. package/dist/commands/guarded-settings-command.js.map +1 -0
  36. package/dist/commands/handoff-command.d.ts +10 -0
  37. package/dist/commands/handoff-command.d.ts.map +1 -0
  38. package/dist/commands/handoff-command.js +17 -0
  39. package/dist/commands/handoff-command.js.map +1 -0
  40. package/dist/commands/mode-commands.d.ts +32 -0
  41. package/dist/commands/mode-commands.d.ts.map +1 -0
  42. package/dist/commands/mode-commands.js +64 -0
  43. package/dist/commands/mode-commands.js.map +1 -0
  44. package/dist/commands/model-command.d.ts +11 -0
  45. package/dist/commands/model-command.d.ts.map +1 -0
  46. package/dist/commands/model-command.js +35 -0
  47. package/dist/commands/model-command.js.map +1 -0
  48. package/dist/commands/quit-command.d.ts +3 -0
  49. package/dist/commands/quit-command.d.ts.map +1 -0
  50. package/dist/commands/quit-command.js +10 -0
  51. package/dist/commands/quit-command.js.map +1 -0
  52. package/dist/commands/retry-command.d.ts +19 -0
  53. package/dist/commands/retry-command.d.ts.map +1 -0
  54. package/dist/commands/retry-command.js +30 -0
  55. package/dist/commands/retry-command.js.map +1 -0
  56. package/dist/commands/undo-command.d.ts +15 -0
  57. package/dist/commands/undo-command.d.ts.map +1 -0
  58. package/dist/commands/undo-command.js +28 -0
  59. package/dist/commands/undo-command.js.map +1 -0
  60. package/dist/commands/usage-command.d.ts +3 -0
  61. package/dist/commands/usage-command.d.ts.map +1 -0
  62. package/dist/commands/usage-command.js +11 -0
  63. package/dist/commands/usage-command.js.map +1 -0
  64. package/dist/components/BottomArea.d.ts +7 -0
  65. package/dist/components/BottomArea.d.ts.map +1 -1
  66. package/dist/components/BottomArea.js +15 -6
  67. package/dist/components/BottomArea.js.map +1 -1
  68. package/dist/components/BottomArea.test.js +36 -4
  69. package/dist/components/BottomArea.test.js.map +1 -1
  70. package/dist/components/Common/MenuContainer.d.ts +1 -3
  71. package/dist/components/Common/MenuContainer.d.ts.map +1 -1
  72. package/dist/components/Common/MenuContainer.js +1 -13
  73. package/dist/components/Common/MenuContainer.js.map +1 -1
  74. package/dist/components/Input/input-width.d.ts +2 -1
  75. package/dist/components/Input/input-width.d.ts.map +1 -1
  76. package/dist/components/Input/input-width.js +6 -2
  77. package/dist/components/Input/input-width.js.map +1 -1
  78. package/dist/components/InputBox.d.ts +2 -0
  79. package/dist/components/InputBox.d.ts.map +1 -1
  80. package/dist/components/InputBox.js +21 -7
  81. package/dist/components/InputBox.js.map +1 -1
  82. package/dist/components/InputBox.test.js +44 -0
  83. package/dist/components/InputBox.test.js.map +1 -1
  84. package/dist/components/LargeUncachedConfirmationPrompt.d.ts +9 -0
  85. package/dist/components/LargeUncachedConfirmationPrompt.d.ts.map +1 -0
  86. package/dist/components/LargeUncachedConfirmationPrompt.js +44 -0
  87. package/dist/components/LargeUncachedConfirmationPrompt.js.map +1 -0
  88. package/dist/components/LargeUncachedConfirmationPrompt.test.d.ts +2 -0
  89. package/dist/components/LargeUncachedConfirmationPrompt.test.d.ts.map +1 -0
  90. package/dist/components/LargeUncachedConfirmationPrompt.test.js +47 -0
  91. package/dist/components/LargeUncachedConfirmationPrompt.test.js.map +1 -0
  92. package/dist/components/MessageList.d.ts +9 -0
  93. package/dist/components/MessageList.d.ts.map +1 -1
  94. package/dist/components/MessageList.js +29 -3
  95. package/dist/components/MessageList.js.map +1 -1
  96. package/dist/components/MessageList.test.js +28 -1
  97. package/dist/components/MessageList.test.js.map +1 -1
  98. package/dist/components/ModelSelectionMenu.d.ts.map +1 -1
  99. package/dist/components/ModelSelectionMenu.js +1 -4
  100. package/dist/components/ModelSelectionMenu.js.map +1 -1
  101. package/dist/components/PathSelectionMenu.d.ts.map +1 -1
  102. package/dist/components/PathSelectionMenu.js +1 -7
  103. package/dist/components/PathSelectionMenu.js.map +1 -1
  104. package/dist/components/SettingsSelectionMenu.d.ts.map +1 -1
  105. package/dist/components/SettingsSelectionMenu.js +1 -12
  106. package/dist/components/SettingsSelectionMenu.js.map +1 -1
  107. package/dist/components/SettingsValueSelectionMenu.d.ts.map +1 -1
  108. package/dist/components/SettingsValueSelectionMenu.js +1 -8
  109. package/dist/components/SettingsValueSelectionMenu.js.map +1 -1
  110. package/dist/components/StatusBar.d.ts +4 -0
  111. package/dist/components/StatusBar.d.ts.map +1 -1
  112. package/dist/components/StatusBar.js +25 -6
  113. package/dist/components/StatusBar.js.map +1 -1
  114. package/dist/components/StatusBar.test.js +23 -0
  115. package/dist/components/StatusBar.test.js.map +1 -1
  116. package/dist/components/UndoSelectionMenu.d.ts.map +1 -1
  117. package/dist/components/UndoSelectionMenu.js +1 -1
  118. package/dist/components/UndoSelectionMenu.js.map +1 -1
  119. package/dist/context/InputContext.d.ts +5 -0
  120. package/dist/context/InputContext.d.ts.map +1 -1
  121. package/dist/context/InputContext.images.test.d.ts +2 -0
  122. package/dist/context/InputContext.images.test.d.ts.map +1 -0
  123. package/dist/context/InputContext.images.test.js +56 -0
  124. package/dist/context/InputContext.images.test.js.map +1 -0
  125. package/dist/context/InputContext.js +3 -2
  126. package/dist/context/InputContext.js.map +1 -1
  127. package/dist/contracts/conversation.d.ts +3 -0
  128. package/dist/contracts/conversation.d.ts.map +1 -1
  129. package/dist/hooks/use-app-commands.d.ts +11 -32
  130. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  131. package/dist/hooks/use-app-commands.js +64 -369
  132. package/dist/hooks/use-app-commands.js.map +1 -1
  133. package/dist/hooks/use-app-commands.test.js +24 -15
  134. package/dist/hooks/use-app-commands.test.js.map +1 -1
  135. package/dist/hooks/use-conversation.clear.test.js +49 -1
  136. package/dist/hooks/use-conversation.clear.test.js.map +1 -1
  137. package/dist/hooks/use-conversation.d.ts +12 -2
  138. package/dist/hooks/use-conversation.d.ts.map +1 -1
  139. package/dist/hooks/use-conversation.js +29 -25
  140. package/dist/hooks/use-conversation.js.map +1 -1
  141. package/dist/hooks/use-conversation.resume.test.js +26 -3
  142. package/dist/hooks/use-conversation.resume.test.js.map +1 -1
  143. package/dist/hooks/use-mode-handlers.d.ts +4 -1
  144. package/dist/hooks/use-mode-handlers.d.ts.map +1 -1
  145. package/dist/hooks/use-mode-handlers.js +6 -1
  146. package/dist/hooks/use-mode-handlers.js.map +1 -1
  147. package/dist/hooks/use-runtime-settings.d.ts.map +1 -1
  148. package/dist/hooks/use-runtime-settings.js +2 -2
  149. package/dist/hooks/use-runtime-settings.js.map +1 -1
  150. package/dist/hooks/use-runtime-settings.test.js +0 -1
  151. package/dist/hooks/use-runtime-settings.test.js.map +1 -1
  152. package/dist/hooks/use-settings-completion.d.ts.map +1 -1
  153. package/dist/hooks/use-settings-completion.js +8 -1
  154. package/dist/hooks/use-settings-completion.js.map +1 -1
  155. package/dist/hooks/use-settings-completion.test.js +4 -0
  156. package/dist/hooks/use-settings-completion.test.js.map +1 -1
  157. package/dist/hooks/use-slash-commands.d.ts.map +1 -1
  158. package/dist/hooks/use-slash-commands.js +10 -0
  159. package/dist/hooks/use-slash-commands.js.map +1 -1
  160. package/dist/hooks/use-slash-commands.test.js +35 -5
  161. package/dist/hooks/use-slash-commands.test.js.map +1 -1
  162. package/dist/hooks/use-terminal-width.d.ts +2 -1
  163. package/dist/hooks/use-terminal-width.d.ts.map +1 -1
  164. package/dist/hooks/use-terminal-width.js +2 -1
  165. package/dist/hooks/use-terminal-width.js.map +1 -1
  166. package/dist/hooks/use-undo-selection.d.ts.map +1 -1
  167. package/dist/hooks/use-undo-selection.js +3 -1
  168. package/dist/hooks/use-undo-selection.js.map +1 -1
  169. package/dist/lib/openai-agent-client.d.ts.map +1 -1
  170. package/dist/lib/openai-agent-client.flex-tier.test.js +8 -3
  171. package/dist/lib/openai-agent-client.flex-tier.test.js.map +1 -1
  172. package/dist/lib/openai-agent-client.js +50 -24
  173. package/dist/lib/openai-agent-client.js.map +1 -1
  174. package/dist/lib/tool-execution-limiter.d.ts +16 -0
  175. package/dist/lib/tool-execution-limiter.d.ts.map +1 -0
  176. package/dist/lib/tool-execution-limiter.js +112 -0
  177. package/dist/lib/tool-execution-limiter.js.map +1 -0
  178. package/dist/lib/tool-execution-limiter.test.d.ts +2 -0
  179. package/dist/lib/tool-execution-limiter.test.d.ts.map +1 -0
  180. package/dist/lib/tool-execution-limiter.test.js +70 -0
  181. package/dist/lib/tool-execution-limiter.test.js.map +1 -0
  182. package/dist/lib/tool-invoke.test.js +8 -8
  183. package/dist/lib/tool-invoke.test.js.map +1 -1
  184. package/dist/lib/tool-selection-policy.d.ts.map +1 -1
  185. package/dist/lib/tool-selection-policy.js +43 -2
  186. package/dist/lib/tool-selection-policy.js.map +1 -1
  187. package/dist/lib/tool-selection-policy.test.js +39 -0
  188. package/dist/lib/tool-selection-policy.test.js.map +1 -1
  189. package/dist/prompts/gpt-5-modern.md +105 -97
  190. package/dist/prompts/gpt-5.5.md +106 -0
  191. package/dist/prompts/orchestrator.md +2 -5
  192. package/dist/prompts/prompt-profiles.js +1 -1
  193. package/dist/prompts/prompt-profiles.js.map +1 -1
  194. package/dist/prompts/prompt-profiles.ts +1 -1
  195. package/dist/prompts/prompt-selector.test.js +1 -1
  196. package/dist/prompts/prompt-selector.test.js.map +1 -1
  197. package/dist/prompts/prompt-selector.test.ts +1 -1
  198. package/dist/prompts/search-via-shell.d.ts.map +1 -1
  199. package/dist/prompts/search-via-shell.js +0 -1
  200. package/dist/prompts/search-via-shell.js.map +1 -1
  201. package/dist/prompts/search-via-shell.ts +0 -1
  202. package/dist/prompts/shell-auto-approval.d.ts +2 -2
  203. package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
  204. package/dist/prompts/shell-auto-approval.js +6 -6
  205. package/dist/prompts/shell-auto-approval.js.map +1 -1
  206. package/dist/prompts/shell-auto-approval.ts +6 -6
  207. package/dist/prompts/simple-prev.md +55 -0
  208. package/dist/prompts/simple.md +31 -53
  209. package/dist/prompts/subagent-delegation.js +2 -2
  210. package/dist/prompts/subagent-delegation.js.map +1 -1
  211. package/dist/prompts/subagent-delegation.ts +2 -2
  212. package/dist/providers/codex-responses-model.d.ts +5 -3
  213. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  214. package/dist/providers/codex-responses-model.js +76 -20
  215. package/dist/providers/codex-responses-model.js.map +1 -1
  216. package/dist/providers/codex-responses-model.test.js +242 -1
  217. package/dist/providers/codex-responses-model.test.js.map +1 -1
  218. package/dist/providers/codex.provider.d.ts +0 -2
  219. package/dist/providers/codex.provider.d.ts.map +1 -1
  220. package/dist/providers/codex.provider.js +2 -6
  221. package/dist/providers/codex.provider.js.map +1 -1
  222. package/dist/providers/codex.provider.test.js +4 -31
  223. package/dist/providers/codex.provider.test.js.map +1 -1
  224. package/dist/providers/custom-provider-adapter.test.js +3 -3
  225. package/dist/providers/custom-provider-adapter.test.js.map +1 -1
  226. package/dist/providers/fallback-responses-model.d.ts.map +1 -1
  227. package/dist/providers/fallback-responses-model.js +160 -83
  228. package/dist/providers/fallback-responses-model.js.map +1 -1
  229. package/dist/providers/fallback-responses-model.test.js +318 -0
  230. package/dist/providers/fallback-responses-model.test.js.map +1 -1
  231. package/dist/providers/openai-compatible-lazy.d.ts +4 -0
  232. package/dist/providers/openai-compatible-lazy.d.ts.map +1 -0
  233. package/dist/providers/openai-compatible-lazy.js +54 -0
  234. package/dist/providers/openai-compatible-lazy.js.map +1 -0
  235. package/dist/providers/openai-compatible.provider.d.ts +2 -2
  236. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  237. package/dist/providers/openai-compatible.provider.js +3 -3
  238. package/dist/providers/openai-compatible.provider.js.map +1 -1
  239. package/dist/providers/openai-compatible.provider.test.js +31 -0
  240. package/dist/providers/openai-compatible.provider.test.js.map +1 -1
  241. package/dist/providers/openai.provider.js +5 -3
  242. package/dist/providers/openai.provider.js.map +1 -1
  243. package/dist/providers/timed-responses-ws-model.d.ts +20 -0
  244. package/dist/providers/timed-responses-ws-model.d.ts.map +1 -0
  245. package/dist/providers/timed-responses-ws-model.js +381 -0
  246. package/dist/providers/timed-responses-ws-model.js.map +1 -0
  247. package/dist/providers/timed-responses-ws-model.test.d.ts +2 -0
  248. package/dist/providers/timed-responses-ws-model.test.d.ts.map +1 -0
  249. package/dist/providers/timed-responses-ws-model.test.js +441 -0
  250. package/dist/providers/timed-responses-ws-model.test.js.map +1 -0
  251. package/dist/providers/timed-ws-connection.d.ts +26 -0
  252. package/dist/providers/timed-ws-connection.d.ts.map +1 -0
  253. package/dist/providers/timed-ws-connection.js +156 -0
  254. package/dist/providers/timed-ws-connection.js.map +1 -0
  255. package/dist/providers/timed-ws-connection.test.d.ts +2 -0
  256. package/dist/providers/timed-ws-connection.test.d.ts.map +1 -0
  257. package/dist/providers/timed-ws-connection.test.js +223 -0
  258. package/dist/providers/timed-ws-connection.test.js.map +1 -0
  259. package/dist/providers/timed-ws-timeouts.d.ts +6 -0
  260. package/dist/providers/timed-ws-timeouts.d.ts.map +1 -0
  261. package/dist/providers/timed-ws-timeouts.js +6 -0
  262. package/dist/providers/timed-ws-timeouts.js.map +1 -0
  263. package/dist/services/command-message-streaming.d.ts.map +1 -1
  264. package/dist/services/command-message-streaming.js +8 -3
  265. package/dist/services/command-message-streaming.js.map +1 -1
  266. package/dist/services/conversation-clear-save.test.js +4 -5
  267. package/dist/services/conversation-clear-save.test.js.map +1 -1
  268. package/dist/services/conversation-events.d.ts +4 -0
  269. package/dist/services/conversation-events.d.ts.map +1 -1
  270. package/dist/services/conversation-history-repair.d.ts.map +1 -1
  271. package/dist/services/conversation-history-repair.js +81 -26
  272. package/dist/services/conversation-history-repair.js.map +1 -1
  273. package/dist/services/conversation-integration.test.js +109 -0
  274. package/dist/services/conversation-integration.test.js.map +1 -1
  275. package/dist/services/conversation-log-events.d.ts +19 -10
  276. package/dist/services/conversation-log-events.d.ts.map +1 -1
  277. package/dist/services/conversation-log-events.js +1 -1
  278. package/dist/services/conversation-log-events.js.map +1 -1
  279. package/dist/services/conversation-log-writer.d.ts.map +1 -1
  280. package/dist/services/conversation-log-writer.js +2 -3
  281. package/dist/services/conversation-log-writer.js.map +1 -1
  282. package/dist/services/conversation-persistence-types.d.ts +32 -0
  283. package/dist/services/conversation-persistence-types.d.ts.map +1 -1
  284. package/dist/services/conversation-persistence.d.ts +7 -1
  285. package/dist/services/conversation-persistence.d.ts.map +1 -1
  286. package/dist/services/conversation-persistence.js +95 -44
  287. package/dist/services/conversation-persistence.js.map +1 -1
  288. package/dist/services/conversation-persistence.test.js +551 -107
  289. package/dist/services/conversation-persistence.test.js.map +1 -1
  290. package/dist/services/conversation-replay.d.ts.map +1 -1
  291. package/dist/services/conversation-replay.js +234 -11
  292. package/dist/services/conversation-replay.js.map +1 -1
  293. package/dist/services/conversation-replay.test.js +426 -31
  294. package/dist/services/conversation-replay.test.js.map +1 -1
  295. package/dist/services/conversation-result-builder.d.ts +2 -0
  296. package/dist/services/conversation-result-builder.d.ts.map +1 -1
  297. package/dist/services/conversation-result-builder.js +4 -0
  298. package/dist/services/conversation-result-builder.js.map +1 -1
  299. package/dist/services/conversation-result-builder.test.js +126 -0
  300. package/dist/services/conversation-result-builder.test.js.map +1 -1
  301. package/dist/services/conversation-retry-policy.d.ts.map +1 -1
  302. package/dist/services/conversation-retry-policy.js +3 -0
  303. package/dist/services/conversation-retry-policy.js.map +1 -1
  304. package/dist/services/conversation-retry-policy.test.js +4 -0
  305. package/dist/services/conversation-retry-policy.test.js.map +1 -1
  306. package/dist/services/conversation-service.d.ts +3 -3
  307. package/dist/services/conversation-service.d.ts.map +1 -1
  308. package/dist/services/conversation-service.js +0 -3
  309. package/dist/services/conversation-service.js.map +1 -1
  310. package/dist/services/conversation-session.d.ts +10 -7
  311. package/dist/services/conversation-session.d.ts.map +1 -1
  312. package/dist/services/conversation-session.js +283 -86
  313. package/dist/services/conversation-session.js.map +1 -1
  314. package/dist/services/conversation-store.d.ts +16 -13
  315. package/dist/services/conversation-store.d.ts.map +1 -1
  316. package/dist/services/conversation-store.js +62 -191
  317. package/dist/services/conversation-store.js.map +1 -1
  318. package/dist/services/conversation-store.merge-modes.test.d.ts +2 -0
  319. package/dist/services/conversation-store.merge-modes.test.d.ts.map +1 -0
  320. package/dist/services/conversation-store.merge-modes.test.js +161 -0
  321. package/dist/services/conversation-store.merge-modes.test.js.map +1 -0
  322. package/dist/services/conversation-store.test.js +157 -294
  323. package/dist/services/conversation-store.test.js.map +1 -1
  324. package/dist/services/conversation-turn-items.d.ts +5 -0
  325. package/dist/services/conversation-turn-items.d.ts.map +1 -0
  326. package/dist/services/conversation-turn-items.js +351 -0
  327. package/dist/services/conversation-turn-items.js.map +1 -0
  328. package/dist/services/conversation-turn-items.test.d.ts +2 -0
  329. package/dist/services/conversation-turn-items.test.d.ts.map +1 -0
  330. package/dist/services/conversation-turn-items.test.js +68 -0
  331. package/dist/services/conversation-turn-items.test.js.map +1 -0
  332. package/dist/services/large-uncached-input-guard.d.ts.map +1 -1
  333. package/dist/services/large-uncached-input-guard.js +4 -3
  334. package/dist/services/large-uncached-input-guard.js.map +1 -1
  335. package/dist/services/large-uncached-input-guard.test.js +22 -0
  336. package/dist/services/large-uncached-input-guard.test.js.map +1 -1
  337. package/dist/services/notification-service.d.ts +22 -0
  338. package/dist/services/notification-service.d.ts.map +1 -0
  339. package/dist/services/notification-service.js +68 -0
  340. package/dist/services/notification-service.js.map +1 -0
  341. package/dist/services/notification-service.test.d.ts +2 -0
  342. package/dist/services/notification-service.test.d.ts.map +1 -0
  343. package/dist/services/notification-service.test.js +78 -0
  344. package/dist/services/notification-service.test.js.map +1 -0
  345. package/dist/services/provider-traffic.d.ts.map +1 -1
  346. package/dist/services/provider-traffic.js +1 -0
  347. package/dist/services/provider-traffic.js.map +1 -1
  348. package/dist/services/provider-traffic.test.js +51 -0
  349. package/dist/services/provider-traffic.test.js.map +1 -1
  350. package/dist/services/settings-schema.d.ts +16 -1
  351. package/dist/services/settings-schema.d.ts.map +1 -1
  352. package/dist/services/settings-schema.js +42 -22
  353. package/dist/services/settings-schema.js.map +1 -1
  354. package/dist/services/settings-schema.test.js +10 -0
  355. package/dist/services/settings-schema.test.js.map +1 -1
  356. package/dist/services/settings-service.js +2 -2
  357. package/dist/services/settings-service.js.map +1 -1
  358. package/dist/services/settings-sources.d.ts.map +1 -1
  359. package/dist/services/settings-sources.js +1 -0
  360. package/dist/services/settings-sources.js.map +1 -1
  361. package/dist/services/settings-sources.test.js +2 -0
  362. package/dist/services/settings-sources.test.js.map +1 -1
  363. package/dist/services/subagents/subagent-manager.d.ts.map +1 -1
  364. package/dist/services/subagents/subagent-manager.js +32 -30
  365. package/dist/services/subagents/subagent-manager.js.map +1 -1
  366. package/dist/services/subagents/subagent-manager.test.js +8 -12
  367. package/dist/services/subagents/subagent-manager.test.js.map +1 -1
  368. package/dist/services/subagents/subagent-session.d.ts +1 -1
  369. package/dist/services/subagents/subagent-session.d.ts.map +1 -1
  370. package/dist/services/subagents/subagent-session.js +2 -2
  371. package/dist/services/subagents/subagent-session.js.map +1 -1
  372. package/dist/services/subagents/subagent-session.test.js +3 -3
  373. package/dist/services/subagents/subagent-session.test.js.map +1 -1
  374. package/dist/services/subagents/types.d.ts +2 -1
  375. package/dist/services/subagents/types.d.ts.map +1 -1
  376. package/dist/services/terminal-result-collector.d.ts.map +1 -1
  377. package/dist/services/terminal-result-collector.js +43 -0
  378. package/dist/services/terminal-result-collector.js.map +1 -1
  379. package/dist/services/terminal-result-collector.test.js +44 -0
  380. package/dist/services/terminal-result-collector.test.js.map +1 -1
  381. package/dist/services/tool-execution-ledger.d.ts +6 -0
  382. package/dist/services/tool-execution-ledger.d.ts.map +1 -1
  383. package/dist/services/tool-execution-ledger.js +90 -25
  384. package/dist/services/tool-execution-ledger.js.map +1 -1
  385. package/dist/services/tool-execution-ledger.test.js +177 -2
  386. package/dist/services/tool-execution-ledger.test.js.map +1 -1
  387. package/dist/tools/apply-patch.d.ts.map +1 -1
  388. package/dist/tools/apply-patch.js +41 -23
  389. package/dist/tools/apply-patch.js.map +1 -1
  390. package/dist/tools/apply-patch.test.js +6 -6
  391. package/dist/tools/apply-patch.test.js.map +1 -1
  392. package/dist/tools/code-context.js +1 -1
  393. package/dist/tools/code-context.js.map +1 -1
  394. package/dist/tools/code-context.test.js +278 -0
  395. package/dist/tools/code-context.test.js.map +1 -1
  396. package/dist/tools/edit-healing.d.ts.map +1 -1
  397. package/dist/tools/edit-healing.js +9 -3
  398. package/dist/tools/edit-healing.js.map +1 -1
  399. package/dist/tools/language-providers.d.ts.map +1 -1
  400. package/dist/tools/language-providers.js +379 -0
  401. package/dist/tools/language-providers.js.map +1 -1
  402. package/dist/tools/languages/cpp.d.ts +8 -0
  403. package/dist/tools/languages/cpp.d.ts.map +1 -0
  404. package/dist/tools/languages/cpp.js +306 -0
  405. package/dist/tools/languages/cpp.js.map +1 -0
  406. package/dist/tools/languages/csharp.d.ts +5 -0
  407. package/dist/tools/languages/csharp.d.ts.map +1 -0
  408. package/dist/tools/languages/csharp.js +225 -0
  409. package/dist/tools/languages/csharp.js.map +1 -0
  410. package/dist/tools/languages/go.d.ts +7 -0
  411. package/dist/tools/languages/go.d.ts.map +1 -0
  412. package/dist/tools/languages/go.js +223 -0
  413. package/dist/tools/languages/go.js.map +1 -0
  414. package/dist/tools/languages/index.d.ts +6 -0
  415. package/dist/tools/languages/index.d.ts.map +1 -0
  416. package/dist/tools/languages/index.js +32 -0
  417. package/dist/tools/languages/index.js.map +1 -0
  418. package/dist/tools/languages/java.d.ts +5 -0
  419. package/dist/tools/languages/java.d.ts.map +1 -0
  420. package/dist/tools/languages/java.js +183 -0
  421. package/dist/tools/languages/java.js.map +1 -0
  422. package/dist/tools/languages/json.d.ts +3 -0
  423. package/dist/tools/languages/json.d.ts.map +1 -0
  424. package/dist/tools/languages/json.js +40 -0
  425. package/dist/tools/languages/json.js.map +1 -0
  426. package/dist/tools/languages/php.d.ts +8 -0
  427. package/dist/tools/languages/php.d.ts.map +1 -0
  428. package/dist/tools/languages/php.js +139 -0
  429. package/dist/tools/languages/php.js.map +1 -0
  430. package/dist/tools/languages/python.d.ts +7 -0
  431. package/dist/tools/languages/python.d.ts.map +1 -0
  432. package/dist/tools/languages/python.js +189 -0
  433. package/dist/tools/languages/python.js.map +1 -0
  434. package/dist/tools/languages/ruby.d.ts +8 -0
  435. package/dist/tools/languages/ruby.d.ts.map +1 -0
  436. package/dist/tools/languages/ruby.js +94 -0
  437. package/dist/tools/languages/ruby.js.map +1 -0
  438. package/dist/tools/languages/rust.d.ts +7 -0
  439. package/dist/tools/languages/rust.d.ts.map +1 -0
  440. package/dist/tools/languages/rust.js +186 -0
  441. package/dist/tools/languages/rust.js.map +1 -0
  442. package/dist/tools/languages/types.d.ts +39 -0
  443. package/dist/tools/languages/types.d.ts.map +1 -0
  444. package/dist/tools/languages/types.js +2 -0
  445. package/dist/tools/languages/types.js.map +1 -0
  446. package/dist/tools/languages/typescript.d.ts +4 -0
  447. package/dist/tools/languages/typescript.d.ts.map +1 -0
  448. package/dist/tools/languages/typescript.js +94 -0
  449. package/dist/tools/languages/typescript.js.map +1 -0
  450. package/dist/tools/languages/utils.d.ts +14 -0
  451. package/dist/tools/languages/utils.d.ts.map +1 -0
  452. package/dist/tools/languages/utils.js +73 -0
  453. package/dist/tools/languages/utils.js.map +1 -0
  454. package/dist/tools/run-subagent.d.ts +0 -1
  455. package/dist/tools/run-subagent.d.ts.map +1 -1
  456. package/dist/tools/run-subagent.js +1 -8
  457. package/dist/tools/run-subagent.js.map +1 -1
  458. package/dist/tools/run-subagent.test.js +0 -18
  459. package/dist/tools/run-subagent.test.js.map +1 -1
  460. package/dist/tools/shell.d.ts.map +1 -1
  461. package/dist/tools/shell.js +13 -1
  462. package/dist/tools/shell.js.map +1 -1
  463. package/dist/tools/web-fetch.d.ts.map +1 -1
  464. package/dist/tools/web-fetch.js +1 -1
  465. package/dist/tools/web-fetch.js.map +1 -1
  466. package/dist/utils/clipboard.d.ts +8 -0
  467. package/dist/utils/clipboard.d.ts.map +1 -1
  468. package/dist/utils/clipboard.js +50 -4
  469. package/dist/utils/clipboard.js.map +1 -1
  470. package/dist/utils/clipboard.test.js +152 -2
  471. package/dist/utils/clipboard.test.js.map +1 -1
  472. package/dist/utils/conversation-event-handler.d.ts.map +1 -1
  473. package/dist/utils/conversation-event-handler.js +3 -0
  474. package/dist/utils/conversation-event-handler.js.map +1 -1
  475. package/dist/utils/conversation-event-handler.test.js +13 -0
  476. package/dist/utils/conversation-event-handler.test.js.map +1 -1
  477. package/dist/utils/extract-command-messages.d.ts.map +1 -1
  478. package/dist/utils/extract-command-messages.js +8 -4
  479. package/dist/utils/extract-command-messages.js.map +1 -1
  480. package/dist/utils/message-utils.d.ts +7 -0
  481. package/dist/utils/message-utils.d.ts.map +1 -0
  482. package/dist/utils/message-utils.js +31 -0
  483. package/dist/utils/message-utils.js.map +1 -0
  484. package/dist/utils/resume-list.d.ts +15 -0
  485. package/dist/utils/resume-list.d.ts.map +1 -0
  486. package/dist/utils/resume-list.js +68 -0
  487. package/dist/utils/resume-list.js.map +1 -0
  488. package/dist/utils/resume-list.test.d.ts +2 -0
  489. package/dist/utils/resume-list.test.d.ts.map +1 -0
  490. package/dist/utils/resume-list.test.js +89 -0
  491. package/dist/utils/resume-list.test.js.map +1 -0
  492. package/dist/utils/settings-command.d.ts.map +1 -1
  493. package/dist/utils/settings-command.js +11 -0
  494. package/dist/utils/settings-command.js.map +1 -1
  495. package/dist/utils/token-usage.d.ts +3 -1
  496. package/dist/utils/token-usage.d.ts.map +1 -1
  497. package/dist/utils/token-usage.js +4 -2
  498. package/dist/utils/token-usage.js.map +1 -1
  499. package/dist/utils/tty-osc.d.ts +27 -0
  500. package/dist/utils/tty-osc.d.ts.map +1 -0
  501. package/dist/utils/tty-osc.js +66 -0
  502. package/dist/utils/tty-osc.js.map +1 -0
  503. package/dist/utils/tty-osc.test.d.ts +2 -0
  504. package/dist/utils/tty-osc.test.d.ts.map +1 -0
  505. package/dist/utils/tty-osc.test.js +130 -0
  506. package/dist/utils/tty-osc.test.js.map +1 -0
  507. package/package.json +3 -3
  508. package/readme.md +24 -9
  509. package/dist/app.large-uncached-warning.test.js +0 -15
@@ -1 +1 @@
1
- {"version":3,"file":"token-usage.js","sourceRoot":"","sources":["../../source/utils/token-usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-usage.js","sourceRoot":"","sources":["../../source/utils/token-usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export type TtyWriter = (data: string) => void;
2
+ /**
3
+ * Returns a function that writes a string to the terminal TTY.
4
+ * Prefers process.stdout when it is a TTY; falls back to opening /dev/tty
5
+ * directly so the sequence reaches the terminal even when stdout is redirected
6
+ * (e.g. through the synchronized-output patch or pipe).
7
+ */
8
+ export declare function getTtyWriter(): TtyWriter | null;
9
+ /**
10
+ * Wraps a raw OSC inner sequence for delivery through a terminal multiplexer
11
+ * (tmux or GNU screen). In a bare terminal the sequence is returned unchanged.
12
+ *
13
+ * - tmux: DCS passthrough — double every ESC in the inner sequence.
14
+ * - screen: DCS passthrough — chunk at 768 chars to stay within screen's
15
+ * internal buffer limit.
16
+ */
17
+ export declare function wrapForMultiplexer(inner: string, env: NodeJS.ProcessEnv): string;
18
+ export interface WriteOscOptions {
19
+ env?: NodeJS.ProcessEnv;
20
+ getTtyWriter?: () => TtyWriter | null;
21
+ }
22
+ /**
23
+ * Wraps an OSC inner sequence for the current multiplexer (if any) and writes
24
+ * it to the TTY. Silently does nothing if no TTY is available.
25
+ */
26
+ export declare function writeOscSequence(inner: string, opts?: WriteOscOptions): void;
27
+ //# sourceMappingURL=tty-osc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tty-osc.d.ts","sourceRoot":"","sources":["../../source/utils/tty-osc.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAE/C;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,SAAS,GAAG,IAAI,CAoB/C;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAkBhF;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,IAAI,CAMhF"}
@@ -0,0 +1,66 @@
1
+ import fs from 'fs';
2
+ /**
3
+ * Returns a function that writes a string to the terminal TTY.
4
+ * Prefers process.stdout when it is a TTY; falls back to opening /dev/tty
5
+ * directly so the sequence reaches the terminal even when stdout is redirected
6
+ * (e.g. through the synchronized-output patch or pipe).
7
+ */
8
+ export function getTtyWriter() {
9
+ if (process.stdout.isTTY) {
10
+ return (data) => void process.stdout.write(data);
11
+ }
12
+ try {
13
+ const fd = fs.openSync('/dev/tty', 'w');
14
+ fs.closeSync(fd);
15
+ return (data) => {
16
+ const writeFd = fs.openSync('/dev/tty', 'w');
17
+ try {
18
+ fs.writeSync(writeFd, data);
19
+ }
20
+ finally {
21
+ fs.closeSync(writeFd);
22
+ }
23
+ };
24
+ }
25
+ catch {
26
+ return null;
27
+ }
28
+ }
29
+ /**
30
+ * Wraps a raw OSC inner sequence for delivery through a terminal multiplexer
31
+ * (tmux or GNU screen). In a bare terminal the sequence is returned unchanged.
32
+ *
33
+ * - tmux: DCS passthrough — double every ESC in the inner sequence.
34
+ * - screen: DCS passthrough — chunk at 768 chars to stay within screen's
35
+ * internal buffer limit.
36
+ */
37
+ export function wrapForMultiplexer(inner, env) {
38
+ if (env.TMUX) {
39
+ // tmux DCS passthrough: double each ESC in the inner sequence
40
+ const escaped = inner.replace(/\x1b/g, '\x1b\x1b');
41
+ return `\x1bPtmux;\x1b${escaped}\x1b\\`;
42
+ }
43
+ if (env.TERM?.startsWith('screen')) {
44
+ // screen DCS passthrough: chunk at 768 chars to stay within screen's buffer limit
45
+ const CHUNK_SIZE = 768;
46
+ let result = '';
47
+ for (let i = 0; i < inner.length; i += CHUNK_SIZE) {
48
+ result += `\x1bP${inner.slice(i, i + CHUNK_SIZE)}\x1b\\`;
49
+ }
50
+ return result;
51
+ }
52
+ return inner;
53
+ }
54
+ /**
55
+ * Wraps an OSC inner sequence for the current multiplexer (if any) and writes
56
+ * it to the TTY. Silently does nothing if no TTY is available.
57
+ */
58
+ export function writeOscSequence(inner, opts = {}) {
59
+ const env = opts.env ?? process.env;
60
+ const getWriter = opts.getTtyWriter ?? getTtyWriter;
61
+ const writer = getWriter();
62
+ if (!writer)
63
+ return;
64
+ writer(wrapForMultiplexer(inner, env));
65
+ }
66
+ //# sourceMappingURL=tty-osc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tty-osc.js","sourceRoot":"","sources":["../../source/utils/tty-osc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACxC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEjB,OAAO,CAAC,IAAI,EAAE,EAAE;YACd,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC;gBACH,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;oBAAS,CAAC;gBACT,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,GAAsB;IACtE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,8DAA8D;QAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACnD,OAAO,iBAAiB,OAAO,QAAQ,CAAC;IAC1C,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,kFAAkF;QAClF,MAAM,UAAU,GAAG,GAAG,CAAC;QACvB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;YAClD,MAAM,IAAI,QAAQ,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC3D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAOD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAwB,EAAE;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC;IACpD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tty-osc.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tty-osc.test.d.ts","sourceRoot":"","sources":["../../source/utils/tty-osc.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,130 @@
1
+ import test from 'ava';
2
+ import fs from 'fs';
3
+ import { wrapForMultiplexer, writeOscSequence, getTtyWriter } from './tty-osc.js';
4
+ // ── wrapForMultiplexer ──────────────────────────────────────────────────────
5
+ test('wrapForMultiplexer returns inner unchanged in a bare terminal', (t) => {
6
+ const inner = '\x1b]9;hello\x07';
7
+ t.is(wrapForMultiplexer(inner, {}), inner);
8
+ });
9
+ test('wrapForMultiplexer wraps in tmux DCS passthrough when TMUX is set', (t) => {
10
+ const inner = '\x1b]9;hello\x07';
11
+ const escaped = inner.replace(/\x1b/g, '\x1b\x1b');
12
+ const expected = `\x1bPtmux;\x1b${escaped}\x1b\\`;
13
+ t.is(wrapForMultiplexer(inner, { TMUX: '/tmp/tmux' }), expected);
14
+ });
15
+ test('wrapForMultiplexer wraps in screen DCS passthrough when TERM starts with screen', (t) => {
16
+ const inner = '\x1b]9;hi\x07';
17
+ const expected = `\x1bP${inner}\x1b\\`;
18
+ t.is(wrapForMultiplexer(inner, { TERM: 'screen-256color' }), expected);
19
+ });
20
+ test('wrapForMultiplexer chunks screen DCS passthrough at 768 characters', (t) => {
21
+ // Create an inner sequence longer than 768 chars
22
+ const longMsg = 'x'.repeat(800);
23
+ const inner = `\x1b]9;${longMsg}\x07`;
24
+ t.true(inner.length > 768, 'precondition: inner sequence must exceed 768 chars');
25
+ const result = wrapForMultiplexer(inner, { TERM: 'screen' });
26
+ const chunk1 = inner.slice(0, 768);
27
+ const chunk2 = inner.slice(768);
28
+ t.is(result, `\x1bP${chunk1}\x1b\\` + `\x1bP${chunk2}\x1b\\`);
29
+ });
30
+ // ── writeOscSequence ────────────────────────────────────────────────────────
31
+ test('writeOscSequence calls the injected writer with the bare sequence in a plain env', (t) => {
32
+ let written = '';
33
+ const inner = '\x1b]9;hello\x07';
34
+ writeOscSequence(inner, {
35
+ env: {},
36
+ getTtyWriter: () => (data) => {
37
+ written = data;
38
+ },
39
+ });
40
+ t.is(written, inner);
41
+ });
42
+ test('writeOscSequence does nothing when getTtyWriter returns null', (t) => {
43
+ t.notThrows(() => {
44
+ writeOscSequence('\x1b]9;test\x07', {
45
+ env: {},
46
+ getTtyWriter: () => null,
47
+ });
48
+ });
49
+ });
50
+ test('writeOscSequence applies tmux wrapping before writing', (t) => {
51
+ let written = '';
52
+ const inner = '\x1b]9;msg\x07';
53
+ const escaped = inner.replace(/\x1b/g, '\x1b\x1b');
54
+ const expected = `\x1bPtmux;\x1b${escaped}\x1b\\`;
55
+ writeOscSequence(inner, {
56
+ env: { TMUX: '/tmp/tmux' },
57
+ getTtyWriter: () => (data) => {
58
+ written = data;
59
+ },
60
+ });
61
+ t.is(written, expected);
62
+ });
63
+ test.serial('getTtyWriter returned writer opens and closes /dev/tty on each write', (t) => {
64
+ const isTty = process.stdout.isTTY;
65
+ Object.defineProperty(process.stdout, 'isTTY', {
66
+ value: false,
67
+ configurable: true,
68
+ });
69
+ const openedFds = [];
70
+ const closedFds = [];
71
+ const writtenData = [];
72
+ let nextFd = 100;
73
+ const originalOpen = fs.openSync;
74
+ const originalClose = fs.closeSync;
75
+ const originalWrite = fs.writeSync;
76
+ fs.openSync = ((path, flags) => {
77
+ if (path === '/dev/tty') {
78
+ const fd = nextFd++;
79
+ openedFds.push(fd);
80
+ return fd;
81
+ }
82
+ return originalOpen(path, flags);
83
+ });
84
+ fs.closeSync = ((fd) => {
85
+ if (fd >= 100) {
86
+ closedFds.push(fd);
87
+ return;
88
+ }
89
+ return originalClose(fd);
90
+ });
91
+ fs.writeSync = ((fd, data) => {
92
+ if (fd >= 100) {
93
+ writtenData.push({ fd, data: String(data) });
94
+ return data.length;
95
+ }
96
+ return originalWrite(fd, data);
97
+ });
98
+ try {
99
+ const writer = getTtyWriter();
100
+ t.truthy(writer);
101
+ // First verification open/close on getTtyWriter call:
102
+ t.is(openedFds.length, 1);
103
+ t.is(closedFds.length, 1);
104
+ t.is(openedFds[0], closedFds[0]);
105
+ // Perform two writes:
106
+ writer('hello');
107
+ writer('world');
108
+ // Should have opened and closed two more times
109
+ t.is(openedFds.length, 3);
110
+ t.is(closedFds.length, 3);
111
+ t.is(writtenData.length, 2);
112
+ t.is(writtenData[0].data, 'hello');
113
+ t.is(writtenData[1].data, 'world');
114
+ // Verify each write had its own fd opened and closed
115
+ t.is(writtenData[0].fd, openedFds[1]);
116
+ t.is(closedFds[1], openedFds[1]);
117
+ t.is(writtenData[1].fd, openedFds[2]);
118
+ t.is(closedFds[2], openedFds[2]);
119
+ }
120
+ finally {
121
+ fs.openSync = originalOpen;
122
+ fs.closeSync = originalClose;
123
+ fs.writeSync = originalWrite;
124
+ Object.defineProperty(process.stdout, 'isTTY', {
125
+ value: isTty,
126
+ configurable: true,
127
+ });
128
+ }
129
+ });
130
+ //# sourceMappingURL=tty-osc.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tty-osc.test.js","sourceRoot":"","sources":["../../source/utils/tty-osc.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qduc/term2",
3
- "version": "0.7.0",
3
+ "version": "0.7.2",
4
4
  "description": "A terminal-based AI assistant that can help you get things done on your computer",
5
5
  "license": "MIT",
6
6
  "author": "qduc",
@@ -33,7 +33,7 @@
33
33
  "start": "node dist/cli.js",
34
34
  "build": "tsc && npm run post-build",
35
35
  "dev": "tsc --watch",
36
- "test": "DISABLE_LOGGING=1 ava --reporter=min | grep -v '✔'; exit ${PIPESTATUS[0]}",
36
+ "test": "bash -c 'DISABLE_LOGGING=1 ava --reporter=min \"$@\" | grep -v \"✔\"; exit ${PIPESTATUS[0]}' --",
37
37
  "test:verbose": "tsc && ava",
38
38
  "lint": "prettier --check .",
39
39
  "lint-fix": "prettier --write .",
@@ -61,7 +61,7 @@
61
61
  "fast-glob": "^3.3.2",
62
62
  "ignore": "^5.3.2",
63
63
  "ink": "^7.0.1",
64
- "ink-prompt": "^0.2.5",
64
+ "ink-prompt": "^0.3.1",
65
65
  "jsdom": "^27.4.0",
66
66
  "marked": "^17.0.1",
67
67
  "meow": "^11.0.0",
package/readme.md CHANGED
@@ -13,15 +13,15 @@ https://github.com/user-attachments/assets/ac960d65-f7c8-453a-9440-91f6397ae842
13
13
 
14
14
  ## Features
15
15
 
16
- - 🎭 **Four Operating Modes** - Standard (full-power, auto-approves patches), Lite (fast & safe), Mentor (expert model advice), and Plan (read-only research/implementation drafting)
16
+ - 🎭 **Five Operating Modes** - Standard (full-power, auto-approves patches), Lite (fast & safe), Mentor (expert model advice), Plan (read-only research/planning), and Orchestrator (delegates task execution to subagents)
17
17
  - 🌍 **Open Source** - MIT licensed, hackable, auditable, community-driven
18
18
  - 🤖 **Multi-Provider Support** - Works with OpenAI, OpenRouter, OpenAI-compatible APIs, and Vercel AI SDK providers
19
19
  - 🔒 **Safe Execution** - Every command requires your explicit approval with diff preview
20
20
  - 🛠️ **Advanced Tools** - Shell execution, file patching, search/replace (with `<...>` gap matching), grep, find files, file reading, file creation, web search, web fetching, code outline & context search, mentor consultation, and subagent invocation
21
21
  - 👥 **Subagent Delegation** - Spawn specialized, synchronous subagents (`explorer`, `worker`, `researcher`, `mentor`) to perform sub-tasks in parallel while conserving your main context
22
22
  - ⏪ **Conversation Undo & Rewind** - Undo the last turn or select any past user message to rewind the conversation state back to that point
23
- - 💾 **Conversation Resumption** - Saved conversations are persisted and can be resumed later using the `--resume` flag
24
- - 💬 **Slash Commands** - Quick actions like `/clear`, `/quit`, `/model`, `/mentor`, `/lite`, `/copy`, `/auto-approve`, `/plan`, `/undo`, `/usage`, and `/effort` for easy control
23
+ - 💾 **Conversation Resumption & Persistence** - Saved conversations are persisted using robust event logging and can be resumed later using the `--resume` flag
24
+ - 💬 **Slash Commands** - Quick actions like `/clear`, `/quit`, `/model`, `/mentor`, `/lite`, `/copy`, `/auto-approve`, `/plan`, `/undo`, `/usage`, `/effort`, `/handoff`, `/retry`, and `/orchestrator` for easy control
25
25
  - 📝 **Smart Context** - The assistant understands your environment and provides relevant help
26
26
  - 🎯 **Streaming Responses** - See the AI's thoughts and reasoning in real-time
27
27
  - 🧠 **Reasoning Effort Control** - Configurable reasoning levels (minimal to high) for O1/O3 models
@@ -152,10 +152,13 @@ While in the chat, you can use these commands:
152
152
  - `/mentor` - Toggle mentor mode
153
153
  - `/lite` - Toggle lite mode (requires `/clear` first if a session is active)
154
154
  - `/plan` - Toggle plan mode (read-only research/planning mode)
155
+ - `/orchestrator` - Toggle orchestrator mode (delegates all tool-backed work to subagents; requires `/clear` first if a session is active)
155
156
  - `/undo [last]` - Open the conversation rewind menu, or revert the last turn immediately if `last` is specified
157
+ - `/retry` - Undo the last user message and re-send it
156
158
  - `/usage` - Show token usage breakdown for the current session (includes subagent usage)
157
159
  - `/effort [level]` - Set reasoning effort for O1/O3 models (e.g. none, minimal, low, medium, high)
158
160
  - `/copy` - Copy the latest assistant response to the clipboard
161
+ - `/handoff` - Hand off the last assistant response to another model or session
159
162
  - `/auto-approve [off|advisory|auto]` - Set or cycle shell auto-approval mode
160
163
  - `/settings [key] [value]` - Modify runtime settings (e.g., `/settings agent.temperature 0.7`)
161
164
 
@@ -172,6 +175,7 @@ term2 offers multiple operating modes tailored to different workflows.
172
175
  | **Plan** | `/plan` | Researching and designing plans | Read-only tools | Full codebase |
173
176
  | **Lite** | `term2 --lite` | General terminal tasks (no codebase) | Read-only tools | None |
174
177
  | **Mentor** | `/mentor` | Complex codebase problems | All + mentor tool | Full codebase |
178
+ | **Orchestrator**| `/orchestrator` | Delegating complex multi-step work | Subagents + read-only| Full codebase |
175
179
 
176
180
  ### Standard Mode - Rapid Development
177
181
 
@@ -289,6 +293,16 @@ AI: [Does additional checks based on mentor's questions]
289
293
  [Implements solution addressing all concerns]
290
294
  ```
291
295
 
296
+ ### Orchestrator Mode - Context-Saving Delegation
297
+
298
+ **The problem it solves:** For complex, multi-step tasks, letting the main assistant execute commands and edits directly can quickly fill up the context window with long files and command outputs, leading to performance degradation and high costs.
299
+
300
+ Orchestrator Mode delegates execution details to specialized subagents. In this mode, the primary assistant focuses on orchestrating the high-level plan and analyzing results. It only has access to a minimal set of read-only tools and the subagent runner tool (`run_subagent`), preventing context bloat.
301
+
302
+ - 👥 **Context preservation** - Offloads execution details to child sessions
303
+ - 🛠️ **Controlled workspace** - Restricts main assistant to high-level orchestration
304
+ - 🔄 **Toggleable** - Switch with the `/orchestrator` command
305
+
292
306
  ### Switching Modes
293
307
 
294
308
  Modes represent different working styles matched to your task. You can switch modes mid-session:
@@ -296,8 +310,9 @@ Modes represent different working styles matched to your task. You can switch mo
296
310
  - `/lite` - Toggle lite mode (requires clearing history first with `/clear` if session is active)
297
311
  - `/mentor` - Toggle mentor mode
298
312
  - `/plan` - Toggle plan mode
299
- - `Shift+Tab` - Cycles through `Default -> Edit -> Plan -> Default` (or toggles Shell Mode in Lite Mode)
300
- - Switch triggers handle mutual exclusions automatically (e.g. enabling Plan Mode disables Edit/Lite modes)
313
+ - `/orchestrator` - Toggle orchestrator mode (requires clearing history first with `/clear` if session is active)
314
+ - `Shift+Tab` - Cycles between Standard and Plan modes (or toggles Shell Mode in Lite Mode)
315
+ - Switch triggers handle mutual exclusions automatically (e.g. enabling Plan Mode disables other active modes like Lite, Mentor, or Orchestrator)
301
316
 
302
317
 
303
318
  ## SSH Mode
@@ -674,8 +689,8 @@ Here is a comprehensive example demonstrating the most useful settings keys you
674
689
  "provider": "tavily"
675
690
  },
676
691
  "app": {
677
- "searchViaShell": false,
678
- "editMode": false,
692
+ "searchViaShell": "auto",
693
+ "orchestratorMode": false,
679
694
  "planMode": false,
680
695
  "mentorMode": false,
681
696
  "liteMode": false
@@ -733,8 +748,8 @@ Subagent logs and outputs stream in real-time within the terminal, allowing you
733
748
  term2 automatically saves your conversation history, settings, and provider state at the end of each session. This allows you to resume any past chat exactly where you left off.
734
749
 
735
750
  - **Auto-save**: Every active chat session is saved on exit or interrupt to your system's log directory:
736
- - **Linux**: `~/.local/state/term2/log/conversations/`
737
- - **macOS**: `~/Library/Logs/term2/conversations/`
751
+ - **Linux**: `~/.local/state/term2-nodejs/log/conversations/`
752
+ - **macOS**: `~/Library/Logs/term2-nodejs/conversations/`
738
753
  - **Resume Last Session**: Run `term2 --resume` to reload the most recent conversation.
739
754
  - **Resume Specific Session**: Use `term2 --resume <session-uuid>` to load a specific conversation history.
740
755
  - **Listing Sessions**: You can inspect saved sessions and their UUIDs in the log or state files.
@@ -1,15 +0,0 @@
1
- import test from 'ava';
2
- import { formatLargeUncachedInputWarning } from './app.js';
3
- test('formatLargeUncachedInputWarning describes estimate, reason, and confirmation action', (t) => {
4
- const text = formatLargeUncachedInputWarning({
5
- action: 'warn',
6
- warningKey: 'abc',
7
- reasons: ['idle_timeout'],
8
- estimatedTokens: 72_100,
9
- estimatedBytes: 288_400,
10
- });
11
- t.true(text.includes('~72k input tokens'));
12
- t.true(text.includes('idle for over 5m'));
13
- t.true(text.includes('Press Enter again'));
14
- });
15
- //# sourceMappingURL=app.large-uncached-warning.test.js.map