@homeflare/alchemy 0.28.0 → 0.29.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/README.md +2 -0
- package/dist/caddy/admin-address.d.ts +27 -0
- package/dist/caddy/admin-address.d.ts.map +1 -0
- package/dist/caddy/admin-calls.d.ts +25 -28
- package/dist/caddy/admin-calls.d.ts.map +1 -1
- package/dist/caddy/admin.d.ts +28 -38
- package/dist/caddy/admin.d.ts.map +1 -1
- package/dist/caddy/caddy-http-client.d.ts +25 -0
- package/dist/caddy/caddy-http-client.d.ts.map +1 -0
- package/dist/caddy/config-errors.d.ts +24 -0
- package/dist/caddy/config-errors.d.ts.map +1 -0
- package/dist/caddy/config-lifecycle.d.ts +20 -49
- package/dist/caddy/config-lifecycle.d.ts.map +1 -1
- package/dist/caddy/config-reconcile.d.ts +45 -0
- package/dist/caddy/config-reconcile.d.ts.map +1 -0
- package/dist/caddy/config.d.ts +4 -3
- package/dist/caddy/config.d.ts.map +1 -1
- package/dist/caddy/fake-caddy.d.ts +10 -2
- package/dist/caddy/fake-caddy.d.ts.map +1 -1
- package/dist/caddy/index.d.ts +3 -3
- package/dist/caddy/index.d.ts.map +1 -1
- package/dist/caddy/index.js +487 -444
- package/dist/caddy/index.js.map +16 -12
- package/dist/caddy/local-admin.d.ts +20 -34
- package/dist/caddy/local-admin.d.ts.map +1 -1
- package/dist/caddy/providers.d.ts +19 -3
- package/dist/caddy/providers.d.ts.map +1 -1
- 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/declare-repo-baseline.d.ts +1 -1
- package/dist/github/declare-repo-baseline.d.ts.map +1 -1
- package/dist/github/index.d.ts +8 -4
- package/dist/github/index.d.ts.map +1 -1
- package/dist/github/index.js +63 -23
- package/dist/github/index.js.map +13 -12
- package/dist/github/repo-baseline-data.d.ts +10 -1
- package/dist/github/repo-baseline-data.d.ts.map +1 -1
- package/dist/github/repo-policy.d.ts +1 -1
- package/dist/github/repo-policy.d.ts.map +1 -1
- package/dist/github/repository-ruleset-errors.d.ts +3 -2
- package/dist/github/repository-ruleset-errors.d.ts.map +1 -1
- package/dist/github/repository-ruleset-form.d.ts.map +1 -1
- package/dist/github/repository-ruleset-guards.d.ts +3 -2
- package/dist/github/repository-ruleset-guards.d.ts.map +1 -1
- package/dist/github/repository-ruleset-octokit.d.ts +49 -0
- package/dist/github/repository-ruleset-octokit.d.ts.map +1 -1
- package/dist/github/repository-ruleset-probe.d.ts +2 -1
- package/dist/github/repository-ruleset-probe.d.ts.map +1 -1
- package/dist/github/repository-ruleset-props.d.ts +7 -4
- package/dist/github/repository-ruleset-props.d.ts.map +1 -1
- package/dist/github/repository-ruleset-providers.d.ts +42 -0
- package/dist/github/repository-ruleset-providers.d.ts.map +1 -0
- package/dist/github/repository-ruleset.d.ts +26 -4
- package/dist/github/repository-ruleset.d.ts.map +1 -1
- package/dist/litellm/fake-litellm.d.ts +27 -16
- package/dist/litellm/fake-litellm.d.ts.map +1 -1
- package/dist/litellm/fake-stack.d.ts +9 -4
- package/dist/litellm/fake-stack.d.ts.map +1 -1
- package/dist/litellm/index.d.ts +7 -5
- package/dist/litellm/index.d.ts.map +1 -1
- package/dist/litellm/index.js +53 -123
- package/dist/litellm/index.js.map +8 -8
- package/dist/litellm/operations.d.ts +60 -0
- package/dist/litellm/operations.d.ts.map +1 -0
- package/dist/litellm/pass-through-endpoint.d.ts +10 -28
- package/dist/litellm/pass-through-endpoint.d.ts.map +1 -1
- package/dist/litellm/pass-through-errors.d.ts +37 -0
- package/dist/litellm/pass-through-errors.d.ts.map +1 -0
- package/dist/litellm/pass-through-form.d.ts +11 -4
- package/dist/litellm/pass-through-form.d.ts.map +1 -1
- package/dist/litellm/providers.d.ts +7 -5
- package/dist/litellm/providers.d.ts.map +1 -1
- package/dist/netbox/prefix.d.ts +4 -4
- package/dist/paperless/custom-field.d.ts +21 -21
- package/dist/paperless/custom-field.d.ts.map +1 -1
- package/dist/paperless/document-type.d.ts +34 -4
- package/dist/paperless/document-type.d.ts.map +1 -1
- package/dist/paperless/fake-paperless.d.ts +36 -19
- package/dist/paperless/fake-paperless.d.ts.map +1 -1
- package/dist/paperless/index.d.ts +7 -2
- package/dist/paperless/index.d.ts.map +1 -1
- package/dist/paperless/index.js +164 -228
- package/dist/paperless/index.js.map +10 -13
- package/dist/paperless/matching-locate.d.ts +42 -20
- package/dist/paperless/matching-locate.d.ts.map +1 -1
- package/dist/paperless/matching-types.d.ts +47 -18
- package/dist/paperless/matching-types.d.ts.map +1 -1
- package/dist/paperless/matching.d.ts +30 -27
- package/dist/paperless/matching.d.ts.map +1 -1
- package/dist/paperless/providers.d.ts +13 -7
- package/dist/paperless/providers.d.ts.map +1 -1
- package/dist/paperless/storage-path.d.ts +34 -4
- package/dist/paperless/storage-path.d.ts.map +1 -1
- package/dist/paperless/tag.d.ts +43 -8
- package/dist/paperless/tag.d.ts.map +1 -1
- package/dist/proxmox/acl.d.ts +30 -23
- package/dist/proxmox/acl.d.ts.map +1 -1
- package/dist/proxmox/distilled-pve.d.ts +89 -0
- package/dist/proxmox/distilled-pve.d.ts.map +1 -0
- package/dist/proxmox/index.js +663 -609
- package/dist/proxmox/index.js.map +12 -11
- package/dist/proxmox/members.d.ts +29 -10
- package/dist/proxmox/members.d.ts.map +1 -1
- package/docs/caddy-admin.md +1 -1
- package/docs/caddy.md +3 -2
- package/docs/credentials.md +16 -0
- package/docs/litellm.md +21 -13
- package/docs/paperless.md +12 -0
- package/docs/peers.md +5 -0
- package/docs/repo-policy.md +16 -1
- package/docs/repository-ruleset.md +53 -13
- package/docs/upstream-conformance.md +126 -10
- package/package.json +5 -2
- package/src/caddy/admin-address.ts +71 -0
- package/src/caddy/admin-calls.ts +48 -100
- package/src/caddy/admin.ts +37 -41
- package/src/caddy/adopt-scope.test.ts +1 -1
- package/src/caddy/caddy-http-client.ts +229 -0
- package/src/caddy/config-adopt-provider.test.ts +139 -0
- package/src/caddy/config-adopt.test.ts +60 -126
- package/src/caddy/config-errors.ts +47 -0
- package/src/caddy/config-lifecycle.test.ts +55 -42
- package/src/caddy/config-lifecycle.ts +72 -162
- package/src/caddy/config-reconcile.ts +138 -0
- package/src/caddy/config.ts +36 -42
- package/src/caddy/fake-caddy.ts +20 -2
- package/src/caddy/index.ts +3 -8
- package/src/caddy/local-admin.test.ts +35 -21
- package/src/caddy/local-admin.ts +60 -167
- package/src/caddy/providers.test.ts +14 -6
- package/src/caddy/providers.ts +20 -4
- package/src/github/declare-repo-baseline.ts +6 -6
- package/src/github/index.ts +8 -4
- package/src/github/repo-baseline-data.test.ts +13 -0
- package/src/github/repo-baseline-data.ts +11 -2
- package/src/github/repo-policy-stack.test.ts +59 -0
- package/src/github/repo-policy.ts +3 -2
- package/src/github/repository-ruleset-errors.ts +6 -4
- package/src/github/repository-ruleset-exact-adopt-k1.test.ts +109 -0
- package/src/github/repository-ruleset-exact-adopt.test.ts +14 -9
- package/src/github/repository-ruleset-form.ts +7 -3
- package/src/github/repository-ruleset-guards.ts +3 -2
- package/src/github/repository-ruleset-octokit.test.ts +141 -0
- package/src/github/repository-ruleset-octokit.ts +121 -30
- package/src/github/repository-ruleset-probe.ts +2 -1
- package/src/github/repository-ruleset-props.ts +7 -4
- package/src/github/repository-ruleset-providers.ts +46 -0
- package/src/github/repository-ruleset-wire.test.ts +38 -27
- package/src/github/repository-ruleset.ts +27 -3
- package/src/litellm/fake-litellm.ts +83 -78
- package/src/litellm/fake-stack.ts +13 -5
- package/src/litellm/index.ts +7 -21
- package/src/litellm/operations.ts +149 -0
- package/src/litellm/pass-through-endpoint-delete-swallow.test.ts +17 -20
- package/src/litellm/pass-through-endpoint-replace.test.ts +3 -4
- package/src/litellm/pass-through-endpoint.test.ts +8 -8
- package/src/litellm/pass-through-endpoint.ts +21 -31
- package/src/litellm/pass-through-errors.ts +37 -0
- package/src/litellm/pass-through-form.ts +20 -10
- package/src/litellm/providers.ts +8 -7
- package/src/paperless/custom-field.test.ts +49 -40
- package/src/paperless/custom-field.ts +57 -33
- package/src/paperless/document-type.test.ts +48 -0
- package/src/paperless/document-type.ts +51 -22
- package/src/paperless/fake-paperless.ts +63 -72
- package/src/paperless/index.ts +7 -13
- package/src/paperless/matching-locate.test.ts +102 -0
- package/src/paperless/matching-locate.ts +80 -86
- package/src/paperless/matching-types.ts +49 -16
- package/src/paperless/matching.ts +77 -90
- package/src/paperless/providers.ts +14 -10
- package/src/paperless/storage-path.test.ts +56 -0
- package/src/paperless/storage-path.ts +53 -24
- package/src/paperless/tag-identity.test.ts +127 -0
- package/src/paperless/tag.test.ts +100 -0
- package/src/paperless/tag.ts +62 -32
- package/src/proxmox/acl.test.ts +145 -0
- package/src/proxmox/acl.ts +128 -150
- package/src/proxmox/distilled-pve.test.ts +231 -0
- package/src/proxmox/distilled-pve.ts +147 -0
- package/src/proxmox/members-timeout.test.ts +161 -0
- package/src/proxmox/members.test.ts +9 -0
- package/src/proxmox/members.ts +36 -2
- package/dist/litellm/client.d.ts +0 -76
- package/dist/litellm/client.d.ts.map +0 -1
- package/dist/litellm/credentials.d.ts +0 -48
- package/dist/litellm/credentials.d.ts.map +0 -1
- package/dist/litellm/generated/pass-through.d.ts +0 -71
- package/dist/litellm/generated/pass-through.d.ts.map +0 -1
- package/dist/paperless/client.d.ts +0 -37
- package/dist/paperless/client.d.ts.map +0 -1
- package/dist/paperless/credentials.d.ts +0 -40
- package/dist/paperless/credentials.d.ts.map +0 -1
- package/dist/paperless/errors.d.ts +0 -49
- package/dist/paperless/errors.d.ts.map +0 -1
- package/src/litellm/client.ts +0 -195
- package/src/litellm/credentials.ts +0 -73
- package/src/litellm/generated/pass-through.ts +0 -73
- package/src/paperless/client.ts +0 -88
- package/src/paperless/credentials.ts +0 -69
- package/src/paperless/errors.ts +0 -62
- package/src/paperless/matching-identity.test.ts +0 -194
- package/src/paperless/matching.test.ts +0 -128
|
@@ -1,45 +1,31 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import type { CaddyTransport } from './admin.ts';
|
|
2
|
+
import { type LocalHttpClientOptions } from './caddy-http-client.ts';
|
|
3
|
+
export { DEFAULT_ADMIN_ADDRESS, parseAdminAddress } from './admin-address.ts';
|
|
4
|
+
export { isUnreachable } from './caddy-http-client.ts';
|
|
5
|
+
export type LocalCaddyAdminOptions = LocalHttpClientOptions & {
|
|
3
6
|
/**
|
|
4
7
|
* `http://<loopback>:<port>` or `unix:///absolute/path.sock`.
|
|
5
8
|
* @default 'http://127.0.0.1:2019' — Caddy's default admin listener (`localhost:2019`).
|
|
6
9
|
*/
|
|
7
10
|
readonly address?: string;
|
|
8
11
|
/**
|
|
9
|
-
* The Host (and Origin) to send
|
|
12
|
+
* The Host (and, over TCP, Origin) to send when it is not the address's own: the Caddyfile
|
|
10
13
|
* narrowed `admin { origins … }`, or the port is an SSH forward of the real one (Caddy checks
|
|
11
|
-
* the Host against ITS port, not yours). Form `host:port`.
|
|
14
|
+
* the Host against ITS port, not yours). Form `host:port`. Over a unix socket this still sets
|
|
15
|
+
* the Host header `@distilled.cloud/caddy`'s protocol always sends (Caddy skips the Host check
|
|
16
|
+
* on unix listeners regardless — admin.go allowedOrigins) — defaults to `127.0.0.1`, matching
|
|
17
|
+
* the Caddy CLI's own unix-socket calls (cmd/commandfuncs.go AdminAPIRequest).
|
|
12
18
|
*/
|
|
13
19
|
readonly hostHeader?: string;
|
|
14
|
-
/**
|
|
15
|
-
* Abort an exchange after this long. @default 60_000
|
|
16
|
-
* ⚠️ A `shutdown_delay` in the Caddyfile makes `/load` block that long (caddyhttp app.go Stop);
|
|
17
|
-
* a timeout then fails the deploy while Caddy goes on to apply — the next plan converges.
|
|
18
|
-
*/
|
|
19
|
-
readonly timeoutMs?: number;
|
|
20
|
-
/**
|
|
21
|
-
* Retries when the connection is REFUSED (nothing listening yet — a Caddy launchd job that was
|
|
22
|
-
* bootstrapped a moment ago). Only refusals: those never reached Caddy, so re-sending a
|
|
23
|
-
* `POST /load` cannot apply it twice. @default 2
|
|
24
|
-
*/
|
|
25
|
-
readonly retries?: number;
|
|
26
|
-
/** @default 500 */
|
|
27
|
-
readonly retryDelayMs?: number;
|
|
28
|
-
};
|
|
29
|
-
export declare const DEFAULT_ADMIN_ADDRESS = "http://127.0.0.1:2019";
|
|
30
|
-
type Target = {
|
|
31
|
-
readonly kind: 'tcp';
|
|
32
|
-
readonly host: string;
|
|
33
|
-
readonly port: number;
|
|
34
|
-
} | {
|
|
35
|
-
readonly kind: 'unix';
|
|
36
|
-
readonly socketPath: string;
|
|
37
|
-
};
|
|
38
|
-
/** The dial target and listener for an address, or a refusal naming what is wrong with it. */
|
|
39
|
-
export declare const parseAdminAddress: (address: string, hostHeader?: string) => {
|
|
40
|
-
target: Target;
|
|
41
|
-
listener: CaddyAdminListener;
|
|
42
20
|
};
|
|
43
|
-
|
|
44
|
-
|
|
21
|
+
/**
|
|
22
|
+
* A transport to this machine's Caddy — feed it to `caddyProviders()`, or build the layer by hand
|
|
23
|
+
* with `CaddyConfigProvider().pipe(Layer.provideMerge(caddyAdminLayer(localCaddyAdmin())))` (never
|
|
24
|
+
* plain `Layer.provide` — admin.ts's own doc on `caddyAdminLayer` says why).
|
|
25
|
+
*
|
|
26
|
+
* ⛔ LOOPBACK OR A UNIX SOCKET, NOTHING ELSE. The admin API is unauthenticated plaintext; an
|
|
27
|
+
* address off this machine means it is reachable from the network, which decision 23 forbids.
|
|
28
|
+
* `parseAdminAddress` refuses anything else.
|
|
29
|
+
*/
|
|
30
|
+
export declare const localCaddyAdmin: (options?: LocalCaddyAdminOptions) => CaddyTransport;
|
|
45
31
|
//# sourceMappingURL=local-admin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-admin.d.ts","sourceRoot":"","sources":["../../src/caddy/local-admin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-admin.d.ts","sourceRoot":"","sources":["../../src/caddy/local-admin.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAE,KAAK,sBAAsB,EAAuB,MAAM,wBAAwB,CAAC;AAE1F,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,GAAG;IAC5D;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,aAAa,sBAAsB,KAAQ,cAqCtE,CAAC"}
|
|
@@ -6,9 +6,25 @@
|
|
|
6
6
|
* ★ launchdProviders() TOO when the stack uses caddyWithFile(): the file is a launchd-subpath
|
|
7
7
|
* HostFile, written through that subpath's HostRunner.
|
|
8
8
|
* ⚠️ The default is localCaddyAdmin(): `http://127.0.0.1:2019`, Caddy's default admin listener.
|
|
9
|
-
* Pass another
|
|
9
|
+
* Pass another CaddyTransport for a unix socket, a narrowed `admin { origins }`, or an SSH
|
|
10
|
+
* forward — `localCaddyAdmin({ address, hostHeader })` builds one; a consumer can provide any
|
|
11
|
+
* other `{ endpoint, listener, layer }` reaching `@distilled.cloud/caddy`'s own `Credentials`
|
|
12
|
+
* and `HttpClient.HttpClient`.
|
|
13
|
+
*
|
|
14
|
+
* ⚠️ `Layer.provideMerge`, NEVER PLAIN `Layer.provide`, for `caddyAdminLayer`. `CaddyConfigProvider()`'s
|
|
15
|
+
* `read`/`diff`/`reconcile` handlers each still need `CaddyAdminService` and
|
|
16
|
+
* `@distilled.cloud/caddy`'s `Credentials`/`HttpClient` — Alchemy's own `Provider.effect` types
|
|
17
|
+
* those as part of the LAYER's overall requirement (`ProviderService`'s per-handler `Req` type
|
|
18
|
+
* parameters, `alchemy/Provider.ts`), for exactly this reason. Plain `Layer.provide` SEALS a
|
|
19
|
+
* layer — it satisfies `CaddyConfigProvider()`'s requirement only for BUILDING the `Provider`
|
|
20
|
+
* value (the `admin` in its outer `Effect.gen`), then hides those services from anything that
|
|
21
|
+
* runs LATER, when the returned `read`/`diff`/`reconcile` FUNCTIONS actually execute. MEASURED
|
|
22
|
+
* 2026-09-23: with plain `Layer.provide`, `caddyProviders()`'s own `reconcile` handler dies with
|
|
23
|
+
* "Service not found: homeflare/caddy/CaddyAdmin" the moment the ENGINE calls it. `provideMerge`
|
|
24
|
+
* feeds `caddyAdminLayer`'s output into `CaddyConfigProvider()`'s requirement AND keeps that same
|
|
25
|
+
* output live in the result, so every later handler call still runs with it in context.
|
|
10
26
|
*/
|
|
11
27
|
import * as Layer from 'effect/Layer';
|
|
12
|
-
import { type
|
|
13
|
-
export declare const caddyProviders: (
|
|
28
|
+
import { type CaddyTransport } from './admin.ts';
|
|
29
|
+
export declare const caddyProviders: (transport?: CaddyTransport) => Layer.Layer<import("./admin.ts").CaddyAdminService | import("@distilled.cloud/caddy").Credentials | import("effect/unstable/http/HttpClient").HttpClient | import("alchemy").Provider<import("./config.ts").CaddyConfig>, never, never>;
|
|
14
30
|
//# sourceMappingURL=providers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/caddy/providers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/caddy/providers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,YAAY,CAAC;AAIlE,eAAO,MAAM,cAAc,eAAe,cAAc,4OACoB,CAAC"}
|
|
@@ -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/caddy").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/caddy").ConfigError | zeroTrust.Forbidden | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | import("@distilled.cloud/cloudflare/Errors").InvalidRoute | MeshNodeError | import("@distilled.cloud/cloudflare/Credentials").OAuthRefreshError | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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,o+BA4B/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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.Locked | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.Locked | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.Locked | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.Locked | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoSecretEnvUnsetError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoSecretEnvUnsetError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoSecretEnvUnsetError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoSecretEnvUnsetError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | repository.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | organization.BadRequest | import("@distilled.cloud/caddy").ConfigError | organization.Conflict | repository.Forbidden | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | repository.NotFound | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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/caddy").BadGateway | import("@distilled.cloud/caddy").ConfigError | organization.Forbidden | import("@distilled.cloud/forgejo/Errors").ForgejoParseError | ForgejoTeamNotFoundError | import("@distilled.cloud/caddy").GatewayTimeout | import("effect/unstable/http/HttpClientError").HttpClientError | import("@distilled.cloud/caddy").InternalServerError | organization.NotFound | import("@distilled.cloud/caddy").ServiceUnavailable | import("@distilled.cloud/caddy").TooManyRequests | import("@distilled.cloud/caddy").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 {};
|
|
@@ -7,5 +7,5 @@ export interface DeclareRepoBaselineOptions extends RepoBaselineInput {
|
|
|
7
7
|
export declare const declareRepoBaseline: (id: string, options: DeclareRepoBaselineOptions) => Effect.Effect<{
|
|
8
8
|
repository: GitHub.Repository;
|
|
9
9
|
ruleset: RepositoryRuleset;
|
|
10
|
-
}, never,
|
|
10
|
+
}, never, import("alchemy").Provider<RepositoryRuleset> | GitHub.Providers>;
|
|
11
11
|
//# sourceMappingURL=declare-repo-baseline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declare-repo-baseline.d.ts","sourceRoot":"","sources":["../../src/github/declare-repo-baseline.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;CAAG;AAExE,eAAO,MAAM,mBAAmB,OAAQ,MAAM,WAAW,0BAA0B;;;
|
|
1
|
+
{"version":3,"file":"declare-repo-baseline.d.ts","sourceRoot":"","sources":["../../src/github/declare-repo-baseline.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;CAAG;AAExE,eAAO,MAAM,mBAAmB,OAAQ,MAAM,WAAW,0BAA0B;;;2EAO/E,CAAC"}
|
package/dist/github/index.d.ts
CHANGED
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
* one bridge resource this house builds atop upstream GitHub: `GitHub.RepositoryRuleset`.
|
|
4
4
|
*
|
|
5
5
|
* ⚠️ `declareRepoPolicy`/`declareRepoBaseline` COMPOSE UPSTREAM `GitHub.Repository` PLUS THIS
|
|
6
|
-
* SUBPATH'S OWN `RepositoryRulesetProvider()` — provide
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* SUBPATH'S OWN `RepositoryRulesetProvider()` — provide `repoPolicyProviders()`
|
|
7
|
+
* (repository-ruleset-providers.ts), the composed `GitHub.providers()` +
|
|
8
|
+
* `RepositoryRulesetProvider()` layer that actually typechecks (2026-09-24: writing the two
|
|
9
|
+
* side by side leaves `RepositoryRulesetProvider()`'s own `GitHubCredentials` requirement
|
|
10
|
+
* unfed). Before 2026-09-23 this subpath shipped no provider at all, composing only vendor
|
|
11
|
+
* resources; `RepositoryRuleset` is the one exception, and repository-ruleset.ts's header
|
|
12
|
+
* says why upstream's own `Ruleset` cannot fill the gap.
|
|
10
13
|
* ★ WHY THE POLICY HELPERS EXIST. "Open a pull request, let auto-merge land it" is safe only
|
|
11
14
|
* when five repository properties and four ruleset rules all agree, and every way of getting
|
|
12
15
|
* one of them wrong is silent — an auto-merge that lands on red, a force push that rewrites
|
|
@@ -22,6 +25,7 @@ export { type DeclareRepoPolicyOptions, declareRepoPolicy } from './repo-policy.
|
|
|
22
25
|
export { type RepoBaselineInput, PUBLIC_ONLY_UNDECLARABLE, repoBaselineRuleset, repoBaselineSettings, } from './repo-baseline-data.ts';
|
|
23
26
|
export { type DeclareRepoBaselineOptions, declareRepoBaseline } from './declare-repo-baseline.ts';
|
|
24
27
|
export { RepositoryRuleset, RepositoryRulesetProvider, type RepositoryRulesetAttributes, type RepositoryRulesetProps, type RepositoryRulesetPullRequestRule, type RepositoryRulesetReviewerRule, type RepositoryRulesetRules, type RepositoryRulesetStatusChecksRule, } from './repository-ruleset.ts';
|
|
28
|
+
export { repoPolicyProviders } from './repository-ruleset-providers.ts';
|
|
25
29
|
export { RULE_TYPE_COVERAGE, type RepositoryRuleType } from './repository-ruleset-constraints.ts';
|
|
26
30
|
export { BypassActorNarrowed, BypassActorWidened, DuplicateRuleset, NeverReportedContext, ReadbackMismatch, RequiredChecksOmitted, RuleNarrowed, RulesetConstraintRefused, UndeclaredLiveRule, type RepositoryRulesetError, } from './repository-ruleset-errors.ts';
|
|
27
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/github/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;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,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,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
|
@@ -234,7 +234,7 @@ class RequiredChecksOmitted extends Data.TaggedError("RequiredChecksOmitted") {
|
|
|
234
234
|
|
|
235
235
|
class NeverReportedContext extends Data.TaggedError("NeverReportedContext") {
|
|
236
236
|
get message() {
|
|
237
|
-
return `GitHub.RepositoryRuleset: "${this.context}" has never reported success on ` + `${this.owner}/${this.repository}'s default branch. Requiring it now would leave every
|
|
237
|
+
return `GitHub.RepositoryRuleset: "${this.context}" has never reported success on ` + `${this.owner}/${this.repository}'s default branch tip or any of its recent merged pull ` + "requests. Requiring it now would leave every pull request waiting on a check that has " + "never once reported — refused before any write.";
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
240
|
|
|
@@ -259,6 +259,53 @@ var octokitFor = (baseUrl) => Effect.gen(function* () {
|
|
|
259
259
|
return baseUrl === undefined ? creds.octokit() : creds.octokit({ baseUrl });
|
|
260
260
|
}).pipe(Effect.mapError(asError));
|
|
261
261
|
var is404 = (e) => e?.status === 404;
|
|
262
|
+
var RECENT_MERGED_PR_LIMIT = 10;
|
|
263
|
+
var RECENT_CLOSED_PR_PAGE_SIZE = 100;
|
|
264
|
+
var hasRefReportedSuccess = (octokit, owner, repo, ref, context) => Effect.gen(function* () {
|
|
265
|
+
const [checkRuns, statuses] = yield* Effect.all([
|
|
266
|
+
Effect.tryPromise({
|
|
267
|
+
try: () => octokit.rest.checks.listForRef({ owner, repo, ref, check_name: context }),
|
|
268
|
+
catch: asError
|
|
269
|
+
}),
|
|
270
|
+
Effect.tryPromise({
|
|
271
|
+
try: () => octokit.rest.repos.listCommitStatusesForRef({ owner, repo, ref }),
|
|
272
|
+
catch: asError
|
|
273
|
+
})
|
|
274
|
+
]);
|
|
275
|
+
const checkReported = checkRuns.data.check_runs.some((run) => run.name === context && run.conclusion === "success");
|
|
276
|
+
const statusReported = statuses.data.some((status) => status.context === context && status.state === "success");
|
|
277
|
+
return checkReported || statusReported;
|
|
278
|
+
});
|
|
279
|
+
var recentMergedHeadShas = (octokit, owner, repo, base) => Effect.gen(function* () {
|
|
280
|
+
const closed = yield* Effect.tryPromise({
|
|
281
|
+
try: () => octokit.rest.pulls.list({
|
|
282
|
+
owner,
|
|
283
|
+
repo,
|
|
284
|
+
state: "closed",
|
|
285
|
+
base,
|
|
286
|
+
sort: "updated",
|
|
287
|
+
direction: "desc",
|
|
288
|
+
per_page: RECENT_CLOSED_PR_PAGE_SIZE
|
|
289
|
+
}),
|
|
290
|
+
catch: asError
|
|
291
|
+
});
|
|
292
|
+
return closed.data.filter((pr) => pr.merged_at !== null).slice(0, RECENT_MERGED_PR_LIMIT).map((pr) => pr.head.sha);
|
|
293
|
+
});
|
|
294
|
+
var contextReportedSuccess = (octokit, owner, repo, context) => Effect.gen(function* () {
|
|
295
|
+
const repository = yield* Effect.tryPromise({
|
|
296
|
+
try: () => octokit.rest.repos.get({ owner, repo }),
|
|
297
|
+
catch: asError
|
|
298
|
+
});
|
|
299
|
+
const ref = repository.data.default_branch;
|
|
300
|
+
if (yield* hasRefReportedSuccess(octokit, owner, repo, ref, context))
|
|
301
|
+
return true;
|
|
302
|
+
const heads = yield* recentMergedHeadShas(octokit, owner, repo, ref);
|
|
303
|
+
for (const sha of heads) {
|
|
304
|
+
if (yield* hasRefReportedSuccess(octokit, owner, repo, sha, context))
|
|
305
|
+
return true;
|
|
306
|
+
}
|
|
307
|
+
return false;
|
|
308
|
+
});
|
|
262
309
|
var makeRulesetOctokit = (baseUrl) => ({
|
|
263
310
|
list: ({ owner, repo }) => Effect.gen(function* () {
|
|
264
311
|
const octokit = yield* octokitFor(baseUrl);
|
|
@@ -314,24 +361,7 @@ var makeRulesetOctokit = (baseUrl) => ({
|
|
|
314
361
|
}),
|
|
315
362
|
hasContextReportedSuccess: ({ owner, repo, context }) => Effect.gen(function* () {
|
|
316
363
|
const octokit = yield* octokitFor(baseUrl);
|
|
317
|
-
|
|
318
|
-
try: () => octokit.rest.repos.get({ owner, repo }),
|
|
319
|
-
catch: asError
|
|
320
|
-
});
|
|
321
|
-
const ref = repository.data.default_branch;
|
|
322
|
-
const [checkRuns, statuses] = yield* Effect.all([
|
|
323
|
-
Effect.tryPromise({
|
|
324
|
-
try: () => octokit.rest.checks.listForRef({ owner, repo, ref, check_name: context }),
|
|
325
|
-
catch: asError
|
|
326
|
-
}),
|
|
327
|
-
Effect.tryPromise({
|
|
328
|
-
try: () => octokit.rest.repos.listCommitStatusesForRef({ owner, repo, ref }),
|
|
329
|
-
catch: asError
|
|
330
|
-
})
|
|
331
|
-
]);
|
|
332
|
-
const checkReported = checkRuns.data.check_runs.some((run) => run.name === context && run.conclusion === "success");
|
|
333
|
-
const statusReported = statuses.data.some((status) => status.context === context && status.state === "success");
|
|
334
|
-
return checkReported || statusReported;
|
|
364
|
+
return yield* contextReportedSuccess(octokit, owner, repo, context);
|
|
335
365
|
})
|
|
336
366
|
});
|
|
337
367
|
|
|
@@ -383,7 +413,9 @@ function buildPullRequestRule(rule) {
|
|
|
383
413
|
minimum_approvals: r.minimumApprovals,
|
|
384
414
|
reviewer: { id: r.reviewer.actorId, type: r.reviewer.actorType }
|
|
385
415
|
})),
|
|
386
|
-
...rule.extraApprovalForUnattributedChanges === undefined ? {} : {
|
|
416
|
+
...rule.extraApprovalForUnattributedChanges === undefined ? {} : {
|
|
417
|
+
require_extra_approval_for_unattributed_changes: rule.extraApprovalForUnattributedChanges
|
|
418
|
+
}
|
|
387
419
|
}
|
|
388
420
|
};
|
|
389
421
|
}
|
|
@@ -890,7 +922,7 @@ function repoBaselineSettings(input) {
|
|
|
890
922
|
allowSquashMerge: true,
|
|
891
923
|
allowMergeCommit: false,
|
|
892
924
|
allowRebaseMerge: false,
|
|
893
|
-
allowAutoMerge:
|
|
925
|
+
allowAutoMerge: input.checks.length > 0,
|
|
894
926
|
deleteBranchOnMerge: true,
|
|
895
927
|
hasWiki: false
|
|
896
928
|
};
|
|
@@ -943,6 +975,13 @@ var declareRepoBaseline = (id, options) => Effect7.gen(function* () {
|
|
|
943
975
|
const ruleset = yield* owned(RepositoryRuleset(`${id}-ruleset`, repoBaselineRuleset(options)));
|
|
944
976
|
return { repository, ruleset };
|
|
945
977
|
});
|
|
978
|
+
// src/github/repository-ruleset-providers.ts
|
|
979
|
+
import * as GitHub3 from "alchemy/GitHub";
|
|
980
|
+
import * as Layer from "effect/Layer";
|
|
981
|
+
var repoPolicyProviders = (options) => {
|
|
982
|
+
const github = GitHub3.providers(options);
|
|
983
|
+
return Layer.mergeAll(github, RepositoryRulesetProvider().pipe(Layer.provideMerge(github)));
|
|
984
|
+
};
|
|
946
985
|
export {
|
|
947
986
|
BypassActorNarrowed,
|
|
948
987
|
BypassActorWidened,
|
|
@@ -961,8 +1000,9 @@ export {
|
|
|
961
1000
|
declareRepoPolicy,
|
|
962
1001
|
repoBaselineRuleset,
|
|
963
1002
|
repoBaselineSettings,
|
|
964
|
-
repoPolicy
|
|
1003
|
+
repoPolicy,
|
|
1004
|
+
repoPolicyProviders
|
|
965
1005
|
};
|
|
966
1006
|
|
|
967
|
-
//# debugId=
|
|
1007
|
+
//# debugId=4642631C8C22EC1064756E2164756E21
|
|
968
1008
|
//# sourceMappingURL=index.js.map
|