@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.
- package/dist/author-journey-cli.js +11 -8
- package/dist/author-journey-cli.js.map +1 -1
- package/dist/bin.js +2802 -1110
- package/dist/build-info.generated.js +3 -3
- package/dist/catalog-api.d.ts +22 -0
- package/dist/catalog-api.js +49 -0
- package/dist/catalog-api.js.map +1 -1
- package/dist/catalog-cli.js +59 -37
- package/dist/catalog-cli.js.map +1 -1
- package/dist/cli-shared.d.ts +6 -1
- package/dist/cli-shared.js +11 -2
- package/dist/cli-shared.js.map +1 -1
- package/dist/exit-codes.js +8 -0
- package/dist/exit-codes.js.map +1 -1
- package/dist/journeeze-api.d.ts +5 -0
- package/dist/journeeze-api.js +24 -9
- package/dist/journeeze-api.js.map +1 -1
- package/dist/journeeze-connect.d.ts +2 -0
- package/dist/journeeze-connect.js +9 -1
- package/dist/journeeze-connect.js.map +1 -1
- package/dist/journey-anchor-cli.js +16 -8
- package/dist/journey-anchor-cli.js.map +1 -1
- package/dist/journey-annotate-cli.js +10 -5
- package/dist/journey-annotate-cli.js.map +1 -1
- package/dist/journey-api.d.ts +2 -0
- package/dist/journey-api.js +14 -0
- package/dist/journey-api.js.map +1 -1
- package/dist/journey-bundle.d.ts +83 -0
- package/dist/journey-bundle.js +267 -0
- package/dist/journey-bundle.js.map +1 -0
- package/dist/journey-chain.d.ts +14 -1
- package/dist/journey-chain.js +139 -8
- package/dist/journey-chain.js.map +1 -1
- package/dist/journey-cli/anchors.js +11 -6
- package/dist/journey-cli/anchors.js.map +1 -1
- package/dist/journey-cli/chain.js +12 -5
- package/dist/journey-cli/chain.js.map +1 -1
- package/dist/journey-cli/find.js +10 -5
- package/dist/journey-cli/find.js.map +1 -1
- package/dist/journey-cli/lint.js +14 -10
- package/dist/journey-cli/lint.js.map +1 -1
- package/dist/journey-cli/list.js +10 -5
- package/dist/journey-cli/list.js.map +1 -1
- package/dist/journey-cli/migrate.js +13 -6
- package/dist/journey-cli/migrate.js.map +1 -1
- package/dist/journey-cli/promote.js +14 -9
- package/dist/journey-cli/promote.js.map +1 -1
- package/dist/journey-cli/publish.js +12 -6
- package/dist/journey-cli/publish.js.map +1 -1
- package/dist/journey-cli/review.js +15 -9
- package/dist/journey-cli/review.js.map +1 -1
- package/dist/journey-cli/run.js +25 -10
- package/dist/journey-cli/run.js.map +1 -1
- package/dist/journey-cli/shared.d.ts +25 -1
- package/dist/journey-cli/shared.js +36 -0
- package/dist/journey-cli/shared.js.map +1 -1
- package/dist/journey-cli/verify.js +13 -6
- package/dist/journey-cli/verify.js.map +1 -1
- package/dist/journey-cli-bundle.d.ts +4 -0
- package/dist/journey-cli-bundle.js +70 -0
- package/dist/journey-cli-bundle.js.map +1 -0
- package/dist/journey-cli-readiness.d.ts +4 -0
- package/dist/journey-cli-readiness.js +163 -0
- package/dist/journey-cli-readiness.js.map +1 -0
- package/dist/journey-cli.js +5 -0
- package/dist/journey-cli.js.map +1 -1
- package/dist/journey-demo-cli.js +10 -5
- package/dist/journey-demo-cli.js.map +1 -1
- package/dist/journey-handback.d.ts +62 -0
- package/dist/journey-handback.js +152 -0
- package/dist/journey-handback.js.map +1 -0
- package/dist/journey-link-api.js +1 -1
- package/dist/journey-link-api.js.map +1 -1
- package/dist/journey-link-cli.js +13 -8
- package/dist/journey-link-cli.js.map +1 -1
- package/dist/journey-readiness.d.ts +104 -0
- package/dist/journey-readiness.js +381 -0
- package/dist/journey-readiness.js.map +1 -0
- package/dist/mcp-cli-tools.js +57 -21
- package/dist/mcp-cli-tools.js.map +1 -1
- package/dist/program.js +3 -0
- package/dist/program.js.map +1 -1
- package/dist/project-layout.d.ts +57 -0
- package/dist/project-layout.js +144 -0
- package/dist/project-layout.js.map +1 -0
- package/dist/project-where.d.ts +4 -0
- package/dist/project-where.js +48 -0
- package/dist/project-where.js.map +1 -0
- package/package.json +9 -9
package/dist/journey-api.js
CHANGED
|
@@ -34,6 +34,7 @@ import { gateJourney } from "./site-gate-cli.js";
|
|
|
34
34
|
import { substituteSetupRefs } from "./mission-fixtures.js";
|
|
35
35
|
import { applyJourneyEnvironment } from "./environments.js";
|
|
36
36
|
import { JourneyOutcomeChecks } from "./journey-network-checks.js";
|
|
37
|
+
import { assertHandbackNoHeal, attachHandback, HandbackWriteObserver } from "./journey-handback.js";
|
|
37
38
|
/**
|
|
38
39
|
* Distinct from `@jevitate/journey`'s `ParamValidationError` so CLI/API callers
|
|
39
40
|
* can tell "no such journey" apart from "params didn't match the journey's
|
|
@@ -315,6 +316,8 @@ export async function runJourneyProgrammatically(opts, mutation = {}) {
|
|
|
315
316
|
// #402: the mutated copy replays (and is judged); the stored Journey still names, redacts and gates.
|
|
316
317
|
const replayed = mutation.mutateJourney === undefined || journey !== full ? journey : mutation.mutateJourney(journey);
|
|
317
318
|
const policy = opts.policy ?? safeRunPolicy();
|
|
319
|
+
// #583 §3: a prepare-only boundary never self-heals — refused before any fixture or browser opens.
|
|
320
|
+
assertHandbackNoHeal(journey, policy.selfHeal.mode !== "fail-closed");
|
|
318
321
|
// The site policy (`jevitate site policy set <origin>`): pacing, throttles, budgets, quiet hours —
|
|
319
322
|
// decided before any fixture or browser; a refusal says why and when to retry.
|
|
320
323
|
const gate = await gateJourney(opts.siteGate, journey.recording, { ...(opts.account === undefined ? {} : { account: opts.account }), enforceLimits: true });
|
|
@@ -373,6 +376,13 @@ export async function runJourneyProgrammatically(opts, mutation = {}) {
|
|
|
373
376
|
// #485: the origins outside the run's allow list that the page sent a write to (origins only —
|
|
374
377
|
// never a path, query or body). The campaign preflight reads them for an allow-list slip.
|
|
375
378
|
const offAllowlist = watchOffAllowlistWrites(session, allowedOrigins);
|
|
379
|
+
// #583 §3: a declared boundary watches every first-party write for the whole run (aborting them
|
|
380
|
+
// only with `blockWrites`), so the typed handback state is decided from the run's own evidence.
|
|
381
|
+
const handbackObserver = journey.metadata.boundary === undefined
|
|
382
|
+
? undefined
|
|
383
|
+
: new HandbackWriteObserver(allowedOrigins, { blockWrites: journey.metadata.boundary.blockWrites === true });
|
|
384
|
+
if (handbackObserver !== undefined)
|
|
385
|
+
await handbackObserver.arm(session.page);
|
|
376
386
|
try {
|
|
377
387
|
const actor = CastActor.named("cli-runner").whoCan(new BrowseTheWeb(session, allowedOrigins), ...gate.abilities);
|
|
378
388
|
const replayDeltas = opts.actionDeltas === true ? new ReplayDeltas({ secrets, recorded: flat.map((f) => f.recorded) }) : undefined;
|
|
@@ -424,6 +434,7 @@ export async function runJourneyProgrammatically(opts, mutation = {}) {
|
|
|
424
434
|
await blocker?.guard.disarm();
|
|
425
435
|
await healGuard?.guard.disarm();
|
|
426
436
|
await healGuard?.dispose();
|
|
437
|
+
await handbackObserver?.disarm();
|
|
427
438
|
}
|
|
428
439
|
// #453: a self-heal run persists its record (heal attempts, the proposal) and indexes it.
|
|
429
440
|
// #453 review: a run that cannot write its proposal (a prefix or mutated replay, a proof error)
|
|
@@ -435,6 +446,9 @@ export async function runJourneyProgrammatically(opts, mutation = {}) {
|
|
|
435
446
|
result = persisted.result;
|
|
436
447
|
healFields = persisted.fields;
|
|
437
448
|
}
|
|
449
|
+
// #583: the typed handback state, decided from the run's own results and network evidence —
|
|
450
|
+
// attached only when the Journey declares a boundary (otherwise the result is unchanged).
|
|
451
|
+
result = attachHandback(result, journey, handbackObserver?.counts() ?? { writes: 0, writesBlocked: 0, observation: "unavailable" });
|
|
438
452
|
const mutationFields = {
|
|
439
453
|
...(mutation.structuredFailures === true ? { outcomeFailures: redactSecretValues([...outcomeChecks.lastFailures], runSecrets) } : {}),
|
|
440
454
|
...(blocker === undefined ? {} : { blockedWrites: blocker.guard.drain() }),
|
package/dist/journey-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journey-api.js","sourceRoot":"","sources":["../src/journey-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"journey-api.js","sourceRoot":"","sources":["../src/journey-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { Journey, JourneyReview } from "@jevitate/journey";
|
|
2
|
+
import { loadCatalog } from "./catalog-api.js";
|
|
3
|
+
import type { Catalog } from "./catalog.js";
|
|
4
|
+
import { reviewJourneyById } from "./journey-review-api.js";
|
|
5
|
+
import { runJourneyReadiness, type ReadinessReceipt, type ReadinessVerdict } from "./journey-readiness.js";
|
|
6
|
+
/**
|
|
7
|
+
* #584 — `jevitate journey bundle <id> [--with <toId>] --out <dir>` and
|
|
8
|
+
* `jevitate journey bundle --check <dir>` (docs/contracts/readiness-and-bundle.md §4). The bundle is
|
|
9
|
+
* local and never uploaded: it writes `<dir>/bundle.md` and `<dir>/manifest.json` from a `report`-mode
|
|
10
|
+
* readiness (a browser never opens). `bundle.md` is what a reviewer reads — the verdict, blockers and
|
|
11
|
+
* any inconclusive/stale proof first, then each Journey's intent, links, contracts, boundary, side
|
|
12
|
+
* effects, hashes, step objectives and readiness checks — and the human-only commands to run next.
|
|
13
|
+
* `manifest.json` records every hash it was built from; `--check` re-derives them and fails closed
|
|
14
|
+
* (`E_BUNDLE_STALE`) when any moved. It only prints commands a person runs: it never approves,
|
|
15
|
+
* promotes or uploads.
|
|
16
|
+
*/
|
|
17
|
+
/** #584: a local bundle build's request. `out` is created (recursively) if missing; nothing outside it is written. */
|
|
18
|
+
export interface JourneyBundleOptions {
|
|
19
|
+
readonly id: string;
|
|
20
|
+
readonly with?: string;
|
|
21
|
+
readonly out: string;
|
|
22
|
+
readonly journeysDir: string;
|
|
23
|
+
readonly catalogDir?: string | null;
|
|
24
|
+
readonly targetsFile?: string;
|
|
25
|
+
/** The project root an upload fixture resolves against, as `journey run` (optional). */
|
|
26
|
+
readonly projectDir?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface JourneyBundleCheckOptions {
|
|
29
|
+
readonly journeysDir: string;
|
|
30
|
+
readonly catalogDir?: string | null;
|
|
31
|
+
readonly targetsFile?: string;
|
|
32
|
+
}
|
|
33
|
+
/** #584: test seams. `readiness`/`review`/`loadCatalog` default to the real modules. */
|
|
34
|
+
export interface JourneyBundleDeps {
|
|
35
|
+
readonly readiness?: typeof runJourneyReadiness;
|
|
36
|
+
readonly review?: typeof reviewJourneyById;
|
|
37
|
+
readonly loadCatalog?: typeof loadCatalog;
|
|
38
|
+
/** Whether a Journey has a pending annotation draft (default: the sidecar file exists). */
|
|
39
|
+
readonly annotationDraft?: (journeysDir: string, id: string) => boolean;
|
|
40
|
+
readonly cwd?: () => string;
|
|
41
|
+
}
|
|
42
|
+
export interface JourneyBundleResult {
|
|
43
|
+
readonly out: string;
|
|
44
|
+
readonly files: readonly string[];
|
|
45
|
+
readonly verdict: ReadinessVerdict;
|
|
46
|
+
}
|
|
47
|
+
export interface JourneyBundleCheckResult {
|
|
48
|
+
readonly stale: false;
|
|
49
|
+
}
|
|
50
|
+
/** One hash the bundle was built from, so `--check` can re-derive it. */
|
|
51
|
+
export interface JourneyBundleManifest {
|
|
52
|
+
readonly bundleVersion: 1;
|
|
53
|
+
readonly journeys: ReadonlyArray<{
|
|
54
|
+
readonly id: string;
|
|
55
|
+
readonly contentHash: string;
|
|
56
|
+
readonly reviewHash: string;
|
|
57
|
+
}>;
|
|
58
|
+
readonly catalog: ReadonlyArray<{
|
|
59
|
+
readonly kind: "persona" | "job";
|
|
60
|
+
readonly id: string;
|
|
61
|
+
readonly hash: string;
|
|
62
|
+
}>;
|
|
63
|
+
readonly verdict: ReadinessVerdict;
|
|
64
|
+
readonly generatedAt: string;
|
|
65
|
+
}
|
|
66
|
+
/** #584: a stale manifest — `--check` re-derived a different hash (exit 1). */
|
|
67
|
+
export declare class BundleStaleError extends Error {
|
|
68
|
+
readonly changed: readonly string[];
|
|
69
|
+
readonly code = "E_BUNDLE_STALE";
|
|
70
|
+
constructor(changed: readonly string[]);
|
|
71
|
+
}
|
|
72
|
+
interface JourneyEntry {
|
|
73
|
+
readonly id: string;
|
|
74
|
+
readonly journey: Journey;
|
|
75
|
+
readonly review: JourneyReview;
|
|
76
|
+
}
|
|
77
|
+
/** §4: the bundle's Markdown. The verdict, blockers and any inconclusive/stale proof come first. */
|
|
78
|
+
export declare function renderJourneyBundle(receipt: ReadinessReceipt, entries: readonly JourneyEntry[], catalog: Catalog, drafts: ReadonlySet<string>): string;
|
|
79
|
+
/** #584: build the local bundle from a `report`-mode readiness and the review sheet of each Journey. */
|
|
80
|
+
export declare function buildJourneyBundle(opts: JourneyBundleOptions, deps?: JourneyBundleDeps): Promise<JourneyBundleResult>;
|
|
81
|
+
/** #584: re-derive every hash the bundle recorded; a moved hash throws `BundleStaleError` (exit 1). */
|
|
82
|
+
export declare function checkJourneyBundle(dir: string, opts: JourneyBundleCheckOptions, deps?: JourneyBundleDeps): Promise<JourneyBundleCheckResult>;
|
|
83
|
+
export {};
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
3
|
+
import { join, resolve } from "node:path";
|
|
4
|
+
import { clock } from "@jevitate/domain";
|
|
5
|
+
import { loadCatalog } from "./catalog-api.js";
|
|
6
|
+
import { annotationDraftPath, journeyContentHash } from "./journey-annotate-api.js";
|
|
7
|
+
import { reviewJourneyById } from "./journey-review-api.js";
|
|
8
|
+
import { runJourneyReadiness } from "./journey-readiness.js";
|
|
9
|
+
/** #584: a stale manifest — `--check` re-derived a different hash (exit 1). */
|
|
10
|
+
export class BundleStaleError extends Error {
|
|
11
|
+
changed;
|
|
12
|
+
code = "E_BUNDLE_STALE";
|
|
13
|
+
constructor(changed) {
|
|
14
|
+
super(`the bundle is stale: ${changed.join("; ")}`);
|
|
15
|
+
this.changed = changed;
|
|
16
|
+
this.name = "BundleStaleError";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
/** The label every approval state carries (§4): technical readiness, draft, prior approval, stale approval, current authorization. */
|
|
20
|
+
function catalogApprovalLabel(status) {
|
|
21
|
+
switch (status) {
|
|
22
|
+
case "approved":
|
|
23
|
+
return "current authorization";
|
|
24
|
+
case "stale":
|
|
25
|
+
return "stale approval";
|
|
26
|
+
case "draft":
|
|
27
|
+
return "draft";
|
|
28
|
+
default:
|
|
29
|
+
return "unknown";
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** How a Journey's own promotion reads: not promoted is `draft`, an approval that no longer binds is `stale approval`. */
|
|
33
|
+
function journeyApprovalLabel(entry) {
|
|
34
|
+
const approval = entry.journey.metadata.approval;
|
|
35
|
+
const change = entry.review.changeSinceApproval;
|
|
36
|
+
const stale = (change.kind === "diff" || change.kind === "snapshot-missing") && change.changed;
|
|
37
|
+
if (entry.journey.metadata.promoted && approval !== undefined && !stale)
|
|
38
|
+
return "current authorization";
|
|
39
|
+
if (stale)
|
|
40
|
+
return "stale approval";
|
|
41
|
+
if (approval !== undefined)
|
|
42
|
+
return "prior approval";
|
|
43
|
+
return "draft";
|
|
44
|
+
}
|
|
45
|
+
function handoffFieldLines(fields, indent) {
|
|
46
|
+
return Object.entries(fields).map(([name, decl]) => `${indent}${name}: ${decl.type}${decl.required === false ? " (optional)" : ""}`);
|
|
47
|
+
}
|
|
48
|
+
/** §4: the #582 contracts, by field name and type only (never a value). */
|
|
49
|
+
function contractLines(entry) {
|
|
50
|
+
const outputs = entry.journey.metadata.outputs;
|
|
51
|
+
const inputs = entry.journey.metadata.inputs;
|
|
52
|
+
if (outputs === undefined && inputs === undefined)
|
|
53
|
+
return ["contracts: none declared"];
|
|
54
|
+
const lines = ["contracts:"];
|
|
55
|
+
if (outputs !== undefined)
|
|
56
|
+
lines.push(...outputsLines(outputs));
|
|
57
|
+
if (inputs !== undefined)
|
|
58
|
+
lines.push(...inputsLines(inputs));
|
|
59
|
+
return lines;
|
|
60
|
+
}
|
|
61
|
+
function outputsLines(outputs) {
|
|
62
|
+
const lines = [` outputs: ${outputs.contract}`];
|
|
63
|
+
lines.push(...handoffFieldLines(outputs.fields, " "));
|
|
64
|
+
if (outputs.collection !== undefined)
|
|
65
|
+
lines.push(` collection: ${outputs.collection}`);
|
|
66
|
+
return lines;
|
|
67
|
+
}
|
|
68
|
+
function inputsLines(inputs) {
|
|
69
|
+
const lines = [` inputs: accepts ${inputs.accepts}`, ...handoffFieldLines(inputs.request.fields, " request ")];
|
|
70
|
+
for (const [param, binding] of Object.entries(inputs.bindings)) {
|
|
71
|
+
const source = "record" in binding ? `record.${binding.record}` : "request" in binding ? `request.${binding.request}` : "const" in binding ? `const.${binding.const}` : `secret.${binding.secret}`;
|
|
72
|
+
lines.push(` binding ${param} <- ${source}`);
|
|
73
|
+
}
|
|
74
|
+
return lines;
|
|
75
|
+
}
|
|
76
|
+
/** §4: a person runs these, in order (persona approve, job approve, annotations approve, journey promote). */
|
|
77
|
+
/**
|
|
78
|
+
* §4: what is still a person's to do for one Journey — an approve for each linked persona/job that is
|
|
79
|
+
* not approved, annotations to approve when drafts exist, and promote when the Journey has no current
|
|
80
|
+
* authorization (`promote` is null when it is already current). Nothing already authorized is listed.
|
|
81
|
+
*/
|
|
82
|
+
function pendingHumanSteps(entry, catalog, draft) {
|
|
83
|
+
const approvals = [];
|
|
84
|
+
const persona = entry.review.catalog?.persona;
|
|
85
|
+
const job = entry.review.catalog?.job;
|
|
86
|
+
if (persona !== undefined && persona.status !== "approved") {
|
|
87
|
+
const hash = catalog.personas.find((p) => p.id === persona.id)?.contentHash;
|
|
88
|
+
approvals.push(`jevitate persona approve ${persona.id}${hash === undefined ? "" : ` --reviewed-hash ${hash}`}`);
|
|
89
|
+
}
|
|
90
|
+
if (job !== undefined && job.status !== "approved") {
|
|
91
|
+
const hash = catalog.jobs.find((j) => j.id === job.id)?.contentHash;
|
|
92
|
+
approvals.push(`jevitate job approve ${job.id}${hash === undefined ? "" : ` --reviewed-hash ${hash}`}`);
|
|
93
|
+
}
|
|
94
|
+
if (draft)
|
|
95
|
+
approvals.push(`jevitate journey annotate ${entry.id} --approve`);
|
|
96
|
+
return { approvals, promote: journeyApprovalLabel(entry) === "current authorization" ? null : entry.id };
|
|
97
|
+
}
|
|
98
|
+
function journeySection(entry, receipt) {
|
|
99
|
+
const m = entry.journey.metadata;
|
|
100
|
+
const lines = [`## Journey: ${entry.id}`, ""];
|
|
101
|
+
lines.push(`goal: ${m.goal ?? "(none)"}`);
|
|
102
|
+
const links = entry.review.catalog;
|
|
103
|
+
if (links?.persona !== undefined)
|
|
104
|
+
lines.push(`persona: ${links.persona.id} (${catalogApprovalLabel(links.persona.status)})`);
|
|
105
|
+
if (links?.job !== undefined)
|
|
106
|
+
lines.push(`job: ${links.job.id} (${catalogApprovalLabel(links.job.status)})`);
|
|
107
|
+
lines.push(...contractLines(entry));
|
|
108
|
+
const boundary = m.boundary;
|
|
109
|
+
lines.push(boundary === undefined ? "boundary: none declared" : `boundary: ${boundary.kind}; stop before "${boundary.stopBefore.label}"; next step: ${boundary.nextStep}`);
|
|
110
|
+
lines.push("side effects:");
|
|
111
|
+
if (entry.review.sideEffects.writeRequests.length === 0)
|
|
112
|
+
lines.push(" none");
|
|
113
|
+
for (const w of entry.review.sideEffects.writeRequests)
|
|
114
|
+
lines.push(` ${w.method} ${w.endpoint} (${w.source}${w.step === undefined ? "" : `, step ${w.step}`})`);
|
|
115
|
+
lines.push(`content hash: ${journeyContentHash(entry.journey)}`);
|
|
116
|
+
lines.push(`review hash: ${entry.review.contentHash}`);
|
|
117
|
+
lines.push(`approval: ${journeyApprovalLabel(entry)}`);
|
|
118
|
+
lines.push("steps:");
|
|
119
|
+
for (const step of entry.review.steps)
|
|
120
|
+
lines.push(` ${step.number}. ${step.action} — objective: ${step.objective ?? "(pending)"}`);
|
|
121
|
+
if (entry.review.summary.missingIntent.length > 0) {
|
|
122
|
+
lines.push("pending annotations:");
|
|
123
|
+
for (const item of entry.review.summary.missingIntent)
|
|
124
|
+
lines.push(` - ${item}`);
|
|
125
|
+
}
|
|
126
|
+
lines.push("readiness:");
|
|
127
|
+
for (const check of receipt.checks.filter((c) => c.journey === entry.id))
|
|
128
|
+
lines.push(checkLine(check));
|
|
129
|
+
return lines;
|
|
130
|
+
}
|
|
131
|
+
function checkLine(check) {
|
|
132
|
+
return ` ${check.check}: ${check.state} — ${check.detail}${check.evidence === undefined ? "" : ` (evidence: ${check.evidence})`}`;
|
|
133
|
+
}
|
|
134
|
+
/** §4: the bundle's Markdown. The verdict, blockers and any inconclusive/stale proof come first. */
|
|
135
|
+
export function renderJourneyBundle(receipt, entries, catalog, drafts) {
|
|
136
|
+
const lines = [`# Journey readiness bundle`, "", `verdict: ${receipt.verdict}`, ""];
|
|
137
|
+
const blockers = receipt.blockers;
|
|
138
|
+
if (blockers.length > 0) {
|
|
139
|
+
lines.push("## Blockers", "");
|
|
140
|
+
for (const b of blockers)
|
|
141
|
+
lines.push(`- ${b.journey} ${b.check}: ${b.why} — next: ${b.next}`);
|
|
142
|
+
lines.push("");
|
|
143
|
+
}
|
|
144
|
+
const flagged = receipt.checks.filter((c) => c.state === "inconclusive" || c.state === "stale");
|
|
145
|
+
if (flagged.length > 0) {
|
|
146
|
+
lines.push("## Inconclusive or stale evidence", "");
|
|
147
|
+
for (const c of flagged)
|
|
148
|
+
lines.push(`- ${c.journey} ${c.check}: ${c.state} — ${c.detail}`);
|
|
149
|
+
lines.push("");
|
|
150
|
+
}
|
|
151
|
+
for (const entry of entries) {
|
|
152
|
+
lines.push(...journeySection(entry, receipt), "");
|
|
153
|
+
}
|
|
154
|
+
const ready = receipt.verdict === "technically-ready";
|
|
155
|
+
// §4: each pending step once, in order (a persona/job two Journeys share is approved once); promote
|
|
156
|
+
// carries the review hash only when technically ready, else it waits for the blockers without one.
|
|
157
|
+
const approvals = [];
|
|
158
|
+
const promotes = [];
|
|
159
|
+
for (const entry of entries) {
|
|
160
|
+
const pending = pendingHumanSteps(entry, catalog, drafts.has(entry.id));
|
|
161
|
+
for (const command of pending.approvals)
|
|
162
|
+
if (!approvals.includes(command))
|
|
163
|
+
approvals.push(command);
|
|
164
|
+
if (pending.promote !== null)
|
|
165
|
+
promotes.push(entry);
|
|
166
|
+
}
|
|
167
|
+
lines.push("## Human-only commands", "");
|
|
168
|
+
const now = [...approvals, ...(ready ? promotes.map((e) => `jevitate journey promote ${e.id} --reviewed-hash ${e.review.contentHash}`) : [])];
|
|
169
|
+
if (now.length === 0 && (ready || promotes.length === 0))
|
|
170
|
+
lines.push("Nothing is waiting for a person: every linked persona and job is approved and every Journey is promoted with a current approval.");
|
|
171
|
+
for (const command of now)
|
|
172
|
+
lines.push(`- ${command}`);
|
|
173
|
+
if (!ready && promotes.length > 0) {
|
|
174
|
+
lines.push("");
|
|
175
|
+
lines.push("## After the blockers are fixed", "");
|
|
176
|
+
for (const entry of promotes)
|
|
177
|
+
lines.push(`- jevitate journey promote ${entry.id}`);
|
|
178
|
+
}
|
|
179
|
+
lines.push("");
|
|
180
|
+
return `${lines.join("\n")}\n`;
|
|
181
|
+
}
|
|
182
|
+
function catalogEntries(entries, catalog) {
|
|
183
|
+
const wanted = new Map();
|
|
184
|
+
const add = (kind, id, hash) => {
|
|
185
|
+
if (id === undefined || hash === undefined)
|
|
186
|
+
return;
|
|
187
|
+
wanted.set(`${kind}\u0000${id}`, { kind, id, hash });
|
|
188
|
+
};
|
|
189
|
+
for (const entry of entries) {
|
|
190
|
+
const links = entry.review.catalog;
|
|
191
|
+
add("persona", links?.persona?.id, catalog.personas.find((p) => p.id === links?.persona?.id)?.contentHash);
|
|
192
|
+
add("job", links?.job?.id, catalog.jobs.find((j) => j.id === links?.job?.id)?.contentHash);
|
|
193
|
+
}
|
|
194
|
+
return [...wanted.values()].sort((a, b) => (a.kind === b.kind ? a.id.localeCompare(b.id) : a.kind.localeCompare(b.kind)));
|
|
195
|
+
}
|
|
196
|
+
function defaultAnnotationDraft(journeysDir, id) {
|
|
197
|
+
return existsSync(annotationDraftPath(journeysDir, id));
|
|
198
|
+
}
|
|
199
|
+
/** #584: build the local bundle from a `report`-mode readiness and the review sheet of each Journey. */
|
|
200
|
+
export async function buildJourneyBundle(opts, deps = {}) {
|
|
201
|
+
const readiness = deps.readiness ?? runJourneyReadiness;
|
|
202
|
+
const review = deps.review ?? reviewJourneyById;
|
|
203
|
+
const catalogOf = deps.loadCatalog ?? loadCatalog;
|
|
204
|
+
const draftExists = deps.annotationDraft ?? defaultAnnotationDraft;
|
|
205
|
+
const readinessOpts = {
|
|
206
|
+
id: opts.id,
|
|
207
|
+
...(opts.with === undefined ? {} : { with: opts.with }),
|
|
208
|
+
mode: "report",
|
|
209
|
+
journeysDir: opts.journeysDir,
|
|
210
|
+
...(opts.catalogDir === undefined ? {} : { catalogDir: opts.catalogDir }),
|
|
211
|
+
...(opts.targetsFile === undefined ? {} : { targetsFile: opts.targetsFile }),
|
|
212
|
+
...(opts.projectDir === undefined ? {} : { projectDir: opts.projectDir }),
|
|
213
|
+
};
|
|
214
|
+
const receiptDeps = deps.cwd === undefined ? {} : { cwd: deps.cwd };
|
|
215
|
+
const receipt = await readiness(readinessOpts, receiptDeps);
|
|
216
|
+
const ids = [opts.id, ...(opts.with === undefined ? [] : [opts.with])];
|
|
217
|
+
const reviewOpts = { strict: true, ...(opts.catalogDir === undefined ? {} : { catalogDir: opts.catalogDir }), ...(opts.targetsFile === undefined ? {} : { targetsFile: opts.targetsFile }) };
|
|
218
|
+
const entries = [];
|
|
219
|
+
for (const id of ids) {
|
|
220
|
+
const loaded = await review(opts.journeysDir, id, reviewOpts);
|
|
221
|
+
entries.push({ id, journey: loaded.journey, review: loaded.review });
|
|
222
|
+
}
|
|
223
|
+
const catalog = await catalogOf(opts.catalogDir === undefined ? null : opts.catalogDir, opts.journeysDir);
|
|
224
|
+
const drafts = new Set(ids.filter((id) => draftExists(opts.journeysDir, id)));
|
|
225
|
+
const out = resolve(opts.out);
|
|
226
|
+
const bundlePath = join(out, "bundle.md");
|
|
227
|
+
const manifestPath = join(out, "manifest.json");
|
|
228
|
+
const manifest = {
|
|
229
|
+
bundleVersion: 1,
|
|
230
|
+
journeys: entries.map((e) => ({ id: e.id, contentHash: journeyContentHash(e.journey), reviewHash: e.review.contentHash })),
|
|
231
|
+
catalog: catalogEntries(entries, catalog),
|
|
232
|
+
verdict: receipt.verdict,
|
|
233
|
+
generatedAt: clock.nowIso(),
|
|
234
|
+
};
|
|
235
|
+
await mkdir(out, { recursive: true });
|
|
236
|
+
await writeFile(bundlePath, renderJourneyBundle(receipt, entries, catalog, drafts), "utf8");
|
|
237
|
+
await writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, "utf8");
|
|
238
|
+
return { out, files: [bundlePath, manifestPath], verdict: receipt.verdict };
|
|
239
|
+
}
|
|
240
|
+
/** #584: re-derive every hash the bundle recorded; a moved hash throws `BundleStaleError` (exit 1). */
|
|
241
|
+
export async function checkJourneyBundle(dir, opts, deps = {}) {
|
|
242
|
+
const review = deps.review ?? reviewJourneyById;
|
|
243
|
+
const catalogOf = deps.loadCatalog ?? loadCatalog;
|
|
244
|
+
const manifestPath = join(resolve(dir), "manifest.json");
|
|
245
|
+
const manifest = JSON.parse(await readFile(manifestPath, "utf8"));
|
|
246
|
+
const reviewOpts = { strict: true, ...(opts.catalogDir === undefined ? {} : { catalogDir: opts.catalogDir }), ...(opts.targetsFile === undefined ? {} : { targetsFile: opts.targetsFile }) };
|
|
247
|
+
const changed = [];
|
|
248
|
+
for (const recorded of manifest.journeys) {
|
|
249
|
+
const loaded = await review(opts.journeysDir, recorded.id, reviewOpts);
|
|
250
|
+
if (journeyContentHash(loaded.journey) !== recorded.contentHash)
|
|
251
|
+
changed.push(`journey ${recorded.id} contentHash`);
|
|
252
|
+
if (loaded.review.contentHash !== recorded.reviewHash)
|
|
253
|
+
changed.push(`journey ${recorded.id} reviewHash`);
|
|
254
|
+
}
|
|
255
|
+
if (manifest.catalog.length > 0) {
|
|
256
|
+
const catalog = await catalogOf(opts.catalogDir === undefined ? null : opts.catalogDir, opts.journeysDir);
|
|
257
|
+
for (const recorded of manifest.catalog) {
|
|
258
|
+
const current = recorded.kind === "persona" ? catalog.personas.find((p) => p.id === recorded.id)?.contentHash : catalog.jobs.find((j) => j.id === recorded.id)?.contentHash;
|
|
259
|
+
if (current !== recorded.hash)
|
|
260
|
+
changed.push(`${recorded.kind} ${recorded.id} hash`);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
if (changed.length > 0)
|
|
264
|
+
throw new BundleStaleError(changed);
|
|
265
|
+
return { stale: false };
|
|
266
|
+
}
|
|
267
|
+
//# sourceMappingURL=journey-bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journey-bundle.js","sourceRoot":"","sources":["../src/journey-bundle.ts"],"names":[],"mappings":"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"}
|
package/dist/journey-chain.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type HandoffRejection } from "@jevitate/journey";
|
|
1
2
|
import type { JourneyRunResult, SiteGateDeps } from "@jevitate/runtime";
|
|
2
3
|
import type { BrowserPort, EmulationSpec } from "@jevitate/playwright";
|
|
3
4
|
import type { BrowserRunOptions } from "./browser-run-options.js";
|
|
@@ -10,6 +11,10 @@ import { type RunJourneyProgrammaticallyOptions } from "./journey-api.js";
|
|
|
10
11
|
*
|
|
11
12
|
* The result carries names and outcomes only — never a record field's value (e.g. `sourceText`) or a
|
|
12
13
|
* request's `replyText`.
|
|
14
|
+
*
|
|
15
|
+
* #582 (docs/contracts/journey-handoff.md §4-§5): when the reply Journey declares `metadata.inputs`,
|
|
16
|
+
* the discovered records and the requests are validated by the pure `@jevitate/journey` handoff
|
|
17
|
+
* validators and each request is matched on `inputs.request.key` and bound by `bindParams`.
|
|
13
18
|
*/
|
|
14
19
|
/** The runner `journey run` uses; a testing seam so the chain can be driven without a browser. */
|
|
15
20
|
export type JourneyChainRunner = (options: RunJourneyProgrammaticallyOptions) => Promise<JourneyRunResult>;
|
|
@@ -18,7 +23,7 @@ export interface JourneyChainDeps {
|
|
|
18
23
|
/** Testing seam — defaults to `runJourneyProgrammatically`. */
|
|
19
24
|
readonly runJourney?: JourneyChainRunner;
|
|
20
25
|
}
|
|
21
|
-
export type JourneyChainErrorCode = "E_CHAIN_FROM_FAILED" | "E_CHAIN_EMPTY" | "E_CHAIN_REQUEST" | "E_CHAIN_NOT_PROMOTED";
|
|
26
|
+
export type JourneyChainErrorCode = "E_CHAIN_FROM_FAILED" | "E_CHAIN_EMPTY" | "E_CHAIN_REQUEST" | "E_CHAIN_NOT_PROMOTED" | "E_HANDOFF_INCOMPATIBLE";
|
|
22
27
|
/** A chain-stopping failure (§5 steps 1, 2 and the §4 request contract). */
|
|
23
28
|
export declare class JourneyChainError extends Error {
|
|
24
29
|
readonly code: JourneyChainErrorCode;
|
|
@@ -38,6 +43,12 @@ export interface ChainRunResult {
|
|
|
38
43
|
readonly account: string;
|
|
39
44
|
readonly outcome: string;
|
|
40
45
|
readonly reason?: string;
|
|
46
|
+
/** §5 (handoff): the accepted contract (`name@major`). */
|
|
47
|
+
readonly contract?: string;
|
|
48
|
+
/** §5 (handoff): `sha256:` of the record's declared fields. */
|
|
49
|
+
readonly fingerprint?: string;
|
|
50
|
+
/** §5 (handoff): when the producing run finished (ISO 8601 UTC, from the injectable clock). */
|
|
51
|
+
readonly capturedAt?: string;
|
|
41
52
|
}
|
|
42
53
|
/** One request with no discovered record (§5 result `unmatched[]`). */
|
|
43
54
|
export interface ChainUnmatched {
|
|
@@ -53,6 +64,8 @@ export interface JourneyChainResult {
|
|
|
53
64
|
};
|
|
54
65
|
readonly runs: readonly ChainRunResult[];
|
|
55
66
|
readonly unmatched: readonly ChainUnmatched[];
|
|
67
|
+
/** §4/§5 (handoff): records, ambiguous keys and requests a chain refused to run; absent in 0.17.0 mode. */
|
|
68
|
+
readonly rejected?: readonly HandoffRejection[];
|
|
56
69
|
}
|
|
57
70
|
/**
|
|
58
71
|
* §4: parse the JSON Lines file of prepare-only requests. `commentId`, `account` and `replyText` are
|