@homeflare/alchemy 0.27.3 → 0.28.0
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/dist/cloudflare/mesh-node-token.d.ts +1 -1
- package/dist/cloudflare/mesh-node-token.d.ts.map +1 -1
- package/dist/forgejo/branch-protection.d.ts +4 -4
- package/dist/forgejo/org-actions-secrets.d.ts +4 -4
- package/dist/forgejo/org-label.d.ts +4 -4
- package/dist/forgejo/org-team.d.ts +4 -4
- package/dist/forgejo/repo-webhook.d.ts +4 -4
- package/dist/forgejo/repository.d.ts +4 -4
- package/dist/forgejo/team-member.d.ts +4 -4
- package/dist/github/index.d.ts +1 -1
- package/dist/github/index.d.ts.map +1 -1
- package/dist/github/index.js +99 -3
- package/dist/github/index.js.map +8 -7
- package/dist/github/repository-ruleset-errors.d.ts +34 -1
- package/dist/github/repository-ruleset-errors.d.ts.map +1 -1
- package/dist/github/repository-ruleset-guards.d.ts +12 -0
- package/dist/github/repository-ruleset-guards.d.ts.map +1 -1
- package/dist/github/repository-ruleset-narrowing-guards.d.ts +39 -0
- package/dist/github/repository-ruleset-narrowing-guards.d.ts.map +1 -0
- package/dist/github/repository-ruleset-props.d.ts +88 -0
- package/dist/github/repository-ruleset-props.d.ts.map +1 -0
- package/dist/github/repository-ruleset-reconcile.d.ts.map +1 -1
- package/dist/github/repository-ruleset.d.ts +3 -31
- package/dist/github/repository-ruleset.d.ts.map +1 -1
- package/dist/netbox/fake-netbox.d.ts +43 -0
- package/dist/netbox/fake-netbox.d.ts.map +1 -0
- package/dist/netbox/index.d.ts +1 -2
- package/dist/netbox/index.d.ts.map +1 -1
- package/dist/netbox/index.js +71 -119
- package/dist/netbox/index.js.map +5 -6
- package/dist/netbox/prefix.d.ts +33 -2
- package/dist/netbox/prefix.d.ts.map +1 -1
- package/dist/netbox/resource.d.ts +73 -48
- package/dist/netbox/resource.d.ts.map +1 -1
- package/docs/credentials.md +10 -0
- package/docs/peers.md +11 -0
- package/docs/upstream-conformance.md +17 -2
- package/package.json +7 -2
- package/src/github/index.ts +2 -0
- package/src/github/repository-ruleset-errors.ts +45 -0
- package/src/github/repository-ruleset-exact-adopt.test.ts +179 -0
- package/src/github/repository-ruleset-guards.ts +8 -2
- package/src/github/repository-ruleset-narrowing-guards.ts +141 -0
- package/src/github/repository-ruleset-narrowing.test.ts +210 -0
- package/src/github/repository-ruleset-props.ts +92 -0
- package/src/github/repository-ruleset-reconcile.ts +35 -0
- package/src/github/repository-ruleset-write-refusals.test.ts +6 -26
- package/src/github/repository-ruleset.ts +27 -41
- package/src/netbox/fake-netbox.ts +56 -0
- package/src/netbox/index.ts +8 -2
- package/src/netbox/prefix.test.ts +223 -0
- package/src/netbox/prefix.ts +68 -32
- package/src/netbox/resource.test.ts +67 -0
- package/src/netbox/resource.ts +133 -112
- package/dist/netbox/client.d.ts +0 -52
- package/dist/netbox/client.d.ts.map +0 -1
- package/src/netbox/client.test.ts +0 -67
- package/src/netbox/client.ts +0 -146
|
@@ -19,5 +19,5 @@ export type MeshNodeRef = {
|
|
|
19
19
|
* success body IS the token. Other SDK errors pass through; they come only from non-2xx
|
|
20
20
|
* responses, which carry an error envelope, not a token.
|
|
21
21
|
*/
|
|
22
|
-
export declare const fetchMeshNodeToken: (ref: MeshNodeRef) => Effect.Effect<Redacted.Redacted<string>, import("@distilled.cloud/
|
|
22
|
+
export declare const fetchMeshNodeToken: (ref: MeshNodeRef) => Effect.Effect<Redacted.Redacted<string>, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").CloudflareError | import("@distilled.cloud/cloudflare/Errors").CloudflareHttpError | import("@distilled.cloud/cloudflare/Errors").CloudflareParseError | import("@distilled.cloud/cloudflare/Errors").CloudflareRateLimited | import("@distilled.cloud/core/errors").ConfigError | zeroTrust.Forbidden | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | import("@distilled.cloud/cloudflare/Errors").InvalidRoute | MeshNodeError | import("@distilled.cloud/cloudflare/Credentials").OAuthRefreshError | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/cloudflare/Errors").UnknownCloudflareError, zeroTrust.CloudflareOpContext>;
|
|
23
23
|
//# sourceMappingURL=mesh-node-token.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mesh-node-token.d.ts","sourceRoot":"","sources":["../../src/cloudflare/mesh-node-token.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,SAAS,MAAM,wCAAwC,CAAC;AACpE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAkB,MAAM,oBAAoB,CAAC;AAEnE,yEAAyE;AACzE,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,CACvD;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,SAAS,CAAA;CAAE,CACrD,CAAC;AAoDF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,QAAS,WAAW,
|
|
1
|
+
{"version":3,"file":"mesh-node-token.d.ts","sourceRoot":"","sources":["../../src/cloudflare/mesh-node-token.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,SAAS,MAAM,wCAAwC,CAAC;AACpE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAkB,MAAM,oBAAoB,CAAC;AAEnE,yEAAyE;AACzE,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,CACvD;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,SAAS,CAAA;CAAE,CACrD,CAAC;AAoDF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,QAAS,WAAW,8gCA4B/C,CAAC"}
|
|
@@ -56,7 +56,7 @@ export declare const handlers: {
|
|
|
56
56
|
list: () => Effect.Effect<never[], never, never>;
|
|
57
57
|
read: ({ olds }: {
|
|
58
58
|
olds: BranchProtectionProps;
|
|
59
|
-
}) => Effect.Effect<BranchProtectionAttributes | undefined, import("@distilled.cloud/
|
|
59
|
+
}) => Effect.Effect<BranchProtectionAttributes | undefined, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | repository.Locked | repository.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
60
60
|
diff: ({ news, output }: {
|
|
61
61
|
news: import("alchemy").Input<BranchProtectionProps>;
|
|
62
62
|
output: BranchProtectionAttributes | undefined;
|
|
@@ -66,13 +66,13 @@ export declare const handlers: {
|
|
|
66
66
|
readonly action: 'noop';
|
|
67
67
|
} | {
|
|
68
68
|
readonly action: 'replace';
|
|
69
|
-
} | undefined, import("@distilled.cloud/
|
|
69
|
+
} | undefined, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | repository.Locked | repository.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
70
70
|
reconcile: ({ news }: {
|
|
71
71
|
news: BranchProtectionProps;
|
|
72
|
-
}) => Effect.Effect<BranchProtectionAttributes, import("@distilled.cloud/
|
|
72
|
+
}) => Effect.Effect<BranchProtectionAttributes, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | repository.Locked | repository.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
73
73
|
delete: ({ olds }: {
|
|
74
74
|
olds: BranchProtectionProps;
|
|
75
|
-
}) => Effect.Effect<void, import("@distilled.cloud/
|
|
75
|
+
}) => Effect.Effect<void, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | repository.Locked | repository.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
76
76
|
};
|
|
77
77
|
export declare const ForgejoBranchProtectionProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoBranchProtection>, never, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
78
78
|
//# sourceMappingURL=branch-protection.d.ts.map
|
|
@@ -52,7 +52,7 @@ export declare const handlers: {
|
|
|
52
52
|
list: () => Effect.Effect<never[], never, never>;
|
|
53
53
|
read: ({ olds }: {
|
|
54
54
|
olds: OrgSecretProps;
|
|
55
|
-
}) => Effect.Effect<OrgSecretAttributes | undefined, import("@distilled.cloud/
|
|
55
|
+
}) => Effect.Effect<OrgSecretAttributes | undefined, import("@distilled.cloud/core/errors").BadGateway | organization.BadRequest | import("@distilled.cloud/core/errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoSecretEnvUnsetError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
56
56
|
diff: ({ news, output }: {
|
|
57
57
|
news: import("alchemy").Input<OrgSecretProps>;
|
|
58
58
|
output: OrgSecretAttributes | undefined;
|
|
@@ -62,13 +62,13 @@ export declare const handlers: {
|
|
|
62
62
|
readonly action: 'noop';
|
|
63
63
|
} | {
|
|
64
64
|
readonly action: 'replace';
|
|
65
|
-
} | undefined, import("@distilled.cloud/
|
|
65
|
+
} | undefined, import("@distilled.cloud/core/errors").BadGateway | organization.BadRequest | import("@distilled.cloud/core/errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoSecretEnvUnsetError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
66
66
|
reconcile: ({ news }: {
|
|
67
67
|
news: OrgSecretProps;
|
|
68
|
-
}) => Effect.Effect<OrgSecretAttributes, import("@distilled.cloud/
|
|
68
|
+
}) => Effect.Effect<OrgSecretAttributes, import("@distilled.cloud/core/errors").BadGateway | organization.BadRequest | import("@distilled.cloud/core/errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoSecretEnvUnsetError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
69
69
|
delete: ({ olds }: {
|
|
70
70
|
olds: OrgSecretProps;
|
|
71
|
-
}) => Effect.Effect<void, import("@distilled.cloud/
|
|
71
|
+
}) => Effect.Effect<void, import("@distilled.cloud/core/errors").BadGateway | organization.BadRequest | import("@distilled.cloud/core/errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoSecretEnvUnsetError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
72
72
|
};
|
|
73
73
|
export declare const ForgejoOrgSecretProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoOrgSecret>, never, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
74
74
|
export {};
|
|
@@ -51,7 +51,7 @@ export declare const handlers: {
|
|
|
51
51
|
list: () => Effect.Effect<never[], never, never>;
|
|
52
52
|
read: ({ olds }: {
|
|
53
53
|
olds: OrgLabelProps;
|
|
54
|
-
}) => Effect.Effect<OrgLabelAttributes | undefined, import("@distilled.cloud/
|
|
54
|
+
}) => Effect.Effect<OrgLabelAttributes | undefined, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
55
55
|
diff: ({ news, output }: {
|
|
56
56
|
news: import("alchemy").Input<OrgLabelProps>;
|
|
57
57
|
output: OrgLabelAttributes | undefined;
|
|
@@ -61,13 +61,13 @@ export declare const handlers: {
|
|
|
61
61
|
readonly action: 'noop';
|
|
62
62
|
} | {
|
|
63
63
|
readonly action: 'replace';
|
|
64
|
-
} | undefined, import("@distilled.cloud/
|
|
64
|
+
} | undefined, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
65
65
|
reconcile: ({ news }: {
|
|
66
66
|
news: OrgLabelProps;
|
|
67
|
-
}) => Effect.Effect<OrgLabelAttributes, import("@distilled.cloud/
|
|
67
|
+
}) => Effect.Effect<OrgLabelAttributes, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
68
68
|
delete: ({ olds }: {
|
|
69
69
|
olds: OrgLabelProps;
|
|
70
|
-
}) => Effect.Effect<void, import("@distilled.cloud/
|
|
70
|
+
}) => Effect.Effect<void, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
71
71
|
};
|
|
72
72
|
export declare const ForgejoOrgLabelProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoOrgLabel>, never, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
73
73
|
//# sourceMappingURL=org-label.d.ts.map
|
|
@@ -53,7 +53,7 @@ export declare const handlers: {
|
|
|
53
53
|
list: () => Effect.Effect<never[], never, never>;
|
|
54
54
|
read: ({ olds }: {
|
|
55
55
|
olds: OrgTeamProps;
|
|
56
|
-
}) => Effect.Effect<OrgTeamAttributes | undefined, import("@distilled.cloud/
|
|
56
|
+
}) => Effect.Effect<OrgTeamAttributes | undefined, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
57
57
|
diff: ({ news, output }: {
|
|
58
58
|
news: import("alchemy").Input<OrgTeamProps>;
|
|
59
59
|
output: OrgTeamAttributes | undefined;
|
|
@@ -63,13 +63,13 @@ export declare const handlers: {
|
|
|
63
63
|
readonly action: 'noop';
|
|
64
64
|
} | {
|
|
65
65
|
readonly action: 'replace';
|
|
66
|
-
} | undefined, import("@distilled.cloud/
|
|
66
|
+
} | undefined, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
67
67
|
reconcile: ({ news }: {
|
|
68
68
|
news: OrgTeamProps;
|
|
69
|
-
}) => Effect.Effect<OrgTeamAttributes, import("@distilled.cloud/
|
|
69
|
+
}) => Effect.Effect<OrgTeamAttributes, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
70
70
|
delete: ({ olds }: {
|
|
71
71
|
olds: OrgTeamProps;
|
|
72
|
-
}) => Effect.Effect<void, import("@distilled.cloud/
|
|
72
|
+
}) => Effect.Effect<void, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
73
73
|
};
|
|
74
74
|
export declare const ForgejoOrgTeamProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoOrgTeam>, never, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
75
75
|
//# sourceMappingURL=org-team.d.ts.map
|
|
@@ -56,7 +56,7 @@ export declare const handlers: {
|
|
|
56
56
|
list: () => Effect.Effect<never[], never, never>;
|
|
57
57
|
read: ({ olds }: {
|
|
58
58
|
olds: RepoWebhookProps;
|
|
59
|
-
}) => Effect.Effect<RepoWebhookAttributes | undefined, import("@distilled.cloud/
|
|
59
|
+
}) => Effect.Effect<RepoWebhookAttributes | undefined, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | repository.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
60
60
|
diff: ({ news, output }: {
|
|
61
61
|
news: import("alchemy").Input<RepoWebhookProps>;
|
|
62
62
|
output: RepoWebhookAttributes | undefined;
|
|
@@ -66,13 +66,13 @@ export declare const handlers: {
|
|
|
66
66
|
readonly action: 'noop';
|
|
67
67
|
} | {
|
|
68
68
|
readonly action: 'replace';
|
|
69
|
-
} | undefined, import("@distilled.cloud/
|
|
69
|
+
} | undefined, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | repository.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
70
70
|
reconcile: ({ news }: {
|
|
71
71
|
news: RepoWebhookProps;
|
|
72
|
-
}) => Effect.Effect<RepoWebhookAttributes, import("@distilled.cloud/
|
|
72
|
+
}) => Effect.Effect<RepoWebhookAttributes, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | repository.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
73
73
|
delete: ({ olds }: {
|
|
74
74
|
olds: RepoWebhookProps;
|
|
75
|
-
}) => Effect.Effect<void, import("@distilled.cloud/
|
|
75
|
+
}) => Effect.Effect<void, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | repository.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
76
76
|
};
|
|
77
77
|
export declare const ForgejoRepoWebhookProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoRepoWebhook>, never, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
78
78
|
//# sourceMappingURL=repo-webhook.d.ts.map
|
|
@@ -68,7 +68,7 @@ export declare const handlers: {
|
|
|
68
68
|
list: () => Effect.Effect<never[], never, never>;
|
|
69
69
|
read: ({ olds }: {
|
|
70
70
|
olds: RepositoryProps;
|
|
71
|
-
}) => Effect.Effect<RepositoryAttributes | undefined, import("@distilled.cloud/
|
|
71
|
+
}) => Effect.Effect<RepositoryAttributes | undefined, import("@distilled.cloud/core/errors").BadGateway | organization.BadRequest | import("@distilled.cloud/core/errors").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
72
72
|
diff: ({ news, output }: {
|
|
73
73
|
news: import("alchemy").Input<RepositoryProps>;
|
|
74
74
|
output: RepositoryAttributes | undefined;
|
|
@@ -78,13 +78,13 @@ export declare const handlers: {
|
|
|
78
78
|
readonly action: 'noop';
|
|
79
79
|
} | {
|
|
80
80
|
readonly action: 'replace';
|
|
81
|
-
} | undefined, import("@distilled.cloud/
|
|
81
|
+
} | undefined, import("@distilled.cloud/core/errors").BadGateway | organization.BadRequest | import("@distilled.cloud/core/errors").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
82
82
|
reconcile: ({ news }: {
|
|
83
83
|
news: RepositoryProps;
|
|
84
|
-
}) => Effect.Effect<RepositoryAttributes, import("@distilled.cloud/
|
|
84
|
+
}) => Effect.Effect<RepositoryAttributes, import("@distilled.cloud/core/errors").BadGateway | organization.BadRequest | import("@distilled.cloud/core/errors").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
85
85
|
delete: ({ olds }: {
|
|
86
86
|
olds: RepositoryProps;
|
|
87
|
-
}) => Effect.Effect<void, import("@distilled.cloud/
|
|
87
|
+
}) => Effect.Effect<void, import("@distilled.cloud/core/errors").BadGateway | organization.BadRequest | import("@distilled.cloud/core/errors").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
88
88
|
};
|
|
89
89
|
export declare const ForgejoRepositoryProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoRepository>, never, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
90
90
|
//# sourceMappingURL=repository.d.ts.map
|
|
@@ -60,7 +60,7 @@ export declare const handlers: {
|
|
|
60
60
|
list: () => Effect.Effect<never[], never, never>;
|
|
61
61
|
read: ({ olds }: {
|
|
62
62
|
olds: TeamMemberProps;
|
|
63
|
-
}) => Effect.Effect<TeamMemberAttributes | undefined, import("@distilled.cloud/
|
|
63
|
+
}) => Effect.Effect<TeamMemberAttributes | undefined, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
64
64
|
diff: ({ news, output }: {
|
|
65
65
|
news: import("alchemy").Input<TeamMemberProps>;
|
|
66
66
|
output: TeamMemberAttributes | undefined;
|
|
@@ -70,13 +70,13 @@ export declare const handlers: {
|
|
|
70
70
|
readonly action: 'noop';
|
|
71
71
|
} | {
|
|
72
72
|
readonly action: 'replace';
|
|
73
|
-
} | undefined, import("@distilled.cloud/
|
|
73
|
+
} | undefined, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
74
74
|
reconcile: ({ news }: {
|
|
75
75
|
news: TeamMemberProps;
|
|
76
|
-
}) => Effect.Effect<TeamMemberAttributes, import("@distilled.cloud/
|
|
76
|
+
}) => Effect.Effect<TeamMemberAttributes, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
77
77
|
delete: ({ olds }: {
|
|
78
78
|
olds: TeamMemberProps;
|
|
79
|
-
}) => Effect.Effect<void, import("@distilled.cloud/
|
|
79
|
+
}) => Effect.Effect<void, import("@distilled.cloud/core/errors").BadGateway | import("@distilled.cloud/core/errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/core/errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/core/errors").InternalServerError | organization.NotFound | import("@distilled.cloud/core/errors").ServiceUnavailable | import("@distilled.cloud/core/errors").TooManyRequests | import("@distilled.cloud/core/errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
80
80
|
};
|
|
81
81
|
export declare const ForgejoTeamMemberProvider: () => import("effect/Layer").Layer<Provider.Provider<ForgejoTeamMember>, never, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
82
82
|
export {};
|
package/dist/github/index.d.ts
CHANGED
|
@@ -23,5 +23,5 @@ export { type RepoBaselineInput, PUBLIC_ONLY_UNDECLARABLE, repoBaselineRuleset,
|
|
|
23
23
|
export { type DeclareRepoBaselineOptions, declareRepoBaseline } from './declare-repo-baseline.ts';
|
|
24
24
|
export { RepositoryRuleset, RepositoryRulesetProvider, type RepositoryRulesetAttributes, type RepositoryRulesetProps, type RepositoryRulesetPullRequestRule, type RepositoryRulesetReviewerRule, type RepositoryRulesetRules, type RepositoryRulesetStatusChecksRule, } from './repository-ruleset.ts';
|
|
25
25
|
export { RULE_TYPE_COVERAGE, type RepositoryRuleType } from './repository-ruleset-constraints.ts';
|
|
26
|
-
export { BypassActorWidened, DuplicateRuleset, NeverReportedContext, ReadbackMismatch, RequiredChecksOmitted, RulesetConstraintRefused, UndeclaredLiveRule, type RepositoryRulesetError, } from './repository-ruleset-errors.ts';
|
|
26
|
+
export { BypassActorNarrowed, BypassActorWidened, DuplicateRuleset, NeverReportedContext, ReadbackMismatch, RequiredChecksOmitted, RuleNarrowed, RulesetConstraintRefused, UndeclaredLiveRule, type RepositoryRulesetError, } from './repository-ruleset-errors.ts';
|
|
27
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EACL,KAAK,iBAAiB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,iCAAiC,GACvC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAClG,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,sBAAsB,GAC5B,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EACL,KAAK,iBAAiB,EACtB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,iCAAiC,GACvC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAClG,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,sBAAsB,GAC5B,MAAM,gCAAgC,CAAC"}
|
package/dist/github/index.js
CHANGED
|
@@ -208,6 +208,18 @@ class BypassActorWidened extends Data.TaggedError("BypassActorWidened") {
|
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
210
|
|
|
211
|
+
class BypassActorNarrowed extends Data.TaggedError("BypassActorNarrowed") {
|
|
212
|
+
get message() {
|
|
213
|
+
return `GitHub.RepositoryRuleset "${this.name}" on ${this.owner}/${this.repository}: the ` + `declaration drops a bypass actor the live ruleset has (${this.narrowed.join(", ")}), and ` + "the declaration carries no `acknowledgeBypassNarrowing`. Add one with a reason once the " + "removal is deliberate, or restore the actor to match live.";
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
class RuleNarrowed extends Data.TaggedError("RuleNarrowed") {
|
|
218
|
+
get message() {
|
|
219
|
+
return `GitHub.RepositoryRuleset "${this.name}" on ${this.owner}/${this.repository}: the ` + `declaration drops a live "${this.ruleType}" rule, and carries no ` + "`acknowledgeRuleNarrowing`. Add one with a reason once the removal is deliberate, or " + "declare the rule to match live.";
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
211
223
|
class UndeclaredLiveRule extends Data.TaggedError("UndeclaredLiveRule") {
|
|
212
224
|
get message() {
|
|
213
225
|
return `GitHub.RepositoryRuleset "${this.name}" on ${this.owner}/${this.repository}: the live ` + `ruleset has a "${this.ruleType}" rule this resource does not model. Declare it (if it is ` + "now modeled) or an explicit `false` to remove it — the PUT replaces `rules` wholesale, so " + "nothing may be dropped silently.";
|
|
@@ -587,6 +599,65 @@ var refuseUnreportedContexts = (octokit, owner, repo, contexts) => Effect3.gen(f
|
|
|
587
599
|
}
|
|
588
600
|
});
|
|
589
601
|
|
|
602
|
+
// src/github/repository-ruleset-narrowing-guards.ts
|
|
603
|
+
var isBypassNarrowingAcknowledged = (props) => props.acknowledgeBypassNarrowing !== undefined && props.acknowledgeBypassNarrowing.reason.trim().length > 0;
|
|
604
|
+
var isRuleNarrowingAcknowledged = (props) => props.acknowledgeRuleNarrowing !== undefined && props.acknowledgeRuleNarrowing.reason.trim().length > 0;
|
|
605
|
+
function bypassNarrowingRefusal(input) {
|
|
606
|
+
if (input.acknowledged)
|
|
607
|
+
return;
|
|
608
|
+
if (input.live === undefined)
|
|
609
|
+
return;
|
|
610
|
+
const liveActors = input.live.bypass_actors ?? [];
|
|
611
|
+
const declaredKeys = new Set((input.declared ?? []).map((a) => bypassKey({
|
|
612
|
+
actor_type: a.actorType,
|
|
613
|
+
actor_id: a.actorId,
|
|
614
|
+
bypass_mode: a.bypassMode ?? "always"
|
|
615
|
+
})));
|
|
616
|
+
const narrowed = liveActors.map(bypassKey).filter((k) => !declaredKeys.has(k));
|
|
617
|
+
if (narrowed.length === 0)
|
|
618
|
+
return;
|
|
619
|
+
return new BypassActorNarrowed({
|
|
620
|
+
owner: input.owner,
|
|
621
|
+
repository: input.repository,
|
|
622
|
+
name: input.name,
|
|
623
|
+
narrowed
|
|
624
|
+
});
|
|
625
|
+
}
|
|
626
|
+
function droppedBooleanOrPullRequestType(rules, live) {
|
|
627
|
+
const declaredFalse = [
|
|
628
|
+
[rules.creation, "creation"],
|
|
629
|
+
[rules.update, "update"],
|
|
630
|
+
[rules.deletion, "deletion"],
|
|
631
|
+
[rules.requiredLinearHistory, "required_linear_history"],
|
|
632
|
+
[rules.requiredSignatures, "required_signatures"],
|
|
633
|
+
[rules.nonFastForward, "non_fast_forward"]
|
|
634
|
+
];
|
|
635
|
+
for (const [declared, type] of declaredFalse) {
|
|
636
|
+
if (declared === false && live.has(type))
|
|
637
|
+
return type;
|
|
638
|
+
}
|
|
639
|
+
if (rules.pullRequest === false && live.has("pull_request"))
|
|
640
|
+
return "pull_request";
|
|
641
|
+
return;
|
|
642
|
+
}
|
|
643
|
+
function ruleNarrowingRefusal(input) {
|
|
644
|
+
if (input.acknowledged)
|
|
645
|
+
return;
|
|
646
|
+
const rules = input.declared;
|
|
647
|
+
if (rules === undefined)
|
|
648
|
+
return;
|
|
649
|
+
const live = liveRuleTypes(input.live);
|
|
650
|
+
const ruleType = droppedBooleanOrPullRequestType(rules, live) ?? (rules.requiredStatusChecks === false && live.has("required_status_checks") ? "required_status_checks" : undefined);
|
|
651
|
+
if (ruleType === undefined)
|
|
652
|
+
return;
|
|
653
|
+
return new RuleNarrowed({
|
|
654
|
+
owner: input.owner,
|
|
655
|
+
repository: input.repository,
|
|
656
|
+
name: input.name,
|
|
657
|
+
ruleType
|
|
658
|
+
});
|
|
659
|
+
}
|
|
660
|
+
|
|
590
661
|
// src/github/repository-ruleset-reconcile.ts
|
|
591
662
|
var guardedPullRequestFields = (rule) => {
|
|
592
663
|
const params = rule?.parameters ?? {};
|
|
@@ -631,6 +702,8 @@ var reconcileRuleset = (input) => Effect4.gen(function* () {
|
|
|
631
702
|
if (observed === undefined) {
|
|
632
703
|
observed = yield* probeByName(octokit, { owner, repo, name: news.name, target });
|
|
633
704
|
}
|
|
705
|
+
const bypassAcknowledged = isBypassNarrowingAcknowledged(news);
|
|
706
|
+
const ruleAcknowledged = isRuleNarrowingAcknowledged(news);
|
|
634
707
|
const bypassRefusal = news.bypassActors === undefined ? undefined : bypassWideningRefusal({
|
|
635
708
|
owner,
|
|
636
709
|
repository: repo,
|
|
@@ -640,6 +713,16 @@ var reconcileRuleset = (input) => Effect4.gen(function* () {
|
|
|
640
713
|
});
|
|
641
714
|
if (bypassRefusal !== undefined)
|
|
642
715
|
return yield* Effect4.fail(bypassRefusal);
|
|
716
|
+
const bypassNarrowRefusal = news.bypassActors === undefined ? undefined : bypassNarrowingRefusal({
|
|
717
|
+
owner,
|
|
718
|
+
repository: repo,
|
|
719
|
+
name: news.name,
|
|
720
|
+
declared: news.bypassActors,
|
|
721
|
+
live: observed,
|
|
722
|
+
acknowledged: bypassAcknowledged
|
|
723
|
+
});
|
|
724
|
+
if (bypassNarrowRefusal !== undefined)
|
|
725
|
+
return yield* Effect4.fail(bypassNarrowRefusal);
|
|
643
726
|
const ruleRefusal = undeclaredLiveRuleRefusal({
|
|
644
727
|
owner,
|
|
645
728
|
repository: repo,
|
|
@@ -649,6 +732,16 @@ var reconcileRuleset = (input) => Effect4.gen(function* () {
|
|
|
649
732
|
});
|
|
650
733
|
if (ruleRefusal !== undefined)
|
|
651
734
|
return yield* Effect4.fail(ruleRefusal);
|
|
735
|
+
const ruleNarrowRefusal = ruleNarrowingRefusal({
|
|
736
|
+
owner,
|
|
737
|
+
repository: repo,
|
|
738
|
+
name: news.name,
|
|
739
|
+
declared: news.rules,
|
|
740
|
+
live: observed,
|
|
741
|
+
acknowledged: ruleAcknowledged
|
|
742
|
+
});
|
|
743
|
+
if (ruleNarrowRefusal !== undefined)
|
|
744
|
+
return yield* Effect4.fail(ruleNarrowRefusal);
|
|
652
745
|
const checksRefusal = requiredChecksOmissionRefusal({
|
|
653
746
|
owner,
|
|
654
747
|
repository: repo,
|
|
@@ -700,7 +793,8 @@ var attrsOf = (r) => ({
|
|
|
700
793
|
updatedAt: r.updated_at
|
|
701
794
|
});
|
|
702
795
|
function constraintRefusal(props) {
|
|
703
|
-
const
|
|
796
|
+
const pr = props.rules?.pullRequest === false ? undefined : props.rules?.pullRequest;
|
|
797
|
+
const approvals = pr?.requiredApprovingReviewCount;
|
|
704
798
|
if (approvals !== undefined) {
|
|
705
799
|
const reason = approvalCountRefusal(approvals);
|
|
706
800
|
if (reason !== undefined) {
|
|
@@ -710,7 +804,7 @@ function constraintRefusal(props) {
|
|
|
710
804
|
});
|
|
711
805
|
}
|
|
712
806
|
}
|
|
713
|
-
const methods =
|
|
807
|
+
const methods = pr?.allowedMergeMethods;
|
|
714
808
|
if (methods !== undefined) {
|
|
715
809
|
const reason = allowedMergeMethodsRefusal(methods);
|
|
716
810
|
if (reason !== undefined) {
|
|
@@ -850,6 +944,7 @@ var declareRepoBaseline = (id, options) => Effect7.gen(function* () {
|
|
|
850
944
|
return { repository, ruleset };
|
|
851
945
|
});
|
|
852
946
|
export {
|
|
947
|
+
BypassActorNarrowed,
|
|
853
948
|
BypassActorWidened,
|
|
854
949
|
DuplicateRuleset,
|
|
855
950
|
NeverReportedContext,
|
|
@@ -859,6 +954,7 @@ export {
|
|
|
859
954
|
RepositoryRuleset,
|
|
860
955
|
RepositoryRulesetProvider,
|
|
861
956
|
RequiredChecksOmitted,
|
|
957
|
+
RuleNarrowed,
|
|
862
958
|
RulesetConstraintRefused,
|
|
863
959
|
UndeclaredLiveRule,
|
|
864
960
|
declareRepoBaseline,
|
|
@@ -868,5 +964,5 @@ export {
|
|
|
868
964
|
repoPolicy
|
|
869
965
|
};
|
|
870
966
|
|
|
871
|
-
//# debugId=
|
|
967
|
+
//# debugId=92F34291743D117E64756E2164756E21
|
|
872
968
|
//# sourceMappingURL=index.js.map
|