@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.
Files changed (159) hide show
  1. package/dist/approval-provenance.d.ts +6 -0
  2. package/dist/approval-provenance.js +9 -1
  3. package/dist/approval-provenance.js.map +1 -1
  4. package/dist/author-journey-cli.js +2 -1
  5. package/dist/author-journey-cli.js.map +1 -1
  6. package/dist/bin.js +25396 -23850
  7. package/dist/build-info.generated.js +2 -2
  8. package/dist/demo-aspect-cli.js +2 -1
  9. package/dist/demo-aspect-cli.js.map +1 -1
  10. package/dist/explore-cli/adversarial-strategy.d.ts +3 -0
  11. package/dist/explore-cli/adversarial-strategy.js +99 -0
  12. package/dist/explore-cli/adversarial-strategy.js.map +1 -0
  13. package/dist/explore-cli/coverage-strategy.d.ts +3 -0
  14. package/dist/explore-cli/coverage-strategy.js +95 -0
  15. package/dist/explore-cli/coverage-strategy.js.map +1 -0
  16. package/dist/explore-cli/feature-strategy.d.ts +3 -0
  17. package/dist/explore-cli/feature-strategy.js +59 -0
  18. package/dist/explore-cli/feature-strategy.js.map +1 -0
  19. package/dist/explore-cli/goal-strategy.d.ts +3 -0
  20. package/dist/explore-cli/goal-strategy.js +184 -0
  21. package/dist/explore-cli/goal-strategy.js.map +1 -0
  22. package/dist/explore-cli/options.d.ts +3 -0
  23. package/dist/explore-cli/options.js +155 -0
  24. package/dist/explore-cli/options.js.map +1 -0
  25. package/dist/explore-cli/run.d.ts +7 -0
  26. package/dist/explore-cli/run.js +682 -0
  27. package/dist/explore-cli/run.js.map +1 -0
  28. package/dist/explore-cli/shared.d.ts +158 -0
  29. package/dist/explore-cli/shared.js +20 -0
  30. package/dist/explore-cli/shared.js.map +1 -0
  31. package/dist/explore-cli/usability-strategy.d.ts +3 -0
  32. package/dist/explore-cli/usability-strategy.js +136 -0
  33. package/dist/explore-cli/usability-strategy.js.map +1 -0
  34. package/dist/explore-cli.d.ts +2 -2
  35. package/dist/explore-cli.js +2 -1346
  36. package/dist/explore-cli.js.map +1 -1
  37. package/dist/explore-goal.js +4 -3
  38. package/dist/explore-goal.js.map +1 -1
  39. package/dist/journey-anchor-api.d.ts +10 -9
  40. package/dist/journey-anchor-api.js +12 -22
  41. package/dist/journey-anchor-api.js.map +1 -1
  42. package/dist/journey-anchor-cli.d.ts +1 -1
  43. package/dist/journey-anchor-cli.js +10 -6
  44. package/dist/journey-anchor-cli.js.map +1 -1
  45. package/dist/journey-api.d.ts +12 -3
  46. package/dist/journey-api.js +34 -12
  47. package/dist/journey-api.js.map +1 -1
  48. package/dist/journey-cli/anchors.d.ts +4 -0
  49. package/dist/journey-cli/anchors.js +48 -0
  50. package/dist/journey-cli/anchors.js.map +1 -0
  51. package/dist/journey-cli/find.d.ts +4 -0
  52. package/dist/journey-cli/find.js +44 -0
  53. package/dist/journey-cli/find.js.map +1 -0
  54. package/dist/journey-cli/lint.d.ts +4 -0
  55. package/dist/journey-cli/lint.js +76 -0
  56. package/dist/journey-cli/lint.js.map +1 -0
  57. package/dist/journey-cli/list.d.ts +4 -0
  58. package/dist/journey-cli/list.js +48 -0
  59. package/dist/journey-cli/list.js.map +1 -0
  60. package/dist/journey-cli/migrate.d.ts +4 -0
  61. package/dist/journey-cli/migrate.js +101 -0
  62. package/dist/journey-cli/migrate.js.map +1 -0
  63. package/dist/journey-cli/promote.d.ts +4 -0
  64. package/dist/journey-cli/promote.js +181 -0
  65. package/dist/journey-cli/promote.js.map +1 -0
  66. package/dist/journey-cli/publish.d.ts +4 -0
  67. package/dist/journey-cli/publish.js +70 -0
  68. package/dist/journey-cli/publish.js.map +1 -0
  69. package/dist/journey-cli/review.d.ts +4 -0
  70. package/dist/journey-cli/review.js +103 -0
  71. package/dist/journey-cli/review.js.map +1 -0
  72. package/dist/journey-cli/run.d.ts +4 -0
  73. package/dist/journey-cli/run.js +244 -0
  74. package/dist/journey-cli/run.js.map +1 -0
  75. package/dist/journey-cli/shared.d.ts +9 -0
  76. package/dist/journey-cli/shared.js +12 -0
  77. package/dist/journey-cli/shared.js.map +1 -0
  78. package/dist/journey-cli/verify.d.ts +4 -0
  79. package/dist/journey-cli/verify.js +125 -0
  80. package/dist/journey-cli/verify.js.map +1 -0
  81. package/dist/journey-cli.d.ts +2 -2
  82. package/dist/journey-cli.js +21 -878
  83. package/dist/journey-cli.js.map +1 -1
  84. package/dist/journey-labels-migrate-api.d.ts +100 -0
  85. package/dist/journey-labels-migrate-api.js +194 -0
  86. package/dist/journey-labels-migrate-api.js.map +1 -0
  87. package/dist/journey-lint-sarif.js +4 -0
  88. package/dist/journey-lint-sarif.js.map +1 -1
  89. package/dist/journey-review/render.d.ts +43 -0
  90. package/dist/journey-review/render.js +461 -0
  91. package/dist/journey-review/render.js.map +1 -0
  92. package/dist/journey-review.d.ts +9 -2
  93. package/dist/journey-review.js +183 -144
  94. package/dist/journey-review.js.map +1 -1
  95. package/dist/log-sources.js +17 -1
  96. package/dist/log-sources.js.map +1 -1
  97. package/dist/mcp-api.js +16 -821
  98. package/dist/mcp-api.js.map +1 -1
  99. package/dist/mcp-cli-tools.js +14 -5
  100. package/dist/mcp-cli-tools.js.map +1 -1
  101. package/dist/mcp-tools/cli.d.ts +3 -0
  102. package/dist/mcp-tools/cli.js +20 -0
  103. package/dist/mcp-tools/cli.js.map +1 -0
  104. package/dist/mcp-tools/explore.d.ts +3 -0
  105. package/dist/mcp-tools/explore.js +141 -0
  106. package/dist/mcp-tools/explore.js.map +1 -0
  107. package/dist/mcp-tools/findings.d.ts +3 -0
  108. package/dist/mcp-tools/findings.js +277 -0
  109. package/dist/mcp-tools/findings.js.map +1 -0
  110. package/dist/mcp-tools/inbox.d.ts +3 -0
  111. package/dist/mcp-tools/inbox.js +106 -0
  112. package/dist/mcp-tools/inbox.js.map +1 -0
  113. package/dist/mcp-tools/journey.d.ts +3 -0
  114. package/dist/mcp-tools/journey.js +260 -0
  115. package/dist/mcp-tools/journey.js.map +1 -0
  116. package/dist/mcp-tools/shared.d.ts +39 -0
  117. package/dist/mcp-tools/shared.js +69 -0
  118. package/dist/mcp-tools/shared.js.map +1 -0
  119. package/dist/regression-api.js +6 -4
  120. package/dist/regression-api.js.map +1 -1
  121. package/dist/review-render-options.d.ts +17 -0
  122. package/dist/review-render-options.js +17 -0
  123. package/dist/review-render-options.js.map +1 -0
  124. package/dist/sweep-api.d.ts +9 -0
  125. package/dist/sweep-api.js +70 -2
  126. package/dist/sweep-api.js.map +1 -1
  127. package/dist/sweep-cli.d.ts +2 -0
  128. package/dist/sweep-cli.js +22 -5
  129. package/dist/sweep-cli.js.map +1 -1
  130. package/dist/ux-usability/analysis.d.ts +14 -0
  131. package/dist/ux-usability/analysis.js +106 -0
  132. package/dist/ux-usability/analysis.js.map +1 -0
  133. package/dist/ux-usability/done-adjudication.d.ts +15 -0
  134. package/dist/ux-usability/done-adjudication.js +56 -0
  135. package/dist/ux-usability/done-adjudication.js.map +1 -0
  136. package/dist/ux-usability/hang.d.ts +5 -0
  137. package/dist/ux-usability/hang.js +41 -0
  138. package/dist/ux-usability/hang.js.map +1 -0
  139. package/dist/ux-usability/loop.d.ts +15 -0
  140. package/dist/ux-usability/loop.js +104 -0
  141. package/dist/ux-usability/loop.js.map +1 -0
  142. package/dist/ux-usability/observe.d.ts +7 -0
  143. package/dist/ux-usability/observe.js +89 -0
  144. package/dist/ux-usability/observe.js.map +1 -0
  145. package/dist/ux-usability/result.d.ts +11 -0
  146. package/dist/ux-usability/result.js +113 -0
  147. package/dist/ux-usability/result.js.map +1 -0
  148. package/dist/ux-usability/setup.d.ts +75 -0
  149. package/dist/ux-usability/setup.js +203 -0
  150. package/dist/ux-usability/setup.js.map +1 -0
  151. package/dist/ux-usability/teardown.d.ts +3 -0
  152. package/dist/ux-usability/teardown.js +13 -0
  153. package/dist/ux-usability/teardown.js.map +1 -0
  154. package/dist/ux-usability.d.ts +14 -17
  155. package/dist/ux-usability.js +15 -586
  156. package/dist/ux-usability.js.map +1 -1
  157. package/dist/verify-fix-api.js +2 -0
  158. package/dist/verify-fix-api.js.map +1 -1
  159. 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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"}
@@ -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"}
@@ -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