@ia-qa/pal 0.1.0 → 0.3.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/README.md +54 -14
- package/TUTORIAL.md +375 -0
- package/dist/cli/index.js +181 -20
- package/dist/cli/index.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +89 -0
- package/dist/mcp/server.js +250 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/plan.d.ts +2 -0
- package/dist/plan.js +2 -0
- package/dist/plan.js.map +1 -1
- package/dist/report.js +71 -19
- package/dist/report.js.map +1 -1
- package/dist/run.d.ts +65 -0
- package/dist/run.js +171 -0
- package/dist/run.js.map +1 -0
- package/dist/setup.d.ts +45 -0
- package/dist/setup.js +210 -0
- package/dist/setup.js.map +1 -0
- package/dist/state.d.ts +3 -0
- package/dist/state.js.map +1 -1
- package/dist/suite.d.ts +63 -0
- package/dist/suite.js +145 -0
- package/dist/suite.js.map +1 -0
- package/dist/tour.d.ts +44 -5
- package/dist/tour.js +92 -10
- package/dist/tour.js.map +1 -1
- package/package.json +6 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/dist/plan.d.ts
CHANGED
package/dist/plan.js
CHANGED
package/dist/plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":";;;AAeA,kCAOC;AAED,oCAMC;AAqBD,4BAeC;AAmBD,sCAmBC;AAOD,
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
|
package/dist/report.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.renderReport = renderReport;
|
|
4
|
+
const suite_1 = require("./suite");
|
|
4
5
|
/**
|
|
5
6
|
* The one rendering of a tour for a terminal. Four sections, each printed only when it holds
|
|
6
7
|
* something, in the order a reader acts on them: what is broken, what needs a person, what is
|
|
@@ -8,6 +9,7 @@ exports.renderReport = renderReport;
|
|
|
8
9
|
* a green tour over a third of the app is the failure this tool exists to refuse.
|
|
9
10
|
*/
|
|
10
11
|
const plural = (n, one, many = `${one}s`) => `${n} ${n === 1 ? one : many}`;
|
|
12
|
+
const LEVELS = ['level 0 (public pages)', 'level 1 (with a login)', 'level 2 (with your test suite)'];
|
|
11
13
|
function duration(seconds) {
|
|
12
14
|
if (seconds < 90)
|
|
13
15
|
return `${seconds} s`;
|
|
@@ -16,6 +18,7 @@ function duration(seconds) {
|
|
|
16
18
|
return `${minutes} min`;
|
|
17
19
|
return `${Math.floor(minutes / 60)} h ${String(minutes % 60).padStart(2, '0')}`;
|
|
18
20
|
}
|
|
21
|
+
const day = (iso) => iso.slice(0, 10);
|
|
19
22
|
function headline(r) {
|
|
20
23
|
if (r.refused)
|
|
21
24
|
return `⏸ Did not run — ${r.refused}`;
|
|
@@ -35,33 +38,41 @@ function headline(r) {
|
|
|
35
38
|
}
|
|
36
39
|
function renderReport(r) {
|
|
37
40
|
const out = [];
|
|
38
|
-
|
|
39
|
-
out.push(`ia-qa-pal tour — ${r.baseUrl} · ${level}`);
|
|
41
|
+
out.push(r.baseUrl ? `ia-qa-pal tour — ${r.baseUrl} · ${LEVELS[r.level]}` : 'ia-qa-pal tour');
|
|
40
42
|
out.push(headline(r));
|
|
43
|
+
if (r.setupRequired)
|
|
44
|
+
out.push('', ` Set it up: ${r.setupRequired.command}`, ' (in a terminal, `ia-qa-pal tour` asks the questions itself)');
|
|
41
45
|
if (r.refused)
|
|
42
46
|
return out.join('\n') + '\n';
|
|
43
47
|
const p = r.pages;
|
|
48
|
+
const s = r.suite;
|
|
44
49
|
const needing = p.explored + p.notExplored.length;
|
|
45
50
|
out.push(` ${p.underContract} of ${plural(p.configured, 'page')} under contract · ` +
|
|
46
51
|
`${p.explored} explored in depth of ${plural(needing, 'page')} with closed controls`);
|
|
47
|
-
const broken =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
out.push(` ${String(d.status ?? d.error ?? 'no answer').padEnd(5)} ${d.url}${where}`);
|
|
53
|
-
}
|
|
54
|
-
if (broken.length > 10)
|
|
55
|
-
out.push(` …and ${broken.length - 10} more`);
|
|
56
|
-
if (r.check && r.check.knownDeadLinks > 0)
|
|
57
|
-
out.push(` ${r.check.knownDeadLinks} of these were already reported by a previous tour.`);
|
|
52
|
+
const broken = [];
|
|
53
|
+
const deadLinks = r.check?.deadLinks ?? [];
|
|
54
|
+
for (const d of deadLinks.slice(0, 10)) {
|
|
55
|
+
const where = d.from[0] ? ` — linked from ${d.from[0].page}${d.from[0].name ? ` ("${d.from[0].name}")` : ''}${d.from.length > 1 ? `, +${d.from.length - 1} more` : ''}` : '';
|
|
56
|
+
broken.push(` ${String(d.status ?? d.error ?? 'no answer').padEnd(5)} ${d.url}${where}`);
|
|
58
57
|
}
|
|
58
|
+
if (deadLinks.length > 10)
|
|
59
|
+
broken.push(` …and ${deadLinks.length - 10} more`);
|
|
60
|
+
if (r.check && r.check.knownDeadLinks > 0)
|
|
61
|
+
broken.push(` ${r.check.knownDeadLinks} of these were already reported by a previous tour.`);
|
|
62
|
+
if (s?.ranThisTour && s.run && s.run.exitCode !== 0)
|
|
63
|
+
broken.push(` suite your test command exited ${s.run.exitCode}: ${s.run.command}`);
|
|
64
|
+
if (broken.length > 0)
|
|
65
|
+
out.push('', `🔴 Broken`, ...broken);
|
|
59
66
|
const decide = [];
|
|
60
67
|
const notMapped = new Set(p.notMapped.map((m) => m.page));
|
|
61
68
|
for (const b of r.drift?.blocking ?? []) {
|
|
62
69
|
const stale = notMapped.has(b.page) ? ' (not re-captured this tour — this is an older capture)' : '';
|
|
63
70
|
decide.push(` drift ${b.page}: ${b.lost} lost · ${b.ambiguous} ambiguous · ${b.rebound} rebound${stale}`);
|
|
64
71
|
}
|
|
72
|
+
const sf = r.drift?.suiteFindings;
|
|
73
|
+
if (sf && sf.names + sf.bindings > 0) {
|
|
74
|
+
decide.push(` tests ${[sf.names > 0 ? plural(sf.names, 'renamed label') + ' your tests locate by name' : '', sf.bindings > 0 ? plural(sf.bindings, 'selector') + ' your tests write changed what they reach' : ''].filter(Boolean).join(' · ')} — details: ia-qa-heal diff`);
|
|
75
|
+
}
|
|
65
76
|
if (r.check) {
|
|
66
77
|
const c = r.check;
|
|
67
78
|
if (c.newUnnamed.length > 0) {
|
|
@@ -76,14 +87,39 @@ function renderReport(r) {
|
|
|
76
87
|
decide.push(` new ${plural(c.newOrphans.length, 'page')} nothing links to — ${c.newOrphans.slice(0, 3).map((o) => o.page).join(', ')}${c.newOrphans.length > 3 ? ', …' : ''}`);
|
|
77
88
|
}
|
|
78
89
|
}
|
|
90
|
+
if (s && s.newDeadNames.length > 0) {
|
|
91
|
+
const e = s.newDeadNames[0];
|
|
92
|
+
const site = e.sites[0] ? ` at ${e.sites[0].file}:${e.sites[0].line}` : '';
|
|
93
|
+
decide.push(` new ${plural(s.newDeadNames.length, 'locator name')} in your tests match nothing on the mapped pages — e.g. "${e.name}"${site}` +
|
|
94
|
+
' (it may live on a page or a state not mapped)');
|
|
95
|
+
}
|
|
79
96
|
if (decide.length > 0) {
|
|
80
97
|
out.push('', '⛔ To decide', ...decide);
|
|
81
98
|
if (r.check && (r.check.newUnnamed.length > 0 || r.check.newAmbiguous.length > 0 || r.check.newOrphans.length > 0)) {
|
|
82
99
|
out.push(' Full list: ia-qa-heal check. Warnings never fail the tour.');
|
|
83
100
|
}
|
|
84
101
|
}
|
|
85
|
-
|
|
86
|
-
|
|
102
|
+
const knownWarnings = (r.check?.knownWarnings ?? 0) + (s?.knownDeadNames ?? 0);
|
|
103
|
+
if (knownWarnings > 0)
|
|
104
|
+
out.push(` ${plural(knownWarnings, 'warning')} already reported — not listed again.`);
|
|
105
|
+
const repairs = s?.repairs;
|
|
106
|
+
if (repairs && repairs.total > 0) {
|
|
107
|
+
out.push('', `🔧 Ready to repair (${plural(repairs.total, 'replacement')} in ${plural(repairs.files.length, 'file')})`);
|
|
108
|
+
let shown = 0;
|
|
109
|
+
for (const f of repairs.files) {
|
|
110
|
+
for (const rep of f.replacements) {
|
|
111
|
+
if (shown++ >= 10)
|
|
112
|
+
break;
|
|
113
|
+
const lines = rep.lines.length > 0 ? `:${rep.lines.join(',')}` : '';
|
|
114
|
+
out.push(` ${f.file}${lines} ${rep.from} → ${rep.to}`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (shown > 10)
|
|
118
|
+
out.push(` …and more`);
|
|
119
|
+
if (repairs.leftAlone > 0)
|
|
120
|
+
out.push(` ${plural(repairs.leftAlone, 'occurrence')} deliberately left alone — the command below says why.`);
|
|
121
|
+
out.push(` Apply after review: ${repairs.command} (pal never edits your tests)`);
|
|
122
|
+
}
|
|
87
123
|
const unseen = [];
|
|
88
124
|
if (p.notExplored.length > 0) {
|
|
89
125
|
const e = r.estimate;
|
|
@@ -99,14 +135,30 @@ function renderReport(r) {
|
|
|
99
135
|
unseen.push(` partly explored (click budget reached): ${p.partlyExplored.join(', ')}`);
|
|
100
136
|
if (p.notInBaseline.length > 0)
|
|
101
137
|
unseen.push(` not in the baseline yet: ${p.notInBaseline.slice(0, 5).join(', ')}${p.notInBaseline.length > 5 ? ', …' : ''}`);
|
|
102
|
-
for (const
|
|
103
|
-
unseen.push(` not compared ${
|
|
138
|
+
for (const x of r.drift?.staleExcluded ?? [])
|
|
139
|
+
unseen.push(` not compared ${x} — same capture on both sides`);
|
|
104
140
|
if (r.drift?.depthMismatch)
|
|
105
141
|
unseen.push(` ${r.drift.depthMismatch}`);
|
|
106
142
|
if (r.check && r.check.unverified > 0)
|
|
107
143
|
unseen.push(` ${plural(r.check.unverified, 'link')} could not be verified (rate-limited or no answer)`);
|
|
108
|
-
for (const
|
|
109
|
-
unseen.push(` check skipped — ${
|
|
144
|
+
for (const k of r.check?.skipped ?? [])
|
|
145
|
+
unseen.push(` check skipped — ${k.check}: ${k.why}`);
|
|
146
|
+
if (s) {
|
|
147
|
+
if (s.inventory.missingPaths.length > 0)
|
|
148
|
+
unseen.push(` test paths not found: ${s.inventory.missingPaths.join(', ')}`);
|
|
149
|
+
if (s.inventory.filesScanned === 0)
|
|
150
|
+
unseen.push(' no test file found under your test paths — nothing of your suite was read');
|
|
151
|
+
if (!s.run) {
|
|
152
|
+
unseen.push(' which pages your suite visits is not measured yet — ia-qa-pal tour --suite runs it once to find out');
|
|
153
|
+
}
|
|
154
|
+
else if (s.notVisited === null) {
|
|
155
|
+
unseen.push(` your suite ran (${day(s.run.at)}, exit ${s.run.exitCode}) but recorded no page — its specs do not use the capture hook:`, ` ${suite_1.CAPTURE_IMPORT}`);
|
|
156
|
+
}
|
|
157
|
+
else if (s.notVisited.length > 0) {
|
|
158
|
+
unseen.push(` your suite never visits ${s.notVisited.length} of ${p.configured} pages (run of ${day(s.run.at)}): ` +
|
|
159
|
+
`${s.notVisited.slice(0, 6).join(', ')}${s.notVisited.length > 6 ? ', …' : ''}`);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
110
162
|
if (unseen.length > 0)
|
|
111
163
|
out.push('', '🔍 Not seen', ...unseen);
|
|
112
164
|
return out.join('\n') + '\n';
|
package/dist/report.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../src/report.ts"],"names":[],"mappings":";;AAsCA,oCA0HC;AA/JD,mCAAyC;AAEzC;;;;;GAKG;AAEH,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,GAAW,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAE5F,MAAM,MAAM,GAAG,CAAC,wBAAwB,EAAE,wBAAwB,EAAE,gCAAgC,CAAC,CAAC;AAEtG,SAAS,QAAQ,CAAC,OAAe;IAC/B,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,MAAM,CAAC;IAC1C,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,MAAM,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAClF,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAE9C,SAAS,QAAQ,CAAC,CAAa;IAC7B,IAAI,CAAC,CAAC,OAAO;QAAE,OAAO,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC;IACtD,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,4FAA4F,CAAC;IAC5H,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC;YACV,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,oDAAoD,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAClH,CAAC,CAAC,4FAA4F,CAAC;IACnG,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,KAAK;QAAE,OAAO,2DAA2D,CAAC;IACjF,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IACzB,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,OAAO,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,OAAO,UAAU,CAAC;AAC1H,CAAC;AAED,SAAgB,YAAY,CAAC,CAAa;IACxC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,OAAO,MAAM,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC9F,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,CAAC,aAAa;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,gEAAgE,CAAC,CAAC;IACjJ,IAAI,CAAC,CAAC,OAAO;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAE5C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAClB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAClB,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;IAClD,GAAG,CAAC,IAAI,CACN,MAAM,CAAC,CAAC,aAAa,OAAO,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,oBAAoB;QAC1E,GAAG,CAAC,CAAC,QAAQ,yBAAyB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,uBAAuB,CACvF,CAAC;IAEF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7K,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;IAChF,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,cAAc,qDAAqD,CAAC,CAAC;IAC1I,IAAI,CAAC,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3I,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,EAAE,CAAC;QACvG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,OAAO,WAAW,KAAK,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC;IAClC,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CACT,cAAc,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,2CAA2C,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,6BAA6B,CACpQ,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QAClB,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,sCAAsC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjJ,CAAC;QACD,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,sCAAsC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1J,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvL,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,MAAM,CAAC,IAAI,CACT,cAAc,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,4DAA4D,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE;YACrI,gDAAgD,CACnD,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACnH,GAAG,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC;IAC/E,IAAI,aAAa,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,uCAAuC,CAAC,CAAC;IAE/G,MAAM,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAuB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACxH,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9B,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;gBACjC,IAAI,KAAK,EAAE,IAAI,EAAE;oBAAE,MAAM;gBACzB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,KAAK,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,IAAI,KAAK,GAAG,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,wDAAwD,CAAC,CAAC;QAC3I,GAAG,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,OAAO,iCAAiC,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACrB,MAAM,CAAC,IAAI,CACT,MAAM,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,wCAAwC;YAChF,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,eAAe,wBAAwB,CAAC,CAAC,cAAc,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5I,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACxE,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACjG,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,wBAAwB,CAAC,CAAC;IACrG,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1H,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/J,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,aAAa,IAAI,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;IAC/G,IAAI,CAAC,CAAC,KAAK,EAAE,aAAa;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,oDAAoD,CAAC,CAAC;IACjJ,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/F,IAAI,CAAC,EAAE,CAAC;QACN,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxH,IAAI,CAAC,CAAC,SAAS,CAAC,YAAY,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QAChI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,wGAAwG,CAAC,CAAC;QACxH,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CACT,sBAAsB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,iEAAiE,EAC5H,SAAS,sBAAc,EAAE,CAC1B,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CACT,8BAA8B,CAAC,CAAC,UAAU,CAAC,MAAM,OAAO,CAAC,CAAC,UAAU,kBAAkB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK;gBACtG,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAClF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,CAAC;IAE9D,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC/B,CAAC"}
|
package/dist/run.d.ts
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { TourOptions, TourResult, TourEvent } from './tour';
|
|
2
|
+
/**
|
|
3
|
+
* One tour at a time per project, and a record anyone can read while it runs.
|
|
4
|
+
*
|
|
5
|
+
* Two tours over the same `.ia-qa/` would write the same contracts and promote the same baseline
|
|
6
|
+
* concurrently, so a second one is refused while the first is alive. The record is what
|
|
7
|
+
* `ia-qa-pal status` and the MCP server read: the phase, how far, and the report once it is done.
|
|
8
|
+
* A record whose process died before finishing is reported as interrupted, never as running.
|
|
9
|
+
*/
|
|
10
|
+
export interface RunRecord {
|
|
11
|
+
id: string;
|
|
12
|
+
pid: number;
|
|
13
|
+
status: 'running' | 'done' | 'failed';
|
|
14
|
+
startedAt: string;
|
|
15
|
+
updatedAt: string;
|
|
16
|
+
finishedAt?: string;
|
|
17
|
+
options: {
|
|
18
|
+
more: boolean;
|
|
19
|
+
suite: boolean;
|
|
20
|
+
batch?: number;
|
|
21
|
+
};
|
|
22
|
+
progress?: TourEvent;
|
|
23
|
+
exitCode?: number;
|
|
24
|
+
error?: string;
|
|
25
|
+
report?: TourResult;
|
|
26
|
+
}
|
|
27
|
+
export type RunView = (RunRecord & {
|
|
28
|
+
interrupted?: false;
|
|
29
|
+
}) | (Omit<RunRecord, 'status'> & {
|
|
30
|
+
status: 'interrupted';
|
|
31
|
+
interrupted: true;
|
|
32
|
+
});
|
|
33
|
+
export declare const runDir: (dir: string) => string;
|
|
34
|
+
export declare const runFile: (dir: string) => string;
|
|
35
|
+
export declare const logFile: (dir: string) => string;
|
|
36
|
+
export declare function isAlive(pid: number): boolean;
|
|
37
|
+
export declare function readRun(dir: string): RunView | null;
|
|
38
|
+
/** The running tour on this project, if one is alive. */
|
|
39
|
+
export declare function activeRun(dir: string): RunRecord | null;
|
|
40
|
+
export declare class TourAlreadyRunning extends Error {
|
|
41
|
+
readonly run: RunRecord;
|
|
42
|
+
constructor(run: RunRecord);
|
|
43
|
+
}
|
|
44
|
+
/** Run a tour with the lock held and the record kept current. */
|
|
45
|
+
export declare function trackedTour(opts: TourOptions & {
|
|
46
|
+
dir: string;
|
|
47
|
+
}): Promise<TourResult>;
|
|
48
|
+
export interface BackgroundStart {
|
|
49
|
+
started: boolean;
|
|
50
|
+
pid?: number;
|
|
51
|
+
log?: string;
|
|
52
|
+
/** Why it did not start. */
|
|
53
|
+
reason?: string;
|
|
54
|
+
run?: RunRecord;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Start a tour detached from the caller and return at once. The child is this package's own
|
|
58
|
+
* CLI with a fixed set of flags — never a command string from the caller.
|
|
59
|
+
*/
|
|
60
|
+
export declare function startBackground(dir: string, opts: {
|
|
61
|
+
more?: boolean;
|
|
62
|
+
suite?: boolean;
|
|
63
|
+
batch?: number;
|
|
64
|
+
session?: string;
|
|
65
|
+
}, entry?: string): BackgroundStart;
|
package/dist/run.js
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.TourAlreadyRunning = exports.logFile = exports.runFile = exports.runDir = void 0;
|
|
37
|
+
exports.isAlive = isAlive;
|
|
38
|
+
exports.readRun = readRun;
|
|
39
|
+
exports.activeRun = activeRun;
|
|
40
|
+
exports.trackedTour = trackedTour;
|
|
41
|
+
exports.startBackground = startBackground;
|
|
42
|
+
const fs = __importStar(require("fs"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
const child_process_1 = require("child_process");
|
|
45
|
+
const tour_1 = require("./tour");
|
|
46
|
+
const runDir = (dir) => path.join(dir, '.ia-qa', 'pal');
|
|
47
|
+
exports.runDir = runDir;
|
|
48
|
+
const runFile = (dir) => path.join((0, exports.runDir)(dir), 'run.json');
|
|
49
|
+
exports.runFile = runFile;
|
|
50
|
+
const logFile = (dir) => path.join((0, exports.runDir)(dir), 'run.log');
|
|
51
|
+
exports.logFile = logFile;
|
|
52
|
+
function isAlive(pid) {
|
|
53
|
+
try {
|
|
54
|
+
process.kill(pid, 0);
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
return err.code === 'EPERM';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function write(dir, record) {
|
|
62
|
+
fs.mkdirSync((0, exports.runDir)(dir), { recursive: true });
|
|
63
|
+
const tmp = `${(0, exports.runFile)(dir)}.${process.pid}.tmp`;
|
|
64
|
+
fs.writeFileSync(tmp, JSON.stringify(record, null, 2));
|
|
65
|
+
fs.renameSync(tmp, (0, exports.runFile)(dir));
|
|
66
|
+
}
|
|
67
|
+
function readRun(dir) {
|
|
68
|
+
let record;
|
|
69
|
+
try {
|
|
70
|
+
record = JSON.parse(fs.readFileSync((0, exports.runFile)(dir), 'utf8'));
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
if (record.status === 'running' && !isAlive(record.pid)) {
|
|
76
|
+
return { ...record, status: 'interrupted', interrupted: true };
|
|
77
|
+
}
|
|
78
|
+
return record;
|
|
79
|
+
}
|
|
80
|
+
/** The running tour on this project, if one is alive. */
|
|
81
|
+
function activeRun(dir) {
|
|
82
|
+
const run = readRun(dir);
|
|
83
|
+
return run && run.status === 'running' ? run : null;
|
|
84
|
+
}
|
|
85
|
+
const newId = () => `${new Date().toISOString().replace(/[-:.TZ]/g, '').slice(0, 14)}-${process.pid}`;
|
|
86
|
+
class TourAlreadyRunning extends Error {
|
|
87
|
+
run;
|
|
88
|
+
constructor(run) {
|
|
89
|
+
super(`A tour is already running on this project (pid ${run.pid}, started ${run.startedAt}). Follow it with: ia-qa-pal status`);
|
|
90
|
+
this.run = run;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.TourAlreadyRunning = TourAlreadyRunning;
|
|
94
|
+
/** Run a tour with the lock held and the record kept current. */
|
|
95
|
+
async function trackedTour(opts) {
|
|
96
|
+
const dir = path.resolve(opts.dir);
|
|
97
|
+
const running = activeRun(dir);
|
|
98
|
+
if (running && running.pid !== process.pid)
|
|
99
|
+
throw new TourAlreadyRunning(running);
|
|
100
|
+
const now = () => new Date().toISOString();
|
|
101
|
+
const record = {
|
|
102
|
+
id: running?.id ?? newId(),
|
|
103
|
+
pid: process.pid,
|
|
104
|
+
status: 'running',
|
|
105
|
+
startedAt: running?.startedAt ?? now(),
|
|
106
|
+
updatedAt: now(),
|
|
107
|
+
options: { more: !!opts.more, suite: !!opts.suite, ...(opts.batch ? { batch: opts.batch } : {}) },
|
|
108
|
+
};
|
|
109
|
+
if (fs.existsSync(path.join(dir, '.ia-qa', 'config.json')))
|
|
110
|
+
write(dir, record);
|
|
111
|
+
try {
|
|
112
|
+
const report = await (0, tour_1.runTour)({
|
|
113
|
+
...opts,
|
|
114
|
+
dir,
|
|
115
|
+
onEvent: (event) => {
|
|
116
|
+
opts.onEvent?.(event);
|
|
117
|
+
record.progress = event;
|
|
118
|
+
record.updatedAt = now();
|
|
119
|
+
if (fs.existsSync((0, exports.runDir)(dir)))
|
|
120
|
+
write(dir, record);
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
if (fs.existsSync((0, exports.runDir)(dir))) {
|
|
124
|
+
write(dir, { ...record, status: 'done', finishedAt: now(), updatedAt: now(), exitCode: report.exitCode, report });
|
|
125
|
+
}
|
|
126
|
+
return report;
|
|
127
|
+
}
|
|
128
|
+
catch (err) {
|
|
129
|
+
if (fs.existsSync((0, exports.runDir)(dir))) {
|
|
130
|
+
write(dir, { ...record, status: 'failed', finishedAt: now(), updatedAt: now(), exitCode: 2, error: err instanceof Error ? err.message : String(err) });
|
|
131
|
+
}
|
|
132
|
+
throw err;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Start a tour detached from the caller and return at once. The child is this package's own
|
|
137
|
+
* CLI with a fixed set of flags — never a command string from the caller.
|
|
138
|
+
*/
|
|
139
|
+
function startBackground(dir, opts, entry = path.join(__dirname, 'cli', 'index.js')) {
|
|
140
|
+
const root = path.resolve(dir);
|
|
141
|
+
if (!fs.existsSync(path.join(root, '.ia-qa', 'config.json'))) {
|
|
142
|
+
return { started: false, reason: 'This project is not set up yet — there is no .ia-qa/config.json.' };
|
|
143
|
+
}
|
|
144
|
+
const running = activeRun(root);
|
|
145
|
+
if (running)
|
|
146
|
+
return { started: false, reason: new TourAlreadyRunning(running).message, run: running };
|
|
147
|
+
const args = [entry, 'tour', '--config', root, '--json'];
|
|
148
|
+
if (opts.more)
|
|
149
|
+
args.push('--more');
|
|
150
|
+
if (opts.suite)
|
|
151
|
+
args.push('--suite');
|
|
152
|
+
if (opts.batch)
|
|
153
|
+
args.push('--batch', String(opts.batch));
|
|
154
|
+
if (opts.session)
|
|
155
|
+
args.push('--session', opts.session);
|
|
156
|
+
fs.mkdirSync((0, exports.runDir)(root), { recursive: true });
|
|
157
|
+
const out = fs.openSync((0, exports.logFile)(root), 'w');
|
|
158
|
+
const child = (0, child_process_1.spawn)(process.execPath, args, { cwd: root, detached: true, stdio: ['ignore', out, out], windowsHide: true });
|
|
159
|
+
child.unref();
|
|
160
|
+
fs.closeSync(out);
|
|
161
|
+
write(root, {
|
|
162
|
+
id: newId(),
|
|
163
|
+
pid: child.pid ?? 0,
|
|
164
|
+
status: 'running',
|
|
165
|
+
startedAt: new Date().toISOString(),
|
|
166
|
+
updatedAt: new Date().toISOString(),
|
|
167
|
+
options: { more: !!opts.more, suite: !!opts.suite, ...(opts.batch ? { batch: opts.batch } : {}) },
|
|
168
|
+
});
|
|
169
|
+
return { started: true, pid: child.pid, log: (0, exports.logFile)(root) };
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=run.js.map
|
package/dist/run.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/dist/setup.d.ts
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { PageTarget } from '@ia-qa/self-healing';
|
|
2
|
+
/**
|
|
3
|
+
* Two questions and a preview. Everything that decides the file goes through `planSetup` /
|
|
4
|
+
* `writeSetup` — the same door `ia-qa-heal ui` uses — so what is shown is what is written, an
|
|
5
|
+
* existing config is never overwritten, and no field ever takes a secret.
|
|
6
|
+
*/
|
|
7
|
+
export type PalLogin = 'none' | 'browser' | 'session';
|
|
8
|
+
export declare const LOGIN_COMMAND = "npx -p @ia-qa/self-healing ia-qa-heal login";
|
|
9
|
+
export interface SetupOptions {
|
|
10
|
+
dir?: string;
|
|
11
|
+
url?: string;
|
|
12
|
+
login?: PalLogin;
|
|
13
|
+
/** Path of a Playwright storageState the suite already writes (login = session). */
|
|
14
|
+
session?: string;
|
|
15
|
+
/** Folders holding the end-to-end suite, relative to the project. */
|
|
16
|
+
tests?: string[];
|
|
17
|
+
/** The command that runs that suite. Without one, a detected command is used. */
|
|
18
|
+
testCommand?: string;
|
|
19
|
+
/** Write without asking for confirmation. */
|
|
20
|
+
yes?: boolean;
|
|
21
|
+
/** Ask for what is missing. Absent: nothing is asked, a missing answer is a refusal. */
|
|
22
|
+
ask?: (question: string) => Promise<string>;
|
|
23
|
+
onProgress?: (line: string) => void;
|
|
24
|
+
}
|
|
25
|
+
export interface SetupOutcome {
|
|
26
|
+
written: boolean;
|
|
27
|
+
file?: string;
|
|
28
|
+
baseUrl?: string;
|
|
29
|
+
pages: PageTarget[];
|
|
30
|
+
pagesFrom?: 'sitemap' | 'crawl' | 'home';
|
|
31
|
+
login?: PalLogin;
|
|
32
|
+
tests?: string[];
|
|
33
|
+
testCommand?: string;
|
|
34
|
+
/** What stops the file from being written, in words a person can act on. */
|
|
35
|
+
problems: string[];
|
|
36
|
+
/** The command to run next — a person's command when the login needs a browser. */
|
|
37
|
+
next?: string;
|
|
38
|
+
}
|
|
39
|
+
export declare function configExists(dir: string): boolean;
|
|
40
|
+
/** Folders that look like an end-to-end suite. Proposed to a person, never assumed. */
|
|
41
|
+
export declare function detectTests(dir: string): {
|
|
42
|
+
paths: string[];
|
|
43
|
+
command?: string;
|
|
44
|
+
};
|
|
45
|
+
export declare function runSetup(opts?: SetupOptions): Promise<SetupOutcome>;
|