@elench/testkit 0.1.109 → 0.1.111
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/lib/cli/assistant/actions.mjs +10 -7
- package/lib/cli/assistant/app.mjs +19 -5
- 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-observer.mjs +20 -11
- package/lib/cli/assistant/command-results.mjs +2 -34
- package/lib/cli/assistant/context-pack.mjs +53 -45
- 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/quality-signal-strip.mjs +103 -0
- 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 +10 -2
- package/lib/cli/assistant/state.mjs +51 -2
- package/lib/cli/assistant/transcript-text.mjs +2 -1
- package/lib/cli/assistant/view-model.mjs +79 -0
- package/lib/cli/commands/assistant.mjs +3 -0
- package/lib/runner/maintenance.mjs +1 -1
- package/lib/runner/status-model.mjs +11 -2
- 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 +188 -0
- package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/dist/index.d.ts.map +1 -0
- package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/dist/index.js +293 -0
- package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/dist/index.js.map +1 -0
- package/packages/testkit-bridge/node_modules/@elench/testkit-protocol/package.json +25 -0
- package/node_modules/es-toolkit/CHANGELOG.md +0 -801
- package/node_modules/es-toolkit/src/compat/_internal/Equals.d.ts +0 -1
- package/node_modules/es-toolkit/src/compat/_internal/IsWritable.d.ts +0 -3
- package/node_modules/es-toolkit/src/compat/_internal/MutableList.d.ts +0 -4
- package/node_modules/es-toolkit/src/compat/_internal/RejectReadonly.d.ts +0 -4
- package/node_modules/esprima/ChangeLog +0 -235
|
@@ -12,6 +12,7 @@ export function buildAssistantViewModel(snapshot, { cwd = process.cwd(), termina
|
|
|
12
12
|
return {
|
|
13
13
|
title: `testkit · ${repoName}`,
|
|
14
14
|
welcome: buildWelcomeModel(snapshot, { cwd, providerLabel }),
|
|
15
|
+
qualitySignal: buildQualitySignal(snapshot),
|
|
15
16
|
blocks: buildTranscriptBlocks(snapshot.messages || []),
|
|
16
17
|
composer: {
|
|
17
18
|
text: snapshot.composer || "",
|
|
@@ -25,6 +26,84 @@ export function buildAssistantViewModel(snapshot, { cwd = process.cwd(), termina
|
|
|
25
26
|
};
|
|
26
27
|
}
|
|
27
28
|
|
|
29
|
+
export function buildQualitySignal(snapshot = {}) {
|
|
30
|
+
const summaryRows = snapshot?.run?.summaryData?.rows || snapshot?.summaryData?.rows || [];
|
|
31
|
+
const rowValue = (label) => summaryRows.find(([key]) => key === label)?.[1] || null;
|
|
32
|
+
const latestResult = rowValue("Result");
|
|
33
|
+
const summaryFiles = rowValue("Files");
|
|
34
|
+
const plannedFiles = snapshot?.run?.totalCount ? String(snapshot.run.totalCount) : null;
|
|
35
|
+
const files = summaryFiles || plannedFiles;
|
|
36
|
+
const failed = rowValue("Failed");
|
|
37
|
+
const duration = rowValue("Duration");
|
|
38
|
+
const newRegressions = rowValue("New regressions");
|
|
39
|
+
const fixedKnown = rowValue("Fixed known");
|
|
40
|
+
const contextSelection = snapshot?.context?.selection || {};
|
|
41
|
+
const items = [];
|
|
42
|
+
|
|
43
|
+
if (files && files !== "0") {
|
|
44
|
+
items.push({
|
|
45
|
+
id: summaryFiles ? "tested-files" : "planned-files",
|
|
46
|
+
text: `${files} ${summaryFiles ? "tested" : "planned"}`,
|
|
47
|
+
tone: "neutral",
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (newRegressions && newRegressions !== "0") {
|
|
52
|
+
items.push({
|
|
53
|
+
id: "new-regressions",
|
|
54
|
+
text: `${newRegressions} new regression${newRegressions === "1" ? "" : "s"}`,
|
|
55
|
+
tone: "danger",
|
|
56
|
+
});
|
|
57
|
+
} else if (fixedKnown && fixedKnown !== "0") {
|
|
58
|
+
items.push({
|
|
59
|
+
id: "fixed-known",
|
|
60
|
+
text: `${fixedKnown} fixed known`,
|
|
61
|
+
tone: "good",
|
|
62
|
+
});
|
|
63
|
+
} else if (latestResult === "PASSED") {
|
|
64
|
+
items.push({
|
|
65
|
+
id: "no-regressions",
|
|
66
|
+
text: "no regressions",
|
|
67
|
+
tone: "good",
|
|
68
|
+
});
|
|
69
|
+
} else if (latestResult === "FAILED" && failed && failed !== "0") {
|
|
70
|
+
items.push({
|
|
71
|
+
id: "failed-files",
|
|
72
|
+
text: `${failed} failed`,
|
|
73
|
+
tone: "danger",
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (latestResult) {
|
|
78
|
+
const status = latestResult === "PASSED" ? "passed" : latestResult === "FAILED" ? "failed" : latestResult.toLowerCase();
|
|
79
|
+
items.push({
|
|
80
|
+
id: "latest-status",
|
|
81
|
+
text: duration ? `${status} in ${duration}` : status,
|
|
82
|
+
tone: latestResult === "PASSED" ? "good" : latestResult === "FAILED" ? "danger" : "neutral",
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (contextSelection.filePath) {
|
|
87
|
+
items.push({
|
|
88
|
+
id: "focus",
|
|
89
|
+
text: `focus ${path.basename(contextSelection.filePath)}`,
|
|
90
|
+
tone: "progress",
|
|
91
|
+
});
|
|
92
|
+
} else if (!latestResult) {
|
|
93
|
+
items.push({
|
|
94
|
+
id: "ready",
|
|
95
|
+
text: "ready to run",
|
|
96
|
+
tone: "progress",
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return {
|
|
101
|
+
label: "Quality signal",
|
|
102
|
+
tone: latestResult === "FAILED" ? "danger" : latestResult === "PASSED" ? "good" : "neutral",
|
|
103
|
+
items,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
|
|
28
107
|
export function buildWelcomeModel(snapshot, { cwd = process.cwd(), providerLabel = null } = {}) {
|
|
29
108
|
const summaryRows = snapshot?.run?.summaryData?.rows || snapshot?.summaryData?.rows || [];
|
|
30
109
|
const rowValue = (label) => summaryRows.find(([key]) => key === label)?.[1] || null;
|
|
@@ -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"),
|
|
@@ -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,7 +241,7 @@ 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", "
|
|
244
|
+
const dir = path.join(productDir, ".testkit", "assistant", "sessions");
|
|
243
245
|
return listFiles(dir)
|
|
244
246
|
.filter((file) => file.size >= ASSISTANT_LARGE_RESULT_BYTES || now - file.mtimeMs >= ASSISTANT_RESULT_TTL_MS)
|
|
245
247
|
.map((file) => ({
|
|
@@ -249,6 +251,13 @@ export function collectAssistantCleanupTargets(productDir) {
|
|
|
249
251
|
}));
|
|
250
252
|
}
|
|
251
253
|
|
|
254
|
+
function listDirectories(dir) {
|
|
255
|
+
if (!fs.existsSync(dir)) return [];
|
|
256
|
+
return fs.readdirSync(dir, { withFileTypes: true })
|
|
257
|
+
.filter((entry) => entry.isDirectory())
|
|
258
|
+
.map((entry) => path.join(dir, entry.name));
|
|
259
|
+
}
|
|
260
|
+
|
|
252
261
|
function collectRunStatus(productDir) {
|
|
253
262
|
const manifests = listRunManifests(productDir);
|
|
254
263
|
const runs = manifests.map((manifest) => ({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elench/testkit-bridge",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.111",
|
|
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.111"
|
|
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.111",
|
|
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.111",
|
|
94
|
+
"@elench/testkit-bridge": "0.1.111",
|
|
95
|
+
"@elench/testkit-protocol": "0.1.111",
|
|
96
|
+
"@elench/ts-analysis": "0.1.111",
|
|
96
97
|
"@oclif/core": "^4.10.6",
|
|
97
98
|
"@playwright/test": "^1.52.0",
|
|
98
99
|
"esbuild": "^0.25.11",
|
|
@@ -0,0 +1,188 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|