@qduc/term2 0.39.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 (100) hide show
  1. package/README.md +7 -2
  2. package/dist/app.d.ts +1 -0
  3. package/dist/app.d.ts.map +1 -1
  4. package/dist/app.js +32 -2
  5. package/dist/app.js.map +1 -1
  6. package/dist/build-info.json +3 -3
  7. package/dist/cli.js +131 -45
  8. package/dist/cli.js.map +1 -1
  9. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  10. package/dist/components/layout/BottomArea.js +5 -3
  11. package/dist/components/layout/BottomArea.js.map +1 -1
  12. package/dist/components/prompt/QueuePausedPrompt.d.ts +1 -0
  13. package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -1
  14. package/dist/components/prompt/QueuePausedPrompt.js +6 -1
  15. package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
  16. package/dist/gateway/gateway.d.ts.map +1 -1
  17. package/dist/gateway/gateway.js +204 -34
  18. package/dist/gateway/gateway.js.map +1 -1
  19. package/dist/gateway/persistence/projection.d.ts +17 -0
  20. package/dist/gateway/persistence/projection.d.ts.map +1 -1
  21. package/dist/gateway/persistence/projection.js +108 -10
  22. package/dist/gateway/persistence/projection.js.map +1 -1
  23. package/dist/gateway/runtime-factory.d.ts.map +1 -1
  24. package/dist/gateway/runtime-factory.js +1 -0
  25. package/dist/gateway/runtime-factory.js.map +1 -1
  26. package/dist/gateway/workspace-boundary-probe.d.ts +5 -0
  27. package/dist/gateway/workspace-boundary-probe.d.ts.map +1 -1
  28. package/dist/gateway/workspace-boundary-probe.js +6 -1
  29. package/dist/gateway/workspace-boundary-probe.js.map +1 -1
  30. package/dist/hooks/use-app-commands.d.ts +2 -1
  31. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  32. package/dist/hooks/use-app-commands.js +16 -1
  33. package/dist/hooks/use-app-commands.js.map +1 -1
  34. package/dist/lib/input-owner.d.ts +2 -0
  35. package/dist/lib/input-owner.d.ts.map +1 -1
  36. package/dist/lib/input-owner.js +1 -1
  37. package/dist/lib/input-owner.js.map +1 -1
  38. package/dist/prompts/discord-communication.md +2 -0
  39. package/dist/services/control-socket/control-session-port.d.ts.map +1 -1
  40. package/dist/services/control-socket/control-session-port.js +5 -3
  41. package/dist/services/control-socket/control-session-port.js.map +1 -1
  42. package/dist/services/control-socket/control-socket.d.ts +5 -1
  43. package/dist/services/control-socket/control-socket.d.ts.map +1 -1
  44. package/dist/services/control-socket/control-socket.js +61 -8
  45. package/dist/services/control-socket/control-socket.js.map +1 -1
  46. package/dist/services/conversation/conversation-adapter.d.ts +2 -0
  47. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  48. package/dist/services/conversation/conversation-adapter.js +57 -3
  49. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  50. package/dist/services/conversation/conversation-service.d.ts +2 -0
  51. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  52. package/dist/services/conversation/conversation-service.js +10 -0
  53. package/dist/services/conversation/conversation-service.js.map +1 -1
  54. package/dist/services/discord/discord-bridge.d.ts +4 -0
  55. package/dist/services/discord/discord-bridge.d.ts.map +1 -1
  56. package/dist/services/discord/discord-bridge.js +43 -10
  57. package/dist/services/discord/discord-bridge.js.map +1 -1
  58. package/dist/services/discord/discord-command.d.ts.map +1 -1
  59. package/dist/services/discord/discord-command.js +52 -5
  60. package/dist/services/discord/discord-command.js.map +1 -1
  61. package/dist/services/discord/discord-gateway.d.ts +20 -0
  62. package/dist/services/discord/discord-gateway.d.ts.map +1 -0
  63. package/dist/services/discord/discord-gateway.js +257 -0
  64. package/dist/services/discord/discord-gateway.js.map +1 -0
  65. package/dist/services/profiles/registry.d.ts.map +1 -1
  66. package/dist/services/profiles/registry.js +11 -1
  67. package/dist/services/profiles/registry.js.map +1 -1
  68. package/dist/services/queue/queue-controller.d.ts +3 -0
  69. package/dist/services/queue/queue-controller.d.ts.map +1 -1
  70. package/dist/services/queue/queue-controller.js +34 -1
  71. package/dist/services/queue/queue-controller.js.map +1 -1
  72. package/dist/skins/testing/scenes.js +1 -1
  73. package/dist/skins/testing/scenes.js.map +1 -1
  74. package/dist/test-helpers/cli-compile-cache-setup.d.ts +7 -0
  75. package/dist/test-helpers/cli-compile-cache-setup.d.ts.map +1 -0
  76. package/dist/test-helpers/cli-compile-cache-setup.js +7 -0
  77. package/dist/test-helpers/cli-compile-cache-setup.js.map +1 -0
  78. package/dist/test-helpers/cli-compile-cache.d.ts +4 -0
  79. package/dist/test-helpers/cli-compile-cache.d.ts.map +1 -0
  80. package/dist/test-helpers/cli-compile-cache.js +33 -0
  81. package/dist/test-helpers/cli-compile-cache.js.map +1 -0
  82. package/dist/test-helpers/integration-cli-global-setup.d.ts +3 -0
  83. package/dist/test-helpers/integration-cli-global-setup.d.ts.map +1 -0
  84. package/dist/test-helpers/integration-cli-global-setup.js +40 -0
  85. package/dist/test-helpers/integration-cli-global-setup.js.map +1 -0
  86. package/dist/test-helpers/integration-cli.d.ts +7 -0
  87. package/dist/test-helpers/integration-cli.d.ts.map +1 -0
  88. package/dist/test-helpers/integration-cli.js +8 -0
  89. package/dist/test-helpers/integration-cli.js.map +1 -0
  90. package/dist/test-helpers/terminal-e2e.d.ts.map +1 -1
  91. package/dist/test-helpers/terminal-e2e.js +3 -0
  92. package/dist/test-helpers/terminal-e2e.js.map +1 -1
  93. package/dist/tools/system/shell.d.ts.map +1 -1
  94. package/dist/tools/system/shell.js +10 -0
  95. package/dist/tools/system/shell.js.map +1 -1
  96. package/dist/utils/process-restart.d.ts +33 -0
  97. package/dist/utils/process-restart.d.ts.map +1 -0
  98. package/dist/utils/process-restart.js +52 -0
  99. package/dist/utils/process-restart.js.map +1 -0
  100. package/package.json +4 -3
package/README.md CHANGED
@@ -57,6 +57,7 @@ This README tracks `main`; npm releases may lag behind it. Check `term2 --versio
57
57
  | To… | Use… |
58
58
  | --------------------------- | ------------------------------------------------------------- |
59
59
  | Switch models | `/model` or `Ctrl+O` |
60
+ | Restart the built CLI | `/restart` (or `/restart stop` to stop background work) |
60
61
  | Manage provider connections | `/providers` |
61
62
  | Resume a conversation | `term2 --resume`; `term2 --resume ls` lists saved sessions |
62
63
  | Try another approach | `term2 --resume <session-id> --fork` |
@@ -65,7 +66,7 @@ This README tracks `main`; npm releases may lag behind it. Check `term2 --versio
65
66
 
66
67
  Continue a saved session headlessly with `term2 --resume <session-id> "Follow-up prompt"` (or use `last` instead of an ID). Add `--fork` to keep the original session unchanged.
67
68
 
68
- `--profile bare` selects the minimal-prompt profile; the former Lite options (`--lite`, `-l`, `/lite`, and `--profile lite`) now select Bare too.
69
+ `--profile bare` selects the minimal-prompt profile with subagent delegation; the former Lite options (`--lite`, `-l`, `/lite`, and `--profile lite`) now select Bare too.
69
70
 
70
71
  A command-line prompt runs non-interactively, with tool execution disabled by default. `--auto-approve` enables tools without interactive confirmation; use it only when you intend unattended execution. See [scripting](https://qduc.github.io/term2/using-term2/non-interactive/) and [SSH setup](https://qduc.github.io/term2/remote/ssh/).
71
72
 
@@ -74,10 +75,14 @@ attaches existing opted-in terminal sessions. Start with `term2 discord --help`.
74
75
  Replies require explicit `discord_send`; status, approvals and questions stay local.
75
76
  Live Discord/mobile validation is still outstanding.
76
77
 
78
+ `/restart` reloads the built CLI in place and resumes the conversation, recovering durably queued text (not unsaved editor drafts). It requires POSIX Node with `process.execve` support (Node 24 recommended), a built `dist/cli.js` entry, and no Node flags, loaders, or `NODE_OPTIONS`. Live background work blocks restart unless you explicitly use `/restart stop`; active workspace leases reset to home scope. Finish foreground shell commands and pending input confirmations first. See [session restart](https://qduc.github.io/term2/using-term2/sessions/#restart-the-built-cli) for recovery limits.
79
+
77
80
  ## Approvals and sandbox
78
81
 
79
82
  Interactive sessions default to shell auto-approval `off` and an enabled shell sandbox. You can change these settings, so the active configuration matters. The sandbox constrains shell commands; it does not cover providers, external MCP servers, or every tool.
80
83
 
84
+ Read-only gateway sessions require sandboxed shell execution: disabling the sandbox, requesting an unsandboxed command, or using an SSH execution context does not bypass the read-only restriction.
85
+
81
86
  See [approvals](https://qduc.github.io/term2/safety/approvals/) and [sandbox boundaries](https://qduc.github.io/term2/safety/sandbox/) for the policies and their limits.
82
87
 
83
88
  ## Develop from source
@@ -102,7 +107,7 @@ pnpm --dir website build
102
107
  pnpm --dir website preview
103
108
  ```
104
109
 
105
- The separate [`web-client/`](web-client/) app connects to the private `term2 serve` gateway. See [gateway setup](https://qduc.github.io/term2/remote/web-gateway/).
110
+ The separate private Next.js [`web-client/`](web-client/) app connects to the `term2 serve` gateway. It is not included in the npm CLI package; frontend updates require updating and rebuilding that app separately. Gateway backend fixes ship with the CLI. See [gateway setup](https://qduc.github.io/term2/remote/web-gateway/).
106
111
 
107
112
  ## License
108
113
 
package/dist/app.d.ts CHANGED
@@ -25,6 +25,7 @@ interface AppProps {
25
25
  subagentUsageAccumulator?: UsageAccumulator;
26
26
  costAccumulator?: SessionCostAccumulator;
27
27
  onPrintUsage?: () => void;
28
+ onRestart?: (stopBackground: boolean, exitInk: () => void) => Promise<void>;
28
29
  onExitUsage?: () => void;
29
30
  sessionId: string;
30
31
  initialMessages?: Message[];
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"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"}
package/dist/app.js CHANGED
@@ -68,7 +68,7 @@ function projectNestedApproval(nestedApproval) {
68
68
  const LARGE_UNCACHED_PREVIEW_DEBOUNCE_MS = 250;
69
69
  /** How long after the last resize event the terminal must stay quiet before a redraw fires. */
70
70
  const RESIZE_SETTLED_MS = 300;
71
- const App = ({ conversationService, settingsService, historyService, loggingService, sshInfo, sshService, usageAccumulator, subagentUsageAccumulator, costAccumulator, onPrintUsage, onExitUsage, sessionId: initialSessionId, initialMessages = [], restoredStaticMessageIds = EMPTY_RESTORED_STATIC_MESSAGE_IDS, logWriter, onRotateWriter, generateId, onSessionIdChange, onHasConversationContent, skillsService, terminalTitleBase, mcpManager = null, mcpOAuthStore = null, mcpStartupNotices, mcpUserConfigPath, mcpConfigController, controlSocket: initialControlSocket, controlSocketIsStartup = false, connectControlSocket, disconnectControlSocket, controlStartupNotice, controlSessionMetadata, initialGoal, appendGoal, onGoalRestore, goalAchievedSlot, }) => {
71
+ const App = ({ conversationService, settingsService, historyService, loggingService, sshInfo, sshService, usageAccumulator, subagentUsageAccumulator, costAccumulator, onPrintUsage, onRestart, onExitUsage, sessionId: initialSessionId, initialMessages = [], restoredStaticMessageIds = EMPTY_RESTORED_STATIC_MESSAGE_IDS, logWriter, onRotateWriter, generateId, onSessionIdChange, onHasConversationContent, skillsService, terminalTitleBase, mcpManager = null, mcpOAuthStore = null, mcpStartupNotices, mcpUserConfigPath, mcpConfigController, controlSocket: initialControlSocket, controlSocketIsStartup = false, connectControlSocket, disconnectControlSocket, controlStartupNotice, controlSessionMetadata, initialGoal, appendGoal, onGoalRestore, goalAchievedSlot, }) => {
72
72
  const [goal, setGoalState] = useState(initialGoal);
73
73
  const [controlSocket, setControlSocket] = useState(initialControlSocket);
74
74
  const setGoal = useCallback((nextGoal, source) => {
@@ -76,6 +76,8 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
76
76
  setGoalState(nextGoal);
77
77
  }, [appendGoal]);
78
78
  const { exit, waitUntilRenderFlush } = useApp();
79
+ const restartPreparing = useRef(false);
80
+ const [isRestartPreparing, setRestartPreparing] = useState(false);
79
81
  const { stdout } = useStdout();
80
82
  const { setInput, replaceInput, setImages } = useInputActions();
81
83
  const { input, mode, images: _images, controller } = useInputState();
@@ -646,7 +648,30 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
646
648
  const clearConversationFromCommand = useMemo(() => clearInputBeforeReset({ replaceInput, waitUntilRenderFlush }, clearConversationAndRefreshBanner), [replaceInput, waitUntilRenderFlush, clearConversationAndRefreshBanner]);
647
649
  const resumeConversationFromUi = useMemo(() => clearInputBeforeReset({ replaceInput, waitUntilRenderFlush }, resumeConversation), [replaceInput, waitUntilRenderFlush, resumeConversation]);
648
650
  const exitFromCommand = useMemo(() => clearInputBeforeReset({ replaceInput, waitUntilRenderFlush }, exitWithUsage), [replaceInput, waitUntilRenderFlush, exitWithUsage]);
651
+ const restartFromCommand = async (stopBackground) => {
652
+ if (restartPreparing.current)
653
+ throw new Error('Restart is already preparing.');
654
+ if (activeCommand || pendingSurgeTurn || pendingLargeUncachedTurn) {
655
+ throw new Error('Finish the foreground shell or pending input confirmation before restarting.');
656
+ }
657
+ if (!onRestart)
658
+ throw new Error('Restart is unavailable in this host.');
659
+ restartPreparing.current = true;
660
+ setRestartPreparing(true);
661
+ try {
662
+ // Clear and paint before acquiring the final service handoff, never afterward.
663
+ replaceInput('');
664
+ await waitUntilRenderFlush();
665
+ await onRestart(stopBackground, exit);
666
+ }
667
+ catch (error) {
668
+ restartPreparing.current = false;
669
+ setRestartPreparing(false);
670
+ throw error;
671
+ }
672
+ };
649
673
  const { slashCommands, cycleAppModes } = useAppCommands({
674
+ restart: restartFromCommand,
650
675
  settingsService,
651
676
  transitionService: profileTransitionService,
652
677
  addSystemMessage,
@@ -688,7 +713,7 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
688
713
  skillsService: skillsService ?? { getAvailableSkills: () => [] },
689
714
  onSkillSelected: handleSkillSelected,
690
715
  requestModeSwitchConfirm: setPendingModeSwitch,
691
- turnInFlight: isProcessing,
716
+ turnInFlight: isProcessing || isRestartPreparing,
692
717
  listConversations: listSavedConversations,
693
718
  resumeConversation: resumeConversationFromUi,
694
719
  mcpManager,
@@ -922,6 +947,7 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
922
947
  waitingForAskUserAnswer: effectiveWaitingForAskUserAnswer,
923
948
  pendingApproval: effectivePendingApproval,
924
949
  queuePaused,
950
+ inputValue: input,
925
951
  backgroundTaskManagerOpen,
926
952
  firstRunSetupActive: firstRunSetup.active,
927
953
  isProcessing: effectiveIsProcessing,
@@ -981,6 +1007,10 @@ const App = ({ conversationService, settingsService, historyService, loggingServ
981
1007
  inputOwner,
982
1008
  });
983
1009
  const handleSubmit = async (turn, options) => {
1010
+ if (restartPreparing.current) {
1011
+ addSystemMessage('Restart is preparing; new input is not admitted.');
1012
+ return;
1013
+ }
984
1014
  const submittedEditor = controller.getSnapshot().editor;
985
1015
  if (backgroundApprovalEntry && waitingForRejectionReason) {
986
1016
  resolveBackgroundSubagentApproval({
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.39.0-dev+3789257",
3
- "commit": "3789257012aec1adfef1566236555b945746fe53",
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,7 @@
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';
3
5
  import { createFailClosedDiscordSend } from './services/discord/discord-send-capability.js';
4
6
  import meow from 'meow';
5
7
  import { createRequire } from 'node:module';
@@ -115,34 +117,7 @@ let activeControlSocketServer = null;
115
117
  let effectiveSessionId;
116
118
  let effectiveHasConversationContent = false;
117
119
  let sessionSummaryPrinted = false;
118
- // Global Ctrl+C handler for immediate exit paths outside Ink's input handling.
119
- process.on('SIGINT', () => {
120
- if (process.stdout.isTTY) {
121
- process.stdout.write('\x1b[?1004l');
122
- }
123
- void Promise.all([
124
- activeLogWriter ? activeLogWriter.flush() : Promise.resolve(),
125
- activeSessionBrowser ? activeSessionBrowser.close() : Promise.resolve(),
126
- activeMcpManager ? activeMcpManager.close() : Promise.resolve(),
127
- activeControlSocketServer ? activeControlSocketServer.close() : Promise.resolve(),
128
- ]).finally(() => {
129
- printUsageOnce();
130
- process.exit(130);
131
- });
132
- });
133
- process.on('SIGTERM', () => {
134
- if (process.stdout.isTTY) {
135
- process.stdout.write('\x1b[?1004l');
136
- }
137
- void Promise.all([
138
- activeLogWriter ? activeLogWriter.flush() : Promise.resolve(),
139
- activeSessionBrowser ? activeSessionBrowser.close() : Promise.resolve(),
140
- activeMcpManager ? activeMcpManager.close() : Promise.resolve(),
141
- activeControlSocketServer ? activeControlSocketServer.close() : Promise.resolve(),
142
- ]).finally(() => {
143
- process.exit(143);
144
- });
145
- });
120
+ let restartPlan;
146
121
  // Best-effort release of lock + close on uncatchable exits (caught process.exit).
147
122
  process.on('exit', () => {
148
123
  if (process.stdout.isTTY) {
@@ -170,7 +145,7 @@ process.on('exit', () => {
170
145
  }
171
146
  }
172
147
  try {
173
- if (effectiveSessionId && !hasConversationContent(effectiveSessionId)) {
148
+ if (!restartPlan && effectiveSessionId && !hasConversationContent(effectiveSessionId)) {
174
149
  deleteConversation(effectiveSessionId);
175
150
  }
176
151
  }
@@ -380,6 +355,37 @@ if (cli.input[0] === 'discord') {
380
355
  await runDiscordBridge(controlArgv.slice(1));
381
356
  process.exit(process.exitCode ?? 0);
382
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
+ });
388
+ });
383
389
  if (cli.input[0] === 'control') {
384
390
  const exitCode = await runControlCommand(controlArgv.slice(1), process.stdout, process.stderr);
385
391
  process.exit(exitCode);
@@ -1274,7 +1280,62 @@ const detectedBackground = shouldDetectBackground(settings.get('ui.theme'), proc
1274
1280
  const { waitUntilExit } = render((React.createElement(SettingsThemeProvider, { settingsService: settings, detectedBackground: detectedBackground },
1275
1281
  React.createElement(SettingsSkinProvider, { settingsService: settings },
1276
1282
  React.createElement(InputProvider, null,
1277
- React.createElement(App, { conversationService: conversationService, controlSocket: controlSocket, controlSocketIsStartup: controlSocket !== undefined, connectControlSocket: async (name) => {
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) => {
1278
1339
  if (controlSocket || runtimeControlSocketConnectPending) {
1279
1340
  throw new Error('A control socket is already connected or connecting.');
1280
1341
  }
@@ -1329,22 +1390,47 @@ const { waitUntilExit } = render((React.createElement(SettingsThemeProvider, { s
1329
1390
  effectiveHasConversationContent = hasContent;
1330
1391
  }, terminalTitleBase: terminalTitleBase, mcpManager: mcpManager, mcpOAuthStore: mcpOAuthStore, mcpConfigController: mcpConfigController, mcpStartupNotices: mcpStartupNotices, mcpUserConfigPath: mcpConfig.userConfigPath }))))), getInkRenderOptions());
1331
1392
  await waitUntilExit();
1332
- if (controlSocket) {
1333
- await controlSocket.close();
1334
- 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
+ }
1335
1427
  }
1336
- if (conversationService.hookEvents) {
1337
- await hookService.emit(conversationService.hookEvents.create('session.end', {
1338
- reason: 'normal',
1339
- sessionDuration: Math.max(0, Date.now() - Date.parse(effectiveCreatedAt)),
1340
- }));
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);
1341
1434
  }
1342
- await conversationService.shutdown();
1343
- await mcpManager.close();
1344
- await sessionBrowser.close();
1345
- activeSessionBrowser = null;
1346
- await logWriter.close();
1347
- activeLogWriter = null;
1348
- printUsageOnce();
1349
1435
  process.exit(0);
1350
1436
  //# sourceMappingURL=cli.js.map