orez 0.3.8 → 0.3.9

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.
@@ -60,6 +60,214 @@ function serializeSqliteParams(params) {
60
60
  function quoteIdentifier(value) {
61
61
  return `"${value.replace(/"/g, '""')}"`;
62
62
  }
63
+ function sqlErrorMessage(error) {
64
+ return error instanceof Error ? error.message : String(error);
65
+ }
66
+ function logSqlStorageError(error, label, sql, bindings) {
67
+ const message = sqlErrorMessage(error);
68
+ if (!message.includes('SQLITE_AUTH') && !message.includes('not authorized'))
69
+ return;
70
+ console.log(`[orez-sqlite] ${label} auth error sql=${sql.replace(/\s+/g, ' ').slice(0, 800)} bindings=${bindings.length}`);
71
+ }
72
+ function wrapSqlCursor(cursor, sql, bindings, label) {
73
+ return {
74
+ toArray() {
75
+ try {
76
+ return cursor.toArray();
77
+ }
78
+ catch (error) {
79
+ logSqlStorageError(error, `${label}.toArray`, sql, bindings);
80
+ throw error;
81
+ }
82
+ },
83
+ get rowsRead() {
84
+ try {
85
+ return cursor.rowsRead;
86
+ }
87
+ catch (error) {
88
+ logSqlStorageError(error, `${label}.rowsRead`, sql, bindings);
89
+ throw error;
90
+ }
91
+ },
92
+ get rowsWritten() {
93
+ try {
94
+ return cursor.rowsWritten;
95
+ }
96
+ catch (error) {
97
+ logSqlStorageError(error, `${label}.rowsWritten`, sql, bindings);
98
+ throw error;
99
+ }
100
+ },
101
+ get columnNames() {
102
+ try {
103
+ return cursor.columnNames;
104
+ }
105
+ catch (error) {
106
+ logSqlStorageError(error, `${label}.columnNames`, sql, bindings);
107
+ throw error;
108
+ }
109
+ },
110
+ };
111
+ }
112
+ function execSql(sqlStorage, sql, bindings = [], label = 'exec') {
113
+ try {
114
+ return wrapSqlCursor(sqlStorage.exec(sql, ...bindings), sql, bindings, label);
115
+ }
116
+ catch (error) {
117
+ logSqlStorageError(error, label, sql, bindings);
118
+ throw error;
119
+ }
120
+ }
121
+ function arrayCursor(rows, columnNames) {
122
+ return {
123
+ toArray: () => rows,
124
+ rowsRead: rows.length,
125
+ rowsWritten: 0,
126
+ columnNames,
127
+ };
128
+ }
129
+ function normalizeSql(sql) {
130
+ return sql.replace(/\s+/g, ' ').trim().toLowerCase();
131
+ }
132
+ function usesSqliteCatalogAlias(sql, alias) {
133
+ return (sql.includes(`from sqlite_master as ${alias}`) ||
134
+ sql.includes(`from sqlite_schema as ${alias}`));
135
+ }
136
+ function shouldExposeZeroUserTable(name) {
137
+ return (!name.startsWith('sqlite_') &&
138
+ !name.startsWith('_zero.') &&
139
+ !name.startsWith('_litestream_') &&
140
+ !name.startsWith('_cf_') &&
141
+ !isSnapshotInternalTable(name));
142
+ }
143
+ function isZeroTableInfoQuery(sql) {
144
+ const normalized = normalizeSql(sql);
145
+ return (usesSqliteCatalogAlias(normalized, 'm') &&
146
+ normalized.includes('left join pragma_table_info(m.name) as p'));
147
+ }
148
+ function isZeroIndexInfoQuery(sql) {
149
+ const normalized = normalizeSql(sql);
150
+ return (usesSqliteCatalogAlias(normalized, 'idx') &&
151
+ normalized.includes('join pragma_index_list(idx.tbl_name) as info') &&
152
+ normalized.includes('join pragma_index_xinfo(idx.name) as col'));
153
+ }
154
+ function isZeroUniqueIndexInfoQuery(sql) {
155
+ const normalized = normalizeSql(sql);
156
+ return (usesSqliteCatalogAlias(normalized, 'idx') &&
157
+ normalized.includes('join pragma_index_list(idx.tbl_name) as info') &&
158
+ normalized.includes('join pragma_index_info(idx.name) as col') &&
159
+ normalized.includes('where idx.tbl_name = ?'));
160
+ }
161
+ function zeroTableInfoRows(sqlStorage) {
162
+ const tables = execSql(sqlStorage, `SELECT name FROM sqlite_master WHERE type = 'table'`, [], 'zero.table-info.tables')
163
+ .toArray()
164
+ .map((row) => String(row.name ?? ''))
165
+ .filter(shouldExposeZeroUserTable);
166
+ const rows = [];
167
+ for (const table of tables) {
168
+ const columns = execSql(sqlStorage, `PRAGMA table_info(${quoteIdentifier(table)})`, [], 'zero.table-info.columns').toArray();
169
+ for (const column of columns) {
170
+ rows.push({
171
+ table,
172
+ name: column.name ?? null,
173
+ type: column.type ?? null,
174
+ notNull: column.notnull ?? 0,
175
+ dflt: column.dflt_value ?? null,
176
+ keyPos: column.pk ?? 0,
177
+ });
178
+ }
179
+ }
180
+ return rows;
181
+ }
182
+ function zeroIndexInfoRows(sqlStorage) {
183
+ const indexes = execSql(sqlStorage, `SELECT name, tbl_name FROM sqlite_master WHERE type = 'index'`, [], 'zero.index-info.indexes')
184
+ .toArray()
185
+ .map((row) => ({
186
+ indexName: String(row.name ?? ''),
187
+ tableName: String(row.tbl_name ?? ''),
188
+ }))
189
+ .filter(({ indexName, tableName }) => indexName && shouldExposeZeroUserTable(tableName));
190
+ const rows = [];
191
+ for (const { indexName, tableName } of indexes) {
192
+ const indexInfo = execSql(sqlStorage, `PRAGMA index_list(${quoteIdentifier(tableName)})`, [], 'zero.index-info.list')
193
+ .toArray()
194
+ .find((row) => row.name === indexName);
195
+ if (!indexInfo)
196
+ continue;
197
+ const columns = execSql(sqlStorage, `PRAGMA index_xinfo(${quoteIdentifier(indexName)})`, [], 'zero.index-info.columns').toArray();
198
+ for (const column of columns) {
199
+ if (Number(column.key ?? 0) !== 1)
200
+ continue;
201
+ rows.push({
202
+ indexName,
203
+ tableName,
204
+ unique: indexInfo.unique ?? 0,
205
+ column: column.name ?? null,
206
+ dir: Number(column.desc ?? 0) === 0 ? 'ASC' : 'DESC',
207
+ seqno: Number(column.seqno ?? 0),
208
+ });
209
+ }
210
+ }
211
+ rows.sort((a, b) => {
212
+ const byIndex = String(a.indexName).localeCompare(String(b.indexName));
213
+ return byIndex === 0 ? a.seqno - b.seqno : byIndex;
214
+ });
215
+ return rows.map(({ seqno: _seqno, ...row }) => row);
216
+ }
217
+ function zeroUniqueIndexInfoRows(sqlStorage, values) {
218
+ const tableName = values[0];
219
+ if (typeof tableName !== 'string' || !shouldExposeZeroUserTable(tableName)) {
220
+ return [];
221
+ }
222
+ const indexes = execSql(sqlStorage, `PRAGMA index_list(${quoteIdentifier(tableName)})`, [], 'zero.unique-index-info.list')
223
+ .toArray()
224
+ .map((row) => ({
225
+ name: String(row.name ?? ''),
226
+ unique: Number(row.unique ?? 0),
227
+ }))
228
+ .filter((row) => row.name && row.unique !== 0);
229
+ const rows = [];
230
+ for (const index of indexes.sort((a, b) => a.name.localeCompare(b.name))) {
231
+ const columns = execSql(sqlStorage, `PRAGMA index_info(${quoteIdentifier(index.name)})`, [], 'zero.unique-index-info.columns')
232
+ .toArray()
233
+ .sort((a, b) => Number(a.seqno ?? 0) - Number(b.seqno ?? 0))
234
+ .map((row) => row.name)
235
+ .filter((name) => typeof name === 'string');
236
+ rows.push({
237
+ name: index.name,
238
+ columnsJSON: JSON.stringify(columns),
239
+ });
240
+ }
241
+ return rows;
242
+ }
243
+ function maybeZeroIntrospectionCursor(sqlStorage, sql, values) {
244
+ if (isZeroTableInfoQuery(sql)) {
245
+ return arrayCursor(zeroTableInfoRows(sqlStorage), [
246
+ 'table',
247
+ 'name',
248
+ 'type',
249
+ 'notNull',
250
+ 'dflt',
251
+ 'keyPos',
252
+ ]);
253
+ }
254
+ if (isZeroIndexInfoQuery(sql)) {
255
+ return arrayCursor(zeroIndexInfoRows(sqlStorage), [
256
+ 'indexName',
257
+ 'tableName',
258
+ 'unique',
259
+ 'column',
260
+ 'dir',
261
+ ]);
262
+ }
263
+ if (isZeroUniqueIndexInfoQuery(sql)) {
264
+ return arrayCursor(zeroUniqueIndexInfoRows(sqlStorage, values), [
265
+ 'name',
266
+ 'columnsJSON',
267
+ ]);
268
+ }
269
+ return undefined;
270
+ }
63
271
  function snapshotTableName(prefix, table) {
64
272
  return `${prefix}_${table.replace(/[^A-Za-z0-9_]/g, '_')}`;
65
273
  }
@@ -81,17 +289,15 @@ function isActiveSnapshotTable(name) {
81
289
  }
82
290
  function cleanupInactiveSnapshotTables(sql) {
83
291
  try {
84
- const rows = sql
85
- .exec(`SELECT name FROM sqlite_master
292
+ const rows = execSql(sql, `SELECT name FROM sqlite_master
86
293
  WHERE type = 'table'
87
- AND name LIKE '_orez_snapshot_%'`)
88
- .toArray();
294
+ AND name LIKE '_orez_snapshot_%'`, [], 'cleanup.snapshot-list').toArray();
89
295
  for (const row of rows) {
90
296
  const name = String(row.name ?? '');
91
297
  if (!isSnapshotInternalTable(name) || isActiveSnapshotTable(name))
92
298
  continue;
93
299
  try {
94
- sql.exec(`DROP TABLE IF EXISTS ${quoteIdentifier(name)}`);
300
+ execSql(sql, `DROP TABLE IF EXISTS ${quoteIdentifier(name)}`, [], 'cleanup.snapshot-drop');
95
301
  }
96
302
  catch { }
97
303
  }
@@ -101,7 +307,8 @@ function cleanupInactiveSnapshotTables(sql) {
101
307
  function shouldSnapshotTable(name) {
102
308
  return (name !== '__miniflare_do_name' &&
103
309
  name !== 'storage' &&
104
- name !== 'sqlite_stat1' &&
310
+ !name.startsWith('sqlite_') &&
311
+ !name.startsWith('_cf_') &&
105
312
  !isSnapshotInternalTable(name));
106
313
  }
107
314
  function currentConnectionRole() {
@@ -288,7 +495,7 @@ export class Statement {
288
495
  const values = resolved.values;
289
496
  const cursor = isTxCmd && values.length === 0
290
497
  ? this.#db._execTransactionAware(sql, this.#sql)
291
- : this.#sql.exec(sql, ...values);
498
+ : execSql(this.#sql, sql, values, 'statement.run');
292
499
  return {
293
500
  changes: cursor.rowsWritten,
294
501
  lastInsertRowid: 0,
@@ -305,7 +512,8 @@ export class Statement {
305
512
  const resolved = this.#resolveParams(params);
306
513
  const sql = this.#db._rewriteForSnapshot(resolved.sql);
307
514
  const values = resolved.values;
308
- const cursor = this.#sql.exec(sql, ...values);
515
+ const cursor = maybeZeroIntrospectionCursor(this.#sql, sql, values) ??
516
+ execSql(this.#sql, sql, values, 'statement.get');
309
517
  const rows = filterSnapshotCatalogRows(sql, cursor.toArray());
310
518
  return rows[0] ?? undefined;
311
519
  }
@@ -320,7 +528,8 @@ export class Statement {
320
528
  const resolved = this.#resolveParams(params);
321
529
  const sql = this.#db._rewriteForSnapshot(resolved.sql);
322
530
  const values = resolved.values;
323
- const cursor = this.#sql.exec(sql, ...values);
531
+ const cursor = maybeZeroIntrospectionCursor(this.#sql, sql, values) ??
532
+ execSql(this.#sql, sql, values, 'statement.all');
324
533
  return filterSnapshotCatalogRows(sql, cursor.toArray());
325
534
  }
326
535
  iterate(...params) {
@@ -356,7 +565,7 @@ export class Statement {
356
565
  /** columns() returns column name metadata */
357
566
  columns() {
358
567
  // execute a dummy query to get column names
359
- const cursor = this.#sql.exec(this.#db._rewriteForSnapshot(this.source));
568
+ const cursor = execSql(this.#sql, this.#db._rewriteForSnapshot(this.source), [], 'statement.columns');
360
569
  return cursor.columnNames.map((name) => ({
361
570
  name,
362
571
  column: null,
@@ -453,54 +662,52 @@ export class Database {
453
662
  return noopCursor;
454
663
  }
455
664
  // non-tx statement inside a "transaction" — just execute normally
456
- return sqlStorage.exec(sql);
665
+ return execSql(sqlStorage, sql, [], 'transaction.do-statement');
457
666
  }
458
667
  // non-DO path: real BEGIN/COMMIT/ROLLBACK with SAVEPOINT nesting
459
668
  if (upper.startsWith('BEGIN')) {
460
669
  shared.__txDepth = (shared.__txDepth || 0) + 1;
461
670
  if (shared.__txDepth > 1) {
462
- return sqlStorage.exec(`SAVEPOINT _nested_${shared.__txDepth}`);
671
+ return execSql(sqlStorage, `SAVEPOINT _nested_${shared.__txDepth}`, [], 'transaction.savepoint');
463
672
  }
464
673
  this.#inTransaction = true;
465
- return sqlStorage.exec(sql);
674
+ return execSql(sqlStorage, sql, [], 'transaction.begin');
466
675
  }
467
676
  if (upper.startsWith('COMMIT') || upper === 'END' || upper.startsWith('END ')) {
468
677
  if ((shared.__txDepth || 0) > 1) {
469
- const result = sqlStorage.exec(`RELEASE SAVEPOINT _nested_${shared.__txDepth}`);
678
+ const result = execSql(sqlStorage, `RELEASE SAVEPOINT _nested_${shared.__txDepth}`, [], 'transaction.release');
470
679
  shared.__txDepth--;
471
680
  return result;
472
681
  }
473
682
  shared.__txDepth = 0;
474
683
  this.#inTransaction = false;
475
- return sqlStorage.exec(sql);
684
+ return execSql(sqlStorage, sql, [], 'transaction.commit');
476
685
  }
477
686
  if (upper.startsWith('ROLLBACK')) {
478
687
  if ((shared.__txDepth || 0) > 1) {
479
- const result = sqlStorage.exec(`ROLLBACK TO SAVEPOINT _nested_${shared.__txDepth}`);
688
+ const result = execSql(sqlStorage, `ROLLBACK TO SAVEPOINT _nested_${shared.__txDepth}`, [], 'transaction.rollback-savepoint');
480
689
  shared.__txDepth--;
481
690
  return result;
482
691
  }
483
692
  shared.__txDepth = 0;
484
693
  this.#inTransaction = false;
485
- return sqlStorage.exec(sql);
694
+ return execSql(sqlStorage, sql, [], 'transaction.rollback');
486
695
  }
487
- return sqlStorage.exec(sql);
696
+ return execSql(sqlStorage, sql, [], 'transaction.statement');
488
697
  }
489
698
  #beginSnapshot() {
490
699
  this.#dropSnapshot();
491
700
  const prefix = `${this.#snapshotPrefix}_${++this.#snapshotCounter}`;
492
701
  const tables = new Map();
493
- const rows = this.#sql
494
- .exec(`SELECT name FROM sqlite_master
702
+ const rows = execSql(this.#sql, `SELECT name FROM sqlite_master
495
703
  WHERE type = 'table'
496
- ORDER BY name`)
497
- .toArray();
704
+ ORDER BY name`, [], 'snapshot.table-list').toArray();
498
705
  for (const row of rows) {
499
706
  const name = String(row.name ?? '');
500
707
  if (!shouldSnapshotTable(name))
501
708
  continue;
502
709
  const snapshot = snapshotTableName(prefix, name);
503
- this.#sql.exec(`CREATE TABLE ${quoteIdentifier(snapshot)} AS SELECT * FROM ${quoteIdentifier(name)}`);
710
+ execSql(this.#sql, `CREATE TABLE ${quoteIdentifier(snapshot)} AS SELECT * FROM ${quoteIdentifier(name)}`, [], 'snapshot.create');
504
711
  tables.set(name, snapshot);
505
712
  }
506
713
  this.#snapshotTables = tables;
@@ -512,7 +719,7 @@ export class Database {
512
719
  this.#snapshotTables = null;
513
720
  for (const snapshot of tables.values()) {
514
721
  try {
515
- this.#sql.exec(`DROP TABLE IF EXISTS ${quoteIdentifier(snapshot)}`);
722
+ execSql(this.#sql, `DROP TABLE IF EXISTS ${quoteIdentifier(snapshot)}`, [], 'snapshot.drop');
516
723
  }
517
724
  catch { }
518
725
  }
@@ -568,9 +775,14 @@ export class Database {
568
775
  if (pragmaName === 'journal_mode') {
569
776
  return options?.simple ? pragmaValue : [{ journal_mode: pragmaValue }];
570
777
  }
778
+ if (pragmaName === 'synchronous' ||
779
+ pragmaName === 'busy_timeout' ||
780
+ pragmaName === 'analysis_limit') {
781
+ return options?.simple ? undefined : [];
782
+ }
571
783
  // setting a pragma - execute it and return result
572
784
  try {
573
- const cursor = this.#sql.exec(`PRAGMA ${source}`);
785
+ const cursor = execSql(this.#sql, `PRAGMA ${source}`, [], 'pragma.set');
574
786
  const rows = cursor.toArray();
575
787
  return options?.simple ? rows[0]?.[Object.keys(rows[0] ?? {})[0]] : rows;
576
788
  }
@@ -591,7 +803,7 @@ export class Database {
591
803
  }
592
804
  // try real execution for unknown pragmas
593
805
  try {
594
- const cursor = this.#sql.exec(`PRAGMA ${source}`);
806
+ const cursor = execSql(this.#sql, `PRAGMA ${source}`, [], 'pragma.get');
595
807
  const rows = cursor.toArray();
596
808
  if (rows.length > 0) {
597
809
  if (options?.simple) {
@@ -643,7 +855,7 @@ export class Database {
643
855
  this._execTransactionAware(stmt, this.#sql);
644
856
  }
645
857
  else {
646
- this.#sql.exec(this._rewriteForSnapshot(stmt));
858
+ execSql(this.#sql, this._rewriteForSnapshot(stmt), [], 'database.exec');
647
859
  }
648
860
  }
649
861
  return this;
@@ -678,17 +890,17 @@ export class Database {
678
890
  });
679
891
  }
680
892
  // fallback for non-DO environments (tests with bedrock-sqlite)
681
- self.#sql.exec('BEGIN');
893
+ execSql(self.#sql, 'BEGIN', [], 'database.transaction.begin');
682
894
  self.#inTransaction = true;
683
895
  try {
684
896
  const result = fn(...args);
685
- self.#sql.exec('COMMIT');
897
+ execSql(self.#sql, 'COMMIT', [], 'database.transaction.commit');
686
898
  self.#inTransaction = false;
687
899
  return result;
688
900
  }
689
901
  catch (err) {
690
902
  try {
691
- self.#sql.exec('ROLLBACK');
903
+ execSql(self.#sql, 'ROLLBACK', [], 'database.transaction.rollback');
692
904
  }
693
905
  catch {
694
906
  // swallow rollback errors
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/worker/shims/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/worker/shims/sqlite.ts"],"names":[],"mappings":"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"}
@@ -19,20 +19,19 @@
19
19
  * import { startZeroCacheEmbedCF } from 'orez/worker'
20
20
  *
21
21
  * // in ensureInitialized():
22
- * const zc = await startZeroCacheEmbedCF({ durableObjectState: this.ctx, ... })
22
+ * const zc = await startZeroCacheEmbedCF({ ... })
23
23
  *
24
24
  * // in DO fetch():
25
25
  * return zc.handleRequest(request)
26
26
  *
27
- * // hibernated websocket lifecycle:
28
- * webSocketMessage(socket, data) { return zc.handleWebSocketMessage(socket, data) }
27
+ * the embed uses standard-accepted WebSockets. do not route these sockets
28
+ * through Durable Object hibernation APIs; the in-process zero-cache proxy must
29
+ * keep its live bridge for the connection lifetime.
29
30
  */
30
31
  import './shims/zero-process-env.js';
31
32
  import { DoBackend } from '../pg-proxy-do-backend.js';
32
- import { type DurableObjectStateLike, type HibernatableWebSocket } from './hibernated-websocket-handoff.js';
33
+ import { type DurableObjectWebSocketHandoffContext } from './durable-object-websocket-handoff.js';
33
34
  export interface ZeroCacheEmbedCFOptions {
34
- /** durable object state; used to accept hibernatable websockets. */
35
- durableObjectState: DurableObjectStateLike;
36
35
  /** DO SQLite storage (also registered on globalThis.__orez_do_sqlite) */
37
36
  doSqlite: unknown;
38
37
  /**
@@ -72,13 +71,7 @@ export interface ZeroCacheEmbedCF {
72
71
  * routes HTTP to zero-cache's Fastify handlers, WebSocket
73
72
  * upgrades through the zero-cache handoff mechanism.
74
73
  */
75
- handleRequest(request: Request): Promise<Response>;
76
- /** route hibernated durable object websocket messages back into zero-cache. */
77
- handleWebSocketMessage(socket: HibernatableWebSocket, messageData: string | ArrayBuffer): void;
78
- /** route hibernated durable object websocket closes back into zero-cache. */
79
- handleWebSocketClose(socket: HibernatableWebSocket, code: number, reason: string, wasClean: boolean): void;
80
- /** route hibernated durable object websocket errors back into zero-cache. */
81
- handleWebSocketError(socket: HibernatableWebSocket, error: unknown): void;
74
+ handleRequest(request: Request, ctx?: DurableObjectWebSocketHandoffContext): Promise<Response>;
82
75
  /** stop zero-cache */
83
76
  stop(): Promise<void>;
84
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"zero-cache-embed-cf.d.ts","sourceRoot":"","sources":["../../src/worker/zero-cache-embed-cf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,6BAA6B,CAAA;AAUpC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAEL,KAAK,sBAAsB,EAE3B,KAAK,qBAAqB,EAC3B,MAAM,mCAAmC,CAAA;AAO1C,MAAM,WAAW,uBAAuB;IACtC,oEAAoE;IACpE,kBAAkB,EAAE,sBAAsB,CAAA;IAE1C,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAA;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,KAAK,CAAA;IAE3B,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,gEAAgE;IAChE,QAAQ,CAAC,EAAE;QACT,QAAQ,EAAE,SAAS,CAAA;QACnB,GAAG,EAAE,SAAS,CAAA;QACd,GAAG,EAAE,SAAS,CAAA;KACf,CAAA;IAED,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,KAAK,CAAA;IAEvB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IAEvB;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAElD,+EAA+E;IAC/E,sBAAsB,CACpB,MAAM,EAAE,qBAAqB,EAC7B,WAAW,EAAE,MAAM,GAAG,WAAW,GAChC,IAAI,CAAA;IAEP,6EAA6E;IAC7E,oBAAoB,CAClB,MAAM,EAAE,qBAAqB,EAC7B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,OAAO,GAChB,IAAI,CAAA;IAEP,6EAA6E;IAC7E,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAA;IAEzE,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAaD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA0S3B"}
1
+ {"version":3,"file":"zero-cache-embed-cf.d.ts","sourceRoot":"","sources":["../../src/worker/zero-cache-embed-cf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,6BAA6B,CAAA;AAUpC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAGL,KAAK,oCAAoC,EAE1C,MAAM,uCAAuC,CAAA;AAO9C,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAA;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,KAAK,CAAA;IAE3B,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,gEAAgE;IAChE,QAAQ,CAAC,EAAE;QACT,QAAQ,EAAE,SAAS,CAAA;QACnB,GAAG,EAAE,SAAS,CAAA;QACd,GAAG,EAAE,SAAS,CAAA;KACf,CAAA;IAED,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,KAAK,CAAA;IAEvB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IAEvB;;;;OAIG;IACH,aAAa,CACX,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,oCAAoC,GACzC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEpB,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAaD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA4R3B"}