@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,6 +1,7 @@
1
1
  import * as Effect from "effect/Effect";
2
- import { executeGate, noApprovalGate, RenderFileOperation, ValidateCommandOperation } from "../domain/operation.js";
3
- import { catalogGitPushOperation, catalogPathBaseName, findRequiredArtifact, noAuthCommand, requireSha256FileArtifact, rejectNoDryRunInStrictMode, rejectUnsupportedCatalogTokenEnv, targetCapabilitiesFor, validationNoteOperation, validationStrategyForDryRun } from "./adapter-helpers.js";
2
+ import { RenderFileOperation } from "../domain/operation.js";
3
+ import { PlanConstructionError } from "../planner/errors.js";
4
+ import { catalogGitPublishOperations, catalogPathBaseName, dryRunValidationOperation, findRequiredArtifact, noAuthCommand, readOnlyCommandValidationOperation, requireSha256FileArtifact, rejectNoDryRunInStrictMode, rejectUnsupportedCatalogTokenEnv, targetCapabilitiesFor, validationStrategyForDryRun } from "./adapter-helpers.js";
4
5
  const rejectUnsupportedTokenEnv = Effect.fn("rejectUnsupportedHomebrewTokenEnv")(function* (target) {
5
6
  return yield* rejectUnsupportedCatalogTokenEnv({
6
7
  targetId: target.id,
@@ -15,54 +16,159 @@ const formulaClassName = (formulaName) => {
15
16
  const className = parts.map((part) => `${part.slice(0, 1).toUpperCase()}${part.slice(1)}`).join("");
16
17
  return className.length === 0 ? "GeneratedFormula" : className;
17
18
  };
18
- const renderFormula = (target, model) => Effect.gen(function* () {
19
- const artifact = yield* findRequiredArtifact(model, target.id, target.artifactId, `Homebrew target references missing artifact ${target.artifactId}.`);
20
- const validated = yield* requireSha256FileArtifact(artifact, {
19
+ const artifactUrl = (artifact, fallbackUrl) => fallbackUrl ?? artifact.downloadUrl ?? artifact.path;
20
+ const singleArtifactBinaryName = (target, artifact) => target.installPath !== undefined ? target.formulaName : artifact.variant?.binaryName;
21
+ const multiArtifactBinaryName = (target, artifacts) => target.installPath !== undefined
22
+ ? target.formulaName
23
+ : artifacts.find((entry) => entry.artifact.variant?.binaryName !== undefined)
24
+ ?.artifact.variant?.binaryName ?? target.formulaName;
25
+ const singleArtifactInstallLines = (target, artifact) => {
26
+ if (target.installPath !== undefined) {
27
+ return [
28
+ ` bin.install ${rubyString(target.installPath)} => ${rubyString(target.formulaName)}`,
29
+ ` chmod 0755, bin/${rubyString(target.formulaName)}`
30
+ ];
31
+ }
32
+ const binaryName = artifact.variant?.binaryName;
33
+ return binaryName === undefined
34
+ ? [" prefix.install Dir[\"*\"]"]
35
+ : [
36
+ ` bin.install ${rubyString(catalogPathBaseName(artifact.path))} => ${rubyString(binaryName)}`,
37
+ ` chmod 0755, bin/${rubyString(binaryName)}`
38
+ ];
39
+ };
40
+ const multiArtifactInstallLines = (target, artifacts) => {
41
+ if (target.installPath !== undefined) {
42
+ return [
43
+ ` bin.install ${rubyString(target.installPath)} => ${rubyString(target.formulaName)}`,
44
+ ` chmod 0755, bin/${rubyString(target.formulaName)}`
45
+ ];
46
+ }
47
+ const binaryName = multiArtifactBinaryName(target, artifacts);
48
+ return [
49
+ ` bin.install Dir["*"].find { |path| File.file?(path) } => ${rubyString(binaryName)}`,
50
+ ` chmod 0755, bin/${rubyString(binaryName)}`
51
+ ];
52
+ };
53
+ const formulaTestLines = (binaryName) => binaryName === undefined
54
+ ? []
55
+ : [
56
+ "",
57
+ " test do",
58
+ ` assert File.exist?(bin/${rubyString(binaryName)})`,
59
+ ` assert File.executable?(bin/${rubyString(binaryName)})`,
60
+ " end"
61
+ ];
62
+ const requireHomebrewArtifact = Effect.fn("requireHomebrewArtifact")(function* (target, model, artifactId) {
63
+ const artifact = yield* findRequiredArtifact(model, target.id, artifactId, `Homebrew target references missing artifact ${artifactId}.`);
64
+ return yield* requireSha256FileArtifact(artifact, {
21
65
  targetId: target.id,
22
66
  directoryReason: "Homebrew formula artifacts must be file-like, not directories.",
23
67
  checksumReason: "Homebrew formula rendering requires a sha256 artifact checksum."
24
68
  });
25
- const installLines = target.installPath === undefined
26
- ? [" prefix.install Dir[\"*\"]"]
27
- : [` bin.install ${rubyString(target.installPath)} => ${rubyString(target.formulaName)}`];
69
+ });
70
+ const homebrewArchBlock = (arch) => arch === "arm64" ? "on_arm" : "on_intel";
71
+ const homebrewArchOrder = (left, right) => {
72
+ const priority = (arch) => arch === "arm64" ? 0 : 1;
73
+ return priority(left.arch) - priority(right.arch);
74
+ };
75
+ const validateHomebrewVariantArtifacts = Effect.fn("validateHomebrewVariantArtifacts")(function* (target, artifacts) {
76
+ const seen = new Set();
77
+ const entries = [];
78
+ for (const entry of artifacts) {
79
+ const variant = entry.artifact.variant;
80
+ if (variant === undefined || variant.os !== "darwin") {
81
+ return yield* Effect.fail(PlanConstructionError.make({
82
+ targetId: target.id,
83
+ reason: `Homebrew artifact ${entry.artifact.id} must declare a darwin installable variant.`
84
+ }));
85
+ }
86
+ if (seen.has(variant.arch)) {
87
+ return yield* Effect.fail(PlanConstructionError.make({
88
+ targetId: target.id,
89
+ reason: `Homebrew target has multiple ${variant.arch} artifacts.`
90
+ }));
91
+ }
92
+ seen.add(variant.arch);
93
+ entries.push({
94
+ artifact: entry.artifact,
95
+ checksum: entry.checksum,
96
+ arch: variant.arch
97
+ });
98
+ }
99
+ return entries.sort(homebrewArchOrder);
100
+ });
101
+ const renderFormulaForArtifact = (target, model, entry) => {
28
102
  const homepage = target.homepage ?? `https://github.com/${target.repository}`;
29
- const url = target.url ?? validated.artifact.path;
103
+ const description = target.description ?? `${model.identity.name} ${model.identity.version} release artifact`;
104
+ const url = artifactUrl(entry.artifact, target.url);
30
105
  return [
31
106
  `class ${formulaClassName(target.formulaName)} < Formula`,
32
- ` desc ${rubyString(`${model.identity.name} ${model.identity.version} release artifact`)}`,
107
+ ` desc ${rubyString(description)}`,
33
108
  ` homepage ${rubyString(homepage)}`,
34
109
  ` url ${rubyString(url)}`,
35
- ` sha256 ${rubyString(validated.checksum.value)}`,
110
+ ` sha256 ${rubyString(entry.checksum.value)}`,
36
111
  ` version ${rubyString(model.identity.version)}`,
37
112
  "",
38
113
  " def install",
39
- ...installLines,
114
+ ...singleArtifactInstallLines(target, entry.artifact),
40
115
  " end",
116
+ ...formulaTestLines(singleArtifactBinaryName(target, entry.artifact)),
117
+ "end",
118
+ ""
119
+ ].join("\n");
120
+ };
121
+ const renderFormulaForVariants = (target, model, entries) => {
122
+ const homepage = target.homepage ?? `https://github.com/${target.repository}`;
123
+ const description = target.description ?? `${model.identity.name} ${model.identity.version} release artifact`;
124
+ const variantLines = entries.flatMap((entry) => [
125
+ ` ${homebrewArchBlock(entry.arch)} do`,
126
+ ` url ${rubyString(artifactUrl(entry.artifact, undefined))}`,
127
+ ` sha256 ${rubyString(entry.checksum.value)}`,
128
+ " end",
129
+ ""
130
+ ]);
131
+ return [
132
+ `class ${formulaClassName(target.formulaName)} < Formula`,
133
+ ` desc ${rubyString(description)}`,
134
+ ` homepage ${rubyString(homepage)}`,
135
+ ` version ${rubyString(model.identity.version)}`,
136
+ "",
137
+ " on_macos do",
138
+ ...variantLines,
139
+ " end",
140
+ "",
141
+ " def install",
142
+ ...multiArtifactInstallLines(target, entries),
143
+ " end",
144
+ ...formulaTestLines(multiArtifactBinaryName(target, entries)),
41
145
  "end",
42
146
  ""
43
147
  ].join("\n");
44
- });
45
- const dryRunOperation = (target) => {
46
- const dryRunSupport = target.dryRunSupport;
47
- return dryRunSupport === "native"
48
- ? ValidateCommandOperation.make({
49
- id: `${target.id}:brew-audit`,
50
- targetId: target.id,
51
- description: "Validate generated Homebrew formula with brew audit.",
52
- risk: "read-only",
53
- gate: noApprovalGate("brew audit validates the generated formula without publishing."),
54
- command: noAuthCommand("brew", ["audit", "--strict", "--formula", target.formulaPath])
55
- })
56
- : validationNoteOperation({
57
- id: `${target.id}:brew-audit`,
58
- targetId: target.id,
59
- dryRunSupport,
60
- simulatedDescription: "Record simulated Homebrew formula validation.",
61
- skippedDescription: "Record skipped Homebrew formula validation.",
62
- simulatedMessage: "Homebrew formula validation is simulated by the deterministic release plan.",
63
- skippedMessage: "Homebrew formula validation was skipped because this target declares no dry-run support."
64
- });
65
148
  };
149
+ const renderFormula = (target, model) => Effect.gen(function* () {
150
+ const artifactIds = target.artifactIds ?? [target.artifactId];
151
+ const artifacts = yield* Effect.forEach(artifactIds, (artifactId) => requireHomebrewArtifact(target, model, artifactId));
152
+ if (target.artifactIds === undefined) {
153
+ const artifact = artifacts[0];
154
+ if (artifact !== undefined) {
155
+ return renderFormulaForArtifact(target, model, artifact);
156
+ }
157
+ }
158
+ const variants = yield* validateHomebrewVariantArtifacts(target, artifacts);
159
+ return renderFormulaForVariants(target, model, variants);
160
+ });
161
+ const dryRunOperation = (target) => dryRunValidationOperation({
162
+ id: `${target.id}:brew-audit`,
163
+ targetId: target.id,
164
+ dryRunSupport: target.dryRunSupport,
165
+ nativeDescription: "Validate generated Homebrew formula with brew audit.",
166
+ command: noAuthCommand("brew", ["audit", "--strict", "--formula", target.formulaPath]),
167
+ simulatedDescription: "Record simulated Homebrew formula validation.",
168
+ skippedDescription: "Record skipped Homebrew formula validation.",
169
+ simulatedMessage: "Homebrew formula validation is simulated by the deterministic release plan.",
170
+ skippedMessage: "Homebrew formula validation was skipped because this target declares no dry-run support."
171
+ });
66
172
  export const planHomebrewOperations = Effect.fn("planHomebrewOperations")(function* (target, model) {
67
173
  yield* rejectUnsupportedTokenEnv(target);
68
174
  yield* rejectNoDryRunInStrictMode(target, model, "Homebrew tap target declares no dry-run support in strict mode.");
@@ -73,29 +179,26 @@ export const planHomebrewOperations = Effect.fn("planHomebrewOperations")(functi
73
179
  targetId: target.id,
74
180
  description: `Render Homebrew formula ${catalogPathBaseName(target.formulaPath)}.`,
75
181
  risk: "writes-local",
76
- gate: executeGate("Rendering a Homebrew formula writes a local generated file."),
77
182
  path: target.formulaPath,
78
183
  contents: formula
79
184
  })
80
185
  ];
81
186
  if (target.dryRunSupport === "native") {
82
- operations.push(ValidateCommandOperation.make({
187
+ operations.push(readOnlyCommandValidationOperation({
83
188
  id: `${target.id}:brew-version`,
84
189
  targetId: target.id,
85
190
  description: "Check Homebrew CLI availability.",
86
- risk: "read-only",
87
- gate: noApprovalGate("CLI availability validation is read-only."),
88
191
  command: noAuthCommand("brew", ["--version"])
89
192
  }));
90
193
  }
91
- operations.push(dryRunOperation(target), catalogGitPushOperation({
194
+ operations.push(dryRunOperation(target), ...catalogGitPublishOperations({
92
195
  id: `${target.id}:homebrew-push`,
93
196
  targetId: target.id,
94
197
  description: `Push Homebrew tap update for ${model.identity.name}@${model.identity.version}.`,
95
198
  mutability: target.mutability,
96
199
  directory: target.tapDirectory,
97
- irreversibleReason: "Pushing a Homebrew tap update is configured as irreversible.",
98
- externallyVisibleReason: "Pushing a Homebrew tap update is externally visible."
200
+ filePath: target.formulaPath,
201
+ commitMessage: `Update ${target.formulaName} to ${model.identity.version}`
99
202
  }));
100
203
  return operations;
101
204
  });
@@ -1 +1 @@
1
- {"version":3,"file":"homebrew.js","sourceRoot":"","sources":["../../src/targets/homebrew.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"homebrew.js","sourceRoot":"","sources":["../../src/targets/homebrew.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/targets/live.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAOrC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAG9C,mBAAmB,6BAA6B,CAAA;AAmChD,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAG9D,CAAA"}
1
+ {"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../src/targets/live.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAcrC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAG9C,mBAAmB,6BAA6B,CAAA;AAuDhD,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAG9D,CAAA"}
@@ -6,34 +6,43 @@ import { NpmAdapter } from "./npm.js";
6
6
  import { PyPiAdapter } from "./pypi.js";
7
7
  import { TargetRegistry } from "./registry.js";
8
8
  import { ScoopAdapter } from "./scoop.js";
9
- const planLiveTargetOperations = Effect.fn("planLiveTargetOperations")(function* (target, model) {
10
- switch (target._tag) {
11
- case "NpmRegistryTarget":
12
- return yield* NpmAdapter.planOperations(target, model);
13
- case "GitHubReleaseTarget":
14
- return yield* GitHubAdapter.planOperations(target, model);
15
- case "HomebrewTapTarget":
16
- return yield* HomebrewAdapter.planOperations(target, model);
17
- case "PyPiRegistryTarget":
18
- return yield* PyPiAdapter.planOperations(target, model);
19
- case "ScoopBucketTarget":
20
- return yield* ScoopAdapter.planOperations(target, model);
21
- }
22
- });
23
- const liveTargetCapabilities = (target) => {
9
+ const liveTargetAdapters = {
10
+ NpmRegistryTarget: NpmAdapter,
11
+ GitHubReleaseTarget: GitHubAdapter,
12
+ HomebrewTapTarget: HomebrewAdapter,
13
+ PyPiRegistryTarget: PyPiAdapter,
14
+ ScoopBucketTarget: ScoopAdapter
15
+ };
16
+ const withLiveTargetAdapter = (target, handlers) => {
24
17
  switch (target._tag) {
25
18
  case "NpmRegistryTarget":
26
- return NpmAdapter.capabilities(target);
19
+ return handlers.NpmRegistryTarget(liveTargetAdapters.NpmRegistryTarget, target);
27
20
  case "GitHubReleaseTarget":
28
- return GitHubAdapter.capabilities(target);
21
+ return handlers.GitHubReleaseTarget(liveTargetAdapters.GitHubReleaseTarget, target);
29
22
  case "HomebrewTapTarget":
30
- return HomebrewAdapter.capabilities(target);
23
+ return handlers.HomebrewTapTarget(liveTargetAdapters.HomebrewTapTarget, target);
31
24
  case "PyPiRegistryTarget":
32
- return PyPiAdapter.capabilities(target);
25
+ return handlers.PyPiRegistryTarget(liveTargetAdapters.PyPiRegistryTarget, target);
33
26
  case "ScoopBucketTarget":
34
- return ScoopAdapter.capabilities(target);
27
+ return handlers.ScoopBucketTarget(liveTargetAdapters.ScoopBucketTarget, target);
35
28
  }
36
29
  };
30
+ const planLiveTargetOperations = Effect.fn("planLiveTargetOperations")(function* (target, model) {
31
+ return yield* withLiveTargetAdapter(target, {
32
+ NpmRegistryTarget: (adapter, target) => adapter.planOperations(target, model),
33
+ GitHubReleaseTarget: (adapter, target) => adapter.planOperations(target, model),
34
+ HomebrewTapTarget: (adapter, target) => adapter.planOperations(target, model),
35
+ PyPiRegistryTarget: (adapter, target) => adapter.planOperations(target, model),
36
+ ScoopBucketTarget: (adapter, target) => adapter.planOperations(target, model)
37
+ });
38
+ });
39
+ const liveTargetCapabilities = (target) => withLiveTargetAdapter(target, {
40
+ NpmRegistryTarget: (adapter, target) => adapter.capabilities(target),
41
+ GitHubReleaseTarget: (adapter, target) => adapter.capabilities(target),
42
+ HomebrewTapTarget: (adapter, target) => adapter.capabilities(target),
43
+ PyPiRegistryTarget: (adapter, target) => adapter.capabilities(target),
44
+ ScoopBucketTarget: (adapter, target) => adapter.capabilities(target)
45
+ });
37
46
  export const LiveTargetRegistryLayer = Layer.succeed(TargetRegistry)({
38
47
  targetCapabilities: liveTargetCapabilities,
39
48
  planTargetOperations: planLiveTargetOperations
@@ -1 +1 @@
1
- {"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/targets/live.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAIzC,MAAM,wBAAwB,GAAG,MAAM,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,EAC9E,MAAoB,EACpB,KAAmB;IAEnB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,mBAAmB;YACtB,OAAO,KAAK,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACxD,KAAK,qBAAqB;YACxB,OAAO,KAAK,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC3D,KAAK,mBAAmB;YACtB,OAAO,KAAK,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC7D,KAAK,oBAAoB;YACvB,OAAO,KAAK,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACzD,KAAK,mBAAmB;YACtB,OAAO,KAAK,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,sBAAsB,GAAG,CAAC,MAAoB,EAAE,EAAE;IACtD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,mBAAmB;YACtB,OAAO,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QACxC,KAAK,qBAAqB;YACxB,OAAO,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAC3C,KAAK,mBAAmB;YACtB,OAAO,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAC7C,KAAK,oBAAoB;YACvB,OAAO,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QACzC,KAAK,mBAAmB;YACtB,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAgC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAChG,kBAAkB,EAAE,sBAAsB;IAC1C,oBAAoB,EAAE,wBAAwB;CAC/C,CAAC,CAAA"}
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/targets/live.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import * as Effect from "effect/Effect";
2
- import { PublishCommandOperation, ValidateCommandOperation, VerifyRemoteOperation } from "../domain/operation.js";
2
+ import { PublishCommandOperation, VerifyRemoteOperation } from "../domain/operation.js";
3
3
  import { ReleaseModel } from "../domain/release.js";
4
4
  import { NpmRegistryTarget, TargetCapabilities } from "../domain/target.js";
5
5
  import { NpmTargetAdapter } from "./adapter.js";
6
6
  export type * from "../types/effect-internal.js";
7
7
  export declare const npmTargetCapabilities: (target: NpmRegistryTarget) => TargetCapabilities;
8
- export declare const planNpmOperations: (target: NpmRegistryTarget, model: ReleaseModel) => Effect.Effect<(import("../domain/operation.js").RenderFileOperation | ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | PublishCommandOperation | VerifyRemoteOperation | import("../domain/operation.js").VerifyHttpOperation)[], import("../planner/errors.js").PlanConstructionError, never>;
8
+ export declare const planNpmOperations: (target: NpmRegistryTarget, model: ReleaseModel) => Effect.Effect<(import("../domain/operation.js").RenderFileOperation | import("../domain/operation.js").ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | PublishCommandOperation | VerifyRemoteOperation | import("../domain/operation.js").VerifyHttpOperation)[], import("../planner/errors.js").PlanConstructionError, never>;
9
9
  export declare const NpmAdapter: NpmTargetAdapter;
10
10
  //# sourceMappingURL=npm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/targets/npm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAKL,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EAEnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAQ/C,mBAAmB,6BAA6B,CAAA;AA4ChD,eAAO,MAAM,qBAAqB,GAAI,QAAQ,iBAAiB,KAAG,kBAejE,CAAA;AAmED,eAAO,MAAM,iBAAiB,yXAyC5B,CAAA;AAEF,eAAO,MAAM,UAAU,EAAE,gBAIxB,CAAA"}
1
+ {"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../src/targets/npm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAGL,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EACL,iBAAiB,EAEjB,kBAAkB,EAEnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAU/C,mBAAmB,6BAA6B,CAAA;AAwChD,eAAO,MAAM,qBAAqB,GAAI,QAAQ,iBAAiB,KAAG,kBAOjE,CAAA;AAsDD,eAAO,MAAM,iBAAiB,0ZAoC5B,CAAA;AAEF,eAAO,MAAM,UAAU,EAAE,gBAIxB,CAAA"}
@@ -1,21 +1,23 @@
1
1
  import * as Effect from "effect/Effect";
2
- import { CommandSpec, irreversibleGate, noApprovalGate, PublishCommandOperation, ValidateCommandOperation, VerifyRemoteOperation } from "../domain/operation.js";
3
- import { TargetAuthSetup, TargetCapabilities, TargetRequiredPermission } from "../domain/target.js";
4
- import { rejectNoDryRunInStrictMode, targetCapabilitiesFor, validationNoteOperation, validationStrategyForDryRun } from "./adapter-helpers.js";
2
+ import { CommandSpec, PublishCommandOperation, VerifyRemoteOperation } from "../domain/operation.js";
3
+ import { TargetAuthSetup, TargetRequiredPermission } from "../domain/target.js";
4
+ import { dryRunValidationOperation, readOnlyCommandValidationOperation, rejectNoDryRunInStrictMode, targetCapabilitiesFor, validationNoteOperation, validationStrategyForDryRun } from "./adapter-helpers.js";
5
5
  const isTrustedPublishing = (target) => target.trustedPublishing !== undefined;
6
- const envNames = (target) => isTrustedPublishing(target) || target.tokenEnv === undefined ? [] : [target.tokenEnv];
7
- const trustedPublishingRequiredEnvNames = [
6
+ const trustedPublishingAuthEnvNames = [
8
7
  "ACTIONS_ID_TOKEN_REQUEST_URL",
9
8
  "ACTIONS_ID_TOKEN_REQUEST_TOKEN"
10
9
  ];
11
- const requiredAuthEnvNames = (target) => isTrustedPublishing(target) ? trustedPublishingRequiredEnvNames : envNames(target);
12
- const redactedAuthEnvNames = (target) => isTrustedPublishing(target) ? trustedPublishingRequiredEnvNames : envNames(target);
13
- const npmCommand = (target, args, cwd, includeAuth) => CommandSpec.make({
10
+ const authEnvNames = (target) => {
11
+ if (isTrustedPublishing(target)) {
12
+ return trustedPublishingAuthEnvNames;
13
+ }
14
+ return target.tokenEnv === undefined ? [] : [target.tokenEnv];
15
+ };
16
+ const npmCommand = (target, args, includeAuth) => CommandSpec.make({
14
17
  executable: "npm",
15
18
  args: [...args],
16
- ...(cwd === undefined ? {} : { cwd }),
17
- requiredEnv: includeAuth ? requiredAuthEnvNames(target) : [],
18
- redactedEnv: includeAuth ? redactedAuthEnvNames(target) : []
19
+ requiredEnv: includeAuth ? authEnvNames(target) : [],
20
+ redactedEnv: includeAuth ? authEnvNames(target) : []
19
21
  });
20
22
  const trustedPublishingAuthSetup = (workflow) => TargetAuthSetup.make({
21
23
  runsIn: "ci",
@@ -28,41 +30,19 @@ const trustedPublishingAuthSetup = (workflow) => TargetAuthSetup.make({
28
30
  });
29
31
  export const npmTargetCapabilities = (target) => {
30
32
  const trustedPublishing = target.trustedPublishing;
31
- if (trustedPublishing === undefined) {
32
- return targetCapabilitiesFor(target, validationStrategyForDryRun(target.dryRunSupport));
33
- }
34
- return TargetCapabilities.make({
35
- targetId: target.id,
36
- targetTag: target._tag,
37
- authRequirement: "trusted-publishing",
38
- dryRunSupport: target.dryRunSupport,
39
- mutability: target.mutability,
40
- recovery: target.recovery,
41
- validationStrategy: validationStrategyForDryRun(target.dryRunSupport),
42
- authSetup: trustedPublishingAuthSetup(trustedPublishing.workflow)
43
- });
44
- };
45
- const npmDryRunOperation = (target) => {
46
- const dryRunSupport = target.dryRunSupport;
47
- return dryRunSupport === "native"
48
- ? ValidateCommandOperation.make({
49
- id: `${target.id}:npm-pack-dry-run`,
50
- targetId: target.id,
51
- description: "Validate npm package contents with npm pack dry-run.",
52
- risk: "read-only",
53
- gate: noApprovalGate("npm pack --dry-run validates package contents without publishing."),
54
- command: npmCommand(target, ["pack", "--dry-run", "--json", target.packagePath], undefined, false)
55
- })
56
- : validationNoteOperation({
57
- id: `${target.id}:npm-pack-dry-run`,
58
- targetId: target.id,
59
- dryRunSupport,
60
- simulatedDescription: "Record simulated npm dry-run validation.",
61
- skippedDescription: "Record skipped npm dry-run validation.",
62
- simulatedMessage: "npm dry-run validation is marked as simulated by target configuration; no npm pack --dry-run command was planned.",
63
- skippedMessage: "npm dry-run validation was skipped because this target declares no dry-run support."
64
- });
33
+ return targetCapabilitiesFor(target, validationStrategyForDryRun(target.dryRunSupport), trustedPublishing === undefined ? undefined : trustedPublishingAuthSetup(trustedPublishing.workflow));
65
34
  };
35
+ const npmDryRunOperation = (target) => dryRunValidationOperation({
36
+ id: `${target.id}:npm-pack-dry-run`,
37
+ targetId: target.id,
38
+ dryRunSupport: target.dryRunSupport,
39
+ nativeDescription: "Validate npm package contents with npm pack dry-run.",
40
+ command: npmCommand(target, ["pack", "--dry-run", "--json", target.packagePath], false),
41
+ simulatedDescription: "Record simulated npm dry-run validation.",
42
+ skippedDescription: "Record skipped npm dry-run validation.",
43
+ simulatedMessage: "npm dry-run validation is marked as simulated by target configuration; no npm pack --dry-run command was planned.",
44
+ skippedMessage: "npm dry-run validation was skipped because this target declares no dry-run support."
45
+ });
66
46
  const npmAuthOperation = (target) => target.trustedPublishing !== undefined
67
47
  ? validationNoteOperation({
68
48
  id: `${target.id}:npm-trusted-publishing-auth`,
@@ -73,21 +53,17 @@ const npmAuthOperation = (target) => target.trustedPublishing !== undefined
73
53
  simulatedMessage: `NPM trusted publishing authenticates during npm publish with CI OIDC; npm whoami does not validate this mode. This target expects provider ${target.trustedPublishing.provider}, workflow ${target.trustedPublishing.workflow}, GitHub Actions permission id-token: write, and package ${target.packageName} to already exist on the registry.`,
74
54
  skippedMessage: "NPM trusted publishing authentication validation was skipped."
75
55
  })
76
- : ValidateCommandOperation.make({
56
+ : readOnlyCommandValidationOperation({
77
57
  id: `${target.id}:npm-whoami`,
78
58
  targetId: target.id,
79
59
  description: "Validate npm CLI authentication.",
80
- risk: "read-only",
81
- gate: noApprovalGate("npm whoami checks CLI authentication without publishing."),
82
- command: npmCommand(target, ["whoami", "--registry", target.registry], undefined, true)
60
+ command: npmCommand(target, ["whoami", "--registry", target.registry], true)
83
61
  });
84
- const npmPackageExistsOperation = (target) => ValidateCommandOperation.make({
62
+ const npmPackageExistsOperation = (target) => readOnlyCommandValidationOperation({
85
63
  id: `${target.id}:npm-package-exists`,
86
64
  targetId: target.id,
87
65
  description: "Verify npm package exists before trusted publishing.",
88
- risk: "read-only",
89
- gate: noApprovalGate("npm view checks package metadata without publishing."),
90
- command: npmCommand(target, ["view", target.packageName, "name", "--registry", target.registry], undefined, false)
66
+ command: npmCommand(target, ["view", target.packageName, "name", "--registry", target.registry], false)
91
67
  });
92
68
  const npmPublishArgs = (target) => {
93
69
  const args = ["publish", target.packagePath, "--registry", target.registry];
@@ -102,13 +78,11 @@ const npmPublishArgs = (target) => {
102
78
  export const planNpmOperations = Effect.fn("planNpmOperations")(function* (target, model) {
103
79
  yield* rejectNoDryRunInStrictMode(target, model, "npm target declares no dry-run support in strict mode.");
104
80
  const operations = [
105
- ValidateCommandOperation.make({
81
+ readOnlyCommandValidationOperation({
106
82
  id: `${target.id}:npm-version`,
107
83
  targetId: target.id,
108
84
  description: "Check npm CLI availability.",
109
- risk: "read-only",
110
- gate: noApprovalGate("CLI availability validation is read-only."),
111
- command: npmCommand(target, ["--version"], undefined, false)
85
+ command: npmCommand(target, ["--version"], false)
112
86
  }),
113
87
  npmAuthOperation(target),
114
88
  ...(target.trustedPublishing?.verifyPackageExists === true ? [npmPackageExistsOperation(target)] : []),
@@ -118,16 +92,14 @@ export const planNpmOperations = Effect.fn("planNpmOperations")(function* (targe
118
92
  targetId: target.id,
119
93
  description: `Publish ${target.packageName}@${model.identity.version} to npm.`,
120
94
  risk: "irreversible",
121
- gate: irreversibleGate("npm package versions are immutable once published."),
122
- command: npmCommand(target, npmPublishArgs(target), undefined, true)
95
+ command: npmCommand(target, npmPublishArgs(target), true)
123
96
  }),
124
97
  VerifyRemoteOperation.make({
125
98
  id: `${target.id}:npm-version-verify`,
126
99
  targetId: target.id,
127
100
  description: `Verify ${target.packageName}@${model.identity.version} exists on npm.`,
128
101
  risk: "read-only",
129
- gate: noApprovalGate("npm view verifies published package metadata without publishing."),
130
- command: npmCommand(target, ["view", `${target.packageName}@${model.identity.version}`, "version", "--registry", target.registry], undefined, false)
102
+ command: npmCommand(target, ["view", `${target.packageName}@${model.identity.version}`, "version", "--registry", target.registry], false)
131
103
  })
132
104
  ];
133
105
  return operations;
@@ -1 +1 @@
1
- {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/targets/npm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/targets/npm.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import * as Effect from "effect/Effect";
2
- import { PublishCommandOperation, ValidateCommandOperation } from "../domain/operation.js";
2
+ import { PublishCommandOperation } from "../domain/operation.js";
3
3
  import { ReleaseModel } from "../domain/release.js";
4
4
  import { PyPiRegistryTarget, TargetCapabilities } from "../domain/target.js";
5
5
  import { PlanConstructionError } from "../planner/errors.js";
6
6
  import { PyPiTargetAdapter } from "./adapter.js";
7
7
  export type * from "../types/effect-internal.js";
8
8
  export declare const pypiTargetCapabilities: (target: PyPiRegistryTarget) => TargetCapabilities;
9
- export declare const planPyPiOperations: (target: PyPiRegistryTarget, model: ReleaseModel) => Effect.Effect<(import("../domain/operation.js").RenderFileOperation | ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | PublishCommandOperation | import("../domain/operation.js").VerifyRemoteOperation | import("../domain/operation.js").VerifyHttpOperation)[], PlanConstructionError, never>;
9
+ export declare const planPyPiOperations: (target: PyPiRegistryTarget, model: ReleaseModel) => Effect.Effect<(import("../domain/operation.js").RenderFileOperation | import("../domain/operation.js").ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | PublishCommandOperation | import("../domain/operation.js").VerifyRemoteOperation | import("../domain/operation.js").VerifyHttpOperation)[], PlanConstructionError, never>;
10
10
  export declare const PyPiAdapter: PyPiTargetAdapter;
11
11
  //# sourceMappingURL=pypi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pypi.d.ts","sourceRoot":"","sources":["../../src/targets/pypi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAKL,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAQhD,mBAAmB,6BAA6B,CAAA;AA2BhD,eAAO,MAAM,sBAAsB,GAAI,QAAQ,kBAAkB,KAAG,kBACc,CAAA;AAiElF,eAAO,MAAM,kBAAkB,4XAsD7B,CAAA;AAEF,eAAO,MAAM,WAAW,EAAE,iBAIzB,CAAA"}
1
+ {"version":3,"file":"pypi.d.ts","sourceRoot":"","sources":["../../src/targets/pypi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAGL,uBAAuB,EACxB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EACL,kBAAkB,EAElB,kBAAkB,EAEnB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAWhD,mBAAmB,6BAA6B,CAAA;AAyChD,eAAO,MAAM,sBAAsB,GAAI,QAAQ,kBAAkB,KAAG,kBAOjE,CAAA;AAiFH,eAAO,MAAM,kBAAkB,6ZAkD7B,CAAA;AAEF,eAAO,MAAM,WAAW,EAAE,iBAIzB,CAAA"}