@qduc/term2 0.38.0 → 0.40.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 (338) hide show
  1. package/README.md +12 -2
  2. package/dist/agent.d.ts +4 -0
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +18 -4
  5. package/dist/agent.js.map +1 -1
  6. package/dist/app.d.ts +4 -0
  7. package/dist/app.d.ts.map +1 -1
  8. package/dist/app.js +50 -4
  9. package/dist/app.js.map +1 -1
  10. package/dist/build-info.json +3 -3
  11. package/dist/cli.js +189 -49
  12. package/dist/cli.js.map +1 -1
  13. package/dist/commands/bridge-command.d.ts +11 -0
  14. package/dist/commands/bridge-command.d.ts.map +1 -0
  15. package/dist/commands/bridge-command.js +67 -0
  16. package/dist/commands/bridge-command.js.map +1 -0
  17. package/dist/components/input/FirstRunSetupPrompt.js +3 -3
  18. package/dist/components/input/FirstRunSetupPrompt.js.map +1 -1
  19. package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
  20. package/dist/components/input/ModelMenuSession.js +2 -0
  21. package/dist/components/input/ModelMenuSession.js.map +1 -1
  22. package/dist/components/input/SubagentPoolMenuSession.js +1 -1
  23. package/dist/components/input/SubagentPoolMenuSession.js.map +1 -1
  24. package/dist/components/input/menu-types.d.ts +2 -0
  25. package/dist/components/input/menu-types.d.ts.map +1 -1
  26. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  27. package/dist/components/layout/BackgroundTaskManager.js +28 -17
  28. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  29. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  30. package/dist/components/layout/BottomArea.js +5 -3
  31. package/dist/components/layout/BottomArea.js.map +1 -1
  32. package/dist/components/message/ChatMessage.d.ts +1 -0
  33. package/dist/components/message/ChatMessage.d.ts.map +1 -1
  34. package/dist/components/message/ChatMessage.js +3 -3
  35. package/dist/components/message/ChatMessage.js.map +1 -1
  36. package/dist/components/message/CommandMessage.js +21 -3
  37. package/dist/components/message/CommandMessage.js.map +1 -1
  38. package/dist/components/message/MessageList.d.ts +4 -1
  39. package/dist/components/message/MessageList.d.ts.map +1 -1
  40. package/dist/components/message/MessageList.js +20 -4
  41. package/dist/components/message/MessageList.js.map +1 -1
  42. package/dist/components/prompt/QueuePausedPrompt.d.ts +1 -0
  43. package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -1
  44. package/dist/components/prompt/QueuePausedPrompt.js +6 -1
  45. package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
  46. package/dist/contracts/application-stream.d.ts +3 -0
  47. package/dist/contracts/application-stream.d.ts.map +1 -1
  48. package/dist/contracts/conversation-items.d.ts +6 -0
  49. package/dist/contracts/conversation-items.d.ts.map +1 -1
  50. package/dist/contracts/streamed-model-turn.d.ts +5 -0
  51. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  52. package/dist/gateway/gateway.d.ts.map +1 -1
  53. package/dist/gateway/gateway.js +204 -34
  54. package/dist/gateway/gateway.js.map +1 -1
  55. package/dist/gateway/persistence/projection.d.ts +17 -0
  56. package/dist/gateway/persistence/projection.d.ts.map +1 -1
  57. package/dist/gateway/persistence/projection.js +108 -10
  58. package/dist/gateway/persistence/projection.js.map +1 -1
  59. package/dist/gateway/runtime-factory.d.ts.map +1 -1
  60. package/dist/gateway/runtime-factory.js +1 -0
  61. package/dist/gateway/runtime-factory.js.map +1 -1
  62. package/dist/gateway/workspace-boundary-probe.d.ts +5 -0
  63. package/dist/gateway/workspace-boundary-probe.d.ts.map +1 -1
  64. package/dist/gateway/workspace-boundary-probe.js +6 -1
  65. package/dist/gateway/workspace-boundary-probe.js.map +1 -1
  66. package/dist/hooks/conversation-ui-reducer.d.ts +1 -0
  67. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  68. package/dist/hooks/conversation-ui-reducer.js +6 -1
  69. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  70. package/dist/hooks/use-app-commands.d.ts +8 -1
  71. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  72. package/dist/hooks/use-app-commands.js +30 -1
  73. package/dist/hooks/use-app-commands.js.map +1 -1
  74. package/dist/hooks/use-conversation-messages.d.ts +1 -1
  75. package/dist/hooks/use-conversation-messages.d.ts.map +1 -1
  76. package/dist/hooks/use-conversation-messages.js +2 -1
  77. package/dist/hooks/use-conversation-messages.js.map +1 -1
  78. package/dist/hooks/use-conversation.d.ts +1 -1
  79. package/dist/hooks/use-conversation.d.ts.map +1 -1
  80. package/dist/hooks/use-conversation.js +19 -6
  81. package/dist/hooks/use-conversation.js.map +1 -1
  82. package/dist/hooks/use-first-run-setup.d.ts.map +1 -1
  83. package/dist/hooks/use-first-run-setup.js +14 -9
  84. package/dist/hooks/use-first-run-setup.js.map +1 -1
  85. package/dist/hooks/use-model-catalog.d.ts +18 -0
  86. package/dist/hooks/use-model-catalog.d.ts.map +1 -0
  87. package/dist/hooks/use-model-catalog.js +51 -0
  88. package/dist/hooks/use-model-catalog.js.map +1 -0
  89. package/dist/hooks/use-model-selection.d.ts +3 -4
  90. package/dist/hooks/use-model-selection.d.ts.map +1 -1
  91. package/dist/hooks/use-model-selection.js +8 -43
  92. package/dist/hooks/use-model-selection.js.map +1 -1
  93. package/dist/hooks/use-subagent-pool-selection.d.ts +1 -1
  94. package/dist/hooks/use-subagent-pool-selection.d.ts.map +1 -1
  95. package/dist/hooks/use-subagent-pool-selection.js +11 -46
  96. package/dist/hooks/use-subagent-pool-selection.js.map +1 -1
  97. package/dist/lib/agent-client.d.ts +2 -0
  98. package/dist/lib/agent-client.d.ts.map +1 -1
  99. package/dist/lib/agent-client.js +3 -1
  100. package/dist/lib/agent-client.js.map +1 -1
  101. package/dist/lib/agent-configuration.d.ts +3 -0
  102. package/dist/lib/agent-configuration.d.ts.map +1 -1
  103. package/dist/lib/agent-configuration.js +6 -0
  104. package/dist/lib/agent-configuration.js.map +1 -1
  105. package/dist/lib/agent-factory.d.ts +3 -0
  106. package/dist/lib/agent-factory.d.ts.map +1 -1
  107. package/dist/lib/agent-factory.js +4 -2
  108. package/dist/lib/agent-factory.js.map +1 -1
  109. package/dist/lib/input-owner.d.ts +2 -0
  110. package/dist/lib/input-owner.d.ts.map +1 -1
  111. package/dist/lib/input-owner.js +1 -1
  112. package/dist/lib/input-owner.js.map +1 -1
  113. package/dist/non-interactive.d.ts.map +1 -1
  114. package/dist/non-interactive.js +4 -2
  115. package/dist/non-interactive.js.map +1 -1
  116. package/dist/prompts/bare.md +3 -8
  117. package/dist/prompts/discord-communication.md +9 -0
  118. package/dist/prompts/durable-goal-context.d.ts.map +1 -1
  119. package/dist/prompts/durable-goal-context.js +4 -3
  120. package/dist/prompts/durable-goal-context.js.map +1 -1
  121. package/dist/prompts/durable-goal-context.ts +4 -2
  122. package/dist/providers/ai-sdk-streamed-model.d.ts.map +1 -1
  123. package/dist/providers/ai-sdk-streamed-model.js +4 -0
  124. package/dist/providers/ai-sdk-streamed-model.js.map +1 -1
  125. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  126. package/dist/providers/codex-responses-model.js +30 -7
  127. package/dist/providers/codex-responses-model.js.map +1 -1
  128. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  129. package/dist/providers/openai-responses-model.js +7 -0
  130. package/dist/providers/openai-responses-model.js.map +1 -1
  131. package/dist/providers/retrying-model.d.ts.map +1 -1
  132. package/dist/providers/retrying-model.js +3 -1
  133. package/dist/providers/retrying-model.js.map +1 -1
  134. package/dist/providers/websocket-receive-watchdog.d.ts.map +1 -1
  135. package/dist/providers/websocket-receive-watchdog.js +3 -2
  136. package/dist/providers/websocket-receive-watchdog.js.map +1 -1
  137. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  138. package/dist/services/agent-runtime/application-run-loop.js +7 -0
  139. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  140. package/dist/services/agent-stream.d.ts.map +1 -1
  141. package/dist/services/agent-stream.js +2 -0
  142. package/dist/services/agent-stream.js.map +1 -1
  143. package/dist/services/control-socket/control-session-port.d.ts.map +1 -1
  144. package/dist/services/control-socket/control-session-port.js +37 -1
  145. package/dist/services/control-socket/control-session-port.js.map +1 -1
  146. package/dist/services/control-socket/control-socket.d.ts +36 -1
  147. package/dist/services/control-socket/control-socket.d.ts.map +1 -1
  148. package/dist/services/control-socket/control-socket.js +162 -9
  149. package/dist/services/control-socket/control-socket.js.map +1 -1
  150. package/dist/services/conversation/conversation-adapter-factory.d.ts.map +1 -1
  151. package/dist/services/conversation/conversation-adapter-factory.js +3 -1
  152. package/dist/services/conversation/conversation-adapter-factory.js.map +1 -1
  153. package/dist/services/conversation/conversation-adapter.d.ts +15 -2
  154. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  155. package/dist/services/conversation/conversation-adapter.js +106 -9
  156. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  157. package/dist/services/conversation/conversation-decoder.d.ts.map +1 -1
  158. package/dist/services/conversation/conversation-decoder.js +6 -2
  159. package/dist/services/conversation/conversation-decoder.js.map +1 -1
  160. package/dist/services/conversation/conversation-events.d.ts +8 -1
  161. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  162. package/dist/services/conversation/conversation-events.js +1 -0
  163. package/dist/services/conversation/conversation-events.js.map +1 -1
  164. package/dist/services/conversation/conversation-history-repair.d.ts.map +1 -1
  165. package/dist/services/conversation/conversation-history-repair.js +11 -10
  166. package/dist/services/conversation/conversation-history-repair.js.map +1 -1
  167. package/dist/services/conversation/conversation-orchestrator.d.ts +5 -0
  168. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  169. package/dist/services/conversation/conversation-orchestrator.js +61 -14
  170. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  171. package/dist/services/conversation/conversation-orchestrator.types.d.ts +3 -1
  172. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  173. package/dist/services/conversation/conversation-record-stream.d.ts +2 -0
  174. package/dist/services/conversation/conversation-record-stream.d.ts.map +1 -1
  175. package/dist/services/conversation/conversation-record-stream.js +12 -8
  176. package/dist/services/conversation/conversation-record-stream.js.map +1 -1
  177. package/dist/services/conversation/conversation-record.d.ts +1 -0
  178. package/dist/services/conversation/conversation-record.d.ts.map +1 -1
  179. package/dist/services/conversation/conversation-record.js +32 -14
  180. package/dist/services/conversation/conversation-record.js.map +1 -1
  181. package/dist/services/conversation/conversation-replay.d.ts.map +1 -1
  182. package/dist/services/conversation/conversation-replay.js +74 -149
  183. package/dist/services/conversation/conversation-replay.js.map +1 -1
  184. package/dist/services/conversation/conversation-service.d.ts +9 -0
  185. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  186. package/dist/services/conversation/conversation-service.js +68 -13
  187. package/dist/services/conversation/conversation-service.js.map +1 -1
  188. package/dist/services/conversation/conversation-state-schema.d.ts +1 -0
  189. package/dist/services/conversation/conversation-state-schema.d.ts.map +1 -1
  190. package/dist/services/conversation/conversation-state-schema.js +1 -0
  191. package/dist/services/conversation/conversation-state-schema.js.map +1 -1
  192. package/dist/services/conversation/conversation-turn-items.d.ts.map +1 -1
  193. package/dist/services/conversation/conversation-turn-items.js +3 -0
  194. package/dist/services/conversation/conversation-turn-items.js.map +1 -1
  195. package/dist/services/conversation/durable-goal-stop-check.js +1 -1
  196. package/dist/services/conversation/durable-goal-stop-check.js.map +1 -1
  197. package/dist/services/conversation/journal-to-ledger.d.ts +2 -11
  198. package/dist/services/conversation/journal-to-ledger.d.ts.map +1 -1
  199. package/dist/services/conversation/journal-to-ledger.js +37 -180
  200. package/dist/services/conversation/journal-to-ledger.js.map +1 -1
  201. package/dist/services/conversation/queue-persistence.d.ts +2 -1
  202. package/dist/services/conversation/queue-persistence.d.ts.map +1 -1
  203. package/dist/services/conversation/queue-persistence.js +14 -1
  204. package/dist/services/conversation/queue-persistence.js.map +1 -1
  205. package/dist/services/conversation/run-item-normalizer.d.ts.map +1 -1
  206. package/dist/services/conversation/run-item-normalizer.js +5 -1
  207. package/dist/services/conversation/run-item-normalizer.js.map +1 -1
  208. package/dist/services/conversation/tool-occurrence.d.ts +18 -0
  209. package/dist/services/conversation/tool-occurrence.d.ts.map +1 -0
  210. package/dist/services/conversation/tool-occurrence.js +32 -0
  211. package/dist/services/conversation/tool-occurrence.js.map +1 -0
  212. package/dist/services/discord/discord-bridge.d.ts +41 -0
  213. package/dist/services/discord/discord-bridge.d.ts.map +1 -0
  214. package/dist/services/discord/discord-bridge.js +859 -0
  215. package/dist/services/discord/discord-bridge.js.map +1 -0
  216. package/dist/services/discord/discord-command.d.ts +3 -0
  217. package/dist/services/discord/discord-command.d.ts.map +1 -0
  218. package/dist/services/discord/discord-command.js +172 -0
  219. package/dist/services/discord/discord-command.js.map +1 -0
  220. package/dist/services/discord/discord-credentials.d.ts +12 -0
  221. package/dist/services/discord/discord-credentials.d.ts.map +1 -0
  222. package/dist/services/discord/discord-credentials.js +155 -0
  223. package/dist/services/discord/discord-credentials.js.map +1 -0
  224. package/dist/services/discord/discord-gateway.d.ts +20 -0
  225. package/dist/services/discord/discord-gateway.d.ts.map +1 -0
  226. package/dist/services/discord/discord-gateway.js +257 -0
  227. package/dist/services/discord/discord-gateway.js.map +1 -0
  228. package/dist/services/discord/discord-outbound.d.ts +51 -0
  229. package/dist/services/discord/discord-outbound.d.ts.map +1 -0
  230. package/dist/services/discord/discord-outbound.js +275 -0
  231. package/dist/services/discord/discord-outbound.js.map +1 -0
  232. package/dist/services/discord/discord-send-capability.d.ts +5 -0
  233. package/dist/services/discord/discord-send-capability.d.ts.map +1 -0
  234. package/dist/services/discord/discord-send-capability.js +11 -0
  235. package/dist/services/discord/discord-send-capability.js.map +1 -0
  236. package/dist/services/input-surge-guard.d.ts.map +1 -1
  237. package/dist/services/input-surge-guard.js +4 -3
  238. package/dist/services/input-surge-guard.js.map +1 -1
  239. package/dist/services/large-uncached-input-guard.d.ts +1 -1
  240. package/dist/services/large-uncached-input-guard.d.ts.map +1 -1
  241. package/dist/services/large-uncached-input-guard.js +0 -6
  242. package/dist/services/large-uncached-input-guard.js.map +1 -1
  243. package/dist/services/logging/assistant-turn-journal.d.ts +1 -1
  244. package/dist/services/logging/assistant-turn-journal.d.ts.map +1 -1
  245. package/dist/services/logging/assistant-turn-journal.js +4 -3
  246. package/dist/services/logging/assistant-turn-journal.js.map +1 -1
  247. package/dist/services/logging/conversation-log-events.d.ts +1 -0
  248. package/dist/services/logging/conversation-log-events.d.ts.map +1 -1
  249. package/dist/services/logging/conversation-log-events.js.map +1 -1
  250. package/dist/services/profiles/registry.d.ts.map +1 -1
  251. package/dist/services/profiles/registry.js +23 -6
  252. package/dist/services/profiles/registry.js.map +1 -1
  253. package/dist/services/queue/queue-controller.d.ts +15 -3
  254. package/dist/services/queue/queue-controller.d.ts.map +1 -1
  255. package/dist/services/queue/queue-controller.js +52 -4
  256. package/dist/services/queue/queue-controller.js.map +1 -1
  257. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  258. package/dist/services/retry/retry-classifier.js +5 -3
  259. package/dist/services/retry/retry-classifier.js.map +1 -1
  260. package/dist/services/retry/retry-errors.d.ts +15 -0
  261. package/dist/services/retry/retry-errors.d.ts.map +1 -1
  262. package/dist/services/retry/retry-errors.js +29 -0
  263. package/dist/services/retry/retry-errors.js.map +1 -1
  264. package/dist/services/retry/retry-recovery-budget.d.ts +13 -0
  265. package/dist/services/retry/retry-recovery-budget.d.ts.map +1 -1
  266. package/dist/services/retry/retry-recovery-budget.js +35 -4
  267. package/dist/services/retry/retry-recovery-budget.js.map +1 -1
  268. package/dist/services/session/background-task-control.d.ts.map +1 -1
  269. package/dist/services/session/background-task-control.js +4 -6
  270. package/dist/services/session/background-task-control.js.map +1 -1
  271. package/dist/services/session/continuation-recovery-handler.d.ts.map +1 -1
  272. package/dist/services/session/continuation-recovery-handler.js +15 -7
  273. package/dist/services/session/continuation-recovery-handler.js.map +1 -1
  274. package/dist/services/session/initial-turn-recovery-handler.d.ts.map +1 -1
  275. package/dist/services/session/initial-turn-recovery-handler.js +15 -7
  276. package/dist/services/session/initial-turn-recovery-handler.js.map +1 -1
  277. package/dist/services/session/session-composition.d.ts +4 -0
  278. package/dist/services/session/session-composition.d.ts.map +1 -1
  279. package/dist/services/session/session-composition.js +10 -1
  280. package/dist/services/session/session-composition.js.map +1 -1
  281. package/dist/services/session/session-identity.d.ts +8 -3
  282. package/dist/services/session/session-identity.d.ts.map +1 -1
  283. package/dist/services/session/session-identity.js +16 -3
  284. package/dist/services/session/session-identity.js.map +1 -1
  285. package/dist/services/session-rollover/session-rollover-brief.d.ts +1 -2
  286. package/dist/services/session-rollover/session-rollover-brief.d.ts.map +1 -1
  287. package/dist/services/session-rollover/session-rollover-brief.js +9 -11
  288. package/dist/services/session-rollover/session-rollover-brief.js.map +1 -1
  289. package/dist/services/stream-event-processor.d.ts.map +1 -1
  290. package/dist/services/stream-event-processor.js +4 -0
  291. package/dist/services/stream-event-processor.js.map +1 -1
  292. package/dist/services/tool-execution-ledger.d.ts +11 -2
  293. package/dist/services/tool-execution-ledger.d.ts.map +1 -1
  294. package/dist/services/tool-execution-ledger.js +123 -30
  295. package/dist/services/tool-execution-ledger.js.map +1 -1
  296. package/dist/skins/testing/scenes.js +1 -1
  297. package/dist/skins/testing/scenes.js.map +1 -1
  298. package/dist/test-helpers/cli-compile-cache-setup.d.ts +7 -0
  299. package/dist/test-helpers/cli-compile-cache-setup.d.ts.map +1 -0
  300. package/dist/test-helpers/cli-compile-cache-setup.js +7 -0
  301. package/dist/test-helpers/cli-compile-cache-setup.js.map +1 -0
  302. package/dist/test-helpers/cli-compile-cache.d.ts +4 -0
  303. package/dist/test-helpers/cli-compile-cache.d.ts.map +1 -0
  304. package/dist/test-helpers/cli-compile-cache.js +33 -0
  305. package/dist/test-helpers/cli-compile-cache.js.map +1 -0
  306. package/dist/test-helpers/integration-cli-global-setup.d.ts +3 -0
  307. package/dist/test-helpers/integration-cli-global-setup.d.ts.map +1 -0
  308. package/dist/test-helpers/integration-cli-global-setup.js +40 -0
  309. package/dist/test-helpers/integration-cli-global-setup.js.map +1 -0
  310. package/dist/test-helpers/integration-cli.d.ts +7 -0
  311. package/dist/test-helpers/integration-cli.d.ts.map +1 -0
  312. package/dist/test-helpers/integration-cli.js +8 -0
  313. package/dist/test-helpers/integration-cli.js.map +1 -0
  314. package/dist/test-helpers/terminal-e2e.d.ts.map +1 -1
  315. package/dist/test-helpers/terminal-e2e.js +40 -2
  316. package/dist/test-helpers/terminal-e2e.js.map +1 -1
  317. package/dist/tools/agent/goal-check.d.ts.map +1 -1
  318. package/dist/tools/agent/goal-check.js +6 -2
  319. package/dist/tools/agent/goal-check.js.map +1 -1
  320. package/dist/tools/discord-send.d.ts +14 -0
  321. package/dist/tools/discord-send.d.ts.map +1 -0
  322. package/dist/tools/discord-send.js +66 -0
  323. package/dist/tools/discord-send.js.map +1 -0
  324. package/dist/tools/system/shell.d.ts.map +1 -1
  325. package/dist/tools/system/shell.js +10 -0
  326. package/dist/tools/system/shell.js.map +1 -1
  327. package/dist/tools/tool-names.d.ts +1 -0
  328. package/dist/tools/tool-names.d.ts.map +1 -1
  329. package/dist/tools/tool-names.js +1 -0
  330. package/dist/tools/tool-names.js.map +1 -1
  331. package/dist/types/message.d.ts +3 -1
  332. package/dist/types/message.d.ts.map +1 -1
  333. package/dist/types/message.js.map +1 -1
  334. package/dist/utils/process-restart.d.ts +33 -0
  335. package/dist/utils/process-restart.d.ts.map +1 -0
  336. package/dist/utils/process-restart.js +52 -0
  337. package/dist/utils/process-restart.js.map +1 -0
  338. package/package.json +4 -3
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.38.0-dev+808b19d",
3
- "commit": "808b19d89ca4c93f413ed59a93d23b79817dbeaa",
4
- "release": false,
2
+ "version": "0.40.0",
3
+ "commit": "2e2a204a1eafb0ee873e58209a43e9cadd29b4d6",
4
+ "release": true,
5
5
  "limitation": null
6
6
  }
package/dist/cli.js CHANGED
@@ -1,5 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import './env-setup.js';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { assertRestartSupported, createRestartPlan } from './utils/process-restart.js';
5
+ import { createFailClosedDiscordSend } from './services/discord/discord-send-capability.js';
3
6
  import meow from 'meow';
4
7
  import { createRequire } from 'node:module';
5
8
  import { AgentClient } from './lib/agent-client.js';
@@ -51,10 +54,14 @@ import { runControlCommand } from './services/control-socket/control-command.js'
51
54
  import { createDurableGoal } from './services/conversation/durable-goal.js';
52
55
  const controlArgv = [];
53
56
  let controlSocketRequested = false;
57
+ let discordInput = false;
54
58
  let controlSocketName;
55
59
  let controlSocketNameRejected = false;
56
60
  for (const arg of process.argv.slice(2)) {
57
- if (arg === '--control-socket') {
61
+ if (arg === '--discord-input') {
62
+ discordInput = true;
63
+ }
64
+ else if (arg === '--control-socket') {
58
65
  controlSocketRequested = true;
59
66
  controlSocketName ??= String(process.pid);
60
67
  }
@@ -110,34 +117,7 @@ let activeControlSocketServer = null;
110
117
  let effectiveSessionId;
111
118
  let effectiveHasConversationContent = false;
112
119
  let sessionSummaryPrinted = false;
113
- // Global Ctrl+C handler for immediate exit paths outside Ink's input handling.
114
- process.on('SIGINT', () => {
115
- if (process.stdout.isTTY) {
116
- process.stdout.write('\x1b[?1004l');
117
- }
118
- void Promise.all([
119
- activeLogWriter ? activeLogWriter.flush() : Promise.resolve(),
120
- activeSessionBrowser ? activeSessionBrowser.close() : Promise.resolve(),
121
- activeMcpManager ? activeMcpManager.close() : Promise.resolve(),
122
- activeControlSocketServer ? activeControlSocketServer.close() : Promise.resolve(),
123
- ]).finally(() => {
124
- printUsageOnce();
125
- process.exit(130);
126
- });
127
- });
128
- process.on('SIGTERM', () => {
129
- if (process.stdout.isTTY) {
130
- process.stdout.write('\x1b[?1004l');
131
- }
132
- void Promise.all([
133
- activeLogWriter ? activeLogWriter.flush() : Promise.resolve(),
134
- activeSessionBrowser ? activeSessionBrowser.close() : Promise.resolve(),
135
- activeMcpManager ? activeMcpManager.close() : Promise.resolve(),
136
- activeControlSocketServer ? activeControlSocketServer.close() : Promise.resolve(),
137
- ]).finally(() => {
138
- process.exit(143);
139
- });
140
- });
120
+ let restartPlan;
141
121
  // Best-effort release of lock + close on uncatchable exits (caught process.exit).
142
122
  process.on('exit', () => {
143
123
  if (process.stdout.isTTY) {
@@ -165,7 +145,7 @@ process.on('exit', () => {
165
145
  }
166
146
  }
167
147
  try {
168
- if (effectiveSessionId && !hasConversationContent(effectiveSessionId)) {
148
+ if (!restartPlan && effectiveSessionId && !hasConversationContent(effectiveSessionId)) {
169
149
  deleteConversation(effectiveSessionId);
170
150
  }
171
151
  }
@@ -191,6 +171,7 @@ const cli = meow(`
191
171
  $ term2 --resume <conversation-id>
192
172
  $ term2 --resume <conversation-id> "Follow-up prompt"
193
173
  $ term2 --help
174
+ $ term2 discord --help (candidate bridge; explicit sends, local approvals)
194
175
 
195
176
  Usage
196
177
  $ term2 [options] [prompt...]
@@ -211,6 +192,7 @@ const cli = meow(`
211
192
  --show-reasoning Stream reasoning deltas to stderr in non-interactive mode
212
193
  --json Emit newline-delimited JSON (NDJSON) events in non-interactive mode
213
194
  --ssh <user@host> Enable SSH mode for a remote host
195
+ --discord-input Allow Discord input and explicit root notifications on this control socket
214
196
  --remote-dir <path> Remote working directory (required for non-lite SSH sessions)
215
197
  --ssh-port <port> SSH port (default: 22)
216
198
  --control-socket[=<name>] Enable a local socket for the interactive TUI
@@ -363,7 +345,46 @@ const cli = meow(`
363
345
  default: false,
364
346
  },
365
347
  },
366
- allowUnknownFlags: controlArgv[0] === 'control' || process.argv[2] === 'serve' || process.argv[2] === 'acp',
348
+ allowUnknownFlags: controlArgv[0] === 'discord' ||
349
+ controlArgv[0] === 'control' ||
350
+ process.argv[2] === 'serve' ||
351
+ process.argv[2] === 'acp',
352
+ });
353
+ if (cli.input[0] === 'discord') {
354
+ const { runDiscordBridge } = await import('./services/discord/discord-command.js');
355
+ await runDiscordBridge(controlArgv.slice(1));
356
+ process.exit(process.exitCode ?? 0);
357
+ }
358
+ // Standalone Discord dispatch above owns and awaits its signal lifecycle.
359
+ // Register force-exit session handlers only for the remaining CLI modes; a
360
+ // competing listener would skip the bridge's in-flight tick and finally cleanup.
361
+ // Global Ctrl+C handler for immediate exit paths outside Ink's input handling.
362
+ process.on('SIGINT', () => {
363
+ if (process.stdout.isTTY) {
364
+ process.stdout.write('\x1b[?1004l');
365
+ }
366
+ void Promise.all([
367
+ activeLogWriter ? activeLogWriter.flush() : Promise.resolve(),
368
+ activeSessionBrowser ? activeSessionBrowser.close() : Promise.resolve(),
369
+ activeMcpManager ? activeMcpManager.close() : Promise.resolve(),
370
+ activeControlSocketServer ? activeControlSocketServer.close() : Promise.resolve(),
371
+ ]).finally(() => {
372
+ printUsageOnce();
373
+ process.exit(130);
374
+ });
375
+ });
376
+ process.on('SIGTERM', () => {
377
+ if (process.stdout.isTTY) {
378
+ process.stdout.write('\x1b[?1004l');
379
+ }
380
+ void Promise.all([
381
+ activeLogWriter ? activeLogWriter.flush() : Promise.resolve(),
382
+ activeSessionBrowser ? activeSessionBrowser.close() : Promise.resolve(),
383
+ activeMcpManager ? activeMcpManager.close() : Promise.resolve(),
384
+ activeControlSocketServer ? activeControlSocketServer.close() : Promise.resolve(),
385
+ ]).finally(() => {
386
+ process.exit(143);
387
+ });
367
388
  });
368
389
  if (cli.input[0] === 'control') {
369
390
  const exitCode = await runControlCommand(controlArgv.slice(1), process.stdout, process.stderr);
@@ -994,6 +1015,12 @@ const sessionClientFactory = createOwnedSessionClientFactory(settings, (_session
994
1015
  skillsService,
995
1016
  requestCapture,
996
1017
  sessionBrowser: hasPositionalPrompt ? undefined : sessionBrowser,
1018
+ ...(!hasPositionalPrompt
1019
+ ? {
1020
+ discordSend: createFailClosedDiscordSend(() => activeControlSocketServer, process.env.XDG_RUNTIME_DIR ?? ''),
1021
+ isDiscordInputEnabled: () => activeControlSocketServer?.discordInputEnabled === true,
1022
+ }
1023
+ : {}),
997
1024
  mcpToolSource: mcpManager,
998
1025
  },
999
1026
  toolOwnership,
@@ -1209,6 +1236,7 @@ if (!hasPositionalPrompt && (!nodeStdin.isTTY || !nodeStdout.isTTY)) {
1209
1236
  }
1210
1237
  let controlStartupNotice;
1211
1238
  let controlSocket;
1239
+ let runtimeControlSocketConnectPending = false;
1212
1240
  if (controlSocketRequested) {
1213
1241
  if (controlSocketNameRejected || !controlSocketName) {
1214
1242
  controlStartupNotice = `Control socket name rejected: ${controlSocketName ?? ''}`;
@@ -1217,7 +1245,8 @@ if (controlSocketRequested) {
1217
1245
  try {
1218
1246
  controlSocket = new ControlSocketServer({
1219
1247
  name: controlSocketName,
1220
- sessionId: () => effectiveSessionId ?? conversationService.sessionId,
1248
+ discordInput,
1249
+ sessionId: () => conversationService.sessionId,
1221
1250
  });
1222
1251
  await controlSocket.listen();
1223
1252
  activeControlSocketServer = controlSocket;
@@ -1251,10 +1280,96 @@ const detectedBackground = shouldDetectBackground(settings.get('ui.theme'), proc
1251
1280
  const { waitUntilExit } = render((React.createElement(SettingsThemeProvider, { settingsService: settings, detectedBackground: detectedBackground },
1252
1281
  React.createElement(SettingsSkinProvider, { settingsService: settings },
1253
1282
  React.createElement(InputProvider, null,
1254
- React.createElement(App, { conversationService: conversationService, controlSocket: controlSocket, controlStartupNotice: controlStartupNotice, controlSessionMetadata: () => ({
1283
+ React.createElement(App, { onRestart: async (stopBackground, exitInk) => {
1284
+ const snapshot = () => createRestartPlan({
1285
+ entry: fileURLToPath(import.meta.url),
1286
+ sessionId: logWriter.sessionId,
1287
+ model: settings.get('agent.modelSelection'),
1288
+ reasoning: settings.get('agent.reasoningEffort'),
1289
+ profile: canonicalProfileId(settings.get('app.activeProfileId')),
1290
+ approval: settings.get('shell.autoApproveMode'),
1291
+ sandbox: settings.get('sandbox.enabled'),
1292
+ ...(sshFlag
1293
+ ? { ssh: { target: sshFlag, directory: sshInfo?.remoteDir, port: cli.flags.sshPort } }
1294
+ : {}),
1295
+ ...(controlSocket
1296
+ ? { control: { name: controlSocket.name, discordInput: controlSocket.discordInputEnabled } }
1297
+ : {}),
1298
+ });
1299
+ const manual = snapshot().manualCommand;
1300
+ try {
1301
+ assertRestartSupported(fileURLToPath(import.meta.url));
1302
+ if (runtimeControlSocketConnectPending)
1303
+ throw new Error('Control socket connection is still pending.');
1304
+ }
1305
+ catch (error) {
1306
+ throw new Error(`${error instanceof Error ? error.message : String(error)}\nManual resume: ${manual}`);
1307
+ }
1308
+ const liveTasks = () => conversationService.backgroundTaskControl
1309
+ .listDetails()
1310
+ .filter((task) => ['running', 'awaiting_approval', 'waiting_for_answer', 'cancelling'].includes(task.status));
1311
+ const checkTasks = () => {
1312
+ const tasks = liveTasks();
1313
+ if (tasks.length && !stopBackground)
1314
+ throw new Error(`Live background work: ${tasks
1315
+ .map((task) => `${task.kind}:${task.id} (${task.status})`)
1316
+ .join(', ')}. ` +
1317
+ 'Leave it running by cancelling restart, or use /restart stop to stop it and restart.');
1318
+ };
1319
+ checkTasks();
1320
+ const controlHold = controlSocket?.pauseMutations();
1321
+ let release;
1322
+ try {
1323
+ await controlHold?.drained;
1324
+ release = await conversationService.prepareRestart();
1325
+ await logWriter.flush();
1326
+ checkTasks();
1327
+ // No await after this snapshot: the held adapter and current writer own the handoff.
1328
+ restartPlan = snapshot();
1329
+ if (executionContext?.getActiveWorkspace())
1330
+ console.log('Restart resets the active workspace lease to its home scope.');
1331
+ exitInk();
1332
+ }
1333
+ catch (error) {
1334
+ release?.();
1335
+ controlHold?.release();
1336
+ throw error;
1337
+ }
1338
+ }, conversationService: conversationService, controlSocket: controlSocket, controlSocketIsStartup: controlSocket !== undefined, connectControlSocket: async (name) => {
1339
+ if (controlSocket || runtimeControlSocketConnectPending) {
1340
+ throw new Error('A control socket is already connected or connecting.');
1341
+ }
1342
+ runtimeControlSocketConnectPending = true;
1343
+ let server;
1344
+ try {
1345
+ server = new ControlSocketServer({
1346
+ name,
1347
+ discordInput: true,
1348
+ sessionId: () => conversationService.sessionId,
1349
+ });
1350
+ await server.listen();
1351
+ controlSocket = server;
1352
+ activeControlSocketServer = server;
1353
+ return server;
1354
+ }
1355
+ catch (error) {
1356
+ if (server)
1357
+ await server.close().catch(() => undefined);
1358
+ throw error;
1359
+ }
1360
+ finally {
1361
+ runtimeControlSocketConnectPending = false;
1362
+ }
1363
+ }, disconnectControlSocket: async (server) => {
1364
+ await server.close();
1365
+ if (activeControlSocketServer === server)
1366
+ activeControlSocketServer = null;
1367
+ if (controlSocket === server)
1368
+ controlSocket = undefined;
1369
+ }, controlStartupNotice: controlStartupNotice, controlSessionMetadata: () => ({
1255
1370
  workspaceRoot: executionContext?.getHomeWorkspace() ?? null,
1256
1371
  version: String(cli.pkg.version ?? ''),
1257
- createdAt: effectiveCreatedAt,
1372
+ createdAt: conversationService.sessionStartedAt,
1258
1373
  logPath: path.join(logWriterDir, `${effectiveSessionId ?? conversationService.sessionId}.jsonl`),
1259
1374
  }), settingsService: settings, historyService: history, loggingService: logger, skillsService: skillsService, sshInfo: sshInfo, sshService: sshService, usageAccumulator: sessionUsageAccumulator, subagentUsageAccumulator: subagentUsageAccumulator, costAccumulator: sessionCostAccumulator, onPrintUsage: printUsage, onExitUsage: printUsageOnce, sessionId: effectiveSessionId, initialMessages: initialMessages, initialGoal: launchGoal ?? resumedConversation?.goal, appendGoal: (goal, source) => {
1260
1375
  logWriter.append({ type: 'goal_changed', version: 1, goal, ...(source ? { source } : {}) });
@@ -1275,22 +1390,47 @@ const { waitUntilExit } = render((React.createElement(SettingsThemeProvider, { s
1275
1390
  effectiveHasConversationContent = hasContent;
1276
1391
  }, terminalTitleBase: terminalTitleBase, mcpManager: mcpManager, mcpOAuthStore: mcpOAuthStore, mcpConfigController: mcpConfigController, mcpStartupNotices: mcpStartupNotices, mcpUserConfigPath: mcpConfig.userConfigPath }))))), getInkRenderOptions());
1277
1392
  await waitUntilExit();
1278
- if (controlSocket) {
1279
- await controlSocket.close();
1280
- activeControlSocketServer = null;
1393
+ const writeRestartRecovery = async () => {
1394
+ if (restartPlan)
1395
+ await new Promise((resolve, reject) => process.stdout.write(`\nRestart recovery command: ${restartPlan.manualCommand}\n`, (error) => error ? reject(error) : resolve()));
1396
+ };
1397
+ try {
1398
+ await writeRestartRecovery();
1399
+ if (controlSocket) {
1400
+ await controlSocket.close();
1401
+ activeControlSocketServer = null;
1402
+ }
1403
+ if (conversationService.hookEvents) {
1404
+ await hookService.emit(conversationService.hookEvents.create('session.end', {
1405
+ reason: 'normal',
1406
+ sessionDuration: Math.max(0, Date.now() - Date.parse(effectiveCreatedAt)),
1407
+ }));
1408
+ }
1409
+ await conversationService.shutdown();
1410
+ await mcpManager.close();
1411
+ await sessionBrowser.close();
1412
+ activeSessionBrowser = null;
1413
+ await logWriter.close();
1414
+ activeLogWriter = null;
1415
+ printUsageOnce();
1416
+ if (restartPlan) {
1417
+ if (process.stdout.isTTY)
1418
+ process.stdout.write('\x1b[?1004l');
1419
+ killLiveShellChildren();
1420
+ await sshService?.disconnect();
1421
+ if (fs.existsSync(getConversationLockPath(logWriter.sessionId))) {
1422
+ throw new Error('Conversation lock remains after shutdown; refusing same-PID restart.');
1423
+ }
1424
+ await writeRestartRecovery();
1425
+ process.execve(process.execPath, [process.execPath, ...restartPlan.args], restartPlan.env);
1426
+ }
1281
1427
  }
1282
- if (conversationService.hookEvents) {
1283
- await hookService.emit(conversationService.hookEvents.create('session.end', {
1284
- reason: 'normal',
1285
- sessionDuration: Math.max(0, Date.now() - Date.parse(effectiveCreatedAt)),
1286
- }));
1428
+ catch (error) {
1429
+ if (!restartPlan)
1430
+ throw error;
1431
+ console.error(`Restart cleanup failed; no replacement attempted: ${error instanceof Error ? error.message : String(error)}`);
1432
+ await writeRestartRecovery();
1433
+ process.exit(1);
1287
1434
  }
1288
- await conversationService.shutdown();
1289
- await mcpManager.close();
1290
- await sessionBrowser.close();
1291
- activeSessionBrowser = null;
1292
- await logWriter.close();
1293
- activeLogWriter = null;
1294
- printUsageOnce();
1295
1435
  process.exit(0);
1296
1436
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../source/cli.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../source/cli.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { SlashCommand } from '../slash-commands.js';
2
+ import type { ControlSocketServer } from '../services/control-socket/control-socket.js';
3
+ export declare function createBridgeCommand(input: {
4
+ getServer: () => ControlSocketServer | undefined;
5
+ isStartup: boolean;
6
+ connect?: (name: string) => Promise<ControlSocketServer>;
7
+ disconnect?: (server: ControlSocketServer) => Promise<void>;
8
+ getSessionId: () => string;
9
+ addSystemMessage: (text: string) => void;
10
+ }): SlashCommand;
11
+ //# sourceMappingURL=bridge-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-command.d.ts","sourceRoot":"","sources":["../../source/commands/bridge-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAGxF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,SAAS,EAAE,MAAM,mBAAmB,GAAG,SAAS,CAAC;IACjD,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C,GAAG,YAAY,CAwEf"}
@@ -0,0 +1,67 @@
1
+ import { isControlSocketName } from '../services/control-socket/control-socket.js';
2
+ export function createBridgeCommand(input) {
3
+ return {
4
+ name: 'bridge',
5
+ description: 'Attach or detach this local session for Discord bridge input',
6
+ action: (args = '') => {
7
+ const trimmed = args.trim();
8
+ const [action = 'status', ...rest] = trimmed ? trimmed.split(/\s+/) : [];
9
+ const server = input.getServer();
10
+ if (action === 'connect') {
11
+ const name = rest[0] ?? 'coord';
12
+ if (rest.length > 1 || !isControlSocketName(name)) {
13
+ input.addSystemMessage('Invalid bridge socket name. Use 1–64 letters, digits, _ or -.');
14
+ return true;
15
+ }
16
+ if (server) {
17
+ input.addSystemMessage(`Session already attached (${server.name}); detach it before attaching another.`);
18
+ return true;
19
+ }
20
+ if (!input.connect) {
21
+ input.addSystemMessage('Runtime session attachment is unavailable in this session.');
22
+ return true;
23
+ }
24
+ void input
25
+ .connect(name)
26
+ .then((connected) => {
27
+ input.addSystemMessage(`Session attached: ${connected.name}; local control socket available at ${connected.socketPath}. Discord input enabled; Discord connectivity is not verified. Approvals and questions remain terminal-only.`);
28
+ })
29
+ .catch((error) => {
30
+ input.addSystemMessage(`Session attachment failed: ${error instanceof Error ? error.message : String(error)}`);
31
+ });
32
+ return true;
33
+ }
34
+ if (action === 'disconnect') {
35
+ if (!server) {
36
+ input.addSystemMessage('Session is already detached.');
37
+ }
38
+ else if (input.isStartup || !input.disconnect) {
39
+ input.addSystemMessage('This startup control socket cannot be disconnected at runtime.');
40
+ }
41
+ else {
42
+ void input
43
+ .disconnect(server)
44
+ .then(() => {
45
+ input.addSystemMessage(`Session detached: ${server.name}.`);
46
+ })
47
+ .catch((error) => {
48
+ input.addSystemMessage(`Session detachment failed: ${error instanceof Error ? error.message : String(error)}`);
49
+ });
50
+ }
51
+ return true;
52
+ }
53
+ if (action !== 'status' || rest.length) {
54
+ input.addSystemMessage('Usage: /bridge [status|connect [name]|disconnect]');
55
+ return true;
56
+ }
57
+ const startupSocket = input.isStartup
58
+ ? 'created at startup'
59
+ : 'not created at startup (a runtime connection may still be active)';
60
+ input.addSystemMessage(server
61
+ ? `Session attached: ${server.name}; local control socket available at ${server.socketPath}; Discord input ${server.discordInputEnabled ? 'enabled' : 'disabled'} (Discord connectivity not verified); session ${input.getSessionId()}; startup socket ${startupSocket}.`
62
+ : `Session not attached; session ${input.getSessionId()}; startup socket ${startupSocket}. To enable remote input, use /bridge connect [name] if that socket name is available.`);
63
+ return true;
64
+ },
65
+ };
66
+ }
67
+ //# sourceMappingURL=bridge-command.js.map