@testmuai/playwright-bindings 0.1.17 → 0.1.19-beta.1
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/dist/helpers/assertion.d.ts.map +1 -1
- package/dist/helpers/assertion.js +6 -24
- package/dist/helpers/assertion.js.map +1 -1
- package/dist/helpers/devtools.d.ts +13 -1
- package/dist/helpers/devtools.d.ts.map +1 -1
- package/dist/helpers/devtools.js +454 -17
- package/dist/helpers/devtools.js.map +1 -1
- package/dist/helpers/evaluation/colors.d.ts +2 -0
- package/dist/helpers/evaluation/colors.d.ts.map +1 -0
- package/dist/helpers/evaluation/colors.js +151 -0
- package/dist/helpers/evaluation/colors.js.map +1 -0
- package/dist/helpers/evaluation/evaluate.d.ts +8 -0
- package/dist/helpers/evaluation/evaluate.d.ts.map +1 -0
- package/dist/helpers/evaluation/evaluate.js +217 -0
- package/dist/helpers/evaluation/evaluate.js.map +1 -0
- package/dist/helpers/sseParser.d.ts +34 -0
- package/dist/helpers/sseParser.d.ts.map +1 -0
- package/dist/helpers/sseParser.js +128 -0
- package/dist/helpers/sseParser.js.map +1 -0
- package/dist/session.d.ts +8 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +51 -19
- package/dist/session.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion.d.ts","sourceRoot":"","sources":["../../src/helpers/assertion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"assertion.d.ts","sourceRoot":"","sources":["../../src/helpers/assertion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AASvC,MAAM,WAAW,QAAQ;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,KAAK,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,QAAQ,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;CACzB;AAsBD,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,eAAe,CAAC,CA+C1B;AAWD,wBAAsB,cAAc,CAClC,SAAS,EAAE,QAAQ,EAAE,EACrB,iBAAiB,GAAE,KAAK,GAAG,IAAY,GACtC,OAAO,CAAC,OAAO,CAAC,CAalB"}
|
|
@@ -4,6 +4,7 @@ import { config } from '../config.js';
|
|
|
4
4
|
import { log, preview } from '../log.js';
|
|
5
5
|
import { AssertionFailureError } from '../errors.js';
|
|
6
6
|
import { takeScreenshot } from './screenshot.js';
|
|
7
|
+
import { evaluateSubChecks } from './evaluation/evaluate.js';
|
|
7
8
|
/** Resolve a sub-check's templated fields and cast the string-typed ones
|
|
8
9
|
* (description, expected_value, extracted_value) to strings. The variable
|
|
9
10
|
* store may hold non-string values (numbers, bools) and the server's
|
|
@@ -21,18 +22,6 @@ async function resolveSub(sub) {
|
|
|
21
22
|
transforms: sub.transforms ?? ['strip'],
|
|
22
23
|
};
|
|
23
24
|
}
|
|
24
|
-
async function callEvaluateApi(claim, compositeOp, subChecks) {
|
|
25
|
-
const resp = await fetchWithAuth(`${config.current.aiApiHost}/api/v1/evaluate`, {
|
|
26
|
-
method: 'POST',
|
|
27
|
-
headers: { 'content-type': 'application/json' },
|
|
28
|
-
body: JSON.stringify({ claim, composite_operator: compositeOp, sub_checks: subChecks }),
|
|
29
|
-
});
|
|
30
|
-
if (!resp.ok) {
|
|
31
|
-
const text = await resp.text();
|
|
32
|
-
throw new Error(`Evaluate API error ${resp.status}: ${text}`);
|
|
33
|
-
}
|
|
34
|
-
return (await resp.json());
|
|
35
|
-
}
|
|
36
25
|
export async function verifyAssertion(page, claim, tree) {
|
|
37
26
|
const subChecks = tree.sub_checks ?? [];
|
|
38
27
|
const compositeOp = tree.composite_operator ?? 'and';
|
|
@@ -43,7 +32,7 @@ export async function verifyAssertion(page, claim, tree) {
|
|
|
43
32
|
if (hasStoreKeys || !config.current.smart) {
|
|
44
33
|
log.helper(`[assertion] deterministic claim=${preview(assertionClaim, 80)}`);
|
|
45
34
|
const resolved = await Promise.all(subChecks.map(resolveSub));
|
|
46
|
-
const result =
|
|
35
|
+
const result = evaluateSubChecks(assertionClaim, compositeOp, resolved);
|
|
47
36
|
log.helper(`[assertion] result status=${result.status ?? 'unknown'}`);
|
|
48
37
|
return _gateAssertionFailure(result, assertionClaim);
|
|
49
38
|
}
|
|
@@ -93,16 +82,9 @@ export async function evaluateBranch(subChecks, compositeOperator = 'and') {
|
|
|
93
82
|
log.test('[if/else] result=False (no valid sub-checks) → taking false branch');
|
|
94
83
|
return false;
|
|
95
84
|
}
|
|
96
|
-
const
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
log.test(`[if/else] result=${passed ? 'true' : 'false'} → taking ${passed ? 'true' : 'false'} branch`);
|
|
101
|
-
return passed;
|
|
102
|
-
}
|
|
103
|
-
catch {
|
|
104
|
-
log.test('[if/else] result=false → taking false branch');
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
85
|
+
const result = evaluateSubChecks(`Branch condition (${compositeOperator})`, compositeOperator, resolved);
|
|
86
|
+
const passed = result.status === 'passed';
|
|
87
|
+
log.test(`[if/else] result=${passed ? 'true' : 'false'} → taking ${passed ? 'true' : 'false'} branch`);
|
|
88
|
+
return passed;
|
|
107
89
|
}
|
|
108
90
|
//# sourceMappingURL=assertion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertion.js","sourceRoot":"","sources":["../../src/helpers/assertion.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"assertion.js","sourceRoot":"","sources":["../../src/helpers/assertion.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,22 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Cookies + Storage are snapshot-based (on-demand at query time).
|
|
11
11
|
*/
|
|
12
|
-
import type { Page, BrowserContext } from 'playwright';
|
|
12
|
+
import type { Page, BrowserContext, CDPSession } from 'playwright';
|
|
13
13
|
export declare function startCapture(page: Page, context: BrowserContext): Promise<void>;
|
|
14
14
|
export declare function stopCapture(page: Page): void;
|
|
15
15
|
export declare function resetCapture(): void;
|
|
16
|
+
/**
|
|
17
|
+
* Create a CDP session on `page`, wire SSE handlers, register it in the
|
|
18
|
+
* page->session registry, and return it. Handlers close over per-session request
|
|
19
|
+
* maps (requestId collides across CDP targets).
|
|
20
|
+
*/
|
|
21
|
+
export declare function startSSECapture(page: Page): Promise<CDPSession>;
|
|
22
|
+
/**
|
|
23
|
+
* Async SSE teardown: stop handlers, drain pending tasks, detach every CDP
|
|
24
|
+
* session. The context 'page' listener is removed by the sync stopCapture
|
|
25
|
+
* BEFORE this runs, so no new popup-attach task can be scheduled mid-teardown.
|
|
26
|
+
*/
|
|
27
|
+
export declare function stopSSECapture(): Promise<void>;
|
|
16
28
|
export declare function devtoolsNetworkQuery(codeJs: string): Promise<string>;
|
|
17
29
|
export declare function devtoolsConsoleQuery(codeJs: string): Promise<string>;
|
|
18
30
|
export declare function devtoolsCookiesQuery(codeJs: string): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../src/helpers/devtools.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAgD,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../src/helpers/devtools.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAgD,UAAU,EAAE,MAAM,YAAY,CAAC;AAyJjH,wBAAsB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCrF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAa5C;AAmDD,wBAAgB,YAAY,IAAI,IAAI,CAiCnC;AAybD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CA8FrE;AAkBD;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAQpD;AA0KD,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB1E;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU1E;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAwB1E;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB1E;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsB9E;AAWD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1F;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAGpD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpD;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5E"}
|