@intentius/chant 0.124.25 → 0.124.27
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/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +4 -2
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js +4 -2
- package/dist/cli/handlers/approve.d.ts.map +1 -1
- package/dist/cli/handlers/approve.js +39 -4
- package/dist/gate-decision.d.ts +1 -1
- package/dist/gate-decision.d.ts.map +1 -1
- package/dist/gate-decision.js +1 -1
- package/dist/lifecycle/gate-audit.d.ts +7 -1
- package/dist/lifecycle/gate-audit.d.ts.map +1 -1
- package/dist/lifecycle/gate-audit.js +40 -3
- package/dist/lifecycle/gate-checkpoint.d.ts +78 -0
- package/dist/lifecycle/gate-checkpoint.d.ts.map +1 -0
- package/dist/lifecycle/gate-checkpoint.js +103 -0
- package/dist/lifecycle/gate-ledger.d.ts +41 -0
- package/dist/lifecycle/gate-ledger.d.ts.map +1 -1
- package/dist/lifecycle/gate-ledger.js +18 -0
- package/dist/lifecycle/run-ledger.d.ts +2 -0
- package/dist/lifecycle/run-ledger.d.ts.map +1 -1
- package/dist/lifecycle/run-ledger.js +2 -0
- package/dist/lint/rules/op/index.d.ts +6 -2
- package/dist/lint/rules/op/index.d.ts.map +1 -1
- package/dist/lint/rules/op/index.js +7 -3
- package/dist/lint/rules/op/ops016-gate-resume.d.ts +14 -0
- package/dist/lint/rules/op/ops016-gate-resume.d.ts.map +1 -0
- package/dist/lint/rules/op/ops016-gate-resume.js +31 -0
- package/dist/lint/rules/op/ops017-gate-alias.d.ts +30 -0
- package/dist/lint/rules/op/ops017-gate-alias.d.ts.map +1 -0
- package/dist/lint/rules/op/ops017-gate-alias.js +67 -0
- package/dist/op/activity-contract.d.ts +14 -0
- package/dist/op/activity-contract.d.ts.map +1 -1
- package/dist/op/activity-contract.js +16 -0
- package/dist/op/activity-registry.d.ts +6 -3
- package/dist/op/activity-registry.d.ts.map +1 -1
- package/dist/op/activity-registry.js +7 -5
- package/dist/op/builders.d.ts +7 -0
- package/dist/op/builders.d.ts.map +1 -1
- package/dist/op/builders.js +13 -0
- package/dist/op/discover.d.ts.map +1 -1
- package/dist/op/discover.js +14 -7
- package/dist/op/gate-alias.d.ts +57 -0
- package/dist/op/gate-alias.d.ts.map +1 -0
- package/dist/op/gate-alias.js +127 -0
- package/dist/op/gate-checkpoint.d.ts +123 -0
- package/dist/op/gate-checkpoint.d.ts.map +1 -0
- package/dist/op/gate-checkpoint.js +280 -0
- package/dist/op/gate.d.ts +54 -2
- package/dist/op/gate.d.ts.map +1 -1
- package/dist/op/gate.js +142 -1
- package/dist/op/index.d.ts +4 -1
- package/dist/op/index.d.ts.map +1 -1
- package/dist/op/index.js +2 -1
- package/dist/op/local-executor.d.ts +57 -2
- package/dist/op/local-executor.d.ts.map +1 -1
- package/dist/op/local-executor.js +136 -6
- package/dist/op/local-output.d.ts.map +1 -1
- package/dist/op/local-output.js +20 -2
- package/dist/op/op-ir.d.ts +4 -0
- package/dist/op/op-ir.d.ts.map +1 -1
- package/dist/op/op-ir.js +4 -0
- package/dist/op/runtime.d.ts +15 -0
- package/dist/op/runtime.d.ts.map +1 -1
- package/dist/op/runtimes/local.d.ts.map +1 -1
- package/dist/op/runtimes/local.js +9 -2
- package/dist/op/types.d.ts +31 -0
- package/dist/op/types.d.ts.map +1 -1
- package/dist/wave-runtime.mjs +225 -245
- package/dist/workspace/trust/gate-seal.d.ts +32 -1
- package/dist/workspace/trust/gate-seal.d.ts.map +1 -1
- package/dist/workspace/trust/gate-seal.js +41 -2
- package/dist/workspace/trust/seal.d.ts +1 -1
- package/dist/workspace/trust/seal.d.ts.map +1 -1
- package/dist/workspace/trust/seal.js +1 -1
- package/package.json +1 -1
- package/src/cli/commands/build.ts +9 -2
- package/src/cli/commands/lint.ts +4 -2
- package/src/cli/compiled-cli.e2e.test.ts +31 -6
- package/src/cli/handlers/approve.ts +46 -4
- package/src/cli/handlers/operator.test.ts +91 -0
- package/src/gate-decision.ts +2 -0
- package/src/lifecycle/gate-audit.ts +41 -4
- package/src/lifecycle/gate-checkpoint.test.ts +128 -0
- package/src/lifecycle/gate-checkpoint.ts +133 -0
- package/src/lifecycle/gate-ledger.ts +61 -0
- package/src/lifecycle/run-ledger.ts +4 -0
- package/src/lint/rules/op/index.ts +9 -3
- package/src/lint/rules/op/ops016-gate-resume.test.ts +53 -0
- package/src/lint/rules/op/ops016-gate-resume.ts +48 -0
- package/src/lint/rules/op/ops017-gate-alias.test.ts +85 -0
- package/src/lint/rules/op/ops017-gate-alias.ts +89 -0
- package/src/op/activity-contract.ts +22 -1
- package/src/op/activity-registry.ts +7 -5
- package/src/op/builders.ts +21 -1
- package/src/op/discover-root.test.ts +39 -0
- package/src/op/discover.ts +15 -8
- package/src/op/gate-alias.e2e.test.ts +78 -0
- package/src/op/gate-alias.test.ts +350 -0
- package/src/op/gate-alias.ts +137 -0
- package/src/op/gate-checkpoint.test.ts +284 -0
- package/src/op/gate-checkpoint.ts +322 -0
- package/src/op/gate.ts +198 -4
- package/src/op/index.ts +4 -1
- package/src/op/local-executor.ts +180 -7
- package/src/op/local-output.ts +18 -2
- package/src/op/op-ir.test.ts +25 -0
- package/src/op/op-ir.ts +8 -0
- package/src/op/runtime.ts +8 -0
- package/src/op/runtimes/local.ts +9 -2
- package/src/op/types.ts +32 -0
- package/src/workspace/trust/gate-seal.test.ts +29 -2
- package/src/workspace/trust/gate-seal.ts +46 -2
- package/src/workspace/trust/seal.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate-ledger.d.ts","sourceRoot":"","sources":["../../src/lifecycle/gate-ledger.ts"],"names":[],"mappings":"AA6CA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGxF,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAI9B,sHAAsH;AACtH,eAAO,MAAM,SAAS,WAAM,CAAC;AAI7B;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;CAChC;AAED,4CAA4C;AAC5C,MAAM,WAAW,oBAAoB;IACnC,wFAAwF;IACxF,OAAO,EAAE,CAAC,CAAC;IACX,8KAA8K;IAC9K,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,0HAA0H;IAC1H,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8FAA8F;IAC9F,SAAS,EAAE,MAAM,CAAC;IAClB,oLAAoL;IACpL,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB;;;;;OAKG;IACH,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC3D;;;;;OAKG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"gate-ledger.d.ts","sourceRoot":"","sources":["../../src/lifecycle/gate-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,12 @@ const DIR = "_gates";
|
|
|
53
53
|
/** The directory on the `chant/lifecycle` branch that holds gate ledgers, under a member's prefix when it has one. */
|
|
54
54
|
export const GATES_DIR = DIR;
|
|
55
55
|
const APPEND_RETRY_ATTEMPTS = 5;
|
|
56
|
+
/** Whether `raw` is a {@link GateCarriedFrom}. */
|
|
57
|
+
export function isGateCarriedFrom(raw) {
|
|
58
|
+
const c = raw;
|
|
59
|
+
return (!!c && typeof c === "object" && !Array.isArray(c) && typeof c.op === "string" && typeof c.gate === "string" &&
|
|
60
|
+
typeof c.timestamp === "string" && (c.checkpointDigest === undefined || typeof c.checkpointDigest === "string"));
|
|
61
|
+
}
|
|
56
62
|
function filename(op) {
|
|
57
63
|
return `${op}.jsonl`;
|
|
58
64
|
}
|
|
@@ -166,6 +172,12 @@ export function parseGateLedger(content) {
|
|
|
166
172
|
malformed++;
|
|
167
173
|
continue;
|
|
168
174
|
}
|
|
175
|
+
// #3947: and for the checkpoint an approval lets a run resume from.
|
|
176
|
+
const rawCheckpoint = parsed.checkpointDigest;
|
|
177
|
+
if (rawCheckpoint !== undefined && typeof rawCheckpoint !== "string") {
|
|
178
|
+
malformed++;
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
169
181
|
if (parsed.kind === "pending") {
|
|
170
182
|
if (typeof parsed.expiresAt !== "string") {
|
|
171
183
|
malformed++;
|
|
@@ -186,6 +198,12 @@ export function parseGateLedger(content) {
|
|
|
186
198
|
malformed++;
|
|
187
199
|
continue;
|
|
188
200
|
}
|
|
201
|
+
// #3949: a carried approval's seal is checked against the line it cites, so the citation must be whole.
|
|
202
|
+
const rawCarried = parsed.carriedFrom;
|
|
203
|
+
if (rawCarried !== undefined && !isGateCarriedFrom(rawCarried)) {
|
|
204
|
+
malformed++;
|
|
205
|
+
continue;
|
|
206
|
+
}
|
|
189
207
|
resolutions.push(parsed);
|
|
190
208
|
}
|
|
191
209
|
catch {
|
|
@@ -24,6 +24,8 @@ export declare function buildRunRecord(config: Pick<OpConfig, "name" | "labels">
|
|
|
24
24
|
gate?: OpRunRecord["gate"];
|
|
25
25
|
point?: OpRunRecord["point"];
|
|
26
26
|
steward?: string;
|
|
27
|
+
/** The gate the run resumed at, for a run that resumed (#3947). */
|
|
28
|
+
resumed?: OpRunRecord["resumed"];
|
|
27
29
|
/** Each phase's wall-clock time, by name, as the executor measured it. */
|
|
28
30
|
phaseDurations?: Record<string, number>;
|
|
29
31
|
}): OpRunRecordInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-ledger.d.ts","sourceRoot":"","sources":["../../src/lifecycle/run-ledger.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAqC,MAAM,eAAe,CAAC;AAStG,0EAA0E;AAC1E,eAAO,MAAM,eAAe,UAAU,CAAC;AAMvC,8FAA8F;AAC9F,wBAAgB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,CAEjE;AAQD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,EACzC,OAAO,EAAE,SAAS,UAAU,EAAE,EAC9B,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC,GACA,gBAAgB,
|
|
1
|
+
{"version":3,"file":"run-ledger.d.ts","sourceRoot":"","sources":["../../src/lifecycle/run-ledger.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAqC,MAAM,eAAe,CAAC;AAStG,0EAA0E;AAC1E,eAAO,MAAM,eAAe,UAAU,CAAC;AAMvC,8FAA8F;AAC9F,wBAAgB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,CAEjE;AAQD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,EACzC,OAAO,EAAE,SAAS,UAAU,EAAE,EAC9B,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC,GACA,gBAAgB,CA+ClB;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,gBAAgB,EACvB,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACtB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAsBlD;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BxD"}
|
|
@@ -89,6 +89,7 @@ export function buildRunRecord(config, records, times) {
|
|
|
89
89
|
...(record.refusal !== undefined ? { refusal: record.refusal } : {}),
|
|
90
90
|
...(record.point ? { point: record.point } : {}),
|
|
91
91
|
...(record.gate ? { gate: record.gate } : {}),
|
|
92
|
+
...(record.resumed ? { resumed: record.resumed } : {}),
|
|
92
93
|
});
|
|
93
94
|
if (record.outcome)
|
|
94
95
|
outcomes[record.outcome.name] = record.outcome.value;
|
|
@@ -112,6 +113,7 @@ export function buildRunRecord(config, records, times) {
|
|
|
112
113
|
...(times.gate ? { gate: times.gate } : {}),
|
|
113
114
|
...(times.point ? { point: times.point } : {}),
|
|
114
115
|
...(times.steward ? { steward: times.steward } : {}),
|
|
116
|
+
...(times.resumed ? { resumed: times.resumed } : {}),
|
|
115
117
|
};
|
|
116
118
|
}
|
|
117
119
|
/**
|
|
@@ -14,15 +14,19 @@ export { ops012 } from "./ops012-activity-contract.js";
|
|
|
14
14
|
export { ops013 } from "./ops013-step-output-ref.js";
|
|
15
15
|
export { ops014 } from "./ops014-converge-rule-refusals.js";
|
|
16
16
|
export { ops015 } from "./ops015-gate-approval.js";
|
|
17
|
+
export { ops016 } from "./ops016-gate-resume.js";
|
|
18
|
+
export { ops017, ops017Check, workspaceIdentityGates } from "./ops017-gate-alias.js";
|
|
17
19
|
export { sys010, sys010Check } from "./sys010-key-over-plain-http.js";
|
|
18
20
|
export interface CoreOpCheckOptions {
|
|
19
21
|
/** `decide.backends` from the project's chant.config, for SYS010 (#2828). */
|
|
20
22
|
decideBackends?: Record<string, Pick<DecideBackend, "url" | "key">>;
|
|
23
|
+
/** The workspace's `identity.gates`, gate to class, for OPS017 (#3949): `workspaceIdentityGates`' answer. */
|
|
24
|
+
identityGates?: ReadonlyMap<string, string | null>;
|
|
21
25
|
}
|
|
22
26
|
/**
|
|
23
27
|
* Core's own post-synth checks over the Op model: OPS012, OPS013, OPS014,
|
|
24
|
-
* OPS015,
|
|
25
|
-
* backends.
|
|
28
|
+
* OPS015, OPS016, OPS017 over the workspace's `identity.gates`, and SYS010
|
|
29
|
+
* over the `decide` steps and the configured decide backends.
|
|
26
30
|
*/
|
|
27
31
|
export declare function coreOpChecks(opts?: CoreOpCheckOptions): PostSynthCheck[];
|
|
28
32
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/op/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/op/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;IACpE,6GAA6G;IAC7G,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;CACpD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,GAAE,kBAAuB,GAAG,cAAc,EAAE,CAE5E"}
|
|
@@ -12,17 +12,21 @@ import { ops012 } from "./ops012-activity-contract.js";
|
|
|
12
12
|
import { ops013 } from "./ops013-step-output-ref.js";
|
|
13
13
|
import { ops014 } from "./ops014-converge-rule-refusals.js";
|
|
14
14
|
import { ops015 } from "./ops015-gate-approval.js";
|
|
15
|
+
import { ops016 } from "./ops016-gate-resume.js";
|
|
16
|
+
import { ops017Check } from "./ops017-gate-alias.js";
|
|
15
17
|
import { sys010Check } from "./sys010-key-over-plain-http.js";
|
|
16
18
|
export { ops012 } from "./ops012-activity-contract.js";
|
|
17
19
|
export { ops013 } from "./ops013-step-output-ref.js";
|
|
18
20
|
export { ops014 } from "./ops014-converge-rule-refusals.js";
|
|
19
21
|
export { ops015 } from "./ops015-gate-approval.js";
|
|
22
|
+
export { ops016 } from "./ops016-gate-resume.js";
|
|
23
|
+
export { ops017, ops017Check, workspaceIdentityGates } from "./ops017-gate-alias.js";
|
|
20
24
|
export { sys010, sys010Check } from "./sys010-key-over-plain-http.js";
|
|
21
25
|
/**
|
|
22
26
|
* Core's own post-synth checks over the Op model: OPS012, OPS013, OPS014,
|
|
23
|
-
* OPS015,
|
|
24
|
-
* backends.
|
|
27
|
+
* OPS015, OPS016, OPS017 over the workspace's `identity.gates`, and SYS010
|
|
28
|
+
* over the `decide` steps and the configured decide backends.
|
|
25
29
|
*/
|
|
26
30
|
export function coreOpChecks(opts = {}) {
|
|
27
|
-
return [ops012, ops013, ops014, ops015, sys010Check(opts.decideBackends)];
|
|
31
|
+
return [ops012, ops013, ops014, ops015, ops016, ops017Check(opts.identityGates), sys010Check(opts.decideBackends)];
|
|
28
32
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OPS016: a gate that resumes (`resume: true`, #3947) can. It sits at the top
|
|
3
|
+
* of a main phase, asks no decision point, is not in an Op with a
|
|
4
|
+
* `workLease`, names a plan step that runs before it when its plan is a
|
|
5
|
+
* reference, and no step after it reads an output an activity contract marks
|
|
6
|
+
* secret, since a checkpoint never stores one.
|
|
7
|
+
*
|
|
8
|
+
* The run itself treats a gate that fails one of these as one that doesn't
|
|
9
|
+
* resume. This check makes that a build error instead of a quiet re-run from
|
|
10
|
+
* the first phase. Contracts come from the same merged map OPS013 uses.
|
|
11
|
+
*/
|
|
12
|
+
import type { PostSynthCheck } from "../../post-synth.js";
|
|
13
|
+
export declare const ops016: PostSynthCheck;
|
|
14
|
+
//# sourceMappingURL=ops016-gate-resume.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ops016-gate-resume.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/op/ops016-gate-resume.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kBAAkB,CAAC;AAW9F,eAAO,MAAM,MAAM,EAAE,cAyBpB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { mergeActivityContracts } from "../../../op/index.js";
|
|
2
|
+
import { validateGateResume } from "../../../op/gate-checkpoint.js";
|
|
3
|
+
import * as contracts from "../../../op/activities/activity-contracts.js";
|
|
4
|
+
import { isOpEntity } from "./support.js";
|
|
5
|
+
const CONTRACTS = new Map(Object.values(contracts).map((c) => [c.name, c]));
|
|
6
|
+
export const ops016 = {
|
|
7
|
+
id: "OPS016",
|
|
8
|
+
description: "A gate with resume: true can resume: at the top of a main phase, no decision point or workLease, a plan step before it, and no secret output read after it",
|
|
9
|
+
check(ctx) {
|
|
10
|
+
const diagnostics = [];
|
|
11
|
+
const activeContracts = mergeActivityContracts(CONTRACTS, ctx.activityContracts);
|
|
12
|
+
for (const [entityKey, entity] of ctx.entities) {
|
|
13
|
+
if (!isOpEntity(entity))
|
|
14
|
+
continue;
|
|
15
|
+
const rec = entity;
|
|
16
|
+
const props = (entity.props ?? {});
|
|
17
|
+
if (typeof props.name !== "string" || !Array.isArray(props.phases))
|
|
18
|
+
continue;
|
|
19
|
+
for (const issue of validateGateResume(props, activeContracts)) {
|
|
20
|
+
diagnostics.push({
|
|
21
|
+
checkId: "OPS016",
|
|
22
|
+
severity: "error",
|
|
23
|
+
message: `Op "${issue.opName}", phase "${issue.phase}", ${issue.fn}: ${issue.message}`,
|
|
24
|
+
entity: entityKey,
|
|
25
|
+
lexicon: typeof rec.lexicon === "string" ? rec.lexicon : undefined,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return diagnostics;
|
|
30
|
+
},
|
|
31
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OPS017: a gate's aliases (#3949) can stand. An alias admits approvals of
|
|
3
|
+
* the plan a run planned, so the gate must bind a `plan`, and a gate that
|
|
4
|
+
* asks a decision point takes none. An alias must not name a gate that still
|
|
5
|
+
* exists in the build, or one approval would answer two gates, and two gates
|
|
6
|
+
* must not claim one alias. When the workspace's `identity.gates` names an
|
|
7
|
+
* alias, the new gate must be named too, with the alias's class, or
|
|
8
|
+
* approvals that needed a seal would count without one.
|
|
9
|
+
*
|
|
10
|
+
* The identity rules come from the caller, as SYS010's decide backends do:
|
|
11
|
+
* `chant build` and `chant lint` read them with
|
|
12
|
+
* {@link workspaceIdentityGates}, which loads workspace code only when an Op
|
|
13
|
+
* has aliases and the project sits in a workspace. Without them that part
|
|
14
|
+
* is skipped.
|
|
15
|
+
*/
|
|
16
|
+
import type { PostSynthCheck } from "../../post-synth.js";
|
|
17
|
+
/**
|
|
18
|
+
* The gates the workspace around `projectDir` names under `identity.gates`,
|
|
19
|
+
* each with its class (null for any signer), for OPS017. Undefined when no
|
|
20
|
+
* Op among `entities` has aliases, outside a workspace, or when the
|
|
21
|
+
* declaration can't be read, which `chant workspace check` reports. The
|
|
22
|
+
* workspace modules load only past the first two checks, so a level-0
|
|
23
|
+
* build loads none.
|
|
24
|
+
*/
|
|
25
|
+
export declare function workspaceIdentityGates(projectDir: string, entities: Iterable<[string, unknown]>): Promise<Map<string, string | null> | undefined>;
|
|
26
|
+
/** OPS017, judging `identity.gates` by `identityGates` when given. */
|
|
27
|
+
export declare function ops017Check(identityGates?: ReadonlyMap<string, string | null>): PostSynthCheck;
|
|
28
|
+
/** OPS017 without the workspace's identity rules. */
|
|
29
|
+
export declare const ops017: PostSynthCheck;
|
|
30
|
+
//# sourceMappingURL=ops017-gate-alias.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ops017-gate-alias.d.ts","sourceRoot":"","sources":["../../../../src/lint/rules/op/ops017-gate-alias.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kBAAkB,CAAC;AAsB9F;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACpC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,CAYjD;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,cAAc,CAsB9F;AAED,qDAAqD;AACrD,eAAO,MAAM,MAAM,EAAE,cAA8B,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { gateStepsOf, validateGateAliases } from "../../../op/gate-alias.js";
|
|
2
|
+
import { findWorkspaceRoot } from "../../../project-root.js";
|
|
3
|
+
import { isOpEntity } from "./support.js";
|
|
4
|
+
/** The Op configs among a build's entities, each with its entity key and lexicon. */
|
|
5
|
+
function opsOf(entities) {
|
|
6
|
+
const ops = [];
|
|
7
|
+
for (const [entityKey, entity] of entities) {
|
|
8
|
+
if (!isOpEntity(entity))
|
|
9
|
+
continue;
|
|
10
|
+
const rec = entity;
|
|
11
|
+
const props = (entity.props ?? {});
|
|
12
|
+
if (typeof props.name !== "string" || !Array.isArray(props.phases))
|
|
13
|
+
continue;
|
|
14
|
+
ops.push({ entityKey, ...(typeof rec.lexicon === "string" ? { lexicon: rec.lexicon } : {}), config: props });
|
|
15
|
+
}
|
|
16
|
+
return ops;
|
|
17
|
+
}
|
|
18
|
+
const hasAliases = (ops) => ops.some(({ config }) => gateStepsOf(config).some(({ step }) => step.aliases !== undefined));
|
|
19
|
+
/**
|
|
20
|
+
* The gates the workspace around `projectDir` names under `identity.gates`,
|
|
21
|
+
* each with its class (null for any signer), for OPS017. Undefined when no
|
|
22
|
+
* Op among `entities` has aliases, outside a workspace, or when the
|
|
23
|
+
* declaration can't be read, which `chant workspace check` reports. The
|
|
24
|
+
* workspace modules load only past the first two checks, so a level-0
|
|
25
|
+
* build loads none.
|
|
26
|
+
*/
|
|
27
|
+
export async function workspaceIdentityGates(projectDir, entities) {
|
|
28
|
+
if (!hasAliases(opsOf(entities)))
|
|
29
|
+
return undefined;
|
|
30
|
+
const found = findWorkspaceRoot(projectDir);
|
|
31
|
+
if (!found)
|
|
32
|
+
return undefined;
|
|
33
|
+
try {
|
|
34
|
+
const { readDeclaration } = await import("../../../workspace/declaration.js");
|
|
35
|
+
const { workingTree } = await import("../../../workspace/tree.js");
|
|
36
|
+
const gates = readDeclaration(workingTree(found.dir)).identity?.gates ?? {};
|
|
37
|
+
return new Map(Object.values(gates).map((g) => [g.gate, g.class]));
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** OPS017, judging `identity.gates` by `identityGates` when given. */
|
|
44
|
+
export function ops017Check(identityGates) {
|
|
45
|
+
return {
|
|
46
|
+
id: "OPS017",
|
|
47
|
+
description: "A gate's aliases need a plan and no decision point, must not name a gate that still exists or another gate's alias, and keep any identity.gates rule an alias had",
|
|
48
|
+
check(ctx) {
|
|
49
|
+
const ops = opsOf(ctx.entities);
|
|
50
|
+
if (!hasAliases(ops))
|
|
51
|
+
return [];
|
|
52
|
+
const byName = new Map(ops.map((o) => [o.config.name, o]));
|
|
53
|
+
return validateGateAliases(ops.map((o) => o.config), identityGates).map((issue) => {
|
|
54
|
+
const op = byName.get(issue.opName);
|
|
55
|
+
return {
|
|
56
|
+
checkId: "OPS017",
|
|
57
|
+
severity: "error",
|
|
58
|
+
message: `Op "${issue.opName}", phase "${issue.phase}", gate:${issue.gate}: ${issue.message}`,
|
|
59
|
+
...(op ? { entity: op.entityKey } : {}),
|
|
60
|
+
...(op?.lexicon ? { lexicon: op.lexicon } : {}),
|
|
61
|
+
};
|
|
62
|
+
});
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/** OPS017 without the workspace's identity rules. */
|
|
67
|
+
export const ops017 = ops017Check();
|
|
@@ -83,10 +83,24 @@ export interface ActivityContract<Args = unknown, Return = unknown> {
|
|
|
83
83
|
* stack members internally) simply declares none.
|
|
84
84
|
*/
|
|
85
85
|
entities?: string[];
|
|
86
|
+
/**
|
|
87
|
+
* What the activity returns that is secret (#3947): `true` for the whole
|
|
88
|
+
* return value, or the names of its top-level fields that are. A gate that
|
|
89
|
+
* resumes never stores a secret output in its checkpoint, so a gate whose
|
|
90
|
+
* later steps reference one doesn't resume, and OPS016 says so at build.
|
|
91
|
+
*/
|
|
92
|
+
secret?: true | string[];
|
|
86
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Whether a reference into `contract`'s return value at `path` reads a value
|
|
96
|
+
* the contract marks secret (#3947). A whole-value reference reads every
|
|
97
|
+
* field, so it is secret when any field is.
|
|
98
|
+
*/
|
|
99
|
+
export declare function readsSecretOutput(contract: Pick<ActivityContract, "secret"> | undefined, path?: string): boolean;
|
|
87
100
|
/** Declare an activity contract. */
|
|
88
101
|
export declare function activityContract<ArgsSchema extends z.ZodTypeAny, ReturnSchema extends z.ZodTypeAny = never>(name: string, args: ArgsSchema, returns?: ReturnSchema, opts?: {
|
|
89
102
|
entities?: string[];
|
|
103
|
+
secret?: true | string[];
|
|
90
104
|
}): ActivityContract<z.infer<ArgsSchema>, ReturnSchema extends z.ZodTypeAny ? z.infer<ReturnSchema> : unknown>;
|
|
91
105
|
/** Structural guard for a value produced by {@link activityContract}. */
|
|
92
106
|
export declare function isActivityContract(value: unknown): value is ActivityContract;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-contract.d.ts","sourceRoot":"","sources":["../../src/op/activity-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,QAAQ,EAAiD,MAAM,SAAS,CAAC;AAGvF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,0GAAyB,CAAC;AAE9D,QAAA,MAAM,cAAc,eAA0C,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB,CAAC,IAAI,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO;IAChE,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAChC,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"activity-contract.d.ts","sourceRoot":"","sources":["../../src/op/activity-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,21 @@ import { ACTIVITY_PROFILE_NAMES, stepTimeoutProblem } from "./activity-profiles.
|
|
|
47
47
|
*/
|
|
48
48
|
export const KNOWN_ACTIVITY_PROFILES = ACTIVITY_PROFILE_NAMES;
|
|
49
49
|
const CONTRACT_BRAND = Symbol.for("chant.op.activityContract");
|
|
50
|
+
/**
|
|
51
|
+
* Whether a reference into `contract`'s return value at `path` reads a value
|
|
52
|
+
* the contract marks secret (#3947). A whole-value reference reads every
|
|
53
|
+
* field, so it is secret when any field is.
|
|
54
|
+
*/
|
|
55
|
+
export function readsSecretOutput(contract, path) {
|
|
56
|
+
const secret = contract?.secret;
|
|
57
|
+
if (secret === undefined)
|
|
58
|
+
return false;
|
|
59
|
+
if (secret === true)
|
|
60
|
+
return true;
|
|
61
|
+
if (!path)
|
|
62
|
+
return secret.length > 0;
|
|
63
|
+
return secret.includes(path.split(".")[0]);
|
|
64
|
+
}
|
|
50
65
|
/** Declare an activity contract. */
|
|
51
66
|
export function activityContract(name, args, returns, opts) {
|
|
52
67
|
return {
|
|
@@ -55,6 +70,7 @@ export function activityContract(name, args, returns, opts) {
|
|
|
55
70
|
args,
|
|
56
71
|
...(returns ? { returns } : {}),
|
|
57
72
|
...(opts?.entities && opts.entities.length > 0 ? { entities: opts.entities } : {}),
|
|
73
|
+
...(opts?.secret === true || (Array.isArray(opts?.secret) && opts.secret.length > 0) ? { secret: opts.secret } : {}),
|
|
58
74
|
};
|
|
59
75
|
}
|
|
60
76
|
/** Structural guard for a value produced by {@link activityContract}. */
|
|
@@ -4,8 +4,11 @@
|
|
|
4
4
|
*
|
|
5
5
|
* The base activities are core's own (`./activities`): plain async functions
|
|
6
6
|
* taking a single args object, with no workflow engine anywhere in the call
|
|
7
|
-
* path. They
|
|
8
|
-
*
|
|
7
|
+
* path. They ship with core, so `loadActivities([])` works in a project that
|
|
8
|
+
* has installed nothing but chant. They are imported when activities are
|
|
9
|
+
* loaded, not when this module is: their implementations reach lint, codegen
|
|
10
|
+
* and `typescript`, and every `*.op.ts` imports `@intentius/chant/op`, which
|
|
11
|
+
* re-exports this module (#3982). Product-specific appliers stay
|
|
9
12
|
* in their owning lexicon (#809) and are pulled in dynamically per the
|
|
10
13
|
* project's configured lexicon list.
|
|
11
14
|
*/
|
|
@@ -40,7 +43,7 @@ export declare const ACTIVITY_FALLBACKS_EXPORT = "ACTIVITY_FALLBACKS";
|
|
|
40
43
|
* lexicon's activity of the same name; otherwise a later lexicon's export
|
|
41
44
|
* replaces an earlier one's.
|
|
42
45
|
*
|
|
43
|
-
* Never throws: the base library
|
|
46
|
+
* Never throws: the base library ships with core, so there is no "no
|
|
44
47
|
* activities registered" state to report.
|
|
45
48
|
*/
|
|
46
49
|
export declare function loadActivities(lexicons?: string[]): Promise<Map<string, ActivityFn>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-registry.d.ts","sourceRoot":"","sources":["../../src/op/activity-registry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"activity-registry.d.ts","sourceRoot":"","sources":["../../src/op/activity-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG9E,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEnG;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAkB9D;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAAC,QAAQ,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAyB9F;AAiBD;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAE7E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EACnC,EAAE,EAAE,MAAM,GACT,UAAU,CAOZ"}
|
|
@@ -4,12 +4,14 @@
|
|
|
4
4
|
*
|
|
5
5
|
* The base activities are core's own (`./activities`): plain async functions
|
|
6
6
|
* taking a single args object, with no workflow engine anywhere in the call
|
|
7
|
-
* path. They
|
|
8
|
-
*
|
|
7
|
+
* path. They ship with core, so `loadActivities([])` works in a project that
|
|
8
|
+
* has installed nothing but chant. They are imported when activities are
|
|
9
|
+
* loaded, not when this module is: their implementations reach lint, codegen
|
|
10
|
+
* and `typescript`, and every `*.op.ts` imports `@intentius/chant/op`, which
|
|
11
|
+
* re-exports this module (#3982). Product-specific appliers stay
|
|
9
12
|
* in their owning lexicon (#809) and are pulled in dynamically per the
|
|
10
13
|
* project's configured lexicon list.
|
|
11
14
|
*/
|
|
12
|
-
import * as baseActivities from "./activities/index.js";
|
|
13
15
|
import { ACTIVITY_PROFILES } from "./activity-profiles.js";
|
|
14
16
|
import { importLexiconModule, importLexiconPackage } from "../lexicon-module.js";
|
|
15
17
|
/**
|
|
@@ -51,12 +53,12 @@ function collectActivities(mod, into) {
|
|
|
51
53
|
* lexicon's activity of the same name; otherwise a later lexicon's export
|
|
52
54
|
* replaces an earlier one's.
|
|
53
55
|
*
|
|
54
|
-
* Never throws: the base library
|
|
56
|
+
* Never throws: the base library ships with core, so there is no "no
|
|
55
57
|
* activities registered" state to report.
|
|
56
58
|
*/
|
|
57
59
|
export async function loadActivities(lexicons = []) {
|
|
58
60
|
const activities = new Map();
|
|
59
|
-
collectActivities(
|
|
61
|
+
collectActivities((await import("./activities/index.js")), activities);
|
|
60
62
|
for (const name of lexicons) {
|
|
61
63
|
try {
|
|
62
64
|
// chant #2520 — a lexicon declared by module path has no subpath to
|
package/dist/op/builders.d.ts
CHANGED
|
@@ -83,6 +83,11 @@ export declare function activity(fn: string, args?: Record<string, unknown>, opt
|
|
|
83
83
|
* The point's deciders and quorum decide, `chant workspace points answer`
|
|
84
84
|
* answers an open question, and the run passes on the answer. See
|
|
85
85
|
* {@link GateStep.point}.
|
|
86
|
+
*
|
|
87
|
+
* Pass `aliases` to keep the approvals recorded under the gate's old names
|
|
88
|
+
* after an Op is restructured (#3949): `gate("approve-tier-1", { plan:
|
|
89
|
+
* plan.out.planDigest, aliases: [{ op: "upgrade-tier-1", gate: "approve" }] })`.
|
|
90
|
+
* A gate with aliases must bind a plan. See {@link GateStep.aliases}.
|
|
86
91
|
*/
|
|
87
92
|
export declare function gate(name: string, opts?: {
|
|
88
93
|
timeout?: string;
|
|
@@ -90,6 +95,8 @@ export declare function gate(name: string, opts?: {
|
|
|
90
95
|
plan?: GateStep["plan"];
|
|
91
96
|
approval?: GateStep["approval"];
|
|
92
97
|
point?: GateStep["point"];
|
|
98
|
+
resume?: boolean;
|
|
99
|
+
aliases?: GateStep["aliases"];
|
|
93
100
|
}): GateStep;
|
|
94
101
|
/**
|
|
95
102
|
* Wrap nested steps in read-compare-run-write over an effect receipt (#1834,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/op/builders.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/op/builders.ts"],"names":[],"mappings":"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"}
|
package/dist/op/builders.js
CHANGED
|
@@ -5,6 +5,7 @@ import { isEffectReceipt } from "../effect-receipt.js";
|
|
|
5
5
|
import { receiptCheckInput } from "./receipt-store.js";
|
|
6
6
|
import { gateApprovalProblems } from "./gate-approval.js";
|
|
7
7
|
import { gatePointProblems } from "./gate-point.js";
|
|
8
|
+
import { gateAliasProblems } from "./gate-alias.js";
|
|
8
9
|
import { makeOutProxy, stepOutput } from "./step-output-ref.js";
|
|
9
10
|
import { isValidCronExpression, cronSyntaxMessage } from "./cron.js";
|
|
10
11
|
// ── Core builders ─────────────────────────────────────────────────────────────
|
|
@@ -96,6 +97,11 @@ export function activity(fn, args, opts) {
|
|
|
96
97
|
* The point's deciders and quorum decide, `chant workspace points answer`
|
|
97
98
|
* answers an open question, and the run passes on the answer. See
|
|
98
99
|
* {@link GateStep.point}.
|
|
100
|
+
*
|
|
101
|
+
* Pass `aliases` to keep the approvals recorded under the gate's old names
|
|
102
|
+
* after an Op is restructured (#3949): `gate("approve-tier-1", { plan:
|
|
103
|
+
* plan.out.planDigest, aliases: [{ op: "upgrade-tier-1", gate: "approve" }] })`.
|
|
104
|
+
* A gate with aliases must bind a plan. See {@link GateStep.aliases}.
|
|
99
105
|
*/
|
|
100
106
|
export function gate(name, opts) {
|
|
101
107
|
if (opts?.approval !== undefined) {
|
|
@@ -108,6 +114,11 @@ export function gate(name, opts) {
|
|
|
108
114
|
if (problems.length > 0)
|
|
109
115
|
throw new Error(`gate(${JSON.stringify(name)}): ${problems[0]}`);
|
|
110
116
|
}
|
|
117
|
+
if (opts?.aliases !== undefined) {
|
|
118
|
+
const problems = gateAliasProblems(opts.aliases, { plan: opts.plan, point: opts.point });
|
|
119
|
+
if (problems.length > 0)
|
|
120
|
+
throw new Error(`gate(${JSON.stringify(name)}): ${problems[0]}`);
|
|
121
|
+
}
|
|
111
122
|
return {
|
|
112
123
|
kind: "gate",
|
|
113
124
|
gate: name,
|
|
@@ -116,6 +127,8 @@ export function gate(name, opts) {
|
|
|
116
127
|
...(opts?.plan !== undefined ? { plan: opts.plan } : {}),
|
|
117
128
|
...(opts?.approval !== undefined ? { approval: opts.approval } : {}),
|
|
118
129
|
...(opts?.point !== undefined ? { point: opts.point } : {}),
|
|
130
|
+
...(opts?.resume ? { resume: true } : {}),
|
|
131
|
+
...(opts?.aliases !== undefined && opts.aliases.length > 0 ? { aliases: opts.aliases.map((a) => ({ ...(a.op !== undefined ? { op: a.op } : {}), gate: a.gate })) } : {}),
|
|
119
132
|
};
|
|
120
133
|
}
|
|
121
134
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/op/discover.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAI1E,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/op/discover.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIxC,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAI1E,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAoHD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6CrF;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACzC,wCAAwC;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,2GAA2G;IAC3G,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA2C/F"}
|
package/dist/op/discover.js
CHANGED
|
@@ -41,21 +41,28 @@ async function findDiscoveryRoot(cwd) {
|
|
|
41
41
|
}
|
|
42
42
|
return gitRoot;
|
|
43
43
|
}
|
|
44
|
+
const isOpFile = (name, full) => name.endsWith(".op.ts") && !name.endsWith(".test.ts") && !name.endsWith(".spec.ts") && !hasDiscoveryMarkerSync(full);
|
|
44
45
|
/**
|
|
45
46
|
* Every `*.op.ts` file below the Op root, through the one discovery walk
|
|
46
47
|
* (`../discovery/walk.ts`, #2527). The walk down stops at child projects
|
|
47
48
|
* whatever the root is, so a configless layout whose Op root is the git root
|
|
48
49
|
* no longer collects its sibling projects' Ops. The project's
|
|
49
50
|
* `exclude`/`include` globs and the skip marker apply.
|
|
51
|
+
*
|
|
52
|
+
* The globs come from evaluating the project config, which registers tsx
|
|
53
|
+
* (#3976), so they are resolved only when an Op file could be found. A walk
|
|
54
|
+
* that includes `**` first reaches every path any `include` could re-admit,
|
|
55
|
+
* and stops at the first Op file. When it finds none, no globs could find
|
|
56
|
+
* one either.
|
|
50
57
|
*/
|
|
51
58
|
async function collectOpFiles(root) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
});
|
|
59
|
+
const excludeDirs = await workspaceMemberDirs(root);
|
|
60
|
+
// A limit of 0 ends the walk at the first file it accepts.
|
|
61
|
+
const any = { max: 0, truncated: false };
|
|
62
|
+
walkDiscovery({ walker: "ops", root, globs: { root, exclude: [], include: ["**"] }, excludeDirs, limit: any, accept: isOpFile });
|
|
63
|
+
if (!any.truncated)
|
|
64
|
+
return [];
|
|
65
|
+
return walkDiscovery({ walker: "ops", root, globs: await resolveDiscoveryGlobs(root), excludeDirs, accept: isOpFile });
|
|
59
66
|
}
|
|
60
67
|
/** The `OpConfig` behind an exported value, or `undefined` when the value is not an Op. An Op entity carries its config on `.props` (`./resource.ts`); `name` and `phases` are what every consumer of a discovered Op reads. */
|
|
61
68
|
function opConfigOf(value) {
|