clitrigger 0.2.58 → 0.2.60

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.
@@ -8,27 +8,51 @@
8
8
  * turn finished (prompt waiting), AskUserQuestion, and plan-approval dialogs.
9
9
  */
10
10
  import { stripAnsi } from './pty-output-filter.js';
11
+ const OSC_TITLE = /\x1b\](?:0|2);([^\x07\x1b]*)(?:\x07|\x1b\\)/g;
12
+ function lastTitle(chunk) {
13
+ let title = null;
14
+ for (const match of chunk.matchAll(OSC_TITLE))
15
+ title = match[1];
16
+ return title;
17
+ }
11
18
  // ponytail: calibration knob; raise if the Ink renderer pauses >1s mid-turn and flaps working→blocked
12
19
  export const QUIET_MS = 1000;
13
20
  export function initialState(hints, nowMs) {
14
21
  // ponytail: idle only at spawn; every later prompt-wait is reported as blocked
15
- return { state: hints ? 'idle' : 'unknown', lastWorkingAt: nowMs, reason: 'spawn' };
22
+ return { state: hints ? 'idle' : 'unknown', lastWorkingAt: nowMs, reason: 'spawn', titleSeen: false };
16
23
  }
17
24
  /** Pure transition. `chunk === null` is a quiet-timer tick. */
18
25
  export function step(prev, chunk, nowMs, hints) {
19
26
  if (prev.state === 'done')
20
27
  return prev;
21
28
  if (chunk === null) {
22
- if (prev.state === 'working' && nowMs - prev.lastWorkingAt >= QUIET_MS) {
23
- return { state: 'blocked', lastWorkingAt: prev.lastWorkingAt, reason: 'quiet' };
29
+ // Quiet timer only guesses for PTYs whose CLI never told us its turn boundaries.
30
+ if (!prev.titleSeen && prev.state === 'working' && nowMs - prev.lastWorkingAt >= QUIET_MS) {
31
+ return { ...prev, state: 'blocked', reason: 'quiet' };
24
32
  }
25
33
  return prev;
26
34
  }
27
35
  const clean = stripAnsi(chunk);
28
36
  if (hints.blocked.test(clean))
29
- return { state: 'blocked', lastWorkingAt: prev.lastWorkingAt, reason: 'dialog' };
30
- if (hints.working.test(clean))
31
- return { state: 'working', lastWorkingAt: nowMs, reason: 'spinner' };
37
+ return { ...prev, state: 'blocked', reason: 'dialog' };
38
+ const title = hints.title ? lastTitle(chunk) : null;
39
+ if (title !== null && hints.title) {
40
+ if (hints.title.working.test(title))
41
+ return { state: 'working', lastWorkingAt: nowMs, reason: 'title', titleSeen: true };
42
+ if (hints.title.idle.test(title)) {
43
+ // Idle title while not working (startup "✳ Claude Code") is not news — only a finished turn is.
44
+ return prev.state === 'working'
45
+ ? { ...prev, state: 'blocked', reason: 'title', titleSeen: true }
46
+ : { ...prev, titleSeen: true };
47
+ }
48
+ }
49
+ // Screen spinner rules: the only signal without titles; with titles they may
50
+ // only lift a dialog block (the title stays "working" across a dialog, so it
51
+ // cannot tell us the user answered). Never from an idle title — a summary line
52
+ // such as "✻ Baked for 6m 45s" would otherwise stick us in working.
53
+ if ((!prev.titleSeen || prev.reason === 'dialog') && hints.working.test(clean)) {
54
+ return { ...prev, state: 'working', lastWorkingAt: nowMs, reason: 'spinner' };
55
+ }
32
56
  return prev;
33
57
  }
34
58
  /**
@@ -41,6 +65,8 @@ export class AgentStateTracker {
41
65
  onChange;
42
66
  current;
43
67
  timer = null;
68
+ /** Unterminated `ESC ]` tail of the previous chunk, so a title split by the PTY is still seen whole. */
69
+ carry = '';
44
70
  constructor(hints, onChange) {
45
71
  this.hints = hints;
46
72
  this.onChange = onChange;
@@ -52,16 +78,21 @@ export class AgentStateTracker {
52
78
  feed(chunk) {
53
79
  if (!this.hints)
54
80
  return;
55
- this.apply(step(this.current, chunk, Date.now(), this.hints));
81
+ const data = this.carry + chunk;
82
+ // ponytail: only an unterminated OSC tail is carried over; a real VT parser if titles still get lost
83
+ const oscStart = data.lastIndexOf('\x1b]');
84
+ const unterminated = oscStart !== -1 && !/\x07|\x1b\\/.test(data.slice(oscStart));
85
+ this.carry = unterminated ? data.slice(oscStart, oscStart + 256) : '';
86
+ this.apply(step(this.current, unterminated ? data.slice(0, oscStart) : data, Date.now(), this.hints));
56
87
  }
57
88
  exit(reason) {
58
89
  this.clearTimer();
59
- this.apply({ state: 'done', lastWorkingAt: this.current.lastWorkingAt, reason });
90
+ this.apply({ ...this.current, state: 'done', reason });
60
91
  }
61
92
  apply(next) {
62
93
  const changed = next.state !== this.current.state;
63
94
  this.current = next;
64
- if (next.state === 'working')
95
+ if (next.state === 'working' && !next.titleSeen)
65
96
  this.armTimer();
66
97
  else
67
98
  this.clearTimer();
@@ -1 +1 @@
1
- {"version":3,"file":"agent-state-detector.js","sourceRoot":"","sources":["../../../src/server/services/agent-state-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAiBnD,sGAAsG;AACtG,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAE7B,MAAM,UAAU,YAAY,CAAC,KAAkC,EAAE,KAAa;IAC5E,+EAA+E;IAC/E,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtF,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,IAAI,CAAC,IAAmB,EAAE,KAAoB,EAAE,KAAa,EAAE,KAAsB;IACnG,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;YACvE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAChH,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpG,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;IAKT;IACA;IALX,OAAO,CAAgB;IACvB,KAAK,GAAyC,IAAI,CAAC;IAE3D,YACmB,KAAkC,EAClC,QAAqD;QADrD,UAAK,GAAL,KAAK,CAA6B;QAClC,aAAQ,GAAR,QAAQ,CAA6C;QAEtE,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,CAAC,MAA0B;QAC7B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;IACnF,CAAC;IAEO,KAAK,CAAC,IAAmB;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;;YACzC,IAAI,CAAC,UAAU,EAAE,CAAC;QACvB,IAAI,OAAO;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,oFAAoF;IAC5E,QAAQ;QACd,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAO;YACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;IAEO,UAAU;QAChB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"agent-state-detector.js","sourceRoot":"","sources":["../../../src/server/services/agent-state-detector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli-adapters.d.ts","sourceRoot":"","sources":["../../../src/server/services/cli-adapters.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,WAAW,CAAC;AACvE,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;AAC7D,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAID;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAqBlE;AAoCD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAmBnE;AASD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wCAAwC;IACxC,SAAS,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,WAAW,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,EAAE,CAAC;IACrN,yCAAyC;IACzC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACnC,uCAAuC;IACvC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1D,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACtC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;;OAIG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC;CAC/C;AA4LD,wBAAgB,eAAe,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAYnF;AA4BD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAEpD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAE9D"}
1
+ {"version":3,"file":"cli-adapters.d.ts","sourceRoot":"","sources":["../../../src/server/services/cli-adapters.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,WAAW,CAAC;AACvE,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAAC;AAC7D,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAID;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE,CAqBlE;AAoCD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CAmBnE;AASD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wCAAwC;IACxC,SAAS,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,WAAW,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,EAAE,CAAC;IACrN,yCAAyC;IACzC,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACnC,uCAAuC;IACvC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1D,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACtC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC;;;;OAIG;IACH,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC;CAC/C;AAuMD,wBAAgB,eAAe,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAYnF;AA4BD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAEpD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAE9D"}
@@ -118,13 +118,24 @@ const claudeAdapter = {
118
118
  ],
119
119
  // `Yes, I trust` is deliberately absent from `blocked`: the auto-respond rule
120
120
  // above answers it within milliseconds, so nothing would flip the state back.
121
+ // `title` is the primary signal (same rules as herdr's claude.toml): Claude
122
+ // Code sets the terminal title to "◐ <name>"/"◑ <name>" while a turn runs and
123
+ // "✳ <name>" when it is back at the prompt. Sticky and independent of how the
124
+ // spinner line is painted, so a minutes-long thinking pause stays `working`.
125
+ // The `working` regex below is the fallback for PTYs where no title arrives.
121
126
  // `working` alternatives, in order: legacy "(esc to interrupt)" hint; the
122
- // first spinner paint "✻ Kneading…" (glyph + verb + ellipsis); tool status
123
- // sub-lines; and the ~10Hz repaint frames, which after ANSI stripping are
124
- // just the glyph plus a few recoloured single letters (" ✽ d g ") — that
125
- // last rule is anchored to the whole chunk so prose never matches it.
127
+ // long-thinking status "still thinking with xhigh effort", which Claude Code
128
+ // 2.1.x repaints colour-pulsing several times a second with or without the
129
+ // glyph (nothing else matched those frames → 1s quiet timer flapped
130
+ // working→blocked and spammed notifications); the first spinner paint
131
+ // "✻ Kneading…" (glyph + verb + ellipsis); tool status sub-lines; and the
132
+ // ~10Hz repaint frames, which after ANSI stripping are the glyph plus a few
133
+ // words or recoloured single letters (" ✽ d g ", " ✢ still thinking … ").
134
+ // Those last rules are anchored to the whole chunk so prose never matches;
135
+ // ASCII `*`/`·` only take single letters so markdown bullets stay out.
126
136
  agentStateHints: {
127
- working: /esc to interrupt|[✶✻✽✢✧✦✱✳⊹◈⟡⋆✸✹✺⊛⊕⊗]\s*\S[^\n]{0,60}…|⎿\s*(?:Running|Waiting|Thinking|Working)|^\s*[✶✻✽✢✧✦✱✳·*+](?:\s+\S){0,6}\s*$/,
137
+ title: { working: /^[⠀-⣿◐-◓] /, idle: /^✳ / },
138
+ working: /esc to interrupt|still thinking|[✶✻✽✢✧✦✱✳⊹◈⟡⋆✸✹✺⊛⊕⊗]\s*\S[^\n]{0,60}…|⎿\s*(?:Running|Waiting|Thinking|Working)|^\s*[✶✻✽✢✧✦✱✳](?:\s+\S+){0,8}\s*$|^\s*[·*+](?:\s+\S){0,6}\s*$/,
128
139
  blocked: /Do you want to|Would you like to|Yes, allow|Allow once|Yes, I accept|❯\s*1\.|\(y\/n\)|Esc to cancel/i,
129
140
  },
130
141
  buildArgs({ mode, prompt, model, extraOptions, maxTurns, sandboxMode, continueSession }) {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-adapters.js","sourceRoot":"","sources":["../../../src/server/services/cli-adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-adapters.js","sourceRoot":"","sources":["../../../src/server/services/cli-adapters.ts"],"names":[],"mappings":"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"}
package/electron/main.cjs CHANGED
@@ -332,16 +332,19 @@ function createWindow(port) {
332
332
  return { action: 'deny' };
333
333
  });
334
334
  guest.on('will-navigate', (e, navUrl) => { if (!isWebScheme(navUrl)) e.preventDefault(); });
335
+ // Nothing else can be under the pointer inside a guest, so apply directly.
336
+ guest.on('zoom-changed', (_e, dir) => stepPageZoom(guest, dir));
335
337
  });
336
338
 
337
- // Chromium handles Ctrl+wheel / pinch as a page-zoom gesture in the browser
338
- // process and never dispatches a DOM `wheel` event to the renderer, so the
339
- // terminal's own Ctrl+wheel font-zoom can't see it. Cancel the page zoom
340
- // (pin the level to 0) and forward the direction so the focused terminal can
341
- // bump its font size instead.
339
+ // In the exe, Ctrl+wheel never reaches the renderer as a DOM `wheel` event;
340
+ // Chromium reports it browser-side as zoom-changed and Electron applies no
341
+ // zoom itself. Forward the direction and let the renderer route it: over a
342
+ // terminal → font size, elsewhere → page zoom (window:zoom below). Do NOT
343
+ // touch the zoom level here — the old setZoomLevel(0) reset any page zoom
344
+ // the user had set via Ctrl+=/- to 100% on every wheel tick (ime-debug
345
+ // 2026-09-08).
342
346
  const wireTerminalZoom = (contents, label) => {
343
347
  contents.on('zoom-changed', (_e, zoomDirection) => {
344
- contents.setZoomLevel(0);
345
348
  contents.send('terminal:zoom', zoomDirection);
346
349
  imeDebugLog(label, { event: 'zoom-changed', dir: zoomDirection });
347
350
  });
@@ -392,6 +395,18 @@ ipcMain.on('ime:set-debug', (_event, enabled) => {
392
395
  }
393
396
  });
394
397
 
398
+ // One Ctrl+wheel tick of page zoom. 0.5-level step matches Electron's
399
+ // zoomIn/zoomOut menu roles (Ctrl+=/-), so wheel and keys share one scale.
400
+ function stepPageZoom(contents, dir) {
401
+ const next = contents.getZoomLevel() + (dir === 'in' ? 0.5 : -0.5);
402
+ contents.setZoomLevel(Math.max(-4, Math.min(6, next))); // ~48%-299%
403
+ }
404
+
405
+ // Renderer decided the forwarded Ctrl+wheel (terminal:zoom) landed outside a
406
+ // terminal → zoom the sender's page. Done main-side so it hits the same
407
+ // per-host zoom store the menu roles write, and persists across restarts.
408
+ ipcMain.on('window:zoom', (event, dir) => stepPageZoom(event.sender, dir));
409
+
395
410
  // Raise the sender's OS window to the front. Renderers can't do this
396
411
  // themselves: window.focus() without user activation is ignored by Chromium,
397
412
  // and popouts reacting to a BroadcastChannel message never have activation.
@@ -31,13 +31,17 @@ contextBridge.exposeInMainWorld('electronAPI', {
31
31
  // Ctrl+wheel / pinch is consumed by Chromium's browser process as a page-zoom
32
32
  // gesture and never reaches the renderer as a DOM `wheel` event, so the
33
33
  // terminal's own Ctrl+wheel font-zoom silently never fires in the exe. Main
34
- // forwards the gesture ('in'/'out') here instead; the focused SessionTerminal
35
- // subscribes and bumps its font size. Returns an unsubscribe fn.
34
+ // forwards the gesture ('in'/'out') here instead; the hovered SessionTerminal
35
+ // bumps its font size, and main.tsx zooms the page when no terminal is
36
+ // hovered (zoomPage). Returns an unsubscribe fn.
36
37
  onTerminalZoom: (cb) => {
37
38
  const listener = (_e, dir) => cb(dir);
38
39
  ipcRenderer.on('terminal:zoom', listener);
39
40
  return () => ipcRenderer.removeListener('terminal:zoom', listener);
40
41
  },
42
+ // Step this window's page zoom by one Ctrl+wheel tick ('in'/'out'). Applied
43
+ // main-side so it shares the View-menu Ctrl+=/- zoom store.
44
+ zoomPage: (dir) => ipcRenderer.send('window:zoom', dir),
41
45
  // A guest's window.open / target=_blank is denied in main
42
46
  // (setWindowOpenHandler) and its URL forwarded here so the web panel can
43
47
  // open it as a new tab instead of leaking to the OS browser. Returns an
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clitrigger",
3
- "version": "0.2.58",
3
+ "version": "0.2.60",
4
4
  "description": "Spawn isolated git worktrees and orchestrate Claude/Gemini/Codex CLI tasks in parallel from a web UI.",
5
5
  "keywords": [
6
6
  "claude",