@ia-qa/self-healing 1.16.0 → 1.19.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 +98 -1
- package/TUTORIAL.md +58 -0
- package/dist/ai/models.d.ts +12 -0
- package/dist/ai/models.js +33 -1
- package/dist/ai/models.js.map +1 -1
- package/dist/ai/resolver.d.ts +29 -6
- package/dist/ai/resolver.js +42 -7
- package/dist/ai/resolver.js.map +1 -1
- package/dist/cli/args.js +2 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/fix.js +9 -2
- package/dist/cli/fix.js.map +1 -1
- package/dist/cli/history.js +8 -1
- package/dist/cli/history.js.map +1 -1
- package/dist/cli/index.js +47 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/map.d.ts +15 -4
- package/dist/cli/map.js +66 -13
- package/dist/cli/map.js.map +1 -1
- package/dist/cli/secret.d.ts +1 -0
- package/dist/cli/secret.js +172 -0
- package/dist/cli/secret.js.map +1 -0
- package/dist/cli/session.d.ts +24 -0
- package/dist/cli/session.js +119 -0
- package/dist/cli/session.js.map +1 -0
- package/dist/cli/skill.d.ts +37 -14
- package/dist/cli/skill.js +36 -30
- package/dist/cli/skill.js.map +1 -1
- package/dist/config.d.ts +23 -2
- package/dist/config.js +50 -0
- package/dist/config.js.map +1 -1
- package/dist/history.d.ts +39 -0
- package/dist/history.js +58 -14
- package/dist/history.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.js +27 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.js +9 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/secretStore.d.ts +49 -0
- package/dist/secretStore.js +244 -0
- package/dist/secretStore.js.map +1 -0
- package/dist/sessionCheck.d.ts +96 -0
- package/dist/sessionCheck.js +182 -0
- package/dist/sessionCheck.js.map +1 -0
- package/dist/unrepaired.d.ts +73 -0
- package/dist/unrepaired.js +0 -0
- package/dist/unrepaired.js.map +1 -0
- package/dist/volatile.d.ts +8 -0
- package/dist/volatile.js +24 -7
- package/dist/volatile.js.map +1 -1
- package/dist/volatileBlindSpot.d.ts +67 -0
- package/dist/volatileBlindSpot.js +0 -0
- package/dist/volatileBlindSpot.js.map +1 -0
- package/package.json +1 -1
- package/skills/ia-qa-heal/SKILL.md +29 -3
package/dist/cli/skill.js
CHANGED
|
@@ -33,11 +33,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.SKILL_NAME = void 0;
|
|
37
|
-
exports.
|
|
38
|
-
exports.readSkill = readSkill;
|
|
39
|
-
exports.skillTargetDir = skillTargetDir;
|
|
40
|
-
exports.runSkill = runSkill;
|
|
36
|
+
exports.runSkill = exports.skillTargetDir = exports.readSkill = exports.skillSourcePath = exports.SKILL_NAME = void 0;
|
|
37
|
+
exports.createSkillVerb = createSkillVerb;
|
|
41
38
|
const fs = __importStar(require("fs"));
|
|
42
39
|
const os = __importStar(require("os"));
|
|
43
40
|
const path = __importStar(require("path"));
|
|
@@ -57,26 +54,34 @@ const path = __importStar(require("path"));
|
|
|
57
54
|
*/
|
|
58
55
|
exports.SKILL_NAME = 'ia-qa-heal';
|
|
59
56
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
57
|
+
* Build the verb for one package.
|
|
58
|
+
*
|
|
59
|
+
* `dist/cli/` and `src/cli/` are both two levels under a package root, so the caller's
|
|
60
|
+
* `path.join(__dirname, '..', '..')` resolves whether it runs from the published build or
|
|
61
|
+
* from the TypeScript sources under test.
|
|
63
62
|
*/
|
|
64
|
-
function
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
63
|
+
function createSkillVerb(spec) {
|
|
64
|
+
const skillSourcePath = () => path.join(spec.packageRoot, 'skills', spec.name, 'SKILL.md');
|
|
65
|
+
const readSkill = () => {
|
|
66
|
+
const src = skillSourcePath();
|
|
67
|
+
if (!fs.existsSync(src)) {
|
|
68
|
+
throw new Error(`Skill source missing at ${src}.\n` +
|
|
69
|
+
`The installed package is incomplete — reinstall it. (A tarball that dropped "skills" ` +
|
|
70
|
+
`from package.json "files" ships exactly like this.)`);
|
|
71
|
+
}
|
|
72
|
+
return fs.readFileSync(src, 'utf8');
|
|
73
|
+
};
|
|
74
|
+
const skillTargetDir = (opts) => {
|
|
75
|
+
const root = opts.dir !== undefined ? opts.dir : opts.user ? os.homedir() : process.cwd();
|
|
76
|
+
return path.join(root, '.claude', 'skills', spec.name);
|
|
77
|
+
};
|
|
78
|
+
return { skillSourcePath, readSkill, skillTargetDir, runSkill: (args) => run(spec, { skillSourcePath, readSkill, skillTargetDir }, args) };
|
|
74
79
|
}
|
|
80
|
+
const healVerb = createSkillVerb({ name: exports.SKILL_NAME, cli: 'ia-qa-heal', packageRoot: path.join(__dirname, '..', '..') });
|
|
81
|
+
exports.skillSourcePath = healVerb.skillSourcePath;
|
|
82
|
+
exports.readSkill = healVerb.readSkill;
|
|
75
83
|
/** Target is a project (or home) root; the skill always lands in `<root>/.claude/skills/<name>/`. */
|
|
76
|
-
|
|
77
|
-
const root = opts.dir !== undefined ? opts.dir : opts.user ? os.homedir() : process.cwd();
|
|
78
|
-
return path.join(root, '.claude', 'skills', exports.SKILL_NAME);
|
|
79
|
-
}
|
|
84
|
+
exports.skillTargetDir = healVerb.skillTargetDir;
|
|
80
85
|
function parseArgs(args) {
|
|
81
86
|
const opts = { install: false, user: false, print: false, force: false };
|
|
82
87
|
for (let i = 0; i < args.length; i++) {
|
|
@@ -106,23 +111,23 @@ function parseArgs(args) {
|
|
|
106
111
|
}
|
|
107
112
|
return opts;
|
|
108
113
|
}
|
|
109
|
-
async function
|
|
114
|
+
async function run(spec, io, args) {
|
|
110
115
|
const opts = parseArgs(args);
|
|
111
|
-
const content = readSkill();
|
|
116
|
+
const content = io.readSkill();
|
|
112
117
|
if (opts.print) {
|
|
113
118
|
process.stdout.write(content);
|
|
114
119
|
return;
|
|
115
120
|
}
|
|
116
|
-
const dir = skillTargetDir(opts);
|
|
121
|
+
const dir = io.skillTargetDir(opts);
|
|
117
122
|
const file = path.join(dir, 'SKILL.md');
|
|
118
123
|
const exists = fs.existsSync(file);
|
|
119
124
|
const current = exists ? fs.readFileSync(file, 'utf8') : null;
|
|
120
125
|
if (!opts.install) {
|
|
121
|
-
console.log(
|
|
122
|
-
console.log(` source: ${skillSourcePath()}`);
|
|
126
|
+
console.log(`\n🧠 ${spec.cli} skill — agent instructions for this CLI\n`);
|
|
127
|
+
console.log(` source: ${io.skillSourcePath()}`);
|
|
123
128
|
console.log(` target: ${file}`);
|
|
124
129
|
if (!exists)
|
|
125
|
-
console.log(
|
|
130
|
+
console.log(` status: not installed → ${spec.cli} skill --install`);
|
|
126
131
|
else if (current === content)
|
|
127
132
|
console.log(' status: installed, up to date');
|
|
128
133
|
else
|
|
@@ -138,12 +143,13 @@ async function runSkill(args) {
|
|
|
138
143
|
if (exists && !opts.force) {
|
|
139
144
|
throw new Error(`${file} already exists and differs from the version in this package.\n` +
|
|
140
145
|
`It may have been edited on purpose, so this stops rather than overwrite it.\n` +
|
|
141
|
-
`Compare first —
|
|
142
|
-
`Then overwrite —
|
|
146
|
+
`Compare first — ${spec.cli} skill --print > SKILL.new.md\n` +
|
|
147
|
+
`Then overwrite — ${spec.cli} skill --install --force`);
|
|
143
148
|
}
|
|
144
149
|
console.log(`\n📝 Writing ${file}`);
|
|
145
150
|
fs.mkdirSync(dir, { recursive: true });
|
|
146
151
|
fs.writeFileSync(file, content, 'utf8');
|
|
147
152
|
console.log(`✅ ${exists ? 'Updated' : 'Installed'} — start a new agent session to load it.\n`);
|
|
148
153
|
}
|
|
154
|
+
exports.runSkill = healVerb.runSkill;
|
|
149
155
|
//# sourceMappingURL=skill.js.map
|
package/dist/cli/skill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/cli/skill.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/cli/skill.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AiProvider } from './ai/resolver';
|
|
1
2
|
/**
|
|
2
3
|
* Configuration & secret resolution for @ia-qa/self-healing.
|
|
3
4
|
*
|
|
@@ -6,7 +7,7 @@
|
|
|
6
7
|
* resolved at runtime — from `process.env` or from SSM Parameter Store using
|
|
7
8
|
* the developer's local AWS credential chain — and are never written to disk.
|
|
8
9
|
*/
|
|
9
|
-
export type SecretSource = 'env' | 'aws-ssm';
|
|
10
|
+
export type SecretSource = 'env' | 'aws-ssm' | 'keychain';
|
|
10
11
|
export interface SecretRef {
|
|
11
12
|
source: SecretSource;
|
|
12
13
|
/** `env`: the environment variable name. `aws-ssm`: the parameter name (e.g. `/staging/app/password`). */
|
|
@@ -67,8 +68,17 @@ export interface PageTarget {
|
|
|
67
68
|
* `model` is pinned by the user (determinism); the call runs at temperature 0.
|
|
68
69
|
*/
|
|
69
70
|
export interface AiConfig {
|
|
70
|
-
|
|
71
|
+
/** The four the registry knows. `openai-compatible` is a shape, not a vendor — see `baseUrl`. */
|
|
72
|
+
provider: AiProvider;
|
|
71
73
|
model: string;
|
|
74
|
+
/**
|
|
75
|
+
* Required for `openai-compatible`, meaningless otherwise: where that endpoint lives.
|
|
76
|
+
*
|
|
77
|
+
* `https://api.deepseek.com/v1`, `https://api.groq.com/openai/v1`,
|
|
78
|
+
* `https://openrouter.ai/api/v1`, or `http://localhost:11434/v1` for a model running on
|
|
79
|
+
* this machine — in which case nothing leaves it at all.
|
|
80
|
+
*/
|
|
81
|
+
baseUrl?: string;
|
|
72
82
|
apiKey: SecretRef;
|
|
73
83
|
/** Reject a suggestion below this confidence. Default 0.7. */
|
|
74
84
|
minConfidence?: number;
|
|
@@ -364,6 +374,17 @@ export declare function envLoadHint(command?: string, version?: string): string;
|
|
|
364
374
|
* chain (env vars, `~/.aws/credentials`, SSO, instance profile…).
|
|
365
375
|
* The AWS SDK is imported lazily so env-only users don't need it at runtime.
|
|
366
376
|
*/
|
|
377
|
+
/**
|
|
378
|
+
* Does this look like a credential rather than the NAME of one?
|
|
379
|
+
*
|
|
380
|
+
* The shapes providers actually issue, plus a long opaque run. Deliberately narrow: an
|
|
381
|
+
* environment variable name is short, upper-case and underscore-separated, so a false
|
|
382
|
+
* positive here would refuse a legitimate name — and the cost of a false negative is only
|
|
383
|
+
* that the ordinary "not set" message is printed instead.
|
|
384
|
+
*/
|
|
385
|
+
export declare function looksLikeSecret(value: string): boolean;
|
|
386
|
+
/** The first and last few characters only — enough to recognise it, never enough to use it. */
|
|
387
|
+
export declare function maskSecret(value: string): string;
|
|
367
388
|
export declare function resolveSecret(ref: SecretRef): Promise<string>;
|
|
368
389
|
/**
|
|
369
390
|
* The app root the contracts describe, or undefined when config names none.
|
package/dist/config.js
CHANGED
|
@@ -55,8 +55,11 @@ exports.configuredTestPaths = configuredTestPaths;
|
|
|
55
55
|
exports.saveConfig = saveConfig;
|
|
56
56
|
exports.supportsTolerantEnvFile = supportsTolerantEnvFile;
|
|
57
57
|
exports.envLoadHint = envLoadHint;
|
|
58
|
+
exports.looksLikeSecret = looksLikeSecret;
|
|
59
|
+
exports.maskSecret = maskSecret;
|
|
58
60
|
exports.resolveSecret = resolveSecret;
|
|
59
61
|
exports.configuredBaseUrl = configuredBaseUrl;
|
|
62
|
+
const secretStore_1 = require("./secretStore");
|
|
60
63
|
const fs = __importStar(require("fs"));
|
|
61
64
|
const path = __importStar(require("path"));
|
|
62
65
|
exports.CONFIG_DIR = '.ia-qa';
|
|
@@ -382,10 +385,44 @@ function envLoadHint(command = '<command>', version = process.versions.node) {
|
|
|
382
385
|
* chain (env vars, `~/.aws/credentials`, SSO, instance profile…).
|
|
383
386
|
* The AWS SDK is imported lazily so env-only users don't need it at runtime.
|
|
384
387
|
*/
|
|
388
|
+
/**
|
|
389
|
+
* Does this look like a credential rather than the NAME of one?
|
|
390
|
+
*
|
|
391
|
+
* The shapes providers actually issue, plus a long opaque run. Deliberately narrow: an
|
|
392
|
+
* environment variable name is short, upper-case and underscore-separated, so a false
|
|
393
|
+
* positive here would refuse a legitimate name — and the cost of a false negative is only
|
|
394
|
+
* that the ordinary "not set" message is printed instead.
|
|
395
|
+
*/
|
|
396
|
+
function looksLikeSecret(value) {
|
|
397
|
+
return /^(sk-|sk_|AIza|ghp_|gsk_|xoxb-|Bearer )/.test(value) || /^[A-Za-z0-9_\-]{40,}$/.test(value);
|
|
398
|
+
}
|
|
399
|
+
/** The first and last few characters only — enough to recognise it, never enough to use it. */
|
|
400
|
+
function maskSecret(value) {
|
|
401
|
+
return value.length <= 12 ? '[redacted]' : `${value.slice(0, 4)}…${value.slice(-2)} (${value.length} characters)`;
|
|
402
|
+
}
|
|
385
403
|
async function resolveSecret(ref) {
|
|
404
|
+
if (typeof ref === 'string') {
|
|
405
|
+
// Someone pasted the key where the reference goes. Saying "missing key" here sends them
|
|
406
|
+
// to wrap the value in `{ source, key }`, which is the WORSE mistake below.
|
|
407
|
+
throw new Error(`A secret was written directly in ${exports.CONFIG_DIR}/config.json.\n` +
|
|
408
|
+
` That file holds REFERENCES only — it is committed, and a value here is a leaked\n` +
|
|
409
|
+
` credential. Put the value in your environment and name it:\n` +
|
|
410
|
+
` { "source": "env", "key": "MY_API_KEY" }\n` +
|
|
411
|
+
` Then rotate what you pasted: assume it is already in your git history.`);
|
|
412
|
+
}
|
|
386
413
|
if (!ref || !ref.key) {
|
|
387
414
|
throw new Error('Invalid secret reference: missing "key".');
|
|
388
415
|
}
|
|
416
|
+
// The value where a NAME belongs. Found by execution: the "not set" message below printed
|
|
417
|
+
// the key back into the terminal — and into any log that captured it. A secrets resolver
|
|
418
|
+
// that echoes a secret is the one bug this whole indirection exists to make impossible.
|
|
419
|
+
if (looksLikeSecret(ref.key)) {
|
|
420
|
+
throw new Error(`"key" holds what looks like the credential itself (${maskSecret(ref.key)}), not the name of a variable.\n` +
|
|
421
|
+
` ${exports.CONFIG_DIR}/config.json is committed: a value here is a leaked credential, so it is\n` +
|
|
422
|
+
` refused rather than used. Put the value in your environment and name it:\n` +
|
|
423
|
+
` { "source": "${ref.source ?? 'env'}", "key": "MY_API_KEY" }\n` +
|
|
424
|
+
` Then rotate the one you pasted: assume it is already in your git history.`);
|
|
425
|
+
}
|
|
389
426
|
if (ref.source === 'env') {
|
|
390
427
|
const value = process.env[ref.key];
|
|
391
428
|
if (!value) {
|
|
@@ -403,6 +440,19 @@ async function resolveSecret(ref) {
|
|
|
403
440
|
}
|
|
404
441
|
return value;
|
|
405
442
|
}
|
|
443
|
+
if (ref.source === 'keychain') {
|
|
444
|
+
// The OS store. Nothing is exported, so nothing is inherited by whatever else runs in
|
|
445
|
+
// this session — see `secretStore.ts` for what that does and does not buy.
|
|
446
|
+
const got = (0, secretStore_1.readSecret)(ref.key);
|
|
447
|
+
if (!got.ok || !got.value) {
|
|
448
|
+
throw new Error(`"${ref.key}" is not in this machine's credential store — ${got.ok ? 'it resolved to nothing' : got.reason}.\n` +
|
|
449
|
+
` Store it once, from a terminal: ia-qa-heal secret set ${ref.key}\n` +
|
|
450
|
+
` It asks for the value, shows nothing, and writes it to ${(0, secretStore_1.storeDescription)()}.\n` +
|
|
451
|
+
` In CI there is no store: use { "source": "env", "key": "${ref.key}" } and give the\n` +
|
|
452
|
+
` runner the secret.`);
|
|
453
|
+
}
|
|
454
|
+
return got.value;
|
|
455
|
+
}
|
|
406
456
|
if (ref.source === 'aws-ssm') {
|
|
407
457
|
// Ships separately: the AWS SDK is ~5 MB and only the "aws-ssm" source needs
|
|
408
458
|
// it, so it is an optional peer rather than a tax on every install.
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/history.d.ts
CHANGED
|
@@ -125,6 +125,43 @@ export interface Trend {
|
|
|
125
125
|
source?: 'map' | 'run' | 'mixed';
|
|
126
126
|
}
|
|
127
127
|
export declare function trendable(entries: HistoryEntry[], minCoverage?: number): Trend;
|
|
128
|
+
/**
|
|
129
|
+
* Above this share of a run's own mapped pages, a run stops being evidence about pages.
|
|
130
|
+
*
|
|
131
|
+
* Measured on a real 37-run history: **143 distinct pages out of 142 contracts had drifted
|
|
132
|
+
* at least once**, median 18 runs out of 32, so every page carried the factor and it ranked
|
|
133
|
+
* nothing — the same inert-factor failure `writeCalls` was removed for. The runs were
|
|
134
|
+
* bimodal: either ~every page drifted (124, 142) or almost none (1, 3, 5). A run of the
|
|
135
|
+
* first kind says the baseline was stale or `extract.js` changed what it captures; it does
|
|
136
|
+
* not say those 142 pages are volatile. Holding them out leaves 16 pages carrying the whole
|
|
137
|
+
* movement, which is a signal. It is the same rule `trendable` applies to a different axis,
|
|
138
|
+
* and the same obligation: say how many were held out, never drop them silently.
|
|
139
|
+
*/
|
|
140
|
+
export declare const WIDE_RUN_SHARE = 0.5;
|
|
141
|
+
/**
|
|
142
|
+
* Which pages actually move, over the runs that can say anything about pages.
|
|
143
|
+
*
|
|
144
|
+
* Exported because `@ia-qa/qa-discovery` ranks its coverage gap with it — a page that
|
|
145
|
+
* changes every week and that no test visits is the best test candidate there is, and
|
|
146
|
+
* neither package can compute that alone. This function only *observes*; what counts as
|
|
147
|
+
* enough runs to rank on is the consumer's policy, which is why `measuredRuns` is returned
|
|
148
|
+
* rather than a threshold applied here.
|
|
149
|
+
*/
|
|
150
|
+
export interface PageChurn {
|
|
151
|
+
/** Pages that drifted at least once, most runs first. */
|
|
152
|
+
pages: Array<{
|
|
153
|
+
name: string;
|
|
154
|
+
runs: number;
|
|
155
|
+
drift: number;
|
|
156
|
+
}>;
|
|
157
|
+
/** Runs the counts are computed over. Below ~3, "changed in N runs" separates nothing. */
|
|
158
|
+
measuredRuns: number;
|
|
159
|
+
/** Runs held out as describing the baseline rather than the app. */
|
|
160
|
+
excludedRuns: number;
|
|
161
|
+
/** Present only when something was held out — render it beside the counts. */
|
|
162
|
+
reason?: string;
|
|
163
|
+
}
|
|
164
|
+
export declare function pageChurn(entries: HistoryEntry[]): PageChurn;
|
|
128
165
|
export interface HistorySummary {
|
|
129
166
|
runs: number;
|
|
130
167
|
first?: string;
|
|
@@ -140,6 +177,8 @@ export interface HistorySummary {
|
|
|
140
177
|
runs: number;
|
|
141
178
|
drift: number;
|
|
142
179
|
}>;
|
|
180
|
+
/** What `hotspots` was computed over, and what it had to leave out to mean anything. */
|
|
181
|
+
churn: PageChurn;
|
|
143
182
|
/** Rewrites the tool applied across the whole history. */
|
|
144
183
|
healed: number;
|
|
145
184
|
trend: Trend;
|
package/dist/history.js
CHANGED
|
@@ -33,11 +33,12 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.HISTORY_LIMIT = exports.HISTORY_FILENAME = void 0;
|
|
36
|
+
exports.WIDE_RUN_SHARE = exports.HISTORY_LIMIT = exports.HISTORY_FILENAME = void 0;
|
|
37
37
|
exports.historyPath = historyPath;
|
|
38
38
|
exports.appendHistory = appendHistory;
|
|
39
39
|
exports.readHistory = readHistory;
|
|
40
40
|
exports.trendable = trendable;
|
|
41
|
+
exports.pageChurn = pageChurn;
|
|
41
42
|
exports.summarize = summarize;
|
|
42
43
|
exports.gitStamp = gitStamp;
|
|
43
44
|
const fs = __importStar(require("fs"));
|
|
@@ -173,6 +174,55 @@ function trendable(entries, minCoverage = 0.5) {
|
|
|
173
174
|
reason: parts.length > 0 ? `Left out of the trend: ${parts.join('; ')}.` : undefined,
|
|
174
175
|
};
|
|
175
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Above this share of a run's own mapped pages, a run stops being evidence about pages.
|
|
179
|
+
*
|
|
180
|
+
* Measured on a real 37-run history: **143 distinct pages out of 142 contracts had drifted
|
|
181
|
+
* at least once**, median 18 runs out of 32, so every page carried the factor and it ranked
|
|
182
|
+
* nothing — the same inert-factor failure `writeCalls` was removed for. The runs were
|
|
183
|
+
* bimodal: either ~every page drifted (124, 142) or almost none (1, 3, 5). A run of the
|
|
184
|
+
* first kind says the baseline was stale or `extract.js` changed what it captures; it does
|
|
185
|
+
* not say those 142 pages are volatile. Holding them out leaves 16 pages carrying the whole
|
|
186
|
+
* movement, which is a signal. It is the same rule `trendable` applies to a different axis,
|
|
187
|
+
* and the same obligation: say how many were held out, never drop them silently.
|
|
188
|
+
*/
|
|
189
|
+
exports.WIDE_RUN_SHARE = 0.5;
|
|
190
|
+
function pageChurn(entries) {
|
|
191
|
+
const withPages = entries.filter((e) => (e.pages?.length ?? 0) > 0);
|
|
192
|
+
const usable = [];
|
|
193
|
+
let excludedRuns = 0;
|
|
194
|
+
for (const e of withPages) {
|
|
195
|
+
const mapped = e.coverage?.total;
|
|
196
|
+
// No coverage recorded (an entry written before the field existed) means the run cannot
|
|
197
|
+
// be judged wide or narrow. Keeping it is the honest default: inventing a denominator
|
|
198
|
+
// would decide the question with a number nobody measured.
|
|
199
|
+
if (mapped && e.pages.length > mapped * exports.WIDE_RUN_SHARE) {
|
|
200
|
+
excludedRuns += 1;
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
usable.push(e);
|
|
204
|
+
}
|
|
205
|
+
const stats = new Map();
|
|
206
|
+
for (const e of usable) {
|
|
207
|
+
for (const p of e.pages ?? []) {
|
|
208
|
+
const cur = stats.get(p.name) ?? { runs: 0, drift: 0 };
|
|
209
|
+
cur.runs += 1;
|
|
210
|
+
cur.drift += p.drift;
|
|
211
|
+
stats.set(p.name, cur);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
return {
|
|
215
|
+
pages: [...stats.entries()]
|
|
216
|
+
.map(([name, v]) => ({ name, ...v }))
|
|
217
|
+
.sort((a, b) => b.runs - a.runs || b.drift - a.drift || a.name.localeCompare(b.name)),
|
|
218
|
+
measuredRuns: usable.length,
|
|
219
|
+
excludedRuns,
|
|
220
|
+
reason: excludedRuns > 0
|
|
221
|
+
? `${excludedRuns} run${excludedRuns === 1 ? '' : 's'} left out: more than half the mapped pages ` +
|
|
222
|
+
`drifted at once, which describes a stale baseline or a changed capture, not the pages.`
|
|
223
|
+
: undefined,
|
|
224
|
+
};
|
|
225
|
+
}
|
|
176
226
|
function summarize(entries) {
|
|
177
227
|
const trend = trendable(entries);
|
|
178
228
|
const s = trend.series;
|
|
@@ -181,19 +231,12 @@ function summarize(entries) {
|
|
|
181
231
|
const coverage = withCov.length === 0
|
|
182
232
|
? 1
|
|
183
233
|
: withCov.reduce((n, e) => n + e.coverage.measured / Math.max(1, e.coverage.total), 0) / withCov.length;
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
pageStats.set(p.name, cur);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
const hotspots = [...pageStats.entries()]
|
|
194
|
-
.map(([name, v]) => ({ name, ...v }))
|
|
195
|
-
.sort((a, b) => b.drift - a.drift || b.runs - a.runs)
|
|
196
|
-
.slice(0, 5);
|
|
234
|
+
// Ranked by how many runs a page moved in, not by how many elements moved: a large page
|
|
235
|
+
// in one stale-baseline run out-scores a small page that changes every week, and the
|
|
236
|
+
// second is the one worth a test. `pageChurn` holds those runs out — without it, measured
|
|
237
|
+
// on a real history, every page carried the factor and the ranking meant nothing.
|
|
238
|
+
const churn = pageChurn(s);
|
|
239
|
+
const hotspots = churn.pages.slice(0, 5);
|
|
197
240
|
return {
|
|
198
241
|
runs: entries.length,
|
|
199
242
|
first: entries[0]?.ts,
|
|
@@ -202,6 +245,7 @@ function summarize(entries) {
|
|
|
202
245
|
driftRate: s.length === 0 ? 0 : notPass / s.length,
|
|
203
246
|
coverage,
|
|
204
247
|
hotspots,
|
|
248
|
+
churn,
|
|
205
249
|
healed: entries.reduce((n, e) => n + (e.applied?.replacements ?? 0), 0),
|
|
206
250
|
trend,
|
|
207
251
|
};
|
package/dist/history.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmFA,kCAEC;AAOD,sCAUC;AAkBD,kCAmBC;AAyBD,8BAiDC;
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export { aiClick, aiFill, llmResolverStub, createAiResolver } from './playwright/healer';
|
|
2
2
|
export type { HealerOptions } from './playwright/healer';
|
|
3
|
-
export { aiResolve, prefilter, buildPrompt, parseModelJson } from './ai/resolver';
|
|
3
|
+
export { egressHost, PROVIDER_HOST, aiResolve, prefilter, buildPrompt, parseModelJson } from './ai/resolver';
|
|
4
4
|
export type { AiResolveOptions, AiResolveResult, AiResolution, AiProvider } from './ai/resolver';
|
|
5
5
|
export { AI_PROVIDERS, findProvider, defaultKeyEnv, renderModelList } from './ai/models';
|
|
6
|
+
export { COMPATIBLE_EXAMPLES } from './ai/models';
|
|
6
7
|
export type { AiModelInfo, AiProviderInfo } from './ai/models';
|
|
7
8
|
export { extractInteractiveElements, loadMapping, saveMapping } from './aom';
|
|
8
9
|
export type { MappedElement, PageMapping } from './aom';
|
|
@@ -30,7 +31,8 @@ export { launchBrowser } from './launcher';
|
|
|
30
31
|
export type { BrowserChoice, LaunchedBrowser } from './launcher';
|
|
31
32
|
export type { MapUrlOptions, MapUrlResult } from './mapUrl';
|
|
32
33
|
export { computeRewrites, applyRewrites, collectFiles, replaceQuoted } from './fixEngine';
|
|
33
|
-
export { loadConfig, resolveSecret, layoutDir, layoutPath, LAYOUT_DIRNAME, setBaseDir, mappingDir, baselineDir } from './config';
|
|
34
|
+
export { loadConfig, resolveSecret, looksLikeSecret, maskSecret, layoutDir, layoutPath, LAYOUT_DIRNAME, setBaseDir, mappingDir, baselineDir } from './config';
|
|
35
|
+
export { configuredTestPaths } from './config';
|
|
34
36
|
export { runMap, LoginWallError } from './cli/map';
|
|
35
37
|
export type { MapResult, MapFailure, MapPageStat } from './cli/map';
|
|
36
38
|
export { runBaseline } from './cli/baseline';
|
|
@@ -39,6 +41,8 @@ export type { DirReport, DirDiffCollection } from './cli/diff';
|
|
|
39
41
|
export { checkProject } from './cli/check';
|
|
40
42
|
export type { CheckOutcome, CheckSuccess, CheckRefusal } from './cli/check';
|
|
41
43
|
export { checkVerdict, checkHeadline, checkCounts } from './checks';
|
|
44
|
+
export { readHistory, pageChurn, WIDE_RUN_SHARE, historyPath, HISTORY_FILENAME } from './history';
|
|
45
|
+
export type { HistoryEntry, PageChurn } from './history';
|
|
42
46
|
export { runFix } from './cli/fix';
|
|
43
47
|
export type { FixResult, FileEdit } from './fixEngine';
|
|
44
48
|
export { auditProject } from './cli/audit';
|
|
@@ -56,3 +60,5 @@ export { extractLayout, stripLayoutFromPages, minPagesForLayout } from './layout
|
|
|
56
60
|
export type { LayoutMapping } from './layout';
|
|
57
61
|
export { buildOverview, renderOverview, renderNavigation, renderNavigationSvg, layoutGraph, navigationGraph, writeOverview, overviewPath, navigationPath, navigationSvgPath, OVERVIEW_FILENAME, NAVIGATION_FILENAME, NAVIGATION_SVG_FILENAME, } from './overview';
|
|
58
62
|
export type { AppOverview, OverviewPage, NavEdge, ShellLink, PlacedNode, NavigationGraph, HubFan } from './overview';
|
|
63
|
+
export { createSkillVerb } from "./cli/skill";
|
|
64
|
+
export type { SkillVerb, SkillVerbSpec } from "./cli/skill";
|