@astrale-os/adapter-cloudflare 0.5.0-beta.1 → 0.5.0-beta.12
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 +11 -0
- package/dist/build/codegen/wrangler.d.ts.map +1 -1
- package/dist/build/codegen/wrangler.js +0 -2
- package/dist/build/codegen/wrangler.js.map +1 -1
- package/dist/build/wrangler-cli.d.ts +2 -0
- package/dist/build/wrangler-cli.d.ts.map +1 -1
- package/dist/build/wrangler-cli.js +11 -3
- package/dist/build/wrangler-cli.js.map +1 -1
- package/dist/cloudflare.d.ts +13 -2
- package/dist/cloudflare.d.ts.map +1 -1
- package/dist/cloudflare.js +36 -33
- package/dist/cloudflare.js.map +1 -1
- package/dist/worker/fetch.d.ts +12 -0
- package/dist/worker/fetch.d.ts.map +1 -0
- package/dist/worker/fetch.js +32 -0
- package/dist/worker/fetch.js.map +1 -0
- package/dist/worker/index.d.ts +16 -3
- package/dist/worker/index.d.ts.map +1 -1
- package/dist/worker/index.js +41 -21
- package/dist/worker/index.js.map +1 -1
- package/package.json +4 -4
- package/src/build/codegen/wrangler.ts +0 -2
- package/src/build/wrangler-cli.ts +13 -3
- package/src/cloudflare.ts +52 -32
- package/src/worker/fetch.ts +46 -0
- package/src/worker/index.ts +71 -32
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# `@astrale-os/adapter-cloudflare`
|
|
2
|
+
|
|
3
|
+
Cloudflare Worker deployment adapter for Astrale Domains.
|
|
4
|
+
|
|
5
|
+
During the SDK beta program, install the beta cohort explicitly:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @astrale-os/sdk@beta @astrale-os/adapter-cloudflare@beta
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Bare installs return to stable releases when the cohort is promoted and npm `latest` advances.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrangler.d.ts","sourceRoot":"","sources":["../../../src/build/codegen/wrangler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;KACnC,CAAA;IACD,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,kDAAkD;IAClD,WAAW,EAAE,OAAO,CAAA;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAKD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"wrangler.d.ts","sourceRoot":"","sources":["../../../src/build/codegen/wrangler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;KACnC,CAAA;IACD,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,kDAAkD;IAClD,WAAW,EAAE,OAAO,CAAA;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAKD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CA8C3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrangler.js","sourceRoot":"","sources":["../../../src/build/codegen/wrangler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AA+B5C,sEAAsE;AACtE,MAAM,kBAAkB,GAAG,YAAY,CAAA;AAEvC,MAAM,UAAU,sBAAsB,CAAC,IAA4B;IACjE,MAAM,MAAM,GAA4B;QACtC,IAAI,EAAE,IAAI,CAAC,UAAU;QACrB,IAAI,EAAE,iBAAiB;QACvB,kBAAkB,EAAE,kBAAkB;QACtC,mBAAmB,EAAE,CAAC,eAAe,CAAC;QACtC,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE;QACzD,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;KACjC,CAAA;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAChE,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,GAAG;YACd,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;YAClC,OAAO,EAAE,QAAQ;YACjB,gBAAgB,EAAE;gBAChB,SAAS;gBACT,WAAW;gBACX,UAAU;gBACV,YAAY;gBACZ,SAAS;gBACT,WAAW;gBACX,
|
|
1
|
+
{"version":3,"file":"wrangler.js","sourceRoot":"","sources":["../../../src/build/codegen/wrangler.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* bulk`. The wrangler binary is resolved from the project's `node_modules/.bin`,
|
|
7
7
|
* falling back to `npx wrangler`.
|
|
8
8
|
*/
|
|
9
|
+
/** Keep Wrangler CLI diagnostic logs inside the generated project state. */
|
|
10
|
+
export declare function wranglerProcessEnv(projectDir: string): NodeJS.ProcessEnv;
|
|
9
11
|
export interface DevHandle {
|
|
10
12
|
url: string;
|
|
11
13
|
stop(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrangler-cli.d.ts","sourceRoot":"","sources":["../../src/build/wrangler-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmBH,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AA8BD,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;IACf,sFAAsF;IACtF,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,gFAAgF;IAChF,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B,GAAG,OAAO,CAAC,SAAS,CAAC,CAmGrB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,UAAU,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GACxC,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAMnE;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EACtE,IAAI,EAAE,UAAU,GACf,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyBnE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAO9E;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB;AAyCD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B,GAAG,OAAO,CAAC,MAAM,CAAC,CAclB;AAED,qFAAqF;AACrF,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBlB"}
|
|
1
|
+
{"version":3,"file":"wrangler-cli.d.ts","sourceRoot":"","sources":["../../src/build/wrangler-cli.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmBH,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC,UAAU,CAOxE;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AA8BD,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;IACf,sFAAsF;IACtF,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,gFAAgF;IAChF,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B,GAAG,OAAO,CAAC,SAAS,CAAC,CAmGrB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,UAAU,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GACxC,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAMnE;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,EACtE,IAAI,EAAE,UAAU,GACf,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyBnE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAO9E;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB;AAyCD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B,GAAG,OAAO,CAAC,MAAM,CAAC,CAclB;AAED,qFAAqF;AACrF,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBlB"}
|
|
@@ -11,7 +11,7 @@ import { existsSync, readdirSync } from 'node:fs';
|
|
|
11
11
|
import { mkdtemp, rm, writeFile } from 'node:fs/promises';
|
|
12
12
|
import { createServer } from 'node:net';
|
|
13
13
|
import { tmpdir } from 'node:os';
|
|
14
|
-
import { dirname, join } from 'node:path';
|
|
14
|
+
import { dirname, join, resolve } from 'node:path';
|
|
15
15
|
import { parseDeployUrl, parseDeployVersionId, parseDevReadyUrl } from './parse-output.js';
|
|
16
16
|
function wranglerCommand(projectDir) {
|
|
17
17
|
const local = join(projectDir, 'node_modules', '.bin', 'wrangler');
|
|
@@ -19,6 +19,14 @@ function wranglerCommand(projectDir) {
|
|
|
19
19
|
return { cmd: local, prefix: [] };
|
|
20
20
|
return { cmd: 'npx', prefix: ['--yes', 'wrangler'] };
|
|
21
21
|
}
|
|
22
|
+
/** Keep Wrangler CLI diagnostic logs inside the generated project state. */
|
|
23
|
+
export function wranglerProcessEnv(projectDir) {
|
|
24
|
+
return {
|
|
25
|
+
...process.env,
|
|
26
|
+
WRANGLER_SEND_METRICS: 'false',
|
|
27
|
+
WRANGLER_LOG_PATH: process.env.WRANGLER_LOG_PATH || resolve(projectDir, '.astrale', 'logs', 'wrangler'),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
22
30
|
/**
|
|
23
31
|
* True when `port` is free on `host`. A taken port previously made `wrangler
|
|
24
32
|
* dev` either die ("Address already in use") or — worse — a FIRST probe hit a
|
|
@@ -70,7 +78,7 @@ export async function runWranglerDev(args) {
|
|
|
70
78
|
const child = spawn(cmd, wranglerArgs, {
|
|
71
79
|
cwd: args.projectDir,
|
|
72
80
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
73
|
-
env:
|
|
81
|
+
env: wranglerProcessEnv(args.projectDir),
|
|
74
82
|
});
|
|
75
83
|
const fallbackUrl = `http://localhost:${args.port}`;
|
|
76
84
|
// (args.port may have been re-picked above — everything below reads args.port)
|
|
@@ -208,7 +216,7 @@ function runCapture(cmd, args, cwd, onLog) {
|
|
|
208
216
|
const child = spawn(cmd, args, {
|
|
209
217
|
cwd,
|
|
210
218
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
211
|
-
env:
|
|
219
|
+
env: wranglerProcessEnv(cwd),
|
|
212
220
|
});
|
|
213
221
|
let out = '';
|
|
214
222
|
const onData = (buf) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrangler-cli.js","sourceRoot":"","sources":["../../src/build/wrangler-cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wrangler-cli.js","sourceRoot":"","sources":["../../src/build/wrangler-cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cloudflare.d.ts
CHANGED
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
* prints and `astrale domain install <url>` consumes.
|
|
10
10
|
*/
|
|
11
11
|
import type { DomainAdapter } from '@astrale-os/sdk';
|
|
12
|
+
import type { DeployFetch } from '@astrale-os/sdk/deployment';
|
|
13
|
+
import { deployCheck } from '@astrale-os/sdk/deployment';
|
|
12
14
|
import type { CloudflareParams } from './params.js';
|
|
13
15
|
import { bulkPutSecrets, buildCloudflareWorker, buildFrontend, logTo, prepare, runWranglerDeploy, runWranglerDev, runWranglerTypes, watchFrontend } from './build/index.js';
|
|
14
16
|
export declare function cloudflare(envs: Record<string, CloudflareParams>): DomainAdapter<CloudflareParams>;
|
|
@@ -27,8 +29,17 @@ interface CloudflareAdapterDependencies {
|
|
|
27
29
|
/** Exact orchestration seam used by adapter-level deployment qualification. */
|
|
28
30
|
export declare function cloudflareWithDependencies(envs: Record<string, CloudflareParams>, dependencies: CloudflareAdapterDependencies): DomainAdapter<CloudflareParams>;
|
|
29
31
|
/**
|
|
30
|
-
* Poll until the deployed Worker
|
|
32
|
+
* Poll until the deployed Worker exposes one complete canonical deployment chain.
|
|
31
33
|
*/
|
|
32
|
-
declare function waitUntilLive(url: string, onLog: (line: string) => void,
|
|
34
|
+
export declare function waitUntilLive(url: string, onLog: (line: string) => void, expectations: {
|
|
35
|
+
readonly expectedOrigin: Parameters<typeof deployCheck>[0]['expectedOrigin'];
|
|
36
|
+
readonly expectedRevision: Parameters<typeof deployCheck>[0]['expectedRevision'];
|
|
37
|
+
readonly expectedDeploymentVersion?: string;
|
|
38
|
+
readonly fetch?: DeployFetch;
|
|
39
|
+
readonly timeoutMs?: number;
|
|
40
|
+
readonly fetchTimeoutMs?: number;
|
|
41
|
+
readonly retryMs?: number;
|
|
42
|
+
readonly sleep?: (ms: number) => Promise<void>;
|
|
43
|
+
}): Promise<void>;
|
|
33
44
|
export {};
|
|
34
45
|
//# sourceMappingURL=cloudflare.d.ts.map
|
package/dist/cloudflare.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAG7D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACd,MAAM,kBAAkB,CAAA;AAEzB,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GACrC,aAAa,CAAC,gBAAgB,CAAC,CAajC;AAED,UAAU,6BAA6B;IACrC,QAAQ,CAAC,cAAc,EAAE,OAAO,cAAc,CAAA;IAC9C,QAAQ,CAAC,qBAAqB,EAAE,OAAO,qBAAqB,CAAA;IAC5D,QAAQ,CAAC,aAAa,EAAE,OAAO,aAAa,CAAA;IAC5C,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,OAAO,CAAA;IAChC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,iBAAiB,CAAA;IACpD,QAAQ,CAAC,cAAc,EAAE,OAAO,cAAc,CAAA;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,OAAO,gBAAgB,CAAA;IAClD,QAAQ,CAAC,aAAa,EAAE,OAAO,aAAa,CAAA;IAC5C,QAAQ,CAAC,aAAa,EAAE,OAAO,aAAa,CAAA;CAC7C;AAED,+EAA+E;AAC/E,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACtC,YAAY,EAAE,6BAA6B,GAC1C,aAAa,CAAC,gBAAgB,CAAC,CA6IjC;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC7B,YAAY,EAAE;IACZ,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;IAC5E,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAA;IAChF,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/C,GACA,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
|
package/dist/cloudflare.js
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* prints and `astrale domain install <url>` consumes.
|
|
10
10
|
*/
|
|
11
11
|
import { defineAdapter } from '@astrale-os/sdk';
|
|
12
|
+
import { deployCheck } from '@astrale-os/sdk/deployment';
|
|
12
13
|
import { bulkPutSecrets, buildCloudflareWorker, buildFrontend, logTo, prepare, runWranglerDeploy, runWranglerDev, runWranglerTypes, watchFrontend, } from './build/index.js';
|
|
13
14
|
export function cloudflare(envs) {
|
|
14
15
|
return cloudflareWithDependencies(envs, {
|
|
@@ -79,6 +80,7 @@ export function cloudflareWithDependencies(envs, dependencies) {
|
|
|
79
80
|
// front), not the local bind — print and spec-stamp that.
|
|
80
81
|
return {
|
|
81
82
|
url: params.host ?? handle.url,
|
|
83
|
+
localUrl: handle.url,
|
|
82
84
|
async stop() {
|
|
83
85
|
const errors = [];
|
|
84
86
|
try {
|
|
@@ -145,7 +147,13 @@ export function cloudflareWithDependencies(envs, dependencies) {
|
|
|
145
147
|
// propagate; an `astrale domain install <url>` issued right away would
|
|
146
148
|
// 404 (Cloudflare 1042). Block until the URL actually serves so the
|
|
147
149
|
// install line we print is immediately actionable.
|
|
148
|
-
await dependencies.waitUntilLive(url, dependencies.logTo(),
|
|
150
|
+
await dependencies.waitUntilLive(url, dependencies.logTo(), {
|
|
151
|
+
expectedOrigin: ctx.definition.schema.origin,
|
|
152
|
+
expectedRevision: ctx.definition.domain.$.revision,
|
|
153
|
+
...(deploymentVersion === undefined
|
|
154
|
+
? {}
|
|
155
|
+
: { expectedDeploymentVersion: deploymentVersion }),
|
|
156
|
+
});
|
|
149
157
|
return { url };
|
|
150
158
|
},
|
|
151
159
|
secretsFile(params) {
|
|
@@ -154,52 +162,47 @@ export function cloudflareWithDependencies(envs, dependencies) {
|
|
|
154
162
|
});
|
|
155
163
|
}
|
|
156
164
|
/**
|
|
157
|
-
* Poll until the deployed Worker
|
|
165
|
+
* Poll until the deployed Worker exposes one complete canonical deployment chain.
|
|
158
166
|
*/
|
|
159
|
-
async function waitUntilLive(url, onLog,
|
|
160
|
-
const
|
|
161
|
-
const
|
|
167
|
+
export async function waitUntilLive(url, onLog, expectations) {
|
|
168
|
+
const timeoutMs = expectations.timeoutMs ?? 90_000;
|
|
169
|
+
const fetchTimeoutMs = expectations.fetchTimeoutMs ?? 5_000;
|
|
170
|
+
const retryMs = expectations.retryMs ?? 3_000;
|
|
171
|
+
const sleep = expectations.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
162
172
|
const deadline = Date.now() + timeoutMs;
|
|
163
173
|
let waited = false;
|
|
164
|
-
let
|
|
165
|
-
let lastDeploymentVersion;
|
|
174
|
+
let lastReason = 'not checked';
|
|
166
175
|
for (;;) {
|
|
167
176
|
try {
|
|
168
|
-
const
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
else {
|
|
183
|
-
await meta.body?.cancel();
|
|
184
|
-
}
|
|
177
|
+
const deployed = await deployCheck({
|
|
178
|
+
url,
|
|
179
|
+
expectedOrigin: expectations.expectedOrigin,
|
|
180
|
+
expectedRevision: expectations.expectedRevision,
|
|
181
|
+
signal: AbortSignal.timeout(fetchTimeoutMs),
|
|
182
|
+
...(expectations.fetch === undefined ? {} : { fetch: expectations.fetch }),
|
|
183
|
+
log: () => undefined,
|
|
184
|
+
});
|
|
185
|
+
const actualDeploymentVersion = new URL(deployed.schema.bundle.href).searchParams.get('deployment');
|
|
186
|
+
if (expectations.expectedDeploymentVersion === undefined ||
|
|
187
|
+
actualDeploymentVersion === expectations.expectedDeploymentVersion) {
|
|
188
|
+
return;
|
|
185
189
|
}
|
|
190
|
+
lastReason =
|
|
191
|
+
`bundle deployment=${JSON.stringify(actualDeploymentVersion)} ` +
|
|
192
|
+
`expected=${JSON.stringify(expectations.expectedDeploymentVersion)}`;
|
|
186
193
|
}
|
|
187
|
-
catch {
|
|
188
|
-
|
|
194
|
+
catch (error) {
|
|
195
|
+
lastReason = error instanceof Error ? error.message : String(error);
|
|
189
196
|
}
|
|
190
197
|
if (Date.now() >= deadline) {
|
|
191
|
-
throw new Error(`deployed Worker
|
|
192
|
-
(
|
|
193
|
-
(expectedDeploymentVersion === undefined
|
|
194
|
-
? ''
|
|
195
|
-
: `; deployment version ${JSON.stringify(lastDeploymentVersion)} ` +
|
|
196
|
-
`did not reach ${JSON.stringify(expectedDeploymentVersion)}`));
|
|
198
|
+
throw new Error(`deployed Worker did not expose a valid Publication chain within ` +
|
|
199
|
+
`${Math.round(timeoutMs / 1000)}s; last check: ${lastReason}`);
|
|
197
200
|
}
|
|
198
201
|
if (!waited) {
|
|
199
202
|
waited = true;
|
|
200
203
|
onLog('waiting for the URL to go live (first deploys can take ~30-60s)…');
|
|
201
204
|
}
|
|
202
|
-
await
|
|
205
|
+
await sleep(Math.min(retryMs, Math.max(0, deadline - Date.now())));
|
|
203
206
|
}
|
|
204
207
|
}
|
|
205
208
|
//# sourceMappingURL=cloudflare.js.map
|
package/dist/cloudflare.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"cloudflare.js","sourceRoot":"","sources":["../src/cloudflare.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type RequestDispatcher = (request: Request) => Response | Promise<Response>;
|
|
2
|
+
export interface CloudflareRequest {
|
|
3
|
+
readonly request: Request;
|
|
4
|
+
readonly rejectRedirect: boolean;
|
|
5
|
+
}
|
|
6
|
+
/** Construct a Cloudflare-compatible transport request without weakening redirect:error. */
|
|
7
|
+
export declare function prepareCloudflareRequest(input: Parameters<typeof fetch>[0], init?: Parameters<typeof fetch>[1]): CloudflareRequest;
|
|
8
|
+
/** Preserve Fetch redirect:error semantics on Cloudflare, whose transport rejects that mode. */
|
|
9
|
+
export declare function dispatchCloudflareRequest(request: Request, rejectRedirect: boolean, dispatch: RequestDispatcher): Promise<Response>;
|
|
10
|
+
/** Restore the requested URL omitted by Cloudflare service-binding Responses. */
|
|
11
|
+
export declare function adaptCloudflareResponse(request: Request, response: Response): Response;
|
|
12
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/worker/fetch.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAElF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;CACjC;AAED,4FAA4F;AAC5F,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAClC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GACjC,iBAAiB,CAMnB;AAED,gGAAgG;AAChG,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,OAAO,EACvB,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,QAAQ,CAAC,CAOnB;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAStF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const REDIRECT_STATUSES = new Set([301, 302, 303, 307, 308]);
|
|
2
|
+
/** Construct a Cloudflare-compatible transport request without weakening redirect:error. */
|
|
3
|
+
export function prepareCloudflareRequest(input, init) {
|
|
4
|
+
const rejectRedirect = init?.redirect === 'error' ||
|
|
5
|
+
(init?.redirect === undefined && input instanceof Request && input.redirect === 'error');
|
|
6
|
+
const request = new Request(input, rejectRedirect ? { ...init, redirect: 'manual' } : init);
|
|
7
|
+
return Object.freeze({ request, rejectRedirect });
|
|
8
|
+
}
|
|
9
|
+
/** Preserve Fetch redirect:error semantics on Cloudflare, whose transport rejects that mode. */
|
|
10
|
+
export async function dispatchCloudflareRequest(request, rejectRedirect, dispatch) {
|
|
11
|
+
const response = adaptCloudflareResponse(request, await dispatch(request));
|
|
12
|
+
if (!rejectRedirect)
|
|
13
|
+
return response;
|
|
14
|
+
if (!response.redirected && !REDIRECT_STATUSES.has(response.status))
|
|
15
|
+
return response;
|
|
16
|
+
await response.body?.cancel();
|
|
17
|
+
throw new TypeError('Redirects are not allowed for this request.');
|
|
18
|
+
}
|
|
19
|
+
/** Restore the requested URL omitted by Cloudflare service-binding Responses. */
|
|
20
|
+
export function adaptCloudflareResponse(request, response) {
|
|
21
|
+
if (response.url !== '')
|
|
22
|
+
return response;
|
|
23
|
+
return new Proxy(response, {
|
|
24
|
+
get(target, property) {
|
|
25
|
+
if (property === 'url')
|
|
26
|
+
return request.url;
|
|
27
|
+
const value = Reflect.get(target, property, target);
|
|
28
|
+
return typeof value === 'function' ? value.bind(target) : value;
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/worker/fetch.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAS5D,4FAA4F;AAC5F,MAAM,UAAU,wBAAwB,CACtC,KAAkC,EAClC,IAAkC;IAElC,MAAM,cAAc,GAClB,IAAI,EAAE,QAAQ,KAAK,OAAO;QAC1B,CAAC,IAAI,EAAE,QAAQ,KAAK,SAAS,IAAI,KAAK,YAAY,OAAO,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAA;IAC1F,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAC3F,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAA;AACnD,CAAC;AAED,gGAAgG;AAChG,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAgB,EAChB,cAAuB,EACvB,QAA2B;IAE3B,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;IAC1E,IAAI,CAAC,cAAc;QAAE,OAAO,QAAQ,CAAA;IACpC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAA;IAEpF,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;IAC7B,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAA;AACpE,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,QAAkB;IAC1E,IAAI,QAAQ,CAAC,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAA;IACxC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;QACzB,GAAG,CAAC,MAAM,EAAE,QAAQ;YAClB,IAAI,QAAQ,KAAK,KAAK;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAA;YAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAY,CAAA;YAC9D,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACjE,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/worker/index.d.ts
CHANGED
|
@@ -25,16 +25,28 @@ export interface CloudflareAdapterBindings {
|
|
|
25
25
|
get(name: string): Fetcher;
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
readonly definition: DomainDefinition<S, Environment, Deps>;
|
|
28
|
+
interface CloudflareWorkerSharedConfig<Bindings extends CloudflareAdapterBindings, Environment> {
|
|
30
29
|
readonly privateKey: RemoteIdentityInput['privateKey'] | ((bindings: Bindings) => RemoteIdentityInput['privateKey']);
|
|
31
30
|
/** Compose provider bindings into the exact Domain environment once per deployment generation. */
|
|
32
31
|
readonly resolveEnvironment?: (bindings: Bindings) => Environment | Promise<Environment>;
|
|
33
32
|
readonly manifest?: CloudflareManifest;
|
|
33
|
+
/** Maximum time allowed for one Domain invocation. Defaults to 30 seconds. */
|
|
34
|
+
readonly invocationTimeoutMs?: number;
|
|
34
35
|
readonly resolveUrl?: (bindings: Bindings, requestOrigin: string) => string;
|
|
35
36
|
readonly selfBinding?: (bindings: Bindings) => Fetcher | null | undefined;
|
|
36
37
|
readonly routeSubrequest?: (url: URL, bindings: Bindings) => Fetcher | null | undefined;
|
|
37
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Resolve a Domain lazily when its module graph is too expensive for provider startup admission.
|
|
41
|
+
* The adapter resolves at most once concurrently and retries after a rejected resolution.
|
|
42
|
+
*/
|
|
43
|
+
export type CloudflareWorkerConfig<S extends schema.DomainSchema, Bindings extends CloudflareAdapterBindings, Environment> = CloudflareWorkerSharedConfig<Bindings, Environment> & ({
|
|
44
|
+
readonly definition: DomainDefinition<S>;
|
|
45
|
+
readonly resolveDefinition?: never;
|
|
46
|
+
} | {
|
|
47
|
+
readonly definition?: never;
|
|
48
|
+
readonly resolveDefinition: (bindings: Bindings) => DomainDefinition<S> | Promise<DomainDefinition<S>>;
|
|
49
|
+
});
|
|
38
50
|
export interface CloudflareWorker<Environment> {
|
|
39
51
|
fetch(request: Request, environment: Environment, executionContext?: ExecutionContext): Response | Promise<Response>;
|
|
40
52
|
}
|
|
@@ -42,7 +54,8 @@ export interface CloudflareWorker<Environment> {
|
|
|
42
54
|
* Compose one Cloudflare module Worker without request-global mutation.
|
|
43
55
|
* Environment bindings are captured once per immutable serving URL/version generation.
|
|
44
56
|
*/
|
|
45
|
-
export declare function cloudflareWorkerEntry<Bindings extends CloudflareAdapterBindings, Environment = Bindings
|
|
57
|
+
export declare function cloudflareWorkerEntry<Bindings extends CloudflareAdapterBindings, Environment = Bindings>(): <const S extends schema.DomainSchema>(config: CloudflareWorkerConfig<S, Bindings, Environment>) => CloudflareWorker<Bindings>;
|
|
46
58
|
/** Close an evicted Application before its environment bindings leave the cache. */
|
|
47
59
|
export declare function closeEvictedApplication(application: Pick<Application, 'close'>, now?: () => number): Promise<void>;
|
|
60
|
+
export {};
|
|
48
61
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,iBAAiB,CAAA;AACtE,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAQ,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"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"}
|
package/dist/worker/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { issuer } from '@astrale-os/kernel-core/auth';
|
|
2
2
|
import { createRemoteApplication } from '@astrale-os/sdk/server';
|
|
3
3
|
import { Hono as HonoApplication } from 'hono';
|
|
4
|
+
import { dispatchCloudflareRequest, prepareCloudflareRequest } from './fetch.js';
|
|
4
5
|
const MAXIMUM_CACHED_APPLICATIONS = 4;
|
|
5
6
|
const APPLICATION_CLOSE_TIMEOUT_MS = 5_000;
|
|
6
7
|
/**
|
|
@@ -10,7 +11,29 @@ const APPLICATION_CLOSE_TIMEOUT_MS = 5_000;
|
|
|
10
11
|
export function cloudflareWorkerEntry() {
|
|
11
12
|
return function (config) {
|
|
12
13
|
const applications = new Map();
|
|
13
|
-
|
|
14
|
+
let resolvedDefinition = config.definition;
|
|
15
|
+
let pendingDefinition;
|
|
16
|
+
const definitionFor = async (bindings) => {
|
|
17
|
+
if (resolvedDefinition !== undefined)
|
|
18
|
+
return resolvedDefinition;
|
|
19
|
+
if (pendingDefinition !== undefined)
|
|
20
|
+
return pendingDefinition;
|
|
21
|
+
const resolve = config.resolveDefinition;
|
|
22
|
+
if (resolve === undefined)
|
|
23
|
+
throw new TypeError('Cloudflare Worker Domain definition is unavailable.');
|
|
24
|
+
const current = Promise.resolve().then(() => resolve(bindings));
|
|
25
|
+
pendingDefinition = current;
|
|
26
|
+
try {
|
|
27
|
+
const definition = await current;
|
|
28
|
+
resolvedDefinition = definition;
|
|
29
|
+
return definition;
|
|
30
|
+
}
|
|
31
|
+
finally {
|
|
32
|
+
if (pendingDefinition === current)
|
|
33
|
+
pendingDefinition = undefined;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const applicationFor = async (url, bindings, definition) => {
|
|
14
37
|
const version = deploymentVersion(bindings);
|
|
15
38
|
const key = `${url}\u0000${version}`;
|
|
16
39
|
const cached = applications.get(key);
|
|
@@ -20,32 +43,28 @@ export function cloudflareWorkerEntry() {
|
|
|
20
43
|
? bindings
|
|
21
44
|
: await config.resolveEnvironment(bindings);
|
|
22
45
|
const routedFetch = async (input, init) => {
|
|
23
|
-
const request =
|
|
46
|
+
const { request, rejectRedirect } = prepareCloudflareRequest(input, init);
|
|
24
47
|
const destination = new URL(request.url);
|
|
25
48
|
if (destination.origin === new URL(url).origin) {
|
|
26
49
|
const self = config.selfBinding?.(bindings);
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
50
|
+
return dispatchCloudflareRequest(request, rejectRedirect, (transportRequest) => self !== null && self !== undefined
|
|
51
|
+
? self.fetch(transportRequest)
|
|
52
|
+
: serving.app.fetch(transportRequest, environment));
|
|
30
53
|
}
|
|
31
54
|
const route = config.routeSubrequest?.(destination, bindings);
|
|
32
|
-
return route === null || route === undefined
|
|
55
|
+
return dispatchCloudflareRequest(request, rejectRedirect, (transportRequest) => route === null || route === undefined
|
|
56
|
+
? fetch(transportRequest)
|
|
57
|
+
: route.fetch(transportRequest));
|
|
33
58
|
};
|
|
34
59
|
const deploymentQuery = `deployment=${encodeURIComponent(version)}`;
|
|
35
60
|
const issuerId = issuer.accept(url);
|
|
36
61
|
const host = new HonoApplication();
|
|
37
|
-
host.get('/meta', (context) => context.json({
|
|
38
|
-
origin: config.definition.schema.origin,
|
|
39
|
-
issuer: issuerId,
|
|
40
|
-
schemaRevision: config.definition.domain.$.revision,
|
|
41
|
-
deploymentVersion: version,
|
|
42
|
-
}));
|
|
43
62
|
const serving = createRemoteApplication({
|
|
44
|
-
definition
|
|
63
|
+
definition,
|
|
45
64
|
environment,
|
|
46
65
|
identity: {
|
|
47
66
|
issuer: issuerId,
|
|
48
|
-
subject:
|
|
67
|
+
subject: definition.schema.origin,
|
|
49
68
|
privateKey: typeof config.privateKey === 'function'
|
|
50
69
|
? config.privateKey(bindings)
|
|
51
70
|
: config.privateKey,
|
|
@@ -55,11 +74,11 @@ export function cloudflareWorkerEntry() {
|
|
|
55
74
|
deployment: {
|
|
56
75
|
bundleHref: `${url}/.well-known/astrale/domain.bundle.json?${deploymentQuery}`,
|
|
57
76
|
endpoint: { http: `${url}/invoke` },
|
|
58
|
-
...(
|
|
77
|
+
...(definition.frontend === undefined
|
|
59
78
|
? {}
|
|
60
79
|
: { frontendBaseHref: url, frontendCacheKey: version }),
|
|
61
80
|
...(config.manifest === undefined ? {} : { manifest: config.manifest }),
|
|
62
|
-
|
|
81
|
+
delivery: {
|
|
63
82
|
href: `${url}/install`,
|
|
64
83
|
method: 'POST',
|
|
65
84
|
authentication: { kind: 'public' },
|
|
@@ -73,8 +92,8 @@ export function cloudflareWorkerEntry() {
|
|
|
73
92
|
maximumRequestBytes: 1024 * 1024,
|
|
74
93
|
maximumPublicationBytes: 1024 * 1024,
|
|
75
94
|
maximumBundleBytes: 8 * 1024 * 1024,
|
|
76
|
-
|
|
77
|
-
invocationTimeoutMs: 30_000,
|
|
95
|
+
maximumDeliveryBytes: 8 * 1024 * 1024,
|
|
96
|
+
invocationTimeoutMs: config.invocationTimeoutMs ?? 30_000,
|
|
78
97
|
},
|
|
79
98
|
},
|
|
80
99
|
});
|
|
@@ -107,15 +126,16 @@ export function cloudflareWorkerEntry() {
|
|
|
107
126
|
return Object.freeze({
|
|
108
127
|
async fetch(request, bindings, executionContext) {
|
|
109
128
|
const requestUrl = new URL(request.url);
|
|
110
|
-
|
|
111
|
-
|
|
129
|
+
const definition = await definitionFor(bindings);
|
|
130
|
+
if (definition.frontend !== undefined) {
|
|
131
|
+
const asset = await frontendAsset(definition, bindings, requestUrl, request);
|
|
112
132
|
if (asset !== undefined)
|
|
113
133
|
return asset;
|
|
114
134
|
}
|
|
115
135
|
const publicUrl = canonicalServingUrl(config.resolveUrl?.(bindings, requestOrigin(requestUrl, request)) ??
|
|
116
136
|
bindings.WORKER_URL ??
|
|
117
137
|
requestOrigin(requestUrl, request));
|
|
118
|
-
const serving = await applicationFor(publicUrl, bindings);
|
|
138
|
+
const serving = await applicationFor(publicUrl, bindings, definition);
|
|
119
139
|
return serving.application.app.fetch(request, serving.environment, executionContext);
|
|
120
140
|
},
|
|
121
141
|
});
|
package/dist/worker/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,IAAI,IAAI,eAAe,EAAE,MAAM,MAAM,CAAA;AAE9C,MAAM,2BAA2B,GAAG,CAAC,CAAA;AACrC,MAAM,4BAA4B,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astrale-os/adapter-cloudflare",
|
|
3
|
-
"version": "0.5.0-beta.
|
|
3
|
+
"version": "0.5.0-beta.12",
|
|
4
4
|
"description": "Deploy an Astrale domain as a standalone Cloudflare Worker",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"adapter",
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
"./package.json": "./package.json"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@astrale-os/kernel-core": "0.9.0-beta.1",
|
|
41
|
-
"@astrale-os/kernel-dsl": "0.2.0-beta.1",
|
|
40
|
+
"@astrale-os/kernel-core": ">=0.9.0-beta.3 <1.0.0",
|
|
41
|
+
"@astrale-os/kernel-dsl": ">=0.2.0-beta.2 <1.0.0",
|
|
42
42
|
"hono": "^4.6.20",
|
|
43
43
|
"jose": "^6.1.3",
|
|
44
|
-
"@astrale-os/sdk": "^0.5.0-beta.
|
|
44
|
+
"@astrale-os/sdk": "^0.5.0-beta.9"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@astrale-os/ox": ">=0.1.0 <1.0.0",
|
|
@@ -14,7 +14,7 @@ import { existsSync, readdirSync } from 'node:fs'
|
|
|
14
14
|
import { mkdtemp, rm, writeFile } from 'node:fs/promises'
|
|
15
15
|
import { createServer } from 'node:net'
|
|
16
16
|
import { tmpdir } from 'node:os'
|
|
17
|
-
import { dirname, join } from 'node:path'
|
|
17
|
+
import { dirname, join, resolve } from 'node:path'
|
|
18
18
|
|
|
19
19
|
import { parseDeployUrl, parseDeployVersionId, parseDevReadyUrl } from './parse-output.js'
|
|
20
20
|
|
|
@@ -24,6 +24,16 @@ function wranglerCommand(projectDir: string): { cmd: string; prefix: string[] }
|
|
|
24
24
|
return { cmd: 'npx', prefix: ['--yes', 'wrangler'] }
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
/** Keep Wrangler CLI diagnostic logs inside the generated project state. */
|
|
28
|
+
export function wranglerProcessEnv(projectDir: string): NodeJS.ProcessEnv {
|
|
29
|
+
return {
|
|
30
|
+
...process.env,
|
|
31
|
+
WRANGLER_SEND_METRICS: 'false',
|
|
32
|
+
WRANGLER_LOG_PATH:
|
|
33
|
+
process.env.WRANGLER_LOG_PATH || resolve(projectDir, '.astrale', 'logs', 'wrangler'),
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
27
37
|
export interface DevHandle {
|
|
28
38
|
url: string
|
|
29
39
|
stop(): Promise<void>
|
|
@@ -94,7 +104,7 @@ export async function runWranglerDev(args: {
|
|
|
94
104
|
const child = spawn(cmd, wranglerArgs, {
|
|
95
105
|
cwd: args.projectDir,
|
|
96
106
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
97
|
-
env:
|
|
107
|
+
env: wranglerProcessEnv(args.projectDir),
|
|
98
108
|
})
|
|
99
109
|
|
|
100
110
|
const fallbackUrl = `http://localhost:${args.port}`
|
|
@@ -280,7 +290,7 @@ function runCapture(
|
|
|
280
290
|
const child = spawn(cmd, args, {
|
|
281
291
|
cwd,
|
|
282
292
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
283
|
-
env:
|
|
293
|
+
env: wranglerProcessEnv(cwd),
|
|
284
294
|
})
|
|
285
295
|
let out = ''
|
|
286
296
|
const onData = (buf: Buffer) => {
|
package/src/cloudflare.ts
CHANGED
|
@@ -10,8 +10,10 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import type { DomainAdapter } from '@astrale-os/sdk'
|
|
13
|
+
import type { DeployFetch } from '@astrale-os/sdk/deployment'
|
|
13
14
|
|
|
14
15
|
import { defineAdapter } from '@astrale-os/sdk'
|
|
16
|
+
import { deployCheck } from '@astrale-os/sdk/deployment'
|
|
15
17
|
|
|
16
18
|
import type { CloudflareParams } from './params.js'
|
|
17
19
|
|
|
@@ -118,6 +120,7 @@ export function cloudflareWithDependencies(
|
|
|
118
120
|
// front), not the local bind — print and spec-stamp that.
|
|
119
121
|
return {
|
|
120
122
|
url: params.host ?? handle.url,
|
|
123
|
+
localUrl: handle.url,
|
|
121
124
|
async stop() {
|
|
122
125
|
const errors: unknown[] = []
|
|
123
126
|
try {
|
|
@@ -187,7 +190,13 @@ export function cloudflareWithDependencies(
|
|
|
187
190
|
// propagate; an `astrale domain install <url>` issued right away would
|
|
188
191
|
// 404 (Cloudflare 1042). Block until the URL actually serves so the
|
|
189
192
|
// install line we print is immediately actionable.
|
|
190
|
-
await dependencies.waitUntilLive(url, dependencies.logTo(),
|
|
193
|
+
await dependencies.waitUntilLive(url, dependencies.logTo(), {
|
|
194
|
+
expectedOrigin: ctx.definition.schema.origin,
|
|
195
|
+
expectedRevision: ctx.definition.domain.$.revision,
|
|
196
|
+
...(deploymentVersion === undefined
|
|
197
|
+
? {}
|
|
198
|
+
: { expectedDeploymentVersion: deploymentVersion }),
|
|
199
|
+
})
|
|
191
200
|
return { url }
|
|
192
201
|
},
|
|
193
202
|
|
|
@@ -198,54 +207,65 @@ export function cloudflareWithDependencies(
|
|
|
198
207
|
}
|
|
199
208
|
|
|
200
209
|
/**
|
|
201
|
-
* Poll until the deployed Worker
|
|
210
|
+
* Poll until the deployed Worker exposes one complete canonical deployment chain.
|
|
202
211
|
*/
|
|
203
|
-
async function waitUntilLive(
|
|
212
|
+
export async function waitUntilLive(
|
|
204
213
|
url: string,
|
|
205
214
|
onLog: (line: string) => void,
|
|
206
|
-
|
|
207
|
-
|
|
215
|
+
expectations: {
|
|
216
|
+
readonly expectedOrigin: Parameters<typeof deployCheck>[0]['expectedOrigin']
|
|
217
|
+
readonly expectedRevision: Parameters<typeof deployCheck>[0]['expectedRevision']
|
|
218
|
+
readonly expectedDeploymentVersion?: string
|
|
219
|
+
readonly fetch?: DeployFetch
|
|
220
|
+
readonly timeoutMs?: number
|
|
221
|
+
readonly fetchTimeoutMs?: number
|
|
222
|
+
readonly retryMs?: number
|
|
223
|
+
readonly sleep?: (ms: number) => Promise<void>
|
|
224
|
+
},
|
|
208
225
|
): Promise<void> {
|
|
209
|
-
const
|
|
210
|
-
const
|
|
226
|
+
const timeoutMs = expectations.timeoutMs ?? 90_000
|
|
227
|
+
const fetchTimeoutMs = expectations.fetchTimeoutMs ?? 5_000
|
|
228
|
+
const retryMs = expectations.retryMs ?? 3_000
|
|
229
|
+
const sleep =
|
|
230
|
+
expectations.sleep ?? ((ms: number) => new Promise((resolve) => setTimeout(resolve, ms)))
|
|
211
231
|
const deadline = Date.now() + timeoutMs
|
|
212
232
|
let waited = false
|
|
213
|
-
let
|
|
214
|
-
let lastDeploymentVersion: string | undefined
|
|
233
|
+
let lastReason = 'not checked'
|
|
215
234
|
for (;;) {
|
|
216
235
|
try {
|
|
217
|
-
const
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
236
|
+
const deployed = await deployCheck({
|
|
237
|
+
url,
|
|
238
|
+
expectedOrigin: expectations.expectedOrigin,
|
|
239
|
+
expectedRevision: expectations.expectedRevision,
|
|
240
|
+
signal: AbortSignal.timeout(fetchTimeoutMs),
|
|
241
|
+
...(expectations.fetch === undefined ? {} : { fetch: expectations.fetch }),
|
|
242
|
+
log: () => undefined,
|
|
243
|
+
})
|
|
244
|
+
const actualDeploymentVersion = new URL(deployed.schema.bundle.href).searchParams.get(
|
|
245
|
+
'deployment',
|
|
246
|
+
)
|
|
247
|
+
if (
|
|
248
|
+
expectations.expectedDeploymentVersion === undefined ||
|
|
249
|
+
actualDeploymentVersion === expectations.expectedDeploymentVersion
|
|
250
|
+
) {
|
|
251
|
+
return
|
|
231
252
|
}
|
|
232
|
-
|
|
233
|
-
|
|
253
|
+
lastReason =
|
|
254
|
+
`bundle deployment=${JSON.stringify(actualDeploymentVersion)} ` +
|
|
255
|
+
`expected=${JSON.stringify(expectations.expectedDeploymentVersion)}`
|
|
256
|
+
} catch (error) {
|
|
257
|
+
lastReason = error instanceof Error ? error.message : String(error)
|
|
234
258
|
}
|
|
235
259
|
if (Date.now() >= deadline) {
|
|
236
260
|
throw new Error(
|
|
237
|
-
`deployed Worker
|
|
238
|
-
(
|
|
239
|
-
(expectedDeploymentVersion === undefined
|
|
240
|
-
? ''
|
|
241
|
-
: `; deployment version ${JSON.stringify(lastDeploymentVersion)} ` +
|
|
242
|
-
`did not reach ${JSON.stringify(expectedDeploymentVersion)}`),
|
|
261
|
+
`deployed Worker did not expose a valid Publication chain within ` +
|
|
262
|
+
`${Math.round(timeoutMs / 1000)}s; last check: ${lastReason}`,
|
|
243
263
|
)
|
|
244
264
|
}
|
|
245
265
|
if (!waited) {
|
|
246
266
|
waited = true
|
|
247
267
|
onLog('waiting for the URL to go live (first deploys can take ~30-60s)…')
|
|
248
268
|
}
|
|
249
|
-
await
|
|
269
|
+
await sleep(Math.min(retryMs, Math.max(0, deadline - Date.now())))
|
|
250
270
|
}
|
|
251
271
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const REDIRECT_STATUSES = new Set([301, 302, 303, 307, 308])
|
|
2
|
+
|
|
3
|
+
export type RequestDispatcher = (request: Request) => Response | Promise<Response>
|
|
4
|
+
|
|
5
|
+
export interface CloudflareRequest {
|
|
6
|
+
readonly request: Request
|
|
7
|
+
readonly rejectRedirect: boolean
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/** Construct a Cloudflare-compatible transport request without weakening redirect:error. */
|
|
11
|
+
export function prepareCloudflareRequest(
|
|
12
|
+
input: Parameters<typeof fetch>[0],
|
|
13
|
+
init?: Parameters<typeof fetch>[1],
|
|
14
|
+
): CloudflareRequest {
|
|
15
|
+
const rejectRedirect =
|
|
16
|
+
init?.redirect === 'error' ||
|
|
17
|
+
(init?.redirect === undefined && input instanceof Request && input.redirect === 'error')
|
|
18
|
+
const request = new Request(input, rejectRedirect ? { ...init, redirect: 'manual' } : init)
|
|
19
|
+
return Object.freeze({ request, rejectRedirect })
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** Preserve Fetch redirect:error semantics on Cloudflare, whose transport rejects that mode. */
|
|
23
|
+
export async function dispatchCloudflareRequest(
|
|
24
|
+
request: Request,
|
|
25
|
+
rejectRedirect: boolean,
|
|
26
|
+
dispatch: RequestDispatcher,
|
|
27
|
+
): Promise<Response> {
|
|
28
|
+
const response = adaptCloudflareResponse(request, await dispatch(request))
|
|
29
|
+
if (!rejectRedirect) return response
|
|
30
|
+
if (!response.redirected && !REDIRECT_STATUSES.has(response.status)) return response
|
|
31
|
+
|
|
32
|
+
await response.body?.cancel()
|
|
33
|
+
throw new TypeError('Redirects are not allowed for this request.')
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** Restore the requested URL omitted by Cloudflare service-binding Responses. */
|
|
37
|
+
export function adaptCloudflareResponse(request: Request, response: Response): Response {
|
|
38
|
+
if (response.url !== '') return response
|
|
39
|
+
return new Proxy(response, {
|
|
40
|
+
get(target, property) {
|
|
41
|
+
if (property === 'url') return request.url
|
|
42
|
+
const value = Reflect.get(target, property, target) as unknown
|
|
43
|
+
return typeof value === 'function' ? value.bind(target) : value
|
|
44
|
+
},
|
|
45
|
+
})
|
|
46
|
+
}
|
package/src/worker/index.ts
CHANGED
|
@@ -11,6 +11,8 @@ import { issuer } from '@astrale-os/kernel-core/auth'
|
|
|
11
11
|
import { createRemoteApplication } from '@astrale-os/sdk/server'
|
|
12
12
|
import { Hono as HonoApplication } from 'hono'
|
|
13
13
|
|
|
14
|
+
import { dispatchCloudflareRequest, prepareCloudflareRequest } from './fetch.js'
|
|
15
|
+
|
|
14
16
|
const MAXIMUM_CACHED_APPLICATIONS = 4
|
|
15
17
|
const APPLICATION_CLOSE_TIMEOUT_MS = 5_000
|
|
16
18
|
|
|
@@ -38,24 +40,42 @@ export interface CloudflareAdapterBindings {
|
|
|
38
40
|
readonly DISPATCHER?: { get(name: string): Fetcher }
|
|
39
41
|
}
|
|
40
42
|
|
|
41
|
-
|
|
42
|
-
S extends schema.DomainSchema,
|
|
43
|
-
Bindings extends CloudflareAdapterBindings,
|
|
44
|
-
Environment,
|
|
45
|
-
Deps,
|
|
46
|
-
> {
|
|
47
|
-
readonly definition: DomainDefinition<S, Environment, Deps>
|
|
43
|
+
interface CloudflareWorkerSharedConfig<Bindings extends CloudflareAdapterBindings, Environment> {
|
|
48
44
|
readonly privateKey:
|
|
49
45
|
| RemoteIdentityInput['privateKey']
|
|
50
46
|
| ((bindings: Bindings) => RemoteIdentityInput['privateKey'])
|
|
51
47
|
/** Compose provider bindings into the exact Domain environment once per deployment generation. */
|
|
52
48
|
readonly resolveEnvironment?: (bindings: Bindings) => Environment | Promise<Environment>
|
|
53
49
|
readonly manifest?: CloudflareManifest
|
|
50
|
+
/** Maximum time allowed for one Domain invocation. Defaults to 30 seconds. */
|
|
51
|
+
readonly invocationTimeoutMs?: number
|
|
54
52
|
readonly resolveUrl?: (bindings: Bindings, requestOrigin: string) => string
|
|
55
53
|
readonly selfBinding?: (bindings: Bindings) => Fetcher | null | undefined
|
|
56
54
|
readonly routeSubrequest?: (url: URL, bindings: Bindings) => Fetcher | null | undefined
|
|
57
55
|
}
|
|
58
56
|
|
|
57
|
+
/**
|
|
58
|
+
* Resolve a Domain lazily when its module graph is too expensive for provider startup admission.
|
|
59
|
+
* The adapter resolves at most once concurrently and retries after a rejected resolution.
|
|
60
|
+
*/
|
|
61
|
+
export type CloudflareWorkerConfig<
|
|
62
|
+
S extends schema.DomainSchema,
|
|
63
|
+
Bindings extends CloudflareAdapterBindings,
|
|
64
|
+
Environment,
|
|
65
|
+
> = CloudflareWorkerSharedConfig<Bindings, Environment> &
|
|
66
|
+
(
|
|
67
|
+
| {
|
|
68
|
+
readonly definition: DomainDefinition<S>
|
|
69
|
+
readonly resolveDefinition?: never
|
|
70
|
+
}
|
|
71
|
+
| {
|
|
72
|
+
readonly definition?: never
|
|
73
|
+
readonly resolveDefinition: (
|
|
74
|
+
bindings: Bindings,
|
|
75
|
+
) => DomainDefinition<S> | Promise<DomainDefinition<S>>
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
|
|
59
79
|
export interface CloudflareWorker<Environment> {
|
|
60
80
|
fetch(
|
|
61
81
|
request: Request,
|
|
@@ -77,16 +97,35 @@ interface CachedApplication<Environment> {
|
|
|
77
97
|
export function cloudflareWorkerEntry<
|
|
78
98
|
Bindings extends CloudflareAdapterBindings,
|
|
79
99
|
Environment = Bindings,
|
|
80
|
-
Deps = Environment,
|
|
81
100
|
>() {
|
|
82
101
|
return function <const S extends schema.DomainSchema>(
|
|
83
|
-
config: CloudflareWorkerConfig<S, Bindings, Environment
|
|
102
|
+
config: CloudflareWorkerConfig<S, Bindings, Environment>,
|
|
84
103
|
): CloudflareWorker<Bindings> {
|
|
85
104
|
const applications = new Map<string, CachedApplication<Environment>>()
|
|
105
|
+
let resolvedDefinition: DomainDefinition<S> | undefined = config.definition
|
|
106
|
+
let pendingDefinition: Promise<DomainDefinition<S>> | undefined
|
|
107
|
+
|
|
108
|
+
const definitionFor = async (bindings: Bindings): Promise<DomainDefinition<S>> => {
|
|
109
|
+
if (resolvedDefinition !== undefined) return resolvedDefinition
|
|
110
|
+
if (pendingDefinition !== undefined) return pendingDefinition
|
|
111
|
+
const resolve = config.resolveDefinition
|
|
112
|
+
if (resolve === undefined)
|
|
113
|
+
throw new TypeError('Cloudflare Worker Domain definition is unavailable.')
|
|
114
|
+
const current = Promise.resolve().then(() => resolve(bindings))
|
|
115
|
+
pendingDefinition = current
|
|
116
|
+
try {
|
|
117
|
+
const definition = await current
|
|
118
|
+
resolvedDefinition = definition
|
|
119
|
+
return definition
|
|
120
|
+
} finally {
|
|
121
|
+
if (pendingDefinition === current) pendingDefinition = undefined
|
|
122
|
+
}
|
|
123
|
+
}
|
|
86
124
|
|
|
87
125
|
const applicationFor = async (
|
|
88
126
|
url: string,
|
|
89
127
|
bindings: Bindings,
|
|
128
|
+
definition: DomainDefinition<S>,
|
|
90
129
|
): Promise<CachedApplication<Environment>> => {
|
|
91
130
|
const version = deploymentVersion(bindings)
|
|
92
131
|
const key = `${url}\u0000${version}`
|
|
@@ -98,34 +137,33 @@ export function cloudflareWorkerEntry<
|
|
|
98
137
|
: await config.resolveEnvironment(bindings)
|
|
99
138
|
|
|
100
139
|
const routedFetch: typeof fetch = async (input, init) => {
|
|
101
|
-
const request =
|
|
140
|
+
const { request, rejectRedirect } = prepareCloudflareRequest(input, init)
|
|
102
141
|
const destination = new URL(request.url)
|
|
103
142
|
if (destination.origin === new URL(url).origin) {
|
|
104
143
|
const self = config.selfBinding?.(bindings)
|
|
105
|
-
|
|
106
|
-
|
|
144
|
+
return dispatchCloudflareRequest(request, rejectRedirect, (transportRequest) =>
|
|
145
|
+
self !== null && self !== undefined
|
|
146
|
+
? self.fetch(transportRequest)
|
|
147
|
+
: serving.app.fetch(transportRequest, environment),
|
|
148
|
+
)
|
|
107
149
|
}
|
|
108
150
|
const route = config.routeSubrequest?.(destination, bindings)
|
|
109
|
-
return
|
|
151
|
+
return dispatchCloudflareRequest(request, rejectRedirect, (transportRequest) =>
|
|
152
|
+
route === null || route === undefined
|
|
153
|
+
? fetch(transportRequest)
|
|
154
|
+
: route.fetch(transportRequest),
|
|
155
|
+
)
|
|
110
156
|
}
|
|
111
157
|
|
|
112
158
|
const deploymentQuery = `deployment=${encodeURIComponent(version)}`
|
|
113
159
|
const issuerId = issuer.accept(url)
|
|
114
160
|
const host = new HonoApplication()
|
|
115
|
-
host.get('/meta', (context) =>
|
|
116
|
-
context.json({
|
|
117
|
-
origin: config.definition.schema.origin,
|
|
118
|
-
issuer: issuerId,
|
|
119
|
-
schemaRevision: config.definition.domain.$.revision,
|
|
120
|
-
deploymentVersion: version,
|
|
121
|
-
}),
|
|
122
|
-
)
|
|
123
161
|
const serving: Application<Hono> = createRemoteApplication({
|
|
124
|
-
definition
|
|
162
|
+
definition,
|
|
125
163
|
environment,
|
|
126
164
|
identity: {
|
|
127
165
|
issuer: issuerId,
|
|
128
|
-
subject:
|
|
166
|
+
subject: definition.schema.origin,
|
|
129
167
|
privateKey:
|
|
130
168
|
typeof config.privateKey === 'function'
|
|
131
169
|
? config.privateKey(bindings)
|
|
@@ -136,11 +174,11 @@ export function cloudflareWorkerEntry<
|
|
|
136
174
|
deployment: {
|
|
137
175
|
bundleHref: `${url}/.well-known/astrale/domain.bundle.json?${deploymentQuery}`,
|
|
138
176
|
endpoint: { http: `${url}/invoke` },
|
|
139
|
-
...(
|
|
177
|
+
...(definition.frontend === undefined
|
|
140
178
|
? {}
|
|
141
179
|
: { frontendBaseHref: url, frontendCacheKey: version }),
|
|
142
180
|
...(config.manifest === undefined ? {} : { manifest: config.manifest }),
|
|
143
|
-
|
|
181
|
+
delivery: {
|
|
144
182
|
href: `${url}/install`,
|
|
145
183
|
method: 'POST',
|
|
146
184
|
authentication: { kind: 'public' },
|
|
@@ -154,8 +192,8 @@ export function cloudflareWorkerEntry<
|
|
|
154
192
|
maximumRequestBytes: 1024 * 1024,
|
|
155
193
|
maximumPublicationBytes: 1024 * 1024,
|
|
156
194
|
maximumBundleBytes: 8 * 1024 * 1024,
|
|
157
|
-
|
|
158
|
-
invocationTimeoutMs: 30_000,
|
|
195
|
+
maximumDeliveryBytes: 8 * 1024 * 1024,
|
|
196
|
+
invocationTimeoutMs: config.invocationTimeoutMs ?? 30_000,
|
|
159
197
|
},
|
|
160
198
|
},
|
|
161
199
|
})
|
|
@@ -188,8 +226,9 @@ export function cloudflareWorkerEntry<
|
|
|
188
226
|
return Object.freeze({
|
|
189
227
|
async fetch(request: Request, bindings: Bindings, executionContext?: ExecutionContext) {
|
|
190
228
|
const requestUrl = new URL(request.url)
|
|
191
|
-
|
|
192
|
-
|
|
229
|
+
const definition = await definitionFor(bindings)
|
|
230
|
+
if (definition.frontend !== undefined) {
|
|
231
|
+
const asset = await frontendAsset(definition, bindings, requestUrl, request)
|
|
193
232
|
if (asset !== undefined) return asset
|
|
194
233
|
}
|
|
195
234
|
const publicUrl = canonicalServingUrl(
|
|
@@ -197,7 +236,7 @@ export function cloudflareWorkerEntry<
|
|
|
197
236
|
bindings.WORKER_URL ??
|
|
198
237
|
requestOrigin(requestUrl, request),
|
|
199
238
|
)
|
|
200
|
-
const serving = await applicationFor(publicUrl, bindings)
|
|
239
|
+
const serving = await applicationFor(publicUrl, bindings, definition)
|
|
201
240
|
return serving.application.app.fetch(request, serving.environment, executionContext)
|
|
202
241
|
},
|
|
203
242
|
})
|
|
@@ -212,8 +251,8 @@ export function closeEvictedApplication(
|
|
|
212
251
|
return application.close({ deadline: now() + APPLICATION_CLOSE_TIMEOUT_MS })
|
|
213
252
|
}
|
|
214
253
|
|
|
215
|
-
async function frontendAsset<S extends schema.DomainSchema
|
|
216
|
-
definition: DomainDefinition<S
|
|
254
|
+
async function frontendAsset<S extends schema.DomainSchema>(
|
|
255
|
+
definition: DomainDefinition<S>,
|
|
217
256
|
environment: CloudflareAdapterBindings,
|
|
218
257
|
url: URL,
|
|
219
258
|
request: Request,
|