@elench/testkit 0.1.110 → 0.1.112
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/README.md +1 -1
- package/lib/cli/args.mjs +1 -1
- package/lib/cli/assistant/actions.mjs +10 -7
- package/lib/cli/assistant/app.mjs +70 -20
- package/lib/cli/assistant/command-classifier.d.mts +6 -0
- package/lib/cli/assistant/command-classifier.d.mts.map +1 -0
- package/lib/cli/assistant/command-classifier.mjs +48 -0
- package/lib/cli/assistant/command-classifier.mjs.map +1 -0
- package/lib/cli/assistant/command-normalize.mjs +22 -0
- package/lib/cli/assistant/command-observer.mjs +69 -15
- package/lib/cli/assistant/command-results.mjs +12 -35
- package/lib/cli/assistant/context-pack.mjs +95 -57
- package/lib/cli/assistant/domain.d.mts +59 -0
- package/lib/cli/assistant/domain.d.mts.map +1 -0
- package/lib/cli/assistant/domain.mjs +2 -0
- package/lib/cli/assistant/domain.mjs.map +1 -0
- package/lib/cli/assistant/prompt-builder.mjs +21 -13
- package/lib/cli/assistant/providers/claude.mjs +77 -19
- package/lib/cli/assistant/providers/codex.mjs +8 -12
- package/lib/cli/assistant/providers/index.mjs +3 -2
- package/lib/cli/assistant/providers/shared.mjs +22 -3
- package/lib/cli/assistant/session-paths.d.mts +23 -0
- package/lib/cli/assistant/session-paths.d.mts.map +1 -0
- package/lib/cli/assistant/session-paths.mjs +31 -0
- package/lib/cli/assistant/session-paths.mjs.map +1 -0
- package/lib/cli/assistant/session.mjs +13 -3
- package/lib/cli/assistant/state.mjs +159 -3
- package/lib/cli/assistant/view-model.mjs +69 -9
- package/lib/cli/commands/assistant.mjs +3 -0
- package/lib/cli/commands/run.mjs +1 -1
- package/lib/cli/components/blocks/run-tree.mjs +2 -1
- package/lib/cli/entrypoint.mjs +1 -1
- package/lib/config/discovery.mjs +0 -10
- package/lib/discovery/index.mjs +1 -1
- package/lib/domain/test-types.mjs +5 -14
- package/lib/runner/maintenance.mjs +2 -2
- package/lib/runner/provenance.mjs +4 -1
- package/lib/runner/status-model.mjs +26 -9
- package/lib/runner/suite-selection.mjs +2 -3
- package/node_modules/@elench/next-analysis/package.json +1 -1
- package/node_modules/@elench/testkit-bridge/package.json +2 -2
- package/node_modules/@elench/testkit-protocol/package.json +1 -1
- package/node_modules/@elench/ts-analysis/package.json +1 -1
- package/package.json +10 -9
- package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/dist/index.d.ts +0 -188
- package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/dist/index.d.ts.map +0 -1
- package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/dist/index.js +0 -293
- package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/dist/index.js.map +0 -1
- package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/package.json +0 -25
|
@@ -2,9 +2,6 @@ export const TEST_TYPE_ORDER = ["ui", "e2e", "scenario", "int", "dal", "load"];
|
|
|
2
2
|
export const TEST_TYPES = new Set(TEST_TYPE_ORDER);
|
|
3
3
|
export const RUN_TYPE_ORDER = [...TEST_TYPE_ORDER, "all"];
|
|
4
4
|
export const RUN_TYPES = new Set(RUN_TYPE_ORDER);
|
|
5
|
-
export const LEGACY_TEST_TYPE_ALIASES = new Map([
|
|
6
|
-
["pw", "ui"],
|
|
7
|
-
]);
|
|
8
5
|
|
|
9
6
|
const TEST_TYPE_LABELS = {
|
|
10
7
|
ui: "UI",
|
|
@@ -15,28 +12,22 @@ const TEST_TYPE_LABELS = {
|
|
|
15
12
|
load: "Load",
|
|
16
13
|
};
|
|
17
14
|
|
|
18
|
-
export function normalizePublicTestType(value) {
|
|
19
|
-
const normalized = String(value || "").trim();
|
|
20
|
-
return LEGACY_TEST_TYPE_ALIASES.get(normalized) || normalized;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
15
|
export function isPublicTestType(value) {
|
|
24
|
-
return TEST_TYPES.has(
|
|
16
|
+
return TEST_TYPES.has(String(value || "").trim());
|
|
25
17
|
}
|
|
26
18
|
|
|
27
19
|
export function isRunType(value) {
|
|
28
|
-
const normalized =
|
|
20
|
+
const normalized = String(value || "").trim();
|
|
29
21
|
return normalized === "all" || TEST_TYPES.has(normalized);
|
|
30
22
|
}
|
|
31
23
|
|
|
32
24
|
export function formatPublicTestType(value) {
|
|
33
|
-
const normalized =
|
|
25
|
+
const normalized = String(value || "").trim();
|
|
34
26
|
return TEST_TYPE_LABELS[normalized] || String(value || "");
|
|
35
27
|
}
|
|
36
28
|
|
|
37
|
-
export function publicTestTypeList({ includeAll = false
|
|
38
|
-
|
|
39
|
-
return includeLegacy ? [...values, "pw"] : [...values];
|
|
29
|
+
export function publicTestTypeList({ includeAll = false } = {}) {
|
|
30
|
+
return includeAll ? [...RUN_TYPE_ORDER] : [...TEST_TYPE_ORDER];
|
|
40
31
|
}
|
|
41
32
|
|
|
42
33
|
export function publicTestTypeListText(options = {}) {
|
|
@@ -90,7 +90,7 @@ export async function cleanup(productDir, options = {}) {
|
|
|
90
90
|
appendBoundedFileCleanupLines(lines, {
|
|
91
91
|
productDir,
|
|
92
92
|
targets: targets.assistant,
|
|
93
|
-
label: "assistant
|
|
93
|
+
label: "assistant session",
|
|
94
94
|
dryRun,
|
|
95
95
|
});
|
|
96
96
|
|
|
@@ -134,7 +134,7 @@ function normalizeCacheSelection(cache) {
|
|
|
134
134
|
|
|
135
135
|
function pruneKnownEmptyDirs(productDir) {
|
|
136
136
|
for (const dir of [
|
|
137
|
-
path.join(productDir, ".testkit", "assistant", "
|
|
137
|
+
path.join(productDir, ".testkit", "assistant", "sessions"),
|
|
138
138
|
path.join(productDir, ".testkit", "assistant"),
|
|
139
139
|
path.join(productDir, ".testkit", "_bundles"),
|
|
140
140
|
path.join(productDir, ".testkit", "_graphs"),
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
const ASSISTANT_SESSION_ENV = "TESTKIT_ASSISTANT_SESSION_ID";
|
|
2
|
+
const ASSISTANT_TURN_ENV = "TESTKIT_ASSISTANT_TURN_ID";
|
|
2
3
|
const ASSISTANT_COMMAND_ID_ENV = "TESTKIT_ASSISTANT_COMMAND_ID";
|
|
3
4
|
|
|
4
5
|
export function buildRunProvenance(env = process.env) {
|
|
5
6
|
const sessionId = normalizeOptionalString(env?.[ASSISTANT_SESSION_ENV]);
|
|
7
|
+
const turnId = normalizeOptionalString(env?.[ASSISTANT_TURN_ENV]);
|
|
6
8
|
const commandId = normalizeOptionalString(env?.[ASSISTANT_COMMAND_ID_ENV]);
|
|
7
|
-
if (!sessionId && !commandId) return null;
|
|
9
|
+
if (!sessionId && !turnId && !commandId) return null;
|
|
8
10
|
return {
|
|
9
11
|
assistant: {
|
|
10
12
|
sessionId,
|
|
13
|
+
turnId,
|
|
11
14
|
commandId,
|
|
12
15
|
},
|
|
13
16
|
};
|
|
@@ -203,11 +203,13 @@ export function collectBundleCacheStatus(productDir, serviceName = "shared") {
|
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
export function collectAssistantResultStatus(productDir) {
|
|
206
|
-
const dir = path.join(productDir, ".testkit", "assistant", "
|
|
206
|
+
const dir = path.join(productDir, ".testkit", "assistant", "sessions");
|
|
207
207
|
const files = listFiles(dir).sort((left, right) => right.size - left.size || left.path.localeCompare(right.path));
|
|
208
|
+
const sessionDirs = listDirectories(dir);
|
|
208
209
|
return {
|
|
209
210
|
path: dir,
|
|
210
211
|
exists: fs.existsSync(dir),
|
|
212
|
+
sessionCount: sessionDirs.length,
|
|
211
213
|
sizeBytes: files.reduce((sum, file) => sum + file.size, 0),
|
|
212
214
|
fileCount: files.length,
|
|
213
215
|
largeFileCount: files.filter((file) => file.size >= ASSISTANT_LARGE_RESULT_BYTES).length,
|
|
@@ -239,14 +241,29 @@ export function collectBundleCleanupTargets(productDir, { allConfigs = [], servi
|
|
|
239
241
|
|
|
240
242
|
export function collectAssistantCleanupTargets(productDir) {
|
|
241
243
|
const now = Date.now();
|
|
242
|
-
const dir = path.join(productDir, ".testkit", "assistant", "
|
|
243
|
-
return
|
|
244
|
-
.
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
244
|
+
const dir = path.join(productDir, ".testkit", "assistant", "sessions");
|
|
245
|
+
return listDirectories(dir)
|
|
246
|
+
.map((sessionDir) => {
|
|
247
|
+
const files = listFiles(sessionDir);
|
|
248
|
+
const sizeBytes = files.reduce((sum, file) => sum + file.size, 0);
|
|
249
|
+
const newestMtimeMs = files.reduce((latest, file) => Math.max(latest, file.mtimeMs), 0);
|
|
250
|
+
const expired = newestMtimeMs > 0 && now - newestMtimeMs >= ASSISTANT_RESULT_TTL_MS;
|
|
251
|
+
const large = sizeBytes >= ASSISTANT_LARGE_RESULT_BYTES;
|
|
252
|
+
if (!expired && !large) return null;
|
|
253
|
+
return {
|
|
254
|
+
path: sessionDir,
|
|
255
|
+
reason: large ? "large" : "expired",
|
|
256
|
+
sizeBytes,
|
|
257
|
+
};
|
|
258
|
+
})
|
|
259
|
+
.filter(Boolean);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
function listDirectories(dir) {
|
|
263
|
+
if (!fs.existsSync(dir)) return [];
|
|
264
|
+
return fs.readdirSync(dir, { withFileTypes: true })
|
|
265
|
+
.filter((entry) => entry.isDirectory())
|
|
266
|
+
.map((entry) => path.join(dir, entry.name));
|
|
250
267
|
}
|
|
251
268
|
|
|
252
269
|
function collectRunStatus(productDir) {
|
|
@@ -3,7 +3,6 @@ import {
|
|
|
3
3
|
RUN_TYPES,
|
|
4
4
|
TEST_TYPE_ORDER,
|
|
5
5
|
TEST_TYPES,
|
|
6
|
-
normalizePublicTestType,
|
|
7
6
|
publicTestTypeListText,
|
|
8
7
|
} from "../domain/test-types.mjs";
|
|
9
8
|
|
|
@@ -14,7 +13,7 @@ export function normalizeTypeValues(values = []) {
|
|
|
14
13
|
for (const part of String(rawValue).split(",")) {
|
|
15
14
|
const value = part.trim();
|
|
16
15
|
if (!value) continue;
|
|
17
|
-
const normalized =
|
|
16
|
+
const normalized = value;
|
|
18
17
|
if (!RUN_TYPES.has(normalized)) {
|
|
19
18
|
throw new Error(
|
|
20
19
|
`Unknown type "${value}". Expected one of: ${publicTestTypeListText({ includeAll: true })}.`
|
|
@@ -57,7 +56,7 @@ export function parseSuiteSelectors(values = []) {
|
|
|
57
56
|
|
|
58
57
|
const type = typeMatch[1];
|
|
59
58
|
const name = typeMatch[2].trim();
|
|
60
|
-
const normalizedType =
|
|
59
|
+
const normalizedType = type.trim();
|
|
61
60
|
if (!TEST_TYPES.has(normalizedType)) {
|
|
62
61
|
throw new Error(
|
|
63
62
|
`Unknown suite selector type "${type}". Expected one of: ${publicTestTypeListText()}.`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elench/testkit-bridge",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.112",
|
|
4
4
|
"description": "Browser bridge helpers for testkit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@elench/testkit-protocol": "0.1.
|
|
25
|
+
"@elench/testkit-protocol": "0.1.112"
|
|
26
26
|
},
|
|
27
27
|
"private": false
|
|
28
28
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elench/testkit",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.112",
|
|
4
4
|
"description": "Assistant-first CLI for running, inspecting, and debugging local testkit suites",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"workspaces": [
|
|
@@ -56,14 +56,15 @@
|
|
|
56
56
|
"topicSeparator": " "
|
|
57
57
|
},
|
|
58
58
|
"scripts": {
|
|
59
|
+
"build:assistant": "tsc -p tsconfig.assistant.json",
|
|
59
60
|
"build:packages": "npm --workspace packages/testkit-protocol run build && npm --workspace packages/ts-analysis run build && npm --workspace packages/next-analysis run build && npm --workspace packages/testkit-bridge run build",
|
|
60
61
|
"typecheck:packages": "npm --workspace packages/testkit-protocol run typecheck && npm --workspace packages/ts-analysis run typecheck && npm --workspace packages/next-analysis run typecheck && npm --workspace packages/testkit-bridge run typecheck && npm --workspace packages/testkit-extension run compile",
|
|
61
|
-
"test": "npm run build:packages && vitest run && npm run test:live",
|
|
62
|
+
"test": "npm run build:assistant && npm run build:packages && vitest run && npm run test:live",
|
|
62
63
|
"test:audit": "node scripts/test-boundary-audit.mjs",
|
|
63
64
|
"test:live": "node scripts/live-sandbox/harness.mjs",
|
|
64
|
-
"test:unit": "npm run build:packages && npm run test:audit && vitest run --config vitest.unit.config.mjs",
|
|
65
|
-
"test:integration": "npm run build:packages && vitest run test/integration",
|
|
66
|
-
"test:system": "npm run build:packages && vitest run test/system"
|
|
65
|
+
"test:unit": "npm run build:assistant && npm run build:packages && npm run test:audit && vitest run --config vitest.unit.config.mjs",
|
|
66
|
+
"test:integration": "npm run build:assistant && npm run build:packages && vitest run test/integration",
|
|
67
|
+
"test:system": "npm run build:assistant && npm run build:packages && vitest run test/system"
|
|
67
68
|
},
|
|
68
69
|
"files": [
|
|
69
70
|
"bin/",
|
|
@@ -89,10 +90,10 @@
|
|
|
89
90
|
},
|
|
90
91
|
"dependencies": {
|
|
91
92
|
"@babel/code-frame": "^7.29.0",
|
|
92
|
-
"@elench/next-analysis": "0.1.
|
|
93
|
-
"@elench/testkit-bridge": "0.1.
|
|
94
|
-
"@elench/testkit-protocol": "0.1.
|
|
95
|
-
"@elench/ts-analysis": "0.1.
|
|
93
|
+
"@elench/next-analysis": "0.1.112",
|
|
94
|
+
"@elench/testkit-bridge": "0.1.112",
|
|
95
|
+
"@elench/testkit-protocol": "0.1.112",
|
|
96
|
+
"@elench/ts-analysis": "0.1.112",
|
|
96
97
|
"@oclif/core": "^4.10.6",
|
|
97
98
|
"@playwright/test": "^1.52.0",
|
|
98
99
|
"esbuild": "^0.25.11",
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
export declare const TESTKIT_BROWSER_PROTOCOL_VERSION = 1;
|
|
2
|
-
export declare const TESTKIT_COVERAGE_GRAPH_VERSION = 1;
|
|
3
|
-
export type BrowserTargetKind = "testId" | "role" | "text" | "css" | "xpath" | "component";
|
|
4
|
-
export type BrowserConfidence = "low" | "medium" | "high";
|
|
5
|
-
export type BrowserFailureState = "failing" | "healthy" | "unavailable";
|
|
6
|
-
export type BrowserCoverageState = "covered" | "missing" | "unavailable";
|
|
7
|
-
export type BridgeSurfaceImportance = "critical" | "high" | "medium" | "low";
|
|
8
|
-
export type BridgeCoverageSupportKind = "direct" | "indirect" | "mixed";
|
|
9
|
-
export type CoverageNodeKind = "page_view" | "ui_surface" | "ui_action" | "client_request" | "api_route" | "server_action" | "server_capability" | "data_capability" | "test_file";
|
|
10
|
-
export type CoverageEdgeKind = "contains" | "renders" | "triggers" | "requests" | "handles" | "delegates_to" | "covers";
|
|
11
|
-
export type CoverageEvidenceSource = "convention" | "static" | "runtime";
|
|
12
|
-
export type CoverageGraphDiagnosticLevel = "info" | "warn";
|
|
13
|
-
export interface BrowserTarget {
|
|
14
|
-
kind: BrowserTargetKind;
|
|
15
|
-
value: string;
|
|
16
|
-
label?: string;
|
|
17
|
-
confidence?: BrowserConfidence;
|
|
18
|
-
}
|
|
19
|
-
export interface BrowserMetadata {
|
|
20
|
-
label?: string;
|
|
21
|
-
origins?: string[];
|
|
22
|
-
routes?: string[];
|
|
23
|
-
targets?: BrowserTarget[];
|
|
24
|
-
}
|
|
25
|
-
export interface BrowserMetadataDocument {
|
|
26
|
-
schemaVersion: number;
|
|
27
|
-
browser: BrowserMetadata;
|
|
28
|
-
}
|
|
29
|
-
export interface CoverageGraphNode {
|
|
30
|
-
id: string;
|
|
31
|
-
kind: CoverageNodeKind;
|
|
32
|
-
service: string;
|
|
33
|
-
label: string;
|
|
34
|
-
filePath?: string;
|
|
35
|
-
route?: string;
|
|
36
|
-
method?: string;
|
|
37
|
-
path?: string;
|
|
38
|
-
target?: BrowserTarget | null;
|
|
39
|
-
metadata?: Record<string, string | number | boolean | null>;
|
|
40
|
-
}
|
|
41
|
-
export interface CoverageGraphEdge {
|
|
42
|
-
id: string;
|
|
43
|
-
kind: CoverageEdgeKind;
|
|
44
|
-
from: string;
|
|
45
|
-
to: string;
|
|
46
|
-
confidence?: BrowserConfidence;
|
|
47
|
-
metadata?: Record<string, string | number | boolean | null>;
|
|
48
|
-
}
|
|
49
|
-
export interface CoverageEvidenceDetails {
|
|
50
|
-
requestPaths?: string[];
|
|
51
|
-
route?: string;
|
|
52
|
-
targets?: BrowserTarget[];
|
|
53
|
-
}
|
|
54
|
-
export interface CoverageEvidence {
|
|
55
|
-
id: string;
|
|
56
|
-
source: CoverageEvidenceSource;
|
|
57
|
-
confidence?: BrowserConfidence;
|
|
58
|
-
service: string;
|
|
59
|
-
suiteName: string;
|
|
60
|
-
type: string;
|
|
61
|
-
testFilePath: string;
|
|
62
|
-
coveredNodeIds: string[];
|
|
63
|
-
details?: CoverageEvidenceDetails;
|
|
64
|
-
}
|
|
65
|
-
export interface CoverageGraphDiagnostic {
|
|
66
|
-
level: CoverageGraphDiagnosticLevel;
|
|
67
|
-
code: string;
|
|
68
|
-
filePath: string;
|
|
69
|
-
service: string;
|
|
70
|
-
message: string;
|
|
71
|
-
}
|
|
72
|
-
export interface CoverageGraph {
|
|
73
|
-
schemaVersion: number;
|
|
74
|
-
nodes: CoverageGraphNode[];
|
|
75
|
-
edges: CoverageGraphEdge[];
|
|
76
|
-
evidence: CoverageEvidence[];
|
|
77
|
-
diagnostics: CoverageGraphDiagnostic[];
|
|
78
|
-
}
|
|
79
|
-
export interface BridgeProductRef {
|
|
80
|
-
name: string;
|
|
81
|
-
directory: string;
|
|
82
|
-
}
|
|
83
|
-
export interface BridgeServiceRef {
|
|
84
|
-
name: string;
|
|
85
|
-
baseUrl: string;
|
|
86
|
-
origin: string;
|
|
87
|
-
}
|
|
88
|
-
export interface BrowserMatchResponse {
|
|
89
|
-
protocolVersion: number;
|
|
90
|
-
url: string;
|
|
91
|
-
origin: string;
|
|
92
|
-
route: string;
|
|
93
|
-
matched: boolean;
|
|
94
|
-
product: BridgeProductRef;
|
|
95
|
-
service: BridgeServiceRef | null;
|
|
96
|
-
}
|
|
97
|
-
export interface BridgeRunSummary {
|
|
98
|
-
artifactAvailable: boolean;
|
|
99
|
-
generatedAt: string | null;
|
|
100
|
-
status: string | null;
|
|
101
|
-
}
|
|
102
|
-
export interface BridgeSupportingTestRef {
|
|
103
|
-
service: string;
|
|
104
|
-
suite: string;
|
|
105
|
-
type: string;
|
|
106
|
-
filePath: string;
|
|
107
|
-
label: string;
|
|
108
|
-
status?: "passed" | "failed" | "skipped" | "not_run";
|
|
109
|
-
error?: string | null;
|
|
110
|
-
}
|
|
111
|
-
export interface BridgeCoverageViaNodeRef {
|
|
112
|
-
id: string;
|
|
113
|
-
kind: CoverageNodeKind;
|
|
114
|
-
label: string;
|
|
115
|
-
route?: string;
|
|
116
|
-
method?: string;
|
|
117
|
-
path?: string;
|
|
118
|
-
}
|
|
119
|
-
export interface FailureOverlayEntry {
|
|
120
|
-
id: string;
|
|
121
|
-
kind: CoverageNodeKind;
|
|
122
|
-
label: string;
|
|
123
|
-
service: string;
|
|
124
|
-
route?: string | null;
|
|
125
|
-
targets: BrowserTarget[];
|
|
126
|
-
failedTests: BridgeSupportingTestRef[];
|
|
127
|
-
viaNodes: BridgeCoverageViaNodeRef[];
|
|
128
|
-
importance?: BridgeSurfaceImportance;
|
|
129
|
-
surfaceKind?: string | null;
|
|
130
|
-
reason?: string | null;
|
|
131
|
-
}
|
|
132
|
-
export interface CoverageOverlayEntry {
|
|
133
|
-
id: string;
|
|
134
|
-
kind: CoverageNodeKind;
|
|
135
|
-
label: string;
|
|
136
|
-
service: string;
|
|
137
|
-
route?: string | null;
|
|
138
|
-
targets: BrowserTarget[];
|
|
139
|
-
supportingTests: BridgeSupportingTestRef[];
|
|
140
|
-
viaNodes: BridgeCoverageViaNodeRef[];
|
|
141
|
-
confidence: BrowserConfidence;
|
|
142
|
-
importance?: BridgeSurfaceImportance;
|
|
143
|
-
surfaceKind?: string | null;
|
|
144
|
-
supportKind?: BridgeCoverageSupportKind;
|
|
145
|
-
reason?: string | null;
|
|
146
|
-
}
|
|
147
|
-
export interface PageOverlayResponse {
|
|
148
|
-
protocolVersion: number;
|
|
149
|
-
page: {
|
|
150
|
-
url: string;
|
|
151
|
-
origin: string;
|
|
152
|
-
route: string;
|
|
153
|
-
};
|
|
154
|
-
match: BrowserMatchResponse;
|
|
155
|
-
run: BridgeRunSummary;
|
|
156
|
-
summary: {
|
|
157
|
-
failureState: BrowserFailureState;
|
|
158
|
-
coverageState: BrowserCoverageState;
|
|
159
|
-
relatedFailureCount: number;
|
|
160
|
-
relatedCoverageCount: number;
|
|
161
|
-
coverageBreakdown?: {
|
|
162
|
-
direct: number;
|
|
163
|
-
indirect: number;
|
|
164
|
-
mixed: number;
|
|
165
|
-
};
|
|
166
|
-
};
|
|
167
|
-
failures: FailureOverlayEntry[];
|
|
168
|
-
coverage: CoverageOverlayEntry[];
|
|
169
|
-
}
|
|
170
|
-
export interface BridgeErrorResponse {
|
|
171
|
-
protocolVersion: number;
|
|
172
|
-
error: {
|
|
173
|
-
code: string;
|
|
174
|
-
message: string;
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
export declare function normalizeBrowserTarget(value: unknown): BrowserTarget | null;
|
|
178
|
-
export declare function normalizeBrowserMetadata(value: unknown): BrowserMetadata | null;
|
|
179
|
-
export declare function normalizeBrowserMetadataDocument(value: unknown): BrowserMetadataDocument | null;
|
|
180
|
-
export declare function normalizeCoverageGraphNode(value: unknown): CoverageGraphNode | null;
|
|
181
|
-
export declare function normalizeCoverageGraphEdge(value: unknown): CoverageGraphEdge | null;
|
|
182
|
-
export declare function normalizeCoverageEvidence(value: unknown): CoverageEvidence | null;
|
|
183
|
-
export declare function normalizeCoverageGraphDiagnostic(value: unknown): CoverageGraphDiagnostic | null;
|
|
184
|
-
export declare function normalizeCoverageGraph(value: unknown): CoverageGraph | null;
|
|
185
|
-
export declare function isPageOverlayResponse(value: unknown): value is PageOverlayResponse;
|
|
186
|
-
export declare function normalizePageOverlayResponse(value: unknown): PageOverlayResponse | null;
|
|
187
|
-
export declare function createBridgeErrorResponse(code: string, message: string): BridgeErrorResponse;
|
|
188
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|