@mannyc1/ts-release 0.0.1 → 0.0.3

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 (162) hide show
  1. package/ARCHITECTURE.md +93 -0
  2. package/README.md +282 -49
  3. package/SPEC.md +46 -9
  4. package/dist/config/schema.d.ts +4 -0
  5. package/dist/config/schema.d.ts.map +1 -1
  6. package/dist/config/schema.js +13 -0
  7. package/dist/config/schema.js.map +1 -1
  8. package/dist/domain/evidence.d.ts +4 -0
  9. package/dist/domain/evidence.d.ts.map +1 -1
  10. package/dist/domain/evidence.js +4 -0
  11. package/dist/domain/evidence.js.map +1 -1
  12. package/dist/domain/operation.d.ts +1 -0
  13. package/dist/domain/operation.d.ts.map +1 -1
  14. package/dist/domain/operation.js +147 -1
  15. package/dist/domain/operation.js.map +1 -1
  16. package/dist/domain/release.d.ts +1 -0
  17. package/dist/domain/release.d.ts.map +1 -1
  18. package/dist/domain/release.js +1 -0
  19. package/dist/domain/release.js.map +1 -1
  20. package/dist/domain/remote-state.d.ts +90 -0
  21. package/dist/domain/remote-state.d.ts.map +1 -0
  22. package/dist/domain/remote-state.js +85 -0
  23. package/dist/domain/remote-state.js.map +1 -0
  24. package/dist/domain/status.d.ts +43 -0
  25. package/dist/domain/status.d.ts.map +1 -0
  26. package/dist/domain/status.js +50 -0
  27. package/dist/domain/status.js.map +1 -0
  28. package/dist/domain/target.d.ts +32 -2
  29. package/dist/domain/target.d.ts.map +1 -1
  30. package/dist/domain/target.js +35 -2
  31. package/dist/domain/target.js.map +1 -1
  32. package/dist/host/host.d.ts +7 -23
  33. package/dist/host/host.d.ts.map +1 -1
  34. package/dist/host/host.js +3 -22
  35. package/dist/host/host.js.map +1 -1
  36. package/dist/host/http-live.d.ts +1 -2
  37. package/dist/host/http-live.d.ts.map +1 -1
  38. package/dist/host/http-live.js +18 -9
  39. package/dist/host/http-live.js.map +1 -1
  40. package/dist/host/http.d.ts +3 -1
  41. package/dist/host/http.d.ts.map +1 -1
  42. package/dist/host/http.js +3 -1
  43. package/dist/host/http.js.map +1 -1
  44. package/dist/host/platform.d.ts +10 -0
  45. package/dist/host/platform.d.ts.map +1 -0
  46. package/dist/host/platform.js +121 -0
  47. package/dist/host/platform.js.map +1 -0
  48. package/dist/host/test.d.ts +7 -3
  49. package/dist/host/test.d.ts.map +1 -1
  50. package/dist/host/test.js +128 -25
  51. package/dist/host/test.js.map +1 -1
  52. package/dist/internal/workspace-path.d.ts +16 -0
  53. package/dist/internal/workspace-path.d.ts.map +1 -0
  54. package/dist/internal/workspace-path.js +33 -0
  55. package/dist/internal/workspace-path.js.map +1 -0
  56. package/dist/planner/artifact-inventory.d.ts +9 -0
  57. package/dist/planner/artifact-inventory.d.ts.map +1 -0
  58. package/dist/planner/artifact-inventory.js +85 -0
  59. package/dist/planner/artifact-inventory.js.map +1 -0
  60. package/dist/planner/create-release-plan.d.ts +1 -1
  61. package/dist/planner/create-release-plan.d.ts.map +1 -1
  62. package/dist/planner/errors.d.ts +37 -1
  63. package/dist/planner/errors.d.ts.map +1 -1
  64. package/dist/planner/errors.js +30 -0
  65. package/dist/planner/errors.js.map +1 -1
  66. package/dist/planner/evidence-recorder.d.ts +13 -8
  67. package/dist/planner/evidence-recorder.d.ts.map +1 -1
  68. package/dist/planner/evidence-recorder.js +116 -18
  69. package/dist/planner/evidence-recorder.js.map +1 -1
  70. package/dist/planner/executor.d.ts +31 -19
  71. package/dist/planner/executor.d.ts.map +1 -1
  72. package/dist/planner/executor.js +52 -7
  73. package/dist/planner/executor.js.map +1 -1
  74. package/dist/planner/normalize-release.d.ts +2 -2
  75. package/dist/planner/normalize-release.d.ts.map +1 -1
  76. package/dist/planner/normalize-release.js +50 -52
  77. package/dist/planner/normalize-release.js.map +1 -1
  78. package/dist/planner/reconcile.d.ts +17 -0
  79. package/dist/planner/reconcile.d.ts.map +1 -0
  80. package/dist/planner/reconcile.js +337 -0
  81. package/dist/planner/reconcile.js.map +1 -0
  82. package/dist/planner/release-eligibility.d.ts +34 -0
  83. package/dist/planner/release-eligibility.d.ts.map +1 -0
  84. package/dist/planner/release-eligibility.js +179 -0
  85. package/dist/planner/release-eligibility.js.map +1 -0
  86. package/dist/planner/render-plan.d.ts +10 -0
  87. package/dist/planner/render-plan.d.ts.map +1 -1
  88. package/dist/planner/render-plan.js +179 -0
  89. package/dist/planner/render-plan.js.map +1 -1
  90. package/dist/planner/status.d.ts +40 -0
  91. package/dist/planner/status.d.ts.map +1 -0
  92. package/dist/planner/status.js +342 -0
  93. package/dist/planner/status.js.map +1 -0
  94. package/dist/targets/github.d.ts.map +1 -1
  95. package/dist/targets/github.js +28 -13
  96. package/dist/targets/github.js.map +1 -1
  97. package/dist/targets/npm.d.ts +2 -2
  98. package/dist/targets/npm.d.ts.map +1 -1
  99. package/dist/targets/npm.js +74 -14
  100. package/dist/targets/npm.js.map +1 -1
  101. package/dist/workflows/config.d.ts +153 -0
  102. package/dist/workflows/config.d.ts.map +1 -0
  103. package/dist/workflows/config.js +301 -0
  104. package/dist/workflows/config.js.map +1 -0
  105. package/dist/workflows/diagnostics.d.ts +62 -0
  106. package/dist/workflows/diagnostics.d.ts.map +1 -0
  107. package/dist/workflows/diagnostics.js +474 -0
  108. package/dist/workflows/diagnostics.js.map +1 -0
  109. package/dist/workflows/evidence.d.ts +21 -0
  110. package/dist/workflows/evidence.d.ts.map +1 -0
  111. package/dist/workflows/evidence.js +45 -0
  112. package/dist/workflows/evidence.js.map +1 -0
  113. package/dist/workflows/index.d.ts +7 -0
  114. package/dist/workflows/index.d.ts.map +1 -0
  115. package/dist/workflows/index.js +6 -0
  116. package/dist/workflows/index.js.map +1 -0
  117. package/dist/workflows/init.d.ts +71 -0
  118. package/dist/workflows/init.d.ts.map +1 -0
  119. package/dist/workflows/init.js +384 -0
  120. package/dist/workflows/init.js.map +1 -0
  121. package/dist/workflows/live.d.ts +9 -0
  122. package/dist/workflows/live.d.ts.map +1 -0
  123. package/dist/workflows/live.js +7 -0
  124. package/dist/workflows/live.js.map +1 -0
  125. package/dist/workflows/options.d.ts +30 -0
  126. package/dist/workflows/options.d.ts.map +1 -0
  127. package/dist/workflows/options.js +16 -0
  128. package/dist/workflows/options.js.map +1 -0
  129. package/examples/README.md +16 -9
  130. package/examples/github-release/release.config.json +1 -0
  131. package/examples/homebrew-tap/release.config.json +1 -0
  132. package/examples/multi-target/release.config.json +10 -1
  133. package/examples/non-strict-skips/release.config.json +1 -0
  134. package/examples/npm-first-publish/release.config.json +33 -0
  135. package/examples/npm-only/release.config.json +10 -1
  136. package/examples/pypi-registry/release.config.json +1 -0
  137. package/examples/scoop-bucket/release.config.json +1 -0
  138. package/package.json +56 -27
  139. package/templates/README.md +54 -0
  140. package/templates/github-actions/plan-and-approved-execute.yml +53 -0
  141. package/templates/github-actions/plan-only.yml +30 -0
  142. package/templates/github-actions/trusted-publishing.yml +59 -0
  143. package/templates/multi-target-homebrew/release.config.json +70 -0
  144. package/templates/multi-target-scoop/release.config.json +72 -0
  145. package/templates/npm-github/release.config.json +50 -0
  146. package/templates/npm-only/release.config.json +39 -0
  147. package/dist/cli/command.d.ts +0 -4
  148. package/dist/cli/command.d.ts.map +0 -1
  149. package/dist/cli/command.js +0 -125
  150. package/dist/cli/command.js.map +0 -1
  151. package/dist/cli/main.d.ts +0 -3
  152. package/dist/cli/main.d.ts.map +0 -1
  153. package/dist/cli/main.js +0 -15
  154. package/dist/cli/main.js.map +0 -1
  155. package/dist/cli/programmatic.d.ts +0 -25
  156. package/dist/cli/programmatic.d.ts.map +0 -1
  157. package/dist/cli/programmatic.js +0 -53
  158. package/dist/cli/programmatic.js.map +0 -1
  159. package/dist/host/bun.d.ts +0 -9
  160. package/dist/host/bun.d.ts.map +0 -1
  161. package/dist/host/bun.js +0 -156
  162. package/dist/host/bun.js.map +0 -1
package/SPEC.md CHANGED
@@ -16,15 +16,33 @@ A release is a data flow:
16
16
  release intent
17
17
  -> normalized release model
18
18
  -> target-specific operations
19
+ -> optional generated files
19
20
  -> validation evidence
20
21
  -> gated execution
21
22
  -> post-publish verification
23
+ -> status and conservative resume
22
24
  ```
23
25
 
24
26
  The package owns the model and the orchestration. Ecosystem tools remain the source of truth for ecosystem-specific behavior.
25
27
 
26
28
  For example, npm, PyPI, GitHub Releases, Homebrew taps, OCI registries, app stores, or other targets may each need different commands, credentials, artifacts, and validators. The release package should describe those differences directly instead of hiding them behind one fake universal publish abstraction.
27
29
 
30
+ ## Current Shape
31
+
32
+ The root package is the reusable library. It exposes explicit subpaths for domain data, config loading, planners, target adapters, host services, and high-level workflows. The official Bun CLI lives in `apps/release-ts`, and the GitHub Action lives in `apps/ts-release-action`; both are runtime adapters over the same TypeScript workflows.
33
+
34
+ Current first-party workflows cover:
35
+
36
+ - config validation and plan rendering
37
+ - data-first init/scaffolding previews with approved writes
38
+ - static doctor/auth/CI diagnostics
39
+ - render, validation, execution, verification, and workflow evidence
40
+ - status reporting from existing evidence
41
+ - conservative resume after interrupted work
42
+ - narrow GitHub release reconciliation without republishing npm versions
43
+
44
+ Reusable configs live in `templates/`, runnable fixtures live in `examples/`, and publish operations remain data until an execute approval and any irreversible approval are supplied.
45
+
28
46
  ## Design Goals
29
47
 
30
48
  ### Plan-first
@@ -51,7 +69,7 @@ Examples:
51
69
  - A catalog update changes a repository or index that points at artifacts.
52
70
  - A deployment promotes already-built assets into an environment.
53
71
 
54
- Each target should declare its required inputs, auth requirements, dry-run support, validation strategy, mutability rules, and recovery behavior.
72
+ Each target should declare its required inputs, auth requirements, dry-run support, validation strategy, mutability rules, and recovery behavior. When auth cannot be proven locally, the target should also model the expected execution context, provider-specific setup, and setup prerequisites.
55
73
 
56
74
  ### Evidence-driven validation
57
75
 
@@ -59,6 +77,8 @@ Validation should produce structured evidence, not just console output.
59
77
 
60
78
  Evidence should be machine-readable enough for CI and human-readable enough for debugging. It should include command invocations, tool versions where practical, exit statuses, important paths, skipped checks, warnings, failures, and timestamps.
61
79
 
80
+ Evidence should also support status reporting and conservative resume after failed or interrupted releases.
81
+
62
82
  Strict mode should fail on missing required validators. Non-strict mode may record skips, but skips must be visible in the evidence.
63
83
 
64
84
  ### Gated irreversible actions
@@ -67,6 +87,8 @@ Operations that publish immutable versions, create public releases, overwrite in
67
87
 
68
88
  The default behavior should be dry-run or print-only. Execution should require an explicit execute flag, and irreversible operations should require a second confirmation flag or equivalent programmatic approval.
69
89
 
90
+ Failed publish evidence must not be treated as proof that nothing was published.
91
+
70
92
  The package should make it hard to accidentally publish and easy to see exactly what would be published.
71
93
 
72
94
  ### Library-first, CLI-second
@@ -77,13 +99,19 @@ The library should expose APIs for:
77
99
 
78
100
  - loading and normalizing config
79
101
  - constructing a release plan
102
+ - scaffolding starter configs and CI workflows as proposed files
103
+ - rendering config schemas and validation results
80
104
  - rendering target files or generated metadata
81
105
  - validating plans and artifacts
106
+ - reporting static auth and CI readiness with confidence levels
82
107
  - preparing executable operations
83
108
  - running approved operations through an injected host interface
84
109
  - recording evidence
110
+ - reporting release status from evidence
111
+ - conservatively resuming safe unfinished work
112
+ - reconciling narrowly modeled remote state without replaying immutable publishes
85
113
 
86
- The CLI should mainly parse arguments, call the library, and format output.
114
+ The CLI and GitHub Action should mainly parse host inputs, call the library, format host-specific output, and persist evidence.
87
115
 
88
116
  ### Host abstraction without pretending the world is pure
89
117
 
@@ -155,14 +183,19 @@ Evidence should survive outside the process as JSON or another stable format. It
155
183
 
156
184
  The package should make these workflows straightforward:
157
185
 
186
+ - initialize a starter config and optional CI workflow from templates
187
+ - validate config JSON and schema shape
158
188
  - create a plan from config
159
189
  - inspect the plan without executing anything
160
190
  - render target-specific files
161
191
  - validate artifacts and target readiness
192
+ - report static auth and CI readiness
162
193
  - produce evidence artifacts
163
194
  - print publish operations
164
195
  - execute approved operations
165
196
  - verify published state after execution
197
+ - inspect status and resume only safe unfinished work
198
+ - reconcile a matching GitHub draft release without republishing immutable registries
166
199
 
167
200
  The API should favor explicit functions and typed data over hidden global state.
168
201
 
@@ -213,6 +246,8 @@ The rewrite is successful when:
213
246
  - irreversible operations require deliberate approval
214
247
  - core behavior is covered with deterministic tests
215
248
  - a CLI can be rebuilt as a thin adapter over the library
249
+ - a GitHub Action can run the same workflows without embedding CLI behavior
250
+ - starter templates can be checked by the same workflow path as examples
216
251
  - adding a new target does not require rewriting the core planner
217
252
 
218
253
  ## Biases
@@ -236,19 +271,21 @@ Avoid:
236
271
  - special cases that only work for one repository shape
237
272
  - abstractions that erase important ecosystem differences
238
273
 
239
- ## Rewrite Direction
274
+ ## Implementation Direction
240
275
 
241
- Start from the data model.
276
+ Continue from the data model.
242
277
 
243
- Define the smallest set of types needed to represent release identity, artifacts, targets, operations, validation results, execution gates, and evidence. Then implement one or two target adapters end to end to prove that the abstractions carry real differences without becoming generic mush.
278
+ Keep the smallest set of types needed to represent release identity, artifacts, targets, operations, validation results, execution gates, and evidence. Add target adapters end to end only when they prove the abstractions carry real differences without becoming generic mush.
244
279
 
245
- The first working version should be narrow but honest:
280
+ The implementation should stay narrow but honest:
246
281
 
247
282
  1. Load config.
248
283
  2. Normalize into a release model.
249
284
  3. Generate a serializable plan.
250
- 4. Validate with structured evidence.
251
- 5. Print executable operations.
252
- 6. Execute only when explicitly approved.
285
+ 4. Render generated files only through explicit render operations.
286
+ 5. Validate with structured evidence.
287
+ 6. Print executable operations.
288
+ 7. Execute only when explicitly approved.
289
+ 8. Verify remote state and report status from evidence.
253
290
 
254
291
  Everything else should be added only after it has a clear place in that flow.
@@ -1,8 +1,12 @@
1
1
  import * as Schema from "effect/Schema";
2
+ import type * as JsonSchema from "effect/JsonSchema";
2
3
  import { ReleaseIntent } from "../domain/release.js";
3
4
  export type * from "../types/effect-internal.js";
4
5
  export declare const DEFAULT_CONFIG_PATH = "release.config.json";
6
+ export declare const RELEASE_CONFIG_SCHEMA_ID = "https://mannyc2.github.io/ts-release/schema/release-config.schema.json";
5
7
  export declare const ReleaseConfig: typeof ReleaseIntent;
6
8
  export type ReleaseConfig = typeof ReleaseConfig.Type;
7
9
  export declare const decodeReleaseConfig: (input: unknown, options?: import("effect/SchemaAST").ParseOptions) => import("effect/Effect").Effect<ReleaseIntent, Schema.SchemaError, never>;
10
+ export declare const releaseConfigJsonSchemaDocument: () => JsonSchema.JsonSchema;
11
+ export declare const renderReleaseConfigJsonSchema: () => string;
8
12
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,mBAAmB,wBAAwB,CAAA;AAExD,eAAO,MAAM,aAAa,sBAAgB,CAAA;AAC1C,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD,eAAO,MAAM,mBAAmB,iJAA4C,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,mBAAmB,wBAAwB,CAAA;AACxD,eAAO,MAAM,wBAAwB,2EAA2E,CAAA;AAEhH,eAAO,MAAM,aAAa,sBAAgB,CAAA;AAC1C,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD,eAAO,MAAM,mBAAmB,iJAA4C,CAAA;AAE5E,eAAO,MAAM,+BAA+B,QAAO,UAAU,CAAC,UAU7D,CAAA;AAED,eAAO,MAAM,6BAA6B,QAAO,MACkB,CAAA"}
@@ -1,6 +1,19 @@
1
1
  import * as Schema from "effect/Schema";
2
2
  import { ReleaseIntent } from "../domain/release.js";
3
3
  export const DEFAULT_CONFIG_PATH = "release.config.json";
4
+ export const RELEASE_CONFIG_SCHEMA_ID = "https://mannyc2.github.io/ts-release/schema/release-config.schema.json";
4
5
  export const ReleaseConfig = ReleaseIntent;
5
6
  export const decodeReleaseConfig = Schema.decodeUnknownEffect(ReleaseConfig);
7
+ export const releaseConfigJsonSchemaDocument = () => {
8
+ const document = Schema.toJsonSchemaDocument(ReleaseConfig);
9
+ return {
10
+ ...document.schema,
11
+ $schema: "https://json-schema.org/draft/2020-12/schema",
12
+ $id: RELEASE_CONFIG_SCHEMA_ID,
13
+ title: "ts-release configuration",
14
+ description: "Configuration for a plan-first ts-release workflow.",
15
+ $defs: document.definitions
16
+ };
17
+ };
18
+ export const renderReleaseConfigJsonSchema = () => `${JSON.stringify(releaseConfigJsonSchemaDocument(), null, 2)}\n`;
6
19
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAIpD,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAA;AAExD,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAA;AAG1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAA"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAIpD,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAA;AACxD,MAAM,CAAC,MAAM,wBAAwB,GAAG,wEAAwE,CAAA;AAEhH,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAA;AAG1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAA;AAE5E,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAA0B,EAAE;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAA;IAC3D,OAAO;QACL,GAAG,QAAQ,CAAC,MAAM;QAClB,OAAO,EAAE,8CAA8C;QACvD,GAAG,EAAE,wBAAwB;QAC7B,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,qDAAqD;QAClE,KAAK,EAAE,QAAQ,CAAC,WAAW;KAC5B,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAW,EAAE,CACxD,GAAG,IAAI,CAAC,SAAS,CAAC,+BAA+B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAA"}
@@ -10,6 +10,7 @@ export type EvidenceStatus = typeof EvidenceStatus.Type;
10
10
  declare const CommandEvidence_base: Schema.Class<CommandEvidence, Schema.Struct<{
11
11
  readonly id: Schema.String;
12
12
  readonly operationId: Schema.String;
13
+ readonly operationFingerprint: Schema.String;
13
14
  readonly targetId: Schema.optionalKey<Schema.String>;
14
15
  readonly status: Schema.Literals<readonly ["passed", "failed", "skipped", "warning"]>;
15
16
  readonly severity: Schema.Literals<readonly ["info", "warning", "error"]>;
@@ -40,6 +41,7 @@ export declare class HttpCheckEvidence extends HttpCheckEvidence_base {
40
41
  declare const HttpEvidence_base: Schema.Class<HttpEvidence, Schema.Struct<{
41
42
  readonly id: Schema.String;
42
43
  readonly operationId: Schema.String;
44
+ readonly operationFingerprint: Schema.String;
43
45
  readonly targetId: Schema.optionalKey<Schema.String>;
44
46
  readonly status: Schema.Literals<readonly ["passed", "failed", "skipped", "warning"]>;
45
47
  readonly severity: Schema.Literals<readonly ["info", "warning", "error"]>;
@@ -55,6 +57,7 @@ export declare class HttpEvidence extends HttpEvidence_base {
55
57
  }
56
58
  declare const ValidationEvidence_base: Schema.Class<ValidationEvidence, Schema.Struct<{
57
59
  readonly id: Schema.String;
60
+ readonly operationFingerprint: Schema.String;
58
61
  readonly targetId: Schema.optionalKey<Schema.String>;
59
62
  readonly status: Schema.Literals<readonly ["passed", "failed", "skipped", "warning"]>;
60
63
  readonly severity: Schema.Literals<readonly ["info", "warning", "error"]>;
@@ -67,6 +70,7 @@ export declare class ValidationEvidence extends ValidationEvidence_base {
67
70
  declare const ExecutionEvidence_base: Schema.Class<ExecutionEvidence, Schema.Struct<{
68
71
  readonly id: Schema.String;
69
72
  readonly operationId: Schema.String;
73
+ readonly operationFingerprint: Schema.String;
70
74
  readonly targetId: Schema.optionalKey<Schema.String>;
71
75
  readonly status: Schema.Literals<readonly ["passed", "failed", "skipped", "warning"]>;
72
76
  readonly severity: Schema.Literals<readonly ["info", "warning", "error"]>;
@@ -1 +1 @@
1
- {"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/domain/evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAA2B,MAAM,gBAAgB,CAAA;AAGhG,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,UAAU,eAAgB,CAAA;AACvC,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,eAAO,MAAM,gBAAgB,wDAAgD,CAAA;AAC7E,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,cAAc,sEAA8D,CAAA;AACzF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;AAEvD,qBAAa,eAAgB,SAAQ,oBAanC;CAAG;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBAKvC;CAAG;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAGrC;CAAG;;;;;;;;;;;;;;;AAEL,qBAAa,YAAa,SAAQ,iBAahC;CAAG;;;;;;;;;;AAEL,qBAAa,kBAAmB,SAAQ,uBAQtC;CAAG;;;;;;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAQrC;CAAG;AAEL,eAAO,MAAM,cAAc,2HAAuF,CAAA;AAClH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;;;;;;;AAEvD,qBAAa,cAAe,SAAQ,mBAKlC;CAAG;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAK3C;CAAG;;;;;;;AAEL,qBAAa,8BAA+B,SAAQ,mCAOlD;CAAG"}
1
+ {"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/domain/evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAA2B,MAAM,gBAAgB,CAAA;AAGhG,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,UAAU,eAAgB,CAAA;AACvC,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,eAAO,MAAM,gBAAgB,wDAAgD,CAAA;AAC7E,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,cAAc,sEAA8D,CAAA;AACzF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;AAEvD,qBAAa,eAAgB,SAAQ,oBAcnC;CAAG;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBAKvC;CAAG;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAGrC;CAAG;;;;;;;;;;;;;;;;AAEL,qBAAa,YAAa,SAAQ,iBAchC;CAAG;;;;;;;;;;;AAEL,qBAAa,kBAAmB,SAAQ,uBAStC;CAAG;;;;;;;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBASrC;CAAG;AAEL,eAAO,MAAM,cAAc,2HAAuF,CAAA;AAClH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;;;;;;;AAEvD,qBAAa,cAAe,SAAQ,mBAKlC;CAAG;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAK3C;CAAG;;;;;;;AAEL,qBAAa,8BAA+B,SAAQ,mCAOlD;CAAG"}
@@ -7,6 +7,7 @@ export const EvidenceStatus = Schema.Literals(["passed", "failed", "skipped", "w
7
7
  export class CommandEvidence extends Schema.Class("CommandEvidence")({
8
8
  id: EvidenceId,
9
9
  operationId: OperationId,
10
+ operationFingerprint: Schema.String,
10
11
  targetId: Schema.optionalKey(TargetId),
11
12
  status: EvidenceStatus,
12
13
  severity: EvidenceSeverity,
@@ -34,6 +35,7 @@ export class HttpCheckEvidence extends Schema.Class("HttpCheckEvidence")({
34
35
  export class HttpEvidence extends Schema.Class("HttpEvidence")({
35
36
  id: EvidenceId,
36
37
  operationId: OperationId,
38
+ operationFingerprint: Schema.String,
37
39
  targetId: Schema.optionalKey(TargetId),
38
40
  status: EvidenceStatus,
39
41
  severity: EvidenceSeverity,
@@ -48,6 +50,7 @@ export class HttpEvidence extends Schema.Class("HttpEvidence")({
48
50
  }
49
51
  export class ValidationEvidence extends Schema.Class("ValidationEvidence")({
50
52
  id: EvidenceId,
53
+ operationFingerprint: Schema.String,
51
54
  targetId: Schema.optionalKey(TargetId),
52
55
  status: EvidenceStatus,
53
56
  severity: EvidenceSeverity,
@@ -59,6 +62,7 @@ export class ValidationEvidence extends Schema.Class("ValidationEvidence")({
59
62
  export class ExecutionEvidence extends Schema.Class("ExecutionEvidence")({
60
63
  id: EvidenceId,
61
64
  operationId: OperationId,
65
+ operationFingerprint: Schema.String,
62
66
  targetId: Schema.optionalKey(TargetId),
63
67
  status: EvidenceStatus,
64
68
  severity: EvidenceSeverity,
@@ -1 +1 @@
1
- {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/domain/evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/domain/evidence.ts"],"names":[],"mappings":"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"}
@@ -130,6 +130,7 @@ export declare class VerifyHttpOperation extends VerifyHttpOperation_base {
130
130
  }
131
131
  export declare const Operation: Schema.Union<readonly [typeof RenderFileOperation, typeof ValidateCommandOperation, typeof ValidationNoteOperation, typeof PublishCommandOperation, typeof VerifyRemoteOperation, typeof VerifyHttpOperation]>;
132
132
  export type Operation = typeof Operation.Type;
133
+ export declare const operationFingerprint: (operation: Operation) => string;
133
134
  declare const ExecutionApproval_base: Schema.Class<ExecutionApproval, Schema.Struct<{
134
135
  readonly execute: Schema.Boolean;
135
136
  readonly approveIrreversible: Schema.Boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../src/domain/operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,WAAW,eAAgB,CAAA;AACxC,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,aAAa,+FAAuF,CAAA;AACjH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;;;;;;AAErD,qBAAa,aAAc,SAAQ,kBAIjC;CAAG;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAM/B;CAAG;AAEL,eAAO,MAAM,UAAU,2CAAmC,CAAA;AAC1D,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;;;;;AAE/C,qBAAa,UAAW,SAAQ,eAG9B;CAAG;;;;;;AAEL,qBAAa,aAAc,SAAQ,kBAIjC;CAAG;;;;;;;;;AAEL,qBAAa,eAAgB,SAAQ,oBAOnC;CAAG;AAEL,eAAO,MAAM,eAAe,uDAA+C,CAAA;AAC3E,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;;;;;AAEzD,qBAAa,mBAAoB,SAAQ,wBAGvC;CAAG;;;;;;AAEL,qBAAa,mCAAoC,SAAQ,wCAOxD;CAAG;AAEJ,eAAO,MAAM,aAAa,iGAA2E,CAAA;AACrG,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;;;;;;;;;;AAErD,qBAAa,mBAAoB,SAAQ,wBAQvC;CAAG;;;;;;;;;AAEL,qBAAa,wBAAyB,SAAQ,6BAO5C;CAAG;;;;;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAS3C;CAAG;;;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAO3C;CAAG;;;;;;;;;AAEL,qBAAa,qBAAsB,SAAQ,0BAOzC;CAAG;;;;;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBASvC;CAAG;AAEL,eAAO,MAAM,SAAS,gNAOpB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;;;;;AAE7C,qBAAa,iBAAkB,SAAQ,sBAGrC;IACA,MAAM,CAAC,QAAQ,CAAC,IAAI,oBAGlB;CACH;;;;;AAED,qBAAa,sBAAuB,SAAQ,2BAM3C;CAAG;AAEJ,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,aAK5C,CAAA;AAEJ,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,aAKzC,CAAA;AAEJ,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,aAK9C,CAAA;AAEJ,eAAO,MAAM,mBAAmB,GAAI,WAAW,SAAS,EAAE,UAAU,iBAAiB,KAAG,OAevF,CAAA;AAED,eAAO,MAAM,wBAAwB,uPAmBnC,CAAA;AAEF,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,EAAE,OAAO,SAAS,KAAG,MAClC,CAAA"}
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../src/domain/operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,WAAW,eAAgB,CAAA;AACxC,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,aAAa,+FAAuF,CAAA;AACjH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;;;;;;AAErD,qBAAa,aAAc,SAAQ,kBAIjC;CAAG;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAM/B;CAAG;AAEL,eAAO,MAAM,UAAU,2CAAmC,CAAA;AAC1D,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;;;;;AAE/C,qBAAa,UAAW,SAAQ,eAG9B;CAAG;;;;;;AAEL,qBAAa,aAAc,SAAQ,kBAIjC;CAAG;;;;;;;;;AAEL,qBAAa,eAAgB,SAAQ,oBAOnC;CAAG;AAEL,eAAO,MAAM,eAAe,uDAA+C,CAAA;AAC3E,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;;;;;AAEzD,qBAAa,mBAAoB,SAAQ,wBAGvC;CAAG;;;;;;AAEL,qBAAa,mCAAoC,SAAQ,wCAOxD;CAAG;AAEJ,eAAO,MAAM,aAAa,iGAA2E,CAAA;AACrG,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;;;;;;;;;;AAErD,qBAAa,mBAAoB,SAAQ,wBAQvC;CAAG;;;;;;;;;AAEL,qBAAa,wBAAyB,SAAQ,6BAO5C;CAAG;;;;;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAS3C;CAAG;;;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAO3C;CAAG;;;;;;;;;AAEL,qBAAa,qBAAsB,SAAQ,0BAOzC;CAAG;;;;;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBASvC;CAAG;AAEL,eAAO,MAAM,SAAS,gNAOpB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAsG7C,eAAO,MAAM,oBAAoB,GAAI,WAAW,SAAS,KAAG,MA+B3D,CAAA;;;;;AAED,qBAAa,iBAAkB,SAAQ,sBAGrC;IACA,MAAM,CAAC,QAAQ,CAAC,IAAI,oBAGlB;CACH;;;;;AAED,qBAAa,sBAAuB,SAAQ,2BAM3C;CAAG;AAEJ,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,aAK5C,CAAA;AAEJ,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,aAKzC,CAAA;AAEJ,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,aAK9C,CAAA;AAEJ,eAAO,MAAM,mBAAmB,GAAI,WAAW,SAAS,EAAE,UAAU,iBAAiB,KAAG,OAevF,CAAA;AAED,eAAO,MAAM,wBAAwB,uPAmBnC,CAAA;AA8BF,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,EAAE,OAAO,SAAS,KAAG,MAKlC,CAAA"}
@@ -118,6 +118,122 @@ export const Operation = Schema.Union([
118
118
  VerifyRemoteOperation,
119
119
  VerifyHttpOperation
120
120
  ]);
121
+ const isJsonObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
122
+ const stableJson = (value) => {
123
+ if (Array.isArray(value)) {
124
+ return value.map(stableJson);
125
+ }
126
+ if (isJsonObject(value)) {
127
+ const output = {};
128
+ for (const key of Object.keys(value).sort()) {
129
+ const item = value[key];
130
+ if (item !== undefined) {
131
+ output[key] = stableJson(item);
132
+ }
133
+ }
134
+ return output;
135
+ }
136
+ return value;
137
+ };
138
+ const commandSpecPayload = (command) => ({
139
+ executable: command.executable,
140
+ args: command.args,
141
+ ...(command.cwd === undefined ? {} : { cwd: command.cwd }),
142
+ requiredEnv: command.requiredEnv,
143
+ redactedEnv: command.redactedEnv
144
+ });
145
+ const httpHeaderPayload = (header) => ({
146
+ name: header.name,
147
+ value: header.value
148
+ });
149
+ const httpEnvHeaderPayload = (header) => ({
150
+ name: header.name,
151
+ valueEnv: header.valueEnv,
152
+ ...(header.prefix === undefined ? {} : { prefix: header.prefix })
153
+ });
154
+ const httpRequestPayload = (request) => ({
155
+ method: request.method,
156
+ url: request.url,
157
+ headers: request.headers.map(httpHeaderPayload),
158
+ envHeaders: request.envHeaders.map(httpEnvHeaderPayload),
159
+ requiredEnv: request.requiredEnv,
160
+ redactedEnv: request.redactedEnv
161
+ });
162
+ const httpJsonCheckPayload = (check) => {
163
+ switch (check._tag) {
164
+ case "HttpJsonEqualsCheck":
165
+ return {
166
+ _tag: check._tag,
167
+ path: check.path,
168
+ expected: stableJson(check.expected)
169
+ };
170
+ case "HttpJsonArrayObjectFieldEqualsCheck":
171
+ return {
172
+ _tag: check._tag,
173
+ path: check.path,
174
+ field: check.field,
175
+ expected: stableJson(check.expected)
176
+ };
177
+ }
178
+ };
179
+ const textEncoder = new TextEncoder();
180
+ const fnv1a64Offset = 0xcbf29ce484222325n;
181
+ const fnv1a64Prime = 0x100000001b3n;
182
+ const fnv1a64Mask = 0xffffffffffffffffn;
183
+ const contentDigest = (contents) => {
184
+ let hash = fnv1a64Offset;
185
+ for (const byte of textEncoder.encode(contents)) {
186
+ hash ^= BigInt(byte);
187
+ hash = (hash * fnv1a64Prime) & fnv1a64Mask;
188
+ }
189
+ return `fnv1a64:${hash.toString(16).padStart(16, "0")}`;
190
+ };
191
+ const approvalPayload = (operation) => ({
192
+ requiresExecute: operation.gate.requiresExecute ||
193
+ operation._tag === "PublishCommandOperation" ||
194
+ operation._tag === "RenderFileOperation" ||
195
+ operation.risk !== "read-only",
196
+ requiresIrreversibleApproval: operation.gate.requiresIrreversibleApproval ||
197
+ operation.risk === "irreversible"
198
+ });
199
+ const commonOperationPayload = (operation) => ({
200
+ _tag: operation._tag,
201
+ id: operation.id,
202
+ ...(operation.targetId === undefined ? {} : { targetId: operation.targetId }),
203
+ approval: approvalPayload(operation)
204
+ });
205
+ export const operationFingerprint = (operation) => {
206
+ const common = commonOperationPayload(operation);
207
+ switch (operation._tag) {
208
+ case "RenderFileOperation":
209
+ return JSON.stringify({
210
+ ...common,
211
+ path: operation.path,
212
+ contentsDigest: contentDigest(operation.contents)
213
+ });
214
+ case "ValidateCommandOperation":
215
+ case "PublishCommandOperation":
216
+ case "VerifyRemoteOperation":
217
+ return JSON.stringify({
218
+ ...common,
219
+ command: commandSpecPayload(operation.command)
220
+ });
221
+ case "ValidationNoteOperation":
222
+ return JSON.stringify({
223
+ ...common,
224
+ message: operation.message,
225
+ severity: operation.severity,
226
+ skipped: operation.skipped
227
+ });
228
+ case "VerifyHttpOperation":
229
+ return JSON.stringify({
230
+ ...common,
231
+ request: httpRequestPayload(operation.request),
232
+ expectedStatus: operation.expectedStatus,
233
+ checks: operation.checks.map(httpJsonCheckPayload)
234
+ });
235
+ }
236
+ };
121
237
  export class ExecutionApproval extends Schema.Class("ExecutionApproval")({
122
238
  execute: Schema.Boolean,
123
239
  approveIrreversible: Schema.Boolean
@@ -175,5 +291,35 @@ export const requireExecutionApproval = Effect.fn("requireExecutionApproval")(fu
175
291
  reason
176
292
  }));
177
293
  });
178
- export const operationOrder = (left, right) => left.id.localeCompare(right.id);
294
+ const operationPhasePriority = (operation) => {
295
+ switch (operation._tag) {
296
+ case "RenderFileOperation":
297
+ return 0;
298
+ case "ValidateCommandOperation":
299
+ case "ValidationNoteOperation":
300
+ return 1;
301
+ case "PublishCommandOperation":
302
+ return 2;
303
+ case "VerifyRemoteOperation":
304
+ case "VerifyHttpOperation":
305
+ return 3;
306
+ }
307
+ };
308
+ const publishOperationPriority = (operation) => {
309
+ if (operation.id.endsWith(":npm-publish") || operation.id.endsWith(":twine-upload")) {
310
+ return 0;
311
+ }
312
+ if (operation.id.endsWith(":gh-release-create")) {
313
+ return 1;
314
+ }
315
+ if (operation.id.endsWith(":homebrew-push") || operation.id.endsWith(":scoop-push")) {
316
+ return 2;
317
+ }
318
+ return 3;
319
+ };
320
+ export const operationOrder = (left, right) => operationPhasePriority(left) - operationPhasePriority(right) ||
321
+ (left._tag === "PublishCommandOperation" && right._tag === "PublishCommandOperation"
322
+ ? publishOperationPriority(left) - publishOperationPriority(right)
323
+ : 0) ||
324
+ left.id.localeCompare(right.id);
179
325
  //# sourceMappingURL=operation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/domain/operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/domain/operation.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ declare const SourceMetadata_base: Schema.Class<SourceMetadata, Schema.Struct<{
26
26
  export declare class SourceMetadata extends SourceMetadata_base {
27
27
  }
28
28
  declare const ReleaseIntent_base: Schema.Class<ReleaseIntent, Schema.Struct<{
29
+ readonly $schema: Schema.optionalKey<Schema.String>;
29
30
  readonly identity: typeof ReleaseIdentity;
30
31
  readonly artifacts: Schema.$Array<typeof ArtifactIntent>;
31
32
  readonly targets: Schema.$Array<Schema.Union<readonly [typeof import("./target.js").NpmRegistryTarget, typeof import("./target.js").GitHubReleaseTarget, typeof import("./target.js").HomebrewTapTarget, typeof import("./target.js").PyPiRegistryTarget, typeof import("./target.js").ScoopBucketTarget]>>;
@@ -1 +1 @@
1
- {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/domain/release.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAErE,OAAO,EAAE,kBAAkB,EAAgB,MAAM,aAAa,CAAA;AAE9D,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,WAAW,eAAgB,CAAA;AACxC,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,cAAc,eAAgB,CAAA;AAC3C,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,SAAS,eAAgB,CAAA;AACtC,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C,eAAO,MAAM,MAAM,eAAgB,CAAA;AACnC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;;;;;;;AAEvC,qBAAa,eAAgB,SAAQ,oBAMnC;CAAG;;;;;AAEL,qBAAa,cAAe,SAAQ,mBAGlC;CAAG;;;;;;;;AAEL,qBAAa,aAAc,SAAQ,kBAMjC;CAAG;;;;;;;;;AAEL,qBAAa,YAAa,SAAQ,iBAOhC;CAAG;;;;;AAEL,qBAAa,eAAgB,SAAQ,oBAGnC;CAAG;;;;;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAU/B;CAAG"}
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../src/domain/release.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAErE,OAAO,EAAE,kBAAkB,EAAgB,MAAM,aAAa,CAAA;AAE9D,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,WAAW,eAAgB,CAAA;AACxC,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,cAAc,eAAgB,CAAA;AAC3C,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,SAAS,eAAgB,CAAA;AACtC,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;AAE7C,eAAO,MAAM,MAAM,eAAgB,CAAA;AACnC,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;;;;;;;AAEvC,qBAAa,eAAgB,SAAQ,oBAMnC;CAAG;;;;;AAEL,qBAAa,cAAe,SAAQ,mBAGlC;CAAG;;;;;;;;;AAEL,qBAAa,aAAc,SAAQ,kBAOjC;CAAG;;;;;;;;;AAEL,qBAAa,YAAa,SAAQ,iBAOhC;CAAG;;;;;AAEL,qBAAa,eAAgB,SAAQ,oBAGnC;CAAG;;;;;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAU/B;CAAG"}
@@ -20,6 +20,7 @@ export class SourceMetadata extends Schema.Class("SourceMetadata")({
20
20
  }) {
21
21
  }
22
22
  export class ReleaseIntent extends Schema.Class("ReleaseIntent")({
23
+ "$schema": Schema.optionalKey(Schema.String),
23
24
  identity: ReleaseIdentity,
24
25
  artifacts: Schema.Array(ArtifactIntent),
25
26
  targets: Schema.Array(TargetConfig),
@@ -1 +1 @@
1
- {"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/domain/release.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI9D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAA;AAGxC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAA;AAG3C,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAA;AAGtC,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;AAGnC,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,KAAK,CAAkB,iBAAiB,CAAC,CAAC;IACpF,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,cAAc;IACvB,MAAM,EAAE,SAAS;IACjB,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CACzC,CAAC;CAAG;AAEL,MAAM,OAAO,cAAe,SAAQ,MAAM,CAAC,KAAK,CAAiB,gBAAgB,CAAC,CAAC;IACjF,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CAC9C,CAAC;CAAG;AAEL,MAAM,OAAO,aAAc,SAAQ,MAAM,CAAC,KAAK,CAAgB,eAAe,CAAC,CAAC;IAC9E,QAAQ,EAAE,eAAe;IACzB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;IAC1C,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CACrD,CAAC;CAAG;AAEL,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,KAAK,CAAe,cAAc,CAAC,CAAC;IAC3E,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,OAAO;IACtB,iBAAiB,EAAE,MAAM,CAAC,MAAM;CACjC,CAAC;CAAG;AAEL,MAAM,OAAO,eAAgB,SAAQ,MAAM,CAAC,KAAK,CAAkB,iBAAiB,CAAC,CAAC;IACpF,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;CACrD,CAAC;CAAG;AAEL,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,KAAK,CAAc,aAAa,CAAC,CAAC;IACxE,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAChD,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACpD,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC,MAAM;IAChC,QAAQ,EAAE,eAAe;CAC1B,CAAC;CAAG"}
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/domain/release.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import * as Schema from "effect/Schema";
2
+ export type * from "../types/effect-internal.js";
3
+ export declare const NpmRemoteState: Schema.Literals<readonly ["missing", "published"]>;
4
+ export type NpmRemoteState = typeof NpmRemoteState.Type;
5
+ export declare const GitHubReleaseAvailability: Schema.Literals<readonly ["missing", "draft", "published"]>;
6
+ export type GitHubReleaseAvailability = typeof GitHubReleaseAvailability.Type;
7
+ export declare const ReleaseEligibilityStatus: Schema.Literals<readonly ["ready", "complete", "partial"]>;
8
+ export type ReleaseEligibilityStatus = typeof ReleaseEligibilityStatus.Type;
9
+ declare const ReleaseEligibilityInput_base: Schema.Class<ReleaseEligibilityInput, Schema.Struct<{
10
+ readonly packageName: Schema.String;
11
+ readonly packageVersion: Schema.String;
12
+ readonly expectedGithubDraft: Schema.Boolean;
13
+ readonly npm: Schema.Literals<readonly ["missing", "published"]>;
14
+ readonly github: Schema.Literals<readonly ["missing", "draft", "published"]>;
15
+ }>, {}>;
16
+ export declare class ReleaseEligibilityInput extends ReleaseEligibilityInput_base {
17
+ }
18
+ declare const ReleaseEligibilityDecision_base: Schema.Class<ReleaseEligibilityDecision, Schema.Struct<{
19
+ readonly shouldRelease: Schema.Boolean;
20
+ readonly status: Schema.Literals<readonly ["ready", "complete", "partial"]>;
21
+ readonly reason: Schema.String;
22
+ }>, {}>;
23
+ export declare class ReleaseEligibilityDecision extends ReleaseEligibilityDecision_base {
24
+ }
25
+ declare const GitHubReleaseMissing_base: Schema.Class<GitHubReleaseMissing, Schema.TaggedStruct<"GitHubReleaseMissing", {
26
+ readonly targetId: Schema.String;
27
+ readonly repository: Schema.String;
28
+ readonly tag: Schema.String;
29
+ }>, {}>;
30
+ export declare class GitHubReleaseMissing extends GitHubReleaseMissing_base {
31
+ }
32
+ declare const GitHubReleaseDraft_base: Schema.Class<GitHubReleaseDraft, Schema.TaggedStruct<"GitHubReleaseDraft", {
33
+ readonly targetId: Schema.String;
34
+ readonly repository: Schema.String;
35
+ readonly tag: Schema.String;
36
+ readonly title: Schema.String;
37
+ readonly draft: Schema.Literal<true>;
38
+ readonly prerelease: Schema.Boolean;
39
+ readonly assetNames: Schema.$Array<Schema.String>;
40
+ }>, {}>;
41
+ export declare class GitHubReleaseDraft extends GitHubReleaseDraft_base {
42
+ }
43
+ declare const GitHubReleasePublished_base: Schema.Class<GitHubReleasePublished, Schema.TaggedStruct<"GitHubReleasePublished", {
44
+ readonly targetId: Schema.String;
45
+ readonly repository: Schema.String;
46
+ readonly tag: Schema.String;
47
+ readonly title: Schema.String;
48
+ readonly draft: Schema.Literal<false>;
49
+ readonly prerelease: Schema.Boolean;
50
+ readonly assetNames: Schema.$Array<Schema.String>;
51
+ }>, {}>;
52
+ export declare class GitHubReleasePublished extends GitHubReleasePublished_base {
53
+ }
54
+ declare const GitHubReleaseMismatch_base: Schema.Class<GitHubReleaseMismatch, Schema.TaggedStruct<"GitHubReleaseMismatch", {
55
+ readonly targetId: Schema.String;
56
+ readonly repository: Schema.String;
57
+ readonly tag: Schema.String;
58
+ readonly reasons: Schema.$Array<Schema.String>;
59
+ }>, {}>;
60
+ export declare class GitHubReleaseMismatch extends GitHubReleaseMismatch_base {
61
+ }
62
+ export declare const GitHubReleaseRemoteState: Schema.Union<readonly [typeof GitHubReleaseMissing, typeof GitHubReleaseDraft, typeof GitHubReleasePublished, typeof GitHubReleaseMismatch]>;
63
+ export type GitHubReleaseRemoteState = typeof GitHubReleaseRemoteState.Type;
64
+ declare const GitHubReconcileSkip_base: Schema.Class<GitHubReconcileSkip, Schema.TaggedStruct<"GitHubReconcileSkip", {
65
+ readonly targetId: Schema.String;
66
+ readonly reason: Schema.String;
67
+ }>, {}>;
68
+ export declare class GitHubReconcileSkip extends GitHubReconcileSkip_base {
69
+ }
70
+ declare const GitHubReconcileCreateRelease_base: Schema.Class<GitHubReconcileCreateRelease, Schema.TaggedStruct<"GitHubReconcileCreateRelease", {
71
+ readonly targetId: Schema.String;
72
+ readonly reason: Schema.String;
73
+ }>, {}>;
74
+ export declare class GitHubReconcileCreateRelease extends GitHubReconcileCreateRelease_base {
75
+ }
76
+ declare const GitHubReconcilePublishDraft_base: Schema.Class<GitHubReconcilePublishDraft, Schema.TaggedStruct<"GitHubReconcilePublishDraft", {
77
+ readonly targetId: Schema.String;
78
+ readonly reason: Schema.String;
79
+ }>, {}>;
80
+ export declare class GitHubReconcilePublishDraft extends GitHubReconcilePublishDraft_base {
81
+ }
82
+ declare const GitHubReconcileBlock_base: Schema.Class<GitHubReconcileBlock, Schema.TaggedStruct<"GitHubReconcileBlock", {
83
+ readonly targetId: Schema.String;
84
+ readonly reasons: Schema.$Array<Schema.String>;
85
+ }>, {}>;
86
+ export declare class GitHubReconcileBlock extends GitHubReconcileBlock_base {
87
+ }
88
+ export declare const GitHubReleaseReconciliationDecision: Schema.Union<readonly [typeof GitHubReconcileSkip, typeof GitHubReconcileCreateRelease, typeof GitHubReconcilePublishDraft, typeof GitHubReconcileBlock]>;
89
+ export type GitHubReleaseReconciliationDecision = typeof GitHubReleaseReconciliationDecision.Type;
90
+ //# sourceMappingURL=remote-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-state.d.ts","sourceRoot":"","sources":["../../src/domain/remote-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,cAAc,oDAA4C,CAAA;AACvE,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,yBAAyB,6DAAqD,CAAA;AAC3F,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC,IAAI,CAAA;AAE7E,eAAO,MAAM,wBAAwB,4DAAoD,CAAA;AACzF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;;;;;;;;AAE3E,qBAAa,uBAAwB,SAAQ,4BAM3C;CAAG;;;;;;AAEL,qBAAa,0BAA2B,SAAQ,+BAM9C;CAAG;;;;;;AAEL,qBAAa,oBAAqB,SAAQ,yBAIxC;CAAG;;;;;;;;;;AAEL,qBAAa,kBAAmB,SAAQ,uBAQtC;CAAG;;;;;;;;;;AAEL,qBAAa,sBAAuB,SAAQ,2BAQ1C;CAAG;;;;;;;AAEL,qBAAa,qBAAsB,SAAQ,0BAKzC;CAAG;AAEL,eAAO,MAAM,wBAAwB,8IAKnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;;;;;AAE3E,qBAAa,mBAAoB,SAAQ,wBAGvC;CAAG;;;;;AAEL,qBAAa,4BAA6B,SAAQ,iCAMjD;CAAG;;;;;AAEJ,qBAAa,2BAA4B,SAAQ,gCAMhD;CAAG;;;;;AAEJ,qBAAa,oBAAqB,SAAQ,yBAGxC;CAAG;AAEL,eAAO,MAAM,mCAAmC,2JAK9C,CAAA;AACF,MAAM,MAAM,mCAAmC,GAAG,OAAO,mCAAmC,CAAC,IAAI,CAAA"}