@dotdo/postgres 0.1.2 → 0.1.3
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 +73 -1
- package/dist/client/index.d.ts +47 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +47 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/postgres-client.d.ts +273 -0
- package/dist/client/postgres-client.d.ts.map +1 -0
- package/dist/client/postgres-client.js +389 -0
- package/dist/client/postgres-client.js.map +1 -0
- package/dist/client/types.d.ts +167 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +7 -0
- package/dist/client/types.js.map +1 -0
- package/dist/do/index.d.ts +18 -0
- package/dist/do/index.d.ts.map +1 -0
- package/dist/do/index.js +18 -0
- package/dist/do/index.js.map +1 -0
- package/dist/do/postgres.d.ts +110 -0
- package/dist/do/postgres.d.ts.map +1 -0
- package/dist/do/postgres.js +266 -0
- package/dist/do/postgres.js.map +1 -0
- package/dist/do/sql.d.ts +92 -0
- package/dist/do/sql.d.ts.map +1 -0
- package/dist/do/sql.js +204 -0
- package/dist/do/sql.js.map +1 -0
- package/dist/index.d.ts +25 -30
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -30
- package/dist/index.js.map +1 -1
- package/dist/mcp/binding.d.ts +47 -0
- package/dist/mcp/binding.d.ts.map +1 -0
- package/dist/mcp/binding.js +183 -0
- package/dist/mcp/binding.js.map +1 -0
- package/dist/mcp/index.d.ts +92 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +91 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/server.d.ts +62 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +278 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +58 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +356 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/mcp/types.d.ts +139 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +7 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/pglite/workers-pglite.d.ts +13 -4
- package/dist/pglite/workers-pglite.d.ts.map +1 -1
- package/dist/pglite/workers-pglite.js +110 -5
- package/dist/pglite/workers-pglite.js.map +1 -1
- package/dist/pglite-assets/pglite.data +0 -0
- package/dist/pglite-assets/pglite.wasm +0 -0
- package/dist/worker/background-pglite-manager.d.ts +243 -0
- package/dist/worker/background-pglite-manager.d.ts.map +1 -0
- package/dist/worker/background-pglite-manager.js +528 -0
- package/dist/worker/background-pglite-manager.js.map +1 -0
- package/dist/worker/do-pglite-manager.d.ts +77 -0
- package/dist/worker/do-pglite-manager.d.ts.map +1 -1
- package/dist/worker/do-pglite-manager.js +189 -12
- package/dist/worker/do-pglite-manager.js.map +1 -1
- package/dist/worker/index.d.ts +7 -1
- package/dist/worker/index.d.ts.map +1 -1
- package/dist/worker/index.js +19 -1
- package/dist/worker/index.js.map +1 -1
- package/dist/worker/lazy-pglite-manager.d.ts +242 -0
- package/dist/worker/lazy-pglite-manager.d.ts.map +1 -0
- package/dist/worker/lazy-pglite-manager.js +463 -0
- package/dist/worker/lazy-pglite-manager.js.map +1 -0
- package/package.json +16 -3
- package/src/client/index.ts +61 -0
- package/src/client/postgres-client.ts +442 -0
- package/src/client/types.ts +211 -0
- package/src/do/index.ts +18 -0
- package/src/do/postgres.ts +367 -0
- package/src/do/sql.ts +280 -0
- package/src/index.ts +50 -30
- package/src/mcp/binding.ts +236 -0
- package/src/mcp/index.ts +122 -0
- package/src/mcp/server.ts +361 -0
- package/src/mcp/tools.ts +464 -0
- package/src/mcp/types.ts +148 -0
- package/src/pglite/workers-pglite.ts +141 -12
- package/src/pglite-assets/pglite.data +0 -0
- package/src/pglite-assets/pglite.wasm +0 -0
- package/src/worker/background-pglite-manager.ts +680 -0
- package/src/worker/do-pglite-manager.ts +235 -19
- package/src/worker/index.ts +71 -1
- package/src/worker/lazy-pglite-manager.ts +595 -0
- package/dist/iceberg/duckdb-wasm.d.ts +0 -447
- package/dist/iceberg/duckdb-wasm.d.ts.map +0 -1
- package/dist/iceberg/duckdb-wasm.js +0 -600
- package/dist/iceberg/duckdb-wasm.js.map +0 -1
- package/dist/iceberg/test-fixtures.d.ts +0 -151
- package/dist/iceberg/test-fixtures.d.ts.map +0 -1
- package/dist/iceberg/test-fixtures.js +0 -446
- package/dist/iceberg/test-fixtures.js.map +0 -1
- package/dist/worker/__mocks__/cloudflare-workers.d.ts +0 -31
- package/dist/worker/__mocks__/cloudflare-workers.d.ts.map +0 -1
- package/dist/worker/__mocks__/cloudflare-workers.js +0 -33
- package/dist/worker/__mocks__/cloudflare-workers.js.map +0 -1
|
@@ -4,6 +4,18 @@
|
|
|
4
4
|
* Handles PGLite instance creation, initialization, and lifecycle.
|
|
5
5
|
* Extracted from PostgresDO to reduce class size and separate concerns.
|
|
6
6
|
*
|
|
7
|
+
* ## WASM Hoisting Pattern
|
|
8
|
+
*
|
|
9
|
+
* This module implements WASM hoisting to reduce "warm start" time from ~1200ms to ~30ms.
|
|
10
|
+
*
|
|
11
|
+
* The problem: In Cloudflare Workers, when a DO class is recreated (but the isolate stays alive),
|
|
12
|
+
* the PGLite WASM needs to be reloaded. WASM initialization takes ~1200ms.
|
|
13
|
+
*
|
|
14
|
+
* The solution: Cache the PGLite instance at module level. The module loads once per isolate,
|
|
15
|
+
* so the PGLite instance survives DO class reinstantiation. This means:
|
|
16
|
+
* - Cold start: ~1200ms (full WASM initialization)
|
|
17
|
+
* - Warm start (isolate alive, DO recreated): ~30ms (reuse cached WASM)
|
|
18
|
+
*
|
|
7
19
|
* @module worker/do-pglite-manager
|
|
8
20
|
*/
|
|
9
21
|
import { PluginManager } from './plugin-manager';
|
|
@@ -13,6 +25,109 @@ import pgliteWasm from '../pglite-assets/pglite.wasm';
|
|
|
13
25
|
import pgliteData from '../pglite-assets/pglite.data';
|
|
14
26
|
// Import Workers-compatible PGLite wrapper
|
|
15
27
|
import { createWorkersPGLite } from '../pglite/workers-pglite';
|
|
28
|
+
// =============================================================================
|
|
29
|
+
// Module-Level WASM Hoisting (outside class)
|
|
30
|
+
// =============================================================================
|
|
31
|
+
// These persist as long as the isolate lives - helps reduce warm start time.
|
|
32
|
+
// The module loads once per isolate, so the PGLite instance survives
|
|
33
|
+
// across DO class reinstantiations within the same isolate.
|
|
34
|
+
/**
|
|
35
|
+
* Hoisted PGLite instance - survives DO class reinstantiation within same isolate.
|
|
36
|
+
* This is the key to reducing warm start time from ~1200ms to ~30ms.
|
|
37
|
+
*/
|
|
38
|
+
let hoistedPglite = null;
|
|
39
|
+
/**
|
|
40
|
+
* Promise for in-progress PGLite initialization.
|
|
41
|
+
* Prevents duplicate WASM loading when multiple DO instances initialize concurrently.
|
|
42
|
+
*/
|
|
43
|
+
let hoistedPglitePromise = null;
|
|
44
|
+
/**
|
|
45
|
+
* Module load time for diagnostics.
|
|
46
|
+
* Note: Date.now() at module evaluation time in Workers returns 0,
|
|
47
|
+
* so we capture the first access time instead.
|
|
48
|
+
*/
|
|
49
|
+
let MODULE_LOAD_TIME = null;
|
|
50
|
+
/**
|
|
51
|
+
* Unique identifier for this module instance (for debugging/diagnostics).
|
|
52
|
+
*/
|
|
53
|
+
const MODULE_INSTANCE_ID = Math.random().toString(36).slice(2, 10);
|
|
54
|
+
/**
|
|
55
|
+
* Get the module load time (captures on first call since Date.now() is 0 at module load).
|
|
56
|
+
*/
|
|
57
|
+
function getModuleLoadTime() {
|
|
58
|
+
if (MODULE_LOAD_TIME === null) {
|
|
59
|
+
MODULE_LOAD_TIME = Date.now();
|
|
60
|
+
}
|
|
61
|
+
return MODULE_LOAD_TIME;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get or create the hoisted PGLite instance.
|
|
65
|
+
*
|
|
66
|
+
* This function implements the singleton pattern with promise deduplication:
|
|
67
|
+
* - If an instance exists, return it immediately
|
|
68
|
+
* - If initialization is in progress, return the existing promise
|
|
69
|
+
* - Otherwise, start initialization and cache both the promise and the result
|
|
70
|
+
*
|
|
71
|
+
* @param options - PGLite creation options (only used if creating new instance)
|
|
72
|
+
* @returns Promise resolving to the PGLite instance
|
|
73
|
+
*/
|
|
74
|
+
async function getOrCreateHoistedPglite(options) {
|
|
75
|
+
// Fast path: already initialized
|
|
76
|
+
if (hoistedPglite) {
|
|
77
|
+
return hoistedPglite;
|
|
78
|
+
}
|
|
79
|
+
// Deduplication: return existing promise if initialization in progress
|
|
80
|
+
if (hoistedPglitePromise) {
|
|
81
|
+
return hoistedPglitePromise;
|
|
82
|
+
}
|
|
83
|
+
// Start initialization
|
|
84
|
+
hoistedPglitePromise = createWorkersPGLite({
|
|
85
|
+
wasmModule: pgliteWasm,
|
|
86
|
+
fsBundle: pgliteData,
|
|
87
|
+
database: options.database ?? 'postgres',
|
|
88
|
+
debug: options.debug ?? 0,
|
|
89
|
+
});
|
|
90
|
+
try {
|
|
91
|
+
hoistedPglite = await hoistedPglitePromise;
|
|
92
|
+
return hoistedPglite;
|
|
93
|
+
}
|
|
94
|
+
finally {
|
|
95
|
+
// Clear the promise after resolution (success or failure)
|
|
96
|
+
hoistedPglitePromise = null;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Check if the hoisted PGLite instance exists.
|
|
101
|
+
* Useful for diagnostics and testing.
|
|
102
|
+
*/
|
|
103
|
+
export function hasHoistedPglite() {
|
|
104
|
+
return hoistedPglite !== null;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Get diagnostics about the hoisted WASM state.
|
|
108
|
+
* Useful for debugging warm start performance.
|
|
109
|
+
*/
|
|
110
|
+
export function getHoistedPgliteDiagnostics() {
|
|
111
|
+
const now = Date.now();
|
|
112
|
+
const loadTime = getModuleLoadTime();
|
|
113
|
+
return {
|
|
114
|
+
hasInstance: hoistedPglite !== null,
|
|
115
|
+
hasPendingPromise: hoistedPglitePromise !== null,
|
|
116
|
+
moduleInstanceId: MODULE_INSTANCE_ID,
|
|
117
|
+
moduleLoadTime: loadTime,
|
|
118
|
+
moduleAgeMs: now - loadTime,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Reset the hoisted PGLite instance.
|
|
123
|
+
* WARNING: This should only be used in tests. In production, the hoisted
|
|
124
|
+
* instance should persist for the lifetime of the isolate.
|
|
125
|
+
* @internal
|
|
126
|
+
*/
|
|
127
|
+
export function resetHoistedPglite() {
|
|
128
|
+
hoistedPglite = null;
|
|
129
|
+
hoistedPglitePromise = null;
|
|
130
|
+
}
|
|
16
131
|
/**
|
|
17
132
|
* PGLiteManager handles PGLite instance lifecycle.
|
|
18
133
|
*
|
|
@@ -45,6 +160,8 @@ export class PGLiteManager {
|
|
|
45
160
|
initialized = false;
|
|
46
161
|
config;
|
|
47
162
|
pluginManager;
|
|
163
|
+
/** Track whether this manager is using the hoisted instance */
|
|
164
|
+
usingHoistedInstance = false;
|
|
48
165
|
constructor(config = {}) {
|
|
49
166
|
// Build config without undefined values for exactOptionalPropertyTypes
|
|
50
167
|
this.config = {
|
|
@@ -57,6 +174,9 @@ export class PGLiteManager {
|
|
|
57
174
|
if (config.createPGLite !== undefined) {
|
|
58
175
|
this.config.createPGLite = config.createPGLite;
|
|
59
176
|
}
|
|
177
|
+
if (config.disableHoisting !== undefined) {
|
|
178
|
+
this.config.disableHoisting = config.disableHoisting;
|
|
179
|
+
}
|
|
60
180
|
// Build plugin manager config without undefined values for exactOptionalPropertyTypes
|
|
61
181
|
const pluginManagerConfig = {};
|
|
62
182
|
if (config.plugins !== undefined) {
|
|
@@ -117,10 +237,15 @@ export class PGLiteManager {
|
|
|
117
237
|
/**
|
|
118
238
|
* Create the PGLite instance
|
|
119
239
|
* Can be overridden for testing
|
|
240
|
+
*
|
|
241
|
+
* By default, uses the module-level hoisted PGLite instance for optimal
|
|
242
|
+
* warm start performance. The hoisted instance survives DO class
|
|
243
|
+
* reinstantiation within the same isolate.
|
|
120
244
|
*/
|
|
121
245
|
async createPGLiteInstance() {
|
|
122
|
-
// Use custom factory if provided
|
|
246
|
+
// Use custom factory if provided (for testing)
|
|
123
247
|
if (this.config.createPGLite) {
|
|
248
|
+
this.usingHoistedInstance = false;
|
|
124
249
|
return this.config.createPGLite();
|
|
125
250
|
}
|
|
126
251
|
// Get enabled plugin extensions (for future extension support)
|
|
@@ -128,19 +253,35 @@ export class PGLiteManager {
|
|
|
128
253
|
// Note: extensions parameter is captured for future use but not passed through
|
|
129
254
|
// as WorkersPGLite doesn't support extension loading yet
|
|
130
255
|
void extensions; // Mark as intentionally unused
|
|
131
|
-
//
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
256
|
+
// If hoisting is disabled, create a new instance each time
|
|
257
|
+
if (this.config.disableHoisting) {
|
|
258
|
+
this.usingHoistedInstance = false;
|
|
259
|
+
console.log(`[PGLiteManager] WASM hoisting disabled - creating new instance`);
|
|
260
|
+
return createWorkersPGLite({
|
|
261
|
+
wasmModule: pgliteWasm,
|
|
262
|
+
fsBundle: pgliteData,
|
|
263
|
+
database: this.config.database ?? 'postgres',
|
|
264
|
+
debug: this.config.debug ? 1 : 0,
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
// Use the hoisted PGLite instance for optimal warm start performance.
|
|
268
|
+
// This is the key optimization: when the DO class is recreated but the
|
|
269
|
+
// isolate stays alive, we reuse the already-initialized WASM instance
|
|
270
|
+
// instead of loading it again (~1200ms -> ~30ms).
|
|
271
|
+
const wasmWasAlreadyLoaded = hoistedPglite !== null;
|
|
272
|
+
const pg = await getOrCreateHoistedPglite({
|
|
273
|
+
database: this.config.database,
|
|
138
274
|
debug: this.config.debug ? 1 : 0,
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
|
|
275
|
+
});
|
|
276
|
+
this.usingHoistedInstance = true;
|
|
277
|
+
// Log whether we reused the WASM instance (helpful for debugging warm starts)
|
|
278
|
+
if (wasmWasAlreadyLoaded) {
|
|
279
|
+
const diagnostics = getHoistedPgliteDiagnostics();
|
|
280
|
+
console.log(`[PGLiteManager] WASM REUSED - module age: ${diagnostics.moduleAgeMs}ms, instance: ${diagnostics.moduleInstanceId}`);
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
console.log(`[PGLiteManager] WASM LOADED (cold start) - instance: ${MODULE_INSTANCE_ID}`);
|
|
142
284
|
}
|
|
143
|
-
const pg = await createWorkersPGLite(pgliteOptions);
|
|
144
285
|
return pg;
|
|
145
286
|
}
|
|
146
287
|
/**
|
|
@@ -191,9 +332,27 @@ export class PGLiteManager {
|
|
|
191
332
|
/**
|
|
192
333
|
* Close PGLite instance
|
|
193
334
|
*
|
|
335
|
+
* Note: When using the hoisted WASM instance (default), this method does NOT
|
|
336
|
+
* close the underlying PGLite instance, as it's shared across DO instances.
|
|
337
|
+
* It only clears the local reference. The hoisted instance persists for the
|
|
338
|
+
* lifetime of the isolate for optimal warm start performance.
|
|
339
|
+
*
|
|
340
|
+
* To actually close the hoisted instance, use resetHoistedPglite() followed
|
|
341
|
+
* by close() on the next manager that initializes. This should only be done
|
|
342
|
+
* in tests or when the isolate is shutting down.
|
|
343
|
+
*
|
|
194
344
|
* @param timeoutMs - Maximum time to wait for close (default: 5000ms)
|
|
195
345
|
*/
|
|
196
346
|
async close(timeoutMs = 5000) {
|
|
347
|
+
// If using hoisted instance, don't actually close it - just clear our reference
|
|
348
|
+
// The hoisted instance should survive for the lifetime of the isolate
|
|
349
|
+
if (this.usingHoistedInstance) {
|
|
350
|
+
console.log(`[PGLiteManager] Skipping close of hoisted WASM instance (will be reused)`);
|
|
351
|
+
this.pglite = null;
|
|
352
|
+
this.initialized = false;
|
|
353
|
+
this.usingHoistedInstance = false;
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
197
356
|
if (!this.pglite?.close) {
|
|
198
357
|
this.pglite = null;
|
|
199
358
|
this.initialized = false;
|
|
@@ -217,6 +376,24 @@ export class PGLiteManager {
|
|
|
217
376
|
reset() {
|
|
218
377
|
this.pglite = null;
|
|
219
378
|
this.initialized = false;
|
|
379
|
+
this.usingHoistedInstance = false;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Check if this manager is using the hoisted WASM instance
|
|
383
|
+
*/
|
|
384
|
+
isUsingHoistedInstance() {
|
|
385
|
+
return this.usingHoistedInstance;
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Get diagnostics about WASM hoisting and initialization state.
|
|
389
|
+
* Useful for debugging warm start performance.
|
|
390
|
+
*/
|
|
391
|
+
getDiagnostics() {
|
|
392
|
+
return {
|
|
393
|
+
initialized: this.initialized,
|
|
394
|
+
usingHoistedInstance: this.usingHoistedInstance,
|
|
395
|
+
hoisted: getHoistedPgliteDiagnostics(),
|
|
396
|
+
};
|
|
220
397
|
}
|
|
221
398
|
}
|
|
222
399
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"do-pglite-manager.js","sourceRoot":"","sources":["../../src/worker/do-pglite-manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"do-pglite-manager.js","sourceRoot":"","sources":["../../src/worker/do-pglite-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/worker/index.d.ts
CHANGED
|
@@ -49,12 +49,18 @@ export { DOAuthManager, createDOAuthManager } from './do-auth-manager';
|
|
|
49
49
|
export type { DOAuthConfig } from './do-auth-manager';
|
|
50
50
|
export { QueryStatsManager, createQueryStatsManager } from './query-stats-manager';
|
|
51
51
|
export type { QueryStats, ExtendedQueryStats, QueryStatsConfig } from './query-stats-manager';
|
|
52
|
-
export { PGLiteManager, createPGLiteManager } from './do-pglite-manager';
|
|
52
|
+
export { PGLiteManager, createPGLiteManager, hasHoistedPglite, getHoistedPgliteDiagnostics, resetHoistedPglite, } from './do-pglite-manager';
|
|
53
53
|
export type { PGLiteManagerConfig } from './do-pglite-manager';
|
|
54
|
+
export { LazyPGLiteManager, createLazyPGLiteManager, hasLazyHoistedPglite, getLazyHoistedPgliteDiagnostics, resetLazyHoistedPglite, } from './lazy-pglite-manager';
|
|
55
|
+
export type { LazyPGLiteManagerConfig, WASMLoadingState } from './lazy-pglite-manager';
|
|
56
|
+
export { BackgroundPGLiteManager, createBackgroundPGLiteManager, hasBgHoistedPglite, isBgWasmLoading, getBgHoistedPgliteDiagnostics, resetBgHoistedPglite, } from './background-pglite-manager';
|
|
57
|
+
export type { BackgroundPGLiteManagerConfig, BGWASMLoadingState } from './background-pglite-manager';
|
|
54
58
|
export { QueryExecutionManager, createQueryExecutionManager } from './query-execution-manager';
|
|
55
59
|
export type { QueryExecutionDependencies, QueryExecutorPGlite } from './query-execution-manager';
|
|
56
60
|
export { HealthCheckManager, createHealthCheckManager } from './health-check-manager';
|
|
57
61
|
export type { HealthCheckDependencies, HealthCheckPGlite, ColumnDescription, DatabaseStats } from './health-check-manager';
|
|
58
62
|
export { RpcMethodsManager, createRpcMethodsManager } from './rpc-methods-manager';
|
|
59
63
|
export type { RpcMethodsDependencies, RpcMethodsPGlite } from './rpc-methods-manager';
|
|
64
|
+
export { createMCPServer, createMCPRoutes, createPGBinding, PG_BINDING_TYPES, searchTool, fetchTool, doTool, getToolDefinitions, createToolHandlers, createSearchHandler, createFetchHandler, createDoHandler, } from '../mcp';
|
|
65
|
+
export type { MCPServer, MCPServerConfig, MCPAuthContext, QueryResult as MCPQueryResult, TableInfo, ColumnInfo, MCPSearchResult, MCPFetchResult, PGBinding, PGTransaction, ToolResponse, SearchInput, FetchInput, DoInput, Tool as MCPTool, QueryExecutor as MCPQueryExecutor, } from '../mcp';
|
|
60
66
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"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
|
|
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
|
@@ -57,11 +57,29 @@ export { DOAuthManager, createDOAuthManager } from './do-auth-manager';
|
|
|
57
57
|
// Query Stats Manager (extracted from PostgresDO for reuse)
|
|
58
58
|
export { QueryStatsManager, createQueryStatsManager } from './query-stats-manager';
|
|
59
59
|
// PGLite Manager (extracted from PostgresDO for reuse)
|
|
60
|
-
|
|
60
|
+
// Includes WASM hoisting for optimal warm start performance (~1200ms -> ~30ms)
|
|
61
|
+
export { PGLiteManager, createPGLiteManager,
|
|
62
|
+
// WASM Hoisting utilities
|
|
63
|
+
hasHoistedPglite, getHoistedPgliteDiagnostics, resetHoistedPglite, } from './do-pglite-manager';
|
|
64
|
+
// Lazy PGLite Manager (SPIKE: Lazy WASM loading experiment)
|
|
65
|
+
// Defers WASM loading until first query for improved cold start perception
|
|
66
|
+
export { LazyPGLiteManager, createLazyPGLiteManager,
|
|
67
|
+
// Lazy WASM Hoisting utilities
|
|
68
|
+
hasLazyHoistedPglite, getLazyHoistedPgliteDiagnostics, resetLazyHoistedPglite, } from './lazy-pglite-manager';
|
|
69
|
+
// Background PGLite Manager (RECOMMENDED: Eager-but-non-blocking pattern)
|
|
70
|
+
// Starts WASM loading immediately but doesn't block - best of both worlds:
|
|
71
|
+
// - Non-query endpoints respond instantly
|
|
72
|
+
// - WASM loads in background (uses ctx.waitUntil)
|
|
73
|
+
// - First query only waits for remaining load time (often zero)
|
|
74
|
+
export { BackgroundPGLiteManager, createBackgroundPGLiteManager,
|
|
75
|
+
// Background WASM Hoisting utilities
|
|
76
|
+
hasBgHoistedPglite, isBgWasmLoading, getBgHoistedPgliteDiagnostics, resetBgHoistedPglite, } from './background-pglite-manager';
|
|
61
77
|
// Query Execution Manager (extracted from PostgresDO for reuse - Task: postgres-an18)
|
|
62
78
|
export { QueryExecutionManager, createQueryExecutionManager } from './query-execution-manager';
|
|
63
79
|
// Health Check Manager (extracted from PostgresDO for reuse - Task: postgres-an18)
|
|
64
80
|
export { HealthCheckManager, createHealthCheckManager } from './health-check-manager';
|
|
65
81
|
// RPC Methods Manager (extracted from PostgresDO for reuse - Task: postgres-an18)
|
|
66
82
|
export { RpcMethodsManager, createRpcMethodsManager } from './rpc-methods-manager';
|
|
83
|
+
// MCP Server (Model Context Protocol)
|
|
84
|
+
export { createMCPServer, createMCPRoutes, createPGBinding, PG_BINDING_TYPES, searchTool, fetchTool, doTool, getToolDefinitions, createToolHandlers, createSearchHandler, createFetchHandler, createDoHandler, } from '../mcp';
|
|
67
85
|
//# sourceMappingURL=index.js.map
|
package/dist/worker/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8DH,gBAAgB;AAChB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,WAAW,EACX,uBAAuB,GACxB,MAAM,iBAAiB,CAAA;AAGxB,kBAAkB;AAClB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,6BAA6B,EAC7B,uBAAuB,EACvB,oCAAoC,GACrC,MAAM,MAAM,CAAA;AAUb,uCAAuC;AACvC,8DAA8D;AAC9D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAc/E,mDAAmD;AACnD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,GAChB,MAAM,SAAS,CAAA;AAOhB,wCAAwC;AACxC,OAAO,EACL,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,OAAO,CAAA;AAcd,8CAA8C;AAC9C,OAAO,EACL,YAAY,EACZ,kBAAkB,GACnB,MAAM,UAAU,CAAA;AAQjB,kCAAkC;AAClC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,aAAa,EACb,SAAS,EACT,2BAA2B,GAC5B,MAAM,iBAAiB,CAAA;AAiBxB,wCAAwC;AACxC,OAAO,EACL,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACd,MAAM,cAAc,CAAA;AAarB,cAAc;AACd,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGvC,4CAA4C;AAC5C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAG/D,oDAAoD;AACpD,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAA;AAGpB,oBAAoB;AACpB,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAQpD,wBAAwB;AACxB,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAGhF,yCAAyC;AACzC,OAAO,EACL,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,WAAW,CAAA;AAUlB,wCAAwC;AACxC,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,OAAO,EACP,WAAW,EACX,aAAa,EACb,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,QAAQ,CAAA;AAUf,iDAAiD;AACjD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,qBAAqB,CAAA;AAO5B,yBAAyB;AACzB,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAQnF,cAAc;AACd,OAAO;AACL,0CAA0C;AAC1C,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,cAAc;AACd,oBAAoB;AACpB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,gBAAgB;AAChB,yBAAyB;AACzB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,QAAQ,EACR,cAAc,EACd,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,MAAM,UAAU,CAAA;AAMjB,yDAAyD;AACzD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAU3E,uDAAuD;AACvD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAGrE,2CAA2C;AAC3C,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AAEtF,kEAAkE;AAClE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAGtE,4DAA4D;AAC5D,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAGlF,uDAAuD;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lazy PGLite Manager for PostgresDO
|
|
3
|
+
*
|
|
4
|
+
* SPIKE: Lazy WASM Loading Experiment
|
|
5
|
+
*
|
|
6
|
+
* This module implements a lazy loading variant of PGLiteManager that defers
|
|
7
|
+
* WASM loading until the first query is executed, rather than loading on
|
|
8
|
+
* DO instantiation.
|
|
9
|
+
*
|
|
10
|
+
* ## Hypothesis
|
|
11
|
+
*
|
|
12
|
+
* Loading WASM only on first query (not on DO instantiation) may improve:
|
|
13
|
+
* 1. Cold start perception (faster initial response for non-query endpoints)
|
|
14
|
+
* 2. Memory usage (don't load if no queries made)
|
|
15
|
+
*
|
|
16
|
+
* ## Trade-offs
|
|
17
|
+
*
|
|
18
|
+
* - Eager loading: ~1200ms cold start, all subsequent requests fast
|
|
19
|
+
* - Lazy loading: ~0ms until first query, first query pays ~1200ms, subsequent fast
|
|
20
|
+
*
|
|
21
|
+
* For workloads where:
|
|
22
|
+
* - Many requests hit non-query endpoints (health checks, metadata) -> lazy wins
|
|
23
|
+
* - All requests are queries -> eager wins (same total latency, better predictability)
|
|
24
|
+
* - Mixed workload -> depends on query ratio
|
|
25
|
+
*
|
|
26
|
+
* ## Implementation
|
|
27
|
+
*
|
|
28
|
+
* The manager provides:
|
|
29
|
+
* - `isWASMLoaded()` - Check if WASM is loaded without triggering load
|
|
30
|
+
* - `ensureWASMLoaded()` - Explicitly trigger WASM loading
|
|
31
|
+
* - `query()` - Execute query (lazy loads WASM if needed)
|
|
32
|
+
* - Promise deduplication for concurrent first queries
|
|
33
|
+
*
|
|
34
|
+
* @module worker/lazy-pglite-manager
|
|
35
|
+
*/
|
|
36
|
+
import type { PostgresConfig } from './types';
|
|
37
|
+
import { PluginManager } from './plugin-manager';
|
|
38
|
+
import type { PGliteLike } from './do-pglite-manager';
|
|
39
|
+
/**
|
|
40
|
+
* Check if the lazy hoisted PGLite instance exists.
|
|
41
|
+
*/
|
|
42
|
+
export declare function hasLazyHoistedPglite(): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Get diagnostics about the lazy hoisted WASM state.
|
|
45
|
+
*/
|
|
46
|
+
export declare function getLazyHoistedPgliteDiagnostics(): {
|
|
47
|
+
hasInstance: boolean;
|
|
48
|
+
hasPendingPromise: boolean;
|
|
49
|
+
moduleInstanceId: string;
|
|
50
|
+
wasmLoadedAt: number | null;
|
|
51
|
+
timeSinceLoad: number | null;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Reset the lazy hoisted PGLite instance.
|
|
55
|
+
* WARNING: This should only be used in tests.
|
|
56
|
+
* @internal
|
|
57
|
+
*/
|
|
58
|
+
export declare function resetLazyHoistedPglite(): void;
|
|
59
|
+
/**
|
|
60
|
+
* WASM loading state for diagnostics
|
|
61
|
+
*/
|
|
62
|
+
export type WASMLoadingState = 'not_loaded' | 'loading' | 'loaded' | 'error';
|
|
63
|
+
/**
|
|
64
|
+
* Configuration for Lazy PGLite manager
|
|
65
|
+
*/
|
|
66
|
+
export interface LazyPGLiteManagerConfig {
|
|
67
|
+
/** Database name */
|
|
68
|
+
database?: string;
|
|
69
|
+
/** Enable debug mode */
|
|
70
|
+
debug?: boolean;
|
|
71
|
+
/** Plugin configuration */
|
|
72
|
+
plugins?: PostgresConfig['plugins'];
|
|
73
|
+
/** Custom PGLite factory for testing */
|
|
74
|
+
createPGLite?: () => Promise<PGliteLike>;
|
|
75
|
+
/**
|
|
76
|
+
* Disable WASM hoisting optimization.
|
|
77
|
+
* When false (default), the PGLite WASM instance is cached at module level.
|
|
78
|
+
* @default false
|
|
79
|
+
*/
|
|
80
|
+
disableHoisting?: boolean;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* LazyPGLiteManager defers WASM loading until the first query.
|
|
84
|
+
*
|
|
85
|
+
* Unlike the eager PGLiteManager, this manager does NOT load WASM during
|
|
86
|
+
* initialize(). WASM is only loaded when query() or ensureWASMLoaded() is called.
|
|
87
|
+
*
|
|
88
|
+
* Benefits:
|
|
89
|
+
* - Non-query endpoints (health, metadata, stats) respond immediately
|
|
90
|
+
* - Memory is not consumed until queries are actually executed
|
|
91
|
+
* - Better cold start perception for mixed workloads
|
|
92
|
+
*
|
|
93
|
+
* Trade-offs:
|
|
94
|
+
* - First query incurs the full WASM loading time (~1200ms)
|
|
95
|
+
* - Less predictable query latency (first vs subsequent)
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* const manager = new LazyPGLiteManager({ database: 'mydb' })
|
|
100
|
+
*
|
|
101
|
+
* // Initialize (fast - no WASM loading)
|
|
102
|
+
* await manager.initialize()
|
|
103
|
+
*
|
|
104
|
+
* // Check if WASM is loaded (without triggering load)
|
|
105
|
+
* console.log(manager.isWASMLoaded()) // false
|
|
106
|
+
*
|
|
107
|
+
* // First query triggers WASM load (~1200ms)
|
|
108
|
+
* const result1 = await manager.query('SELECT 1')
|
|
109
|
+
*
|
|
110
|
+
* // Now WASM is loaded
|
|
111
|
+
* console.log(manager.isWASMLoaded()) // true
|
|
112
|
+
*
|
|
113
|
+
* // Subsequent queries are fast (~ms)
|
|
114
|
+
* const result2 = await manager.query('SELECT 2')
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
export declare class LazyPGLiteManager {
|
|
118
|
+
private pglite;
|
|
119
|
+
private initialized;
|
|
120
|
+
private loadingState;
|
|
121
|
+
private loadError;
|
|
122
|
+
private config;
|
|
123
|
+
private pluginManager;
|
|
124
|
+
/** Track whether this manager is using the hoisted instance */
|
|
125
|
+
private usingHoistedInstance;
|
|
126
|
+
/** Timing metrics for diagnostics */
|
|
127
|
+
private metrics;
|
|
128
|
+
constructor(config?: LazyPGLiteManagerConfig);
|
|
129
|
+
/**
|
|
130
|
+
* Check if the manager is initialized.
|
|
131
|
+
* Note: This returns true after initialize() is called, even if WASM is not loaded.
|
|
132
|
+
*/
|
|
133
|
+
isInitialized(): boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Check if WASM is loaded (without triggering load).
|
|
136
|
+
* This is the key difference from eager loading.
|
|
137
|
+
*/
|
|
138
|
+
isWASMLoaded(): boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Get the current WASM loading state.
|
|
141
|
+
*/
|
|
142
|
+
getLoadingState(): WASMLoadingState;
|
|
143
|
+
/**
|
|
144
|
+
* Get any error that occurred during WASM loading.
|
|
145
|
+
*/
|
|
146
|
+
getLoadError(): Error | null;
|
|
147
|
+
/**
|
|
148
|
+
* Get the PGLite instance (throws if not loaded).
|
|
149
|
+
* For lazy loading, prefer using query() which handles loading automatically.
|
|
150
|
+
*/
|
|
151
|
+
getInstance(): PGliteLike;
|
|
152
|
+
/**
|
|
153
|
+
* Get the PGLite instance or null if not loaded.
|
|
154
|
+
*/
|
|
155
|
+
getInstanceOrNull(): PGliteLike | null;
|
|
156
|
+
/**
|
|
157
|
+
* Get the plugin manager.
|
|
158
|
+
*/
|
|
159
|
+
getPluginManager(): PluginManager;
|
|
160
|
+
/**
|
|
161
|
+
* Get timing metrics for diagnostics.
|
|
162
|
+
*/
|
|
163
|
+
getMetrics(): {
|
|
164
|
+
initializeCalledAt: number | null;
|
|
165
|
+
firstQueryAt: number | null;
|
|
166
|
+
wasmLoadStartAt: number | null;
|
|
167
|
+
wasmLoadEndAt: number | null;
|
|
168
|
+
wasmLoadDurationMs: number | null;
|
|
169
|
+
timeToFirstQuery: number | null;
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* Initialize the manager (does NOT load WASM).
|
|
173
|
+
*
|
|
174
|
+
* This is intentionally fast - WASM loading is deferred to first query.
|
|
175
|
+
* Safe to call multiple times.
|
|
176
|
+
*/
|
|
177
|
+
initialize(): Promise<void>;
|
|
178
|
+
/**
|
|
179
|
+
* Explicitly ensure WASM is loaded.
|
|
180
|
+
*
|
|
181
|
+
* Use this if you want to pre-warm WASM loading before the first query,
|
|
182
|
+
* but still want the option to skip loading entirely for non-query requests.
|
|
183
|
+
*/
|
|
184
|
+
ensureWASMLoaded(): Promise<void>;
|
|
185
|
+
/**
|
|
186
|
+
* Internal method to load WASM.
|
|
187
|
+
*/
|
|
188
|
+
private loadWASM;
|
|
189
|
+
/**
|
|
190
|
+
* Execute a query (lazy loads WASM if needed).
|
|
191
|
+
*
|
|
192
|
+
* This is the primary method for interacting with the database.
|
|
193
|
+
* On first call, it will trigger WASM loading.
|
|
194
|
+
*/
|
|
195
|
+
query<T = unknown>(sql: string, params?: unknown[]): Promise<{
|
|
196
|
+
rows: T[];
|
|
197
|
+
fields: {
|
|
198
|
+
name: string;
|
|
199
|
+
dataTypeID: number;
|
|
200
|
+
}[];
|
|
201
|
+
affectedRows?: number;
|
|
202
|
+
}>;
|
|
203
|
+
/**
|
|
204
|
+
* Check if PGLite is responsive by running a simple query.
|
|
205
|
+
* This will trigger WASM loading if not already loaded.
|
|
206
|
+
*/
|
|
207
|
+
checkLiveness(): Promise<boolean>;
|
|
208
|
+
/**
|
|
209
|
+
* Close PGLite instance.
|
|
210
|
+
*/
|
|
211
|
+
close(timeoutMs?: number): Promise<void>;
|
|
212
|
+
/**
|
|
213
|
+
* Reset manager state (for testing or hibernation recovery).
|
|
214
|
+
*/
|
|
215
|
+
reset(): void;
|
|
216
|
+
/**
|
|
217
|
+
* Check if this manager is using the hoisted WASM instance.
|
|
218
|
+
*/
|
|
219
|
+
isUsingHoistedInstance(): boolean;
|
|
220
|
+
/**
|
|
221
|
+
* Get comprehensive diagnostics about lazy loading state.
|
|
222
|
+
*/
|
|
223
|
+
getDiagnostics(): {
|
|
224
|
+
initialized: boolean;
|
|
225
|
+
wasmLoaded: boolean;
|
|
226
|
+
loadingState: WASMLoadingState;
|
|
227
|
+
usingHoistedInstance: boolean;
|
|
228
|
+
metrics: ReturnType<LazyPGLiteManager['getMetrics']>;
|
|
229
|
+
hoisted: {
|
|
230
|
+
hasInstance: boolean;
|
|
231
|
+
hasPendingPromise: boolean;
|
|
232
|
+
moduleInstanceId: string;
|
|
233
|
+
wasmLoadedAt: number | null;
|
|
234
|
+
timeSinceLoad: number | null;
|
|
235
|
+
};
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Factory function to create a LazyPGLiteManager.
|
|
240
|
+
*/
|
|
241
|
+
export declare function createLazyPGLiteManager(config?: LazyPGLiteManagerConfig): LazyPGLiteManager;
|
|
242
|
+
//# sourceMappingURL=lazy-pglite-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-pglite-manager.d.ts","sourceRoot":"","sources":["../../src/worker/lazy-pglite-manager.ts"],"names":[],"mappings":"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"}
|