@aotter/mantle-cloudflare 0.0.11-alpha.58 → 0.0.11-alpha.60
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 +28 -0
- package/dist/bindings/D1DatabaseDriver.js +15 -1
- package/dist/bindings/D1DatabaseDriver.js.map +1 -1
- package/dist/bindings/WorkersQueueHookDispatcher.d.ts +8 -9
- package/dist/bindings/WorkersQueueHookDispatcher.d.ts.map +1 -1
- package/dist/bindings/WorkersQueueHookDispatcher.js +58 -23
- package/dist/bindings/WorkersQueueHookDispatcher.js.map +1 -1
- package/dist/mount/cmsConfig.d.ts +5 -4
- package/dist/mount/cmsConfig.d.ts.map +1 -1
- package/dist/mount/mountPublicRoutes.d.ts.map +1 -1
- package/dist/mount/mountPublicRoutes.js +17 -7
- package/dist/mount/mountPublicRoutes.js.map +1 -1
- package/dist/oauth/cachePolicy.d.ts +3 -0
- package/dist/oauth/cachePolicy.d.ts.map +1 -0
- package/dist/oauth/cachePolicy.js +60 -0
- package/dist/oauth/cachePolicy.js.map +1 -0
- package/dist/oauth/oauthSingleton.d.ts +3 -3
- package/dist/oauth/oauthSingleton.d.ts.map +1 -1
- package/dist/oauth/oauthSingleton.js +12 -1
- package/dist/oauth/oauthSingleton.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -52,6 +52,19 @@ Core does not create credential or payment tables. See the shipped
|
|
|
52
52
|
the exact resolver contract, OAuth resource helpers, manifest examples,
|
|
53
53
|
status behavior, OpenAPI reflection, and runnable integration fixture.
|
|
54
54
|
|
|
55
|
+
## HTTP Cache Boundary
|
|
56
|
+
|
|
57
|
+
Export `createOAuthProvider(...)` as the Worker's top-level handler. It marks
|
|
58
|
+
admin, auth, API, OAuth, MCP, redirects, and errors `private, no-store` and
|
|
59
|
+
removes Cloudflare CDN cache overrides. Only anonymous 200 `GET`/`HEAD`
|
|
60
|
+
responses that explicitly declare `public` plus shared freshness remain
|
|
61
|
+
cacheable; they vary on `Cookie` and `Authorization`.
|
|
62
|
+
|
|
63
|
+
`mountPublicRoutes(...)` applies that explicit public contract to pre-rendered
|
|
64
|
+
HTML, markdown, `llms.txt`, and sitemap responses. A consumer Workers Cache may
|
|
65
|
+
store only responses that still satisfy the contract. See the
|
|
66
|
+
[adapter implementation guide](../../../docs/adapter-guide.md#http-cache-contract).
|
|
67
|
+
|
|
55
68
|
## Optional R2 Media Uploads
|
|
56
69
|
|
|
57
70
|
R2-backed staff media uploads are adapter-specific post-launch work, not part
|
|
@@ -59,3 +72,18 @@ of the Core SDK skill contract or Day 1 landing path. Use the Cloudflare recipe
|
|
|
59
72
|
only when a site actually needs staff-managed images or files:
|
|
60
73
|
|
|
61
74
|
<https://raw.githubusercontent.com/aotter/mantle/develop/docs/media-uploads.md>
|
|
75
|
+
|
|
76
|
+
## Optional deferred lifecycle hooks
|
|
77
|
+
|
|
78
|
+
`WorkersQueueHookDispatcher` and `createQueueHandler` opt `after_*` lifecycle
|
|
79
|
+
Triggers into Cloudflare Queues. Delivery is at-least-once, not exactly-once;
|
|
80
|
+
the D1 write and Queue send are not atomic, and fallback through `waitUntil` is
|
|
81
|
+
best-effort. Handlers receive a stable `ctx.event.id` plus
|
|
82
|
+
`ctx.event.trigger` for idempotency. The adapter validates strict v1 JSON
|
|
83
|
+
envelopes, reserves metadata headroom under Cloudflare's 128 KB message limit,
|
|
84
|
+
and maps failures to per-message retry/DLQ behavior.
|
|
85
|
+
|
|
86
|
+
Producer/consumer bindings, Worker export, idempotent D1/upstream examples,
|
|
87
|
+
site-queue multiplexing, verification, and the legacy-envelope drain step are
|
|
88
|
+
in the shipped
|
|
89
|
+
[deferred lifecycle Queue guide](../../../docs/deferred-lifecycle-queues.md).
|
|
@@ -106,7 +106,21 @@ class D1Migrations {
|
|
|
106
106
|
ops.push(this.db
|
|
107
107
|
.prepare(`INSERT INTO _migrations (id, applied_at) VALUES (?, ?)`)
|
|
108
108
|
.bind(m.id, Date.now()));
|
|
109
|
-
|
|
109
|
+
try {
|
|
110
|
+
await this.db.batch(ops);
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
// Two cold starts can read the same stale `seen` snapshot. The
|
|
114
|
+
// losing batch rolls back atomically; accept it only when the
|
|
115
|
+
// winner has recorded this exact migration in the meantime.
|
|
116
|
+
const winner = await this.db
|
|
117
|
+
.prepare(`SELECT id FROM _migrations WHERE id = ?`)
|
|
118
|
+
.bind(m.id)
|
|
119
|
+
.first();
|
|
120
|
+
if (winner?.id !== m.id)
|
|
121
|
+
throw error;
|
|
122
|
+
}
|
|
123
|
+
seen.add(m.id);
|
|
110
124
|
}
|
|
111
125
|
}
|
|
112
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"D1DatabaseDriver.js","sourceRoot":"","sources":["../../src/bindings/D1DatabaseDriver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"D1DatabaseDriver.js","sourceRoot":"","sources":["../../src/bindings/D1DatabaseDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,9 @@ import type { CmsRuntime, DeferredHookDispatcher, DeferredHookEnvelope } from "@
|
|
|
2
2
|
/**
|
|
3
3
|
* `DeferredHookDispatcher` impl backed by a Cloudflare Workers Queue
|
|
4
4
|
* binding. Producer side: serialises each `DeferredHookEnvelope` and
|
|
5
|
-
* sends it
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* caller decide.
|
|
5
|
+
* sends it explicitly as JSON. The runtime decorator handles a
|
|
6
|
+
* rejection with its best-effort fallback. Queue acceptance is not
|
|
7
|
+
* atomic with the preceding D1 mutation.
|
|
9
8
|
*
|
|
10
9
|
* Per ADR-0011 only this adapter package may import the CF binding
|
|
11
10
|
* type. The runtime sees only the `DeferredHookDispatcher` port.
|
|
@@ -17,7 +16,7 @@ export declare class WorkersQueueHookDispatcher implements DeferredHookDispatche
|
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
19
18
|
* Build the `queue(batch, env, ctx)` Workers handler that consumes
|
|
20
|
-
* `
|
|
19
|
+
* `mantle-internal` messages and re-fires each `after_*` hook through
|
|
21
20
|
* the runtime. Consumers wire this alongside `fetch` in their default
|
|
22
21
|
* Worker export:
|
|
23
22
|
*
|
|
@@ -28,11 +27,11 @@ export declare class WorkersQueueHookDispatcher implements DeferredHookDispatche
|
|
|
28
27
|
* } satisfies ExportedHandler<Env>;
|
|
29
28
|
* ```
|
|
30
29
|
*
|
|
31
|
-
* Per-message ack / retry:
|
|
32
|
-
* message; success acks. CF Queues then
|
|
33
|
-
*
|
|
30
|
+
* Per-message ack / retry: any validation or handler failure retries
|
|
31
|
+
* the message; success acks. CF Queues then applies the consumer's
|
|
32
|
+
* retry delay, max_retries, and DLQ configuration.
|
|
34
33
|
*/
|
|
35
34
|
export declare function createQueueHandler<Env>(cmsRef: {
|
|
36
35
|
get(): Promise<CmsRuntime>;
|
|
37
|
-
}): (batch: MessageBatch<
|
|
36
|
+
}): (batch: MessageBatch<unknown>, env: Env) => Promise<void>;
|
|
38
37
|
//# sourceMappingURL=WorkersQueueHookDispatcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkersQueueHookDispatcher.d.ts","sourceRoot":"","sources":["../../src/bindings/WorkersQueueHookDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkersQueueHookDispatcher.d.ts","sourceRoot":"","sources":["../../src/bindings/WorkersQueueHookDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAUhC;;;;;;;;;GASG;AACH,qBAAa,0BAA2B,YAAW,sBAAsB;IAC3D,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC;IAEzD,OAAO,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAiC7D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EACpC,MAAM,EAAE;IAAE,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAA;CAAE,GACrC,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAkC3D"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// Cloudflare's 128 KB limit is decimal and includes roughly 100 bytes
|
|
3
|
+
// of platform metadata. Reserve a full 1 KB so accepted envelopes stay
|
|
4
|
+
// below the provider limit rather than failing only at queue.send.
|
|
5
|
+
const MAX_ENVELOPE_BYTES = 127_000;
|
|
6
|
+
const MAX_CONCURRENCY = 5;
|
|
7
|
+
const jsonValue = z.json();
|
|
1
8
|
/**
|
|
2
9
|
* `DeferredHookDispatcher` impl backed by a Cloudflare Workers Queue
|
|
3
10
|
* binding. Producer side: serialises each `DeferredHookEnvelope` and
|
|
4
|
-
* sends it
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* caller decide.
|
|
11
|
+
* sends it explicitly as JSON. The runtime decorator handles a
|
|
12
|
+
* rejection with its best-effort fallback. Queue acceptance is not
|
|
13
|
+
* atomic with the preceding D1 mutation.
|
|
8
14
|
*
|
|
9
15
|
* Per ADR-0011 only this adapter package may import the CF binding
|
|
10
16
|
* type. The runtime sees only the `DeferredHookDispatcher` port.
|
|
@@ -15,12 +21,36 @@ export class WorkersQueueHookDispatcher {
|
|
|
15
21
|
this.queue = queue;
|
|
16
22
|
}
|
|
17
23
|
async enqueue(envelope) {
|
|
18
|
-
|
|
24
|
+
// `EntryRow.locale?` may be present with value `undefined` in a
|
|
25
|
+
// repository object. JSON transport omits that optional field;
|
|
26
|
+
// normalize only this declared optional before the strict
|
|
27
|
+
// JSON-safe check so undefined values inside entry.data still
|
|
28
|
+
// fail instead of disappearing silently.
|
|
29
|
+
const { locale, ...entryWithoutLocale } = envelope.entry;
|
|
30
|
+
const wireEnvelope = locale === undefined
|
|
31
|
+
? { ...envelope, entry: entryWithoutLocale }
|
|
32
|
+
: envelope;
|
|
33
|
+
let json;
|
|
34
|
+
try {
|
|
35
|
+
json = jsonValue.safeParse(wireEnvelope);
|
|
36
|
+
}
|
|
37
|
+
catch (cause) {
|
|
38
|
+
throw new Error(`Deferred lifecycle envelope '${envelope.eventId}' is not JSON-safe.`, { cause });
|
|
39
|
+
}
|
|
40
|
+
if (!json.success) {
|
|
41
|
+
const issue = json.error.issues[0];
|
|
42
|
+
throw new Error(`Deferred lifecycle envelope '${envelope.eventId}' is not JSON-safe at '${issue?.path.join("/") ?? "unknown"}'.`);
|
|
43
|
+
}
|
|
44
|
+
const bytes = new TextEncoder().encode(JSON.stringify(json.data)).byteLength;
|
|
45
|
+
if (bytes >= MAX_ENVELOPE_BYTES) {
|
|
46
|
+
throw new Error(`Deferred lifecycle envelope '${envelope.eventId}' is ${bytes} bytes; this adapter requires less than ${MAX_ENVELOPE_BYTES} to leave room under Cloudflare's 128 KB message limit.`);
|
|
47
|
+
}
|
|
48
|
+
await this.queue.send(wireEnvelope, { contentType: "json" });
|
|
19
49
|
}
|
|
20
50
|
}
|
|
21
51
|
/**
|
|
22
52
|
* Build the `queue(batch, env, ctx)` Workers handler that consumes
|
|
23
|
-
* `
|
|
53
|
+
* `mantle-internal` messages and re-fires each `after_*` hook through
|
|
24
54
|
* the runtime. Consumers wire this alongside `fetch` in their default
|
|
25
55
|
* Worker export:
|
|
26
56
|
*
|
|
@@ -31,9 +61,9 @@ export class WorkersQueueHookDispatcher {
|
|
|
31
61
|
* } satisfies ExportedHandler<Env>;
|
|
32
62
|
* ```
|
|
33
63
|
*
|
|
34
|
-
* Per-message ack / retry:
|
|
35
|
-
* message; success acks. CF Queues then
|
|
36
|
-
*
|
|
64
|
+
* Per-message ack / retry: any validation or handler failure retries
|
|
65
|
+
* the message; success acks. CF Queues then applies the consumer's
|
|
66
|
+
* retry delay, max_retries, and DLQ configuration.
|
|
37
67
|
*/
|
|
38
68
|
export function createQueueHandler(cmsRef) {
|
|
39
69
|
return async (batch, env) => {
|
|
@@ -46,23 +76,28 @@ export function createQueueHandler(cmsRef) {
|
|
|
46
76
|
// batch.retryAll so each message's per-message attempt counter
|
|
47
77
|
// increments — letting wrangler's max_retries / DLQ rules
|
|
48
78
|
// engage instead of looping forever at the batch level.
|
|
49
|
-
console.error("[mantle-internal] runtime boot failed; retrying batch", err);
|
|
50
79
|
batch.retryAll();
|
|
80
|
+
console.error("[mantle-internal] runtime boot failed; retrying batch", err);
|
|
51
81
|
return;
|
|
52
82
|
}
|
|
53
|
-
//
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
83
|
+
// Bound fan-out even when a consumer raises max_batch_size.
|
|
84
|
+
for (let offset = 0; offset < batch.messages.length; offset += MAX_CONCURRENCY) {
|
|
85
|
+
const chunk = batch.messages.slice(offset, offset + MAX_CONCURRENCY);
|
|
86
|
+
await Promise.all(chunk.map(async (message) => {
|
|
87
|
+
try {
|
|
88
|
+
await cms.runDeferredHook.execute({ envelope: message.body, env });
|
|
89
|
+
message.ack();
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
message.retry();
|
|
93
|
+
console.error("[mantle-internal] deferred lifecycle consume failed; retrying", {
|
|
94
|
+
messageId: message.id,
|
|
95
|
+
attempts: message.attempts,
|
|
96
|
+
error: err,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
66
101
|
};
|
|
67
102
|
}
|
|
68
103
|
//# sourceMappingURL=WorkersQueueHookDispatcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkersQueueHookDispatcher.js","sourceRoot":"","sources":["../../src/bindings/WorkersQueueHookDispatcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WorkersQueueHookDispatcher.js","sourceRoot":"","sources":["../../src/bindings/WorkersQueueHookDispatcher.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sEAAsE;AACtE,uEAAuE;AACvE,mEAAmE;AACnE,MAAM,kBAAkB,GAAG,OAAO,CAAC;AACnC,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAE3B;;;;;;;;;GASG;AACH,MAAM,OAAO,0BAA0B;IACR;IAA7B,YAA6B,KAAkC;QAAlC,UAAK,GAAL,KAAK,CAA6B;IAAG,CAAC;IAEnE,KAAK,CAAC,OAAO,CAAC,QAA8B;QAC1C,gEAAgE;QAChE,+DAA+D;QAC/D,0DAA0D;QAC1D,8DAA8D;QAC9D,yCAAyC;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;QACzD,MAAM,YAAY,GAAG,MAAM,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE;YAC5C,CAAC,CAAC,QAAQ,CAAC;QACb,IAAI,IAA4C,CAAC;QACjD,IAAI,CAAC;YACH,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,CAAC,OAAO,qBAAqB,EACrE,EAAE,KAAK,EAAE,CACV,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,CAAC,OAAO,0BAA0B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,IAAI,CACjH,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7E,IAAI,KAAK,IAAI,kBAAkB,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,CAAC,OAAO,QAAQ,KAAK,2CAA2C,kBAAkB,yDAAyD,CACpL,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAsC;IAEtC,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1B,IAAI,GAAe,CAAC;QACpB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,yDAAyD;YACzD,+DAA+D;YAC/D,0DAA0D;YAC1D,wDAAwD;YACxD,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAE,GAAG,CAAC,CAAC;YAC5E,OAAO;QACT,CAAC;QACD,4DAA4D;QAC5D,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,eAAe,EAAE,CAAC;YAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC;YACrE,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC1B,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;oBACnE,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CAAC,+DAA+D,EAAE;wBAC7E,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,KAAK,EAAE,GAAG;qBACX,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -18,10 +18,11 @@ export interface CmsConfig {
|
|
|
18
18
|
* `/admin/api/media/*` endpoints are registered. Forwarded to the
|
|
19
19
|
* runtime as `mediaStorage`. */
|
|
20
20
|
readonly mediaStorage?: CreateCmsRuntimeArgs["mediaStorage"];
|
|
21
|
-
/** Optional
|
|
22
|
-
* lifecycle hooks
|
|
23
|
-
* `ctx.waitUntil
|
|
24
|
-
*
|
|
21
|
+
/** Optional at-least-once dispatcher. When set, `after_*`
|
|
22
|
+
* lifecycle hooks enqueue after the entry write; a rejected send
|
|
23
|
+
* falls back to best-effort `ctx.waitUntil`/inline execution. The
|
|
24
|
+
* Cloudflare adapter expects a
|
|
25
|
+
* `WorkersQueueHookDispatcher` bound to the `mantle-internal` queue
|
|
25
26
|
* here. */
|
|
26
27
|
readonly deferredHookDispatcher?: CreateCmsRuntimeArgs["deferredHookDispatcher"];
|
|
27
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmsConfig.d.ts","sourceRoot":"","sources":["../../src/mount/cmsConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAErE;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,GAAG;QACtE;;yCAEiC;QACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAC7D
|
|
1
|
+
{"version":3,"file":"cmsConfig.d.ts","sourceRoot":"","sources":["../../src/mount/cmsConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAErE;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,GAAG;QACtE;;yCAEiC;QACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAC7D;;;;;oBAKY;QACZ,QAAQ,CAAC,sBAAsB,CAAC,EAAE,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;KAClF,CAAC;IACF,gEAAgE;IAChE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB;;yBAEqB;IACrB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IACzD,sEAAsE;IACtE,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACrC,CAAC;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mountPublicRoutes.d.ts","sourceRoot":"","sources":["../../src/mount/mountPublicRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAUL,KAAK,UAAU,EAEhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;kDAE8C;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;2EACuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;0EAEsE;IACtE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC;;sBAEkB;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAChE;;0CAEsC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvE;8BAC0B;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1E,iEAAiE;IACjE,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACrD;iBACa;IACb,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"mountPublicRoutes.d.ts","sourceRoot":"","sources":["../../src/mount/mountPublicRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAUL,KAAK,UAAU,EAEhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;kDAE8C;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;2EACuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;0EAEsE;IACtE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC;;sBAEkB;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,gBAAgB,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAChE;;0CAEsC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvE;8BAC0B;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1E,iEAAiE;IACjE,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACrD;iBACa;IACb,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAoCD,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,wBAAwB,GAChC,IAAI,CAiFN"}
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
import { entryHtmlKeyFromParts, entryMarkdownKeyFromParts, inferLocaleFromPath, isKnownLocale, listHtmlKey, llmsTxtKey, readEntryBySlug, serializeEntryAsMarkdown, toUrlLocale, } from "@aotter/mantle-runtime";
|
|
2
2
|
import { STAFF_ROLE_SET } from "../auth/createAuth.js";
|
|
3
|
+
const PUBLIC_CACHE_CONTROL = "public, max-age=0, s-maxage=300";
|
|
4
|
+
const PRIVATE_CACHE_CONTROL = "private, no-store";
|
|
5
|
+
const ROOT_LLMS_FALLBACK_TTL_SECONDS = 300;
|
|
3
6
|
const HTML_NO_STORE = {
|
|
4
7
|
"content-type": "text/html; charset=utf-8",
|
|
5
|
-
"cache-control":
|
|
8
|
+
"cache-control": PRIVATE_CACHE_CONTROL,
|
|
6
9
|
};
|
|
7
10
|
const HTML_PUBLIC = {
|
|
8
11
|
"content-type": "text/html; charset=utf-8",
|
|
12
|
+
"cache-control": PUBLIC_CACHE_CONTROL,
|
|
9
13
|
};
|
|
10
14
|
const MD_PUBLIC = {
|
|
11
15
|
"content-type": "text/markdown; charset=utf-8",
|
|
16
|
+
"cache-control": PUBLIC_CACHE_CONTROL,
|
|
12
17
|
};
|
|
13
18
|
const TEXT_PUBLIC = {
|
|
14
19
|
"content-type": "text/plain; charset=utf-8",
|
|
20
|
+
"cache-control": PUBLIC_CACHE_CONTROL,
|
|
21
|
+
};
|
|
22
|
+
const TEXT_NO_STORE = {
|
|
23
|
+
"content-type": "text/plain; charset=utf-8",
|
|
24
|
+
"cache-control": PRIVATE_CACHE_CONTROL,
|
|
15
25
|
};
|
|
16
26
|
const SITEMAP_HEADERS = {
|
|
17
27
|
"content-type": "application/xml; charset=utf-8",
|
|
18
|
-
"cache-control":
|
|
28
|
+
"cache-control": PUBLIC_CACHE_CONTROL,
|
|
19
29
|
};
|
|
20
30
|
export function mountPublicRoutes(app, ref, options) {
|
|
21
31
|
const liveDev = options.liveDev === true;
|
|
@@ -31,7 +41,7 @@ export function mountPublicRoutes(app, ref, options) {
|
|
|
31
41
|
app.get("/llms.txt", async (c) => {
|
|
32
42
|
const runtime = await ref.get();
|
|
33
43
|
const site = await runtime.siteConfig.load();
|
|
34
|
-
return readKvWithLiveFallback(runtime.kv, llmsTxtKey(""), TEXT_PUBLIC, () => composeRootLlmsTxt(runtime, site), safeExecutionCtx(c));
|
|
44
|
+
return readKvWithLiveFallback(runtime.kv, llmsTxtKey(""), TEXT_PUBLIC, () => composeRootLlmsTxt(runtime, site), safeExecutionCtx(c), ROOT_LLMS_FALLBACK_TTL_SECONDS);
|
|
35
45
|
});
|
|
36
46
|
app.get("/sitemap.xml", async (c) => {
|
|
37
47
|
const runtime = await ref.get();
|
|
@@ -69,7 +79,7 @@ export function mountPublicRoutes(app, ref, options) {
|
|
|
69
79
|
const site = await runtime.siteConfig.load();
|
|
70
80
|
const locale = canonicalLocaleParam(c.req.param("locale"), site);
|
|
71
81
|
if (locale === null)
|
|
72
|
-
return new Response("not found", { status: 404, headers:
|
|
82
|
+
return new Response("not found", { status: 404, headers: TEXT_NO_STORE });
|
|
73
83
|
return readKvWithLiveFallback(runtime.kv, llmsTxtKey(locale), TEXT_PUBLIC, () => runtime.composeLlmsTxt.execute({ site, locale }), safeExecutionCtx(c));
|
|
74
84
|
});
|
|
75
85
|
for (const route of options.collectionRoutes) {
|
|
@@ -123,7 +133,7 @@ function mountCollection(app, ref, options, route, liveDev, overrides) {
|
|
|
123
133
|
const locale = canonicalLocaleParam(c.req.param("locale"), site);
|
|
124
134
|
const slugParam = c.req.param("slug") ?? "";
|
|
125
135
|
const slug = slugParam.endsWith(".md") ? slugParam.slice(0, -3) : slugParam;
|
|
126
|
-
const notFound = () => new Response("not found", { status: 404, headers:
|
|
136
|
+
const notFound = () => new Response("not found", { status: 404, headers: TEXT_NO_STORE });
|
|
127
137
|
if (locale === null)
|
|
128
138
|
return notFound();
|
|
129
139
|
const key = entryMarkdownKeyFromParts(route.collection, locale, slug);
|
|
@@ -237,13 +247,13 @@ function safeExecutionCtx(c) {
|
|
|
237
247
|
* Without an `executionCtx` (tests, SSR fixtures), the write happens
|
|
238
248
|
* inline. Workers requests always carry one via Hono's `c.executionCtx`.
|
|
239
249
|
*/
|
|
240
|
-
async function readKvWithLiveFallback(kv, key, headers, compose, executionCtx) {
|
|
250
|
+
async function readKvWithLiveFallback(kv, key, headers, compose, executionCtx, expirationTtl) {
|
|
241
251
|
const cached = await kv.get(key);
|
|
242
252
|
if (cached !== null) {
|
|
243
253
|
return new Response(cached, { status: 200, headers });
|
|
244
254
|
}
|
|
245
255
|
const rendered = await compose();
|
|
246
|
-
const writeBack = kv.put(key, rendered);
|
|
256
|
+
const writeBack = kv.put(key, rendered, expirationTtl === undefined ? undefined : { expirationTtl });
|
|
247
257
|
if (executionCtx) {
|
|
248
258
|
executionCtx.waitUntil(writeBack);
|
|
249
259
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mountPublicRoutes.js","sourceRoot":"","sources":["../../src/mount/mountPublicRoutes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mountPublicRoutes.js","sourceRoot":"","sources":["../../src/mount/mountPublicRoutes.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,wBAAwB,EACxB,WAAW,GAGZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAiFvD,MAAM,oBAAoB,GAAG,iCAAiC,CAAC;AAC/D,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAClD,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAE3C,MAAM,aAAa,GAAG;IACpB,cAAc,EAAE,0BAA0B;IAC1C,eAAe,EAAE,qBAAqB;CAC9B,CAAC;AAEX,MAAM,WAAW,GAAG;IAClB,cAAc,EAAE,0BAA0B;IAC1C,eAAe,EAAE,oBAAoB;CAC7B,CAAC;AAEX,MAAM,SAAS,GAAG;IAChB,cAAc,EAAE,8BAA8B;IAC9C,eAAe,EAAE,oBAAoB;CAC7B,CAAC;AAEX,MAAM,WAAW,GAAG;IAClB,cAAc,EAAE,2BAA2B;IAC3C,eAAe,EAAE,oBAAoB;CAC7B,CAAC;AAEX,MAAM,aAAa,GAAG;IACpB,cAAc,EAAE,2BAA2B;IAC3C,eAAe,EAAE,qBAAqB;CAC9B,CAAC;AAEX,MAAM,eAAe,GAAG;IACtB,cAAc,EAAE,gCAAgC;IAChD,eAAe,EAAE,oBAAoB;CAC7B,CAAC;AAEX,MAAM,UAAU,iBAAiB,CAC/B,GAAS,EACT,GAAkB,EAClB,OAAiC;IAEjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC;IACzC,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAEtE,kEAAkE;IAClE,0DAA0D;IAC1D,+DAA+D;IAC/D,EAAE;IACF,kEAAkE;IAClE,6DAA6D;IAC7D,mEAAmE;IACnE,+DAA+D;IAC/D,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC/B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO,sBAAsB,CAC3B,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,EAAE,CAAC,EACd,WAAW,EACX,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,EACvC,gBAAgB,CAAC,CAAC,CAAC,EACnB,8BAA8B,CAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAChC,OAAO,IAAI,QAAQ,CAAC,uDAAuD,EAAE;gBAC3E,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;QACL,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;YAC/C,IAAI;YACJ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;SACxD,CAAC,CAAC;QACH,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACvB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAClE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACxF,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC,YAAa,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAC/F,OAAO,sBAAsB,CAC3B,OAAO,CAAC,EAAE,EACV,UAAU,CAAC,MAAM,CAAC,EAClB,WAAW,EACX,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACtD,gBAAgB,CAAC,CAAC,CAAC,CACpB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7C,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;IAED,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,OAAO,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CACtB,GAAS,EACT,GAAkB,EAClB,OAAiC,EACjC,KAA4B,EAC5B,OAAgB,EAChB,SAA4C;IAE5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,GAAG,CAAC,GAAG,CAAC,WAAW,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,GAAiC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACnF,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,QAAQ,EAAE,CAAC;YACvC,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;oBAChD,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,MAAM;oBACN,IAAI;iBACL,CAAC,CAAC;gBACH,IAAI,IAAI,KAAK,IAAI;oBAAE,OAAO,QAAQ,EAAE,CAAC;gBACrC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,CACjG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;gBAC7B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,MAAM;gBACN,IAAI;aACL,CAAC,EAAE,QAAQ,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kEAAkE;IAClE,gEAAgE;IAChE,0DAA0D;IAC1D,IAAI,KAAK,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QACnC,4DAA4D;QAC5D,8DAA8D;QAC9D,kDAAkD;QAClD,GAAG,CAAC,GAAG,CAAC,WAAW,OAAO,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC1D,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,MAAM,QAAQ,GAAG,GAAa,EAAE,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;YACpG,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,QAAQ,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,yBAAyB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACtE,OAAO,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE;gBAC7D,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE;oBAC9C,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,IAAI;oBACJ,MAAM;oBACN,MAAM,EAAE,WAAW;iBACpB,CAAC,CAAC;gBACH,IAAI,CAAC,KAAK;oBAAE,OAAO,IAAI,CAAC;gBACxB,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,GAAG,CAAC,WAAW,OAAO,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC9C,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,GAAiC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnF,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,QAAQ,EAAE,CAAC;QAEvC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACpE,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE1C,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;gBAC9C,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,IAAI;gBACJ,MAAM;gBACN,IAAI;aACL,CAAC,CAAC;YACH,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,QAAQ,EAAE,CAAC;YACrC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC;gBACjD,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,IAAI;gBACJ,MAAM;gBACN,IAAI;aACL,CAAC,CAAC;YACH,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,QAAQ,EAAE,CAAC;YACrC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAClE,OAAO,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC;gBACjD,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,IAAI;gBACJ,MAAM;gBACN,IAAI;aACL,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;QACnD,6DAA6D;QAC7D,8DAA8D;QAC9D,uDAAuD;QACvD,OAAO,CAAC,IAAI,CACV,6BAA6B,KAAK,CAAC,UAAU,wBAAwB,KAAK,CAAC,QAAQ,IAAI;YACrF,2EAA2E,CAC9E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,kBAAkB,CAC/B,GAAkB,EAClB,GAAY;IAEZ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,QAAQ,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAUD,SAAS,gBAAgB,CAAC,CAAU;IAClC,IAAI,CAAC;QACH,OAAO,CAAC,CAAC,YAAY,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,sBAAsB,CACnC,EAAW,EACX,GAAW,EACX,OAA+B,EAC/B,OAA8B,EAC9B,YAA+B,EAC/B,aAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,OAAO,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,EAAE,CAAC,GAAG,CACtB,GAAG,EACH,QAAQ,EACR,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAC5D,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,kBAAkB,CAC/B,OAAmB,EACnB,IAAgB;IAEhB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,EAAW,EACX,GAAW,EACX,OAA+B,EAC/B,QAAsC,EACtC,QAA4C;IAE5C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAG,MAAM,QAAQ,EAAE,CAAC;IAClC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,QAAQ,EAAE,CAAC;IAEzC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5B,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,QAAQ,CACf,CAAU,EACV,OAAmB,EACnB,IAAgB,EAChB,MAAc;IAEd,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc,EAAE,IAAgB;IAC5D,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,mBAAmB,CAAC,IAAI,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,kBAAkB,CACzB,SAAsC;IAEtC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,UAAkB,EAAE,IAAY;IACnD,OAAO,GAAG,UAAU,SAAS,IAAI,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cachePolicy.d.ts","sourceRoot":"","sources":["../../src/oauth/cachePolicy.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAgC/E"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/** Apply the Worker's final cache decision after OAuth/default dispatch. */
|
|
2
|
+
export function applyCachePolicy(request, response) {
|
|
3
|
+
const headers = new Headers(response.headers);
|
|
4
|
+
const directives = parseCacheDirectives(headers.get("cache-control"));
|
|
5
|
+
const publicResponse = (request.method === "GET" || request.method === "HEAD") &&
|
|
6
|
+
response.status === 200 &&
|
|
7
|
+
request.headers.get("cookie") === null &&
|
|
8
|
+
request.headers.get("authorization") === null &&
|
|
9
|
+
response.headers.get("set-cookie") === null &&
|
|
10
|
+
directives.has("public") &&
|
|
11
|
+
!directives.has("private") &&
|
|
12
|
+
!directives.has("no-store") &&
|
|
13
|
+
!directives.has("no-cache") &&
|
|
14
|
+
hasValidFreshness(directives);
|
|
15
|
+
// These directives override Cache-Control at Cloudflare's edge. The SDK's
|
|
16
|
+
// final policy is authoritative for both public and private responses.
|
|
17
|
+
headers.delete("cdn-cache-control");
|
|
18
|
+
headers.delete("cloudflare-cdn-cache-control");
|
|
19
|
+
if (publicResponse) {
|
|
20
|
+
mergeVary(headers, "Cookie", "Authorization");
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
headers.set("cache-control", "private, no-store");
|
|
24
|
+
}
|
|
25
|
+
return new Response(response.body, {
|
|
26
|
+
status: response.status,
|
|
27
|
+
statusText: response.statusText,
|
|
28
|
+
headers,
|
|
29
|
+
webSocket: response.webSocket,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function parseCacheDirectives(value) {
|
|
33
|
+
const directives = new Map();
|
|
34
|
+
for (const part of (value ?? "").split(",")) {
|
|
35
|
+
const [rawName, rawValue] = part.trim().split("=", 2);
|
|
36
|
+
const name = rawName?.toLowerCase();
|
|
37
|
+
if (name)
|
|
38
|
+
directives.set(name, rawValue?.trim() ?? null);
|
|
39
|
+
}
|
|
40
|
+
return directives;
|
|
41
|
+
}
|
|
42
|
+
function hasValidFreshness(directives) {
|
|
43
|
+
return ["s-maxage", "max-age"].some((name) => {
|
|
44
|
+
const raw = directives.get(name)?.replace(/^"|"$/g, "");
|
|
45
|
+
return raw !== undefined && /^\d+$/.test(raw);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function mergeVary(headers, ...names) {
|
|
49
|
+
const current = headers.get("vary");
|
|
50
|
+
if (current?.trim() === "*")
|
|
51
|
+
return;
|
|
52
|
+
const values = new Map();
|
|
53
|
+
for (const value of [...(current?.split(",") ?? []), ...names]) {
|
|
54
|
+
const normalized = value.trim();
|
|
55
|
+
if (normalized)
|
|
56
|
+
values.set(normalized.toLowerCase(), normalized);
|
|
57
|
+
}
|
|
58
|
+
headers.set("vary", [...values.values()].join(", "));
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=cachePolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cachePolicy.js","sourceRoot":"","sources":["../../src/oauth/cachePolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { OAuthProvider } from "@cloudflare/workers-oauth-provider";
|
|
2
|
-
export interface CreateOAuthProviderArgs {
|
|
2
|
+
export interface CreateOAuthProviderArgs<Env = Record<string, unknown>> {
|
|
3
3
|
/** Worker module shape for non-OAuth requests. Typically the
|
|
4
4
|
* consumer's Hono app: `{ fetch: app.fetch }`. The lib injects
|
|
5
5
|
* `OAUTH_PROVIDER` onto env BEFORE calling this, so the consumer's
|
|
6
6
|
* `/authorize` route can pull helpers via `c.env.OAUTH_PROVIDER`. */
|
|
7
|
-
readonly defaultHandler: ExportedHandler<
|
|
7
|
+
readonly defaultHandler: ExportedHandler<Env>;
|
|
8
8
|
/** Map of MCP resource path → worker handler. Lib verifies the
|
|
9
9
|
* bearer token, then dispatches to the matching handler with
|
|
10
10
|
* `ctx.props` set to whatever was passed to
|
|
@@ -30,5 +30,5 @@ export interface CreateOAuthProviderArgs {
|
|
|
30
30
|
* Endpoint paths default to `/oauth/{authorize,token,register}` —
|
|
31
31
|
* see `oauthConstants.ts`.
|
|
32
32
|
*/
|
|
33
|
-
export declare function createOAuthProvider(args: CreateOAuthProviderArgs): OAuthProvider
|
|
33
|
+
export declare function createOAuthProvider<Env = Record<string, unknown>>(args: CreateOAuthProviderArgs<Env>): OAuthProvider<Env>;
|
|
34
34
|
//# sourceMappingURL=oauthSingleton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauthSingleton.d.ts","sourceRoot":"","sources":["../../src/oauth/oauthSingleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"oauthSingleton.d.ts","sourceRoot":"","sources":["../../src/oauth/oauthSingleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAQnE,MAAM,WAAW,uBAAuB,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpE;;;0EAGsE;IACtE,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;IAC9C;;;;qDAIiD;IACjD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/E;;;;;;;uEAOmE;IACnE,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,IAAI,EAAE,uBAAuB,CAAC,GAAG,CAAC,GACjC,aAAa,CAAC,GAAG,CAAC,CASpB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { OAuthProvider } from "@cloudflare/workers-oauth-provider";
|
|
2
2
|
import { OAUTH_AUTHORIZE_PATH, OAUTH_REGISTER_PATH, OAUTH_TOKEN_PATH, } from "./oauthConstants.js";
|
|
3
|
+
import { applyCachePolicy } from "./cachePolicy.js";
|
|
3
4
|
/**
|
|
4
5
|
* Build the top-level OAuthProvider. **Export the result as the
|
|
5
6
|
* worker's `default`** so the lib gets every request first and can
|
|
@@ -10,7 +11,7 @@ import { OAUTH_AUTHORIZE_PATH, OAUTH_REGISTER_PATH, OAUTH_TOKEN_PATH, } from "./
|
|
|
10
11
|
* see `oauthConstants.ts`.
|
|
11
12
|
*/
|
|
12
13
|
export function createOAuthProvider(args) {
|
|
13
|
-
return new
|
|
14
|
+
return new CacheSafeOAuthProvider({
|
|
14
15
|
apiHandlers: args.apiHandlers,
|
|
15
16
|
defaultHandler: args.defaultHandler,
|
|
16
17
|
authorizeEndpoint: OAUTH_AUTHORIZE_PATH,
|
|
@@ -19,4 +20,14 @@ export function createOAuthProvider(args) {
|
|
|
19
20
|
scopesSupported: [...(args.scopesSupported ?? ["mcp"])],
|
|
20
21
|
});
|
|
21
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* One response boundary covers the OAuth library and every handler behind it.
|
|
25
|
+
* Only an anonymous 200 GET/HEAD that explicitly opted into shared caching
|
|
26
|
+
* remains public; all other responses are private, including redirects/errors.
|
|
27
|
+
*/
|
|
28
|
+
class CacheSafeOAuthProvider extends OAuthProvider {
|
|
29
|
+
async fetch(request, env, ctx) {
|
|
30
|
+
return applyCachePolicy(request, await super.fetch(request, env, ctx));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
22
33
|
//# sourceMappingURL=oauthSingleton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauthSingleton.js","sourceRoot":"","sources":["../../src/oauth/oauthSingleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"oauthSingleton.js","sourceRoot":"","sources":["../../src/oauth/oauthSingleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAyBpD;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAkC;IAElC,OAAO,IAAI,sBAAsB,CAAM;QACrC,WAAW,EAAE,IAAI,CAAC,WAAoB;QACtC,cAAc,EAAE,IAAI,CAAC,cAAuB;QAC5C,iBAAiB,EAAE,oBAAoB;QACvC,aAAa,EAAE,gBAAgB;QAC/B,0BAA0B,EAAE,mBAAmB;QAC/C,eAAe,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACxD,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,sBAA4B,SAAQ,aAAkB;IACjD,KAAK,CAAC,KAAK,CAClB,OAAgB,EAChB,GAAQ,EACR,GAAqB;QAErB,OAAO,gBAAgB,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aotter/mantle-cloudflare",
|
|
3
|
-
"version": "0.0.11-alpha.
|
|
3
|
+
"version": "0.0.11-alpha.60",
|
|
4
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.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://mantle.tools/",
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@better-auth/oauth-provider": "^1.6.23",
|
|
33
|
-
"@aotter/mantle-admin-ui": "0.0.11-alpha.
|
|
34
|
-
"@aotter/mantle-
|
|
35
|
-
"@aotter/mantle-
|
|
33
|
+
"@aotter/mantle-admin-ui": "0.0.11-alpha.60",
|
|
34
|
+
"@aotter/mantle-spec": "0.0.11-alpha.60",
|
|
35
|
+
"@aotter/mantle-runtime": "0.0.11-alpha.60"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
38
|
"@cloudflare/workers-oauth-provider": "^0.8.0",
|