@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.
Files changed (113) hide show
  1. package/README.md +53 -11
  2. package/dist/auth/conventionalAuth.d.ts +7 -1
  3. package/dist/auth/conventionalAuth.d.ts.map +1 -1
  4. package/dist/auth/conventionalAuth.js +125 -24
  5. package/dist/auth/conventionalAuth.js.map +1 -1
  6. package/dist/auth/createAuth.d.ts +54 -23
  7. package/dist/auth/createAuth.d.ts.map +1 -1
  8. package/dist/auth/createAuth.js +230 -134
  9. package/dist/auth/createAuth.js.map +1 -1
  10. package/dist/auth/rejectCrossOriginMutation.d.ts +2 -0
  11. package/dist/auth/rejectCrossOriginMutation.d.ts.map +1 -0
  12. package/dist/auth/rejectCrossOriginMutation.js +15 -0
  13. package/dist/auth/rejectCrossOriginMutation.js.map +1 -0
  14. package/dist/bindings/AssetsAssetServer.d.ts +4 -4
  15. package/dist/bindings/AssetsAssetServer.d.ts.map +1 -1
  16. package/dist/bindings/AssetsAssetServer.js +2 -2
  17. package/dist/bindings/D1DatabaseDriver.d.ts +3 -4
  18. package/dist/bindings/D1DatabaseDriver.d.ts.map +1 -1
  19. package/dist/bindings/D1DatabaseDriver.js +4 -83
  20. package/dist/bindings/D1DatabaseDriver.js.map +1 -1
  21. package/dist/bindings/WorkersQueueHookDispatcher.d.ts +2 -2
  22. package/dist/bindings/WorkersQueueHookDispatcher.d.ts.map +1 -1
  23. package/dist/bindings/WorkersQueueHookDispatcher.js +1 -1
  24. package/dist/bindings/WorkersQueueHookDispatcher.js.map +1 -1
  25. package/dist/bindings/conventionalBindings.d.ts +2 -4
  26. package/dist/bindings/conventionalBindings.d.ts.map +1 -1
  27. package/dist/bindings/conventionalBindings.js +3 -7
  28. package/dist/bindings/conventionalBindings.js.map +1 -1
  29. package/dist/bindings/index.d.ts +0 -1
  30. package/dist/bindings/index.d.ts.map +1 -1
  31. package/dist/bindings/index.js +0 -1
  32. package/dist/bindings/index.js.map +1 -1
  33. package/dist/handlers/turnstile.d.ts +1 -1
  34. package/dist/handlers/turnstile.d.ts.map +1 -1
  35. package/dist/handlers/turnstile.js +3 -1
  36. package/dist/handlers/turnstile.js.map +1 -1
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.js +1 -1
  39. package/dist/mount/bootRuntimeOnce.d.ts +15 -8
  40. package/dist/mount/bootRuntimeOnce.d.ts.map +1 -1
  41. package/dist/mount/bootRuntimeOnce.js +80 -20
  42. package/dist/mount/bootRuntimeOnce.js.map +1 -1
  43. package/dist/mount/cmsConfig.d.ts +18 -9
  44. package/dist/mount/cmsConfig.d.ts.map +1 -1
  45. package/dist/mount/index.d.ts +5 -5
  46. package/dist/mount/index.d.ts.map +1 -1
  47. package/dist/mount/index.js +3 -3
  48. package/dist/mount/index.js.map +1 -1
  49. package/dist/mount/mountAdmin.d.ts +6 -0
  50. package/dist/mount/mountAdmin.d.ts.map +1 -0
  51. package/dist/mount/mountAdmin.js +16 -0
  52. package/dist/mount/mountAdmin.js.map +1 -0
  53. package/dist/mount/mountMcp.d.ts +7 -10
  54. package/dist/mount/mountMcp.d.ts.map +1 -1
  55. package/dist/mount/mountMcp.js +86 -48
  56. package/dist/mount/mountMcp.js.map +1 -1
  57. package/dist/mount/mountPublicRoutes.d.ts +24 -24
  58. package/dist/mount/mountPublicRoutes.d.ts.map +1 -1
  59. package/dist/mount/mountPublicRoutes.js +247 -124
  60. package/dist/mount/mountPublicRoutes.js.map +1 -1
  61. package/dist/mount/mountRuntimeEndpoints.d.ts +7 -0
  62. package/dist/mount/mountRuntimeEndpoints.d.ts.map +1 -0
  63. package/dist/mount/mountRuntimeEndpoints.js +49 -0
  64. package/dist/mount/mountRuntimeEndpoints.js.map +1 -0
  65. package/dist/mount/resolveCaller.d.ts +2 -1
  66. package/dist/mount/resolveCaller.d.ts.map +1 -1
  67. package/dist/mount/resolveCaller.js +10 -7
  68. package/dist/mount/resolveCaller.js.map +1 -1
  69. package/dist/oauth/cachePolicy.d.ts +1 -0
  70. package/dist/oauth/cachePolicy.d.ts.map +1 -1
  71. package/dist/oauth/cachePolicy.js +4 -4
  72. package/dist/oauth/cachePolicy.js.map +1 -1
  73. package/dist/oauth/consentHtml.d.ts +2 -2
  74. package/dist/oauth/consentHtml.d.ts.map +1 -1
  75. package/dist/oauth/consentHtml.js +17 -15
  76. package/dist/oauth/consentHtml.js.map +1 -1
  77. package/dist/oauth/index.d.ts +1 -3
  78. package/dist/oauth/index.d.ts.map +1 -1
  79. package/dist/oauth/index.js +0 -2
  80. package/dist/oauth/index.js.map +1 -1
  81. package/dist/oauth/mountOAuth.d.ts +2 -23
  82. package/dist/oauth/mountOAuth.d.ts.map +1 -1
  83. package/dist/oauth/mountOAuth.js +25 -108
  84. package/dist/oauth/mountOAuth.js.map +1 -1
  85. package/dist/worker/createMantleWorker.d.ts +15 -14
  86. package/dist/worker/createMantleWorker.d.ts.map +1 -1
  87. package/dist/worker/createMantleWorker.js +56 -22
  88. package/dist/worker/createMantleWorker.js.map +1 -1
  89. package/package.json +16 -15
  90. package/dist/assets/aotterFavicon.d.ts +0 -2
  91. package/dist/assets/aotterFavicon.d.ts.map +0 -1
  92. package/dist/assets/aotterFavicon.js +0 -5
  93. package/dist/assets/aotterFavicon.js.map +0 -1
  94. package/dist/bindings/KvCacheBinding.d.ts +0 -14
  95. package/dist/bindings/KvCacheBinding.d.ts.map +0 -1
  96. package/dist/bindings/KvCacheBinding.js +0 -27
  97. package/dist/bindings/KvCacheBinding.js.map +0 -1
  98. package/dist/mount/mountServerEndpoints.d.ts +0 -10
  99. package/dist/mount/mountServerEndpoints.d.ts.map +0 -1
  100. package/dist/mount/mountServerEndpoints.js +0 -1415
  101. package/dist/mount/mountServerEndpoints.js.map +0 -1
  102. package/dist/mount/runMantleUseCase.d.ts +0 -3
  103. package/dist/mount/runMantleUseCase.d.ts.map +0 -1
  104. package/dist/mount/runMantleUseCase.js +0 -41
  105. package/dist/mount/runMantleUseCase.js.map +0 -1
  106. package/dist/oauth/oauthConstants.d.ts +0 -15
  107. package/dist/oauth/oauthConstants.d.ts.map +0 -1
  108. package/dist/oauth/oauthConstants.js +0 -15
  109. package/dist/oauth/oauthConstants.js.map +0 -1
  110. package/dist/oauth/oauthSingleton.d.ts +0 -34
  111. package/dist/oauth/oauthSingleton.d.ts.map +0 -1
  112. package/dist/oauth/oauthSingleton.js +0 -33
  113. 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 / KV / Workers assets, and owns curated identity/session wiring
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({ manifest })` is the normal assembly path. It composes the
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
- `createCmsRef()` accepts an optional `credentialResolver` for site-owned API
58
- keys and personal tokens, plus optional `oauthBearer` JWT verification for
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 owns the top-level OAuth provider. In low-level
89
- composition, export `createOAuthProvider(...)` as the Worker's top-level
90
- handler. It marks
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(...)` applies that explicit public contract to pre-rendered
97
- HTML, markdown, `llms.txt`, and sitemap responses. A consumer Workers Cache may
98
- store only responses that still satisfy the contract. See the
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 OAuth or a fail-closed facade. */
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,EAEV,MAAM,iBAAiB,CAAC;AAWzB,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,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,gEAAgE;AAChE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CA4BrE;AAED,sEAAsE;AACtE,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAG1B"}
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
- const AUTH_NOT_CONFIGURED = "Admin auth is not configured yet. Configure self-managed GitHub OAuth or provide an explicit Auth factory.";
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 baseURL = value(env.PUBLIC_ORIGIN)?.replace(/\/+$/, "") ?? "http://localhost:8787";
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 adminGithubLogin = value(env.ADMIN_GITHUB_LOGIN);
12
- const githubReady = Boolean(secret && githubClientId && githubClientSecret && adminGithubLogin);
13
- if (!githubReady) {
14
- return createSetupIncompleteAuth({ message: AUTH_NOT_CONFIGURED });
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
- const methods = [{
17
- kind: "social",
18
- provider: "github",
19
- clientId: githubClientId,
20
- clientSecret: githubClientSecret,
21
- }];
22
- return createAuth({
23
- database: env.DB,
24
- baseURL,
25
- secret: secret,
26
- methods,
27
- bootstrapOwner: { match: "github-login", value: adminGithubLogin },
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 === OAUTH_AUTHORIZE_PATH
43
- || pathname === OAUTH_TOKEN_PATH
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,GAGtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,mBAAmB,GACvB,4GAA4G,CAAC;AAW/G,gEAAgE;AAChE,MAAM,UAAU,sBAAsB,CAAC,GAAwB;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAC;IACzF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACnD,MAAM,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,OAAO,CACzB,MAAM,IAAI,cAAc,IAAI,kBAAkB,IAAI,gBAAgB,CACnE,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,yBAAyB,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAuB,CAAC;YACnC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,cAAe;YACzB,YAAY,EAAE,kBAAmB;SAClC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;QAChB,QAAQ,EAAE,GAAG,CAAC,EAAE;QAChB,OAAO;QACP,MAAM,EAAE,MAAO;QACf,OAAO;QACP,cAAc,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAiB,EAAE;KACpE,CAAC,CAAC;AACL,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAgB,EAChB,IAAU;IAEV,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACrF,OAAO,gBAAgB,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB,EAAE,IAAU;IACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC/C,OAAO,QAAQ,KAAK,QAAQ;WACvB,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;WAC9B,QAAQ,KAAK,IAAI,CAAC,QAAQ;WAC1B,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC;WACxC,QAAQ,KAAK,oBAAoB;WACjC,QAAQ,KAAK,gBAAgB;WAC7B,QAAQ,KAAK,mBAAmB;WAChC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;WACzC,QAAQ,KAAK,MAAM;WACnB,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,KAAK,CAAC,GAAuB;IACpC,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;AAC7B,CAAC"}
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. Stable across sign-in
70
- * start (`/sign-in/oauth2`) and callback
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
- /** Explicit JWT audiences this authorization server may mint. */
173
- readonly validAudiences?: ReadonlyArray<string>;
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 type?: "web" | "native" | "user-agent-based";
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 type?: string;
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` + a `null` role is the resting state of an
293
- * *invitation* (a row pre-created by `inviteUser` that nobody has
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
- /** Read `user.role` directly from D1. Bearer-token auth surfaces
355
- * (MCP, HTTP Triggers) need this because OAuth access tokens carry
356
- * userId + scopes but not the user's role. */
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. Opaque tokens and remote introspection are intentionally not
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 every user row for the staff-management surface, ordered by
392
- * `createdAt` ascending. Read-only uses the underlying D1 binding
393
- * directly. Owner-only enforcement is the mount layer's job
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"}