@aotter/mantle-cloudflare 0.0.11-alpha.73 → 0.1.0-alpha.10
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 +53 -11
- package/dist/auth/conventionalAuth.d.ts +7 -1
- package/dist/auth/conventionalAuth.d.ts.map +1 -1
- package/dist/auth/conventionalAuth.js +125 -24
- package/dist/auth/conventionalAuth.js.map +1 -1
- package/dist/auth/createAuth.d.ts +54 -23
- package/dist/auth/createAuth.d.ts.map +1 -1
- package/dist/auth/createAuth.js +230 -134
- package/dist/auth/createAuth.js.map +1 -1
- package/dist/auth/rejectCrossOriginMutation.d.ts +2 -0
- package/dist/auth/rejectCrossOriginMutation.d.ts.map +1 -0
- package/dist/auth/rejectCrossOriginMutation.js +15 -0
- package/dist/auth/rejectCrossOriginMutation.js.map +1 -0
- package/dist/bindings/AssetsAssetServer.d.ts +4 -4
- package/dist/bindings/AssetsAssetServer.d.ts.map +1 -1
- package/dist/bindings/AssetsAssetServer.js +2 -2
- package/dist/bindings/D1DatabaseDriver.d.ts +3 -4
- package/dist/bindings/D1DatabaseDriver.d.ts.map +1 -1
- package/dist/bindings/D1DatabaseDriver.js +4 -83
- package/dist/bindings/D1DatabaseDriver.js.map +1 -1
- package/dist/bindings/WorkersQueueHookDispatcher.d.ts +2 -2
- package/dist/bindings/WorkersQueueHookDispatcher.d.ts.map +1 -1
- package/dist/bindings/WorkersQueueHookDispatcher.js +1 -1
- package/dist/bindings/WorkersQueueHookDispatcher.js.map +1 -1
- package/dist/bindings/conventionalBindings.d.ts +2 -4
- package/dist/bindings/conventionalBindings.d.ts.map +1 -1
- package/dist/bindings/conventionalBindings.js +3 -7
- package/dist/bindings/conventionalBindings.js.map +1 -1
- package/dist/bindings/index.d.ts +0 -1
- package/dist/bindings/index.d.ts.map +1 -1
- package/dist/bindings/index.js +0 -1
- package/dist/bindings/index.js.map +1 -1
- package/dist/handlers/turnstile.d.ts +1 -1
- package/dist/handlers/turnstile.d.ts.map +1 -1
- package/dist/handlers/turnstile.js +3 -1
- package/dist/handlers/turnstile.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/mount/bootRuntimeOnce.d.ts +15 -8
- package/dist/mount/bootRuntimeOnce.d.ts.map +1 -1
- package/dist/mount/bootRuntimeOnce.js +80 -20
- package/dist/mount/bootRuntimeOnce.js.map +1 -1
- package/dist/mount/cmsConfig.d.ts +18 -9
- package/dist/mount/cmsConfig.d.ts.map +1 -1
- package/dist/mount/index.d.ts +5 -5
- package/dist/mount/index.d.ts.map +1 -1
- package/dist/mount/index.js +3 -3
- package/dist/mount/index.js.map +1 -1
- package/dist/mount/mountAdmin.d.ts +6 -0
- package/dist/mount/mountAdmin.d.ts.map +1 -0
- package/dist/mount/mountAdmin.js +16 -0
- package/dist/mount/mountAdmin.js.map +1 -0
- package/dist/mount/mountMcp.d.ts +7 -10
- package/dist/mount/mountMcp.d.ts.map +1 -1
- package/dist/mount/mountMcp.js +86 -48
- package/dist/mount/mountMcp.js.map +1 -1
- package/dist/mount/mountPublicRoutes.d.ts +24 -24
- package/dist/mount/mountPublicRoutes.d.ts.map +1 -1
- package/dist/mount/mountPublicRoutes.js +247 -124
- package/dist/mount/mountPublicRoutes.js.map +1 -1
- package/dist/mount/mountRuntimeEndpoints.d.ts +7 -0
- package/dist/mount/mountRuntimeEndpoints.d.ts.map +1 -0
- package/dist/mount/mountRuntimeEndpoints.js +49 -0
- package/dist/mount/mountRuntimeEndpoints.js.map +1 -0
- package/dist/mount/resolveCaller.d.ts +2 -1
- package/dist/mount/resolveCaller.d.ts.map +1 -1
- package/dist/mount/resolveCaller.js +10 -7
- package/dist/mount/resolveCaller.js.map +1 -1
- package/dist/oauth/cachePolicy.d.ts +1 -0
- package/dist/oauth/cachePolicy.d.ts.map +1 -1
- package/dist/oauth/cachePolicy.js +4 -4
- package/dist/oauth/cachePolicy.js.map +1 -1
- package/dist/oauth/consentHtml.d.ts +2 -2
- package/dist/oauth/consentHtml.d.ts.map +1 -1
- package/dist/oauth/consentHtml.js +17 -15
- package/dist/oauth/consentHtml.js.map +1 -1
- package/dist/oauth/index.d.ts +1 -3
- package/dist/oauth/index.d.ts.map +1 -1
- package/dist/oauth/index.js +0 -2
- package/dist/oauth/index.js.map +1 -1
- package/dist/oauth/mountOAuth.d.ts +2 -23
- package/dist/oauth/mountOAuth.d.ts.map +1 -1
- package/dist/oauth/mountOAuth.js +25 -108
- package/dist/oauth/mountOAuth.js.map +1 -1
- package/dist/worker/createMantleWorker.d.ts +15 -14
- package/dist/worker/createMantleWorker.d.ts.map +1 -1
- package/dist/worker/createMantleWorker.js +56 -22
- package/dist/worker/createMantleWorker.js.map +1 -1
- package/package.json +16 -15
- package/dist/assets/aotterFavicon.d.ts +0 -2
- package/dist/assets/aotterFavicon.d.ts.map +0 -1
- package/dist/assets/aotterFavicon.js +0 -5
- package/dist/assets/aotterFavicon.js.map +0 -1
- package/dist/bindings/KvCacheBinding.d.ts +0 -14
- package/dist/bindings/KvCacheBinding.d.ts.map +0 -1
- package/dist/bindings/KvCacheBinding.js +0 -27
- package/dist/bindings/KvCacheBinding.js.map +0 -1
- package/dist/mount/mountServerEndpoints.d.ts +0 -10
- package/dist/mount/mountServerEndpoints.d.ts.map +0 -1
- package/dist/mount/mountServerEndpoints.js +0 -1415
- package/dist/mount/mountServerEndpoints.js.map +0 -1
- package/dist/mount/runMantleUseCase.d.ts +0 -3
- package/dist/mount/runMantleUseCase.d.ts.map +0 -1
- package/dist/mount/runMantleUseCase.js +0 -41
- package/dist/mount/runMantleUseCase.js.map +0 -1
- package/dist/oauth/oauthConstants.d.ts +0 -15
- package/dist/oauth/oauthConstants.d.ts.map +0 -1
- package/dist/oauth/oauthConstants.js +0 -15
- package/dist/oauth/oauthConstants.js.map +0 -1
- package/dist/oauth/oauthSingleton.d.ts +0 -34
- package/dist/oauth/oauthSingleton.d.ts.map +0 -1
- package/dist/oauth/oauthSingleton.js +0 -33
- package/dist/oauth/oauthSingleton.js.map +0 -1
package/README.md
CHANGED
|
@@ -3,21 +3,60 @@
|
|
|
3
3
|
Cloudflare Workers adapter for mantle.
|
|
4
4
|
|
|
5
5
|
This package mounts the runtime on Hono, implements the runtime ports against
|
|
6
|
-
Cloudflare D1 /
|
|
7
|
-
plus MCP OAuth/DCR.
|
|
6
|
+
Cloudflare D1 / Workers assets, and owns curated identity/session wiring
|
|
7
|
+
plus MCP OAuth/CIMD. Legacy DCR remains a bounded compatibility path.
|
|
8
8
|
|
|
9
9
|
This package is prerelease software. Its `package.json` is the exact version
|
|
10
10
|
authority; the API surface may change until `v0.1.0`.
|
|
11
11
|
|
|
12
12
|
## Conventional Worker Facade
|
|
13
13
|
|
|
14
|
-
`createMantleWorker({
|
|
14
|
+
`createMantleWorker({ plan })` is the normal assembly path. It composes the
|
|
15
15
|
adapter's existing Auth, binding, Hono, OAuth and MCP primitives once per
|
|
16
16
|
isolate; `extend` may add application routes but cannot replace Core-owned
|
|
17
17
|
paths. The canonical contract and reserved path list live in the umbrella
|
|
18
18
|
package's [Conventional Cloudflare Worker](../../mantle/README.md#conventional-cloudflare-worker)
|
|
19
19
|
section.
|
|
20
20
|
|
|
21
|
+
The returned facade also exposes `getRuntime(env)`. Site-owned Queue and
|
|
22
|
+
scheduled handlers use it with generated `bindMantle(...)` Procedures so
|
|
23
|
+
they reuse the fetch path's assembled runtime instead of writing directly to
|
|
24
|
+
Mantle tables. Queue handlers still own per-message acknowledgement, retry,
|
|
25
|
+
and idempotency.
|
|
26
|
+
|
|
27
|
+
### Conventional Auth
|
|
28
|
+
|
|
29
|
+
Without an `auth` option, `createMantleWorker` requires one explicit mode:
|
|
30
|
+
|
|
31
|
+
| Mode | Non-secret bindings | Worker secrets | Must be absent |
|
|
32
|
+
|---|---|---|---|
|
|
33
|
+
| `self-managed` | `MANTLE_AUTH_MODE=self-managed`, `PUBLIC_ORIGIN`, `GITHUB_CLIENT_ID`, `ADMIN_GITHUB_LOGIN` | `GITHUB_CLIENT_SECRET`, `BETTER_AUTH_SECRET` | `MANTLE_HOSTED_AUTH_ISSUER`, `MANTLE_HOSTED_AUTH_CLIENT_ID` |
|
|
34
|
+
| `hosted` | `MANTLE_AUTH_MODE=hosted`, `PUBLIC_ORIGIN`, `MANTLE_HOSTED_AUTH_ISSUER`, `MANTLE_HOSTED_AUTH_CLIENT_ID`, `ADMIN_GITHUB_LOGIN` | `BETTER_AUTH_SECRET` | `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` |
|
|
35
|
+
|
|
36
|
+
Hosted Auth is a public PKCE client with no client secret. Its issuer must be
|
|
37
|
+
an HTTPS root origin (HTTP is accepted only for loopback development), and the
|
|
38
|
+
client id must be a URL at the same origin with the shape `/clients/<id>`.
|
|
39
|
+
Invalid, partial, or mixed-mode configuration fails closed: public site routes
|
|
40
|
+
remain available, while Admin, Auth, OAuth, and MCP routes return
|
|
41
|
+
`503 setup_incomplete`.
|
|
42
|
+
|
|
43
|
+
MCP client metadata is fetched through the public Internet boundary. Keep both
|
|
44
|
+
flags in `wrangler.jsonc`:
|
|
45
|
+
|
|
46
|
+
```jsonc
|
|
47
|
+
"compatibility_flags": ["nodejs_compat", "global_fetch_strictly_public"]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Sites with a different identity design may preserve Core's route ownership
|
|
51
|
+
while replacing only construction:
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
createMantleWorker({
|
|
55
|
+
plan,
|
|
56
|
+
auth: (env) => createAuth({ /* curated site-specific methods */ }),
|
|
57
|
+
});
|
|
58
|
+
```
|
|
59
|
+
|
|
21
60
|
When the conventional lifecycle really does not fit, copy the
|
|
22
61
|
[low-level composition fixture](../../../docs/cloudflare-low-level-composition.md).
|
|
23
62
|
It uses the same public bindings, Auth, runtime, OAuth/MCP, cache and error
|
|
@@ -54,8 +93,8 @@ participating subdomain. For a customer-owned domain such as
|
|
|
54
93
|
|
|
55
94
|
## API and MCP Authorization
|
|
56
95
|
|
|
57
|
-
`
|
|
58
|
-
keys and personal tokens, plus optional `
|
|
96
|
+
`createMantleRuntimeRef()` accepts an optional `credentialResolver` for site-owned API
|
|
97
|
+
keys and personal tokens, plus optional `jwtBearer` verification for
|
|
59
98
|
manifest REST routes. The adapter normalizes those callers, cookie sessions,
|
|
60
99
|
and MCP OAuth callers into the same runtime auth context. Manifest
|
|
61
100
|
`ctx.auth`/scope predicates and `guard.procedure` then enforce the target on
|
|
@@ -85,17 +124,20 @@ usually dominate the total request time.
|
|
|
85
124
|
|
|
86
125
|
## HTTP Cache Boundary
|
|
87
126
|
|
|
88
|
-
The conventional facade
|
|
89
|
-
|
|
90
|
-
|
|
127
|
+
The conventional facade applies the final cache policy after Better Auth,
|
|
128
|
+
MCP, Admin, manifest, and application routing. Low-level composition must call
|
|
129
|
+
the exported `applyCachePolicy(...)` at the same final boundary. It marks
|
|
91
130
|
admin, auth, API, OAuth, MCP, redirects, and errors `private, no-store` and
|
|
92
131
|
removes Cloudflare CDN cache overrides. Only anonymous 200 `GET`/`HEAD`
|
|
93
132
|
responses that explicitly declare `public` plus shared freshness remain
|
|
94
133
|
cacheable; they vary on `Cookie` and `Authorization`.
|
|
95
134
|
|
|
96
|
-
`mountPublicRoutes(...)`
|
|
97
|
-
|
|
98
|
-
|
|
135
|
+
`mountPublicRoutes(...)` renders D1-backed HTML, markdown, `llms.txt`, and
|
|
136
|
+
sitemap responses with that explicit public contract and one `mantle-public`
|
|
137
|
+
Cache-Tag. Publishing-content and site-setting mutations purge that tag through
|
|
138
|
+
the native Workers cache API; immutable assets and operational records stay
|
|
139
|
+
outside the purge boundary. Workers Cache stores only responses that still
|
|
140
|
+
satisfy the anonymous policy, and remains version-local. See the
|
|
99
141
|
[adapter implementation guide](../../../docs/adapter-guide.md#http-cache-contract).
|
|
100
142
|
|
|
101
143
|
## Optional R2 Media Uploads
|
|
@@ -3,12 +3,18 @@ export interface ConventionalAuthEnv {
|
|
|
3
3
|
readonly DB: D1Database;
|
|
4
4
|
readonly PUBLIC_ORIGIN?: string;
|
|
5
5
|
readonly BETTER_AUTH_SECRET?: string;
|
|
6
|
+
readonly MANTLE_AUTH_MODE?: string;
|
|
7
|
+
readonly MANTLE_HOSTED_AUTH_ISSUER?: string;
|
|
8
|
+
readonly MANTLE_HOSTED_AUTH_CLIENT_ID?: string;
|
|
6
9
|
readonly GITHUB_CLIENT_ID?: string;
|
|
7
10
|
readonly GITHUB_CLIENT_SECRET?: string;
|
|
8
11
|
readonly ADMIN_GITHUB_LOGIN?: string;
|
|
9
12
|
}
|
|
10
|
-
/** Choose self-managed GitHub
|
|
13
|
+
/** Choose hosted or self-managed GitHub Auth, otherwise fail closed. */
|
|
11
14
|
export declare function createConventionalAuth(env: ConventionalAuthEnv): Auth;
|
|
15
|
+
/** Canonical origin shared by Better Auth and the MCP resource verifier. */
|
|
16
|
+
export declare function conventionalAuthBaseURL(env: ConventionalAuthEnv): string;
|
|
17
|
+
export declare function conventionalMcpResource(env: ConventionalAuthEnv): string;
|
|
12
18
|
/** Return the setup response only for Auth-owned private surfaces. */
|
|
13
19
|
export declare function setupIncompleteAuthResponse(request: Request, auth: Auth): Promise<Response | null>;
|
|
14
20
|
//# sourceMappingURL=conventionalAuth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conventionalAuth.d.ts","sourceRoot":"","sources":["../../src/auth/conventionalAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"conventionalAuth.d.ts","sourceRoot":"","sources":["../../src/auth/conventionalAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,IAAI,EACV,MAAM,iBAAiB,CAAC;AAGzB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,wEAAwE;AACxE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAyFrE;AAED,4EAA4E;AAC5E,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAExE;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAExE;AAED,sEAAsE;AACtE,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAG1B"}
|
|
@@ -1,31 +1,99 @@
|
|
|
1
1
|
import { createAuth, createSetupIncompleteAuth, isSetupIncompleteAuth, } from "./createAuth.js";
|
|
2
|
-
import { OAUTH_AUTHORIZE_PATH, OAUTH_REGISTER_PATH, OAUTH_TOKEN_PATH, } from "../oauth/oauthConstants.js";
|
|
3
2
|
import { applyCachePolicy } from "../oauth/cachePolicy.js";
|
|
4
|
-
|
|
5
|
-
/** Choose self-managed GitHub OAuth or a fail-closed facade. */
|
|
3
|
+
/** Choose hosted or self-managed GitHub Auth, otherwise fail closed. */
|
|
6
4
|
export function createConventionalAuth(env) {
|
|
7
|
-
const
|
|
5
|
+
const mode = value(env.MANTLE_AUTH_MODE);
|
|
8
6
|
const secret = value(env.BETTER_AUTH_SECRET);
|
|
7
|
+
const owner = githubLogin(env.ADMIN_GITHUB_LOGIN);
|
|
8
|
+
const hostedIssuerRaw = value(env.MANTLE_HOSTED_AUTH_ISSUER);
|
|
9
|
+
const hostedClientIdRaw = value(env.MANTLE_HOSTED_AUTH_CLIENT_ID);
|
|
10
|
+
const hostedIssuer = hostedOrigin(hostedIssuerRaw);
|
|
11
|
+
const hostedClientId = hostedClient(hostedClientIdRaw, hostedIssuer);
|
|
9
12
|
const githubClientId = value(env.GITHUB_CLIENT_ID);
|
|
10
13
|
const githubClientSecret = value(env.GITHUB_CLIENT_SECRET);
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
const baseURL = conventionalAuthBaseURL(env);
|
|
15
|
+
const oauthProvider = {
|
|
16
|
+
loginPage: "/admin/sign-in",
|
|
17
|
+
consentPage: "/oauth/consent",
|
|
18
|
+
scopes: ["mcp"],
|
|
19
|
+
allowDynamicClientRegistration: true,
|
|
20
|
+
allowUnauthenticatedClientRegistration: true,
|
|
21
|
+
clientRegistrationDefaultScopes: ["mcp"],
|
|
22
|
+
clientRegistrationAllowedScopes: ["mcp"],
|
|
23
|
+
mcpResource: conventionalMcpResource(env),
|
|
24
|
+
};
|
|
25
|
+
if (mode === "hosted") {
|
|
26
|
+
if (!secret || !owner || !hostedIssuer || !hostedClientId || githubClientId || githubClientSecret) {
|
|
27
|
+
return incomplete(`Hosted Auth configuration errors: ${[
|
|
28
|
+
!secret ? "BETTER_AUTH_SECRET is not set" : null,
|
|
29
|
+
!owner ? "ADMIN_GITHUB_LOGIN is not set or invalid" : null,
|
|
30
|
+
!hostedIssuer
|
|
31
|
+
? `MANTLE_HOSTED_AUTH_ISSUER is ${hostedIssuerRaw ? "invalid" : "not set"}`
|
|
32
|
+
: null,
|
|
33
|
+
!hostedClientId
|
|
34
|
+
? `MANTLE_HOSTED_AUTH_CLIENT_ID is ${hostedClientIdRaw ? "invalid" : "not set"}`
|
|
35
|
+
: null,
|
|
36
|
+
githubClientId ? "GITHUB_CLIENT_ID is set" : null,
|
|
37
|
+
githubClientSecret ? "GITHUB_CLIENT_SECRET is set" : null,
|
|
38
|
+
].filter(Boolean).join("; ")}.`);
|
|
39
|
+
}
|
|
40
|
+
return createAuth({
|
|
41
|
+
database: env.DB,
|
|
42
|
+
baseURL,
|
|
43
|
+
secret,
|
|
44
|
+
methods: [{
|
|
45
|
+
kind: "oauth",
|
|
46
|
+
providerId: "github",
|
|
47
|
+
displayName: "GitHub",
|
|
48
|
+
clientId: hostedClientId,
|
|
49
|
+
authorizationUrl: `${hostedIssuer}/authorize`,
|
|
50
|
+
tokenUrl: `${hostedIssuer}/token`,
|
|
51
|
+
userInfoUrl: `${hostedIssuer}/userinfo`,
|
|
52
|
+
scopes: ["profile", "email"],
|
|
53
|
+
redirectURI: `${baseURL}/api/auth/callback/github`,
|
|
54
|
+
pkce: true,
|
|
55
|
+
mapProfileToUser: (profile) => {
|
|
56
|
+
const login = githubLogin(profile.github_login);
|
|
57
|
+
return login ? { githubLogin: login } : {};
|
|
58
|
+
},
|
|
59
|
+
}],
|
|
60
|
+
bootstrapOwner: { match: "github-login", value: owner },
|
|
61
|
+
oauthProvider,
|
|
62
|
+
});
|
|
15
63
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
64
|
+
if (mode === "self-managed") {
|
|
65
|
+
if (!secret || !owner || !githubClientId || !githubClientSecret || hostedIssuerRaw || hostedClientIdRaw) {
|
|
66
|
+
return incomplete(`Self-managed Auth configuration errors: ${[
|
|
67
|
+
!secret ? "BETTER_AUTH_SECRET is not set" : null,
|
|
68
|
+
!owner ? "ADMIN_GITHUB_LOGIN is not set or invalid" : null,
|
|
69
|
+
!githubClientId ? "GITHUB_CLIENT_ID is not set" : null,
|
|
70
|
+
!githubClientSecret ? "GITHUB_CLIENT_SECRET is not set" : null,
|
|
71
|
+
hostedIssuerRaw ? "MANTLE_HOSTED_AUTH_ISSUER is set" : null,
|
|
72
|
+
hostedClientIdRaw ? "MANTLE_HOSTED_AUTH_CLIENT_ID is set" : null,
|
|
73
|
+
].filter(Boolean).join("; ")}.`);
|
|
74
|
+
}
|
|
75
|
+
return createAuth({
|
|
76
|
+
database: env.DB,
|
|
77
|
+
baseURL,
|
|
78
|
+
secret,
|
|
79
|
+
methods: [{
|
|
80
|
+
kind: "social",
|
|
81
|
+
provider: "github",
|
|
82
|
+
clientId: githubClientId,
|
|
83
|
+
clientSecret: githubClientSecret,
|
|
84
|
+
}],
|
|
85
|
+
bootstrapOwner: { match: "github-login", value: owner },
|
|
86
|
+
oauthProvider,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return incomplete("MANTLE_AUTH_MODE must be hosted or self-managed.");
|
|
90
|
+
}
|
|
91
|
+
/** Canonical origin shared by Better Auth and the MCP resource verifier. */
|
|
92
|
+
export function conventionalAuthBaseURL(env) {
|
|
93
|
+
return value(env.PUBLIC_ORIGIN)?.replace(/\/+$/, "") ?? "http://localhost:8787";
|
|
94
|
+
}
|
|
95
|
+
export function conventionalMcpResource(env) {
|
|
96
|
+
return `${conventionalAuthBaseURL(env)}/mcp`;
|
|
29
97
|
}
|
|
30
98
|
/** Return the setup response only for Auth-owned private surfaces. */
|
|
31
99
|
export async function setupIncompleteAuthResponse(request, auth) {
|
|
@@ -39,13 +107,46 @@ function isAuthProtectedPath(request, auth) {
|
|
|
39
107
|
|| pathname.startsWith("/admin/")
|
|
40
108
|
|| pathname === auth.basePath
|
|
41
109
|
|| pathname.startsWith(`${auth.basePath}/`)
|
|
42
|
-
|| pathname ===
|
|
43
|
-
|| pathname
|
|
44
|
-
|| pathname === OAUTH_REGISTER_PATH
|
|
110
|
+
|| pathname === "/oauth"
|
|
111
|
+
|| pathname.startsWith("/oauth/")
|
|
45
112
|
|| pathname.startsWith("/.well-known/oauth")
|
|
46
113
|
|| pathname === "/mcp"
|
|
47
114
|
|| pathname.startsWith("/mcp/");
|
|
48
115
|
}
|
|
116
|
+
function incomplete(message) {
|
|
117
|
+
return createSetupIncompleteAuth({ message });
|
|
118
|
+
}
|
|
119
|
+
function hostedOrigin(raw) {
|
|
120
|
+
try {
|
|
121
|
+
const url = new URL(value(raw) ?? "");
|
|
122
|
+
if (!secureOrLoopback(url) || url.pathname !== "/" || url.search || url.hash)
|
|
123
|
+
return null;
|
|
124
|
+
return url.origin;
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function hostedClient(raw, issuer) {
|
|
131
|
+
try {
|
|
132
|
+
const url = new URL(value(raw) ?? "");
|
|
133
|
+
return issuer && secureOrLoopback(url) && url.origin === issuer && /^\/clients\/[A-Za-z0-9_-]{1,128}$/u.test(url.pathname) && !url.search && !url.hash
|
|
134
|
+
? url.toString()
|
|
135
|
+
: null;
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
function secureOrLoopback(url) {
|
|
142
|
+
return !url.username && !url.password && (url.protocol === "https:" || (url.protocol === "http:" &&
|
|
143
|
+
(url.hostname === "localhost" || url.hostname === "127.0.0.1" || url.hostname === "[::1]")));
|
|
144
|
+
}
|
|
145
|
+
function githubLogin(raw) {
|
|
146
|
+
return typeof raw === "string" && /^[A-Za-z0-9](?:[A-Za-z0-9-]{0,37}[A-Za-z0-9])?$/u.test(raw.trim())
|
|
147
|
+
? raw.trim()
|
|
148
|
+
: null;
|
|
149
|
+
}
|
|
49
150
|
function value(raw) {
|
|
50
151
|
return raw?.trim() || null;
|
|
51
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conventionalAuth.js","sourceRoot":"","sources":["../../src/auth/conventionalAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,yBAAyB,EACzB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"conventionalAuth.js","sourceRoot":"","sources":["../../src/auth/conventionalAuth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { SocialProvider } from "better-auth/social-providers";
|
|
2
2
|
import { type Scope } from "@better-auth/oauth-provider";
|
|
3
|
+
import { decodeMemberCursor, encodeMemberCursor } from "@aotter/mantle-admin";
|
|
3
4
|
import type { EmailSender } from "@aotter/mantle-runtime";
|
|
4
5
|
import { STAFF_ROLES, type StaffRole } from "@aotter/mantle-spec";
|
|
6
|
+
export { decodeMemberCursor, encodeMemberCursor };
|
|
5
7
|
export { STAFF_ROLES, type StaffRole };
|
|
6
8
|
/**
|
|
7
9
|
* Set lookup for "is this role string a staff role?" — handlers/MCP
|
|
@@ -66,9 +68,8 @@ export type AuthMethodConfig = {
|
|
|
66
68
|
readonly extras?: Readonly<Record<string, unknown>>;
|
|
67
69
|
} | {
|
|
68
70
|
readonly kind: "oauth";
|
|
69
|
-
/** Better Auth generic OAuth provider id.
|
|
70
|
-
*
|
|
71
|
-
* (`/oauth2/callback/:providerId`). */
|
|
71
|
+
/** Better Auth generic OAuth provider id. In 1.7 generic providers use
|
|
72
|
+
* the standard social sign-in and `/callback/:id` routes. */
|
|
72
73
|
readonly providerId: string;
|
|
73
74
|
/** Human label surfaced by `/api/auth/methods` so the admin SPA
|
|
74
75
|
* can render "Continue with Mantle Platform" without knowing
|
|
@@ -79,8 +80,6 @@ export type AuthMethodConfig = {
|
|
|
79
80
|
/** OIDC discovery document URL. Prefer this over hand-wiring
|
|
80
81
|
* authorization/token/userinfo URLs. */
|
|
81
82
|
readonly discoveryUrl?: string;
|
|
82
|
-
readonly issuer?: string;
|
|
83
|
-
readonly requireIssuerValidation?: boolean;
|
|
84
83
|
readonly authorizationUrl?: string;
|
|
85
84
|
readonly tokenUrl?: string;
|
|
86
85
|
readonly userInfoUrl?: string;
|
|
@@ -169,11 +168,15 @@ export interface OAuthProviderConfig {
|
|
|
169
168
|
readonly clientRegistrationDefaultScopes?: ReadonlyArray<Scope>;
|
|
170
169
|
readonly clientRegistrationAllowedScopes?: ReadonlyArray<Scope>;
|
|
171
170
|
readonly cachedTrustedClients?: ReadonlySet<string>;
|
|
172
|
-
/**
|
|
173
|
-
readonly
|
|
171
|
+
/** Protected resources this authorization server may issue tokens for. */
|
|
172
|
+
readonly resources?: ReadonlyArray<string>;
|
|
173
|
+
/** Turn this provider into the MCP authorization server for one canonical
|
|
174
|
+
* resource. Cloudflare deployments must enable
|
|
175
|
+
* `global_fetch_strictly_public` for CIMD fetches. */
|
|
176
|
+
readonly mcpResource?: string;
|
|
174
177
|
readonly clientPrivileges?: (context: {
|
|
175
178
|
readonly headers: Headers;
|
|
176
|
-
readonly action: "create" | "read" | "update" | "delete" | "list" | "rotate";
|
|
179
|
+
readonly action: "create" | "read" | "update" | "delete" | "list" | "rotate" | "configure-client-credentials-scopes";
|
|
177
180
|
readonly user?: {
|
|
178
181
|
readonly id: string;
|
|
179
182
|
readonly email: string;
|
|
@@ -200,7 +203,7 @@ export interface RegisterOAuthClientInput {
|
|
|
200
203
|
readonly tokenEndpointAuthMethod?: "none" | "client_secret_basic" | "client_secret_post";
|
|
201
204
|
readonly grantTypes?: ReadonlyArray<"authorization_code" | "client_credentials" | "refresh_token">;
|
|
202
205
|
readonly responseTypes?: ReadonlyArray<"code">;
|
|
203
|
-
readonly
|
|
206
|
+
readonly applicationType?: "web" | "native";
|
|
204
207
|
readonly skipConsent?: boolean;
|
|
205
208
|
readonly enableEndSession?: boolean;
|
|
206
209
|
readonly requirePKCE?: boolean;
|
|
@@ -215,8 +218,7 @@ export interface RegisteredOAuthClient {
|
|
|
215
218
|
readonly clientName?: string;
|
|
216
219
|
readonly clientUri?: string;
|
|
217
220
|
readonly tokenEndpointAuthMethod?: string;
|
|
218
|
-
readonly
|
|
219
|
-
readonly public?: boolean;
|
|
221
|
+
readonly applicationType?: "web" | "native";
|
|
220
222
|
}
|
|
221
223
|
export interface CreateAuthConfig {
|
|
222
224
|
readonly database: D1Database;
|
|
@@ -225,6 +227,8 @@ export interface CreateAuthConfig {
|
|
|
225
227
|
* multiple auth instances live in one Worker, e.g. hosted platform
|
|
226
228
|
* provider + site staff auth + launch GitHub auth. */
|
|
227
229
|
readonly basePath?: string;
|
|
230
|
+
/** Same-origin destination for auth failures. Defaults to `/`. */
|
|
231
|
+
readonly errorURL?: string;
|
|
228
232
|
readonly secret: string;
|
|
229
233
|
/** Registered auth methods. Boot fails fast if empty. */
|
|
230
234
|
readonly methods: ReadonlyArray<AuthMethodConfig>;
|
|
@@ -289,9 +293,8 @@ export interface LinkedAccountInfo {
|
|
|
289
293
|
* `user` table's identity columns; password hashes, ban metadata, and
|
|
290
294
|
* other secret-shaped columns are intentionally excluded.
|
|
291
295
|
*
|
|
292
|
-
* `emailVerified: false` +
|
|
293
|
-
*
|
|
294
|
-
* signed in to yet) — the admin SPA renders those as "invited".
|
|
296
|
+
* `emailVerified: false` + no linked account identifies a pending
|
|
297
|
+
* invitation; invited rows already carry their requested staff role.
|
|
295
298
|
*/
|
|
296
299
|
export interface StaffUserInfo {
|
|
297
300
|
readonly id: string;
|
|
@@ -302,6 +305,18 @@ export interface StaffUserInfo {
|
|
|
302
305
|
readonly emailVerified: boolean;
|
|
303
306
|
readonly createdAt: Date;
|
|
304
307
|
}
|
|
308
|
+
export type MemberUserInfo = Pick<StaffUserInfo, "id" | "email" | "name" | "emailVerified" | "createdAt">;
|
|
309
|
+
export interface MemberListResult {
|
|
310
|
+
readonly items: readonly MemberUserInfo[];
|
|
311
|
+
readonly previousCursor: string | null;
|
|
312
|
+
readonly nextCursor: string | null;
|
|
313
|
+
}
|
|
314
|
+
export interface ListMembersArgs {
|
|
315
|
+
readonly search?: string;
|
|
316
|
+
readonly cursor?: string;
|
|
317
|
+
readonly cursorDirection?: "forward" | "backward";
|
|
318
|
+
readonly limit: number;
|
|
319
|
+
}
|
|
305
320
|
/** Stable, secret-free user projection for consumer-owned services. */
|
|
306
321
|
export interface AuthUserInfo extends StaffUserInfo {
|
|
307
322
|
readonly image: string | null;
|
|
@@ -330,11 +345,21 @@ export type OAuthAccessTokenVerification = {
|
|
|
330
345
|
} | {
|
|
331
346
|
readonly ok: false;
|
|
332
347
|
readonly status: 401 | 403;
|
|
333
|
-
readonly reason: "invalid-token" | "insufficient-scope";
|
|
348
|
+
readonly reason: "invalid-token" | "invalid-dpop-proof" | "insufficient-scope";
|
|
334
349
|
readonly missingScopes?: readonly string[];
|
|
335
350
|
};
|
|
351
|
+
export interface OAuthConsentRequest {
|
|
352
|
+
readonly clientName: string;
|
|
353
|
+
readonly redirectUri: string;
|
|
354
|
+
readonly scopes: readonly string[];
|
|
355
|
+
/** Better Auth-signed authorization query. Return it unchanged with the
|
|
356
|
+
* consent decision so Better Auth can verify the flow. */
|
|
357
|
+
readonly oauthQuery: string;
|
|
358
|
+
}
|
|
336
359
|
export interface Auth {
|
|
337
360
|
readonly basePath: string;
|
|
361
|
+
/** Canonical MCP protected resource when this Auth owns one. */
|
|
362
|
+
readonly mcpResource?: string;
|
|
338
363
|
readonly handler: (request: Request) => Promise<Response>;
|
|
339
364
|
readonly getSession: (request: Request) => Promise<{
|
|
340
365
|
session: {
|
|
@@ -351,9 +376,9 @@ export interface Auth {
|
|
|
351
376
|
githubLogin?: string | null;
|
|
352
377
|
};
|
|
353
378
|
} | null>;
|
|
354
|
-
/**
|
|
355
|
-
*
|
|
356
|
-
*
|
|
379
|
+
/** Authoritative `user.role` lookup. Protected Admin, MCP, preview,
|
|
380
|
+
* and HTTP Trigger calls use this on every request so custom Auth
|
|
381
|
+
* session snapshots cannot retain revoked staff access. */
|
|
357
382
|
readonly getUserRole: (userId: string) => Promise<string | null>;
|
|
358
383
|
/** Read one Better Auth-owned user without coupling consumers to its SQL schema.
|
|
359
384
|
* Optional so existing custom Auth implementations remain source-compatible. */
|
|
@@ -363,12 +388,17 @@ export interface Auth {
|
|
|
363
388
|
* tokens and account rows are never returned. */
|
|
364
389
|
readonly getProviderAccessToken: (request: Request, providerId: string) => Promise<ProviderAccessToken>;
|
|
365
390
|
/** Verify a JWT access token against this Auth instance's issuer and
|
|
366
|
-
* JWKS.
|
|
391
|
+
* JWKS. Passing a Request also enforces DPoP proof binding and persistent
|
|
392
|
+
* replay protection. Opaque tokens and remote introspection are not
|
|
367
393
|
* supported. */
|
|
368
394
|
readonly verifyOAuthAccessToken: (tokenOrRequest: string | Request, options: {
|
|
369
395
|
readonly audience: string;
|
|
370
396
|
readonly scopes?: readonly string[];
|
|
371
397
|
}) => Promise<OAuthAccessTokenVerification>;
|
|
398
|
+
/** Secret-free client projection for the current consent redirect. */
|
|
399
|
+
readonly getOAuthConsentRequest: (request: Request) => Promise<OAuthConsentRequest | null>;
|
|
400
|
+
/** Submit the original signed query and return the validated client redirect. */
|
|
401
|
+
readonly completeOAuthConsent: (request: Request, accept: boolean) => Promise<string>;
|
|
372
402
|
/** Methods the consumer registered, in declaration order. The admin
|
|
373
403
|
* SPA renders sign-in sections per this list. Secrets, senders, and
|
|
374
404
|
* per-provider extras are intentionally excluded — UI doesn't need
|
|
@@ -388,11 +418,12 @@ export interface Auth {
|
|
|
388
418
|
* email-OTP / magic-link sign-ins do not write to the `account`
|
|
389
419
|
* table at all, so "rows left" is not a reliable indicator. */
|
|
390
420
|
readonly unlinkAccount: (userId: string, providerId: string) => Promise<boolean>;
|
|
391
|
-
/** List
|
|
392
|
-
*
|
|
393
|
-
*
|
|
394
|
-
* (`/admin/api/staff`); this method does not gate. */
|
|
421
|
+
/** List only users with a staff role, ordered by `createdAt`
|
|
422
|
+
* ascending. End-user identities stay outside the team-management
|
|
423
|
+
* surface. Owner-only enforcement is the mount layer's job. */
|
|
395
424
|
readonly listUsers: () => Promise<readonly StaffUserInfo[]>;
|
|
425
|
+
/** List non-staff identities for the member-management surface. */
|
|
426
|
+
readonly listMembers: (args: ListMembersArgs) => Promise<MemberListResult>;
|
|
396
427
|
/** Assign or clear a user's staff role. `null` revokes staff access
|
|
397
428
|
* (the row keeps existing — the user can still sign in, but every
|
|
398
429
|
* staff-gated surface 403s). Returns false when no row matched.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAuth.d.ts","sourceRoot":"","sources":["../../src/auth/createAuth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createAuth.d.ts","sourceRoot":"","sources":["../../src/auth/createAuth.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AASnE,OAAO,EAAiB,KAAK,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAGxE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;AACvC;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAAwB,CAAC;AAExE;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC;AAE9C,MAAM,MAAM,kBAAkB,GAAG,CAC/B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KACvC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEtD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC;IAChD,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC,CAAC,CAAC;AAEJ;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GACxB;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;;kDAE8C;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;2CAEuC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC;;;;;;;;;;;;;kEAa8D;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;kEAC8D;IAC9D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;yCAEqC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;6CACyC;IACzC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EACZ,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,GACT,gBAAgB,GAChB,wBAAwB,GACxB,eAAe,CAAC;IACpB;qEACiE;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;CAChD,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;iEAC6D;IAC7D,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,qEAAqE;IACrE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;2EACuE;IACvE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B;;uBAEmB;IACnB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B;8DAC0D;IAC1D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;iDAE6C;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,mEAAmE;IACnE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEN;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC;6CACyC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IAClD,QAAQ,CAAC,sCAAsC,CAAC,EAAE,OAAO,CAAC;IAC1D,QAAQ,CAAC,+BAA+B,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAChE,QAAQ,CAAC,+BAA+B,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAChE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpD,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C;;2DAEuD;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE;QACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,MAAM,EACX,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,qCAAqC,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1F,QAAQ,CAAC,OAAO,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,MAAM,CAC1E,MAAM,EACN,OAAO,CACR,CAAC;KACH,KAAK,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,wBAAwB;IACvC;yEACqE;IACrE,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxD,QAAQ,CAAC,uBAAuB,CAAC,EAC7B,MAAM,GACN,qBAAqB,GACrB,oBAAoB,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CACjC,oBAAoB,GAAG,oBAAoB,GAAG,eAAe,CAC9D,CAAC;IACF,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC7C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;2DAEuD;IACvD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAClD;sCACkC;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC;IAC7C;qCACiC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE;iEAC6D;IAC7D,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD;yDACqD;IACrD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,2BAA2B,CAAC;IAC7D;uEACmE;IACnE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;0CAEsC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAC;CAC9C;AA8YD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,EACxC,UAAU,GAAE,aAAa,CAAC,MAAM,CAAM,GACrC,MAAM,EAAE,CAKV;AA8PD;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAA;CAAE,GAChE;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEN;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,aAAa,EACb,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,eAAe,GAAG,WAAW,CACxD,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,uEAAuE;AACvE,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;gCAEgC;AAChC,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,GACD;IACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;IAC3B,QAAQ,CAAC,MAAM,EACX,eAAe,GACf,oBAAoB,GACpB,oBAAoB,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C,CAAC;AAEN,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC;+DAC2D;IAC3D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAMD,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1D,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;QACjD,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,IAAI,CAAA;SAAE,CAAC;QACzD,IAAI,EAAE;YACJ,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC7B,CAAC;KACH,GAAG,IAAI,CAAC,CAAC;IACV;;gEAE4D;IAC5D,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjE;qFACiF;IACjF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACpE;;sDAEkD;IAClD,QAAQ,CAAC,sBAAsB,EAAE,CAC/B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClC;;;qBAGiB;IACjB,QAAQ,CAAC,sBAAsB,EAAE,CAC/B,cAAc,EAAE,MAAM,GAAG,OAAO,EAChC,OAAO,EAAE;QACP,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACrC,KACE,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAC3C,sEAAsE;IACtE,QAAQ,CAAC,sBAAsB,EAAE,CAC/B,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACzC,iFAAiF;IACjF,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,KACZ,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB;;;;kCAI8B;IAC9B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAChD;;;qDAGiD;IACjD,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAC;IAC3C;;;;;;oEAMgE;IAChE,QAAQ,CAAC,aAAa,EAAE,CACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB;;oEAEgE;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,SAAS,aAAa,EAAE,CAAC,CAAC;IAC5D,mEAAmE;IACnE,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3E;;;;;;iBAMa;IACb,QAAQ,CAAC,WAAW,EAAE,CACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,GAAG,IAAI,KACnB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB;;;;;;;;wDAQoD;IACpD,QAAQ,CAAC,UAAU,EAAE,CACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,SAAS,KACZ,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/B;;;wEAGoE;IACpE,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D;;;6EAGyE;IACzE,QAAQ,CAAC,mBAAmB,EAAE,CAC5B,KAAK,EAAE,wBAAwB,KAC5B,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACrC;AAID,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAEzD;AAKD,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CA6XzD;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACxD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,0BAA+B,GACvC,IAAI,CA4CN"}
|