orez 0.9.7 → 0.10.0
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 +27 -19
- package/dist/config.d.ts +0 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +0 -1
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -43
- package/dist/index.js.map +1 -1
- package/package.json +7 -71
- package/dist/cf-deploy/bundle.d.ts +0 -21
- package/dist/cf-deploy/bundle.d.ts.map +0 -1
- package/dist/cf-deploy/bundle.js +0 -347
- package/dist/cf-deploy/bundle.js.map +0 -1
- package/dist/cf-deploy/config.d.ts +0 -52
- package/dist/cf-deploy/config.d.ts.map +0 -1
- package/dist/cf-deploy/config.js +0 -23
- package/dist/cf-deploy/config.js.map +0 -1
- package/dist/cf-deploy/index.d.ts +0 -11
- package/dist/cf-deploy/index.d.ts.map +0 -1
- package/dist/cf-deploy/index.js +0 -17
- package/dist/cf-deploy/index.js.map +0 -1
- package/dist/cf-deploy/leaves.d.ts +0 -19
- package/dist/cf-deploy/leaves.d.ts.map +0 -1
- package/dist/cf-deploy/leaves.js +0 -109
- package/dist/cf-deploy/leaves.js.map +0 -1
- package/dist/cf-deploy/migration.d.ts +0 -40
- package/dist/cf-deploy/migration.d.ts.map +0 -1
- package/dist/cf-deploy/migration.js +0 -891
- package/dist/cf-deploy/migration.js.map +0 -1
- package/dist/cf-deploy/nativeMigrations.d.ts +0 -24
- package/dist/cf-deploy/nativeMigrations.d.ts.map +0 -1
- package/dist/cf-deploy/nativeMigrations.js +0 -185
- package/dist/cf-deploy/nativeMigrations.js.map +0 -1
- package/dist/cf-deploy/prune.d.ts +0 -14
- package/dist/cf-deploy/prune.d.ts.map +0 -1
- package/dist/cf-deploy/prune.js +0 -235
- package/dist/cf-deploy/prune.js.map +0 -1
- package/dist/cf-deploy/shims.d.ts +0 -13
- package/dist/cf-deploy/shims.d.ts.map +0 -1
- package/dist/cf-deploy/shims.js +0 -737
- package/dist/cf-deploy/shims.js.map +0 -1
- package/dist/cf-deploy/smoke.d.ts +0 -15
- package/dist/cf-deploy/smoke.d.ts.map +0 -1
- package/dist/cf-deploy/smoke.js +0 -141
- package/dist/cf-deploy/smoke.js.map +0 -1
- package/dist/cf-deploy/sources.d.ts +0 -9
- package/dist/cf-deploy/sources.d.ts.map +0 -1
- package/dist/cf-deploy/sources.js +0 -276
- package/dist/cf-deploy/sources.js.map +0 -1
- package/dist/cf-deploy/wrangler.d.ts +0 -6
- package/dist/cf-deploy/wrangler.d.ts.map +0 -1
- package/dist/cf-deploy/wrangler.js +0 -168
- package/dist/cf-deploy/wrangler.js.map +0 -1
- package/dist/cf-do/application-sql.d.ts +0 -49
- package/dist/cf-do/application-sql.d.ts.map +0 -1
- package/dist/cf-do/application-sql.js +0 -124
- package/dist/cf-do/application-sql.js.map +0 -1
- package/dist/cf-do/cdc.d.ts +0 -155
- package/dist/cf-do/cdc.d.ts.map +0 -1
- package/dist/cf-do/cdc.js +0 -719
- package/dist/cf-do/cdc.js.map +0 -1
- package/dist/cf-do/cursor-pull.d.ts +0 -27
- package/dist/cf-do/cursor-pull.d.ts.map +0 -1
- package/dist/cf-do/cursor-pull.js +0 -78
- package/dist/cf-do/cursor-pull.js.map +0 -1
- package/dist/cf-do/row-undo.d.ts +0 -36
- package/dist/cf-do/row-undo.d.ts.map +0 -1
- package/dist/cf-do/row-undo.js +0 -221
- package/dist/cf-do/row-undo.js.map +0 -1
- package/dist/cf-do/tx-journal.d.ts +0 -119
- package/dist/cf-do/tx-journal.d.ts.map +0 -1
- package/dist/cf-do/tx-journal.js +0 -718
- package/dist/cf-do/tx-journal.js.map +0 -1
- package/dist/cf-do/watermark.d.ts +0 -29
- package/dist/cf-do/watermark.d.ts.map +0 -1
- package/dist/cf-do/watermark.js +0 -105
- package/dist/cf-do/watermark.js.map +0 -1
- package/dist/cf-do/worker.d.ts +0 -287
- package/dist/cf-do/worker.d.ts.map +0 -1
- package/dist/cf-do/worker.js +0 -1961
- package/dist/cf-do/worker.js.map +0 -1
- package/dist/do-sql-tracking.d.ts +0 -104
- package/dist/do-sql-tracking.d.ts.map +0 -1
- package/dist/do-sql-tracking.js +0 -255
- package/dist/do-sql-tracking.js.map +0 -1
- package/dist/pg-proxy-do-backend.d.ts +0 -211
- package/dist/pg-proxy-do-backend.d.ts.map +0 -1
- package/dist/pg-proxy-do-backend.js +0 -7884
- package/dist/pg-proxy-do-backend.js.map +0 -1
- package/dist/pg-sqlite-compiler/catalog/seed.d.ts +0 -67
- package/dist/pg-sqlite-compiler/catalog/seed.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/catalog/seed.js +0 -436
- package/dist/pg-sqlite-compiler/catalog/seed.js.map +0 -1
- package/dist/pg-sqlite-compiler/compiler.d.ts +0 -17
- package/dist/pg-sqlite-compiler/compiler.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/compiler.js +0 -86
- package/dist/pg-sqlite-compiler/compiler.js.map +0 -1
- package/dist/pg-sqlite-compiler/index.d.ts +0 -2
- package/dist/pg-sqlite-compiler/index.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/index.js +0 -13
- package/dist/pg-sqlite-compiler/index.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/array.d.ts +0 -3
- package/dist/pg-sqlite-compiler/passes/array.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/array.js +0 -223
- package/dist/pg-sqlite-compiler/passes/array.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/ast-utils.d.ts +0 -48
- package/dist/pg-sqlite-compiler/passes/ast-utils.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/ast-utils.js +0 -93
- package/dist/pg-sqlite-compiler/passes/ast-utils.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/catalog.d.ts +0 -34
- package/dist/pg-sqlite-compiler/passes/catalog.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/catalog.js +0 -30
- package/dist/pg-sqlite-compiler/passes/catalog.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/datetime.d.ts +0 -23
- package/dist/pg-sqlite-compiler/passes/datetime.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/datetime.js +0 -55
- package/dist/pg-sqlite-compiler/passes/datetime.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/dml-cte.d.ts +0 -22
- package/dist/pg-sqlite-compiler/passes/dml-cte.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/dml-cte.js +0 -161
- package/dist/pg-sqlite-compiler/passes/dml-cte.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/index.d.ts +0 -24
- package/dist/pg-sqlite-compiler/passes/index.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/index.js +0 -52
- package/dist/pg-sqlite-compiler/passes/index.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/json-functions.d.ts +0 -3
- package/dist/pg-sqlite-compiler/passes/json-functions.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/json-functions.js +0 -57
- package/dist/pg-sqlite-compiler/passes/json-functions.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/row-json.d.ts +0 -3
- package/dist/pg-sqlite-compiler/passes/row-json.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/row-json.js +0 -230
- package/dist/pg-sqlite-compiler/passes/row-json.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/schema.d.ts +0 -4
- package/dist/pg-sqlite-compiler/passes/schema.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/schema.js +0 -128
- package/dist/pg-sqlite-compiler/passes/schema.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/string-functions.d.ts +0 -11
- package/dist/pg-sqlite-compiler/passes/string-functions.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/string-functions.js +0 -37
- package/dist/pg-sqlite-compiler/passes/string-functions.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/types.d.ts +0 -41
- package/dist/pg-sqlite-compiler/passes/types.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/types.js +0 -115
- package/dist/pg-sqlite-compiler/passes/types.js.map +0 -1
- package/dist/pg-sqlite-compiler/passes/unsupported.d.ts +0 -3
- package/dist/pg-sqlite-compiler/passes/unsupported.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/passes/unsupported.js +0 -57
- package/dist/pg-sqlite-compiler/passes/unsupported.js.map +0 -1
- package/dist/pg-sqlite-compiler/test/oracle.d.ts +0 -34
- package/dist/pg-sqlite-compiler/test/oracle.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/test/oracle.js +0 -204
- package/dist/pg-sqlite-compiler/test/oracle.js.map +0 -1
- package/dist/pg-sqlite-compiler/types.d.ts +0 -66
- package/dist/pg-sqlite-compiler/types.d.ts.map +0 -1
- package/dist/pg-sqlite-compiler/types.js +0 -2
- package/dist/pg-sqlite-compiler/types.js.map +0 -1
- package/dist/sync-browser-host/generated/sqlite3-browser.wasm +0 -0
- package/dist/sync-browser-host/generated/sync_wasm.js +0 -922
- package/dist/sync-browser-host/generated/sync_wasm_bg.wasm +0 -0
- package/dist/sync-browser-host/host.d.ts +0 -10
- package/dist/sync-browser-host/host.d.ts.map +0 -1
- package/dist/sync-browser-host/host.js +0 -496
- package/dist/sync-browser-host/host.js.map +0 -1
- package/dist/sync-browser-host/idb-snapshot.d.ts +0 -11
- package/dist/sync-browser-host/idb-snapshot.d.ts.map +0 -1
- package/dist/sync-browser-host/idb-snapshot.js +0 -122
- package/dist/sync-browser-host/idb-snapshot.js.map +0 -1
- package/dist/sync-browser-host/index.d.ts +0 -5
- package/dist/sync-browser-host/index.d.ts.map +0 -1
- package/dist/sync-browser-host/index.js +0 -5
- package/dist/sync-browser-host/index.js.map +0 -1
- package/dist/sync-browser-host/message-port.d.ts +0 -7
- package/dist/sync-browser-host/message-port.d.ts.map +0 -1
- package/dist/sync-browser-host/message-port.js +0 -188
- package/dist/sync-browser-host/message-port.js.map +0 -1
- package/dist/sync-browser-host/sqlite-adapter.d.ts +0 -67
- package/dist/sync-browser-host/sqlite-adapter.d.ts.map +0 -1
- package/dist/sync-browser-host/sqlite-adapter.js +0 -145
- package/dist/sync-browser-host/sqlite-adapter.js.map +0 -1
- package/dist/sync-browser-host/types.d.ts +0 -52
- package/dist/sync-browser-host/types.d.ts.map +0 -1
- package/dist/sync-browser-host/types.js +0 -2
- package/dist/sync-browser-host/types.js.map +0 -1
- package/dist/sync-cf-host.d.ts +0 -2
- package/dist/sync-cf-host.d.ts.map +0 -1
- package/dist/sync-cf-host.js +0 -2
- package/dist/sync-cf-host.js.map +0 -1
- package/dist/sync-executor.d.ts +0 -2
- package/dist/sync-executor.d.ts.map +0 -1
- package/dist/sync-executor.js +0 -2
- package/dist/sync-executor.js.map +0 -1
- package/dist/wake.d.ts +0 -22
- package/dist/wake.d.ts.map +0 -1
- package/dist/wake.js +0 -114
- package/dist/wake.js.map +0 -1
- package/dist/worker/cf-do-shim.d.ts +0 -55
- package/dist/worker/cf-do-shim.d.ts.map +0 -1
- package/dist/worker/cf-do-shim.js +0 -58
- package/dist/worker/cf-do-shim.js.map +0 -1
- package/dist/worker/cf-patches.d.ts +0 -43
- package/dist/worker/cf-patches.d.ts.map +0 -1
- package/dist/worker/cf-patches.js +0 -840
- package/dist/worker/cf-patches.js.map +0 -1
- package/dist/worker/local-sql-backend.d.ts +0 -35
- package/dist/worker/local-sql-backend.d.ts.map +0 -1
- package/dist/worker/local-sql-backend.js +0 -217
- package/dist/worker/local-sql-backend.js.map +0 -1
- package/dist/worker/zero-cache-embed-cf.d.ts +0 -92
- package/dist/worker/zero-cache-embed-cf.d.ts.map +0 -1
- package/dist/worker/zero-cache-embed-cf.js +0 -764
- package/dist/worker/zero-cache-embed-cf.js.map +0 -1
- package/dist/worker/zero-sql-write-circuit.d.ts +0 -46
- package/dist/worker/zero-sql-write-circuit.d.ts.map +0 -1
- package/dist/worker/zero-sql-write-circuit.js +0 -161
- package/dist/worker/zero-sql-write-circuit.js.map +0 -1
- package/dist/zero-http/encrypted-column-codec.d.ts +0 -46
- package/dist/zero-http/encrypted-column-codec.d.ts.map +0 -1
- package/dist/zero-http/encrypted-column-codec.js +0 -676
- package/dist/zero-http/encrypted-column-codec.js.map +0 -1
- package/dist/zero-http/encrypted-column-conformance.d.ts +0 -7
- package/dist/zero-http/encrypted-column-conformance.d.ts.map +0 -1
- package/dist/zero-http/encrypted-column-conformance.js +0 -161
- package/dist/zero-http/encrypted-column-conformance.js.map +0 -1
- package/dist/zero-http/fixture-schema.d.ts +0 -127
- package/dist/zero-http/fixture-schema.d.ts.map +0 -1
- package/dist/zero-http/fixture-schema.js +0 -56
- package/dist/zero-http/fixture-schema.js.map +0 -1
- package/dist/zero-http/mount.d.ts +0 -71
- package/dist/zero-http/mount.d.ts.map +0 -1
- package/dist/zero-http/mount.js +0 -594
- package/dist/zero-http/mount.js.map +0 -1
- package/dist/zero-http/payload-codec.d.ts +0 -91
- package/dist/zero-http/payload-codec.d.ts.map +0 -1
- package/dist/zero-http/payload-codec.js +0 -10
- package/dist/zero-http/payload-codec.js.map +0 -1
- package/dist/zero-http/server.d.ts +0 -16
- package/dist/zero-http/server.d.ts.map +0 -1
- package/dist/zero-http/server.js +0 -270
- package/dist/zero-http/server.js.map +0 -1
- package/dist/zero-http/test-harness.d.ts +0 -32
- package/dist/zero-http/test-harness.d.ts.map +0 -1
- package/dist/zero-http/test-harness.js +0 -77
- package/dist/zero-http/test-harness.js.map +0 -1
- package/dist/zero-http/transport.d.ts +0 -71
- package/dist/zero-http/transport.d.ts.map +0 -1
- package/dist/zero-http/transport.js +0 -1106
- package/dist/zero-http/transport.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shims.js","sourceRoot":"","sources":["../../src/cf-deploy/shims.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export type CloudflareDeployLog = (msg: string) => void;
|
|
2
|
-
export type WarmZeroCacheEmbedOptions = {
|
|
3
|
-
/** request one fresh boot before terminal deploy-only polling */
|
|
4
|
-
startFresh?: boolean;
|
|
5
|
-
};
|
|
6
|
-
export declare function getAccountWorkersSubdomain(accountId: string, apiToken: string): Promise<string>;
|
|
7
|
-
export declare function warmZeroCacheEmbed(url: string, log: CloudflareDeployLog, options?: WarmZeroCacheEmbedOptions): Promise<void>;
|
|
8
|
-
export declare function pollWorkerReady({ url, expectedVersion, workerName, warmZeroCache, log, }: {
|
|
9
|
-
url: string;
|
|
10
|
-
expectedVersion: string;
|
|
11
|
-
workerName: string;
|
|
12
|
-
warmZeroCache?: boolean;
|
|
13
|
-
log: CloudflareDeployLog;
|
|
14
|
-
}): Promise<void>;
|
|
15
|
-
//# sourceMappingURL=smoke.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"smoke.d.ts","sourceRoot":"","sources":["../../src/cf-deploy/smoke.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;AAEvD,MAAM,MAAM,yBAAyB,GAAG;IACtC,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAMD,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,mBAAmB,EACxB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,IAAI,CAAC,CA6Ef;AAED,wBAAsB,eAAe,CAAC,EACpC,GAAG,EACH,eAAe,EACf,UAAU,EACV,aAAoB,EACpB,GAAG,GACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,GAAG,EAAE,mBAAmB,CAAA;CACzB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDhB"}
|
package/dist/cf-deploy/smoke.js
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import { EMBED_WARM_INTERVAL_MS, EMBED_WARM_REQUEST_TIMEOUT_MS, EMBED_WARM_TIMEOUT_MS, HEALTH_POLL_INTERVAL_MS, HEALTH_POLL_MAX_ATTEMPTS, } from './leaves.js';
|
|
2
|
-
// resolve the account's *.workers.dev subdomain so BETTER_AUTH_URL points at
|
|
3
|
-
// the actual deployed worker. cached per-process since it never changes for a
|
|
4
|
-
// given account.
|
|
5
|
-
let cachedSubdomain;
|
|
6
|
-
export async function getAccountWorkersSubdomain(accountId, apiToken) {
|
|
7
|
-
if (cachedSubdomain?.accountId === accountId)
|
|
8
|
-
return cachedSubdomain.subdomain;
|
|
9
|
-
const res = await fetch(`https://api.cloudflare.com/client/v4/accounts/${accountId}/workers/subdomain`, { headers: { Authorization: `Bearer ${apiToken}` } });
|
|
10
|
-
if (!res.ok) {
|
|
11
|
-
throw new Error(`failed to read workers subdomain for account ${accountId}: ${res.status} ${(await res.text()).slice(0, 200)}`);
|
|
12
|
-
}
|
|
13
|
-
const body = (await res.json());
|
|
14
|
-
const subdomain = body.result?.subdomain;
|
|
15
|
-
if (!subdomain) {
|
|
16
|
-
throw new Error(`workers subdomain response for account ${accountId} had no result.subdomain`);
|
|
17
|
-
}
|
|
18
|
-
cachedSubdomain = { accountId, subdomain };
|
|
19
|
-
return subdomain;
|
|
20
|
-
}
|
|
21
|
-
export async function warmZeroCacheEmbed(url, log, options = {}) {
|
|
22
|
-
// kick the zero-cache embed cold boot NOW and WAIT until it can actually
|
|
23
|
-
// hydrate a client, instead of making the first visitor (or the runtime
|
|
24
|
-
// validation that runs right after) race a half-booted embed. /keepalive
|
|
25
|
-
// routes into ZeroCacheDO and kicks the alarm-carried boot (which
|
|
26
|
-
// survives a request abort), returning 200 once initial-sync is done and
|
|
27
|
-
// 202 while still booting. poll until ready; a fresh deploy's initial
|
|
28
|
-
// sync runs minutes of per-statement libpg parses, so the ceiling is
|
|
29
|
-
// generous and small apps fall through early on the first 200.
|
|
30
|
-
log('[cloudflare] warming zero-cache embed (waiting for initial sync)...');
|
|
31
|
-
const warmDeadline = Date.now() + EMBED_WARM_TIMEOUT_MS;
|
|
32
|
-
let warmReady = false;
|
|
33
|
-
if (options.startFresh) {
|
|
34
|
-
try {
|
|
35
|
-
const start = await fetch(`${url}/keepalive`, {
|
|
36
|
-
signal: AbortSignal.timeout(EMBED_WARM_REQUEST_TIMEOUT_MS),
|
|
37
|
-
});
|
|
38
|
-
if (start.status === 200) {
|
|
39
|
-
log('[cloudflare] zero-cache embed ready after fresh boot request');
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
catch {
|
|
44
|
-
// the request may still have scheduled the alarm; deploy probes below
|
|
45
|
-
// observe its durable marker without starting another generation.
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
for (let warmAttempt = 1; Date.now() < warmDeadline; warmAttempt++) {
|
|
49
|
-
let terminalBootFailures;
|
|
50
|
-
let terminalBootReason;
|
|
51
|
-
try {
|
|
52
|
-
const warm = await fetch(`${url}/keepalive?deploy=1`, {
|
|
53
|
-
signal: AbortSignal.timeout(EMBED_WARM_REQUEST_TIMEOUT_MS),
|
|
54
|
-
});
|
|
55
|
-
if (warm.status === 200) {
|
|
56
|
-
log(`[cloudflare] zero-cache embed ready after ${warmAttempt} probe(s)`);
|
|
57
|
-
warmReady = true;
|
|
58
|
-
break;
|
|
59
|
-
}
|
|
60
|
-
if (warm.status === 409) {
|
|
61
|
-
const body = await warm.json();
|
|
62
|
-
if (typeof body === 'object' &&
|
|
63
|
-
body !== null &&
|
|
64
|
-
'status' in body &&
|
|
65
|
-
body.status === 'boot-failed' &&
|
|
66
|
-
'failures' in body &&
|
|
67
|
-
typeof body.failures === 'number' &&
|
|
68
|
-
Number.isInteger(body.failures) &&
|
|
69
|
-
body.failures > 0) {
|
|
70
|
-
terminalBootFailures = body.failures;
|
|
71
|
-
if ('reason' in body &&
|
|
72
|
-
typeof body.reason === 'string' &&
|
|
73
|
-
body.reason.length > 0) {
|
|
74
|
-
terminalBootReason = body.reason.slice(0, 500);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
catch {
|
|
80
|
-
// transient (request timed out / boot churning) — keep polling
|
|
81
|
-
}
|
|
82
|
-
if (terminalBootFailures !== undefined) {
|
|
83
|
-
const attempts = terminalBootFailures === 1 ? 'attempt' : 'attempts';
|
|
84
|
-
const reason = terminalBootReason ? `: ${terminalBootReason}` : '';
|
|
85
|
-
throw new Error(`zero-cache embed boot failed after ${terminalBootFailures} ${attempts}${reason}; deploy aborted to avoid restarting initial sync`);
|
|
86
|
-
}
|
|
87
|
-
await new Promise((r) => setTimeout(r, EMBED_WARM_INTERVAL_MS));
|
|
88
|
-
}
|
|
89
|
-
if (!warmReady) {
|
|
90
|
-
throw new Error(`zero-cache embed did not become ready within ${EMBED_WARM_TIMEOUT_MS / 1000}s`);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
export async function pollWorkerReady({ url, expectedVersion, workerName, warmZeroCache = true, log, }) {
|
|
94
|
-
// poll until the worker and asset binding respond. zero-cache embed
|
|
95
|
-
// cold-init can run for a while during the DO's ctx.blockConcurrencyWhile;
|
|
96
|
-
// Cloudflare can also serve the module before static assets are reachable.
|
|
97
|
-
log(`[cloudflare] polling ${url} for readiness...`);
|
|
98
|
-
let lastError;
|
|
99
|
-
for (let attempt = 1; attempt <= HEALTH_POLL_MAX_ATTEMPTS; attempt++) {
|
|
100
|
-
let res;
|
|
101
|
-
let versionRes;
|
|
102
|
-
try {
|
|
103
|
-
const responses = await Promise.all([
|
|
104
|
-
fetch(url, { redirect: 'manual' }),
|
|
105
|
-
fetch(`${url}/version.json`, {
|
|
106
|
-
redirect: 'manual',
|
|
107
|
-
headers: {
|
|
108
|
-
'cache-control': 'no-cache',
|
|
109
|
-
pragma: 'no-cache',
|
|
110
|
-
},
|
|
111
|
-
}),
|
|
112
|
-
]);
|
|
113
|
-
res = responses[0];
|
|
114
|
-
versionRes = responses[1];
|
|
115
|
-
}
|
|
116
|
-
catch (err) {
|
|
117
|
-
lastError = err.message;
|
|
118
|
-
await new Promise((r) => setTimeout(r, HEALTH_POLL_INTERVAL_MS));
|
|
119
|
-
continue;
|
|
120
|
-
}
|
|
121
|
-
const versionBody = versionRes.status === 200 ? await versionRes.json() : null;
|
|
122
|
-
// Only 2xx/3xx means the worker is actually serving. A 404 during
|
|
123
|
-
// cold-start means Cloudflare's default handler is still responding
|
|
124
|
-
// — the worker module's fetch() hasn't been registered yet.
|
|
125
|
-
if (res.status >= 200 &&
|
|
126
|
-
res.status < 400 &&
|
|
127
|
-
typeof versionBody === 'object' &&
|
|
128
|
-
versionBody !== null &&
|
|
129
|
-
'version' in versionBody &&
|
|
130
|
-
versionBody.version === expectedVersion) {
|
|
131
|
-
log(`[cloudflare] worker responded ${res.status} after ${attempt} attempt(s)`);
|
|
132
|
-
if (warmZeroCache)
|
|
133
|
-
await warmZeroCacheEmbed(url, log);
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
lastError = `root ${res.status}; version ${versionRes.status} ${JSON.stringify(versionBody)}`;
|
|
137
|
-
await new Promise((r) => setTimeout(r, HEALTH_POLL_INTERVAL_MS));
|
|
138
|
-
}
|
|
139
|
-
throw new Error(`worker ${workerName} did not become ready within ${(HEALTH_POLL_MAX_ATTEMPTS * HEALTH_POLL_INTERVAL_MS) / 1000}s; last: ${lastError}`);
|
|
140
|
-
}
|
|
141
|
-
//# sourceMappingURL=smoke.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"smoke.js","sourceRoot":"","sources":["../../src/cf-deploy/smoke.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,aAAa,CAAA;AASpB,6EAA6E;AAC7E,8EAA8E;AAC9E,iBAAiB;AACjB,IAAI,eAAqE,CAAA;AACzE,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAAiB,EACjB,QAAgB;IAEhB,IAAI,eAAe,EAAE,SAAS,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC,SAAS,CAAA;IAC9E,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,iDAAiD,SAAS,oBAAoB,EAC9E,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,EAAE,EAAE,EAAE,CACrD,CAAA;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,gDAAgD,SAAS,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC/G,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwC,CAAA;IACtE,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAA;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,0CAA0C,SAAS,0BAA0B,CAC9E,CAAA;IACH,CAAC;IACD,eAAe,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAA;IAC1C,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,GAAW,EACX,GAAwB,EACxB,UAAqC,EAAE;IAEvC,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,kEAAkE;IAClE,yEAAyE;IACzE,sEAAsE;IACtE,qEAAqE;IACrE,+DAA+D;IAC/D,GAAG,CAAC,qEAAqE,CAAC,CAAA;IAC1E,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,qBAAqB,CAAA;IACvD,IAAI,SAAS,GAAG,KAAK,CAAA;IACrB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,YAAY,EAAE;gBAC5C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,6BAA6B,CAAC;aAC3D,CAAC,CAAA;YACF,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACzB,GAAG,CAAC,8DAA8D,CAAC,CAAA;gBACnE,OAAM;YACR,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;YACtE,kEAAkE;QACpE,CAAC;IACH,CAAC;IACD,KAAK,IAAI,WAAW,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC;QACnE,IAAI,oBAAwC,CAAA;QAC5C,IAAI,kBAAsC,CAAA;QAC1C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,qBAAqB,EAAE;gBACpD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,6BAA6B,CAAC;aAC3D,CAAC,CAAA;YACF,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACxB,GAAG,CAAC,6CAA6C,WAAW,WAAW,CAAC,CAAA;gBACxE,SAAS,GAAG,IAAI,CAAA;gBAChB,MAAK;YACP,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAY,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;gBACvC,IACE,OAAO,IAAI,KAAK,QAAQ;oBACxB,IAAI,KAAK,IAAI;oBACb,QAAQ,IAAI,IAAI;oBAChB,IAAI,CAAC,MAAM,KAAK,aAAa;oBAC7B,UAAU,IAAI,IAAI;oBAClB,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;oBACjC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC/B,IAAI,CAAC,QAAQ,GAAG,CAAC,EACjB,CAAC;oBACD,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAA;oBACpC,IACE,QAAQ,IAAI,IAAI;wBAChB,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;wBAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EACtB,CAAC;wBACD,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;oBAChD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;QACD,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;YACpE,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAClE,MAAM,IAAI,KAAK,CACb,sCAAsC,oBAAoB,IAAI,QAAQ,GAAG,MAAM,mDAAmD,CACnI,CAAA;QACH,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAA;IACjE,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,gDAAgD,qBAAqB,GAAG,IAAI,GAAG,CAChF,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,GAAG,EACH,eAAe,EACf,UAAU,EACV,aAAa,GAAG,IAAI,EACpB,GAAG,GAOJ;IACC,oEAAoE;IACpE,2EAA2E;IAC3E,2EAA2E;IAC3E,GAAG,CAAC,wBAAwB,GAAG,mBAAmB,CAAC,CAAA;IACnD,IAAI,SAA6B,CAAA;IACjC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,wBAAwB,EAAE,OAAO,EAAE,EAAE,CAAC;QACrE,IAAI,GAAa,CAAA;QACjB,IAAI,UAAoB,CAAA;QACxB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAClC,KAAK,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;gBAClC,KAAK,CAAC,GAAG,GAAG,eAAe,EAAE;oBAC3B,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE;wBACP,eAAe,EAAE,UAAU;wBAC3B,MAAM,EAAE,UAAU;qBACnB;iBACF,CAAC;aACH,CAAC,CAAA;YACF,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;YAClB,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAI,GAAa,CAAC,OAAO,CAAA;YAClC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAA;YAChE,SAAQ;QACV,CAAC;QACD,MAAM,WAAW,GACf,UAAU,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAC5D,kEAAkE;QAClE,oEAAoE;QACpE,4DAA4D;QAC5D,IACE,GAAG,CAAC,MAAM,IAAI,GAAG;YACjB,GAAG,CAAC,MAAM,GAAG,GAAG;YAChB,OAAO,WAAW,KAAK,QAAQ;YAC/B,WAAW,KAAK,IAAI;YACpB,SAAS,IAAI,WAAW;YACxB,WAAW,CAAC,OAAO,KAAK,eAAe,EACvC,CAAC;YACD,GAAG,CAAC,iCAAiC,GAAG,CAAC,MAAM,UAAU,OAAO,aAAa,CAAC,CAAA;YAC9E,IAAI,aAAa;gBAAE,MAAM,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACrD,OAAM;QACR,CAAC;QACD,SAAS,GAAG,QAAQ,GAAG,CAAC,MAAM,aAAa,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAA;QAC7F,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAA;IAClE,CAAC;IACD,MAAM,IAAI,KAAK,CACb,UAAU,UAAU,gCAAgC,CAAC,wBAAwB,GAAG,uBAAuB,CAAC,GAAG,IAAI,YAAY,SAAS,EAAE,CACvI,CAAA;AACH,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { CfDeployConfig } from './config.js';
|
|
2
|
-
export declare function zeroHttpShardDDL(appId: string): string;
|
|
3
|
-
export declare function cloudflarePgVirtualModule(cfg: CfDeployConfig, doBackendPath: string): string;
|
|
4
|
-
export declare function cloudflareZeroServerPoolFile(cfg: CfDeployConfig): string;
|
|
5
|
-
export declare function cloudflareZeroServerPoolSource(cfg: CfDeployConfig): string;
|
|
6
|
-
export declare function patchZeroServerForCloudflareDo(cfg: CfDeployConfig, source: string, zeroServerPath: string): string;
|
|
7
|
-
export declare function prepareCloudflareDoBuildDirectory(cfg: CfDeployConfig, buildDir: string): void;
|
|
8
|
-
export declare function patchZeroServerDatabaseForCloudflareDo(source: string, seamPath: string): string;
|
|
9
|
-
//# sourceMappingURL=sources.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/cf-deploy/sources.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAajD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAoBtD;AAED,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,cAAc,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CA8JR;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAExE;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAY1E;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,MAAM,CA+BR;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,MAAM,GACf,IAAI,CAoCN;AAQD,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CAaR"}
|
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
import { existsSync, readFileSync, writeFileSync } from 'fs';
|
|
2
|
-
import { dirname, join, relative } from 'path';
|
|
3
|
-
import { quoteSqlIdentifier } from './leaves.js';
|
|
4
|
-
const SENTINEL_LOWER = 'nspfx';
|
|
5
|
-
const SENTINEL_PASCAL = 'Nspfx';
|
|
6
|
-
function applyPrefix(template, cfg) {
|
|
7
|
-
return template
|
|
8
|
-
.split(SENTINEL_PASCAL)
|
|
9
|
-
.join(cfg.prefixPascal)
|
|
10
|
-
.split(SENTINEL_LOWER)
|
|
11
|
-
.join(cfg.prefix);
|
|
12
|
-
}
|
|
13
|
-
export function zeroHttpShardDDL(appId) {
|
|
14
|
-
const appSchema = `${appId}_0`;
|
|
15
|
-
const schema = quoteSqlIdentifier(appSchema);
|
|
16
|
-
return [
|
|
17
|
-
`CREATE SCHEMA IF NOT EXISTS ${schema};`,
|
|
18
|
-
`CREATE TABLE IF NOT EXISTS ${schema}.clients (` +
|
|
19
|
-
`"clientGroupID" text NOT NULL, ` +
|
|
20
|
-
`"clientID" text NOT NULL, ` +
|
|
21
|
-
`"lastMutationID" bigint NOT NULL, ` +
|
|
22
|
-
`PRIMARY KEY ("clientGroupID", "clientID")` +
|
|
23
|
-
`);`,
|
|
24
|
-
`ALTER TABLE ${schema}.clients ADD COLUMN IF NOT EXISTS "userID" text;`,
|
|
25
|
-
`CREATE TABLE IF NOT EXISTS ${schema}.mutations (` +
|
|
26
|
-
`"clientGroupID" text NOT NULL, ` +
|
|
27
|
-
`"clientID" text NOT NULL, ` +
|
|
28
|
-
`"mutationID" bigint NOT NULL, ` +
|
|
29
|
-
`result json NOT NULL, ` +
|
|
30
|
-
`PRIMARY KEY ("clientGroupID", "clientID", "mutationID")` +
|
|
31
|
-
`);`,
|
|
32
|
-
].join('\n--> statement-breakpoint\n');
|
|
33
|
-
}
|
|
34
|
-
export function cloudflarePgVirtualModule(cfg, doBackendPath) {
|
|
35
|
-
return applyPrefix(`
|
|
36
|
-
const backends = new Map()
|
|
37
|
-
let doBackendClassPromise
|
|
38
|
-
|
|
39
|
-
function getDoBackend() {
|
|
40
|
-
doBackendClassPromise ||= import(${JSON.stringify(doBackendPath)}).then(
|
|
41
|
-
(module) => module.DoBackend,
|
|
42
|
-
)
|
|
43
|
-
return doBackendClassPromise
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function parseConnectionString(connectionString) {
|
|
47
|
-
try {
|
|
48
|
-
const url = new URL(connectionString || 'orez-do://postgres')
|
|
49
|
-
return {
|
|
50
|
-
dbName: url.hostname || url.pathname.replace(/^\\/+/, '') || 'postgres',
|
|
51
|
-
namespace:
|
|
52
|
-
url.searchParams.get('ns') ||
|
|
53
|
-
globalThis.__nspfx_cf_do_namespace ||
|
|
54
|
-
'zero',
|
|
55
|
-
instance: url.searchParams.get('instance') || 'singleton',
|
|
56
|
-
}
|
|
57
|
-
} catch {
|
|
58
|
-
return {
|
|
59
|
-
dbName: 'postgres',
|
|
60
|
-
namespace: globalThis.__nspfx_cf_do_namespace || 'zero',
|
|
61
|
-
instance: 'singleton',
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
async function backendFor(connectionString) {
|
|
67
|
-
const { dbName, namespace, instance } = parseConnectionString(connectionString)
|
|
68
|
-
const key = instance + '\\0' + namespace + '\\0' + dbName
|
|
69
|
-
const existing = backends.get(key)
|
|
70
|
-
if (existing) return existing
|
|
71
|
-
|
|
72
|
-
const DoBackend = await getDoBackend()
|
|
73
|
-
const concurrent = backends.get(key)
|
|
74
|
-
if (concurrent) return concurrent
|
|
75
|
-
|
|
76
|
-
// ALWAYS resolve the DO fetch from the per-instance registry at CALL time,
|
|
77
|
-
// never capture it. a DO stub (env.ZERO_SQL_DO.get(id)) is bound to the
|
|
78
|
-
// request whose env produced it; reusing a captured stub in a later request
|
|
79
|
-
// makes workerd hang the subrequest ("Promise will never complete").
|
|
80
|
-
// installSqlBackendGlobals refreshes the registry entry every request, and
|
|
81
|
-
// keying by instance keeps co-located per-namespace DOs in one isolate from
|
|
82
|
-
// cross-routing each other's SQL.
|
|
83
|
-
const fetch = (input, init) => {
|
|
84
|
-
const current = (globalThis.__nspfx_cf_do_sql_fetch_by_instance || {})[instance]
|
|
85
|
-
if (typeof current !== 'function') {
|
|
86
|
-
throw new Error('Cloudflare SQL Durable Object binding is not initialized')
|
|
87
|
-
}
|
|
88
|
-
return current(input, init)
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const backend = new DoBackend('https://orez-do-backend.local', dbName, namespace, {
|
|
92
|
-
fetch,
|
|
93
|
-
})
|
|
94
|
-
backends.set(key, backend)
|
|
95
|
-
return backend
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
function normalizeQueryArgs(query, params, callback) {
|
|
99
|
-
if (typeof params === 'function') {
|
|
100
|
-
callback = params
|
|
101
|
-
params = undefined
|
|
102
|
-
}
|
|
103
|
-
if (query && typeof query === 'object') {
|
|
104
|
-
return {
|
|
105
|
-
text: query.text || '',
|
|
106
|
-
values: query.values || query.params || [],
|
|
107
|
-
rowMode: query.rowMode,
|
|
108
|
-
callback,
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return { text: String(query || ''), values: params || [], rowMode: undefined, callback }
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
class DoClient {
|
|
115
|
-
constructor(pool) {
|
|
116
|
-
this.pool = pool
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
on() {
|
|
120
|
-
return this
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
release() {}
|
|
124
|
-
|
|
125
|
-
query(query, params, callback) {
|
|
126
|
-
return this.pool.query(query, params, callback)
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
export class Pool {
|
|
131
|
-
constructor(config = {}) {
|
|
132
|
-
this.connectionString =
|
|
133
|
-
typeof config === 'string' ? config : config.connectionString || ''
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
on() {
|
|
137
|
-
return this
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
async connect(callback) {
|
|
141
|
-
const promise = Promise.resolve(new DoClient(this))
|
|
142
|
-
if (typeof callback === 'function') {
|
|
143
|
-
promise.then((client) => callback(null, client), callback)
|
|
144
|
-
}
|
|
145
|
-
return promise
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
query(query, params, callback) {
|
|
149
|
-
const normalized = normalizeQueryArgs(query, params, callback)
|
|
150
|
-
let promise = backendFor(this.connectionString).then((backend) =>
|
|
151
|
-
backend.query(normalized.text, normalized.values),
|
|
152
|
-
)
|
|
153
|
-
// honor pg's rowMode:'array' contract. drizzle-orm's node-postgres typed
|
|
154
|
-
// SELECT path passes { rowMode: 'array' } and then indexes each row
|
|
155
|
-
// POSITIONALLY via mapResultRow(fields, row) -> row[0], row[1], ...
|
|
156
|
-
// the DO backend returns rows as column-keyed OBJECTS, so without this a
|
|
157
|
-
// real result row { id, createdAt, ... } read as row[0] yields undefined,
|
|
158
|
-
// and the first typed decoder (timestamp/json/numeric) throws on undefined
|
|
159
|
-
// (e.g. "Cannot read properties of undefined (reading 'toISOString')").
|
|
160
|
-
// project objects into arrays in column order, exactly as node-postgres does.
|
|
161
|
-
if (normalized.rowMode === 'array') {
|
|
162
|
-
promise = promise.then((result) => {
|
|
163
|
-
if (!result || !Array.isArray(result.rows) || result.rows.length === 0) {
|
|
164
|
-
return result
|
|
165
|
-
}
|
|
166
|
-
const keys = Object.keys(result.rows[0])
|
|
167
|
-
return {
|
|
168
|
-
...result,
|
|
169
|
-
rows: result.rows.map((row) => keys.map((key) => row[key])),
|
|
170
|
-
fields: result.fields || keys.map((name) => ({ name })),
|
|
171
|
-
}
|
|
172
|
-
})
|
|
173
|
-
}
|
|
174
|
-
if (typeof normalized.callback === 'function') {
|
|
175
|
-
promise.then((result) => normalized.callback(null, result), normalized.callback)
|
|
176
|
-
}
|
|
177
|
-
return promise
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
async end() {}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
export class Client extends Pool {}
|
|
184
|
-
export const types = { setTypeParser() {} }
|
|
185
|
-
export const defaults = {}
|
|
186
|
-
export const native = null
|
|
187
|
-
export default { Pool, Client, types, defaults, native }
|
|
188
|
-
`, cfg);
|
|
189
|
-
}
|
|
190
|
-
export function cloudflareZeroServerPoolFile(cfg) {
|
|
191
|
-
return `${cfg.prefix}-cloudflare-zero-server-pool.ts`;
|
|
192
|
-
}
|
|
193
|
-
export function cloudflareZeroServerPoolSource(cfg) {
|
|
194
|
-
return applyPrefix(`export function createNspfxCloudflareZeroServerPool(connectionString = '') {
|
|
195
|
-
const createPool = globalThis.__nspfx_cf_do_create_pg_pool
|
|
196
|
-
if (typeof createPool !== 'function') {
|
|
197
|
-
throw new Error('Cloudflare SQL Durable Object pool factory is not initialized')
|
|
198
|
-
}
|
|
199
|
-
return createPool(connectionString)
|
|
200
|
-
}
|
|
201
|
-
`, cfg);
|
|
202
|
-
}
|
|
203
|
-
export function patchZeroServerForCloudflareDo(cfg, source, zeroServerPath) {
|
|
204
|
-
const createPoolName = `create${cfg.prefixPascal}CloudflareZeroServerPool`;
|
|
205
|
-
if (source.includes(createPoolName))
|
|
206
|
-
return source;
|
|
207
|
-
// native sqlite servers already receive their owning transaction provider.
|
|
208
|
-
// their app graph must never be rewritten back through the legacy pg pool.
|
|
209
|
-
// all spellings are tenant source we only detect, never emit. templates use
|
|
210
|
-
// createSQLiteApplicationDatabase directly; the platform app owns the same
|
|
211
|
-
// database behind createApplicationSqlDatabase.
|
|
212
|
-
if (/\bcreateSQLiteApplicationDatabase\s*\(/.test(source))
|
|
213
|
-
return source;
|
|
214
|
-
if (/\bcreateApplicationSqlDatabase\s*\(/.test(source))
|
|
215
|
-
return source;
|
|
216
|
-
if (/\bcreateZeroSQLiteServer\s*\(/.test(source))
|
|
217
|
-
return source;
|
|
218
|
-
// the platform server can own the same application database one module
|
|
219
|
-
// below this entrypoint. getZeroPushRuntime constructs its executor through
|
|
220
|
-
// createApplicationSqlDatabase, so rewriting this binding would introduce a
|
|
221
|
-
// second database path instead of adapting the one it already owns.
|
|
222
|
-
if (/\bgetZeroPushRuntime\s*\(/.test(source))
|
|
223
|
-
return source;
|
|
224
|
-
// seam-based sources already route through the installed pool factory at
|
|
225
|
-
// runtime (zeroServerDatabase reads the same global the DO shim installs),
|
|
226
|
-
// so they need no rewrite here; the seam module itself is hardened for the
|
|
227
|
-
// DO build by patchZeroServerDatabaseForCloudflareDo.
|
|
228
|
-
if (/\.\.\.\s*zeroServerDatabase\s*\(/.test(source))
|
|
229
|
-
return source;
|
|
230
|
-
const databaseConfigPattern = /database\s*:\s*server\.ZERO_UPSTREAM_DB\s*,?/;
|
|
231
|
-
if (!databaseConfigPattern.test(source)) {
|
|
232
|
-
throw new Error(`Could not patch ${relative(process.cwd(), zeroServerPath)} for Cloudflare DO: expected an application SQL runtime or createZeroServer({ database: server.ZERO_UPSTREAM_DB })`);
|
|
233
|
-
}
|
|
234
|
-
return `import { ${createPoolName} } from './${cloudflareZeroServerPoolFile(cfg).replace(/\.ts$/, '')}'\n${source}`.replace(databaseConfigPattern, `pool: ${createPoolName}(server.ZERO_UPSTREAM_DB),`);
|
|
235
|
-
}
|
|
236
|
-
export function prepareCloudflareDoBuildDirectory(cfg, buildDir) {
|
|
237
|
-
const viteConfigPath = join(buildDir, 'vite.config.ts');
|
|
238
|
-
if (!existsSync(viteConfigPath))
|
|
239
|
-
return;
|
|
240
|
-
const zeroServerPaths = [
|
|
241
|
-
join(buildDir, 'data', 'zero-server.ts'),
|
|
242
|
-
join(buildDir, 'src', 'zero', 'server.ts'),
|
|
243
|
-
].filter((path) => existsSync(path));
|
|
244
|
-
for (const zeroServerPath of zeroServerPaths) {
|
|
245
|
-
const zeroServerDir = dirname(zeroServerPath);
|
|
246
|
-
const originalZeroServerSource = readFileSync(zeroServerPath, 'utf-8');
|
|
247
|
-
const patchedZeroServerSource = patchZeroServerForCloudflareDo(cfg, originalZeroServerSource, zeroServerPath);
|
|
248
|
-
const createPoolName = `create${cfg.prefixPascal}CloudflareZeroServerPool`;
|
|
249
|
-
if (patchedZeroServerSource.includes(createPoolName)) {
|
|
250
|
-
writeFileSync(join(zeroServerDir, cloudflareZeroServerPoolFile(cfg)), cloudflareZeroServerPoolSource(cfg));
|
|
251
|
-
}
|
|
252
|
-
if (patchedZeroServerSource !== originalZeroServerSource) {
|
|
253
|
-
writeFileSync(zeroServerPath, patchedZeroServerSource);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
const seamPath = join(buildDir, 'src', 'zero', 'zeroServerDatabase.ts');
|
|
257
|
-
if (existsSync(seamPath)) {
|
|
258
|
-
writeFileSync(seamPath, patchZeroServerDatabaseForCloudflareDo(readFileSync(seamPath, 'utf-8'), seamPath));
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
// inside the worker bundle the seam's `database:` fallback would let on-zero
|
|
262
|
-
// silently build its own pg pool when the shim's factory is missing, instead
|
|
263
|
-
// of failing fast the way the generated pool helper always has. harden the
|
|
264
|
-
// fallback into a hard error for DO builds. (the sqlite-pool side-effect
|
|
265
|
-
// import is stripped separately by the app's build-mutated-files pass, which
|
|
266
|
-
// owns that concern for every file.)
|
|
267
|
-
export function patchZeroServerDatabaseForCloudflareDo(source, seamPath) {
|
|
268
|
-
if (source.includes('pool factory is not initialized'))
|
|
269
|
-
return source;
|
|
270
|
-
const fallbackPattern = /if\s*\(typeof factory !== 'function'\)\s*return\s*\{\s*database:\s*connectionString\s*\}/;
|
|
271
|
-
if (!fallbackPattern.test(source)) {
|
|
272
|
-
throw new Error(`Could not patch ${relative(process.cwd(), seamPath)} for Cloudflare DO: expected the database fallback`);
|
|
273
|
-
}
|
|
274
|
-
return source.replace(fallbackPattern, `if (typeof factory !== 'function') {\n throw new Error('Cloudflare SQL Durable Object pool factory is not initialized')\n }`);
|
|
275
|
-
}
|
|
276
|
-
//# sourceMappingURL=sources.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sources.js","sourceRoot":"","sources":["../../src/cf-deploy/sources.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export type WranglerConfig = Record<string, unknown>;
|
|
2
|
-
export declare const CLOUDFLARE_DO_COMPAT_DATE = "2026-03-29";
|
|
3
|
-
export declare function normalizeCloudflareDoWranglerConfig(config: WranglerConfig): WranglerConfig;
|
|
4
|
-
/** keep the authoritative SQL DO while removing the embedded sync-cache class. */
|
|
5
|
-
export declare function normalizeCloudflareRustSyncWranglerConfig(config: WranglerConfig): WranglerConfig;
|
|
6
|
-
//# sourceMappingURL=wrangler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wrangler.d.ts","sourceRoot":"","sources":["../../src/cf-deploy/wrangler.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAgBpD,eAAO,MAAM,yBAAyB,eAAe,CAAA;AAsCrD,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,cAAc,GACrB,cAAc,CAmGhB;AAED,kFAAkF;AAClF,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,cAAc,GACrB,cAAc,CAyChB"}
|