@aotter/mantle-cloudflare 0.1.0-alpha.7 → 0.1.0-alpha.8

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 (93) hide show
  1. package/README.md +15 -8
  2. package/dist/auth/conventionalAuth.d.ts +3 -0
  3. package/dist/auth/conventionalAuth.d.ts.map +1 -1
  4. package/dist/auth/conventionalAuth.js +23 -6
  5. package/dist/auth/conventionalAuth.js.map +1 -1
  6. package/dist/auth/createAuth.d.ts +30 -13
  7. package/dist/auth/createAuth.d.ts.map +1 -1
  8. package/dist/auth/createAuth.js +173 -154
  9. package/dist/auth/createAuth.js.map +1 -1
  10. package/dist/bindings/AssetsAssetServer.d.ts +4 -4
  11. package/dist/bindings/AssetsAssetServer.d.ts.map +1 -1
  12. package/dist/bindings/AssetsAssetServer.js +2 -2
  13. package/dist/bindings/D1DatabaseDriver.d.ts +3 -4
  14. package/dist/bindings/D1DatabaseDriver.d.ts.map +1 -1
  15. package/dist/bindings/D1DatabaseDriver.js +4 -91
  16. package/dist/bindings/D1DatabaseDriver.js.map +1 -1
  17. package/dist/bindings/WorkersQueueHookDispatcher.d.ts +2 -2
  18. package/dist/bindings/WorkersQueueHookDispatcher.d.ts.map +1 -1
  19. package/dist/bindings/WorkersQueueHookDispatcher.js +1 -1
  20. package/dist/bindings/WorkersQueueHookDispatcher.js.map +1 -1
  21. package/dist/bindings/conventionalBindings.d.ts +2 -3
  22. package/dist/bindings/conventionalBindings.d.ts.map +1 -1
  23. package/dist/bindings/conventionalBindings.js +1 -3
  24. package/dist/bindings/conventionalBindings.js.map +1 -1
  25. package/dist/handlers/turnstile.d.ts +1 -1
  26. package/dist/handlers/turnstile.d.ts.map +1 -1
  27. package/dist/handlers/turnstile.js +3 -1
  28. package/dist/handlers/turnstile.js.map +1 -1
  29. package/dist/mount/bootRuntimeOnce.d.ts +15 -8
  30. package/dist/mount/bootRuntimeOnce.d.ts.map +1 -1
  31. package/dist/mount/bootRuntimeOnce.js +36 -21
  32. package/dist/mount/bootRuntimeOnce.js.map +1 -1
  33. package/dist/mount/cmsConfig.d.ts +17 -9
  34. package/dist/mount/cmsConfig.d.ts.map +1 -1
  35. package/dist/mount/index.d.ts +4 -4
  36. package/dist/mount/index.d.ts.map +1 -1
  37. package/dist/mount/index.js +3 -3
  38. package/dist/mount/index.js.map +1 -1
  39. package/dist/mount/mountAdmin.d.ts +6 -0
  40. package/dist/mount/mountAdmin.d.ts.map +1 -0
  41. package/dist/mount/mountAdmin.js +16 -0
  42. package/dist/mount/mountAdmin.js.map +1 -0
  43. package/dist/mount/mountMcp.d.ts +7 -10
  44. package/dist/mount/mountMcp.d.ts.map +1 -1
  45. package/dist/mount/mountMcp.js +57 -49
  46. package/dist/mount/mountMcp.js.map +1 -1
  47. package/dist/mount/mountPublicRoutes.d.ts +4 -4
  48. package/dist/mount/mountPublicRoutes.d.ts.map +1 -1
  49. package/dist/mount/mountPublicRoutes.js +31 -24
  50. package/dist/mount/mountPublicRoutes.js.map +1 -1
  51. package/dist/mount/mountRuntimeEndpoints.d.ts +7 -0
  52. package/dist/mount/mountRuntimeEndpoints.d.ts.map +1 -0
  53. package/dist/mount/mountRuntimeEndpoints.js +49 -0
  54. package/dist/mount/mountRuntimeEndpoints.js.map +1 -0
  55. package/dist/mount/resolveCaller.d.ts.map +1 -1
  56. package/dist/mount/resolveCaller.js +0 -33
  57. package/dist/mount/resolveCaller.js.map +1 -1
  58. package/dist/oauth/cachePolicy.d.ts.map +1 -1
  59. package/dist/oauth/cachePolicy.js +2 -4
  60. package/dist/oauth/cachePolicy.js.map +1 -1
  61. package/dist/oauth/consentHtml.d.ts +2 -2
  62. package/dist/oauth/consentHtml.d.ts.map +1 -1
  63. package/dist/oauth/consentHtml.js +5 -5
  64. package/dist/oauth/consentHtml.js.map +1 -1
  65. package/dist/oauth/index.d.ts +0 -2
  66. package/dist/oauth/index.d.ts.map +1 -1
  67. package/dist/oauth/index.js +0 -2
  68. package/dist/oauth/index.js.map +1 -1
  69. package/dist/oauth/mountOAuth.d.ts +2 -16
  70. package/dist/oauth/mountOAuth.d.ts.map +1 -1
  71. package/dist/oauth/mountOAuth.js +24 -99
  72. package/dist/oauth/mountOAuth.js.map +1 -1
  73. package/dist/worker/createMantleWorker.d.ts +12 -13
  74. package/dist/worker/createMantleWorker.d.ts.map +1 -1
  75. package/dist/worker/createMantleWorker.js +31 -24
  76. package/dist/worker/createMantleWorker.js.map +1 -1
  77. package/package.json +12 -11
  78. package/dist/mount/mountServerEndpoints.d.ts +0 -9
  79. package/dist/mount/mountServerEndpoints.d.ts.map +0 -1
  80. package/dist/mount/mountServerEndpoints.js +0 -1625
  81. package/dist/mount/mountServerEndpoints.js.map +0 -1
  82. package/dist/mount/runMantleUseCase.d.ts +0 -3
  83. package/dist/mount/runMantleUseCase.d.ts.map +0 -1
  84. package/dist/mount/runMantleUseCase.js +0 -41
  85. package/dist/mount/runMantleUseCase.js.map +0 -1
  86. package/dist/oauth/oauthConstants.d.ts +0 -15
  87. package/dist/oauth/oauthConstants.d.ts.map +0 -1
  88. package/dist/oauth/oauthConstants.js +0 -15
  89. package/dist/oauth/oauthConstants.js.map +0 -1
  90. package/dist/oauth/oauthSingleton.d.ts +0 -33
  91. package/dist/oauth/oauthSingleton.d.ts.map +0 -1
  92. package/dist/oauth/oauthSingleton.js +0 -39
  93. package/dist/oauth/oauthSingleton.js.map +0 -1
@@ -1,112 +1,37 @@
1
1
  import { rejectCrossOriginMutation } from "../auth/rejectCrossOriginMutation.js";
2
2
  import { detectConsentLocale, renderConsentHtml, } from "./consentHtml.js";
3
- /**
4
- * Mount the `/authorize` consent UI on the consumer's Hono app. The
5
- * Hono app must be passed to `createOAuthProvider({ defaultHandler })`;
6
- * the lib injects `OAUTH_PROVIDER` helpers onto env BEFORE forwarding
7
- * the request here, so we read `c.env.OAUTH_PROVIDER` directly.
8
- *
9
- * `/token` + `/register` + `/.well-known/oauth-*` are intercepted by
10
- * the OAuthProvider itself and never reach defaultHandler — do not
11
- * mount them here.
12
- */
3
+ /** Mount Mantle's small server-rendered consent page. Better Auth owns the
4
+ * signed authorization query, client lookup, decision, and redirect. */
13
5
  export function mountAuthorize(app, options) {
14
- const { auth, loginPath = "/admin/sign-in" } = options;
15
- const consentHandler = async (c) => {
6
+ const { auth } = options;
7
+ app.get("/oauth/consent", async (c) => {
16
8
  const locale = detectConsentLocale(c.req.header("accept-language") ?? null);
17
- const helpers = c.env.OAUTH_PROVIDER;
18
- if (!helpers) {
19
- return new Response("OAUTH_PROVIDER missing on env — is the worker exported via createOAuthProvider()?", { status: 500 });
9
+ let model = null;
10
+ try {
11
+ model = await auth.getOAuthConsentRequest(c.req.raw);
20
12
  }
21
- const session = await auth.getSession(c.req.raw);
22
- if (!session) {
23
- if (c.req.method !== "GET") {
24
- return new Response("unauthenticated", { status: 401 });
25
- }
26
- const u = new URL(c.req.url);
27
- const returnTo = encodeURIComponent(u.pathname + u.search);
28
- return new Response(null, {
29
- status: 302,
30
- headers: { location: `${loginPath}?return=${returnTo}` },
31
- });
13
+ catch {
14
+ // Invalid, expired, or unauthenticated signed queries render the same
15
+ // non-sensitive failure page.
32
16
  }
33
- if (c.req.method === "POST") {
34
- // CSRF defense that does NOT depend on the session cookie's
35
- // SameSite attribute (which is forced to `none` globally when an
36
- // Apple social method is registered). A cross-site auto-submitting
37
- // form would otherwise mint an authorization code for an
38
- // attacker-registered client using the victim's session. Reject
39
- // any request a browser flags as cross-site / cross-origin; browsers
40
- // always send these on a real consent submit, and non-browser
41
- // clients can't ride a victim's cookie cross-site anyway. (#389)
42
- const rejected = rejectCrossOriginMutation(c.req.raw);
43
- if (rejected)
44
- return rejected;
45
- const form = await c.req.raw.formData();
46
- const oauthRequestJson = form.get("oauth_request");
47
- if (typeof oauthRequestJson !== "string") {
48
- return new Response("missing oauth_request", { status: 400 });
49
- }
50
- if (form.get("decision") !== "approve") {
51
- return new Response("authorization denied", { status: 400 });
52
- }
53
- let reqInfo;
54
- try {
55
- reqInfo = JSON.parse(oauthRequestJson);
56
- }
57
- catch {
58
- return new Response("invalid oauth_request json", { status: 400 });
59
- }
60
- // The form-field oauth_request is caller-editable — a malicious
61
- // submit could swap redirectUri / scope post-consent. Re-validate
62
- // clientId + redirectUri against the registered client record;
63
- // refuse if either drifted. Fail closed when no registered URIs
64
- // exist — a misconfigured client with no allowlist must not get
65
- // a free pass.
66
- const registered = await helpers.lookupClient(reqInfo.clientId);
67
- if (!registered) {
68
- return new Response("unknown client", { status: 400 });
69
- }
70
- if (!Array.isArray(registered.redirectUris) ||
71
- registered.redirectUris.length === 0 ||
72
- !registered.redirectUris.includes(reqInfo.redirectUri)) {
73
- return new Response("redirect_uri mismatch", { status: 400 });
74
- }
75
- // If claude.ai forgets to request a scope, default to ["mcp"]
76
- // so the token grant is non-empty (claude.ai post-token
77
- // verification rejects empty-scope tokens in some flows).
78
- const grantedScope = reqInfo.scope && reqInfo.scope.length > 0 ? reqInfo.scope : ["mcp"];
79
- const { redirectTo } = await helpers.completeAuthorization({
80
- request: reqInfo,
81
- userId: session.user.id,
82
- metadata: {},
83
- scope: grantedScope,
84
- // The provider's token-exchange callback derives token-specific API
85
- // props from verified grant fields and the effective token scope.
86
- props: {},
87
- });
88
- return new Response(null, { status: 302, headers: { location: redirectTo } });
17
+ return c.html(renderConsentHtml(locale, model), model ? 200 : 400);
18
+ });
19
+ app.post("/oauth/consent", async (c) => {
20
+ const rejected = rejectCrossOriginMutation(c.req.raw);
21
+ if (rejected)
22
+ return rejected;
23
+ const body = await c.req.text();
24
+ const decision = new URLSearchParams(body).get("decision");
25
+ if (decision !== "approve" && decision !== "deny") {
26
+ return new Response("invalid consent decision", { status: 400 });
89
27
  }
90
- let model = null;
91
28
  try {
92
- const reqInfo = await helpers.parseAuthRequest(c.req.raw);
93
- const clientInfo = await helpers.lookupClient(reqInfo.clientId);
94
- model = {
95
- clientName: clientInfo?.clientName ?? "(unknown client)",
96
- redirectUri: reqInfo.redirectUri,
97
- scopes: reqInfo.scope ?? [],
98
- oauthRequestJson: JSON.stringify(reqInfo),
99
- };
29
+ const redirect = await auth.completeOAuthConsent(new Request(c.req.raw, { body }), decision === "approve");
30
+ return c.redirect(redirect, 302);
100
31
  }
101
32
  catch {
102
- // parseAuthRequest throws on malformed requests; fall through to
103
- // the "invalid authorization request" branch in renderConsentHtml.
33
+ return new Response("invalid authorization request", { status: 400 });
104
34
  }
105
- return new Response(renderConsentHtml(locale, model), {
106
- headers: { "content-type": "text/html; charset=utf-8" },
107
- });
108
- };
109
- app.get("/oauth/authorize", consentHandler);
110
- app.post("/oauth/authorize", consentHandler);
35
+ });
111
36
  }
112
37
  //# sourceMappingURL=mountOAuth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mountOAuth.js","sourceRoot":"","sources":["../../src/oauth/mountOAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mountOAuth.js","sourceRoot":"","sources":["../../src/oauth/mountOAuth.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAM1B;wEACwE;AACxE,MAAM,UAAU,cAAc,CAC5B,GAAY,EACZ,OAA8B;IAE9B,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzB,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,CAAC;QAC5E,IAAI,KAAK,GAA+B,IAAI,CAAC;QAC7C,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;YACtE,8BAA8B;QAChC,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAClD,OAAO,IAAI,QAAQ,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC9C,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAChC,QAAQ,KAAK,SAAS,CACvB,CAAC;YACF,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,QAAQ,CAAC,+BAA+B,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import { Hono, type Env as HonoEnv, type Handler, type MiddlewareHandler } from "hono";
2
- import type { AnyHandler, CmsRuntime, PublicPathResolver, TemplateRegistry } from "@aotter/mantle-runtime";
3
- import type { Manifest, SiteDefaults } from "@aotter/mantle-spec";
2
+ import type { AnyHandler, RuntimePlan } from "@aotter/mantle-runtime";
3
+ import type { PublicPathResolver, TemplateRegistry } from "@aotter/mantle-web";
4
+ import type { SiteDefaults } from "@aotter/mantle-spec";
4
5
  import { type ConventionalAuthEnv } from "../auth/conventionalAuth.js";
5
6
  import type { Auth } from "../auth/createAuth.js";
6
7
  import { type MantleWorkerBindings } from "../bindings/conventionalBindings.js";
7
- import { type CmsRuntimeRef } from "../mount/bootRuntimeOnce.js";
8
- import type { CmsConfig } from "../mount/cmsConfig.js";
8
+ import { type CloudflareMantleRuntime, type MantleRuntimeRef } from "../mount/bootRuntimeOnce.js";
9
+ import type { MantleCloudflareConfig } from "../mount/cmsConfig.js";
9
10
  import type { ConsumerCredentialResolver } from "../mount/resolveCaller.js";
10
11
  /** Fixed namespaces owned by Mantle's standard Worker surfaces. */
11
12
  export declare const MANTLE_RESERVED_PATH_PREFIXES: readonly ["/admin", "/_mantle", "/api/auth", "/api/views", "/oauth", "/mcp"];
@@ -41,32 +42,30 @@ export interface MantleExtensionApp<Bindings extends object> {
41
42
  route<const Path extends string, SubEnv extends HonoEnv>(path: SafePath<Path>, app: Hono<SubEnv>): MantleExtensionApp<Bindings>;
42
43
  }
43
44
  export interface MantleCloudflareEnv extends ConventionalAuthEnv {
44
- readonly OAUTH_KV: KVNamespace;
45
- readonly ASSETS: Fetcher;
45
+ readonly ASSETS?: Fetcher;
46
46
  }
47
47
  export interface MantleWorkerBootstrapContext<Env extends MantleCloudflareEnv> {
48
48
  readonly env: Env;
49
49
  readonly auth: Auth;
50
50
  readonly bindings: MantleWorkerBindings;
51
51
  /** Safe to retain and call later; do not call synchronously inside `extend`. */
52
- readonly getRuntime: () => Promise<CmsRuntime>;
52
+ readonly getRuntime: () => Promise<CloudflareMantleRuntime>;
53
53
  }
54
54
  export interface MantleWorkerMountContext<Env extends MantleCloudflareEnv> extends MantleWorkerBootstrapContext<Env> {
55
55
  readonly app: MantleExtensionApp<Env>;
56
- readonly ref: CmsRuntimeRef;
56
+ readonly ref: MantleRuntimeRef;
57
57
  }
58
58
  /** The one opt-in seam for application handlers, auth inputs and routes. */
59
59
  export interface MantleWorkerExtension<Env extends MantleCloudflareEnv> {
60
60
  readonly handlers?: Readonly<Record<string, AnyHandler>>;
61
61
  readonly credentialResolver?: ConsumerCredentialResolver;
62
- readonly jwtBearer?: CmsConfig["jwtBearer"];
63
- readonly scopesSupported?: readonly string[];
62
+ readonly jwtBearer?: MantleCloudflareConfig["jwtBearer"];
64
63
  /** Standard routes mount first; extension routes may only add new paths. */
65
64
  readonly mount?: (context: MantleWorkerMountContext<Env>) => void;
66
65
  }
67
66
  export interface CreateMantleWorkerOptions<Env extends MantleCloudflareEnv> {
68
- /** Parsed manifests, normally imported from `.mantle/generated/site.js`. */
69
- readonly manifest: readonly Manifest[];
67
+ /** Sealed generated plan imported from `.mantle/generated/mantle.js`. */
68
+ readonly plan: RuntimePlan;
70
69
  readonly handlers?: Readonly<Record<string, AnyHandler>>;
71
70
  readonly siteDefaults?: SiteDefaults | ((env: Env) => SiteDefaults);
72
71
  readonly templates?: TemplateRegistry;
@@ -81,7 +80,7 @@ export interface CreateMantleWorkerOptions<Env extends MantleCloudflareEnv> {
81
80
  export interface MantleWorkerHandler<Env extends MantleCloudflareEnv> {
82
81
  /** Boot and return the same runtime used by fetch. Queue/scheduled handlers
83
82
  * use this instead of constructing a second runtime or bypassing it. */
84
- getRuntime(env: Env): Promise<CmsRuntime>;
83
+ getRuntime(env: Env): Promise<CloudflareMantleRuntime>;
85
84
  fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response>;
86
85
  }
87
86
  /** Assemble Mantle's conventional Worker once per isolate. */
@@ -1 +1 @@
1
- {"version":3,"file":"createMantleWorker.d.ts","sourceRoot":"","sources":["../../src/worker/createMantleWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createMantleWorker.d.ts","sourceRoot":"","sources":["../../src/worker/createMantleWorker.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,12 @@
1
1
  import { Hono, } from "hono";
2
- import { createConventionalAuth, setupIncompleteAuthResponse, } from "../auth/conventionalAuth.js";
2
+ import { conventionalMcpResource, createConventionalAuth, setupIncompleteAuthResponse, } from "../auth/conventionalAuth.js";
3
3
  import { createConventionalBindings, } from "../bindings/conventionalBindings.js";
4
- import { createCmsRef } from "../mount/bootRuntimeOnce.js";
4
+ import { createMantleRuntimeRef, } from "../mount/bootRuntimeOnce.js";
5
5
  import { createMcpApiHandler } from "../mount/mountMcp.js";
6
- import { mountServerEndpoints } from "../mount/mountServerEndpoints.js";
6
+ import { mountAdmin } from "../mount/mountAdmin.js";
7
+ import { mountRuntimeEndpoints } from "../mount/mountRuntimeEndpoints.js";
7
8
  import { mountAuthorize } from "../oauth/mountOAuth.js";
8
- import { OAUTH_REGISTER_PATH, OAUTH_TOKEN_PATH } from "../oauth/oauthConstants.js";
9
- import { createOAuthProvider } from "../oauth/oauthSingleton.js";
10
- import { PUBLIC_CACHE_TAG } from "../oauth/cachePolicy.js";
9
+ import { applyCachePolicy, PUBLIC_CACHE_TAG } from "../oauth/cachePolicy.js";
11
10
  /** Fixed namespaces owned by Mantle's standard Worker surfaces. */
12
11
  export const MANTLE_RESERVED_PATH_PREFIXES = [
13
12
  "/admin",
@@ -36,12 +35,17 @@ export function createMantleWorker(options) {
36
35
  : Promise.reject(new Error("Mantle runtime is unavailable until `extend` returns."));
37
36
  const bootstrap = { env, auth, bindings, getRuntime };
38
37
  const extension = options.extend?.(bootstrap) ?? {};
39
- ref = createCmsRef({
40
- manifests: options.manifest,
38
+ ref = createMantleRuntimeRef({
39
+ plan: options.plan,
41
40
  handlers: mergeHandlers(options.handlers, extension.handlers),
42
41
  siteDefaults: resolve(options.siteDefaults, env),
43
42
  templates: options.templates,
44
43
  publicPathResolver: options.publicPathResolver,
44
+ reservedHttpPathPrefixes: [
45
+ ...MANTLE_RESERVED_PATH_PREFIXES,
46
+ MANTLE_RESERVED_WELL_KNOWN_PREFIX,
47
+ auth.basePath,
48
+ ],
45
49
  mediaAllowSvg: resolve(options.mediaAllowSvg, env),
46
50
  bindings,
47
51
  auth,
@@ -50,8 +54,23 @@ export function createMantleWorker(options) {
50
54
  onPublicChange: purgePublicCache,
51
55
  });
52
56
  const app = new Hono();
53
- mountServerEndpoints(app, ref);
54
- mountAuthorize(app, { auth, loginPath: "/admin/sign-in" });
57
+ mountRuntimeEndpoints(app, ref);
58
+ if (bindings.adminAssets)
59
+ mountAdmin(app, ref, bindings.adminAssets);
60
+ mountAuthorize(app, { auth });
61
+ const mcpResource = auth.mcpResource ?? conventionalMcpResource(env);
62
+ const publicMcp = createMcpApiHandler({
63
+ ref,
64
+ surface: "public",
65
+ resource: mcpResource,
66
+ });
67
+ const staffMcp = createMcpApiHandler({
68
+ ref,
69
+ surface: "staff",
70
+ resource: mcpResource,
71
+ });
72
+ app.all("/mcp", (c) => publicMcp.fetch(c.req.raw, c.env, c.executionCtx));
73
+ app.all("/mcp/staff", (c) => staffMcp.fetch(c.req.raw, c.env, c.executionCtx));
55
74
  const standardRouteCount = app.routes.length;
56
75
  extension.mount?.({
57
76
  ...bootstrap,
@@ -59,20 +78,10 @@ export function createMantleWorker(options) {
59
78
  ref,
60
79
  });
61
80
  assertExtensionRoutes(app, standardRouteCount, auth.basePath);
62
- const provider = createOAuthProvider({
63
- defaultHandler: {
64
- fetch: (request, workerEnv, ctx) => app.fetch(request, workerEnv, ctx),
65
- },
66
- apiHandlers: {
67
- "/mcp/staff": createMcpApiHandler({ ref, surface: "staff" }),
68
- "/mcp": createMcpApiHandler({ ref, surface: "public" }),
69
- },
70
- scopesSupported: [...new Set(["mcp", ...(extension.scopesSupported ?? [])])],
71
- });
72
81
  const next = {
73
82
  auth,
74
83
  getRuntime,
75
- fetch: (request, workerEnv, ctx) => provider.fetch(request, workerEnv, ctx),
84
+ fetch: async (request, workerEnv, ctx) => applyCachePolicy(request, await app.fetch(request, workerEnv, ctx)),
76
85
  };
77
86
  assembled = next;
78
87
  return next;
@@ -106,9 +115,7 @@ async function purgePublicCache() {
106
115
  }
107
116
  function isRuntimeIndependentOAuthRequest(request) {
108
117
  const pathname = new URL(request.url).pathname;
109
- if (pathname === OAUTH_TOKEN_PATH ||
110
- pathname === OAUTH_REGISTER_PATH ||
111
- pathname.startsWith(MANTLE_RESERVED_WELL_KNOWN_PREFIX))
118
+ if (pathname.startsWith(MANTLE_RESERVED_WELL_KNOWN_PREFIX))
112
119
  return true;
113
120
  return (pathname === "/mcp" || pathname.startsWith("/mcp/")) &&
114
121
  !request.headers.has("authorization");
@@ -1 +1 @@
1
- {"version":3,"file":"createMantleWorker.js","sourceRoot":"","sources":["../../src/worker/createMantleWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createMantleWorker.js","sourceRoot":"","sources":["../../src/worker/createMantleWorker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aotter/mantle-cloudflare",
3
- "version": "0.1.0-alpha.7",
4
- "description": "Cloudflare Workers adapter for mantle. Hono-based mountServerEndpoints / createMcpApiHandler / mountAuthorize / mountPublicRoutes. Better Auth for staff sign-in; @cloudflare/workers-oauth-provider for the MCP OAuth AS surface.",
3
+ "version": "0.1.0-alpha.8",
4
+ "description": "Cloudflare Workers adapter for Mantle runtime, Admin, MCP, and public Web mounts.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://mantle.tools/",
7
7
  "repository": {
@@ -29,29 +29,30 @@
29
29
  "README.md"
30
30
  ],
31
31
  "dependencies": {
32
- "@better-auth/oauth-provider": "^1.6.27",
33
- "@aotter/mantle-runtime": "0.1.0-alpha.7",
34
- "@aotter/mantle-spec": "0.1.0-alpha.7",
35
- "@aotter/mantle-admin-ui": "0.1.0-alpha.7"
32
+ "@better-auth/cimd": "^1.7.1",
33
+ "@better-auth/mcp": "^1.7.1",
34
+ "@better-auth/oauth-provider": "^1.7.1",
35
+ "@aotter/mantle-runtime": "0.1.0-alpha.8",
36
+ "@aotter/mantle-spec": "0.1.0-alpha.8",
37
+ "@aotter/mantle-web": "0.1.0-alpha.8",
38
+ "@aotter/mantle-admin": "0.1.0-alpha.8"
36
39
  },
37
40
  "peerDependencies": {
38
- "@cloudflare/workers-oauth-provider": "^0.8.2",
39
41
  "aws4fetch": "^1.0.20",
40
- "better-auth": "^1.6.27",
42
+ "better-auth": "^1.7.1",
41
43
  "hono": "^4.12.0",
42
44
  "zod": "^4.0.0"
43
45
  },
44
46
  "devDependencies": {
45
- "@cloudflare/workers-oauth-provider": "^0.8.2",
46
47
  "@cloudflare/workers-types": "^5.20260729.1",
47
48
  "@types/node": "^26",
48
49
  "aws4fetch": "^1.0.20",
49
- "better-auth": "^1.6.27",
50
+ "better-auth": "^1.7.1",
50
51
  "hono": "^4.12.34",
51
52
  "typescript": "^6.0.3",
52
53
  "vitest": "^4.1.10",
53
54
  "wrangler": "^4.115.0",
54
- "zod": "^4.4.2"
55
+ "zod": "^4.4.3"
55
56
  },
56
57
  "scripts": {
57
58
  "prebuild": "rm -rf dist .tsbuildinfo",
@@ -1,9 +0,0 @@
1
- import type { Env, Hono } from "hono";
2
- import type { CmsRuntimeRef } from "./bootRuntimeOnce.js";
3
- /** Mount HTTP Triggers + Views + the Better Auth admin surface.
4
- * HTTP Triggers resolve configured credentials and sessions through
5
- * `resolveCaller`; the target Procedure's `requires.auth` owns
6
- * authorization. */
7
- export declare function mountServerEndpoints<E extends Env>(app: Hono<E>, ref: CmsRuntimeRef): void;
8
- export type { CmsRuntimeRef };
9
- //# sourceMappingURL=mountServerEndpoints.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mountServerEndpoints.d.ts","sourceRoot":"","sources":["../../src/mount/mountServerEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,GAAG,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAkC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAa1D;;;qBAGqB;AACrB,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,GAAG,EAChD,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EACZ,GAAG,EAAE,aAAa,GACjB,IAAI,CAuCN;AA28DD,YAAY,EAAE,aAAa,EAAE,CAAC"}