@mannyc1/ts-release 0.0.5 → 0.0.7

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 (136) hide show
  1. package/ARCHITECTURE.md +13 -8
  2. package/README.md +226 -447
  3. package/SPEC.md +48 -43
  4. package/dist/artifacts/adapter.d.ts +39 -0
  5. package/dist/artifacts/adapter.d.ts.map +1 -0
  6. package/dist/artifacts/adapter.js +23 -0
  7. package/dist/artifacts/adapter.js.map +1 -0
  8. package/dist/artifacts/registry.d.ts +21 -0
  9. package/dist/artifacts/registry.d.ts.map +1 -0
  10. package/dist/artifacts/registry.js +21 -0
  11. package/dist/artifacts/registry.js.map +1 -0
  12. package/dist/config/schema.js +1 -1
  13. package/dist/config/schema.js.map +1 -1
  14. package/dist/domain/artifact.d.ts +85 -3
  15. package/dist/domain/artifact.d.ts.map +1 -1
  16. package/dist/domain/artifact.js +171 -3
  17. package/dist/domain/artifact.js.map +1 -1
  18. package/dist/domain/evidence.d.ts +16 -65
  19. package/dist/domain/evidence.d.ts.map +1 -1
  20. package/dist/domain/evidence.js +15 -60
  21. package/dist/domain/evidence.js.map +1 -1
  22. package/dist/domain/operation.d.ts +7 -17
  23. package/dist/domain/operation.d.ts.map +1 -1
  24. package/dist/domain/operation.js +27 -154
  25. package/dist/domain/operation.js.map +1 -1
  26. package/dist/domain/release.d.ts +1 -49
  27. package/dist/domain/release.d.ts.map +1 -1
  28. package/dist/domain/release.js +2 -47
  29. package/dist/domain/release.js.map +1 -1
  30. package/dist/domain/remote-state.d.ts +1 -38
  31. package/dist/domain/remote-state.d.ts.map +1 -1
  32. package/dist/domain/remote-state.js +2 -38
  33. package/dist/domain/remote-state.js.map +1 -1
  34. package/dist/domain/target.d.ts +14 -1
  35. package/dist/domain/target.d.ts.map +1 -1
  36. package/dist/domain/target.js +17 -3
  37. package/dist/domain/target.js.map +1 -1
  38. package/dist/host/platform.d.ts.map +1 -1
  39. package/dist/host/platform.js +4 -11
  40. package/dist/host/platform.js.map +1 -1
  41. package/dist/internal/workspace-path.d.ts +4 -5
  42. package/dist/internal/workspace-path.d.ts.map +1 -1
  43. package/dist/internal/workspace-path.js +3 -0
  44. package/dist/internal/workspace-path.js.map +1 -1
  45. package/dist/planner/artifact-inventory.d.ts.map +1 -1
  46. package/dist/planner/artifact-inventory.js +4 -3
  47. package/dist/planner/artifact-inventory.js.map +1 -1
  48. package/dist/planner/errors.d.ts +2 -16
  49. package/dist/planner/errors.d.ts.map +1 -1
  50. package/dist/planner/errors.js +2 -14
  51. package/dist/planner/errors.js.map +1 -1
  52. package/dist/planner/evidence-recorder.d.ts +8 -6
  53. package/dist/planner/evidence-recorder.d.ts.map +1 -1
  54. package/dist/planner/evidence-recorder.js +72 -54
  55. package/dist/planner/evidence-recorder.js.map +1 -1
  56. package/dist/planner/executor.d.ts +12 -12
  57. package/dist/planner/executor.d.ts.map +1 -1
  58. package/dist/planner/executor.js +45 -68
  59. package/dist/planner/executor.js.map +1 -1
  60. package/dist/planner/normalize-release.d.ts +3 -0
  61. package/dist/planner/normalize-release.d.ts.map +1 -1
  62. package/dist/planner/normalize-release.js +128 -4
  63. package/dist/planner/normalize-release.js.map +1 -1
  64. package/dist/planner/reconcile.d.ts.map +1 -1
  65. package/dist/planner/reconcile.js +2 -6
  66. package/dist/planner/reconcile.js.map +1 -1
  67. package/dist/planner/render-plan.d.ts.map +1 -1
  68. package/dist/planner/render-plan.js +12 -19
  69. package/dist/planner/render-plan.js.map +1 -1
  70. package/dist/targets/adapter-helpers.d.ts +36 -6
  71. package/dist/targets/adapter-helpers.d.ts.map +1 -1
  72. package/dist/targets/adapter-helpers.js +103 -7
  73. package/dist/targets/adapter-helpers.js.map +1 -1
  74. package/dist/targets/github.d.ts +2 -2
  75. package/dist/targets/github.d.ts.map +1 -1
  76. package/dist/targets/github.js +4 -14
  77. package/dist/targets/github.js.map +1 -1
  78. package/dist/targets/homebrew.d.ts +2 -2
  79. package/dist/targets/homebrew.d.ts.map +1 -1
  80. package/dist/targets/homebrew.js +143 -40
  81. package/dist/targets/homebrew.js.map +1 -1
  82. package/dist/targets/live.d.ts.map +1 -1
  83. package/dist/targets/live.js +29 -20
  84. package/dist/targets/live.js.map +1 -1
  85. package/dist/targets/npm.d.ts +2 -2
  86. package/dist/targets/npm.d.ts.map +1 -1
  87. package/dist/targets/npm.js +33 -61
  88. package/dist/targets/npm.js.map +1 -1
  89. package/dist/targets/pypi.d.ts +2 -2
  90. package/dist/targets/pypi.d.ts.map +1 -1
  91. package/dist/targets/pypi.js +67 -41
  92. package/dist/targets/pypi.js.map +1 -1
  93. package/dist/targets/scoop.d.ts.map +1 -1
  94. package/dist/targets/scoop.js +18 -8
  95. package/dist/targets/scoop.js.map +1 -1
  96. package/dist/workflows/config.d.ts +69 -121
  97. package/dist/workflows/config.d.ts.map +1 -1
  98. package/dist/workflows/config.js +80 -129
  99. package/dist/workflows/config.js.map +1 -1
  100. package/dist/workflows/diagnostics.d.ts +2 -2
  101. package/dist/workflows/diagnostics.d.ts.map +1 -1
  102. package/dist/workflows/diagnostics.js +14 -20
  103. package/dist/workflows/diagnostics.js.map +1 -1
  104. package/dist/workflows/distribution.d.ts +25 -0
  105. package/dist/workflows/distribution.d.ts.map +1 -0
  106. package/dist/workflows/distribution.js +24 -0
  107. package/dist/workflows/distribution.js.map +1 -0
  108. package/dist/workflows/evidence.d.ts +4 -13
  109. package/dist/workflows/evidence.d.ts.map +1 -1
  110. package/dist/workflows/evidence.js +15 -37
  111. package/dist/workflows/evidence.js.map +1 -1
  112. package/dist/workflows/index.d.ts +1 -0
  113. package/dist/workflows/index.d.ts.map +1 -1
  114. package/dist/workflows/index.js +1 -0
  115. package/dist/workflows/index.js.map +1 -1
  116. package/dist/workflows/init.d.ts +3 -3
  117. package/dist/workflows/init.d.ts.map +1 -1
  118. package/dist/workflows/init.js +49 -13
  119. package/dist/workflows/init.js.map +1 -1
  120. package/examples/README.md +4 -4
  121. package/package.json +18 -15
  122. package/templates/README.md +15 -2
  123. package/templates/bun-cli-github/README.md +14 -0
  124. package/templates/bun-cli-github/release.config.json +89 -0
  125. package/dist/domain/status.d.ts +0 -43
  126. package/dist/domain/status.d.ts.map +0 -1
  127. package/dist/domain/status.js +0 -51
  128. package/dist/domain/status.js.map +0 -1
  129. package/dist/planner/release-eligibility.d.ts +0 -39
  130. package/dist/planner/release-eligibility.d.ts.map +0 -1
  131. package/dist/planner/release-eligibility.js +0 -578
  132. package/dist/planner/release-eligibility.js.map +0 -1
  133. package/dist/planner/status.d.ts +0 -40
  134. package/dist/planner/status.d.ts.map +0 -1
  135. package/dist/planner/status.js +0 -342
  136. package/dist/planner/status.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import * as Effect from "effect/Effect";
2
- import { ArtifactInventoryItem, Checksum } from "../domain/artifact.js";
3
- import { CommandSpec, PublishCommandOperation, ValidationNoteOperation } from "../domain/operation.js";
2
+ import { ArtifactArchitecture, ArtifactInventoryItem, ArtifactLibc, ArtifactOperatingSystem, Checksum } from "../domain/artifact.js";
3
+ import { CommandSpec, PublishCommandOperation, ValidateCommandOperation, ValidationNoteOperation } from "../domain/operation.js";
4
4
  import { ReleaseModel } from "../domain/release.js";
5
- import { TargetCapabilities, TargetConfig, TargetDryRunSupport, TargetMutability, TargetValidationStrategy } from "../domain/target.js";
5
+ import { TargetAuthSetup, TargetCapabilities, TargetConfig, TargetDryRunSupport, TargetMutability, TargetValidationStrategy } from "../domain/target.js";
6
6
  import { PlanConstructionError } from "../planner/errors.js";
7
7
  export type * from "../types/effect-internal.js";
8
8
  interface DryRunValidationNoteOptions {
@@ -14,11 +14,34 @@ interface DryRunValidationNoteOptions {
14
14
  readonly simulatedMessage: string;
15
15
  readonly skippedMessage: string;
16
16
  }
17
+ interface ReadOnlyCommandValidationOptions {
18
+ readonly id: string;
19
+ readonly targetId: string;
20
+ readonly description: string;
21
+ readonly command: CommandSpec;
22
+ }
23
+ interface DryRunValidationOperationOptions extends Omit<DryRunValidationNoteOptions, "dryRunSupport"> {
24
+ readonly dryRunSupport: TargetDryRunSupport;
25
+ readonly nativeDescription: string;
26
+ readonly command: CommandSpec;
27
+ }
17
28
  interface ArtifactErrorReasons {
18
29
  readonly targetId: string;
19
30
  readonly directoryReason: string;
20
31
  readonly checksumReason: string;
21
32
  }
33
+ export interface ArtifactVariantCriteria {
34
+ readonly os?: ArtifactOperatingSystem | undefined;
35
+ readonly arch?: ArtifactArchitecture | undefined;
36
+ readonly libc?: ArtifactLibc | undefined;
37
+ readonly binaryName?: string | undefined;
38
+ readonly executableExtension?: string | undefined;
39
+ readonly installPath?: string | undefined;
40
+ readonly targetTriple?: string | undefined;
41
+ }
42
+ interface ArtifactInventory {
43
+ readonly artifacts: ReadonlyArray<ArtifactInventoryItem>;
44
+ }
22
45
  interface UnsupportedCatalogTokenEnvOptions {
23
46
  readonly targetId: string;
24
47
  readonly targetLabel: string;
@@ -30,18 +53,25 @@ interface CatalogGitPushOperationOptions {
30
53
  readonly description: string;
31
54
  readonly mutability: TargetMutability;
32
55
  readonly directory: string | undefined;
33
- readonly irreversibleReason: string;
34
- readonly externallyVisibleReason: string;
56
+ }
57
+ interface CatalogGitPublishOperationOptions extends CatalogGitPushOperationOptions {
58
+ readonly filePath: string;
59
+ readonly commitMessage: string;
35
60
  }
36
61
  export declare const noAuthCommand: (executable: string, args: ReadonlyArray<string>) => CommandSpec;
37
62
  export declare const catalogPathBaseName: (pathName: string) => string;
38
63
  export declare const rejectUnsupportedCatalogTokenEnv: (options: UnsupportedCatalogTokenEnvOptions) => Effect.Effect<undefined, PlanConstructionError, never>;
39
64
  export declare const catalogGitPushOperation: (options: CatalogGitPushOperationOptions) => PublishCommandOperation;
65
+ export declare const catalogGitPublishOperations: (options: CatalogGitPublishOperationOptions) => ReadonlyArray<PublishCommandOperation>;
40
66
  export declare const validationStrategyForDryRun: (dryRunSupport: TargetDryRunSupport) => TargetValidationStrategy;
41
- export declare const targetCapabilitiesFor: (target: TargetConfig, validationStrategy: TargetValidationStrategy) => TargetCapabilities;
67
+ export declare const targetCapabilitiesFor: (target: TargetConfig, validationStrategy: TargetValidationStrategy, authSetup?: TargetAuthSetup | undefined) => TargetCapabilities;
68
+ export declare const readOnlyCommandValidationOperation: (options: ReadOnlyCommandValidationOptions) => ValidateCommandOperation;
42
69
  export declare const validationNoteOperation: (options: DryRunValidationNoteOptions) => ValidationNoteOperation;
70
+ export declare const dryRunValidationOperation: (options: DryRunValidationOperationOptions) => ValidateCommandOperation | ValidationNoteOperation;
43
71
  export declare const rejectNoDryRunInStrictMode: (target: import("../domain/target.js").NpmRegistryTarget | import("../domain/target.js").GitHubReleaseTarget | import("../domain/target.js").HomebrewTapTarget | import("../domain/target.js").PyPiRegistryTarget | import("../domain/target.js").ScoopBucketTarget, model: ReleaseModel, reason: string) => Effect.Effect<undefined, PlanConstructionError, never>;
44
72
  export declare const findRequiredArtifact: (model: ReleaseModel, targetId: string, artifactId: string, missingReason: string) => Effect.Effect<ArtifactInventoryItem, PlanConstructionError, never>;
73
+ export declare const findArtifactsByVariant: (model: ArtifactInventory, criteria: ArtifactVariantCriteria) => ReadonlyArray<ArtifactInventoryItem>;
74
+ export declare const findRequiredArtifactVariant: (model: ArtifactInventory, targetId: string, criteria: ArtifactVariantCriteria, missingReason: string, multipleReason?: string | undefined) => Effect.Effect<ArtifactInventoryItem, PlanConstructionError, never>;
45
75
  export declare const requireSha256FileArtifact: (artifact: ArtifactInventoryItem, reasons: ArtifactErrorReasons) => Effect.Effect<{
46
76
  artifact: ArtifactInventoryItem;
47
77
  checksum: Checksum;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-helpers.d.ts","sourceRoot":"","sources":["../../src/targets/adapter-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACvE,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,uBAAuB,EAIxB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EAEzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,mBAAmB,6BAA6B,CAAA;AAEhD,UAAU,2BAA2B;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAA;IAC9D,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,UAAU,iCAAiC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CACtC;AAED,UAAU,8BAA8B;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAA;CACzC;AAED,eAAO,MAAM,aAAa,GACxB,YAAY,MAAM,EAClB,MAAM,aAAa,CAAC,MAAM,CAAC,KAC1B,WAMC,CAAA;AAEJ,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,MAGtD,CAAA;AAED,eAAO,MAAM,gCAAgC,wGAY3C,CAAA;AAEF,eAAO,MAAM,uBAAuB,GAAI,SAAS,8BAA8B,KAAG,uBAYjF,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAI,eAAe,mBAAmB,KAAG,wBAQhF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,QAAQ,YAAY,EACpB,oBAAoB,wBAAwB,KAC3C,kBASC,CAAA;AAEJ,eAAO,MAAM,uBAAuB,GAAI,SAAS,2BAA2B,KAAG,uBAU3E,CAAA;AAEJ,eAAO,MAAM,0BAA0B,qWAarC,CAAA;AAEF,eAAO,MAAM,oBAAoB,0JAgB/B,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;gCAsBpC,CAAA"}
1
+ {"version":3,"file":"adapter-helpers.d.ts","sourceRoot":"","sources":["../../src/targets/adapter-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,uBAAuB,EACvB,QAAQ,EACT,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EAEzB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,mBAAmB,6BAA6B,CAAA;AAEhD,UAAU,2BAA2B;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAA;IAC9D,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,UAAU,gCAAgC;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAC9B;AAED,UAAU,gCAAiC,SAAQ,IAAI,CAAC,2BAA2B,EAAE,eAAe,CAAC;IACnG,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAA;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAC9B;AAED,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3C;AAED,UAAU,iBAAiB;IACzB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAA;CACzD;AAED,UAAU,iCAAiC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAA;CACtC;AAED,UAAU,8BAA8B;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CACvC;AAED,UAAU,iCAAkC,SAAQ,8BAA8B;IAChF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED,eAAO,MAAM,aAAa,GACxB,YAAY,MAAM,EAClB,MAAM,aAAa,CAAC,MAAM,CAAC,KAC1B,WAMC,CAAA;AAEJ,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,MAGtD,CAAA;AAED,eAAO,MAAM,gCAAgC,wGAY3C,CAAA;AAEF,eAAO,MAAM,uBAAuB,GAAI,SAAS,8BAA8B,KAAG,uBASjF,CAAA;AAcD,eAAO,MAAM,2BAA2B,GACtC,SAAS,iCAAiC,KACzC,aAAa,CAAC,uBAAuB,CA2BvC,CAAA;AAED,eAAO,MAAM,2BAA2B,GAAI,eAAe,mBAAmB,KAAG,wBAQhF,CAAA;AAED,eAAO,MAAM,qBAAqB,GAChC,QAAQ,YAAY,EACpB,oBAAoB,wBAAwB,EAC5C,YAAY,eAAe,GAAG,SAAS,KACtC,kBAUC,CAAA;AAEJ,eAAO,MAAM,kCAAkC,GAC7C,SAAS,gCAAgC,KACxC,wBAOC,CAAA;AAEJ,eAAO,MAAM,uBAAuB,GAAI,SAAS,2BAA2B,KAAG,uBAS3E,CAAA;AAEJ,eAAO,MAAM,yBAAyB,GACpC,SAAS,gCAAgC,KACxC,wBAAwB,GAAG,uBAgBxB,CAAA;AAEN,eAAO,MAAM,0BAA0B,qWAarC,CAAA;AAEF,eAAO,MAAM,oBAAoB,0JAgB/B,CAAA;AAmBF,eAAO,MAAM,sBAAsB,GACjC,OAAO,iBAAiB,EACxB,UAAU,uBAAuB,KAChC,aAAa,CAAC,qBAAqB,CACoD,CAAA;AAE1F,eAAO,MAAM,2BAA2B,mNAkCtC,CAAA;AAEF,eAAO,MAAM,yBAAyB;;;gCAsBpC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import * as Effect from "effect/Effect";
2
- import { CommandSpec, PublishCommandOperation, ValidationNoteOperation, executeGate, irreversibleGate, noApprovalGate } from "../domain/operation.js";
2
+ import { CommandSpec, PublishCommandOperation, ValidateCommandOperation, ValidationNoteOperation } from "../domain/operation.js";
3
3
  import { TargetCapabilities, targetAuthRequirement } from "../domain/target.js";
4
4
  import { PlanConstructionError } from "../planner/errors.js";
5
5
  export const noAuthCommand = (executable, args) => CommandSpec.make({
@@ -27,12 +27,48 @@ export const catalogGitPushOperation = (options) => {
27
27
  targetId: options.targetId,
28
28
  description: options.description,
29
29
  risk: publishRisk,
30
- gate: publishRisk === "irreversible"
31
- ? irreversibleGate(options.irreversibleReason)
32
- : executeGate(options.externallyVisibleReason),
33
30
  command: noAuthCommand("git", ["-C", options.directory ?? ".", "push"])
34
31
  });
35
32
  };
33
+ const catalogFilePath = (filePath, directory) => {
34
+ if (directory === undefined) {
35
+ return filePath;
36
+ }
37
+ const normalizedFilePath = filePath.replaceAll("\\", "/");
38
+ const normalizedDirectory = directory.replaceAll("\\", "/").replace(/\/+$/, "");
39
+ const prefix = `${normalizedDirectory}/`;
40
+ return normalizedFilePath.startsWith(prefix)
41
+ ? normalizedFilePath.slice(prefix.length)
42
+ : filePath;
43
+ };
44
+ export const catalogGitPublishOperations = (options) => [
45
+ PublishCommandOperation.make({
46
+ id: `${options.id}:add`,
47
+ targetId: options.targetId,
48
+ description: `Stage ${catalogPathBaseName(options.filePath)} for ${options.targetId}.`,
49
+ risk: "writes-local",
50
+ command: noAuthCommand("git", [
51
+ "-C",
52
+ options.directory ?? ".",
53
+ "add",
54
+ catalogFilePath(options.filePath, options.directory)
55
+ ])
56
+ }),
57
+ PublishCommandOperation.make({
58
+ id: `${options.id}:commit`,
59
+ targetId: options.targetId,
60
+ description: `Commit ${catalogPathBaseName(options.filePath)} for ${options.targetId}.`,
61
+ risk: "writes-local",
62
+ command: noAuthCommand("git", [
63
+ "-C",
64
+ options.directory ?? ".",
65
+ "commit",
66
+ "-m",
67
+ options.commitMessage
68
+ ])
69
+ }),
70
+ catalogGitPushOperation(options)
71
+ ];
36
72
  export const validationStrategyForDryRun = (dryRunSupport) => {
37
73
  if (dryRunSupport === "native") {
38
74
  return "native-command";
@@ -42,25 +78,48 @@ export const validationStrategyForDryRun = (dryRunSupport) => {
42
78
  }
43
79
  return "skipped";
44
80
  };
45
- export const targetCapabilitiesFor = (target, validationStrategy) => TargetCapabilities.make({
81
+ export const targetCapabilitiesFor = (target, validationStrategy, authSetup) => TargetCapabilities.make({
46
82
  targetId: target.id,
47
83
  targetTag: target._tag,
48
84
  authRequirement: targetAuthRequirement(target),
49
85
  dryRunSupport: target.dryRunSupport,
50
86
  mutability: target.mutability,
51
87
  recovery: target.recovery,
52
- validationStrategy
88
+ validationStrategy,
89
+ ...(authSetup === undefined ? {} : { authSetup })
90
+ });
91
+ export const readOnlyCommandValidationOperation = (options) => ValidateCommandOperation.make({
92
+ id: options.id,
93
+ targetId: options.targetId,
94
+ description: options.description,
95
+ risk: "read-only",
96
+ command: options.command
53
97
  });
54
98
  export const validationNoteOperation = (options) => ValidationNoteOperation.make({
55
99
  id: options.id,
56
100
  targetId: options.targetId,
57
101
  description: options.dryRunSupport === "simulated" ? options.simulatedDescription : options.skippedDescription,
58
102
  risk: "read-only",
59
- gate: noApprovalGate("Validation notes do not modify local or remote state."),
60
103
  message: options.dryRunSupport === "simulated" ? options.simulatedMessage : options.skippedMessage,
61
104
  skipped: options.dryRunSupport === "none",
62
105
  severity: options.dryRunSupport === "simulated" ? "info" : "warning"
63
106
  });
107
+ export const dryRunValidationOperation = (options) => options.dryRunSupport === "native"
108
+ ? readOnlyCommandValidationOperation({
109
+ id: options.id,
110
+ targetId: options.targetId,
111
+ description: options.nativeDescription,
112
+ command: options.command
113
+ })
114
+ : validationNoteOperation({
115
+ id: options.id,
116
+ targetId: options.targetId,
117
+ dryRunSupport: options.dryRunSupport,
118
+ simulatedDescription: options.simulatedDescription,
119
+ skippedDescription: options.skippedDescription,
120
+ simulatedMessage: options.simulatedMessage,
121
+ skippedMessage: options.skippedMessage
122
+ });
64
123
  export const rejectNoDryRunInStrictMode = Effect.fn("rejectNoDryRunInStrictMode")(function* (target, model, reason) {
65
124
  if (model.strict && target.dryRunSupport === "none") {
66
125
  return yield* Effect.fail(PlanConstructionError.make({
@@ -79,6 +138,43 @@ export const findRequiredArtifact = Effect.fn("findRequiredArtifact")(function*
79
138
  }
80
139
  return artifact;
81
140
  });
141
+ const artifactMatchesVariantCriteria = (artifact, criteria) => {
142
+ const variant = artifact.variant;
143
+ if (variant === undefined) {
144
+ return false;
145
+ }
146
+ return (criteria.os === undefined || variant.os === criteria.os) &&
147
+ (criteria.arch === undefined || variant.arch === criteria.arch) &&
148
+ (criteria.libc === undefined || variant.libc === criteria.libc) &&
149
+ (criteria.binaryName === undefined || variant.binaryName === criteria.binaryName) &&
150
+ (criteria.executableExtension === undefined || variant.executableExtension === criteria.executableExtension) &&
151
+ (criteria.installPath === undefined || variant.installPath === criteria.installPath) &&
152
+ (criteria.targetTriple === undefined || variant.targetTriple === criteria.targetTriple);
153
+ };
154
+ export const findArtifactsByVariant = (model, criteria) => model.artifacts.filter((artifact) => artifactMatchesVariantCriteria(artifact, criteria));
155
+ export const findRequiredArtifactVariant = Effect.fn("findRequiredArtifactVariant")(function* (model, targetId, criteria, missingReason, multipleReason = "Multiple artifacts matched the requested installable variant.") {
156
+ const artifacts = findArtifactsByVariant(model, criteria);
157
+ if (artifacts.length === 0) {
158
+ return yield* Effect.fail(PlanConstructionError.make({
159
+ targetId,
160
+ reason: missingReason
161
+ }));
162
+ }
163
+ if (artifacts.length > 1) {
164
+ return yield* Effect.fail(PlanConstructionError.make({
165
+ targetId,
166
+ reason: multipleReason
167
+ }));
168
+ }
169
+ const artifact = artifacts[0];
170
+ if (artifact === undefined) {
171
+ return yield* Effect.fail(PlanConstructionError.make({
172
+ targetId,
173
+ reason: missingReason
174
+ }));
175
+ }
176
+ return artifact;
177
+ });
82
178
  export const requireSha256FileArtifact = Effect.fn("requireSha256FileArtifact")(function* (artifact, reasons) {
83
179
  if (artifact.format === "directory") {
84
180
  return yield* Effect.fail(PlanConstructionError.make({
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-helpers.js","sourceRoot":"","sources":["../../src/targets/adapter-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-helpers.js","sourceRoot":"","sources":["../../src/targets/adapter-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import * as Effect from "effect/Effect";
2
- import { PublishCommandOperation, ValidateCommandOperation, VerifyHttpOperation, VerifyRemoteOperation } from "../domain/operation.js";
2
+ import { PublishCommandOperation, VerifyHttpOperation, VerifyRemoteOperation } from "../domain/operation.js";
3
3
  import { ReleaseModel } from "../domain/release.js";
4
4
  import { GitHubReleaseTarget, TargetCapabilities } from "../domain/target.js";
5
5
  import { PlanConstructionError } from "../planner/errors.js";
6
6
  import { GitHubTargetAdapter } from "./adapter.js";
7
7
  export type * from "../types/effect-internal.js";
8
8
  export declare const githubTargetCapabilities: (target: GitHubReleaseTarget) => TargetCapabilities;
9
- export declare const planGitHubOperations: (target: GitHubReleaseTarget, model: ReleaseModel) => Effect.Effect<(import("../domain/operation.js").RenderFileOperation | ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | PublishCommandOperation | VerifyRemoteOperation | VerifyHttpOperation)[], PlanConstructionError, never>;
9
+ export declare const planGitHubOperations: (target: GitHubReleaseTarget, model: ReleaseModel) => Effect.Effect<(import("../domain/operation.js").RenderFileOperation | import("../domain/operation.js").ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | PublishCommandOperation | VerifyRemoteOperation | VerifyHttpOperation)[], PlanConstructionError, never>;
10
10
  export declare const GitHubAdapter: GitHubTargetAdapter;
11
11
  //# sourceMappingURL=github.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/targets/github.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAOL,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAGnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAclD,mBAAmB,6BAA6B,CAAA;AAKhD,eAAO,MAAM,wBAAwB,GAAI,QAAQ,mBAAmB,KAAG,kBACN,CAAA;AA6FjE,eAAO,MAAM,oBAAoB,2TAoD/B,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,mBAI3B,CAAA"}
1
+ {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/targets/github.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAIL,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAGnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAmBlD,mBAAmB,6BAA6B,CAAA;AAKhD,eAAO,MAAM,wBAAwB,GAAI,QAAQ,mBAAmB,KAAG,kBACN,CAAA;AA2FjE,eAAO,MAAM,oBAAoB,4VA4C/B,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,mBAI3B,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import * as Effect from "effect/Effect";
2
- import { executeGate, HttpJsonArrayObjectFieldEqualsCheck, HttpJsonEqualsCheck, irreversibleGate, noApprovalGate, PublishCommandOperation, ValidateCommandOperation, VerifyHttpOperation, VerifyRemoteOperation } from "../domain/operation.js";
2
+ import { HttpJsonArrayObjectFieldEqualsCheck, HttpJsonEqualsCheck, PublishCommandOperation, VerifyHttpOperation, VerifyRemoteOperation } from "../domain/operation.js";
3
3
  import { PlanConstructionError } from "../planner/errors.js";
4
- import { rejectNoDryRunInStrictMode, targetCapabilitiesFor, validationNoteOperation } from "./adapter-helpers.js";
4
+ import { readOnlyCommandValidationOperation, rejectNoDryRunInStrictMode, targetCapabilitiesFor, validationNoteOperation } from "./adapter-helpers.js";
5
5
  import { githubGhCommand, githubReleaseAssetName, githubReleaseCreateCommand, githubReleaseRequestSpec, githubReleaseTag, githubReleaseTitle, githubReleaseViewCommand, githubTargetArtifacts } from "./github-release.js";
6
6
  const githubValidationStrategy = (target) => target.dryRunSupport === "none" ? "skipped" : "simulated-plan";
7
7
  export const githubTargetCapabilities = (target) => targetCapabilitiesFor(target, githubValidationStrategy(target));
@@ -23,7 +23,6 @@ const githubVerificationOperations = (target, model) => {
23
23
  targetId: target.id,
24
24
  description: "Verify the GitHub draft release through the GitHub CLI.",
25
25
  risk: "read-only",
26
- gate: noApprovalGate("GitHub CLI release verification is read-only."),
27
26
  command: githubReleaseViewCommand(target, model)
28
27
  })
29
28
  ];
@@ -42,7 +41,6 @@ const githubVerificationOperations = (target, model) => {
42
41
  targetId: target.id,
43
42
  description: "Verify the GitHub release through the GitHub API.",
44
43
  risk: "read-only",
45
- gate: noApprovalGate("GitHub API release verification is read-only."),
46
44
  request: githubReleaseRequestSpec(target, tag),
47
45
  expectedStatus: 200,
48
46
  checks: [
@@ -87,24 +85,17 @@ export const planGitHubOperations = Effect.fn("planGitHubOperations")(function*
87
85
  yield* rejectNoDryRunInStrictMode(target, model, "GitHub release target declares no dry-run support in strict mode.");
88
86
  yield* rejectDirectoryAssets(target, model);
89
87
  const publishRisk = target.mutability === "immutable" ? "irreversible" : "externally-visible";
90
- const publishGate = publishRisk === "irreversible"
91
- ? irreversibleGate("Creating this GitHub release is externally visible and configured as immutable.")
92
- : executeGate("Creating or updating a GitHub release is externally visible.");
93
88
  return [
94
- ValidateCommandOperation.make({
89
+ readOnlyCommandValidationOperation({
95
90
  id: `${target.id}:gh-version`,
96
91
  targetId: target.id,
97
92
  description: "Check GitHub CLI availability.",
98
- risk: "read-only",
99
- gate: noApprovalGate("CLI availability validation is read-only."),
100
93
  command: githubGhCommand(target, ["--version"], false)
101
94
  }),
102
- ValidateCommandOperation.make({
95
+ readOnlyCommandValidationOperation({
103
96
  id: `${target.id}:gh-auth-status`,
104
97
  targetId: target.id,
105
98
  description: "Validate GitHub CLI authentication.",
106
- risk: "read-only",
107
- gate: noApprovalGate("gh auth status checks authentication without publishing."),
108
99
  command: githubGhCommand(target, ["auth", "status"], true)
109
100
  }),
110
101
  githubDryRunOperation(target, dryRunSupport),
@@ -113,7 +104,6 @@ export const planGitHubOperations = Effect.fn("planGitHubOperations")(function*
113
104
  targetId: target.id,
114
105
  description: `Create GitHub release for ${model.identity.name}@${model.identity.version}.`,
115
106
  risk: publishRisk,
116
- gate: publishGate,
117
107
  command: githubReleaseCreateCommand(target, model)
118
108
  }),
119
109
  ...githubVerificationOperations(target, model)
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/targets/github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/targets/github.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import * as Effect from "effect/Effect";
2
- import { RenderFileOperation, ValidateCommandOperation } from "../domain/operation.js";
2
+ import { RenderFileOperation } from "../domain/operation.js";
3
3
  import { ReleaseModel } from "../domain/release.js";
4
4
  import { HomebrewTapTarget, TargetCapabilities } from "../domain/target.js";
5
5
  import { PlanConstructionError } from "../planner/errors.js";
6
6
  import { HomebrewTargetAdapter } from "./adapter.js";
7
7
  export type * from "../types/effect-internal.js";
8
8
  export declare const homebrewTargetCapabilities: (target: HomebrewTapTarget) => TargetCapabilities;
9
- export declare const planHomebrewOperations: (target: HomebrewTapTarget, model: ReleaseModel) => Effect.Effect<(RenderFileOperation | ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | import("../domain/operation.js").PublishCommandOperation | import("../domain/operation.js").VerifyRemoteOperation | import("../domain/operation.js").VerifyHttpOperation)[], PlanConstructionError, never>;
9
+ export declare const planHomebrewOperations: (target: HomebrewTapTarget, model: ReleaseModel) => Effect.Effect<(RenderFileOperation | import("../domain/operation.js").ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | import("../domain/operation.js").PublishCommandOperation | import("../domain/operation.js").VerifyRemoteOperation | import("../domain/operation.js").VerifyHttpOperation)[], PlanConstructionError, never>;
10
10
  export declare const HomebrewAdapter: HomebrewTargetAdapter;
11
11
  //# sourceMappingURL=homebrew.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"homebrew.d.ts","sourceRoot":"","sources":["../../src/targets/homebrew.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAIL,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAcpD,mBAAmB,6BAA6B,CAAA;AAUhD,eAAO,MAAM,0BAA0B,GAAI,QAAQ,iBAAiB,KAAG,kBACW,CAAA;AAqElF,eAAO,MAAM,sBAAsB,2XA+CjC,CAAA;AAEF,eAAO,MAAM,eAAe,EAAE,qBAI7B,CAAA"}
1
+ {"version":3,"file":"homebrew.d.ts","sourceRoot":"","sources":["../../src/targets/homebrew.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAMvC,OAAO,EAEL,mBAAmB,EACpB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAepD,mBAAmB,6BAA6B,CAAA;AAUhD,eAAO,MAAM,0BAA0B,GAAI,QAAQ,iBAAiB,KAAG,kBACW,CAAA;AAyOlF,eAAO,MAAM,sBAAsB,4ZA4CjC,CAAA;AAEF,eAAO,MAAM,eAAe,EAAE,qBAI7B,CAAA"}