orez 0.5.11 → 0.5.13
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/dist/cf-do/tx-journal.d.ts +6 -5
- package/dist/cf-do/tx-journal.d.ts.map +1 -1
- package/dist/cf-do/tx-journal.js +116 -27
- package/dist/cf-do/tx-journal.js.map +1 -1
- package/dist/pg-proxy-browser.d.ts +2 -0
- package/dist/pg-proxy-browser.d.ts.map +1 -1
- package/dist/pg-proxy-browser.js +56 -102
- package/dist/pg-proxy-browser.js.map +1 -1
- package/dist/pg-proxy-do-backend.d.ts +8 -0
- package/dist/pg-proxy-do-backend.d.ts.map +1 -1
- package/dist/pg-proxy-do-backend.js +27 -9
- package/dist/pg-proxy-do-backend.js.map +1 -1
- package/dist/pg-sqlite-compiler/compiler.d.ts +17 -0
- package/dist/pg-sqlite-compiler/compiler.d.ts.map +1 -0
- package/dist/pg-sqlite-compiler/compiler.js +80 -0
- package/dist/pg-sqlite-compiler/compiler.js.map +1 -0
- package/dist/pg-sqlite-compiler/index.d.ts +1 -16
- package/dist/pg-sqlite-compiler/index.d.ts.map +1 -1
- package/dist/pg-sqlite-compiler/index.js +2 -79
- package/dist/pg-sqlite-compiler/index.js.map +1 -1
- package/dist/replication/handler.d.ts +8 -7
- package/dist/replication/handler.d.ts.map +1 -1
- package/dist/replication/handler.js +147 -116
- package/dist/replication/handler.js.map +1 -1
- package/dist/worker/browser-build-config.d.ts.map +1 -1
- package/dist/worker/browser-build-config.js +1 -0
- package/dist/worker/browser-build-config.js.map +1 -1
- package/dist/worker/browser-embed.d.ts +3 -2
- package/dist/worker/browser-embed.d.ts.map +1 -1
- package/dist/worker/browser-embed.js +187 -150
- package/dist/worker/browser-embed.js.map +1 -1
- package/dist/worker/cf-instance-runtime.d.ts +62 -0
- package/dist/worker/cf-instance-runtime.d.ts.map +1 -0
- package/dist/worker/cf-instance-runtime.js +260 -0
- package/dist/worker/cf-instance-runtime.js.map +1 -0
- package/dist/worker/cf-patches.d.ts +9 -6
- package/dist/worker/cf-patches.d.ts.map +1 -1
- package/dist/worker/cf-patches.js +117 -60
- package/dist/worker/cf-patches.js.map +1 -1
- package/dist/worker/durable-object-websocket-handoff.d.ts +2 -0
- package/dist/worker/durable-object-websocket-handoff.d.ts.map +1 -1
- package/dist/worker/durable-object-websocket-handoff.js +22 -41
- package/dist/worker/durable-object-websocket-handoff.js.map +1 -1
- package/dist/worker/embed-generation.d.ts +9 -6
- package/dist/worker/embed-generation.d.ts.map +1 -1
- package/dist/worker/embed-generation.js +27 -6
- package/dist/worker/embed-generation.js.map +1 -1
- package/dist/worker/shims/fastify-websocket.d.ts +3 -0
- package/dist/worker/shims/fastify-websocket.d.ts.map +1 -0
- package/dist/worker/shims/fastify-websocket.js +3 -0
- package/dist/worker/shims/fastify-websocket.js.map +1 -0
- package/dist/worker/shims/fastify.d.ts +2 -10
- package/dist/worker/shims/fastify.d.ts.map +1 -1
- package/dist/worker/shims/fastify.js +14 -21
- package/dist/worker/shims/fastify.js.map +1 -1
- package/dist/worker/shims/postgres-browser.d.ts +1 -1
- package/dist/worker/shims/postgres-browser.d.ts.map +1 -1
- package/dist/worker/shims/postgres-browser.js +29 -20
- package/dist/worker/shims/postgres-browser.js.map +1 -1
- package/dist/worker/shims/sqlite-browser.d.ts +2 -3
- package/dist/worker/shims/sqlite-browser.d.ts.map +1 -1
- package/dist/worker/shims/sqlite-browser.js +2 -3
- package/dist/worker/shims/sqlite-browser.js.map +1 -1
- package/dist/worker/shims/sqlite.d.ts.map +1 -1
- package/dist/worker/shims/sqlite.js +56 -35
- package/dist/worker/shims/sqlite.js.map +1 -1
- package/dist/worker/shims/ws.d.ts.map +1 -1
- package/dist/worker/shims/ws.js +54 -39
- package/dist/worker/shims/ws.js.map +1 -1
- package/dist/worker/shims/zero-process-env.d.ts.map +1 -1
- package/dist/worker/shims/zero-process-env.js +25 -4
- package/dist/worker/shims/zero-process-env.js.map +1 -1
- package/dist/worker/zero-cache-embed-cf.d.ts +5 -1
- package/dist/worker/zero-cache-embed-cf.d.ts.map +1 -1
- package/dist/worker/zero-cache-embed-cf.js +104 -137
- package/dist/worker/zero-cache-embed-cf.js.map +1 -1
- package/package.json +6 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed-generation.js","sourceRoot":"","sources":["../../src/worker/embed-generation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;
|
|
1
|
+
{"version":3,"file":"embed-generation.js","sourceRoot":"","sources":["../../src/worker/embed-generation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAQH,mEAAmE;AACnE,MAAM,UAAU,wBAAwB;IACtC,OAAO,CAAE,UAAkB,CAAC,sBAAsB,KAAK,IAAI,GAAG,EAAe,CAAC,CAAA;AAChF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,GAAG,GAAG,wBAAwB,EAAE,CAAA;IACtC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,gEAAgE;IAChE,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,EAAE,CAAC,KAAK,EAAE,CAAA;QACZ,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;QACvE,CAAC;QACD,MAAM,EAAE,CAAA;IACV,CAAC;IACD,GAAG,CAAC,KAAK,EAAE,CAAA;IACX,OAAO,MAAM,CAAA;AACf,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,4BAA4B,CAAC,OAA0B;IACrE,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,MAAM,MAAM,GAAc,EAAE,CAAA;IAC5B,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;QACD,MAAM,EAAE,CAAA;IACV,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAA;IACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,cAAc,CAAC,MAAM,EAAE,6CAA6C,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fastify-websocket.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/fastify-websocket.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,wBAA8B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fastify-websocket.js","sourceRoot":"","sources":["../../../src/worker/shims/fastify-websocket.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,gBAAgB,KAAmB,CAAC"}
|
|
@@ -51,6 +51,7 @@ declare class FakeHttpServer extends EventEmitter {
|
|
|
51
51
|
port: number;
|
|
52
52
|
family: "IPv4";
|
|
53
53
|
};
|
|
54
|
+
setPort(port: number): void;
|
|
54
55
|
/** match the onMessageType pattern from zero-cache processes.js */
|
|
55
56
|
onMessageType(type: string, handler: (msg: unknown, sendHandle?: unknown) => void): this;
|
|
56
57
|
listen(): void;
|
|
@@ -68,7 +69,7 @@ declare class FastifyShim {
|
|
|
68
69
|
delete(path: string, handler: RouteHandler): void;
|
|
69
70
|
register(_plugin: unknown, _opts?: unknown): this;
|
|
70
71
|
ready(): Promise<void>;
|
|
71
|
-
listen(
|
|
72
|
+
listen(opts?: {
|
|
72
73
|
host?: string;
|
|
73
74
|
port?: number;
|
|
74
75
|
}): Promise<string>;
|
|
@@ -76,15 +77,6 @@ declare class FastifyShim {
|
|
|
76
77
|
inject(opts: InjectOptions): Promise<InjectResult>;
|
|
77
78
|
}
|
|
78
79
|
declare function Fastify(_opts?: unknown): FastifyShim;
|
|
79
|
-
/**
|
|
80
|
-
* drop every registered fastify instance. called at embed generation begin
|
|
81
|
-
* (the embed restart contract — see ../embed-generation.ts): a dead
|
|
82
|
-
* generation's instances otherwise stay in the registry, and the ws shim's
|
|
83
|
-
* handoff loop matches the dead change-streamer's routes first — the new
|
|
84
|
-
* generation's replicator then subscribes to a server that never answers
|
|
85
|
-
* and boot hangs silently.
|
|
86
|
-
*/
|
|
87
|
-
export declare function resetFastifyRegistry(): void;
|
|
88
80
|
export default Fastify;
|
|
89
81
|
export type { FastifyRequest, FastifyReply, FastifyShim };
|
|
90
82
|
//# sourceMappingURL=fastify.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/fastify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/fastify.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* alias: { 'fastify': './src/worker/shims/fastify.js' }
|
|
17
17
|
*/
|
|
18
18
|
import { EventEmitter } from 'node:events';
|
|
19
|
+
import { registerCFInstanceFastify, unregisterCFInstanceFastify, } from '../cf-instance-runtime.js';
|
|
19
20
|
import { WebSocket as WsShim, WebSocketServer as WsServerShim } from './ws.js';
|
|
20
21
|
// -- fake http.Server replacement --
|
|
21
22
|
// uses EventEmitter with onMessageType for zero-cache's
|
|
@@ -25,6 +26,9 @@ class FakeHttpServer extends EventEmitter {
|
|
|
25
26
|
address() {
|
|
26
27
|
return this.#address;
|
|
27
28
|
}
|
|
29
|
+
setPort(port) {
|
|
30
|
+
this.#address = { ...this.#address, port };
|
|
31
|
+
}
|
|
28
32
|
/** match the onMessageType pattern from zero-cache processes.js */
|
|
29
33
|
onMessageType(type, handler) {
|
|
30
34
|
this.on('message', (data, sendHandle) => {
|
|
@@ -135,12 +139,18 @@ class FastifyShim {
|
|
|
135
139
|
resolve();
|
|
136
140
|
this.#readyResolvers = [];
|
|
137
141
|
}
|
|
138
|
-
async listen(
|
|
142
|
+
async listen(opts) {
|
|
143
|
+
const port = opts?.port;
|
|
144
|
+
if (!Number.isInteger(port) || !port || port < 1) {
|
|
145
|
+
throw new Error(`fastify shim: an instance routing port is required`);
|
|
146
|
+
}
|
|
147
|
+
registerCFInstanceFastify(port, this);
|
|
148
|
+
this.server.setPort(port);
|
|
139
149
|
await this.ready();
|
|
140
|
-
return
|
|
150
|
+
return `0.0.0.0:${port}`;
|
|
141
151
|
}
|
|
142
152
|
async close() {
|
|
143
|
-
|
|
153
|
+
unregisterCFInstanceFastify(this);
|
|
144
154
|
}
|
|
145
155
|
// inject — process a request through registered routes
|
|
146
156
|
async inject(opts) {
|
|
@@ -223,24 +233,7 @@ function tryParseJson(str) {
|
|
|
223
233
|
}
|
|
224
234
|
// -- default export matching fastify's API --
|
|
225
235
|
function Fastify(_opts) {
|
|
226
|
-
|
|
227
|
-
globalThis.__orez_fastify_instance = instance;
|
|
228
|
-
globalThis.__orez_fastify_instances =
|
|
229
|
-
globalThis.__orez_fastify_instances || [];
|
|
230
|
-
globalThis.__orez_fastify_instances.push(instance);
|
|
231
|
-
return instance;
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* drop every registered fastify instance. called at embed generation begin
|
|
235
|
-
* (the embed restart contract — see ../embed-generation.ts): a dead
|
|
236
|
-
* generation's instances otherwise stay in the registry, and the ws shim's
|
|
237
|
-
* handoff loop matches the dead change-streamer's routes first — the new
|
|
238
|
-
* generation's replicator then subscribes to a server that never answers
|
|
239
|
-
* and boot hangs silently.
|
|
240
|
-
*/
|
|
241
|
-
export function resetFastifyRegistry() {
|
|
242
|
-
delete globalThis.__orez_fastify_instance;
|
|
243
|
-
globalThis.__orez_fastify_instances = [];
|
|
236
|
+
return new FastifyShim();
|
|
244
237
|
}
|
|
245
238
|
export default Fastify;
|
|
246
239
|
//# sourceMappingURL=fastify.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fastify.js","sourceRoot":"","sources":["../../../src/worker/shims/fastify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,eAAe,IAAI,YAAY,EAAE,MAAM,SAAS,CAAA;AAuC9E,qCAAqC;AACrC,wDAAwD;AACxD,6CAA6C;AAE7C,MAAM,cAAe,SAAQ,YAAY;IACvC,QAAQ,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,CAAA;IAEnE,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,mEAAmE;IACnE,aAAa,CACX,IAAY,EACZ,OAAqD;QAErD,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,UAAoB,EAAE,EAAE;YACzD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM;QACJ,iBAAiB;IACnB,CAAC;IACD,KAAK;QACH,iBAAiB;IACnB,CAAC;CACF;AAED,uEAAuE;AACvE,0DAA0D;AAE1D,+BAA+B;AAC/B,uEAAuE;AACvE,sCAAsC;AAEtC,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;SACtC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IACrC,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAA;AACnC,CAAC;AAED,8BAA8B;AAE9B,MAAM,WAAW;IACf,MAAM,CAAgB;IACtB,eAAe,CAAc;IAC7B,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAA;IACzC,SAAS,GAAyE,EAAE,CAAA;IACpF,eAAe,GAAsB,EAAE,CAAA;IAEvC;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,EAAE,CAAA;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,YAAY,EAAE,CAAA;QACzC,IAAI,CAAC,wBAAwB,EAAE,CAAA;IACjC,CAAC;IAED,gEAAgE;IAChE,wEAAwE;IACxE,wEAAwE;IACxE,wCAAwC;IACxC,wBAAwB;QACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAQ,EAAE,MAAY,EAAE,EAAE;YAC9D,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,sEAAsE;IACtE,oDAAoD;IACpD,iEAAiE;IACjE,qDAAqD;IACrD,UAAU,CAAC,GAAQ,EAAE,MAAY;QAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG;YAAE,OAAO,KAAK,CAAA;QAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAA;QAC3B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;QAEnC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG;oBACV,GAAG;oBACH,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE;oBAClC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK;iBACpC,CAAA;gBACD,+DAA+D;gBAC/D,qEAAqE;gBACrE,IAAI,CAAC,eAAe,CAAC,aAAa,CAChC,GAAG,EACH,MAAM,EACN,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,EAAO,EAAE,EAAE;oBACV,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;gBACxB,CAAC,CACF,CAAA;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,oEAAoE;IACpE,GAAG,CAAC,IAAY,EAAE,aAAkB,EAAE,OAAa;QACjD,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,aAAa,CAAC,CAAA;QAChD,CAAC;aAAM,IAAI,aAAa,EAAE,SAAS,IAAI,OAAO,EAAE,CAAC;YAC/C,kDAAkD;YAClD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;gBAC7B,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAY,EAAE,OAAqB;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IACD,GAAG,CAAC,IAAY,EAAE,OAAqB;QACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IACD,MAAM,CAAC,IAAY,EAAE,OAAqB;QACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED,6EAA6E;IAC7E,QAAQ,CAAC,OAAgB,EAAE,KAAe;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY;IACZ,KAAK,CAAC,KAAK;QACT,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,EAAE,CAAA;QACrD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"fastify.js","sourceRoot":"","sources":["../../../src/worker/shims/fastify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EACL,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,eAAe,IAAI,YAAY,EAAE,MAAM,SAAS,CAAA;AAuC9E,qCAAqC;AACrC,wDAAwD;AACxD,6CAA6C;AAE7C,MAAM,cAAe,SAAQ,YAAY;IACvC,QAAQ,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,CAAA;IAEnE,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC5C,CAAC;IAED,mEAAmE;IACnE,aAAa,CACX,IAAY,EACZ,OAAqD;QAErD,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,UAAoB,EAAE,EAAE;YACzD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM;QACJ,iBAAiB;IACnB,CAAC;IACD,KAAK;QACH,iBAAiB;IACnB,CAAC;CACF;AAED,uEAAuE;AACvE,0DAA0D;AAE1D,+BAA+B;AAC/B,uEAAuE;AACvE,sCAAsC;AAEtC,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;SACtC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IACrC,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAA;AACnC,CAAC;AAED,8BAA8B;AAE9B,MAAM,WAAW;IACf,MAAM,CAAgB;IACtB,eAAe,CAAc;IAC7B,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAA;IACzC,SAAS,GAAyE,EAAE,CAAA;IACpF,eAAe,GAAsB,EAAE,CAAA;IAEvC;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,EAAE,CAAA;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,YAAY,EAAE,CAAA;QACzC,IAAI,CAAC,wBAAwB,EAAE,CAAA;IACjC,CAAC;IAED,gEAAgE;IAChE,wEAAwE;IACxE,wEAAwE;IACxE,wCAAwC;IACxC,wBAAwB;QACtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,GAAQ,EAAE,MAAY,EAAE,EAAE;YAC9D,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC9B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,sEAAsE;IACtE,oDAAoD;IACpD,iEAAiE;IACjE,qDAAqD;IACrD,UAAU,CAAC,GAAQ,EAAE,MAAY;QAC/B,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG;YAAE,OAAO,KAAK,CAAA;QAC/C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAA;QAC3B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAA;QAEnC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG;oBACV,GAAG;oBACH,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE;oBAClC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK;iBACpC,CAAA;gBACD,+DAA+D;gBAC/D,qEAAqE;gBACrE,IAAI,CAAC,eAAe,CAAC,aAAa,CAChC,GAAG,EACH,MAAM,EACN,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,EAC9B,CAAC,EAAO,EAAE,EAAE;oBACV,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;gBACxB,CAAC,CACF,CAAA;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,oEAAoE;IACpE,GAAG,CAAC,IAAY,EAAE,aAAkB,EAAE,OAAa;QACjD,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,aAAa,CAAC,CAAA;QAChD,CAAC;aAAM,IAAI,aAAa,EAAE,SAAS,IAAI,OAAO,EAAE,CAAC;YAC/C,kDAAkD;YAClD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAClB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;gBAC7B,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAY,EAAE,OAAqB;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;IACD,GAAG,CAAC,IAAY,EAAE,OAAqB;QACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IACD,MAAM,CAAC,IAAY,EAAE,OAAqB;QACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED,6EAA6E;IAC7E,QAAQ,CAAC,OAAgB,EAAE,KAAe;QACxC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY;IACZ,KAAK,CAAC,KAAK;QACT,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,EAAE,CAAA;QACrD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAuC;QAClD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAA;QACvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QACvE,CAAC;QACD,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACzB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QAClB,OAAO,WAAW,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,2BAA2B,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,MAAM,CAAC,IAAmB;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;QACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAEhC,sBAAsB;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAA;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;QAC5D,CAAC;QAED,qBAAqB;QACrB,MAAM,OAAO,GAAmB;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM;YACN,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3D,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC;YAC9C,MAAM,EAAE,EAAE;SACX,CAAA;QAED,mBAAmB;QACnB,IAAI,UAAU,GAAG,GAAG,CAAA;QACpB,MAAM,OAAO,GAA2B,EAAE,CAAA;QAC1C,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,IAAI,IAAI,GAAG,KAAK,CAAA;QAEhB,MAAM,KAAK,GAAiB;YAC1B,IAAI,CAAC,IAAY;gBACf,UAAU,GAAG,IAAI,CAAA;gBACjB,OAAO,KAAK,CAAA;YACd,CAAC;YACD,MAAM,CAAC,IAAY;gBACjB,UAAU,GAAG,IAAI,CAAA;gBACjB,OAAO,KAAK,CAAA;YACd,CAAC;YACD,MAAM,CAAC,IAAY,EAAE,KAAa;gBAChC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAA;gBACnC,OAAO,KAAK,CAAA;YACd,CAAC;YACD,IAAI,CAAC,WAAmB;gBACtB,OAAO,CAAC,cAAc,CAAC,GAAG,WAAW,CAAA;gBACrC,OAAO,KAAK,CAAA;YACd,CAAC;YACD,IAAI,CAAC,OAAiB;gBACpB,IAAI,GAAG,IAAI,CAAA;gBACX,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC9C,IAAI,GAAG,EAAE,CAAA;gBACX,CAAC;qBAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBACvC,IAAI,GAAG,OAAO,CAAA;gBAChB,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;oBAC9B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;wBAC7B,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAA;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC5C,2DAA2D;YAC3D,IAAI,CAAC,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,GAAG,GAAG,CAAA;YAChB,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IACtC,CAAC;CACF;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAA;IACZ,CAAC;AACH,CAAC;AAED,8CAA8C;AAE9C,SAAS,OAAO,CAAC,KAAe;IAC9B,OAAO,IAAI,WAAW,EAAE,CAAA;AAC1B,CAAC;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* with a custom socket factory that speaks wire protocol over MessagePort
|
|
6
6
|
* to pg-proxy-browser.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* every connection URL contains its CF embed runtime identity.
|
|
9
9
|
*/
|
|
10
10
|
declare function browserPostgres(urlOrOptions?: any, options?: any): any;
|
|
11
11
|
export default browserPostgres;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-browser.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/postgres-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"postgres-browser.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/postgres-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,iBAAS,eAAe,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,OA4CzD;AAGD,eAAe,eAAe,CAAA"}
|
|
@@ -5,37 +5,41 @@
|
|
|
5
5
|
* with a custom socket factory that speaks wire protocol over MessagePort
|
|
6
6
|
* to pg-proxy-browser.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* every connection URL contains its CF embed runtime identity.
|
|
9
9
|
*/
|
|
10
10
|
// import the REAL postgres package — the bundler aliases 'postgres-real' to the
|
|
11
11
|
// actual postgres npm package, avoiding circular resolution since 'postgres'
|
|
12
12
|
// is aliased to this file.
|
|
13
13
|
// @ts-expect-error — resolved by bundler alias
|
|
14
14
|
import postgres from 'postgres-real';
|
|
15
|
+
import { logCFInstance, routeCFPostgresHost, routeCFPostgresURL, } from '../cf-instance-runtime.js';
|
|
15
16
|
import { createSocketFactory } from './postgres-socket.js';
|
|
16
|
-
const getProxyConnect = () => {
|
|
17
|
-
const fn = globalThis.__orez_proxy_connect;
|
|
18
|
-
if (!fn)
|
|
19
|
-
throw new Error('__orez_proxy_connect not set');
|
|
20
|
-
return fn;
|
|
21
|
-
};
|
|
22
17
|
function browserPostgres(urlOrOptions, options) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
: { ...(urlOrOptions || {}) };
|
|
26
|
-
opts.socket = createSocketFactory(getProxyConnect());
|
|
18
|
+
let runtime;
|
|
19
|
+
let opts;
|
|
27
20
|
if (typeof urlOrOptions === 'string') {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
21
|
+
runtime = routeCFPostgresURL(urlOrOptions);
|
|
22
|
+
opts = { ...(options || {}) };
|
|
23
|
+
const parsed = new URL(urlOrOptions.replace('pglite://', 'http://'));
|
|
24
|
+
opts.database = parsed.pathname.replace(/^\//, '') || 'postgres';
|
|
25
|
+
opts.host = parsed.hostname;
|
|
26
|
+
}
|
|
27
|
+
else if (urlOrOptions && typeof urlOrOptions === 'object') {
|
|
28
|
+
opts = { ...urlOrOptions };
|
|
29
|
+
const host = Array.isArray(opts.host) ? opts.host[0] : opts.host;
|
|
30
|
+
if (typeof host !== 'string') {
|
|
31
|
+
throw new Error('postgres-browser: an instance-routed postgres host is required');
|
|
33
32
|
}
|
|
34
|
-
|
|
33
|
+
runtime = routeCFPostgresHost(host);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
throw new Error('postgres-browser: an instance-routed postgres URL is required');
|
|
35
37
|
}
|
|
38
|
+
opts.socket = createSocketFactory((port) => runtime.proxyConnect(port));
|
|
39
|
+
opts.port = 0;
|
|
36
40
|
opts.ssl = false;
|
|
37
|
-
opts.password =
|
|
38
|
-
opts.username =
|
|
41
|
+
opts.password = runtime.pgPassword;
|
|
42
|
+
opts.username = runtime.pgUser;
|
|
39
43
|
// disable auto-subscribe
|
|
40
44
|
if (opts.no_subscribe === undefined)
|
|
41
45
|
opts.no_subscribe = true;
|
|
@@ -46,7 +50,12 @@ function browserPostgres(urlOrOptions, options) {
|
|
|
46
50
|
// for win32 node), and silently clamping it re-introduces the hang.
|
|
47
51
|
if (!opts.max)
|
|
48
52
|
opts.max = 2;
|
|
49
|
-
|
|
53
|
+
logCFInstance(runtime, {
|
|
54
|
+
component: 'postgres-browser',
|
|
55
|
+
database: opts.database,
|
|
56
|
+
event: 'client-create',
|
|
57
|
+
replication: !!opts.connection?.replication,
|
|
58
|
+
});
|
|
50
59
|
const client = postgres(opts);
|
|
51
60
|
return client;
|
|
52
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-browser.js","sourceRoot":"","sources":["../../../src/worker/shims/postgres-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gFAAgF;AAChF,6EAA6E;AAC7E,2BAA2B;AAC3B,+CAA+C;AAC/C,OAAO,QAAQ,MAAM,eAAe,CAAA;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,
|
|
1
|
+
{"version":3,"file":"postgres-browser.js","sourceRoot":"","sources":["../../../src/worker/shims/postgres-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gFAAgF;AAChF,6EAA6E;AAC7E,2BAA2B;AAC3B,+CAA+C;AAC/C,OAAO,QAAQ,MAAM,eAAe,CAAA;AAEpC,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,SAAS,eAAe,CAAC,YAAkB,EAAE,OAAa;IACxD,IAAI,OAAO,CAAA;IACX,IAAI,IAAS,CAAA;IACb,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAA;QAC1C,IAAI,GAAG,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAA;QAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;QACpE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,UAAU,CAAA;QAChE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;IAC7B,CAAC;SAAM,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC5D,IAAI,GAAG,EAAE,GAAG,YAAY,EAAE,CAAA;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;QAChE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;QACnF,CAAC;QACD,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;IAClF,CAAC;IAED,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAA;IAEvE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;IAEb,IAAI,CAAC,GAAG,GAAG,KAAK,CAAA;IAChB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAA;IAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAA;IAC9B,yBAAyB;IACzB,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;IAC7D,sEAAsE;IACtE,+EAA+E;IAC/E,qEAAqE;IACrE,4EAA4E;IAC5E,oEAAoE;IACpE,IAAI,CAAC,IAAI,CAAC,GAAG;QAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;IAE3B,aAAa,CAAC,OAAO,EAAE;QACrB,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW;KAC5C,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC7B,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAA;AACxC,eAAe,eAAe,CAAA"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* const SQL = await initSqlJs()
|
|
13
13
|
* const db = new SQL.Database()
|
|
14
14
|
* const storage = createSqlJsStorage(db)
|
|
15
|
-
*
|
|
15
|
+
* const sqlite = new Database(storage)
|
|
16
16
|
*/
|
|
17
17
|
import type { SqlStorageLike } from './sqlite.js';
|
|
18
18
|
interface SqlJsDatabase {
|
|
@@ -36,8 +36,7 @@ interface SqlJsStatement {
|
|
|
36
36
|
/**
|
|
37
37
|
* create a SqlStorageLike adapter around a sql.js Database.
|
|
38
38
|
*
|
|
39
|
-
* the returned object
|
|
40
|
-
* or passed directly to the sqlite shim's Database constructor.
|
|
39
|
+
* pass the returned object directly to the sqlite shim's Database constructor.
|
|
41
40
|
*/
|
|
42
41
|
export declare function createSqlJsStorage(sqlJsDb: SqlJsDatabase): SqlStorageLike;
|
|
43
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-browser.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/sqlite-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAqC,MAAM,aAAa,CAAA;AAGpF,UAAU,aAAa;IACrB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC1C,IAAI,CACF,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,KAAK,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,MAAM,EAAE,OAAO,EAAE,EAAE,CAAA;KACpB,CAAC,CAAA;IACF,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;IACpC,eAAe,IAAI,MAAM,CAAA;IACzB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IACjC,IAAI,IAAI,OAAO,CAAA;IACf,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrD,cAAc,IAAI,MAAM,EAAE,CAAA;IAC1B,IAAI,IAAI,OAAO,CAAA;IACf,KAAK,IAAI,IAAI,CAAA;CACd;AAED
|
|
1
|
+
{"version":3,"file":"sqlite-browser.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/sqlite-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAqC,MAAM,aAAa,CAAA;AAGpF,UAAU,aAAa;IACrB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IAC1C,IAAI,CACF,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,KAAK,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,MAAM,EAAE,OAAO,EAAE,EAAE,CAAA;KACpB,CAAC,CAAA;IACF,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;IACpC,eAAe,IAAI,MAAM,CAAA;IACzB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IACjC,IAAI,IAAI,OAAO,CAAA;IACf,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrD,cAAc,IAAI,MAAM,EAAE,CAAA;IAC1B,IAAI,IAAI,OAAO,CAAA;IACf,KAAK,IAAI,IAAI,CAAA;CACd;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc,CA6FzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,cAAc,CAqBtD"}
|
|
@@ -12,13 +12,12 @@
|
|
|
12
12
|
* const SQL = await initSqlJs()
|
|
13
13
|
* const db = new SQL.Database()
|
|
14
14
|
* const storage = createSqlJsStorage(db)
|
|
15
|
-
*
|
|
15
|
+
* const sqlite = new Database(storage)
|
|
16
16
|
*/
|
|
17
17
|
/**
|
|
18
18
|
* create a SqlStorageLike adapter around a sql.js Database.
|
|
19
19
|
*
|
|
20
|
-
* the returned object
|
|
21
|
-
* or passed directly to the sqlite shim's Database constructor.
|
|
20
|
+
* pass the returned object directly to the sqlite shim's Database constructor.
|
|
22
21
|
*/
|
|
23
22
|
export function createSqlJsStorage(sqlJsDb) {
|
|
24
23
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-browser.js","sourceRoot":"","sources":["../../../src/worker/shims/sqlite-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA4BH
|
|
1
|
+
{"version":3,"file":"sqlite-browser.js","sourceRoot":"","sources":["../../../src/worker/shims/sqlite-browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/sqlite.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../src/worker/shims/sqlite.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,8 +20,26 @@
|
|
|
20
20
|
* }
|
|
21
21
|
* }
|
|
22
22
|
*/
|
|
23
|
+
import { logCFInstance, routeCFSqlitePath, } from '../cf-instance-runtime.js';
|
|
23
24
|
import { openSqliteHandleRegistry } from '../embed-generation.js';
|
|
24
|
-
const activeSnapshotPrefixes = new
|
|
25
|
+
const activeSnapshotPrefixes = new WeakMap();
|
|
26
|
+
const openReaderSnapshots = new WeakMap();
|
|
27
|
+
function snapshotPrefixesFor(key) {
|
|
28
|
+
let prefixes = activeSnapshotPrefixes.get(key);
|
|
29
|
+
if (!prefixes) {
|
|
30
|
+
prefixes = new Set();
|
|
31
|
+
activeSnapshotPrefixes.set(key, prefixes);
|
|
32
|
+
}
|
|
33
|
+
return prefixes;
|
|
34
|
+
}
|
|
35
|
+
function readerSnapshotsFor(key) {
|
|
36
|
+
let readers = openReaderSnapshots.get(key);
|
|
37
|
+
if (!readers) {
|
|
38
|
+
readers = new Set();
|
|
39
|
+
openReaderSnapshots.set(key, readers);
|
|
40
|
+
}
|
|
41
|
+
return readers;
|
|
42
|
+
}
|
|
25
43
|
// -- SqliteError --
|
|
26
44
|
export class SqliteError extends Error {
|
|
27
45
|
code;
|
|
@@ -329,21 +347,21 @@ function createSnapshotPrefix() {
|
|
|
329
347
|
: Math.random().toString(36).slice(2, 18);
|
|
330
348
|
return `_orez_snapshot_${Date.now().toString(36)}_${uuid}`;
|
|
331
349
|
}
|
|
332
|
-
function isActiveSnapshotTable(name) {
|
|
333
|
-
for (const prefix of
|
|
350
|
+
function isActiveSnapshotTable(name, routingKey) {
|
|
351
|
+
for (const prefix of snapshotPrefixesFor(routingKey)) {
|
|
334
352
|
if (name.startsWith(`${prefix}_`))
|
|
335
353
|
return true;
|
|
336
354
|
}
|
|
337
355
|
return false;
|
|
338
356
|
}
|
|
339
|
-
function cleanupInactiveSnapshotTables(sql) {
|
|
357
|
+
function cleanupInactiveSnapshotTables(sql, routingKey) {
|
|
340
358
|
try {
|
|
341
359
|
const rows = execSql(sql, `SELECT name FROM sqlite_master
|
|
342
360
|
WHERE type = 'table'
|
|
343
361
|
AND name LIKE '_orez_snapshot_%'`, [], 'cleanup.snapshot-list').toArray();
|
|
344
362
|
for (const row of rows) {
|
|
345
363
|
const name = String(row.name ?? '');
|
|
346
|
-
if (!isSnapshotInternalTable(name) || isActiveSnapshotTable(name))
|
|
364
|
+
if (!isSnapshotInternalTable(name) || isActiveSnapshotTable(name, routingKey))
|
|
347
365
|
continue;
|
|
348
366
|
try {
|
|
349
367
|
execSql(sql, `DROP TABLE IF EXISTS ${quoteIdentifier(name)}`, [], 'cleanup.snapshot-drop');
|
|
@@ -377,7 +395,6 @@ function shouldSnapshotTable(name) {
|
|
|
377
395
|
// do we copy X (with its schema + indexes) into each open reader's snapshot so
|
|
378
396
|
// that reader keeps seeing X's pre-write rows. since writes are rare during a
|
|
379
397
|
// hydration, readers almost always hit the live indexed tables.
|
|
380
|
-
const openReaderSnapshots = new Set();
|
|
381
398
|
// parse the target table of a writer DML/DDL statement so the writer can
|
|
382
399
|
// copy-on-write that table for open readers before mutating it. matches the
|
|
383
400
|
// statement shapes zero's change-processor emits (INSERT OR REPLACE INTO,
|
|
@@ -395,17 +412,13 @@ function writeTargetTable(sql) {
|
|
|
395
412
|
}
|
|
396
413
|
// before the writer mutates `table`, freeze its current rows for every open
|
|
397
414
|
// reader snapshot that hasn't already copied it.
|
|
398
|
-
function cowOpenReadersBeforeWrite(table) {
|
|
399
|
-
|
|
415
|
+
function cowOpenReadersBeforeWrite(routingKey, table) {
|
|
416
|
+
const readers = readerSnapshotsFor(routingKey);
|
|
417
|
+
if (readers.size === 0)
|
|
400
418
|
return;
|
|
401
|
-
for (const reader of
|
|
419
|
+
for (const reader of readers)
|
|
402
420
|
reader._cowTable(table);
|
|
403
421
|
}
|
|
404
|
-
function currentConnectionRole() {
|
|
405
|
-
return globalThis.__orez_zero_sqlite_role === 'replica-writer'
|
|
406
|
-
? 'replica-writer'
|
|
407
|
-
: 'default';
|
|
408
|
-
}
|
|
409
422
|
function isSqliteCatalogQuery(sql) {
|
|
410
423
|
return /\bsqlite_(?:master|schema)\b/i.test(sql);
|
|
411
424
|
}
|
|
@@ -676,26 +689,31 @@ export class Database {
|
|
|
676
689
|
#snapshotPrefixActive;
|
|
677
690
|
#snapshotCounter;
|
|
678
691
|
#connectionRole;
|
|
692
|
+
#routingKey;
|
|
693
|
+
#runtime;
|
|
679
694
|
constructor(sqlOrFilename, _options) {
|
|
680
695
|
if (typeof sqlOrFilename === 'string') {
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
throw new SqliteError('sqlite shim: no DO storage on globalThis.__orez_do_sqlite. ' +
|
|
686
|
-
'register DO storage before importing zero-cache.', 'SQLITE_ERROR');
|
|
696
|
+
const route = routeCFSqlitePath(sqlOrFilename);
|
|
697
|
+
const storage = route.runtime.doSqlite;
|
|
698
|
+
if (!storage?.exec) {
|
|
699
|
+
throw new SqliteError(`sqlite shim: runtime ${JSON.stringify(route.runtime.instanceId)} has no DO storage`, 'SQLITE_ERROR');
|
|
687
700
|
}
|
|
688
701
|
this.#sql = storage;
|
|
702
|
+
this.#runtime = route.runtime;
|
|
703
|
+
this.#routingKey = route.runtime;
|
|
704
|
+
this.#connectionRole = route.role;
|
|
689
705
|
this.name = sqlOrFilename;
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
706
|
+
route.runtime.sqliteHandles.add(this);
|
|
707
|
+
logCFInstance(route.runtime, {
|
|
708
|
+
component: 'sqlite',
|
|
709
|
+
event: 'open',
|
|
710
|
+
role: route.role,
|
|
711
|
+
});
|
|
696
712
|
}
|
|
697
713
|
else {
|
|
698
714
|
this.#sql = sqlOrFilename;
|
|
715
|
+
this.#routingKey = sqlOrFilename;
|
|
716
|
+
this.#connectionRole = 'default';
|
|
699
717
|
this.name = ':do-storage:';
|
|
700
718
|
}
|
|
701
719
|
this.#open = true;
|
|
@@ -704,9 +722,8 @@ export class Database {
|
|
|
704
722
|
this.#snapshotPrefix = createSnapshotPrefix();
|
|
705
723
|
this.#snapshotPrefixActive = this.#snapshotPrefix;
|
|
706
724
|
this.#snapshotCounter = 0;
|
|
707
|
-
this.#
|
|
708
|
-
|
|
709
|
-
cleanupInactiveSnapshotTables(this.#sql);
|
|
725
|
+
snapshotPrefixesFor(this.#routingKey).add(this.#snapshotPrefix);
|
|
726
|
+
cleanupInactiveSnapshotTables(this.#sql, this.#routingKey);
|
|
710
727
|
this.__orez_sql = this.#sql;
|
|
711
728
|
}
|
|
712
729
|
get open() {
|
|
@@ -802,7 +819,7 @@ export class Database {
|
|
|
802
819
|
this.#dropSnapshot();
|
|
803
820
|
this.#snapshotPrefixActive = `${this.#snapshotPrefix}_${++this.#snapshotCounter}`;
|
|
804
821
|
this.#snapshotTables = new Map();
|
|
805
|
-
|
|
822
|
+
readerSnapshotsFor(this.#routingKey).add(this);
|
|
806
823
|
}
|
|
807
824
|
// copy `table`'s current rows into this reader's snapshot the first time the
|
|
808
825
|
// writer touches it while the snapshot is open. called by the writer via
|
|
@@ -819,7 +836,7 @@ export class Database {
|
|
|
819
836
|
tables.set(table, snapshot);
|
|
820
837
|
}
|
|
821
838
|
#dropSnapshot() {
|
|
822
|
-
|
|
839
|
+
readerSnapshotsFor(this.#routingKey).delete(this);
|
|
823
840
|
const tables = this.#snapshotTables;
|
|
824
841
|
if (!tables)
|
|
825
842
|
return;
|
|
@@ -840,12 +857,13 @@ export class Database {
|
|
|
840
857
|
// reader snapshot first (copy-on-write). reader connections never mutate live
|
|
841
858
|
// tables, so this only fires from the writer's connection.
|
|
842
859
|
_cowForWrite(sql) {
|
|
843
|
-
if (this.#connectionRole !== 'replica-writer' ||
|
|
860
|
+
if (this.#connectionRole !== 'replica-writer' ||
|
|
861
|
+
readerSnapshotsFor(this.#routingKey).size === 0) {
|
|
844
862
|
return;
|
|
845
863
|
}
|
|
846
864
|
const table = writeTargetTable(sql);
|
|
847
865
|
if (table)
|
|
848
|
-
cowOpenReadersBeforeWrite(table);
|
|
866
|
+
cowOpenReadersBeforeWrite(this.#routingKey, table);
|
|
849
867
|
}
|
|
850
868
|
/** prepare a statement */
|
|
851
869
|
prepare(sql) {
|
|
@@ -1038,9 +1056,12 @@ export class Database {
|
|
|
1038
1056
|
}
|
|
1039
1057
|
/** close the database connection */
|
|
1040
1058
|
close() {
|
|
1041
|
-
|
|
1059
|
+
if (this.#runtime)
|
|
1060
|
+
this.#runtime.sqliteHandles.delete(this);
|
|
1061
|
+
else
|
|
1062
|
+
openSqliteHandleRegistry().delete(this);
|
|
1042
1063
|
this.#dropSnapshot();
|
|
1043
|
-
|
|
1064
|
+
snapshotPrefixesFor(this.#routingKey).delete(this.#snapshotPrefix);
|
|
1044
1065
|
this.#open = false;
|
|
1045
1066
|
return this;
|
|
1046
1067
|
}
|