@adonis-agora/durable 1.0.0-rc.15 → 1.0.0-rc.17

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.
Files changed (76) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/assets/spa/assets/{index-DlaQG-kn.js → index-CnR8n2nD.js} +3 -3
  3. package/dist/assets/spa/assets/index-CnR8n2nD.js.map +1 -0
  4. package/dist/assets/spa/index.html +1 -1
  5. package/dist/providers/durable_provider.d.ts.map +1 -1
  6. package/dist/providers/durable_provider.js +2 -0
  7. package/dist/providers/durable_provider.js.map +1 -1
  8. package/dist/src/dashboard/dev_tools.d.ts.map +1 -1
  9. package/dist/src/dashboard/dev_tools.js +48 -30
  10. package/dist/src/dashboard/dev_tools.js.map +1 -1
  11. package/dist/src/dashboard/handlers.d.ts +27 -35
  12. package/dist/src/dashboard/handlers.d.ts.map +1 -1
  13. package/dist/src/dashboard/handlers.js +154 -76
  14. package/dist/src/dashboard/handlers.js.map +1 -1
  15. package/dist/src/dashboard/index.d.ts +1 -1
  16. package/dist/src/dashboard/index.js +1 -1
  17. package/dist/src/dashboard/list-filters.d.ts +27 -0
  18. package/dist/src/dashboard/list-filters.d.ts.map +1 -0
  19. package/dist/src/dashboard/list-filters.js +69 -0
  20. package/dist/src/dashboard/list-filters.js.map +1 -0
  21. package/dist/src/dashboard/openapi.d.ts.map +1 -1
  22. package/dist/src/dashboard/openapi.js +115 -50
  23. package/dist/src/dashboard/openapi.js.map +1 -1
  24. package/dist/src/dashboard/run-filter.d.ts +18 -15
  25. package/dist/src/dashboard/run-filter.d.ts.map +1 -1
  26. package/dist/src/dashboard/run-filter.js +29 -22
  27. package/dist/src/dashboard/run-filter.js.map +1 -1
  28. package/dist/src/define_config.d.ts +8 -0
  29. package/dist/src/define_config.d.ts.map +1 -1
  30. package/dist/src/define_config.js.map +1 -1
  31. package/dist/src/doctor/checks.d.ts +6 -0
  32. package/dist/src/doctor/checks.d.ts.map +1 -1
  33. package/dist/src/doctor/checks.js +91 -0
  34. package/dist/src/doctor/checks.js.map +1 -1
  35. package/dist/src/index.d.ts +2 -2
  36. package/dist/src/index.d.ts.map +1 -1
  37. package/dist/src/index.js +1 -1
  38. package/dist/src/index.js.map +1 -1
  39. package/dist/src/sql-schema.d.ts +54 -0
  40. package/dist/src/sql-schema.d.ts.map +1 -0
  41. package/dist/src/sql-schema.js +145 -0
  42. package/dist/src/sql-schema.js.map +1 -0
  43. package/dist/src/stores/factory.d.ts +6 -0
  44. package/dist/src/stores/factory.d.ts.map +1 -1
  45. package/dist/src/stores/factory.js +3 -0
  46. package/dist/src/stores/factory.js.map +1 -1
  47. package/dist/src/stores/lucid-schema.d.ts +17 -3
  48. package/dist/src/stores/lucid-schema.d.ts.map +1 -1
  49. package/dist/src/stores/lucid-schema.js +84 -62
  50. package/dist/src/stores/lucid-schema.js.map +1 -1
  51. package/dist/src/stores/lucid.d.ts +27 -0
  52. package/dist/src/stores/lucid.d.ts.map +1 -1
  53. package/dist/src/stores/lucid.js +253 -205
  54. package/dist/src/stores/lucid.js.map +1 -1
  55. package/dist/src/transports/db-schema.d.ts +13 -5
  56. package/dist/src/transports/db-schema.d.ts.map +1 -1
  57. package/dist/src/transports/db-schema.js +50 -32
  58. package/dist/src/transports/db-schema.js.map +1 -1
  59. package/dist/src/transports/db.d.ts +6 -0
  60. package/dist/src/transports/db.d.ts.map +1 -1
  61. package/dist/src/transports/db.js +49 -39
  62. package/dist/src/transports/db.js.map +1 -1
  63. package/dist/src/transports/factory.d.ts +16 -0
  64. package/dist/src/transports/factory.d.ts.map +1 -1
  65. package/dist/src/transports/factory.js +6 -1
  66. package/dist/src/transports/factory.js.map +1 -1
  67. package/dist/src/transports/worker-keys-db.d.ts +5 -0
  68. package/dist/src/transports/worker-keys-db.d.ts.map +1 -1
  69. package/dist/src/transports/worker-keys-db.js +10 -8
  70. package/dist/src/transports/worker-keys-db.js.map +1 -1
  71. package/dist/stubs/database/migrations/create_durable_tables.stub +12 -2
  72. package/dist/stubs/database/migrations/create_durable_transport_messages.stub +34 -5
  73. package/dist/stubs/database/migrations/create_durable_transport_tables.stub +30 -8
  74. package/dist/stubs/database/migrations/create_durable_transport_worker_keys.stub +24 -2
  75. package/package.json +6 -6
  76. package/dist/assets/spa/assets/index-DlaQG-kn.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { createHash } from 'node:crypto';
2
+ import { assertSchemaSupported, ensureSchemaExists, hasColumn, mysqlLockName, qualify, schemaBuilder, schemaLockKey, validateSchemaName, whereSchema, } from '../sql-schema.js';
2
3
  /**
3
4
  * The canonical durable table names. They match the cross-adapter snake_case contract the other
4
5
  * Agora/aviary stores use (Drizzle is the reference), so a dashboard or migration can be pointed at
@@ -65,12 +66,12 @@ function schemaFingerprint(collation) {
65
66
  .update(`rev=${DURABLE_SCHEMA_REVISION}|collation=${collation ?? ''}`)
66
67
  .digest('hex');
67
68
  }
68
- async function readSchemaFingerprint(client) {
69
- if (!(await client.schema.hasTable(DURABLE_SCHEMA_META_TABLE)))
69
+ async function readSchemaFingerprint(client, schema) {
70
+ if (!(await schemaBuilder(client, schema).hasTable(DURABLE_SCHEMA_META_TABLE)))
70
71
  return undefined;
71
72
  const q = client
72
73
  .query()
73
- .from(DURABLE_SCHEMA_META_TABLE)
74
+ .from(qualify(schema, DURABLE_SCHEMA_META_TABLE))
74
75
  .select('fingerprint')
75
76
  .where('id', SCHEMA_META_ROW);
76
77
  // A locking read on MySQL: under REPEATABLE READ a plain read could answer from a snapshot older
@@ -80,9 +81,9 @@ async function readSchemaFingerprint(client) {
80
81
  const row = (await q.first());
81
82
  return row?.fingerprint ?? undefined;
82
83
  }
83
- async function writeSchemaFingerprint(client, fingerprint) {
84
- if (!(await client.schema.hasTable(DURABLE_SCHEMA_META_TABLE))) {
85
- await client.schema.createTable(DURABLE_SCHEMA_META_TABLE, (table) => {
84
+ async function writeSchemaFingerprint(client, schema, fingerprint) {
85
+ if (!(await schemaBuilder(client, schema).hasTable(DURABLE_SCHEMA_META_TABLE))) {
86
+ await schemaBuilder(client, schema).createTable(DURABLE_SCHEMA_META_TABLE, (table) => {
86
87
  table.string('id', 32).primary();
87
88
  table.string('fingerprint', 64).notNullable();
88
89
  table.bigInteger('applied_at').notNullable();
@@ -90,7 +91,7 @@ async function writeSchemaFingerprint(client, fingerprint) {
90
91
  }
91
92
  await client
92
93
  .insertQuery()
93
- .table(DURABLE_SCHEMA_META_TABLE)
94
+ .table(qualify(schema, DURABLE_SCHEMA_META_TABLE))
94
95
  .knexQuery.insert({ id: SCHEMA_META_ROW, fingerprint, applied_at: Date.now() })
95
96
  .onConflict('id')
96
97
  .merge();
@@ -102,17 +103,29 @@ async function writeSchemaFingerprint(client, fingerprint) {
102
103
  * (its DDL commits implicitly, the lock is the session's) and releases it after. SQLite, and any
103
104
  * other dialect, runs `work` without a lock.
104
105
  */
105
- async function withSchemaLock(connection, logger, work) {
106
+ async function withSchemaLock(connection, schema, logger, work) {
107
+ // With a schema, the lock is that schema's: two installs in two schemas of one database heal
108
+ // independently. Without one, the keys are unchanged.
106
109
  switch (connection.dialect.name) {
107
110
  case 'postgres':
108
111
  await connection.transaction(async (trx) => {
109
- await trx.rawQuery('select pg_advisory_xact_lock(?)', [PG_SCHEMA_LOCK_KEY]);
112
+ await trx.rawQuery('select pg_advisory_xact_lock(?)', [
113
+ schemaLockKey(PG_SCHEMA_LOCK_KEY, schema),
114
+ ]);
110
115
  await work(trx);
111
116
  });
112
117
  return;
113
118
  case 'mysql':
114
119
  await connection.transaction(async (trx) => {
115
- const result = (await trx.rawQuery("select get_lock(concat('durable_schema:', database()), ?) as got", [MYSQL_SCHEMA_LOCK_TIMEOUT_S]));
120
+ // The lock is named after the database the tables are in: the configured one, else the
121
+ // connection's.
122
+ const lockName = schema
123
+ ? { sql: '?', bindings: [mysqlLockName('durable_schema:', schema)] }
124
+ : { sql: "concat('durable_schema:', database())", bindings: [] };
125
+ const result = (await trx.rawQuery(`select get_lock(${lockName.sql}, ?) as got`, [
126
+ ...lockName.bindings,
127
+ MYSQL_SCHEMA_LOCK_TIMEOUT_S,
128
+ ]));
116
129
  const got = Number(result[0]?.[0]?.got) === 1;
117
130
  if (!got) {
118
131
  logger.warn(`@adonis-agora/durable: waited ${MYSQL_SCHEMA_LOCK_TIMEOUT_S}s for the durable schema lock; checking the schema without it.`);
@@ -123,7 +136,7 @@ async function withSchemaLock(connection, logger, work) {
123
136
  finally {
124
137
  if (got) {
125
138
  await trx
126
- .rawQuery("select release_lock(concat('durable_schema:', database()))")
139
+ .rawQuery(`select release_lock(${lockName.sql})`, lockName.bindings)
127
140
  .catch(() => undefined);
128
141
  }
129
142
  }
@@ -155,7 +168,7 @@ function repairWarning(repairs) {
155
168
  ].join(' ');
156
169
  }
157
170
  /**
158
- * Does an index with this name exist in the connection's current schema? Returns `null` for
171
+ * Does an index with this name exist in `schema` (the connection's current schema when unset)? Returns `null` for
159
172
  * dialects outside the store's three declared targets (SQLite / Postgres / MySQL), which the
160
173
  * caller handles by falling back to the legacy best-effort create.
161
174
  *
@@ -167,15 +180,11 @@ function repairWarning(repairs) {
167
180
  * catalog `SELECT` can never fail that way, so the repair never touches the database unless the
168
181
  * index is genuinely missing.
169
182
  */
170
- async function indexExists(connection, indexName) {
183
+ async function indexExists(connection, schema, indexName) {
171
184
  switch (connection.dialect.name) {
172
185
  case 'postgres': {
173
- const rows = await connection
174
- .query()
175
- .from('pg_indexes')
176
- .where('indexname', indexName)
177
- .andWhereRaw('schemaname = current_schema()')
178
- .limit(1);
186
+ const q = connection.query().from('pg_indexes').where('indexname', indexName);
187
+ const rows = await whereSchema(q, connection, 'schemaname', schema).limit(1);
179
188
  return rows.length > 0;
180
189
  }
181
190
  case 'sqlite3':
@@ -190,12 +199,11 @@ async function indexExists(connection, indexName) {
190
199
  return rows.length > 0;
191
200
  }
192
201
  case 'mysql': {
193
- const rows = await connection
202
+ const q = connection
194
203
  .query()
195
204
  .from('information_schema.statistics')
196
- .where('index_name', indexName)
197
- .andWhereRaw('table_schema = database()')
198
- .limit(1);
205
+ .where('index_name', indexName);
206
+ const rows = await whereSchema(q, connection, 'table_schema', schema).limit(1);
199
207
  return rows.length > 0;
200
208
  }
201
209
  default:
@@ -222,6 +230,9 @@ async function indexExists(connection, indexName) {
222
230
  * prefer the published migration (`node ace configure @adonis-agora/durable`); this helper is for standalone
223
231
  * use, tests, and `ensureSchema`.
224
232
  *
233
+ * Pass `options.schema` to put the tables in their own database schema (created when missing): every
234
+ * statement names it, on any connection. It must match the store's `schema`.
235
+ *
225
236
  * Pass `connectionName` to provision the tables on a dedicated Lucid connection — it must match the
226
237
  * connection the store reads/writes on, or `ensureSchema` would create the tables where the store
227
238
  * never looks. Omit it to use the `Database` default connection.
@@ -233,26 +244,31 @@ async function indexExists(connection, indexName) {
233
244
  */
234
245
  export async function createDurableTables(db, connectionName, options = {}) {
235
246
  const connection = db.connection(connectionName);
247
+ const schema = validateSchemaName(options.schema, 'createDurableTables');
248
+ assertSchemaSupported(connection, schema, 'createDurableTables');
236
249
  const logger = options.logger ?? console;
237
250
  const collation = connection.dialect.name === 'mysql' ? configuredCollation(connection, options) : undefined;
238
251
  const expected = schemaFingerprint(collation);
239
252
  // The steady-state boot: one catalog probe and one PK read, no per-table checks.
240
- if (!options.force && (await readSchemaFingerprint(connection)) === expected)
253
+ if (!options.force && (await readSchemaFingerprint(connection, schema)) === expected)
241
254
  return;
242
- await withSchemaLock(connection, logger, async (client) => {
255
+ // Outside the lock's transaction: a failed CREATE SCHEMA would abort it.
256
+ await ensureSchemaExists(connection, schema);
257
+ await withSchemaLock(connection, schema, logger, async (client) => {
243
258
  // A sibling may have healed while this process waited for the lock.
244
- if (!options.force && (await readSchemaFingerprint(client)) === expected)
259
+ if (!options.force && (await readSchemaFingerprint(client, schema)) === expected)
245
260
  return;
246
- await healDurableTables(client, collation, logger);
247
- await writeSchemaFingerprint(client, expected);
261
+ await healDurableTables(client, schema, collation, logger);
262
+ await writeSchemaFingerprint(client, schema, expected);
248
263
  });
249
264
  }
250
265
  /** The additive check-and-repair behind {@link createDurableTables}, on one client (or transaction). */
251
- async function healDurableTables(client, collation, logger) {
266
+ async function healDurableTables(client, schema, collation, logger) {
252
267
  // Knex's schema builder is stateful — operations chained on one instance run together. Take a FRESH
253
268
  // `client.schema` for every hasTable/createTable so each DDL statement executes exactly once, all on
254
- // the store's own connection (or the lock-holding transaction).
255
- const conn = () => client.schema;
269
+ // the store's own connection (or the lock-holding transaction), scoped to the configured schema.
270
+ const conn = () => schemaBuilder(client, schema);
271
+ const columnExists = (table, column) => hasColumn(client, schema, table, column);
256
272
  const isMysql = client.dialect.name === 'mysql';
257
273
  // MySQL: create new tables with the configured collation (CONVERT below aligns existing ones).
258
274
  const charset = collation?.split('_')[0];
@@ -271,7 +287,7 @@ async function healDurableTables(client, collation, logger) {
271
287
  // best-effort path stays — still transaction-unsafe, but only outside the store's declared
272
288
  // targets.
273
289
  const ensureIndex = async (table, columns, indexName) => {
274
- const known = await indexExists(client, indexName);
290
+ const known = await indexExists(client, schema, indexName);
275
291
  if (known === true)
276
292
  return;
277
293
  if (known === null) {
@@ -327,14 +343,14 @@ async function healDurableTables(client, collation, logger) {
327
343
  // Auto-migrate an older runs table by adding any columns introduced after its creation. Each is
328
344
  // applied independently so a table missing several catches up. Mirrors the in-place pattern other
329
345
  // adapters use; new columns are nullable / carry a DEFAULT so existing rows read back unchanged.
330
- if (!(await conn().hasColumn(DURABLE_TABLES.runs, 'priority'))) {
346
+ if (!(await columnExists(DURABLE_TABLES.runs, 'priority'))) {
331
347
  // Nullable (no default) so existing rows read back as "unprioritised" and the FIFO path is unchanged.
332
348
  await conn().alterTable(DURABLE_TABLES.runs, (table) => {
333
349
  table.integer('priority');
334
350
  });
335
351
  repairs.push(`${DURABLE_TABLES.runs}.priority`);
336
352
  }
337
- if (!(await conn().hasColumn(DURABLE_TABLES.runs, 'namespace'))) {
353
+ if (!(await columnExists(DURABLE_TABLES.runs, 'namespace'))) {
338
354
  // DEFAULT 'default' so every pre-namespace row reads back in the reserved 'default' partition —
339
355
  // byte-identical behavior for a single-pool deploy that adds the column.
340
356
  await conn().alterTable(DURABLE_TABLES.runs, (table) => {
@@ -343,14 +359,14 @@ async function healDurableTables(client, collation, logger) {
343
359
  });
344
360
  repairs.push(`${DURABLE_TABLES.runs}.namespace`);
345
361
  }
346
- if (!(await conn().hasColumn(DURABLE_TABLES.runs, 'origin'))) {
362
+ if (!(await columnExists(DURABLE_TABLES.runs, 'origin'))) {
347
363
  // Origin attribution wave: nullable, so an app-own/legacy run reads back with no origin.
348
364
  await conn().alterTable(DURABLE_TABLES.runs, (table) => {
349
365
  table.string('origin');
350
366
  });
351
367
  repairs.push(`${DURABLE_TABLES.runs}.origin`);
352
368
  }
353
- if (!(await conn().hasColumn(DURABLE_TABLES.runs, 'awaiting_decision_task_id'))) {
369
+ if (!(await columnExists(DURABLE_TABLES.runs, 'awaiting_decision_task_id'))) {
354
370
  // Remote-turn decision marker (multi-instance decisions): nullable, so an existing run reads back
355
371
  // as "not awaiting a dispatched turn". TEXT: it embeds the run id plus a UUID.
356
372
  await conn().alterTable(DURABLE_TABLES.runs, (table) => {
@@ -358,7 +374,7 @@ async function healDurableTables(client, collation, logger) {
358
374
  });
359
375
  repairs.push(`${DURABLE_TABLES.runs}.awaiting_decision_task_id`);
360
376
  }
361
- if (!(await conn().hasColumn(DURABLE_TABLES.runs, 'wake_requested_at'))) {
377
+ if (!(await columnExists(DURABLE_TABLES.runs, 'wake_requested_at'))) {
362
378
  // Refused-wake marker (a wake that found another instance's lease): nullable, so an existing
363
379
  // run reads back as "no turn requested".
364
380
  await conn().alterTable(DURABLE_TABLES.runs, (table) => {
@@ -367,7 +383,7 @@ async function healDurableTables(client, collation, logger) {
367
383
  });
368
384
  repairs.push(`${DURABLE_TABLES.runs}.wake_requested_at`);
369
385
  }
370
- if (!(await conn().hasColumn(DURABLE_TABLES.runs, 'tenant_id'))) {
386
+ if (!(await columnExists(DURABLE_TABLES.runs, 'tenant_id'))) {
371
387
  // Tenancy: nullable, so an existing run reads back with no tenant.
372
388
  await conn().alterTable(DURABLE_TABLES.runs, (table) => {
373
389
  table.string('tenant_id');
@@ -410,7 +426,7 @@ async function healDurableTables(client, collation, logger) {
410
426
  });
411
427
  }
412
428
  else {
413
- if (!(await conn().hasColumn(DURABLE_TABLES.checkpoints, 'parallel_group'))) {
429
+ if (!(await columnExists(DURABLE_TABLES.checkpoints, 'parallel_group'))) {
414
430
  // Auto-migrate an older checkpoints table: add the nullable `parallel_group` column in place.
415
431
  // Nullable (no default) so a legacy (non-parallel) checkpoint reads back untagged.
416
432
  await conn().alterTable(DURABLE_TABLES.checkpoints, (table) => {
@@ -418,7 +434,7 @@ async function healDurableTables(client, collation, logger) {
418
434
  });
419
435
  repairs.push(`${DURABLE_TABLES.checkpoints}.parallel_group`);
420
436
  }
421
- if (!(await conn().hasColumn(DURABLE_TABLES.checkpoints, 'last_heartbeat_at'))) {
437
+ if (!(await columnExists(DURABLE_TABLES.checkpoints, 'last_heartbeat_at'))) {
422
438
  // Heartbeat-persistence wave: nullable, so a step whose handler never beats reads back with
423
439
  // no liveness claim (absent ≠ silent-since-epoch).
424
440
  await conn().alterTable(DURABLE_TABLES.checkpoints, (table) => {
@@ -429,7 +445,7 @@ async function healDurableTables(client, collation, logger) {
429
445
  // not the statement count.
430
446
  repairs.push(`${DURABLE_TABLES.checkpoints}.last_heartbeat_at`, `${DURABLE_TABLES.checkpoints}.heartbeat_progress`);
431
447
  }
432
- if (!(await conn().hasColumn(DURABLE_TABLES.checkpoints, 'queue'))) {
448
+ if (!(await columnExists(DURABLE_TABLES.checkpoints, 'queue'))) {
433
449
  // Durable flow-control release: the admitted queue is persisted on the pending checkpoint so
434
450
  // ANY instance receiving the result can free the slot. Nullable — a non-queued step reads back
435
451
  // with no slot to release.
@@ -469,7 +485,7 @@ async function healDurableTables(client, collation, logger) {
469
485
  });
470
486
  }
471
487
  else {
472
- if (!(await conn().hasColumn(DURABLE_TABLES.signalWaiters, 'parallel_group'))) {
488
+ if (!(await columnExists(DURABLE_TABLES.signalWaiters, 'parallel_group'))) {
473
489
  // Auto-migrate an older signal_waiters table: add the nullable `parallel_group` column in
474
490
  // place. Nullable (no default) so a legacy (non-fan) waiter reads back untagged and the await
475
491
  // is unchanged.
@@ -499,11 +515,12 @@ async function healDurableTables(client, collation, logger) {
499
515
  [DURABLE_TABLES.signalWaiters, 'durable_signal_waiters_token_prefix_idx'],
500
516
  [DURABLE_TABLES.bufferedSignals, 'durable_buffered_signals_token_prefix_idx'],
501
517
  ]) {
502
- if (await indexExists(client, indexName))
518
+ if (await indexExists(client, schema, indexName))
503
519
  continue;
520
+ // The index lands in its table's schema: `create index "i" on "s"."t"`.
504
521
  await client.rawQuery('create index ?? on ?? (?? varchar_pattern_ops)', [
505
522
  indexName,
506
- table,
523
+ qualify(schema, table),
507
524
  'token',
508
525
  ]);
509
526
  if (!created.has(table))
@@ -546,7 +563,7 @@ async function healDurableTables(client, collation, logger) {
546
563
  table.index(['paused', 'next_fire_at'], 'durable_schedules_due_idx');
547
564
  });
548
565
  }
549
- else if (!(await conn().hasColumn(DURABLE_TABLES.schedules, 'tenant_id'))) {
566
+ else if (!(await columnExists(DURABLE_TABLES.schedules, 'tenant_id'))) {
550
567
  // Tenancy: nullable, so an existing schedule (and every run it fires) has no tenant.
551
568
  await conn().alterTable(DURABLE_TABLES.schedules, (table) => {
552
569
  table.string('tenant_id');
@@ -558,9 +575,9 @@ async function healDurableTables(client, collation, logger) {
558
575
  // an operator needs to know their schema was behind and by what, and a burst of lines is easier to
559
576
  // lose than a single one.
560
577
  if (isMysql) {
561
- repairs.push(...(await widenMysqlJsonColumns(client)));
578
+ repairs.push(...(await widenMysqlJsonColumns(client, schema)));
562
579
  if (collation && charset) {
563
- repairs.push(...(await alignMysqlCollation(client, charset, collation, logger)));
580
+ repairs.push(...(await alignMysqlCollation(client, schema, charset, collation, logger)));
564
581
  }
565
582
  }
566
583
  if (repairs.length > 0) {
@@ -573,22 +590,22 @@ async function healDurableTables(client, collation, logger) {
573
590
  * since MySQL rebuilds the table for each; a table already widened is not touched. Returns the
574
591
  * columns it changed.
575
592
  */
576
- async function widenMysqlJsonColumns(client) {
577
- return widenMysqlLongtextColumns(client, DURABLE_JSON_COLUMNS);
593
+ async function widenMysqlJsonColumns(client, schema) {
594
+ return widenMysqlLongtextColumns(client, DURABLE_JSON_COLUMNS, schema);
578
595
  }
579
596
  /**
580
597
  * MySQL: `MODIFY` to `longtext` every column of `spec` that exists and isn't `longtext` yet, one
581
598
  * `ALTER` per table. Shared by the store schema and the db transport's (`createDurableTransportTables`).
582
599
  * Returns the columns it changed.
583
600
  */
584
- export async function widenMysqlLongtextColumns(client, spec) {
601
+ export async function widenMysqlLongtextColumns(client, spec, schema) {
585
602
  const tables = Object.keys(spec);
586
- const rows = (await client
603
+ const q = client
587
604
  .query()
588
605
  .from('information_schema.columns')
589
606
  .select('table_name as t', 'column_name as c', 'data_type as d')
590
- .whereRaw('table_schema = database()')
591
- .whereIn('table_name', tables));
607
+ .whereIn('table_name', tables);
608
+ const rows = (await whereSchema(q, client, 'table_schema', schema));
592
609
  const widened = [];
593
610
  for (const [table, columns] of Object.entries(spec)) {
594
611
  const narrow = columns.columns.filter((column) => {
@@ -600,7 +617,7 @@ export async function widenMysqlLongtextColumns(client, spec) {
600
617
  const modify = narrow
601
618
  .map((column) => `modify \`${column}\` longtext ${columns.notNull?.includes(column) ? 'not null' : 'null'}`)
602
619
  .join(', ');
603
- await client.rawQuery(`alter table \`${table}\` ${modify}`);
620
+ await client.rawQuery(`alter table ?? ${modify}`, [qualify(schema, table)]);
604
621
  widened.push(...narrow.map((column) => `${table}.${column} (longtext)`));
605
622
  }
606
623
  return widened;
@@ -610,20 +627,20 @@ export async function widenMysqlLongtextColumns(client, spec) {
610
627
  * version, or before the option was set, carry the server default). A failed `CONVERT` is warned and
611
628
  * left for the next forced check rather than failing the boot. Returns the tables it converted.
612
629
  */
613
- async function alignMysqlCollation(client, charset, collation, logger) {
630
+ async function alignMysqlCollation(client, schema, charset, collation, logger) {
614
631
  const tables = [...Object.values(DURABLE_TABLES), DURABLE_SCHEMA_META_TABLE];
615
- const rows = (await client
632
+ const q = client
616
633
  .query()
617
634
  .from('information_schema.tables')
618
635
  .select('table_name as t', 'table_collation as c')
619
- .whereRaw('table_schema = database()')
620
- .whereIn('table_name', tables));
636
+ .whereIn('table_name', tables);
637
+ const rows = (await whereSchema(q, client, 'table_schema', schema));
621
638
  const converted = [];
622
639
  for (const row of rows) {
623
640
  if (row.c == null || row.c === collation)
624
641
  continue;
625
642
  try {
626
- await client.rawQuery(`alter table \`${row.t}\` convert to character set ${charset} collate ${collation}`);
643
+ await client.rawQuery(`alter table ?? convert to character set ${charset} collate ${collation}`, [qualify(schema, row.t)]);
627
644
  converted.push(`${row.t} (collation ${collation})`);
628
645
  }
629
646
  catch (err) {
@@ -632,9 +649,14 @@ async function alignMysqlCollation(client, charset, collation, logger) {
632
649
  }
633
650
  return converted;
634
651
  }
635
- /** Drop every durable table (reverse FK order). Used by tests and migration `down`. */
636
- export async function dropDurableTables(db, connectionName) {
637
- const conn = () => db.connection(connectionName).schema;
652
+ /**
653
+ * Drop every durable table (reverse FK order), in `options.schema` when set (the schema itself is
654
+ * left). Used by tests and migration `down`.
655
+ */
656
+ export async function dropDurableTables(db, connectionName, options = {}) {
657
+ const schema = validateSchemaName(options.schema, 'dropDurableTables');
658
+ assertSchemaSupported(db.connection(connectionName), schema, 'dropDurableTables');
659
+ const conn = () => schemaBuilder(db.connection(connectionName), schema);
638
660
  await conn().dropTableIfExists(DURABLE_SCHEMA_META_TABLE);
639
661
  await conn().dropTableIfExists(DURABLE_TABLES.schedules);
640
662
  await conn().dropTableIfExists(DURABLE_TABLES.bufferedEvents);
@@ -1 +1 @@
1
- {"version":3,"file":"lucid-schema.js","sourceRoot":"","sources":["../../../src/stores/lucid-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucid-schema.js","sourceRoot":"","sources":["../../../src/stores/lucid-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,OAAO,EACP,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAE1B;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,0BAA0B;IACvC,UAAU,EAAE,wBAAwB;IACpC,aAAa,EAAE,wBAAwB;IACvC,eAAe,EAAE,0BAA0B;IAC3C,cAAc,EAAE,yBAAyB;IACzC,SAAS,EAAE,mBAAmB;CACtB,CAAC;AAoCX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,MAAM,eAAe,GAAG,SAAS,CAAC;AAElC,mGAAmG;AACnG,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AAEjD,qGAAqG;AACrG,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA8D;IAC7F,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE;IAC7F,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;QAC5B,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,CAAC;KACtE;IACD,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE;IAC1D,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE;IACzD,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;CAC/F,CAAC;AAEF,qDAAqD;AACrD,SAAS,aAAa,CAAC,KAAyB;IAC9C,OAAO,KAAK,KAAK,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAClF,CAAC;AAED,yGAAyG;AACzG,SAAS,mBAAmB,CAC1B,MAA2B,EAC3B,OAAmC;IAEnC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7E,MAAM,QAAQ,GACZ,MAAM,CAAC,cAAc,EAGtB,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAC7B,OAAO,OAAO,QAAQ,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7F,CAAC;AAED,sEAAsE;AACtE,SAAS,iBAAiB,CAAC,SAA6B;IACtD,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,OAAO,uBAAuB,cAAc,SAAS,IAAI,EAAE,EAAE,CAAC;SACrE,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAA2B,EAC3B,MAA0B;IAE1B,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACjG,MAAM,CAAC,GAAG,MAAM;SACb,KAAK,EAAE;SACP,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;SAChD,MAAM,CAAC,aAAa,CAAC;SACrB,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAChC,iGAAiG;IACjG,qDAAqD;IACrD,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;QAAE,CAAC,CAAC,SAAS,EAAE,CAAC;IACnD,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAA2C,CAAC;IACxE,OAAO,GAAG,EAAE,WAAW,IAAI,SAAS,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,MAA2B,EAC3B,MAA0B,EAC1B,WAAmB;IAEnB,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE;YACnF,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9C,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM;SACT,WAAW,EAAE;SACb,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;SACjD,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;SAC9E,UAAU,CAAC,IAAI,CAAC;SAChB,KAAK,EAAE,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,cAAc,CAC3B,UAA+B,EAC/B,MAA0B,EAC1B,MAA2B,EAC3B,IAAoD;IAEpD,6FAA6F;IAC7F,sDAAsD;IACtD,QAAQ,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAChC,KAAK,UAAU;YACb,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACzC,MAAM,GAAG,CAAC,QAAQ,CAAC,iCAAiC,EAAE;oBACpD,aAAa,CAAC,kBAAkB,EAAE,MAAM,CAAC;iBAC1C,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,OAAO;QACT,KAAK,OAAO;YACV,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACzC,uFAAuF;gBACvF,gBAAgB;gBAChB,MAAM,QAAQ,GAAwC,MAAM;oBAC1D,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,EAAE;oBACpE,CAAC,CAAC,EAAE,GAAG,EAAE,uCAAuC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACnE,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,mBAAmB,QAAQ,CAAC,GAAG,aAAa,EAAE;oBAC/E,GAAG,QAAQ,CAAC,QAAQ;oBACpB,2BAA2B;iBAC5B,CAAC,CAAsD,CAAC;gBACzD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,MAAM,CAAC,IAAI,CACT,iCAAiC,2BAA2B,gEAAgE,CAC7H,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC;wBAAS,CAAC;oBACT,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,GAAG;6BACN,QAAQ,CAAC,uBAAuB,QAAQ,CAAC,GAAG,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC;6BACnE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO;QACT;YACE,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,OAAiB;IACtC,OAAO;QACL,kFAAkF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACvG,uFAAuF;QACvF,+FAA+F;QAC/F,+FAA+F;QAC/F,4EAA4E;QAC5E,6FAA6F;QAC7F,yDAAyD;KAC1D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,WAAW,CACxB,UAA+B,EAC/B,MAA0B,EAC1B,SAAiB;IAEjB,QAAQ,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAChC,KAAK,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC9E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7E,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,SAAS,CAAC;QACf,KAAK,gBAAgB,CAAC;QACtB,KAAK,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,MAAM,UAAU;iBAC1B,KAAK,EAAE;iBACP,IAAI,CAAC,eAAe,CAAC;iBACrB,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC;iBACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;iBAC3B,KAAK,CAAC,CAAC,CAAC,CAAC;YACZ,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,UAAU;iBACjB,KAAK,EAAE;iBACP,IAAI,CAAC,+BAA+B,CAAC;iBACrC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACzB,CAAC;QACD;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAY,EACZ,cAAuB,EACvB,OAAO,GAA+B,EAAE;IAExC,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzE,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;IACzC,MAAM,SAAS,GACb,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7F,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC9C,iFAAiF;IACjF,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,KAAK,QAAQ;QAAE,OAAO;IAC7F,yEAAyE;IACzE,MAAM,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAChE,oEAAoE;QACpE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,QAAQ;YAAE,OAAO;QACzF,MAAM,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wGAAwG;AACxG,KAAK,UAAU,iBAAiB,CAC9B,MAA2B,EAC3B,MAA0B,EAC1B,SAA6B,EAC7B,MAA2B;IAE3B,oGAAoG;IACpG,qGAAqG;IACrG,iGAAiG;IACjG,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACjG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC;IAChD,+FAA+F;IAC/F,MAAM,OAAO,GAAG,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,CAAC,KAA6D,EAAE,EAAE;QACvF,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO;YAAE,OAAO;QAC/C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,wFAAwF;IACxF,gGAAgG;IAChG,sGAAsG;IACtG,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,0FAA0F;IAC1F,8FAA8F;IAC9F,2FAA2F;IAC3F,WAAW;IACX,MAAM,WAAW,GAAG,KAAK,EACvB,KAAa,EACb,OAAiB,EACjB,SAAiB,EACF,EAAE;QACjB,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO;QAC3B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;YACvF,CAAC;YAAC,MAAM,CAAC;gBACP,uEAAuE;YACzE,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACtD,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/C,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC7D,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAChC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC5B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1B,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YACjC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;YAC5C,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACxC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACtC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1B,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC5B,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,CAAC;YACnD,0CAA0C;YAC1C,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,yBAAyB,CAAC,CAAC;YACpE,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAC3D,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,iCAAiC,CAAC,CAAC;YAChF,4FAA4F;YAC5F,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,4BAA4B,CAAC,CAAC;YACjF,0FAA0F;YAC1F,+CAA+C;YAC/C,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,gGAAgG;QAChG,kGAAkG;QAClG,iGAAiG;QACjG,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;YAC3D,sGAAsG;YACtG,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrD,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,WAAW,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YAC5D,gGAAgG;YAChG,yEAAyE;YACzE,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrD,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC7D,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,4BAA4B,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,YAAY,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YACzD,yFAAyF;YACzF,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrD,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,SAAS,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC,EAAE,CAAC;YAC5E,kGAAkG;YAClG,+EAA+E;YAC/E,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrD,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,4BAA4B,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;YACpE,6FAA6F;YAC7F,yCAAyC;YACzC,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrD,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;gBACtC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,iCAAiC,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YAC5D,mEAAmE;YACnE,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;gBACrD,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC1B,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC5B,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,yBAAyB,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,YAAY,CAAC,CAAC;QACnD,CAAC;QACD,8FAA8F;QAC9F,8DAA8D;QAC9D,MAAM,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,0BAA0B,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7D,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACjC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YACxC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtB,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC5B,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC/B,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAChC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9C,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;YAC7C,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YACjC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,8BAA8B,CAAC,CAAC;YAChE,0FAA0F;YAC1F,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,oCAAoC,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;YACxE,8FAA8F;YAC9F,mFAAmF;YACnF,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC5D,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,WAAW,iBAAiB,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;YAC3E,4FAA4F;YAC5F,mDAAmD;YACnD,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC5D,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,6FAA6F;YAC7F,2BAA2B;YAC3B,OAAO,CAAC,IAAI,CACV,GAAG,cAAc,CAAC,WAAW,oBAAoB,EACjD,GAAG,cAAc,CAAC,WAAW,qBAAqB,CACnD,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YAC/D,6FAA6F;YAC7F,+FAA+F;YAC/F,2BAA2B;YAC3B,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC5D,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,WAAW,QAAQ,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,WAAW,CACf,cAAc,CAAC,WAAW,EAC1B,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,EACnC,oCAAoC,CACrC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5D,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1B,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YACjC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,gCAAgC,CAAC,CAAC;YACpE,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,gCAAgC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4FAA4F;IAC5F,yBAAyB;IACzB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/D,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;YAChC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACrC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC/B,qFAAqF;YACrF,oFAAoF;YACpF,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,gCAAgC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;YAC1E,0FAA0F;YAC1F,8FAA8F;YAC9F,gBAAgB;YAChB,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC9D,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,aAAa,iBAAiB,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,WAAW,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE,gCAAgC,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;YACjE,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAClC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,oCAAoC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iGAAiG;IACjG,4FAA4F;IAC5F,6FAA6F;IAC7F,2FAA2F;IAC3F,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI;YAC/B,CAAC,cAAc,CAAC,aAAa,EAAE,yCAAyC,CAAC;YACzE,CAAC,cAAc,CAAC,eAAe,EAAE,2CAA2C,CAAC;SACrE,EAAE,CAAC;YACX,IAAI,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;gBAAE,SAAS;YAC3D,wEAAwE;YACxE,MAAM,MAAM,CAAC,QAAQ,CAAC,gDAAgD,EAAE;gBACtE,SAAS;gBACT,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;gBACtB,OAAO;aACR,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,kGAAkG;IAClG,kGAAkG;IAClG,oGAAoG;IACpG,2FAA2F;IAC3F,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;YAChE,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAClC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/C,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,kCAAkC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iGAAiG;IACjG,gGAAgG;IAChG,2FAA2F;IAC3F,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAC3D,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC7D,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YACvC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACvD,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9C,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1B,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC5B,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7C,6EAA6E;YAC7E,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,2BAA2B,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QACxE,qFAAqF;QACrF,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1D,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1B,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,SAAS,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,iGAAiG;IACjG,mGAAmG;IACnG,0BAA0B;IAC1B,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAClC,MAA2B,EAC3B,MAA0B;IAE1B,OAAO,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,MAA2B,EAC3B,IAA+D,EAC/D,MAA2B;IAE3B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,MAAM;SACb,KAAK,EAAE;SACP,IAAI,CAAC,4BAA4B,CAAC;SAClC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;SAC/D,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,CAAC,MAAM,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAIhE,CAAC;IACH,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;YAC9D,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAClC,MAAM,MAAM,GAAG,MAAM;aAClB,GAAG,CACF,CAAC,MAAM,EAAE,EAAE,CACT,YAAY,MAAM,eAAe,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAC7F;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,MAAM,CAAC,QAAQ,CAAC,kBAAkB,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,MAAM,aAAa,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,mBAAmB,CAChC,MAA2B,EAC3B,MAA0B,EAC1B,OAAe,EACf,SAAiB,EACjB,MAA2B;IAE3B,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAC7E,MAAM,CAAC,GAAG,MAAM;SACb,KAAK,EAAE;SACP,IAAI,CAAC,2BAA2B,CAAC;SACjC,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;SACjD,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,CAAC,MAAM,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAGhE,CAAC;IACH,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,SAAS;YAAE,SAAS;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CACnB,2CAA2C,OAAO,YAAY,SAAS,EAAE,EACzE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CACzB,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,eAAe,SAAS,GAAG,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CACT,8CAA8C,GAAG,CAAC,CAAC,mBAAmB,SAAS,kBAC7E,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAY,EACZ,cAAuB,EACvB,OAAO,GAAoC,EAAE;IAE7C,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACvE,qBAAqB,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAClF,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,MAAM,IAAI,EAAE,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;IAC1D,MAAM,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC9D,MAAM,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAC/D,MAAM,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,IAAI,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC"}
@@ -27,6 +27,12 @@ export interface LucidStateStoreOptions {
27
27
  * Default off. Ignored on other dialects.
28
28
  */
29
29
  preparedStatements?: boolean | undefined;
30
+ /**
31
+ * The database schema the durable tables live in (a database on MySQL). Every statement the store
32
+ * issues names it, so the connection's own default is left alone; `ensureSchema` creates it. Omit
33
+ * for the connection's current schema. Not supported on SQLite (the constructor throws).
34
+ */
35
+ schema?: string | undefined;
30
36
  }
31
37
  /**
32
38
  * A production-grade, persistent `StateStore` backed by AdonisJS **Lucid** (Knex). Runs, checkpoints,
@@ -45,6 +51,12 @@ export declare class LucidStateStore implements StateStore {
45
51
  private readonly options;
46
52
  /** The namespace run reads are fenced to, or undefined for the operator view. */
47
53
  private readonly scopeNamespace;
54
+ /** The schema the tables live in, or undefined for the connection's current one. */
55
+ private readonly schema;
56
+ /** The durable table names, qualified with {@link schema}, for the query builder. */
57
+ private readonly t;
58
+ /** The Postgres hot path's statements over {@link t}. */
59
+ private readonly sql;
48
60
  constructor(db: Database, options?: LucidStateStoreOptions);
49
61
  /**
50
62
  * A store over the same `Database` whose run reads are confined to `scope.namespace` (see
@@ -73,6 +85,21 @@ export declare class LucidStateStore implements StateStore {
73
85
  private hotReads;
74
86
  /** Idempotently provision the durable tables (called on boot when `autoSchema` is on). */
75
87
  ensureSchema(): Promise<void>;
88
+ /** The database schema the store's tables live in, or `undefined` for the connection's current one. */
89
+ get schemaName(): string | undefined;
90
+ /**
91
+ * What `agora:doctor` reports for a store with a `schema`: whether the schema exists, which durable
92
+ * tables are missing from it, which of `optionalTables` (tables other pieces create when they first
93
+ * run, like the db transport's) are in it, and whether the connection can write there (a probe row
94
+ * inserted into the schema marker table, in a transaction that is rolled back).
95
+ */
96
+ inspectSchema(optionalTables?: string[]): Promise<{
97
+ schema: string | undefined;
98
+ schemaExists: boolean;
99
+ missingTables: string[];
100
+ optionalPresent: string[];
101
+ writeError: string | undefined;
102
+ }>;
76
103
  /**
77
104
  * Insert the run, or reject with {@link RunAlreadyExistsError} when its id is taken. The insert
78
105
  * writes nothing on a conflict instead of failing, so a run that already exists never aborts a
@@ -1 +1 @@
1
- {"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}