@jevitate/cli 0.10.0 → 0.12.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 (141) 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/approved-demo.d.ts +86 -0
  5. package/dist/approved-demo.js +184 -0
  6. package/dist/approved-demo.js.map +1 -0
  7. package/dist/author-journey-cli.js +2 -1
  8. package/dist/author-journey-cli.js.map +1 -1
  9. package/dist/bin.js +16525 -13523
  10. package/dist/build-info.generated.js +2 -2
  11. package/dist/campaign-api.d.ts +15 -0
  12. package/dist/campaign-api.js +67 -6
  13. package/dist/campaign-api.js.map +1 -1
  14. package/dist/campaign-cli.js +7 -2
  15. package/dist/campaign-cli.js.map +1 -1
  16. package/dist/campaign-preflight.d.ts +76 -0
  17. package/dist/campaign-preflight.js +117 -0
  18. package/dist/campaign-preflight.js.map +1 -0
  19. package/dist/catalog-bundle-api.d.ts +15 -5
  20. package/dist/catalog-bundle-api.js +117 -14
  21. package/dist/catalog-bundle-api.js.map +1 -1
  22. package/dist/catalog-bundle-findings.d.ts +10 -0
  23. package/dist/catalog-bundle-findings.js +75 -1
  24. package/dist/catalog-bundle-findings.js.map +1 -1
  25. package/dist/catalog-bundle.d.ts +111 -7
  26. package/dist/catalog-bundle.js +208 -9
  27. package/dist/catalog-bundle.js.map +1 -1
  28. package/dist/catalog-cli.js +3 -2
  29. package/dist/catalog-cli.js.map +1 -1
  30. package/dist/check-api.js +20 -2
  31. package/dist/check-api.js.map +1 -1
  32. package/dist/check-cli.d.ts +2 -0
  33. package/dist/check-cli.js +25 -0
  34. package/dist/check-cli.js.map +1 -1
  35. package/dist/check-execute.d.ts +6 -0
  36. package/dist/check-execute.js +1 -0
  37. package/dist/check-execute.js.map +1 -1
  38. package/dist/check-types.d.ts +7 -0
  39. package/dist/check-types.js.map +1 -1
  40. package/dist/cli-output.js +15 -1
  41. package/dist/cli-output.js.map +1 -1
  42. package/dist/cold-start-report.d.ts +32 -0
  43. package/dist/cold-start-report.js +31 -0
  44. package/dist/cold-start-report.js.map +1 -0
  45. package/dist/defect-evidence.js +10 -5
  46. package/dist/defect-evidence.js.map +1 -1
  47. package/dist/demo-aspect-api.d.ts +11 -0
  48. package/dist/demo-aspect-api.js +27 -2
  49. package/dist/demo-aspect-api.js.map +1 -1
  50. package/dist/demo-aspect-cli.js +7 -1
  51. package/dist/demo-aspect-cli.js.map +1 -1
  52. package/dist/demo-capture.d.ts +79 -2
  53. package/dist/demo-capture.js +504 -12
  54. package/dist/demo-capture.js.map +1 -1
  55. package/dist/environments.d.ts +8 -1
  56. package/dist/environments.js +14 -3
  57. package/dist/environments.js.map +1 -1
  58. package/dist/exit-codes.js +1 -0
  59. package/dist/exit-codes.js.map +1 -1
  60. package/dist/explore-adversarial.js +2 -2
  61. package/dist/explore-adversarial.js.map +1 -1
  62. package/dist/explore-cli.js +3 -2
  63. package/dist/explore-cli.js.map +1 -1
  64. package/dist/explore-goal.js +4 -3
  65. package/dist/explore-goal.js.map +1 -1
  66. package/dist/explore-shared.d.ts +11 -0
  67. package/dist/explore-shared.js +9 -0
  68. package/dist/explore-shared.js.map +1 -1
  69. package/dist/findings-filing.js +7 -3
  70. package/dist/findings-filing.js.map +1 -1
  71. package/dist/github-issue-filer.js +15 -9
  72. package/dist/github-issue-filer.js.map +1 -1
  73. package/dist/journeeze-api.d.ts +8 -2
  74. package/dist/journeeze-api.js +105 -19
  75. package/dist/journeeze-api.js.map +1 -1
  76. package/dist/journey-anchor-api.d.ts +37 -0
  77. package/dist/journey-anchor-api.js +58 -0
  78. package/dist/journey-anchor-api.js.map +1 -0
  79. package/dist/journey-anchor-cli.d.ts +17 -0
  80. package/dist/journey-anchor-cli.js +104 -0
  81. package/dist/journey-anchor-cli.js.map +1 -0
  82. package/dist/journey-api.d.ts +38 -1
  83. package/dist/journey-api.js +107 -10
  84. package/dist/journey-api.js.map +1 -1
  85. package/dist/journey-cli.d.ts +0 -1
  86. package/dist/journey-cli.js +124 -22
  87. package/dist/journey-cli.js.map +1 -1
  88. package/dist/journey-demo-api.d.ts +29 -0
  89. package/dist/journey-demo-api.js +29 -7
  90. package/dist/journey-demo-api.js.map +1 -1
  91. package/dist/journey-labels-migrate-api.d.ts +100 -0
  92. package/dist/journey-labels-migrate-api.js +194 -0
  93. package/dist/journey-labels-migrate-api.js.map +1 -0
  94. package/dist/journey-lint-sarif.js +6 -0
  95. package/dist/journey-lint-sarif.js.map +1 -1
  96. package/dist/journey-network-checks.d.ts +11 -0
  97. package/dist/journey-network-checks.js +36 -13
  98. package/dist/journey-network-checks.js.map +1 -1
  99. package/dist/journey-review.d.ts +12 -2
  100. package/dist/journey-review.js +522 -108
  101. package/dist/journey-review.js.map +1 -1
  102. package/dist/load-api.js +4 -2
  103. package/dist/load-api.js.map +1 -1
  104. package/dist/mcp-api.d.ts +3 -1
  105. package/dist/mcp-api.js +21 -2
  106. package/dist/mcp-api.js.map +1 -1
  107. package/dist/mcp-cli-tools.d.ts +1 -0
  108. package/dist/mcp-cli-tools.js +32 -9
  109. package/dist/mcp-cli-tools.js.map +1 -1
  110. package/dist/openrouter-call.d.ts +23 -10
  111. package/dist/openrouter-call.js +14 -11
  112. package/dist/openrouter-call.js.map +1 -1
  113. package/dist/png-pixels.d.ts +12 -0
  114. package/dist/png-pixels.js +96 -0
  115. package/dist/png-pixels.js.map +1 -0
  116. package/dist/regression-api.js +8 -5
  117. package/dist/regression-api.js.map +1 -1
  118. package/dist/review-render-options.d.ts +17 -0
  119. package/dist/review-render-options.js +17 -0
  120. package/dist/review-render-options.js.map +1 -0
  121. package/dist/server-log-verify.js +2 -1
  122. package/dist/server-log-verify.js.map +1 -1
  123. package/dist/signal-triage.js +7 -3
  124. package/dist/signal-triage.js.map +1 -1
  125. package/dist/source-run-api.js +2 -2
  126. package/dist/source-run-api.js.map +1 -1
  127. package/dist/ux-usability.js +5 -2
  128. package/dist/ux-usability.js.map +1 -1
  129. package/dist/verify-fix-api.d.ts +29 -0
  130. package/dist/verify-fix-api.js +45 -2
  131. package/dist/verify-fix-api.js.map +1 -1
  132. package/dist/verify-fix-cli.js +4 -0
  133. package/dist/verify-fix-cli.js.map +1 -1
  134. package/dist/zip-store.d.ts +15 -0
  135. package/dist/zip-store.js +93 -0
  136. package/dist/zip-store.js.map +1 -0
  137. package/package.json +14 -14
  138. package/skills/jevitate-demo/SKILL.md +4 -1
  139. package/skills/jevitate-run-journey/SKILL.md +4 -0
  140. package/skills/jevitate-test-campaign/SKILL.md +13 -0
  141. package/skills/jevitate-verify-fix/SKILL.md +5 -0
@@ -5,6 +5,6 @@
5
5
  // this plain `tsc --build` dist (no bundler substitution), so it needs real committed values
6
6
  // here instead. See ./engine.ts, which prefers the esbuild-injected value when present and
7
7
  // falls back to these.
8
- export const GENERATED_COMMIT = "73527e1";
9
- export const GENERATED_BUILT_AT = "2026-10-09T20:27:14.551Z";
8
+ export const GENERATED_COMMIT = "444f0b4";
9
+ export const GENERATED_BUILT_AT = "2026-10-11T18:38:57.929Z";
10
10
  //# sourceMappingURL=build-info.generated.js.map
@@ -1,3 +1,4 @@
1
+ import { type SlownessReport } from "./cold-start-report.js";
1
2
  import type { Command } from "commander";
2
3
  import { type JourneyBranchPoint } from "@jevitate/journey";
3
4
  import { type MissionOutcome } from "@jevitate/domain";
@@ -5,6 +6,7 @@ import type { ConsolidatedDefect } from "@jevitate/findings";
5
6
  import type { AnchoredStrategy } from "./journey-prefix.js";
6
7
  import { type MissionFixtures } from "./mission-fixtures.js";
7
8
  import { type RunSummary } from "./report-api.js";
9
+ import { type CampaignPreflight, type CampaignPreflightDeps } from "./campaign-preflight.js";
8
10
  /**
9
11
  * #293 — `jevitate campaign run <spec.json>`: many journey-anchored missions, run in order, read as
10
12
  * ONE deduped report.
@@ -43,6 +45,10 @@ export interface CampaignJobPlan {
43
45
  readonly journey: string;
44
46
  readonly params: Readonly<Record<string, string>>;
45
47
  readonly storageState?: string;
48
+ /** #485: the Journey's first page on the campaign's environment (the preflight's reachability and signed-in checks). */
49
+ readonly startUrl?: string;
50
+ /** #485: the origins this job's runs may reach (the environment's allow list, else the Journey's site). */
51
+ readonly allowlist?: readonly string[];
46
52
  readonly anchors: readonly CampaignAnchor[];
47
53
  readonly strategies: readonly AnchoredStrategy[];
48
54
  readonly goal?: string;
@@ -117,7 +123,11 @@ export interface CampaignResult {
117
123
  readonly outDir: string;
118
124
  readonly startedAt: string;
119
125
  readonly finishedAt: string;
126
+ /** #485: the campaign's preflight (`campaign run`; absent for an `explore --at-step` sweep). */
127
+ readonly preflight?: CampaignPreflight;
120
128
  readonly discovery: readonly CampaignDiscovery[];
129
+ /** #486: advisory slowness of the discovery replays (a Journey shared by several jobs is replayed once per job). */
130
+ readonly slowness?: SlownessReport;
121
131
  readonly missions: readonly CampaignMission[];
122
132
  /** One deduped defect list across every mission (`@jevitate/findings`), each with its branch points. */
123
133
  readonly report: {
@@ -148,6 +158,11 @@ export interface RunCampaignOptions {
148
158
  readonly nowIso?: () => string;
149
159
  /** More `explore` flags every mission is run with (an `explore --at-step all` sweep forwards its own). */
150
160
  readonly missionArgs?: readonly string[];
161
+ /**
162
+ * #485: run the preflight with these seams before any mission (`campaign run`), or `"skip"`
163
+ * (`--skip-preflight`: recorded as skipped). Absent: no preflight (an `explore --at-step` sweep).
164
+ */
165
+ readonly preflight?: CampaignPreflightDeps | "skip";
151
166
  }
152
167
  /** Runs a validated campaign: discovery, then every anchored mission in order with state restore, then one report. */
153
168
  export declare function runCampaign(plan: CampaignPlan, opts: RunCampaignOptions): Promise<CampaignResult>;
@@ -1,4 +1,5 @@
1
1
  import { existsSync, readFileSync } from "node:fs";
2
+ import { reportSlowness } from "./cold-start-report.js";
2
3
  import { mkdir, writeFile } from "node:fs/promises";
3
4
  import { homedir } from "node:os";
4
5
  import { dirname, isAbsolute, join, resolve } from "node:path";
@@ -13,6 +14,7 @@ import { buildReport, loadRunFile } from "./report-api.js";
13
14
  import { exitCodeForOutcome } from "./exit-codes.js";
14
15
  import { artifactStamp } from "./mission-journal.js";
15
16
  import { logsDirFor } from "./project-dir.js";
17
+ import { allowOriginProblems, checkCampaignTargets, CampaignPreflightError, preflightOf, } from "./campaign-preflight.js";
16
18
  /**
17
19
  * #293 — `jevitate campaign run <spec.json>`: many journey-anchored missions, run in order, read as
18
20
  * ONE deduped report.
@@ -210,6 +212,8 @@ export async function validateCampaignSpec(raw, specPath, opts) {
210
212
  journey: job.journey,
211
213
  params: job.params ?? {},
212
214
  ...(session === undefined ? {} : { storageState: session }),
215
+ startUrl: journeyStartUrl(full.recording),
216
+ allowlist: environment === undefined ? [new URL(full.recording.site).origin] : [...environment.allowedOrigins],
213
217
  anchors,
214
218
  strategies: job.strategies,
215
219
  ...(job.goal === undefined ? {} : { goal: job.goal }),
@@ -236,6 +240,15 @@ export async function validateCampaignSpec(raw, specPath, opts) {
236
240
  jobs,
237
241
  };
238
242
  }
243
+ /** A Journey's first page, resolved against its site (#485 preflight). */
244
+ function journeyStartUrl(recording) {
245
+ try {
246
+ return new URL(recording.pages[0]?.url ?? "/", recording.site).href;
247
+ }
248
+ catch {
249
+ return recording.site;
250
+ }
251
+ }
239
252
  async function runChild(newProgram, argv) {
240
253
  const lines = [];
241
254
  const child = newProgram();
@@ -285,6 +298,7 @@ export async function runCampaign(plan, opts) {
285
298
  await mkdir(outDir, { recursive: true });
286
299
  const ai = opts.real === true ? ["--real"] : opts.fakeAi === true ? ["--fake-ai"] : [];
287
300
  const discovery = [];
301
+ const replaySlowness = [];
288
302
  const missions = [];
289
303
  /** Runs `body` between the job's fixture setup and restore (a failed setup still restores). */
290
304
  const restored = async (job, body, onSetupFailed) => {
@@ -307,23 +321,67 @@ export async function runCampaign(plan, opts) {
307
321
  await fx.restore();
308
322
  }
309
323
  };
310
- for (const job of plan.jobs) {
324
+ // #485: the preflight's reachability and signed-in checks, before any browser run.
325
+ const preflightProblems = [];
326
+ /** Jobs whose start URL is down or whose session is signed out: their discovery would only mislead. */
327
+ let blocked = new Set();
328
+ const preflightJobs = plan.jobs.map((job) => ({
329
+ id: job.id,
330
+ journey: job.journey,
331
+ startUrl: job.startUrl ?? "",
332
+ allowlist: job.allowlist ?? [],
333
+ ...(job.storageState === undefined ? {} : { storageState: job.storageState }),
334
+ }));
335
+ if (opts.preflight !== undefined && opts.preflight !== "skip") {
336
+ const targets = await checkCampaignTargets(preflightJobs.filter((j) => j.startUrl !== ""), opts.preflight);
337
+ preflightProblems.push(...targets.problems);
338
+ blocked = new Set(targets.problems.map((p) => p.job));
339
+ }
340
+ // Discovery first, for every job (#485: its writes are the preflight's allow-list evidence).
341
+ const staleOf = new Map();
342
+ for (const [index, job] of plan.jobs.entries()) {
311
343
  const shared = commonArgs(plan, job);
312
- let stale;
313
- if (plan.discovery) {
344
+ if (plan.discovery && !blocked.has(job.id)) {
314
345
  const d = await restored(job, async () => {
315
346
  const r = await runChild(opts.newProgram, ["journey", "run", job.journey, "--dir", opts.journeysDir, ...shared, "--json"]);
316
347
  if (!r.ok)
317
348
  return { job: job.id, journeyId: job.journey, outcome: "error", reason: `${r.error?.code}: ${r.error?.message}` };
318
349
  const outcome = r.data?.outcome;
350
+ const writes = Array.isArray(r.data?.offAllowlistWrites) ? r.data.offAllowlistWrites.filter((o) => typeof o === "string") : [];
351
+ if (opts.preflight !== undefined && opts.preflight !== "skip")
352
+ preflightProblems.push(...allowOriginProblems(preflightJobs[index], writes));
353
+ replaySlowness.push({ journey: job.journey, slowSteps: Array.isArray(r.data?.slowSteps) ? r.data.slowSteps : [] });
319
354
  if (outcome === "ok")
320
355
  return { job: job.id, journeyId: job.journey, outcome: "ok" };
321
356
  return { job: job.id, journeyId: job.journey, outcome: "stale", reason: typeof r.data?.reason === "string" ? r.data.reason : `the replay ended ${String(outcome)}` };
322
357
  }, (message) => ({ job: job.id, journeyId: job.journey, outcome: "error", reason: `fixture setup failed: ${message}` }));
323
358
  discovery.push(d);
324
359
  if (d.outcome !== "ok")
325
- stale = d.reason ?? d.outcome;
360
+ staleOf.set(job.id, d.reason ?? d.outcome);
326
361
  }
362
+ }
363
+ const preflight = opts.preflight === undefined ? undefined : opts.preflight === "skip" ? { ok: true, problems: [], skipped: true } : preflightOf(preflightProblems);
364
+ const resultPath = join(outDir, "campaign.json");
365
+ const reportPath = join(outDir, "campaign.md");
366
+ if (preflight !== undefined && !preflight.ok) {
367
+ // Refused before any mission: the result names every problem (and what discovery saw).
368
+ const refused = {
369
+ ...(plan.name === undefined ? {} : { name: plan.name }),
370
+ specPath: plan.specPath,
371
+ outDir,
372
+ startedAt,
373
+ finishedAt: now(),
374
+ preflight,
375
+ discovery,
376
+ missions: [],
377
+ resultPath,
378
+ };
379
+ await writeFile(resultPath, `${JSON.stringify(refused, null, 2)}\n`, "utf8");
380
+ throw new CampaignPreflightError(preflight.problems, resultPath);
381
+ }
382
+ for (const job of plan.jobs) {
383
+ const shared = commonArgs(plan, job);
384
+ const stale = staleOf.get(job.id);
327
385
  for (const anchor of job.anchors) {
328
386
  for (const strategy of job.strategies) {
329
387
  if (stale !== undefined) {
@@ -403,16 +461,18 @@ export async function runCampaign(plan, opts) {
403
461
  });
404
462
  const report = await buildReport({ runs, missionTargetsDir: opts.missionTargetsDir });
405
463
  const missionOutcome = combineOutcomes(missions.map((m) => m.missionOutcome));
464
+ const slowReport = reportSlowness(replaySlowness);
465
+ const slowness = slowReport.coldStarts.length + slowReport.slowSteps.length === 0 ? undefined : slowReport;
406
466
  const finishedAt = now();
407
- const resultPath = join(outDir, "campaign.json");
408
- const reportPath = join(outDir, "campaign.md");
409
467
  const result = {
410
468
  ...(plan.name === undefined ? {} : { name: plan.name }),
411
469
  specPath: plan.specPath,
412
470
  outDir,
413
471
  startedAt,
414
472
  finishedAt,
473
+ ...(preflight === undefined ? {} : { preflight }),
415
474
  discovery,
475
+ ...(slowness === undefined ? {} : { slowness }),
416
476
  missions,
417
477
  report: { defects: report.defects, summary: report.summary, runs: report.runs },
418
478
  resultPath,
@@ -431,6 +491,7 @@ function campaignMarkdown(r, reportMarkdown) {
431
491
  "",
432
492
  `${r.missions.length} anchored mission(s) · outcome ${r.missionOutcome} (exit ${r.exitCode}) · ${r.report.summary.defects} deduped defect(s), ${r.report.summary.advisory} advisory.`,
433
493
  "",
494
+ ...(r.preflight === undefined ? [] : ["## Preflight", "", r.preflight.skipped === true ? "Skipped (--skip-preflight)." : "Passed: every start URL reachable, every session signed in, no allow-list mismatch.", ""]),
434
495
  "## Discovery",
435
496
  "",
436
497
  ...(r.discovery.length === 0 ? ["Skipped (discovery: false)."] : ["| job | journey | outcome | reason |", "| --- | --- | --- | --- |", ...r.discovery.map((d) => `| ${d.job} | ${d.journeyId} | ${d.outcome} | ${(d.reason ?? "").replace(/\|/g, "\\|")} |`)]),
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-api.js","sourceRoot":"","sources":["../src/campaign-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"campaign-api.js","sourceRoot":"","sources":["../src/campaign-api.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,9 @@ import { CampaignSpecError, runCampaign, validateCampaign } from "./campaign-api
6
6
  import { emitCommandResult, environmentSeams, resolveJourneysDir, resolveMissionTargetsDir, withScreenshotsFlag } from "./cli-shared.js";
7
7
  import { nonNegativeIntArg, positiveIntArg } from "./cli-args.js";
8
8
  import { forwardedArgv } from "./multi-run-cli.js";
9
+ import { CampaignPreflightError, defaultPreflightDeps } from "./campaign-preflight.js";
9
10
  /** `campaign run`'s own options: everything else it declares is forwarded to every mission (#311). */
10
- const CAMPAIGN_OWNED = new Set(["journeysDir", "out", "allowShellHooks", "hookTimeoutMs", "real", "fakeAi", "json"]);
11
+ const CAMPAIGN_OWNED = new Set(["journeysDir", "out", "allowShellHooks", "hookTimeoutMs", "real", "fakeAi", "json", "skipPreflight"]);
11
12
  const collect = (v, prev) => [...prev, v];
12
13
  /** The flags every anchored mission of this `campaign run` is re-invoked with (#311). */
13
14
  export function campaignMissionArgv(cmd) {
@@ -50,6 +51,7 @@ export function formatCampaignHuman(data) {
50
51
  const r = data;
51
52
  const lines = [
52
53
  `CAMPAIGN ${r.name ?? ""}`.trimEnd(),
54
+ ...(r.preflight === undefined ? [] : [`preflight ${r.preflight.skipped === true ? "skipped (--skip-preflight)" : r.preflight.ok ? "ok" : `${r.preflight.problems.length} problem(s)`}`]),
53
55
  `outcome ${r.missionOutcome} (exit ${r.exitCode}) · ${r.missions.length} mission(s) · ${r.report.summary.defects} deduped defect(s), ${r.report.summary.advisory} advisory`,
54
56
  ...r.discovery.filter((d) => d.outcome !== "ok").map((d) => `STALE job ${d.job}: journey ${d.journeyId} — ${d.reason ?? d.outcome} (its missions were skipped)`),
55
57
  ...r.missions.map((m) => `${m.status === "ran" ? "RAN" : m.status.toUpperCase()}`.padEnd(9) +
@@ -72,6 +74,7 @@ export function registerCampaignCommands(program, deps, buildProgram) {
72
74
  .option("--out <dir>", "the campaign's directory: every mission's results, campaign.json and campaign.md (default .jevitate/logs/<date>/campaign-<stamp>)")
73
75
  .option("--allow-shell-hooks", "opt in to running the spec's before/after operator hooks around every run (never model-chosen)", false)
74
76
  .option("--hook-timeout-ms <ms>", "timeout for each of the spec's before/after hooks (default 60000; the process group is killed)", positiveIntArg)
77
+ .option("--skip-preflight", "do not check the campaign's preconditions first (start URLs reachable, sessions signed in, no allow-list origin mismatch in discovery) — by default a failed check refuses the campaign (exit 64) before any mission", false)
75
78
  .option("--real", "use live Jev + OpenRouter gateways for the missions (requires keys)", false)
76
79
  .option("--fake-ai", "use deterministic fake gateways (pipeline smoke only)", false)
77
80
  .option("--jev-provider <provider>", JEV_PROVIDER_FLAG_HELP, jevProviderArg)
@@ -100,11 +103,13 @@ export function registerCampaignCommands(program, deps, buildProgram) {
100
103
  ...(o.real === true ? { real: true } : {}),
101
104
  ...(o.fakeAi === true ? { fakeAi: true } : {}),
102
105
  missionArgs: campaignMissionArgv(this),
106
+ // #485: the preflight's checks open the same browser port the missions use.
107
+ preflight: o.skipPreflight === true ? "skip" : defaultPreflightDeps(deps.explore?.browserPortFactory),
103
108
  });
104
109
  emit(ok(withEngine(result)), result.exitCode);
105
110
  }
106
111
  catch (err) {
107
- if (err instanceof CampaignSpecError)
112
+ if (err instanceof CampaignSpecError || err instanceof CampaignPreflightError)
108
113
  emit(fail(err.code, err.message));
109
114
  else
110
115
  emit(fail("E_CAMPAIGN_RUN", String(err instanceof Error ? err.message : err)));
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-cli.js","sourceRoot":"","sources":["../src/campaign-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"campaign-cli.js","sourceRoot":"","sources":["../src/campaign-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { type BrowserPort } from "@jevitate/playwright";
2
+ import { type SessionCheck } from "./persona-login.js";
3
+ /**
4
+ * #485 — `campaign run`'s preflight: the campaign's own preconditions, checked before ANY anchored
5
+ * mission starts, so a misconfiguration costs one refusal instead of a whole campaign:
6
+ *
7
+ * 1. reachability — each job's start URL answers a connect (no environment declares a health check);
8
+ * 2. auth — each job's `storageState` is still signed in: the Journey's start page does not land on
9
+ * a sign-in route or form (the same code check as `explore`'s #427 pre-flight). The storage
10
+ * state's contents are never read into a message — only its file name;
11
+ * 3. allow list — the discovery replay of each job's Journey sent no write to a loopback origin the
12
+ * environment's allow list misspells (`localhost` vs `127.0.0.1`) or leaves out (#484 detector):
13
+ * every mission's write there would be blocked. The problem names the exact origin to add.
14
+ *
15
+ * Every problem is collected (never just the first); the campaign refuses with all of them (exit 64).
16
+ */
17
+ export type PreflightCheck = "reachability" | "auth" | "allow-origin";
18
+ export interface PreflightProblem {
19
+ readonly check: PreflightCheck;
20
+ readonly job: string;
21
+ /** One line, naming what is wrong and the fix. */
22
+ readonly message: string;
23
+ /** `allow-origin`: the exact origin to add to the environment's allow list. */
24
+ readonly origin?: string;
25
+ }
26
+ export interface CampaignPreflight {
27
+ readonly ok: boolean;
28
+ readonly problems: readonly PreflightProblem[];
29
+ /** `--skip-preflight`: nothing was checked. */
30
+ readonly skipped?: true;
31
+ }
32
+ /** What the preflight needs of one campaign job. */
33
+ export interface PreflightJob {
34
+ readonly id: string;
35
+ readonly journey: string;
36
+ /** The Journey's first page on the campaign's environment. */
37
+ readonly startUrl: string;
38
+ /** The origins the job's runs may reach (the environment's, else the Journey's site). */
39
+ readonly allowlist: readonly string[];
40
+ readonly storageState?: string;
41
+ }
42
+ /** The checks' seams: the connect probe and the signed-in check (both open no real network in tests). */
43
+ export interface CampaignPreflightDeps {
44
+ /** A reason when `url` is definitely unreachable, else null (default: `probeReachable`, a TCP connect). */
45
+ readonly probe?: (url: string) => Promise<string | null>;
46
+ /** The signed-in verdict of `storageState` on `url` (default: `explore`'s #427 auto check in a browser). */
47
+ readonly checkSession: (o: {
48
+ readonly storageState: string;
49
+ readonly url: string;
50
+ readonly allowlist: readonly string[];
51
+ }) => Promise<SessionCheck>;
52
+ }
53
+ /** The default seams: a TCP probe and the #427 browser check (an expired session is reported, never re-minted — a campaign names no persona login). */
54
+ export declare function defaultPreflightDeps(portFactory?: () => BrowserPort): CampaignPreflightDeps;
55
+ /**
56
+ * Checks 1 and 2 for every job: each distinct start origin is probed once, each reachable job's
57
+ * session checked once per (state file, start URL). Returns every problem.
58
+ */
59
+ export declare function checkCampaignTargets(jobs: readonly PreflightJob[], deps: CampaignPreflightDeps): Promise<{
60
+ problems: PreflightProblem[];
61
+ }>;
62
+ /**
63
+ * Check 3 for one job: the off-allow-list origins its discovery replay wrote to, through the #484
64
+ * detector. Only a loopback slip is a problem (a third-party beacon is not the app's); each names
65
+ * the exact origin to add.
66
+ */
67
+ export declare function allowOriginProblems(job: PreflightJob, writeOrigins: readonly string[]): PreflightProblem[];
68
+ /** The preflight's verdict over every problem found. */
69
+ export declare function preflightOf(problems: readonly PreflightProblem[]): CampaignPreflight;
70
+ /** The campaign was refused by its preflight: every problem listed (exit 64, no mission ran). */
71
+ export declare class CampaignPreflightError extends Error {
72
+ readonly problems: readonly PreflightProblem[];
73
+ readonly resultPath: string;
74
+ readonly code: "E_CAMPAIGN_PREFLIGHT";
75
+ constructor(problems: readonly PreflightProblem[], resultPath: string);
76
+ }
@@ -0,0 +1,117 @@
1
+ import { basename } from "node:path";
2
+ import { redactUrl } from "@jevitate/ai-core";
3
+ import { findAllowOriginMismatches, normalizeAllowlist } from "@jevitate/explore";
4
+ import { PlaywrightBrowserPort, probeReachable } from "@jevitate/playwright";
5
+ import { ensurePersonaSession } from "./persona-login.js";
6
+ const SESSION_CHECK_TIMEOUT_MS = 30_000;
7
+ /** The default seams: a TCP probe and the #427 browser check (an expired session is reported, never re-minted — a campaign names no persona login). */
8
+ export function defaultPreflightDeps(portFactory = () => new PlaywrightBrowserPort()) {
9
+ return {
10
+ probe: (url) => probeReachable(url),
11
+ checkSession: async (o) => {
12
+ const r = await ensurePersonaSession({ ...o, check: { mode: "auto" }, port: portFactory(), env: {}, timeoutMs: SESSION_CHECK_TIMEOUT_MS });
13
+ return r.ok ? { ok: true } : { ok: false, reason: r.reason, landedUrl: r.landedUrl ?? "" };
14
+ },
15
+ };
16
+ }
17
+ /** A start URL whose path still holds a placeholder (`${setup.x}`, `{{param}}`) is checked at its origin's root. */
18
+ function checkableUrl(url) {
19
+ try {
20
+ const u = new URL(url);
21
+ return /\$\{|\{\{|%7B/i.test(u.pathname + u.search) ? `${u.origin}/` : u.href;
22
+ }
23
+ catch {
24
+ return url;
25
+ }
26
+ }
27
+ /**
28
+ * Checks 1 and 2 for every job: each distinct start origin is probed once, each reachable job's
29
+ * session checked once per (state file, start URL). Returns every problem.
30
+ */
31
+ export async function checkCampaignTargets(jobs, deps) {
32
+ const probe = deps.probe ?? ((url) => probeReachable(url));
33
+ const problems = [];
34
+ const probed = new Map();
35
+ const sessions = new Map();
36
+ for (const job of jobs) {
37
+ const url = checkableUrl(job.startUrl);
38
+ let origin = url;
39
+ try {
40
+ origin = new URL(url).origin;
41
+ }
42
+ catch {
43
+ // probed as given
44
+ }
45
+ // Guardrail #1: never probe (or open a browser on) an origin outside the job's own allow list.
46
+ if (!normalizeAllowlist(job.allowlist).includes(origin)) {
47
+ problems.push({
48
+ check: "allow-origin",
49
+ job: job.id,
50
+ origin,
51
+ message: `job ${job.id}: the start URL ${redactUrl(url)} is not on the job's allow list (${job.allowlist.join(", ")}) — not probed; add ${origin} to the environment's allow list or fix the Journey's site`,
52
+ });
53
+ continue;
54
+ }
55
+ if (!probed.has(origin))
56
+ probed.set(origin, await probe(url));
57
+ const down = probed.get(origin) ?? null;
58
+ if (down !== null) {
59
+ problems.push({ check: "reachability", job: job.id, message: `job ${job.id}: the start URL ${redactUrl(url)} is not reachable: ${down}` });
60
+ continue;
61
+ }
62
+ if (job.storageState === undefined)
63
+ continue;
64
+ const key = `${job.storageState}\n${url}`;
65
+ if (!sessions.has(key)) {
66
+ try {
67
+ sessions.set(key, await deps.checkSession({ storageState: job.storageState, url, allowlist: job.allowlist }));
68
+ }
69
+ catch (err) {
70
+ sessions.set(key, err instanceof Error ? err : new Error(String(err)));
71
+ }
72
+ }
73
+ const verdict = sessions.get(key);
74
+ if (verdict instanceof Error) {
75
+ problems.push({ check: "auth", job: job.id, message: `job ${job.id}: the signed-in check of ${basename(job.storageState)} could not run: ${verdict.message.split("\n")[0]}` });
76
+ }
77
+ else if (!verdict.ok) {
78
+ problems.push({
79
+ check: "auth",
80
+ job: job.id,
81
+ message: `job ${job.id}: ${verdict.reason} — every mission would start signed out; re-save it with \`jevitate login\` (or point the job's storageState at a live session)`,
82
+ });
83
+ }
84
+ }
85
+ return { problems };
86
+ }
87
+ /**
88
+ * Check 3 for one job: the off-allow-list origins its discovery replay wrote to, through the #484
89
+ * detector. Only a loopback slip is a problem (a third-party beacon is not the app's); each names
90
+ * the exact origin to add.
91
+ */
92
+ export function allowOriginProblems(job, writeOrigins) {
93
+ return findAllowOriginMismatches(writeOrigins, job.allowlist, { startUrl: job.startUrl }).map((m) => ({
94
+ check: "allow-origin",
95
+ job: job.id,
96
+ origin: m.blockedOrigin,
97
+ message: `job ${job.id}: the discovery replay of journey '${job.journey}' wrote to ${m.blockedOrigin}, which the allow list (${job.allowlist.join(", ")}) does not include — every mission's write there would be blocked; add ${m.blockedOrigin} to the environment's allow list${m.allowedOrigin === undefined ? "" : ` (${m.allowedOrigin} and ${m.blockedOrigin} are different origins to the browser)`}`,
98
+ }));
99
+ }
100
+ /** The preflight's verdict over every problem found. */
101
+ export function preflightOf(problems) {
102
+ return { ok: problems.length === 0, problems: [...problems] };
103
+ }
104
+ /** The campaign was refused by its preflight: every problem listed (exit 64, no mission ran). */
105
+ export class CampaignPreflightError extends Error {
106
+ problems;
107
+ resultPath;
108
+ code = "E_CAMPAIGN_PREFLIGHT";
109
+ constructor(problems, resultPath) {
110
+ super(`campaign preflight failed (${problems.length} problem${problems.length === 1 ? "" : "s"}) — no mission ran:\n${problems.map((p) => ` - ${p.message}`).join("\n")}\n` +
111
+ `(result: ${resultPath}; pass --skip-preflight to run anyway)`);
112
+ this.problems = problems;
113
+ this.resultPath = resultPath;
114
+ this.name = "CampaignPreflightError";
115
+ }
116
+ }
117
+ //# sourceMappingURL=campaign-preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign-preflight.js","sourceRoot":"","sources":["../src/campaign-preflight.ts"],"names":[],"mappings":"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"}