@newrelic/preflight 1.59.2 → 1.59.4

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 (47) hide show
  1. package/dist/dashboard/routes/api-handler.d.ts.map +1 -1
  2. package/dist/dashboard/routes/api-handler.js +38 -14
  3. package/dist/dashboard/routes/api-handler.js.map +1 -1
  4. package/dist/hooks/collector-script.d.ts.map +1 -1
  5. package/dist/hooks/collector-script.js +46 -6
  6. package/dist/hooks/collector-script.js.map +1 -1
  7. package/dist/hooks/tool-parsers.d.ts.map +1 -1
  8. package/dist/hooks/tool-parsers.js +8 -0
  9. package/dist/hooks/tool-parsers.js.map +1 -1
  10. package/dist/install/cli.d.ts +0 -1
  11. package/dist/install/cli.d.ts.map +1 -1
  12. package/dist/install/cli.js +13 -72
  13. package/dist/install/cli.js.map +1 -1
  14. package/dist/install/diagnostics.d.ts.map +1 -1
  15. package/dist/install/diagnostics.js +22 -1
  16. package/dist/install/diagnostics.js.map +1 -1
  17. package/dist/install/setup-wizard.d.ts.map +1 -1
  18. package/dist/install/setup-wizard.js +9 -2
  19. package/dist/install/setup-wizard.js.map +1 -1
  20. package/dist/install/update-support.d.ts +20 -0
  21. package/dist/install/update-support.d.ts.map +1 -0
  22. package/dist/install/update-support.js +86 -0
  23. package/dist/install/update-support.js.map +1 -0
  24. package/dist/metrics/git-activity-recorder.d.ts +7 -0
  25. package/dist/metrics/git-activity-recorder.d.ts.map +1 -1
  26. package/dist/metrics/git-activity-recorder.js +69 -9
  27. package/dist/metrics/git-activity-recorder.js.map +1 -1
  28. package/dist/metrics/git-event-classifier.d.ts +54 -3
  29. package/dist/metrics/git-event-classifier.d.ts.map +1 -1
  30. package/dist/metrics/git-event-classifier.js +199 -5
  31. package/dist/metrics/git-event-classifier.js.map +1 -1
  32. package/dist/metrics/git-workspace-reporter.d.ts.map +1 -1
  33. package/dist/metrics/git-workspace-reporter.js +2 -0
  34. package/dist/metrics/git-workspace-reporter.js.map +1 -1
  35. package/dist/metrics/local-session-aggregator.d.ts +26 -0
  36. package/dist/metrics/local-session-aggregator.d.ts.map +1 -1
  37. package/dist/metrics/local-session-aggregator.js +79 -12
  38. package/dist/metrics/local-session-aggregator.js.map +1 -1
  39. package/dist/metrics/session-status.d.ts +1 -1
  40. package/dist/metrics/session-status.d.ts.map +1 -1
  41. package/dist/storage/session-store.d.ts.map +1 -1
  42. package/dist/storage/session-store.js +6 -0
  43. package/dist/storage/session-store.js.map +1 -1
  44. package/dist/storage/types.d.ts +6 -0
  45. package/dist/storage/types.d.ts.map +1 -1
  46. package/dist/storage/types.js.map +1 -1
  47. package/package.json +1 -1
@@ -39,12 +39,63 @@ export type GitEventType = 'merge_conflict' | 'rebase_conflict' | 'merge_abort'
39
39
  * be shadowed by.
40
40
  */
41
41
  export declare function classifyGitCommand(command: string, record: ToolCallRecord, resolveRepo: (dir: string | null) => string | null, targetDir?: string | null): GitEvent;
42
- /** Splits a shell command into its top-level segments on `||`, `&&`, `;`,
43
- * `|`, and newline. Strip heredoc bodies first so a surviving newline really
44
- * does start a new command. */
42
+ /** A shell command's segments and the operators between them:
43
+ * `operators[i]` joins `segments[i]` to `segments[i + 1]`. */
44
+ export interface ShellChain {
45
+ readonly segments: readonly string[];
46
+ readonly operators: readonly string[];
47
+ /** False when a quote never closed, so where each segment ends is a guess
48
+ * (see `splitShellChain`). */
49
+ readonly quotesBalanced: boolean;
50
+ }
51
+ /**
52
+ * Splits a shell command on its top-level `||`, `&&`, `;`, `|`, `&` and
53
+ * newline operators, read the way bash reads them. An operator inside quotes
54
+ * or a comment is text. A `#` at the start of the command, after an operator
55
+ * or after a `WORD_BREAK_RE` character starts a comment, which runs to the end
56
+ * of its line and is left out of the segment. A backslash-newline joins two
57
+ * lines, and after `||`, `&&` or `|` the line breaks and comment lines before
58
+ * the next command are skipped, so every segment begins at its command.
59
+ * Segments are not trimmed. `|&` is reported as `|`, and the `&` of a
60
+ * redirection (`2>&1`, `&>file`) is not an operator. Strip heredoc bodies
61
+ * first so a surviving newline really does start a new command.
62
+ *
63
+ * bash stops with an error at a quote that never closes, so meeting one in a
64
+ * command that succeeded means this scan misread it, as it does `$'it\'s'`.
65
+ * Such a command is split on every operator, quoted or commented, which keeps
66
+ * every command it holds, and `quotesBalanced` is false.
67
+ */
68
+ export declare function splitShellChain(command: string): ShellChain;
69
+ /** The segments of `splitShellChain`, without the operators. */
45
70
  export declare function splitShellSegments(command: string): string[];
46
71
  /** The PrEvent a `gh pr <verb>` segment denotes, or null when it is not one. */
47
72
  export declare function processGhCommand(command: string, timestamp: number): PrEvent | null;
73
+ /** True when a `gh` segment names its repo explicitly, so a PR number in it
74
+ * may belong to a repo other than the cwd's. */
75
+ export declare function ghSegmentOverridesRepo(segment: string): boolean;
76
+ /** True when a `gh pr merge` segment only enables or disables auto-merge. */
77
+ export declare function ghPrMergeTogglesAuto(segment: string): boolean;
78
+ /** True when a segment runs no command of its own. */
79
+ export declare function segmentRunsNoCommand(segment: string): boolean;
80
+ /**
81
+ * True when the command succeeding means its segment `index` ran and
82
+ * succeeded. A hook reports one exit status for the whole command, so that
83
+ * holds only when the segment's own status decides it: the segment is not
84
+ * piped into anything or put in the background, neither it nor a group
85
+ * around it is the fallback of a `||`, and nothing follows it except `&&`
86
+ * steps, which run only if it succeeded. A trailing `;` or newline runs
87
+ * nothing more and is ignored. bash can't end a list on `||`, `&&` or `|`,
88
+ * so a segment that runs nothing after one of those means text was stripped
89
+ * or misread, and the merge doesn't count. A chain whose quotes did not
90
+ * balance shows none of this.
91
+ */
92
+ export declare function segmentSuccessFollowsCommand(chain: ShellChain, index: number): boolean;
93
+ /** The directory a segment's leading `cd` or `pushd` moves to: `''` for a
94
+ * bare one (`cd` goes home), null when the segment does not start with one. */
95
+ export declare function cdSegmentTarget(segment: string): string | null;
96
+ /** True when a segment assigns `GH_REPO`, which can point the gh calls after
97
+ * it at another repo. */
98
+ export declare function segmentAssignsGhRepo(segment: string): boolean;
48
99
  export interface ClassifiedGitSegment {
49
100
  readonly segment: string;
50
101
  readonly event: GitEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"git-event-classifier.d.ts","sourceRoot":"","sources":["../../src/metrics/git-event-classifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAwE3D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,kEAAkE;IAClE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,qEAAqE;IACrE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;2EAGuE;IACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,MAAM,YAAY,GACpB,gBAAgB,GAChB,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,mBAAmB,GACnB,YAAY,GACZ,kBAAkB,GAClB,YAAY,GACZ,iBAAiB,GACjB,MAAM,GACN,OAAO,GACP,MAAM,GACN,eAAe,GACf,OAAO,GACP,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,KAAK,GACL,UAAU,GACV,WAAW,CAAC;AAMhB;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,IAAI,EAClD,SAAS,GAAE,MAAM,GAAG,IAAqE,GACxF,QAAQ,CA8CV;AA4BD;;gCAEgC;AAChC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAE5D;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAMnF;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,IAAI,GACjD,oBAAoB,EAAE,CAOxB"}
1
+ {"version":3,"file":"git-event-classifier.d.ts","sourceRoot":"","sources":["../../src/metrics/git-event-classifier.ts"],"names":[],"mappings":"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"}
@@ -146,7 +146,9 @@ const GIT_SEGMENT_RE = new RegExp(String.raw `^\s*${ENV_PREFIX}(?:\S*\/)?git\s+`
146
146
  // Anchored the same way so a segment that only mentions "gh pr create"
147
147
  // partway through (a piped JSON fixture, a `gh pr comment` body, a commit
148
148
  // message) never matches.
149
- const GH_PR_COMMAND_RE = new RegExp(String.raw `^\s*${ENV_PREFIX}gh\s+pr\s+(\w+)\b(?:\s+(\d+))?`);
149
+ // The number must end its word, so `gh pr merge 123-fix-login` names a
150
+ // branch, not #123; a `)` closing a subshell also ends it.
151
+ const GH_PR_COMMAND_RE = new RegExp(String.raw `^\s*${ENV_PREFIX}gh\s+pr\s+(\w+)\b(?:\s+(\d+)(?=[\s)]|$))?`);
150
152
  /** `gh pr <verb>` actions this tracks; any other verb returns null. */
151
153
  const GH_PR_VERB_ACTION = {
152
154
  create: 'create',
@@ -156,11 +158,112 @@ const GH_PR_VERB_ACTION = {
156
158
  edit: 'edit',
157
159
  view: 'view',
158
160
  };
159
- /** Splits a shell command into its top-level segments on `||`, `&&`, `;`,
160
- * `|`, and newline. Strip heredoc bodies first so a surviving newline really
161
- * does start a new command. */
161
+ // Line breaks, blank lines and comment lines right after `||`, `&&` or `|`,
162
+ // where bash reads on to the next line for the rest of the command.
163
+ const CONTINUED_LINES_RE = /(?:[ \t]*(?:#[^\n]*)?\n)+/y;
164
+ // Characters that end a word. `)` is left out because it also closes a
165
+ // `$( … )` inside a word.
166
+ const WORD_BREAK_RE = /[ \t(<>]/;
167
+ /**
168
+ * Splits a shell command on its top-level `||`, `&&`, `;`, `|`, `&` and
169
+ * newline operators, read the way bash reads them. An operator inside quotes
170
+ * or a comment is text. A `#` at the start of the command, after an operator
171
+ * or after a `WORD_BREAK_RE` character starts a comment, which runs to the end
172
+ * of its line and is left out of the segment. A backslash-newline joins two
173
+ * lines, and after `||`, `&&` or `|` the line breaks and comment lines before
174
+ * the next command are skipped, so every segment begins at its command.
175
+ * Segments are not trimmed. `|&` is reported as `|`, and the `&` of a
176
+ * redirection (`2>&1`, `&>file`) is not an operator. Strip heredoc bodies
177
+ * first so a surviving newline really does start a new command.
178
+ *
179
+ * bash stops with an error at a quote that never closes, so meeting one in a
180
+ * command that succeeded means this scan misread it, as it does `$'it\'s'`.
181
+ * Such a command is split on every operator, quoted or commented, which keeps
182
+ * every command it holds, and `quotesBalanced` is false.
183
+ */
184
+ export function splitShellChain(command) {
185
+ const chain = scanShellChain(command, true);
186
+ return chain.quotesBalanced
187
+ ? chain
188
+ : { ...scanShellChain(command, false), quotesBalanced: false };
189
+ }
190
+ /** `splitShellChain`'s scan. With `readQuotes` false, quote characters and
191
+ * `#` are plain text. */
192
+ function scanShellChain(command, readQuotes) {
193
+ const segments = [];
194
+ const operators = [];
195
+ let current = '';
196
+ let quote = null;
197
+ let wordStart = true;
198
+ for (let i = 0; i < command.length; i++) {
199
+ const ch = command[i];
200
+ if (quote === "'") {
201
+ current += ch;
202
+ if (ch === "'")
203
+ quote = null;
204
+ continue;
205
+ }
206
+ if (ch === '\\') {
207
+ if (command[i + 1] !== '\n') {
208
+ current += command.slice(i, i + 2);
209
+ wordStart = false;
210
+ }
211
+ i++;
212
+ continue;
213
+ }
214
+ if (quote === '"') {
215
+ current += ch;
216
+ if (ch === '"')
217
+ quote = null;
218
+ continue;
219
+ }
220
+ if (readQuotes && (ch === '"' || ch === "'")) {
221
+ current += ch;
222
+ quote = ch;
223
+ wordStart = false;
224
+ continue;
225
+ }
226
+ if (readQuotes && ch === '#' && wordStart) {
227
+ const lineEnd = command.indexOf('\n', i);
228
+ i = (lineEnd === -1 ? command.length : lineEnd) - 1;
229
+ continue;
230
+ }
231
+ const pair = command.slice(i, i + 2);
232
+ let operator;
233
+ if (pair === '||' || pair === '&&' || pair === '|&') {
234
+ operator = pair === '|&' ? '|' : pair;
235
+ i++;
236
+ }
237
+ else if (ch === '|' || ch === ';' || ch === '\n') {
238
+ operator = ch;
239
+ }
240
+ else if (ch === '&' &&
241
+ command[i - 1] !== '>' &&
242
+ command[i - 1] !== '<' &&
243
+ command[i + 1] !== '>') {
244
+ operator = ch;
245
+ }
246
+ else {
247
+ current += ch;
248
+ wordStart = WORD_BREAK_RE.test(ch);
249
+ continue;
250
+ }
251
+ segments.push(current);
252
+ operators.push(operator);
253
+ current = '';
254
+ wordStart = true;
255
+ if (operator === '||' || operator === '&&' || operator === '|') {
256
+ CONTINUED_LINES_RE.lastIndex = i + 1;
257
+ if (CONTINUED_LINES_RE.test(command))
258
+ i = CONTINUED_LINES_RE.lastIndex - 1;
259
+ }
260
+ }
261
+ segments.push(current);
262
+ return { segments, operators, quotesBalanced: quote === null };
263
+ }
264
+ /** The segments of `splitShellChain`, without the operators. */
162
265
  export function splitShellSegments(command) {
163
- return command.split(/\|\||&&|;|\||\n/);
266
+ return [...splitShellChain(command).segments];
164
267
  }
165
268
  /** The PrEvent a `gh pr <verb>` segment denotes, or null when it is not one. */
166
269
  export function processGhCommand(command, timestamp) {
@@ -172,6 +275,97 @@ export function processGhCommand(command, timestamp) {
172
275
  return null;
173
276
  return { timestamp, action, prNumber: match[2] ?? null };
174
277
  }
278
+ // `-R`/`--repo` and a `GH_REPO=` prefix point gh at a repo other than the
279
+ // cwd's. Any short-flag cluster holding an `R` (`-dR`) counts too, which errs
280
+ // toward treating the segment as aimed elsewhere.
281
+ const GH_REPO_OVERRIDE_RE = /(?:^|\s)(?:-[A-Za-z]*R|--repo(?=[\s=]|$)|GH_REPO=)/;
282
+ // `--auto` queues a merge until its requirements pass and `--disable-auto`
283
+ // cancels one, so neither merged anything when it ran.
284
+ const GH_PR_AUTO_MERGE_RE = /(?:^|\s)--(?:auto|disable-auto)(?=[\s=]|$)/;
285
+ /** True when a `gh` segment names its repo explicitly, so a PR number in it
286
+ * may belong to a repo other than the cwd's. */
287
+ export function ghSegmentOverridesRepo(segment) {
288
+ return GH_REPO_OVERRIDE_RE.test(segment);
289
+ }
290
+ /** True when a `gh pr merge` segment only enables or disables auto-merge. */
291
+ export function ghPrMergeTogglesAuto(segment) {
292
+ return GH_PR_AUTO_MERGE_RE.test(segment);
293
+ }
294
+ // Blank, a comment, or only the `)`/`}` closing groups that end with the
295
+ // segment before it.
296
+ const NO_COMMAND_RE = /^[\s)}]*(?:#[^\n]*)?$/;
297
+ const QUOTED_SPAN_RE = /"(?:[^"\\]|\\.)*"|'[^']*'/g;
298
+ /** Net groups (`( … )`, `{ … }`, `$( … )`) a segment opens, ignoring quoted
299
+ * brackets. */
300
+ function groupsOpened(segment) {
301
+ const bare = segment.replace(QUOTED_SPAN_RE, '');
302
+ return (bare.match(/[({]/g)?.length ?? 0) - (bare.match(/[)}]/g)?.length ?? 0);
303
+ }
304
+ /** True when a segment runs no command of its own. */
305
+ export function segmentRunsNoCommand(segment) {
306
+ return NO_COMMAND_RE.test(segment);
307
+ }
308
+ /**
309
+ * True when the command succeeding means its segment `index` ran and
310
+ * succeeded. A hook reports one exit status for the whole command, so that
311
+ * holds only when the segment's own status decides it: the segment is not
312
+ * piped into anything or put in the background, neither it nor a group
313
+ * around it is the fallback of a `||`, and nothing follows it except `&&`
314
+ * steps, which run only if it succeeded. A trailing `;` or newline runs
315
+ * nothing more and is ignored. bash can't end a list on `||`, `&&` or `|`,
316
+ * so a segment that runs nothing after one of those means text was stripped
317
+ * or misread, and the merge doesn't count. A chain whose quotes did not
318
+ * balance shows none of this.
319
+ */
320
+ export function segmentSuccessFollowsCommand(chain, index) {
321
+ const { segments, operators } = chain;
322
+ if (!chain.quotesBalanced)
323
+ return false;
324
+ let lastRun = operators.length;
325
+ while (lastRun > index &&
326
+ segmentRunsNoCommand(segments[lastRun]) &&
327
+ (operators[lastRun - 1] === ';' || operators[lastRun - 1] === '\n')) {
328
+ lastRun--;
329
+ }
330
+ for (let j = index; j < lastRun; j++) {
331
+ // `&& x | y` is one `&&` step.
332
+ if (operators[j] !== '&&' && (operators[j] !== '|' || j === index))
333
+ return false;
334
+ if (segmentRunsNoCommand(segments[j + 1]))
335
+ return false;
336
+ }
337
+ // The segment, then the segment opening each group it sits in.
338
+ const starts = [index];
339
+ let opened = 0;
340
+ for (let j = index - 1; j >= 0; j--) {
341
+ opened += groupsOpened(segments[j]);
342
+ if (opened > 0) {
343
+ starts.push(j);
344
+ opened = 0;
345
+ }
346
+ }
347
+ return starts.every((start) => {
348
+ let pipelineStart = start;
349
+ while (pipelineStart > 0 && operators[pipelineStart - 1] === '|')
350
+ pipelineStart--;
351
+ return pipelineStart === 0 || operators[pipelineStart - 1] !== '||';
352
+ });
353
+ }
354
+ // `cd [dir]` or `pushd [dir]` opening a segment, including as the first
355
+ // command of a subshell or brace group and behind `builtin` or `command`.
356
+ const CD_SEGMENT_RE = /^[\s({]*(?:(?:builtin|command)\s+)?(?:cd|pushd)(?:\s+(?:"([^"]*)"|'([^']*)'|([^\s;)}]+)))?(?=[\s;)}]|$)/;
357
+ const GH_REPO_ASSIGNMENT_RE = /(?:^|\s)GH_REPO=/;
358
+ /** The directory a segment's leading `cd` or `pushd` moves to: `''` for a
359
+ * bare one (`cd` goes home), null when the segment does not start with one. */
360
+ export function cdSegmentTarget(segment) {
361
+ const match = CD_SEGMENT_RE.exec(segment);
362
+ return match ? (match[1] ?? match[2] ?? match[3] ?? '') : null;
363
+ }
364
+ /** True when a segment assigns `GH_REPO`, which can point the gh calls after
365
+ * it at another repo. */
366
+ export function segmentAssignsGhRepo(segment) {
367
+ return GH_REPO_ASSIGNMENT_RE.test(segment);
368
+ }
175
369
  /**
176
370
  * Classifies every git segment of a heredoc-stripped shell command, so a
177
371
  * chained `git commit -m x && git push` yields a commit AND a push instead
@@ -1 +1 @@
1
- {"version":3,"file":"git-event-classifier.js","sourceRoot":"","sources":["../../src/metrics/git-event-classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-event-classifier.js","sourceRoot":"","sources":["../../src/metrics/git-event-classifier.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"git-workspace-reporter.d.ts","sourceRoot":"","sources":["../../src/metrics/git-workspace-reporter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAGL,wBAAwB,EAExB,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AAiBnC;;;;;;;;;GASG;AACH,MAAM,WAAW,4BAA6B,SAAQ,kBAAkB;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAoBD;;;;;GAKG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAKxC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAuC;IAC/E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwC;gBAE3D,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE;IAKzD;+EAC2E;IAC3E,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAQ5C;;;;;;;;;;OAUG;IACH,aAAa,CACX,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GACjD,IAAI;IAWP;2CACuC;IACvC,eAAe,IAAI,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAIxD;;;;;;;;;OASG;IACH,aAAa,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,IAAI;IA0BxD;;;;;OAKG;IACH,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,iBAAiB;IAY9D;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,KAAK,EAAE;QACZ,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;QACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;QACnD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;KACvE,GAAG,4BAA4B;IAwDhC;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;CA6DzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC5D;AAoCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE;IACP,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC,EACD,gBAAgB,EAAE,wBAAwB,GACzC,gBAAgB,CA2DlB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAE7D,MAAM,CACJ,OAAO,EAAE;QACP,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;QACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,EACD,gBAAgB,EAAE,wBAAwB,GACzC,gBAAgB;CAepB"}
1
+ {"version":3,"file":"git-workspace-reporter.d.ts","sourceRoot":"","sources":["../../src/metrics/git-workspace-reporter.ts"],"names":[],"mappings":"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"}
@@ -361,6 +361,8 @@ export function replaySessionToActivityRecords(session, identityResolver) {
361
361
  isTestCommand: entry.isTestCommand,
362
362
  isBuildCommand: entry.isBuildCommand,
363
363
  errorType: entry.errorType,
364
+ createdPrNumber: entry.createdPrNumber,
365
+ runInBackground: entry.runInBackground,
364
366
  };
365
367
  replayRecorder.recordToolCall(syntheticRecord);
366
368
  const identity = identityResolver.resolve(entry.cwd);
@@ -1 +1 @@
1
- {"version":3,"file":"git-workspace-reporter.js","sourceRoot":"","sources":["../../src/metrics/git-workspace-reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-workspace-reporter.js","sourceRoot":"","sources":["../../src/metrics/git-workspace-reporter.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,19 @@ export interface LocalSessionRollup {
93
93
  models: Set<string>;
94
94
  successCount: number;
95
95
  }
96
+ /** A command with its heredoc bodies stripped (see `stripHeredocs`). */
97
+ export interface StrippedHeredocs {
98
+ readonly text: string;
99
+ /** True when a heredoc never reached its terminator line, so every line
100
+ * after its `<<` was dropped. Heredocs that agents write close, so this
101
+ * usually means a `<<` that bash doesn't read as a heredoc was taken for
102
+ * one, such as `$((1<<N))`, and the text left is not what bash ran. */
103
+ readonly unclosed: boolean;
104
+ /** True when reading quotes changes which lines are kept, as when a `<<`
105
+ * sits in quoted text. Which lines bash ran then rests on a quote reading
106
+ * the scan can get wrong (`$'it\'s'`), so `text` may not be what ran. */
107
+ readonly readingsDiffer: boolean;
108
+ }
96
109
  /**
97
110
  * Strips heredoc bodies from a shell command so its *text* is not mistaken for
98
111
  * its *actions*. Agents routinely pipe scripts inline (`python3 - <<'PY' ...`),
@@ -101,7 +114,18 @@ export interface LocalSessionRollup {
101
114
  *
102
115
  * The line introducing the heredoc is kept — `git commit -F- <<'MSG'` is still
103
116
  * a commit.
117
+ *
118
+ * The first reading takes every `<<` for a heredoc, because a misread quote
119
+ * (`$'it\'s'`) could otherwise hide a real one. When one of its heredocs never
120
+ * closes, a second reading that knows quotes, `$( … )` and `#` comments
121
+ * replaces it if that reading's quotes balance and all of its heredocs close,
122
+ * so a `<<` in quoted text (`--body "see <<X"`) drops no lines. Both readings
123
+ * always run, because a quoted `<<` that a real heredoc's terminator closes
124
+ * leaves the first reading closed but missing lines; `readingsDiffer` reports
125
+ * that.
104
126
  */
127
+ export declare function stripHeredocs(command: string): StrippedHeredocs;
128
+ /** The text of `stripHeredocs`. */
105
129
  export declare function stripHeredocBodies(command: string): string;
106
130
  /**
107
131
  * Directory a git command actually acts on. Work is often driven from one
@@ -149,6 +173,8 @@ export declare class LocalSessionAggregator {
149
173
  errorType?: unknown;
150
174
  platform?: string | null;
151
175
  agentId?: unknown;
176
+ createdPrNumber?: unknown;
177
+ runInBackground?: unknown;
152
178
  }): void;
153
179
  recordTokenUsage(sessionId: string | null | undefined, usage: {
154
180
  timestamp?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"local-session-aggregator.d.ts","sourceRoot":"","sources":["../../src/metrics/local-session-aggregator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-session-aggregator.d.ts","sourceRoot":"","sources":["../../src/metrics/local-session-aggregator.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,10 @@ const GIT_OPTS = {
39
39
  return { ...process.env, GIT_DIR: undefined, GIT_WORK_TREE: undefined };
40
40
  },
41
41
  };
42
+ // `<<` or `<<-` and its delimiter word, but not the `<<<` of a here-string.
43
+ const HEREDOC_START_RE = /(?<!<)<<(?!<)(-?)\s*(?:'([^']+)'|"([^"]+)"|\\?([A-Za-z_][A-Za-z0-9_]*))/y;
44
+ // Characters after which a `#` starts a comment, as in `splitShellChain`.
45
+ const COMMENT_AFTER_RE = /[\s;&|(<>]/;
42
46
  /**
43
47
  * Strips heredoc bodies from a shell command so its *text* is not mistaken for
44
48
  * its *actions*. Agents routinely pipe scripts inline (`python3 - <<'PY' ...`),
@@ -47,31 +51,90 @@ const GIT_OPTS = {
47
51
  *
48
52
  * The line introducing the heredoc is kept — `git commit -F- <<'MSG'` is still
49
53
  * a commit.
54
+ *
55
+ * The first reading takes every `<<` for a heredoc, because a misread quote
56
+ * (`$'it\'s'`) could otherwise hide a real one. When one of its heredocs never
57
+ * closes, a second reading that knows quotes, `$( … )` and `#` comments
58
+ * replaces it if that reading's quotes balance and all of its heredocs close,
59
+ * so a `<<` in quoted text (`--body "see <<X"`) drops no lines. Both readings
60
+ * always run, because a quoted `<<` that a real heredoc's terminator closes
61
+ * leaves the first reading closed but missing lines; `readingsDiffer` reports
62
+ * that.
50
63
  */
51
- export function stripHeredocBodies(command) {
64
+ export function stripHeredocs(command) {
52
65
  if (!command.includes('<<'))
53
- return command;
54
- const startRe = /<<(-?)\s*(?:'([^']+)'|"([^"]+)"|\\?([A-Za-z_][A-Za-z0-9_]*))/g;
66
+ return { text: command, unclosed: false, readingsDiffer: false };
67
+ const blind = scanHeredocs(command, false);
68
+ const quoted = scanHeredocs(command, true);
69
+ const { text, unclosed } = blind.unclosed && quoted.balanced && !quoted.unclosed ? quoted : blind;
70
+ return { text, unclosed, readingsDiffer: blind.text !== quoted.text };
71
+ }
72
+ /** The text of `stripHeredocs`. */
73
+ export function stripHeredocBodies(command) {
74
+ return stripHeredocs(command).text;
75
+ }
76
+ /** `stripHeredocs`' scan. With `readQuotes` false, quotes, parentheses and
77
+ * `#` are plain text. `balanced` is false when a quote or group is left open. */
78
+ function scanHeredocs(command, readQuotes) {
55
79
  const kept = [];
56
80
  const pending = [];
81
+ // Open quotes and `(`/`$(` groups, innermost last, carried across lines.
82
+ const open = [];
57
83
  for (const line of command.split('\n')) {
58
84
  if (pending.length > 0) {
59
85
  const current = pending[0];
60
- const candidate = current.stripTabs ? line.replace(/^\t+/, '') : line;
61
- if (candidate.trim() === current.tag)
86
+ // bash ends a heredoc only on a line that is exactly its delimiter;
87
+ // `<<-` strips leading tabs, not spaces. A trailing `\r` is a CRLF line end.
88
+ const candidate = (current.stripTabs ? line.replace(/^\t+/, '') : line).replace(/\r$/, '');
89
+ if (candidate === current.tag)
62
90
  pending.shift();
63
91
  continue;
64
92
  }
65
93
  kept.push(line);
66
- startRe.lastIndex = 0;
67
- let match;
68
- while ((match = startRe.exec(line)) !== null) {
69
- const tag = match[2] ?? match[3] ?? match[4];
70
- if (tag)
71
- pending.push({ tag, stripTabs: match[1] === '-' });
94
+ let wordStart = true;
95
+ for (let i = 0; i < line.length; i++) {
96
+ const ch = line[i];
97
+ const inner = open.at(-1);
98
+ if (inner === "'") {
99
+ if (ch === "'")
100
+ open.pop();
101
+ continue;
102
+ }
103
+ if (readQuotes && ch === '\\') {
104
+ i++;
105
+ wordStart = false;
106
+ continue;
107
+ }
108
+ if (inner === '"') {
109
+ if (ch === '"') {
110
+ open.pop();
111
+ }
112
+ else if (line.startsWith('$(', i)) {
113
+ open.push('(');
114
+ i++;
115
+ }
116
+ continue;
117
+ }
118
+ if (readQuotes) {
119
+ if (ch === '#' && wordStart)
120
+ break;
121
+ if (ch === "'" || ch === '"' || ch === '(')
122
+ open.push(ch);
123
+ else if (ch === ')' && inner === '(')
124
+ open.pop();
125
+ }
126
+ wordStart = COMMENT_AFTER_RE.test(ch);
127
+ if (ch !== '<')
128
+ continue;
129
+ HEREDOC_START_RE.lastIndex = i;
130
+ const match = HEREDOC_START_RE.exec(line);
131
+ if (!match)
132
+ continue;
133
+ pending.push({ tag: match[2] ?? match[3] ?? match[4], stripTabs: match[1] === '-' });
134
+ i = HEREDOC_START_RE.lastIndex - 1;
72
135
  }
73
136
  }
74
- return kept.join('\n');
137
+ return { text: kept.join('\n'), unclosed: pending.length > 0, balanced: open.length === 0 };
75
138
  }
76
139
  /**
77
140
  * Directory a git command actually acts on. Work is often driven from one
@@ -250,6 +313,10 @@ export class LocalSessionAggregator {
250
313
  ...(record.isLintCommand === true && { isLintCommand: true }),
251
314
  ...(typeof record.errorType === 'string' && { errorType: record.errorType }),
252
315
  ...(typeof record.agentId === 'string' && { agentId: record.agentId }),
316
+ ...(typeof record.createdPrNumber === 'string' && {
317
+ createdPrNumber: record.createdPrNumber,
318
+ }),
319
+ ...(record.runInBackground === true && { runInBackground: true }),
253
320
  });
254
321
  }
255
322
  // Feed the real trackers rather than reimplementing their heuristics, so a