@healflow/playwright 0.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/dist/api-client.d.ts +9 -0
- package/dist/api-client.d.ts.map +1 -0
- package/dist/api-client.js +74 -0
- package/dist/api-client.js.map +1 -0
- package/dist/artifacts.d.ts +10 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +37 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/auto.d.ts +9 -0
- package/dist/auto.d.ts.map +1 -0
- package/dist/auto.js +51 -0
- package/dist/auto.js.map +1 -0
- package/dist/client-info.d.ts +7 -0
- package/dist/client-info.d.ts.map +1 -0
- package/dist/client-info.js +30 -0
- package/dist/client-info.js.map +1 -0
- package/dist/heal-store.d.ts +9 -0
- package/dist/heal-store.d.ts.map +1 -0
- package/dist/heal-store.js +105 -0
- package/dist/heal-store.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +706 -0
- package/dist/index.js.map +1 -0
- package/dist/list-reporter.d.ts +31 -0
- package/dist/list-reporter.d.ts.map +1 -0
- package/dist/list-reporter.js +23 -0
- package/dist/list-reporter.js.map +1 -0
- package/dist/register.d.ts +4 -0
- package/dist/register.d.ts.map +1 -0
- package/dist/register.js +9 -0
- package/dist/register.js.map +1 -0
- package/dist/report-html.d.ts +7 -0
- package/dist/report-html.d.ts.map +1 -0
- package/dist/report-html.js +862 -0
- package/dist/report-html.js.map +1 -0
- package/dist/reporter.d.ts +34 -0
- package/dist/reporter.d.ts.map +1 -0
- package/dist/reporter.js +160 -0
- package/dist/reporter.js.map +1 -0
- package/dist/setup-global.d.ts +2 -0
- package/dist/setup-global.d.ts.map +1 -0
- package/dist/setup-global.js +10 -0
- package/dist/setup-global.js.map +1 -0
- package/dist/terminal.d.ts +16 -0
- package/dist/terminal.d.ts.map +1 -0
- package/dist/terminal.js +158 -0
- package/dist/terminal.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-html.js","sourceRoot":"","sources":["../src/report-html.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { FullConfig, FullResult, Reporter, Suite, TestCase, TestResult } from '@playwright/test/reporter';
|
|
2
|
+
export interface HealFlowReporterOptions {
|
|
3
|
+
apiUrl?: string;
|
|
4
|
+
organizationId?: string;
|
|
5
|
+
repositoryId?: string;
|
|
6
|
+
autoHeal?: boolean;
|
|
7
|
+
reportOnly?: boolean;
|
|
8
|
+
printSteps?: boolean;
|
|
9
|
+
}
|
|
10
|
+
/** Custom reporter — list output + HealFlow terminal UX + local artifacts */
|
|
11
|
+
declare class HealFlowReporter implements Reporter {
|
|
12
|
+
private options;
|
|
13
|
+
private listReporter;
|
|
14
|
+
private passed;
|
|
15
|
+
private failed;
|
|
16
|
+
private failures;
|
|
17
|
+
constructor(options?: HealFlowReporterOptions);
|
|
18
|
+
version(): 'v2';
|
|
19
|
+
onConfigure(config: FullConfig): void;
|
|
20
|
+
onBegin(configOrSuite: FullConfig | Suite, maybeSuite?: Suite): void;
|
|
21
|
+
onTestBegin(test: TestCase, result: TestResult): void;
|
|
22
|
+
onStdOut(chunk: string | Buffer, test?: TestCase, result?: TestResult): void;
|
|
23
|
+
onStdErr(chunk: string | Buffer, test?: TestCase, result?: TestResult): void;
|
|
24
|
+
onStepBegin(test: TestCase, result: TestResult, step: TestResult['steps'][number]): void;
|
|
25
|
+
onStepEnd(test: TestCase, result: TestResult, step: TestResult['steps'][number]): void;
|
|
26
|
+
onTestEnd(test: TestCase, result: TestResult): void;
|
|
27
|
+
onError(error: NonNullable<TestResult['error']>): void;
|
|
28
|
+
onEnd(result: FullResult): Promise<void>;
|
|
29
|
+
private syncToCloud;
|
|
30
|
+
printsToStdio(): boolean;
|
|
31
|
+
}
|
|
32
|
+
export default HealFlowReporter;
|
|
33
|
+
export declare function healflowReporter(options?: HealFlowReporterOptions): [string, HealFlowReporterOptions];
|
|
34
|
+
//# sourceMappingURL=reporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,UAAU,EACX,MAAM,2BAA2B,CAAC;AAYnC,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AASD,6EAA6E;AAC7E,cAAM,gBAAiB,YAAW,QAAQ;IACxC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAQR;gBAEI,OAAO,GAAE,uBAA4B;IAKjD,OAAO,IAAI,IAAI;IAIf,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAIrC,OAAO,CAAC,aAAa,EAAE,UAAU,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,KAAK,GAAG,IAAI;IASpE,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAIrD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI;IAI5E,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI;IAI5E,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI;IAIxF,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI;IAItF,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IA2BnD,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI;IAIhD,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;YA6ChC,WAAW;IA+CzB,aAAa,IAAI,OAAO;CAGzB;AAED,eAAe,gBAAgB,CAAC;AAEhC,wBAAgB,gBAAgB,CAC9B,OAAO,CAAC,EAAE,uBAAuB,GAChC,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAEnC"}
|
package/dist/reporter.js
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.healflowReporter = healflowReporter;
|
|
4
|
+
const config_1 = require("@healflow/shared/config");
|
|
5
|
+
const artifacts_js_1 = require("./artifacts.js");
|
|
6
|
+
const client_info_js_1 = require("./client-info.js");
|
|
7
|
+
const heal_store_js_1 = require("./heal-store.js");
|
|
8
|
+
const list_reporter_js_1 = require("./list-reporter.js");
|
|
9
|
+
const terminal_js_1 = require("./terminal.js");
|
|
10
|
+
const FAILURE_STATUSES = new Set(['failed', 'timedOut', 'interrupted']);
|
|
11
|
+
function isFinalAttempt(test, result) {
|
|
12
|
+
if (result.status === 'passed' || result.status === 'skipped')
|
|
13
|
+
return true;
|
|
14
|
+
return result.retry >= test.retries;
|
|
15
|
+
}
|
|
16
|
+
/** Custom reporter — list output + HealFlow terminal UX + local artifacts */
|
|
17
|
+
class HealFlowReporter {
|
|
18
|
+
options;
|
|
19
|
+
listReporter;
|
|
20
|
+
passed = 0;
|
|
21
|
+
failed = 0;
|
|
22
|
+
failures = [];
|
|
23
|
+
constructor(options = {}) {
|
|
24
|
+
this.options = options;
|
|
25
|
+
this.listReporter = (0, list_reporter_js_1.createListReporter)({ printSteps: options.printSteps });
|
|
26
|
+
}
|
|
27
|
+
version() {
|
|
28
|
+
return 'v2';
|
|
29
|
+
}
|
|
30
|
+
onConfigure(config) {
|
|
31
|
+
this.listReporter.onConfigure(config);
|
|
32
|
+
}
|
|
33
|
+
onBegin(configOrSuite, maybeSuite) {
|
|
34
|
+
const suite = maybeSuite ?? configOrSuite;
|
|
35
|
+
(0, heal_store_js_1.startHealRun)();
|
|
36
|
+
this.passed = 0;
|
|
37
|
+
this.failed = 0;
|
|
38
|
+
this.failures = [];
|
|
39
|
+
this.listReporter.onBegin(suite);
|
|
40
|
+
}
|
|
41
|
+
onTestBegin(test, result) {
|
|
42
|
+
this.listReporter.onTestBegin?.(test, result);
|
|
43
|
+
}
|
|
44
|
+
onStdOut(chunk, test, result) {
|
|
45
|
+
this.listReporter.onStdOut?.(chunk, test, result);
|
|
46
|
+
}
|
|
47
|
+
onStdErr(chunk, test, result) {
|
|
48
|
+
this.listReporter.onStdErr?.(chunk, test, result);
|
|
49
|
+
}
|
|
50
|
+
onStepBegin(test, result, step) {
|
|
51
|
+
this.listReporter.onStepBegin?.(test, result, step);
|
|
52
|
+
}
|
|
53
|
+
onStepEnd(test, result, step) {
|
|
54
|
+
this.listReporter.onStepEnd?.(test, result, step);
|
|
55
|
+
}
|
|
56
|
+
onTestEnd(test, result) {
|
|
57
|
+
this.listReporter.onTestEnd?.(test, result);
|
|
58
|
+
if (!isFinalAttempt(test, result))
|
|
59
|
+
return;
|
|
60
|
+
if (result.status === 'passed') {
|
|
61
|
+
this.passed += 1;
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (!FAILURE_STATUSES.has(result.status))
|
|
65
|
+
return;
|
|
66
|
+
this.failed += 1;
|
|
67
|
+
this.failures.push({
|
|
68
|
+
testFile: test.location.file,
|
|
69
|
+
testTitle: test.title,
|
|
70
|
+
errorMessage: result.error?.message ?? 'Unknown error',
|
|
71
|
+
errorStack: result.error?.stack,
|
|
72
|
+
durationMs: result.duration,
|
|
73
|
+
retry: result.retry,
|
|
74
|
+
projectName: test.parent.project()?.name ?? 'default',
|
|
75
|
+
});
|
|
76
|
+
const config = (0, config_1.loadHealFlowConfig)();
|
|
77
|
+
(0, terminal_js_1.logFailureDetail)(result.error?.message, config);
|
|
78
|
+
}
|
|
79
|
+
onError(error) {
|
|
80
|
+
this.listReporter.onError?.(error);
|
|
81
|
+
}
|
|
82
|
+
async onEnd(result) {
|
|
83
|
+
const config = (0, config_1.loadHealFlowConfig)();
|
|
84
|
+
const heals = (0, heal_store_js_1.getRuntimeHeals)();
|
|
85
|
+
const fixes = (0, heal_store_js_1.getFixProposals)();
|
|
86
|
+
const healCount = heals.length;
|
|
87
|
+
const fixCount = fixes.length;
|
|
88
|
+
const artifacts = (0, artifacts_js_1.writeHealFlowArtifacts)({
|
|
89
|
+
config,
|
|
90
|
+
status: result.status,
|
|
91
|
+
failureCount: this.failures.length,
|
|
92
|
+
passedCount: this.passed,
|
|
93
|
+
durationMs: result.duration,
|
|
94
|
+
});
|
|
95
|
+
(0, list_reporter_js_1.applyCustomRunSummary)(this.listReporter, (0, terminal_js_1.formatRunSummary)({
|
|
96
|
+
passed: this.passed,
|
|
97
|
+
failed: this.failed,
|
|
98
|
+
healed: healCount,
|
|
99
|
+
durationMs: result.duration,
|
|
100
|
+
}));
|
|
101
|
+
await this.listReporter.onEnd?.(result);
|
|
102
|
+
if (config.output !== 'quiet') {
|
|
103
|
+
console.log((0, terminal_js_1.formatReportFooter)(healCount, fixCount));
|
|
104
|
+
}
|
|
105
|
+
const backend = config.backend;
|
|
106
|
+
const apiUrl = this.options.apiUrl ?? backend?.url ?? process.env.HEALFLOW_API_URL;
|
|
107
|
+
const organizationId = this.options.organizationId ?? backend?.organizationId ?? process.env.HEALFLOW_ORG_ID;
|
|
108
|
+
const repositoryId = this.options.repositoryId ?? backend?.repositoryId ?? process.env.HEALFLOW_REPO_ID;
|
|
109
|
+
if (!apiUrl || !organizationId || !repositoryId) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
await this.syncToCloud(apiUrl, organizationId, repositoryId, artifacts, backend?.token);
|
|
113
|
+
}
|
|
114
|
+
async syncToCloud(apiUrl, organizationId, repositoryId, artifacts, token) {
|
|
115
|
+
const base = apiUrl.replace(/\/$/, '');
|
|
116
|
+
const headers = { 'Content-Type': 'application/json' };
|
|
117
|
+
if (token)
|
|
118
|
+
headers.Authorization = `Bearer ${token}`;
|
|
119
|
+
try {
|
|
120
|
+
const client = (0, client_info_js_1.getHealFlowClientInfo)();
|
|
121
|
+
if (this.failures.length > 0) {
|
|
122
|
+
await fetch(`${base}/api/v1/ingestion/failures/batch`, {
|
|
123
|
+
method: 'POST',
|
|
124
|
+
headers,
|
|
125
|
+
body: JSON.stringify({
|
|
126
|
+
organizationId,
|
|
127
|
+
repositoryId,
|
|
128
|
+
client,
|
|
129
|
+
failures: this.failures,
|
|
130
|
+
summary: { failureCount: this.failures.length },
|
|
131
|
+
}),
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
await fetch(`${base}/api/v1/ingestion/run-artifacts`, {
|
|
135
|
+
method: 'POST',
|
|
136
|
+
headers,
|
|
137
|
+
body: JSON.stringify({
|
|
138
|
+
organizationId,
|
|
139
|
+
repositoryId,
|
|
140
|
+
client,
|
|
141
|
+
run: artifacts,
|
|
142
|
+
}),
|
|
143
|
+
});
|
|
144
|
+
if ((0, config_1.loadHealFlowConfig)().output !== 'quiet') {
|
|
145
|
+
console.log(`[HealFlow] Synced run to ${base}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
console.warn('[HealFlow] Failed to sync to cloud (local .healflow/ artifacts saved)');
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
printsToStdio() {
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
exports.default = HealFlowReporter;
|
|
157
|
+
function healflowReporter(options) {
|
|
158
|
+
return ['@healflow/playwright/reporter', options ?? {}];
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=reporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporter.js","sourceRoot":"","sources":["../src/reporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-global.d.ts","sourceRoot":"","sources":["../src/setup-global.ts"],"names":[],"mappings":"AAGA,wBAA8B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAGzD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = globalSetup;
|
|
4
|
+
const heal_store_js_1 = require("./heal-store.js");
|
|
5
|
+
const register_js_1 = require("./register.js");
|
|
6
|
+
async function globalSetup() {
|
|
7
|
+
(0, register_js_1.registerHealFlow)();
|
|
8
|
+
(0, heal_store_js_1.startHealRun)();
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=setup-global.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-global.js","sourceRoot":"","sources":["../src/setup-global.ts"],"names":[],"mappings":";;AAGA,8BAGC;AAND,mDAA+C;AAC/C,+CAAiD;AAElC,KAAK,UAAU,WAAW;IACvC,IAAA,8BAAgB,GAAE,CAAC;IACnB,IAAA,4BAAY,GAAE,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { HealFlowConfig, RuntimeHealRecord } from '@healflow/shared';
|
|
2
|
+
export declare function formatHealDescription(record: RuntimeHealRecord): string;
|
|
3
|
+
export declare function formatHealLine(record: RuntimeHealRecord): string;
|
|
4
|
+
export declare function formatFailureDetail(errorMessage: string | undefined): string | null;
|
|
5
|
+
export declare function formatRunSummary(options: {
|
|
6
|
+
passed: number;
|
|
7
|
+
failed: number;
|
|
8
|
+
healed: number;
|
|
9
|
+
durationMs: number;
|
|
10
|
+
}): string;
|
|
11
|
+
export declare function formatReportFooter(healCount: number, fixCount: number): string;
|
|
12
|
+
/** @deprecated Use formatHealLine — kept for callers that expect a multi-line banner. */
|
|
13
|
+
export declare function formatHealBanner(record: RuntimeHealRecord, config: HealFlowConfig): string;
|
|
14
|
+
export declare function logHeal(record: RuntimeHealRecord, config: HealFlowConfig): void;
|
|
15
|
+
export declare function logFailureDetail(errorMessage: string | undefined, config: HealFlowConfig): void;
|
|
16
|
+
//# sourceMappingURL=terminal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AA4C1E,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAoCvE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAKhE;AAWD,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CA0BnF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAWT;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAW9E;AAED,yFAAyF;AACzF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,CAG1F;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAG/E;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAM/F"}
|
package/dist/terminal.js
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatHealDescription = formatHealDescription;
|
|
4
|
+
exports.formatHealLine = formatHealLine;
|
|
5
|
+
exports.formatFailureDetail = formatFailureDetail;
|
|
6
|
+
exports.formatRunSummary = formatRunSummary;
|
|
7
|
+
exports.formatReportFooter = formatReportFooter;
|
|
8
|
+
exports.formatHealBanner = formatHealBanner;
|
|
9
|
+
exports.logHeal = logHeal;
|
|
10
|
+
exports.logFailureDetail = logFailureDetail;
|
|
11
|
+
const shared_1 = require("@healflow/shared");
|
|
12
|
+
const ANSI = {
|
|
13
|
+
reset: '\x1b[0m',
|
|
14
|
+
green: '\x1b[32m',
|
|
15
|
+
dim: '\x1b[2m',
|
|
16
|
+
red: '\x1b[31m',
|
|
17
|
+
};
|
|
18
|
+
const BOX_WIDTH = 44;
|
|
19
|
+
function useColor() {
|
|
20
|
+
return (process.stdout.isTTY === true && process.env.NO_COLOR !== '1' && process.env.FORCE_COLOR !== '0');
|
|
21
|
+
}
|
|
22
|
+
function green(text) {
|
|
23
|
+
return useColor() ? `${ANSI.green}${text}${ANSI.reset}` : text;
|
|
24
|
+
}
|
|
25
|
+
function dim(text) {
|
|
26
|
+
return useColor() ? `${ANSI.dim}${text}${ANSI.reset}` : text;
|
|
27
|
+
}
|
|
28
|
+
function categoryLabel(category) {
|
|
29
|
+
switch (category) {
|
|
30
|
+
case shared_1.FailureCategory.SHADOW_DOM:
|
|
31
|
+
return 'SHADOW_DOM';
|
|
32
|
+
case shared_1.FailureCategory.SESSION:
|
|
33
|
+
return 'AUTH';
|
|
34
|
+
default:
|
|
35
|
+
return category;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function simplifySelectorValue(value) {
|
|
39
|
+
const testIdMatch = value.match(/data-testid\*?="([^"]+)"/);
|
|
40
|
+
if (testIdMatch?.[1])
|
|
41
|
+
return testIdMatch[1];
|
|
42
|
+
if (!value.includes('[') && !value.includes('(') && !value.includes(' '))
|
|
43
|
+
return value;
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
function formatHealDescription(record) {
|
|
47
|
+
switch (record.category) {
|
|
48
|
+
case shared_1.FailureCategory.SELECTOR:
|
|
49
|
+
if (record.oldValue && record.newValue) {
|
|
50
|
+
return `Selector rename — ${record.oldValue} → ${simplifySelectorValue(record.newValue)}`;
|
|
51
|
+
}
|
|
52
|
+
return 'Selector rename — locator updated';
|
|
53
|
+
case shared_1.FailureCategory.OVERLAY:
|
|
54
|
+
return 'Blocking overlay — dismissed banner, retried click';
|
|
55
|
+
case shared_1.FailureCategory.TIMING:
|
|
56
|
+
return 'Wait timeout — element appeared after retry';
|
|
57
|
+
case shared_1.FailureCategory.IFRAME:
|
|
58
|
+
return record.newValue
|
|
59
|
+
? `Iframe context — switched to ${record.newValue}`
|
|
60
|
+
: 'Iframe context — frame ready, retried action';
|
|
61
|
+
case shared_1.FailureCategory.SHADOW_DOM:
|
|
62
|
+
return record.newValue
|
|
63
|
+
? `Shadow DOM — pierced ${record.newValue}`
|
|
64
|
+
: 'Shadow DOM — pierced closed root, retried';
|
|
65
|
+
case shared_1.FailureCategory.AUTH:
|
|
66
|
+
case shared_1.FailureCategory.SESSION:
|
|
67
|
+
return record.newValue
|
|
68
|
+
? `Auth session — restored from ${record.newValue}`
|
|
69
|
+
: 'Auth session — redirect handled, retried';
|
|
70
|
+
case shared_1.FailureCategory.NETWORK:
|
|
71
|
+
return 'Network retry — waited for idle, retried';
|
|
72
|
+
default:
|
|
73
|
+
return record.rootCause;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function formatHealLine(record) {
|
|
77
|
+
const category = categoryLabel(record.category);
|
|
78
|
+
const description = formatHealDescription(record);
|
|
79
|
+
const confidence = record.confidence.toFixed(2);
|
|
80
|
+
return ` [HealFlow] ${category} • ${description} (${confidence})`;
|
|
81
|
+
}
|
|
82
|
+
function formatBox(title, contentLines, indent = 2) {
|
|
83
|
+
const pad = ' '.repeat(indent);
|
|
84
|
+
const topLabel = `─ ${title} `;
|
|
85
|
+
const top = `${pad}┌${topLabel}${'─'.repeat(Math.max(0, BOX_WIDTH - topLabel.length))}`;
|
|
86
|
+
const body = contentLines.map((line) => `${pad}│ ${line}`);
|
|
87
|
+
const bottom = `${pad}└${'─'.repeat(BOX_WIDTH)}`;
|
|
88
|
+
return [top, ...body, bottom].join('\n');
|
|
89
|
+
}
|
|
90
|
+
function formatFailureDetail(errorMessage) {
|
|
91
|
+
if (!errorMessage)
|
|
92
|
+
return null;
|
|
93
|
+
const lines = [];
|
|
94
|
+
const firstLine = errorMessage.split('\n')[0]?.trim();
|
|
95
|
+
if (firstLine) {
|
|
96
|
+
lines.push(`Error: ${firstLine.replace(/^Error:\s*/, '')}`);
|
|
97
|
+
}
|
|
98
|
+
const locatorMatch = errorMessage.match(/Locator:\s*(.+)/);
|
|
99
|
+
if (locatorMatch?.[1]) {
|
|
100
|
+
lines.push(`Locator: ${locatorMatch[1].trim()}`);
|
|
101
|
+
}
|
|
102
|
+
const expectedMatch = errorMessage.match(/Expected:\s*(.+)/);
|
|
103
|
+
const receivedMatch = errorMessage.match(/Received:\s*(.+)/);
|
|
104
|
+
if (expectedMatch?.[1] && receivedMatch?.[1]) {
|
|
105
|
+
lines.push(`Expected: ${expectedMatch[1].trim()} Received: ${receivedMatch[1].trim()}`);
|
|
106
|
+
}
|
|
107
|
+
else if (expectedMatch?.[1]) {
|
|
108
|
+
lines.push(`Expected: ${expectedMatch[1].trim()}`);
|
|
109
|
+
}
|
|
110
|
+
else if (receivedMatch?.[1]) {
|
|
111
|
+
lines.push(`Received: ${receivedMatch[1].trim()}`);
|
|
112
|
+
}
|
|
113
|
+
if (lines.length === 0)
|
|
114
|
+
return null;
|
|
115
|
+
return formatBox('FAILURE DETAIL', lines);
|
|
116
|
+
}
|
|
117
|
+
function formatRunSummary(options) {
|
|
118
|
+
const parts = [`${options.passed} passed`];
|
|
119
|
+
if (options.failed > 0) {
|
|
120
|
+
parts.push(`${options.failed} failed`);
|
|
121
|
+
}
|
|
122
|
+
else if (options.healed > 0) {
|
|
123
|
+
parts.push(`⚡ ${options.healed} healed`);
|
|
124
|
+
}
|
|
125
|
+
parts.push(`${(options.durationMs / 1000).toFixed(1)}s`);
|
|
126
|
+
return ` ${parts.join(' ')}`;
|
|
127
|
+
}
|
|
128
|
+
function formatReportFooter(healCount, fixCount) {
|
|
129
|
+
const base = `[HealFlow] Local report: .healflow/report.html — ${healCount} heal(s)`;
|
|
130
|
+
if (healCount === 0) {
|
|
131
|
+
return `${base} • all selectors up to date`;
|
|
132
|
+
}
|
|
133
|
+
let line = `${base} recorded`;
|
|
134
|
+
if (fixCount > 0) {
|
|
135
|
+
line += ' fix proposals saved to .healflow/fixes/';
|
|
136
|
+
}
|
|
137
|
+
return line;
|
|
138
|
+
}
|
|
139
|
+
/** @deprecated Use formatHealLine — kept for callers that expect a multi-line banner. */
|
|
140
|
+
function formatHealBanner(record, config) {
|
|
141
|
+
if (config.output === 'quiet')
|
|
142
|
+
return '';
|
|
143
|
+
return formatHealLine(record);
|
|
144
|
+
}
|
|
145
|
+
function logHeal(record, config) {
|
|
146
|
+
if (config.output === 'quiet')
|
|
147
|
+
return;
|
|
148
|
+
console.log(green(formatHealLine(record)));
|
|
149
|
+
}
|
|
150
|
+
function logFailureDetail(errorMessage, config) {
|
|
151
|
+
if (config.output === 'quiet')
|
|
152
|
+
return;
|
|
153
|
+
const box = formatFailureDetail(errorMessage);
|
|
154
|
+
if (box) {
|
|
155
|
+
console.log(dim(box));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=terminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@healflow/playwright",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Runtime auto-healing Playwright plugin for HealFlow",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"require": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./reporter": {
|
|
14
|
+
"types": "./dist/reporter.d.ts",
|
|
15
|
+
"import": "./dist/reporter.js",
|
|
16
|
+
"require": "./dist/reporter.js",
|
|
17
|
+
"default": "./dist/reporter.js"
|
|
18
|
+
},
|
|
19
|
+
"./auto": {
|
|
20
|
+
"types": "./dist/auto.d.ts",
|
|
21
|
+
"import": "./dist/auto.js",
|
|
22
|
+
"require": "./dist/auto.js",
|
|
23
|
+
"default": "./dist/auto.js"
|
|
24
|
+
},
|
|
25
|
+
"./setup-global": {
|
|
26
|
+
"types": "./dist/setup-global.d.ts",
|
|
27
|
+
"import": "./dist/setup-global.js",
|
|
28
|
+
"require": "./dist/setup-global.js",
|
|
29
|
+
"default": "./dist/setup-global.js"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"peerDependencies": {
|
|
33
|
+
"@playwright/test": ">=1.40.0"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@healflow/classification": "^0.1.0",
|
|
37
|
+
"@healflow/shared": "^0.1.0"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@playwright/test": "1.58.2",
|
|
41
|
+
"typescript": "^5.7.2"
|
|
42
|
+
},
|
|
43
|
+
"files": [
|
|
44
|
+
"dist"
|
|
45
|
+
],
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"access": "public"
|
|
48
|
+
},
|
|
49
|
+
"scripts": {
|
|
50
|
+
"build": "tsc -p tsconfig.json",
|
|
51
|
+
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
52
|
+
}
|
|
53
|
+
}
|