@jevitate/cli 0.17.0 → 0.18.1

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 (89) hide show
  1. package/dist/author-journey-cli.js +11 -8
  2. package/dist/author-journey-cli.js.map +1 -1
  3. package/dist/bin.js +2802 -1110
  4. package/dist/build-info.generated.js +3 -3
  5. package/dist/catalog-api.d.ts +22 -0
  6. package/dist/catalog-api.js +49 -0
  7. package/dist/catalog-api.js.map +1 -1
  8. package/dist/catalog-cli.js +59 -37
  9. package/dist/catalog-cli.js.map +1 -1
  10. package/dist/cli-shared.d.ts +6 -1
  11. package/dist/cli-shared.js +11 -2
  12. package/dist/cli-shared.js.map +1 -1
  13. package/dist/exit-codes.js +8 -0
  14. package/dist/exit-codes.js.map +1 -1
  15. package/dist/journeeze-api.d.ts +5 -0
  16. package/dist/journeeze-api.js +24 -9
  17. package/dist/journeeze-api.js.map +1 -1
  18. package/dist/journeeze-connect.d.ts +2 -0
  19. package/dist/journeeze-connect.js +9 -1
  20. package/dist/journeeze-connect.js.map +1 -1
  21. package/dist/journey-anchor-cli.js +16 -8
  22. package/dist/journey-anchor-cli.js.map +1 -1
  23. package/dist/journey-annotate-cli.js +10 -5
  24. package/dist/journey-annotate-cli.js.map +1 -1
  25. package/dist/journey-api.d.ts +2 -0
  26. package/dist/journey-api.js +14 -0
  27. package/dist/journey-api.js.map +1 -1
  28. package/dist/journey-bundle.d.ts +83 -0
  29. package/dist/journey-bundle.js +267 -0
  30. package/dist/journey-bundle.js.map +1 -0
  31. package/dist/journey-chain.d.ts +14 -1
  32. package/dist/journey-chain.js +139 -8
  33. package/dist/journey-chain.js.map +1 -1
  34. package/dist/journey-cli/anchors.js +11 -6
  35. package/dist/journey-cli/anchors.js.map +1 -1
  36. package/dist/journey-cli/chain.js +12 -5
  37. package/dist/journey-cli/chain.js.map +1 -1
  38. package/dist/journey-cli/find.js +10 -5
  39. package/dist/journey-cli/find.js.map +1 -1
  40. package/dist/journey-cli/lint.js +14 -10
  41. package/dist/journey-cli/lint.js.map +1 -1
  42. package/dist/journey-cli/list.js +10 -5
  43. package/dist/journey-cli/list.js.map +1 -1
  44. package/dist/journey-cli/migrate.js +13 -6
  45. package/dist/journey-cli/migrate.js.map +1 -1
  46. package/dist/journey-cli/promote.js +14 -9
  47. package/dist/journey-cli/promote.js.map +1 -1
  48. package/dist/journey-cli/publish.js +12 -6
  49. package/dist/journey-cli/publish.js.map +1 -1
  50. package/dist/journey-cli/review.js +15 -9
  51. package/dist/journey-cli/review.js.map +1 -1
  52. package/dist/journey-cli/run.js +25 -10
  53. package/dist/journey-cli/run.js.map +1 -1
  54. package/dist/journey-cli/shared.d.ts +25 -1
  55. package/dist/journey-cli/shared.js +36 -0
  56. package/dist/journey-cli/shared.js.map +1 -1
  57. package/dist/journey-cli/verify.js +13 -6
  58. package/dist/journey-cli/verify.js.map +1 -1
  59. package/dist/journey-cli-bundle.d.ts +4 -0
  60. package/dist/journey-cli-bundle.js +70 -0
  61. package/dist/journey-cli-bundle.js.map +1 -0
  62. package/dist/journey-cli-readiness.d.ts +4 -0
  63. package/dist/journey-cli-readiness.js +163 -0
  64. package/dist/journey-cli-readiness.js.map +1 -0
  65. package/dist/journey-cli.js +5 -0
  66. package/dist/journey-cli.js.map +1 -1
  67. package/dist/journey-demo-cli.js +10 -5
  68. package/dist/journey-demo-cli.js.map +1 -1
  69. package/dist/journey-handback.d.ts +62 -0
  70. package/dist/journey-handback.js +152 -0
  71. package/dist/journey-handback.js.map +1 -0
  72. package/dist/journey-link-api.js +1 -1
  73. package/dist/journey-link-api.js.map +1 -1
  74. package/dist/journey-link-cli.js +13 -8
  75. package/dist/journey-link-cli.js.map +1 -1
  76. package/dist/journey-readiness.d.ts +104 -0
  77. package/dist/journey-readiness.js +381 -0
  78. package/dist/journey-readiness.js.map +1 -0
  79. package/dist/mcp-cli-tools.js +57 -21
  80. package/dist/mcp-cli-tools.js.map +1 -1
  81. package/dist/program.js +3 -0
  82. package/dist/program.js.map +1 -1
  83. package/dist/project-layout.d.ts +57 -0
  84. package/dist/project-layout.js +144 -0
  85. package/dist/project-layout.js.map +1 -0
  86. package/dist/project-where.d.ts +4 -0
  87. package/dist/project-where.js +48 -0
  88. package/dist/project-where.js.map +1 -0
  89. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/journey-cli/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/journey-cli/verify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from "commander";
2
+ import { type CliDeps } from "./cli-shared.js";
3
+ /** Registers `jevitate journey bundle` (not wired into `journey-cli.ts` by this deliverable). */
4
+ export declare function registerJourneyBundle(journey: Command, program: Command, deps: CliDeps): void;
@@ -0,0 +1,70 @@
1
+ import { resolveCatalogDir } from "./catalog-api.js";
2
+ import { emitCommandResult } from "./cli-shared.js";
3
+ import { fail, ok } from "./envelope.js";
4
+ import { EXIT_CODES } from "./exit-codes.js";
5
+ import { flaggedCatalogDir, journeyLayout, targetsOpts } from "./journey-cli/shared.js";
6
+ import { BundleStaleError, buildJourneyBundle, checkJourneyBundle } from "./journey-bundle.js";
7
+ import { withProjectFlags } from "./project-layout.js";
8
+ /**
9
+ * #584 — `jevitate journey bundle <id> [--with <toId>] --out <dir>` and
10
+ * `jevitate journey bundle --check <dir>` (docs/contracts/readiness-and-bundle.md §4). A local,
11
+ * never-uploaded review bundle; `--check` re-derives every hash and exits 1 with `E_BUNDLE_STALE`
12
+ * naming what changed. Only prints human-only commands — it never approves, promotes or sends.
13
+ */
14
+ /** The build's exit code follows the readiness verdict (§3): ready 0, blocked 1, otherwise 2. */
15
+ function verdictExitCode(verdict) {
16
+ if (verdict === "technically-ready")
17
+ return EXIT_CODES.ok;
18
+ if (verdict === "blocked")
19
+ return EXIT_CODES.defects;
20
+ return EXIT_CODES.inconclusive;
21
+ }
22
+ /** Registers `jevitate journey bundle` (not wired into `journey-cli.ts` by this deliverable). */
23
+ export function registerJourneyBundle(journey, program, deps) {
24
+ withProjectFlags(journey.command("bundle [id]"))
25
+ .description("write a local review bundle (bundle.md + manifest.json) for a Journey (or a linked pair), or check one with --check <dir>")
26
+ .option("--with <toId>", "a linked pair: <id> produces, <toId> consumes")
27
+ .option("--out <dir>", "the directory to write bundle.md and manifest.json into (required unless --check)")
28
+ .option("--check <dir>", "re-derive a bundle's hashes and fail closed with E_BUNDLE_STALE when any moved")
29
+ .option("--json", "emit a JSON envelope")
30
+ .action(async function (id) {
31
+ const locationFlags = this.opts();
32
+ const layout = journeyLayout(program, deps, { dir: locationFlags.dir, project: locationFlags.project, journeysDir: locationFlags.journeysDir });
33
+ if (layout === null)
34
+ return;
35
+ const { with: withId, out, check, json } = this.opts();
36
+ const catalogDir = resolveCatalogDir(deps.catalogDir, flaggedCatalogDir(layout));
37
+ const location = { journeysDir: layout.journeysDir, catalogDir, ...targetsOpts(deps) };
38
+ const bundleDeps = { cwd: () => process.cwd() };
39
+ if (check !== undefined) {
40
+ try {
41
+ const result = await checkJourneyBundle(check, location, bundleDeps);
42
+ emitCommandResult(program, ok(result), { json: json === true, command: "journey bundle", human: () => `bundle is current: ${check}\n` });
43
+ }
44
+ catch (err) {
45
+ if (err instanceof BundleStaleError) {
46
+ emitCommandResult(program, fail(err.code, err.message), { json: json === true, exitCode: EXIT_CODES.defects, command: "journey bundle" });
47
+ return;
48
+ }
49
+ emitCommandResult(program, fail("E_BUNDLE", err instanceof Error ? err.message : String(err)), { json: json === true, exitCode: EXIT_CODES.usage, command: "journey bundle" });
50
+ }
51
+ return;
52
+ }
53
+ if (id === undefined || out === undefined) {
54
+ emitCommandResult(program, fail("E_BUNDLE_ARGS", "--out <dir> is required (or pass --check <dir> to check an existing bundle)"), { json: json === true, exitCode: EXIT_CODES.usage, command: "journey bundle" });
55
+ return;
56
+ }
57
+ try {
58
+ const result = await buildJourneyBundle({ id, ...(withId === undefined ? {} : { with: withId }), out, ...location }, bundleDeps);
59
+ emitCommandResult(program, ok(result), { json: json === true, exitCode: verdictExitCode(result.verdict), command: "journey bundle", human: (r) => `${r.verdict} — wrote ${r.files.join(", ")}\n` });
60
+ }
61
+ catch (err) {
62
+ if (err instanceof BundleStaleError) {
63
+ emitCommandResult(program, fail(err.code, err.message), { json: json === true, exitCode: EXIT_CODES.defects, command: "journey bundle" });
64
+ return;
65
+ }
66
+ emitCommandResult(program, fail("E_BUNDLE", err instanceof Error ? err.message : String(err)), { json: json === true, exitCode: EXIT_CODES.usage, command: "journey bundle" });
67
+ }
68
+ });
69
+ }
70
+ //# sourceMappingURL=journey-cli-bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journey-cli-bundle.js","sourceRoot":"","sources":["../src/journey-cli-bundle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from "commander";
2
+ import { type CliDeps } from "./cli-shared.js";
3
+ /** Registers `jevitate journey readiness` (not wired into `journey-cli.ts` by this deliverable). */
4
+ export declare function registerJourneyReadiness(journey: Command, program: Command, deps: CliDeps): void;
@@ -0,0 +1,163 @@
1
+ import { existsSync, readFileSync } from "node:fs";
2
+ import { fail, ok } from "./envelope.js";
3
+ import { browserRunFromFlags, collectParam, emitCommandResult, withBrowserLaunchFlags } from "./cli-shared.js";
4
+ import { isEnvironmentError, withEnvironmentFlags, fixtureRebaseUrl } from "./environments.js";
5
+ import { buildMissionFixtures, withFixtureFlags } from "./fixture-cli.js";
6
+ import { withRecordedFixtures } from "./journey-fixtures.js";
7
+ import { FixtureSpecError } from "./mission-fixtures.js";
8
+ import { resolveCatalogDir } from "./catalog-api.js";
9
+ import { withProjectFlags } from "./project-layout.js";
10
+ import { UnknownJourneyError } from "./journey-api.js";
11
+ import { ReadinessError, runJourneyReadiness } from "./journey-readiness.js";
12
+ import { EXIT_CODES } from "./exit-codes.js";
13
+ import { flaggedCatalogDir, journeyLayout } from "./journey-cli/shared.js";
14
+ /**
15
+ * #581 — `jevitate journey readiness <id> [--with <toId>] --mode report|replay|prove`
16
+ * (docs/contracts/readiness-and-bundle.md §1). Reuses `journey-review-api` (the review sheet with
17
+ * `--strict`), `journey-readiness` (the code-computed verdict) and, in `replay`/`prove`,
18
+ * `journey run`/`chain`/`verify`. Refusals before any browser open exit 64 with `E_READINESS_*`.
19
+ */
20
+ /** The exit code a verdict carries: ready 0, blocked 1, otherwise 2 (docs/contracts/readiness-and-bundle.md §3). */
21
+ function readinessExitCode(verdict) {
22
+ if (verdict === "technically-ready")
23
+ return EXIT_CODES.ok;
24
+ if (verdict === "blocked")
25
+ return EXIT_CODES.defects;
26
+ return EXIT_CODES.inconclusive;
27
+ }
28
+ function readinessHuman(receipt) {
29
+ const lines = [`${receipt.verdict} — ${receipt.mode} mode`];
30
+ for (const check of receipt.checks) {
31
+ lines.push(` ${check.journey} ${check.check.padEnd(14)} ${check.state} ${check.detail}`);
32
+ }
33
+ for (const blocker of receipt.blockers)
34
+ lines.push(` blocker: ${blocker.journey} ${blocker.check} — ${blocker.why} (${blocker.next})`);
35
+ for (const item of receipt.awaitingHuman)
36
+ lines.push(` awaiting a person: ${item.item} (${item.next})`);
37
+ for (const command of receipt.next)
38
+ lines.push(` next: ${command}`);
39
+ return `${lines.join("\n")}\n`;
40
+ }
41
+ /** Registers `jevitate journey readiness` (not wired into `journey-cli.ts` by this deliverable). */
42
+ export function registerJourneyReadiness(journey, program, deps) {
43
+ withBrowserLaunchFlags(withFixtureFlags(withEnvironmentFlags(withProjectFlags(journey.command("readiness <id>")))))
44
+ .description("report a Journey's (or a linked pair's) technical readiness: static checks, and with --mode replay/prove a baseline replay and fresh mutation proofs")
45
+ .option("--with <toId>", "a linked pair: <id> produces, <toId> consumes (#582 handoff is checked)")
46
+ .option("--mode <mode>", "report (static only) | replay (baseline run/chain) | prove (replay + verify --mutate)", "report")
47
+ .option("--param <kv>", "param as key=value (repeatable; required ones are refused by name before any browser)", collectParam, {})
48
+ .option("--requests <file>", "JSON Lines file of approved requests (required for a pair's replay/prove, as journey chain)")
49
+ .option("--storage-state <file>", "Playwright storageState JSON to start each replay authenticated (as journey run)")
50
+ .option("--json", "emit a JSON envelope")
51
+ .action(async function (id) {
52
+ const locationFlags = this.opts();
53
+ const layout = journeyLayout(program, deps, { dir: locationFlags.dir, project: locationFlags.project, journeysDir: locationFlags.journeysDir });
54
+ if (layout === null)
55
+ return;
56
+ const { with: withId, mode: rawMode, param, requests: requestsFile, storageState: storageStateFlag, json } = this.opts();
57
+ if (rawMode !== "report" && rawMode !== "replay" && rawMode !== "prove") {
58
+ emitCommandResult(program, fail("E_READINESS_ARGS", `--mode must be report, replay or prove (got '${rawMode}')`), { json: json === true, exitCode: EXIT_CODES.usage, command: "journey readiness" });
59
+ return;
60
+ }
61
+ const mode = rawMode;
62
+ const { env: envName, baseUrl } = this.opts();
63
+ if (storageStateFlag !== undefined && !existsSync(storageStateFlag)) {
64
+ emitCommandResult(program, fail("E_READINESS_ARGS", `storage state not found: ${storageStateFlag}`), { json: json === true, exitCode: EXIT_CODES.usage, command: "journey readiness" });
65
+ return;
66
+ }
67
+ let requests;
68
+ if (requestsFile !== undefined) {
69
+ try {
70
+ requests = readFileSync(requestsFile, "utf8");
71
+ }
72
+ catch (err) {
73
+ emitCommandResult(program, fail("E_READINESS_ARGS", `could not read requests file ${requestsFile}: ${err instanceof Error ? err.message : String(err)}`), { json: json === true, exitCode: EXIT_CODES.usage, command: "journey readiness" });
74
+ return;
75
+ }
76
+ }
77
+ // `--fixtures` is resolved per Journey against the store, as `journey run` does; a pair's chain takes none.
78
+ const recordedFixtures = new Map();
79
+ if (mode !== "report") {
80
+ for (const journeyId of withId === undefined ? [id] : [id, withId]) {
81
+ try {
82
+ recordedFixtures.set(journeyId, await withRecordedFixtures(this.opts(), { dir: layout.journeysDir, id: journeyId, deps: { cwd: () => process.cwd() } }));
83
+ }
84
+ catch (err) {
85
+ if (!(err instanceof FixtureSpecError))
86
+ throw err;
87
+ emitCommandResult(program, fail("E_READINESS_ARGS", err.message), { json: json === true, exitCode: EXIT_CODES.usage, command: "journey readiness" });
88
+ return;
89
+ }
90
+ }
91
+ }
92
+ const fixtures = (journeyId, environment) => {
93
+ const recorded = recordedFixtures.get(journeyId);
94
+ if (recorded === undefined)
95
+ return undefined;
96
+ const flags = {
97
+ ...recorded.flags,
98
+ ...(recorded.flags.before === undefined && environment?.hooks?.before !== undefined ? { before: environment.hooks.before } : {}),
99
+ ...(recorded.flags.after === undefined && environment?.hooks?.after !== undefined ? { after: environment.hooks.after } : {}),
100
+ };
101
+ const storageState = storageStateFlag ?? environment?.storageState;
102
+ return (site, allowedOrigins, sourceSite) => {
103
+ const rebaseUrl = fixtureRebaseUrl(environment, sourceSite);
104
+ return buildMissionFixtures(flags, {
105
+ allowlist: [...allowedOrigins],
106
+ baseUrl: site,
107
+ ...(rebaseUrl === undefined ? {} : { rebaseUrl }),
108
+ ...(storageState === undefined ? {} : { storageState }),
109
+ ...(environment?.fixtures === undefined ? {} : { targetFixtures: environment.fixtures }),
110
+ });
111
+ };
112
+ };
113
+ if (json !== true && mode !== "report") {
114
+ const count = withId === undefined ? 1 : 2;
115
+ program.configureOutput().writeErr?.(`replays ${count} Journey${count === 1 ? "" : "s"} against ${baseUrl ?? envName ?? "the target"}; writes are observed, nothing is approved\n`);
116
+ }
117
+ let receipt;
118
+ let browser;
119
+ try {
120
+ browser = browserRunFromFlags(this.opts(), deps.explore?.env ?? process.env);
121
+ }
122
+ catch (err) {
123
+ emitCommandResult(program, fail("E_READINESS_ARGS", err instanceof Error ? err.message : String(err)), { json: json === true, exitCode: EXIT_CODES.usage, command: "journey readiness" });
124
+ return;
125
+ }
126
+ try {
127
+ receipt = await runJourneyReadiness({
128
+ id,
129
+ ...(withId === undefined ? {} : { with: withId }),
130
+ mode,
131
+ ...(envName === undefined ? {} : { env: envName }),
132
+ ...(baseUrl === undefined ? {} : { baseUrl }),
133
+ params: param,
134
+ ...(requests === undefined ? {} : { requests }),
135
+ ...(storageStateFlag === undefined ? {} : { storageState: storageStateFlag }),
136
+ ...(browser === undefined ? {} : { browser }),
137
+ browserPortFactory: deps.explore?.browserPortFactory,
138
+ journeysDir: layout.journeysDir,
139
+ catalogDir: resolveCatalogDir(deps.catalogDir, flaggedCatalogDir(layout)),
140
+ ...(deps.explore?.targetsConfigPath === undefined ? {} : { targetsFile: deps.explore.targetsConfigPath }),
141
+ ...(layout.projectDir === null ? {} : { projectDir: layout.projectDir }),
142
+ ...(mode === "report" ? {} : { fixtures }),
143
+ }, {
144
+ ...(deps.environmentsFile === undefined ? {} : { environmentsFile: deps.environmentsFile }),
145
+ });
146
+ }
147
+ catch (err) {
148
+ if (err instanceof ReadinessError) {
149
+ emitCommandResult(program, fail(err.code, err.message), { json: json === true, exitCode: EXIT_CODES.usage, command: "journey readiness" });
150
+ return;
151
+ }
152
+ if (err instanceof UnknownJourneyError || isEnvironmentError(err)) {
153
+ const code = "code" in err && typeof err.code === "string" ? err.code : "E_UNKNOWN_JOURNEY";
154
+ emitCommandResult(program, fail(code, err.message), { json: json === true, command: "journey readiness" });
155
+ return;
156
+ }
157
+ emitCommandResult(program, fail("E_READINESS", err instanceof Error ? err.message : String(err)), { json: json === true, command: "journey readiness" });
158
+ return;
159
+ }
160
+ emitCommandResult(program, ok(receipt), { json: json === true, exitCode: readinessExitCode(receipt.verdict), command: "journey readiness", human: readinessHuman });
161
+ });
162
+ }
163
+ //# sourceMappingURL=journey-cli-readiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journey-cli-readiness.js","sourceRoot":"","sources":["../src/journey-cli-readiness.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { registerJourneyList } from "./journey-cli/list.js";
2
2
  import { registerJourneyFind } from "./journey-cli/find.js";
3
3
  import { registerJourneyRun } from "./journey-cli/run.js";
4
4
  import { registerJourneyChain } from "./journey-cli/chain.js";
5
+ import { registerJourneyReadiness } from "./journey-cli-readiness.js";
6
+ import { registerJourneyBundle } from "./journey-cli-bundle.js";
5
7
  import { registerJourneyPromote } from "./journey-cli/promote.js";
6
8
  import { registerJourneyReview } from "./journey-cli/review.js";
7
9
  import { registerJourneyMigrate } from "./journey-cli/migrate.js";
@@ -21,6 +23,9 @@ export function registerJourneyCommands(program, deps) {
21
23
  registerJourneyRun(journey, program, deps);
22
24
  // #580 — run a discover Journey once, then a prepare-only reply Journey per matched request.
23
25
  registerJourneyChain(journey, program, deps);
26
+ // 0.18.0 — #581 one readiness receipt; #584 the local human review bundle (neither approves anything).
27
+ registerJourneyReadiness(journey, program, deps);
28
+ registerJourneyBundle(journey, program, deps);
24
29
  registerJourneyPromote(journey, program, deps);
25
30
  registerJourneyReview(journey, program, deps);
26
31
  registerJourneyMigrate(journey, program, deps);
@@ -1 +1 @@
1
- {"version":3,"file":"journey-cli.js","sourceRoot":"","sources":["../src/journey-cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,yHAAyH;AACzH,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,IAAa;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,4DAA4D,CAAC,CAAC;IAErH,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAE3C,6FAA6F;IAC7F,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAE7C,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAE/C,gFAAgF;IAChF,6BAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEtD,qGAAqG;IACrG,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEnD,6FAA6F;IAC7F,8BAA8B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEvD,6FAA6F;IAC7F,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEnD,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"journey-cli.js","sourceRoot":"","sources":["../src/journey-cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,yHAAyH;AACzH,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,IAAa;IACrE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,4DAA4D,CAAC,CAAC;IAErH,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAE3C,6FAA6F;IAC7F,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7C,uGAAuG;IACvG,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAE9C,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/C,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAE/C,gFAAgF;IAChF,6BAA6B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEtD,qGAAqG;IACrG,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEnD,6FAA6F;IAC7F,8BAA8B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEvD,6FAA6F;IAC7F,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAEnD,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC"}
@@ -17,8 +17,10 @@ import { FixtureSetupError, FixtureSpecError, UnboundSetupRefError } from "./mis
17
17
  import { withEngine } from "./engine.js";
18
18
  import { EXIT_CODES } from "./exit-codes.js";
19
19
  import { environmentFromFlags, fixtureRebaseUrl, isEnvironmentError, withEnvironmentFlags } from "./environments.js";
20
- import { resolveDbPath, resolveJourneysDir, withBrowserLaunchFlags, browserRunFromFlags, withDemoFlags, withScreenshotsFlag, withEmulationFlags, emulationFromFlags, collectParam, emitJson, environmentSeams, } from "./cli-shared.js";
20
+ import { resolveDbPath, withBrowserLaunchFlags, browserRunFromFlags, withDemoFlags, withScreenshotsFlag, withEmulationFlags, emulationFromFlags, collectParam, emitJson, environmentSeams, } from "./cli-shared.js";
21
21
  import { clock } from "@jevitate/domain";
22
+ import { journeyLayout, DEPRECATED_DIR_HELP } from "./journey-cli/shared.js";
23
+ import { withProjectFlags } from "./project-layout.js";
22
24
  /**
23
25
  * #248 — `jevitate journey demo <id>`: replay a Journey as a narrated demo (goal title card, each
24
26
  * step's objective as the caption with its target highlighted, an outcome card) and write a video
@@ -27,10 +29,10 @@ import { clock } from "@jevitate/domain";
27
29
  * the logs dir. A Journey that no longer replays writes nothing and exits 1 (a stale demo).
28
30
  */
29
31
  export function registerJourneyDemoCommand(journey, program, deps) {
30
- withScreenshotsFlag(withEnvironmentFlags(withDemoFlags(withBrowserLaunchFlags(withEmulationFlags(withFixtureFlags(journey.command("demo <id>")))))))
32
+ withScreenshotsFlag(withEnvironmentFlags(withDemoFlags(withBrowserLaunchFlags(withEmulationFlags(withFixtureFlags(withProjectFlags(journey.command("demo <id>"))))))))
31
33
  .description("replay a Journey as a narrated demo (goal, step objectives as captions, target highlights) → a WebM video with .vtt subtitles " +
32
34
  "and/or a Markdown step-by-step guide with screenshots; a Journey that no longer replays fails (exit 1)")
33
- .option("--dir <path>", "journeys directory (default: the repo's .jevitate/journeys; outside a repo ~/.jevitate/journeys)")
35
+ .option("--dir <path>", DEPRECATED_DIR_HELP)
34
36
  .option("--param <kv>", "param as key=value (repeatable)", collectParam, {})
35
37
  .option("--storage-state <file>", "Playwright storageState JSON to start the replay authenticated; must exist")
36
38
  .option("--video <file>", "write the demo video here (.webm) and its subtitles beside it (.vtt)")
@@ -40,9 +42,12 @@ export function registerJourneyDemoCommand(journey, program, deps) {
40
42
  .option("--json", "emit a JSON envelope")
41
43
  .action(async function (id) {
42
44
  const ownFixtureFlags = this.opts();
43
- const { dir, param, storageState: storageStateFlag, video: videoFlag, guide: guideFlag, pace, json, env: envName, baseUrl, screenshots: screenshotsFlag, actionDeltas, ...rest } = this.opts();
45
+ const { dir, param, storageState: storageStateFlag, video: videoFlag, guide: guideFlag, pace, json, env: envName, baseUrl, screenshots: screenshotsFlag, actionDeltas, project, journeysDir: journeysDirFlag, ...rest } = this.opts();
44
46
  const out = program.configureOutput().writeOut;
45
- const journeysDir = resolveJourneysDir(deps, dir);
47
+ const layout = journeyLayout(program, deps, { project, journeysDir: journeysDirFlag, dir });
48
+ if (layout === null)
49
+ return;
50
+ const journeysDir = layout.journeysDir;
46
51
  // #247: --env/--base-url choose where the demo runs — the same resolver as `journey run`.
47
52
  let environment;
48
53
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"journey-demo-cli.js","sourceRoot":"","sources":["../src/journey-demo-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journey-demo-cli.js","sourceRoot":"","sources":["../src/journey-demo-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { Page } from "playwright";
2
+ import { type HandbackFacts, type HandbackOutcome, type Journey } from "@jevitate/journey";
3
+ import type { JourneyRunResult } from "@jevitate/runtime";
4
+ /**
5
+ * #583 — the CLI wiring of a prepare-only boundary: refuse self-heal before any browser opens, watch
6
+ * (or with `blockWrites` abort) every first-party write for the whole run, and classify the run's
7
+ * facts into the typed `handback` result. The classifier itself is pure (`@jevitate/journey`).
8
+ */
9
+ /** A self-heal was requested for a Journey whose prepare-only boundary forbids it (§3). */
10
+ export declare class BoundaryNoHealError extends Error {
11
+ readonly code = "E_BOUNDARY_NO_HEAL";
12
+ constructor(message: string);
13
+ }
14
+ /**
15
+ * §3: a Journey with a prepare-only boundary never self-heals — a changed account, target, text or
16
+ * context fails closed. Refused before any browser opens; a retarget can only be proposed through
17
+ * the existing reviewed heal-revision flow, never applied during the run.
18
+ */
19
+ export declare function assertHandbackNoHeal(journey: Journey, selfHealRequested: boolean): void;
20
+ /** The whole-run write counts the classifier's facts read. */
21
+ export interface HandbackWriteCounts {
22
+ readonly writes: number;
23
+ readonly writesBlocked: number;
24
+ readonly observation: "available" | "unavailable";
25
+ }
26
+ /**
27
+ * §3: a whole-run first-party write observer. Every first-party write the page sends is counted (the
28
+ * same #110 classifier `journey lint` uses); with `blockWrites` each is aborted by a `ReadOnlyGuard`
29
+ * whose action window stays open for the whole run, and still counted. Observe-only by default.
30
+ */
31
+ export declare class HandbackWriteObserver {
32
+ #private;
33
+ constructor(allowedOrigins: readonly string[], opts?: {
34
+ readonly blockWrites?: boolean;
35
+ });
36
+ arm(page: Page): Promise<void>;
37
+ counts(): HandbackWriteCounts;
38
+ disarm(): Promise<void>;
39
+ }
40
+ /**
41
+ * §4: the classifier facts from a finished run. A failed step pinned to a `postcondition failed:`
42
+ * message is a `verification-failed`; every other premature end is `incomplete`.
43
+ */
44
+ export declare function handbackFacts(a: {
45
+ readonly result: JourneyRunResult;
46
+ readonly steps: number;
47
+ readonly counts: HandbackWriteCounts;
48
+ }): HandbackFacts;
49
+ /**
50
+ * §4: attach the typed `handback` result to a run's result — only when the Journey declares a
51
+ * boundary. A Journey without one is returned byte-identical to before.
52
+ */
53
+ export declare function attachHandback(result: JourneyRunResult, journey: Journey, counts: HandbackWriteCounts): JourneyRunResult & {
54
+ handback?: HandbackOutcome;
55
+ };
56
+ /**
57
+ * #583 §4: a run's exit with its handback state applied — `prepared` keeps the run's own code,
58
+ * `submitted` and a failed or incomplete handback are 1 (never a pass), `inconclusive` is 2.
59
+ */
60
+ export declare function handbackExitCode(runCode: number, handback: HandbackOutcome | undefined): number;
61
+ /** #583 §4: the one human line a run with a boundary ends with — the next step only when prepared. */
62
+ export declare function handbackLine(handback: HandbackOutcome): string;