@mannyc1/ts-release 0.0.0 → 0.0.2
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/ARCHITECTURE.md +53 -0
- package/README.md +243 -43
- package/SPEC.md +8 -1
- package/dist/cli/command.d.ts +1 -1
- package/dist/cli/command.d.ts.map +1 -1
- package/dist/cli/command.js +116 -33
- package/dist/cli/command.js.map +1 -1
- package/dist/cli/main.js +3 -6
- package/dist/cli/main.js.map +1 -1
- package/dist/domain/evidence.d.ts +49 -3
- package/dist/domain/evidence.d.ts.map +1 -1
- package/dist/domain/evidence.js +43 -2
- package/dist/domain/evidence.js.map +1 -1
- package/dist/domain/operation.d.ts +56 -2
- package/dist/domain/operation.d.ts.map +1 -1
- package/dist/domain/operation.js +78 -2
- package/dist/domain/operation.js.map +1 -1
- package/dist/domain/release.d.ts +4 -4
- package/dist/domain/remote-state.d.ts +90 -0
- package/dist/domain/remote-state.d.ts.map +1 -0
- package/dist/domain/remote-state.js +85 -0
- package/dist/domain/remote-state.js.map +1 -0
- package/dist/domain/status.d.ts +43 -0
- package/dist/domain/status.d.ts.map +1 -0
- package/dist/domain/status.js +50 -0
- package/dist/domain/status.js.map +1 -0
- package/dist/domain/target.d.ts +63 -3
- package/dist/domain/target.d.ts.map +1 -1
- package/dist/domain/target.js +75 -5
- package/dist/domain/target.js.map +1 -1
- package/dist/host/host.d.ts +7 -23
- package/dist/host/host.d.ts.map +1 -1
- package/dist/host/host.js +3 -22
- package/dist/host/host.js.map +1 -1
- package/dist/host/http-live.d.ts +6 -0
- package/dist/host/http-live.d.ts.map +1 -0
- package/dist/host/http-live.js +82 -0
- package/dist/host/http-live.js.map +1 -0
- package/dist/host/http.d.ts +40 -0
- package/dist/host/http.d.ts.map +1 -0
- package/dist/host/http.js +56 -0
- package/dist/host/http.js.map +1 -0
- package/dist/host/platform.d.ts +10 -0
- package/dist/host/platform.d.ts.map +1 -0
- package/dist/host/platform.js +121 -0
- package/dist/host/platform.js.map +1 -0
- package/dist/host/test.d.ts +6 -3
- package/dist/host/test.d.ts.map +1 -1
- package/dist/host/test.js +111 -25
- package/dist/host/test.js.map +1 -1
- package/dist/planner/artifact-inventory.d.ts +9 -0
- package/dist/planner/artifact-inventory.d.ts.map +1 -0
- package/dist/planner/artifact-inventory.js +66 -0
- package/dist/planner/artifact-inventory.js.map +1 -0
- package/dist/planner/create-release-plan.d.ts +1 -1
- package/dist/planner/create-release-plan.d.ts.map +1 -1
- package/dist/planner/errors.d.ts +41 -3
- package/dist/planner/errors.d.ts.map +1 -1
- package/dist/planner/errors.js +35 -3
- package/dist/planner/errors.js.map +1 -1
- package/dist/planner/evidence-recorder.d.ts +16 -8
- package/dist/planner/evidence-recorder.d.ts.map +1 -1
- package/dist/planner/evidence-recorder.js +244 -17
- package/dist/planner/evidence-recorder.js.map +1 -1
- package/dist/planner/executor.d.ts +54 -15
- package/dist/planner/executor.d.ts.map +1 -1
- package/dist/planner/executor.js +117 -38
- package/dist/planner/executor.js.map +1 -1
- package/dist/planner/normalize-release.d.ts +2 -2
- package/dist/planner/normalize-release.d.ts.map +1 -1
- package/dist/planner/normalize-release.js +80 -42
- package/dist/planner/normalize-release.js.map +1 -1
- package/dist/planner/reconcile.d.ts +17 -0
- package/dist/planner/reconcile.d.ts.map +1 -0
- package/dist/planner/reconcile.js +280 -0
- package/dist/planner/reconcile.js.map +1 -0
- package/dist/planner/release-eligibility.d.ts +33 -0
- package/dist/planner/release-eligibility.d.ts.map +1 -0
- package/dist/planner/release-eligibility.js +172 -0
- package/dist/planner/release-eligibility.js.map +1 -0
- package/dist/planner/render-plan.d.ts.map +1 -1
- package/dist/planner/render-plan.js +30 -0
- package/dist/planner/render-plan.js.map +1 -1
- package/dist/planner/status.d.ts +40 -0
- package/dist/planner/status.d.ts.map +1 -0
- package/dist/planner/status.js +336 -0
- package/dist/planner/status.js.map +1 -0
- package/dist/runtime/bun.d.ts +9 -0
- package/dist/runtime/bun.d.ts.map +1 -0
- package/dist/runtime/bun.js +10 -0
- package/dist/runtime/bun.js.map +1 -0
- package/dist/targets/adapter-helpers.d.ts +31 -0
- package/dist/targets/adapter-helpers.d.ts.map +1 -0
- package/dist/targets/adapter-helpers.js +67 -0
- package/dist/targets/adapter-helpers.js.map +1 -0
- package/dist/targets/adapter.d.ts +3 -1
- package/dist/targets/adapter.d.ts.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 +74 -83
- 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 +45 -75
- package/dist/targets/homebrew.js.map +1 -1
- package/dist/targets/live.d.ts.map +1 -1
- package/dist/targets/live.js +10 -0
- package/dist/targets/live.js.map +1 -1
- package/dist/targets/npm.d.ts +2 -3
- package/dist/targets/npm.d.ts.map +1 -1
- package/dist/targets/npm.js +90 -55
- package/dist/targets/npm.js.map +1 -1
- package/dist/targets/pypi.d.ts +11 -0
- package/dist/targets/pypi.d.ts.map +1 -0
- package/dist/targets/pypi.js +115 -0
- package/dist/targets/pypi.js.map +1 -0
- package/dist/targets/registry.d.ts +3 -3
- package/dist/targets/registry.d.ts.map +1 -1
- package/dist/targets/scoop.d.ts +11 -0
- package/dist/targets/scoop.d.ts.map +1 -0
- package/dist/targets/scoop.js +93 -0
- package/dist/targets/scoop.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/dist/workflows/config.d.ts +81 -0
- package/dist/workflows/config.d.ts.map +1 -0
- package/dist/workflows/config.js +191 -0
- package/dist/workflows/config.js.map +1 -0
- package/dist/workflows/evidence.d.ts +21 -0
- package/dist/workflows/evidence.d.ts.map +1 -0
- package/dist/workflows/evidence.js +45 -0
- package/dist/workflows/evidence.js.map +1 -0
- package/dist/workflows/live.d.ts +7 -0
- package/dist/workflows/live.d.ts.map +1 -0
- package/dist/workflows/live.js +5 -0
- package/dist/workflows/live.js.map +1 -0
- package/examples/README.md +20 -3
- package/examples/github-release/release.config.json +2 -1
- package/examples/multi-target/artifacts/release-example-multi-target-0.1.0.tgz +1 -0
- package/examples/multi-target/index.js +1 -0
- package/examples/multi-target/package.json +7 -0
- package/examples/multi-target/release.config.json +67 -0
- package/examples/non-strict-skips/release.config.json +1 -0
- package/examples/npm-first-publish/release.config.json +32 -0
- package/examples/npm-only/release.config.json +6 -1
- package/examples/pypi-registry/artifacts/release_example_pypi-0.1.0-py3-none-any.whl +1 -0
- package/examples/pypi-registry/release.config.json +30 -0
- package/examples/scoop-bucket/artifacts/release-example-scoop-0.1.0.zip +1 -0
- package/examples/scoop-bucket/release.config.json +36 -0
- package/package.json +48 -9
- package/dist/cli/programmatic.d.ts +0 -25
- package/dist/cli/programmatic.d.ts.map +0 -1
- package/dist/cli/programmatic.js +0 -48
- package/dist/cli/programmatic.js.map +0 -1
- package/dist/host/bun.d.ts +0 -9
- package/dist/host/bun.d.ts.map +0 -1
- package/dist/host/bun.js +0 -156
- package/dist/host/bun.js.map +0 -1
package/dist/cli/command.js
CHANGED
|
@@ -1,72 +1,103 @@
|
|
|
1
1
|
import * as Console from "effect/Console";
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as FileSystem from "effect/FileSystem";
|
|
4
|
+
import * as Path from "effect/Path";
|
|
3
5
|
import * as Command from "effect/unstable/cli/Command";
|
|
4
6
|
import * as Flag from "effect/unstable/cli/Flag";
|
|
5
|
-
import {
|
|
7
|
+
import { checkReleaseConfigEligibility, executeReleaseConfig, PlanReleaseConfigOptions, planReleaseConfig, reconcileReleaseConfig, ReleaseConfigOptions, ReleaseExecutionOptions, ReleaseEligibilityConfigOptions, ReleaseReconcileConfigOptions, ReleaseResumeConfigOptions, renderReleaseConfig, RenderReleaseConfigOptions, renderReleaseConfigPlan, renderReleaseStatus, resumeReleaseConfig, runReleaseConfig, ReleaseStatusOptions, validateReleaseConfig, verifyReleaseConfig } from "../workflows/config.js";
|
|
6
8
|
import { DEFAULT_CONFIG_PATH } from "../config/schema.js";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { executePlan, renderPlan, validatePlan, verifyPlan } from "../planner/executor.js";
|
|
11
|
-
import { renderEvidenceJson, writeEvidenceBundle } from "../planner/evidence-recorder.js";
|
|
12
|
-
import { renderPlanJson, renderPlanText } from "../planner/render-plan.js";
|
|
9
|
+
import { renderEvidenceJson } from "../planner/evidence-recorder.js";
|
|
10
|
+
import { renderReleaseEligibilityJson, renderReleaseEligibilityText } from "../planner/release-eligibility.js";
|
|
11
|
+
import { writeFailedOperationEvidence, writeNamedEvidence, writeWorkflowEvidence as persistWorkflowEvidence } from "../workflows/evidence.js";
|
|
13
12
|
const configFlag = Flag.string("config").pipe(Flag.withDefault(DEFAULT_CONFIG_PATH));
|
|
14
13
|
const outputFlag = Flag.string("out").pipe(Flag.withDefault(""));
|
|
15
14
|
const formatFlag = Flag.choice("format", ["json", "text"]).pipe(Flag.withDefault("json"));
|
|
15
|
+
const statusFormatFlag = Flag.choice("format", ["json", "text"]).pipe(Flag.withDefault("text"));
|
|
16
16
|
const executeFlag = Flag.boolean("execute").pipe(Flag.withDefault(false));
|
|
17
17
|
const approveIrreversibleFlag = Flag.boolean("approve-irreversible").pipe(Flag.withDefault(false));
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
const writeFile = Effect.fn("cli.writeFile")(function* (pathName, contents) {
|
|
19
|
+
const fs = yield* FileSystem.FileSystem;
|
|
20
|
+
const path = yield* Path.Path;
|
|
21
|
+
yield* fs.makeDirectory(path.dirname(pathName), { recursive: true });
|
|
22
|
+
yield* fs.writeFileString(pathName, contents);
|
|
23
23
|
});
|
|
24
24
|
const writeOrPrint = Effect.fn("writeOrPrint")(function* (out, contents) {
|
|
25
25
|
if (out.length === 0) {
|
|
26
26
|
return yield* Console.log(contents.trimEnd());
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
return yield* host.writeFileString(out, contents);
|
|
28
|
+
return yield* writeFile(out, contents);
|
|
30
29
|
});
|
|
31
30
|
const planCommand = Command.make("plan", {
|
|
32
31
|
config: configFlag,
|
|
33
32
|
out: outputFlag,
|
|
34
33
|
format: formatFlag
|
|
35
34
|
}, Effect.fn("cli.plan")(function* ({ config, out, format }) {
|
|
36
|
-
const
|
|
37
|
-
|
|
35
|
+
const contents = yield* renderReleaseConfigPlan(PlanReleaseConfigOptions.make({
|
|
36
|
+
configPath: config,
|
|
37
|
+
format
|
|
38
|
+
}));
|
|
38
39
|
yield* writeOrPrint(out, contents);
|
|
39
40
|
}));
|
|
40
41
|
const printCommand = Command.make("print", {
|
|
41
42
|
config: configFlag
|
|
42
43
|
}, Effect.fn("cli.print")(function* ({ config }) {
|
|
43
|
-
const
|
|
44
|
-
|
|
44
|
+
const contents = yield* renderReleaseConfigPlan(PlanReleaseConfigOptions.make({
|
|
45
|
+
configPath: config,
|
|
46
|
+
format: "text"
|
|
47
|
+
}));
|
|
48
|
+
yield* Console.log(contents.trimEnd());
|
|
49
|
+
}));
|
|
50
|
+
const statusCommand = Command.make("status", {
|
|
51
|
+
config: configFlag,
|
|
52
|
+
format: statusFormatFlag
|
|
53
|
+
}, Effect.fn("cli.status")(function* ({ config, format }) {
|
|
54
|
+
const contents = yield* renderReleaseStatus(ReleaseStatusOptions.make({
|
|
55
|
+
configPath: config,
|
|
56
|
+
format
|
|
57
|
+
}));
|
|
58
|
+
yield* Console.log(contents.trimEnd());
|
|
59
|
+
}));
|
|
60
|
+
const eligibilityCommand = Command.make("eligibility", {
|
|
61
|
+
config: configFlag,
|
|
62
|
+
format: statusFormatFlag
|
|
63
|
+
}, Effect.fn("cli.eligibility")(function* ({ config, format }) {
|
|
64
|
+
const decision = yield* checkReleaseConfigEligibility(ReleaseEligibilityConfigOptions.make({
|
|
65
|
+
configPath: config
|
|
66
|
+
}));
|
|
67
|
+
const contents = format === "json"
|
|
68
|
+
? renderReleaseEligibilityJson(decision)
|
|
69
|
+
: renderReleaseEligibilityText(decision);
|
|
70
|
+
yield* Console.log(contents.trimEnd());
|
|
45
71
|
}));
|
|
46
|
-
const evidencePath = (plan, name) => `${plan.evidenceDirectory}/${name}.json`;
|
|
47
72
|
const writeAndPrintEvidence = Effect.fn("writeAndPrintEvidence")(function* (plan, name, evidence) {
|
|
48
|
-
yield*
|
|
73
|
+
yield* writeNamedEvidence(plan, name, evidence);
|
|
49
74
|
yield* Console.log(renderEvidenceJson(evidence).trimEnd());
|
|
50
75
|
});
|
|
51
76
|
const writeFailedEvidence = Effect.fn("writeFailedEvidence")(function* (plan, name, error) {
|
|
52
|
-
|
|
53
|
-
|
|
77
|
+
const path = yield* writeFailedOperationEvidence(plan, name, error);
|
|
78
|
+
if (path !== undefined && error.evidence !== undefined) {
|
|
79
|
+
yield* Console.log(renderEvidenceJson(error.evidence).trimEnd());
|
|
54
80
|
}
|
|
55
81
|
});
|
|
82
|
+
const writeWorkflowEvidence = Effect.fn("writeWorkflowEvidence")(function* (plan, evidence) {
|
|
83
|
+
const paths = yield* persistWorkflowEvidence(plan, evidence);
|
|
84
|
+
yield* Console.log(`${JSON.stringify({ evidence: paths }, null, 2)}`);
|
|
85
|
+
});
|
|
56
86
|
const validateCommand = Command.make("validate", {
|
|
57
87
|
config: configFlag
|
|
58
88
|
}, Effect.fn("cli.validate")(function* ({ config }) {
|
|
59
|
-
const
|
|
60
|
-
const
|
|
89
|
+
const options = ReleaseConfigOptions.make({ configPath: config });
|
|
90
|
+
const plan = yield* planReleaseConfig(options);
|
|
91
|
+
const evidence = yield* validateReleaseConfig(options).pipe(Effect.catchTag("OperationFailedError", (error) => writeFailedEvidence(plan, "validation", error).pipe(Effect.flatMap(() => Effect.fail(error)))));
|
|
61
92
|
yield* writeAndPrintEvidence(plan, "validation", evidence);
|
|
62
93
|
}));
|
|
63
94
|
const renderCommand = Command.make("render", {
|
|
64
95
|
config: configFlag,
|
|
65
96
|
execute: executeFlag
|
|
66
97
|
}, Effect.fn("cli.render")(function* ({ config, execute }) {
|
|
67
|
-
const
|
|
68
|
-
const
|
|
69
|
-
const evidence = yield*
|
|
98
|
+
const options = RenderReleaseConfigOptions.make({ configPath: config, execute });
|
|
99
|
+
const plan = yield* planReleaseConfig(options);
|
|
100
|
+
const evidence = yield* renderReleaseConfig(options).pipe(Effect.catchTag("OperationFailedError", (error) => writeFailedEvidence(plan, "render", error).pipe(Effect.flatMap(() => Effect.fail(error)))));
|
|
70
101
|
yield* writeAndPrintEvidence(plan, "render", evidence);
|
|
71
102
|
}));
|
|
72
103
|
const executeCommand = Command.make("execute", {
|
|
@@ -74,17 +105,69 @@ const executeCommand = Command.make("execute", {
|
|
|
74
105
|
execute: executeFlag,
|
|
75
106
|
approveIrreversible: approveIrreversibleFlag
|
|
76
107
|
}, Effect.fn("cli.execute")(function* ({ config, execute, approveIrreversible }) {
|
|
77
|
-
const
|
|
78
|
-
const
|
|
79
|
-
const evidence = yield*
|
|
108
|
+
const options = ReleaseExecutionOptions.make({ configPath: config, execute, approveIrreversible });
|
|
109
|
+
const plan = yield* planReleaseConfig(options);
|
|
110
|
+
const evidence = yield* executeReleaseConfig(options).pipe(Effect.catchTag("OperationFailedError", (error) => writeFailedEvidence(plan, "execution", error).pipe(Effect.flatMap(() => Effect.fail(error)))));
|
|
80
111
|
yield* writeAndPrintEvidence(plan, "execution", evidence);
|
|
81
112
|
}));
|
|
82
113
|
const verifyCommand = Command.make("verify", {
|
|
83
114
|
config: configFlag
|
|
84
115
|
}, Effect.fn("cli.verify")(function* ({ config }) {
|
|
85
|
-
const
|
|
86
|
-
const
|
|
116
|
+
const options = ReleaseConfigOptions.make({ configPath: config });
|
|
117
|
+
const plan = yield* planReleaseConfig(options);
|
|
118
|
+
const evidence = yield* verifyReleaseConfig(options).pipe(Effect.catchTag("OperationFailedError", (error) => writeFailedEvidence(plan, "verification", error).pipe(Effect.flatMap(() => Effect.fail(error)))));
|
|
87
119
|
yield* writeAndPrintEvidence(plan, "verification", evidence);
|
|
88
120
|
}));
|
|
89
|
-
|
|
121
|
+
const runCommand = Command.make("run", {
|
|
122
|
+
config: configFlag,
|
|
123
|
+
execute: executeFlag,
|
|
124
|
+
approveIrreversible: approveIrreversibleFlag
|
|
125
|
+
}, Effect.fn("cli.run")(function* ({ config, execute, approveIrreversible }) {
|
|
126
|
+
const options = ReleaseExecutionOptions.make({ configPath: config, execute, approveIrreversible });
|
|
127
|
+
const plan = yield* planReleaseConfig(options);
|
|
128
|
+
const evidence = yield* runReleaseConfig(options).pipe(Effect.catchTag("OperationFailedError", (error) => {
|
|
129
|
+
if (error.workflowEvidence === undefined) {
|
|
130
|
+
return Effect.fail(error);
|
|
131
|
+
}
|
|
132
|
+
return writeWorkflowEvidence(plan, error.workflowEvidence).pipe(Effect.flatMap(() => Effect.fail(error)));
|
|
133
|
+
}));
|
|
134
|
+
yield* writeWorkflowEvidence(plan, evidence);
|
|
135
|
+
}));
|
|
136
|
+
const resumeCommand = Command.make("resume", {
|
|
137
|
+
config: configFlag,
|
|
138
|
+
execute: executeFlag,
|
|
139
|
+
approveIrreversible: approveIrreversibleFlag
|
|
140
|
+
}, Effect.fn("cli.resume")(function* ({ config, execute, approveIrreversible }) {
|
|
141
|
+
const options = ReleaseResumeConfigOptions.make({ configPath: config, execute, approveIrreversible });
|
|
142
|
+
const plan = yield* planReleaseConfig(options);
|
|
143
|
+
const evidence = yield* resumeReleaseConfig(options).pipe(Effect.catchTag("OperationFailedError", (error) => {
|
|
144
|
+
if (error.workflowEvidence === undefined) {
|
|
145
|
+
return Effect.fail(error);
|
|
146
|
+
}
|
|
147
|
+
return writeWorkflowEvidence(plan, error.workflowEvidence).pipe(Effect.flatMap(() => Effect.fail(error)));
|
|
148
|
+
}));
|
|
149
|
+
yield* writeWorkflowEvidence(plan, evidence);
|
|
150
|
+
}));
|
|
151
|
+
const reconcileCommand = Command.make("reconcile", {
|
|
152
|
+
config: configFlag,
|
|
153
|
+
execute: executeFlag
|
|
154
|
+
}, Effect.fn("cli.reconcile")(function* ({ config, execute }) {
|
|
155
|
+
const options = ReleaseReconcileConfigOptions.make({ configPath: config, execute });
|
|
156
|
+
const plan = yield* planReleaseConfig(options);
|
|
157
|
+
const evidence = yield* reconcileReleaseConfig(options).pipe(Effect.catchTag("OperationFailedError", (error) => writeFailedEvidence(plan, "reconciliation", error).pipe(Effect.flatMap(() => Effect.fail(error)))));
|
|
158
|
+
yield* writeAndPrintEvidence(plan, "reconciliation", evidence);
|
|
159
|
+
}));
|
|
160
|
+
export const cli = Command.make("release").pipe(Command.withSubcommands([
|
|
161
|
+
planCommand,
|
|
162
|
+
renderCommand,
|
|
163
|
+
validateCommand,
|
|
164
|
+
printCommand,
|
|
165
|
+
statusCommand,
|
|
166
|
+
eligibilityCommand,
|
|
167
|
+
executeCommand,
|
|
168
|
+
verifyCommand,
|
|
169
|
+
runCommand,
|
|
170
|
+
resumeCommand,
|
|
171
|
+
reconcileCommand
|
|
172
|
+
]));
|
|
90
173
|
//# sourceMappingURL=command.js.map
|
package/dist/cli/command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/cli/command.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/main.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
import * as BunRuntime from "@effect/platform-bun/BunRuntime";
|
|
3
|
-
import * as BunServices from "@effect/platform-bun/BunServices";
|
|
4
3
|
import * as Effect from "effect/Effect";
|
|
5
|
-
import * as Layer from "effect/Layer";
|
|
6
4
|
import * as Command from "effect/unstable/cli/Command";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
5
|
+
import { BunReleaseWorkflowRuntimeLayer } from "../runtime/bun.js";
|
|
6
|
+
import { RELEASE_VERSION } from "../version.js";
|
|
9
7
|
import { cli } from "./command.js";
|
|
10
|
-
|
|
11
|
-
Command.run(cli, { version: "0.0.0" }).pipe(Effect.provide(MainLayer), BunRuntime.runMain);
|
|
8
|
+
Command.run(cli, { version: RELEASE_VERSION }).pipe(Effect.provide(BunReleaseWorkflowRuntimeLayer), BunRuntime.runMain);
|
|
12
9
|
//# sourceMappingURL=main.js.map
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAC7D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAC7D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAElC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC,EAC9C,UAAU,CAAC,OAAO,CACnB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Schema from "effect/Schema";
|
|
2
|
-
import { CommandSpec } from "./operation.js";
|
|
2
|
+
import { CommandSpec, HttpEnvHeader, HttpHeader } from "./operation.js";
|
|
3
3
|
export type * from "../types/effect-internal.js";
|
|
4
4
|
export declare const EvidenceId: Schema.String;
|
|
5
5
|
export type EvidenceId = typeof EvidenceId.Type;
|
|
@@ -23,6 +23,36 @@ declare const CommandEvidence_base: Schema.Class<CommandEvidence, Schema.Struct<
|
|
|
23
23
|
}>, {}>;
|
|
24
24
|
export declare class CommandEvidence extends CommandEvidence_base {
|
|
25
25
|
}
|
|
26
|
+
declare const HttpRequestEvidence_base: Schema.Class<HttpRequestEvidence, Schema.Struct<{
|
|
27
|
+
readonly method: Schema.Literals<readonly ["GET", "HEAD"]>;
|
|
28
|
+
readonly url: Schema.String;
|
|
29
|
+
readonly headers: Schema.$Array<typeof HttpHeader>;
|
|
30
|
+
readonly envHeaders: Schema.$Array<typeof HttpEnvHeader>;
|
|
31
|
+
}>, {}>;
|
|
32
|
+
export declare class HttpRequestEvidence extends HttpRequestEvidence_base {
|
|
33
|
+
}
|
|
34
|
+
declare const HttpCheckEvidence_base: Schema.Class<HttpCheckEvidence, Schema.Struct<{
|
|
35
|
+
readonly description: Schema.String;
|
|
36
|
+
readonly passed: Schema.Boolean;
|
|
37
|
+
}>, {}>;
|
|
38
|
+
export declare class HttpCheckEvidence extends HttpCheckEvidence_base {
|
|
39
|
+
}
|
|
40
|
+
declare const HttpEvidence_base: Schema.Class<HttpEvidence, Schema.Struct<{
|
|
41
|
+
readonly id: Schema.String;
|
|
42
|
+
readonly operationId: Schema.String;
|
|
43
|
+
readonly targetId: Schema.optionalKey<Schema.String>;
|
|
44
|
+
readonly status: Schema.Literals<readonly ["passed", "failed", "skipped", "warning"]>;
|
|
45
|
+
readonly severity: Schema.Literals<readonly ["info", "warning", "error"]>;
|
|
46
|
+
readonly request: typeof HttpRequestEvidence;
|
|
47
|
+
readonly responseStatus: Schema.optionalKey<Schema.Number>;
|
|
48
|
+
readonly checks: Schema.$Array<typeof HttpCheckEvidence>;
|
|
49
|
+
readonly message: Schema.String;
|
|
50
|
+
readonly startedAt: Schema.String;
|
|
51
|
+
readonly endedAt: Schema.String;
|
|
52
|
+
readonly durationMillis: Schema.Number;
|
|
53
|
+
}>, {}>;
|
|
54
|
+
export declare class HttpEvidence extends HttpEvidence_base {
|
|
55
|
+
}
|
|
26
56
|
declare const ValidationEvidence_base: Schema.Class<ValidationEvidence, Schema.Struct<{
|
|
27
57
|
readonly id: Schema.String;
|
|
28
58
|
readonly targetId: Schema.optionalKey<Schema.String>;
|
|
@@ -45,14 +75,30 @@ declare const ExecutionEvidence_base: Schema.Class<ExecutionEvidence, Schema.Str
|
|
|
45
75
|
}>, {}>;
|
|
46
76
|
export declare class ExecutionEvidence extends ExecutionEvidence_base {
|
|
47
77
|
}
|
|
48
|
-
export declare const EvidenceRecord: Schema.Union<readonly [typeof CommandEvidence, typeof ValidationEvidence, typeof ExecutionEvidence]>;
|
|
78
|
+
export declare const EvidenceRecord: Schema.Union<readonly [typeof CommandEvidence, typeof HttpEvidence, typeof ValidationEvidence, typeof ExecutionEvidence]>;
|
|
49
79
|
export type EvidenceRecord = typeof EvidenceRecord.Type;
|
|
50
80
|
declare const EvidenceBundle_base: Schema.Class<EvidenceBundle, Schema.Struct<{
|
|
51
81
|
readonly schemaVersion: Schema.Literal<"release-evidence/v1">;
|
|
52
82
|
readonly releaseName: Schema.String;
|
|
53
83
|
readonly releaseVersion: Schema.String;
|
|
54
|
-
readonly records: Schema.$Array<Schema.Union<readonly [typeof CommandEvidence, typeof ValidationEvidence, typeof ExecutionEvidence]>>;
|
|
84
|
+
readonly records: Schema.$Array<Schema.Union<readonly [typeof CommandEvidence, typeof HttpEvidence, typeof ValidationEvidence, typeof ExecutionEvidence]>>;
|
|
55
85
|
}>, {}>;
|
|
56
86
|
export declare class EvidenceBundle extends EvidenceBundle_base {
|
|
57
87
|
}
|
|
88
|
+
declare const ReleaseWorkflowEvidence_base: Schema.Class<ReleaseWorkflowEvidence, Schema.Struct<{
|
|
89
|
+
readonly render: typeof EvidenceBundle;
|
|
90
|
+
readonly validation: typeof EvidenceBundle;
|
|
91
|
+
readonly execution: typeof EvidenceBundle;
|
|
92
|
+
readonly verification: typeof EvidenceBundle;
|
|
93
|
+
}>, {}>;
|
|
94
|
+
export declare class ReleaseWorkflowEvidence extends ReleaseWorkflowEvidence_base {
|
|
95
|
+
}
|
|
96
|
+
declare const ReleaseWorkflowFailureEvidence_base: Schema.Class<ReleaseWorkflowFailureEvidence, Schema.Struct<{
|
|
97
|
+
readonly render: Schema.optionalKey<typeof EvidenceBundle>;
|
|
98
|
+
readonly validation: Schema.optionalKey<typeof EvidenceBundle>;
|
|
99
|
+
readonly execution: Schema.optionalKey<typeof EvidenceBundle>;
|
|
100
|
+
readonly verification: Schema.optionalKey<typeof EvidenceBundle>;
|
|
101
|
+
}>, {}>;
|
|
102
|
+
export declare class ReleaseWorkflowFailureEvidence extends ReleaseWorkflowFailureEvidence_base {
|
|
103
|
+
}
|
|
58
104
|
//# sourceMappingURL=evidence.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/domain/evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/domain/evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAA2B,MAAM,gBAAgB,CAAA;AAGhG,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,UAAU,eAAgB,CAAA;AACvC,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C,eAAO,MAAM,gBAAgB,wDAAgD,CAAA;AAC7E,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,cAAc,sEAA8D,CAAA;AACzF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;AAEvD,qBAAa,eAAgB,SAAQ,oBAanC;CAAG;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBAKvC;CAAG;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAGrC;CAAG;;;;;;;;;;;;;;;AAEL,qBAAa,YAAa,SAAQ,iBAahC;CAAG;;;;;;;;;;AAEL,qBAAa,kBAAmB,SAAQ,uBAQtC;CAAG;;;;;;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAQrC;CAAG;AAEL,eAAO,MAAM,cAAc,2HAAuF,CAAA;AAClH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;;;;;;;AAEvD,qBAAa,cAAe,SAAQ,mBAKlC;CAAG;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAK3C;CAAG;;;;;;;AAEL,qBAAa,8BAA+B,SAAQ,mCAOlD;CAAG"}
|
package/dist/domain/evidence.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Schema from "effect/Schema";
|
|
2
|
-
import { CommandSpec, OperationId } from "./operation.js";
|
|
2
|
+
import { CommandSpec, HttpEnvHeader, HttpHeader, HttpMethod, OperationId } from "./operation.js";
|
|
3
3
|
import { TargetId } from "./target.js";
|
|
4
4
|
export const EvidenceId = Schema.String;
|
|
5
5
|
export const EvidenceSeverity = Schema.Literals(["info", "warning", "error"]);
|
|
@@ -19,6 +19,33 @@ export class CommandEvidence extends Schema.Class("CommandEvidence")({
|
|
|
19
19
|
durationMillis: Schema.Number
|
|
20
20
|
}) {
|
|
21
21
|
}
|
|
22
|
+
export class HttpRequestEvidence extends Schema.Class("HttpRequestEvidence")({
|
|
23
|
+
method: HttpMethod,
|
|
24
|
+
url: Schema.String,
|
|
25
|
+
headers: Schema.Array(HttpHeader),
|
|
26
|
+
envHeaders: Schema.Array(HttpEnvHeader)
|
|
27
|
+
}) {
|
|
28
|
+
}
|
|
29
|
+
export class HttpCheckEvidence extends Schema.Class("HttpCheckEvidence")({
|
|
30
|
+
description: Schema.String,
|
|
31
|
+
passed: Schema.Boolean
|
|
32
|
+
}) {
|
|
33
|
+
}
|
|
34
|
+
export class HttpEvidence extends Schema.Class("HttpEvidence")({
|
|
35
|
+
id: EvidenceId,
|
|
36
|
+
operationId: OperationId,
|
|
37
|
+
targetId: Schema.optionalKey(TargetId),
|
|
38
|
+
status: EvidenceStatus,
|
|
39
|
+
severity: EvidenceSeverity,
|
|
40
|
+
request: HttpRequestEvidence,
|
|
41
|
+
responseStatus: Schema.optionalKey(Schema.Number),
|
|
42
|
+
checks: Schema.Array(HttpCheckEvidence),
|
|
43
|
+
message: Schema.String,
|
|
44
|
+
startedAt: Schema.String,
|
|
45
|
+
endedAt: Schema.String,
|
|
46
|
+
durationMillis: Schema.Number
|
|
47
|
+
}) {
|
|
48
|
+
}
|
|
22
49
|
export class ValidationEvidence extends Schema.Class("ValidationEvidence")({
|
|
23
50
|
id: EvidenceId,
|
|
24
51
|
targetId: Schema.optionalKey(TargetId),
|
|
@@ -39,7 +66,7 @@ export class ExecutionEvidence extends Schema.Class("ExecutionEvidence")({
|
|
|
39
66
|
timestamp: Schema.String
|
|
40
67
|
}) {
|
|
41
68
|
}
|
|
42
|
-
export const EvidenceRecord = Schema.Union([CommandEvidence, ValidationEvidence, ExecutionEvidence]);
|
|
69
|
+
export const EvidenceRecord = Schema.Union([CommandEvidence, HttpEvidence, ValidationEvidence, ExecutionEvidence]);
|
|
43
70
|
export class EvidenceBundle extends Schema.Class("EvidenceBundle")({
|
|
44
71
|
schemaVersion: Schema.Literal("release-evidence/v1"),
|
|
45
72
|
releaseName: Schema.String,
|
|
@@ -47,4 +74,18 @@ export class EvidenceBundle extends Schema.Class("EvidenceBundle")({
|
|
|
47
74
|
records: Schema.Array(EvidenceRecord)
|
|
48
75
|
}) {
|
|
49
76
|
}
|
|
77
|
+
export class ReleaseWorkflowEvidence extends Schema.Class("ReleaseWorkflowEvidence")({
|
|
78
|
+
render: EvidenceBundle,
|
|
79
|
+
validation: EvidenceBundle,
|
|
80
|
+
execution: EvidenceBundle,
|
|
81
|
+
verification: EvidenceBundle
|
|
82
|
+
}) {
|
|
83
|
+
}
|
|
84
|
+
export class ReleaseWorkflowFailureEvidence extends Schema.Class("ReleaseWorkflowFailureEvidence")({
|
|
85
|
+
render: Schema.optionalKey(EvidenceBundle),
|
|
86
|
+
validation: Schema.optionalKey(EvidenceBundle),
|
|
87
|
+
execution: Schema.optionalKey(EvidenceBundle),
|
|
88
|
+
verification: Schema.optionalKey(EvidenceBundle)
|
|
89
|
+
}) {
|
|
90
|
+
}
|
|
50
91
|
//# sourceMappingURL=evidence.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/domain/evidence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../src/domain/evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,48 @@ declare const CommandSpec_base: Schema.Class<CommandSpec, Schema.Struct<{
|
|
|
21
21
|
}>, {}>;
|
|
22
22
|
export declare class CommandSpec extends CommandSpec_base {
|
|
23
23
|
}
|
|
24
|
+
export declare const HttpMethod: Schema.Literals<readonly ["GET", "HEAD"]>;
|
|
25
|
+
export type HttpMethod = typeof HttpMethod.Type;
|
|
26
|
+
declare const HttpHeader_base: Schema.Class<HttpHeader, Schema.Struct<{
|
|
27
|
+
readonly name: Schema.String;
|
|
28
|
+
readonly value: Schema.String;
|
|
29
|
+
}>, {}>;
|
|
30
|
+
export declare class HttpHeader extends HttpHeader_base {
|
|
31
|
+
}
|
|
32
|
+
declare const HttpEnvHeader_base: Schema.Class<HttpEnvHeader, Schema.Struct<{
|
|
33
|
+
readonly name: Schema.String;
|
|
34
|
+
readonly valueEnv: Schema.String;
|
|
35
|
+
readonly prefix: Schema.optionalKey<Schema.String>;
|
|
36
|
+
}>, {}>;
|
|
37
|
+
export declare class HttpEnvHeader extends HttpEnvHeader_base {
|
|
38
|
+
}
|
|
39
|
+
declare const HttpRequestSpec_base: Schema.Class<HttpRequestSpec, Schema.Struct<{
|
|
40
|
+
readonly method: Schema.Literals<readonly ["GET", "HEAD"]>;
|
|
41
|
+
readonly url: Schema.String;
|
|
42
|
+
readonly headers: Schema.$Array<typeof HttpHeader>;
|
|
43
|
+
readonly envHeaders: Schema.$Array<typeof HttpEnvHeader>;
|
|
44
|
+
readonly requiredEnv: Schema.$Array<Schema.String>;
|
|
45
|
+
readonly redactedEnv: Schema.$Array<Schema.String>;
|
|
46
|
+
}>, {}>;
|
|
47
|
+
export declare class HttpRequestSpec extends HttpRequestSpec_base {
|
|
48
|
+
}
|
|
49
|
+
export declare const JsonPathSegment: Schema.Union<readonly [Schema.String, Schema.Number]>;
|
|
50
|
+
export type JsonPathSegment = typeof JsonPathSegment.Type;
|
|
51
|
+
declare const HttpJsonEqualsCheck_base: Schema.Class<HttpJsonEqualsCheck, Schema.TaggedStruct<"HttpJsonEqualsCheck", {
|
|
52
|
+
readonly path: Schema.$Array<Schema.Union<readonly [Schema.String, Schema.Number]>>;
|
|
53
|
+
readonly expected: Schema.Codec<Schema.Json, Schema.Json, never, never>;
|
|
54
|
+
}>, {}>;
|
|
55
|
+
export declare class HttpJsonEqualsCheck extends HttpJsonEqualsCheck_base {
|
|
56
|
+
}
|
|
57
|
+
declare const HttpJsonArrayObjectFieldEqualsCheck_base: Schema.Class<HttpJsonArrayObjectFieldEqualsCheck, Schema.TaggedStruct<"HttpJsonArrayObjectFieldEqualsCheck", {
|
|
58
|
+
readonly path: Schema.$Array<Schema.Union<readonly [Schema.String, Schema.Number]>>;
|
|
59
|
+
readonly field: Schema.String;
|
|
60
|
+
readonly expected: Schema.Codec<Schema.Json, Schema.Json, never, never>;
|
|
61
|
+
}>, {}>;
|
|
62
|
+
export declare class HttpJsonArrayObjectFieldEqualsCheck extends HttpJsonArrayObjectFieldEqualsCheck_base {
|
|
63
|
+
}
|
|
64
|
+
export declare const HttpJsonCheck: Schema.Union<readonly [typeof HttpJsonEqualsCheck, typeof HttpJsonArrayObjectFieldEqualsCheck]>;
|
|
65
|
+
export type HttpJsonCheck = typeof HttpJsonCheck.Type;
|
|
24
66
|
declare const RenderFileOperation_base: Schema.Class<RenderFileOperation, Schema.TaggedStruct<"RenderFileOperation", {
|
|
25
67
|
readonly id: Schema.String;
|
|
26
68
|
readonly targetId: Schema.optionalKey<Schema.String>;
|
|
@@ -74,7 +116,19 @@ declare const VerifyRemoteOperation_base: Schema.Class<VerifyRemoteOperation, Sc
|
|
|
74
116
|
}>, {}>;
|
|
75
117
|
export declare class VerifyRemoteOperation extends VerifyRemoteOperation_base {
|
|
76
118
|
}
|
|
77
|
-
|
|
119
|
+
declare const VerifyHttpOperation_base: Schema.Class<VerifyHttpOperation, Schema.TaggedStruct<"VerifyHttpOperation", {
|
|
120
|
+
readonly id: Schema.String;
|
|
121
|
+
readonly targetId: Schema.String;
|
|
122
|
+
readonly description: Schema.String;
|
|
123
|
+
readonly risk: Schema.Literals<readonly ["read-only", "writes-local", "externally-visible", "irreversible"]>;
|
|
124
|
+
readonly gate: typeof ExecutionGate;
|
|
125
|
+
readonly request: typeof HttpRequestSpec;
|
|
126
|
+
readonly expectedStatus: Schema.Number;
|
|
127
|
+
readonly checks: Schema.$Array<Schema.Union<readonly [typeof HttpJsonEqualsCheck, typeof HttpJsonArrayObjectFieldEqualsCheck]>>;
|
|
128
|
+
}>, {}>;
|
|
129
|
+
export declare class VerifyHttpOperation extends VerifyHttpOperation_base {
|
|
130
|
+
}
|
|
131
|
+
export declare const Operation: Schema.Union<readonly [typeof RenderFileOperation, typeof ValidateCommandOperation, typeof ValidationNoteOperation, typeof PublishCommandOperation, typeof VerifyRemoteOperation, typeof VerifyHttpOperation]>;
|
|
78
132
|
export type Operation = typeof Operation.Type;
|
|
79
133
|
declare const ExecutionApproval_base: Schema.Class<ExecutionApproval, Schema.Struct<{
|
|
80
134
|
readonly execute: Schema.Boolean;
|
|
@@ -93,6 +147,6 @@ export declare const noApprovalGate: (reason: string) => ExecutionGate;
|
|
|
93
147
|
export declare const executeGate: (reason: string) => ExecutionGate;
|
|
94
148
|
export declare const irreversibleGate: (reason: string) => ExecutionGate;
|
|
95
149
|
export declare const canExecuteOperation: (operation: Operation, approval: ExecutionApproval) => boolean;
|
|
96
|
-
export declare const requireExecutionApproval: (operation: RenderFileOperation | ValidateCommandOperation | ValidationNoteOperation | PublishCommandOperation | VerifyRemoteOperation, approval: ExecutionApproval) => Effect.Effect<undefined, ExecutionApprovalError, never>;
|
|
150
|
+
export declare const requireExecutionApproval: (operation: RenderFileOperation | ValidateCommandOperation | ValidationNoteOperation | PublishCommandOperation | VerifyRemoteOperation | VerifyHttpOperation, approval: ExecutionApproval) => Effect.Effect<undefined, ExecutionApprovalError, never>;
|
|
97
151
|
export declare const operationOrder: (left: Operation, right: Operation) => number;
|
|
98
152
|
//# sourceMappingURL=operation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../src/domain/operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,WAAW,eAAgB,CAAA;AACxC,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,aAAa,+FAAuF,CAAA;AACjH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;;;;;;AAErD,qBAAa,aAAc,SAAQ,kBAIjC;CAAG;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAM/B;CAAG
|
|
1
|
+
{"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../src/domain/operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,WAAW,eAAgB,CAAA;AACxC,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA;AAEjD,eAAO,MAAM,aAAa,+FAAuF,CAAA;AACjH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;;;;;;AAErD,qBAAa,aAAc,SAAQ,kBAIjC;CAAG;;;;;;;;AAEL,qBAAa,WAAY,SAAQ,gBAM/B;CAAG;AAEL,eAAO,MAAM,UAAU,2CAAmC,CAAA;AAC1D,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;;;;;AAE/C,qBAAa,UAAW,SAAQ,eAG9B;CAAG;;;;;;AAEL,qBAAa,aAAc,SAAQ,kBAIjC;CAAG;;;;;;;;;AAEL,qBAAa,eAAgB,SAAQ,oBAOnC;CAAG;AAEL,eAAO,MAAM,eAAe,uDAA+C,CAAA;AAC3E,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAA;;;;;AAEzD,qBAAa,mBAAoB,SAAQ,wBAGvC;CAAG;;;;;;AAEL,qBAAa,mCAAoC,SAAQ,wCAOxD;CAAG;AAEJ,eAAO,MAAM,aAAa,iGAA2E,CAAA;AACrG,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;;;;;;;;;;AAErD,qBAAa,mBAAoB,SAAQ,wBAQvC;CAAG;;;;;;;;;AAEL,qBAAa,wBAAyB,SAAQ,6BAO5C;CAAG;;;;;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAS3C;CAAG;;;;;;;;;AAEL,qBAAa,uBAAwB,SAAQ,4BAO3C;CAAG;;;;;;;;;AAEL,qBAAa,qBAAsB,SAAQ,0BAOzC;CAAG;;;;;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBASvC;CAAG;AAEL,eAAO,MAAM,SAAS,gNAOpB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;;;;;AAE7C,qBAAa,iBAAkB,SAAQ,sBAGrC;IACA,MAAM,CAAC,QAAQ,CAAC,IAAI,oBAGlB;CACH;;;;;AAED,qBAAa,sBAAuB,SAAQ,2BAM3C;CAAG;AAEJ,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,aAK5C,CAAA;AAEJ,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,KAAG,aAKzC,CAAA;AAEJ,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,aAK9C,CAAA;AAEJ,eAAO,MAAM,mBAAmB,GAAI,WAAW,SAAS,EAAE,UAAU,iBAAiB,KAAG,OAevF,CAAA;AAED,eAAO,MAAM,wBAAwB,uPAmBnC,CAAA;AA8BF,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,EAAE,OAAO,SAAS,KAAG,MAKlC,CAAA"}
|
package/dist/domain/operation.js
CHANGED
|
@@ -17,6 +17,40 @@ export class CommandSpec extends Schema.Class("CommandSpec")({
|
|
|
17
17
|
redactedEnv: Schema.Array(Schema.String)
|
|
18
18
|
}) {
|
|
19
19
|
}
|
|
20
|
+
export const HttpMethod = Schema.Literals(["GET", "HEAD"]);
|
|
21
|
+
export class HttpHeader extends Schema.Class("HttpHeader")({
|
|
22
|
+
name: Schema.String,
|
|
23
|
+
value: Schema.String
|
|
24
|
+
}) {
|
|
25
|
+
}
|
|
26
|
+
export class HttpEnvHeader extends Schema.Class("HttpEnvHeader")({
|
|
27
|
+
name: Schema.String,
|
|
28
|
+
valueEnv: Schema.String,
|
|
29
|
+
prefix: Schema.optionalKey(Schema.String)
|
|
30
|
+
}) {
|
|
31
|
+
}
|
|
32
|
+
export class HttpRequestSpec extends Schema.Class("HttpRequestSpec")({
|
|
33
|
+
method: HttpMethod,
|
|
34
|
+
url: Schema.String,
|
|
35
|
+
headers: Schema.Array(HttpHeader),
|
|
36
|
+
envHeaders: Schema.Array(HttpEnvHeader),
|
|
37
|
+
requiredEnv: Schema.Array(Schema.String),
|
|
38
|
+
redactedEnv: Schema.Array(Schema.String)
|
|
39
|
+
}) {
|
|
40
|
+
}
|
|
41
|
+
export const JsonPathSegment = Schema.Union([Schema.String, Schema.Number]);
|
|
42
|
+
export class HttpJsonEqualsCheck extends Schema.TaggedClass()("HttpJsonEqualsCheck", {
|
|
43
|
+
path: Schema.Array(JsonPathSegment),
|
|
44
|
+
expected: Schema.Json
|
|
45
|
+
}) {
|
|
46
|
+
}
|
|
47
|
+
export class HttpJsonArrayObjectFieldEqualsCheck extends Schema.TaggedClass()("HttpJsonArrayObjectFieldEqualsCheck", {
|
|
48
|
+
path: Schema.Array(JsonPathSegment),
|
|
49
|
+
field: Schema.String,
|
|
50
|
+
expected: Schema.Json
|
|
51
|
+
}) {
|
|
52
|
+
}
|
|
53
|
+
export const HttpJsonCheck = Schema.Union([HttpJsonEqualsCheck, HttpJsonArrayObjectFieldEqualsCheck]);
|
|
20
54
|
export class RenderFileOperation extends Schema.TaggedClass()("RenderFileOperation", {
|
|
21
55
|
id: OperationId,
|
|
22
56
|
targetId: Schema.optionalKey(TargetId),
|
|
@@ -65,12 +99,24 @@ export class VerifyRemoteOperation extends Schema.TaggedClass()("VerifyRemoteOpe
|
|
|
65
99
|
command: CommandSpec
|
|
66
100
|
}) {
|
|
67
101
|
}
|
|
102
|
+
export class VerifyHttpOperation extends Schema.TaggedClass()("VerifyHttpOperation", {
|
|
103
|
+
id: OperationId,
|
|
104
|
+
targetId: TargetId,
|
|
105
|
+
description: Schema.String,
|
|
106
|
+
risk: OperationRisk,
|
|
107
|
+
gate: ExecutionGate,
|
|
108
|
+
request: HttpRequestSpec,
|
|
109
|
+
expectedStatus: Schema.Number,
|
|
110
|
+
checks: Schema.Array(HttpJsonCheck)
|
|
111
|
+
}) {
|
|
112
|
+
}
|
|
68
113
|
export const Operation = Schema.Union([
|
|
69
114
|
RenderFileOperation,
|
|
70
115
|
ValidateCommandOperation,
|
|
71
116
|
ValidationNoteOperation,
|
|
72
117
|
PublishCommandOperation,
|
|
73
|
-
VerifyRemoteOperation
|
|
118
|
+
VerifyRemoteOperation,
|
|
119
|
+
VerifyHttpOperation
|
|
74
120
|
]);
|
|
75
121
|
export class ExecutionApproval extends Schema.Class("ExecutionApproval")({
|
|
76
122
|
execute: Schema.Boolean,
|
|
@@ -129,5 +175,35 @@ export const requireExecutionApproval = Effect.fn("requireExecutionApproval")(fu
|
|
|
129
175
|
reason
|
|
130
176
|
}));
|
|
131
177
|
});
|
|
132
|
-
|
|
178
|
+
const operationPhasePriority = (operation) => {
|
|
179
|
+
switch (operation._tag) {
|
|
180
|
+
case "RenderFileOperation":
|
|
181
|
+
return 0;
|
|
182
|
+
case "ValidateCommandOperation":
|
|
183
|
+
case "ValidationNoteOperation":
|
|
184
|
+
return 1;
|
|
185
|
+
case "PublishCommandOperation":
|
|
186
|
+
return 2;
|
|
187
|
+
case "VerifyRemoteOperation":
|
|
188
|
+
case "VerifyHttpOperation":
|
|
189
|
+
return 3;
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
const publishOperationPriority = (operation) => {
|
|
193
|
+
if (operation.id.endsWith(":npm-publish") || operation.id.endsWith(":twine-upload")) {
|
|
194
|
+
return 0;
|
|
195
|
+
}
|
|
196
|
+
if (operation.id.endsWith(":gh-release-create")) {
|
|
197
|
+
return 1;
|
|
198
|
+
}
|
|
199
|
+
if (operation.id.endsWith(":homebrew-push") || operation.id.endsWith(":scoop-push")) {
|
|
200
|
+
return 2;
|
|
201
|
+
}
|
|
202
|
+
return 3;
|
|
203
|
+
};
|
|
204
|
+
export const operationOrder = (left, right) => operationPhasePriority(left) - operationPhasePriority(right) ||
|
|
205
|
+
(left._tag === "PublishCommandOperation" && right._tag === "PublishCommandOperation"
|
|
206
|
+
? publishOperationPriority(left) - publishOperationPriority(right)
|
|
207
|
+
: 0) ||
|
|
208
|
+
left.id.localeCompare(right.id);
|
|
133
209
|
//# sourceMappingURL=operation.js.map
|