@qduc/term2 0.19.0 → 0.21.0

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 (457) hide show
  1. package/dist/agent.d.ts +9 -0
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +151 -93
  4. package/dist/agent.js.map +1 -1
  5. package/dist/app.d.ts +1 -1
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +62 -36
  8. package/dist/app.js.map +1 -1
  9. package/dist/cli.js +122 -41
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/guarded-settings-command.d.ts.map +1 -1
  12. package/dist/commands/guarded-settings-command.js +33 -5
  13. package/dist/commands/guarded-settings-command.js.map +1 -1
  14. package/dist/commands/mode-commands.d.ts +17 -12
  15. package/dist/commands/mode-commands.d.ts.map +1 -1
  16. package/dist/commands/mode-commands.js +68 -44
  17. package/dist/commands/mode-commands.js.map +1 -1
  18. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  19. package/dist/components/input/ApplicationInputSurface.js +4 -0
  20. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  21. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  22. package/dist/components/input/MenuSurface.js +1 -0
  23. package/dist/components/input/MenuSurface.js.map +1 -1
  24. package/dist/components/input/ProfileMenuSession.d.ts +16 -0
  25. package/dist/components/input/ProfileMenuSession.d.ts.map +1 -0
  26. package/dist/components/input/ProfileMenuSession.js +64 -0
  27. package/dist/components/input/ProfileMenuSession.js.map +1 -0
  28. package/dist/components/input/determine-active-menu.d.ts +3 -0
  29. package/dist/components/input/determine-active-menu.d.ts.map +1 -1
  30. package/dist/components/input/determine-active-menu.js +6 -1
  31. package/dist/components/input/determine-active-menu.js.map +1 -1
  32. package/dist/components/input/menu-registry.d.ts.map +1 -1
  33. package/dist/components/input/menu-registry.js +2 -0
  34. package/dist/components/input/menu-registry.js.map +1 -1
  35. package/dist/components/input/menu-types.d.ts +4 -0
  36. package/dist/components/input/menu-types.d.ts.map +1 -1
  37. package/dist/components/input/triggers.d.ts +1 -0
  38. package/dist/components/input/triggers.d.ts.map +1 -1
  39. package/dist/components/input/triggers.js +26 -0
  40. package/dist/components/input/triggers.js.map +1 -1
  41. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  42. package/dist/components/layout/BackgroundTaskManager.js +6 -2
  43. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  44. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  45. package/dist/components/layout/BackgroundTasksPanel.js +16 -8
  46. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  47. package/dist/components/layout/Banner.d.ts.map +1 -1
  48. package/dist/components/layout/Banner.js +10 -5
  49. package/dist/components/layout/Banner.js.map +1 -1
  50. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  51. package/dist/components/layout/BottomArea.js +4 -3
  52. package/dist/components/layout/BottomArea.js.map +1 -1
  53. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  54. package/dist/components/layout/StatusBar.js +28 -13
  55. package/dist/components/layout/StatusBar.js.map +1 -1
  56. package/dist/components/menu/ProfileSelectionMenu.d.ts +12 -0
  57. package/dist/components/menu/ProfileSelectionMenu.d.ts.map +1 -0
  58. package/dist/components/menu/ProfileSelectionMenu.js +48 -0
  59. package/dist/components/menu/ProfileSelectionMenu.js.map +1 -0
  60. package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -1
  61. package/dist/components/menu/ResumeSelectionMenu.js +6 -14
  62. package/dist/components/menu/ResumeSelectionMenu.js.map +1 -1
  63. package/dist/components/message/ChatMessage.js +1 -1
  64. package/dist/components/message/ChatMessage.js.map +1 -1
  65. package/dist/components/message/MessageList.d.ts.map +1 -1
  66. package/dist/components/message/MessageList.js +32 -16
  67. package/dist/components/message/MessageList.js.map +1 -1
  68. package/dist/components/message/command-grouping.d.ts +6 -6
  69. package/dist/components/message/command-grouping.d.ts.map +1 -1
  70. package/dist/components/message/command-grouping.js +21 -8
  71. package/dist/components/message/command-grouping.js.map +1 -1
  72. package/dist/context/InputContext.d.ts +1 -1
  73. package/dist/context/InputContext.d.ts.map +1 -1
  74. package/dist/context/InputContext.js +8 -0
  75. package/dist/context/InputContext.js.map +1 -1
  76. package/dist/contracts/session-rollover.d.ts +9 -1
  77. package/dist/contracts/session-rollover.d.ts.map +1 -1
  78. package/dist/contracts/streamed-model-turn.d.ts +20 -2
  79. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  80. package/dist/gateway/gateway.d.ts.map +1 -1
  81. package/dist/gateway/gateway.js +19 -23
  82. package/dist/gateway/gateway.js.map +1 -1
  83. package/dist/gateway/launcher-seam.d.ts.map +1 -1
  84. package/dist/gateway/launcher-seam.js +2 -19
  85. package/dist/gateway/launcher-seam.js.map +1 -1
  86. package/dist/gateway/settings-rpc.d.ts +1 -1
  87. package/dist/gateway/settings-rpc.d.ts.map +1 -1
  88. package/dist/gateway/settings-rpc.js +2 -0
  89. package/dist/gateway/settings-rpc.js.map +1 -1
  90. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  91. package/dist/hooks/settings-completion-config.js +25 -3
  92. package/dist/hooks/settings-completion-config.js.map +1 -1
  93. package/dist/hooks/use-app-commands.d.ts +3 -1
  94. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  95. package/dist/hooks/use-app-commands.js +21 -14
  96. package/dist/hooks/use-app-commands.js.map +1 -1
  97. package/dist/hooks/use-conversation.d.ts +2 -2
  98. package/dist/hooks/use-conversation.d.ts.map +1 -1
  99. package/dist/hooks/use-conversation.js +1 -1
  100. package/dist/hooks/use-conversation.js.map +1 -1
  101. package/dist/hooks/use-handoff-flow.d.ts +1 -0
  102. package/dist/hooks/use-handoff-flow.d.ts.map +1 -1
  103. package/dist/hooks/use-handoff-flow.js +19 -12
  104. package/dist/hooks/use-handoff-flow.js.map +1 -1
  105. package/dist/hooks/use-profile-selection.d.ts +34 -0
  106. package/dist/hooks/use-profile-selection.d.ts.map +1 -0
  107. package/dist/hooks/use-profile-selection.js +103 -0
  108. package/dist/hooks/use-profile-selection.js.map +1 -0
  109. package/dist/hooks/use-resume-selection.d.ts +2 -0
  110. package/dist/hooks/use-resume-selection.d.ts.map +1 -1
  111. package/dist/hooks/use-resume-selection.js +11 -9
  112. package/dist/hooks/use-resume-selection.js.map +1 -1
  113. package/dist/hooks/use-settings-value-completion.d.ts.map +1 -1
  114. package/dist/hooks/use-settings-value-completion.js +16 -0
  115. package/dist/hooks/use-settings-value-completion.js.map +1 -1
  116. package/dist/hooks/use-skill-selection.d.ts +5 -3
  117. package/dist/hooks/use-skill-selection.d.ts.map +1 -1
  118. package/dist/hooks/use-skill-selection.js +8 -6
  119. package/dist/hooks/use-skill-selection.js.map +1 -1
  120. package/dist/lib/agent-client.d.ts +18 -0
  121. package/dist/lib/agent-client.d.ts.map +1 -1
  122. package/dist/lib/agent-client.js +69 -14
  123. package/dist/lib/agent-client.js.map +1 -1
  124. package/dist/lib/agent-configuration.d.ts +8 -0
  125. package/dist/lib/agent-configuration.d.ts.map +1 -1
  126. package/dist/lib/agent-configuration.js +7 -4
  127. package/dist/lib/agent-configuration.js.map +1 -1
  128. package/dist/lib/agent-factory.d.ts +8 -0
  129. package/dist/lib/agent-factory.d.ts.map +1 -1
  130. package/dist/lib/agent-factory.js +65 -41
  131. package/dist/lib/agent-factory.js.map +1 -1
  132. package/dist/lib/harness-input-idle.d.ts +10 -0
  133. package/dist/lib/harness-input-idle.d.ts.map +1 -1
  134. package/dist/lib/harness-input-idle.js +47 -5
  135. package/dist/lib/harness-input-idle.js.map +1 -1
  136. package/dist/non-interactive.d.ts.map +1 -1
  137. package/dist/non-interactive.js +6 -6
  138. package/dist/non-interactive.js.map +1 -1
  139. package/dist/prompts/memory.md +1 -1
  140. package/dist/prompts/prefix-quality.test.ts +8 -5
  141. package/dist/prompts/prompt-constructor.d.ts +5 -6
  142. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  143. package/dist/prompts/prompt-constructor.js +15 -7
  144. package/dist/prompts/prompt-constructor.js.map +1 -1
  145. package/dist/prompts/prompt-constructor.test.ts +73 -48
  146. package/dist/prompts/prompt-constructor.ts +21 -13
  147. package/dist/prompts/session-browser.md +2 -0
  148. package/dist/prompts/shell-auto-approval.d.ts +2 -2
  149. package/dist/prompts/shell-auto-approval.d.ts.map +1 -1
  150. package/dist/prompts/shell-auto-approval.js +19 -16
  151. package/dist/prompts/shell-auto-approval.js.map +1 -1
  152. package/dist/prompts/shell-auto-approval.ts +19 -16
  153. package/dist/providers/aborted-stream-recorder.js +2 -1
  154. package/dist/providers/aborted-stream-recorder.js.map +1 -1
  155. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  156. package/dist/providers/ai-sdk-streamed-model.js +7 -0
  157. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  158. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  159. package/dist/providers/codex-responses-model.js +75 -14
  160. package/dist/providers/codex-responses-model.js.map +1 -1
  161. package/dist/providers/codex-turn-converter.d.ts.map +1 -1
  162. package/dist/providers/codex-turn-converter.js +21 -4
  163. package/dist/providers/codex-turn-converter.js.map +1 -1
  164. package/dist/providers/codex.provider.d.ts.map +1 -1
  165. package/dist/providers/codex.provider.js +1 -0
  166. package/dist/providers/codex.provider.js.map +1 -1
  167. package/dist/providers/fetch/logging-middleware.d.ts.map +1 -1
  168. package/dist/providers/fetch/logging-middleware.js +22 -2
  169. package/dist/providers/fetch/logging-middleware.js.map +1 -1
  170. package/dist/providers/openai-chat-completions-model.js +119 -50
  171. package/dist/providers/openai-chat-completions-model.js.map +1 -1
  172. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  173. package/dist/providers/openai-responses-model.js +131 -15
  174. package/dist/providers/openai-responses-model.js.map +1 -1
  175. package/dist/providers/registry.d.ts +1 -1
  176. package/dist/providers/registry.d.ts.map +1 -1
  177. package/dist/providers/retrying-model.d.ts.map +1 -1
  178. package/dist/providers/retrying-model.js +11 -2
  179. package/dist/providers/retrying-model.js.map +1 -1
  180. package/dist/services/agent-runtime/application-run-loop.d.ts +3 -1
  181. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  182. package/dist/services/agent-runtime/application-run-loop.js +99 -19
  183. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  184. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts +2 -3
  185. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.d.ts.map +1 -1
  186. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js +18 -9
  187. package/dist/services/agent-runtime/context-compaction/context-milestone-reminder.js.map +1 -1
  188. package/dist/services/agent-runtime/generation-guard.d.ts +25 -1
  189. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
  190. package/dist/services/agent-runtime/generation-guard.js +105 -1
  191. package/dist/services/agent-runtime/generation-guard.js.map +1 -1
  192. package/dist/services/agent-stream.d.ts +2 -0
  193. package/dist/services/agent-stream.d.ts.map +1 -1
  194. package/dist/services/agent-stream.js.map +1 -1
  195. package/dist/services/approval/approval-decision-policy.js +2 -2
  196. package/dist/services/approval/approval-decision-policy.js.map +1 -1
  197. package/dist/services/approval/shell-auto-approval-evaluator.d.ts +5 -1
  198. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  199. package/dist/services/approval/shell-auto-approval-evaluator.js +42 -18
  200. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  201. package/dist/services/approval/shell-auto-approval-resolver.d.ts +5 -0
  202. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  203. package/dist/services/approval/shell-auto-approval-resolver.js +117 -20
  204. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  205. package/dist/services/approval/tool-approval-batch-coordinator.d.ts.map +1 -1
  206. package/dist/services/approval/tool-approval-batch-coordinator.js +20 -3
  207. package/dist/services/approval/tool-approval-batch-coordinator.js.map +1 -1
  208. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  209. package/dist/services/conversation/conversation-adapter.js +2 -9
  210. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  211. package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
  212. package/dist/services/conversation/conversation-decoder.js +6 -2
  213. package/dist/services/conversation/conversation-decoder.js.map +1 -1
  214. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  215. package/dist/services/conversation/conversation-orchestrator.js +22 -2
  216. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  217. package/dist/services/conversation/conversation-persistence.d.ts +30 -0
  218. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  219. package/dist/services/conversation/conversation-persistence.js +101 -7
  220. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  221. package/dist/services/conversation/conversation-replay.d.ts +2 -0
  222. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  223. package/dist/services/conversation/conversation-replay.js +71 -57
  224. package/dist/services/conversation/conversation-replay.js.map +1 -1
  225. package/dist/services/conversation/conversation-result-builder.d.ts.map +1 -1
  226. package/dist/services/conversation/conversation-result-builder.js +21 -4
  227. package/dist/services/conversation/conversation-result-builder.js.map +1 -1
  228. package/dist/services/conversation/conversation-service.d.ts +3 -2
  229. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  230. package/dist/services/conversation/conversation-service.js +36 -15
  231. package/dist/services/conversation/conversation-service.js.map +1 -1
  232. package/dist/services/conversation/session-browser.d.ts +8 -1
  233. package/dist/services/conversation/session-browser.d.ts.map +1 -1
  234. package/dist/services/conversation/session-browser.js +134 -16
  235. package/dist/services/conversation/session-browser.js.map +1 -1
  236. package/dist/services/handoff/handoff-session.d.ts +2 -0
  237. package/dist/services/handoff/handoff-session.d.ts.map +1 -1
  238. package/dist/services/handoff/handoff-session.js +19 -3
  239. package/dist/services/handoff/handoff-session.js.map +1 -1
  240. package/dist/services/logging/conversation-log-events.d.ts +30 -3
  241. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  242. package/dist/services/logging/conversation-log-events.js +1 -4
  243. package/dist/services/logging/conversation-log-events.js.map +1 -1
  244. package/dist/services/logging/logging-service.d.ts +1 -0
  245. package/dist/services/logging/logging-service.d.ts.map +1 -1
  246. package/dist/services/logging/logging-service.js +5 -2
  247. package/dist/services/logging/logging-service.js.map +1 -1
  248. package/dist/services/logging/provider-traffic.d.ts +8 -1
  249. package/dist/services/logging/provider-traffic.d.ts.map +1 -1
  250. package/dist/services/logging/provider-traffic.js +105 -10
  251. package/dist/services/logging/provider-traffic.js.map +1 -1
  252. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  253. package/dist/services/memory/memory-capabilities.js +17 -5
  254. package/dist/services/memory/memory-capabilities.js.map +1 -1
  255. package/dist/services/memory/memory-store.d.ts +17 -0
  256. package/dist/services/memory/memory-store.d.ts.map +1 -1
  257. package/dist/services/memory/memory-store.js +74 -27
  258. package/dist/services/memory/memory-store.js.map +1 -1
  259. package/dist/services/mode-notices.d.ts +12 -9
  260. package/dist/services/mode-notices.d.ts.map +1 -1
  261. package/dist/services/mode-notices.js +83 -54
  262. package/dist/services/mode-notices.js.map +1 -1
  263. package/dist/services/model-service.d.ts +22 -4
  264. package/dist/services/model-service.d.ts.map +1 -1
  265. package/dist/services/model-service.js +148 -1
  266. package/dist/services/model-service.js.map +1 -1
  267. package/dist/services/models/model-catalog-session.d.ts +6 -0
  268. package/dist/services/models/model-catalog-session.d.ts.map +1 -1
  269. package/dist/services/models/model-catalog-session.js +7 -3
  270. package/dist/services/models/model-catalog-session.js.map +1 -1
  271. package/dist/services/models/model-listing.d.ts +57 -0
  272. package/dist/services/models/model-listing.d.ts.map +1 -0
  273. package/dist/services/models/model-listing.js +96 -0
  274. package/dist/services/models/model-listing.js.map +1 -0
  275. package/dist/services/models/model-resolution.d.ts +88 -0
  276. package/dist/services/models/model-resolution.d.ts.map +1 -0
  277. package/dist/services/models/model-resolution.js +292 -0
  278. package/dist/services/models/model-resolution.js.map +1 -0
  279. package/dist/services/plan-mode-interceptor.d.ts.map +1 -1
  280. package/dist/services/plan-mode-interceptor.js +5 -6
  281. package/dist/services/plan-mode-interceptor.js.map +1 -1
  282. package/dist/services/profiles/active-profile.d.ts +5 -0
  283. package/dist/services/profiles/active-profile.d.ts.map +1 -0
  284. package/dist/services/profiles/active-profile.js +33 -0
  285. package/dist/services/profiles/active-profile.js.map +1 -0
  286. package/dist/services/profiles/index.d.ts +9 -0
  287. package/dist/services/profiles/index.d.ts.map +1 -0
  288. package/dist/services/profiles/index.js +9 -0
  289. package/dist/services/profiles/index.js.map +1 -0
  290. package/dist/services/profiles/labels.d.ts +7 -0
  291. package/dist/services/profiles/labels.d.ts.map +1 -0
  292. package/dist/services/profiles/labels.js +22 -0
  293. package/dist/services/profiles/labels.js.map +1 -0
  294. package/dist/services/profiles/legacy-adapter.d.ts +28 -0
  295. package/dist/services/profiles/legacy-adapter.d.ts.map +1 -0
  296. package/dist/services/profiles/legacy-adapter.js +69 -0
  297. package/dist/services/profiles/legacy-adapter.js.map +1 -0
  298. package/dist/services/profiles/profile-transition.d.ts +48 -0
  299. package/dist/services/profiles/profile-transition.d.ts.map +1 -0
  300. package/dist/services/profiles/profile-transition.js +109 -0
  301. package/dist/services/profiles/profile-transition.js.map +1 -0
  302. package/dist/services/profiles/registry.d.ts +17 -0
  303. package/dist/services/profiles/registry.d.ts.map +1 -0
  304. package/dist/services/profiles/registry.js +147 -0
  305. package/dist/services/profiles/registry.js.map +1 -0
  306. package/dist/services/profiles/resolver.d.ts +10 -0
  307. package/dist/services/profiles/resolver.d.ts.map +1 -0
  308. package/dist/services/profiles/resolver.js +573 -0
  309. package/dist/services/profiles/resolver.js.map +1 -0
  310. package/dist/services/profiles/schema.d.ts +960 -0
  311. package/dist/services/profiles/schema.d.ts.map +1 -0
  312. package/dist/services/profiles/schema.js +196 -0
  313. package/dist/services/profiles/schema.js.map +1 -0
  314. package/dist/services/profiles/types.d.ts +224 -0
  315. package/dist/services/profiles/types.d.ts.map +1 -0
  316. package/dist/services/profiles/types.js +9 -0
  317. package/dist/services/profiles/types.js.map +1 -0
  318. package/dist/services/retry/committed-tool-continuation.d.ts +5 -0
  319. package/dist/services/retry/committed-tool-continuation.d.ts.map +1 -1
  320. package/dist/services/retry/committed-tool-continuation.js +6 -3
  321. package/dist/services/retry/committed-tool-continuation.js.map +1 -1
  322. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  323. package/dist/services/retry/retry-classifier.js +13 -10
  324. package/dist/services/retry/retry-classifier.js.map +1 -1
  325. package/dist/services/retry/retry-error-classification.d.ts +7 -0
  326. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  327. package/dist/services/retry/retry-error-classification.js +32 -9
  328. package/dist/services/retry/retry-error-classification.js.map +1 -1
  329. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  330. package/dist/services/runtime-setting-router.js +76 -23
  331. package/dist/services/runtime-setting-router.js.map +1 -1
  332. package/dist/services/session/background-check-in-scheduler.d.ts +20 -4
  333. package/dist/services/session/background-check-in-scheduler.d.ts.map +1 -1
  334. package/dist/services/session/background-check-in-scheduler.js +73 -6
  335. package/dist/services/session/background-check-in-scheduler.js.map +1 -1
  336. package/dist/services/session/initial-turn-recovery-handler.js +4 -4
  337. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  338. package/dist/services/session/session-composition.d.ts.map +1 -1
  339. package/dist/services/session/session-composition.js +2 -1
  340. package/dist/services/session/session-composition.js.map +1 -1
  341. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  342. package/dist/services/session/session-input-planner.js +2 -9
  343. package/dist/services/session/session-input-planner.js.map +1 -1
  344. package/dist/services/session/session-manager.d.ts.map +1 -1
  345. package/dist/services/session/session-manager.js +4 -1
  346. package/dist/services/session/session-manager.js.map +1 -1
  347. package/dist/services/session-rollover/session-rollover-brief.d.ts +2 -1
  348. package/dist/services/session-rollover/session-rollover-brief.d.ts.map +1 -1
  349. package/dist/services/session-rollover/session-rollover-brief.js +5 -3
  350. package/dist/services/session-rollover/session-rollover-brief.js.map +1 -1
  351. package/dist/services/settings/settings-persistence.js +1 -1
  352. package/dist/services/settings/settings-persistence.js.map +1 -1
  353. package/dist/services/settings/settings-schema.d.ts +124 -19
  354. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  355. package/dist/services/settings/settings-schema.js +111 -31
  356. package/dist/services/settings/settings-schema.js.map +1 -1
  357. package/dist/services/settings/settings-service.d.ts +3 -1
  358. package/dist/services/settings/settings-service.d.ts.map +1 -1
  359. package/dist/services/settings/settings-service.js +88 -91
  360. package/dist/services/settings/settings-service.js.map +1 -1
  361. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  362. package/dist/services/settings/settings-sources.js +13 -1
  363. package/dist/services/settings/settings-sources.js.map +1 -1
  364. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +3 -3
  365. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  366. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +15 -1
  367. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  368. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  369. package/dist/services/subagents/mentor-runner.js +5 -2
  370. package/dist/services/subagents/mentor-runner.js.map +1 -1
  371. package/dist/services/subagents/subagent-notification-store.d.ts +10 -2
  372. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  373. package/dist/services/subagents/subagent-notification-store.js +10 -5
  374. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  375. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  376. package/dist/services/subagents/tool-policy.js +10 -15
  377. package/dist/services/subagents/tool-policy.js.map +1 -1
  378. package/dist/services/tool-toggles.d.ts +20 -0
  379. package/dist/services/tool-toggles.d.ts.map +1 -0
  380. package/dist/services/tool-toggles.js +115 -0
  381. package/dist/services/tool-toggles.js.map +1 -0
  382. package/dist/slash-commands.d.ts +3 -0
  383. package/dist/slash-commands.d.ts.map +1 -1
  384. package/dist/slash-commands.js.map +1 -1
  385. package/dist/tools/agent/configure-task-check-in.d.ts +19 -0
  386. package/dist/tools/agent/configure-task-check-in.d.ts.map +1 -0
  387. package/dist/tools/agent/configure-task-check-in.js +82 -0
  388. package/dist/tools/agent/configure-task-check-in.js.map +1 -0
  389. package/dist/tools/agent/run-subagent-async.d.ts +11 -1
  390. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  391. package/dist/tools/agent/run-subagent-async.js +22 -1
  392. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  393. package/dist/tools/agent/run-subagent.d.ts +15 -0
  394. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  395. package/dist/tools/agent/run-subagent.js +24 -2
  396. package/dist/tools/agent/run-subagent.js.map +1 -1
  397. package/dist/tools/file/apply-patch.d.ts +2 -15
  398. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  399. package/dist/tools/file/apply-patch.js +163 -98
  400. package/dist/tools/file/apply-patch.js.map +1 -1
  401. package/dist/tools/file/read-file.d.ts.map +1 -1
  402. package/dist/tools/file/read-file.js +48 -0
  403. package/dist/tools/file/read-file.js.map +1 -1
  404. package/dist/tools/file/upstream-apply-patch.d.ts +31 -0
  405. package/dist/tools/file/upstream-apply-patch.d.ts.map +1 -0
  406. package/dist/tools/file/upstream-apply-patch.js +123 -0
  407. package/dist/tools/file/upstream-apply-patch.js.map +1 -0
  408. package/dist/tools/format-helpers.d.ts +2 -0
  409. package/dist/tools/format-helpers.d.ts.map +1 -1
  410. package/dist/tools/format-helpers.js +7 -0
  411. package/dist/tools/format-helpers.js.map +1 -1
  412. package/dist/tools/memory/memory-tools.js +1 -1
  413. package/dist/tools/memory/memory-tools.js.map +1 -1
  414. package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -1
  415. package/dist/tools/session-browser/session-browser-tools.js +11 -1
  416. package/dist/tools/session-browser/session-browser-tools.js.map +1 -1
  417. package/dist/tools/session-rollover/session-rollover-tool.d.ts.map +1 -1
  418. package/dist/tools/session-rollover/session-rollover-tool.js +10 -1
  419. package/dist/tools/session-rollover/session-rollover-tool.js.map +1 -1
  420. package/dist/tools/system/shell.d.ts +12 -0
  421. package/dist/tools/system/shell.d.ts.map +1 -1
  422. package/dist/tools/system/shell.js +30 -4
  423. package/dist/tools/system/shell.js.map +1 -1
  424. package/dist/tools/types.d.ts +15 -2
  425. package/dist/tools/types.d.ts.map +1 -1
  426. package/dist/tools/types.js.map +1 -1
  427. package/dist/utils/ai/token-usage.d.ts +9 -0
  428. package/dist/utils/ai/token-usage.d.ts.map +1 -1
  429. package/dist/utils/ai/token-usage.js +15 -3
  430. package/dist/utils/ai/token-usage.js.map +1 -1
  431. package/dist/utils/conversation/conversation-utils.d.ts.map +1 -1
  432. package/dist/utils/conversation/conversation-utils.js +40 -1
  433. package/dist/utils/conversation/conversation-utils.js.map +1 -1
  434. package/dist/utils/conversation/message-buffer.d.ts +16 -0
  435. package/dist/utils/conversation/message-buffer.d.ts.map +1 -1
  436. package/dist/utils/conversation/message-buffer.js +33 -0
  437. package/dist/utils/conversation/message-buffer.js.map +1 -1
  438. package/dist/utils/output/trim-tool-output.d.ts +1 -1
  439. package/dist/utils/output/trim-tool-output.d.ts.map +1 -1
  440. package/dist/utils/output/trim-tool-output.js +20 -0
  441. package/dist/utils/output/trim-tool-output.js.map +1 -1
  442. package/dist/utils/resume-list.d.ts +2 -0
  443. package/dist/utils/resume-list.d.ts.map +1 -1
  444. package/dist/utils/resume-list.js +7 -14
  445. package/dist/utils/resume-list.js.map +1 -1
  446. package/dist/utils/settings-command.d.ts.map +1 -1
  447. package/dist/utils/settings-command.js +95 -14
  448. package/dist/utils/settings-command.js.map +1 -1
  449. package/dist/utils/streaming/streaming-session-factory.d.ts +3 -0
  450. package/dist/utils/streaming/streaming-session-factory.d.ts.map +1 -1
  451. package/dist/utils/streaming/streaming-session-factory.js +35 -17
  452. package/dist/utils/streaming/streaming-session-factory.js.map +1 -1
  453. package/dist/utils/streaming/streaming-speed-tracker.d.ts +47 -6
  454. package/dist/utils/streaming/streaming-speed-tracker.d.ts.map +1 -1
  455. package/dist/utils/streaming/streaming-speed-tracker.js +91 -23
  456. package/dist/utils/streaming/streaming-speed-tracker.js.map +1 -1
  457. package/package.json +3 -3
@@ -12,7 +12,7 @@
12
12
  * independently, starting from zero.
13
13
  */
14
14
  /** Average characters per token heuristic for English/code text when provider does not stream token counts. */
15
- const DEFAULT_CHARS_PER_TOKEN = 3.8;
15
+ export const DEFAULT_CHARS_PER_TOKEN = 3.8;
16
16
  /** Live speed is computed over a trailing window so it tracks current throughput, not the whole-request average. */
17
17
  const LIVE_WINDOW_MS = 3000;
18
18
  /** Bounds for a request's observed chars-per-token ratio, so one noisy request can't skew future estimates wildly. */
@@ -20,12 +20,32 @@ const MIN_CALIBRATED_CHARS_PER_TOKEN = 1;
20
20
  const MAX_CALIBRATED_CHARS_PER_TOKEN = 10;
21
21
  /** Minimum accumulated characters required before trusting a request's ratio for calibration. */
22
22
  const MIN_CHARS_FOR_CALIBRATION = 20;
23
+ /** Completion tokens this far above the visible char estimate imply hidden tokens in the numerator. */
24
+ const HIDDEN_TOKEN_RATIO = 2;
25
+ /**
26
+ * Single-sequence decode rates above this are not plausible production
27
+ * throughput — the numerator/denominator pair describes a burst or a tail
28
+ * window, not sustained decode. Calibrated against a day of OpenRouter
29
+ * muse-spark traffic (n=1410, honest full-request p99 ≈ 670 tok/s): a 500
30
+ * cutoff marks 81% of settled figures as burst-inflated while clearing
31
+ * genuine sustained rates (median honest ≈ 60 tok/s) by a wide margin.
32
+ */
33
+ export const MAX_PLAUSIBLE_DECODE_TPS = 500;
34
+ export function formatTokensPerSecond(tps, approximate = false) {
35
+ const value = tps.toFixed(1);
36
+ return approximate ? `~${value} tok/s` : `${value} tok/s`;
37
+ }
23
38
  export class StreamingSpeedTracker {
24
39
  startTime;
25
40
  firstTokenTime = null;
26
41
  lastUpdateTime = null;
42
+ streamedTextChars = 0;
43
+ toolArgChars = 0;
44
+ committedToolArgChars = 0;
27
45
  accumulatedChars = 0;
28
46
  exactTokens = null;
47
+ /** Character count at the last `recordUsageTokens` sample, so later deltas can be added on top. */
48
+ charsAtExactTokens = 0;
29
49
  /**
30
50
  * Chars-per-token used for live estimates before exact usage arrives. Starts at
31
51
  * `DEFAULT_CHARS_PER_TOKEN` and is recalibrated from each request's real usage in
@@ -52,10 +72,20 @@ export class StreamingSpeedTracker {
52
72
  this.startTime = now;
53
73
  this.firstTokenTime = null;
54
74
  this.lastUpdateTime = null;
75
+ this.streamedTextChars = 0;
76
+ this.toolArgChars = 0;
77
+ this.committedToolArgChars = 0;
55
78
  this.accumulatedChars = 0;
56
79
  this.exactTokens = null;
80
+ this.charsAtExactTokens = 0;
57
81
  this.samples = [];
58
82
  }
83
+ getCharsPerToken() {
84
+ return this.charsPerToken;
85
+ }
86
+ refreshAccumulatedChars() {
87
+ this.accumulatedChars = this.streamedTextChars + this.committedToolArgChars + this.toolArgChars;
88
+ }
59
89
  recordSample(now) {
60
90
  this.samples.push({ time: now, tokens: this.getEstimatedTokens() });
61
91
  // Drop samples older than the window plus one extra so we always have a boundary sample to interpolate from.
@@ -74,12 +104,16 @@ export class StreamingSpeedTracker {
74
104
  if (this.firstTokenTime === null) {
75
105
  this.firstTokenTime = now;
76
106
  }
77
- this.accumulatedChars += length;
107
+ this.streamedTextChars += length;
108
+ this.refreshAccumulatedChars();
78
109
  this.lastUpdateTime = now;
79
110
  this.recordSample(now);
80
111
  }
81
112
  /**
82
113
  * Record cumulative characters streamed (e.g. from tool call argument streaming).
114
+ * Argument counts are cumulative per tool call, so a drop commits the previous
115
+ * tool's chars and starts a new one. Text and tool-arg chars are summed: both
116
+ * count toward completion tokens.
83
117
  */
84
118
  recordCumulativeChars(cumulativeChars, now = Date.now()) {
85
119
  if (cumulativeChars <= 0)
@@ -87,26 +121,30 @@ export class StreamingSpeedTracker {
87
121
  if (this.firstTokenTime === null) {
88
122
  this.firstTokenTime = now;
89
123
  }
90
- this.accumulatedChars = Math.max(this.accumulatedChars, cumulativeChars);
124
+ if (cumulativeChars < this.toolArgChars) {
125
+ this.committedToolArgChars += this.toolArgChars;
126
+ }
127
+ this.toolArgChars = cumulativeChars;
128
+ this.refreshAccumulatedChars();
91
129
  this.lastUpdateTime = now;
92
130
  this.recordSample(now);
93
131
  }
94
132
  /**
95
133
  * Record exact token counts if the provider streams usage updates.
134
+ * Calibrates the live chars-per-token ratio for this request's remaining
135
+ * deltas, not only the next request.
96
136
  */
97
137
  recordUsageTokens(completionTokens, now = Date.now()) {
98
- if (this.firstTokenTime === null && completionTokens > 0) {
99
- this.firstTokenTime = now;
100
- }
101
138
  this.exactTokens = completionTokens;
102
139
  this.lastUpdateTime = now;
103
140
  this.calibrateCharsPerToken(completionTokens);
141
+ this.charsAtExactTokens = this.accumulatedChars;
104
142
  this.recordSample(now);
105
143
  }
106
144
  /**
107
145
  * Recalibrate the chars-per-token ratio from this request's real accumulated chars vs. its
108
- * exact token count, so the NEXT request's live estimate (before its own usage arrives) starts
109
- * from an observed ratio instead of the generic default. Ignored if there isn't enough
146
+ * exact token count, so later deltas of this request and the next request after `reset()`
147
+ * start from an observed ratio instead of the generic default. Ignored if there isn't enough
110
148
  * accumulated text to trust the sample (e.g. a tool-only request with no generated text).
111
149
  */
112
150
  calibrateCharsPerToken(exactTokens) {
@@ -130,7 +168,8 @@ export class StreamingSpeedTracker {
130
168
  */
131
169
  getEstimatedTokens() {
132
170
  if (this.exactTokens !== null) {
133
- return this.exactTokens;
171
+ const extraChars = Math.max(0, this.accumulatedChars - this.charsAtExactTokens);
172
+ return this.exactTokens + Math.round(extraChars / this.charsPerToken);
134
173
  }
135
174
  return Math.round(this.accumulatedChars / this.charsPerToken);
136
175
  }
@@ -177,24 +216,53 @@ export class StreamingSpeedTracker {
177
216
  return Number.isFinite(tps) && tps > 0 ? Math.round(tps * 10) / 10 : null;
178
217
  }
179
218
  /**
180
- * Calculate exact settled tokens per second when generation finishes.
219
+ * Calculate settled tokens per second when generation finishes.
181
220
  *
182
- * @param finalCompletionTokens Exact completion tokens from provider's final usage.
183
- * @param endTime Generation end timestamp.
221
+ * Prefers the provider's `completion_ms` when present. Otherwise measures
222
+ * wall-clock from the first visible token. Returns null rather than silently
223
+ * falling back to request start (which would mix TTFT into decode speed).
184
224
  */
185
- getSettledTps(finalCompletionTokens, endTime = Date.now()) {
186
- const tokens = finalCompletionTokens ?? this.getEstimatedTokens();
187
- if (tokens <= 0)
225
+ getSettledTps(options) {
226
+ const rawTokens = options?.completionTokens ?? this.getEstimatedTokens();
227
+ if (rawTokens <= 0)
188
228
  return null;
189
- // If firstTokenTime was never captured (e.g. non-streaming or instantaneous response),
190
- // measure from request startTime.
191
- const start = this.firstTokenTime ?? this.startTime;
192
- const durationMs = endTime - start;
193
- if (durationMs <= 0)
229
+ const completionMs = options?.completionMs;
230
+ const hasProviderDuration = completionMs != null && completionMs > 0;
231
+ const endTime = options?.endTime ?? Date.now();
232
+ const durationMs = hasProviderDuration
233
+ ? completionMs
234
+ : this.firstTokenTime !== null
235
+ ? endTime - this.firstTokenTime
236
+ : null;
237
+ if (durationMs == null || durationMs <= 0)
194
238
  return null;
195
- const durationSec = durationMs / 1000;
196
- const tps = tokens / durationSec;
197
- return Number.isFinite(tps) && tps > 0 ? Math.round(tps * 10) / 10 : null;
239
+ // Provider duration already covers hidden reasoning. Only strip those tokens
240
+ // from the wall-clock path, where the clock started at the first visible delta.
241
+ const reasoningTokens = options?.reasoningTokens ?? 0;
242
+ const visibleTokens = rawTokens - reasoningTokens;
243
+ const subtractedReasoning = !hasProviderDuration && reasoningTokens > 0 && visibleTokens > 0;
244
+ const tokens = subtractedReasoning ? visibleTokens : rawTokens;
245
+ const tps = tokens / (durationMs / 1000);
246
+ if (!Number.isFinite(tps) || tps <= 0)
247
+ return null;
248
+ const approximate = !hasProviderDuration && !subtractedReasoning && this.isHiddenReasoningInflated(rawTokens);
249
+ const settled = { tps: Math.round(tps * 10) / 10, approximate };
250
+ // A settled rate no single sequence plausibly sustains describes a burst
251
+ // or tail window, not sustained decode. Attach the window so the footer
252
+ // can show what fraction of the turn it covers. Only the wall-clock path
253
+ // needs this: a provider duration already scopes the rate honestly.
254
+ if (!hasProviderDuration && settled.tps > MAX_PLAUSIBLE_DECODE_TPS) {
255
+ settled.decodeWindowMs = durationMs;
256
+ }
257
+ return settled;
258
+ }
259
+ isHiddenReasoningInflated(completionTokens) {
260
+ if (this.accumulatedChars < MIN_CHARS_FOR_CALIBRATION)
261
+ return false;
262
+ const visibleEstimate = this.accumulatedChars / this.charsPerToken;
263
+ if (!Number.isFinite(visibleEstimate) || visibleEstimate <= 0)
264
+ return false;
265
+ return completionTokens >= visibleEstimate * HIDDEN_TOKEN_RATIO;
198
266
  }
199
267
  /**
200
268
  * Returns a complete snapshot of current speed metrics.
@@ -1 +1 @@
1
- {"version":3,"file":"streaming-speed-tracker.js","sourceRoot":"","sources":["../../../source/utils/streaming/streaming-speed-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming-speed-tracker.js","sourceRoot":"","sources":["../../../source/utils/streaming/streaming-speed-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAoBH,+GAA+G;AAC/G,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,oHAAoH;AACpH,MAAM,cAAc,GAAG,IAAI,CAAC;AAE5B,sHAAsH;AACtH,MAAM,8BAA8B,GAAG,CAAC,CAAC;AACzC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAC1C,iGAAiG;AACjG,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,uGAAuG;AACvG,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C,MAAM,UAAU,qBAAqB,CAAC,GAAW,EAAE,WAAW,GAAG,KAAK;IACpE,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7B,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC;AAC5D,CAAC;AAOD,MAAM,OAAO,qBAAqB;IACxB,SAAS,CAAS;IAClB,cAAc,GAAkB,IAAI,CAAC;IACrC,cAAc,GAAkB,IAAI,CAAC;IACrC,iBAAiB,GAAG,CAAC,CAAC;IACtB,YAAY,GAAG,CAAC,CAAC;IACjB,qBAAqB,GAAG,CAAC,CAAC;IAC1B,gBAAgB,GAAG,CAAC,CAAC;IACrB,WAAW,GAAkB,IAAI,CAAC;IAC1C,mGAAmG;IAC3F,kBAAkB,GAAG,CAAC,CAAC;IAC/B;;;;;OAKG;IACK,aAAa,CAAS;IAC9B,2GAA2G;IACnG,OAAO,GAAkB,EAAE,CAAC;IAEpC,YAAY,OAAwD;QAClE,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,uBAAuB,CAAC;IACzE,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEO,uBAAuB;QAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC;IAClG,CAAC;IAEO,YAAY,CAAC,GAAW;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACpE,6GAA6G;QAC7G,MAAM,MAAM,GAAG,GAAG,GAAG,cAAc,GAAG,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,IAAoB,EAAE,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;QACjC,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO;QACxB,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,iBAAiB,IAAI,MAAM,CAAC;QACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACI,qBAAqB,CAAC,eAAuB,EAAE,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;QAC5E,IAAI,eAAe,IAAI,CAAC;YAAE,OAAO;QACjC,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAC5B,CAAC;QACD,IAAI,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACxC,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,YAAY,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;QACpC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACI,iBAAiB,CAAC,gBAAwB,EAAE,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;QACzE,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAC1B,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAC9C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACK,sBAAsB,CAAC,WAAmB;QAChD,IAAI,WAAW,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,GAAG,yBAAyB;YAAE,OAAO;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;YAAE,OAAO;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAAC,GAAG,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC,CAAC;IACjH,CAAC;IAED;;OAEG;IACI,SAAS;QACd,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACI,kBAAkB;QACvB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAChF,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;OAQG;IACI,UAAU,CAAC,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;QACxC,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE9C,MAAM,oBAAoB,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;QACvD,+EAA+E;QAC/E,IAAI,oBAAoB,GAAG,GAAG,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5C,IAAI,SAAS,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEhC,MAAM,WAAW,GAAG,GAAG,GAAG,cAAc,CAAC;QACzC,uFAAuF;QACvF,wEAAwE;QACxE,IAAI,MAAM,GAAuB,IAAI,CAAC;QACtC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,MAAM,GAAG,MAAM,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QAC9D,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhD,MAAM,UAAU,GAAG,GAAG,GAAG,UAAU,CAAC;QACpC,MAAM,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;QACxC,IAAI,UAAU,GAAG,GAAG,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEjD,MAAM,WAAW,GAAG,UAAU,GAAG,IAAI,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,GAAG,WAAW,CAAC;QACjC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,CAAC;IAED;;;;;;OAMG;IACI,aAAa,CAAC,OAKpB;QACC,MAAM,SAAS,GAAG,OAAO,EAAE,gBAAgB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzE,IAAI,SAAS,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEhC,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;QAC3C,MAAM,mBAAmB,GAAG,YAAY,IAAI,IAAI,IAAI,YAAY,GAAG,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,mBAAmB;YACpC,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI;gBAC9B,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc;gBAC/B,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEvD,6EAA6E;QAC7E,gFAAgF;QAChF,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,CAAC,CAAC;QACtD,MAAM,aAAa,GAAG,SAAS,GAAG,eAAe,CAAC;QAClD,MAAM,mBAAmB,GAAG,CAAC,mBAAmB,IAAI,eAAe,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/D,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnD,MAAM,WAAW,GAAG,CAAC,mBAAmB,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QAC9G,MAAM,OAAO,GAA0B,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;QACvF,yEAAyE;QACzE,wEAAwE;QACxE,yEAAyE;QACzE,oEAAoE;QACpE,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,GAAG,wBAAwB,EAAE,CAAC;YACnE,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC;QACtC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,yBAAyB,CAAC,gBAAwB;QACxD,IAAI,IAAI,CAAC,gBAAgB,GAAG,yBAAyB;YAAE,OAAO,KAAK,CAAC;QACpE,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5E,OAAO,gBAAgB,IAAI,eAAe,GAAG,kBAAkB,CAAC;IAClE,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,GAAG,GAAW,IAAI,CAAC,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE9B,OAAO;YACL,GAAG;YACH,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,SAAS;YACrC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;YAC5C,eAAe,EAAE,IAAI,CAAC,kBAAkB,EAAE;SAC3C,CAAC;IACJ,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qduc/term2",
3
- "version": "0.19.0",
3
+ "version": "0.21.0",
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",
@@ -115,8 +115,8 @@
115
115
  "typecheck": "tsc --noEmit",
116
116
  "test": "cross-env NODE_ENV=test vitest run --reporter=minimal",
117
117
  "test:changed": "cross-env NODE_ENV=test vitest run --reporter=minimal --changed --passWithNoTests=false",
118
- "test:e2e": "cross-env NODE_ENV=test vitest run --reporter=minimal .e2e.test.ts",
119
- "test:codex-network": "cross-env NODE_ENV=test vitest run --reporter=minimal scripts/fake-codex-server.e2e.test.ts",
118
+ "test:e2e": "cross-env NODE_ENV=test vitest run --reporter=minimal --config vitest.e2e.config.ts",
119
+ "test:codex-network": "cross-env NODE_ENV=test vitest run --reporter=minimal --config vitest.e2e.config.ts scripts/fake-codex-server.e2e.test.ts",
120
120
  "test:provider-black-box": "cross-env NODE_ENV=test node scripts/run-provider-black-box.mjs",
121
121
  "provider:record": "tsx scripts/provider-record.ts",
122
122
  "provider:fixture:prepare": "tsx scripts/provider-fixture-prepare.ts",