tamash-playwright 0.9.0 → 0.10.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,46 @@
3
3
  All notable changes to this project are documented here. Format loosely follows
4
4
  [Keep a Changelog](https://keepachangelog.com/); dates are when each version was published.
5
5
 
6
+ ## [0.10.0] - 2026-08-26
7
+
8
+ ### Fixed
9
+
10
+ - **`claude-subscription` was burning a real, unnecessary amount of extra tokens.** The SDK's
11
+ `effort` option silently defaults to `'high'` ("deep reasoning") when left unset, and this
12
+ provider never set it — a small prompt-complexity increase (below) pushed adaptive thinking to
13
+ reason unpredictably harder for a task that only ever needs to return one line of JSON.
14
+ Confirmed live via real CI runs: output tokens for the same heal went from a 188-445 baseline up
15
+ to 422-881, inconsistently, run to run. `thinking: { type: 'disabled' }` + `effort: 'low'`
16
+ removes the variability entirely — verified repeatedly at a steady 28-30 output tokens, below
17
+ even the pre-regression baseline, with no change to correctness.
18
+
19
+ ### Added
20
+
21
+ - **Full attempt-history logging**: `SelfHealingReport` now carries an `attempts[]` array — one
22
+ entry per cache/ref/text/vision/action-recovery attempt actually made, each with its own
23
+ `succeeded`/`stage`/`error`. Previously only the *last* attempt's stage survived; an earlier
24
+ attempt's real failure (and the specific error it threw) was silently discarded the moment a
25
+ later attempt also failed — the exact shape of a real user-reported bug, where a genuine
26
+ candidate selector was shown next to an unrelated `vision_provider_error` with no way to tell
27
+ why the candidate itself hadn't worked. The attempt history now also prints directly to
28
+ console/CI output (not just the JSON attachment) whenever more than one attempt was made, on
29
+ both pass and fail — since that plain-text output is what most bug reports actually paste, not
30
+ an attachment nobody opens.
31
+ - **`ariaSnapshot` is attached to the test report on failure** — the exact accessibility tree the
32
+ AI reasoned over, so a confusing report can be diagnosed against real evidence instead of a
33
+ separately-captured DevTools screenshot.
34
+ - **A new `adjacent` selector strategy**, fixing a real ambiguity in the existing `near` strategy:
35
+ when two fields with no identity of their own share a row/section (two dropdowns side by side,
36
+ say), `near`'s "climb to a shared ancestor, then search it for any element of this role"
37
+ approach matches both and gives up rather than risk the wrong one. The AI's `ref` response can
38
+ now optionally report `nearbyRef`/`nearbyText`/`nearbyRole` for a nameless target it identified;
39
+ `deriveDurableLocator` uses that hint to find the true common ancestor between the target and
40
+ its label — via each ref's own full ancestor chain, not by assuming either sits at a matching
41
+ depth — and, when they're proven to be immediate sibling branches, builds a precise CSS
42
+ `:text() + *` sibling match (or an xpath climb-then-step, when the label text turns out to be
43
+ nested below its own branch root). Verified live against a real configured provider, resolving
44
+ the correct field and never its same-row neighbor in both directions.
45
+
6
46
  ## [0.9.0] - 2026-08-26
7
47
 
8
48
  ### Fixed
@@ -21,6 +21,10 @@ export type SiblingAnchorCandidate = {
21
21
  levelsUp: 1 | 2;
22
22
  };
23
23
  export declare function findSiblingAnchorTexts(nodes: AriaAiNode[], targetRef: string, maxLevels?: 1 | 2): SiblingAnchorCandidate[];
24
+ export type AdjacentBranchPath = {
25
+ anchorClimbLevels: number;
26
+ };
27
+ export declare function findAdjacentBranchPath(nodes: AriaAiNode[], targetRef: string, anchorRef: string): AdjacentBranchPath | undefined;
24
28
  export declare function buildNearestRefCandidates(nodes: AriaAiNode[], x: number, y: number, radiusPx?: number, maxCandidates?: number): string[];
25
29
  export declare function isPositionalSelectorText(code: string): boolean;
26
30
  export declare function generateReplacementCall(suggestion: SelectorSuggestion): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"durable-locator.d.ts","sourceRoot":"","sources":["../../src/healer/durable-locator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAe5D,wBAAsB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAY5F;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAcF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CA6D9D;AAED,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAA;CAAE,CAAC;AAOvE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,CAAC,GAAG,CAAK,GAAG,sBAAsB,EAAE,CAqE7H;AAUD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,SAAM,EAAE,aAAa,SAAI,GAAG,MAAM,EAAE,CAQhI;AAgBD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9D;AAOD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAgD1F;AAgBD,wBAAgB,mCAAmC,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAiCxG"}
1
+ {"version":3,"file":"durable-locator.d.ts","sourceRoot":"","sources":["../../src/healer/durable-locator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAe5D,wBAAsB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAY5F;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAcF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CA6D9D;AAED,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAA;CAAE,CAAC;AAOvE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,CAAC,GAAG,CAAK,GAAG,sBAAsB,EAAE,CAqE7H;AAED,MAAM,MAAM,kBAAkB,GAAG;IAQ/B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAYF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CA2DhI;AAUD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,SAAM,EAAE,aAAa,SAAI,GAAG,MAAM,EAAE,CAQhI;AAgBD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9D;AAOD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAqE1F;AAgBD,wBAAgB,mCAAmC,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAiCxG"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sameElement = sameElement;
4
4
  exports.parseAriaAiTree = parseAriaAiTree;
5
5
  exports.findSiblingAnchorTexts = findSiblingAnchorTexts;
6
+ exports.findAdjacentBranchPath = findAdjacentBranchPath;
6
7
  exports.buildNearestRefCandidates = buildNearestRefCandidates;
7
8
  exports.isPositionalSelectorText = isPositionalSelectorText;
8
9
  exports.generateReplacementCall = generateReplacementCall;
@@ -165,6 +166,70 @@ function findSiblingAnchorTexts(nodes, targetRef, maxLevels = 2) {
165
166
  return true;
166
167
  });
167
168
  }
169
+ // Finds whether targetRef's branch is the IMMEDIATE next sibling branch of anchorRef's branch
170
+ // under their true common ancestor — regardless of how deeply nested either ref is INSIDE its own
171
+ // branch. Works by walking both refs' full ancestor chains, finding the nearest ancestor common to
172
+ // both (the shared parent, whatever depth that turns out to be), then checking that the target's
173
+ // branch is the very next one after the anchor's branch with nothing else in between. This is the
174
+ // general form of "find the common parent, then draw the path from there" — the anchor and target
175
+ // no longer need to sit at a matching depth for the relationship to be found correctly.
176
+ // Only meaningful when the AI supplied a specific nearbyRef (see AiSuggestion) — there is no blind/
177
+ // enumerated version of this the way findSiblingAnchorTexts is, because trying every possible pair
178
+ // of refs on a page for adjacency would be needless, unbounded work with no anchor to start from.
179
+ function findAdjacentBranchPath(nodes, targetRef, anchorRef) {
180
+ const targetIndex = nodes.findIndex((n) => n.ref === targetRef);
181
+ const anchorIndex = nodes.findIndex((n) => n.ref === anchorRef);
182
+ if (targetIndex === -1 || anchorIndex === -1) {
183
+ return undefined;
184
+ }
185
+ // A flat depth-annotated list is enough to reconstruct the ancestor chain without building a
186
+ // real tree: walk backward collecting every earlier node whose depth is strictly less than the
187
+ // last one collected — each is one level further up.
188
+ function ancestorChain(index) {
189
+ const chain = [index];
190
+ let depth = nodes[index].depth;
191
+ for (let i = index - 1; i >= 0; i--) {
192
+ if (nodes[i].depth < depth) {
193
+ chain.push(i);
194
+ depth = nodes[i].depth;
195
+ }
196
+ }
197
+ return chain;
198
+ }
199
+ const anchorChain = ancestorChain(anchorIndex);
200
+ const targetChain = ancestorChain(targetIndex);
201
+ const targetChainSet = new Set(targetChain);
202
+ // Scanning outward from the anchor's own position (nearest ancestor first): in a valid tree, the
203
+ // FIRST ancestor also found in target's own chain is necessarily the DEEPEST shared ancestor —
204
+ // every ancestor further out from it is trivially shared too, so there's no need to check past it.
205
+ for (let i = 0; i < anchorChain.length; i++) {
206
+ if (!targetChainSet.has(anchorChain[i])) {
207
+ continue;
208
+ }
209
+ const targetChainIdx = targetChain.indexOf(anchorChain[i]);
210
+ if (i === 0 && targetChainIdx === 0) {
211
+ return undefined; // anchorRef === targetRef — not a sibling relationship at all
212
+ }
213
+ if (i === 0 || targetChainIdx === 0) {
214
+ return undefined; // one ref is a literal ANCESTOR of the other, not a sibling branch of it
215
+ }
216
+ const anchorBranchIndex = anchorChain[i - 1];
217
+ const targetBranchIndex = targetChain[targetChainIdx - 1];
218
+ const branchDepth = nodes[anchorBranchIndex].depth;
219
+ if (nodes[targetBranchIndex].depth !== branchDepth || targetBranchIndex <= anchorBranchIndex) {
220
+ return undefined;
221
+ }
222
+ // The target's branch must be the very NEXT one after the anchor's — nothing else at or above
223
+ // branchDepth sitting between them, or a third branch is what's actually adjacent, not this one.
224
+ for (let k = anchorBranchIndex + 1; k < targetBranchIndex; k++) {
225
+ if (nodes[k].depth <= branchDepth) {
226
+ return undefined;
227
+ }
228
+ }
229
+ return { anchorClimbLevels: nodes[anchorIndex].depth - branchDepth };
230
+ }
231
+ return undefined;
232
+ }
168
233
  function distanceToBoxCenter(box, x, y) {
169
234
  return Math.hypot(box.x + box.width / 2 - x, box.y + box.height / 2 - y);
170
235
  }
@@ -229,6 +294,27 @@ function generateReplacementCall(suggestion) {
229
294
  const xpath = suggestion.parentLevels === 2 ? '../..' : '..';
230
295
  return `getByText(${JSON.stringify(suggestion.anchorText)}).locator(${JSON.stringify(`xpath=${xpath}`)}).getByRole(${JSON.stringify(suggestion.role)})`;
231
296
  }
297
+ case 'adjacent': {
298
+ // Playwright's own `:text()` CSS pseudo-class (not one of the deprecated layout ones like
299
+ // :near()/:right-of()) matches the smallest element whose own text equals/contains the
300
+ // string. When that's already the branch root (the common case: a plain label cell sitting
301
+ // directly next to its field cell), `+` — standard CSS3, not a Playwright extension — steps
302
+ // straight to the one sibling actually next to it: precise by construction, unlike a `near`
303
+ // locator's climb-then-search-everything approach.
304
+ const climb = suggestion.anchorClimbLevels ?? 0;
305
+ if (climb === 0) {
306
+ const css = `:text(${JSON.stringify(suggestion.anchorText)}) + *`;
307
+ return `locator(${JSON.stringify(css)}).getByRole(${JSON.stringify(suggestion.role)})`;
308
+ }
309
+ // The label text sits nested inside its own wrapper BELOW the actual branch point (e.g. a
310
+ // styling <span>/<div> around it) — CSS has no parent combinator, so climbing back up to the
311
+ // branch root needs xpath (`xpath=..`, the same idiom resolveNearLocator already uses for
312
+ // its own ancestor climb); `following-sibling::*[1]` then steps sideways exactly once, the
313
+ // xpath equivalent of the `+` combinator used in the climb:0 case above.
314
+ const climbXpath = Array(climb).fill('..').join('/');
315
+ const textLocator = JSON.stringify(`:text(${JSON.stringify(suggestion.anchorText)})`);
316
+ return `locator(${textLocator}).locator(${JSON.stringify(`xpath=${climbXpath}`)}).locator(${JSON.stringify('xpath=following-sibling::*[1]')}).getByRole(${JSON.stringify(suggestion.role)})`;
317
+ }
232
318
  case 'scoped': {
233
319
  const containerArgs = suggestion.containerName ? `${JSON.stringify(suggestion.containerRole)}, { name: ${JSON.stringify(suggestion.containerName)} }` : JSON.stringify(suggestion.containerRole);
234
320
  const targetArgs = suggestion.name ? `${JSON.stringify(suggestion.role)}, { name: ${JSON.stringify(suggestion.name)} }` : JSON.stringify(suggestion.role);
@@ -1 +1 @@
1
- {"version":3,"file":"durable-locator.js","sourceRoot":"","sources":["../../src/healer/durable-locator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-locator.js","sourceRoot":"","sources":["../../src/healer/durable-locator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,18 @@
1
1
  import type { Frame, FrameLocator, Locator, Page } from '@playwright/test';
2
2
  import type { TokenUsage } from './providers/types';
3
3
  type BindingKind = 'locator' | 'page' | 'frame' | 'frameLocator';
4
+ export type HealAttempt = {
5
+ method: 'cache' | 'ref' | 'text' | 'vision' | 'action-recovery';
6
+ provider?: string;
7
+ suggestedSelector?: string;
8
+ succeeded: boolean;
9
+ stage?: string;
10
+ error?: string;
11
+ aiRef?: string;
12
+ aiNearbyRef?: string;
13
+ aiNearbyText?: string;
14
+ aiNearbyRole?: string;
15
+ };
4
16
  export type SelfHealingReport = {
5
17
  action: string;
6
18
  kind: BindingKind;
@@ -18,6 +30,7 @@ export type SelfHealingReport = {
18
30
  initialSelector?: string;
19
31
  needsReview?: boolean;
20
32
  reviewNote?: string;
33
+ attempts: HealAttempt[];
21
34
  };
22
35
  export declare function getDurableLocator(locator: Locator, action?: string): Promise<Locator>;
23
36
  export declare function isHealingEnabled(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/healer/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAI3E,OAAO,KAAK,EAAkD,UAAU,EAAE,MAAM,mBAAmB,CAAC;AASpG,KAAK,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,UAAU,EAAE,OAAO,CAAC;IAIpB,kBAAkB,EAAE,OAAO,CAAC;IAK5B,cAAc,CAAC,EAAE,MAAM,CAAC;IAIxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAMzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAocF,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA0B3F;AA6JD,wBAAgB,gBAAgB,IAAI,OAAO,CAG1C;AAMD,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAsID,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAKrB,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAsS/E;AAED,wBAAgB,iBAAiB,IAAI,iBAAiB,EAAE,CAEvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/healer/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAI3E,OAAO,KAAK,EAAkD,UAAU,EAAE,MAAM,mBAAmB,CAAC;AASpG,KAAK,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC;AAWjE,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,iBAAiB,CAAC;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,UAAU,EAAE,OAAO,CAAC;IAIpB,kBAAkB,EAAE,OAAO,CAAC;IAK5B,cAAc,CAAC,EAAE,MAAM,CAAC;IAIxB,eAAe,CAAC,EAAE,MAAM,CAAC;IAMzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IAKpB,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB,CAAC;AAwiBF,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA0B3F;AA6JD,wBAAgB,gBAAgB,IAAI,OAAO,CAG1C;AAMD,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AA8KD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAKrB,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAkX/E;AAED,wBAAgB,iBAAiB,IAAI,iBAAiB,EAAE,CAEvD"}
@@ -122,6 +122,36 @@ async function resolveNearLocator(pageContext, suggestion) {
122
122
  }
123
123
  return undefined;
124
124
  }
125
+ // The live counterpart to isImmediateFollowingBranch (durable-locator.ts): builds and verifies the
126
+ // CSS `+`-sibling locator for a proven-adjacent (label, field) pair. No ancestor-climbing/xpath
127
+ // involved — `:text()` finds the label element directly, `+` steps to the one sibling right after
128
+ // it, and `.getByRole()` narrows within just that element, so a second same-role field elsewhere
129
+ // in the same row/section is never even in scope to be confused with the real target.
130
+ async function resolveAdjacentLocator(pageContext, suggestion) {
131
+ try {
132
+ const climb = suggestion.anchorClimbLevels ?? 0;
133
+ let candidate;
134
+ if (climb === 0) {
135
+ // The common case: the label's own matched element IS the branch root, so a plain CSS
136
+ // sibling combinator reaches the field directly — no xpath needed at all.
137
+ candidate = pageContext.locator(`:text(${JSON.stringify(suggestion.anchorText)}) + *`).getByRole(suggestion.role);
138
+ }
139
+ else {
140
+ // The label text is nested inside its own wrapper below the actual branch point — climb to
141
+ // the branch root first (CSS has no parent combinator, so this needs xpath, same idiom
142
+ // resolveNearLocator already uses), then step to the one sibling actually next to it.
143
+ const xpath = Array(climb).fill('..').join('/');
144
+ candidate = pageContext.locator(`:text(${JSON.stringify(suggestion.anchorText)})`).locator(`xpath=${xpath}`).locator('xpath=following-sibling::*[1]').getByRole(suggestion.role);
145
+ }
146
+ return (await candidate.count()) === 1 ? candidate : undefined;
147
+ }
148
+ catch {
149
+ // This shape doesn't apply to this page's structure (e.g. the label and field aren't actually
150
+ // direct sibling branches live, despite looking that way in the snapshot) — caller falls back
151
+ // to the near-strategy ladder.
152
+ return undefined;
153
+ }
154
+ }
125
155
  // A target with real identity (role+name) that isn't unique page-wide, scoped through a directly-
126
156
  // addressable enclosing landmark — no ancestor-climbing needed, unlike resolveNearLocator, since
127
157
  // both the container and the target are found by their own accessible names. Still enforces
@@ -219,6 +249,10 @@ async function buildLocatorFromSuggestion(pageContext, suggestion, action) {
219
249
  const resolved = await resolveNearLocator(pageContext, suggestion);
220
250
  return resolved ? { locator: resolved.locator, resolvedSuggestion: { ...suggestion, parentLevels: resolved.parentLevels } } : undefined;
221
251
  }
252
+ case 'adjacent': {
253
+ const locator = await resolveAdjacentLocator(pageContext, suggestion);
254
+ return locator ? { locator, resolvedSuggestion: suggestion } : undefined;
255
+ }
222
256
  case 'scoped': {
223
257
  const locator = await resolveScopedLocator(pageContext, suggestion);
224
258
  return locator ? { locator, resolvedSuggestion: suggestion } : undefined;
@@ -256,7 +290,8 @@ function excludeRefStrategy(suggestion) {
256
290
  // retried, so the caller passes in whichever selector description it already resolved (a text
257
291
  // suggestion or a "visual match at (x,y)" description) to carry into the final report.
258
292
  async function attemptActionRecoveryFallback(provider, locator, action, callArgs, replayError, timeoutMs, suggestedSelectorForReport, baseUsage) {
259
- const actionRecovery = await (0, action_recovery_1.tryActionRecovery)(provider, locator, action, callArgs, normalizeError(replayError), timeoutMs);
293
+ const triggeringError = normalizeError(replayError);
294
+ const actionRecovery = await (0, action_recovery_1.tryActionRecovery)(provider, locator, action, callArgs, triggeringError, timeoutMs);
260
295
  const combinedUsage = baseUsage && actionRecovery.usage ? sumTokenUsage(baseUsage, actionRecovery.usage) : (actionRecovery.usage ?? baseUsage);
261
296
  if (actionRecovery.healing) {
262
297
  return {
@@ -267,9 +302,10 @@ async function attemptActionRecoveryFallback(provider, locator, action, callArgs
267
302
  result: actionRecovery.healing.result,
268
303
  },
269
304
  usage: combinedUsage,
305
+ triggeringError,
270
306
  };
271
307
  }
272
- return { healing: null, usage: combinedUsage, stage: actionRecovery.stage };
308
+ return { healing: null, usage: combinedUsage, stage: actionRecovery.stage, triggeringError };
273
309
  }
274
310
  // The widening search: self -> parent/siblings -> named landmark. Called after `anchorLocator`
275
311
  // (an aria-ref= resolution, or a vision-tagged element) has ALREADY been proven correct by a
@@ -330,7 +366,46 @@ async function deriveDurableLocator(pageContext, anchorLocator, action, treeCont
330
366
  if (!inferredRole) {
331
367
  continue;
332
368
  }
333
- for (const candidate of (0, durable_locator_1.findSiblingAnchorTexts)(nodes, ref)) {
369
+ // Tried FIRST and most precise: when the AI named a specific anchor ref AND it's provably the
370
+ // immediate sibling branch of the target (findAdjacentBranchPath — finds the true common
371
+ // ancestor and compares branch positions from there, regardless of how deeply either ref is
372
+ // nested inside its own branch), express that adjacency directly via a sibling-step locator —
373
+ // sidesteps `near`'s "climb up, then search the whole subtree for this role" approach
374
+ // entirely, which is exactly what breaks when a second same-role field shares the same
375
+ // row/section (two dropdowns side by side, say): climbing to their shared ancestor and
376
+ // searching for "any combobox" matches both and gets rejected as ambiguous, even though the
377
+ // correct one is unambiguously "whichever is right next to this label."
378
+ if (treeContext.aiNearbyRef) {
379
+ const branchPath = (0, durable_locator_1.findAdjacentBranchPath)(nodes, ref, treeContext.aiNearbyRef);
380
+ if (branchPath) {
381
+ const anchorNode = nodes.find((n) => n.ref === treeContext.aiNearbyRef);
382
+ const adjacentAnchorText = anchorNode?.text ?? anchorNode?.name;
383
+ if (adjacentAnchorText) {
384
+ const adjacent = await resolveAdjacentLocator(pageContext, { anchorText: adjacentAnchorText, role: inferredRole, anchorClimbLevels: branchPath.anchorClimbLevels });
385
+ if (adjacent && (await (0, durable_locator_1.sameElement)(adjacent, anchorLocator, timeoutMs))) {
386
+ return {
387
+ locator: adjacent,
388
+ suggestion: { strategy: 'adjacent', anchorText: adjacentAnchorText, role: inferredRole, anchorClimbLevels: branchPath.anchorClimbLevels || undefined },
389
+ initialSelector,
390
+ needsReview: true,
391
+ reviewNote: 'No stable identity of its own (id/testId/role+name/label/placeholder) — durable selector anchors on the adjacent label instead, scoped to exactly the sibling next to it (safe even when another same-role field shares the same row/section). Please verify this still targets the right element if the page layout changes.',
392
+ };
393
+ }
394
+ }
395
+ }
396
+ }
397
+ const structuralCandidates = (0, durable_locator_1.findSiblingAnchorTexts)(nodes, ref);
398
+ // The AI-named anchor, if any, goes first — it's a specific reasoned pick rather than every
399
+ // nearby label in ladder order, and (see the aiNearbyRef/aiNearbyText doc comment above) may
400
+ // find something the structural scan's own 1-2 level cap on THIS parsed tree missed entirely.
401
+ // Deduped against the structural list so a match doesn't get tried twice.
402
+ const hintedText = treeContext.aiNearbyRef
403
+ ? (nodes.find((n) => n.ref === treeContext.aiNearbyRef)?.text ?? nodes.find((n) => n.ref === treeContext.aiNearbyRef)?.name)
404
+ : treeContext.aiNearbyText;
405
+ const candidates = hintedText
406
+ ? [{ text: hintedText, levelsUp: 1 }, ...structuralCandidates.filter((c) => c.text !== hintedText)]
407
+ : structuralCandidates;
408
+ for (const candidate of candidates) {
334
409
  const resolved = await resolveNearLocator(pageContext, { anchorText: candidate.text, role: inferredRole });
335
410
  if (resolved && (await (0, durable_locator_1.sameElement)(resolved.locator, anchorLocator, timeoutMs))) {
336
411
  return {
@@ -458,10 +533,10 @@ async function tryVisionRecovery(provider, pageContext, action, description, cal
458
533
  }
459
534
  catch (replayError) {
460
535
  if (!isActionRecoveryEnabled()) {
461
- return { healing: null, usage, stage: 'vision_replay_failed' };
536
+ return { healing: null, usage, stage: 'vision_replay_failed', replayError: normalizeError(replayError) };
462
537
  }
463
538
  const fallback = await attemptActionRecoveryFallback(provider, locator, action, callArgs, replayError, timeoutMs, `visual match at (${point.x},${point.y})`, usage);
464
- return { ...fallback, usedActionRecovery: true };
539
+ return { ...fallback, usedActionRecovery: true, replayError: fallback.triggeringError };
465
540
  }
466
541
  finally {
467
542
  await (0, vision_1.cleanupVisionTag)(pageContext, id);
@@ -590,7 +665,34 @@ function formatConsoleLine(report) {
590
665
  const location = report.sourceLocation ? `${report.sourceLocation} — ` : '';
591
666
  return `[self-healer] ${location}${report.kind}.${report.action}${description} -> ${outcome} [${meta.join(', ')}] — ${reasonFirstLine}`;
592
667
  }
593
- function attachReportToRunningTest(report) {
668
+ // Printed to the console, never into the test annotation/warning — the annotation stays a short,
669
+ // human-readable one-liner (see attachReportToRunningTest), while the full attempts[] JSON already
670
+ // lives in the JSON attachment for anyone opening the HTML report. This exists for the far more
671
+ // common path: someone copy-pastes the console/CI log output directly into a chat message or bug
672
+ // report, without ever opening the HTML report or its attachments at all. Without this, that
673
+ // copy-paste carries only the LAST attempt's outcome (via formatConsoleLine's `stage=`/`suggested=`
674
+ // fields) — exactly the confusing shape the original bug report showed, where a real candidate
675
+ // selector sat next to an unrelated later-stage error with no visible connection between them.
676
+ function formatAttemptsBlock(attempts) {
677
+ const lines = attempts.map((attempt, i) => {
678
+ const parts = [`${i + 1}. ${attempt.method}`, attempt.succeeded ? 'OK' : 'FAILED'];
679
+ if (attempt.provider) {
680
+ parts.push(`provider=${attempt.provider}`);
681
+ }
682
+ if (attempt.suggestedSelector) {
683
+ parts.push(`tried="${attempt.suggestedSelector}"`);
684
+ }
685
+ if (attempt.stage) {
686
+ parts.push(`stage=${attempt.stage}`);
687
+ }
688
+ if (attempt.error) {
689
+ parts.push(`error: ${attempt.error.split('\n')[0]}`);
690
+ }
691
+ return ` ${parts.join(' ')}`;
692
+ });
693
+ return ` attempts:\n${lines.join('\n')}`;
694
+ }
695
+ function attachReportToRunningTest(report, ariaSnapshot) {
594
696
  try {
595
697
  const testInfo = test_1.test.info();
596
698
  testInfo.annotations.push({ type: report.healed ? 'self-healed' : 'self-heal-failed', description: report.warning });
@@ -610,6 +712,18 @@ function attachReportToRunningTest(report) {
610
712
  body: JSON.stringify(report, null, 2),
611
713
  contentType: 'application/json',
612
714
  });
715
+ // Only on a genuine failure, and only the exact tree the AI actually reasoned over — this is
716
+ // the ground truth needed to tell "the AI picked the wrong ref" from "it picked correctly but
717
+ // widening/replay still failed" apart, without which either one produces an identical-looking
718
+ // report (see healActionFailure's own attempts[] entries for what it actually returned).
719
+ // Skipped on success: the ariaSnapshot is page content, not something worth attaching to every
720
+ // passing/healed run.
721
+ if (!report.healed && ariaSnapshot) {
722
+ void testInfo.attach(`self-healing-${report.action}-aria-snapshot`, {
723
+ body: ariaSnapshot,
724
+ contentType: 'text/plain',
725
+ });
726
+ }
613
727
  }
614
728
  catch {
615
729
  // Not running inside a Playwright test worker (e.g. a unit test calling this directly) — skip.
@@ -707,6 +821,9 @@ async function healActionFailure(context) {
707
821
  let initialSelector;
708
822
  let needsReview;
709
823
  let reviewNote;
824
+ // Every meaningful attempt this call makes, in order — never overwritten by a later one, unlike
825
+ // failureStage/suggestedSelector above. See HealAttempt's own comment for why this exists.
826
+ const attempts = [];
710
827
  // Tried before paying for anything else: if this exact source location has already healed
711
828
  // successfully before — this run, or a previous one, since the log persists on disk (see
712
829
  // heal-log.ts) — try that suggestion directly. No ARIA snapshot, no AI call, no tokens spent.
@@ -719,9 +836,10 @@ async function healActionFailure(context) {
719
836
  if (cached) {
720
837
  const built = await buildLocatorFromSuggestion(pageContext, cached.suggestion, context.action);
721
838
  if (built) {
839
+ const cachedSelectorDescription = describeSuggestion(built.resolvedSuggestion);
722
840
  try {
723
841
  const replayResult = await (0, replay_action_1.replayAction)(built.locator, context.action, callArgs);
724
- suggestedSelector = describeSuggestion(built.resolvedSuggestion);
842
+ suggestedSelector = cachedSelectorDescription;
725
843
  // cached.suggestion came from findCachedSuggestion, always SelectorSuggestion-typed, so
726
844
  // this can never actually be 'ref' — excludeRefStrategy is here purely to satisfy the
727
845
  // type system with the same helper every other site uses, not because this path needs it.
@@ -739,9 +857,11 @@ async function healActionFailure(context) {
739
857
  result: replayResult,
740
858
  };
741
859
  failureStage = undefined;
860
+ attempts.push({ method: 'cache', succeeded: true, suggestedSelector: cachedSelectorDescription });
742
861
  }
743
- catch {
862
+ catch (cacheError) {
744
863
  // Cached suggestion no longer resolves — fall through to the normal flow below.
864
+ attempts.push({ method: 'cache', succeeded: false, suggestedSelector: cachedSelectorDescription, error: normalizeError(cacheError) });
745
865
  }
746
866
  }
747
867
  }
@@ -787,7 +907,7 @@ async function healActionFailure(context) {
787
907
  const refSuggestion = built.resolvedSuggestion;
788
908
  suggestedSelector = describeSuggestion(refSuggestion);
789
909
  failureStage = 'replay_failed';
790
- const derived = await deriveDurableLocator(pageContext, built.locator, context.action, { snapshot: ariaSnapshot, candidateRefs: [refSuggestion.ref] }, actionTimeoutMs ?? 2000);
910
+ const derived = await deriveDurableLocator(pageContext, built.locator, context.action, { snapshot: ariaSnapshot, candidateRefs: [refSuggestion.ref], aiNearbyRef: refSuggestion.nearbyRef, aiNearbyText: refSuggestion.nearbyText }, actionTimeoutMs ?? 2000);
791
911
  const primaryLocator = derived?.locator ?? built.locator;
792
912
  try {
793
913
  let replayResult;
@@ -838,14 +958,25 @@ async function healActionFailure(context) {
838
958
  result: replayResult,
839
959
  };
840
960
  failureStage = undefined;
961
+ attempts.push({ method: 'ref', provider: provider.name, succeeded: true, suggestedSelector, aiRef: refSuggestion.ref, aiNearbyRef: refSuggestion.nearbyRef, aiNearbyText: refSuggestion.nearbyText, aiNearbyRole: refSuggestion.nearbyRole });
841
962
  }
842
963
  catch (replayError) {
964
+ const replayErrorMessage = normalizeError(replayError);
965
+ attempts.push({ method: 'ref', provider: provider.name, succeeded: false, suggestedSelector, stage: 'replay_failed', error: replayErrorMessage, aiRef: refSuggestion.ref, aiNearbyRef: refSuggestion.nearbyRef, aiNearbyText: refSuggestion.nearbyText, aiNearbyRole: refSuggestion.nearbyRole });
843
966
  if (isActionRecoveryEnabled()) {
844
967
  const fallback = await attemptActionRecoveryFallback(provider, built.locator, context.action, callArgs, replayError, actionTimeoutMs, suggestedSelector, usage);
845
968
  usage = fallback.usage;
846
969
  usedActionRecovery = true;
847
970
  healing = fallback.healing;
848
971
  failureStage = fallback.healing ? undefined : fallback.stage;
972
+ attempts.push({
973
+ method: 'action-recovery',
974
+ provider: provider.name,
975
+ succeeded: Boolean(fallback.healing),
976
+ suggestedSelector: fallback.healing?.suggestedSelector,
977
+ stage: fallback.healing ? undefined : fallback.stage,
978
+ error: fallback.healing ? undefined : (fallback.stage ? FAILURE_STAGE_MESSAGES[fallback.stage] : undefined),
979
+ });
849
980
  }
850
981
  else {
851
982
  healing = null;
@@ -868,14 +999,25 @@ async function healActionFailure(context) {
868
999
  result: replayResult,
869
1000
  };
870
1001
  failureStage = undefined;
1002
+ attempts.push({ method: 'text', provider: provider.name, succeeded: true, suggestedSelector });
871
1003
  }
872
1004
  catch (replayError) {
1005
+ const replayErrorMessage = normalizeError(replayError);
1006
+ attempts.push({ method: 'text', provider: provider.name, succeeded: false, suggestedSelector, stage: 'replay_failed', error: replayErrorMessage });
873
1007
  if (isActionRecoveryEnabled()) {
874
1008
  const fallback = await attemptActionRecoveryFallback(provider, built.locator, context.action, callArgs, replayError, actionTimeoutMs, suggestedSelector, usage);
875
1009
  usage = fallback.usage;
876
1010
  usedActionRecovery = true;
877
1011
  healing = fallback.healing;
878
1012
  failureStage = fallback.healing ? undefined : fallback.stage;
1013
+ attempts.push({
1014
+ method: 'action-recovery',
1015
+ provider: provider.name,
1016
+ succeeded: Boolean(fallback.healing),
1017
+ suggestedSelector: fallback.healing?.suggestedSelector,
1018
+ stage: fallback.healing ? undefined : fallback.stage,
1019
+ error: fallback.healing ? undefined : (fallback.stage ? FAILURE_STAGE_MESSAGES[fallback.stage] : undefined),
1020
+ });
879
1021
  }
880
1022
  else {
881
1023
  healing = null;
@@ -911,10 +1053,40 @@ async function healActionFailure(context) {
911
1053
  needsReview = visionOutcome.needsReview;
912
1054
  reviewNote = visionOutcome.reviewNote;
913
1055
  failureStage = undefined;
1056
+ if (visionOutcome.usedActionRecovery) {
1057
+ // The visual match itself was found and replay was attempted, but that replay failed —
1058
+ // it was action-recovery's own fallback tactic that actually made this run succeed. Log
1059
+ // both: the vision replay's real failure, and the recovery that fixed it.
1060
+ attempts.push({ method: 'vision', provider: provider.name, succeeded: false, stage: 'vision_replay_failed', error: visionOutcome.replayError });
1061
+ attempts.push({ method: 'action-recovery', provider: provider.name, succeeded: true, suggestedSelector: visionOutcome.healing.suggestedSelector });
1062
+ }
1063
+ else {
1064
+ attempts.push({ method: 'vision', provider: provider.name, succeeded: true, suggestedSelector: visionOutcome.healing.suggestedSelector });
1065
+ }
914
1066
  }
915
1067
  else if (visionOutcome.stage) {
916
1068
  usedVision = true;
917
1069
  failureStage = visionOutcome.stage;
1070
+ // When action-recovery was tried after vision's replay failed, visionOutcome.stage is
1071
+ // action-recovery's OWN stage (declined/failed), not vision's — log the vision replay's
1072
+ // real failure separately so it isn't silently absorbed into the action-recovery stage.
1073
+ const visionStage = visionOutcome.usedActionRecovery ? 'vision_replay_failed' : visionOutcome.stage;
1074
+ attempts.push({
1075
+ method: 'vision',
1076
+ provider: provider.name,
1077
+ succeeded: false,
1078
+ stage: visionStage,
1079
+ error: visionOutcome.replayError ?? FAILURE_STAGE_MESSAGES[visionStage],
1080
+ });
1081
+ if (visionOutcome.usedActionRecovery) {
1082
+ attempts.push({
1083
+ method: 'action-recovery',
1084
+ provider: provider.name,
1085
+ succeeded: false,
1086
+ stage: visionOutcome.stage,
1087
+ error: FAILURE_STAGE_MESSAGES[visionOutcome.stage],
1088
+ });
1089
+ }
918
1090
  }
919
1091
  }
920
1092
  }
@@ -924,10 +1096,16 @@ async function healActionFailure(context) {
924
1096
  warning = healing.warning;
925
1097
  }
926
1098
  else if (failureStage === 'replay_failed') {
927
- warning = `Action "${context.action}" failed: ${reason}. AI suggested "${suggestedSelector}", but that failed too.`;
1099
+ // Find the ref/text attempt's own recorded error the specific exception its replay threw,
1100
+ // not just the generic "that failed too" this line used to stop at (the exact gap the user
1101
+ // flagged: a real candidate selector was found, but the report never said WHY acting on it
1102
+ // didn't work).
1103
+ const failedAttempt = [...attempts].reverse().find((a) => (a.method === 'ref' || a.method === 'text') && !a.succeeded);
1104
+ warning = `Action "${context.action}" failed: ${reason}. AI suggested "${suggestedSelector}", but that failed too${failedAttempt?.error ? ` (${failedAttempt.error})` : ''}.`;
928
1105
  }
929
1106
  else if (failureStage === 'vision_replay_failed') {
930
- warning = `Action "${context.action}" failed: ${reason}. AI located a visual match, but acting on it failed too.`;
1107
+ const failedAttempt = [...attempts].reverse().find((a) => a.method === 'vision' && !a.succeeded);
1108
+ warning = `Action "${context.action}" failed: ${reason}. AI located a visual match, but acting on it failed too${failedAttempt?.error ? ` (${failedAttempt.error})` : ''}.`;
931
1109
  }
932
1110
  else if (failureStage) {
933
1111
  warning = `Action "${context.action}" failed: ${reason}. (${FAILURE_STAGE_MESSAGES[failureStage]})`;
@@ -952,15 +1130,28 @@ async function healActionFailure(context) {
952
1130
  initialSelector,
953
1131
  needsReview,
954
1132
  reviewNote,
1133
+ attempts,
955
1134
  };
956
1135
  reports.push(report);
1136
+ // The attempts block prints on EITHER outcome whenever there was more than one attempt — a
1137
+ // heal that only succeeded after an earlier attempt failed (say, text failed and vision saved
1138
+ // it) has exactly the same "story worth knowing" as an outright failure: a selector quietly
1139
+ // degrading toward the expensive fallback is worth seeing even when the test itself still
1140
+ // passes. A clean single-attempt success stays quiet — nothing to add beyond the one line below.
1141
+ const showAttempts = report.attempts.length > 1 || (report.attempts.length === 1 && !report.attempts[0].succeeded);
957
1142
  if (report.healed) {
958
1143
  console.log(formatConsoleLine(report));
1144
+ if (showAttempts) {
1145
+ console.log(formatAttemptsBlock(report.attempts));
1146
+ }
959
1147
  }
960
1148
  else {
961
1149
  console.warn(formatConsoleLine(report));
1150
+ if (showAttempts) {
1151
+ console.warn(formatAttemptsBlock(report.attempts));
1152
+ }
962
1153
  }
963
- attachReportToRunningTest(report);
1154
+ attachReportToRunningTest(report, ariaSnapshot);
964
1155
  // Logged on every occurrence, cache hit or not — a cache hit doesn't need a fresh AI call, but
965
1156
  // it still means *this* test touched the healed location, and apply-heals needs that fact (via
966
1157
  // testFile) to know which tests to re-verify once the fix is applied. See logEligibleHeal.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/healer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/healer/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-subscription.d.ts","sourceRoot":"","sources":["../../../src/healer/providers/claude-subscription.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,YAAY,EAAsH,MAAM,SAAS,CAAC;AAyGpL,wBAAgB,gCAAgC,IAAI,YAAY,CAqE/D"}
1
+ {"version":3,"file":"claude-subscription.d.ts","sourceRoot":"","sources":["../../../src/healer/providers/claude-subscription.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,YAAY,EAAsH,MAAM,SAAS,CAAC;AAoHpL,wBAAgB,gCAAgC,IAAI,YAAY,CAqE/D"}
@@ -41,6 +41,17 @@ async function runQuery(model, systemPrompt, prompt, timeoutMs) {
41
41
  permissionMode: 'bypassPermissions',
42
42
  systemPrompt,
43
43
  abortController: controller,
44
+ // Both `effort` and `thinking` default to deep/adaptive reasoning when left unset (see
45
+ // the SDK's own doc comment on `effort`: "'high' — Deep reasoning (default)") — complete
46
+ // overkill for this narrow, single-shot "read the snapshot, pick a strategy" task, and the
47
+ // actual cause of a real, confirmed output-token blowup (up to 4.7x on some calls) once the
48
+ // prompt grew even slightly more complex (see nearbyRef/nearbyText in prompt.ts): a longer
49
+ // instruction pushed adaptive thinking to reason more, and that reasoning is billed as
50
+ // output tokens even though it's discarded — parseSuggestion only ever reads the final JSON
51
+ // line. Disabling thinking and forcing minimal effort removes that variability entirely,
52
+ // rather than just hoping shorter prompt wording keeps it in check.
53
+ thinking: { type: 'disabled' },
54
+ effort: 'low',
44
55
  },
45
56
  })) {
46
57
  if (message.type === 'result') {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-subscription.js","sourceRoot":"","sources":["../../../src/healer/providers/claude-subscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-subscription.js","sourceRoot":"","sources":["../../../src/healer/providers/claude-subscription.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { AiSuggestion, ActionTactic, SuggestActionTacticInput, SuggestElementFromImageInput, SuggestSelectorInput, TokenUsage, VisionPoint } from './types';
2
- export declare const SYSTEM_PROMPT = "You are a Playwright self-healing assistant.\nYou will be given an AI-optimized ARIA accessibility snapshot of a web page, an action that just failed, and a human description of the element the test intended to interact with. Every element in the snapshot has its own [ref=eN] id, and where available its on-screen position as [box=x,y,width,height] in CSS pixels. The snapshot preserves the real parent/child/sibling structure of the page \u2014 read it as a tree, not a flat list.\nPick the single best-matching element and respond with strict JSON only (no markdown, no prose):\n{\"strategy\":\"ref\",\"ref\":\"<the [ref=...] id of the target element itself>\"}\nPrefer \"ref\" whenever you can identify the target element anywhere in the snapshot tree, even if it has no accessible name of its own (a plain, unlabelled \"textbox\" or \"generic\" node is a perfectly good ref to pick \u2014 a separate step on our side reads the tree structure around it to build a resilient permanent selector, the same way a sighted user would read a nearby label before writing one by hand).\nOnly if NOTHING in the snapshot plausibly matches the description, fall back to one of:\n{\"strategy\":\"role\",\"role\":\"<aria role>\",\"name\":\"<accessible name>\"}\n{\"strategy\":\"text\",\"text\":\"<visible text>\"}\n{\"strategy\":\"testId\",\"testId\":\"<test id>\"}\n{\"strategy\":\"label\",\"label\":\"<label text>\"}\n{\"strategy\":\"placeholder\",\"placeholder\":\"<placeholder text>\"}\n{\"strategy\":\"css\",\"css\":\"<css selector>\"}\n{\"strategy\":\"near\",\"anchorText\":\"<nearby visible text>\",\"role\":\"<aria role of the TARGET element itself>\"}\n{\"strategy\":\"scoped\",\"containerRole\":\"<aria role of an enclosing landmark>\",\"containerName\":\"<that landmark's accessible name>\",\"role\":\"<target's own role>\",\"name\":\"<target's own accessible name>\"}\n{\"strategy\":\"containing\",\"role\":\"<role of the TARGET, which is itself a container>\",\"anchorText\":\"<text found INSIDE that container>\"}\n{\"strategy\":\"none\"}\nNever invent a ref, element, or attribute that isn't literally in the snapshot.";
2
+ export declare const SYSTEM_PROMPT = "You are a Playwright self-healing assistant.\nYou will be given an AI-optimized ARIA accessibility snapshot of a web page, an action that just failed, and a human description of the element the test intended to interact with. Every element in the snapshot has its own [ref=eN] id, and where available its on-screen position as [box=x,y,width,height] in CSS pixels. The snapshot preserves the real parent/child/sibling structure of the page \u2014 read it as a tree, not a flat list.\nPick the single best-matching element and respond with strict JSON only (no markdown, no prose):\n{\"strategy\":\"ref\",\"ref\":\"<the [ref=...] id of the target element itself>\",\"nearbyRef\":\"<optional: the [ref=...] id of a nearby label/heading/element that told you what this is, if it has one>\",\"nearbyText\":\"<optional: the literal nearby text that told you what this is, if it's plain text with no ref of its own>\",\"nearbyRole\":\"<optional: that nearby text/element's own role in the snapshot, e.g. \"text\", \"legend\", \"heading\">\"}\nPrefer \"ref\" whenever you can identify the target element anywhere in the snapshot tree, even if it has no accessible name of its own (a plain, unlabelled \"textbox\" or \"generic\" node is a perfectly good ref to pick \u2014 a separate step on our side reads the tree structure around it to build a resilient permanent selector, the same way a sighted user would read a nearby label before writing one by hand). When the target has no accessible name of its own, also report whatever nearby label/heading/text actually told you what it is \u2014 include nearbyRef if that nearby thing has its own [ref=...], or nearbyText (plus its nearbyRole) if it's plain text with none. Include whichever apply; omit any you don't have.\nOnly if NOTHING in the snapshot plausibly matches the description, fall back to one of:\n{\"strategy\":\"role\",\"role\":\"<aria role>\",\"name\":\"<accessible name>\"}\n{\"strategy\":\"text\",\"text\":\"<visible text>\"}\n{\"strategy\":\"testId\",\"testId\":\"<test id>\"}\n{\"strategy\":\"label\",\"label\":\"<label text>\"}\n{\"strategy\":\"placeholder\",\"placeholder\":\"<placeholder text>\"}\n{\"strategy\":\"css\",\"css\":\"<css selector>\"}\n{\"strategy\":\"near\",\"anchorText\":\"<nearby visible text>\",\"role\":\"<aria role of the TARGET element itself>\"}\n{\"strategy\":\"scoped\",\"containerRole\":\"<aria role of an enclosing landmark>\",\"containerName\":\"<that landmark's accessible name>\",\"role\":\"<target's own role>\",\"name\":\"<target's own accessible name>\"}\n{\"strategy\":\"containing\",\"role\":\"<role of the TARGET, which is itself a container>\",\"anchorText\":\"<text found INSIDE that container>\"}\n{\"strategy\":\"none\"}\nNever invent a ref, element, or attribute that isn't literally in the snapshot.";
3
3
  export declare function buildUserPrompt(input: SuggestSelectorInput): string;
4
4
  export declare function parseSuggestion(content: string): AiSuggestion | null;
5
5
  export declare const VISION_SYSTEM_PROMPT = "You are a Playwright self-healing assistant.\nYou will be given a screenshot of a web page, an action that just failed, and a human description of the element the test intended to interact with.\nFind the single best-matching element that is LITERALLY visible in the screenshot and respond with strict JSON only (no markdown, no prose):\n{\"found\":true,\"x\":<0-1000>,\"y\":<0-1000>}\nWhere x and y are the CENTER of the matching element, expressed as its position within the image scaled to a 0-1000 range (0 = left/top edge, 1000 = right/bottom edge) \u2014 NOT raw pixel coordinates.\nIf nothing in the screenshot plausibly matches the description, respond with {\"found\":false}. Never invent an element that isn't visible in the image.";
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/healer/providers/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAsB,YAAY,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAUrL,eAAO,MAAM,aAAa,glEAgBsD,CAAC;AAEjF,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAWnE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAwDpE;AAKD,eAAO,MAAM,oBAAoB,0uBAKsH,CAAC;AAExJ,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CAMjF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAiCzE;AASD,eAAO,MAAM,6BAA6B,4/CAOoD,CAAC;AAE/F,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAKrF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAsBhF;AAID,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,UAAU,GAAG,SAAS,CAWvK"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/healer/providers/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAsB,YAAY,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAUrL,eAAO,MAAM,aAAa,2vFAgBsD,CAAC;AAEjF,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAWnE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAkEpE;AAKD,eAAO,MAAM,oBAAoB,0uBAKsH,CAAC;AAExJ,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,4BAA4B,GAAG,MAAM,CAMjF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAiCzE;AASD,eAAO,MAAM,6BAA6B,4/CAOoD,CAAC;AAE/F,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAKrF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAsBhF;AAID,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,UAAU,GAAG,SAAS,CAWvK"}
@@ -18,8 +18,8 @@ const MAX_SNAPSHOT_CHARS = 16000;
18
18
  exports.SYSTEM_PROMPT = `You are a Playwright self-healing assistant.
19
19
  You will be given an AI-optimized ARIA accessibility snapshot of a web page, an action that just failed, and a human description of the element the test intended to interact with. Every element in the snapshot has its own [ref=eN] id, and where available its on-screen position as [box=x,y,width,height] in CSS pixels. The snapshot preserves the real parent/child/sibling structure of the page — read it as a tree, not a flat list.
20
20
  Pick the single best-matching element and respond with strict JSON only (no markdown, no prose):
21
- {"strategy":"ref","ref":"<the [ref=...] id of the target element itself>"}
22
- Prefer "ref" whenever you can identify the target element anywhere in the snapshot tree, even if it has no accessible name of its own (a plain, unlabelled "textbox" or "generic" node is a perfectly good ref to pick — a separate step on our side reads the tree structure around it to build a resilient permanent selector, the same way a sighted user would read a nearby label before writing one by hand).
21
+ {"strategy":"ref","ref":"<the [ref=...] id of the target element itself>","nearbyRef":"<optional: the [ref=...] id of a nearby label/heading/element that told you what this is, if it has one>","nearbyText":"<optional: the literal nearby text that told you what this is, if it's plain text with no ref of its own>","nearbyRole":"<optional: that nearby text/element's own role in the snapshot, e.g. \"text\", \"legend\", \"heading\">"}
22
+ Prefer "ref" whenever you can identify the target element anywhere in the snapshot tree, even if it has no accessible name of its own (a plain, unlabelled "textbox" or "generic" node is a perfectly good ref to pick — a separate step on our side reads the tree structure around it to build a resilient permanent selector, the same way a sighted user would read a nearby label before writing one by hand). When the target has no accessible name of its own, also report whatever nearby label/heading/text actually told you what it is — include nearbyRef if that nearby thing has its own [ref=...], or nearbyText (plus its nearbyRole) if it's plain text with none. Include whichever apply; omit any you don't have.
23
23
  Only if NOTHING in the snapshot plausibly matches the description, fall back to one of:
24
24
  {"strategy":"role","role":"<aria role>","name":"<accessible name>"}
25
25
  {"strategy":"text","text":"<visible text>"}
@@ -65,7 +65,17 @@ function parseSuggestion(content) {
65
65
  }
66
66
  const suggestion = parsed;
67
67
  if (suggestion.strategy === 'ref' && typeof suggestion.ref === 'string') {
68
- return suggestion;
68
+ const result = { strategy: 'ref', ref: suggestion.ref };
69
+ if (typeof suggestion.nearbyRef === 'string') {
70
+ result.nearbyRef = suggestion.nearbyRef;
71
+ }
72
+ if (typeof suggestion.nearbyText === 'string') {
73
+ result.nearbyText = suggestion.nearbyText;
74
+ }
75
+ if (typeof suggestion.nearbyRole === 'string') {
76
+ result.nearbyRole = suggestion.nearbyRole;
77
+ }
78
+ return result;
69
79
  }
70
80
  if (suggestion.strategy === 'none') {
71
81
  return suggestion;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/healer/providers/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/healer/providers/prompt.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,11 @@ export type SelectorSuggestion = {
30
30
  anchorText: string;
31
31
  role: string;
32
32
  parentLevels?: 1 | 2;
33
+ } | {
34
+ strategy: 'adjacent';
35
+ anchorText: string;
36
+ role: string;
37
+ anchorClimbLevels?: number;
33
38
  } | {
34
39
  strategy: 'scoped';
35
40
  containerRole: string;
@@ -47,6 +52,9 @@ export type SelectorSuggestion = {
47
52
  export type AiSuggestion = SelectorSuggestion | {
48
53
  strategy: 'ref';
49
54
  ref: string;
55
+ nearbyRef?: string;
56
+ nearbyText?: string;
57
+ nearbyRole?: string;
50
58
  };
51
59
  export type SuggestSelectorInput = {
52
60
  action: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/healer/providers/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/healer/providers/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tamash-playwright",
3
- "version": "0.9.0",
3
+ "version": "0.10.0-beta.2",
4
4
  "description": "Plug and Play Self-healing for Playwright and automatically recovers broken selectors using an AI model (Ollama, OpenAI, Anthropic, Gemini, or a Claude/GitHub Copilot subscription).",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",