poly-weaver 0.12.3 → 0.12.5

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 (157) hide show
  1. package/dist/agents/runner.d.ts +2 -0
  2. package/dist/agents/runner.d.ts.map +1 -1
  3. package/dist/agents/runner.js +10 -0
  4. package/dist/agents/runner.js.map +1 -1
  5. package/dist/agents/session-resume.d.ts +3 -2
  6. package/dist/agents/session-resume.d.ts.map +1 -1
  7. package/dist/agents/session-resume.js +10 -3
  8. package/dist/agents/session-resume.js.map +1 -1
  9. package/dist/agents/simplifiers/index.d.ts.map +1 -1
  10. package/dist/agents/simplifiers/index.js +1 -5
  11. package/dist/agents/simplifiers/index.js.map +1 -1
  12. package/dist/ansi.d.ts +12 -0
  13. package/dist/ansi.d.ts.map +1 -1
  14. package/dist/ansi.js +334 -9
  15. package/dist/ansi.js.map +1 -1
  16. package/dist/auto-update/check-agent-updates.d.ts +1 -0
  17. package/dist/auto-update/check-agent-updates.d.ts.map +1 -1
  18. package/dist/auto-update/check-agent-updates.js +80 -8
  19. package/dist/auto-update/check-agent-updates.js.map +1 -1
  20. package/dist/auto-update/detect-agents.d.ts +1 -0
  21. package/dist/auto-update/detect-agents.d.ts.map +1 -1
  22. package/dist/auto-update/detect-agents.js +1 -1
  23. package/dist/auto-update/detect-agents.js.map +1 -1
  24. package/dist/auto-update/install-agents.js +4 -1
  25. package/dist/auto-update/install-agents.js.map +1 -1
  26. package/dist/offscreen/artifact-pane.d.ts +5 -0
  27. package/dist/offscreen/artifact-pane.d.ts.map +1 -1
  28. package/dist/offscreen/artifact-pane.js +20 -1
  29. package/dist/offscreen/artifact-pane.js.map +1 -1
  30. package/dist/offscreen/controller.d.ts +1 -0
  31. package/dist/offscreen/controller.d.ts.map +1 -1
  32. package/dist/offscreen/controller.js +100 -5
  33. package/dist/offscreen/controller.js.map +1 -1
  34. package/dist/offscreen/fork-busy.d.ts +3 -20
  35. package/dist/offscreen/fork-busy.d.ts.map +1 -1
  36. package/dist/offscreen/fork-busy.js +7 -76
  37. package/dist/offscreen/fork-busy.js.map +1 -1
  38. package/dist/offscreen/fork-launch.d.ts +3 -34
  39. package/dist/offscreen/fork-launch.d.ts.map +1 -1
  40. package/dist/offscreen/fork-launch.js +4 -102
  41. package/dist/offscreen/fork-launch.js.map +1 -1
  42. package/dist/offscreen/inquiry-pane.d.ts +2 -0
  43. package/dist/offscreen/inquiry-pane.d.ts.map +1 -1
  44. package/dist/offscreen/inquiry-pane.js +19 -0
  45. package/dist/offscreen/inquiry-pane.js.map +1 -1
  46. package/dist/offscreen/panes.d.ts +2 -0
  47. package/dist/offscreen/panes.d.ts.map +1 -1
  48. package/dist/offscreen/split-inquiry.d.ts +17 -0
  49. package/dist/offscreen/split-inquiry.d.ts.map +1 -1
  50. package/dist/offscreen/split-inquiry.js +107 -1
  51. package/dist/offscreen/split-inquiry.js.map +1 -1
  52. package/dist/providers/claude/strategy.d.ts +10 -1
  53. package/dist/providers/claude/strategy.d.ts.map +1 -1
  54. package/dist/providers/claude/strategy.js +128 -2
  55. package/dist/providers/claude/strategy.js.map +1 -1
  56. package/dist/providers/claude/trust.d.ts +2 -0
  57. package/dist/providers/claude/trust.d.ts.map +1 -0
  58. package/dist/providers/claude/trust.js +22 -0
  59. package/dist/providers/claude/trust.js.map +1 -0
  60. package/dist/providers/codex/config.js +1 -1
  61. package/dist/providers/codex/config.js.map +1 -1
  62. package/dist/providers/codex/strategy.d.ts +7 -1
  63. package/dist/providers/codex/strategy.d.ts.map +1 -1
  64. package/dist/providers/codex/strategy.js +83 -2
  65. package/dist/providers/codex/strategy.js.map +1 -1
  66. package/dist/providers/codex/trust.d.ts +2 -0
  67. package/dist/providers/codex/trust.d.ts.map +1 -0
  68. package/dist/providers/codex/trust.js +92 -0
  69. package/dist/providers/codex/trust.js.map +1 -0
  70. package/dist/providers/copilot/completion.d.ts +5 -3
  71. package/dist/providers/copilot/completion.d.ts.map +1 -1
  72. package/dist/providers/copilot/completion.js +188 -16
  73. package/dist/providers/copilot/completion.js.map +1 -1
  74. package/dist/providers/copilot/strategy.d.ts +9 -1
  75. package/dist/providers/copilot/strategy.d.ts.map +1 -1
  76. package/dist/providers/copilot/strategy.js +138 -2
  77. package/dist/providers/copilot/strategy.js.map +1 -1
  78. package/dist/providers/copilot/trust.d.ts +2 -0
  79. package/dist/providers/copilot/trust.d.ts.map +1 -0
  80. package/dist/providers/copilot/trust.js +45 -0
  81. package/dist/providers/copilot/trust.js.map +1 -0
  82. package/dist/providers/fork.d.ts +64 -0
  83. package/dist/providers/fork.d.ts.map +1 -0
  84. package/dist/providers/fork.js +2 -0
  85. package/dist/providers/fork.js.map +1 -0
  86. package/dist/providers/index.d.ts +2 -1
  87. package/dist/providers/index.d.ts.map +1 -1
  88. package/dist/providers/option-catalog.d.ts.map +1 -1
  89. package/dist/providers/option-catalog.js +14 -106
  90. package/dist/providers/option-catalog.js.map +1 -1
  91. package/dist/providers/trust-utils.d.ts +7 -0
  92. package/dist/providers/trust-utils.d.ts.map +1 -0
  93. package/dist/providers/trust-utils.js +49 -0
  94. package/dist/providers/trust-utils.js.map +1 -0
  95. package/dist/providers/trust.d.ts +1 -4
  96. package/dist/providers/trust.d.ts.map +1 -1
  97. package/dist/providers/trust.js +3 -204
  98. package/dist/providers/trust.js.map +1 -1
  99. package/dist/providers/types.d.ts +25 -0
  100. package/dist/providers/types.d.ts.map +1 -1
  101. package/dist/providers/types.js.map +1 -1
  102. package/dist/status-bar.d.ts +5 -2
  103. package/dist/status-bar.d.ts.map +1 -1
  104. package/dist/status-bar.js +18 -20
  105. package/dist/status-bar.js.map +1 -1
  106. package/dist/terminal/clipboard-write.d.ts +17 -0
  107. package/dist/terminal/clipboard-write.d.ts.map +1 -0
  108. package/dist/terminal/clipboard-write.js +58 -0
  109. package/dist/terminal/clipboard-write.js.map +1 -0
  110. package/dist/terminal/host.d.ts +90 -0
  111. package/dist/terminal/host.d.ts.map +1 -1
  112. package/dist/terminal/host.js +858 -17
  113. package/dist/terminal/host.js.map +1 -1
  114. package/dist/terminal/input-router.d.ts +21 -6
  115. package/dist/terminal/input-router.d.ts.map +1 -1
  116. package/dist/terminal/input-router.js +30 -8
  117. package/dist/terminal/input-router.js.map +1 -1
  118. package/dist/terminal/mouse-mode-tracker.d.ts +1 -0
  119. package/dist/terminal/mouse-mode-tracker.d.ts.map +1 -1
  120. package/dist/terminal/mouse-mode-tracker.js +3 -0
  121. package/dist/terminal/mouse-mode-tracker.js.map +1 -1
  122. package/dist/terminal/osc52.d.ts +1 -0
  123. package/dist/terminal/osc52.d.ts.map +1 -1
  124. package/dist/terminal/osc52.js +3 -0
  125. package/dist/terminal/osc52.js.map +1 -1
  126. package/dist/terminal/render.d.ts +5 -0
  127. package/dist/terminal/render.d.ts.map +1 -1
  128. package/dist/terminal/render.js +14 -4
  129. package/dist/terminal/render.js.map +1 -1
  130. package/dist/terminal/selection.d.ts +101 -0
  131. package/dist/terminal/selection.d.ts.map +1 -0
  132. package/dist/terminal/selection.js +517 -0
  133. package/dist/terminal/selection.js.map +1 -0
  134. package/dist/terminal/virtual-terminal.d.ts +5 -1
  135. package/dist/terminal/virtual-terminal.d.ts.map +1 -1
  136. package/dist/terminal/virtual-terminal.js +10 -0
  137. package/dist/terminal/virtual-terminal.js.map +1 -1
  138. package/dist/user/host-curate-prompt.d.ts +2 -0
  139. package/dist/user/host-curate-prompt.d.ts.map +1 -1
  140. package/dist/user/host-curate-prompt.js +239 -43
  141. package/dist/user/host-curate-prompt.js.map +1 -1
  142. package/dist/user/host-prompt.d.ts.map +1 -1
  143. package/dist/user/host-prompt.js +257 -14
  144. package/dist/user/host-prompt.js.map +1 -1
  145. package/dist/user/selectable-doc-pane.d.ts +13 -0
  146. package/dist/user/selectable-doc-pane.d.ts.map +1 -0
  147. package/dist/user/selectable-doc-pane.js +34 -0
  148. package/dist/user/selectable-doc-pane.js.map +1 -0
  149. package/dist/user/split-surface.d.ts +2 -0
  150. package/dist/user/split-surface.d.ts.map +1 -1
  151. package/dist/user/split-surface.js +17 -0
  152. package/dist/user/split-surface.js.map +1 -1
  153. package/package.json +1 -1
  154. package/dist/agents/simplifiers/prompts.d.ts +0 -11
  155. package/dist/agents/simplifiers/prompts.d.ts.map +0 -1
  156. package/dist/agents/simplifiers/prompts.js +0 -24
  157. package/dist/agents/simplifiers/prompts.js.map +0 -1
package/dist/ansi.js CHANGED
@@ -9,6 +9,15 @@ export const ANSI_RE = /\x1b\[[0-9;]*m/g;
9
9
  */
10
10
  // eslint-disable-next-line no-control-regex
11
11
  export const STRIP_ALL_ANSI_RE = /\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\x1b\[[0-?]*[ -/]*[@-~]|\x1b[PX^_][\s\S]*?\x1b\\|\x1b[=>NOM78c]/g;
12
+ // Sticky form of STRIP_ALL_ANSI_RE's alternation. Selection walkers use this
13
+ // to preserve terminal-control bytes verbatim while counting them as zero-width.
14
+ // Sticky (not `^`-anchored): matchAnsiEscapeAt sets `lastIndex` to probe at an
15
+ // arbitrary offset, where `^` would only ever match input start.
16
+ // eslint-disable-next-line no-control-regex
17
+ const ANSI_ESCAPE_AT_RE = /(?:\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\x1b\[[0-?]*[ -/]*[@-~]|\x1b[PX^_][\s\S]*?\x1b\\|\x1b[=>NOM78c])/y;
18
+ // eslint-disable-next-line no-control-regex
19
+ const C0_CONTROL_AT_RE = /[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/y;
20
+ const SGR_SEQUENCE_RE = /^\x1b\[[0-9;]*m$/;
12
21
  /**
13
22
  * BMP code points with Emoji_Presentation=Yes (Unicode 15.1), except
14
23
  * U+25B6/U+25C0 which terminals commonly render as 1-column text glyphs.
@@ -106,6 +115,217 @@ function isWideBmpEmoji(cp) {
106
115
  }
107
116
  return false;
108
117
  }
118
+ function glyphWidth(ch) {
119
+ const cp = ch.codePointAt(0);
120
+ if (cp === 0xFE0F)
121
+ return 0; // VS16 — no terminal width
122
+ return cp > 0xFFFF || isWideBmpEmoji(cp) ? 2 : 1;
123
+ }
124
+ export function matchAnsiEscapeAt(line, i) {
125
+ if (i < 0 || i >= line.length)
126
+ return 0;
127
+ ANSI_ESCAPE_AT_RE.lastIndex = i;
128
+ const escape = ANSI_ESCAPE_AT_RE.exec(line);
129
+ if (escape)
130
+ return escape[0].length;
131
+ C0_CONTROL_AT_RE.lastIndex = i;
132
+ const control = C0_CONTROL_AT_RE.exec(line);
133
+ return control ? control[0].length : 0;
134
+ }
135
+ function createSgrState() {
136
+ return {
137
+ bold: false,
138
+ dim: false,
139
+ italic: false,
140
+ underline: false,
141
+ blink: false,
142
+ inverse: false,
143
+ hidden: false,
144
+ strike: false,
145
+ fg: undefined,
146
+ bg: undefined,
147
+ residual: new Set(),
148
+ };
149
+ }
150
+ function resetSgrState(state) {
151
+ state.bold = false;
152
+ state.dim = false;
153
+ state.italic = false;
154
+ state.underline = false;
155
+ state.blink = false;
156
+ state.inverse = false;
157
+ state.hidden = false;
158
+ state.strike = false;
159
+ state.fg = undefined;
160
+ state.bg = undefined;
161
+ state.residual.clear();
162
+ }
163
+ function parseSgrNumber(raw) {
164
+ if (raw === undefined || !/^\d+$/.test(raw))
165
+ return undefined;
166
+ return Number(raw);
167
+ }
168
+ function setExtendedColor(state, target, params, index) {
169
+ const kind = target === "fg" ? "38" : "48";
170
+ const mode = parseSgrNumber(params[index + 1]);
171
+ if (mode === 5 && parseSgrNumber(params[index + 2]) !== undefined) {
172
+ state[target] = `${kind};5;${params[index + 2]}`;
173
+ return index + 3;
174
+ }
175
+ if (mode === 2
176
+ && parseSgrNumber(params[index + 2]) !== undefined
177
+ && parseSgrNumber(params[index + 3]) !== undefined
178
+ && parseSgrNumber(params[index + 4]) !== undefined) {
179
+ state[target] =
180
+ `${kind};2;${params[index + 2]};${params[index + 3]};${params[index + 4]}`;
181
+ return index + 5;
182
+ }
183
+ return undefined;
184
+ }
185
+ function applySgrSequence(state, sequence) {
186
+ const body = sequence.slice(2, -1);
187
+ const params = body.length === 0
188
+ ? ["0"]
189
+ : body.split(";").map((param) => param === "" ? "0" : param);
190
+ for (let i = 0; i < params.length;) {
191
+ const raw = params[i];
192
+ const code = parseSgrNumber(raw);
193
+ if (code === undefined) {
194
+ state.residual.add(raw);
195
+ i++;
196
+ continue;
197
+ }
198
+ if (code === 0) {
199
+ resetSgrState(state);
200
+ i++;
201
+ continue;
202
+ }
203
+ if (code === 1)
204
+ state.bold = true;
205
+ else if (code === 2)
206
+ state.dim = true;
207
+ else if (code === 3)
208
+ state.italic = true;
209
+ else if (code === 4)
210
+ state.underline = true;
211
+ else if (code === 5)
212
+ state.blink = true;
213
+ else if (code === 7)
214
+ state.inverse = true;
215
+ else if (code === 8)
216
+ state.hidden = true;
217
+ else if (code === 9)
218
+ state.strike = true;
219
+ else if (code === 22) {
220
+ state.bold = false;
221
+ state.dim = false;
222
+ }
223
+ else if (code === 23)
224
+ state.italic = false;
225
+ else if (code === 24)
226
+ state.underline = false;
227
+ else if (code === 25)
228
+ state.blink = false;
229
+ else if (code === 27)
230
+ state.inverse = false;
231
+ else if (code === 28)
232
+ state.hidden = false;
233
+ else if (code === 29)
234
+ state.strike = false;
235
+ else if ((code >= 30 && code <= 37) || (code >= 90 && code <= 97))
236
+ state.fg = raw;
237
+ else if (code === 38) {
238
+ const next = setExtendedColor(state, "fg", params, i);
239
+ if (next !== undefined) {
240
+ i = next;
241
+ continue;
242
+ }
243
+ state.residual.add(raw);
244
+ }
245
+ else if (code === 39)
246
+ state.fg = undefined;
247
+ else if ((code >= 40 && code <= 47) || (code >= 100 && code <= 107))
248
+ state.bg = raw;
249
+ else if (code === 48) {
250
+ const next = setExtendedColor(state, "bg", params, i);
251
+ if (next !== undefined) {
252
+ i = next;
253
+ continue;
254
+ }
255
+ state.residual.add(raw);
256
+ }
257
+ else if (code === 49)
258
+ state.bg = undefined;
259
+ else
260
+ state.residual.add(raw);
261
+ i++;
262
+ }
263
+ }
264
+ function sgrStateKey(state) {
265
+ return [
266
+ state.bold ? "1" : "",
267
+ state.dim ? "2" : "",
268
+ state.italic ? "3" : "",
269
+ state.underline ? "4" : "",
270
+ state.blink ? "5" : "",
271
+ state.inverse ? "7" : "",
272
+ state.hidden ? "8" : "",
273
+ state.strike ? "9" : "",
274
+ state.fg ?? "",
275
+ state.bg ?? "",
276
+ ...Array.from(state.residual).sort(),
277
+ ].join("|");
278
+ }
279
+ /**
280
+ * Deterministic change-detection key for the effective content and SGR
281
+ * attributes of cells in a 1-based inclusive terminal column range.
282
+ */
283
+ export function selectionCellKey(line, startCol, endCol) {
284
+ const start = Math.max(1, Math.floor(startCol));
285
+ const end = Math.max(0, Math.floor(endCol));
286
+ if (end < start)
287
+ return "[]";
288
+ const state = createSgrState();
289
+ const cells = [];
290
+ let col = 1;
291
+ let i = 0;
292
+ let lastGlyphSelected = false;
293
+ while (i < line.length) {
294
+ if (col > end) {
295
+ const ch = String.fromCodePoint(line.codePointAt(i));
296
+ if (glyphWidth(ch) !== 0 || !lastGlyphSelected || cells.length === 0)
297
+ break;
298
+ cells[cells.length - 1][1] += ch;
299
+ i += ch.length;
300
+ continue;
301
+ }
302
+ const escapeLength = matchAnsiEscapeAt(line, i);
303
+ if (escapeLength > 0) {
304
+ const sequence = line.slice(i, i + escapeLength);
305
+ if (SGR_SEQUENCE_RE.test(sequence))
306
+ applySgrSequence(state, sequence);
307
+ i += escapeLength;
308
+ continue;
309
+ }
310
+ const ch = String.fromCodePoint(line.codePointAt(i));
311
+ const width = glyphWidth(ch);
312
+ if (width === 0) {
313
+ if (lastGlyphSelected && cells.length > 0)
314
+ cells[cells.length - 1][1] += ch;
315
+ i += ch.length;
316
+ continue;
317
+ }
318
+ const glyphStart = col;
319
+ const glyphEnd = col + width - 1;
320
+ const selected = glyphEnd >= start && glyphStart <= end;
321
+ if (selected)
322
+ cells.push([sgrStateKey(state), ch]);
323
+ lastGlyphSelected = selected;
324
+ col += width;
325
+ i += ch.length;
326
+ }
327
+ return JSON.stringify(cells);
328
+ }
109
329
  /**
110
330
  * Measure the visible terminal width of a string.
111
331
  * Strips ANSI escape sequences, then iterates code points:
@@ -118,15 +338,7 @@ export function visibleLength(s) {
118
338
  const stripped = s.replace(ANSI_RE, "");
119
339
  let width = 0;
120
340
  for (const ch of stripped) {
121
- const cp = ch.codePointAt(0);
122
- if (cp === 0xFE0F)
123
- continue; // VS16 — no terminal width
124
- if (cp > 0xFFFF || isWideBmpEmoji(cp)) {
125
- width += 2;
126
- }
127
- else {
128
- width += 1;
129
- }
341
+ width += glyphWidth(ch);
130
342
  }
131
343
  return width;
132
344
  }
@@ -160,6 +372,8 @@ export const ALT_SCREEN_ON = "\x1b[?1049h";
160
372
  export const ALT_SCREEN_OFF = "\x1b[?1049l";
161
373
  export const red = "\x1b[31m";
162
374
  export const invert = "\x1b[7m";
375
+ export const SELECTION_BACKGROUND_SGR = "\x1b[48;5;24m";
376
+ export const SELECTION_BACKGROUND_RESET_SGR = "\x1b[49m";
163
377
  export function applyBlockCursor(line, visibleCol) {
164
378
  const targetCol = Math.max(0, visibleCol);
165
379
  let col = 0;
@@ -175,6 +389,117 @@ export function applyBlockCursor(line, visibleCol) {
175
389
  }
176
390
  return `${line}${invert} ${reset}`;
177
391
  }
392
+ /** Extract plain visible text from a 1-based inclusive terminal column range. */
393
+ export function extractVisibleRange(line, startCol, endCol) {
394
+ const start = Math.max(1, Math.floor(startCol));
395
+ const end = Math.max(0, Math.floor(endCol));
396
+ if (end < start)
397
+ return "";
398
+ let out = "";
399
+ let col = 1;
400
+ let i = 0;
401
+ let lastGlyphSelected = false;
402
+ while (i < line.length) {
403
+ const escapeLength = matchAnsiEscapeAt(line, i);
404
+ if (escapeLength > 0) {
405
+ i += escapeLength;
406
+ continue;
407
+ }
408
+ const ch = String.fromCodePoint(line.codePointAt(i));
409
+ const width = glyphWidth(ch);
410
+ if (width === 0) {
411
+ if (lastGlyphSelected)
412
+ out += ch;
413
+ i += ch.length;
414
+ continue;
415
+ }
416
+ const glyphStart = col;
417
+ const glyphEnd = col + width - 1;
418
+ const selected = glyphEnd >= start && glyphStart <= end;
419
+ if (selected)
420
+ out += ch;
421
+ lastGlyphSelected = selected;
422
+ col += width;
423
+ i += ch.length;
424
+ }
425
+ return out;
426
+ }
427
+ function backgroundRestoreSgr(bg) {
428
+ return bg === undefined ? SELECTION_BACKGROUND_RESET_SGR : `\x1b[${bg}m`;
429
+ }
430
+ /** Apply the app-owned selection background over a 1-based inclusive terminal column range. */
431
+ export function applySelectionBackgroundRange(line, startCol, endCol) {
432
+ const start = Math.max(1, Math.floor(startCol));
433
+ const end = Math.max(0, Math.floor(endCol));
434
+ if (end < start)
435
+ return line;
436
+ let out = "";
437
+ const state = createSgrState();
438
+ let col = 1;
439
+ let i = 0;
440
+ let inside = false;
441
+ let lastGlyphSelected = false;
442
+ const enter = () => {
443
+ if (!inside) {
444
+ out += SELECTION_BACKGROUND_SGR;
445
+ inside = true;
446
+ }
447
+ };
448
+ const leave = () => {
449
+ if (inside) {
450
+ out += backgroundRestoreSgr(state.bg);
451
+ inside = false;
452
+ }
453
+ };
454
+ while (i < line.length) {
455
+ const escapeLength = matchAnsiEscapeAt(line, i);
456
+ if (escapeLength > 0) {
457
+ const sequence = line.slice(i, i + escapeLength);
458
+ out += sequence;
459
+ if (SGR_SEQUENCE_RE.test(sequence)) {
460
+ applySgrSequence(state, sequence);
461
+ if (inside)
462
+ out += SELECTION_BACKGROUND_SGR;
463
+ }
464
+ i += escapeLength;
465
+ continue;
466
+ }
467
+ const ch = String.fromCodePoint(line.codePointAt(i));
468
+ const width = glyphWidth(ch);
469
+ if (width === 0) {
470
+ if (lastGlyphSelected)
471
+ enter();
472
+ out += ch;
473
+ i += ch.length;
474
+ continue;
475
+ }
476
+ const glyphStart = col;
477
+ const glyphEnd = col + width - 1;
478
+ const selected = glyphEnd >= start && glyphStart <= end;
479
+ if (selected)
480
+ enter();
481
+ else
482
+ leave();
483
+ out += ch;
484
+ lastGlyphSelected = selected;
485
+ col += width;
486
+ i += ch.length;
487
+ }
488
+ if (col <= end) {
489
+ const plainPad = Math.max(0, start - col);
490
+ if (plainPad > 0) {
491
+ leave();
492
+ out += " ".repeat(plainPad);
493
+ col += plainPad;
494
+ }
495
+ if (col <= end) {
496
+ enter();
497
+ out += " ".repeat(end - col + 1);
498
+ }
499
+ }
500
+ leave();
501
+ return out;
502
+ }
178
503
  /** CSI (Control Sequence Introducer) prefix for ANSI escape sequences. */
179
504
  export const CSI = "\x1b[";
180
505
  /** CSI Z — Shift+Tab (cycle / back-tab). */
package/dist/ansi.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAEzC;;;;;;GAMG;AACH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,iBAAiB,GAC5B,oGAAoG,CAAC;AAEvG;;;;;GAKG;AACH,MAAM,cAAc,GAAuB;IACzC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,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"}
1
+ {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC;AAEzC;;;;;;GAMG;AACH,4CAA4C;AAC5C,MAAM,CAAC,MAAM,iBAAiB,GAC5B,oGAAoG,CAAC;AAEvG,6EAA6E;AAC7E,iFAAiF;AACjF,+EAA+E;AAC/E,iEAAiE;AACjE,4CAA4C;AAC5C,MAAM,iBAAiB,GACrB,wGAAwG,CAAC;AAE3G,4CAA4C;AAC5C,MAAM,gBAAgB,GAAG,mCAAmC,CAAC;AAC7D,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,cAAc,GAAuB;IACzC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK;IACvB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IACxB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACtB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IAC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"}
@@ -20,6 +20,7 @@ export type OutdatedTarget = PolyWeaverUpdateInfo | AgentUpdateInfo;
20
20
  export interface CheckAllUpdatesDeps {
21
21
  checkForUpdate?: () => Promise<UpdateInfo | null>;
22
22
  execAsync?: ExecAsync;
23
+ readNpmMinReleaseAge?: () => Promise<string | undefined>;
23
24
  platform?: NodeJS.Platform;
24
25
  stderr?: Pick<NodeJS.WriteStream, "write" | "isTTY">;
25
26
  wingetRetrySleep?: (ms: number) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"check-agent-updates.d.ts","sourceRoot":"","sources":["../../src/auto-update/check-agent-updates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAML,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,KAAK,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,eAAe,CAAC;AAEpE,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAClD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IACrD,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAClD;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,kBAAkB,EAAE,OAAO,EAC3B,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,cAAc,EAAE,CAAC,CA6D3B;AAuFD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIzE"}
1
+ {"version":3,"file":"check-agent-updates.d.ts","sourceRoot":"","sources":["../../src/auto-update/check-agent-updates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,KAAK,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,eAAe,CAAC;AAEpE,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAClD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;IACrD,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;CAClD;AAKD,wBAAsB,eAAe,CACnC,QAAQ,EAAE,kBAAkB,EAC5B,kBAAkB,EAAE,OAAO,EAC3B,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,cAAc,EAAE,CAAC,CAgE3B;AAiLD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIzE"}
@@ -1,9 +1,10 @@
1
1
  import { checkForUpdate as checkForPolyWeaverUpdate } from "../update-check.js";
2
+ import { isRecord } from "../providers/trust-utils.js";
2
3
  import { compareVersions, parseVersion } from "../providers/version.js";
3
4
  import { createBudget, execTimeoutMs, } from "./budget.js";
4
5
  import { UPDATE_CHECK_STAGE_BUDGET_MS, WINGET_MAX_ATTEMPTS } from "./timeouts.js";
5
6
  import { wingetExecWithRetry } from "./winget-retry.js";
6
- import { AGENT_ORDER, AGENT_PACKAGE_NPM, AGENT_PACKAGE_WINGET, AGENT_PRODUCT_NAME, } from "./detect-agents.js";
7
+ import { AGENT_ORDER, AGENT_PACKAGE_NPM, AGENT_PACKAGE_WINGET, AGENT_PRODUCT_NAME, firstNonEmptyLine, } from "./detect-agents.js";
7
8
  export async function checkAllUpdates(detected, isPolyWeaverGlobal, deps = {}) {
8
9
  const checkForUpdate = deps.checkForUpdate ?? checkForPolyWeaverUpdate;
9
10
  const stderr = deps.stderr ?? process.stderr;
@@ -17,16 +18,19 @@ export async function checkAllUpdates(detected, isPolyWeaverGlobal, deps = {}) {
17
18
  try {
18
19
  const byName = new Map(detected.agents.map((agent) => [agent.name, agent]));
19
20
  const byNameUnsupported = new Map(detected.unsupported.map((agent) => [agent.name, agent]));
21
+ const getNpmMinReleaseAgeStatus = createNpmMinReleaseAgeStatusResolver(deps, stage);
20
22
  const updatePromises = [
21
23
  stage.guard(isPolyWeaverGlobal ? checkForUpdate() : Promise.resolve(null), () => null),
22
24
  ...AGENT_ORDER.map((name) => {
23
25
  const agent = byName.get(name);
24
- return stage.guard(agent ? checkAgentUpdate(agent, deps, stage) : Promise.resolve(null), () => null);
26
+ return stage.guard(agent
27
+ ? checkAgentUpdate(agent, deps, stage, getNpmMinReleaseAgeStatus)
28
+ : Promise.resolve(null), () => null);
25
29
  }),
26
30
  ...AGENT_ORDER.map((name) => {
27
31
  const agent = byNameUnsupported.get(name);
28
32
  return stage.guard(agent
29
- ? checkAgentUpdate(agent, deps, stage, { unsupported: true })
33
+ ? checkAgentUpdate(agent, deps, stage, getNpmMinReleaseAgeStatus, { unsupported: true })
30
34
  : Promise.resolve(null), () => null);
31
35
  }),
32
36
  ];
@@ -52,12 +56,12 @@ export async function checkAllUpdates(detected, isPolyWeaverGlobal, deps = {}) {
52
56
  stderr.write("\r\x1b[2K");
53
57
  }
54
58
  }
55
- async function checkAgentUpdate(agent, deps, stage, opts = {}) {
59
+ async function checkAgentUpdate(agent, deps, stage, getNpmMinReleaseAgeStatus, opts = {}) {
56
60
  const installMethod = pickManager(agent);
57
61
  if (installMethod === null)
58
62
  return null;
59
63
  const latest = installMethod === "npm"
60
- ? await queryNpmLatest(agent.name, deps, stage)
64
+ ? await queryNpmLatest(agent.name, deps, stage, getNpmMinReleaseAgeStatus)
61
65
  : await queryWingetLatest(agent.name, deps, stage);
62
66
  return buildAgentUpdate(agent, latest, installMethod, opts.unsupported === true);
63
67
  }
@@ -89,13 +93,23 @@ function buildAgentUpdate(agent, latest, installMethod, unsupported) {
89
93
  update.unsupported = true;
90
94
  return update;
91
95
  }
92
- async function queryNpmLatest(name, deps, stage) {
96
+ async function queryNpmLatest(name, deps, stage, getNpmMinReleaseAgeStatus) {
97
+ const packageName = AGENT_PACKAGE_NPM[name];
98
+ const minReleaseAgeStatus = await getNpmMinReleaseAgeStatus();
99
+ if (minReleaseAgeStatus === "unknown")
100
+ return undefined;
101
+ if (minReleaseAgeStatus === "active") {
102
+ return execNpmLatest(`npm install -g ${packageName}@latest --dry-run --json`, (stdout) => parseNpmDryRunResolvedVersion(stdout, packageName), deps, stage);
103
+ }
104
+ return execNpmLatest(`npm view ${packageName} version`, parseVersion, deps, stage);
105
+ }
106
+ async function execNpmLatest(command, parse, deps, stage) {
93
107
  const execAsync = deps.execAsync ?? defaultExecAsync;
94
108
  try {
95
- const result = await execAsync(`npm view ${AGENT_PACKAGE_NPM[name]} version`, {
109
+ const result = await execAsync(command, {
96
110
  timeout: execTimeoutMs(stage),
97
111
  });
98
- return parseVersion(result.stdout);
112
+ return parse(result.stdout);
99
113
  }
100
114
  catch {
101
115
  return undefined;
@@ -117,6 +131,64 @@ async function queryWingetLatest(name, deps, stage) {
117
131
  return parseWingetShowVersion(stdoutFromError(err));
118
132
  }
119
133
  }
134
+ function createNpmMinReleaseAgeStatusResolver(deps, stage) {
135
+ let promise;
136
+ return () => {
137
+ promise ??= readNpmMinReleaseAgeStatus(deps, stage);
138
+ return promise;
139
+ };
140
+ }
141
+ async function readNpmMinReleaseAgeStatus(deps, stage) {
142
+ try {
143
+ if (deps.readNpmMinReleaseAge) {
144
+ return parseNpmMinReleaseAgeStatus(await deps.readNpmMinReleaseAge());
145
+ }
146
+ const execAsync = deps.execAsync ?? defaultExecAsync;
147
+ const result = await execAsync("npm config get min-release-age", {
148
+ timeout: execTimeoutMs(stage),
149
+ });
150
+ return parseNpmMinReleaseAgeStatus(result.stdout);
151
+ }
152
+ catch {
153
+ return "unknown";
154
+ }
155
+ }
156
+ function parseNpmMinReleaseAgeStatus(raw) {
157
+ const seconds = Number(firstNonEmptyLine(raw ?? ""));
158
+ return Number.isFinite(seconds) && seconds > 0 ? "active" : "inactive";
159
+ }
160
+ function parseNpmDryRunResolvedVersion(stdout, packageName) {
161
+ const jsonStart = stdout.indexOf("{");
162
+ if (jsonStart === -1)
163
+ return undefined;
164
+ let summary;
165
+ try {
166
+ summary = JSON.parse(stdout.slice(jsonStart));
167
+ }
168
+ catch {
169
+ return undefined;
170
+ }
171
+ if (!isRecord(summary))
172
+ return undefined;
173
+ for (const change of Array.isArray(summary.change) ? summary.change : []) {
174
+ const parsed = parseNpmRefVersion(isRecord(change) ? change.to : undefined, packageName);
175
+ if (parsed)
176
+ return parsed;
177
+ }
178
+ for (const ref of Array.isArray(summary.add) ? summary.add : []) {
179
+ const parsed = parseNpmRefVersion(ref, packageName);
180
+ if (parsed)
181
+ return parsed;
182
+ }
183
+ return undefined;
184
+ }
185
+ function parseNpmRefVersion(ref, packageName) {
186
+ if (!isRecord(ref))
187
+ return undefined;
188
+ if (ref.name !== packageName || typeof ref.version !== "string")
189
+ return undefined;
190
+ return parseVersion(ref.version);
191
+ }
120
192
  export function parseWingetShowVersion(stdout) {
121
193
  const match = /^Version:\s+(\S+)/m.exec(stdout);
122
194
  if (!match)
@@ -1 +1 @@
1
- {"version":3,"file":"check-agent-updates.js","sourceRoot":"","sources":["../../src/auto-update/check-agent-updates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-agent-updates.js","sourceRoot":"","sources":["../../src/auto-update/check-agent-updates.ts"],"names":[],"mappings":"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"}
@@ -82,5 +82,6 @@ export declare function runPreflight(opts: {
82
82
  export declare function detectCliVersion(command: string, args: string[], deps?: DetectAgentsDeps, timeoutMs?: number): Promise<string | undefined | false>;
83
83
  export declare function checkNodePty(deps?: DetectAgentsDeps): Promise<NodePtyResult>;
84
84
  export declare function parseNpmGlobalPackages(stdout: string): Set<string>;
85
+ export declare function firstNonEmptyLine(stdout: string): string | undefined;
85
86
  export declare function wingetOutputContainsId(stdout: string, id: string): boolean;
86
87
  //# sourceMappingURL=detect-agents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect-agents.d.ts","sourceRoot":"","sources":["../../src/auto-update/detect-agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect-agents.d.ts","sourceRoot":"","sources":["../../src/auto-update/detect-agents.ts"],"names":[],"mappings":"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"}