codekin 0.6.4 → 0.7.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 (86) hide show
  1. package/README.md +8 -5
  2. package/bin/codekin.mjs +69 -6
  3. package/dist/assets/index-CLuQVRRb.css +1 -0
  4. package/dist/assets/index-JVnFWiSw.js +185 -0
  5. package/dist/index.html +2 -2
  6. package/package.json +6 -4
  7. package/server/dist/anthropic-models.d.ts +40 -0
  8. package/server/dist/anthropic-models.js +212 -0
  9. package/server/dist/anthropic-models.js.map +1 -0
  10. package/server/dist/claude-process.d.ts +32 -3
  11. package/server/dist/claude-process.js +129 -9
  12. package/server/dist/claude-process.js.map +1 -1
  13. package/server/dist/codex-process.d.ts +147 -0
  14. package/server/dist/codex-process.js +741 -0
  15. package/server/dist/codex-process.js.map +1 -0
  16. package/server/dist/coding-process.d.ts +16 -4
  17. package/server/dist/coding-process.js +10 -0
  18. package/server/dist/coding-process.js.map +1 -1
  19. package/server/dist/commit-event-handler.d.ts +14 -1
  20. package/server/dist/commit-event-handler.js +40 -8
  21. package/server/dist/commit-event-handler.js.map +1 -1
  22. package/server/dist/config.d.ts +25 -0
  23. package/server/dist/config.js +42 -0
  24. package/server/dist/config.js.map +1 -1
  25. package/server/dist/opencode-process.d.ts +142 -5
  26. package/server/dist/opencode-process.js +664 -84
  27. package/server/dist/opencode-process.js.map +1 -1
  28. package/server/dist/orchestrator-children.d.ts +94 -7
  29. package/server/dist/orchestrator-children.js +375 -65
  30. package/server/dist/orchestrator-children.js.map +1 -1
  31. package/server/dist/orchestrator-manager.d.ts +10 -0
  32. package/server/dist/orchestrator-manager.js +70 -18
  33. package/server/dist/orchestrator-manager.js.map +1 -1
  34. package/server/dist/orchestrator-monitor.d.ts +7 -1
  35. package/server/dist/orchestrator-monitor.js +62 -19
  36. package/server/dist/orchestrator-monitor.js.map +1 -1
  37. package/server/dist/orchestrator-notify.d.ts +42 -0
  38. package/server/dist/orchestrator-notify.js +42 -0
  39. package/server/dist/orchestrator-notify.js.map +1 -0
  40. package/server/dist/orchestrator-outbox.d.ts +48 -0
  41. package/server/dist/orchestrator-outbox.js +154 -0
  42. package/server/dist/orchestrator-outbox.js.map +1 -0
  43. package/server/dist/orchestrator-session-router.js +43 -1
  44. package/server/dist/orchestrator-session-router.js.map +1 -1
  45. package/server/dist/prompt-router.d.ts +22 -1
  46. package/server/dist/prompt-router.js +94 -11
  47. package/server/dist/prompt-router.js.map +1 -1
  48. package/server/dist/session-archive.js +11 -1
  49. package/server/dist/session-archive.js.map +1 -1
  50. package/server/dist/session-lifecycle.d.ts +1 -0
  51. package/server/dist/session-lifecycle.js +37 -0
  52. package/server/dist/session-lifecycle.js.map +1 -1
  53. package/server/dist/session-manager.d.ts +49 -2
  54. package/server/dist/session-manager.js +221 -33
  55. package/server/dist/session-manager.js.map +1 -1
  56. package/server/dist/session-naming.d.ts +4 -0
  57. package/server/dist/session-naming.js +26 -5
  58. package/server/dist/session-naming.js.map +1 -1
  59. package/server/dist/session-routes.js +42 -2
  60. package/server/dist/session-routes.js.map +1 -1
  61. package/server/dist/stepflow-handler.js +2 -2
  62. package/server/dist/stepflow-handler.js.map +1 -1
  63. package/server/dist/tsconfig.tsbuildinfo +1 -1
  64. package/server/dist/types.d.ts +24 -3
  65. package/server/dist/types.js +1 -9
  66. package/server/dist/types.js.map +1 -1
  67. package/server/dist/upload-routes.d.ts +7 -0
  68. package/server/dist/upload-routes.js +85 -28
  69. package/server/dist/upload-routes.js.map +1 -1
  70. package/server/dist/webhook-handler.js +3 -3
  71. package/server/dist/webhook-handler.js.map +1 -1
  72. package/server/dist/workflow-config.d.ts +2 -2
  73. package/server/dist/workflow-engine.d.ts +20 -0
  74. package/server/dist/workflow-engine.js +52 -15
  75. package/server/dist/workflow-engine.js.map +1 -1
  76. package/server/dist/workflow-loader.d.ts +5 -5
  77. package/server/dist/workflow-loader.js +169 -54
  78. package/server/dist/workflow-loader.js.map +1 -1
  79. package/server/dist/workflow-routes.js +36 -2
  80. package/server/dist/workflow-routes.js.map +1 -1
  81. package/server/dist/ws-message-handler.js +24 -9
  82. package/server/dist/ws-message-handler.js.map +1 -1
  83. package/server/dist/ws-server.js +53 -11
  84. package/server/dist/ws-server.js.map +1 -1
  85. package/dist/assets/index-BRB_Ksyk.js +0 -182
  86. package/dist/assets/index-Q2WSVlHo.css +0 -1
@@ -48,6 +48,27 @@ const IDLE_SESSION_TIMEOUT_MS = 30 * 60 * 1000; // 30 minutes
48
48
  const IDLE_CHECK_INTERVAL_MS = 5 * 60 * 1000; // 5 minutes
49
49
  /** How old a dead session must be before automatic pruning (7 days). */
50
50
  const STALE_SESSION_AGE_MS = 7 * 24 * 60 * 60 * 1000;
51
+ /**
52
+ * How old a dead headless session (webhook/workflow/stepflow/agent) must be
53
+ * before automatic pruning. Longer than the interactive threshold because
54
+ * automation pipelines may legitimately leave session metadata around between
55
+ * runs. Orchestrator sessions are exempt (they're meant to be long-lived).
56
+ */
57
+ const HEADLESS_STALE_AGE_MS = 30 * 24 * 60 * 60 * 1000;
58
+ /**
59
+ * Hard cap on the number of completed Claude turns a single headless session
60
+ * may resume across before its claudeSessionId is reset. This bounds the
61
+ * cache-read cost of long-lived background sessions (the orchestrator session
62
+ * in particular accumulates context every poll if not capped). When tripped,
63
+ * the next process spawn starts a fresh Claude conversation.
64
+ */
65
+ const MAX_HEADLESS_CONVERSATION_TURNS = 100;
66
+ /**
67
+ * How long the circuit breaker pauses background activity after a Claude
68
+ * `rate_limit_event` arrives. Picked so a single rate-limit hit doesn't keep
69
+ * generating new traffic until the user notices.
70
+ */
71
+ const RATE_LIMIT_COOLDOWN_MS = 60 * 60 * 1000;
51
72
  /** Number of Claude turns before showing a context compression warning. */
52
73
  const CONTEXT_WARNING_TURN_THRESHOLD = 15;
53
74
  /** Second warning at this threshold. */
@@ -102,6 +123,13 @@ export class SessionManager {
102
123
  sessionLifecycle;
103
124
  /** Interval handle for the idle session reaper. */
104
125
  _idleReaperInterval = null;
126
+ /**
127
+ * Timestamp (epoch ms) at which the rate-limit circuit breaker expires.
128
+ * Background pollers (e.g. the orchestrator monitor) check {@link isRateLimited}
129
+ * before doing API work, so a single rate-limit hit doesn't generate more
130
+ * traffic until either the cooldown elapses or the user clears it.
131
+ */
132
+ _rateLimitedUntil = 0;
105
133
  constructor() {
106
134
  this.archive = new SessionArchive();
107
135
  this._approvalManager = new ApprovalManager();
@@ -114,6 +142,7 @@ export class SessionManager {
114
142
  globalBroadcast: (msg) => this._globalBroadcast?.(msg),
115
143
  approvalManager: this._approvalManager,
116
144
  promptListeners: this._promptListeners,
145
+ onPlanApproved: (session) => this.onPlanApproved(session),
117
146
  });
118
147
  // Use a local ref so the getter closures capture `this` (the SessionManager instance)
119
148
  // eslint-disable-next-line @typescript-eslint/no-this-alias
@@ -140,12 +169,14 @@ export class SessionManager {
140
169
  onToolDoneEvent: (session, toolName, summary) => this.onToolDoneEvent(session, toolName, summary),
141
170
  handleClaudeResult: (session, sessionId, result, isError) => this.handleClaudeResult(session, sessionId, result, isError),
142
171
  buildSessionContext: (session) => this.buildSessionContext(session),
172
+ onRateLimitEvent: (session, sessionId, event) => this.onRateLimitEvent(session, sessionId, event),
143
173
  });
144
174
  this.sessionPersistence = new SessionPersistence(this.sessions);
145
175
  this.sessionNaming = new SessionNaming({
146
176
  getSession: (id) => this.sessions.get(id),
147
177
  hasSession: (id) => this.sessions.has(id),
148
178
  rename: (sessionId, newName) => this.rename(sessionId, newName),
179
+ isRateLimited: () => this.isRateLimited(),
149
180
  });
150
181
  this.sessionPersistence.restoreFromDisk();
151
182
  // Wire PlanManager events and coordinators for restored sessions
@@ -190,26 +221,84 @@ export class SessionManager {
190
221
  this._globalBroadcast?.({ type: 'sessions_updated' });
191
222
  }
192
223
  }
193
- // Prune stale sessions: no process, no clients, older than STALE_SESSION_AGE_MS
194
- // Headless sessions are exempt from stale pruning they are long-lived by design.
224
+ // Prune stale sessions: no process, no clients, older than the relevant
225
+ // age threshold. Interactive sessions and most headless sessions are
226
+ // pruned (with different thresholds). The orchestrator session is the
227
+ // only true singleton — it's exempt from age-based prune because its
228
+ // identity is recreated by the orchestrator manager if missing, and
229
+ // pruning it would silently drop accumulated memory.
195
230
  const staleIds = [];
196
231
  for (const session of this.sessions.values()) {
197
- if (isHeadlessSession(session))
198
- continue;
199
232
  if (session.claudeProcess?.isAlive())
200
233
  continue;
201
234
  if (session.clients.size > 0)
202
235
  continue;
236
+ if (session.source === 'orchestrator')
237
+ continue;
238
+ const headless = isHeadlessSession(session);
239
+ const threshold = headless ? HEADLESS_STALE_AGE_MS : STALE_SESSION_AGE_MS;
203
240
  const ageMs = now - new Date(session.created).getTime();
204
- if (ageMs > STALE_SESSION_AGE_MS) {
241
+ if (ageMs > threshold) {
205
242
  staleIds.push(session.id);
206
243
  }
207
244
  }
208
245
  for (const id of staleIds) {
209
- console.log(`[idle-reaper] pruning stale session=${id} (age > ${STALE_SESSION_AGE_MS / 86_400_000}d)`);
246
+ const s = this.sessions.get(id);
247
+ const days = s ? Math.round((now - new Date(s.created).getTime()) / 86_400_000) : 0;
248
+ console.log(`[idle-reaper] pruning stale session=${id} source=${s?.source ?? '?'} age=${days}d`);
210
249
  this.delete(id);
211
250
  }
212
251
  }
252
+ /**
253
+ * Whether the rate-limit circuit breaker is currently open.
254
+ * Background pollers (orchestrator monitor, future cron triggers) should
255
+ * check this before doing any Claude API work to avoid worsening a quota
256
+ * situation the user has already hit.
257
+ */
258
+ isRateLimited() {
259
+ return Date.now() < this._rateLimitedUntil;
260
+ }
261
+ /**
262
+ * Handle a `rate_limit_event` from the Claude CLI stream.
263
+ *
264
+ * The CLI emits this event for several distinct situations — observed in
265
+ * practice with `overageStatus` either absent (informational status update,
266
+ * e.g. emitted around process startup / shortly after each turn) or set
267
+ * to a value like 'rejected' (the request was blocked by Anthropic's
268
+ * quota enforcement). Only the second case warrants tripping the circuit
269
+ * breaker: tripping on the informational variant fires false alarms even
270
+ * when the user is at 8% session / 14% weekly usage.
271
+ *
272
+ * Until we have an authoritative list of overageStatus values, treat
273
+ * 'rejected' as the only definitive "blocked" signal and log everything
274
+ * else for diagnostics.
275
+ */
276
+ onRateLimitEvent(session, sessionId, event) {
277
+ const overageStatus = typeof event.overageStatus === 'string' ? event.overageStatus : null;
278
+ // Always log so we can see what payloads the CLI actually sends —
279
+ // helpful for expanding the trigger list if we learn about more
280
+ // blocking statuses (e.g. 'exceeded'). Truncate to keep the line short.
281
+ console.log(`[rate-limit-event] session=${sessionId} overageStatus=${overageStatus ?? '(none)'} payload=${JSON.stringify(event).slice(0, 300)}`);
282
+ if (overageStatus !== 'rejected') {
283
+ // Informational / status-only event — don't engage the breaker.
284
+ return;
285
+ }
286
+ const now = Date.now();
287
+ const wasAlreadyTripped = now < this._rateLimitedUntil;
288
+ this._rateLimitedUntil = now + RATE_LIMIT_COOLDOWN_MS;
289
+ const minutes = Math.round(RATE_LIMIT_COOLDOWN_MS / 60_000);
290
+ console.warn(`[rate-limit] session=${sessionId} overageStatus=rejected — circuit breaker engaged for ${minutes}min`);
291
+ if (wasAlreadyTripped)
292
+ return;
293
+ const msg = {
294
+ type: 'system_message',
295
+ subtype: 'notification',
296
+ text: `Claude rejected a request with rate-limit overage. Codekin will skip background polls (orchestrator monitor) for the next ${minutes} min as a local backoff. This is not your Claude quota reset — check your Anthropic usage page for the actual 5-hour session and weekly limit windows.`,
297
+ };
298
+ this.addToHistory(session, msg);
299
+ this.broadcast(session, msg);
300
+ this._globalBroadcast?.(msg);
301
+ }
213
302
  // ---------------------------------------------------------------------------
214
303
  // Approval — direct accessor (callers use sessions.approvalManager.xxx)
215
304
  // ---------------------------------------------------------------------------
@@ -316,16 +405,21 @@ export class SessionManager {
316
405
  if (!session)
317
406
  return null;
318
407
  try {
319
- // Resolve the actual git repo root — workingDir may be a subdirectory
408
+ // Resolve the canonical (main) repo root.
409
+ // --git-common-dir points to the main repo's .git even when called from
410
+ // inside a worktree, so its parent is always the main repo working tree.
411
+ // (Plain --show-toplevel would return the *current* worktree path,
412
+ // causing nested worktrees and a separate sidebar group bug.)
320
413
  const env = cleanGitEnv();
321
- const { stdout: repoRootRaw } = await execFileAsync('git', ['rev-parse', '--show-toplevel'], {
322
- cwd: workingDir,
323
- env,
324
- timeout: 5000,
325
- });
326
- const repoRoot = repoRootRaw.trim();
327
- if (!repoRoot || !path.isAbsolute(repoRoot)) {
328
- console.error(`[worktree] Invalid repo root resolved: "${repoRoot}"`);
414
+ const { stdout: commonDirRaw } = await execFileAsync('git', ['rev-parse', '--path-format=absolute', '--git-common-dir'], { cwd: workingDir, env, timeout: 5000 });
415
+ const commonDir = commonDirRaw.trim();
416
+ if (!commonDir || !path.isAbsolute(commonDir)) {
417
+ console.error(`[worktree] Invalid git common dir resolved: "${commonDir}"`);
418
+ return null;
419
+ }
420
+ const repoRoot = path.dirname(commonDir);
421
+ if (!path.isAbsolute(repoRoot)) {
422
+ console.error(`[worktree] Invalid repo root derived from common dir: "${repoRoot}"`);
329
423
  return null;
330
424
  }
331
425
  const shortId = sessionId.slice(0, 8);
@@ -588,6 +682,11 @@ export class SessionManager {
588
682
  /** Register a listener called when any session emits a prompt (permission request or question). */
589
683
  onSessionPrompt(listener) {
590
684
  this._promptListeners.push(listener);
685
+ return () => {
686
+ const idx = this._promptListeners.indexOf(listener);
687
+ if (idx >= 0)
688
+ this._promptListeners.splice(idx, 1);
689
+ };
591
690
  }
592
691
  /** Register a listener called when any session completes a turn (result event). */
593
692
  onSessionResult(listener) {
@@ -696,9 +795,23 @@ export class SessionManager {
696
795
  session._leaveGraceTimer = null;
697
796
  // Re-check: if still no clients after grace period, auto-deny
698
797
  if (session.clients.size === 0) {
798
+ // Orchestrator-managed child sessions are NOT auto-denied: the
799
+ // orchestrator is notified of pending prompts (onSessionPrompt)
800
+ // and can respond via the API. A user briefly opening and closing
801
+ // the child's tab must not kill its pending approvals. The 5-min
802
+ // approval timeout in PromptRouter remains the backstop.
803
+ if (session.source === 'agent') {
804
+ const pending = session.pendingControlRequests.size + session.pendingToolApprovals.size;
805
+ if (pending > 0) {
806
+ console.log(`[session] last client left agent session, keeping ${pending} pending prompt(s) for orchestrator`);
807
+ }
808
+ return;
809
+ }
810
+ const deniedTools = [];
699
811
  if (session.pendingControlRequests.size > 0) {
700
812
  console.log(`[session] last client left, auto-denying ${session.pendingControlRequests.size} pending control requests`);
701
- for (const [requestId] of session.pendingControlRequests) {
813
+ for (const [requestId, pending] of session.pendingControlRequests) {
814
+ deniedTools.push(pending.toolName);
702
815
  session.claudeProcess?.sendControlResponse(requestId, 'deny');
703
816
  }
704
817
  session.pendingControlRequests.clear();
@@ -706,11 +819,21 @@ export class SessionManager {
706
819
  if (session.pendingToolApprovals.size > 0) {
707
820
  console.log(`[session] last client left, auto-denying ${session.pendingToolApprovals.size} pending tool approval(s)`);
708
821
  for (const [reqId, pending] of session.pendingToolApprovals) {
822
+ deniedTools.push(pending.toolName);
709
823
  pending.resolve({ allow: false, always: false });
710
824
  this.broadcast(session, { type: 'prompt_dismiss', requestId: reqId });
711
825
  }
712
826
  session.pendingToolApprovals.clear();
713
827
  }
828
+ // Record the auto-denial in history so a rejoining user can see
829
+ // why Claude stopped instead of being silently confused.
830
+ if (deniedTools.length > 0) {
831
+ this.addToHistory(session, {
832
+ type: 'system_message',
833
+ subtype: 'error',
834
+ text: `All clients disconnected — automatically denied ${deniedTools.length} pending approval request(s): ${[...new Set(deniedTools)].join(', ')}.`,
835
+ });
836
+ }
714
837
  }
715
838
  }, 10_000);
716
839
  }
@@ -869,6 +992,18 @@ export class SessionManager {
869
992
  session.isProcessing = false;
870
993
  session._claudeTurnCount++;
871
994
  this._globalBroadcast?.({ type: 'sessions_updated' });
995
+ // Headless conversation cap: long-lived background sessions (orchestrator,
996
+ // workflow, etc.) accumulate context across every resume, and cache-read
997
+ // tokens grow with that context. Once a headless session has gone past
998
+ // MAX_HEADLESS_CONVERSATION_TURNS, drop claudeSessionId so the next process
999
+ // spawn starts a fresh Claude conversation and the per-call cost resets.
1000
+ if (isHeadlessSession(session) &&
1001
+ session.claudeSessionId &&
1002
+ session._claudeTurnCount > MAX_HEADLESS_CONVERSATION_TURNS) {
1003
+ console.warn(`[headless-cap] session=${sessionId} source=${session.source} turns=${session._claudeTurnCount} > ${MAX_HEADLESS_CONVERSATION_TURNS} — clearing claudeSessionId so next spawn starts fresh`);
1004
+ session.claudeSessionId = null;
1005
+ session._claudeTurnCount = 0;
1006
+ }
872
1007
  // Attempt API retry for transient errors — returns true if a retry was scheduled
873
1008
  if (isError && this.handleApiRetry(session, sessionId, result)) {
874
1009
  return;
@@ -1121,10 +1256,10 @@ export class SessionManager {
1121
1256
  const newModel = model || undefined;
1122
1257
  if (session.model === newModel)
1123
1258
  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()) {
1259
+ // When no process is running, just assign the model directly.
1260
+ // When a process IS alive, always reconfigure (stop + restart) so the CLI
1261
+ // actually uses the new model even if session.model was previously unset.
1262
+ if (!session.claudeProcess?.isAlive()) {
1128
1263
  session.model = newModel;
1129
1264
  this.persistToDiskDebounced();
1130
1265
  }
@@ -1136,30 +1271,83 @@ export class SessionManager {
1136
1271
  }
1137
1272
  return true;
1138
1273
  }
1139
- /** Update the permission mode for a session and restart Claude with the new mode. */
1274
+ /**
1275
+ * Called by PromptRouter when the user approves a plan. Transitions the
1276
+ * session out of plan mode (plan → acceptEdits) WITHOUT restarting the
1277
+ * process — the CLI already exits plan mode itself when ExitPlanMode is
1278
+ * allowed, and a restart here would kill the implementation turn that is
1279
+ * just starting. Without this transition, every post-approval file edit
1280
+ * would prompt the user, and any later restart would re-spawn the CLI
1281
+ * with --permission-mode plan mid-implementation.
1282
+ */
1283
+ onPlanApproved(session) {
1284
+ if (session.permissionMode !== 'plan')
1285
+ return;
1286
+ const target = 'acceptEdits';
1287
+ // Best-effort: align the CLI's native mode in-place. The PreToolUse hook
1288
+ // is the actual permission gate, so a NACK here is harmless.
1289
+ void session.claudeProcess?.setPermissionMode?.(target);
1290
+ session.permissionMode = target;
1291
+ this.persistToDiskDebounced();
1292
+ this.applyPermissionModeBroadcast(session, target, 'Plan approved — permission mode changed to: acceptEdits');
1293
+ }
1294
+ /** Broadcast + persist a permission mode change as both a human-readable and structured message. */
1295
+ applyPermissionModeBroadcast(session, permissionMode, text) {
1296
+ this.broadcastAndHistory(session, { type: 'system_message', subtype: 'notification', text });
1297
+ this.broadcastAndHistory(session, { type: 'permission_mode_changed', permissionMode });
1298
+ }
1299
+ /**
1300
+ * Update the permission mode for a session. Prefers an in-place stream-json
1301
+ * control request (no restart, keeps in-flight turns and pending approvals
1302
+ * alive); falls back to a process restart when the provider doesn't support
1303
+ * runtime mode changes or the CLI rejects the request.
1304
+ */
1140
1305
  setPermissionMode(sessionId, permissionMode) {
1141
1306
  const session = this.sessions.get(sessionId);
1142
1307
  if (!session)
1143
1308
  return false;
1144
1309
  const previousMode = session.permissionMode;
1145
1310
  // Audit log for dangerous mode changes
1146
- if (permissionMode === 'bypassPermissions') {
1147
- console.warn(`[security] Session ${sessionId} ("${session.name}") activated bypassPermissions mode (was: ${previousMode ?? 'default'})`);
1311
+ if (permissionMode === 'bypassPermissions' || permissionMode === 'dangerouslySkipPermissions') {
1312
+ console.warn(`[security] Session ${sessionId} ("${session.name}") activated ${permissionMode} mode (was: ${previousMode ?? 'default'})`);
1148
1313
  }
1149
- // Emit a visible system message so all clients see the mode change
1150
1314
  const modeLabel = permissionMode === 'bypassPermissions' ? 'Bypass permissions (all tools auto-accepted)' : permissionMode;
1151
- const sysMsg = { type: 'system_message', subtype: 'notification', text: `Permission mode changed to: ${modeLabel}` };
1152
- this.addToHistory(session, sysMsg);
1153
- this.broadcast(session, sysMsg);
1315
+ // Apply the new mode to session state and notify clients. Called only
1316
+ // after the change actually took effect (in-place ACK, restart, or no
1317
+ // process running) so the UI never reports a mode that failed to apply.
1318
+ const apply = () => {
1319
+ session.permissionMode = permissionMode;
1320
+ // Keep PlanManager in sync with manual mode changes: entering plan mode
1321
+ // arms the ExitPlanMode approval gate (the CLI won't emit EnterPlanMode
1322
+ // when spawned directly in plan mode); leaving it clears plan state.
1323
+ if (permissionMode === 'plan') {
1324
+ session.planManager.onEnterPlanMode();
1325
+ }
1326
+ else if (previousMode === 'plan') {
1327
+ session.planManager.reset();
1328
+ }
1329
+ this.persistToDiskDebounced();
1330
+ this.applyPermissionModeBroadcast(session, permissionMode, `Permission mode changed to: ${modeLabel}`);
1331
+ };
1154
1332
  if (session.claudeProcess?.isAlive()) {
1155
- void session.coordinator.requestReconfigure(() => {
1156
- session.permissionMode = permissionMode;
1157
- this.persistToDiskDebounced();
1158
- });
1333
+ const inPlace = session.claudeProcess.setPermissionMode?.(permissionMode);
1334
+ if (inPlace) {
1335
+ void inPlace.then((ok) => {
1336
+ if (ok) {
1337
+ apply();
1338
+ }
1339
+ else {
1340
+ console.log(`[permission-mode] in-place change rejected, falling back to restart (mode=${permissionMode})`);
1341
+ void session.coordinator.requestReconfigure(apply);
1342
+ }
1343
+ });
1344
+ }
1345
+ else {
1346
+ void session.coordinator.requestReconfigure(apply);
1347
+ }
1159
1348
  }
1160
1349
  else {
1161
- session.permissionMode = permissionMode;
1162
- this.persistToDiskDebounced();
1350
+ apply();
1163
1351
  }
1164
1352
  return true;
1165
1353
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../session-manager.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,10 @@ export interface SessionNamingDeps {
12
12
  getSession(id: string): Session | undefined;
13
13
  hasSession(id: string): boolean;
14
14
  rename(sessionId: string, newName: string): boolean;
15
+ /** Whether the rate-limit circuit breaker is currently open. When true,
16
+ * naming is deferred — firing claude -p into a rate-limited account just
17
+ * hangs until the 30s timeout and worsens the quota situation. */
18
+ isRateLimited(): boolean;
15
19
  }
16
20
  export declare class SessionNaming {
17
21
  private deps;