@molecule/api-ai-tools 1.9.15 → 1.9.18

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.
@@ -89,6 +89,14 @@ export interface TraceRequest {
89
89
  * credential-less request from one whose credential is a cookie.
90
90
  */
91
91
  sentCookie?: boolean;
92
+ /**
93
+ * The trace member this request came from — the browser context Playwright numbered (`1`, `3`).
94
+ * A test that opens a second browser context writes one trace member per context, and a test's
95
+ * request is only evidence about the page it was made on (xr-molecule-flash-m160).
96
+ */
97
+ context?: string;
98
+ /** The page the request was made on, as the HAR entry's `pageref` records it. */
99
+ pageId?: string;
92
100
  }
93
101
  /**
94
102
  * The test's LAST user action before the failing assertion, and the requests it caused.
@@ -125,6 +133,51 @@ export interface TraceAction {
125
133
  start: number;
126
134
  /** When it finished, or null when the run ended before it did. */
127
135
  end: number | null;
136
+ /** The browser context the action was recorded in (`1`, `3`), when the trace names one. */
137
+ context?: string;
138
+ /** The page the action ran on, from the frame snapshot the trace paired with it. */
139
+ pageId?: string;
140
+ /** The frame the action ran in, from the same snapshot. */
141
+ frameId?: string;
142
+ }
143
+ /**
144
+ * What a browser context OTHER than the failing page's recorded — the second context a
145
+ * two-context test opens for its own setup.
146
+ *
147
+ * Its actions and requests belong to a different page: a request it sent is not the failing
148
+ * action's effect, and the URL it left the page on is not where the assertion's page went
149
+ * (xr-molecule-flash-m160: the helper context created an article in an editor page while the
150
+ * primary page moved to the profile the assertion then failed on, and the note called the
151
+ * editor page the failing page).
152
+ */
153
+ export interface TraceContextEvidence {
154
+ /** The trace member's context id (`3`). */
155
+ context: string;
156
+ /**
157
+ * The app requests that context made, bounded — failures first, then the answered ones — each
158
+ * labelled by the note as set-up work rather than the failing page's.
159
+ */
160
+ requests: TraceRequest[];
161
+ }
162
+ /**
163
+ * The text a failing assertion waited for that a same-page API response carried and the page never
164
+ * rendered.
165
+ *
166
+ * The assertion's own error names the text (a `has-text(…)` / `getByText(…)` / `toContainText(…)`
167
+ * argument), and the trace's network log holds the response that contained it. That pair is the
168
+ * whole diagnosis: the API returned the value and the page dropped it before rendering, so the cut
169
+ * is in the component that maps the response onto the list — not in the API, the route or the
170
+ * selector. xr-molecule-flash-m169 (+13:09) spent its fix rounds on the wrong component and on a
171
+ * markup detail while `GET /api/tags` was returning the missing "trending" and `PopularTags`
172
+ * sliced the response to its first 20 entries (the m99 top-N class, in the frontend).
173
+ */
174
+ export interface TraceMissingText {
175
+ /** The text the assertion waited for (`trending`). */
176
+ text: string;
177
+ /** The method of the response that carried it (`GET`). */
178
+ method: string;
179
+ /** The path of the response that carried it (`/api/tags`). */
180
+ path: string;
128
181
  }
129
182
  /** What one trace says: the test it belongs to, the requests it made, and its console lines. */
130
183
  export interface TraceArtifact {
@@ -153,19 +206,55 @@ export interface TraceArtifact {
153
206
  */
154
207
  console: string[];
155
208
  /**
156
- * The test's LAST user action before the failing assertion and the requests it caused — what the
157
- * row leads with, when the trace carries the action times ({@link TraceLastAction}).
209
+ * The test's LAST user action before the failing assertion ON THE PAGE THE ASSERTION RAN ON, and
210
+ * the requests it caused — what the row leads with, when the trace carries the action times
211
+ * ({@link TraceLastAction}).
212
+ *
213
+ * A test that opens a second browser context writes one trace member per context, and the
214
+ * archive does not order them by time: the last action of the concatenation may belong to the
215
+ * helper's page while the assertion failed on another (xr-molecule-flash-m160). The action is
216
+ * therefore the failing page's own, and its `pageAfter` is that page's last frame snapshot.
158
217
  *
159
- * Absent on traces read before this field existed, and on traces whose network entries recorded
160
- * no clock; the row then falls back to {@link lead}.
218
+ * Absent on traces read before this field existed, on traces whose network entries recorded no
219
+ * clock, and on a trace with more than one used context whose failing page cannot be identified
220
+ * ({@link TraceArtifact.unattributed}) — the row then falls back to {@link lead}, or to no
221
+ * causal claim at all.
161
222
  */
162
223
  lastAction?: TraceLastAction;
163
224
  /**
164
225
  * The page's own actions in the order the trace recorded them, bounded — what a test that ran
165
226
  * out of a per-test budget spends its time on. A test that repeats one action prints it once per
166
- * repeat, so the gap between two starts is one repeat's measured cost.
227
+ * repeat, so the gap between two starts is one repeat's measured cost. Scoped to the page the
228
+ * failing assertion ran on; a second browser context's actions are not this test's page.
167
229
  */
168
230
  actions: TraceAction[];
231
+ /**
232
+ * True when the trace held more than one browser context and none of them could be tied to the
233
+ * failing assertion's page. The note then makes no causal claim — no "the test's last action",
234
+ * no "the page stayed at …" — rather than attributing one context's click and URL to another
235
+ * context's assertion (xr-molecule-flash-m160).
236
+ */
237
+ unattributed?: true;
238
+ /**
239
+ * The browser contexts the test opened BESIDES the failing assertion's page, with the app
240
+ * requests each made. Kept apart so the note can name them as set-up work instead of printing
241
+ * their requests as the failing action's effects (xr-molecule-flash-m160).
242
+ *
243
+ * Absent when the trace recorded one context only, when every other context made no request,
244
+ * and on traces read before this field existed.
245
+ */
246
+ otherContexts?: TraceContextEvidence[];
247
+ /**
248
+ * The text the failing assertion waited for and a same-page API response carried, when the trace
249
+ * recorded both. The note leads with it: the value reached the browser and the page did not
250
+ * render it, so the next read is where that response is mapped — never the API or the selector
251
+ * (xr-molecule-flash-m169).
252
+ *
253
+ * Absent when the assertion waited for no text (a text-free selector, a strict-mode violation),
254
+ * when no page-scoped `fetch`/`xhr` answered 2xx/3xx with the text in its body, and on traces
255
+ * read before this field existed.
256
+ */
257
+ missingText?: TraceMissingText;
169
258
  }
170
259
  /** How many traces one read reports, newest first. */
171
260
  export declare const MAX_TRACE_ARTIFACTS = 12;
@@ -213,6 +302,13 @@ export declare const TRACE_NOTE_LEAD_GOT_CHARS = 200;
213
302
  * test's trace holds the whole page load. A request with no response and NO error text was aborted
214
303
  * or still in flight when the test ended; it is kept too, but as what it is, not as a failure.
215
304
  *
305
+ * A trace.zip holds ONE trace member per browser context the test used (beside the runner's own
306
+ * `test.trace`), and the archive's member order is not the test's chronology. Each member is read
307
+ * as its own context: actions and requests keep their context id, requests and frame snapshots
308
+ * keep the pageId Playwright records, and the failing assertion's page — the page its own step id
309
+ * ran on — decides which actions, snapshots and requests become the test's row. What the test's
310
+ * other browser contexts recorded is reported apart, as `otherContexts` (xr-molecule-flash-m160).
311
+ *
216
312
  * A request answered 4xx by the app's OWN API also keeps what the page SENT and the first of what
217
313
  * came back: Playwright stores either inline (`text`) or in a resource entry (`_file`), and both
218
314
  * are read. That is where a wrapped body shows: xr-molecule-flash-m111's helper passed
@@ -314,6 +410,14 @@ export interface TraceRunReport {
314
410
  * contradicts it.
315
411
  */
316
412
  productionBuildAdvised?: boolean;
413
+ /**
414
+ * The endpoints the app's own auth config names for a credential exchange — a login, a
415
+ * registration, a token endpoint (`loginEndpoint: '/users/login'`, resolved from the app's
416
+ * source). A 401/403 there answers credentials the app was ASKED to check, never a token the
417
+ * client failed to attach, so the note says so even when the path is mounted somewhere unusual.
418
+ * Empty when the caller could not read the app's config.
419
+ */
420
+ authEndpoints?: readonly string[];
317
421
  }
318
422
  /**
319
423
  * The note a failed suite run's result carries: what each failing test's page actually sent, and
@@ -346,6 +450,14 @@ export interface TraceRunReport {
346
450
  * (answered 201, the page still rendering signed-out) never appeared. With no action clock, the
347
451
  * row falls back to {@link TraceArtifact.lead}: the page's last answered fetch/xhr.
348
452
  *
453
+ * The action, the URL and the requests are the FAILING ASSERTION'S PAGE's ({@link
454
+ * TraceArtifact.lastAction}), never the archive's last context: a test that creates its data in a
455
+ * second browser context writes that context's click and `/editor` snapshot into the same zip, and
456
+ * reading the concatenation made them the failing page (xr-molecule-flash-m160). The other
457
+ * contexts' requests are named separately as set-up work. When the trace holds more than one used
458
+ * context and the assertion's page cannot be identified, the note lists the requests and makes NO
459
+ * causal claim — no "the test's last action", no "the page stayed at …" — instead of merging them.
460
+ *
349
461
  * WHICH rows it spends is evidence, not artifact order (xr-molecule-flash-m112 +53:46): a row
350
462
  * needs a recorded response, a real failure or a console line ({@link traceRowEvidence}), rows are
351
463
  * deduplicated by the test's location, and they are ordered real failure → repeated from an
@@ -384,6 +496,13 @@ export interface TraceRunReport {
384
496
  * xr-molecule-flash-m148 (+29:18) hit this exactly: six local walks read
385
497
  * `POST …/favorite → 401 {"errors":{"token":["is missing"]}}` as a handler bug.
386
498
  *
499
+ * A credential EXCHANGE (a login/registration/token endpoint, read from the app's auth config, the
500
+ * path or the body) is never that shape: the request's purpose is to obtain a token, so an absent
501
+ * header is not a client omission ({@link isCredentialExchange}). xr-molecule-flash-m165's login
502
+ * 401 was answered as one for 40 minutes; the trace also showed the suite's SET-UP traffic going
503
+ * to `https://api.realworld.show/api` instead of this app, which is what the note leads with
504
+ * ({@link foreignOriginApiRequests}).
505
+ *
387
506
  * @param items - The traces {@link parseTraceArtifacts} read.
388
507
  * @param target - Where the run went — the deployed host, as the note names it.
389
508
  * @param earlierFailures - The failing `file:line`s earlier walks of this suite left, so a repeat
@@ -424,15 +543,21 @@ export interface DiagnosisTraceRewrite {
424
543
  change: string | null;
425
544
  }
426
545
  /**
427
- * The command a DIAGNOSIS run needs to leave a readable trace behind, when the suite's config
546
+ * The command a Playwright run needs to leave a readable trace behind, when the suite's config
428
547
  * would record none.
429
548
  *
430
549
  * The failing tests' requests are only readable if the run wrote them down (see the module doc),
431
550
  * and the config is where the decision about that lives — the platform does not edit the suite's
432
- * config, so it passes the flag instead, and only where it can do no harm: on a run narrowed to a
433
- * part of the suite or capped ({@link isDiagnosisRun}), never on the whole-suite proof run, and
434
- * never over a `--trace` the executor wrote itself. A capped walk is exactly the run whose
435
- * failures someone is about to work on; the proof run is graded as it is.
551
+ * config, so it passes the flag instead, on every Playwright run that starts tests and does not
552
+ * already decide its own `--trace`. That includes the whole-suite proof run, which an earlier
553
+ * version of this function skipped on the reasoning that its flags are graded: the flag changes
554
+ * what is RETAINED, not what passes. `retain-on-failure` keeps the trace only of a test that
555
+ * fails — Playwright records it and deletes it when the test passes (playwright's
556
+ * `_shouldAbandonTrace` unlinks the temporary trace files of a passing test) — so a green proof
557
+ * run keeps nothing extra. A failing one keeps the network log its failures need.
558
+ * xr-molecule-flash-m163 (+24:58) is why the proof run is no longer skipped: its one deployed
559
+ * failure left only an `error-context.md`, the executor spent the next calls hunting a `trace.zip`
560
+ * that could not exist, and then shipped a guessed fix.
436
561
  *
437
562
  * @param args - The command, the directory it starts in, and the backend's file read.
438
563
  * @returns The command to run and the sentence to report, or the command unchanged.
@@ -1 +1 @@
1
- {"version":3,"file":"trace-artifacts.d.ts","sourceRoot":"","sources":["../src/trace-artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace-artifacts.d.ts","sourceRoot":"","sources":["../src/trace-artifacts.ts"],"names":[],"mappings":"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"}