@vijaypjavvadi/bdd2pw 4.0.2 → 4.1.0
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 +111 -0
- package/README.md +2 -1
- package/dist/llm/anthropicClient.d.ts +62 -0
- package/dist/llm/anthropicClient.js +348 -5
- package/dist/llm/anthropicClient.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,117 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
_Nothing yet._
|
|
11
11
|
|
|
12
|
+
## [4.1.0] — 2026-08-21
|
|
13
|
+
|
|
14
|
+
### Theme: LLM-binding rewriter — 3/8 → 8/8 bench apps compile cleanly
|
|
15
|
+
|
|
16
|
+
v4.0 (paper release) landed 3/8 bench apps that emitted a fully
|
|
17
|
+
compiling Playwright TypeScript spec via the LLM fallback. The other
|
|
18
|
+
5 hit specific LLM emission patterns that the v4.0.1 hallucination
|
|
19
|
+
gates correctly rejected — meaning the steps landed as `// TODO`
|
|
20
|
+
comments and the spec failed to compile.
|
|
21
|
+
|
|
22
|
+
v4.1 introduces a **binding-rewriter suite** that mechanically
|
|
23
|
+
transforms six well-known LLM emission patterns into valid
|
|
24
|
+
Playwright-idiomatic code, then runs the resulting binding through
|
|
25
|
+
the existing v4.0.1 gates. If any rewrite would produce compile-fail
|
|
26
|
+
code, the binding is dropped and the step lands as `// TODO` (the
|
|
27
|
+
fail-closed guarantee is unchanged). The result: **every one of the
|
|
28
|
+
8 benchmark apps now emits a spec that passes `tsc --noEmit`.**
|
|
29
|
+
|
|
30
|
+
### Added — six LLM-emission rewrite patterns
|
|
31
|
+
|
|
32
|
+
1. **Pattern A** — `{method:"fill", args:["pomVar.field", "\"x\""]}` →
|
|
33
|
+
`{method:"field.fill", args:["\"x\""]}`. Catches OpenAI
|
|
34
|
+
gpt-4o-mini's "invented helper on the POM" shape.
|
|
35
|
+
|
|
36
|
+
2. **Pattern B** — `{method:"fill", args:["field", "value"]}` →
|
|
37
|
+
`{method:"field.fill", args:["\"value\""]}`. Bare-field variant
|
|
38
|
+
with auto-quoting of unquoted string values (email addresses,
|
|
39
|
+
punctuation-bearing text, human-readable strings, bare
|
|
40
|
+
identifiers). Reserved literals (`true`, `false`, `null`,
|
|
41
|
+
`undefined`, numbers) and property-access chains
|
|
42
|
+
(`data.foo`, `env.USER`) are left untouched. Fixes the SauceDemo
|
|
43
|
+
`fill(locked_out_user)` regression where the LLM dropped the
|
|
44
|
+
string quotes.
|
|
45
|
+
|
|
46
|
+
3. **Pattern C** — `{method:"fill", args:["input[name='email']", "x"]}` →
|
|
47
|
+
`customBody: await pomVar.page.locator("input[name='email']").fill("x")`.
|
|
48
|
+
Promotes a raw CSS selector arg to a `page.locator()` chain in
|
|
49
|
+
customBody. Tightened to require actual CSS syntax characters
|
|
50
|
+
(`[`, `#`, `>`, `~`, `+`, `*`, `.identifier`, `:pseudo-class`) —
|
|
51
|
+
plain-text button labels like `"Sign in"` are no longer
|
|
52
|
+
misclassified as selectors.
|
|
53
|
+
|
|
54
|
+
4. **Pattern D** — inside `customBody`, `page.<locatorMethod>(pomVar.<field>, ...)`
|
|
55
|
+
→ `pomVar.<field>.<locatorMethod>(...)`. Catches compound-step
|
|
56
|
+
expansions that accidentally used `page.fill(locator, value)`
|
|
57
|
+
(invalid Playwright API — `page.fill` requires a string
|
|
58
|
+
selector, not a Locator instance).
|
|
59
|
+
|
|
60
|
+
5. **Pattern F — Page-matcher validation gate.** `expect(page).<matcher>`
|
|
61
|
+
is only valid when `<matcher>` is one of `toHaveURL`,
|
|
62
|
+
`toHaveTitle`, or `toHaveScreenshot`. Locator-only matchers
|
|
63
|
+
(`toHaveText`, `toContainText`, `toBeVisible`, etc.) emitted
|
|
64
|
+
against `page` are dropped and land as TODO instead of shipping
|
|
65
|
+
as compile-fail code.
|
|
66
|
+
|
|
67
|
+
6. **Pattern G — bare-identifier assertion locator rewrite.**
|
|
68
|
+
`{assertion:{locator:"commentsList", matcher:"toContainText"}}`
|
|
69
|
+
→ `{assertion:{locator:"loginPage.commentsList", ...}}` when
|
|
70
|
+
`commentsList` is a known POM field. If the bare identifier
|
|
71
|
+
isn't a known field, the entire assertion is dropped (Conduit
|
|
72
|
+
bench regression: LLM emitted `expect(commentsList)` — an
|
|
73
|
+
undefined reference).
|
|
74
|
+
|
|
75
|
+
### Added — final empty-binding gate
|
|
76
|
+
|
|
77
|
+
After all rewriters run, a second empty-binding check drops bindings
|
|
78
|
+
that survived initial validation but had every field nuked by a
|
|
79
|
+
subsequent rewriter (Pattern G rejection was the primary trigger).
|
|
80
|
+
|
|
81
|
+
### Added — tests
|
|
82
|
+
|
|
83
|
+
- 21-case vitest suite in `tests/unit/v410BindingRewriter.test.ts`
|
|
84
|
+
covering all six rewrite patterns plus integration paths for the
|
|
85
|
+
real bench emissions from OpenAI, Gemini, and Anthropic.
|
|
86
|
+
- 35-case Node.js smoke runner in `scripts/smoke-v410-rewriter.mjs`
|
|
87
|
+
that bypasses vitest and rollup native binaries — useful for
|
|
88
|
+
environments where the vitest transformer's platform-specific
|
|
89
|
+
binaries aren't installed.
|
|
90
|
+
|
|
91
|
+
### Benchmark comparison — v4.0 vs v4.1 (`--llm openai --skip-governance`)
|
|
92
|
+
|
|
93
|
+
| App | v4.0.1 tsc | v4.1 tsc | v4.0.1 TODOs | v4.1 TODOs |
|
|
94
|
+
|---|---|---|---|---|
|
|
95
|
+
| 01-saucedemo | fail | **pass** | 4 | **0** |
|
|
96
|
+
| 02-the-internet | fail | **pass** | 4 | **0** |
|
|
97
|
+
| 03-juice-shop | pass | pass | 13 | 9 |
|
|
98
|
+
| 04-opencart | fail | **pass** | 4 | 5 |
|
|
99
|
+
| 05-magento | fail | **pass** | 6 | 4 |
|
|
100
|
+
| 06-conduit | fail | **pass** | 6 | 11 |
|
|
101
|
+
| 07-reqres-api | pass | pass | 10 | 10 |
|
|
102
|
+
| 08-automation-practice | pass | pass | 5 | **2** |
|
|
103
|
+
| **Total** | **3/8 pass** | **8/8 pass** | 52 | 41 |
|
|
104
|
+
|
|
105
|
+
TODOs may go up in a few apps because Pattern G / Pattern F now
|
|
106
|
+
correctly reject bindings that previously slipped through as
|
|
107
|
+
compile-broken code. Fewer *broken* lines shipped is the intended
|
|
108
|
+
tradeoff.
|
|
109
|
+
|
|
110
|
+
### No breaking changes
|
|
111
|
+
|
|
112
|
+
Feature release. Public API surface identical to v4.0.1. Zero-config
|
|
113
|
+
users see no behavioural change on scaffolds that don't invoke the
|
|
114
|
+
LLM fallback. Deterministic mode is byte-identical to v4.0.1.
|
|
115
|
+
|
|
116
|
+
### Migration
|
|
117
|
+
|
|
118
|
+
`npm i @vijaypjavvadi/bdd2pw@4.1.0` — no code changes required. The
|
|
119
|
+
rewriter is on by default and cannot be disabled (it only ever
|
|
120
|
+
increases the compile rate of LLM-emitted bindings; if you want a
|
|
121
|
+
binding rejected instead of rewritten, hand-edit the emitted spec).
|
|
122
|
+
|
|
12
123
|
## [4.0.2] — 2026-07-24
|
|
13
124
|
|
|
14
125
|
### Documentation-only patch — README refresh to match the actual v4.0.x feature set
|
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ Most teams writing BDD test cases (via Cucumber `.feature` files, possibly autho
|
|
|
25
25
|
|
|
26
26
|
Point it at a `.feature` file and a URL. It parses the Gherkin, scans the live page with Chromium, picks the most stable locator for every interactive element, matches each step to a POM method call, and emits a runnable Playwright TypeScript repo — including `playwright.config.ts`, `pages/login.page.ts`, `tests/login.spec.ts`, and a `BDD_REVIEW.md` listing anything a human still needs to look at.
|
|
27
27
|
|
|
28
|
-
## What `bdd2pw` is and isn't (as of v4.0
|
|
28
|
+
## What `bdd2pw` is and isn't (as of v4.1.0)
|
|
29
29
|
|
|
30
30
|
`bdd2pw` is a **deterministic scaffolder with an optional governed LLM fallback across three providers**. The output is honest about its limits:
|
|
31
31
|
|
|
@@ -38,6 +38,7 @@ Point it at a `.feature` file and a URL. It parses the Gherkin, scans the live p
|
|
|
38
38
|
- **7 opt-in domain rule packs** (v3.4 + v3.8) — banking, healthcare, insurance, retail, gov, education, telecom. Each adds ~20 industry-specific patterns. Activated via `domains: ["banking"]`; empty by default for byte-stable existing behaviour.
|
|
39
39
|
- **Three-provider LLM fallback, batched per scenario** (v3.5 + v3.11 + v3.12) — one Anthropic Claude Sonnet 4.6, OpenAI gpt-4o-mini, or Google Gemini 2.5 Flash call per scenario instead of one per unmatched step. ~75% cost reduction on unmatched-heavy scaffolds. Every prompt goes through the `ai-governance` sidecar's `/sanitize` endpoint (fail-closed on 4xx/5xx/timeout — the run terminates rather than emit ungoverned code).
|
|
40
40
|
- **Three hallucination-rejection gates on LLM output** (v4.0.1) — invented-helper detection, structured-pomCall guard, and bare-field-call trap. Bindings the LLM emits that would compile-fail land as `// TODO` comments with `BDD_REVIEW.md` entries instead of broken code. Locked by 19 dedicated unit tests.
|
|
41
|
+
- **Six-pattern LLM-binding rewriter** (v4.1) — mechanically transforms common LLM emission mistakes (invented-helper shapes, bare-field args, unquoted string values, CSS-selector args, `page.<method>` invented-helpers in customBody, Locator-only matchers hallucinated on `page`, bare-identifier assertion locators) into valid Playwright-idiomatic code. Runs *before* the v4.0.1 gates; if a rewrite would still produce broken code, the binding is rejected and lands as TODO. Bench result: 3/8 → **8/8 apps produce specs that pass `tsc --noEmit`**. Locked by 35 unit tests.
|
|
41
42
|
- **Data-driven scaffolds** (v4.0.0) — `--data <path>` injects CSV / JSON / XLSX rows into every Scenario Outline's `Examples:` table; `--gen-data --schema <path> --rows N` generates synthetic rows via Faker + optional per-column LLM calls (`llm:auto insurance claim description`); seeded (`--seed 42`) for reproducibility.
|
|
42
43
|
- **`updatePom` is append-only by construction.** Re-scanning a page that already has a Page Object adds new locators only. Hand-edited method bodies, custom helper methods, custom imports are all preserved byte-identical.
|
|
43
44
|
- **`--merge` mode** (v3.2) preserves `// bdd2pw:user-block id="..."` sections across regenerations so iterative locator tuning doesn't lose work.
|
|
@@ -131,3 +131,65 @@ export declare function detectHallucinatedPomMethods(text: string, pomVar: strin
|
|
|
131
131
|
* system prompt — strip those before parsing.
|
|
132
132
|
*/
|
|
133
133
|
export declare function parseBindingJson(text: string, input: GenerateBindingInput): StepBinding | undefined;
|
|
134
|
+
/**
|
|
135
|
+
* v4.1.0 — mutate `pomCall` in place when the LLM's shape matches an
|
|
136
|
+
* invented-helper pattern. Two patterns supported:
|
|
137
|
+
*
|
|
138
|
+
* Pattern A — pomVar-prefixed field, already-quoted value (OpenAI style):
|
|
139
|
+
* {method:"fill", args:["loginPage.usernameInput", "\"x\""]}
|
|
140
|
+
* → {method:"usernameInput.fill", args:["\"x\""]}
|
|
141
|
+
*
|
|
142
|
+
* Pattern B — bare-identifier field, unquoted value (AutomationPractice
|
|
143
|
+
* style seen in the v4.0 bench; the LLM emitted the JSON shorthand
|
|
144
|
+
* assuming the caller would resolve `email` → `pomVar.email` and
|
|
145
|
+
* quote `bench@example.com` as a string):
|
|
146
|
+
* {method:"fill", args:["email", "bench@example.com"]}
|
|
147
|
+
* → {method:"email.fill", args:["\"bench@example.com\""]}
|
|
148
|
+
*
|
|
149
|
+
* Fail-safe rules — if ANY fail, `pomCall` is untouched and the caller's
|
|
150
|
+
* v4.0.1 gate rejects as before:
|
|
151
|
+
* 1. `method` must be a bare identifier in LOCATOR_METHOD_ALLOWLIST.
|
|
152
|
+
* 2. Method must NOT already be a known POM method (e.g. `goto`) —
|
|
153
|
+
* the LLM meant something else; we don't rewrite valid calls.
|
|
154
|
+
* 3. `args[0]` must resolve to a known POM field (via `pomVar.<field>`
|
|
155
|
+
* for Pattern A, or a bare `<field>` reference for Pattern B).
|
|
156
|
+
* 4. `page` is never a valid rewrite target (built-in, not a POM field).
|
|
157
|
+
*
|
|
158
|
+
* Returns true if a rewrite happened, false otherwise.
|
|
159
|
+
*/
|
|
160
|
+
export declare function tryRewriteInventedHelper(pomCall: {
|
|
161
|
+
page: string;
|
|
162
|
+
method: string;
|
|
163
|
+
args: string[];
|
|
164
|
+
}, pomVar: string, knownFields: ReadonlySet<string>, knownMethods: ReadonlySet<string>): boolean;
|
|
165
|
+
/**
|
|
166
|
+
* v4.1.0 — Pattern C. Detect a `pomCall` where the first arg is a raw
|
|
167
|
+
* CSS selector rather than a POM field. Convert to a `customBody`
|
|
168
|
+
* expression using `pomVar.page.locator("<selector>").<method>(...)`.
|
|
169
|
+
*
|
|
170
|
+
* Returns the customBody string if promotion happened, or undefined if
|
|
171
|
+
* no rewrite applies. Callers set `out.customBody = <result>` and clear
|
|
172
|
+
* `out.pomCall` when a value is returned.
|
|
173
|
+
*
|
|
174
|
+
* Heuristic for "looks like a CSS selector": contains any of `[ ] # . > ~ + :`
|
|
175
|
+
* OR whitespace (typical of compound selectors), AND is NOT already a
|
|
176
|
+
* bare JS identifier / property chain. This is conservative — bare
|
|
177
|
+
* identifiers like "email" are handled by Pattern B, not here.
|
|
178
|
+
*/
|
|
179
|
+
export declare function tryPromotePomCallCssSelectorToCustomBody(pomCall: {
|
|
180
|
+
page: string;
|
|
181
|
+
method: string;
|
|
182
|
+
args: string[];
|
|
183
|
+
}, pomVar: string, knownMethods: ReadonlySet<string>): string | undefined;
|
|
184
|
+
/**
|
|
185
|
+
* v4.1.0 — Pattern D. Rewrite `page.<method>(<pomVar>.<field>, <value>)`
|
|
186
|
+
* patterns inside a customBody string, since `page.<method>(locator, ...)`
|
|
187
|
+
* is not valid Playwright — `page.fill/click/etc.` take string selectors,
|
|
188
|
+
* not Locator instances. The correct form is `<pomVar>.<field>.<method>(<value>)`.
|
|
189
|
+
*
|
|
190
|
+
* Only rewrites methods in LOCATOR_METHOD_ALLOWLIST and only when the
|
|
191
|
+
* arg is `<pomVar>.<field>` where <field> is a known POM field. All
|
|
192
|
+
* other `page.<method>(...)` calls (including legit ones like
|
|
193
|
+
* `page.goto("/url")` or `page.locator("...")`) are left untouched.
|
|
194
|
+
*/
|
|
195
|
+
export declare function rewriteCustomBodyPageMethods(body: string, pomVar: string, knownFields: ReadonlySet<string>): string;
|
|
@@ -24,6 +24,9 @@ exports.rewriteBareContext = rewriteBareContext;
|
|
|
24
24
|
exports.detectHallucinatedLocators = detectHallucinatedLocators;
|
|
25
25
|
exports.detectHallucinatedPomMethods = detectHallucinatedPomMethods;
|
|
26
26
|
exports.parseBindingJson = parseBindingJson;
|
|
27
|
+
exports.tryRewriteInventedHelper = tryRewriteInventedHelper;
|
|
28
|
+
exports.tryPromotePomCallCssSelectorToCustomBody = tryPromotePomCallCssSelectorToCustomBody;
|
|
29
|
+
exports.rewriteCustomBodyPageMethods = rewriteCustomBodyPageMethods;
|
|
27
30
|
const prompt_1 = require("./prompt");
|
|
28
31
|
const governanceClient_1 = require("./governanceClient");
|
|
29
32
|
const cache_1 = require("./cache");
|
|
@@ -744,11 +747,33 @@ function parseBindingJson(text, input) {
|
|
|
744
747
|
// legal, and for page-level matchers (toHaveURL / toHaveTitle and
|
|
745
748
|
// their .not variants) `expect(page)` is the right call anyway.
|
|
746
749
|
const resolvedLoc = trimmedLoc === "" ? "page" : rewriteBareContext(rawLoc);
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
750
|
+
// v4.1.0 — Page-matcher validation gate.
|
|
751
|
+
// `expect(page).<matcher>` only supports a small set (toHaveURL,
|
|
752
|
+
// toHaveTitle, toHaveScreenshot, plus their .not variants). The
|
|
753
|
+
// LLM occasionally emits `toHaveText` / `toContainText` /
|
|
754
|
+
// `toBeVisible` on `page`, which are Locator matchers and TS
|
|
755
|
+
// rejects them. When locator resolves to `page` AND the matcher
|
|
756
|
+
// is Locator-only, drop the assertion. It lands as TODO instead
|
|
757
|
+
// of shipping a spec that fails to compile.
|
|
758
|
+
const isPageResolved = resolvedLoc === "page";
|
|
759
|
+
const strippedMatcher = matcher.replace(/^not\./, "");
|
|
760
|
+
const pageValidMatchers = new Set([
|
|
761
|
+
"toHaveURL",
|
|
762
|
+
"toHaveTitle",
|
|
763
|
+
"toHaveScreenshot",
|
|
764
|
+
]);
|
|
765
|
+
if (isPageResolved && !pageValidMatchers.has(strippedMatcher)) {
|
|
766
|
+
// Skip assignment — falls through to the "empty binding" check
|
|
767
|
+
// below and lands as TODO with a `warning` if the LLM provided
|
|
768
|
+
// one, or bare undefined otherwise.
|
|
769
|
+
}
|
|
770
|
+
else {
|
|
771
|
+
out.assertion = {
|
|
772
|
+
locator: resolvedLoc,
|
|
773
|
+
matcher,
|
|
774
|
+
expected: typeof a.expected === "string" ? a.expected : undefined,
|
|
775
|
+
};
|
|
776
|
+
}
|
|
752
777
|
}
|
|
753
778
|
}
|
|
754
779
|
if (typeof parsed.customBody === "string") {
|
|
@@ -818,6 +843,67 @@ function parseBindingJson(text, input) {
|
|
|
818
843
|
pomHits.add(hit);
|
|
819
844
|
}
|
|
820
845
|
}
|
|
846
|
+
// v4.1.0 — invented-helper rewriter.
|
|
847
|
+
//
|
|
848
|
+
// The OpenAI gpt-4o-mini provider emits `pomCall` shapes like:
|
|
849
|
+
// {"page":"loginPage","method":"fill","args":["loginPage.usernameInput","\"x\""]}
|
|
850
|
+
// treating the POM as if it had a generic `fill(locator, value)` helper.
|
|
851
|
+
// Real POMs don't; `fill` lives on `Locator`. Before v4.1 this landed as
|
|
852
|
+
// TODO via the v4.0.1 rejector. But the LLM's INTENT is unambiguous —
|
|
853
|
+
// it wants `loginPage.usernameInput.fill("x")` — and we can mechanically
|
|
854
|
+
// rewrite to that form without asking the LLM again.
|
|
855
|
+
//
|
|
856
|
+
// The rewriter is fail-safe by construction: if the pattern doesn't
|
|
857
|
+
// match, `out.pomCall` is untouched and execution falls through to the
|
|
858
|
+
// v4.0.1 rejector, preserving the fail-closed guarantee. In the v4.0
|
|
859
|
+
// bench this pattern accounted for 100% of OpenAI's 0% closure rate;
|
|
860
|
+
// the rewriter should lift it to the ~60% Anthropic already achieves.
|
|
861
|
+
if (out.pomCall) {
|
|
862
|
+
tryRewriteInventedHelper(out.pomCall, input.pageVar, knownFields, knownMethods);
|
|
863
|
+
}
|
|
864
|
+
// v4.1.0 — Pattern C: CSS selector emitted as first arg.
|
|
865
|
+
// {method:"fill", args:["input[name='email']", "\"x\""]}
|
|
866
|
+
// The LLM knew a selector but didn't route through the POM. Convert
|
|
867
|
+
// to a customBody using `pomVar.page.locator(<sel>)` chain, which
|
|
868
|
+
// always compiles. Only fires if Pattern A/B rewrite didn't already
|
|
869
|
+
// land the binding on a POM field.
|
|
870
|
+
if (out.pomCall) {
|
|
871
|
+
const promoted = tryPromotePomCallCssSelectorToCustomBody(out.pomCall, input.pageVar, knownMethods);
|
|
872
|
+
if (promoted) {
|
|
873
|
+
out.customBody = promoted;
|
|
874
|
+
out.pomCall = undefined;
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
// v4.1.0 — Pattern D: customBody containing `page.<method>(pomVar.<field>, ...)`.
|
|
878
|
+
// The LLM occasionally expands a compound step by inventing
|
|
879
|
+
// await page.fill(pomVar.field, "x");
|
|
880
|
+
// which is NOT valid Playwright (page.fill takes a string selector,
|
|
881
|
+
// not a Locator). Rewrite inline to `pomVar.field.<method>("x")`.
|
|
882
|
+
if (out.customBody) {
|
|
883
|
+
out.customBody = rewriteCustomBodyPageMethods(out.customBody, input.pageVar, knownFields);
|
|
884
|
+
}
|
|
885
|
+
// v4.1.0 — Pattern G: bare-identifier assertion locator.
|
|
886
|
+
// Conduit bench: LLM emitted `{assertion:{locator:"commentsList", ...}}`
|
|
887
|
+
// producing `expect(commentsList).toContainText(...)` — but
|
|
888
|
+
// `commentsList` isn't declared in the spec (should be
|
|
889
|
+
// `loginPage.commentsList`). If the bare identifier IS a known POM
|
|
890
|
+
// field, prepend `pomVar.` to fix. If it's NOT a known field, drop
|
|
891
|
+
// the assertion so the step lands as TODO instead of shipping code
|
|
892
|
+
// with an undefined reference.
|
|
893
|
+
if (out.assertion && out.assertion.locator) {
|
|
894
|
+
const loc = out.assertion.locator.trim();
|
|
895
|
+
// Bare identifier check — no dots, no parens, just [a-zA-Z_$]+
|
|
896
|
+
if (/^[a-zA-Z_$][\w$]*$/.test(loc) && loc !== "page") {
|
|
897
|
+
if (knownFields.has(loc)) {
|
|
898
|
+
out.assertion.locator = `${input.pageVar}.${loc}`;
|
|
899
|
+
}
|
|
900
|
+
else {
|
|
901
|
+
// Unknown field — reject the assertion. Falls through to the
|
|
902
|
+
// empty-binding check; step will land as TODO.
|
|
903
|
+
out.assertion = undefined;
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
}
|
|
821
907
|
// v4.0.1.1 — structured-pomCall path. The pomCall.method shape is
|
|
822
908
|
// either "<method>" (calling a method directly) or "<field>.<...>"
|
|
823
909
|
// (chain through a Locator field). Bare "<field>" is invalid — a
|
|
@@ -845,6 +931,263 @@ function parseBindingJson(text, input) {
|
|
|
845
931
|
if (pomHits.size > 0) {
|
|
846
932
|
return undefined;
|
|
847
933
|
}
|
|
934
|
+
// v4.1.0 — final empty-binding check. The v4.1 rewriters (Pattern G
|
|
935
|
+
// in particular) can nuke the last surviving field. If after all
|
|
936
|
+
// rewrites there's nothing to emit, drop the binding so the step
|
|
937
|
+
// lands as TODO.
|
|
938
|
+
if (!out.pomCall &&
|
|
939
|
+
!out.assertion &&
|
|
940
|
+
!out.customBody &&
|
|
941
|
+
!out.warning) {
|
|
942
|
+
return undefined;
|
|
943
|
+
}
|
|
848
944
|
return out;
|
|
849
945
|
}
|
|
946
|
+
// ============================================================
|
|
947
|
+
// v4.1.0 — invented-helper rewriter (OpenAI compat)
|
|
948
|
+
// ============================================================
|
|
949
|
+
/**
|
|
950
|
+
* Playwright Locator methods that the LLM sometimes calls as if they
|
|
951
|
+
* were POM-level helpers. Each is a method that lives on `Locator`,
|
|
952
|
+
* takes a value argument (or none), and can be legitimately rewritten
|
|
953
|
+
* from `pomVar.<method>(pomVar.field, ...args)` to `field.<method>(...args)`.
|
|
954
|
+
*
|
|
955
|
+
* Kept small on purpose — a method must be in this set AND the caller's
|
|
956
|
+
* first arg must resolve to a known field for the rewrite to fire. This
|
|
957
|
+
* is intentionally more conservative than the full Playwright surface;
|
|
958
|
+
* expanding it later is safe, contracting it is not.
|
|
959
|
+
*/
|
|
960
|
+
const LOCATOR_METHOD_ALLOWLIST = new Set([
|
|
961
|
+
"fill",
|
|
962
|
+
"click",
|
|
963
|
+
"check",
|
|
964
|
+
"uncheck",
|
|
965
|
+
"type",
|
|
966
|
+
"press",
|
|
967
|
+
"hover",
|
|
968
|
+
"focus",
|
|
969
|
+
"blur",
|
|
970
|
+
"dblclick",
|
|
971
|
+
"tap",
|
|
972
|
+
"clear",
|
|
973
|
+
"selectOption",
|
|
974
|
+
"setInputFiles",
|
|
975
|
+
"scrollIntoViewIfNeeded",
|
|
976
|
+
"dispatchEvent",
|
|
977
|
+
"screenshot",
|
|
978
|
+
]);
|
|
979
|
+
/**
|
|
980
|
+
* v4.1.0 — wrap a raw arg value in JS string quotes if it looks like a
|
|
981
|
+
* bare string literal the LLM forgot to quote. Used when rewriting
|
|
982
|
+
* Pattern B where args come through unquoted.
|
|
983
|
+
*
|
|
984
|
+
* Returns the value in a form safe to concatenate into TypeScript. Rules:
|
|
985
|
+
* - Already quoted (`"..."`, `'...'`, backtick) → return as-is.
|
|
986
|
+
* - Reserved literals (`true`, `false`, `null`, `undefined`, numbers) → as-is.
|
|
987
|
+
* - Property-access chain of two or more parts (`data.email`, `env.USER`)
|
|
988
|
+
* → as-is; almost always a legit variable reference.
|
|
989
|
+
* - Everything else — including single bare identifiers like
|
|
990
|
+
* `locked_out_user`, `secret_sauce`, `standard_user` — wrap in double
|
|
991
|
+
* quotes.
|
|
992
|
+
*
|
|
993
|
+
* Rationale for the aggressive single-identifier wrapping: LLM-emitted
|
|
994
|
+
* `fill(someBareWord)` calls are, in practice, ALWAYS meant as string
|
|
995
|
+
* literals the model forgot to quote (see SauceDemo v4.1 bench: the LLM
|
|
996
|
+
* emitted `fill(locked_out_user)` when the Gherkin step was `I enter
|
|
997
|
+
* "locked_out_user" as my username` — the string content lost its
|
|
998
|
+
* quotes during JSON emission). Being wrong in the over-quoting
|
|
999
|
+
* direction just creates a string (safe); being wrong in the
|
|
1000
|
+
* under-quoting direction leaves an undefined reference (TS compile
|
|
1001
|
+
* fail). We optimise for the failure mode that actually shows up.
|
|
1002
|
+
*/
|
|
1003
|
+
function wrapAsStringLiteralIfNeeded(raw) {
|
|
1004
|
+
const trimmed = raw.trim();
|
|
1005
|
+
if (trimmed.length === 0)
|
|
1006
|
+
return raw;
|
|
1007
|
+
// Already quoted?
|
|
1008
|
+
const firstCh = trimmed[0];
|
|
1009
|
+
const lastCh = trimmed[trimmed.length - 1];
|
|
1010
|
+
if ((firstCh === '"' && lastCh === '"') ||
|
|
1011
|
+
(firstCh === "'" && lastCh === "'") ||
|
|
1012
|
+
(firstCh === "`" && lastCh === "`")) {
|
|
1013
|
+
return raw;
|
|
1014
|
+
}
|
|
1015
|
+
// Reserved literals / numbers — don't wrap.
|
|
1016
|
+
if (/^(true|false|null|undefined)$/.test(trimmed))
|
|
1017
|
+
return raw;
|
|
1018
|
+
if (/^-?\d+(\.\d+)?$/.test(trimmed))
|
|
1019
|
+
return raw;
|
|
1020
|
+
// Property-access CHAIN (two+ parts: foo.bar, env.USER, data.field.sub)
|
|
1021
|
+
// — leave; almost always a legit variable reference.
|
|
1022
|
+
if (/^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*)+$/.test(trimmed))
|
|
1023
|
+
return raw;
|
|
1024
|
+
// Everything else — including bare single identifiers, text with
|
|
1025
|
+
// spaces, email addresses, punctuation — wrap in double quotes,
|
|
1026
|
+
// escaping internal " and \.
|
|
1027
|
+
const escaped = trimmed.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
1028
|
+
return `"${escaped}"`;
|
|
1029
|
+
}
|
|
1030
|
+
/**
|
|
1031
|
+
* v4.1.0 — mutate `pomCall` in place when the LLM's shape matches an
|
|
1032
|
+
* invented-helper pattern. Two patterns supported:
|
|
1033
|
+
*
|
|
1034
|
+
* Pattern A — pomVar-prefixed field, already-quoted value (OpenAI style):
|
|
1035
|
+
* {method:"fill", args:["loginPage.usernameInput", "\"x\""]}
|
|
1036
|
+
* → {method:"usernameInput.fill", args:["\"x\""]}
|
|
1037
|
+
*
|
|
1038
|
+
* Pattern B — bare-identifier field, unquoted value (AutomationPractice
|
|
1039
|
+
* style seen in the v4.0 bench; the LLM emitted the JSON shorthand
|
|
1040
|
+
* assuming the caller would resolve `email` → `pomVar.email` and
|
|
1041
|
+
* quote `bench@example.com` as a string):
|
|
1042
|
+
* {method:"fill", args:["email", "bench@example.com"]}
|
|
1043
|
+
* → {method:"email.fill", args:["\"bench@example.com\""]}
|
|
1044
|
+
*
|
|
1045
|
+
* Fail-safe rules — if ANY fail, `pomCall` is untouched and the caller's
|
|
1046
|
+
* v4.0.1 gate rejects as before:
|
|
1047
|
+
* 1. `method` must be a bare identifier in LOCATOR_METHOD_ALLOWLIST.
|
|
1048
|
+
* 2. Method must NOT already be a known POM method (e.g. `goto`) —
|
|
1049
|
+
* the LLM meant something else; we don't rewrite valid calls.
|
|
1050
|
+
* 3. `args[0]` must resolve to a known POM field (via `pomVar.<field>`
|
|
1051
|
+
* for Pattern A, or a bare `<field>` reference for Pattern B).
|
|
1052
|
+
* 4. `page` is never a valid rewrite target (built-in, not a POM field).
|
|
1053
|
+
*
|
|
1054
|
+
* Returns true if a rewrite happened, false otherwise.
|
|
1055
|
+
*/
|
|
1056
|
+
function tryRewriteInventedHelper(pomCall, pomVar, knownFields, knownMethods) {
|
|
1057
|
+
const method = pomCall.method;
|
|
1058
|
+
// Rule 1 — method must be a Locator method in the allowlist.
|
|
1059
|
+
if (!LOCATOR_METHOD_ALLOWLIST.has(method))
|
|
1060
|
+
return false;
|
|
1061
|
+
// Rule 2 — don't rewrite calls that already resolve to a POM method.
|
|
1062
|
+
if (knownMethods.has(method))
|
|
1063
|
+
return false;
|
|
1064
|
+
const args = pomCall.args;
|
|
1065
|
+
if (!args || args.length === 0)
|
|
1066
|
+
return false;
|
|
1067
|
+
const first = args[0];
|
|
1068
|
+
if (typeof first !== "string")
|
|
1069
|
+
return false;
|
|
1070
|
+
// Determine which pattern this is by parsing the first arg.
|
|
1071
|
+
let fieldName;
|
|
1072
|
+
const escaped = pomVar.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
1073
|
+
// Pattern A: <pomVar>.<field>
|
|
1074
|
+
const patA = first.match(new RegExp(`^\\s*${escaped}\\.([a-zA-Z_$][\\w$]*)\\s*$`));
|
|
1075
|
+
if (patA) {
|
|
1076
|
+
fieldName = patA[1];
|
|
1077
|
+
}
|
|
1078
|
+
else {
|
|
1079
|
+
// Pattern B: bare <field> identifier.
|
|
1080
|
+
const patB = first.match(/^\s*([a-zA-Z_$][\w$]*)\s*$/);
|
|
1081
|
+
if (patB)
|
|
1082
|
+
fieldName = patB[1];
|
|
1083
|
+
}
|
|
1084
|
+
if (!fieldName)
|
|
1085
|
+
return false;
|
|
1086
|
+
// Rule 3 — field must be a known POM field.
|
|
1087
|
+
if (!knownFields.has(fieldName))
|
|
1088
|
+
return false;
|
|
1089
|
+
// Rule 4 — `page` is off-limits.
|
|
1090
|
+
if (fieldName === "page")
|
|
1091
|
+
return false;
|
|
1092
|
+
// All rules pass. Mutate in place. For Pattern B, also auto-quote any
|
|
1093
|
+
// trailing args that look like bare string literals (e.g. email
|
|
1094
|
+
// addresses, human-readable text).
|
|
1095
|
+
pomCall.method = `${fieldName}.${method}`;
|
|
1096
|
+
const rest = args.slice(1);
|
|
1097
|
+
if (patA) {
|
|
1098
|
+
// Pattern A — args are already quoted by convention; pass through.
|
|
1099
|
+
pomCall.args = rest;
|
|
1100
|
+
}
|
|
1101
|
+
else {
|
|
1102
|
+
// Pattern B — value(s) probably need quoting.
|
|
1103
|
+
pomCall.args = rest.map(wrapAsStringLiteralIfNeeded);
|
|
1104
|
+
}
|
|
1105
|
+
return true;
|
|
1106
|
+
}
|
|
1107
|
+
/**
|
|
1108
|
+
* v4.1.0 — Pattern C. Detect a `pomCall` where the first arg is a raw
|
|
1109
|
+
* CSS selector rather than a POM field. Convert to a `customBody`
|
|
1110
|
+
* expression using `pomVar.page.locator("<selector>").<method>(...)`.
|
|
1111
|
+
*
|
|
1112
|
+
* Returns the customBody string if promotion happened, or undefined if
|
|
1113
|
+
* no rewrite applies. Callers set `out.customBody = <result>` and clear
|
|
1114
|
+
* `out.pomCall` when a value is returned.
|
|
1115
|
+
*
|
|
1116
|
+
* Heuristic for "looks like a CSS selector": contains any of `[ ] # . > ~ + :`
|
|
1117
|
+
* OR whitespace (typical of compound selectors), AND is NOT already a
|
|
1118
|
+
* bare JS identifier / property chain. This is conservative — bare
|
|
1119
|
+
* identifiers like "email" are handled by Pattern B, not here.
|
|
1120
|
+
*/
|
|
1121
|
+
function tryPromotePomCallCssSelectorToCustomBody(pomCall, pomVar, knownMethods) {
|
|
1122
|
+
const method = pomCall.method;
|
|
1123
|
+
if (!LOCATOR_METHOD_ALLOWLIST.has(method))
|
|
1124
|
+
return undefined;
|
|
1125
|
+
if (knownMethods.has(method))
|
|
1126
|
+
return undefined;
|
|
1127
|
+
const args = pomCall.args;
|
|
1128
|
+
if (!args || args.length === 0)
|
|
1129
|
+
return undefined;
|
|
1130
|
+
const first = args[0];
|
|
1131
|
+
if (typeof first !== "string")
|
|
1132
|
+
return undefined;
|
|
1133
|
+
const trimmed = first.trim();
|
|
1134
|
+
if (trimmed.length === 0)
|
|
1135
|
+
return undefined;
|
|
1136
|
+
// Exclude JS-identifier-shaped strings (Pattern A/B territory).
|
|
1137
|
+
if (/^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*)*$/.test(trimmed))
|
|
1138
|
+
return undefined;
|
|
1139
|
+
// Exclude JS function calls and template literals (`page.getByLabel("x")`,
|
|
1140
|
+
// `data.foo()`, backtick strings) — those are Playwright / JS code
|
|
1141
|
+
// the LLM produced by mistake, not CSS selectors. Legitimate CSS
|
|
1142
|
+
// like `input[name='email']` has quotes inside brackets but never
|
|
1143
|
+
// parentheses at top level.
|
|
1144
|
+
if (/[()`]/.test(trimmed))
|
|
1145
|
+
return undefined;
|
|
1146
|
+
// Require actual CSS-selector syntax. Whitespace alone is NOT enough
|
|
1147
|
+
// (button text like "Sign in" has spaces but isn't a selector). The
|
|
1148
|
+
// characters below only appear in CSS selectors or the syntax that
|
|
1149
|
+
// qualifies a bare tag like `div>span`, `#id`, `.class`, `[attr=x]`,
|
|
1150
|
+
// `:hover`, `*`, `+ sibling`, `~ general-sibling`.
|
|
1151
|
+
const looksLikeSelector = /[\[\]#>~+*]|\.[A-Za-z_]|:[a-z]/.test(trimmed);
|
|
1152
|
+
if (!looksLikeSelector)
|
|
1153
|
+
return undefined;
|
|
1154
|
+
// Strip surrounding quotes if already quoted (LLM sometimes emits
|
|
1155
|
+
// `"input[name='email']"`, sometimes bare `input[name='email']`).
|
|
1156
|
+
let sel = trimmed;
|
|
1157
|
+
if ((sel.startsWith('"') && sel.endsWith('"')) || (sel.startsWith("'") && sel.endsWith("'"))) {
|
|
1158
|
+
sel = sel.slice(1, -1);
|
|
1159
|
+
}
|
|
1160
|
+
const restArgs = args.slice(1).map(wrapAsStringLiteralIfNeeded);
|
|
1161
|
+
const argList = restArgs.join(", ");
|
|
1162
|
+
const selLiteral = JSON.stringify(sel);
|
|
1163
|
+
return `await ${pomVar}.page.locator(${selLiteral}).${method}(${argList});`;
|
|
1164
|
+
}
|
|
1165
|
+
/**
|
|
1166
|
+
* v4.1.0 — Pattern D. Rewrite `page.<method>(<pomVar>.<field>, <value>)`
|
|
1167
|
+
* patterns inside a customBody string, since `page.<method>(locator, ...)`
|
|
1168
|
+
* is not valid Playwright — `page.fill/click/etc.` take string selectors,
|
|
1169
|
+
* not Locator instances. The correct form is `<pomVar>.<field>.<method>(<value>)`.
|
|
1170
|
+
*
|
|
1171
|
+
* Only rewrites methods in LOCATOR_METHOD_ALLOWLIST and only when the
|
|
1172
|
+
* arg is `<pomVar>.<field>` where <field> is a known POM field. All
|
|
1173
|
+
* other `page.<method>(...)` calls (including legit ones like
|
|
1174
|
+
* `page.goto("/url")` or `page.locator("...")`) are left untouched.
|
|
1175
|
+
*/
|
|
1176
|
+
function rewriteCustomBodyPageMethods(body, pomVar, knownFields) {
|
|
1177
|
+
const escapedPomVar = pomVar.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
1178
|
+
// Match: page.<method>(<pomVar>.<field>[, <rest>]);
|
|
1179
|
+
// Capture the method, field, and (optionally) rest of args.
|
|
1180
|
+
const methodAlt = Array.from(LOCATOR_METHOD_ALLOWLIST).join("|");
|
|
1181
|
+
const re = new RegExp(`\\bpage\\.(${methodAlt})\\(\\s*${escapedPomVar}\\.([a-zA-Z_$][\\w$]*)\\s*(?:,\\s*([^;]*?))?\\)`, "g");
|
|
1182
|
+
return body.replace(re, (whole, method, fieldName, rest) => {
|
|
1183
|
+
if (!knownFields.has(fieldName))
|
|
1184
|
+
return whole; // Unknown field — leave alone.
|
|
1185
|
+
if (fieldName === "page")
|
|
1186
|
+
return whole; // `pomVar.page` never rewrites.
|
|
1187
|
+
const restTrimmed = (rest ?? "").trim();
|
|
1188
|
+
return restTrimmed.length > 0
|
|
1189
|
+
? `${pomVar}.${fieldName}.${method}(${restTrimmed})`
|
|
1190
|
+
: `${pomVar}.${fieldName}.${method}()`;
|
|
1191
|
+
});
|
|
1192
|
+
}
|
|
850
1193
|
//# sourceMappingURL=anthropicClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropicClient.js","sourceRoot":"","sources":["../../src/llm/anthropicClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anthropicClient.js","sourceRoot":"","sources":["../../src/llm/anthropicClient.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vijaypjavvadi/bdd2pw",
|
|
3
|
-
"version": "4.0
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "Scaffold runnable Playwright TypeScript tests from Gherkin .feature files. Detects existing Page Objects, scans live pages via Microsoft Playwright MCP, emits POMs + specs, ready for execution. CLI + HTTP service. Optional governed LLM fallback (Anthropic / OpenAI / Gemini).",
|
|
5
5
|
"bin": {
|
|
6
6
|
"bdd2pw": "dist/cli.js"
|