@jevitate/cli 0.8.0 → 0.9.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 (122) hide show
  1. package/dist/approval-provenance.d.ts +16 -0
  2. package/dist/approval-provenance.js +18 -1
  3. package/dist/approval-provenance.js.map +1 -1
  4. package/dist/bin.js +17011 -13887
  5. package/dist/browser-cli.d.ts +10 -0
  6. package/dist/browser-cli.js +50 -0
  7. package/dist/browser-cli.js.map +1 -0
  8. package/dist/build-info.generated.js +2 -2
  9. package/dist/change-context.d.ts +44 -0
  10. package/dist/change-context.js +203 -0
  11. package/dist/change-context.js.map +1 -0
  12. package/dist/check-api.d.ts +1 -1
  13. package/dist/check-api.js +44 -7
  14. package/dist/check-api.js.map +1 -1
  15. package/dist/check-cli.d.ts +2 -1
  16. package/dist/check-cli.js +47 -7
  17. package/dist/check-cli.js.map +1 -1
  18. package/dist/check-execute.d.ts +16 -1
  19. package/dist/check-execute.js +58 -27
  20. package/dist/check-execute.js.map +1 -1
  21. package/dist/check-plan.d.ts +14 -0
  22. package/dist/check-plan.js +24 -1
  23. package/dist/check-plan.js.map +1 -1
  24. package/dist/check-types.d.ts +39 -5
  25. package/dist/check-types.js +8 -0
  26. package/dist/check-types.js.map +1 -1
  27. package/dist/cli-output.js +3 -1
  28. package/dist/cli-output.js.map +1 -1
  29. package/dist/exit-codes.d.ts +6 -3
  30. package/dist/exit-codes.js +9 -3
  31. package/dist/exit-codes.js.map +1 -1
  32. package/dist/explore-adversarial.js +2 -2
  33. package/dist/explore-adversarial.js.map +1 -1
  34. package/dist/explore-cli.js +3 -2
  35. package/dist/explore-cli.js.map +1 -1
  36. package/dist/explore-coverage.js +3 -3
  37. package/dist/explore-coverage.js.map +1 -1
  38. package/dist/explore-feature.js +3 -3
  39. package/dist/explore-feature.js.map +1 -1
  40. package/dist/explore-goal.js +11 -5
  41. package/dist/explore-goal.js.map +1 -1
  42. package/dist/findings-filing.d.ts +6 -0
  43. package/dist/findings-filing.js +15 -1
  44. package/dist/findings-filing.js.map +1 -1
  45. package/dist/heal-probe-guard.d.ts +9 -0
  46. package/dist/heal-probe-guard.js +113 -0
  47. package/dist/heal-probe-guard.js.map +1 -0
  48. package/dist/host-health-run.d.ts +32 -1
  49. package/dist/host-health-run.js +38 -1
  50. package/dist/host-health-run.js.map +1 -1
  51. package/dist/journey-api.d.ts +42 -3
  52. package/dist/journey-api.js +190 -12
  53. package/dist/journey-api.js.map +1 -1
  54. package/dist/journey-cli.js +105 -15
  55. package/dist/journey-cli.js.map +1 -1
  56. package/dist/journey-heal.d.ts +74 -0
  57. package/dist/journey-heal.js +180 -0
  58. package/dist/journey-heal.js.map +1 -0
  59. package/dist/journey-network-checks.d.ts +5 -1
  60. package/dist/journey-network-checks.js +15 -4
  61. package/dist/journey-network-checks.js.map +1 -1
  62. package/dist/journey-prefix.js +2 -2
  63. package/dist/journey-prefix.js.map +1 -1
  64. package/dist/journey-proposal-store.d.ts +100 -0
  65. package/dist/journey-proposal-store.js +342 -0
  66. package/dist/journey-proposal-store.js.map +1 -0
  67. package/dist/journey-result-record.d.ts +40 -0
  68. package/dist/journey-result-record.js +28 -0
  69. package/dist/journey-result-record.js.map +1 -0
  70. package/dist/journey-review-api.js +7 -0
  71. package/dist/journey-review-api.js.map +1 -1
  72. package/dist/journey-review.d.ts +7 -0
  73. package/dist/journey-review.js +39 -0
  74. package/dist/journey-review.js.map +1 -1
  75. package/dist/launch-armed.js +5 -1
  76. package/dist/launch-armed.js.map +1 -1
  77. package/dist/login-cli.d.ts +2 -0
  78. package/dist/login-cli.js +56 -11
  79. package/dist/login-cli.js.map +1 -1
  80. package/dist/mcp-api.d.ts +5 -1
  81. package/dist/mcp-api.js +53 -8
  82. package/dist/mcp-api.js.map +1 -1
  83. package/dist/mcp-cli-tools.js +25 -5
  84. package/dist/mcp-cli-tools.js.map +1 -1
  85. package/dist/multi-run.d.ts +7 -6
  86. package/dist/multi-run.js +5 -4
  87. package/dist/multi-run.js.map +1 -1
  88. package/dist/persona-login.d.ts +60 -3
  89. package/dist/persona-login.js +341 -31
  90. package/dist/persona-login.js.map +1 -1
  91. package/dist/program.js +2 -0
  92. package/dist/program.js.map +1 -1
  93. package/dist/report-api.d.ts +1 -0
  94. package/dist/report-api.js +1 -0
  95. package/dist/report-api.js.map +1 -1
  96. package/dist/resource-preflight.js +5 -3
  97. package/dist/resource-preflight.js.map +1 -1
  98. package/dist/run-metadata.d.ts +5 -2
  99. package/dist/run-metadata.js +10 -3
  100. package/dist/run-metadata.js.map +1 -1
  101. package/dist/run-tags-cli.d.ts +2 -0
  102. package/dist/run-tags-cli.js +8 -2
  103. package/dist/run-tags-cli.js.map +1 -1
  104. package/dist/self-heal-adapter.d.ts +43 -27
  105. package/dist/self-heal-adapter.js +196 -62
  106. package/dist/self-heal-adapter.js.map +1 -1
  107. package/dist/source-cli.js +5 -3
  108. package/dist/source-cli.js.map +1 -1
  109. package/dist/suite-explore-options.js +1 -0
  110. package/dist/suite-explore-options.js.map +1 -1
  111. package/dist/sweep-api.d.ts +23 -0
  112. package/dist/sweep-api.js +39 -8
  113. package/dist/sweep-api.js.map +1 -1
  114. package/dist/sweep-cli.js +3 -1
  115. package/dist/sweep-cli.js.map +1 -1
  116. package/dist/ux-usability.js +3 -2
  117. package/dist/ux-usability.js.map +1 -1
  118. package/package.json +10 -10
  119. package/skills/jevitate-ci-check/SKILL.md +9 -1
  120. package/skills/jevitate-getting-started/SKILL.md +2 -1
  121. package/skills/jevitate-mission-scope/SKILL.md +2 -2
  122. package/skills/jevitate-run-journey/SKILL.md +25 -5
@@ -1,72 +1,206 @@
1
- import { runGoalBasedMission } from "@jevitate/explore";
1
+ import { normalizeAnchor, sanitizeStep } from "@jevitate/runtime";
2
+ import { snapshot } from "@jevitate/explore";
2
3
  import { BrowseTheWebToken } from "@jevitate/screenplay";
3
- /**
4
- * The real `@jevitate/runtime.SelfHealer`, backed by `@jevitate/explore`'s
5
- * `runGoalBasedMission`. This is the ONLY edge from the CLI to
6
- * `@jevitate/explore` used for self-healing — `@jevitate/runtime` itself
7
- * never depends on `@jevitate/explore` (it only knows the `SelfHealer`
8
- * port), preserving ticket #1's "nothing depends on explore except cli"
9
- * constraint.
10
- *
11
- * DEVIATION (real-API vs plan): the plan assumed `runGoalBasedMission` took a
12
- * loose `{goal, successAssertion, allowlist, actor, judgment, generation}`
13
- * bag returning `{outcome, recording, transcript}`. The SHIPPED API
14
- * (`GoalBasedMissionConfig` = `Omit<ExploreConfig,"missionContext"> +
15
- * successAssertion`) takes a single config object with `judge`/`gen` (not
16
- * `judgment`/`generation`) and REQUIRES `startUrl` + `allowlist`, returning a
17
- * `GoalBasedResult` whose `outcome` is `"succeeded" | "exhausted" |
18
- * "blocked"`. Only `"succeeded"` (the independent oracle held) maps to
19
- * `"healed"`; everything else is `"not-healed"` — the healer never certifies
20
- * its own success (guardrail #4, mirrored from explore's oracle).
21
- *
22
- * DEVIATION (start-from-live-state): the plan's `SelfHealer` contract says
23
- * the actor is already sitting in the live state right after the last-good
24
- * step, so no re-navigation is needed. The shipped `explore()` ALWAYS
25
- * navigates to `startUrl` first, so this adapter re-anchors by using the
26
- * actor's CURRENT live URL as `startUrl` (a reload of the page we are
27
- * already on) — the closest the shipped mission API allows. Flagged as a
28
- * follow-up: a future `runGoalBasedMission` variant could skip the initial
29
- * navigation to honor the pure resume-from-state design.
30
- */
31
- export function makeExploreSelfHealer(judgment, generation) {
4
+ import { clock } from "@jevitate/domain";
5
+ import { describeStep } from "@jevitate/journey";
6
+ import { redactSecretValues } from "./journey-api.js";
7
+ /** Roles a fill step may target. */
8
+ const FIELD_ROLES = new Set(["textbox", "searchbox", "combobox", "spinbutton"]);
9
+ const DEFAULT_MAX_CONTROLS = 80;
10
+ const MAX_CANDIDATES = 8;
11
+ /** The default inventory: the explore snapshot's controls (read-only, already redacted). */
12
+ export const snapshotInventory = async (actor, secrets) => {
13
+ let page;
14
+ try {
15
+ page = actor.ability(BrowseTheWebToken).session.page;
16
+ }
17
+ catch {
18
+ return [];
19
+ }
20
+ const snap = await snapshot(page, { secrets, maxCandidates: 120 });
21
+ return snap.controls.map(inventoryOf);
22
+ };
23
+ function inventoryOf(c) {
24
+ const d = c.descriptor;
32
25
  return {
33
- async reLearnStep({ actor, brokenStep, expectedPostcondition, allowedOrigins, secrets }) {
34
- const allowlist = allowedOrigins ?? [];
35
- const result = await runGoalBasedMission({
36
- goal: describeBrokenStepGoal(brokenStep),
37
- successAssertion: expectedPostcondition,
38
- allowlist,
39
- // Re-anchor to the live page we are already on (see DEVIATION above).
40
- // Authorization is still enforced by explore's own
41
- // `assertAuthorizedExploreTarget` against `allowlist` — an
42
- // off-allowlist current URL fails closed there (it throws), never
43
- // silently healed.
44
- startUrl: currentUrl(actor, allowlist),
45
- actor,
46
- judge: judgment,
47
- gen: generation,
48
- // #399: the run's secret params (the live URL may carry one) are redacted from every prompt.
49
- ...(secrets === undefined || secrets.length === 0 ? {} : { secrets }),
26
+ role: c.role,
27
+ name: c.name,
28
+ ...(d.testId === undefined ? {} : { testId: d.testId }),
29
+ ...(d.label === undefined ? {} : { label: d.label }),
30
+ enabled: c.enabled,
31
+ summary: c.summary,
32
+ };
33
+ }
34
+ export function makeEvidenceSelfHealer(generation, opts = {}) {
35
+ const readInventory = opts.inventory ?? snapshotInventory;
36
+ const maxControls = opts.maxControls ?? DEFAULT_MAX_CONTROLS;
37
+ return {
38
+ actsOnPage: false,
39
+ async proposeCandidates(req) {
40
+ const secrets = req.secrets ?? [];
41
+ const broken = req.brokenStep;
42
+ if (!("target" in broken) || broken.target === undefined) {
43
+ return { candidates: [], usage: { modelCalls: 0 }, reason: `a ${broken.kind} step has no target to retarget onto a page control` };
44
+ }
45
+ // Only the change FACTS, scrubbed of the run's secrets.
46
+ const evidence = redactSecretValues(req.evidence.map(factOf), secrets);
47
+ let inventory;
48
+ try {
49
+ inventory = redactSecretValues((await readInventory(req.actor, secrets)).filter((c) => c.enabled && fits(broken, c)), secrets);
50
+ }
51
+ catch {
52
+ inventory = [];
53
+ }
54
+ const tried = new Set(req.tried.map((s) => JSON.stringify(s)));
55
+ const fresh = (s) => !tried.has(JSON.stringify(sanitizeStep(s))) && JSON.stringify(s) !== JSON.stringify(broken);
56
+ const deterministic = dedupe(evidenceRetargets(broken, inventory, evidence).filter((c) => fresh(c.step)));
57
+ const ask = generation !== undefined && req.maxModelCalls >= 1 && clock.now() < req.deadlineAtMs && (deterministic.length > 0 || inventory.length > 0);
58
+ if (!ask) {
59
+ return deterministic.length === 0
60
+ ? { candidates: [], usage: { modelCalls: 0 }, reason: "no observed control matches the change evidence" }
61
+ : { candidates: deterministic.slice(0, MAX_CANDIDATES), usage: { modelCalls: 0 } };
62
+ }
63
+ const shown = inventory.slice(0, maxControls);
64
+ const input = redactSecretValues({
65
+ step: describeStep(sanitizeStep(broken)).slice(0, 1000),
66
+ evidence: evidence.slice(0, 40).map((e) => ({ kind: e.kind.slice(0, 40), before: clip(e.before), after: clip(e.after) })),
67
+ candidates: deterministic.slice(0, 40).map((c, index) => ({ index, summary: c.hypothesis.slice(0, 300) })),
68
+ controls: shown.map((c, index) => ({ index, summary: c.summary.slice(0, 300) })),
69
+ }, secrets);
70
+ const tokensSoFar = () => {
71
+ const c = opts.usage?.snapshot();
72
+ return c === undefined ? 0 : c.inputTokens + c.outputTokens;
73
+ };
74
+ const before = tokensSoFar();
75
+ const usage = { modelCalls: 1 };
76
+ let ranked;
77
+ try {
78
+ ranked = (await withDeadline(generation.generate("heal.rank", input), req.deadlineAtMs)).output;
79
+ }
80
+ catch {
81
+ ranked = undefined;
82
+ }
83
+ const spent = tokensSoFar() - before;
84
+ if (spent > 0)
85
+ usage.tokens = spent;
86
+ if (ranked === undefined) {
87
+ return { candidates: deterministic.slice(0, MAX_CANDIDATES), usage, reason: "the model ranker gave no usable answer within the heal deadline" };
88
+ }
89
+ const seen = new Set();
90
+ const ordered = [];
91
+ for (const i of ranked.order) {
92
+ const c = deterministic[i];
93
+ if (c === undefined || seen.has(i))
94
+ continue;
95
+ seen.add(i);
96
+ ordered.push(c);
97
+ }
98
+ // The ranker is advisory: an evidence candidate it left out is still tried, after its picks.
99
+ deterministic.forEach((c, i) => {
100
+ if (!seen.has(i))
101
+ ordered.push(c);
50
102
  });
51
- return result.outcome === "succeeded"
52
- ? { outcome: "healed", segment: result.recording }
53
- : { outcome: "not-healed", reason: `re-learn mission ${result.outcome}` };
103
+ const picked = ranked.control === null ? undefined : shown[ranked.control];
104
+ const extra = picked === undefined ? undefined : controlRetarget(broken, picked, `the model picked the page's ${picked.role || "control"} ${quote(picked.name)}`);
105
+ const all = dedupe(extra === undefined || !fresh(extra.step) ? ordered : [...ordered, extra]);
106
+ return { candidates: all.slice(0, MAX_CANDIDATES), usage };
54
107
  },
55
108
  };
56
109
  }
57
- /** The actor's current live URL — the natural start for a scoped re-learn.
58
- * Falls back to the first authorized origin when the actor exposes no live
59
- * browsing ability (e.g. a test double); an empty allowlist then yields ""
60
- * and explore's authorization guard fails closed. */
61
- function currentUrl(actor, fallbackOrigins) {
62
- try {
63
- return actor.ability(BrowseTheWebToken).session.page.url();
64
- }
65
- catch {
66
- return fallbackOrigins[0] ?? "";
110
+ function factOf(e) {
111
+ return { kind: e.kind, ...(e.before === undefined ? {} : { before: e.before }), ...(e.after === undefined ? {} : { after: e.after }) };
112
+ }
113
+ function clip(s) {
114
+ return s === undefined ? null : s.slice(0, 300);
115
+ }
116
+ /** Can `broken` (a click/fill/extract) target this control at all? */
117
+ function fits(broken, c) {
118
+ if (broken.kind === "fill")
119
+ return FIELD_ROLES.has(c.role);
120
+ if (broken.kind === "click")
121
+ return !FIELD_ROLES.has(c.role);
122
+ return true;
123
+ }
124
+ /** Inventory controls whose name / test id / label equals an evidence `after` → a retarget onto that anchor. */
125
+ function evidenceRetargets(broken, inventory, evidence) {
126
+ const out = [];
127
+ for (const e of evidence) {
128
+ if (e.after === undefined || e.kind === "inserted-ui")
129
+ continue;
130
+ const after = normalizeAnchor(e.after);
131
+ for (const c of inventory) {
132
+ const via = c.testId !== undefined && normalizeAnchor(c.testId) === after && (e.kind === "test-id" || e.kind === "note")
133
+ ? "testId"
134
+ : normalizeAnchor(c.name) === after
135
+ ? "name"
136
+ : c.label !== undefined && normalizeAnchor(c.label) === after
137
+ ? "label"
138
+ : undefined;
139
+ if (via === undefined)
140
+ continue;
141
+ const cand = controlRetarget(broken, c, `${e.kind} ${quote(e.before)} → ${quote(e.after)} matches the page's ${c.role || "control"} ${quote(c.name)}`, via);
142
+ if (cand !== undefined)
143
+ out.push(cand);
144
+ }
67
145
  }
146
+ return out;
147
+ }
148
+ /** `broken` retargeted onto control `c` by one anchor (its frame and container kept, everything else as recorded). */
149
+ function controlRetarget(broken, c, why, via) {
150
+ if (!("target" in broken) || broken.target === undefined)
151
+ return undefined;
152
+ const old = broken.target;
153
+ const by = via ?? (c.name.trim() === "" ? (c.testId !== undefined ? "testId" : "label") : "name");
154
+ const anchor = by === "testId"
155
+ ? c.testId === undefined
156
+ ? undefined
157
+ : { testId: c.testId }
158
+ : by === "label"
159
+ ? c.label === undefined
160
+ ? undefined
161
+ : { label: c.label }
162
+ : c.name.trim() === ""
163
+ ? undefined
164
+ : { ...(c.role === "" ? {} : { role: c.role }), name: c.name.trim() };
165
+ if (anchor === undefined)
166
+ return undefined;
167
+ const target = { ...anchor, ...(old.frameUrl === undefined ? {} : { frameUrl: old.frameUrl }), ...(old.container === undefined ? {} : { container: old.container }) };
168
+ return { step: { ...broken, target }, hypothesis: `${why}: retarget to ${describeTarget(target)}` };
169
+ }
170
+ function describeTarget(t) {
171
+ if (t.testId !== undefined)
172
+ return `test id ${quote(t.testId)}`;
173
+ if (t.label !== undefined)
174
+ return `label ${quote(t.label)}`;
175
+ return `${t.role ?? "control"} ${quote(t.name)}`;
176
+ }
177
+ function quote(s) {
178
+ return s === undefined ? "(none)" : JSON.stringify(s);
179
+ }
180
+ function dedupe(cs) {
181
+ const seen = new Set();
182
+ return cs.filter((c) => {
183
+ const k = JSON.stringify(c.step);
184
+ if (seen.has(k))
185
+ return false;
186
+ seen.add(k);
187
+ return true;
188
+ });
68
189
  }
69
- function describeBrokenStepGoal(step) {
70
- return `Perform the equivalent of a "${step.kind}" step to satisfy the expected postcondition — the site appears to have changed since this step was recorded.`;
190
+ /** `p`, or a rejection once the `clock.now()` instant `deadlineAtMs` passes. */
191
+ function withDeadline(p, deadlineAtMs) {
192
+ const left = deadlineAtMs - clock.now();
193
+ if (left <= 0)
194
+ return Promise.reject(new Error("heal deadline passed"));
195
+ return new Promise((resolve, reject) => {
196
+ const timer = clock.setTimeout(() => reject(new Error("heal deadline passed")), left);
197
+ p.then((v) => {
198
+ clock.clearTimeout(timer);
199
+ resolve(v);
200
+ }, (e) => {
201
+ clock.clearTimeout(timer);
202
+ reject(e instanceof Error ? e : new Error(String(e)));
203
+ });
204
+ });
71
205
  }
72
206
  //# sourceMappingURL=self-heal-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"self-heal-adapter.js","sourceRoot":"","sources":["../src/self-heal-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAsB,EAAE,UAA0B;IACtF,OAAO;QACL,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,cAAc,EAAE,OAAO,EAAE;YACrF,MAAM,SAAS,GAAG,cAAc,IAAI,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC;gBACvC,IAAI,EAAE,sBAAsB,CAAC,UAAU,CAAC;gBACxC,gBAAgB,EAAE,qBAAqB;gBACvC,SAAS;gBACT,sEAAsE;gBACtE,mDAAmD;gBACnD,2DAA2D;gBAC3D,kEAAkE;gBAClE,mBAAmB;gBACnB,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC;gBACtC,KAAK;gBACL,KAAK,EAAE,QAAQ;gBACf,GAAG,EAAE,UAAU;gBACf,6FAA6F;gBAC7F,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;aACtE,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW;gBACnC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE;gBAClD,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,oBAAoB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9E,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;qDAGqD;AACrD,SAAS,UAAU,CAAC,KAAY,EAAE,eAAkC;IAClE,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAU;IACxC,OAAO,gCAAgC,IAAI,CAAC,IAAI,+GAA+G,CAAC;AAClK,CAAC"}
1
+ {"version":3,"file":"self-heal-adapter.js","sourceRoot":"","sources":["../src/self-heal-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { TAG_FLAG, TAG_HELP, collectTag, taggedAction } from "./run-tags-cli.js";
2
2
  import { existsSync } from "node:fs";
3
3
  import { ParamValidationError } from "@jevitate/journey";
4
+ import { journeyExitCode } from "@jevitate/domain";
4
5
  import { ok, fail } from "./envelope.js";
5
6
  import { SiteGateRefusedError } from "@jevitate/runtime";
6
7
  import { UnknownJourneyError, JourneyRequiresAuthError } from "./journey-api.js";
@@ -236,12 +237,13 @@ export function registerSourceCommands(program, deps) {
236
237
  const envelope = ok(result);
237
238
  if (json) {
238
239
  emitJson(program, envelope);
239
- if (result.outcome === "quarantined")
240
- process.exitCode = 1;
240
+ const code = journeyExitCode(result.outcome);
241
+ if (code !== 0)
242
+ process.exitCode = code;
241
243
  }
242
244
  else {
243
245
  writeRawResult(program, result);
244
- process.exitCode = result.outcome === "quarantined" ? 1 : 0;
246
+ process.exitCode = journeyExitCode(result.outcome);
245
247
  }
246
248
  }
247
249
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"source-cli.js","sourceRoot":"","sources":["../src/source-cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-cli.js","sourceRoot":"","sources":["../src/source-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAyB,MAAM,qBAAqB,CAAC;AACzG,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EAEjB,sBAAsB,EACtB,aAAa,EAEb,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,4EAA4E;AAC5E,MAAM,UAAU,sBAAsB,CAAC,OAAgB,EAAE,IAAa;IACpE,yEAAyE;IACzE,6EAA6E;IAC7E,mCAAmC;IACnC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,yEAAyE,CAAC,CAAC;IAEhI,MAAM;SACH,OAAO,CAAC,qBAAqB,CAAC;SAC9B,MAAM,CAAC,cAAc,EAAE,uFAAuF,CAAC;SAC/G,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,WAA0B,IAAY,EAAE,MAAc;QACjE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAA2C,CAAC;QACjF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBACtC,IAAI;gBACJ,MAAM;gBACN,SAAS,EAAE,SAAS,IAAI,KAAK;gBAC7B,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC;aACjC,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;gBAC/C,GAAG,EAAE,CAAC,UAAU,IAAI,eAAe,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;gBAC5D,GAAG,EAAE,CAAC,oBAAoB,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;gBACzD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK;oBAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;gBAC1F,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,0FAA0F,CAAC,CAAC;gBAC/I,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;gBACzC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK;QACX,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAsB,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;gBAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzB,GAAG,EAAE,CAAC,uEAAuE,CAAC,CAAC;gBACjF,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACxB,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,YAAY,cAAc,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAClG,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,aAAa,CAAC;SACtB,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,WAA0B,IAAY;QACjD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAsB,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,IAAI,uBAAuB,MAAM,CAAC,YAAY,qCAAqC,CAAC,CAAC;gBACrI,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBACtC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,eAAe,CAAC;SACxB,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,WAA0B,IAAY;QACjD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAsB,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,YAAY,IAAI,kBAAkB,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;gBAChG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBACtC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,eAAe,CAAC;SACxB,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,WAA0B,IAAY;QACjD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAsB,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC;gBAC5D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBACtC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,0BAA0B,CAAC;SACnC,WAAW,CAAC,6EAA6E,CAAC;SAC1F,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,KAAK,WAA0B,IAAY,EAAE,SAAiB;QACpE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAsB,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE;gBAC5D,UAAU,EAAE,IAAI;gBAChB,SAAS;gBACT,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC;aACpC,CAAC,CAAC;YACH,oEAAoE;YACpE,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;YAC7K,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,YAAY,IAAI,IAAI,SAAS,QAAQ,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;gBAClG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBACtC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBAC9C,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,0BAA0B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,yEAAyE;IACzE,8EAA8E;IAC9E,8EAA8E;IAC9E,qEAAqE;IACrE,8EAA8E;IAC9E,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,sBAAsB,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC;SACjF,WAAW,CAAC,iEAAiE,CAAC;SAC9E,MAAM,CAAC,cAAc,EAAE,iCAAiC,EAAE,YAAY,EAAE,EAA4B,CAAC;SACrG,MAAM,CACL,wBAAwB,EACxB,8IAA8I,CAC/I;SACA,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC;SAC1C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,WAA0B,IAAY,EAAE,SAAiB;QACxG,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,IAAI,EAI7C,CAAC;QACtB,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5D,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,4BAA4B,YAAY,EAAE,CAAC,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QACD,IAAI,kBAA6C,CAAC;QAClD,IAAI,CAAC;YACH,kBAAkB,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/F,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,OAAO,GAAqB;gBAChC,GAAG,oBAAoB,CAAC,IAAI,CAAC;gBAC7B,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,yBAAyB;aAClE,CAAC;YACF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBACxG,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;gBAC/C,UAAU,EAAE,IAAI;gBAChB,SAAS;gBACT,MAAM,EAAE,KAAK;gBACb,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;gBAC9E,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAsB,CAAC;aAClD,CAAC,CAAC,CAAC,CAAC;YACL,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,IAAI,EAAE,CAAC;gBACT,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC5B,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC7C,IAAI,IAAI,KAAK,CAAC;oBAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAChC,OAAO,CAAC,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mEAAmE;YACnE,mEAAmE;YACnE,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;gBACxC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACjD,CAAC;iBAAM,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBAC7C,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;gBAC5C,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,4BAA4B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACrE,CAAC;iBAAM,IAAI,GAAG,YAAY,0BAA0B,EAAE,CAAC;gBACrD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;gBAChD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9D,CAAC;iBAAM,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;gBAC7C,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBAC9C,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9D,CAAC;iBAAM,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;gBAChD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,+BAA+B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACxE,CAAC;iBAAM,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;gBAC/C,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,GAAG,YAAY,wBAAwB,EAAE,CAAC;gBACnD,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,yBAAyB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -150,6 +150,7 @@ export const SUITE_EXCLUDED_EXPLORE_OPTIONS = {
150
150
  jevitateRepo: "a check is a CI gate: findings are reported in JUnit/SARIF/report.md, never filed mid-run",
151
151
  repeat: "a check gates each item once by finding identity; track flakes across checks with --baseline",
152
152
  minAgreement: "a check gates each item once by finding identity; track flakes across checks with --baseline",
153
+ target: "#451: a check item is attributed by its suite item id (stamped on every item result); `explore --target` is for a standalone run",
153
154
  tag: "#426: tags are per check — `jevitate check --tag` stamps every item result; a suite item takes none of its own",
154
155
  authCheck: "#427: the pre-flight auth check runs before `explore` runs and queued missions; a check runs its items' missions directly, without it — mint the suite's sessions with `jevitate login` before `jevitate check`",
155
156
  typeFixture: "#281: a file typed verbatim into a field is an `explore --type-fixture` binding; a suite goal declares none",
@@ -1 +1 @@
1
- {"version":3,"file":"suite-explore-options.js","sourceRoot":"","sources":["../src/suite-explore-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suite-explore-options.js","sourceRoot":"","sources":["../src/suite-explore-options.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,11 @@ export interface SweepPlan {
79
79
  readonly outDir: string;
80
80
  /** `--stop-on-env-failure K`: abort when the first K runs all failed for environment/setup reasons. */
81
81
  readonly stopOnEnvFailure?: number;
82
+ /**
83
+ * #452: retry a target that ended `host-starved` ONCE after the load drops (default: on).
84
+ * `--no-host-starved-retry` sets false: the first (starved) result is recorded.
85
+ */
86
+ readonly retryHostStarved?: boolean;
82
87
  /** The sweep's own `--tag`s, added to every run (a target's own tag of the same key wins). */
83
88
  readonly tags: Readonly<Record<string, string>>;
84
89
  /** Flags every run is invoked with (the sweep's forwarded operator flags, the AI mode). */
@@ -122,6 +127,10 @@ export interface SweepTargetResult {
122
127
  readonly kind: string;
123
128
  readonly message: string;
124
129
  };
130
+ /** #452: the target was retried once after a `host-starved` first attempt (this row is the retry); the first attempt's reason. */
131
+ readonly hostStarvedRetry?: {
132
+ readonly firstAttempt: string;
133
+ };
125
134
  /** How many defects (and hangs) the run reported. */
126
135
  readonly defects: number;
127
136
  readonly resultPath?: string;
@@ -191,6 +200,10 @@ export interface SweepResult {
191
200
  readonly byOutcome: Readonly<Record<string, number>>;
192
201
  readonly defects: number;
193
202
  readonly environmentFailures: number;
203
+ /** #448: goal runs that executed zero actions (`goalOutcome: not-started`) — counted apart, never as exercised. */
204
+ readonly notStarted: number;
205
+ /** #452: targets re-run once after a `host-starved` first attempt. */
206
+ readonly retried: number;
194
207
  };
195
208
  readonly targets: readonly SweepTargetResult[];
196
209
  readonly defects: readonly SweepDefect[];
@@ -250,6 +263,12 @@ export declare function aggregateSweep(args: {
250
263
  export interface RunSweepOptions {
251
264
  readonly plan: SweepPlan;
252
265
  readonly runOnce: SweepRunOnce;
266
+ /**
267
+ * #452: waits (bounded) for the host's load to drop before a `host-starved` target is retried.
268
+ * Default: polls the host's load per core until it is back under the starvation threshold, at most
269
+ * `HOST_STARVED_WAIT_MS`. A test seam; resolves either way (the retry then runs once regardless).
270
+ */
271
+ readonly awaitLowLoad?: () => Promise<void>;
253
272
  readonly nowIso?: () => string;
254
273
  /**
255
274
  * Armed for the whole sweep: `onKill` must be called SYNCHRONOUSLY on a kill signal; it rewrites
@@ -257,6 +276,10 @@ export interface RunSweepOptions {
257
276
  */
258
277
  readonly armKill?: (onKill: (signal: string, exitCode: number) => SweepResult) => () => void;
259
278
  }
279
+ /** #452: the longest a sweep waits for load to drop before retrying a `host-starved` target. */
280
+ export declare const HOST_STARVED_WAIT_MS = 120000;
281
+ /** Polls the host until its load per core is under the starvation threshold (or the bound elapses). */
282
+ export declare function awaitLowHostLoad(probe?: import("@jevitate/explore").HostProbe, waitMs?: number): Promise<void>;
260
283
  /** The default sweep directory: `.jevitate/logs/<date>/sweep-<stamp>`. */
261
284
  export declare function defaultSweepOutDir(iso?: string): string;
262
285
  /**
package/dist/sweep-api.js CHANGED
@@ -8,7 +8,7 @@ import { summarizeRun } from "./multi-run.js";
8
8
  import { CLI_TOOL_SPECS, buildCliArgv } from "./mcp-cli-tools.js";
9
9
  import { confineMcpPath, defaultMcpPathRoots } from "./mcp-paths.js";
10
10
  import { EXPLORE_STRATEGIES } from "./cli-shared.js";
11
- import { validateAllowControlPatterns, validateDenyPatterns } from "@jevitate/explore";
11
+ import { STARVED_LOAD_PER_CORE, hostProbe, validateAllowControlPatterns, validateDenyPatterns } from "@jevitate/explore";
12
12
  import { parseAuthCheck } from "./persona-login.js";
13
13
  /**
14
14
  * `jevitate sweep` (#425): one release check over many targets (features/routes) × personas, run
@@ -492,6 +492,7 @@ const ENVIRONMENT_FAILURE_KINDS = new Set([
492
492
  "target-unresponsive",
493
493
  "configuration",
494
494
  "degraded-environment",
495
+ "host-starved",
495
496
  "resource-limit",
496
497
  "browser-disconnected",
497
498
  ]);
@@ -646,6 +647,8 @@ export function targetArgv(plan, target, runDir) {
646
647
  "explore",
647
648
  "--url",
648
649
  target.url,
650
+ "--target",
651
+ target.id,
649
652
  ...(target.strategy === undefined ? [] : ["--strategy", target.strategy]),
650
653
  ...(target.goal === undefined ? [] : ["--goal", target.goal]),
651
654
  ...(target.persona === undefined ? [] : ["--storage-state", target.persona.storageState]),
@@ -735,12 +738,29 @@ export function aggregateSweep(args) {
735
738
  byOutcome,
736
739
  defects: defects.filter((d) => d.advisory !== true).length,
737
740
  environmentFailures: done.filter((r) => r.environmentFailure !== undefined).length,
741
+ notStarted: done.filter((r) => r.goalOutcome === "not-started").length,
742
+ retried: done.filter((r) => r.hostStarvedRetry !== undefined).length,
738
743
  },
739
744
  targets: rows,
740
745
  defects,
741
746
  environment: { causes: groupEnvironmentCauses(finished), failures },
742
747
  };
743
748
  }
749
+ /** #452: the longest a sweep waits for load to drop before retrying a `host-starved` target. */
750
+ export const HOST_STARVED_WAIT_MS = 120_000;
751
+ const HOST_STARVED_POLL_MS = 5_000;
752
+ /** Polls the host until its load per core is under the starvation threshold (or the bound elapses). */
753
+ export async function awaitLowHostLoad(probe = hostProbe(), waitMs = HOST_STARVED_WAIT_MS) {
754
+ const deadline = clock.now() + waitMs;
755
+ for (;;) {
756
+ const p = await probe();
757
+ if (p.overThreshold === null && (p.loadPerCore ?? 0) <= STARVED_LOAD_PER_CORE)
758
+ return;
759
+ if (clock.now() >= deadline)
760
+ return;
761
+ await clock.sleep(HOST_STARVED_POLL_MS);
762
+ }
763
+ }
744
764
  /** The default sweep directory: `.jevitate/logs/<date>/sweep-<stamp>`. */
745
765
  export function defaultSweepOutDir(iso = clock.nowIso()) {
746
766
  return join(logsDirFor(iso), `sweep-${artifactStamp(iso)}`);
@@ -784,15 +804,26 @@ export async function runSweep(opts) {
784
804
  const runDir = join(plan.outDir, target.id);
785
805
  mkdirSync(runDir, { recursive: true });
786
806
  const envelopePath = join(runDir, "run.envelope.json");
787
- let envelope;
788
- try {
789
- envelope = await opts.runOnce({ target, argv: targetArgv(plan, target, runDir), runDir });
790
- }
791
- catch (err) {
792
- envelope = { ok: false, error: { code: "E_SWEEP_RUN", message: err instanceof Error ? err.message : String(err) } };
807
+ const attempt = async () => {
808
+ try {
809
+ return await opts.runOnce({ target, argv: targetArgv(plan, target, runDir), runDir });
810
+ }
811
+ catch (err) {
812
+ return { ok: false, error: { code: "E_SWEEP_RUN", message: err instanceof Error ? err.message : String(err) } };
813
+ }
814
+ };
815
+ let envelope = await attempt();
816
+ let row = targetResultOf(target, envelope, "ran", envelopePath, runTagsFor(plan, target));
817
+ // #452: a target whose run stalled on a starved host is retried ONCE, after the load drops, instead of
818
+ // being recorded as a failure.
819
+ let retry;
820
+ if (plan.retryHostStarved !== false && row.failure?.kind === "host-starved") {
821
+ retry = { firstAttempt: row.failure.message };
822
+ await (opts.awaitLowLoad ?? (() => awaitLowHostLoad()))();
823
+ envelope = await attempt();
824
+ row = { ...targetResultOf(target, envelope, "ran", envelopePath, runTagsFor(plan, target)), hostStarvedRetry: retry };
793
825
  }
794
826
  writeJson(envelopePath, envelope);
795
- const row = targetResultOf(target, envelope, "ran", envelopePath, runTagsFor(plan, target));
796
827
  rows[i] = row;
797
828
  if (envelope.ok)
798
829
  finished.push({ target: target.id, envelope, ...(row.resultPath === undefined ? {} : { resultPath: row.resultPath }) });