@jevitate/cli 0.16.1 → 0.18.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 (89) hide show
  1. package/README.md +55 -5
  2. package/dist/author-journey-cli.js +11 -8
  3. package/dist/author-journey-cli.js.map +1 -1
  4. package/dist/bin.js +3126 -1078
  5. package/dist/build-info.generated.js +3 -3
  6. package/dist/catalog-api.d.ts +22 -0
  7. package/dist/catalog-api.js +49 -0
  8. package/dist/catalog-api.js.map +1 -1
  9. package/dist/catalog-cli.js +59 -37
  10. package/dist/catalog-cli.js.map +1 -1
  11. package/dist/cli-shared.d.ts +6 -1
  12. package/dist/cli-shared.js +11 -2
  13. package/dist/cli-shared.js.map +1 -1
  14. package/dist/exit-codes.js +9 -0
  15. package/dist/exit-codes.js.map +1 -1
  16. package/dist/journey-anchor-cli.js +16 -8
  17. package/dist/journey-anchor-cli.js.map +1 -1
  18. package/dist/journey-annotate-cli.js +10 -5
  19. package/dist/journey-annotate-cli.js.map +1 -1
  20. package/dist/journey-api.d.ts +10 -0
  21. package/dist/journey-api.js +23 -2
  22. package/dist/journey-api.js.map +1 -1
  23. package/dist/journey-bundle.d.ts +83 -0
  24. package/dist/journey-bundle.js +252 -0
  25. package/dist/journey-bundle.js.map +1 -0
  26. package/dist/journey-chain.d.ts +105 -0
  27. package/dist/journey-chain.js +331 -0
  28. package/dist/journey-chain.js.map +1 -0
  29. package/dist/journey-cli/anchors.js +11 -6
  30. package/dist/journey-cli/anchors.js.map +1 -1
  31. package/dist/journey-cli/chain.d.ts +8 -0
  32. package/dist/journey-cli/chain.js +113 -0
  33. package/dist/journey-cli/chain.js.map +1 -0
  34. package/dist/journey-cli/find.js +10 -5
  35. package/dist/journey-cli/find.js.map +1 -1
  36. package/dist/journey-cli/lint.js +13 -9
  37. package/dist/journey-cli/lint.js.map +1 -1
  38. package/dist/journey-cli/list.js +10 -5
  39. package/dist/journey-cli/list.js.map +1 -1
  40. package/dist/journey-cli/migrate.js +13 -6
  41. package/dist/journey-cli/migrate.js.map +1 -1
  42. package/dist/journey-cli/promote.js +11 -6
  43. package/dist/journey-cli/promote.js.map +1 -1
  44. package/dist/journey-cli/publish.js +12 -6
  45. package/dist/journey-cli/publish.js.map +1 -1
  46. package/dist/journey-cli/review.js +14 -8
  47. package/dist/journey-cli/review.js.map +1 -1
  48. package/dist/journey-cli/run.js +25 -10
  49. package/dist/journey-cli/run.js.map +1 -1
  50. package/dist/journey-cli/shared.d.ts +19 -1
  51. package/dist/journey-cli/shared.js +28 -0
  52. package/dist/journey-cli/shared.js.map +1 -1
  53. package/dist/journey-cli/verify.js +13 -6
  54. package/dist/journey-cli/verify.js.map +1 -1
  55. package/dist/journey-cli-bundle.d.ts +4 -0
  56. package/dist/journey-cli-bundle.js +70 -0
  57. package/dist/journey-cli-bundle.js.map +1 -0
  58. package/dist/journey-cli-readiness.d.ts +4 -0
  59. package/dist/journey-cli-readiness.js +163 -0
  60. package/dist/journey-cli-readiness.js.map +1 -0
  61. package/dist/journey-cli.d.ts +1 -1
  62. package/dist/journey-cli.js +9 -1
  63. package/dist/journey-cli.js.map +1 -1
  64. package/dist/journey-demo-cli.js +10 -5
  65. package/dist/journey-demo-cli.js.map +1 -1
  66. package/dist/journey-handback.d.ts +62 -0
  67. package/dist/journey-handback.js +150 -0
  68. package/dist/journey-handback.js.map +1 -0
  69. package/dist/journey-link-api.js +1 -1
  70. package/dist/journey-link-api.js.map +1 -1
  71. package/dist/journey-link-cli.js +13 -8
  72. package/dist/journey-link-cli.js.map +1 -1
  73. package/dist/journey-readiness.d.ts +104 -0
  74. package/dist/journey-readiness.js +369 -0
  75. package/dist/journey-readiness.js.map +1 -0
  76. package/dist/journey-verify.d.ts +2 -0
  77. package/dist/journey-verify.js +14 -1
  78. package/dist/journey-verify.js.map +1 -1
  79. package/dist/mcp-cli-tools.js +79 -20
  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":"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;
@@ -0,0 +1,150 @@
1
+ import { FirstPartyOrigins, ReadOnlyGuard } from "@jevitate/explore";
2
+ import { writeClassifier } from "@jevitate/recording";
3
+ import { classifyHandback, flatJourneySteps, } from "@jevitate/journey";
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 class BoundaryNoHealError extends Error {
11
+ code = "E_BOUNDARY_NO_HEAL";
12
+ constructor(message) {
13
+ super(message);
14
+ this.name = "BoundaryNoHealError";
15
+ }
16
+ }
17
+ /**
18
+ * §3: a Journey with a prepare-only boundary never self-heals — a changed account, target, text or
19
+ * context fails closed. Refused before any browser opens; a retarget can only be proposed through
20
+ * the existing reviewed heal-revision flow, never applied during the run.
21
+ */
22
+ export function assertHandbackNoHeal(journey, selfHealRequested) {
23
+ if (journey.metadata.boundary === undefined || !selfHealRequested)
24
+ return;
25
+ throw new BoundaryNoHealError(`journey '${journey.metadata.id}' declares a prepare-only boundary — self-heal is refused (E_BOUNDARY_NO_HEAL); a retarget can only be proposed through the reviewed heal-revision flow`);
26
+ }
27
+ /**
28
+ * §3: a whole-run first-party write observer. Every first-party write the page sends is counted (the
29
+ * same #110 classifier `journey lint` uses); with `blockWrites` each is aborted by a `ReadOnlyGuard`
30
+ * whose action window stays open for the whole run, and still counted. Observe-only by default.
31
+ */
32
+ export class HandbackWriteObserver {
33
+ #classifier = writeClassifier({});
34
+ #allowedOrigins;
35
+ #firstParty;
36
+ #block;
37
+ #page;
38
+ #guard;
39
+ #writes = 0;
40
+ #observation = "available";
41
+ #handler = (route, request) => this.#route(route, request);
42
+ constructor(allowedOrigins, opts = {}) {
43
+ this.#allowedOrigins = [...allowedOrigins];
44
+ this.#firstParty = new FirstPartyOrigins(this.#allowedOrigins);
45
+ this.#block = opts.blockWrites === true;
46
+ }
47
+ async arm(page) {
48
+ this.#page = page;
49
+ if (typeof page.route !== "function") {
50
+ // A page that cannot be routed (a test double, a closed context): write observation is
51
+ // unavailable, and the classifier reports inconclusive rather than a false `prepared`.
52
+ this.#observation = "unavailable";
53
+ return;
54
+ }
55
+ // Count first-party writes ourselves, then let the guard (armed second, so it runs first) abort
56
+ // them when `blockWrites` is set — a blocked write never reaches this handler.
57
+ await page.route("**/*", this.#handler);
58
+ if (!this.#block)
59
+ return;
60
+ const guard = new ReadOnlyGuard(this.#classifier, { allowlist: this.#allowedOrigins, navigationWrites: "abort" });
61
+ await guard.arm(page);
62
+ guard.beginAction(); // the whole run is the action window
63
+ this.#guard = guard;
64
+ }
65
+ async #route(route, request) {
66
+ const isWrite = this.#classifier({
67
+ method: request.method(),
68
+ path: pathOf(request.url()),
69
+ contentType: request.headers()["content-type"] ?? null,
70
+ });
71
+ if (isWrite && this.#firstParty.thirdParty(request.url(), request.headers()) === null)
72
+ this.#writes += 1;
73
+ await route.fallback().catch(() => undefined);
74
+ }
75
+ counts() {
76
+ return {
77
+ writes: this.#writes,
78
+ writesBlocked: this.#guard?.blockedTotal ?? 0,
79
+ observation: this.#observation,
80
+ };
81
+ }
82
+ async disarm() {
83
+ const page = this.#page;
84
+ this.#page = undefined;
85
+ await this.#guard?.disarm().catch(() => undefined);
86
+ this.#guard = undefined;
87
+ if (page !== undefined && typeof page.unroute === "function")
88
+ await page.unroute("**/*", this.#handler).catch(() => undefined);
89
+ }
90
+ }
91
+ /** A request URL's path, or the URL itself when unparseable. */
92
+ function pathOf(url) {
93
+ try {
94
+ return new URL(url).pathname;
95
+ }
96
+ catch {
97
+ return url;
98
+ }
99
+ }
100
+ /**
101
+ * §4: the classifier facts from a finished run. A failed step pinned to a `postcondition failed:`
102
+ * message is a `verification-failed`; every other premature end is `incomplete`.
103
+ */
104
+ export function handbackFacts(a) {
105
+ const at = "at" in a.result ? a.result.at : undefined;
106
+ const reason = "reason" in a.result ? a.result.reason : undefined;
107
+ const failedKind = at === undefined ? undefined : /postcondition failed/.test(reason ?? "") ? "postcondition" : "other";
108
+ return {
109
+ outcome: a.result.outcome,
110
+ ...(at === undefined ? {} : { failedAt: at }),
111
+ ...(failedKind === undefined ? {} : { failedKind }),
112
+ steps: a.steps,
113
+ checksPassed: a.result.outcome === "ok" ? a.steps : at ?? 0,
114
+ writes: a.counts.writes,
115
+ writesBlocked: a.counts.writesBlocked,
116
+ writeObservation: a.counts.observation,
117
+ };
118
+ }
119
+ /**
120
+ * §4: attach the typed `handback` result to a run's result — only when the Journey declares a
121
+ * boundary. A Journey without one is returned byte-identical to before.
122
+ */
123
+ export function attachHandback(result, journey, counts) {
124
+ const boundary = journey.metadata.boundary;
125
+ if (boundary === undefined)
126
+ return result;
127
+ const facts = handbackFacts({ result, steps: flatJourneySteps(journey).length, counts });
128
+ return { ...result, handback: classifyHandback(facts, boundary) };
129
+ }
130
+ /**
131
+ * #583 §4: a run's exit with its handback state applied — `prepared` keeps the run's own code,
132
+ * `submitted` and a failed or incomplete handback are 1 (never a pass), `inconclusive` is 2.
133
+ */
134
+ export function handbackExitCode(runCode, handback) {
135
+ if (handback === undefined || handback.state === "prepared")
136
+ return runCode;
137
+ if (handback.state === "inconclusive")
138
+ return Math.max(runCode, 2);
139
+ return runCode === 0 ? 1 : runCode;
140
+ }
141
+ /** #583 §4: the one human line a run with a boundary ends with — the next step only when prepared. */
142
+ export function handbackLine(handback) {
143
+ if (handback.state === "prepared")
144
+ return `handback: prepared — next: ${handback.nextStep ?? `${handback.stopBefore} is yours`}`;
145
+ const at = handback.evidence.failedAt === undefined ? "" : ` at step ${handback.evidence.failedAt}`;
146
+ if (handback.state === "submitted")
147
+ return `handback: submitted — ${handback.evidence.writes + handback.evidence.writesBlocked} write(s) were sent during the run; nothing is prepared for a person`;
148
+ return `handback: ${handback.state}${at} — nothing is ready for ${handback.stopBefore}`;
149
+ }
150
+ //# sourceMappingURL=journey-handback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journey-handback.js","sourceRoot":"","sources":["../src/journey-handback.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export async function linkJourney(journeysDir, catalogDir, id, input) {
45
45
  let personas = [];
46
46
  if (input.job !== undefined || input.persona !== undefined) {
47
47
  if (catalogDir === null)
48
- throw new JourneyLinkArgsError("no .jevitate/ project was found — run inside a project (jevitate init), or pass --dir");
48
+ throw new JourneyLinkArgsError("no .jevitate/ project was found — run inside a project (jevitate init), or pass --project <dir>");
49
49
  const loader = new CatalogLoader({ catalogDir, journeysDir });
50
50
  [{ jobs }, { personas }] = await Promise.all([loader.loadJobs(), loader.loadPersonas()]);
51
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"journey-link-api.js","sourceRoot":"","sources":["../src/journey-link-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journey-link-api.js","sourceRoot":"","sources":["../src/journey-link-api.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { ok, fail } from "./envelope.js";
2
2
  import { UnknownJourneyError } from "./journey-api.js";
3
3
  import { CatalogInputError } from "./catalog.js";
4
- import { catalogJourneysDir, resolveCatalogDir } from "./catalog-api.js";
4
+ import { catalogLayout, DEPRECATED_PROJECT_DIR_HELP } from "./catalog-api.js";
5
5
  import { JourneyLinkArgsError, linkJourney } from "./journey-link-api.js";
6
- import { emitJson, resolveJourneysDir } from "./cli-shared.js";
6
+ import { emitJson } from "./cli-shared.js";
7
+ import { withProjectFlags } from "./project-layout.js";
7
8
  function renderLink(r, out) {
8
9
  const job = r.job === undefined ? "no job" : `job '${r.job}'${r.jobStatus === undefined ? "" : ` (${r.jobStatus})`}`;
9
10
  const persona = r.persona === undefined ? "no persona" : `persona '${r.persona}'${r.personaStatus === undefined ? "" : ` (${r.personaStatus})`}`;
@@ -20,19 +21,23 @@ function renderLink(r, out) {
20
21
  * set or clear a Journey's catalog links, each id checked against the catalog. Never an approval.
21
22
  */
22
23
  export function registerJourneyLinkCommand(journey, program, deps) {
23
- journey
24
+ withProjectFlags(journey
24
25
  .command("link <id>")
25
26
  .description("#523: link a Journey to a catalog job and/or persona (metadata.job / metadata.persona), or clear a link — an id the catalog does not have is refused (listing its ids); a draft entry may be linked and still needs a person's approval; on a promoted Journey the approval goes stale (#507). Never approves")
26
- .option("--job <jobId>", "link this job (an id in .jevitate/jobs.json)")
27
- .option("--persona <personaId>", "link this persona (an id in .jevitate/personas.json)")
27
+ .option("--job <jobId>", "link this job (an id in the project's jobs.json)")
28
+ .option("--persona <personaId>", "link this persona (an id in the project's personas.json)")
28
29
  .option("--unlink-job", "clear metadata.job")
29
30
  .option("--unlink-persona", "clear metadata.persona")
30
- .option("--dir <path>", "the project's .jevitate directory (catalog files, journeys under journeys/); default: the repo's")
31
+ .option("--dir <path>", DEPRECATED_PROJECT_DIR_HELP))
31
32
  .option("--json", "emit a JSON envelope")
32
33
  .action(async function (id) {
33
- const { job, persona, unlinkJob, unlinkPersona, dir, json } = this.opts();
34
+ const { job, persona, unlinkJob, unlinkPersona, dir, project, journeysDir, json } = this.opts();
35
+ // Linking validates ids against the catalog, so it needs a project; clearing a link alone does not.
36
+ const layout = catalogLayout(program, deps, { dir, project, journeysDir }, { requireProject: job !== undefined || persona !== undefined });
37
+ if (layout === null)
38
+ return;
34
39
  try {
35
- const result = await linkJourney(catalogJourneysDir(dir, resolveJourneysDir(deps)), resolveCatalogDir(deps.catalogDir, dir), id, {
40
+ const result = await linkJourney(layout.journeysDir, layout.catalogDir, id, {
36
41
  ...(job === undefined ? {} : { job }),
37
42
  ...(persona === undefined ? {} : { persona }),
38
43
  ...(unlinkJob === true ? { unlinkJob } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"journey-link-cli.js","sourceRoot":"","sources":["../src/journey-link-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journey-link-cli.js","sourceRoot":"","sources":["../src/journey-link-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import { type ResolvedJourneyEnvironment } from "./environments.js";
2
+ import { runJourneyChain } from "./journey-chain.js";
3
+ import { reviewJourneyById } from "./journey-review-api.js";
4
+ import { verifyJourneyMutations } from "./journey-verify.js";
5
+ import { runJourneyProgrammatically, type RunJourneyProgrammaticallyOptions } from "./journey-api.js";
6
+ /**
7
+ * #581 — `jevitate journey readiness <id> [--with <toId>]`: one receipt over a Journey (or a linked
8
+ * pair) that runs only static checks in `report` mode. `replay` adds the baseline run/chain and
9
+ * `prove` adds `journey verify --mutate`; both refuse a missing/production target and a missing
10
+ * required param before any browser opens. It reuses `journey lint`, the review sheet (and its
11
+ * `--strict` attention), the `.verify/<id>.json` proof record, catalog links, `journey run`/`chain`
12
+ * and `journey verify`. It adds no proof, approval or authority — only a code-computed verdict.
13
+ */
14
+ export type ReadinessMode = "report" | "replay" | "prove";
15
+ export type ReadinessCheckState = "pass" | "fail" | "inconclusive" | "stale" | "not-run" | "awaiting-human";
16
+ export type ReadinessVerdict = "technically-ready" | "blocked" | "inconclusive" | "incomplete";
17
+ export interface ReadinessCheck {
18
+ readonly check: string;
19
+ readonly journey: string;
20
+ readonly state: ReadinessCheckState;
21
+ readonly detail: string;
22
+ readonly evidence?: string;
23
+ }
24
+ export interface ReadinessBlocker {
25
+ readonly check: string;
26
+ readonly journey: string;
27
+ readonly why: string;
28
+ readonly next: string;
29
+ }
30
+ export interface ReadinessAwaitingHuman {
31
+ readonly check: string;
32
+ readonly journey: string;
33
+ readonly item: string;
34
+ readonly next: string;
35
+ }
36
+ export interface ReadinessJourney {
37
+ readonly id: string;
38
+ readonly contentHash: string;
39
+ readonly reviewHash: string;
40
+ readonly promoted: boolean;
41
+ }
42
+ export interface ReadinessTarget {
43
+ readonly origin: string;
44
+ readonly env?: string;
45
+ }
46
+ export interface ReadinessEngine {
47
+ readonly version: string;
48
+ readonly commit: string;
49
+ readonly tree: string;
50
+ }
51
+ export interface ReadinessReceipt {
52
+ readonly engine: ReadinessEngine;
53
+ readonly mode: ReadinessMode;
54
+ readonly target: ReadinessTarget | null;
55
+ readonly journeys: readonly ReadinessJourney[];
56
+ readonly checks: readonly ReadinessCheck[];
57
+ readonly verdict: ReadinessVerdict;
58
+ readonly blockers: readonly ReadinessBlocker[];
59
+ readonly awaitingHuman: readonly ReadinessAwaitingHuman[];
60
+ readonly next: readonly string[];
61
+ }
62
+ /** #581: a refusal `replay`/`prove` makes before any browser opens (exit 64, docs/contracts/readiness-and-bundle.md §1). */
63
+ export type ReadinessRefusalCode = "E_READINESS_TARGET" | "E_READINESS_PRODUCTION" | "E_READINESS_PARAMS";
64
+ export declare class ReadinessError extends Error {
65
+ readonly code: ReadinessRefusalCode;
66
+ constructor(code: ReadinessRefusalCode, message: string);
67
+ }
68
+ export interface JourneyReadinessOptions {
69
+ readonly id: string;
70
+ /** A linked pair: `<id>` produces, `<toId>` consumes (the #582 handoff is checked). */
71
+ readonly with?: string;
72
+ readonly mode?: ReadinessMode;
73
+ readonly env?: string;
74
+ readonly baseUrl?: string;
75
+ readonly params?: Readonly<Record<string, string>>;
76
+ /** The approved requests, as raw JSON Lines (a pair's `replay`/`prove` needs them). */
77
+ readonly requests?: string;
78
+ readonly storageState?: string;
79
+ /** The shared browser launch settings (`--browser-*`), as `journey run` takes them. */
80
+ readonly browser?: RunJourneyProgrammaticallyOptions["browser"];
81
+ /** The host's browser seam (tests inject a pooled browser), as `journey run`/`journey chain`. */
82
+ readonly browserPortFactory?: RunJourneyProgrammaticallyOptions["browserPortFactory"];
83
+ readonly journeysDir: string;
84
+ readonly catalogDir?: string | null;
85
+ readonly targetsFile?: string;
86
+ /** The project root an upload fixture resolves against (defaults to the run's own resolution). */
87
+ readonly projectDir?: string;
88
+ /** A per-Journey mission-fixtures builder, as `journey run --fixtures` (pair chains never take one). */
89
+ readonly fixtures?: (id: string, environment: ResolvedJourneyEnvironment | undefined) => RunJourneyProgrammaticallyOptions["fixtures"];
90
+ }
91
+ export interface JourneyReadinessDeps {
92
+ readonly review?: typeof reviewJourneyById;
93
+ readonly run?: typeof runJourneyProgrammatically;
94
+ readonly chain?: typeof runJourneyChain;
95
+ readonly verify?: typeof verifyJourneyMutations;
96
+ readonly environmentsFile?: string;
97
+ readonly cwd?: () => string;
98
+ }
99
+ /**
100
+ * #581: one Journey's (or a linked pair's) readiness receipt. Static checks only in `report`; the
101
+ * baseline replay in `replay`/`prove`; fresh mutation proofs in `prove`. Experience reuse is the
102
+ * existing rule: a proof is fresh only while it binds the current review hash.
103
+ */
104
+ export declare function runJourneyReadiness(opts: JourneyReadinessOptions, deps?: JourneyReadinessDeps): Promise<ReadinessReceipt>;