aicodeman 1.24.0 → 1.24.2

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 (72) hide show
  1. package/dist/session-trust-dialog.d.ts +50 -9
  2. package/dist/session-trust-dialog.d.ts.map +1 -1
  3. package/dist/session-trust-dialog.js +90 -9
  4. package/dist/session-trust-dialog.js.map +1 -1
  5. package/dist/session.d.ts +10 -0
  6. package/dist/session.d.ts.map +1 -1
  7. package/dist/session.js +46 -5
  8. package/dist/session.js.map +1 -1
  9. package/dist/web/public/admin-ui.js.gz +0 -0
  10. package/dist/web/public/api-client.c9b1cddc.js.gz +0 -0
  11. package/dist/web/public/app.616de349.js.gz +0 -0
  12. package/dist/web/public/approvals-ui.js.gz +0 -0
  13. package/dist/web/public/{constants.f4ea0a19.js → constants.7bd482dc.js} +1 -1
  14. package/dist/web/public/constants.7bd482dc.js.br +0 -0
  15. package/dist/web/public/constants.7bd482dc.js.gz +0 -0
  16. package/dist/web/public/cron-ui.js.gz +0 -0
  17. package/dist/web/public/entrance-animations.js.gz +0 -0
  18. package/dist/web/public/home-sessions.js.gz +0 -0
  19. package/dist/web/public/i18n.9ae15b51.js.gz +0 -0
  20. package/dist/web/public/image-input.ee16ad88.js.gz +0 -0
  21. package/dist/web/public/index.html +2 -2
  22. package/dist/web/public/index.html.br +0 -0
  23. package/dist/web/public/index.html.gz +0 -0
  24. package/dist/web/public/input-cjk.87f14251.js.gz +0 -0
  25. package/dist/web/public/keyboard-accessory.0454a3e9.js.gz +0 -0
  26. package/dist/web/public/mobile-handlers.0f83a608.js.gz +0 -0
  27. package/dist/web/public/mobile-overview.js.gz +0 -0
  28. package/dist/web/public/mobile.87674154.css.gz +0 -0
  29. package/dist/web/public/notification-manager.5d229063.js.gz +0 -0
  30. package/dist/web/public/orchestrator-panel.js.gz +0 -0
  31. package/dist/web/public/panels-ui.e6e06034.js.gz +0 -0
  32. package/dist/web/public/ralph-panel.6de2d0f8.js.gz +0 -0
  33. package/dist/web/public/ralph-wizard.13a1831e.js.gz +0 -0
  34. package/dist/web/public/readmymind-ui.js.gz +0 -0
  35. package/dist/web/public/respawn-ui.ff0dae4c.js.gz +0 -0
  36. package/dist/web/public/sanitize-html.bc7078d6.js.gz +0 -0
  37. package/dist/web/public/session-lineage.js.gz +0 -0
  38. package/dist/web/public/session-ui.c558f981.js.gz +0 -0
  39. package/dist/web/public/settings-ui.2a814a17.js.gz +0 -0
  40. package/dist/web/public/styles.dd7e411f.css.gz +0 -0
  41. package/dist/web/public/subagent-windows.e6ca799f.js.gz +0 -0
  42. package/dist/web/public/sw.js.gz +0 -0
  43. package/dist/web/public/tab-rail-resize.42c24949.js.gz +0 -0
  44. package/dist/web/public/terminal-ui.70445f81.js.gz +0 -0
  45. package/dist/web/public/ultracode-panel.js.gz +0 -0
  46. package/dist/web/public/ultracode-windows.js.gz +0 -0
  47. package/dist/web/public/upload.html.gz +0 -0
  48. package/dist/web/public/vendor/dompurify.min.js.gz +0 -0
  49. package/dist/web/public/vendor/marked.min.js.gz +0 -0
  50. package/dist/web/public/vendor/xterm-addon-fit.min.js.gz +0 -0
  51. package/dist/web/public/vendor/xterm-addon-serialize.min.js.gz +0 -0
  52. package/dist/web/public/vendor/xterm-addon-unicode11.min.js.gz +0 -0
  53. package/dist/web/public/vendor/xterm-addon-webgl.min.js.gz +0 -0
  54. package/dist/web/public/vendor/xterm-predictive-echo.bd6882b8.js.gz +0 -0
  55. package/dist/web/public/vendor/xterm-zerolag-input.6fee72f2.js.gz +0 -0
  56. package/dist/web/public/vendor/xterm.css.gz +0 -0
  57. package/dist/web/public/vendor/xterm.min.js.gz +0 -0
  58. package/dist/web/public/voice-input.4ec670b0.js.gz +0 -0
  59. package/dist/web/public/voice-pcm-worklet.js.gz +0 -0
  60. package/dist/web/public/webview-tabs.js.gz +0 -0
  61. package/dist/web/routes/system-routes.d.ts.map +1 -1
  62. package/dist/web/routes/system-routes.js +7 -2
  63. package/dist/web/routes/system-routes.js.map +1 -1
  64. package/dist/web/schemas.d.ts +1 -1
  65. package/package.json +1 -1
  66. package/skills/codeman/SKILL.md +50 -16
  67. package/skills/codeman/preamble.sh +46 -12
  68. package/skills/codeman/reference/endpoints.md +2 -1
  69. package/skills/codeman/reference/recipes.md +16 -15
  70. package/skills/codeman/reference/verbs.md +30 -14
  71. package/dist/web/public/constants.f4ea0a19.js.br +0 -0
  72. package/dist/web/public/constants.f4ea0a19.js.gz +0 -0
@@ -1,16 +1,32 @@
1
1
  /**
2
- * @fileoverview Recognizing Claude Code's workspace-trust dialog on screen.
2
+ * @fileoverview Recognizing Claude Code's workspace-trust dialog on screen, and
3
+ * working out which keystroke answers it.
3
4
  *
4
- * Claude asks once per directory before it will read or edit anything:
5
+ * Claude asks once per directory before it will read or edit anything. The
6
+ * layout has changed under us at least twice; both of these are live shapes:
5
7
  *
6
- * Quick safety check: Is this a project you created or one you trust? ...
8
+ * Quick safety check: Is this a project you created or one you trust? ... (<= 2.1.220)
7
9
  * ❯ 1. Yes, I trust this folder
8
10
  * 2. No, exit
9
11
  * Enter to confirm · Esc to cancel
10
12
  *
13
+ * Quick safety check: Is this a project you created or one you trust? ... (2.1.252)
14
+ * Security guide
15
+ * ❯ No, exit
16
+ * Yes, I trust this folder
17
+ * Enter to confirm · Esc to cancel
18
+ *
11
19
  * Codeman sessions run permission-skipping or classifier-guarded modes, so the
12
20
  * answer is always yes, and a session parked on this dialog is simply stuck.
13
21
  *
22
+ * ⚠️ **Never press Enter without reading the selection.** The options are now
23
+ * unnumbered, REVERSED, and the highlighted default is "No, exit" — so the blind
24
+ * `\r` that answered the old layout picks *exit* on the new one and the pane
25
+ * dies (`Pane is dead (status 1)`) seconds after the session starts, which is
26
+ * exactly what a fresh case did on Claude Code 2.1.252. `trustDialogNextKey()`
27
+ * reads the `❯` marker instead and moves the cursor onto the trust option before
28
+ * it confirms anything.
29
+ *
14
30
  * **Why the text has to be compacted.** tmux repaints a row by writing each word
15
31
  * and then a cursor-forward (`\x1b[C`) instead of a space, and Ink colours each
16
32
  * word separately, so the wire carries `I\x1b[Ctrust\x1b[Cthis\x1b[Cfolder`.
@@ -26,6 +42,11 @@
26
42
  * dialog's confirm affordance is the cheap way to require the actual widget, and
27
43
  * the caller adds the real guard by only looking during session startup.
28
44
  */
45
+ /** Move the selection one row down / up. Literal, so `send-keys -l` carries them. */
46
+ export declare const TRUST_KEY_DOWN = "\u001B[B";
47
+ export declare const TRUST_KEY_UP = "\u001B[A";
48
+ /** Confirm the highlighted option. */
49
+ export declare const TRUST_KEY_CONFIRM = "\r";
29
50
  /**
30
51
  * Normalize a screen or PTY chunk for phrase matching: escapes dropped, every
31
52
  * whitespace run removed, lowercased.
@@ -37,21 +58,41 @@ export declare function compactScreenText(text: string): string;
37
58
  * buffer is append-only, so the dialog stays in its tail long after it is gone.
38
59
  */
39
60
  export declare function isTrustDialogScreen(text: string): boolean;
61
+ /**
62
+ * The single keystroke that moves this dialog one step closer to "yes", or null
63
+ * when the screen does not show clearly enough to touch.
64
+ *
65
+ * One step per call on purpose: the caller re-reads the screen between
66
+ * keystrokes, so a moved cursor is CONFIRMED before Enter is pressed rather than
67
+ * assumed. Firing arrow+Enter together would re-create the failure this exists
68
+ * to prevent whenever the arrow is dropped (Ink drops keystrokes while it is
69
+ * still mounting a widget) — the Enter would then land on "No, exit".
70
+ *
71
+ * Returning null is the safe answer, not a failure: an unreadable frame means
72
+ * wait for the next repaint, and a layout whose options this cannot name means
73
+ * leave the dialog to the human. The caller's startup window bounds the waiting.
74
+ */
75
+ export declare function trustDialogNextKey(text: string): string | null;
40
76
  /**
41
77
  * How long after the pane starts the dialog is still plausible. It renders
42
78
  * before the main UI, so this only has to cover a slow first launch; leaving it
43
79
  * open forever would let a transcript that quotes the dialog trigger an Enter.
44
80
  */
45
81
  export declare const TRUST_DIALOG_WINDOW_MS = 90000;
46
- /** Minimum gap between two Enter presses, and between two screen reads. */
82
+ /** Minimum gap between two keystrokes, and between two screen reads. */
47
83
  export declare const TRUST_DIALOG_RETRY_MS = 1500;
48
84
  /**
49
- * Attempts before giving up and leaving the dialog to the user. A keystroke can
50
- * land while Ink is still mounting the widget and be dropped, which is the other
51
- * half of why sessions got stuck here; retrying costs nothing, but retrying
52
- * forever would hammer Enter into whatever came next.
85
+ * Keystrokes before giving up and leaving the dialog to the user. A keystroke
86
+ * can land while Ink is still mounting the widget and be dropped, which is the
87
+ * other half of why sessions got stuck here; retrying costs nothing, but
88
+ * retrying forever would hammer Enter into whatever came next.
89
+ *
90
+ * Six rather than three because answering is no longer one press: the 2.1.252
91
+ * layout needs an arrow onto the trust option and then Enter, each confirmed
92
+ * against a re-read of the screen, so a cap of three left only one dropped
93
+ * keystroke of slack.
53
94
  */
54
- export declare const TRUST_DIALOG_MAX_ATTEMPTS = 3;
95
+ export declare const TRUST_DIALOG_MAX_ATTEMPTS = 6;
55
96
  /**
56
97
  * How much of the append-only terminal buffer to read on a direct-PTY session,
57
98
  * which has no pane to capture. Small on purpose: the dialog scrolls out of a
@@ -1 +1 @@
1
- {"version":3,"file":"session-trust-dialog.d.ts","sourceRoot":"","sources":["../src/session-trust-dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAsBH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC"}
1
+ {"version":3,"file":"session-trust-dialog.d.ts","sourceRoot":"","sources":["../src/session-trust-dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AA0BH,qFAAqF;AACrF,eAAO,MAAM,cAAc,aAAW,CAAC;AACvC,eAAO,MAAM,YAAY,aAAW,CAAC;AAErC,sCAAsC;AACtC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAUtC;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGzD;AAoBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAU9D;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC"}
@@ -1,16 +1,32 @@
1
1
  /**
2
- * @fileoverview Recognizing Claude Code's workspace-trust dialog on screen.
2
+ * @fileoverview Recognizing Claude Code's workspace-trust dialog on screen, and
3
+ * working out which keystroke answers it.
3
4
  *
4
- * Claude asks once per directory before it will read or edit anything:
5
+ * Claude asks once per directory before it will read or edit anything. The
6
+ * layout has changed under us at least twice; both of these are live shapes:
5
7
  *
6
- * Quick safety check: Is this a project you created or one you trust? ...
8
+ * Quick safety check: Is this a project you created or one you trust? ... (<= 2.1.220)
7
9
  * ❯ 1. Yes, I trust this folder
8
10
  * 2. No, exit
9
11
  * Enter to confirm · Esc to cancel
10
12
  *
13
+ * Quick safety check: Is this a project you created or one you trust? ... (2.1.252)
14
+ * Security guide
15
+ * ❯ No, exit
16
+ * Yes, I trust this folder
17
+ * Enter to confirm · Esc to cancel
18
+ *
11
19
  * Codeman sessions run permission-skipping or classifier-guarded modes, so the
12
20
  * answer is always yes, and a session parked on this dialog is simply stuck.
13
21
  *
22
+ * ⚠️ **Never press Enter without reading the selection.** The options are now
23
+ * unnumbered, REVERSED, and the highlighted default is "No, exit" — so the blind
24
+ * `\r` that answered the old layout picks *exit* on the new one and the pane
25
+ * dies (`Pane is dead (status 1)`) seconds after the session starts, which is
26
+ * exactly what a fresh case did on Claude Code 2.1.252. `trustDialogNextKey()`
27
+ * reads the `❯` marker instead and moves the cursor onto the trust option before
28
+ * it confirms anything.
29
+ *
14
30
  * **Why the text has to be compacted.** tmux repaints a row by writing each word
15
31
  * and then a cursor-forward (`\x1b[C`) instead of a space, and Ink colours each
16
32
  * word separately, so the wire carries `I\x1b[Ctrust\x1b[Cthis\x1b[Cfolder`.
@@ -35,6 +51,19 @@ const TRUST_PHRASES = [
35
51
  ];
36
52
  /** The dialog's own affordances. Prose that quotes the question will not have these. */
37
53
  const CONFIRM_PHRASES = ['entertoconfirm', 'esctocancel', '2.no,exit'];
54
+ /** The option that answers yes, compacted. Identical text in both layouts. */
55
+ const YES_OPTION = 'yes,itrustthisfolder';
56
+ /** The option that quits Claude. It is the highlighted DEFAULT since 2.1.252. */
57
+ const NO_OPTION = 'no,exit';
58
+ /** Ink's selection marker. The only marked row while the dialog is up. */
59
+ const SELECTION_MARK = '❯';
60
+ /** A numbered option's `1.` / `2.` prefix, which the 2.1.220 layout put after the marker. */
61
+ const OPTION_NUMBER_PREFIX = /^\d+\./;
62
+ /** Move the selection one row down / up. Literal, so `send-keys -l` carries them. */
63
+ export const TRUST_KEY_DOWN = '\x1b[B';
64
+ export const TRUST_KEY_UP = '\x1b[A';
65
+ /** Confirm the highlighted option. */
66
+ export const TRUST_KEY_CONFIRM = '\r';
38
67
  /**
39
68
  * Charset-select sequences (`ESC ( B`), which tmux emits around styled runs and
40
69
  * `stripAnsi` does not cover. Left in, they would land inside a phrase as a
@@ -58,21 +87,73 @@ export function isTrustDialogScreen(text) {
58
87
  const compact = compactScreenText(text);
59
88
  return TRUST_PHRASES.some((p) => compact.includes(p)) && CONFIRM_PHRASES.some((p) => compact.includes(p));
60
89
  }
90
+ /**
91
+ * Which option the `❯` marker sits on, or null when this text does not say.
92
+ *
93
+ * The LAST marked option wins. A pane capture holds exactly one frame and so
94
+ * exactly one marker, but the direct-PTY fallback reads an append-only buffer
95
+ * where every repaint since launch is still present — there the freshest frame
96
+ * is the one at the end, and an older one must not out-vote it.
97
+ */
98
+ function selectedTrustOption(compact) {
99
+ let selected = null;
100
+ for (let at = compact.indexOf(SELECTION_MARK); at >= 0; at = compact.indexOf(SELECTION_MARK, at + 1)) {
101
+ const after = compact.slice(at + SELECTION_MARK.length).replace(OPTION_NUMBER_PREFIX, '');
102
+ if (after.startsWith(YES_OPTION))
103
+ selected = { at, option: 'yes' };
104
+ else if (after.startsWith(NO_OPTION))
105
+ selected = { at, option: 'no' };
106
+ }
107
+ return selected;
108
+ }
109
+ /**
110
+ * The single keystroke that moves this dialog one step closer to "yes", or null
111
+ * when the screen does not show clearly enough to touch.
112
+ *
113
+ * One step per call on purpose: the caller re-reads the screen between
114
+ * keystrokes, so a moved cursor is CONFIRMED before Enter is pressed rather than
115
+ * assumed. Firing arrow+Enter together would re-create the failure this exists
116
+ * to prevent whenever the arrow is dropped (Ink drops keystrokes while it is
117
+ * still mounting a widget) — the Enter would then land on "No, exit".
118
+ *
119
+ * Returning null is the safe answer, not a failure: an unreadable frame means
120
+ * wait for the next repaint, and a layout whose options this cannot name means
121
+ * leave the dialog to the human. The caller's startup window bounds the waiting.
122
+ */
123
+ export function trustDialogNextKey(text) {
124
+ const compact = compactScreenText(text);
125
+ if (!compact.includes(YES_OPTION))
126
+ return null; // no trust option to steer onto
127
+ const selected = selectedTrustOption(compact);
128
+ if (!selected)
129
+ return null; // marker missing, or not on an option we recognize
130
+ if (selected.option === 'yes')
131
+ return TRUST_KEY_CONFIRM;
132
+ // On "No, exit". Which way the trust option lies is read from THIS frame — it
133
+ // sits below in 2.1.252 and above in the numbered layout before it — so the
134
+ // order flipping again costs a repaint, not a killed session.
135
+ return compact.includes(YES_OPTION, selected.at) ? TRUST_KEY_DOWN : TRUST_KEY_UP;
136
+ }
61
137
  /**
62
138
  * How long after the pane starts the dialog is still plausible. It renders
63
139
  * before the main UI, so this only has to cover a slow first launch; leaving it
64
140
  * open forever would let a transcript that quotes the dialog trigger an Enter.
65
141
  */
66
142
  export const TRUST_DIALOG_WINDOW_MS = 90_000;
67
- /** Minimum gap between two Enter presses, and between two screen reads. */
143
+ /** Minimum gap between two keystrokes, and between two screen reads. */
68
144
  export const TRUST_DIALOG_RETRY_MS = 1500;
69
145
  /**
70
- * Attempts before giving up and leaving the dialog to the user. A keystroke can
71
- * land while Ink is still mounting the widget and be dropped, which is the other
72
- * half of why sessions got stuck here; retrying costs nothing, but retrying
73
- * forever would hammer Enter into whatever came next.
146
+ * Keystrokes before giving up and leaving the dialog to the user. A keystroke
147
+ * can land while Ink is still mounting the widget and be dropped, which is the
148
+ * other half of why sessions got stuck here; retrying costs nothing, but
149
+ * retrying forever would hammer Enter into whatever came next.
150
+ *
151
+ * Six rather than three because answering is no longer one press: the 2.1.252
152
+ * layout needs an arrow onto the trust option and then Enter, each confirmed
153
+ * against a re-read of the screen, so a cap of three left only one dropped
154
+ * keystroke of slack.
74
155
  */
75
- export const TRUST_DIALOG_MAX_ATTEMPTS = 3;
156
+ export const TRUST_DIALOG_MAX_ATTEMPTS = 6;
76
157
  /**
77
158
  * How much of the append-only terminal buffer to read on a direct-PTY session,
78
159
  * which has no pane to capture. Small on purpose: the dialog scrolls out of a
@@ -1 +1 @@
1
- {"version":3,"file":"session-trust-dialog.js","sourceRoot":"","sources":["../src/session-trust-dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qFAAqF;AACrF,MAAM,aAAa,GAAG;IACpB,iBAAiB,EAAE,qCAAqC;IACxD,eAAe,EAAE,kDAAkD;IACnE,aAAa,EAAE,0DAA0D;CAC1E,CAAC;AAEF,wFAAwF;AACxF,MAAM,eAAe,GAAG,CAAC,gBAAgB,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;AAEvE;;;;GAIG;AACH,4CAA4C;AAC5C,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAExC;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACvF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5G,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE7C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"session-trust-dialog.js","sourceRoot":"","sources":["../src/session-trust-dialog.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -223,6 +223,7 @@ export declare class Session extends EventEmitter {
223
223
  private _trustDialogAccepted;
224
224
  private _trustDialogAttempts;
225
225
  private _lastTrustDialogScanAt;
226
+ private _trustDialogTimer;
226
227
  private _interactiveStartedAt;
227
228
  private _taskTracker;
228
229
  private _totalInputTokens;
@@ -811,6 +812,15 @@ export declare class Session extends EventEmitter {
811
812
  * makes a retry safe, since the terminal buffer is append-only and keeps the
812
813
  * dialog in its tail long after it has been answered.
813
814
  *
815
+ * ⚠️ **The keystroke is read off the screen, never assumed.** Claude Code
816
+ * 2.1.252 dropped the option numbers, put "No, exit" first, and highlights IT
817
+ * by default, so the bare `\r` this used to send now answers *exit*: a fresh
818
+ * case died (`Pane is dead (status 1)`) about six seconds after spawning.
819
+ * `trustDialogNextKey()` returns one step at a time — an arrow while the
820
+ * cursor is on the wrong option, Enter only once the screen shows it on the
821
+ * trust option — and this method re-reads the pane between the two, so a
822
+ * dropped arrow costs a repaint instead of the session.
823
+ *
814
824
  * Three guards keep an Enter press off a live session: a startup-only window,
815
825
  * a two-marker match (isTrustDialogScreen), and an attempt cap.
816
826
  */
@@ -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
@@ -38,7 +38,7 @@ import { probeRemoteCliVersion } from './remote-hosts.js';
38
38
  import { TaskTracker } from './task-tracker.js';
39
39
  import { RalphTracker } from './ralph-tracker.js';
40
40
  import { BashToolParser } from './bash-tool-parser.js';
41
- import { isTrustDialogScreen, TRUST_DIALOG_WINDOW_MS, TRUST_DIALOG_RETRY_MS, TRUST_DIALOG_MAX_ATTEMPTS, TRUST_DIALOG_SCAN_BYTES, } from './session-trust-dialog.js';
41
+ import { isTrustDialogScreen, trustDialogNextKey, TRUST_KEY_CONFIRM, TRUST_DIALOG_WINDOW_MS, TRUST_DIALOG_RETRY_MS, TRUST_DIALOG_MAX_ATTEMPTS, TRUST_DIALOG_SCAN_BYTES, } from './session-trust-dialog.js';
42
42
  import { trackActivityStreak, isSustainedActivity, isPaneQuiet, IDLE_RECHECK_MS, PANE_PROBE_MIN_INTERVAL_MS, PANE_PROBE_RECHECK_MS, } from './session-activity.js';
43
43
  import { BufferAccumulator, ANSI_ESCAPE_PATTERN_FULL, TOKEN_PATTERN, SPINNER_PATTERN, CLAUDE_WORKING_LINE_PATTERN, MAX_SESSION_TOKENS, execPattern, getClaudeCliVersion, getClaudeBinaryPath, spawnPtyWithHelperRepair, resolveLocalShell, } from './utils/index.js';
44
44
  import { MAX_TERMINAL_BUFFER_SIZE, TRIM_TERMINAL_TO as TERMINAL_BUFFER_TRIM_SIZE, MAX_TEXT_OUTPUT_SIZE, TRIM_TEXT_TO as TEXT_OUTPUT_TRIM_SIZE, MAX_MESSAGES, MAX_LINE_BUFFER_SIZE, } from './config/buffer-limits.js';
@@ -323,8 +323,9 @@ export class Session extends EventEmitter {
323
323
  _lastPaneProbeAt = 0; // Throttle for the tmux screen probe
324
324
  _lastPaneProbeWorking = null; // Its last verdict (null = could not read)
325
325
  _trustDialogAccepted = false; // Stops the trust-dialog scan (answered, or given up)
326
- _trustDialogAttempts = 0; // Enter presses sent at the trust dialog
326
+ _trustDialogAttempts = 0; // Keystrokes sent at the trust dialog
327
327
  _lastTrustDialogScanAt = 0; // Throttle for the trust-dialog screen read
328
+ _trustDialogTimer = null; // Re-read after a keystroke (see below)
328
329
  _interactiveStartedAt = 0; // When the interactive pane launched (bounds that scan)
329
330
  _taskTracker;
330
331
  // Token tracking for auto-clear
@@ -1492,6 +1493,10 @@ export class Session extends EventEmitter {
1492
1493
  this._interactiveStartedAt = Date.now();
1493
1494
  this._trustDialogAttempts = 0;
1494
1495
  this._lastTrustDialogScanAt = 0;
1496
+ if (this._trustDialogTimer) {
1497
+ clearTimeout(this._trustDialogTimer);
1498
+ this._trustDialogTimer = null;
1499
+ }
1495
1500
  // COD-118: if the PTY exit breaker has tripped (repeated non-zero exits in a
1496
1501
  // short window), refuse to respawn. This is the uniform choke point that stops
1497
1502
  // automatic recovery/reconnect callers from re-creating a crash-looping PTY.
@@ -1853,6 +1858,15 @@ export class Session extends EventEmitter {
1853
1858
  * makes a retry safe, since the terminal buffer is append-only and keeps the
1854
1859
  * dialog in its tail long after it has been answered.
1855
1860
  *
1861
+ * ⚠️ **The keystroke is read off the screen, never assumed.** Claude Code
1862
+ * 2.1.252 dropped the option numbers, put "No, exit" first, and highlights IT
1863
+ * by default, so the bare `\r` this used to send now answers *exit*: a fresh
1864
+ * case died (`Pane is dead (status 1)`) about six seconds after spawning.
1865
+ * `trustDialogNextKey()` returns one step at a time — an arrow while the
1866
+ * cursor is on the wrong option, Enter only once the screen shows it on the
1867
+ * trust option — and this method re-reads the pane between the two, so a
1868
+ * dropped arrow costs a repaint instead of the session.
1869
+ *
1856
1870
  * Three guards keep an Enter press off a live session: a startup-only window,
1857
1871
  * a two-marker match (isTrustDialogScreen), and an attempt cap.
1858
1872
  */
@@ -1873,15 +1887,37 @@ export class Session extends EventEmitter {
1873
1887
  this._terminalBuffer.value.slice(-TRUST_DIALOG_SCAN_BYTES);
1874
1888
  if (!isTrustDialogScreen(screen))
1875
1889
  return;
1890
+ // Null means the frame does not say which option is highlighted. Waiting for
1891
+ // the next repaint is the safe move; pressing Enter blind is the bug.
1892
+ const key = trustDialogNextKey(screen);
1893
+ if (key === null)
1894
+ return;
1876
1895
  this._trustDialogAttempts++;
1877
1896
  if (this._trustDialogAttempts > TRUST_DIALOG_MAX_ATTEMPTS) {
1878
1897
  this._trustDialogAccepted = true; // leave it to the user rather than keep typing
1879
1898
  console.warn(`[Session] Workspace trust dialog did not clear after retries: ${this.id}`);
1880
1899
  return;
1881
1900
  }
1882
- console.log(`[Session] Auto-accepting workspace trust dialog for: ${this.id} (attempt ${this._trustDialogAttempts})`);
1883
- // Enter confirms the highlighted default, "1. Yes, I trust this folder".
1884
- this.writeViaMux('\r');
1901
+ const step = key === TRUST_KEY_CONFIRM ? 'confirming' : 'moving to the trust option';
1902
+ console.log(`[Session] Auto-accepting workspace trust dialog for: ${this.id} (attempt ${this._trustDialogAttempts}, ${step})`);
1903
+ this.writeViaMux(key);
1904
+ // ⚠️ Schedule the next read; do NOT wait for more PTY output. This scan only
1905
+ // ever ran from `onData`, which was enough while one Enter answered the
1906
+ // dialog. It is not enough now: the arrow that moves the cursor is the LAST
1907
+ // output the pane produces, so a dialog left sitting on the trust option
1908
+ // never gets its Enter and the worker stays parked on it forever (measured
1909
+ // on a live 2.1.252 spawn: cursor moved at 6 s, then nothing). The timer is
1910
+ // one-shot and self-rearming through this same path, and every exit route
1911
+ // goes through _clearAllTimers().
1912
+ // The +100ms puts the re-entry OUTSIDE the scan throttle above; firing at
1913
+ // exactly the throttle boundary would let the scan return early and break
1914
+ // the chain with the dialog still on screen.
1915
+ if (this._trustDialogTimer)
1916
+ clearTimeout(this._trustDialogTimer);
1917
+ this._trustDialogTimer = setTimeout(() => {
1918
+ this._trustDialogTimer = null;
1919
+ this._maybeAcceptTrustDialog();
1920
+ }, TRUST_DIALOG_RETRY_MS + 100);
1885
1921
  }
1886
1922
  /**
1887
1923
  * Per-chunk working/idle detection for an interactive pane. Split out of the
@@ -2359,6 +2395,11 @@ export class Session extends EventEmitter {
2359
2395
  this._markActivity(true);
2360
2396
  }
2361
2397
  _clearAllTimers() {
2398
+ // Clear the workspace-trust follow-up read
2399
+ if (this._trustDialogTimer) {
2400
+ clearTimeout(this._trustDialogTimer);
2401
+ this._trustDialogTimer = null;
2402
+ }
2362
2403
  // Clear activity timeout to prevent memory leak
2363
2404
  if (this.activityTimeout) {
2364
2405
  clearTimeout(this.activityTimeout);