codekin 0.6.2 → 0.6.4

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 (103) hide show
  1. package/README.md +3 -2
  2. package/dist/assets/index-BRB_Ksyk.js +182 -0
  3. package/dist/assets/index-Q2WSVlHo.css +1 -0
  4. package/dist/index.html +2 -2
  5. package/package.json +3 -3
  6. package/server/dist/auth-routes.js +6 -0
  7. package/server/dist/auth-routes.js.map +1 -1
  8. package/server/dist/claude-process.js +3 -2
  9. package/server/dist/claude-process.js.map +1 -1
  10. package/server/dist/commit-event-handler.d.ts +2 -1
  11. package/server/dist/commit-event-handler.js +4 -3
  12. package/server/dist/commit-event-handler.js.map +1 -1
  13. package/server/dist/commit-event-hooks.d.ts +11 -0
  14. package/server/dist/commit-event-hooks.js +61 -11
  15. package/server/dist/commit-event-hooks.js.map +1 -1
  16. package/server/dist/config.d.ts +7 -0
  17. package/server/dist/config.js +19 -1
  18. package/server/dist/config.js.map +1 -1
  19. package/server/dist/docs-routes.js +4 -7
  20. package/server/dist/docs-routes.js.map +1 -1
  21. package/server/dist/json-parse.d.ts +8 -0
  22. package/server/dist/json-parse.js +9 -0
  23. package/server/dist/json-parse.js.map +1 -0
  24. package/server/dist/opencode-process.d.ts +8 -0
  25. package/server/dist/opencode-process.js +63 -5
  26. package/server/dist/opencode-process.js.map +1 -1
  27. package/server/dist/orchestrator-learning-router.d.ts +8 -0
  28. package/server/dist/orchestrator-learning-router.js +126 -0
  29. package/server/dist/orchestrator-learning-router.js.map +1 -0
  30. package/server/dist/orchestrator-learning.d.ts +0 -5
  31. package/server/dist/orchestrator-learning.js +2 -9
  32. package/server/dist/orchestrator-learning.js.map +1 -1
  33. package/server/dist/orchestrator-memory-router.d.ts +10 -0
  34. package/server/dist/orchestrator-memory-router.js +148 -0
  35. package/server/dist/orchestrator-memory-router.js.map +1 -0
  36. package/server/dist/orchestrator-memory.js +2 -1
  37. package/server/dist/orchestrator-memory.js.map +1 -1
  38. package/server/dist/orchestrator-monitor.d.ts +6 -0
  39. package/server/dist/orchestrator-monitor.js +14 -0
  40. package/server/dist/orchestrator-monitor.js.map +1 -1
  41. package/server/dist/orchestrator-reports.d.ts +0 -4
  42. package/server/dist/orchestrator-reports.js +8 -10
  43. package/server/dist/orchestrator-reports.js.map +1 -1
  44. package/server/dist/orchestrator-routes.d.ts +2 -2
  45. package/server/dist/orchestrator-routes.js +11 -506
  46. package/server/dist/orchestrator-routes.js.map +1 -1
  47. package/server/dist/orchestrator-session-router.d.ts +13 -0
  48. package/server/dist/orchestrator-session-router.js +312 -0
  49. package/server/dist/orchestrator-session-router.js.map +1 -0
  50. package/server/dist/process-coordinator.d.ts +83 -0
  51. package/server/dist/process-coordinator.js +167 -0
  52. package/server/dist/process-coordinator.js.map +1 -0
  53. package/server/dist/prompt-router.js +2 -1
  54. package/server/dist/prompt-router.js.map +1 -1
  55. package/server/dist/session-archive.js +2 -1
  56. package/server/dist/session-archive.js.map +1 -1
  57. package/server/dist/session-lifecycle.js +21 -37
  58. package/server/dist/session-lifecycle.js.map +1 -1
  59. package/server/dist/session-manager.d.ts +4 -0
  60. package/server/dist/session-manager.js +64 -75
  61. package/server/dist/session-manager.js.map +1 -1
  62. package/server/dist/session-persistence.js +3 -1
  63. package/server/dist/session-persistence.js.map +1 -1
  64. package/server/dist/session-routes.d.ts +18 -0
  65. package/server/dist/session-routes.js +56 -11
  66. package/server/dist/session-routes.js.map +1 -1
  67. package/server/dist/stepflow-handler.js +5 -1
  68. package/server/dist/stepflow-handler.js.map +1 -1
  69. package/server/dist/stepflow-prompt.js +16 -12
  70. package/server/dist/stepflow-prompt.js.map +1 -1
  71. package/server/dist/tsconfig.tsbuildinfo +1 -1
  72. package/server/dist/types.d.ts +6 -0
  73. package/server/dist/types.js +1 -0
  74. package/server/dist/types.js.map +1 -1
  75. package/server/dist/upload-routes.d.ts +5 -0
  76. package/server/dist/upload-routes.js +48 -11
  77. package/server/dist/upload-routes.js.map +1 -1
  78. package/server/dist/version-check.js +3 -2
  79. package/server/dist/version-check.js.map +1 -1
  80. package/server/dist/webhook-rate-limiter.js +9 -1
  81. package/server/dist/webhook-rate-limiter.js.map +1 -1
  82. package/server/dist/webhook-workspace.d.ts +12 -0
  83. package/server/dist/webhook-workspace.js +126 -3
  84. package/server/dist/webhook-workspace.js.map +1 -1
  85. package/server/dist/workflow-engine.d.ts +80 -7
  86. package/server/dist/workflow-engine.js +209 -28
  87. package/server/dist/workflow-engine.js.map +1 -1
  88. package/server/dist/workflow-loader.d.ts +6 -1
  89. package/server/dist/workflow-loader.js +97 -27
  90. package/server/dist/workflow-loader.js.map +1 -1
  91. package/server/dist/workflow-routes.d.ts +13 -0
  92. package/server/dist/workflow-routes.js +106 -4
  93. package/server/dist/workflow-routes.js.map +1 -1
  94. package/server/dist/ws-origin-check.d.ts +11 -0
  95. package/server/dist/ws-origin-check.js +20 -0
  96. package/server/dist/ws-origin-check.js.map +1 -0
  97. package/server/dist/ws-rate-limit.d.ts +19 -0
  98. package/server/dist/ws-rate-limit.js +30 -0
  99. package/server/dist/ws-rate-limit.js.map +1 -0
  100. package/server/dist/ws-server.js +41 -22
  101. package/server/dist/ws-server.js.map +1 -1
  102. package/dist/assets/index-C8GlUCii.js +0 -182
  103. package/dist/assets/index-DgeUVGjz.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-router.js","sourceRoot":"","sources":["../prompt-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-router.js","sourceRoot":"","sources":["../prompt-router.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import Database from 'better-sqlite3';
8
8
  import { existsSync, mkdirSync, chmodSync } from 'fs';
9
9
  import { homedir } from 'os';
10
10
  import { join } from 'path';
11
+ import { jsonParse } from './json-parse.js';
11
12
  const DATA_DIR = join(homedir(), '.codekin');
12
13
  const DB_PATH = join(DATA_DIR, 'session-archive.db');
13
14
  /** Default retention period in days. */
@@ -115,7 +116,7 @@ export class SessionArchive {
115
116
  archivedAt: row.archived_at,
116
117
  messageCount: row.message_count,
117
118
  outputHistory: (() => { try {
118
- return JSON.parse(row.output_history);
119
+ return jsonParse(row.output_history);
119
120
  }
120
121
  catch {
121
122
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"session-archive.js","sourceRoot":"","sources":["../session-archive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-archive.js","sourceRoot":"","sources":["../session-archive.ts"],"names":[],"mappings":"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"}
@@ -138,9 +138,15 @@ export class SessionLifecycle {
138
138
  cp.start();
139
139
  session.claudeProcess = cp;
140
140
  this.deps.globalBroadcast?.({ type: 'sessions_updated' });
141
+ // Only show "Session started" for the very first start, not for restarts
142
+ // triggered by model/permission changes — those already show a model message.
143
+ const isRestart = !!session._processStartedOnce;
144
+ session._processStartedOnce = true;
141
145
  const startMsg = { type: 'claude_started', sessionId };
142
146
  this.deps.addToHistory(session, startMsg);
143
- this.deps.broadcast(session, startMsg);
147
+ if (!isRestart) {
148
+ this.deps.broadcast(session, startMsg);
149
+ }
144
150
  return true;
145
151
  }
146
152
  /**
@@ -360,27 +366,17 @@ export class SessionLifecycle {
360
366
  };
361
367
  this.deps.addToHistory(session, msg);
362
368
  this.deps.broadcast(session, msg);
363
- // Clear any previously scheduled restart to prevent duplicate spawns
364
- if (session._restartTimer)
365
- clearTimeout(session._restartTimer);
366
- const generationAtSchedule = session._processGeneration ?? 0;
367
- session._restartTimer = setTimeout(() => {
368
- session._restartTimer = undefined;
369
- // Verify session still exists, hasn't been stopped, and no newer
370
- // process was started (by sendInput, manual restart, etc.) while
371
- // this timer was pending.
372
- if (!this.deps.hasSession(sessionId) || session._stoppedByUser)
373
- return;
374
- if (session._processGeneration !== generationAtSchedule) {
375
- console.log(`[restart] Skipping stale restart timer for session ${sessionId} (generation ${generationAtSchedule} → ${session._processGeneration})`);
376
- return;
377
- }
378
- // startClaude uses --resume when claudeSessionId exists, so the CLI
379
- // picks up the full conversation history from the JSONL automatically.
380
- this.startClaude(sessionId);
381
- // Fallback: if claudeSessionId was already null (fresh session that
382
- // crashed before system_init), inject a context summary so the new
383
- // session has some awareness of prior conversation.
369
+ // Delegate restart scheduling to the coordinator. The coordinator
370
+ // manages timer deduplication, generation-based staleness, and mutex
371
+ // serialization — replacing the manual _restartTimer / _processGeneration
372
+ // pattern that was previously here.
373
+ session.coordinator.scheduleRestart(action.delayMs,
374
+ // onBeforeStart: verify session still exists
375
+ () => this.deps.hasSession(sessionId),
376
+ // onAfterStart: inject context for sessions that lost their claudeSessionId
377
+ // (crashed before system_init). startClaude uses --resume when
378
+ // claudeSessionId exists, so this only fires for fresh-start fallbacks.
379
+ () => {
384
380
  if (!session.claudeSessionId && session.claudeProcess) {
385
381
  const pendingInput = session._lastUserInput;
386
382
  const inputAge = session._lastUserInputAt ? Date.now() - session._lastUserInputAt : Infinity;
@@ -395,13 +391,11 @@ export class SessionLifecycle {
395
391
  return;
396
392
  }
397
393
  }
398
- // No output history but pending input (brand new session that
399
- // crashed before responding) — re-send the user's message.
400
394
  if (hasPendingInput) {
401
395
  session.claudeProcess?.sendMessage(pendingInput);
402
396
  }
403
397
  }
404
- }, action.delayMs);
398
+ });
405
399
  return;
406
400
  }
407
401
  // action.kind === 'exhausted'
@@ -424,12 +418,7 @@ export class SessionLifecycle {
424
418
  const session = this.deps.getSession(sessionId);
425
419
  if (session?.claudeProcess) {
426
420
  session._stoppedByUser = true;
427
- if (session._apiRetry?.timer)
428
- clearTimeout(session._apiRetry.timer);
429
- if (session._restartTimer) {
430
- clearTimeout(session._restartTimer);
431
- session._restartTimer = undefined;
432
- }
421
+ session.coordinator.teardown();
433
422
  session.claudeProcess.removeAllListeners();
434
423
  session.claudeProcess.stop();
435
424
  session.claudeProcess = null;
@@ -447,12 +436,7 @@ export class SessionLifecycle {
447
436
  return;
448
437
  const cp = session.claudeProcess;
449
438
  session._stoppedByUser = true;
450
- if (session._apiRetry?.timer)
451
- clearTimeout(session._apiRetry.timer);
452
- if (session._restartTimer) {
453
- clearTimeout(session._restartTimer);
454
- session._restartTimer = undefined;
455
- }
439
+ session.coordinator.teardown();
456
440
  cp.removeAllListeners();
457
441
  cp.stop();
458
442
  this.deps.broadcast(session, { type: 'claude_stopped' });
@@ -1 +1 @@
1
- {"version":3,"file":"session-lifecycle.js","sourceRoot":"","sources":["../session-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-lifecycle.js","sourceRoot":"","sources":["../session-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ import { SessionArchive } from './session-archive.js';
24
24
  import type { DiffFileStatus, DiffScope, Session, SessionInfo, WsServerMessage } from './types.js';
25
25
  import { ApprovalManager } from './approval-manager.js';
26
26
  import { SessionLifecycle } from './session-lifecycle.js';
27
+ import { ProcessCoordinator } from './process-coordinator.js';
27
28
  export interface CreateSessionOptions {
28
29
  source?: 'manual' | 'webhook' | 'workflow' | 'stepflow' | 'orchestrator' | 'agent';
29
30
  id?: string;
@@ -88,6 +89,9 @@ export declare class SessionManager {
88
89
  scheduleSessionNaming(sessionId: string): void;
89
90
  /** Re-trigger session naming on user interaction. */
90
91
  retrySessionNamingOnInteraction(sessionId: string): void;
92
+ /** Create a ProcessCoordinator for a session. The coordinator delegates
93
+ * start/stop to the existing SessionLifecycle methods. */
94
+ createCoordinator(sessionId: string): ProcessCoordinator;
91
95
  /** Write all sessions to disk as JSON (atomic rename to prevent corruption). */
92
96
  persistToDisk(): void;
93
97
  private persistToDiskDebounced;
@@ -34,6 +34,7 @@ import { SessionLifecycle } from './session-lifecycle.js';
34
34
  import { SessionNaming } from './session-naming.js';
35
35
  import { SessionPersistence } from './session-persistence.js';
36
36
  import { cleanGitEnv, DiffManager } from './diff-manager.js';
37
+ import { ProcessCoordinator } from './process-coordinator.js';
37
38
  const execFileAsync = promisify(execFile);
38
39
  /** Max messages retained in a session's output history buffer. */
39
40
  const MAX_HISTORY = 2000;
@@ -147,9 +148,10 @@ export class SessionManager {
147
148
  rename: (sessionId, newName) => this.rename(sessionId, newName),
148
149
  });
149
150
  this.sessionPersistence.restoreFromDisk();
150
- // Wire PlanManager events for restored sessions
151
+ // Wire PlanManager events and coordinators for restored sessions
151
152
  for (const session of this.sessions.values()) {
152
153
  this.wirePlanManager(session);
154
+ session.coordinator = this.createCoordinator(session.id);
153
155
  }
154
156
  // Start idle session reaper
155
157
  this._idleReaperInterval = setInterval(() => this.reapIdleSessions(), IDLE_CHECK_INTERVAL_MS);
@@ -177,10 +179,7 @@ export class SessionManager {
177
179
  if (idleMs > IDLE_SESSION_TIMEOUT_MS) {
178
180
  console.log(`[idle-reaper] stopping idle session=${session.id} name="${session.name}" idle=${Math.round(idleMs / 60_000)}min`);
179
181
  session._stoppedByUser = true; // prevent auto-restart
180
- if (session._restartTimer) {
181
- clearTimeout(session._restartTimer);
182
- session._restartTimer = undefined;
183
- }
182
+ session.coordinator.teardown();
184
183
  session.claudeProcess.removeAllListeners();
185
184
  session.claudeProcess.stop();
186
185
  session.claudeProcess = null;
@@ -230,6 +229,17 @@ export class SessionManager {
230
229
  this.sessionNaming.retrySessionNamingOnInteraction(sessionId);
231
230
  }
232
231
  // ---------------------------------------------------------------------------
232
+ // Process coordinator factory
233
+ // ---------------------------------------------------------------------------
234
+ /** Create a ProcessCoordinator for a session. The coordinator delegates
235
+ * start/stop to the existing SessionLifecycle methods. */
236
+ createCoordinator(sessionId) {
237
+ return new ProcessCoordinator(sessionId, {
238
+ startProcess: (id) => this.sessionLifecycle.startClaude(id),
239
+ stopProcessAndWait: (id) => this.sessionLifecycle.stopClaudeAndWait(id),
240
+ });
241
+ }
242
+ // ---------------------------------------------------------------------------
233
243
  // Persistence delegation (preserves public API)
234
244
  // ---------------------------------------------------------------------------
235
245
  /** Write all sessions to disk as JSON (atomic rename to prevent corruption). */
@@ -279,7 +289,9 @@ export class SessionManager {
279
289
  _leaveGraceTimer: null,
280
290
  _lastActivityAt: Date.now(),
281
291
  planManager: new PlanManager(),
292
+ coordinator: null, // set below
282
293
  };
294
+ session.coordinator = this.createCoordinator(id);
283
295
  this.wirePlanManager(session);
284
296
  this.sessions.set(id, session);
285
297
  this.persistToDisk();
@@ -709,18 +721,14 @@ export class SessionManager {
709
721
  const session = this.sessions.get(sessionId);
710
722
  if (!session)
711
723
  return false;
712
- // Prevent auto-restart when deleting
724
+ // Prevent auto-restart when deleting — coordinator.teardown() cancels all
725
+ // lifecycle timers (restart, API retry) and sets userStopped.
713
726
  session._stoppedByUser = true;
714
- if (session._apiRetry.timer)
715
- clearTimeout(session._apiRetry.timer);
727
+ session.coordinator.teardown();
716
728
  if (session._namingTimer)
717
729
  clearTimeout(session._namingTimer);
718
730
  if (session._leaveGraceTimer)
719
731
  clearTimeout(session._leaveGraceTimer);
720
- if (session._restartTimer) {
721
- clearTimeout(session._restartTimer);
722
- session._restartTimer = undefined;
723
- }
724
732
  // Kill claude process if running — remove listeners first to prevent the
725
733
  // exit handler from triggering an auto-restart on a deleted session.
726
734
  // Wait for the process to fully exit before worktree cleanup so we don't
@@ -824,10 +832,12 @@ export class SessionManager {
824
832
  }
825
833
  onSystemInit(cp, session, model) {
826
834
  session.claudeSessionId = cp.getSessionId();
835
+ const previousModel = session._lastReportedModel;
827
836
  session._lastReportedModel = model;
828
- // Always broadcast this is the single "session is ready" notification.
829
- // The text includes the model so the user knows which model is active.
830
- this.broadcastAndHistory(session, { type: 'system_message', subtype: 'init', text: `Model: ${model}`, model });
837
+ // Only show the model message on first init or when the model changes.
838
+ if (!previousModel || previousModel !== model) {
839
+ this.broadcastAndHistory(session, { type: 'system_message', subtype: 'init', text: `Model: ${model}`, model });
840
+ }
831
841
  }
832
842
  onTextEvent(session, sessionId, text) {
833
843
  this.broadcastAndHistory(session, { type: 'output', data: text });
@@ -924,17 +934,17 @@ export class SessionManager {
924
934
  this.addToHistory(session, retryMsg);
925
935
  this.broadcast(session, retryMsg);
926
936
  console.log(`[api-retry] session=${sessionId} attempt=${attempt}/${MAX_API_RETRIES} delay=${delay}ms error=${result.slice(0, 200)}`);
927
- if (session._apiRetry.timer)
928
- clearTimeout(session._apiRetry.timer);
937
+ // Delegate timer management to the coordinator. The coordinator ties
938
+ // the retry to the current process generation — if the process restarts
939
+ // or stops before the timer fires, the retry is silently dropped.
929
940
  session._apiRetry.scheduled = true;
930
- session._apiRetry.timer = setTimeout(() => {
931
- session._apiRetry.timer = undefined;
941
+ session.coordinator.scheduleApiRetry(delay, () => {
932
942
  session._apiRetry.scheduled = false;
933
943
  if (!session.claudeProcess?.isAlive() || session._stoppedByUser)
934
944
  return;
935
945
  console.log(`[api-retry] resending message for session=${sessionId} attempt=${attempt}`);
936
946
  session.claudeProcess.sendMessage(session._lastUserInput);
937
- }, delay);
947
+ });
938
948
  return true;
939
949
  }
940
950
  // All retries exhausted
@@ -956,6 +966,7 @@ export class SessionManager {
956
966
  finalizeResult(session, sessionId, result, isError) {
957
967
  session._apiRetry.count = 0;
958
968
  session._apiRetry.scheduled = false;
969
+ session.coordinator.cancelApiRetry();
959
970
  session._lastUserInput = undefined;
960
971
  session._lastUserInputAt = undefined;
961
972
  if (isError) {
@@ -1005,10 +1016,12 @@ export class SessionManager {
1005
1016
  session._lastActivityAt = Date.now();
1006
1017
  // Reset stopped-by-user flag so idle-reaped sessions can auto-start
1007
1018
  session._stoppedByUser = false;
1019
+ session.coordinator.clearUserStopped();
1008
1020
  // --- Phase 1: ensure process is alive ---
1009
1021
  if (!session.claudeProcess?.isAlive()) {
1010
1022
  // Race guard: prevent concurrent startClaude calls when multiple sendInput
1011
- // requests arrive for an inactive session
1023
+ // requests arrive for an inactive session. The coordinator's requestStart
1024
+ // mutex handles this for async paths; _isStarting guards the sync path.
1012
1025
  if (session._isStarting)
1013
1026
  return;
1014
1027
  session._isStarting = true;
@@ -1086,25 +1099,18 @@ export class SessionManager {
1086
1099
  return false;
1087
1100
  if (session.provider === provider)
1088
1101
  return true;
1089
- session.provider = provider;
1090
- session.claudeSessionId = null;
1091
- // Clear any pending restart timer from a prior crash to prevent a stale
1092
- // timer from spawning a second process after we restart below.
1093
- if (session._restartTimer) {
1094
- clearTimeout(session._restartTimer);
1095
- session._restartTimer = undefined;
1096
- }
1097
- this.persistToDiskDebounced();
1098
1102
  if (session.claudeProcess?.isAlive()) {
1099
- // Use stopClaudeAndWait to ensure the old process fully exits before
1100
- // spawning a new one — avoids concurrent processes in the same worktree.
1101
- void this.stopClaudeAndWait(sessionId).then(() => {
1102
- if (this.sessions.has(sessionId)) {
1103
- session._stoppedByUser = false;
1104
- this.startClaude(sessionId);
1105
- }
1103
+ void session.coordinator.requestReconfigure(() => {
1104
+ session.provider = provider;
1105
+ session.claudeSessionId = null;
1106
+ this.persistToDiskDebounced();
1106
1107
  });
1107
1108
  }
1109
+ else {
1110
+ session.provider = provider;
1111
+ session.claudeSessionId = null;
1112
+ this.persistToDiskDebounced();
1113
+ }
1108
1114
  return true;
1109
1115
  }
1110
1116
  /** Update the model for a session and restart Claude with the new model. */
@@ -1112,23 +1118,20 @@ export class SessionManager {
1112
1118
  const session = this.sessions.get(sessionId);
1113
1119
  if (!session)
1114
1120
  return false;
1115
- session.model = model || undefined;
1116
- // Clear any pending restart timer from a prior crash to prevent a stale
1117
- // timer from spawning a second process after we restart below.
1118
- if (session._restartTimer) {
1119
- clearTimeout(session._restartTimer);
1120
- session._restartTimer = undefined;
1121
+ const newModel = model || undefined;
1122
+ if (session.model === newModel)
1123
+ return true;
1124
+ // When the session had no model set (e.g. just created), simply assign it
1125
+ // without reconfiguring — the running process already defaults to this model
1126
+ // and killing it mid-turn causes the first user message to be lost.
1127
+ if (!session.model || !session.claudeProcess?.isAlive()) {
1128
+ session.model = newModel;
1129
+ this.persistToDiskDebounced();
1121
1130
  }
1122
- this.persistToDiskDebounced();
1123
- // Restart Claude with the new model if it's running.
1124
- // Use stopClaudeAndWait to ensure the old process fully exits before
1125
- // spawning a new one — avoids concurrent processes in the same worktree.
1126
- if (session.claudeProcess?.isAlive()) {
1127
- void this.stopClaudeAndWait(sessionId).then(() => {
1128
- if (this.sessions.has(sessionId)) {
1129
- session._stoppedByUser = false;
1130
- this.startClaude(sessionId);
1131
- }
1131
+ else {
1132
+ void session.coordinator.requestReconfigure(() => {
1133
+ session.model = newModel;
1134
+ this.persistToDiskDebounced();
1132
1135
  });
1133
1136
  }
1134
1137
  return true;
@@ -1139,14 +1142,6 @@ export class SessionManager {
1139
1142
  if (!session)
1140
1143
  return false;
1141
1144
  const previousMode = session.permissionMode;
1142
- session.permissionMode = permissionMode;
1143
- // Clear any pending restart timer from a prior crash to prevent a stale
1144
- // timer from spawning a second process after we restart below.
1145
- if (session._restartTimer) {
1146
- clearTimeout(session._restartTimer);
1147
- session._restartTimer = undefined;
1148
- }
1149
- this.persistToDiskDebounced();
1150
1145
  // Audit log for dangerous mode changes
1151
1146
  if (permissionMode === 'bypassPermissions') {
1152
1147
  console.warn(`[security] Session ${sessionId} ("${session.name}") activated bypassPermissions mode (was: ${previousMode ?? 'default'})`);
@@ -1156,17 +1151,16 @@ export class SessionManager {
1156
1151
  const sysMsg = { type: 'system_message', subtype: 'notification', text: `Permission mode changed to: ${modeLabel}` };
1157
1152
  this.addToHistory(session, sysMsg);
1158
1153
  this.broadcast(session, sysMsg);
1159
- // Restart Claude with the new permission mode if it's running.
1160
- // Use stopClaudeAndWait to ensure the old process fully exits before
1161
- // spawning a new one — avoids concurrent processes in the same worktree.
1162
1154
  if (session.claudeProcess?.isAlive()) {
1163
- void this.stopClaudeAndWait(sessionId).then(() => {
1164
- if (this.sessions.has(sessionId)) {
1165
- session._stoppedByUser = false;
1166
- this.startClaude(sessionId);
1167
- }
1155
+ void session.coordinator.requestReconfigure(() => {
1156
+ session.permissionMode = permissionMode;
1157
+ this.persistToDiskDebounced();
1168
1158
  });
1169
1159
  }
1160
+ else {
1161
+ session.permissionMode = permissionMode;
1162
+ this.persistToDiskDebounced();
1163
+ }
1170
1164
  return true;
1171
1165
  }
1172
1166
  /** Stop the Claude process for a session. Delegates to SessionLifecycle. */
@@ -1384,12 +1378,7 @@ export class SessionManager {
1384
1378
  for (const session of this.sessions.values()) {
1385
1379
  if (session.claudeProcess?.isAlive()) {
1386
1380
  session._stoppedByUser = true;
1387
- if (session._restartTimer) {
1388
- clearTimeout(session._restartTimer);
1389
- session._restartTimer = undefined;
1390
- }
1391
- if (session._apiRetry?.timer)
1392
- clearTimeout(session._apiRetry.timer);
1381
+ session.coordinator.teardown();
1393
1382
  const cp = session.claudeProcess;
1394
1383
  cp.removeAllListeners();
1395
1384
  exitPromises.push(cp.waitForExit());