@intentius/chant 0.45.0 → 0.49.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.
- package/dist/audit/core.d.ts +21 -3
- package/dist/audit/core.d.ts.map +1 -1
- package/dist/audit/discover.d.ts +3 -2
- package/dist/audit/discover.d.ts.map +1 -1
- package/dist/audit/rules-doc.d.ts.map +1 -1
- package/dist/build.d.ts +3 -3
- package/dist/build.d.ts.map +1 -1
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/check-lexicon.d.ts +14 -0
- package/dist/cli/commands/check-lexicon.d.ts.map +1 -1
- package/dist/cli/commands/lexicon-surface-diff.d.ts +6 -0
- package/dist/cli/commands/lexicon-surface-diff.d.ts.map +1 -1
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/handlers/lifecycle.d.ts +13 -0
- package/dist/cli/handlers/lifecycle.d.ts.map +1 -1
- package/dist/cli/handlers/search.d.ts.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/mcp/resource-handlers.d.ts.map +1 -1
- package/dist/cli/mcp/tools/explain.d.ts +6 -0
- package/dist/cli/mcp/tools/explain.d.ts.map +1 -1
- package/dist/cli/plugins.d.ts +1 -1
- package/dist/cli/plugins.d.ts.map +1 -1
- package/dist/cli/registry.d.ts +7 -0
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cli/reporters/stylish.d.ts +15 -1
- package/dist/cli/reporters/stylish.d.ts.map +1 -1
- package/dist/codegen/lexicon-regen.d.ts +11 -0
- package/dist/codegen/lexicon-regen.d.ts.map +1 -1
- package/dist/codegen/validate.d.ts +10 -0
- package/dist/codegen/validate.d.ts.map +1 -1
- package/dist/components/auto-release.d.ts +4 -0
- package/dist/components/auto-release.d.ts.map +1 -1
- package/dist/components/starter-plugin.d.ts +2 -0
- package/dist/components/starter-plugin.d.ts.map +1 -1
- package/dist/components/verbs/ensure-secret.d.ts +50 -0
- package/dist/components/verbs/ensure-secret.d.ts.map +1 -0
- package/dist/components/verbs/index.d.ts +8 -0
- package/dist/components/verbs/index.d.ts.map +1 -1
- package/dist/components/verbs/r2-sync.d.ts +76 -0
- package/dist/components/verbs/r2-sync.d.ts.map +1 -0
- package/dist/components/verbs/wrangler.d.ts +108 -0
- package/dist/components/verbs/wrangler.d.ts.map +1 -0
- package/dist/config.d.ts +54 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/deep-observation.d.ts +14 -0
- package/dist/deep-observation.d.ts.map +1 -1
- package/dist/effect-receipt.d.ts +177 -0
- package/dist/effect-receipt.d.ts.map +1 -0
- package/dist/env.d.ts +12 -1
- package/dist/env.d.ts.map +1 -1
- package/dist/fold/subset.d.ts +15 -2
- package/dist/fold/subset.d.ts.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/lexicon.d.ts +223 -2
- package/dist/lexicon.d.ts.map +1 -1
- package/dist/lifecycle/change-set.d.ts +33 -5
- package/dist/lifecycle/change-set.d.ts.map +1 -1
- package/dist/lifecycle/index.d.ts +3 -0
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/observation-baseline.d.ts +21 -3
- package/dist/lifecycle/observation-baseline.d.ts.map +1 -1
- package/dist/lifecycle/receipt-plan.d.ts +62 -0
- package/dist/lifecycle/receipt-plan.d.ts.map +1 -0
- package/dist/lifecycle/release-ledger.d.ts +20 -0
- package/dist/lifecycle/release-ledger.d.ts.map +1 -1
- package/dist/lifecycle/teardown.d.ts +132 -0
- package/dist/lifecycle/teardown.d.ts.map +1 -0
- package/dist/lifecycle/unobserved-gate.d.ts +67 -0
- package/dist/lifecycle/unobserved-gate.d.ts.map +1 -0
- package/dist/lint/engine.d.ts +6 -2
- package/dist/lint/engine.d.ts.map +1 -1
- package/dist/lint/knowledge-checks.d.ts +48 -0
- package/dist/lint/knowledge-checks.d.ts.map +1 -0
- package/dist/lint/output-checks.d.ts +5 -0
- package/dist/lint/output-checks.d.ts.map +1 -0
- package/dist/lint/pipeline-change-gate.d.ts +101 -0
- package/dist/lint/pipeline-change-gate.d.ts.map +1 -0
- package/dist/lint/post-synth.d.ts +12 -0
- package/dist/lint/post-synth.d.ts.map +1 -1
- package/dist/lint/receipt-checks.d.ts +9 -0
- package/dist/lint/receipt-checks.d.ts.map +1 -0
- package/dist/lint/rule.d.ts +31 -0
- package/dist/lint/rule.d.ts.map +1 -1
- package/dist/lint/rules/cor021-env-literal-name.d.ts +3 -0
- package/dist/lint/rules/cor021-env-literal-name.d.ts.map +1 -0
- package/dist/lint/rules/cor022-receipt-leaf.d.ts +13 -0
- package/dist/lint/rules/cor022-receipt-leaf.d.ts.map +1 -0
- package/dist/lint/rules/cor024-receipt-secret-pointer.d.ts +3 -0
- package/dist/lint/rules/cor024-receipt-secret-pointer.d.ts.map +1 -0
- package/dist/lint/rules/evl001-non-literal-expression.d.ts.map +1 -1
- package/dist/lint/rules/index.d.ts +4 -1
- package/dist/lint/rules/index.d.ts.map +1 -1
- package/dist/okf-read.d.ts +78 -0
- package/dist/okf-read.d.ts.map +1 -0
- package/dist/op/builders.d.ts +134 -8
- package/dist/op/builders.d.ts.map +1 -1
- package/dist/op/index.d.ts +4 -2
- package/dist/op/index.d.ts.map +1 -1
- package/dist/op/local-executor.d.ts +2 -1
- package/dist/op/local-executor.d.ts.map +1 -1
- package/dist/op/receipt-store.d.ts +138 -0
- package/dist/op/receipt-store.d.ts.map +1 -0
- package/dist/op/types.d.ts +31 -1
- package/dist/op/types.d.ts.map +1 -1
- package/dist/secret-materialization.d.ts +138 -0
- package/dist/secret-materialization.d.ts.map +1 -0
- package/dist/secret-provenance.d.ts +218 -0
- package/dist/secret-provenance.d.ts.map +1 -0
- package/dist/serializer.d.ts +11 -0
- package/dist/serializer.d.ts.map +1 -1
- package/dist/testing.d.ts +136 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/yaml.d.ts.map +1 -1
- package/package.json +9 -1
- package/src/audit/core.test.ts +57 -0
- package/src/audit/core.ts +0 -0
- package/src/audit/detect-bundle.test.ts +1 -1
- package/src/audit/discover.test.ts +24 -0
- package/src/audit/discover.ts +11 -2
- package/src/audit/rules-doc.ts +11 -1
- package/src/build.test.ts +41 -0
- package/src/build.ts +34 -6
- package/src/cli/commands/__fixtures__/audit-fountain/agents/fleet.yaml +27 -0
- package/src/cli/commands/__fixtures__/audit-fountain/k8s/deploy.yaml +16 -0
- package/src/cli/commands/__fixtures__/audit-fountain-clean/fleet.yaml +20 -0
- package/src/cli/commands/audit.test.ts +53 -0
- package/src/cli/commands/audit.ts +1 -1
- package/src/cli/commands/build.test.ts +211 -0
- package/src/cli/commands/build.ts +126 -8
- package/src/cli/commands/check-lexicon.test.ts +45 -1
- package/src/cli/commands/check-lexicon.ts +45 -0
- package/src/cli/commands/lexicon-surface-diff.ts +9 -0
- package/src/cli/commands/lexicon-surface-diff.update.test.ts +112 -0
- package/src/cli/commands/lint.ts +32 -7
- package/src/cli/handlers/explain.test.ts +70 -1
- package/src/cli/handlers/graph.ts +4 -4
- package/src/cli/handlers/lifecycle.test.ts +345 -1
- package/src/cli/handlers/lifecycle.ts +300 -11
- package/src/cli/handlers/search.ts +5 -2
- package/src/cli/main.ts +12 -1
- package/src/cli/mcp/resource-handlers.ts +38 -1
- package/src/cli/mcp/server.test.ts +58 -1
- package/src/cli/mcp/tools/explain.ts +51 -2
- package/src/cli/plugins.ts +4 -2
- package/src/cli/registry.ts +7 -0
- package/src/cli/reporters/stylish.test.ts +154 -0
- package/src/cli/reporters/stylish.ts +154 -33
- package/src/codegen/lexicon-regen.ts +19 -1
- package/src/codegen/validate.test.ts +33 -0
- package/src/codegen/validate.ts +21 -2
- package/src/components/auto-release.ts +6 -0
- package/src/components/registry.test.ts +7 -2
- package/src/components/starter-plugin.ts +17 -0
- package/src/components/verbs/ensure-secret.test.ts +130 -0
- package/src/components/verbs/ensure-secret.ts +79 -0
- package/src/components/verbs/index.ts +8 -0
- package/src/components/verbs/r2-sync.test.ts +107 -0
- package/src/components/verbs/r2-sync.ts +124 -0
- package/src/components/verbs/wrangler.test.ts +170 -0
- package/src/components/verbs/wrangler.ts +241 -0
- package/src/config.test.ts +55 -0
- package/src/config.ts +88 -1
- package/src/deep-observation.test.ts +19 -0
- package/src/deep-observation.ts +17 -0
- package/src/effect-receipt-exclusion.test.ts +190 -0
- package/src/effect-receipt.test.ts +419 -0
- package/src/effect-receipt.ts +412 -0
- package/src/env.test.ts +35 -1
- package/src/env.ts +17 -3
- package/src/fold/subset.test.ts +26 -0
- package/src/fold/subset.ts +45 -19
- package/src/index.ts +4 -0
- package/src/lexicon.ts +227 -2
- package/src/lifecycle/change-set.ts +46 -7
- package/src/lifecycle/index.ts +3 -0
- package/src/lifecycle/observation-baseline.test.ts +46 -0
- package/src/lifecycle/observation-baseline.ts +33 -1
- package/src/lifecycle/receipt-plan.test.ts +250 -0
- package/src/lifecycle/receipt-plan.ts +249 -0
- package/src/lifecycle/release-ledger.ts +20 -0
- package/src/lifecycle/teardown.test.ts +568 -0
- package/src/lifecycle/teardown.ts +359 -0
- package/src/lifecycle/unobserved-gate.test.ts +109 -0
- package/src/lifecycle/unobserved-gate.ts +102 -0
- package/src/lint/engine.ts +7 -1
- package/src/lint/knowledge-checks.test.ts +80 -0
- package/src/lint/knowledge-checks.ts +74 -0
- package/src/lint/output-checks.test.ts +85 -0
- package/src/lint/output-checks.ts +99 -0
- package/src/lint/pipeline-change-gate.test.ts +144 -0
- package/src/lint/pipeline-change-gate.ts +153 -0
- package/src/lint/post-synth.ts +15 -0
- package/src/lint/receipt-checks.test.ts +101 -0
- package/src/lint/receipt-checks.ts +93 -0
- package/src/lint/rule.ts +23 -0
- package/src/lint/rules/cor021-env-literal-name.test.ts +128 -0
- package/src/lint/rules/cor021-env-literal-name.ts +114 -0
- package/src/lint/rules/cor022-receipt-leaf.test.ts +116 -0
- package/src/lint/rules/cor022-receipt-leaf.ts +130 -0
- package/src/lint/rules/cor024-receipt-secret-pointer.test.ts +121 -0
- package/src/lint/rules/cor024-receipt-secret-pointer.ts +218 -0
- package/src/lint/rules/evl001-non-literal-expression.test.ts +27 -0
- package/src/lint/rules/evl001-non-literal-expression.ts +8 -1
- package/src/lint/rules/index.ts +10 -1
- package/src/okf-read.test.ts +149 -0
- package/src/okf-read.ts +197 -0
- package/src/op/builders.ts +179 -8
- package/src/op/effect-step.test.ts +311 -0
- package/src/op/index.ts +10 -3
- package/src/op/local-executor.ts +172 -25
- package/src/op/op.test.ts +25 -2
- package/src/op/receipt-store.ts +211 -0
- package/src/op/types.ts +33 -1
- package/src/secret-materialization.test.ts +199 -0
- package/src/secret-materialization.ts +235 -0
- package/src/secret-provenance.test.ts +388 -0
- package/src/secret-provenance.ts +475 -0
- package/src/serializer.ts +12 -0
- package/src/testing.test.ts +261 -0
- package/src/testing.ts +338 -0
- package/src/yaml.test.ts +88 -0
- package/src/yaml.ts +76 -6
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `r2-sync` — bulk object upload to a Cloudflare R2 bucket (chant #1293,
|
|
3
|
+
* epic #1296), the direct analogue of `s3-sync`
|
|
4
|
+
* (lexicons/aws/src/components/apply.ts): same input shape (`from`/`to`/
|
|
5
|
+
* `delete`), same mutating-no-native-rollback disposition
|
|
6
|
+
* (`rollbackPolicy: "needs-opt-out"`, ../../lint/rules/comp/comp003-mutating-no-rollback.ts),
|
|
7
|
+
* learnable as the same idea per #1293's own verification bullet. See
|
|
8
|
+
* ./wrangler.ts's module doc for why this lives in core rather than a
|
|
9
|
+
* cloudflare lexicon.
|
|
10
|
+
*
|
|
11
|
+
* R2 has no first-party bulk-sync CLI the way S3 has `aws s3 sync`, but its
|
|
12
|
+
* API is S3-compatible, so it takes any S3-compatible sync tool — this wraps
|
|
13
|
+
* `rclone` (its `sync`/`copy` distinguish "mirror, deleting extras" from
|
|
14
|
+
* "upload only" exactly the way `s3-sync`'s `delete` flag does) through the
|
|
15
|
+
* same injectable `ProcessRunner` (./process-runner.ts) `./sign.ts` and
|
|
16
|
+
* `./wrangler.ts` use. No live `rclone`, no network, ever, in a test run —
|
|
17
|
+
* every test substitutes `MockProcessRunner`.
|
|
18
|
+
*/
|
|
19
|
+
import type { Capability } from "../capability.js";
|
|
20
|
+
import { type ProcessRunner } from "./process-runner.js";
|
|
21
|
+
/** Thrown when `R2SyncInput.to` is not an `r2://bucket[/prefix]` URI. */
|
|
22
|
+
export declare class R2SyncInvalidDestinationError extends Error {
|
|
23
|
+
readonly to: string;
|
|
24
|
+
constructor(to: string);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Translate an `r2://bucket/prefix` destination to rclone's `<remote>:<path>`
|
|
28
|
+
* form. `remote` is the name of an rclone remote already configured against
|
|
29
|
+
* R2's S3-compatible endpoint (`<account-id>.r2.cloudflarestorage.com`) —
|
|
30
|
+
* out of this capability's scope the same way `s3-sync` doesn't configure
|
|
31
|
+
* AWS credentials; default `"r2"` is the conventional alias. Exported for
|
|
32
|
+
* tests, mirroring ./sign.ts's `buildSignArgs`.
|
|
33
|
+
*/
|
|
34
|
+
export declare function toRcloneDest(to: string, remote?: string): string;
|
|
35
|
+
export interface R2SyncInput {
|
|
36
|
+
/** Local path, or archive-relative path, to sync from. */
|
|
37
|
+
from: string;
|
|
38
|
+
/** Destination bucket URI, `"r2://bucket/prefix"` — mirrors `s3-sync`'s `S3SyncInput.to` shape. */
|
|
39
|
+
to: string;
|
|
40
|
+
/** Delete destination keys not present in the source. Default: false. */
|
|
41
|
+
delete?: boolean;
|
|
42
|
+
/** rclone remote name pointed at R2. Default: `"r2"`. */
|
|
43
|
+
remote?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface R2SyncOutput {
|
|
46
|
+
/** Number of objects uploaded (new or changed). */
|
|
47
|
+
uploaded: number;
|
|
48
|
+
/** Number of objects deleted (only possible when `delete: true`). */
|
|
49
|
+
deleted: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Build the `rclone` invocation for `input`. `rclone sync` deletes
|
|
53
|
+
* destination-only files by default (matching `s3-sync`'s opt-in `delete:
|
|
54
|
+
* true`); `rclone copy` never deletes (matching the `s3-sync` default) — so
|
|
55
|
+
* the verb dispatches on `input.delete` rather than passing a `--delete`
|
|
56
|
+
* flag rclone doesn't have. `-v` gives the per-file action lines
|
|
57
|
+
* `parseRcloneStats` reads. Exported for tests, mirroring ./sign.ts's
|
|
58
|
+
* `buildSignArgs`.
|
|
59
|
+
*/
|
|
60
|
+
export declare function buildR2SyncArgs(input: R2SyncInput): string;
|
|
61
|
+
/** Count uploaded/deleted objects out of `rclone -v`'s stdout. Exported for tests. */
|
|
62
|
+
export declare function parseRcloneStats(stdout: string): R2SyncOutput;
|
|
63
|
+
/**
|
|
64
|
+
* Bulk-sync a directory of objects to an R2 bucket via `rclone`
|
|
65
|
+
* (endpoint-aware only through the rclone remote's own config — this
|
|
66
|
+
* capability never touches R2 credentials directly). Mutating, no native
|
|
67
|
+
* undo (an overwritten or deleted object is gone), so — like `s3-sync` —
|
|
68
|
+
* `rollbackPolicy: "needs-opt-out"`: COMP003 requires the component to
|
|
69
|
+
* acknowledge the compensation gap explicitly (a `noRollback` reason, a
|
|
70
|
+
* component-level `rollback` phase, or a sibling `rollback-previous`/
|
|
71
|
+
* `snapshot-before` step).
|
|
72
|
+
*/
|
|
73
|
+
export declare function createR2SyncCapability(processRunner?: ProcessRunner): Capability<R2SyncInput, R2SyncOutput>;
|
|
74
|
+
/** Default `r2-sync` capability, backed by the real `ProcessRunner`. */
|
|
75
|
+
export declare const r2SyncCapability: Capability<R2SyncInput, R2SyncOutput>;
|
|
76
|
+
//# sourceMappingURL=r2-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"r2-sync.d.ts","sourceRoot":"","sources":["../../../src/components/verbs/r2-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAO5F,yEAAyE;AACzE,qBAAa,6BAA8B,SAAQ,KAAK;aAC1B,EAAE,EAAE,MAAM;gBAAV,EAAE,EAAE,MAAM;CAMvC;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,SAAO,GAAG,MAAM,CAK9D;AAED,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,mGAAmG;IACnG,EAAE,EAAE,MAAM,CAAC;IACX,yEAAyE;IACzE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAI1D;AAQD,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAI7D;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,GAAE,aAAsC,GACpD,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAUvC;AAED,wEAAwE;AACxE,eAAO,MAAM,gBAAgB,EAAE,UAAU,CAAC,WAAW,EAAE,YAAY,CAA4B,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `wrangler-deploy` / `wrangler-versions-promote` — the Cloudflare Workers
|
|
3
|
+
* apply leaves (chant #1293, epic #1296). The epic cedes the Workers plane
|
|
4
|
+
* entirely to `wrangler` (first-party, schema-backed, already owns the
|
|
5
|
+
* config format, bindings model, local dev, and deploy) — these two verbs
|
|
6
|
+
* are a typed wrapper over that CLI, not a reimplementation of it.
|
|
7
|
+
*
|
|
8
|
+
* Placement: core, not a cloudflare lexicon. #1293's own analysis weighed
|
|
9
|
+
* three options — core (generic verb, fastest, costs a little conceptual
|
|
10
|
+
* tidiness since `wrangler-deploy` shells a specific vendor CLI), a
|
|
11
|
+
* capability-only cloudflare lexicon (the "correct" home, but `LexiconPlugin`
|
|
12
|
+
* tier-1 completeness — serializer, lint rules, post-synth, LSP, examples,
|
|
13
|
+
* docs — is heavy ceremony for three verbs and no resource types), or
|
|
14
|
+
* generalizing to a `cli-deploy` verb parameterised by tool (tempting, but
|
|
15
|
+
* premature and it re-opens the verb set the bounded-primitives thesis
|
|
16
|
+
* depends on staying closed). Core wins on the same precedent `sign`/
|
|
17
|
+
* `attest-provenance` (./sign.ts) already set: a specific vendor CLI
|
|
18
|
+
* (`cosign`) shelled out through the injectable `ProcessRunner`
|
|
19
|
+
* (./process-runner.ts), no cloud-specific SDK client needed the way AWS's
|
|
20
|
+
* `CloudExecutor` (./cloud-executor.ts) models CloudFormation/ECS/Lambda.
|
|
21
|
+
* `wrangler` fits that exact shape. Revisit if/when the zone-plane lexicon
|
|
22
|
+
* (#1294) lands and gives these three verbs a natural cloudflare-owned home.
|
|
23
|
+
*
|
|
24
|
+
* `wrangler-versions-promote` is also the direct evidence for #1296's
|
|
25
|
+
* "three new verbs cover a whole new cloud" claim: Cloudflare's native
|
|
26
|
+
* Worker version rollback maps onto the existing `RollbackPolicy: "native"`
|
|
27
|
+
* (../capability.ts) with no compensation code to hand-write — both verbs
|
|
28
|
+
* here declare a `rollback` (auto-derived "native" per ../capability.ts's
|
|
29
|
+
* `Capability.rollbackPolicy` doc) that re-promotes to whichever version was
|
|
30
|
+
* live before the step ran, the same best-effort captured-previous-state
|
|
31
|
+
* pattern lexicons/aws/src/components/apply.ts's `lambda-deploy` uses for
|
|
32
|
+
* its alias rollback.
|
|
33
|
+
*
|
|
34
|
+
* No real Cloudflare control-plane emulator exists yet (#1295, epic #1296),
|
|
35
|
+
* so — like ./sign.ts — every real path here shells out through the
|
|
36
|
+
* injectable `ProcessRunner` and every test substitutes `MockProcessRunner`
|
|
37
|
+
* (./__tests__/mock-process-runner.ts): no live `wrangler`, no network, ever,
|
|
38
|
+
* in a test run. CI coverage is plan-shape/invocation-shape assertions only,
|
|
39
|
+
* per #1293's own "Verification" section.
|
|
40
|
+
*/
|
|
41
|
+
import type { Capability } from "../capability.js";
|
|
42
|
+
import { type ProcessRunner } from "./process-runner.js";
|
|
43
|
+
/** Thrown when `wrangler deploy`'s stdout carries no parseable Version ID — fail-closed rather than returning a capability output downstream steps (`wrangler-versions-promote`, wired via `"@Deploy.versionId"`) would silently receive as `undefined`. */
|
|
44
|
+
export declare class WranglerVersionIdNotFoundError extends Error {
|
|
45
|
+
readonly stdout: string;
|
|
46
|
+
constructor(stdout: string);
|
|
47
|
+
}
|
|
48
|
+
/** Extract the deployed Worker version id from `wrangler deploy`'s stdout. Exported so tests can assert on it directly, mirroring ./sign.ts's `buildSignArgs`. */
|
|
49
|
+
export declare function parseWranglerVersionId(stdout: string): string;
|
|
50
|
+
export interface WranglerDeployInput {
|
|
51
|
+
/** Path to the Worker's `wrangler.jsonc`/`wrangler.toml`. */
|
|
52
|
+
config: string;
|
|
53
|
+
/** Named environment within the config (`wrangler deploy --env <env>`). */
|
|
54
|
+
env?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface WranglerDeployOutput {
|
|
57
|
+
/** The version id wrangler assigned this deploy — wire into `wrangler-versions-promote` (e.g. `"@Deploy.versionId"`). */
|
|
58
|
+
versionId: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Deploy a Worker from a `wrangler.jsonc`/`wrangler.toml` via `wrangler
|
|
62
|
+
* deploy`, and return the version id it published — the analogue of
|
|
63
|
+
* `lambda-deploy` (../../lexicons/aws/src/components/apply.ts) for the
|
|
64
|
+
* Workers plane.
|
|
65
|
+
*
|
|
66
|
+
* Rollback: `wrangler-versions-promote` back to whichever version was live
|
|
67
|
+
* before this step ran (captured up front via `wrangler versions list`, the
|
|
68
|
+
* same best-effort captured-previous pattern `lambda-deploy` uses for its
|
|
69
|
+
* alias). A no-op on a first deploy — nothing was live to restore.
|
|
70
|
+
*/
|
|
71
|
+
export declare function createWranglerDeployCapability(processRunner?: ProcessRunner): Capability<WranglerDeployInput, WranglerDeployOutput>;
|
|
72
|
+
/** Default `wrangler-deploy` capability, backed by the real `ProcessRunner`. */
|
|
73
|
+
export declare const wranglerDeployCapability: Capability<WranglerDeployInput, WranglerDeployOutput>;
|
|
74
|
+
export interface WranglerVersionsPromoteInput {
|
|
75
|
+
/** Path to the Worker's `wrangler.jsonc`/`wrangler.toml`. */
|
|
76
|
+
config: string;
|
|
77
|
+
/** Version id to promote — typically wired from a prior `wrangler-deploy` step (`"@Deploy.versionId"`) or a prior version id when this step composes as an explicit rollback. */
|
|
78
|
+
versionId: string;
|
|
79
|
+
/** Traffic percentage to route to `versionId`. Default: 100 (full promote/rollback). Below 100 is the gradual-deployment lever. */
|
|
80
|
+
percentage?: number;
|
|
81
|
+
/** Named environment within the config (`wrangler versions deploy --env <env>`). */
|
|
82
|
+
env?: string;
|
|
83
|
+
}
|
|
84
|
+
export interface WranglerVersionsPromoteOutput {
|
|
85
|
+
/** The version id that was promoted. */
|
|
86
|
+
versionId: string;
|
|
87
|
+
/** The traffic percentage actually routed to it. */
|
|
88
|
+
percentage: number;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Promote a Worker version to (some percentage of) live traffic via
|
|
92
|
+
* `wrangler versions deploy <version-id>@<percentage> --yes` — both the
|
|
93
|
+
* gradual-deployment lever (`percentage` < 100) and, at `percentage: 100`,
|
|
94
|
+
* the rollback mechanism: Cloudflare's native version rollback is a promote
|
|
95
|
+
* to a prior version id, not a redeploy, so this same verb composes as the
|
|
96
|
+
* explicit compensation step a component wires up (#1293's "verification"
|
|
97
|
+
* example: forced failure after `wrangler-deploy` -> `wrangler-versions-promote`
|
|
98
|
+
* back to the prior version, no hand-written compensation needed).
|
|
99
|
+
*
|
|
100
|
+
* Also declares its own `rollback` (native, no `rollbackPolicy` override
|
|
101
|
+
* needed — see ../capability.ts): re-promotes to whichever version was live
|
|
102
|
+
* before *this* promote call, for the case where the promote step itself is
|
|
103
|
+
* composed directly (not just as `wrangler-deploy`'s compensation).
|
|
104
|
+
*/
|
|
105
|
+
export declare function createWranglerVersionsPromoteCapability(processRunner?: ProcessRunner): Capability<WranglerVersionsPromoteInput, WranglerVersionsPromoteOutput>;
|
|
106
|
+
/** Default `wrangler-versions-promote` capability, backed by the real `ProcessRunner`. */
|
|
107
|
+
export declare const wranglerVersionsPromoteCapability: Capability<WranglerVersionsPromoteInput, WranglerVersionsPromoteOutput>;
|
|
108
|
+
//# sourceMappingURL=wrangler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrangler.d.ts","sourceRoot":"","sources":["../../../src/components/verbs/wrangler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA2B5F,4PAA4P;AAC5P,qBAAa,8BAA+B,SAAQ,KAAK;aAC3B,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;CAI3C;AASD,kKAAkK;AAClK,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAI7D;AA8BD,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,yHAAyH;IACzH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAC5C,aAAa,GAAE,aAAsC,GACpD,UAAU,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAuBvD;AAED,gFAAgF;AAChF,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAAC,mBAAmB,EAAE,oBAAoB,CACzD,CAAC;AAInC,MAAM,WAAW,4BAA4B;IAC3C,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,iLAAiL;IACjL,SAAS,EAAE,MAAM,CAAC;IAClB,mIAAmI;IACnI,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,6BAA6B;IAC5C,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uCAAuC,CACrD,aAAa,GAAE,aAAsC,GACpD,UAAU,CAAC,4BAA4B,EAAE,6BAA6B,CAAC,CAwBzE;AAED,0FAA0F;AAC1F,eAAO,MAAM,iCAAiC,EAAE,UAAU,CACxD,4BAA4B,EAC5B,6BAA6B,CACc,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -36,6 +36,29 @@ export declare function environmentName(entry: EnvironmentDeclaration): string;
|
|
|
36
36
|
* `environmentNames(config.environments)?.includes(name)`.
|
|
37
37
|
*/
|
|
38
38
|
export declare function environmentNames(environments: EnvironmentDeclaration[] | undefined): string[] | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Whether a declared environment name is a glob pattern rather than a literal
|
|
41
|
+
* (#1221) — it contains at least one `*`.
|
|
42
|
+
*/
|
|
43
|
+
export declare function isEnvironmentPattern(declaredName: string): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Anchored `*`-glob match (#1221): each `*` in `pattern` matches any run of
|
|
46
|
+
* characters (possibly empty); everything else matches itself. Deliberately
|
|
47
|
+
* the whole surface — no `?`, no character classes, no regex. A pattern with
|
|
48
|
+
* no `*` degenerates to string equality.
|
|
49
|
+
*/
|
|
50
|
+
export declare function matchesEnvironmentPattern(pattern: string, name: string): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Environment-membership test (#1221): is `name` covered by this project's
|
|
53
|
+
* declared `environments`? A literal entry matches by equality; an entry
|
|
54
|
+
* containing `*` matches as a glob pattern (`"pr-*"` covers `pr-42`).
|
|
55
|
+
* Literals are checked first across the whole list, then patterns — so a
|
|
56
|
+
* name that is declared outright never depends on pattern order. `undefined`
|
|
57
|
+
* / empty `environments` returns `false`; callers that treat "no declared
|
|
58
|
+
* environments" as "anything goes" (e.g. {@link unknownEnvError} in
|
|
59
|
+
* `./env.ts`) guard that case themselves.
|
|
60
|
+
*/
|
|
61
|
+
export declare function matchesDeclaredEnvironment(environments: EnvironmentDeclaration[] | undefined, name: string): boolean;
|
|
39
62
|
/**
|
|
40
63
|
* The endpoint `name` declares (chant #1166) — `undefined` for a bare-string
|
|
41
64
|
* entry, an entry with no `endpoint` set, or a name this project doesn't
|
|
@@ -43,6 +66,11 @@ export declare function environmentNames(environments: EnvironmentDeclaration[]
|
|
|
43
66
|
* it injects this into the ambient env var each observing lexicon's CLI
|
|
44
67
|
* shell-out reads (e.g. `AWS_ENDPOINT_URL`), unless that var is already set —
|
|
45
68
|
* ambient always wins.
|
|
69
|
+
*
|
|
70
|
+
* A pattern entry (#1221) can carry an endpoint too: `{ name: "pr-*",
|
|
71
|
+
* endpoint }` supplies the endpoint for every `pr-<n>` environment. A literal
|
|
72
|
+
* entry always wins over a pattern — declaring `pr-special` alongside
|
|
73
|
+
* `pr-*` resolves `pr-special` to the literal entry's endpoint (or none).
|
|
46
74
|
*/
|
|
47
75
|
export declare function environmentEndpoint(environments: EnvironmentDeclaration[] | undefined, name: string): string | undefined;
|
|
48
76
|
export declare const ChantConfigSchema: z.ZodObject<{
|
|
@@ -127,6 +155,9 @@ export declare const ChantConfigSchema: z.ZodObject<{
|
|
|
127
155
|
}>>;
|
|
128
156
|
vexSources: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
129
157
|
}, z.core.$strip>>;
|
|
158
|
+
knowledge: z.ZodOptional<z.ZodObject<{
|
|
159
|
+
dir: z.ZodOptional<z.ZodString>;
|
|
160
|
+
}, z.core.$strip>>;
|
|
130
161
|
}, z.core.$loose>;
|
|
131
162
|
/**
|
|
132
163
|
* Top-level chant project configuration.
|
|
@@ -335,6 +366,20 @@ export interface ChantConfig {
|
|
|
335
366
|
/** Default VEX document paths (OpenVEX/CycloneDX) applied to every gate. Read where the gate step is composed. */
|
|
336
367
|
vexSources?: string[];
|
|
337
368
|
};
|
|
369
|
+
/**
|
|
370
|
+
* OKF knowledge bundle location (#1864, design #1059, epic #1057) — the
|
|
371
|
+
* *input* side of `chant explain --format okf` (#1058): a project may
|
|
372
|
+
* author knowledge as an OKF v0.2 bundle (a directory of markdown files
|
|
373
|
+
* with YAML frontmatter) that `./okf-read.ts`'s `loadOkfBundle` reads and
|
|
374
|
+
* binds to discovered entities via each concept's `binds` frontmatter key.
|
|
375
|
+
* Convention-first: `knowledge/` beside `chant.config.ts` is used when this
|
|
376
|
+
* is unset. Set `dir` only when that name is already taken by something
|
|
377
|
+
* else in the project. See {@link resolveKnowledgeDir}.
|
|
378
|
+
*/
|
|
379
|
+
knowledge?: {
|
|
380
|
+
/** Bundle directory, relative to the project root. Defaults to `"knowledge"`. */
|
|
381
|
+
dir?: string;
|
|
382
|
+
};
|
|
338
383
|
}
|
|
339
384
|
/**
|
|
340
385
|
* Resolved project configuration with metadata about how it was loaded.
|
|
@@ -516,4 +561,13 @@ export declare function resolveSigningDefaults(config: ChantConfig): ResolvedSig
|
|
|
516
561
|
* configure how the capability is constructed and are read separately.
|
|
517
562
|
*/
|
|
518
563
|
export declare function resolveVulnPolicy(config: ChantConfig): Partial<VulnPolicy>;
|
|
564
|
+
/**
|
|
565
|
+
* Resolve the OKF knowledge bundle directory (#1864, design #1059):
|
|
566
|
+
* `knowledge.dir` relative to `projectPath` when configured, else the
|
|
567
|
+
* `knowledge/` convention beside `chant.config.ts`. Never checks existence —
|
|
568
|
+
* a project with no bundle yet resolves a path all the same, and
|
|
569
|
+
* `okf-read.ts`'s `loadOkfBundle` treats a missing directory as an empty
|
|
570
|
+
* bundle rather than an error.
|
|
571
|
+
*/
|
|
572
|
+
export declare function resolveKnowledgeDir(config: ChantConfig, projectPath: string): string;
|
|
519
573
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD;;;;;;;;;GASG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,sBAAsB,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAEzG;AAED
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -220,6 +220,20 @@ export interface DeepNormalizationHooks {
|
|
|
220
220
|
* reads as permanent drift.
|
|
221
221
|
*/
|
|
222
222
|
unresolved?(node: DeepNode): boolean;
|
|
223
|
+
/**
|
|
224
|
+
* Return true when this value is secret material the diff must never hold —
|
|
225
|
+
* it is collapsed to {@link MASKED} on BOTH sides (the hook runs over the
|
|
226
|
+
* declared and the live tree alike), so presence and key names still
|
|
227
|
+
* classify while values never reach a diff row, a log line, or a snapshot.
|
|
228
|
+
*
|
|
229
|
+
* The pass masks by key name on its own ({@link isSensitiveKey}); this hook
|
|
230
|
+
* exists for the lexicons whose secret-bearing paths are structural rather
|
|
231
|
+
* than name-shaped — a Kubernetes Secret's `data` carries arbitrary key
|
|
232
|
+
* names (`app.conf`), and #1365 decision 6 draws the hard line: drift on a
|
|
233
|
+
* secret observes presence, declared key-set, and metadata — never a value
|
|
234
|
+
* or a value-derived hash.
|
|
235
|
+
*/
|
|
236
|
+
mask?(node: DeepNode): boolean;
|
|
223
237
|
}
|
|
224
238
|
/** Everything the pass needs besides the tree itself. */
|
|
225
239
|
export interface NormalizeDeepOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-observation.d.ts","sourceRoot":"","sources":["../src/deep-observation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deep-observation.d.ts","sourceRoot":"","sources":["../src/deep-observation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Effect receipts (chant #1831, epic #1703).
|
|
3
|
+
*
|
|
4
|
+
* A RECEIPT is the declared witness that an out-of-band effect (a migration,
|
|
5
|
+
* a seed job, a one-shot bootstrap) has run — declared, diffed, and observed
|
|
6
|
+
* like any resource, but observe-only to the generic apply path: the
|
|
7
|
+
* `effect()` step (#1834) is the sole writer, on success, last. Anything
|
|
8
|
+
* else silently converts at-least-once into never (epic decision log, item
|
|
9
|
+
* 3). That write-exclusion is #1832's enforcement; what THIS module provides
|
|
10
|
+
* is the recognition marker that makes it possible: core code (lint, plan,
|
|
11
|
+
* apply) identifies receipts via {@link EFFECT_RECEIPT_MARKER} without any
|
|
12
|
+
* lexicon knowledge, while per-lexicon rows (#1835's `AWS::SSM::Parameter`)
|
|
13
|
+
* materialize them as real resources. Unlike a secret provenance declaration
|
|
14
|
+
* (./secret-provenance.ts), a receipt DOES serialize — the marker identifies,
|
|
15
|
+
* it does not exclude.
|
|
16
|
+
*
|
|
17
|
+
* The resolution split (epic decision log, item 5):
|
|
18
|
+
*
|
|
19
|
+
* - STATIC inputs hash at synthesis, in the serializer — a fully static
|
|
20
|
+
* receipt's expectation is already known when the template is written
|
|
21
|
+
* ({@link receiptExpectation}).
|
|
22
|
+
* - REFERENCE inputs (attr-refs and other intrinsics — deploy-time values)
|
|
23
|
+
* are recorded in placeholder form at synthesis and resolve in the plan
|
|
24
|
+
* engine (#1832) and again in the effect step (#1834), via
|
|
25
|
+
* {@link resolveReceiptExpectation}. Synthesis resolves NOTHING:
|
|
26
|
+
* {@link receiptExpectation} refuses a hash-flavor receipt that still
|
|
27
|
+
* carries references rather than hashing a placeholder.
|
|
28
|
+
* - Build-time `params.*` are not references here: they fold to literals
|
|
29
|
+
* before discovery ever runs (../params.ts), so by the time this factory
|
|
30
|
+
* sees them they are static.
|
|
31
|
+
*
|
|
32
|
+
* Nothing in this module reads live state. Every function is pure over the
|
|
33
|
+
* declaration and, for resolution, the caller-supplied resolver.
|
|
34
|
+
*
|
|
35
|
+
* Hashing is JCS-style canonical JSON (RFC 8785 shape: sorted keys, standard
|
|
36
|
+
* ECMAScript number/string encoding — implemented minimally here, no
|
|
37
|
+
* dependency) digested with sha256 ({@link canonicalJson},
|
|
38
|
+
* `sha256:<hex>` like the build-ledger digests in ./lifecycle/build-ledger.ts).
|
|
39
|
+
*/
|
|
40
|
+
import { type Declarable } from "./declarable.js";
|
|
41
|
+
import { type Intrinsic } from "./intrinsic.js";
|
|
42
|
+
/** The closed union of receipt flavors. */
|
|
43
|
+
export type EffectReceiptFlavor = "existence" | "hash";
|
|
44
|
+
/** Every receipt flavor, for exhaustiveness checks. */
|
|
45
|
+
export declare const EFFECT_RECEIPT_FLAVORS: readonly EffectReceiptFlavor[];
|
|
46
|
+
/** Marker symbol identifying an effect receipt. `Symbol.for` so it survives
|
|
47
|
+
* the entity-wire codec (./discovery/entity-wire-codec.ts) and so a lexicon
|
|
48
|
+
* row can stamp the SAME symbol on its materialized resource — core's lint
|
|
49
|
+
* (#1833), plan (#1832), and apply write-exclusion recognize receipts through
|
|
50
|
+
* this marker alone, lexicon-independently. */
|
|
51
|
+
export declare const EFFECT_RECEIPT_MARKER: unique symbol;
|
|
52
|
+
/** The `entityType` the core factory stamps. Lexicon materialization rows
|
|
53
|
+
* (#1835) use their own entityType and carry the marker instead. */
|
|
54
|
+
export declare const EFFECT_RECEIPT_ENTITY_TYPE = "Chant::EffectReceipt";
|
|
55
|
+
/**
|
|
56
|
+
* The expected stored value of an `existence`-flavor receipt: a fixed marker
|
|
57
|
+
* constant, the same for every existence receipt. Present-and-equal means the
|
|
58
|
+
* effect has run; anything else renders an effect-will-fire row (#1832).
|
|
59
|
+
*/
|
|
60
|
+
export declare const EXISTENCE_EXPECTATION = "chant.effect-receipt:exists";
|
|
61
|
+
/**
|
|
62
|
+
* An effect receipt declaration — a Declarable, so discovery collects it,
|
|
63
|
+
* `chant list` shows it, and (unlike a secret declaration) serialization
|
|
64
|
+
* keeps it: a lexicon row turns it into a real, observable resource.
|
|
65
|
+
*/
|
|
66
|
+
export interface EffectReceiptDeclaration extends Declarable {
|
|
67
|
+
readonly [EFFECT_RECEIPT_MARKER]: true;
|
|
68
|
+
/** `"chant"` for the plain factory; a lexicon row (#1835) declares its own. */
|
|
69
|
+
readonly lexicon: string;
|
|
70
|
+
/** The core factory stamps EFFECT_RECEIPT_ENTITY_TYPE; a lexicon row uses its materialized kind. */
|
|
71
|
+
readonly entityType: string;
|
|
72
|
+
/** The receipt's own name (the export-level identity of the witness). */
|
|
73
|
+
readonly name: string;
|
|
74
|
+
/** The effect this receipt witnesses — the identity the `effect()` step
|
|
75
|
+
* (#1834) and the receipt path (#1835) key on. */
|
|
76
|
+
readonly effect: string;
|
|
77
|
+
/** How the receipt is compared: mere presence, or a digest of the inputs. */
|
|
78
|
+
readonly flavor: EffectReceiptFlavor;
|
|
79
|
+
/**
|
|
80
|
+
* The effect's inputs as recorded at synthesis: static values verbatim,
|
|
81
|
+
* references (intrinsics) kept in placeholder form — never resolved here.
|
|
82
|
+
*/
|
|
83
|
+
readonly inputs: Readonly<Record<string, unknown>>;
|
|
84
|
+
}
|
|
85
|
+
/** Factory options for {@link EffectReceipt}. */
|
|
86
|
+
export interface EffectReceiptOptions {
|
|
87
|
+
/** The effect this receipt witnesses. Non-empty. */
|
|
88
|
+
readonly effect: string;
|
|
89
|
+
/** `existence` — presence is the witness; `hash` — a digest of the inputs
|
|
90
|
+
* is, so changed inputs re-propose the fire. */
|
|
91
|
+
readonly flavor: EffectReceiptFlavor;
|
|
92
|
+
/** The effect's inputs. Static values hash at synthesis; intrinsic values
|
|
93
|
+
* (attr-refs, deploy-time references) resolve at plan and at run. */
|
|
94
|
+
readonly inputs?: Record<string, unknown>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Declare an effect receipt. The returned object is a locked Declarable:
|
|
98
|
+
* declared fields are immutable, plain-data input structures are frozen
|
|
99
|
+
* (intrinsics are left live — discovery still stamps logical names onto
|
|
100
|
+
* attr-refs), and the top-level object stays extensible for discovery's own
|
|
101
|
+
* symbol-keyed metadata.
|
|
102
|
+
*/
|
|
103
|
+
export declare function EffectReceipt(name: string, options: EffectReceiptOptions): EffectReceiptDeclaration;
|
|
104
|
+
/** Type guard for an effect receipt — the recognition read core's guards use.
|
|
105
|
+
* True for the core declaration AND for any lexicon-materialized resource
|
|
106
|
+
* that carries the marker. */
|
|
107
|
+
export declare function isEffectReceipt(value: unknown): value is EffectReceiptDeclaration;
|
|
108
|
+
/**
|
|
109
|
+
* Extract the effect receipts from a discovered entity map — the read surface
|
|
110
|
+
* for lint (#1833), the plan engine (#1832), and the apply write-exclusion.
|
|
111
|
+
* Keyed by entity name (export name), the same key `DiscoveryResult.entities`
|
|
112
|
+
* uses.
|
|
113
|
+
*/
|
|
114
|
+
export declare function collectEffectReceipts(entities: ReadonlyMap<string, Declarable>): Map<string, EffectReceiptDeclaration>;
|
|
115
|
+
/**
|
|
116
|
+
* Split an entity map into the apply-bound set and the receipts (#1832).
|
|
117
|
+
*
|
|
118
|
+
* The write-exclusion seam: receipts are observe-only to the generic apply
|
|
119
|
+
* path — the `effect()` step is the sole writer (epic #1703, decision 3), and
|
|
120
|
+
* a receipt the generic apply stamped would silently convert at-least-once
|
|
121
|
+
* into never. The build calls this at serializer-input assembly, the one core
|
|
122
|
+
* choke point every applier's input flows through (appliers consume serialized
|
|
123
|
+
* build outputs), so no lexicon's serialized apply document ever contains a
|
|
124
|
+
* receipt and no applier's desired or prune set can. Receipts still reach the
|
|
125
|
+
* serializer — for visibility rendering outside the apply-bound document
|
|
126
|
+
* (#1835) — via `SerializeContext.receipts`, never in the entity map.
|
|
127
|
+
*/
|
|
128
|
+
export declare function splitReceiptEntities(entities: ReadonlyMap<string, Declarable>): {
|
|
129
|
+
applyBound: Map<string, Declarable>;
|
|
130
|
+
receipts: Map<string, EffectReceiptDeclaration>;
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* JCS-style canonical JSON (the RFC 8785 shape, implemented minimally):
|
|
134
|
+
* object keys sorted by UTF-16 code units, numbers and strings in standard
|
|
135
|
+
* ECMAScript `JSON.stringify` encoding, no insignificant whitespace.
|
|
136
|
+
* `toJSON()` is honored the way `JSON.stringify` honors it — which is what
|
|
137
|
+
* puts an intrinsic's PLACEHOLDER envelope (e.g. an attr-ref's
|
|
138
|
+
* `{"__attrRef":{...}}`) into the canonical form rather than a resolved
|
|
139
|
+
* value. Non-representable values (undefined outside an object property,
|
|
140
|
+
* functions, symbols, bigints, non-finite numbers, cycles) throw — a hash
|
|
141
|
+
* input silently coerced is a wrong expectation.
|
|
142
|
+
*/
|
|
143
|
+
export declare function canonicalJson(value: unknown): string;
|
|
144
|
+
/** The paths (dot/bracket, rooted at `inputs`) of every reference (intrinsic)
|
|
145
|
+
* input still unresolved on the receipt. Empty means the receipt is fully
|
|
146
|
+
* static and {@link receiptExpectation} can stamp its digest at synthesis. */
|
|
147
|
+
export declare function referenceInputPaths(receipt: EffectReceiptDeclaration): string[];
|
|
148
|
+
/**
|
|
149
|
+
* The receipt's expected stored value, computable at synthesis:
|
|
150
|
+
*
|
|
151
|
+
* - `existence` → {@link EXISTENCE_EXPECTATION}, always.
|
|
152
|
+
* - `hash` → `sha256:<hex>` over the canonical JSON of
|
|
153
|
+
* `{ effect, inputs }` — the effect name is bound into the digest so the
|
|
154
|
+
* same inputs under a different effect never collide.
|
|
155
|
+
*
|
|
156
|
+
* A hash-flavor receipt that still carries reference inputs THROWS instead
|
|
157
|
+
* of hashing placeholders: synthesis resolves nothing (epic decision log,
|
|
158
|
+
* item 5). The plan engine and the effect step get the digest through
|
|
159
|
+
* {@link resolveReceiptExpectation}.
|
|
160
|
+
*/
|
|
161
|
+
export declare function receiptExpectation(receipt: EffectReceiptDeclaration): string;
|
|
162
|
+
/**
|
|
163
|
+
* Resolves one reference input to its live value. `path` is the reference's
|
|
164
|
+
* location (as {@link referenceInputPaths} renders it). Must return a
|
|
165
|
+
* JSON-representable value — returning `undefined` or another intrinsic is
|
|
166
|
+
* an error, reported with the path.
|
|
167
|
+
*/
|
|
168
|
+
export type ReceiptInputResolver = (ref: Intrinsic, path: string) => unknown;
|
|
169
|
+
/**
|
|
170
|
+
* The receipt's expected stored value with references resolved — the form
|
|
171
|
+
* the plan engine (#1832) compares against the live receipt and the effect
|
|
172
|
+
* step (#1834) writes on success. Deterministic over the receipt and the
|
|
173
|
+
* resolver's answers; resolves nothing itself and reads no live state (the
|
|
174
|
+
* resolver is the caller's seam to deploy-time values).
|
|
175
|
+
*/
|
|
176
|
+
export declare function resolveReceiptExpectation(receipt: EffectReceiptDeclaration, resolver: ReceiptInputResolver): string;
|
|
177
|
+
//# sourceMappingURL=effect-receipt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-receipt.d.ts","sourceRoot":"","sources":["../src/effect-receipt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAGH,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE1D,2CAA2C;AAC3C,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,MAAM,CAAC;AAEvD,uDAAuD;AACvD,eAAO,MAAM,sBAAsB,EAAE,SAAS,mBAAmB,EAA0B,CAAC;AAE5F;;;;+CAI+C;AAC/C,eAAO,MAAM,qBAAqB,eAAqC,CAAC;AAExE;oEACoE;AACpE,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AAEjE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,gCAAgC,CAAC;AAEnE;;;;GAIG;AACH,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IAC1D,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC;IACvC,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oGAAoG;IACpG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;sDACkD;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAED,iDAAiD;AACjD,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;oDACgD;IAChD,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC;yEACqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,wBAAwB,CAmCnG;AAoBD;;8BAE8B;AAC9B,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,wBAAwB,CAOjF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,GACxC,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAMvC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG;IAC/E,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;CACjD,CAQA;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMpD;AA4DD;;8EAE8E;AAC9E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,EAAE,CAI/E;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAW5E;AAED;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;AAE7E;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,wBAAwB,EACjC,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,CAIR"}
|
package/dist/env.d.ts
CHANGED
|
@@ -28,7 +28,18 @@ export declare function env(fallback?: string): string | undefined;
|
|
|
28
28
|
* when it's valid (or when the project declares no environments, in which case
|
|
29
29
|
* any name is accepted). `declared` entries may be a bare name or `{ name,
|
|
30
30
|
* endpoint }` (#1166) — {@link environmentNames} reduces either to the names
|
|
31
|
-
* this checks against.
|
|
31
|
+
* this checks against. An entry containing `*` is a glob pattern (#1221):
|
|
32
|
+
* `"pr-*"` legalizes every `pr-<n>` environment. Literal entries are checked
|
|
33
|
+
* first, then patterns — see {@link matchesDeclaredEnvironment}.
|
|
32
34
|
*/
|
|
33
35
|
export declare function unknownEnvError(requested: string | undefined, declared: EnvironmentDeclaration[] | undefined): string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* True when an environment name looks like production — `prod`, `production`,
|
|
38
|
+
* and separator-delimited variants (`prod-eu`, `us-prod`, `production2`).
|
|
39
|
+
* `chant lifecycle teardown <env> --yes` demands an extra confirmation for
|
|
40
|
+
* these (#1222): a typo that survives the declared-environments check should
|
|
41
|
+
* still not delete production on one flag. Name-shaped, deliberately — chant
|
|
42
|
+
* has no other signal for which environment is the one that pays the bills.
|
|
43
|
+
*/
|
|
44
|
+
export declare function isProdLikeEnvironment(name: string): boolean;
|
|
34
45
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAgD,KAAK,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAErG,0DAA0D;AAC1D,eAAO,MAAM,OAAO,cAAc,CAAC;AAEnC,iFAAiF;AACjF,wBAAgB,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,sBAAsB,EAAE,GAAG,SAAS,GAC7C,MAAM,GAAG,SAAS,CAKpB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D"}
|
package/dist/fold/subset.d.ts
CHANGED
|
@@ -165,7 +165,7 @@ export declare function unsupportedExpressionMessage(node: ts.Node): string;
|
|
|
165
165
|
* the value. Returns the first violation within this member, or
|
|
166
166
|
* `undefined` when it's fully in the subset.
|
|
167
167
|
*/
|
|
168
|
-
export declare function checkObjectMember(prop: ts.ObjectLiteralElementLike, intrinsics?: readonly IntrinsicDef[]): SubsetViolation | undefined;
|
|
168
|
+
export declare function checkObjectMember(prop: ts.ObjectLiteralElementLike, intrinsics?: readonly IntrinsicDef[], allowCompositeStepAccess?: boolean): SubsetViolation | undefined;
|
|
169
169
|
/**
|
|
170
170
|
* The canonical recursive shape classifier: is `node`'s expression *shape*
|
|
171
171
|
* within the subset `fold()` can reduce? Mirrors `fold()`'s own dispatch
|
|
@@ -175,6 +175,19 @@ export declare function checkObjectMember(prop: ts.ObjectLiteralElementLike, int
|
|
|
175
175
|
* environment-dependent exceptions). Returns the first (deepest,
|
|
176
176
|
* `fold()`-evaluation-order) unsupported node, or `undefined` when `node`'s
|
|
177
177
|
* whole shape is foldable.
|
|
178
|
+
*
|
|
179
|
+
* `allowCompositeStepAccess` (chant #1544) is an EVL-only, MORE-permissive
|
|
180
|
+
* divergence in the same direction as points 1/2/2b/2c in the module doc
|
|
181
|
+
* above: a call immediately narrowed to a single member access — the
|
|
182
|
+
* `Checkout({...}).step` shape every lexicon's single-action `Composite()`
|
|
183
|
+
* wrappers document as their embedded-inline idiom (see composites.mdx —
|
|
184
|
+
* "normally embedded inline as `checkout.step` inside a `Job`'s `steps`
|
|
185
|
+
* array") — is treated as shape-valid. `fold()` itself never passes this
|
|
186
|
+
* (it has no such parameter to pass; only EVL001 opts in), so `fold()`'s own
|
|
187
|
+
* behavior is unchanged: it still falls the file back to the run path for
|
|
188
|
+
* this shape, exactly as composites.mdx describes as the expected, correct
|
|
189
|
+
* outcome — not an error. What changes is that EVL001 stops treating that
|
|
190
|
+
* ordinary, documented fallback as a lint error.
|
|
178
191
|
*/
|
|
179
|
-
export declare function findSubsetViolation(node: ts.Node, intrinsics?: readonly IntrinsicDef[]): SubsetViolation | undefined;
|
|
192
|
+
export declare function findSubsetViolation(node: ts.Node, intrinsics?: readonly IntrinsicDef[], allowCompositeStepAccess?: boolean): SubsetViolation | undefined;
|
|
180
193
|
//# sourceMappingURL=subset.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subset.d.ts","sourceRoot":"","sources":["../../src/fold/subset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AAEH,mEAAmE;AACnE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/C,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,0FAA0F;AAC1F,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,EAAE,CAAC,UAAU,CAchE,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,EAAE,CAAC,UAAU,CAG/D,CAAC;AAEH,gHAAgH;AAChH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,EAAE,CAAC,YAAY,GACpB,IAAI,IAAI,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,cAAc,CAE9D;AAED,6GAA6G;AAC7G,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,cAAc,CAErG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,SAAK,GAAG,MAAM,CAGnE;AAQD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,GAAG,MAAM,CAEzE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAE1E;AAED,eAAO,MAAM,iCAAiC,8BAA8B,CAAC;AAE7E,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAE7D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAEtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,GAAG,MAAM,CAErE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,MAAM,CAElE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,EAAE,CAAC,wBAAwB,EACjC,UAAU,CAAC,EAAE,SAAS,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"subset.d.ts","sourceRoot":"","sources":["../../src/fold/subset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+GG;AAEH,mEAAmE;AACnE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/C,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,0FAA0F;AAC1F,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,EAAE,CAAC,UAAU,CAchE,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,EAAE,CAAC,UAAU,CAG/D,CAAC;AAEH,gHAAgH;AAChH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,EAAE,CAAC,YAAY,GACpB,IAAI,IAAI,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,cAAc,CAE9D;AAED,6GAA6G;AAC7G,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC,cAAc,CAErG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,SAAK,GAAG,MAAM,CAGnE;AAQD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,GAAG,MAAM,CAEzE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAE1E;AAED,eAAO,MAAM,iCAAiC,8BAA8B,CAAC;AAE7E,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAE7D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,GAAG,MAAM,CAEtE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,GAAG,MAAM,CAErE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,MAAM,CAElE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,EAAE,CAAC,wBAAwB,EACjC,UAAU,CAAC,EAAE,SAAS,YAAY,EAAE,EACpC,wBAAwB,CAAC,EAAE,OAAO,GACjC,eAAe,GAAG,SAAS,CAc7B;AAYD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,UAAU,CAAC,EAAE,SAAS,YAAY,EAAE,EACpC,wBAAwB,CAAC,EAAE,OAAO,GACjC,eAAe,GAAG,SAAS,CA2K7B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
export * from "./declarable.js";
|
|
7
7
|
export * from "./composite.js";
|
|
8
8
|
export * from "./provenance.js";
|
|
9
|
+
export * from "./secret-provenance.js";
|
|
10
|
+
export * from "./secret-materialization.js";
|
|
11
|
+
export * from "./effect-receipt.js";
|
|
9
12
|
export * from "./build-params.js";
|
|
10
13
|
export * from "./intrinsic.js";
|
|
11
14
|
export * from "./types.js";
|
|
@@ -42,6 +45,7 @@ export * from "./lint/selectors.js";
|
|
|
42
45
|
export * from "./lint/named-checks.js";
|
|
43
46
|
export * from "./lint/post-synth.js";
|
|
44
47
|
export * from "./lint/policy.js";
|
|
48
|
+
export * from "./lint/pipeline-change-gate.js";
|
|
45
49
|
export * from "./lint/rule-loader.js";
|
|
46
50
|
export * from "./lint/discover.js";
|
|
47
51
|
export * from "./import/parser.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|