@intentius/chant-lexicon-temporal 0.7.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/codegen/docs-cli.d.ts +3 -0
  2. package/dist/codegen/docs-cli.d.ts.map +1 -0
  3. package/dist/codegen/docs.d.ts +7 -0
  4. package/dist/codegen/docs.d.ts.map +1 -0
  5. package/dist/codegen/generate-cli.d.ts +3 -0
  6. package/dist/codegen/generate-cli.d.ts.map +1 -0
  7. package/dist/codegen/generate.d.ts +16 -0
  8. package/dist/codegen/generate.d.ts.map +1 -0
  9. package/dist/codegen/package-cli.d.ts +3 -0
  10. package/dist/codegen/package-cli.d.ts.map +1 -0
  11. package/dist/codegen/package.d.ts +10 -0
  12. package/dist/codegen/package.d.ts.map +1 -0
  13. package/dist/composites/apply-op.d.ts +73 -0
  14. package/dist/composites/apply-op.d.ts.map +1 -0
  15. package/dist/composites/cloud-stack.d.ts +54 -0
  16. package/dist/composites/cloud-stack.d.ts.map +1 -0
  17. package/dist/composites/dev-stack.d.ts +63 -0
  18. package/dist/composites/dev-stack.d.ts.map +1 -0
  19. package/dist/composites/pipeline-audit-op.d.ts +55 -0
  20. package/dist/composites/pipeline-audit-op.d.ts.map +1 -0
  21. package/dist/composites/reconcile-op.d.ts +62 -0
  22. package/dist/composites/reconcile-op.d.ts.map +1 -0
  23. package/dist/composites/watch-op.d.ts +56 -0
  24. package/dist/composites/watch-op.d.ts.map +1 -0
  25. package/dist/composites/workflow-audit-op.d.ts +61 -0
  26. package/dist/composites/workflow-audit-op.d.ts.map +1 -0
  27. package/dist/config.d.ts +197 -0
  28. package/dist/config.d.ts.map +1 -0
  29. package/dist/coverage.d.ts +15 -0
  30. package/dist/coverage.d.ts.map +1 -0
  31. package/dist/describe-resources.d.ts +26 -0
  32. package/dist/describe-resources.d.ts.map +1 -0
  33. package/dist/index.d.ts +23 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/integrity.json +5 -5
  36. package/dist/lint/post-synth/index.d.ts +3 -0
  37. package/dist/lint/post-synth/index.d.ts.map +1 -0
  38. package/dist/lint/post-synth/tmp001-retention-too-short.d.ts +10 -0
  39. package/dist/lint/post-synth/tmp001-retention-too-short.d.ts.map +1 -0
  40. package/dist/lint/post-synth/tmp002-allowall-without-note.d.ts +11 -0
  41. package/dist/lint/post-synth/tmp002-allowall-without-note.d.ts.map +1 -0
  42. package/dist/lint/post-synth/tmp010-cron-syntax.d.ts +12 -0
  43. package/dist/lint/post-synth/tmp010-cron-syntax.d.ts.map +1 -0
  44. package/dist/lint/post-synth/tmp011-namespace-reference.d.ts +10 -0
  45. package/dist/lint/post-synth/tmp011-namespace-reference.d.ts.map +1 -0
  46. package/dist/manifest.json +1 -1
  47. package/dist/op/activities/apply.d.ts +70 -0
  48. package/dist/op/activities/apply.d.ts.map +1 -0
  49. package/dist/op/activities/argo.d.ts +56 -0
  50. package/dist/op/activities/argo.d.ts.map +1 -0
  51. package/dist/op/activities/build.d.ts +11 -0
  52. package/dist/op/activities/build.d.ts.map +1 -0
  53. package/dist/op/activities/gitlab.d.ts +15 -0
  54. package/dist/op/activities/gitlab.d.ts.map +1 -0
  55. package/dist/op/activities/heartbeat.d.ts +27 -0
  56. package/dist/op/activities/heartbeat.d.ts.map +1 -0
  57. package/dist/op/activities/helm.d.ts +18 -0
  58. package/dist/op/activities/helm.d.ts.map +1 -0
  59. package/dist/op/activities/index.d.ts +29 -0
  60. package/dist/op/activities/index.d.ts.map +1 -0
  61. package/dist/op/activities/kubectl.d.ts +11 -0
  62. package/dist/op/activities/kubectl.d.ts.map +1 -0
  63. package/dist/op/activities/lifecycle.d.ts +42 -0
  64. package/dist/op/activities/lifecycle.d.ts.map +1 -0
  65. package/dist/op/activities/pipeline-audit.d.ts +84 -0
  66. package/dist/op/activities/pipeline-audit.d.ts.map +1 -0
  67. package/dist/op/activities/policy.d.ts +17 -0
  68. package/dist/op/activities/policy.d.ts.map +1 -0
  69. package/dist/op/activities/reconcile.d.ts +69 -0
  70. package/dist/op/activities/reconcile.d.ts.map +1 -0
  71. package/dist/op/activities/shell.d.ts +13 -0
  72. package/dist/op/activities/shell.d.ts.map +1 -0
  73. package/dist/op/activities/teardown.d.ts +10 -0
  74. package/dist/op/activities/teardown.d.ts.map +1 -0
  75. package/dist/op/activities/util.d.ts +8 -0
  76. package/dist/op/activities/util.d.ts.map +1 -0
  77. package/dist/op/activities/wait.d.ts +16 -0
  78. package/dist/op/activities/wait.d.ts.map +1 -0
  79. package/dist/op/activities/workflow-audit.d.ts +92 -0
  80. package/dist/op/activities/workflow-audit.d.ts.map +1 -0
  81. package/dist/op/serializer.d.ts +20 -0
  82. package/dist/op/serializer.d.ts.map +1 -0
  83. package/dist/plugin.d.ts +10 -0
  84. package/dist/plugin.d.ts.map +1 -0
  85. package/dist/resources.d.ts +101 -0
  86. package/dist/resources.d.ts.map +1 -0
  87. package/dist/rules/{tmp001.ts → tmp001-retention-too-short.ts} +9 -11
  88. package/dist/rules/{tmp002.ts → tmp002-allowall-without-note.ts} +9 -11
  89. package/dist/rules/tmp011-namespace-reference.ts +2 -2
  90. package/dist/serializer.d.ts +15 -0
  91. package/dist/serializer.d.ts.map +1 -0
  92. package/dist/validate-cli.d.ts +3 -0
  93. package/dist/validate-cli.d.ts.map +1 -0
  94. package/dist/validate.d.ts +18 -0
  95. package/dist/validate.d.ts.map +1 -0
  96. package/package.json +27 -6
  97. package/src/lint/post-synth/index.ts +13 -0
  98. package/src/lint/post-synth/post-synth.test.ts +124 -1
  99. package/src/lint/{rules/tmp001.ts → post-synth/tmp001-retention-too-short.ts} +9 -11
  100. package/src/lint/{rules/tmp002.ts → post-synth/tmp002-allowall-without-note.ts} +9 -11
  101. package/src/lint/post-synth/tmp011-namespace-reference.ts +2 -2
  102. package/src/op/serializer.ts +2 -2
  103. package/src/plugin.test.ts +5 -6
  104. package/src/plugin.ts +2 -12
  105. package/src/serializer.ts +6 -6
  106. package/src/lint/rules/index.ts +0 -2
  107. package/src/lint/rules/lint-rules.test.ts +0 -150
@@ -0,0 +1,29 @@
1
+ export { chantBuild } from "./build.js";
2
+ export type { ChantBuildArgs } from "./build.js";
3
+ export { kubectlApply } from "./kubectl.js";
4
+ export type { KubectlApplyArgs } from "./kubectl.js";
5
+ export { helmInstall } from "./helm.js";
6
+ export type { HelmInstallArgs } from "./helm.js";
7
+ export { waitForStack } from "./wait.js";
8
+ export type { WaitForStackArgs } from "./wait.js";
9
+ export { gitlabPipeline } from "./gitlab.js";
10
+ export type { GitlabPipelineArgs } from "./gitlab.js";
11
+ export { shellCmd } from "./shell.js";
12
+ export type { ShellCmdArgs } from "./shell.js";
13
+ export { lifecycleSnapshot, lifecycleDiff } from "./lifecycle.js";
14
+ export type { LifecycleSnapshotArgs, LifecycleDiffArgs, LifecycleDiffResult } from "./lifecycle.js";
15
+ export { chantTeardown } from "./teardown.js";
16
+ export type { ChantTeardownArgs } from "./teardown.js";
17
+ export { reconcilePr } from "./reconcile.js";
18
+ export type { ReconcilePrArgs, ReconcileResult, ReconcileMode, ReconcileEntry } from "./reconcile.js";
19
+ export { nativeApply, compensateApply } from "./apply.js";
20
+ export type { NativeApplyArgs, CompensateApplyArgs, ApplyTarget, DeleteMode } from "./apply.js";
21
+ export { waitForArgoSync, defaultArgoStatusFetcher, ArgoSyncFailedError } from "./argo.js";
22
+ export type { WaitForArgoSyncArgs, ArgoAppStatus, ArgoStatusFetcher } from "./argo.js";
23
+ export { policyGate } from "./policy.js";
24
+ export type { PolicyGateArgs } from "./policy.js";
25
+ export { workflowSupplyChainAudit, collectAuditRefs, defaultActionRefResolver } from "./workflow-audit.js";
26
+ export type { WorkflowAuditArgs, WorkflowAuditResult, WorkflowAuditMode, WorkflowAuditFinding, WorkflowAuditFindingKind, ActionRefResolver, ActionRefResolution, } from "./workflow-audit.js";
27
+ export { pipelineSupplyChainAudit, collectPipelineRefs, defaultGitlabRefResolver } from "./pipeline-audit.js";
28
+ export type { PipelineAuditArgs, PipelineAuditResult, PipelineAuditMode, PipelineAuditFinding, PipelineAuditFindingKind, PipelineRefKind, GitlabRefResolver, PipelineRefResolution, } from "./pipeline-audit.js";
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/op/activities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEjG,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEnG,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE7F,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AACxF,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEpF,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACxG,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC3G,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface KubectlApplyArgs {
2
+ manifest: string;
3
+ /** kubectl context name. Uses current context if omitted. */
4
+ context?: string;
5
+ }
6
+ /**
7
+ * Run `kubectl apply -f <manifest>`.
8
+ * Uses longInfra profile — 20m timeout, heartbeat every 15s.
9
+ */
10
+ export declare function kubectlApply(args: KubectlApplyArgs, signal?: AbortSignal): Promise<void>;
11
+ //# sourceMappingURL=kubectl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kubectl.d.ts","sourceRoot":"","sources":["../../../src/op/activities/kubectl.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB9F"}
@@ -0,0 +1,42 @@
1
+ export interface LifecycleSnapshotArgs {
2
+ /** Environment name (e.g. "dev", "staging", "prod"). */
3
+ env: string;
4
+ }
5
+ /**
6
+ * Take a chant lifecycle snapshot for the given environment.
7
+ * Uses fastIdempotent profile — 5m timeout, 3 retries.
8
+ */
9
+ export declare function lifecycleSnapshot(args: LifecycleSnapshotArgs, signal?: AbortSignal): Promise<void>;
10
+ export interface LifecycleDiffArgs {
11
+ /** Environment name (e.g. "dev", "staging", "prod"). */
12
+ env: string;
13
+ /**
14
+ * When true, run `chant lifecycle diff <env> --live` (queries cloud APIs).
15
+ * When false (default), run digest-only diff against the last snapshot.
16
+ */
17
+ live?: boolean;
18
+ }
19
+ export interface LifecycleDiffResult {
20
+ /** Combined stdout + stderr from the chant command. */
21
+ output: string;
22
+ /** Process exit code (0 = success). */
23
+ exitCode: number;
24
+ /**
25
+ * True when the diff output contains any drift indicators
26
+ * (MISSING / ORPHAN / DRIFTED / DISAPPEARED section headers from
27
+ * `chant lifecycle diff --live`).
28
+ */
29
+ drifted: boolean;
30
+ }
31
+ /**
32
+ * Run `chant lifecycle diff <env>` and return the output + structured drift
33
+ * flag. Read-only; intended for use inside watch/observation workflows.
34
+ * Uses fastIdempotent profile.
35
+ *
36
+ * The `drifted` field is computed by scanning the output for any of the
37
+ * MISSING / ORPHAN / DRIFTED / DISAPPEARED section headers documented in
38
+ * cli/state.mdx. Pair with `outcomeAttribute: { name: "Drift", from: "drifted" }`
39
+ * on a WatchOp activity step to surface drift as a workflow search attribute.
40
+ */
41
+ export declare function lifecycleDiff(args: LifecycleDiffArgs, signal?: AbortSignal): Promise<LifecycleDiffResult>;
42
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/op/activities/lifecycle.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,qBAAqB;IACpC,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxG;AAED,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAoBD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAa/G"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * pipelineSupplyChainAudit — the live counterpart to the gitlab post-synth
3
+ * include/component/image checks (#297).
4
+ *
5
+ * Some include/component checks can only be answered against a moving external
6
+ * truth: whether a pinned component/include ref still resolves upstream, whether
7
+ * the upstream project was archived or moved, or whether a new advisory now
8
+ * covers a component/image already in use. These change independent of the
9
+ * source, so they cannot live in the deterministic build — this activity owns
10
+ * *only* the checks that require live resolution.
11
+ *
12
+ * Dependency-free and primitives-only: it reads the emitted `.gitlab-ci.yml`
13
+ * (passed as a string) and resolves references through an injectable
14
+ * `GitlabRefResolver`, so Temporal/`chant run` can schedule it and tests can run
15
+ * it against recorded responses with no live network.
16
+ */
17
+ /** What the audit produces on findings. For GitLab the PR mode is a merge request. */
18
+ export type PipelineAuditMode = "report" | "issue" | "merge-request";
19
+ /** The kind of reference being resolved. */
20
+ export type PipelineRefKind = "include" | "component" | "image";
21
+ /** Live resolution of a single pipeline reference against its upstream. */
22
+ export interface PipelineRefResolution {
23
+ /** Does the project/component/image (at this ref/version) still resolve? */
24
+ exists: boolean;
25
+ /** Has the upstream project been archived? */
26
+ archived: boolean;
27
+ /** Has the upstream project moved (new path), if known. */
28
+ movedTo?: string;
29
+ /** Disclosed advisory identifiers affecting this reference. */
30
+ advisories: string[];
31
+ }
32
+ /** Pluggable upstream resolver — overridden in tests with recorded responses. */
33
+ export type GitlabRefResolver = (kind: PipelineRefKind, identifier: string, ref: string) => Promise<PipelineRefResolution>;
34
+ export type PipelineAuditFindingKind = "unresolved" | "archived" | "moved" | "advisory";
35
+ export interface PipelineAuditFinding {
36
+ kind: PipelineAuditFindingKind;
37
+ refKind: PipelineRefKind;
38
+ /** project path / component address / image. */
39
+ identifier: string;
40
+ /** ref / version / tag. */
41
+ ref: string;
42
+ detail: string;
43
+ }
44
+ export interface PipelineAuditArgs {
45
+ /** One emitted `.gitlab-ci.yml` document. */
46
+ yaml?: string;
47
+ /** Several emitted documents. */
48
+ yamls?: string[];
49
+ /** Path to an emitted `.gitlab-ci.yml` to read at run time (default `.gitlab-ci.yml`). */
50
+ pipelineFile?: string;
51
+ /** What to produce. Default: report. */
52
+ mode?: PipelineAuditMode;
53
+ /** Injectable upstream resolver. Defaults to the live GitLab REST resolver. */
54
+ resolver?: GitlabRefResolver;
55
+ }
56
+ export interface PipelineAuditResult {
57
+ mode: PipelineAuditMode;
58
+ findings: PipelineAuditFinding[];
59
+ summary: string;
60
+ }
61
+ interface CollectedRef {
62
+ refKind: PipelineRefKind;
63
+ identifier: string;
64
+ ref: string;
65
+ }
66
+ /**
67
+ * Collect `include:project` (+ ref), `component:` (with @version), and `image:`
68
+ * references from a `.gitlab-ci.yml`.
69
+ */
70
+ export declare function collectPipelineRefs(yaml: string): CollectedRef[];
71
+ /**
72
+ * Default resolver: query the GitLab REST API for project existence / archive /
73
+ * move status. Best-effort and resilient — errors yield an "unknown" resolution
74
+ * (exists=true, no findings) rather than a false positive. Component/image
75
+ * advisory lookups are left to a configured resolver.
76
+ */
77
+ export declare const defaultGitlabRefResolver: GitlabRefResolver;
78
+ /**
79
+ * Resolve each include/component/image reference in the emitted pipeline against
80
+ * live upstreams and report drift.
81
+ */
82
+ export declare function pipelineSupplyChainAudit(args: PipelineAuditArgs): Promise<PipelineAuditResult>;
83
+ export {};
84
+ //# sourceMappingURL=pipeline-audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-audit.d.ts","sourceRoot":"","sources":["../../../src/op/activities/pipeline-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,eAAe,CAAC;AAErE,4CAA4C;AAC5C,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAEhE,2EAA2E;AAC3E,MAAM,WAAW,qBAAqB;IACpC,4EAA4E;IAC5E,MAAM,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAE3H,MAAM,MAAM,wBAAwB,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;AAExF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,OAAO,EAAE,eAAe,CAAC;IACzB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,0FAA0F;IAC1F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,YAAY;IACpB,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAwChE;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBAgBtC,CAAC;AAmBF;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAkCpG"}
@@ -0,0 +1,17 @@
1
+ export interface PolicyGateArgs {
2
+ /** Project/source directory to build and evaluate. Default ".". */
3
+ path?: string;
4
+ /** Environment for policy evaluation (falls back to `ownership.env`). */
5
+ env?: string;
6
+ }
7
+ /**
8
+ * Gate an apply on organizational policy: build the project, run its
9
+ * `lint.policies` over the resolved resources, and **block** on any violation.
10
+ * Place it as a step before the apply phase — a violation fails the workflow
11
+ * (non-retryable; the `policyCheck` profile is single-attempt) so nothing is
12
+ * applied. A clean evaluation passes through.
13
+ *
14
+ * Runs in both executors — it is a plain activity, not a Temporal gate.
15
+ */
16
+ export declare function policyGate(args: PolicyGateArgs, _signal?: AbortSignal): Promise<void>;
17
+ //# sourceMappingURL=policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/op/activities/policy.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3F"}
@@ -0,0 +1,69 @@
1
+ /** What the reconcile activity does with the regenerated source. */
2
+ export type ReconcileMode = "pull-request" | "issue" | "report";
3
+ /** A change-set entry that triggered reconciliation. */
4
+ export interface ReconcileEntry {
5
+ /** chant entity name. */
6
+ name: string;
7
+ /** create | update | delete | adopt | noop (from `chant lifecycle plan`). */
8
+ action: string;
9
+ /** Resource type, when known. */
10
+ type?: string;
11
+ }
12
+ export interface ReconcilePrArgs {
13
+ /** Environment to reconcile from (passed to `chant import --from`). */
14
+ env: string;
15
+ /**
16
+ * The change-set entries that triggered this reconcile. Omit to derive them
17
+ * from `chant lifecycle plan <env> --json` at run time — the form used inside a
18
+ * workflow, where the entries aren't known until the activity runs.
19
+ */
20
+ entries?: ReconcileEntry[];
21
+ /** What to produce. Default: pull-request. */
22
+ mode?: ReconcileMode;
23
+ /** Output directory for regenerated source. Default: ./infra. */
24
+ output?: string;
25
+ /** Branch to open the PR from. Default: chant/reconcile-<env>. */
26
+ branch?: string;
27
+ /** Restrict live import to chant-owned resources. */
28
+ owned?: boolean;
29
+ /** PR / issue title. Default derived from env. */
30
+ title?: string;
31
+ }
32
+ export interface ReconcileResult {
33
+ mode: ReconcileMode;
34
+ /** Branch created (pull-request mode). */
35
+ branch?: string;
36
+ /** Opened PR URL (pull-request mode). */
37
+ prUrl?: string;
38
+ /** Opened issue URL (issue mode). */
39
+ issueUrl?: string;
40
+ /** The markdown summary used as the PR/issue body. */
41
+ summary: string;
42
+ /** The entries that triggered the reconcile. */
43
+ entries: ReconcileEntry[];
44
+ }
45
+ /** Default branch name for a reconcile PR. Deterministic — no timestamp. */
46
+ export declare function reconcileBranchName(env: string): string;
47
+ /**
48
+ * Build the markdown body summarizing which change-set entries triggered the
49
+ * reconcile. Pure — used as the PR/issue body and returned in `report` mode.
50
+ */
51
+ export declare function reconcileSummary(env: string, entries: ReconcileEntry[]): string;
52
+ /**
53
+ * Map a `chant lifecycle plan --json` ChangeSet to reconcile entries, dropping
54
+ * `noop` entries (nothing to reconcile). Pure — exported for testing.
55
+ */
56
+ export declare function entriesFromPlan(planJson: string): ReconcileEntry[];
57
+ /**
58
+ * Reconcile activity: turn regenerated TypeScript into a reviewable artifact.
59
+ *
60
+ * - `report` — return the summary only; no git, no network.
61
+ * - `issue` — open a GitHub issue describing the drift (no code change).
62
+ * - `pull-request` — create a branch, regenerate source via
63
+ * `chant import --from <env>`, commit, push, and open a PR whose diff is the
64
+ * regenerated TypeScript. Never commits to the main branch.
65
+ *
66
+ * Requires `chant` and (for non-report modes) `gh`/`git` in the environment.
67
+ */
68
+ export declare function reconcilePr(args: ReconcilePrArgs, signal?: AbortSignal): Promise<ReconcileResult>;
69
+ //# sourceMappingURL=reconcile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../../src/op/activities/reconcile.ts"],"names":[],"mappings":"AAKA,oEAAoE;AACpE,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhE,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAkB/E;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAOlE;AAgBD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAuCvG"}
@@ -0,0 +1,13 @@
1
+ export interface ShellCmdArgs {
2
+ cmd: string;
3
+ /** Additional environment variables. */
4
+ env?: Record<string, string>;
5
+ /** Working directory. Default: process.cwd(). */
6
+ cwd?: string;
7
+ }
8
+ /**
9
+ * Run an arbitrary shell command.
10
+ * Uses fastIdempotent profile — 5m timeout, 3 retries.
11
+ */
12
+ export declare function shellCmd(args: ShellCmdArgs, signal?: AbortSignal): Promise<string>;
13
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/op/activities/shell.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAQxF"}
@@ -0,0 +1,10 @@
1
+ export interface ChantTeardownArgs {
2
+ /** Path to the chant project to tear down. */
3
+ path: string;
4
+ }
5
+ /**
6
+ * Run `chant teardown` in the given project path.
7
+ * Uses longInfra profile — 20m timeout.
8
+ */
9
+ export declare function chantTeardown(args: ChantTeardownArgs, signal?: AbortSignal): Promise<void>;
10
+ //# sourceMappingURL=teardown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teardown.d.ts","sourceRoot":"","sources":["../../../src/op/activities/teardown.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhG"}
@@ -0,0 +1,8 @@
1
+ /** Shared helpers for activity implementations. */
2
+ /**
3
+ * Sleep for `ms`, rejecting early if `signal` aborts. Polling activities use
4
+ * this between attempts so a local-executor timeout or Ctrl-C interrupts the
5
+ * wait instead of running it to completion.
6
+ */
7
+ export declare function sleep(ms: number, signal?: AbortSignal): Promise<void>;
8
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/op/activities/util.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBrE"}
@@ -0,0 +1,16 @@
1
+ export interface WaitForStackArgs {
2
+ /** Stack name — used to locate the kubectl deployment/statefulset to poll. */
3
+ name: string;
4
+ /** Kubernetes namespace. */
5
+ namespace?: string;
6
+ /** kubectl context. */
7
+ context?: string;
8
+ /** Poll interval in ms. Default: 10000. */
9
+ intervalMs?: number;
10
+ }
11
+ /**
12
+ * Poll until a Kubernetes Deployment or StatefulSet named `name` is fully rolled out.
13
+ * Uses k8sWait profile — 15m timeout, heartbeat every poll.
14
+ */
15
+ export declare function waitForStack(args: WaitForStackArgs, signal?: AbortSignal): Promise<void>;
16
+ //# sourceMappingURL=wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/op/activities/wait.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC9F"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * workflowSupplyChainAudit — the live counterpart to the github post-synth
3
+ * supply-chain checks (#286-#291).
4
+ *
5
+ * Some workflow-reference checks can only be answered against a moving external
6
+ * truth: whether a pinned SHA still corresponds to a real tag/release upstream,
7
+ * whether a referenced commit exists in the repo it claims, whether a ref is
8
+ * confusable as both a tag and a branch, whether a pin matches its version
9
+ * comment, or whether a new advisory now covers an action already in use. These
10
+ * change over time independent of the source, so they cannot live in the
11
+ * deterministic build — this activity owns *only* the checks that require live
12
+ * resolution.
13
+ *
14
+ * It is dependency-free and primitives-only: it reads the emitted workflow YAML
15
+ * (passed as a string) and resolves references through an injectable
16
+ * `ActionRefResolver`, so Temporal/`chant run` can schedule it and tests can run
17
+ * it against recorded responses with no live network.
18
+ */
19
+ /** What the audit produces on findings, mirroring ReconcileOp's modes. */
20
+ export type WorkflowAuditMode = "report" | "issue" | "pull-request";
21
+ /** Live resolution of a single action reference against its upstream. */
22
+ export interface ActionRefResolution {
23
+ /** Does the ref/SHA exist in the claimed repo? */
24
+ exists: boolean;
25
+ /** Tag/release names that point at this commit (empty for a SHA ⇒ stale pin). */
26
+ tags: string[];
27
+ /** Is the upstream repository archived? */
28
+ archived: boolean;
29
+ /** Disclosed advisory identifiers affecting this action. */
30
+ advisories: string[];
31
+ /** Is the ref resolvable as BOTH a tag and a branch upstream? */
32
+ ambiguousRef?: boolean;
33
+ }
34
+ /** Pluggable upstream resolver — overridden in tests with recorded responses. */
35
+ export type ActionRefResolver = (slug: string, ref: string) => Promise<ActionRefResolution>;
36
+ export type WorkflowAuditFindingKind = "stale-pin" | "impostor" | "ambiguous-ref" | "pin-comment-mismatch" | "advisory" | "archived";
37
+ export interface WorkflowAuditFinding {
38
+ /** owner/repo slug. */
39
+ slug: string;
40
+ /** The pinned ref/SHA. */
41
+ ref: string;
42
+ kind: WorkflowAuditFindingKind;
43
+ detail: string;
44
+ }
45
+ export interface WorkflowAuditArgs {
46
+ /** One emitted workflow YAML document. */
47
+ yaml?: string;
48
+ /** Several emitted workflow YAML documents. */
49
+ yamls?: string[];
50
+ /**
51
+ * Directory of emitted workflow files (`*.yml`/`*.yaml`) to read at run time
52
+ * when no `yaml`/`yamls` is given — the form used inside a scheduled Op.
53
+ * Default `.github/workflows`.
54
+ */
55
+ workflowsDir?: string;
56
+ /** What to produce. Default: report. */
57
+ mode?: WorkflowAuditMode;
58
+ /** Injectable upstream resolver. Defaults to the live GitHub REST resolver. */
59
+ resolver?: ActionRefResolver;
60
+ }
61
+ export interface WorkflowAuditResult {
62
+ mode: WorkflowAuditMode;
63
+ findings: WorkflowAuditFinding[];
64
+ /** Markdown summary used as the PR/issue body or printed in report mode. */
65
+ summary: string;
66
+ }
67
+ interface CollectedRef {
68
+ slug: string;
69
+ ref: string;
70
+ /** Adjacent `# vX.Y.Z` comment, when present. */
71
+ comment?: string;
72
+ }
73
+ /**
74
+ * Collect external action references (`uses: owner/repo@ref`, with an optional
75
+ * trailing version comment) from a workflow YAML. Local (`./`) and `docker://`
76
+ * references are excluded.
77
+ */
78
+ export declare function collectAuditRefs(yaml: string): CollectedRef[];
79
+ /**
80
+ * Default resolver: query the GitHub REST API for whether the ref exists, what
81
+ * tags point at it, archive status, and advisories. Best-effort and resilient —
82
+ * a network/HTTP error yields an "unknown" resolution (exists=true, no findings)
83
+ * rather than a false positive.
84
+ */
85
+ export declare const defaultActionRefResolver: ActionRefResolver;
86
+ /**
87
+ * Resolve each pinned external reference in the emitted workflows against live
88
+ * upstreams and report drift.
89
+ */
90
+ export declare function workflowSupplyChainAudit(args: WorkflowAuditArgs): Promise<WorkflowAuditResult>;
91
+ export {};
92
+ //# sourceMappingURL=workflow-audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-audit.d.ts","sourceRoot":"","sources":["../../../src/op/activities/workflow-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,0EAA0E;AAC1E,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,cAAc,CAAC;AAEpE,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,MAAM,EAAE,OAAO,CAAC;IAChB,iFAAiF;IACjF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iEAAiE;IACjE,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAE5F,MAAM,MAAM,wBAAwB,GAChC,WAAW,GACX,UAAU,GACV,eAAe,GACf,sBAAsB,GACtB,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,WAAW,oBAAoB;IACnC,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,wBAAwB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAcD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAQ7D;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,iBA0BtC,CAAC;AAUF;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAwCpG"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Op serializer — generates Temporal workflow, worker, and activities files
3
+ * for each Temporal::Op entity.
4
+ *
5
+ * For an Op named "alb-deploy" it emits three files under dist/ops/alb-deploy/:
6
+ * workflow.ts — the Temporal workflow function
7
+ * activities.ts — re-exports from the pre-built activity library
8
+ * worker.ts — bootstrap worker that reads chant.config.ts
9
+ */
10
+ import type { Declarable } from "@intentius/chant/declarable";
11
+ /**
12
+ * Serialize a map of Temporal::Op entities into generated file content.
13
+ *
14
+ * Returns a map of relative output paths → file content.
15
+ * e.g. `{ "ops/alb-deploy/workflow.ts": "...", ... }`
16
+ *
17
+ * Throws if a `depends` reference names an Op that is not in the entity map.
18
+ */
19
+ export declare function serializeOps(ops: Map<string, Declarable>): Record<string, string>;
20
+ //# sourceMappingURL=serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../src/op/serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAuT9D;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkCjF"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Temporal lexicon plugin — implements the LexiconPlugin lifecycle.
3
+ *
4
+ * All resources are hand-written; there is no remote spec to generate from.
5
+ * The generate step is a no-op. The package step builds dist/manifest.json
6
+ * and copies skill markdown files.
7
+ */
8
+ import type { LexiconPlugin } from "@intentius/chant/lexicon";
9
+ export declare const temporalPlugin: LexiconPlugin;
10
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D,eAAO,MAAM,cAAc,EAAE,aA6Q5B,CAAC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Temporal lexicon resources — hand-written Declarable constructors.
3
+ *
4
+ * These model the Temporal.io infrastructure concerns that chant serializes:
5
+ * server deployment configs, namespace provisioning scripts, search attribute
6
+ * registration, and SDK schedule creation code.
7
+ *
8
+ * All 4 resources are hand-written (no upstream spec to generate from).
9
+ *
10
+ * Reference: https://docs.temporal.io
11
+ */
12
+ export declare const TemporalServer: new (props: Record<string, unknown>, attributes?: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, string>;
13
+ export interface TemporalServerProps {
14
+ /** Temporal server version tag. Default: "1.26.2" */
15
+ version?: string;
16
+ /** Deployment mode. Default: "dev" */
17
+ mode?: "dev" | "full";
18
+ /** gRPC port. Default: 7233 */
19
+ port?: number;
20
+ /** Web UI port. Default: 8080 */
21
+ uiPort?: number;
22
+ /** PostgreSQL image tag for "full" mode. Default: "16-alpine" */
23
+ postgresVersion?: string;
24
+ /** Helm chart version hint — written as a comment in helm-values.yaml */
25
+ helmChartVersion?: string;
26
+ }
27
+ export declare const TemporalNamespace: new (props: Record<string, unknown>, attributes?: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, string>;
28
+ export interface TemporalNamespaceProps {
29
+ /** Namespace name */
30
+ name: string;
31
+ /** Workflow execution retention period. Default: "7d" */
32
+ retention?: string;
33
+ /** Human-readable description */
34
+ description?: string;
35
+ /** Whether this is a global (multi-cluster) namespace */
36
+ isGlobalNamespace?: boolean;
37
+ }
38
+ export declare const SearchAttribute: new (props: Record<string, unknown>, attributes?: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, string>;
39
+ export interface SearchAttributeProps {
40
+ /** Attribute name (PascalCase recommended by Temporal) */
41
+ name: string;
42
+ /** Attribute value type */
43
+ type: "Text" | "Keyword" | "Int" | "Double" | "Bool" | "Datetime" | "KeywordList";
44
+ /** Namespace to register in. If omitted, --namespace flag is not emitted */
45
+ namespace?: string;
46
+ }
47
+ export declare const TemporalSchedule: new (props: Record<string, unknown>, attributes?: Record<string, unknown>) => import("packages/core/src").Declarable & Record<string, string>;
48
+ export interface TemporalScheduleProps {
49
+ /** Unique schedule identifier */
50
+ scheduleId: string;
51
+ /** Schedule timing specification */
52
+ spec: {
53
+ /** Cron expressions (e.g. "0 9 * * MON-FRI") */
54
+ cronExpressions?: string[];
55
+ /** Fixed intervals (e.g. { every: "1d" }) */
56
+ intervals?: Array<{
57
+ every: string;
58
+ offset?: string;
59
+ }>;
60
+ };
61
+ /** What workflow to start */
62
+ action: {
63
+ workflowType: string;
64
+ taskQueue: string;
65
+ args?: unknown[];
66
+ workflowExecutionTimeout?: string;
67
+ workflowRunTimeout?: string;
68
+ memo?: Record<string, unknown>;
69
+ searchAttributes?: Record<string, unknown>;
70
+ /**
71
+ * Retry policy for the triggered workflow execution.
72
+ * When set, the generated schedule script emits it as the schedule
73
+ * action's `retry` (Temporal `ScheduleOptions` action.retry).
74
+ */
75
+ workflowRetryPolicy?: {
76
+ /** Initial retry interval (e.g. "10s"). Default: Temporal server default (~1s). */
77
+ initialInterval?: string;
78
+ /** Backoff multiplier for each subsequent retry (e.g. 2). */
79
+ backoffCoefficient?: number;
80
+ /** 0 = unlimited retries; defaults to Temporal server default (unlimited). */
81
+ maximumAttempts?: number;
82
+ /** Cap on retry intervals (e.g. "5m"). */
83
+ maximumInterval?: string;
84
+ /** Error types that should NOT trigger a retry. */
85
+ nonRetryableErrorTypes?: string[];
86
+ };
87
+ };
88
+ policies?: {
89
+ overlap?: "Skip" | "BufferOne" | "BufferAll" | "CancelOther" | "TerminateOther" | "AllowAll";
90
+ catchupWindow?: string;
91
+ pauseOnFailure?: boolean;
92
+ };
93
+ /** Initial paused state */
94
+ state?: {
95
+ paused?: boolean;
96
+ note?: string;
97
+ };
98
+ /** Namespace to create schedule in. Default: process.env.TEMPORAL_NAMESPACE ?? "default" */
99
+ namespace?: string;
100
+ }
101
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}