@jevitate/cli 0.11.0 → 0.13.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/approval-provenance.d.ts +6 -0
- package/dist/approval-provenance.js +9 -1
- package/dist/approval-provenance.js.map +1 -1
- package/dist/author-journey-cli.js +2 -1
- package/dist/author-journey-cli.js.map +1 -1
- package/dist/bin.js +25396 -23850
- package/dist/build-info.generated.js +2 -2
- package/dist/demo-aspect-cli.js +2 -1
- package/dist/demo-aspect-cli.js.map +1 -1
- package/dist/explore-cli/adversarial-strategy.d.ts +3 -0
- package/dist/explore-cli/adversarial-strategy.js +99 -0
- package/dist/explore-cli/adversarial-strategy.js.map +1 -0
- package/dist/explore-cli/coverage-strategy.d.ts +3 -0
- package/dist/explore-cli/coverage-strategy.js +95 -0
- package/dist/explore-cli/coverage-strategy.js.map +1 -0
- package/dist/explore-cli/feature-strategy.d.ts +3 -0
- package/dist/explore-cli/feature-strategy.js +59 -0
- package/dist/explore-cli/feature-strategy.js.map +1 -0
- package/dist/explore-cli/goal-strategy.d.ts +3 -0
- package/dist/explore-cli/goal-strategy.js +184 -0
- package/dist/explore-cli/goal-strategy.js.map +1 -0
- package/dist/explore-cli/options.d.ts +3 -0
- package/dist/explore-cli/options.js +155 -0
- package/dist/explore-cli/options.js.map +1 -0
- package/dist/explore-cli/run.d.ts +7 -0
- package/dist/explore-cli/run.js +682 -0
- package/dist/explore-cli/run.js.map +1 -0
- package/dist/explore-cli/shared.d.ts +158 -0
- package/dist/explore-cli/shared.js +20 -0
- package/dist/explore-cli/shared.js.map +1 -0
- package/dist/explore-cli/usability-strategy.d.ts +3 -0
- package/dist/explore-cli/usability-strategy.js +136 -0
- package/dist/explore-cli/usability-strategy.js.map +1 -0
- package/dist/explore-cli.d.ts +2 -2
- package/dist/explore-cli.js +2 -1346
- package/dist/explore-cli.js.map +1 -1
- package/dist/explore-goal.js +4 -3
- package/dist/explore-goal.js.map +1 -1
- package/dist/journey-anchor-api.d.ts +10 -9
- package/dist/journey-anchor-api.js +12 -22
- package/dist/journey-anchor-api.js.map +1 -1
- package/dist/journey-anchor-cli.d.ts +1 -1
- package/dist/journey-anchor-cli.js +10 -6
- package/dist/journey-anchor-cli.js.map +1 -1
- package/dist/journey-api.d.ts +12 -3
- package/dist/journey-api.js +34 -12
- package/dist/journey-api.js.map +1 -1
- package/dist/journey-cli/anchors.d.ts +4 -0
- package/dist/journey-cli/anchors.js +48 -0
- package/dist/journey-cli/anchors.js.map +1 -0
- package/dist/journey-cli/find.d.ts +4 -0
- package/dist/journey-cli/find.js +44 -0
- package/dist/journey-cli/find.js.map +1 -0
- package/dist/journey-cli/lint.d.ts +4 -0
- package/dist/journey-cli/lint.js +76 -0
- package/dist/journey-cli/lint.js.map +1 -0
- package/dist/journey-cli/list.d.ts +4 -0
- package/dist/journey-cli/list.js +48 -0
- package/dist/journey-cli/list.js.map +1 -0
- package/dist/journey-cli/migrate.d.ts +4 -0
- package/dist/journey-cli/migrate.js +101 -0
- package/dist/journey-cli/migrate.js.map +1 -0
- package/dist/journey-cli/promote.d.ts +4 -0
- package/dist/journey-cli/promote.js +181 -0
- package/dist/journey-cli/promote.js.map +1 -0
- package/dist/journey-cli/publish.d.ts +4 -0
- package/dist/journey-cli/publish.js +70 -0
- package/dist/journey-cli/publish.js.map +1 -0
- package/dist/journey-cli/review.d.ts +4 -0
- package/dist/journey-cli/review.js +103 -0
- package/dist/journey-cli/review.js.map +1 -0
- package/dist/journey-cli/run.d.ts +4 -0
- package/dist/journey-cli/run.js +244 -0
- package/dist/journey-cli/run.js.map +1 -0
- package/dist/journey-cli/shared.d.ts +9 -0
- package/dist/journey-cli/shared.js +12 -0
- package/dist/journey-cli/shared.js.map +1 -0
- package/dist/journey-cli/verify.d.ts +4 -0
- package/dist/journey-cli/verify.js +125 -0
- package/dist/journey-cli/verify.js.map +1 -0
- package/dist/journey-cli.d.ts +2 -2
- package/dist/journey-cli.js +21 -878
- package/dist/journey-cli.js.map +1 -1
- package/dist/journey-labels-migrate-api.d.ts +100 -0
- package/dist/journey-labels-migrate-api.js +194 -0
- package/dist/journey-labels-migrate-api.js.map +1 -0
- package/dist/journey-lint-sarif.js +4 -0
- package/dist/journey-lint-sarif.js.map +1 -1
- package/dist/journey-review/render.d.ts +43 -0
- package/dist/journey-review/render.js +461 -0
- package/dist/journey-review/render.js.map +1 -0
- package/dist/journey-review.d.ts +9 -2
- package/dist/journey-review.js +183 -144
- package/dist/journey-review.js.map +1 -1
- package/dist/log-sources.js +17 -1
- package/dist/log-sources.js.map +1 -1
- package/dist/mcp-api.js +16 -821
- package/dist/mcp-api.js.map +1 -1
- package/dist/mcp-cli-tools.js +14 -5
- package/dist/mcp-cli-tools.js.map +1 -1
- package/dist/mcp-tools/cli.d.ts +3 -0
- package/dist/mcp-tools/cli.js +20 -0
- package/dist/mcp-tools/cli.js.map +1 -0
- package/dist/mcp-tools/explore.d.ts +3 -0
- package/dist/mcp-tools/explore.js +141 -0
- package/dist/mcp-tools/explore.js.map +1 -0
- package/dist/mcp-tools/findings.d.ts +3 -0
- package/dist/mcp-tools/findings.js +277 -0
- package/dist/mcp-tools/findings.js.map +1 -0
- package/dist/mcp-tools/inbox.d.ts +3 -0
- package/dist/mcp-tools/inbox.js +106 -0
- package/dist/mcp-tools/inbox.js.map +1 -0
- package/dist/mcp-tools/journey.d.ts +3 -0
- package/dist/mcp-tools/journey.js +260 -0
- package/dist/mcp-tools/journey.js.map +1 -0
- package/dist/mcp-tools/shared.d.ts +39 -0
- package/dist/mcp-tools/shared.js +69 -0
- package/dist/mcp-tools/shared.js.map +1 -0
- package/dist/regression-api.js +6 -4
- package/dist/regression-api.js.map +1 -1
- package/dist/review-render-options.d.ts +17 -0
- package/dist/review-render-options.js +17 -0
- package/dist/review-render-options.js.map +1 -0
- package/dist/sweep-api.d.ts +9 -0
- package/dist/sweep-api.js +70 -2
- package/dist/sweep-api.js.map +1 -1
- package/dist/sweep-cli.d.ts +2 -0
- package/dist/sweep-cli.js +22 -5
- package/dist/sweep-cli.js.map +1 -1
- package/dist/ux-usability/analysis.d.ts +14 -0
- package/dist/ux-usability/analysis.js +106 -0
- package/dist/ux-usability/analysis.js.map +1 -0
- package/dist/ux-usability/done-adjudication.d.ts +15 -0
- package/dist/ux-usability/done-adjudication.js +56 -0
- package/dist/ux-usability/done-adjudication.js.map +1 -0
- package/dist/ux-usability/hang.d.ts +5 -0
- package/dist/ux-usability/hang.js +41 -0
- package/dist/ux-usability/hang.js.map +1 -0
- package/dist/ux-usability/loop.d.ts +15 -0
- package/dist/ux-usability/loop.js +104 -0
- package/dist/ux-usability/loop.js.map +1 -0
- package/dist/ux-usability/observe.d.ts +7 -0
- package/dist/ux-usability/observe.js +89 -0
- package/dist/ux-usability/observe.js.map +1 -0
- package/dist/ux-usability/result.d.ts +11 -0
- package/dist/ux-usability/result.js +113 -0
- package/dist/ux-usability/result.js.map +1 -0
- package/dist/ux-usability/setup.d.ts +75 -0
- package/dist/ux-usability/setup.js +203 -0
- package/dist/ux-usability/setup.js.map +1 -0
- package/dist/ux-usability/teardown.d.ts +3 -0
- package/dist/ux-usability/teardown.js +13 -0
- package/dist/ux-usability/teardown.js.map +1 -0
- package/dist/ux-usability.d.ts +14 -17
- package/dist/ux-usability.js +15 -586
- package/dist/ux-usability.js.map +1 -1
- package/dist/verify-fix-api.js +2 -0
- package/dist/verify-fix-api.js.map +1 -1
- package/package.json +11 -11
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { SiteGateRefusedError } from "@jevitate/runtime";
|
|
2
|
+
import { findCapabilities } from "@jevitate/mcp-facade";
|
|
3
|
+
import { FsJourneyStore, JourneyRegistry } from "@jevitate/journey";
|
|
4
|
+
import { existsSync } from "node:fs";
|
|
5
|
+
import { ParamValidationError } from "@jevitate/journey";
|
|
6
|
+
import { safeRunPolicy as defaultRunPolicy } from "@jevitate/domain";
|
|
7
|
+
import { stampRunMetadata, withRunMetadata } from "../run-metadata.js";
|
|
8
|
+
import { JourneyRequiresAuthError, UnknownJourneyError } from "../journey-api.js";
|
|
9
|
+
import { ExtensionMismatchError } from "../browser-run-options.js";
|
|
10
|
+
import { browserRunFromFlags, emulationFromFlags } from "../cli-shared.js";
|
|
11
|
+
import { environmentFromFlags, isEnvironmentError } from "../environments.js";
|
|
12
|
+
import { buildMissionFixtures, checkSetupRefs } from "../fixture-cli.js";
|
|
13
|
+
import { FixtureSetupError, FixtureSpecError, UnboundSetupRefError } from "../mission-fixtures.js";
|
|
14
|
+
import { parseScreenshotsArg } from "../run-screenshots.js";
|
|
15
|
+
import { makeEvidenceSelfHealer } from "../self-heal-adapter.js";
|
|
16
|
+
import { JourneyHealArgsError, MCP_HEAL_NAMES, journeyHealBudget, readJourneyChangeScope, validateJourneyHeal } from "../journey-heal.js";
|
|
17
|
+
import { ChangesArgsError, ChangesInputError } from "../change-context.js";
|
|
18
|
+
import { MAX_STEP_RESPONSE_TIMEOUT_MS } from "../journey-network-checks.js";
|
|
19
|
+
import { McpArgError, argErrorBody, optBool, optEnum, optInt, optNamedSessions, optPath, optExtensions, optRecordVideo, optScreenshots, optString, optStringArray, optStringMap, optViewport } from "../mcp-args.js";
|
|
20
|
+
import { resourcePreflight } from "../resource-preflight.js";
|
|
21
|
+
import { jsonResult, errorResult, governanceArgs, withJourneyExitCode, SetupRequired, redactCredentials, tagsArg } from "./shared.js";
|
|
22
|
+
/** `find_capabilities` and `run_journey`: the promoted-Journey tools. */
|
|
23
|
+
export function journeyTools(ctx) {
|
|
24
|
+
const { deps, pathRoots, credentialStore, runJourney } = ctx;
|
|
25
|
+
const findCaps = deps.findCapabilities ??
|
|
26
|
+
((query) => findCapabilities(new JourneyRegistry(new FsJourneyStore(deps.journeysDir)), query));
|
|
27
|
+
/**
|
|
28
|
+
* #255: `run_journey`'s CLI-parity options, resolved exactly as `journey run` resolves its flags
|
|
29
|
+
* (the same helpers: environmentFromFlags, browserRunFromFlags, parseScreenshotsArg,
|
|
30
|
+
* emulationFromFlags, buildMissionFixtures) — every refusal typed, before any browser opens.
|
|
31
|
+
*/
|
|
32
|
+
const resolveJourneyRun = async (args) => {
|
|
33
|
+
// Params keep their historical leniency for a non-object (treated as none); a non-string VALUE is refused.
|
|
34
|
+
const params = args.params && typeof args.params === "object" && !Array.isArray(args.params) ? (optStringMap(args, "params") ?? {}) : {};
|
|
35
|
+
const envName = optString(args, "env");
|
|
36
|
+
const baseUrl = optString(args, "baseUrl");
|
|
37
|
+
const environment = environmentFromFlags({ ...(envName === undefined ? {} : { env: envName }), ...(baseUrl === undefined ? {} : { baseUrl }) }, { ...(deps.environmentsFile === undefined ? {} : { environmentsFile: deps.environmentsFile }), ...(deps.targetsConfigPath === undefined ? {} : { targetsFile: deps.targetsConfigPath }) });
|
|
38
|
+
// --storage-state wins; else the environment's own session (~/.jevitate/targets.json[<origin>]).
|
|
39
|
+
const storageState = optPath(args, "storageState", pathRoots, { session: true }) ?? environment?.storageState;
|
|
40
|
+
if (args.storageState !== undefined && storageState !== undefined && !existsSync(storageState))
|
|
41
|
+
throw new McpArgError(`storage state not found: ${storageState}`);
|
|
42
|
+
const headed = optBool(args, "headed");
|
|
43
|
+
const slowMo = optInt(args, "slowMo", 0);
|
|
44
|
+
const recordVideo = optRecordVideo(args, pathRoots);
|
|
45
|
+
const extension = optExtensions(args, pathRoots);
|
|
46
|
+
const governance = governanceArgs(args);
|
|
47
|
+
let browser;
|
|
48
|
+
let screenshots;
|
|
49
|
+
let emulation;
|
|
50
|
+
try {
|
|
51
|
+
browser = browserRunFromFlags({ browserArg: [], ...governance, ...(extension === undefined ? {} : { extension }), ...(headed === undefined ? {} : { headed }), ...(slowMo === undefined ? {} : { slowMo }), ...(recordVideo === undefined ? {} : { recordVideo }) });
|
|
52
|
+
screenshots = parseScreenshotsArg(optScreenshots(args, pathRoots));
|
|
53
|
+
const viewport = optViewport(args);
|
|
54
|
+
const device = optString(args, "device");
|
|
55
|
+
const geolocation = optString(args, "geolocation");
|
|
56
|
+
emulation = emulationFromFlags({ ...(viewport === undefined ? {} : { viewport }), ...(device === undefined ? {} : { device }), ...(geolocation === undefined ? {} : { geolocation }) });
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
if (err instanceof McpArgError || argErrorBody(err) !== undefined)
|
|
60
|
+
throw err;
|
|
61
|
+
throw new McpArgError(err instanceof Error ? err.message : String(err));
|
|
62
|
+
}
|
|
63
|
+
const fixturesFile = optPath(args, "fixtures", pathRoots);
|
|
64
|
+
const fixtureIdentity = optNamedSessions(args, "fixtureIdentity", pathRoots);
|
|
65
|
+
// The environment's hooks apply as on the CLI; they need --allow-shell-hooks, which MCP never sets.
|
|
66
|
+
const fixtureFlags = {
|
|
67
|
+
...(fixturesFile === undefined ? {} : { fixtures: fixturesFile }),
|
|
68
|
+
...(fixtureIdentity === undefined ? {} : { fixtureIdentity }),
|
|
69
|
+
...(environment?.hooks?.before === undefined ? {} : { before: environment.hooks.before }),
|
|
70
|
+
...(environment?.hooks?.after === undefined ? {} : { after: environment.hooks.after }),
|
|
71
|
+
};
|
|
72
|
+
const fixtures = (site) => {
|
|
73
|
+
const fx = buildMissionFixtures(fixtureFlags, {
|
|
74
|
+
allowlist: environment === undefined ? [site] : environment.allowedOrigins,
|
|
75
|
+
baseUrl: site,
|
|
76
|
+
...(storageState !== undefined ? { storageState } : {}),
|
|
77
|
+
...(environment?.fixtures === undefined ? {} : { targetFixtures: environment.fixtures }),
|
|
78
|
+
});
|
|
79
|
+
checkSetupRefs({ "--param": Object.values(params) }, fx);
|
|
80
|
+
return fx;
|
|
81
|
+
};
|
|
82
|
+
const selfHeal = optEnum(args, "selfHeal", ["fail-closed", "hybrid", "full"]) ?? "fail-closed";
|
|
83
|
+
const real = optBool(args, "real") ?? false;
|
|
84
|
+
const fakeAi = optBool(args, "fakeAi") ?? false;
|
|
85
|
+
// #429: the Jev provider for self-heal judgments (typesafe | openrouter), as `--jev-provider`.
|
|
86
|
+
const jevProvider = optEnum(args, "jevProvider", ["typesafe", "openrouter"]);
|
|
87
|
+
// #453 Q1: the same refusals as `journey run` — a heal needs a change context, the change and
|
|
88
|
+
// budget arguments need a heal — before any gateway, Journey lookup or browser.
|
|
89
|
+
const changes = optString(args, "changes");
|
|
90
|
+
const healMaxAttempts = optInt(args, "healMaxAttempts", 1);
|
|
91
|
+
const healMaxModelCalls = optInt(args, "healMaxModelCalls", 1);
|
|
92
|
+
const healMaxMs = optInt(args, "healMaxMs", 1);
|
|
93
|
+
const healMaxRunAttempts = optInt(args, "healMaxRunAttempts", 1);
|
|
94
|
+
const healMaxRunMs = optInt(args, "healMaxRunMs", 1);
|
|
95
|
+
const stepResponseTimeoutMs = optInt(args, "stepResponseTimeoutMs", 1);
|
|
96
|
+
if (stepResponseTimeoutMs !== undefined && stepResponseTimeoutMs > MAX_STEP_RESPONSE_TIMEOUT_MS) {
|
|
97
|
+
throw new McpArgError(`'stepResponseTimeoutMs' must be an integer from 1 to ${MAX_STEP_RESPONSE_TIMEOUT_MS}`);
|
|
98
|
+
}
|
|
99
|
+
const healRequest = {
|
|
100
|
+
selfHeal,
|
|
101
|
+
...(changes === undefined ? {} : { changes }),
|
|
102
|
+
changeNotes: optStringArray(args, "changeNote") ?? [],
|
|
103
|
+
...(healMaxAttempts === undefined ? {} : { maxAttempts: healMaxAttempts }),
|
|
104
|
+
...(healMaxModelCalls === undefined ? {} : { maxModelCalls: healMaxModelCalls }),
|
|
105
|
+
...(healMaxMs === undefined ? {} : { maxMs: healMaxMs }),
|
|
106
|
+
...(healMaxRunAttempts === undefined ? {} : { maxRunAttempts: healMaxRunAttempts }),
|
|
107
|
+
...(healMaxRunMs === undefined ? {} : { maxRunMs: healMaxRunMs }),
|
|
108
|
+
};
|
|
109
|
+
validateJourneyHeal(healRequest, MCP_HEAL_NAMES);
|
|
110
|
+
const healScope = selfHeal === "fail-closed" ? undefined : await readJourneyChangeScope(healRequest, deps.journeysDir);
|
|
111
|
+
let selfHealer;
|
|
112
|
+
let policy = defaultRunPolicy();
|
|
113
|
+
let usage;
|
|
114
|
+
if (selfHeal !== "fail-closed") {
|
|
115
|
+
if (deps.selfHealGateways === undefined)
|
|
116
|
+
throw new SetupRequired("run_journey selfHeal needs the model gateways, which this server was not given");
|
|
117
|
+
// #453: the healer is evidence-only — its model is an advisory ranker; judgment never decides a heal.
|
|
118
|
+
let gen;
|
|
119
|
+
try {
|
|
120
|
+
({ gen, usage } = await deps.selfHealGateways({ real, fakeAi, ...(jevProvider === undefined ? {} : { jevProvider }) }));
|
|
121
|
+
}
|
|
122
|
+
catch (err) {
|
|
123
|
+
throw new SetupRequired(redactCredentials(err instanceof Error ? err.message : String(err), credentialStore));
|
|
124
|
+
}
|
|
125
|
+
selfHealer = makeEvidenceSelfHealer(gen, usage === undefined ? {} : { usage });
|
|
126
|
+
policy = { ...policy, selfHeal: { mode: selfHeal, budget: journeyHealBudget(healRequest) } };
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
params,
|
|
130
|
+
...(storageState === undefined ? {} : { storageState }),
|
|
131
|
+
options: {
|
|
132
|
+
policy,
|
|
133
|
+
fixtures,
|
|
134
|
+
...(selfHealer === undefined ? {} : { selfHealer }),
|
|
135
|
+
...(healScope === undefined ? {} : { heal: { scope: healScope } }),
|
|
136
|
+
...(environment === undefined ? {} : { environment }),
|
|
137
|
+
...(browser === undefined ? {} : { browser }),
|
|
138
|
+
...(emulation === undefined ? {} : { emulation }),
|
|
139
|
+
...(screenshots === undefined ? {} : { screenshots }),
|
|
140
|
+
...(optBool(args, "actionDeltas") === true ? { actionDeltas: true } : {}),
|
|
141
|
+
...(stepResponseTimeoutMs === undefined ? {} : { stepResponseTimeoutMs }),
|
|
142
|
+
},
|
|
143
|
+
...(usage === undefined ? {} : { usage }),
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
return {
|
|
147
|
+
find_capabilities: {
|
|
148
|
+
description: "Find promoted Journeys (capabilities) whose metadata matches a query.",
|
|
149
|
+
inputSchema: { type: "object", properties: { query: { type: "string" } }, required: ["query"] },
|
|
150
|
+
handler: async (args) => jsonResult(await findCaps(typeof args.query === "string" ? args.query : "")),
|
|
151
|
+
},
|
|
152
|
+
run_journey: {
|
|
153
|
+
description: "Run a PUBLISHED Journey by id with string params (fail-closed policy) — `jevitate journey run`. Never accepts inline steps. " +
|
|
154
|
+
"Optional 'storageState': a PATH (on the machine running this MCP server; inside the project or ~/.jevitate, never a repo's .jevitate/) to a Playwright storageState " +
|
|
155
|
+
"JSON file, for a Journey authored behind a login (#118) — the file's contents are read only by the " +
|
|
156
|
+
"server's own browser, never returned or logged. A Journey that declares metadata.requiresAuth refuses " +
|
|
157
|
+
"with a clear error when no storageState is given. #255 (same as the CLI flags): 'env' (a named environment in .jevitate/environments.json; its session from ~/.jevitate/targets.json) and/or 'baseUrl'; " +
|
|
158
|
+
"'headed' (needs a display) and 'slowMo'; 'recordVideo' (true, or a directory) → videoPaths; 'screenshots' (true | screens | steps | mode:<dir> | <dir>) → screenshotPaths; " +
|
|
159
|
+
"'viewport' {width,height} or 'device' (mutually exclusive); 'geolocation' '<lat>,<lng>[,<accuracy m>]' (#329); 'fixtures' (a fixtures JSON path: setup before, restore after; 'fixtureIdentity' (#243) 'name=<storageState path>' entries name who a step with auth.identity authenticates as; an environment's shell hooks are never run over MCP — they refuse as the CLI does without --allow-shell-hooks); " +
|
|
160
|
+
"'extension' (#256: unpacked extension directories inside the project or ~/.jevitate; a Journey recorded with extensions needs the same build); 'selfHeal' fail-closed (default) | hybrid | full with 'real' or 'fakeAi' (a write step never self-heals; 'jevProvider' typesafe | openrouter picks the Jev key with real, #429) — #453: a heal mode needs a change context, 'changes' (a git range such as HEAD~1..HEAD, read-only) and/or 'changeNote' (strings), else it is refused; only a break that change explains is retargeted, one-for-one, and the run ends healed-pending-review (exitCode 5: a proposed revision a person accepts, never a pass); budgets 'healMaxAttempts'/'healMaxModelCalls'/'healMaxMs' (per broken step) and 'healMaxRunAttempts'/'healMaxRunMs' (per run), each >= 1; the result's 'exitCode' is the CLI's (0 ok, 5 pending review, 1 failed); 'actionDeltas' (#303, opt-in: each replayed step's action delta, compared with the recorded one → actionDeltas); 'stepResponseTimeoutMs' (#486, 1..300000, default 15000: how long a step's responseStatus check waits for a request sent but not yet answered, e.g. a cold start — a late 2xx is an advisory slowSteps finding; a step's own responseTimeoutMs overrides it); 'maxBrowsers'/'maxBrowserMemory' (#205: machine-wide browser cap, browser memory ceiling in MiB); 'tags' (#426: {key: value} run metadata, returned on the result — never a secret). A site-policy refusal is {error: throttled, retryAfter}.",
|
|
161
|
+
inputSchema: {
|
|
162
|
+
type: "object",
|
|
163
|
+
properties: {
|
|
164
|
+
id: { type: "string" },
|
|
165
|
+
params: { type: "object", additionalProperties: { type: "string" } },
|
|
166
|
+
storageState: { type: "string" },
|
|
167
|
+
env: { type: "string" },
|
|
168
|
+
baseUrl: { type: "string" },
|
|
169
|
+
headed: { type: "boolean" },
|
|
170
|
+
slowMo: { type: "integer", minimum: 0 },
|
|
171
|
+
recordVideo: { type: ["boolean", "string"] },
|
|
172
|
+
screenshots: { type: ["boolean", "string"] },
|
|
173
|
+
viewport: { type: "object", properties: { width: { type: "integer" }, height: { type: "integer" } }, required: ["width", "height"] },
|
|
174
|
+
device: { type: "string" },
|
|
175
|
+
geolocation: { type: "string" },
|
|
176
|
+
fixtures: { type: "string" },
|
|
177
|
+
fixtureIdentity: { type: "array", items: { type: "string" } },
|
|
178
|
+
selfHeal: { type: "string", enum: ["fail-closed", "hybrid", "full"] },
|
|
179
|
+
changes: { type: "string" },
|
|
180
|
+
changeNote: { type: "array", items: { type: "string" } },
|
|
181
|
+
healMaxAttempts: { type: "integer", minimum: 1 },
|
|
182
|
+
healMaxModelCalls: { type: "integer", minimum: 1 },
|
|
183
|
+
healMaxMs: { type: "integer", minimum: 1 },
|
|
184
|
+
healMaxRunAttempts: { type: "integer", minimum: 1 },
|
|
185
|
+
healMaxRunMs: { type: "integer", minimum: 1 },
|
|
186
|
+
real: { type: "boolean" },
|
|
187
|
+
fakeAi: { type: "boolean" },
|
|
188
|
+
jevProvider: { type: "string", enum: ["typesafe", "openrouter"] },
|
|
189
|
+
extension: { type: "array", items: { type: "string" } },
|
|
190
|
+
maxBrowsers: { type: "integer", minimum: 1 },
|
|
191
|
+
maxBrowserMemory: { type: "integer", minimum: 1 },
|
|
192
|
+
actionDeltas: { type: "boolean" },
|
|
193
|
+
stepResponseTimeoutMs: { type: "integer", minimum: 1, maximum: MAX_STEP_RESPONSE_TIMEOUT_MS },
|
|
194
|
+
tags: { type: "object", additionalProperties: { type: "string" } },
|
|
195
|
+
},
|
|
196
|
+
required: ["id"],
|
|
197
|
+
},
|
|
198
|
+
handler: async (args) => {
|
|
199
|
+
if (typeof args.id !== "string" || args.id.length === 0) {
|
|
200
|
+
return errorResult({ error: "invalid_args", message: "run_journey requires a non-empty string 'id'" });
|
|
201
|
+
}
|
|
202
|
+
const tagged = tagsArg(args);
|
|
203
|
+
if ("error" in tagged)
|
|
204
|
+
return errorResult(tagged.error);
|
|
205
|
+
// Invariant #5: only id + params (+ a storageState PATH and the run options below) are
|
|
206
|
+
// threaded through — any inline `steps`/`recording` in the arguments is deliberately ignored.
|
|
207
|
+
let resolved;
|
|
208
|
+
try {
|
|
209
|
+
resolved = await resolveJourneyRun(args);
|
|
210
|
+
}
|
|
211
|
+
catch (err) {
|
|
212
|
+
const body = argErrorBody(err) ?? (isEnvironmentError(err) ? { error: "invalid_args", code: err.code, message: err.message } : undefined);
|
|
213
|
+
if (body !== undefined)
|
|
214
|
+
return errorResult(body);
|
|
215
|
+
if (err instanceof JourneyHealArgsError || err instanceof ChangesArgsError || err instanceof ChangesInputError) {
|
|
216
|
+
return errorResult({ error: "invalid_args", code: err.code, message: err.message });
|
|
217
|
+
}
|
|
218
|
+
if (err instanceof SetupRequired)
|
|
219
|
+
return errorResult({ error: "setup_required", message: err.message });
|
|
220
|
+
throw err;
|
|
221
|
+
}
|
|
222
|
+
// #205: the same pre-run checks as `jevitate journey run` (orphan sweep, starved-host refusal).
|
|
223
|
+
const starved = await resourcePreflight({});
|
|
224
|
+
if (starved !== null)
|
|
225
|
+
return errorResult({ error: "refused", code: starved.error?.code, message: starved.error?.message });
|
|
226
|
+
try {
|
|
227
|
+
const id = args.id;
|
|
228
|
+
const result = await withRunMetadata({ tags: tagged.tags }, () => runJourney(id, resolved.params, resolved.storageState, resolved.options));
|
|
229
|
+
// #163: a self-healing run's model usage lands on its result, as on the CLI. #426: so do its tags.
|
|
230
|
+
const withUsage = resolved.usage === undefined || result === null || typeof result !== "object" ? result : { ...result, usage: resolved.usage.snapshot() };
|
|
231
|
+
// #453: the CLI's exit code for the outcome — 0 ok, 5 healed-pending-review (a proposed revision, never a pass), 1 otherwise.
|
|
232
|
+
return jsonResult(stampRunMetadata(withJourneyExitCode(withUsage), { tags: tagged.tags }));
|
|
233
|
+
}
|
|
234
|
+
catch (err) {
|
|
235
|
+
// A site-policy refusal (throttle, budget, quiet hours) is an answer the agent acts on — when to retry.
|
|
236
|
+
if (err instanceof SiteGateRefusedError) {
|
|
237
|
+
return errorResult({ error: "throttled", reason: err.reason, retryAfter: err.retryAfter, message: err.message });
|
|
238
|
+
}
|
|
239
|
+
if (err instanceof UnknownJourneyError)
|
|
240
|
+
return errorResult({ error: "not_found", id: args.id, message: err.message });
|
|
241
|
+
if (err instanceof JourneyRequiresAuthError)
|
|
242
|
+
return errorResult({ error: "invalid_args", code: "E_JOURNEY_REQUIRES_AUTH", message: err.message });
|
|
243
|
+
if (err instanceof ExtensionMismatchError)
|
|
244
|
+
return errorResult({ error: "invalid_args", code: err.code, message: err.message });
|
|
245
|
+
if (err instanceof ParamValidationError)
|
|
246
|
+
return errorResult({ error: "invalid_args", code: "E_INVALID_PARAMS", message: err.message });
|
|
247
|
+
if (isEnvironmentError(err) || err instanceof FixtureSpecError || err instanceof UnboundSetupRefError) {
|
|
248
|
+
return errorResult({ error: "invalid_args", code: err.code, message: err.message });
|
|
249
|
+
}
|
|
250
|
+
// Never run on unknown state: inconclusive (exit 2) — proves nothing, so an error result.
|
|
251
|
+
if (err instanceof FixtureSetupError) {
|
|
252
|
+
return errorResult({ outcome: "inconclusive", reason: err.message, failure: { kind: "configuration", message: err.message }, attribution: "configuration", exitCode: 2 });
|
|
253
|
+
}
|
|
254
|
+
throw err;
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=journey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journey.js","sourceRoot":"","sources":["../../src/mcp-tools/journey.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type CredentialStore } from "@jevitate/ai-core";
|
|
2
|
+
import { type GovernanceFlags } from "../resource-preflight.js";
|
|
3
|
+
import type { McpApiDeps, McpTool, McpToolResult } from "../mcp-api.js";
|
|
4
|
+
/** The dependencies a tool group closes over (built once by `buildMcpTools`). */
|
|
5
|
+
export interface McpToolCtx {
|
|
6
|
+
readonly deps: McpApiDeps;
|
|
7
|
+
readonly pathRoots: readonly string[];
|
|
8
|
+
readonly credentialStore: CredentialStore;
|
|
9
|
+
readonly runJourney: NonNullable<McpApiDeps["runJourney"]>;
|
|
10
|
+
readonly verifyFixImpl: NonNullable<McpApiDeps["verifyFix"]>;
|
|
11
|
+
}
|
|
12
|
+
/** One group's tool descriptors, keyed by tool name (the name is added by `buildMcpTools`). */
|
|
13
|
+
export type McpToolGroup = Record<string, Omit<McpTool, "name">>;
|
|
14
|
+
/** #205: a native tool's `maxBrowsers` / `maxBrowserMemory` (MiB) arguments, typed like the CLI flags. */
|
|
15
|
+
export declare function governanceArgs(args: Record<string, unknown>): GovernanceFlags;
|
|
16
|
+
/** #453: a Journey run result with the CLI's exit code for its outcome (anything else unchanged). */
|
|
17
|
+
export declare function withJourneyExitCode(result: unknown): unknown;
|
|
18
|
+
export declare function jsonResult(value: unknown): McpToolResult;
|
|
19
|
+
export declare function errorResult(value: unknown): McpToolResult;
|
|
20
|
+
/** Strips any known credential VALUE from a diagnostic string so a provider
|
|
21
|
+
* SDK error (which can echo request internals verbatim) never surfaces a key
|
|
22
|
+
* through the MCP result. The message returned to the caller is generic and
|
|
23
|
+
* key-free; this is belt-and-braces on top of the gateway's outbound guard. */
|
|
24
|
+
/** #217: a persisted goal result's own ending (`result.goalOutcome`), when present. */
|
|
25
|
+
export declare function goalOutcomeOf(file: object): unknown;
|
|
26
|
+
/** #423: a persisted result's `defectOutcome.status` (`none`/`defects`), when present. */
|
|
27
|
+
export declare function defectStatusOf(file: object): unknown;
|
|
28
|
+
/** One field of a persisted result's `result` object, else undefined. */
|
|
29
|
+
export declare function resultField(file: object, key: string): unknown;
|
|
30
|
+
/** A model-backed option was asked for without usable gateways/keys (typed `setup_required`). */
|
|
31
|
+
export declare class SetupRequired extends Error {
|
|
32
|
+
}
|
|
33
|
+
export declare function redactCredentials(message: string, store: CredentialStore): string;
|
|
34
|
+
/** #426: the run tools' `tags` object — validated like `--tag` (an invalid one is invalid_args, never dropped). */
|
|
35
|
+
export declare const tagsArg: (args: Record<string, unknown>) => {
|
|
36
|
+
tags: Record<string, string>;
|
|
37
|
+
} | {
|
|
38
|
+
error: Record<string, unknown>;
|
|
39
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ALL_CREDENTIAL_KEYS } from "@jevitate/ai-core";
|
|
2
|
+
import { RunTagError, JOURNEY_RUN_OUTCOMES, journeyExitCode, validateRunTags } from "@jevitate/domain";
|
|
3
|
+
import { optInt } from "../mcp-args.js";
|
|
4
|
+
/** #205: a native tool's `maxBrowsers` / `maxBrowserMemory` (MiB) arguments, typed like the CLI flags. */
|
|
5
|
+
export function governanceArgs(args) {
|
|
6
|
+
const maxBrowsers = optInt(args, "maxBrowsers", 1);
|
|
7
|
+
const maxBrowserMemory = optInt(args, "maxBrowserMemory", 1);
|
|
8
|
+
return { ...(maxBrowsers === undefined ? {} : { maxBrowsers }), ...(maxBrowserMemory === undefined ? {} : { maxBrowserMemory }) };
|
|
9
|
+
}
|
|
10
|
+
/** #453: a Journey run result with the CLI's exit code for its outcome (anything else unchanged). */
|
|
11
|
+
export function withJourneyExitCode(result) {
|
|
12
|
+
if (result === null || typeof result !== "object")
|
|
13
|
+
return result;
|
|
14
|
+
const outcome = result.outcome;
|
|
15
|
+
if (typeof outcome !== "string" || !JOURNEY_RUN_OUTCOMES.includes(outcome))
|
|
16
|
+
return result;
|
|
17
|
+
return { ...result, exitCode: journeyExitCode(outcome) };
|
|
18
|
+
}
|
|
19
|
+
export function jsonResult(value) {
|
|
20
|
+
return { content: [{ type: "text", text: JSON.stringify(value) }] };
|
|
21
|
+
}
|
|
22
|
+
export function errorResult(value) {
|
|
23
|
+
return { content: [{ type: "text", text: JSON.stringify(value) }], isError: true };
|
|
24
|
+
}
|
|
25
|
+
/** Strips any known credential VALUE from a diagnostic string so a provider
|
|
26
|
+
* SDK error (which can echo request internals verbatim) never surfaces a key
|
|
27
|
+
* through the MCP result. The message returned to the caller is generic and
|
|
28
|
+
* key-free; this is belt-and-braces on top of the gateway's outbound guard. */
|
|
29
|
+
/** #217: a persisted goal result's own ending (`result.goalOutcome`), when present. */
|
|
30
|
+
export function goalOutcomeOf(file) {
|
|
31
|
+
const result = file.result;
|
|
32
|
+
return result !== null && typeof result === "object" && "goalOutcome" in result ? result.goalOutcome : undefined;
|
|
33
|
+
}
|
|
34
|
+
/** #423: a persisted result's `defectOutcome.status` (`none`/`defects`), when present. */
|
|
35
|
+
export function defectStatusOf(file) {
|
|
36
|
+
const outcome = resultField(file, "defectOutcome");
|
|
37
|
+
return outcome !== null && typeof outcome === "object" && "status" in outcome ? outcome.status : undefined;
|
|
38
|
+
}
|
|
39
|
+
/** One field of a persisted result's `result` object, else undefined. */
|
|
40
|
+
export function resultField(file, key) {
|
|
41
|
+
const result = file.result;
|
|
42
|
+
return result !== null && typeof result === "object" && key in result ? result[key] : undefined;
|
|
43
|
+
}
|
|
44
|
+
/** A model-backed option was asked for without usable gateways/keys (typed `setup_required`). */
|
|
45
|
+
export class SetupRequired extends Error {
|
|
46
|
+
}
|
|
47
|
+
export function redactCredentials(message, store) {
|
|
48
|
+
let out = message;
|
|
49
|
+
for (const key of ALL_CREDENTIAL_KEYS) {
|
|
50
|
+
const value = store.read(key);
|
|
51
|
+
if (value)
|
|
52
|
+
out = out.split(value).join("***REDACTED***");
|
|
53
|
+
}
|
|
54
|
+
return out;
|
|
55
|
+
}
|
|
56
|
+
/** #426: the run tools' `tags` object — validated like `--tag` (an invalid one is invalid_args, never dropped). */
|
|
57
|
+
export const tagsArg = (args) => {
|
|
58
|
+
if (args.tags === undefined)
|
|
59
|
+
return { tags: {} };
|
|
60
|
+
try {
|
|
61
|
+
return { tags: validateRunTags(args.tags, "tags") };
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
if (!(err instanceof RunTagError))
|
|
65
|
+
throw err;
|
|
66
|
+
return { error: { error: "invalid_args", code: err.code, message: err.message } };
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/mcp-tools/shared.ts"],"names":[],"mappings":"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"}
|
package/dist/regression-api.js
CHANGED
|
@@ -205,8 +205,8 @@ export async function runRegressionCapture(opts) {
|
|
|
205
205
|
let report;
|
|
206
206
|
try {
|
|
207
207
|
report = requiredFingerprint
|
|
208
|
-
? await reproduceFailureAt(working, opts.makeActor, requiredFingerprint, attempts)
|
|
209
|
-
: await reproduceFailure(working, opts.makeActor, attempts);
|
|
208
|
+
? await reproduceFailureAt(working, opts.makeActor, requiredFingerprint, attempts, { fixtureBaseDir: journeyFixtureBaseDir() })
|
|
209
|
+
: await reproduceFailure(working, opts.makeActor, attempts, { fixtureBaseDir: journeyFixtureBaseDir() });
|
|
210
210
|
}
|
|
211
211
|
catch (cause) {
|
|
212
212
|
if (cause instanceof NeverFailedError)
|
|
@@ -215,7 +215,7 @@ export async function runRegressionCapture(opts) {
|
|
|
215
215
|
}
|
|
216
216
|
if (report.label === "flaky")
|
|
217
217
|
return { skipped: "flaky", rate: report.rate };
|
|
218
|
-
const reproduces = makeSingleShotReproduces(opts.makeActor, report.fingerprint);
|
|
218
|
+
const reproduces = makeSingleShotReproduces(opts.makeActor, report.fingerprint, { fixtureBaseDir: journeyFixtureBaseDir() });
|
|
219
219
|
const minimized = await minimizeRecording(working, reproduces);
|
|
220
220
|
return commitRegression(opts.regressionsDir, opts.id, minimized, report, opts.bugSummary);
|
|
221
221
|
}
|
|
@@ -285,6 +285,7 @@ async function captureInvariantRegression(opts, fallbackRecording, mission, find
|
|
|
285
285
|
// Guardrail: the replay may only ever touch the mission's own authorized origins.
|
|
286
286
|
assertAuthorizedExploreTarget(mission.target.seedUrl, mission.target.allowlist);
|
|
287
287
|
const verifyResult = await verifyFix({
|
|
288
|
+
fixtureBaseDir: journeyFixtureBaseDir(),
|
|
288
289
|
recording,
|
|
289
290
|
recordingStepIndex: finding.repro.recordingStepIndex,
|
|
290
291
|
fingerprint: finding.fingerprint,
|
|
@@ -365,7 +366,7 @@ export async function runRegressionRun(opts) {
|
|
|
365
366
|
: { ...stored, baseUrl: `${env.baseUrl}${new URL(stored.baseUrl).pathname}`, allowlist: [...env.allowedOrigins] };
|
|
366
367
|
if (oracle === undefined) {
|
|
367
368
|
const actor = await opts.makeActor();
|
|
368
|
-
const outcome = await replayRegression(actor, recording);
|
|
369
|
+
const outcome = await replayRegression(actor, recording, { fixtureBaseDir: journeyFixtureBaseDir() });
|
|
369
370
|
return outcome === "failed"
|
|
370
371
|
? { id: opts.id, verdict: "reproduces", reason: "the committed Recording's own oracle step failed again on replay" }
|
|
371
372
|
: { id: opts.id, verdict: "fixed", reason: "the committed Recording replayed clean; its oracle step held" };
|
|
@@ -380,6 +381,7 @@ export async function runRegressionRun(opts) {
|
|
|
380
381
|
// oracle.kind === "invariant"
|
|
381
382
|
assertAuthorizedExploreTarget(oracle.baseUrl, oracle.allowlist);
|
|
382
383
|
const verifyResult = await verifyFix({
|
|
384
|
+
fixtureBaseDir: journeyFixtureBaseDir(),
|
|
383
385
|
recording,
|
|
384
386
|
recordingStepIndex: oracle.recordingStepIndex,
|
|
385
387
|
fingerprint: oracle.defectFingerprint,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regression-api.js","sourceRoot":"","sources":["../src/regression-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"regression-api.js","sourceRoot":"","sources":["../src/regression-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { RenderOptions } from "./journey-review.js";
|
|
2
|
+
/** The terminal facts the decision reads (injectable for tests). */
|
|
3
|
+
export interface ReviewTerminal {
|
|
4
|
+
readonly isTTY: boolean;
|
|
5
|
+
readonly columns?: number;
|
|
6
|
+
readonly env: Readonly<Record<string, string | undefined>>;
|
|
7
|
+
}
|
|
8
|
+
/** #496: the live process's stdout and environment. */
|
|
9
|
+
export declare function processTerminal(): ReviewTerminal;
|
|
10
|
+
/**
|
|
11
|
+
* #496: how a review sheet is rendered for people. Width is the terminal's when stdout is a TTY, else 100;
|
|
12
|
+
* colour only on a TTY with NO_COLOR unset/empty and never in a file (`--out`); `full` adds the detail sections.
|
|
13
|
+
*/
|
|
14
|
+
export declare function reviewRenderOptions(opts: {
|
|
15
|
+
full?: boolean;
|
|
16
|
+
toFile?: boolean;
|
|
17
|
+
}, term?: ReviewTerminal): RenderOptions;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** #496: the live process's stdout and environment. */
|
|
2
|
+
export function processTerminal() {
|
|
3
|
+
return { isTTY: process.stdout.isTTY === true, ...(process.stdout.columns === undefined ? {} : { columns: process.stdout.columns }), env: process.env };
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* #496: how a review sheet is rendered for people. Width is the terminal's when stdout is a TTY, else 100;
|
|
7
|
+
* colour only on a TTY with NO_COLOR unset/empty and never in a file (`--out`); `full` adds the detail sections.
|
|
8
|
+
*/
|
|
9
|
+
export function reviewRenderOptions(opts, term = processTerminal()) {
|
|
10
|
+
const noColor = (term.env.NO_COLOR ?? "") !== "";
|
|
11
|
+
return {
|
|
12
|
+
width: term.isTTY && term.columns !== undefined && term.columns > 0 ? term.columns : 100,
|
|
13
|
+
color: term.isTTY && !noColor && opts.toFile !== true,
|
|
14
|
+
...(opts.full === true ? { full: true } : {}),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=review-render-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review-render-options.js","sourceRoot":"","sources":["../src/review-render-options.ts"],"names":[],"mappings":"AASA,uDAAuD;AACvD,MAAM,UAAU,eAAe;IAC7B,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;AAC1J,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA0C,EAAE,OAAuB,eAAe,EAAE;IACtH,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;IACjD,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;QACxF,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;QACrD,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC;AACJ,CAAC"}
|
package/dist/sweep-api.d.ts
CHANGED
|
@@ -37,6 +37,13 @@ export declare const MAX_SWEEP_CONCURRENCY = 16;
|
|
|
37
37
|
export declare const MAX_SWEEP_TARGETS = 1000;
|
|
38
38
|
/** The target option name → its typed explore argument (the allowed set). */
|
|
39
39
|
export declare function sweepTargetOptions(): Readonly<Record<string, CliParam>>;
|
|
40
|
+
/**
|
|
41
|
+
* #513: a sweep fixture, checked synchronously against the project root exactly like every upload
|
|
42
|
+
* fixture (#498): inside the root (after realpath), an existing file, not sensitive. Returns the absolute
|
|
43
|
+
* path (a relative one resolves against the working directory, as `explore --fixture` does).
|
|
44
|
+
* Throws `FixturePathError`.
|
|
45
|
+
*/
|
|
46
|
+
export declare function confineSweepFixture(raw: string, root: string | undefined): string;
|
|
40
47
|
export interface SweepPersona {
|
|
41
48
|
readonly name: string;
|
|
42
49
|
/** Absolute, confined path of the persona's storage state (its contents are never read). */
|
|
@@ -64,6 +71,8 @@ export interface LoadSweepTargetsOptions {
|
|
|
64
71
|
/** Extra roots a persona storage state may live in (default: the project and `~/.jevitate`). */
|
|
65
72
|
readonly roots?: readonly string[];
|
|
66
73
|
readonly env?: NodeJS.ProcessEnv;
|
|
74
|
+
/** The project root a target's `options.fixture` is confined to (default: the folder holding `.jevitate/`). */
|
|
75
|
+
readonly projectRoot?: string;
|
|
67
76
|
}
|
|
68
77
|
/**
|
|
69
78
|
* Loads and validates a targets file (`.tsv`: a header row then one target per line; `.json`: an
|