@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.
Files changed (58) hide show
  1. package/dist/cloudflare/mesh-node-token.d.ts +1 -1
  2. package/dist/cloudflare/mesh-node-token.d.ts.map +1 -1
  3. package/dist/forgejo/branch-protection.d.ts +4 -4
  4. package/dist/forgejo/org-actions-secrets.d.ts +4 -4
  5. package/dist/forgejo/org-label.d.ts +4 -4
  6. package/dist/forgejo/org-team.d.ts +4 -4
  7. package/dist/forgejo/repo-webhook.d.ts +4 -4
  8. package/dist/forgejo/repository.d.ts +4 -4
  9. package/dist/forgejo/team-member.d.ts +4 -4
  10. package/dist/github/index.d.ts +1 -1
  11. package/dist/github/index.d.ts.map +1 -1
  12. package/dist/github/index.js +99 -3
  13. package/dist/github/index.js.map +8 -7
  14. package/dist/github/repository-ruleset-errors.d.ts +34 -1
  15. package/dist/github/repository-ruleset-errors.d.ts.map +1 -1
  16. package/dist/github/repository-ruleset-guards.d.ts +12 -0
  17. package/dist/github/repository-ruleset-guards.d.ts.map +1 -1
  18. package/dist/github/repository-ruleset-narrowing-guards.d.ts +39 -0
  19. package/dist/github/repository-ruleset-narrowing-guards.d.ts.map +1 -0
  20. package/dist/github/repository-ruleset-props.d.ts +88 -0
  21. package/dist/github/repository-ruleset-props.d.ts.map +1 -0
  22. package/dist/github/repository-ruleset-reconcile.d.ts.map +1 -1
  23. package/dist/github/repository-ruleset.d.ts +3 -31
  24. package/dist/github/repository-ruleset.d.ts.map +1 -1
  25. package/dist/netbox/fake-netbox.d.ts +43 -0
  26. package/dist/netbox/fake-netbox.d.ts.map +1 -0
  27. package/dist/netbox/index.d.ts +1 -2
  28. package/dist/netbox/index.d.ts.map +1 -1
  29. package/dist/netbox/index.js +71 -119
  30. package/dist/netbox/index.js.map +5 -6
  31. package/dist/netbox/prefix.d.ts +33 -2
  32. package/dist/netbox/prefix.d.ts.map +1 -1
  33. package/dist/netbox/resource.d.ts +73 -48
  34. package/dist/netbox/resource.d.ts.map +1 -1
  35. package/docs/credentials.md +10 -0
  36. package/docs/peers.md +11 -0
  37. package/docs/upstream-conformance.md +17 -2
  38. package/package.json +7 -2
  39. package/src/github/index.ts +2 -0
  40. package/src/github/repository-ruleset-errors.ts +45 -0
  41. package/src/github/repository-ruleset-exact-adopt.test.ts +179 -0
  42. package/src/github/repository-ruleset-guards.ts +8 -2
  43. package/src/github/repository-ruleset-narrowing-guards.ts +141 -0
  44. package/src/github/repository-ruleset-narrowing.test.ts +210 -0
  45. package/src/github/repository-ruleset-props.ts +92 -0
  46. package/src/github/repository-ruleset-reconcile.ts +35 -0
  47. package/src/github/repository-ruleset-write-refusals.test.ts +6 -26
  48. package/src/github/repository-ruleset.ts +27 -41
  49. package/src/netbox/fake-netbox.ts +56 -0
  50. package/src/netbox/index.ts +8 -2
  51. package/src/netbox/prefix.test.ts +223 -0
  52. package/src/netbox/prefix.ts +68 -32
  53. package/src/netbox/resource.test.ts +67 -0
  54. package/src/netbox/resource.ts +133 -112
  55. package/dist/netbox/client.d.ts +0 -52
  56. package/dist/netbox/client.d.ts.map +0 -1
  57. package/src/netbox/client.test.ts +0 -67
  58. 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/cloudflare/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/cloudflare/Errors").ConfigError | zeroTrust.Forbidden | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | import("@distilled.cloud/cloudflare/Errors").InvalidRoute | MeshNodeError | import("@distilled.cloud/cloudflare/Credentials").OAuthRefreshError | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/cloudflare/Errors").UnknownCloudflareError, zeroTrust.CloudflareOpContext>;
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,wjCA4B/C,CAAC"}
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | repository.Locked | repository.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | repository.Locked | repository.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | repository.Locked | repository.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | repository.Locked | repository.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | organization.BadRequest | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoSecretEnvUnsetError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | organization.BadRequest | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoSecretEnvUnsetError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | organization.BadRequest | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoSecretEnvUnsetError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | organization.BadRequest | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoSecretEnvUnsetError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | organization.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | repository.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | repository.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | repository.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | repository.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | organization.BadRequest | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | organization.BadRequest | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | organization.BadRequest | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | organization.BadRequest | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError | repository.UnprocessableEntity, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
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/cloudflare/Errors").BadGateway | import("@distilled.cloud/cloudflare/Errors").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/cloudflare/Errors").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/cloudflare/Errors").InternalServerError | organization.NotFound | import("@distilled.cloud/cloudflare/Errors").ServiceUnavailable | import("@distilled.cloud/cloudflare/Errors").TooManyRequests | import("@distilled.cloud/cloudflare/Errors").Unauthorized | import("@distilled.cloud/forgejo/Errors").UnknownForgejoError, import("effect/unstable/http/HttpClient").HttpClient>;
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 {};
@@ -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"}
@@ -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 approvals = props.rules?.pullRequest?.requiredApprovingReviewCount;
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 = props.rules?.pullRequest?.allowedMergeMethods;
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=45989F9C0ABF077664756E2164756E21
967
+ //# debugId=92F34291743D117E64756E2164756E21
872
968
  //# sourceMappingURL=index.js.map