@mannyc1/ts-release 0.0.0 → 0.0.1

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 (92) hide show
  1. package/README.md +70 -13
  2. package/dist/cli/command.d.ts.map +1 -1
  3. package/dist/cli/command.js +37 -2
  4. package/dist/cli/command.js.map +1 -1
  5. package/dist/cli/main.js +5 -2
  6. package/dist/cli/main.js.map +1 -1
  7. package/dist/cli/programmatic.d.ts +1 -1
  8. package/dist/cli/programmatic.d.ts.map +1 -1
  9. package/dist/cli/programmatic.js +7 -2
  10. package/dist/cli/programmatic.js.map +1 -1
  11. package/dist/domain/evidence.d.ts +49 -3
  12. package/dist/domain/evidence.d.ts.map +1 -1
  13. package/dist/domain/evidence.js +43 -2
  14. package/dist/domain/evidence.js.map +1 -1
  15. package/dist/domain/operation.d.ts +56 -2
  16. package/dist/domain/operation.d.ts.map +1 -1
  17. package/dist/domain/operation.js +47 -1
  18. package/dist/domain/operation.js.map +1 -1
  19. package/dist/domain/release.d.ts +4 -4
  20. package/dist/domain/target.d.ts +31 -1
  21. package/dist/domain/target.d.ts.map +1 -1
  22. package/dist/domain/target.js +40 -3
  23. package/dist/domain/target.js.map +1 -1
  24. package/dist/host/http-live.d.ts +7 -0
  25. package/dist/host/http-live.d.ts.map +1 -0
  26. package/dist/host/http-live.js +76 -0
  27. package/dist/host/http-live.js.map +1 -0
  28. package/dist/host/http.d.ts +40 -0
  29. package/dist/host/http.d.ts.map +1 -0
  30. package/dist/host/http.js +56 -0
  31. package/dist/host/http.js.map +1 -0
  32. package/dist/planner/errors.d.ts +4 -2
  33. package/dist/planner/errors.d.ts.map +1 -1
  34. package/dist/planner/errors.js +5 -3
  35. package/dist/planner/errors.js.map +1 -1
  36. package/dist/planner/evidence-recorder.d.ts +6 -3
  37. package/dist/planner/evidence-recorder.d.ts.map +1 -1
  38. package/dist/planner/evidence-recorder.js +149 -2
  39. package/dist/planner/evidence-recorder.js.map +1 -1
  40. package/dist/planner/executor.d.ts +41 -14
  41. package/dist/planner/executor.d.ts.map +1 -1
  42. package/dist/planner/executor.js +102 -36
  43. package/dist/planner/executor.js.map +1 -1
  44. package/dist/planner/normalize-release.d.ts.map +1 -1
  45. package/dist/planner/normalize-release.js +43 -2
  46. package/dist/planner/normalize-release.js.map +1 -1
  47. package/dist/planner/render-plan.d.ts.map +1 -1
  48. package/dist/planner/render-plan.js +9 -0
  49. package/dist/planner/render-plan.js.map +1 -1
  50. package/dist/targets/adapter-helpers.d.ts +31 -0
  51. package/dist/targets/adapter-helpers.d.ts.map +1 -0
  52. package/dist/targets/adapter-helpers.js +67 -0
  53. package/dist/targets/adapter-helpers.js.map +1 -0
  54. package/dist/targets/adapter.d.ts +3 -1
  55. package/dist/targets/adapter.d.ts.map +1 -1
  56. package/dist/targets/github.d.ts +2 -2
  57. package/dist/targets/github.d.ts.map +1 -1
  58. package/dist/targets/github.js +65 -78
  59. package/dist/targets/github.js.map +1 -1
  60. package/dist/targets/homebrew.d.ts +2 -2
  61. package/dist/targets/homebrew.d.ts.map +1 -1
  62. package/dist/targets/homebrew.js +45 -75
  63. package/dist/targets/homebrew.js.map +1 -1
  64. package/dist/targets/live.d.ts.map +1 -1
  65. package/dist/targets/live.js +10 -0
  66. package/dist/targets/live.js.map +1 -1
  67. package/dist/targets/npm.d.ts +2 -3
  68. package/dist/targets/npm.d.ts.map +1 -1
  69. package/dist/targets/npm.js +24 -49
  70. package/dist/targets/npm.js.map +1 -1
  71. package/dist/targets/pypi.d.ts +11 -0
  72. package/dist/targets/pypi.d.ts.map +1 -0
  73. package/dist/targets/pypi.js +115 -0
  74. package/dist/targets/pypi.js.map +1 -0
  75. package/dist/targets/registry.d.ts +3 -3
  76. package/dist/targets/registry.d.ts.map +1 -1
  77. package/dist/targets/scoop.d.ts +11 -0
  78. package/dist/targets/scoop.d.ts.map +1 -0
  79. package/dist/targets/scoop.js +93 -0
  80. package/dist/targets/scoop.js.map +1 -0
  81. package/examples/README.md +17 -3
  82. package/examples/github-release/release.config.json +2 -1
  83. package/examples/multi-target/artifacts/release-example-multi-target-0.1.0.tgz +1 -0
  84. package/examples/multi-target/index.js +1 -0
  85. package/examples/multi-target/package.json +7 -0
  86. package/examples/multi-target/release.config.json +62 -0
  87. package/examples/non-strict-skips/release.config.json +1 -0
  88. package/examples/pypi-registry/artifacts/release_example_pypi-0.1.0-py3-none-any.whl +1 -0
  89. package/examples/pypi-registry/release.config.json +30 -0
  90. package/examples/scoop-bucket/artifacts/release-example-scoop-0.1.0.zip +1 -0
  91. package/examples/scoop-bucket/release.config.json +36 -0
  92. package/package.json +19 -2
@@ -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,
@@ -1 +1 @@
1
- {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/domain/operation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation.js","sourceRoot":"","sources":["../../src/domain/operation.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ export declare class SourceMetadata extends SourceMetadata_base {
28
28
  declare const ReleaseIntent_base: Schema.Class<ReleaseIntent, Schema.Struct<{
29
29
  readonly identity: typeof ReleaseIdentity;
30
30
  readonly artifacts: Schema.$Array<typeof ArtifactIntent>;
31
- readonly targets: Schema.$Array<Schema.Union<readonly [typeof import("./target.js").NpmRegistryTarget, typeof import("./target.js").GitHubReleaseTarget, typeof import("./target.js").HomebrewTapTarget]>>;
31
+ readonly targets: Schema.$Array<Schema.Union<readonly [typeof import("./target.js").NpmRegistryTarget, typeof import("./target.js").GitHubReleaseTarget, typeof import("./target.js").HomebrewTapTarget, typeof import("./target.js").PyPiRegistryTarget, typeof import("./target.js").ScoopBucketTarget]>>;
32
32
  readonly strict: Schema.optionalKey<Schema.Boolean>;
33
33
  readonly evidenceDirectory: Schema.optionalKey<Schema.String>;
34
34
  }>, {}>;
@@ -38,7 +38,7 @@ declare const ReleaseModel_base: Schema.Class<ReleaseModel, Schema.Struct<{
38
38
  readonly identity: typeof ReleaseIdentity;
39
39
  readonly source: typeof SourceMetadata;
40
40
  readonly artifacts: Schema.$Array<typeof ArtifactInventoryItem>;
41
- readonly targets: Schema.$Array<Schema.Union<readonly [typeof import("./target.js").NpmRegistryTarget, typeof import("./target.js").GitHubReleaseTarget, typeof import("./target.js").HomebrewTapTarget]>>;
41
+ readonly targets: Schema.$Array<Schema.Union<readonly [typeof import("./target.js").NpmRegistryTarget, typeof import("./target.js").GitHubReleaseTarget, typeof import("./target.js").HomebrewTapTarget, typeof import("./target.js").PyPiRegistryTarget, typeof import("./target.js").ScoopBucketTarget]>>;
42
42
  readonly strict: Schema.Boolean;
43
43
  readonly evidenceDirectory: Schema.String;
44
44
  }>, {}>;
@@ -55,9 +55,9 @@ declare const ReleasePlan_base: Schema.Class<ReleasePlan, Schema.Struct<{
55
55
  readonly identity: typeof ReleaseIdentity;
56
56
  readonly source: typeof SourceMetadata;
57
57
  readonly artifacts: Schema.$Array<typeof ArtifactInventoryItem>;
58
- readonly targets: Schema.$Array<Schema.Union<readonly [typeof import("./target.js").NpmRegistryTarget, typeof import("./target.js").GitHubReleaseTarget, typeof import("./target.js").HomebrewTapTarget]>>;
58
+ readonly targets: Schema.$Array<Schema.Union<readonly [typeof import("./target.js").NpmRegistryTarget, typeof import("./target.js").GitHubReleaseTarget, typeof import("./target.js").HomebrewTapTarget, typeof import("./target.js").PyPiRegistryTarget, typeof import("./target.js").ScoopBucketTarget]>>;
59
59
  readonly targetCapabilities: Schema.$Array<typeof TargetCapabilities>;
60
- readonly operations: Schema.$Array<Schema.Union<readonly [typeof import("./operation.js").RenderFileOperation, typeof import("./operation.js").ValidateCommandOperation, typeof import("./operation.js").ValidationNoteOperation, typeof import("./operation.js").PublishCommandOperation, typeof import("./operation.js").VerifyRemoteOperation]>>;
60
+ readonly operations: Schema.$Array<Schema.Union<readonly [typeof import("./operation.js").RenderFileOperation, typeof import("./operation.js").ValidateCommandOperation, typeof import("./operation.js").ValidationNoteOperation, typeof import("./operation.js").PublishCommandOperation, typeof import("./operation.js").VerifyRemoteOperation, typeof import("./operation.js").VerifyHttpOperation]>>;
61
61
  readonly evidenceDirectory: Schema.String;
62
62
  readonly metadata: typeof PlannerMetadata;
63
63
  }>, {}>;
@@ -56,7 +56,37 @@ declare const HomebrewTapTarget_base: Schema.Class<HomebrewTapTarget, Schema.Tag
56
56
  }>, {}>;
57
57
  export declare class HomebrewTapTarget extends HomebrewTapTarget_base {
58
58
  }
59
- export declare const TargetConfig: Schema.Union<readonly [typeof NpmRegistryTarget, typeof GitHubReleaseTarget, typeof HomebrewTapTarget]>;
59
+ declare const PyPiRegistryTarget_base: Schema.Class<PyPiRegistryTarget, Schema.TaggedStruct<"PyPiRegistryTarget", {
60
+ readonly id: Schema.String;
61
+ readonly repositoryUrl: Schema.String;
62
+ readonly usernameEnv: Schema.optionalKey<Schema.String>;
63
+ readonly passwordEnv: Schema.optionalKey<Schema.String>;
64
+ readonly dryRunSupport: Schema.Literals<readonly ["none", "native", "simulated"]>;
65
+ readonly mutability: Schema.Literals<readonly ["immutable", "mutable-release", "mutable-index"]>;
66
+ readonly recovery: Schema.Literals<readonly ["publish-new-version", "delete-and-recreate", "manual"]>;
67
+ }>, {}>;
68
+ export declare class PyPiRegistryTarget extends PyPiRegistryTarget_base {
69
+ }
70
+ declare const ScoopBucketTarget_base: Schema.Class<ScoopBucketTarget, Schema.TaggedStruct<"ScoopBucketTarget", {
71
+ readonly id: Schema.String;
72
+ readonly repository: Schema.String;
73
+ readonly manifestName: Schema.String;
74
+ readonly manifestPath: Schema.String;
75
+ readonly artifactId: Schema.String;
76
+ readonly homepage: Schema.optionalKey<Schema.String>;
77
+ readonly description: Schema.optionalKey<Schema.String>;
78
+ readonly license: Schema.optionalKey<Schema.String>;
79
+ readonly url: Schema.optionalKey<Schema.String>;
80
+ readonly bin: Schema.optionalKey<Schema.String>;
81
+ readonly bucketDirectory: Schema.optionalKey<Schema.String>;
82
+ readonly tokenEnv: Schema.optionalKey<Schema.String>;
83
+ readonly dryRunSupport: Schema.Literals<readonly ["none", "native", "simulated"]>;
84
+ readonly mutability: Schema.Literals<readonly ["immutable", "mutable-release", "mutable-index"]>;
85
+ readonly recovery: Schema.Literals<readonly ["publish-new-version", "delete-and-recreate", "manual"]>;
86
+ }>, {}>;
87
+ export declare class ScoopBucketTarget extends ScoopBucketTarget_base {
88
+ }
89
+ export declare const TargetConfig: Schema.Union<readonly [typeof NpmRegistryTarget, typeof GitHubReleaseTarget, typeof HomebrewTapTarget, typeof PyPiRegistryTarget, typeof ScoopBucketTarget]>;
60
90
  export type TargetConfig = typeof TargetConfig.Type;
61
91
  declare const TargetCapabilities_base: Schema.Class<TargetCapabilities, Schema.Struct<{
62
92
  readonly targetId: Schema.String;
@@ -1 +1 @@
1
- {"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../src/domain/target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,QAAQ,eAAgB,CAAA;AACrC,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;AAE3C,eAAO,MAAM,qBAAqB,6DAAqD,CAAA;AACvF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,eAAO,MAAM,mBAAmB,2DAAmD,CAAA;AACnF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AAEjE,eAAO,MAAM,gBAAgB,6EAAqE,CAAA;AAClG,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,cAAc,oFAA4E,CAAA;AACvG,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,wBAAwB,2EAAmE,CAAA;AACxG,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAE3E,eAAO,MAAM,SAAS,oDAA4C,CAAA;AAClE,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;;;;;;;;;;;;AAE7C,qBAAa,iBAAkB,SAAQ,sBAUrC;CAAG;;;;;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBASvC;CAAG;;;;;;;;;;;;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAcrC;CAAG;AAEL,eAAO,MAAM,YAAY,yGAA4E,CAAA;AACrG,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;;;;;;;;;;AAEnD,qBAAa,kBAAmB,SAAQ,uBAQtC;CAAG;AAEL,eAAO,MAAM,WAAW,GAAI,MAAM,YAAY,EAAE,OAAO,YAAY,KAAG,MACrC,CAAA;AAEjC,eAAO,MAAM,uBAAuB,GAAI,MAAM,kBAAkB,EAAE,OAAO,kBAAkB,KAAG,MACjD,CAAA;AAE7C,eAAO,MAAM,qBAAqB,GAAI,QAAQ,YAAY,KAAG,qBAK5D,CAAA"}
1
+ {"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../src/domain/target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,QAAQ,eAAgB,CAAA;AACrC,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAA;AAE3C,eAAO,MAAM,qBAAqB,6DAAqD,CAAA;AACvF,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAA;AAErE,eAAO,MAAM,mBAAmB,2DAAmD,CAAA;AACnF,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAA;AAEjE,eAAO,MAAM,gBAAgB,6EAAqE,CAAA;AAClG,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAA;AAE3D,eAAO,MAAM,cAAc,oFAA4E,CAAA;AACvG,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,wBAAwB,2EAAmE,CAAA;AACxG,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,IAAI,CAAA;AAE3E,eAAO,MAAM,SAAS,oDAA4C,CAAA;AAClE,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAA;;;;;;;;;;;;AAE7C,qBAAa,iBAAkB,SAAQ,sBAUrC;CAAG;;;;;;;;;;;AAEL,qBAAa,mBAAoB,SAAQ,wBASvC;CAAG;;;;;;;;;;;;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAcrC;CAAG;;;;;;;;;;AAEL,qBAAa,kBAAmB,SAAQ,uBAQtC;CAAG;;;;;;;;;;;;;;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAgBrC;CAAG;AAEL,eAAO,MAAM,YAAY,8JAMvB,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;;;;;;;;;;AAEnD,qBAAa,kBAAmB,SAAQ,uBAQtC;CAAG;AAEL,eAAO,MAAM,WAAW,GAAI,MAAM,YAAY,EAAE,OAAO,YAAY,KAAG,MACrC,CAAA;AAEjC,eAAO,MAAM,uBAAuB,GAAI,MAAM,kBAAkB,EAAE,OAAO,kBAAkB,KAAG,MACjD,CAAA;AAE7C,eAAO,MAAM,qBAAqB,GAAI,QAAQ,YAAY,KAAG,qBAQ5D,CAAA"}
@@ -45,7 +45,41 @@ export class HomebrewTapTarget extends Schema.TaggedClass()("HomebrewTapTarget",
45
45
  recovery: TargetRecovery
46
46
  }) {
47
47
  }
48
- export const TargetConfig = Schema.Union([NpmRegistryTarget, GitHubReleaseTarget, HomebrewTapTarget]);
48
+ export class PyPiRegistryTarget extends Schema.TaggedClass()("PyPiRegistryTarget", {
49
+ id: TargetId,
50
+ repositoryUrl: Schema.String,
51
+ usernameEnv: Schema.optionalKey(Schema.String),
52
+ passwordEnv: Schema.optionalKey(Schema.String),
53
+ dryRunSupport: TargetDryRunSupport,
54
+ mutability: TargetMutability,
55
+ recovery: TargetRecovery
56
+ }) {
57
+ }
58
+ export class ScoopBucketTarget extends Schema.TaggedClass()("ScoopBucketTarget", {
59
+ id: TargetId,
60
+ repository: Schema.String,
61
+ manifestName: Schema.String,
62
+ manifestPath: Schema.String,
63
+ artifactId: Schema.String,
64
+ homepage: Schema.optionalKey(Schema.String),
65
+ description: Schema.optionalKey(Schema.String),
66
+ license: Schema.optionalKey(Schema.String),
67
+ url: Schema.optionalKey(Schema.String),
68
+ bin: Schema.optionalKey(Schema.String),
69
+ bucketDirectory: Schema.optionalKey(Schema.String),
70
+ tokenEnv: Schema.optionalKey(Schema.String),
71
+ dryRunSupport: TargetDryRunSupport,
72
+ mutability: TargetMutability,
73
+ recovery: TargetRecovery
74
+ }) {
75
+ }
76
+ export const TargetConfig = Schema.Union([
77
+ NpmRegistryTarget,
78
+ GitHubReleaseTarget,
79
+ HomebrewTapTarget,
80
+ PyPiRegistryTarget,
81
+ ScoopBucketTarget
82
+ ]);
49
83
  export class TargetCapabilities extends Schema.Class("TargetCapabilities")({
50
84
  targetId: TargetId,
51
85
  targetTag: Schema.String,
@@ -59,8 +93,11 @@ export class TargetCapabilities extends Schema.Class("TargetCapabilities")({
59
93
  export const targetOrder = (left, right) => left.id.localeCompare(right.id);
60
94
  export const targetCapabilitiesOrder = (left, right) => left.targetId.localeCompare(right.targetId);
61
95
  export const targetAuthRequirement = (target) => {
62
- if (target._tag === "NpmRegistryTarget") {
63
- return target.tokenEnv === undefined ? "cli-auth" : "env-token";
96
+ if (target._tag === "PyPiRegistryTarget") {
97
+ return target.usernameEnv === undefined && target.passwordEnv === undefined ? "cli-auth" : "env-token";
98
+ }
99
+ if (target._tag === "HomebrewTapTarget" || target._tag === "ScoopBucketTarget") {
100
+ return "cli-auth";
64
101
  }
65
102
  return target.tokenEnv === undefined ? "cli-auth" : "env-token";
66
103
  };
@@ -1 +1 @@
1
- {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/domain/target.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/domain/target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAA;AAGrC,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;AAGvF,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;AAGnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAA;AAGlG,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAA;AAGvG,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAA;AAGxG,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAA;AAGlE,MAAM,OAAO,iBAAkB,SAAQ,MAAM,CAAC,WAAW,EAAqB,CAAC,mBAAmB,EAAE;IAClG,EAAE,EAAE,QAAQ;IACZ,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;IAC9C,aAAa,EAAE,mBAAmB;IAClC,UAAU,EAAE,gBAAgB;IAC5B,QAAQ,EAAE,cAAc;CACzB,CAAC;CAAG;AAEL,MAAM,OAAO,mBAAoB,SAAQ,MAAM,CAAC,WAAW,EAAuB,CAAC,qBAAqB,EAAE;IACxG,EAAE,EAAE,QAAQ;IACZ,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;IAC9C,aAAa,EAAE,mBAAmB;IAClC,UAAU,EAAE,gBAAgB;IAC5B,QAAQ,EAAE,cAAc;CACzB,CAAC;CAAG;AAEL,MAAM,OAAO,iBAAkB,SAAQ,MAAM,CAAC,WAAW,EAAqB,CAAC,mBAAmB,EAAE;IAClG,EAAE,EAAE,QAAQ;IACZ,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC/C,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9C,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,aAAa,EAAE,mBAAmB;IAClC,UAAU,EAAE,gBAAgB;IAC5B,QAAQ,EAAE,cAAc;CACzB,CAAC;CAAG;AAEL,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAAC,oBAAoB,EAAE;IACrG,EAAE,EAAE,QAAQ;IACZ,aAAa,EAAE,MAAM,CAAC,MAAM;IAC5B,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9C,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9C,aAAa,EAAE,mBAAmB;IAClC,UAAU,EAAE,gBAAgB;IAC5B,QAAQ,EAAE,cAAc;CACzB,CAAC;CAAG;AAEL,MAAM,OAAO,iBAAkB,SAAQ,MAAM,CAAC,WAAW,EAAqB,CAAC,mBAAmB,EAAE;IAClG,EAAE,EAAE,QAAQ;IACZ,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,YAAY,EAAE,MAAM,CAAC,MAAM;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM;IACzB,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,aAAa,EAAE,mBAAmB;IAClC,UAAU,EAAE,gBAAgB;IAC5B,QAAQ,EAAE,cAAc;CACzB,CAAC;CAAG;AAEL,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;IACvC,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;CAClB,CAAC,CAAA;AAGF,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,KAAK,CAAqB,oBAAoB,CAAC,CAAC;IAC7F,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,eAAe,EAAE,qBAAqB;IACtC,aAAa,EAAE,mBAAmB;IAClC,UAAU,EAAE,gBAAgB;IAC5B,QAAQ,EAAE,cAAc;IACxB,kBAAkB,EAAE,wBAAwB;CAC7C,CAAC;CAAG;AAEL,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAkB,EAAE,KAAmB,EAAU,EAAE,CAC7E,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;AAEjC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAwB,EAAE,KAAyB,EAAU,EAAE,CACrG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAoB,EAAyB,EAAE;IACnF,IAAI,MAAM,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAA;IACxG,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC/E,OAAO,UAAU,CAAA;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAA;AACjE,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import * as Layer from "effect/Layer";
2
+ import * as HttpClient from "effect/unstable/http/HttpClient";
3
+ import { ReleaseHost } from "./host.js";
4
+ import { ReleaseHttp } from "./http.js";
5
+ export type * from "../types/effect-internal.js";
6
+ export declare const LiveReleaseHttpLayer: Layer.Layer<ReleaseHttp, never, ReleaseHost | HttpClient.HttpClient>;
7
+ //# sourceMappingURL=http-live.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-live.d.ts","sourceRoot":"","sources":["../../src/host/http-live.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAG7D,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAA;AACzD,OAAO,EAAyB,WAAW,EAAE,MAAM,WAAW,CAAA;AAE9D,mBAAmB,6BAA6B,CAAA;AA2ChD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,UAAU,CAAC,UAAU,CA4CnG,CAAA"}
@@ -0,0 +1,76 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Layer from "effect/Layer";
3
+ import * as HttpClient from "effect/unstable/http/HttpClient";
4
+ import * as HttpClientRequest from "effect/unstable/http/HttpClientRequest";
5
+ import { ReleaseHost } from "./host.js";
6
+ import { HttpError, HttpResult, ReleaseHttp } from "./http.js";
7
+ const formatUnknown = (cause) => cause instanceof Error ? cause.message : String(cause);
8
+ const resolveHeaders = Effect.fn("resolveHeaders")(function* (host, request) {
9
+ const envNames = new Set([
10
+ ...request.requiredEnv,
11
+ ...request.envHeaders.map((header) => header.valueEnv)
12
+ ]);
13
+ const env = new Map();
14
+ const missing = [];
15
+ for (const name of envNames) {
16
+ const value = yield* host.readEnv(name);
17
+ if (value === undefined) {
18
+ missing.push(name);
19
+ }
20
+ else {
21
+ env.set(name, value);
22
+ }
23
+ }
24
+ if (missing.length > 0) {
25
+ return yield* Effect.fail(HttpError.make({
26
+ operation: "resolveHeaders",
27
+ url: request.url,
28
+ reason: `Missing required environment variables: ${missing.join(", ")}`
29
+ }));
30
+ }
31
+ const headers = {};
32
+ for (const header of request.headers) {
33
+ headers[header.name] = header.value;
34
+ }
35
+ for (const header of request.envHeaders) {
36
+ const value = env.get(header.valueEnv);
37
+ if (value !== undefined) {
38
+ headers[header.name] = `${header.prefix ?? ""}${value}`;
39
+ }
40
+ }
41
+ return headers;
42
+ });
43
+ export const LiveReleaseHttpLayer = Layer.effect(ReleaseHttp)(Effect.gen(function* () {
44
+ const host = yield* ReleaseHost;
45
+ const client = yield* HttpClient.HttpClient;
46
+ return {
47
+ runJson: (request) => Effect.gen(function* () {
48
+ const headers = yield* resolveHeaders(host, request);
49
+ const startedAt = new Date().toISOString();
50
+ const started = performance.now();
51
+ const httpRequest = HttpClientRequest.make(request.method)(request.url, { headers });
52
+ const response = yield* client.execute(httpRequest).pipe(Effect.mapError((error) => HttpError.make({
53
+ operation: "execute",
54
+ url: request.url,
55
+ reason: formatUnknown(error)
56
+ })));
57
+ const json = request.method === "HEAD"
58
+ ? null
59
+ : yield* response.json.pipe(Effect.mapError((error) => HttpError.make({
60
+ operation: "json",
61
+ url: request.url,
62
+ reason: formatUnknown(error)
63
+ })));
64
+ const endedAt = new Date().toISOString();
65
+ return HttpResult.make({
66
+ request,
67
+ status: response.status,
68
+ json,
69
+ startedAt,
70
+ endedAt,
71
+ durationMillis: Math.round(performance.now() - started)
72
+ });
73
+ })
74
+ };
75
+ }));
76
+ //# sourceMappingURL=http-live.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-live.js","sourceRoot":"","sources":["../../src/host/http-live.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import * as Context from "effect/Context";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import * as Schema from "effect/Schema";
5
+ import { HttpRequestSpec } from "../domain/operation.js";
6
+ export type * from "../types/effect-internal.js";
7
+ declare const HttpError_base: Schema.Class<HttpError, Schema.TaggedStruct<"HttpError", {
8
+ readonly operation: Schema.String;
9
+ readonly url: Schema.String;
10
+ readonly reason: Schema.String;
11
+ }>, import("effect/Cause").YieldableError>;
12
+ export declare class HttpError extends HttpError_base {
13
+ }
14
+ declare const HttpResult_base: Schema.Class<HttpResult, Schema.Struct<{
15
+ readonly request: typeof HttpRequestSpec;
16
+ readonly status: Schema.Number;
17
+ readonly json: Schema.Codec<Schema.Json, Schema.Json, never, never>;
18
+ readonly startedAt: Schema.String;
19
+ readonly endedAt: Schema.String;
20
+ readonly durationMillis: Schema.Number;
21
+ }>, {}>;
22
+ export declare class HttpResult extends HttpResult_base {
23
+ }
24
+ export interface ReleaseHttpShape {
25
+ readonly runJson: (request: HttpRequestSpec) => Effect.Effect<HttpResult, HttpError>;
26
+ }
27
+ declare const ReleaseHttp_base: Context.ServiceClass<ReleaseHttp, "ReleaseHttp", ReleaseHttpShape>;
28
+ export declare class ReleaseHttp extends ReleaseHttp_base {
29
+ }
30
+ export interface TestHttpResponse {
31
+ readonly status: number;
32
+ readonly json: Schema.Json;
33
+ }
34
+ export interface TestReleaseHttpOptions {
35
+ readonly responses?: ReadonlyMap<string, TestHttpResponse> | undefined;
36
+ readonly timestamps?: ReadonlyArray<string> | undefined;
37
+ }
38
+ export declare const httpRequestKey: (request: HttpRequestSpec) => string;
39
+ export declare const makeTestReleaseHttpLayer: (options?: TestReleaseHttpOptions) => Layer.Layer<ReleaseHttp>;
40
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/host/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,mBAAmB,6BAA6B,CAAA;;;;;;AAEhD,qBAAa,SAAU,SAAQ,cAI7B;CAAG;;;;;;;;;AAEL,qBAAa,UAAW,SAAQ,eAO9B;CAAG;AAEL,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;CACrF;;AAED,qBAAa,WAAY,SAAQ,gBAA+D;CAAG;AAEnG,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CACxD;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,eAAe,KAAG,MACjB,CAAA;AAEzC,eAAO,MAAM,wBAAwB,GACnC,UAAS,sBAA2B,KACnC,KAAK,CAAC,KAAK,CAAC,WAAW,CAoCzB,CAAA"}
@@ -0,0 +1,56 @@
1
+ import * as Context from "effect/Context";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import * as Schema from "effect/Schema";
5
+ import { HttpRequestSpec } from "../domain/operation.js";
6
+ export class HttpError extends Schema.TaggedErrorClass()("HttpError", {
7
+ operation: Schema.String,
8
+ url: Schema.String,
9
+ reason: Schema.String
10
+ }) {
11
+ }
12
+ export class HttpResult extends Schema.Class("HttpResult")({
13
+ request: HttpRequestSpec,
14
+ status: Schema.Number,
15
+ json: Schema.Json,
16
+ startedAt: Schema.String,
17
+ endedAt: Schema.String,
18
+ durationMillis: Schema.Number
19
+ }) {
20
+ }
21
+ export class ReleaseHttp extends Context.Service()("ReleaseHttp") {
22
+ }
23
+ export const httpRequestKey = (request) => `${request.method}\u0000${request.url}`;
24
+ export const makeTestReleaseHttpLayer = (options = {}) => {
25
+ const responses = new Map(options.responses ?? []);
26
+ const timestamps = [...(options.timestamps ?? ["2026-06-16T00:00:00.000Z"])];
27
+ let timestampIndex = 0;
28
+ const nextTimestamp = () => {
29
+ const value = timestamps[timestampIndex] ?? timestamps[timestamps.length - 1] ?? "2026-06-16T00:00:00.000Z";
30
+ timestampIndex += 1;
31
+ return value;
32
+ };
33
+ return Layer.succeed(ReleaseHttp)({
34
+ runJson: (request) => Effect.gen(function* () {
35
+ const startedAt = nextTimestamp();
36
+ const response = responses.get(httpRequestKey(request));
37
+ if (response === undefined) {
38
+ return yield* Effect.fail(HttpError.make({
39
+ operation: "runJson",
40
+ url: request.url,
41
+ reason: "No test HTTP response configured"
42
+ }));
43
+ }
44
+ const endedAt = nextTimestamp();
45
+ return HttpResult.make({
46
+ request,
47
+ status: response.status,
48
+ json: response.json,
49
+ startedAt,
50
+ endedAt,
51
+ durationMillis: 0
52
+ });
53
+ })
54
+ });
55
+ };
56
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/host/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAIxD,MAAM,OAAO,SAAU,SAAQ,MAAM,CAAC,gBAAgB,EAAa,CAAC,WAAW,EAAE;IAC/E,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC;CAAG;AAEL,MAAM,OAAO,UAAW,SAAQ,MAAM,CAAC,KAAK,CAAa,YAAY,CAAC,CAAC;IACrE,OAAO,EAAE,eAAe;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC,IAAI;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,cAAc,EAAE,MAAM,CAAC,MAAM;CAC9B,CAAC;CAAG;AAML,MAAM,OAAO,WAAY,SAAQ,OAAO,CAAC,OAAO,EAAiC,CAAC,aAAa,CAAC;CAAG;AAYnG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAwB,EAAU,EAAE,CACjE,GAAG,OAAO,CAAC,MAAM,SAAS,OAAO,CAAC,GAAG,EAAE,CAAA;AAEzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,UAAkC,EAAE,EACV,EAAE;IAC5B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IAClD,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAA;IAC5E,IAAI,cAAc,GAAG,CAAC,CAAA;IAEtB,MAAM,aAAa,GAAG,GAAW,EAAE;QACjC,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,0BAA0B,CAAA;QAC3G,cAAc,IAAI,CAAC,CAAA;QACnB,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAClB,MAAM,SAAS,GAAG,aAAa,EAAE,CAAA;YACjC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;YACvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACvB,SAAS,CAAC,IAAI,CAAC;oBACb,SAAS,EAAE,SAAS;oBACpB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,MAAM,EAAE,kCAAkC;iBAC3C,CAAC,CACH,CAAA;YACH,CAAC;YACD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;YAC/B,OAAO,UAAU,CAAC,IAAI,CAAC;gBACrB,OAAO;gBACP,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,SAAS;gBACT,OAAO;gBACP,cAAc,EAAE,CAAC;aAClB,CAAC,CAAA;QACJ,CAAC,CAAC;KACL,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import * as Schema from "effect/Schema";
2
- import { EvidenceBundle } from "../domain/evidence.js";
2
+ import { EvidenceBundle, ReleaseWorkflowFailureEvidence } from "../domain/evidence.js";
3
3
  export type * from "../types/effect-internal.js";
4
4
  declare const ReleaseNormalizationError_base: Schema.Class<ReleaseNormalizationError, Schema.TaggedStruct<"ReleaseNormalizationError", {
5
5
  readonly field: Schema.String;
@@ -27,9 +27,11 @@ export declare class EvidenceWriteError extends EvidenceWriteError_base {
27
27
  }
28
28
  declare const OperationFailedError_base: Schema.Class<OperationFailedError, Schema.TaggedStruct<"OperationFailedError", {
29
29
  readonly operationId: Schema.String;
30
- readonly exitCode: Schema.Number;
30
+ readonly exitCode: Schema.optionalKey<Schema.Number>;
31
+ readonly responseStatus: Schema.optionalKey<Schema.Number>;
31
32
  readonly reason: Schema.String;
32
33
  readonly evidence: Schema.optionalKey<typeof EvidenceBundle>;
34
+ readonly workflowEvidence: Schema.optionalKey<typeof ReleaseWorkflowFailureEvidence>;
33
35
  }>, import("effect/Cause").YieldableError>;
34
36
  export declare class OperationFailedError extends OperationFailedError_base {
35
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/planner/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,mBAAmB,6BAA6B,CAAA;;;;;AAEhD,qBAAa,yBAA0B,SAAQ,8BAM9C;CAAG;;;;;AAEJ,qBAAa,sBAAuB,SAAQ,2BAM3C;CAAG;;;;;AAEJ,qBAAa,qBAAsB,SAAQ,0BAGzC;CAAG;;;;;AAEL,qBAAa,kBAAmB,SAAQ,uBAGtC;CAAG;;;;;;;AAEL,qBAAa,oBAAqB,SAAQ,yBAKxC;CAAG;AAEL,MAAM,MAAM,YAAY,GACpB,yBAAyB,GACzB,sBAAsB,GACtB,qBAAqB,GACrB,kBAAkB,GAClB,oBAAoB,CAAA"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/planner/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAA;AAEtF,mBAAmB,6BAA6B,CAAA;;;;;AAEhD,qBAAa,yBAA0B,SAAQ,8BAM9C;CAAG;;;;;AAEJ,qBAAa,sBAAuB,SAAQ,2BAM3C;CAAG;;;;;AAEJ,qBAAa,qBAAsB,SAAQ,0BAGzC;CAAG;;;;;AAEL,qBAAa,kBAAmB,SAAQ,uBAGtC;CAAG;;;;;;;;;AAEL,qBAAa,oBAAqB,SAAQ,yBAOxC;CAAG;AAEL,MAAM,MAAM,YAAY,GACpB,yBAAyB,GACzB,sBAAsB,GACtB,qBAAqB,GACrB,kBAAkB,GAClB,oBAAoB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import * as Schema from "effect/Schema";
2
- import { EvidenceBundle } from "../domain/evidence.js";
2
+ import { EvidenceBundle, ReleaseWorkflowFailureEvidence } from "../domain/evidence.js";
3
3
  export class ReleaseNormalizationError extends Schema.TaggedErrorClass()("ReleaseNormalizationError", {
4
4
  field: Schema.String,
5
5
  reason: Schema.String
@@ -22,9 +22,11 @@ export class EvidenceWriteError extends Schema.TaggedErrorClass()("EvidenceWrite
22
22
  }
23
23
  export class OperationFailedError extends Schema.TaggedErrorClass()("OperationFailedError", {
24
24
  operationId: Schema.String,
25
- exitCode: Schema.Number,
25
+ exitCode: Schema.optionalKey(Schema.Number),
26
+ responseStatus: Schema.optionalKey(Schema.Number),
26
27
  reason: Schema.String,
27
- evidence: Schema.optionalKey(EvidenceBundle)
28
+ evidence: Schema.optionalKey(EvidenceBundle),
29
+ workflowEvidence: Schema.optionalKey(ReleaseWorkflowFailureEvidence)
28
30
  }) {
29
31
  }
30
32
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/planner/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAItD,MAAM,OAAO,yBAA0B,SAAQ,MAAM,CAAC,gBAAgB,EAA6B,CACjG,2BAA2B,EAC3B;IACE,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CACF;CAAG;AAEJ,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,gBAAgB,EAA0B,CAC3F,wBAAwB,EACxB;IACE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CACF;CAAG;AAEJ,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,gBAAgB,EAAyB,CAAC,uBAAuB,EAAE;IACnH,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC;CAAG;AAEL,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,gBAAgB,EAAsB,CAAC,oBAAoB,EAAE;IAC1G,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC;CAAG;AAEL,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,gBAAgB,EAAwB,CAAC,sBAAsB,EAAE;IAChH,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;CAC7C,CAAC;CAAG"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/planner/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAA;AAItF,MAAM,OAAO,yBAA0B,SAAQ,MAAM,CAAC,gBAAgB,EAA6B,CACjG,2BAA2B,EAC3B;IACE,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CACF;CAAG;AAEJ,MAAM,OAAO,sBAAuB,SAAQ,MAAM,CAAC,gBAAgB,EAA0B,CAC3F,wBAAwB,EACxB;IACE,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CACF;CAAG;AAEJ,MAAM,OAAO,qBAAsB,SAAQ,MAAM,CAAC,gBAAgB,EAAyB,CAAC,uBAAuB,EAAE;IACnH,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC;CAAG;AAEL,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,gBAAgB,EAAsB,CAAC,oBAAoB,EAAE;IAC1G,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC;CAAG;AAEL,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,gBAAgB,EAAwB,CAAC,sBAAsB,EAAE;IAChH,WAAW,EAAE,MAAM,CAAC,MAAM;IAC1B,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;IAC5C,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,8BAA8B,CAAC;CACrE,CAAC;CAAG"}
@@ -1,16 +1,19 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as Schema from "effect/Schema";
3
- import { CommandEvidence, EvidenceBundle, EvidenceRecord, ExecutionEvidence, ValidationEvidence } from "../domain/evidence.js";
3
+ import { CommandEvidence, EvidenceBundle, EvidenceRecord, ExecutionEvidence, HttpEvidence, ValidationEvidence } from "../domain/evidence.js";
4
+ import { VerifyHttpOperation } from "../domain/operation.js";
4
5
  import { ReleasePlan } from "../domain/release.js";
5
6
  import { ReleaseHost } from "../host/host.js";
7
+ import { ReleaseHttp } from "../host/http.js";
6
8
  import { EvidenceWriteError } from "./errors.js";
7
9
  export type * from "../types/effect-internal.js";
8
10
  export declare const emptyEvidenceBundle: (plan: ReleasePlan) => EvidenceBundle;
9
11
  export declare const appendEvidenceRecord: (bundle: EvidenceBundle, record: EvidenceRecord) => EvidenceBundle;
10
12
  export declare const redactText: (input: string, secrets: ReadonlyArray<string>) => string;
11
- export declare const readRedactionSecrets: (operation: import("../domain/operation.js").RenderFileOperation | import("../domain/operation.js").ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | import("../domain/operation.js").PublishCommandOperation | import("../domain/operation.js").VerifyRemoteOperation) => Effect.Effect<string[], never, ReleaseHost>;
13
+ export declare const readRedactionSecrets: (operation: import("../domain/operation.js").RenderFileOperation | import("../domain/operation.js").ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | import("../domain/operation.js").PublishCommandOperation | import("../domain/operation.js").VerifyRemoteOperation | VerifyHttpOperation) => Effect.Effect<string[], never, ReleaseHost>;
12
14
  export declare const commandEvidenceFromResult: (operation: import("../domain/operation.js").ValidateCommandOperation | import("../domain/operation.js").PublishCommandOperation | import("../domain/operation.js").VerifyRemoteOperation) => Effect.Effect<CommandEvidence, import("../host/host.js").HostError, ReleaseHost>;
13
- export declare const executionEvidence: (operation: import("../domain/operation.js").RenderFileOperation | import("../domain/operation.js").ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | import("../domain/operation.js").PublishCommandOperation | import("../domain/operation.js").VerifyRemoteOperation, message: string) => Effect.Effect<ExecutionEvidence, never, ReleaseHost>;
15
+ export declare const httpEvidenceFromResult: (operation: VerifyHttpOperation) => Effect.Effect<HttpEvidence, never, ReleaseHost | ReleaseHttp>;
16
+ export declare const executionEvidence: (operation: import("../domain/operation.js").RenderFileOperation | import("../domain/operation.js").ValidateCommandOperation | import("../domain/operation.js").ValidationNoteOperation | import("../domain/operation.js").PublishCommandOperation | import("../domain/operation.js").VerifyRemoteOperation | VerifyHttpOperation, message: string) => Effect.Effect<ExecutionEvidence, never, ReleaseHost>;
14
17
  export declare const validationNoteEvidence: (operation: import("../domain/operation.js").ValidationNoteOperation) => Effect.Effect<ValidationEvidence, never, ReleaseHost>;
15
18
  export declare const renderEvidenceJson: (bundle: EvidenceBundle) => string;
16
19
  export declare const writeEvidenceBundle: (path: string, bundle: EvidenceBundle) => Effect.Effect<void, EvidenceWriteError, ReleaseHost>;
@@ -1 +1 @@
1
- {"version":3,"file":"evidence-recorder.d.ts","sourceRoot":"","sources":["../../src/planner/evidence-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,mBAAmB,GAAI,MAAM,WAAW,KAAG,cAMpD,CAAA;AAEJ,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,cAAc,EACtB,QAAQ,cAAc,KACrB,cAMC,CAAA;AAEJ,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,KAAG,MAQ1E,CAAA;AAED,eAAO,MAAM,oBAAoB,6VAW/B,CAAA;AAEF,eAAO,MAAM,yBAAyB,gRAqBpC,CAAA;AAEF,eAAO,MAAM,iBAAiB,uXAY5B,CAAA;AAEF,eAAO,MAAM,sBAAsB,gIAejC,CAAA;AAEF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,cAAc,KAAG,MACpB,CAAA;AAExC,eAAO,MAAM,mBAAmB,gGAU9B,CAAA;AAEF,eAAO,MAAM,oBAAoB,iIAA6C,CAAA"}
1
+ {"version":3,"file":"evidence-recorder.d.ts","sourceRoot":"","sources":["../../src/planner/evidence-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EACL,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EAEjB,YAAY,EAEZ,kBAAkB,EACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAA0D,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACpH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD,mBAAmB,6BAA6B,CAAA;AAEhD,eAAO,MAAM,mBAAmB,GAAI,MAAM,WAAW,KAAG,cAMpD,CAAA;AAEJ,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,cAAc,EACtB,QAAQ,cAAc,KACrB,cAMC,CAAA;AAEJ,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,SAAS,aAAa,CAAC,MAAM,CAAC,KAAG,MAQ1E,CAAA;AAED,eAAO,MAAM,oBAAoB,mXAe/B,CAAA;AAEF,eAAO,MAAM,yBAAyB,gRAqBpC,CAAA;AA2GF,eAAO,MAAM,sBAAsB,mGA2DjC,CAAA;AAEF,eAAO,MAAM,iBAAiB,6YAY5B,CAAA;AAEF,eAAO,MAAM,sBAAsB,gIAejC,CAAA;AAEF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,cAAc,KAAG,MACpB,CAAA;AAExC,eAAO,MAAM,mBAAmB,gGAU9B,CAAA;AAEF,eAAO,MAAM,oBAAoB,iIAA6C,CAAA"}