aicodeman 0.9.11 → 0.9.13

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 (105) hide show
  1. package/README.md +6 -6
  2. package/README.zh-CN.md +6 -6
  3. package/dist/respawn-controller.d.ts.map +1 -1
  4. package/dist/respawn-controller.js +12 -0
  5. package/dist/respawn-controller.js.map +1 -1
  6. package/dist/session-auto-ops.d.ts +43 -1
  7. package/dist/session-auto-ops.d.ts.map +1 -1
  8. package/dist/session-auto-ops.js +162 -1
  9. package/dist/session-auto-ops.js.map +1 -1
  10. package/dist/session.d.ts +40 -4
  11. package/dist/session.d.ts.map +1 -1
  12. package/dist/session.js +84 -5
  13. package/dist/session.js.map +1 -1
  14. package/dist/types/session.d.ts +4 -0
  15. package/dist/types/session.d.ts.map +1 -1
  16. package/dist/types/session.js.map +1 -1
  17. package/dist/usage-limit-patterns.d.ts +48 -0
  18. package/dist/usage-limit-patterns.d.ts.map +1 -0
  19. package/dist/usage-limit-patterns.js +184 -0
  20. package/dist/usage-limit-patterns.js.map +1 -0
  21. package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
  22. package/dist/web/public/app.a23f8bf6.js +35 -0
  23. package/dist/web/public/app.a23f8bf6.js.br +0 -0
  24. package/dist/web/public/app.a23f8bf6.js.gz +0 -0
  25. package/dist/web/public/{constants.74211deb.js → constants.8fa1a65f.js} +4 -0
  26. package/dist/web/public/constants.8fa1a65f.js.br +0 -0
  27. package/dist/web/public/constants.8fa1a65f.js.gz +0 -0
  28. package/dist/web/public/image-input.0ea86695.js.gz +0 -0
  29. package/dist/web/public/index.html +25 -25
  30. package/dist/web/public/index.html.br +0 -0
  31. package/dist/web/public/index.html.gz +0 -0
  32. package/dist/web/public/input-cjk.b8686b5e.js.gz +0 -0
  33. package/dist/web/public/keyboard-accessory.bc753cc7.js.gz +0 -0
  34. package/dist/web/public/{mobile-handlers.d54d97d6.js → mobile-handlers.763a7439.js} +10 -2
  35. package/dist/web/public/mobile-handlers.763a7439.js.br +0 -0
  36. package/dist/web/public/mobile-handlers.763a7439.js.gz +0 -0
  37. package/dist/web/public/mobile.da662a7b.css +1 -0
  38. package/dist/web/public/mobile.da662a7b.css.br +0 -0
  39. package/dist/web/public/mobile.da662a7b.css.gz +0 -0
  40. package/dist/web/public/notification-manager.9c984ac2.js.gz +0 -0
  41. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  42. package/dist/web/public/panels-ui.6bb3169f.js.gz +0 -0
  43. package/dist/web/public/ralph-panel.6de2d0f8.js.gz +0 -0
  44. package/dist/web/public/ralph-wizard.13a1831e.js.gz +0 -0
  45. package/dist/web/public/respawn-ui.2d249da9.js.gz +0 -0
  46. package/dist/web/public/{session-ui.512816d8.js → session-ui.34f25fdf.js} +1 -1
  47. package/dist/web/public/session-ui.34f25fdf.js.br +0 -0
  48. package/dist/web/public/session-ui.34f25fdf.js.gz +0 -0
  49. package/dist/web/public/{settings-ui.21b009ca.js → settings-ui.de9ba1ae.js} +8 -8
  50. package/dist/web/public/settings-ui.de9ba1ae.js.br +0 -0
  51. package/dist/web/public/settings-ui.de9ba1ae.js.gz +0 -0
  52. package/dist/web/public/styles.3db29e83.css +1 -0
  53. package/dist/web/public/styles.3db29e83.css.br +0 -0
  54. package/dist/web/public/styles.3db29e83.css.gz +0 -0
  55. package/dist/web/public/subagent-windows.a366a4ad.js.gz +0 -0
  56. package/dist/web/public/sw.js.gz +0 -0
  57. package/dist/web/public/terminal-ui.0e930cb3.js.gz +0 -0
  58. package/dist/web/public/upload.html.gz +0 -0
  59. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  60. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  61. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  62. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  63. package/dist/web/public/vendor/xterm-zerolag-input.137ad9f0.js.gz +0 -0
  64. package/dist/web/public/vendor/xterm.css.gz +0 -0
  65. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  66. package/dist/web/public/voice-input.085e9e73.js.gz +0 -0
  67. package/dist/web/routes/session-routes.d.ts.map +1 -1
  68. package/dist/web/routes/session-routes.js +18 -1
  69. package/dist/web/routes/session-routes.js.map +1 -1
  70. package/dist/web/routes/ws-routes.d.ts.map +1 -1
  71. package/dist/web/routes/ws-routes.js +7 -0
  72. package/dist/web/routes/ws-routes.js.map +1 -1
  73. package/dist/web/schemas.d.ts +4 -0
  74. package/dist/web/schemas.d.ts.map +1 -1
  75. package/dist/web/schemas.js +4 -0
  76. package/dist/web/schemas.js.map +1 -1
  77. package/dist/web/server.d.ts.map +1 -1
  78. package/dist/web/server.js +6 -0
  79. package/dist/web/server.js.map +1 -1
  80. package/dist/web/session-listener-wiring.d.ts +11 -0
  81. package/dist/web/session-listener-wiring.d.ts.map +1 -1
  82. package/dist/web/session-listener-wiring.js +25 -0
  83. package/dist/web/session-listener-wiring.js.map +1 -1
  84. package/dist/web/sse-events.d.ts +9 -0
  85. package/dist/web/sse-events.d.ts.map +1 -1
  86. package/dist/web/sse-events.js +9 -0
  87. package/dist/web/sse-events.js.map +1 -1
  88. package/package.json +1 -1
  89. package/dist/web/public/app.a8663e79.js +0 -35
  90. package/dist/web/public/app.a8663e79.js.br +0 -0
  91. package/dist/web/public/app.a8663e79.js.gz +0 -0
  92. package/dist/web/public/constants.74211deb.js.br +0 -0
  93. package/dist/web/public/constants.74211deb.js.gz +0 -0
  94. package/dist/web/public/mobile-handlers.d54d97d6.js.br +0 -0
  95. package/dist/web/public/mobile-handlers.d54d97d6.js.gz +0 -0
  96. package/dist/web/public/mobile.959f6fe2.css +0 -1
  97. package/dist/web/public/mobile.959f6fe2.css.br +0 -0
  98. package/dist/web/public/mobile.959f6fe2.css.gz +0 -0
  99. package/dist/web/public/session-ui.512816d8.js.br +0 -0
  100. package/dist/web/public/session-ui.512816d8.js.gz +0 -0
  101. package/dist/web/public/settings-ui.21b009ca.js.br +0 -0
  102. package/dist/web/public/settings-ui.21b009ca.js.gz +0 -0
  103. package/dist/web/public/styles.f3a0faa3.css +0 -1
  104. package/dist/web/public/styles.f3a0faa3.css.br +0 -0
  105. package/dist/web/public/styles.f3a0faa3.css.gz +0 -0
@@ -1,14 +1,24 @@
1
1
  /**
2
- * @fileoverview Auto-compact and auto-clear automation for Session.
2
+ * @fileoverview Auto-compact, auto-clear, and auto-resume automation for Session.
3
3
  *
4
4
  * Monitors token counts and triggers /compact or /clear commands when
5
5
  * configurable thresholds are reached. Waits for Claude to be idle
6
6
  * before sending commands, with retry logic and mutual exclusion
7
7
  * (compact and clear never run simultaneously).
8
8
  *
9
+ * Also implements auto-resume on usage limit ("token pause" control):
10
+ * when enabled and Claude stops on a usage-limit message ("5-hour limit
11
+ * reached ∙ resets 8pm" and friends — see usage-limit-patterns.ts), a timer
12
+ * is armed for the parsed reset time plus a safety buffer, then Escape
13
+ * (dismisses the rate-limit options dialog if open) and a "continue" prompt
14
+ * are sent so work resumes automatically. If the session is still limited,
15
+ * the fresh limit message re-arms the scheduler — that retry loop is the
16
+ * safety net for clock skew and parse imprecision.
17
+ *
9
18
  * @module session-auto-ops
10
19
  */
11
20
  import { EventEmitter } from 'node:events';
21
+ import { detectUsageLimitPause } from './usage-limit-patterns.js';
12
22
  // ============================================================================
13
23
  // Timing Constants
14
24
  // ============================================================================
@@ -56,6 +66,21 @@ async function executeWhenIdle(action, isActive, isWorking, isStopped, retryMs,
56
66
  }
57
67
  }
58
68
  }
69
+ // ============================================================================
70
+ // Auto-resume (usage-limit pause) constants
71
+ // ============================================================================
72
+ /** Safety buffer after the stated reset time before resuming (2 minutes) */
73
+ const RESUME_BUFFER_MS = 2 * 60_000;
74
+ /** Minimum delay before an overdue resume fires (lets output settle) */
75
+ const RESUME_MIN_DELAY_MS = 5_000;
76
+ /** Retry interval when the reset time is stale/past (5 minutes) */
77
+ const RESUME_RETRY_MS = 5 * 60_000;
78
+ /** Re-detections scheduling within this window of the current schedule are ignored */
79
+ const RESUME_DEDUP_TOLERANCE_MS = 90_000;
80
+ /** Delay between Escape (dialog dismiss) and the resume prompt */
81
+ const RESUME_ESC_DELAY_MS = 600;
82
+ /** Prompt sent to resume work after the limit resets */
83
+ const RESUME_PROMPT = 'continue';
59
84
  /** Minimum valid threshold for auto-clear/compact (1000 tokens) */
60
85
  const MIN_AUTO_THRESHOLD = 1000;
61
86
  /** Maximum valid threshold for auto-clear/compact (500k tokens) */
@@ -86,6 +111,15 @@ export class SessionAutoOps extends EventEmitter {
86
111
  _autoClearEnabled = false;
87
112
  _isClearing = false;
88
113
  _autoClearTimer = null;
114
+ // Auto-resume (usage-limit pause) state
115
+ _autoResumeEnabled = false;
116
+ _autoResumeTimer = null;
117
+ /** Esc→continue gap timer; detections must NOT cancel a resume in flight */
118
+ _resumeFollowupTimer = null;
119
+ /** When the scheduled resume fires (epoch ms), null when not armed */
120
+ _autoResumeAt = null;
121
+ _limitPaused = false;
122
+ _resumeAttempts = 0;
89
123
  callbacks;
90
124
  constructor(callbacks, config) {
91
125
  super();
@@ -148,6 +182,132 @@ export class SessionAutoOps extends EventEmitter {
148
182
  }
149
183
  }
150
184
  // ============================================================================
185
+ // Auto-resume (usage-limit pause) — getters/setters
186
+ // ============================================================================
187
+ get autoResumeEnabled() {
188
+ return this._autoResumeEnabled;
189
+ }
190
+ /** When the scheduled resume fires (epoch ms), or null when not armed. */
191
+ get autoResumeAt() {
192
+ return this._autoResumeAt;
193
+ }
194
+ /** True while the session is believed to be paused on a usage limit. */
195
+ get isLimitPaused() {
196
+ return this._limitPaused;
197
+ }
198
+ setAutoResume(enabled) {
199
+ this._autoResumeEnabled = enabled;
200
+ if (!enabled) {
201
+ this._cancelAutoResume('disabled');
202
+ }
203
+ }
204
+ /**
205
+ * Restore auto-resume state after a Codeman restart. A persisted pending
206
+ * schedule is re-armed; an overdue one fires shortly after boot (the limit
207
+ * footer won't reprint on its own, so without this the pause would stall).
208
+ */
209
+ restoreAutoResume(enabled, resumeAt) {
210
+ this._autoResumeEnabled = enabled;
211
+ if (!enabled || !resumeAt)
212
+ return;
213
+ const now = Date.now();
214
+ this._scheduleResume(Math.max(resumeAt, now + RESUME_MIN_DELAY_MS), resumeAt, 'restored');
215
+ }
216
+ // ============================================================================
217
+ // Auto-resume — detection and scheduling
218
+ // ============================================================================
219
+ /**
220
+ * Scan cleaned terminal output for a usage-limit pause message and (re)arm
221
+ * the resume schedule. Called from the session's throttled parser path.
222
+ */
223
+ processCleanData(cleanData) {
224
+ if (!this._autoResumeEnabled || this.callbacks.isStopped())
225
+ return;
226
+ // A resume is in flight (Esc sent, continue pending): output from our own
227
+ // Escape can redraw the stale limit footer — don't let it re-arm and
228
+ // cancel the continue. Fresh evidence arrives after the prompt is sent.
229
+ if (this._resumeFollowupTimer)
230
+ return;
231
+ const detection = detectUsageLimitPause(cleanData);
232
+ if (!detection)
233
+ return;
234
+ const now = Date.now();
235
+ const overdue = detection.resetAt <= now;
236
+ const fireAt = overdue
237
+ ? now + RESUME_RETRY_MS // stale reset time → gentle retry loop
238
+ : Math.max(detection.resetAt + RESUME_BUFFER_MS, now + RESUME_MIN_DELAY_MS);
239
+ if (this._autoResumeTimer && this._autoResumeAt !== null) {
240
+ // Already armed: the footer redraws constantly, so ignore re-detections
241
+ // that land on (or later than) the current schedule. Only an EARLIER
242
+ // parsed time replaces it — an overdue retry never preempts a real one.
243
+ if (overdue || fireAt >= this._autoResumeAt - RESUME_DEDUP_TOLERANCE_MS)
244
+ return;
245
+ }
246
+ this._scheduleResume(fireAt, detection.resetAt, detection.matched);
247
+ }
248
+ /**
249
+ * Claude started working — the limit is lifted (or the user resumed
250
+ * manually), so any pending auto-resume is obsolete.
251
+ */
252
+ notifyWorking() {
253
+ this._resumeAttempts = 0;
254
+ if (!this._limitPaused && !this._autoResumeTimer && !this._resumeFollowupTimer)
255
+ return;
256
+ this._cancelAutoResume('working');
257
+ }
258
+ _scheduleResume(fireAt, resetAt, matched) {
259
+ if (this._autoResumeTimer) {
260
+ clearTimeout(this._autoResumeTimer);
261
+ this._autoResumeTimer = null;
262
+ }
263
+ this._limitPaused = true;
264
+ this._autoResumeAt = fireAt;
265
+ const delay = Math.max(fireAt - Date.now(), 0);
266
+ console.log(`[SessionAutoOps ${this.callbacks.getSessionId()}] Usage-limit pause detected ("${matched.slice(0, 60)}"), auto-resume in ${Math.round(delay / 60000)}min`);
267
+ this._autoResumeTimer = setTimeout(() => void this._fireResume(), delay);
268
+ this.emit('limitPauseScheduled', { resetAt, resumeAt: fireAt, matched });
269
+ }
270
+ async _fireResume() {
271
+ this._autoResumeTimer = null;
272
+ if (!this._autoResumeEnabled || this.callbacks.isStopped())
273
+ return;
274
+ if (this.callbacks.isWorking()) {
275
+ // Session resumed on its own (or via the user) — nothing to do.
276
+ this._cancelAutoResume('working');
277
+ return;
278
+ }
279
+ this._resumeAttempts++;
280
+ const attempt = this._resumeAttempts;
281
+ this._limitPaused = false; // optimistic: a fresh limit message re-arms us
282
+ this._autoResumeAt = null;
283
+ // Escape first: dismisses the rate-limit options dialog if Claude opened
284
+ // one (harmless at an idle prompt), then the resume prompt after a beat.
285
+ await this.callbacks.writeCommand('\x1b');
286
+ this._resumeFollowupTimer = setTimeout(() => {
287
+ this._resumeFollowupTimer = null;
288
+ if (this.callbacks.isStopped())
289
+ return;
290
+ void this.callbacks.writeCommand(`${RESUME_PROMPT}\r`);
291
+ this.emit('limitResume', { attempt });
292
+ }, RESUME_ESC_DELAY_MS);
293
+ }
294
+ _cancelAutoResume(reason) {
295
+ const wasArmed = this._autoResumeTimer !== null || this._resumeFollowupTimer !== null || this._limitPaused;
296
+ if (this._autoResumeTimer) {
297
+ clearTimeout(this._autoResumeTimer);
298
+ this._autoResumeTimer = null;
299
+ }
300
+ if (this._resumeFollowupTimer) {
301
+ clearTimeout(this._resumeFollowupTimer);
302
+ this._resumeFollowupTimer = null;
303
+ }
304
+ this._limitPaused = false;
305
+ this._autoResumeAt = null;
306
+ if (wasArmed && reason !== 'stopped') {
307
+ this.emit('limitResumeCancelled', { reason });
308
+ }
309
+ }
310
+ // ============================================================================
151
311
  // Threshold checks
152
312
  // ============================================================================
153
313
  /**
@@ -224,6 +384,7 @@ export class SessionAutoOps extends EventEmitter {
224
384
  this._autoClearTimer = null;
225
385
  }
226
386
  this._isClearing = false;
387
+ this._cancelAutoResume('stopped');
227
388
  }
228
389
  }
229
390
  //# sourceMappingURL=session-auto-ops.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-auto-ops.js","sourceRoot":"","sources":["../src/session-auto-ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-auto-ops.js","sourceRoot":"","sources":["../src/session-auto-ops.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -304,6 +304,14 @@ export declare class Session extends EventEmitter {
304
304
  get autoCompactEnabled(): boolean;
305
305
  get autoCompactPrompt(): string;
306
306
  setAutoCompact(enabled: boolean, threshold?: number, prompt?: string): void;
307
+ get autoResumeEnabled(): boolean;
308
+ /** When the scheduled usage-limit auto-resume fires (epoch ms), or null. */
309
+ get autoResumeAt(): number | null;
310
+ /** True while the session is paused on a Claude usage limit (auto-resume armed). */
311
+ get isLimitPaused(): boolean;
312
+ setAutoResume(enabled: boolean): void;
313
+ /** Restore auto-resume state (and a pending schedule) after Codeman restart. */
314
+ restoreAutoResume(enabled: boolean, resumeAt?: number): void;
307
315
  get imageWatcherEnabled(): boolean;
308
316
  set imageWatcherEnabled(enabled: boolean);
309
317
  get flickerFilterEnabled(): boolean;
@@ -378,6 +386,8 @@ export declare class Session extends EventEmitter {
378
386
  autoCompactEnabled?: boolean;
379
387
  autoCompactThreshold?: number;
380
388
  autoCompactPrompt?: string;
389
+ autoResumeEnabled?: boolean;
390
+ autoResumeAt?: number;
381
391
  imageWatcherEnabled?: boolean;
382
392
  inputTokens?: number;
383
393
  outputTokens?: number;
@@ -464,6 +474,8 @@ export declare class Session extends EventEmitter {
464
474
  autoCompactEnabled?: boolean;
465
475
  autoCompactThreshold?: number;
466
476
  autoCompactPrompt?: string;
477
+ autoResumeEnabled?: boolean;
478
+ autoResumeAt?: number;
467
479
  imageWatcherEnabled?: boolean;
468
480
  inputTokens?: number;
469
481
  outputTokens?: number;
@@ -649,19 +661,43 @@ export declare class Session extends EventEmitter {
649
661
  * boundary — untyped (legacy/API) resizes bypass claims by design.
650
662
  */
651
663
  private _desktopSizeClaims;
664
+ /**
665
+ * A desktop sizing claim only blocks small-viewport resizes while the
666
+ * desktop is RECENTLY ACTIVE (claim registration or typed input within this
667
+ * window). An abandoned-but-connected desktop tab (left open at home, screen
668
+ * locked) must not hold a phone's view hostage: without this, the phone
669
+ * renders a desktop-width stream in a narrow xterm — mid-word wraps, tmux
670
+ * dot-fill, and Ink overdraw soup (the 0.9.8–0.9.12 mobile regression).
671
+ */
672
+ private static readonly DESKTOP_CLAIM_IDLE_MS;
673
+ /** Last evidence of a live desktop user (claim registered / typed input). */
674
+ private _lastDesktopActivityAt;
675
+ /** Last desktop-typed dimensions, for re-asserting after a mobile override. */
676
+ private _lastDesktopDims;
677
+ /** True while a small viewport reflowed the pane past an idle desktop claim. */
678
+ private _mobileSizeOverride;
652
679
  /** Register a live desktop sizing claim (see _desktopSizeClaims). */
653
680
  claimDesktopSizing(token: symbol): void;
654
681
  /** Release a desktop sizing claim when its connection goes away. */
655
682
  releaseDesktopSizing(token: symbol): void;
683
+ /**
684
+ * Record desktop user activity (typed input over a claim-holding socket).
685
+ * If a phone reflowed the pane while the desktop was idle, the desktop
686
+ * layout is restored — "whoever is actively using the session wins".
687
+ */
688
+ noteDesktopActivity(): void;
656
689
  /**
657
690
  * Resizes the PTY terminal dimensions.
658
691
  * Skips the resize if dimensions haven't changed to avoid triggering
659
692
  * unnecessary Ink full-screen redraws (visible flicker on tab switch).
660
693
  *
661
- * Arbitration: while a desktop connection holds a sizing claim, resizes from
662
- * small viewports (mobile/tablet) are ignored entirely — shrink AND grow
663
- * would both reflow the desktop view. Without a desktop connected, small
664
- * viewports control the PTY size freely.
694
+ * Arbitration: while a desktop connection holds a sizing claim AND has been
695
+ * active within DESKTOP_CLAIM_IDLE_MS, resizes from small viewports
696
+ * (mobile/tablet) are ignored shrink AND grow would both reflow the
697
+ * desktop view. Once the desktop goes idle, a phone may take the pane (the
698
+ * desktop re-asserts its size on its next typed input via
699
+ * noteDesktopActivity). Without a desktop connected, small viewports
700
+ * control the PTY size freely.
665
701
  *
666
702
  * @param cols - Number of columns (width in characters)
667
703
  * @param rows - Number of rows (height in lines)
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/dist/session.js CHANGED
@@ -40,6 +40,7 @@ import { MAX_TERMINAL_BUFFER_SIZE, TRIM_TERMINAL_TO as TERMINAL_BUFFER_TRIM_SIZE
40
40
  import { EXEC_TIMEOUT_MS } from './config/exec-timeout.js';
41
41
  import { buildInteractiveArgs, buildPromptArgs, buildClaudeEnv, buildMuxAttachEnv, buildShellEnv, } from './session-cli-builder.js';
42
42
  import { SessionAutoOps } from './session-auto-ops.js';
43
+ import { detectUsageLimitPause } from './usage-limit-patterns.js';
43
44
  import { SessionTaskCache } from './session-task-cache.js';
44
45
  /** Line buffer flush interval (100ms) - forces processing of partial lines */
45
46
  const LINE_BUFFER_FLUSH_INTERVAL = 100;
@@ -349,6 +350,9 @@ export class Session extends EventEmitter {
349
350
  this._totalOutputTokens = 0;
350
351
  this.emit('autoClear', data);
351
352
  });
353
+ this._autoOps.on('limitPauseScheduled', (data) => this.emit('limitPauseScheduled', data));
354
+ this._autoOps.on('limitResume', (data) => this.emit('limitResume', data));
355
+ this._autoOps.on('limitResumeCancelled', (data) => this.emit('limitResumeCancelled', data));
352
356
  }
353
357
  get status() {
354
358
  return this._status;
@@ -597,6 +601,34 @@ export class Session extends EventEmitter {
597
601
  setAutoCompact(enabled, threshold, prompt) {
598
602
  this._autoOps.setAutoCompact(enabled, threshold, prompt);
599
603
  }
604
+ get autoResumeEnabled() {
605
+ return this._autoOps.autoResumeEnabled;
606
+ }
607
+ /** When the scheduled usage-limit auto-resume fires (epoch ms), or null. */
608
+ get autoResumeAt() {
609
+ return this._autoOps.autoResumeAt;
610
+ }
611
+ /** True while the session is paused on a Claude usage limit (auto-resume armed). */
612
+ get isLimitPaused() {
613
+ return this._autoOps.isLimitPaused;
614
+ }
615
+ setAutoResume(enabled) {
616
+ this._autoOps.setAutoResume(enabled);
617
+ // Users typically enable this WHILE a session already sits paused — the
618
+ // limit footer won't reprint on its own, so scan the recent buffer once.
619
+ // Only a future reset time counts: stale scrollback must not arm a resume.
620
+ if (enabled && !isExternalCliMode(this.mode)) {
621
+ const tail = this._terminalBuffer.value.slice(-8192).replace(ANSI_ESCAPE_PATTERN_FULL, '');
622
+ const detection = detectUsageLimitPause(tail);
623
+ if (detection && detection.resetAt > Date.now()) {
624
+ this._autoOps.processCleanData(tail);
625
+ }
626
+ }
627
+ }
628
+ /** Restore auto-resume state (and a pending schedule) after Codeman restart. */
629
+ restoreAutoResume(enabled, resumeAt) {
630
+ this._autoOps.restoreAutoResume(enabled, resumeAt);
631
+ }
600
632
  get imageWatcherEnabled() {
601
633
  return this._imageWatcherEnabled;
602
634
  }
@@ -634,6 +666,8 @@ export class Session extends EventEmitter {
634
666
  autoCompactEnabled: this._autoOps.autoCompactEnabled,
635
667
  autoCompactThreshold: this._autoOps.autoCompactThreshold,
636
668
  autoCompactPrompt: this._autoOps.autoCompactPrompt,
669
+ autoResumeEnabled: this._autoOps.autoResumeEnabled,
670
+ autoResumeAt: this._autoOps.autoResumeAt ?? undefined,
637
671
  imageWatcherEnabled: this._imageWatcherEnabled,
638
672
  totalCost: this._totalCost,
639
673
  inputTokens: this._totalInputTokens,
@@ -996,6 +1030,7 @@ export class Session extends EventEmitter {
996
1030
  this._isWorking = true;
997
1031
  this._status = 'busy';
998
1032
  this.emit('working');
1033
+ this._autoOps.notifyWorking();
999
1034
  }
1000
1035
  this._awaitingIdleConfirmation = false;
1001
1036
  if (this.activityTimeout)
@@ -1098,6 +1133,10 @@ export class Session extends EventEmitter {
1098
1133
  if (this._bashToolParser.enabled) {
1099
1134
  this._bashToolParser.processCleanData(getCleanData());
1100
1135
  }
1136
+ // Usage-limit pause detection (auto-resume on usage limit)
1137
+ if (this._autoOps.autoResumeEnabled) {
1138
+ this._autoOps.processCleanData(getCleanData());
1139
+ }
1101
1140
  // Parse token count from status line (e.g., "123.4k tokens" or "5234 tokens")
1102
1141
  if (rawData.includes('token')) {
1103
1142
  this.parseTokensFromStatusLine(getCleanData());
@@ -1121,6 +1160,7 @@ export class Session extends EventEmitter {
1121
1160
  this._isWorking = true;
1122
1161
  this._status = 'busy';
1123
1162
  this.emit('working');
1163
+ this._autoOps.notifyWorking();
1124
1164
  this._awaitingIdleConfirmation = false;
1125
1165
  if (this.activityTimeout)
1126
1166
  clearTimeout(this.activityTimeout);
@@ -1747,31 +1787,70 @@ export class Session extends EventEmitter {
1747
1787
  * boundary — untyped (legacy/API) resizes bypass claims by design.
1748
1788
  */
1749
1789
  _desktopSizeClaims = new Set();
1790
+ /**
1791
+ * A desktop sizing claim only blocks small-viewport resizes while the
1792
+ * desktop is RECENTLY ACTIVE (claim registration or typed input within this
1793
+ * window). An abandoned-but-connected desktop tab (left open at home, screen
1794
+ * locked) must not hold a phone's view hostage: without this, the phone
1795
+ * renders a desktop-width stream in a narrow xterm — mid-word wraps, tmux
1796
+ * dot-fill, and Ink overdraw soup (the 0.9.8–0.9.12 mobile regression).
1797
+ */
1798
+ static DESKTOP_CLAIM_IDLE_MS = 90_000;
1799
+ /** Last evidence of a live desktop user (claim registered / typed input). */
1800
+ _lastDesktopActivityAt = 0;
1801
+ /** Last desktop-typed dimensions, for re-asserting after a mobile override. */
1802
+ _lastDesktopDims = null;
1803
+ /** True while a small viewport reflowed the pane past an idle desktop claim. */
1804
+ _mobileSizeOverride = false;
1750
1805
  /** Register a live desktop sizing claim (see _desktopSizeClaims). */
1751
1806
  claimDesktopSizing(token) {
1752
1807
  this._desktopSizeClaims.add(token);
1808
+ this._lastDesktopActivityAt = Date.now();
1753
1809
  }
1754
1810
  /** Release a desktop sizing claim when its connection goes away. */
1755
1811
  releaseDesktopSizing(token) {
1756
1812
  this._desktopSizeClaims.delete(token);
1757
1813
  }
1814
+ /**
1815
+ * Record desktop user activity (typed input over a claim-holding socket).
1816
+ * If a phone reflowed the pane while the desktop was idle, the desktop
1817
+ * layout is restored — "whoever is actively using the session wins".
1818
+ */
1819
+ noteDesktopActivity() {
1820
+ this._lastDesktopActivityAt = Date.now();
1821
+ if (this._mobileSizeOverride && this._lastDesktopDims) {
1822
+ this._mobileSizeOverride = false;
1823
+ this.resize(this._lastDesktopDims.cols, this._lastDesktopDims.rows, { viewportType: 'desktop' });
1824
+ }
1825
+ }
1758
1826
  /**
1759
1827
  * Resizes the PTY terminal dimensions.
1760
1828
  * Skips the resize if dimensions haven't changed to avoid triggering
1761
1829
  * unnecessary Ink full-screen redraws (visible flicker on tab switch).
1762
1830
  *
1763
- * Arbitration: while a desktop connection holds a sizing claim, resizes from
1764
- * small viewports (mobile/tablet) are ignored entirely — shrink AND grow
1765
- * would both reflow the desktop view. Without a desktop connected, small
1766
- * viewports control the PTY size freely.
1831
+ * Arbitration: while a desktop connection holds a sizing claim AND has been
1832
+ * active within DESKTOP_CLAIM_IDLE_MS, resizes from small viewports
1833
+ * (mobile/tablet) are ignored shrink AND grow would both reflow the
1834
+ * desktop view. Once the desktop goes idle, a phone may take the pane (the
1835
+ * desktop re-asserts its size on its next typed input via
1836
+ * noteDesktopActivity). Without a desktop connected, small viewports
1837
+ * control the PTY size freely.
1767
1838
  *
1768
1839
  * @param cols - Number of columns (width in characters)
1769
1840
  * @param rows - Number of rows (height in lines)
1770
1841
  */
1771
1842
  resize(cols, rows, options = {}) {
1772
1843
  const isSmallViewport = options.viewportType === 'mobile' || options.viewportType === 'tablet';
1844
+ if (options.viewportType === 'desktop') {
1845
+ this._lastDesktopDims = { cols, rows };
1846
+ this._lastDesktopActivityAt = Date.now();
1847
+ this._mobileSizeOverride = false;
1848
+ }
1773
1849
  if (isSmallViewport && this._desktopSizeClaims.size > 0) {
1774
- return;
1850
+ if (Date.now() - this._lastDesktopActivityAt < Session.DESKTOP_CLAIM_IDLE_MS) {
1851
+ return;
1852
+ }
1853
+ this._mobileSizeOverride = true;
1775
1854
  }
1776
1855
  if (this.ptyProcess && (cols !== this._ptyCols || rows !== this._ptyRows)) {
1777
1856
  this._ptyCols = cols;