@mannyc1/ts-release 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/dist/domain/operation.d.ts.map +1 -1
- package/dist/domain/operation.js +7 -12
- package/dist/domain/operation.js.map +1 -1
- package/dist/domain/remote-state.d.ts +1 -11
- package/dist/domain/remote-state.d.ts.map +1 -1
- package/dist/domain/remote-state.js +1 -15
- package/dist/domain/remote-state.js.map +1 -1
- package/dist/host/platform.d.ts.map +1 -1
- package/dist/host/platform.js +4 -11
- package/dist/host/platform.js.map +1 -1
- package/dist/internal/workflow-phases.d.ts +3 -0
- package/dist/internal/workflow-phases.d.ts.map +1 -0
- package/dist/internal/workflow-phases.js +2 -0
- package/dist/internal/workflow-phases.js.map +1 -0
- package/dist/internal/workspace-path.d.ts +4 -5
- package/dist/internal/workspace-path.d.ts.map +1 -1
- package/dist/internal/workspace-path.js +3 -0
- package/dist/internal/workspace-path.js.map +1 -1
- package/dist/planner/artifact-inventory.d.ts.map +1 -1
- package/dist/planner/artifact-inventory.js +1 -2
- package/dist/planner/artifact-inventory.js.map +1 -1
- package/dist/planner/evidence-recorder.d.ts.map +1 -1
- package/dist/planner/evidence-recorder.js +22 -36
- package/dist/planner/evidence-recorder.js.map +1 -1
- package/dist/planner/executor.d.ts.map +1 -1
- package/dist/planner/executor.js +2 -13
- package/dist/planner/executor.js.map +1 -1
- package/dist/planner/reconcile.d.ts.map +1 -1
- package/dist/planner/reconcile.js +0 -2
- package/dist/planner/reconcile.js.map +1 -1
- package/dist/planner/status.d.ts +8 -8
- package/dist/planner/status.d.ts.map +1 -1
- package/dist/planner/status.js +57 -86
- package/dist/planner/status.js.map +1 -1
- package/dist/targets/adapter-helpers.d.ts +18 -3
- package/dist/targets/adapter-helpers.d.ts.map +1 -1
- package/dist/targets/adapter-helpers.js +29 -3
- package/dist/targets/adapter-helpers.js.map +1 -1
- package/dist/targets/github.d.ts +2 -2
- package/dist/targets/github.d.ts.map +1 -1
- package/dist/targets/github.js +6 -8
- package/dist/targets/github.js.map +1 -1
- package/dist/targets/homebrew.d.ts +2 -2
- package/dist/targets/homebrew.d.ts.map +1 -1
- package/dist/targets/homebrew.js +16 -26
- package/dist/targets/homebrew.js.map +1 -1
- package/dist/targets/live.d.ts.map +1 -1
- package/dist/targets/live.js +29 -20
- package/dist/targets/live.js.map +1 -1
- package/dist/targets/npm.d.ts +2 -2
- package/dist/targets/npm.d.ts.map +1 -1
- package/dist/targets/npm.js +37 -59
- package/dist/targets/npm.js.map +1 -1
- package/dist/targets/pypi.d.ts +2 -2
- package/dist/targets/pypi.d.ts.map +1 -1
- package/dist/targets/pypi.js +25 -37
- package/dist/targets/pypi.js.map +1 -1
- package/dist/workflows/config.d.ts +0 -2
- package/dist/workflows/config.d.ts.map +1 -1
- package/dist/workflows/config.js +2 -6
- package/dist/workflows/config.js.map +1 -1
- package/dist/workflows/diagnostics.d.ts +2 -2
- package/dist/workflows/diagnostics.d.ts.map +1 -1
- package/dist/workflows/diagnostics.js +8 -17
- package/dist/workflows/diagnostics.js.map +1 -1
- package/dist/workflows/evidence.d.ts.map +1 -1
- package/dist/workflows/evidence.js +11 -21
- package/dist/workflows/evidence.js.map +1 -1
- package/dist/workflows/init.d.ts.map +1 -1
- package/dist/workflows/init.js +3 -13
- package/dist/workflows/init.js.map +1 -1
- package/package.json +1 -1
|
@@ -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, executeGate, irreversibleGate, noApprovalGate } 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({
|
|
@@ -42,14 +42,23 @@ export const validationStrategyForDryRun = (dryRunSupport) => {
|
|
|
42
42
|
}
|
|
43
43
|
return "skipped";
|
|
44
44
|
};
|
|
45
|
-
export const targetCapabilitiesFor = (target, validationStrategy) => TargetCapabilities.make({
|
|
45
|
+
export const targetCapabilitiesFor = (target, validationStrategy, authSetup) => TargetCapabilities.make({
|
|
46
46
|
targetId: target.id,
|
|
47
47
|
targetTag: target._tag,
|
|
48
48
|
authRequirement: targetAuthRequirement(target),
|
|
49
49
|
dryRunSupport: target.dryRunSupport,
|
|
50
50
|
mutability: target.mutability,
|
|
51
51
|
recovery: target.recovery,
|
|
52
|
-
validationStrategy
|
|
52
|
+
validationStrategy,
|
|
53
|
+
...(authSetup === undefined ? {} : { authSetup })
|
|
54
|
+
});
|
|
55
|
+
export const readOnlyCommandValidationOperation = (options) => ValidateCommandOperation.make({
|
|
56
|
+
id: options.id,
|
|
57
|
+
targetId: options.targetId,
|
|
58
|
+
description: options.description,
|
|
59
|
+
risk: "read-only",
|
|
60
|
+
gate: noApprovalGate(options.gateReason),
|
|
61
|
+
command: options.command
|
|
53
62
|
});
|
|
54
63
|
export const validationNoteOperation = (options) => ValidationNoteOperation.make({
|
|
55
64
|
id: options.id,
|
|
@@ -61,6 +70,23 @@ export const validationNoteOperation = (options) => ValidationNoteOperation.make
|
|
|
61
70
|
skipped: options.dryRunSupport === "none",
|
|
62
71
|
severity: options.dryRunSupport === "simulated" ? "info" : "warning"
|
|
63
72
|
});
|
|
73
|
+
export const dryRunValidationOperation = (options) => options.dryRunSupport === "native"
|
|
74
|
+
? readOnlyCommandValidationOperation({
|
|
75
|
+
id: options.id,
|
|
76
|
+
targetId: options.targetId,
|
|
77
|
+
description: options.nativeDescription,
|
|
78
|
+
gateReason: options.nativeGateReason,
|
|
79
|
+
command: options.command
|
|
80
|
+
})
|
|
81
|
+
: validationNoteOperation({
|
|
82
|
+
id: options.id,
|
|
83
|
+
targetId: options.targetId,
|
|
84
|
+
dryRunSupport: options.dryRunSupport,
|
|
85
|
+
simulatedDescription: options.simulatedDescription,
|
|
86
|
+
skippedDescription: options.skippedDescription,
|
|
87
|
+
simulatedMessage: options.simulatedMessage,
|
|
88
|
+
skippedMessage: options.skippedMessage
|
|
89
|
+
});
|
|
64
90
|
export const rejectNoDryRunInStrictMode = Effect.fn("rejectNoDryRunInStrictMode")(function* (target, model, reason) {
|
|
65
91
|
if (model.strict && target.dryRunSupport === "none") {
|
|
66
92
|
return yield* Effect.fail(PlanConstructionError.make({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-helpers.js","sourceRoot":"","sources":["../../src/targets/adapter-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,uBAAuB,EACvB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACf,MAAM,wBAAwB,CAAA;AAE/B,OAAO,
|
|
1
|
+
{"version":3,"file":"adapter-helpers.js","sourceRoot":"","sources":["../../src/targets/adapter-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/targets/github.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
|
-
import { PublishCommandOperation,
|
|
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,
|
|
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,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;AA6FjE,eAAO,MAAM,oBAAoB,4VAkD/B,CAAA;AAEF,eAAO,MAAM,aAAa,EAAE,mBAI3B,CAAA"}
|
package/dist/targets/github.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
|
-
import { executeGate, HttpJsonArrayObjectFieldEqualsCheck, HttpJsonEqualsCheck, irreversibleGate, noApprovalGate, PublishCommandOperation,
|
|
2
|
+
import { executeGate, HttpJsonArrayObjectFieldEqualsCheck, HttpJsonEqualsCheck, irreversibleGate, noApprovalGate, 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));
|
|
@@ -91,20 +91,18 @@ export const planGitHubOperations = Effect.fn("planGitHubOperations")(function*
|
|
|
91
91
|
? irreversibleGate("Creating this GitHub release is externally visible and configured as immutable.")
|
|
92
92
|
: executeGate("Creating or updating a GitHub release is externally visible.");
|
|
93
93
|
return [
|
|
94
|
-
|
|
94
|
+
readOnlyCommandValidationOperation({
|
|
95
95
|
id: `${target.id}:gh-version`,
|
|
96
96
|
targetId: target.id,
|
|
97
97
|
description: "Check GitHub CLI availability.",
|
|
98
|
-
|
|
99
|
-
gate: noApprovalGate("CLI availability validation is read-only."),
|
|
98
|
+
gateReason: "CLI availability validation is read-only.",
|
|
100
99
|
command: githubGhCommand(target, ["--version"], false)
|
|
101
100
|
}),
|
|
102
|
-
|
|
101
|
+
readOnlyCommandValidationOperation({
|
|
103
102
|
id: `${target.id}:gh-auth-status`,
|
|
104
103
|
targetId: target.id,
|
|
105
104
|
description: "Validate GitHub CLI authentication.",
|
|
106
|
-
|
|
107
|
-
gate: noApprovalGate("gh auth status checks authentication without publishing."),
|
|
105
|
+
gateReason: "gh auth status checks authentication without publishing.",
|
|
108
106
|
command: githubGhCommand(target, ["auth", "status"], true)
|
|
109
107
|
}),
|
|
110
108
|
githubDryRunOperation(target, dryRunSupport),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/targets/github.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EACL,WAAW,EACX,mCAAmC,EACnC,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EAEd,uBAAuB,EACvB,
|
|
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
|
|
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,
|
|
1
|
+
{"version":3,"file":"homebrew.d.ts","sourceRoot":"","sources":["../../src/targets/homebrew.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAGL,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;AA6DlF,eAAO,MAAM,sBAAsB,4ZA8CjC,CAAA;AAEF,eAAO,MAAM,eAAe,EAAE,qBAI7B,CAAA"}
|
package/dist/targets/homebrew.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
|
-
import { executeGate,
|
|
3
|
-
import { catalogGitPushOperation, catalogPathBaseName, findRequiredArtifact, noAuthCommand, requireSha256FileArtifact, rejectNoDryRunInStrictMode, rejectUnsupportedCatalogTokenEnv, targetCapabilitiesFor,
|
|
2
|
+
import { executeGate, RenderFileOperation } from "../domain/operation.js";
|
|
3
|
+
import { catalogGitPushOperation, catalogPathBaseName, dryRunValidationOperation, findRequiredArtifact, noAuthCommand, readOnlyCommandValidationOperation, requireSha256FileArtifact, rejectNoDryRunInStrictMode, rejectUnsupportedCatalogTokenEnv, targetCapabilitiesFor, validationStrategyForDryRun } from "./adapter-helpers.js";
|
|
4
4
|
const rejectUnsupportedTokenEnv = Effect.fn("rejectUnsupportedHomebrewTokenEnv")(function* (target) {
|
|
5
5
|
return yield* rejectUnsupportedCatalogTokenEnv({
|
|
6
6
|
targetId: target.id,
|
|
@@ -42,27 +42,18 @@ const renderFormula = (target, model) => Effect.gen(function* () {
|
|
|
42
42
|
""
|
|
43
43
|
].join("\n");
|
|
44
44
|
});
|
|
45
|
-
const dryRunOperation = (target) => {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
};
|
|
45
|
+
const dryRunOperation = (target) => dryRunValidationOperation({
|
|
46
|
+
id: `${target.id}:brew-audit`,
|
|
47
|
+
targetId: target.id,
|
|
48
|
+
dryRunSupport: target.dryRunSupport,
|
|
49
|
+
nativeDescription: "Validate generated Homebrew formula with brew audit.",
|
|
50
|
+
nativeGateReason: "brew audit validates the generated formula without publishing.",
|
|
51
|
+
command: noAuthCommand("brew", ["audit", "--strict", "--formula", target.formulaPath]),
|
|
52
|
+
simulatedDescription: "Record simulated Homebrew formula validation.",
|
|
53
|
+
skippedDescription: "Record skipped Homebrew formula validation.",
|
|
54
|
+
simulatedMessage: "Homebrew formula validation is simulated by the deterministic release plan.",
|
|
55
|
+
skippedMessage: "Homebrew formula validation was skipped because this target declares no dry-run support."
|
|
56
|
+
});
|
|
66
57
|
export const planHomebrewOperations = Effect.fn("planHomebrewOperations")(function* (target, model) {
|
|
67
58
|
yield* rejectUnsupportedTokenEnv(target);
|
|
68
59
|
yield* rejectNoDryRunInStrictMode(target, model, "Homebrew tap target declares no dry-run support in strict mode.");
|
|
@@ -79,12 +70,11 @@ export const planHomebrewOperations = Effect.fn("planHomebrewOperations")(functi
|
|
|
79
70
|
})
|
|
80
71
|
];
|
|
81
72
|
if (target.dryRunSupport === "native") {
|
|
82
|
-
operations.push(
|
|
73
|
+
operations.push(readOnlyCommandValidationOperation({
|
|
83
74
|
id: `${target.id}:brew-version`,
|
|
84
75
|
targetId: target.id,
|
|
85
76
|
description: "Check Homebrew CLI availability.",
|
|
86
|
-
|
|
87
|
-
gate: noApprovalGate("CLI availability validation is read-only."),
|
|
77
|
+
gateReason: "CLI availability validation is read-only.",
|
|
88
78
|
command: noAuthCommand("brew", ["--version"])
|
|
89
79
|
}));
|
|
90
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"homebrew.js","sourceRoot":"","sources":["../../src/targets/homebrew.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EACL,WAAW,
|
|
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;
|
|
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"}
|
package/dist/targets/live.js
CHANGED
|
@@ -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
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
|
19
|
+
return handlers.NpmRegistryTarget(liveTargetAdapters.NpmRegistryTarget, target);
|
|
27
20
|
case "GitHubReleaseTarget":
|
|
28
|
-
return
|
|
21
|
+
return handlers.GitHubReleaseTarget(liveTargetAdapters.GitHubReleaseTarget, target);
|
|
29
22
|
case "HomebrewTapTarget":
|
|
30
|
-
return
|
|
23
|
+
return handlers.HomebrewTapTarget(liveTargetAdapters.HomebrewTapTarget, target);
|
|
31
24
|
case "PyPiRegistryTarget":
|
|
32
|
-
return
|
|
25
|
+
return handlers.PyPiRegistryTarget(liveTargetAdapters.PyPiRegistryTarget, target);
|
|
33
26
|
case "ScoopBucketTarget":
|
|
34
|
-
return
|
|
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
|
package/dist/targets/live.js.map
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/targets/live.ts"],"names":[],"mappings":"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"}
|
package/dist/targets/npm.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
|
-
import { PublishCommandOperation,
|
|
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,
|
|
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,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;AAyDD,eAAO,MAAM,iBAAiB,0ZAuC5B,CAAA;AAEF,eAAO,MAAM,UAAU,EAAE,gBAIxB,CAAA"}
|
package/dist/targets/npm.js
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
|
-
import { CommandSpec, irreversibleGate, noApprovalGate, PublishCommandOperation,
|
|
3
|
-
import { TargetAuthSetup,
|
|
4
|
-
import { rejectNoDryRunInStrictMode, targetCapabilitiesFor, validationNoteOperation, validationStrategyForDryRun } from "./adapter-helpers.js";
|
|
2
|
+
import { CommandSpec, irreversibleGate, noApprovalGate, 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
|
|
7
|
-
const trustedPublishingRequiredEnvNames = [
|
|
6
|
+
const trustedPublishingAuthEnvNames = [
|
|
8
7
|
"ACTIONS_ID_TOKEN_REQUEST_URL",
|
|
9
8
|
"ACTIONS_ID_TOKEN_REQUEST_TOKEN"
|
|
10
9
|
];
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
17
|
-
|
|
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,20 @@ const trustedPublishingAuthSetup = (workflow) => TargetAuthSetup.make({
|
|
|
28
30
|
});
|
|
29
31
|
export const npmTargetCapabilities = (target) => {
|
|
30
32
|
const trustedPublishing = target.trustedPublishing;
|
|
31
|
-
|
|
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
|
+
nativeGateReason: "npm pack --dry-run validates package contents without publishing.",
|
|
41
|
+
command: npmCommand(target, ["pack", "--dry-run", "--json", target.packagePath], false),
|
|
42
|
+
simulatedDescription: "Record simulated npm dry-run validation.",
|
|
43
|
+
skippedDescription: "Record skipped npm dry-run validation.",
|
|
44
|
+
simulatedMessage: "npm dry-run validation is marked as simulated by target configuration; no npm pack --dry-run command was planned.",
|
|
45
|
+
skippedMessage: "npm dry-run validation was skipped because this target declares no dry-run support."
|
|
46
|
+
});
|
|
66
47
|
const npmAuthOperation = (target) => target.trustedPublishing !== undefined
|
|
67
48
|
? validationNoteOperation({
|
|
68
49
|
id: `${target.id}:npm-trusted-publishing-auth`,
|
|
@@ -73,21 +54,19 @@ const npmAuthOperation = (target) => target.trustedPublishing !== undefined
|
|
|
73
54
|
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
55
|
skippedMessage: "NPM trusted publishing authentication validation was skipped."
|
|
75
56
|
})
|
|
76
|
-
:
|
|
57
|
+
: readOnlyCommandValidationOperation({
|
|
77
58
|
id: `${target.id}:npm-whoami`,
|
|
78
59
|
targetId: target.id,
|
|
79
60
|
description: "Validate npm CLI authentication.",
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
command: npmCommand(target, ["whoami", "--registry", target.registry], undefined, true)
|
|
61
|
+
gateReason: "npm whoami checks CLI authentication without publishing.",
|
|
62
|
+
command: npmCommand(target, ["whoami", "--registry", target.registry], true)
|
|
83
63
|
});
|
|
84
|
-
const npmPackageExistsOperation = (target) =>
|
|
64
|
+
const npmPackageExistsOperation = (target) => readOnlyCommandValidationOperation({
|
|
85
65
|
id: `${target.id}:npm-package-exists`,
|
|
86
66
|
targetId: target.id,
|
|
87
67
|
description: "Verify npm package exists before trusted publishing.",
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
command: npmCommand(target, ["view", target.packageName, "name", "--registry", target.registry], undefined, false)
|
|
68
|
+
gateReason: "npm view checks package metadata without publishing.",
|
|
69
|
+
command: npmCommand(target, ["view", target.packageName, "name", "--registry", target.registry], false)
|
|
91
70
|
});
|
|
92
71
|
const npmPublishArgs = (target) => {
|
|
93
72
|
const args = ["publish", target.packagePath, "--registry", target.registry];
|
|
@@ -102,13 +81,12 @@ const npmPublishArgs = (target) => {
|
|
|
102
81
|
export const planNpmOperations = Effect.fn("planNpmOperations")(function* (target, model) {
|
|
103
82
|
yield* rejectNoDryRunInStrictMode(target, model, "npm target declares no dry-run support in strict mode.");
|
|
104
83
|
const operations = [
|
|
105
|
-
|
|
84
|
+
readOnlyCommandValidationOperation({
|
|
106
85
|
id: `${target.id}:npm-version`,
|
|
107
86
|
targetId: target.id,
|
|
108
87
|
description: "Check npm CLI availability.",
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
command: npmCommand(target, ["--version"], undefined, false)
|
|
88
|
+
gateReason: "CLI availability validation is read-only.",
|
|
89
|
+
command: npmCommand(target, ["--version"], false)
|
|
112
90
|
}),
|
|
113
91
|
npmAuthOperation(target),
|
|
114
92
|
...(target.trustedPublishing?.verifyPackageExists === true ? [npmPackageExistsOperation(target)] : []),
|
|
@@ -119,7 +97,7 @@ export const planNpmOperations = Effect.fn("planNpmOperations")(function* (targe
|
|
|
119
97
|
description: `Publish ${target.packageName}@${model.identity.version} to npm.`,
|
|
120
98
|
risk: "irreversible",
|
|
121
99
|
gate: irreversibleGate("npm package versions are immutable once published."),
|
|
122
|
-
command: npmCommand(target, npmPublishArgs(target),
|
|
100
|
+
command: npmCommand(target, npmPublishArgs(target), true)
|
|
123
101
|
}),
|
|
124
102
|
VerifyRemoteOperation.make({
|
|
125
103
|
id: `${target.id}:npm-version-verify`,
|
|
@@ -127,7 +105,7 @@ export const planNpmOperations = Effect.fn("planNpmOperations")(function* (targe
|
|
|
127
105
|
description: `Verify ${target.packageName}@${model.identity.version} exists on npm.`,
|
|
128
106
|
risk: "read-only",
|
|
129
107
|
gate: noApprovalGate("npm view verifies published package metadata without publishing."),
|
|
130
|
-
command: npmCommand(target, ["view", `${target.packageName}@${model.identity.version}`, "version", "--registry", target.registry],
|
|
108
|
+
command: npmCommand(target, ["view", `${target.packageName}@${model.identity.version}`, "version", "--registry", target.registry], false)
|
|
131
109
|
})
|
|
132
110
|
];
|
|
133
111
|
return operations;
|
package/dist/targets/npm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/targets/npm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EAEd,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/targets/npm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EAEd,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EAEL,eAAe,EAEf,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EACL,yBAAyB,EACzB,kCAAkC,EAClC,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC5B,MAAM,sBAAsB,CAAA;AAI7B,MAAM,mBAAmB,GAAG,CAAC,MAAyB,EAAW,EAAE,CACjE,MAAM,CAAC,iBAAiB,KAAK,SAAS,CAAA;AAExC,MAAM,6BAA6B,GAAG;IACpC,8BAA8B;IAC9B,gCAAgC;CACjC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,MAAyB,EAAyB,EAAE;IACxE,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,OAAO,6BAA6B,CAAA;IACtC,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CACjB,MAAyB,EACzB,IAA2B,EAC3B,WAAoB,EACP,EAAE,CACf,WAAW,CAAC,IAAI,CAAC;IACf,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;IACpD,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;CACrD,CAAC,CAAA;AAEJ,MAAM,0BAA0B,GAAG,CAAC,QAAgB,EAAmB,EAAE,CACvE,eAAe,CAAC,IAAI,CAAC;IACnB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ;IACR,mBAAmB,EAAE;QACnB,wBAAwB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;KACpE;IACD,aAAa,EAAE,CAAC,oBAAoB,CAAC;CACtC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAyB,EAAsB,EAAE;IACrF,MAAM,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAA;IAClD,OAAO,qBAAqB,CAC1B,MAAM,EACN,2BAA2B,CAAC,MAAM,CAAC,aAAa,CAAC,EACjD,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CACrG,CAAA;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,MAAyB,EAAa,EAAE,CAClE,yBAAyB,CAAC;IACxB,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,mBAAmB;IACnC,QAAQ,EAAE,MAAM,CAAC,EAAE;IACnB,aAAa,EAAE,MAAM,CAAC,aAAa;IACnC,iBAAiB,EAAE,sDAAsD;IACzE,gBAAgB,EAAE,mEAAmE;IACrF,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IACvF,oBAAoB,EAAE,0CAA0C;IAChE,kBAAkB,EAAE,wCAAwC;IAC5D,gBAAgB,EACd,mHAAmH;IACrH,cAAc,EAAE,qFAAqF;CACtG,CAAC,CAAA;AAEJ,MAAM,gBAAgB,GAAG,CAAC,MAAyB,EAAa,EAAE,CAChE,MAAM,CAAC,iBAAiB,KAAK,SAAS;IACpC,CAAC,CAAC,uBAAuB,CAAC;QACxB,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,8BAA8B;QAC9C,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnB,aAAa,EAAE,WAAW;QAC1B,oBAAoB,EAAE,oDAAoD;QAC1E,kBAAkB,EAAE,4DAA4D;QAChF,gBAAgB,EACd,8IAA8I,MAAM,CAAC,iBAAiB,CAAC,QAAQ,cAAc,MAAM,CAAC,iBAAiB,CAAC,QAAQ,4DAA4D,MAAM,CAAC,WAAW,oCAAoC;QAClV,cAAc,EAAE,+DAA+D;KAChF,CAAC;IACF,CAAC,CAAC,kCAAkC,CAAC;QACnC,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,aAAa;QAC7B,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnB,WAAW,EAAE,kCAAkC;QAC/C,UAAU,EAAE,0DAA0D;QACtE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;KAC7E,CAAC,CAAA;AAEN,MAAM,yBAAyB,GAAG,CAAC,MAAyB,EAAa,EAAE,CACzE,kCAAkC,CAAC;IACjC,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,qBAAqB;IACrC,QAAQ,EAAE,MAAM,CAAC,EAAE;IACnB,WAAW,EAAE,sDAAsD;IACnE,UAAU,EAAE,sDAAsD;IAClE,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CACxG,CAAC,CAAA;AAEJ,MAAM,cAAc,GAAG,CAAC,MAAyB,EAAyB,EAAE;IAC1E,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC3E,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC3B,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EACvE,MAAyB,EACzB,KAAmB;IAEnB,KAAK,CAAC,CAAC,0BAA0B,CAAC,MAAM,EAAE,KAAK,EAAE,wDAAwD,CAAC,CAAA;IAC1G,MAAM,UAAU,GAAqB;QACnC,kCAAkC,CAAC;YACjC,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,cAAc;YAC9B,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,WAAW,EAAE,6BAA6B;YAC1C,UAAU,EAAE,2CAA2C;YACvD,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;SAClD,CAAC;QACF,gBAAgB,CAAC,MAAM,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,kBAAkB,CAAC,MAAM,CAAC;QAC1B,uBAAuB,CAAC,IAAI,CAAC;YAC3B,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,cAAc;YAC9B,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,WAAW,EAAE,WAAW,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,UAAU;YAC9E,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,gBAAgB,CAAC,oDAAoD,CAAC;YAC5E,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;SAC1D,CAAC;QACF,qBAAqB,CAAC,IAAI,CAAC;YACzB,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,qBAAqB;YACrC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,WAAW,EAAE,UAAU,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,iBAAiB;YACpF,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,cAAc,CAAC,kEAAkE,CAAC;YACxF,OAAO,EAAE,UAAU,CACjB,MAAM,EACN,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,EACrG,KAAK,CACN;SACF,CAAC;KACH,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAAqB;IAC1C,SAAS,EAAE,mBAAmB;IAC9B,YAAY,EAAE,qBAAqB;IACnC,cAAc,EAAE,iBAAiB;CAClC,CAAA"}
|
package/dist/targets/pypi.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
|
-
import { PublishCommandOperation
|
|
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,
|
|
1
|
+
{"version":3,"file":"pypi.d.ts","sourceRoot":"","sources":["../../src/targets/pypi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAIL,uBAAuB,EACxB,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;AAUhD,mBAAmB,6BAA6B,CAAA;AAmBhD,eAAO,MAAM,sBAAsB,GAAI,QAAQ,kBAAkB,KAAG,kBACc,CAAA;AAyDlF,eAAO,MAAM,kBAAkB,6ZAoD7B,CAAA;AAEF,eAAO,MAAM,WAAW,EAAE,iBAIzB,CAAA"}
|