spindb 0.70.3 → 0.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/cli/commands/backup.js +58 -3
  2. package/dist/cli/commands/backup.js.map +1 -1
  3. package/dist/cli/commands/create.js +5 -0
  4. package/dist/cli/commands/create.js.map +1 -1
  5. package/dist/cli/commands/menu/backup-handlers.js +7 -0
  6. package/dist/cli/commands/menu/backup-handlers.js.map +1 -1
  7. package/dist/cli/commands/restore.js +5 -0
  8. package/dist/cli/commands/restore.js.map +1 -1
  9. package/dist/cli/commands/start.js +31 -21
  10. package/dist/cli/commands/start.js.map +1 -1
  11. package/dist/config/version.js +1 -1
  12. package/dist/core/container-manager.js +45 -16
  13. package/dist/core/container-manager.js.map +1 -1
  14. package/dist/core/database-capabilities.js +59 -1
  15. package/dist/core/database-capabilities.js.map +1 -1
  16. package/dist/core/database-presence.js +96 -0
  17. package/dist/core/database-presence.js.map +1 -0
  18. package/dist/core/primary-database.js +75 -0
  19. package/dist/core/primary-database.js.map +1 -0
  20. package/dist/core/pull-manager.js +15 -0
  21. package/dist/core/pull-manager.js.map +1 -1
  22. package/dist/core/temp-dump-cleanup.js +106 -0
  23. package/dist/core/temp-dump-cleanup.js.map +1 -0
  24. package/dist/engines/base-engine.js +19 -1
  25. package/dist/engines/base-engine.js.map +1 -1
  26. package/dist/engines/clickhouse/index.js +2 -1
  27. package/dist/engines/clickhouse/index.js.map +1 -1
  28. package/dist/engines/cockroachdb/index.js +2 -1
  29. package/dist/engines/cockroachdb/index.js.map +1 -1
  30. package/dist/engines/mariadb/index.js +41 -3
  31. package/dist/engines/mariadb/index.js.map +1 -1
  32. package/dist/engines/mysql/index.js +31 -3
  33. package/dist/engines/mysql/index.js.map +1 -1
  34. package/dist/engines/postgresql/index.js +2 -1
  35. package/dist/engines/postgresql/index.js.map +1 -1
  36. package/package.json +1 -1
@@ -0,0 +1,96 @@
1
+ import { canDetectMissingDatabase, getListingHiddenDatabases, } from './database-capabilities.js';
2
+ import { logDebug } from './error-handler.js';
3
+ // Upper bound on the listing behind a presence probe. The probe runs on every
4
+ // start and wake, so a hung client must not stall them; a listing that takes
5
+ // longer is reported as 'unknown', which keeps every caller's old behavior.
6
+ const DATABASE_PRESENCE_TIMEOUT_MS = 10_000;
7
+ const LISTING_TIMED_OUT = Symbol('listing-timed-out');
8
+ /**
9
+ * Decide presence from an engine's listing. Pure, so the rules are testable
10
+ * without a server:
11
+ * - engines without durable database existence are always 'unknown'
12
+ * - an exact match is present, even when the database holds no data
13
+ * - a name the listing filters out (system databases) is 'unknown'
14
+ * - a case-insensitive-only match is 'unknown' (servers differ on name case)
15
+ */
16
+ function classifyDatabasePresence(options) {
17
+ const { engine, name, listed } = options;
18
+ if (!name || !canDetectMissingDatabase(engine))
19
+ return 'unknown';
20
+ if (listed.includes(name))
21
+ return true;
22
+ const lowered = name.toLowerCase();
23
+ const hidden = getListingHiddenDatabases(engine);
24
+ if (hidden.some((db) => db.toLowerCase() === lowered))
25
+ return 'unknown';
26
+ if (listed.some((db) => db.toLowerCase() === lowered))
27
+ return 'unknown';
28
+ return false;
29
+ }
30
+ /**
31
+ * Resolve with the listing, or LISTING_TIMED_OUT once `timeoutMs` passes. On
32
+ * timeout the listing's signal is aborted, so an engine that honors it kills
33
+ * its client process: a leftover child with piped stdio would otherwise keep
34
+ * the CLI alive after a successful start. The timer is deliberately NOT
35
+ * unref'd: with a listing that never settles, an unref'd timer lets the event
36
+ * loop drain mid-await. It is always cleared once the race settles, so it
37
+ * cannot hold the process open afterward. A listing that settles after the
38
+ * deadline is ignored.
39
+ */
40
+ async function listWithTimeout(options) {
41
+ const { engine, container, timeoutMs } = options;
42
+ const controller = new AbortController();
43
+ let timer;
44
+ const deadline = new Promise((resolve) => {
45
+ timer = setTimeout(() => {
46
+ controller.abort();
47
+ resolve(LISTING_TIMED_OUT);
48
+ }, timeoutMs);
49
+ });
50
+ try {
51
+ const listing = Promise.resolve(engine.listDatabases(container, { signal: controller.signal }));
52
+ // A late rejection (including the abort itself) must not surface as
53
+ // unhandled
54
+ listing.catch(() => { });
55
+ return await Promise.race([listing, deadline]);
56
+ }
57
+ finally {
58
+ clearTimeout(timer);
59
+ }
60
+ }
61
+ /**
62
+ * Probe a running server for a named database. Never throws: a failed,
63
+ * malformed, or slow listing (see DATABASE_PRESENCE_TIMEOUT_MS) yields
64
+ * 'unknown', never false.
65
+ */
66
+ async function probeDatabasePresence(options) {
67
+ const { engine, container, name, timeoutMs = DATABASE_PRESENCE_TIMEOUT_MS, } = options;
68
+ try {
69
+ if (!name || !canDetectMissingDatabase(container.engine)) {
70
+ return { presence: 'unknown', listed: null };
71
+ }
72
+ const listed = await listWithTimeout({ engine, container, timeoutMs });
73
+ if (listed === LISTING_TIMED_OUT) {
74
+ logDebug(`listDatabases did not answer within ${timeoutMs}ms; presence of "${name}" is unknown`);
75
+ return { presence: 'unknown', listed: null };
76
+ }
77
+ if (!Array.isArray(listed) || listed.some((db) => typeof db !== 'string')) {
78
+ logDebug(`listDatabases returned a malformed result for ${name}`);
79
+ return { presence: 'unknown', listed: null };
80
+ }
81
+ return {
82
+ presence: classifyDatabasePresence({
83
+ engine: container.engine,
84
+ name,
85
+ listed,
86
+ }),
87
+ listed,
88
+ };
89
+ }
90
+ catch (error) {
91
+ logDebug(`Could not determine whether database "${name}" exists: ${error instanceof Error ? error.message : String(error)}`);
92
+ return { presence: 'unknown', listed: null };
93
+ }
94
+ }
95
+ export { DATABASE_PRESENCE_TIMEOUT_MS, classifyDatabasePresence, probeDatabasePresence, };
96
+ //# sourceMappingURL=database-presence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-presence.js","sourceRoot":"","sources":["../../core/database-presence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { canCreateDatabase, canDetectMissingDatabase, } from './database-capabilities.js';
2
+ /**
3
+ * Probe the primary database, then run the ensure-database step start has
4
+ * always run. With `recreate` (the default) a missing database is created as
5
+ * before and reported as 'recreated'. Without it, an engine that can detect
6
+ * absence leaves the database missing (or skips the create when it could not
7
+ * tell) instead of creating an empty one. Engines that cannot detect absence
8
+ * keep the old behavior regardless of `recreate` and report 'unknown'.
9
+ *
10
+ * `firstStart` is a container that has never been started (created with
11
+ * --no-start). Its database was never there, so it is always created and
12
+ * reported as 'created', whatever `recreate` says.
13
+ */
14
+ async function ensurePrimaryDatabase(options) {
15
+ const { engine, config, superuser, recreate, firstStart, onEnsureStart } = options;
16
+ const name = config.database ?? '';
17
+ const detectable = Boolean(name) && canDetectMissingDatabase(config.engine);
18
+ const presence = detectable
19
+ ? await engine.databaseExists(config, name)
20
+ : 'unknown';
21
+ const ensureApplicable = canCreateDatabase(config.engine) && Boolean(name) && name !== superuser;
22
+ const leaveMissing = detectable && !recreate && !firstStart;
23
+ let ensure;
24
+ if (!ensureApplicable) {
25
+ ensure = { kind: 'not-applicable' };
26
+ }
27
+ else if (leaveMissing && presence === false) {
28
+ ensure = { kind: 'skipped-missing' };
29
+ }
30
+ else if (leaveMissing && presence === 'unknown') {
31
+ ensure = { kind: 'skipped-unknown' };
32
+ }
33
+ else {
34
+ onEnsureStart?.();
35
+ try {
36
+ await engine.createDatabase(config, name);
37
+ ensure = { kind: 'ready', alreadyExisted: false };
38
+ }
39
+ catch (error) {
40
+ const message = error?.message ?? '';
41
+ ensure = /already exists/i.test(message)
42
+ ? { kind: 'ready', alreadyExisted: true }
43
+ : { kind: 'failed', message };
44
+ }
45
+ }
46
+ return {
47
+ primaryDatabase: {
48
+ name,
49
+ state: resolvePrimaryDatabaseState({ presence, ensure, firstStart }),
50
+ },
51
+ ensure,
52
+ };
53
+ }
54
+ function resolvePrimaryDatabaseState(options) {
55
+ const { presence, ensure, firstStart } = options;
56
+ if (presence === true)
57
+ return 'present';
58
+ if (presence === 'unknown')
59
+ return 'unknown';
60
+ // The listing proved the database absent before the ensure step ran
61
+ switch (ensure.kind) {
62
+ case 'ready':
63
+ // A create that reports "already exists" means it appeared in between
64
+ if (ensure.alreadyExisted)
65
+ return 'present';
66
+ return firstStart ? 'created' : 'recreated';
67
+ case 'not-applicable':
68
+ case 'skipped-missing':
69
+ case 'skipped-unknown':
70
+ case 'failed':
71
+ return 'missing';
72
+ }
73
+ }
74
+ export { ensurePrimaryDatabase, resolvePrimaryDatabaseState, };
75
+ //# sourceMappingURL=primary-database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primary-database.js","sourceRoot":"","sources":["../../core/primary-database.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import { withTransaction } from './transaction-manager.js';
14
14
  import { containerManager } from './container-manager.js';
15
15
  import { getEngine } from '../engines/index.js';
16
16
  import { logDebug } from './error-handler.js';
17
+ import { registerTempDump, releaseTempDump } from './temp-dump-cleanup.js';
17
18
  import { Engine } from '../types/index.js';
18
19
  import { getDefaultFormat } from '../config/backup-formats.js';
19
20
  /**
@@ -160,6 +161,15 @@ export class PullManager {
160
161
  const backupDatabase = `${targetDatabase}_${timestamp}`;
161
162
  const tempOriginalDump = join(tmpdir(), `spindb-orig-${timestamp}.dump`);
162
163
  const tempRemoteDump = join(tmpdir(), `spindb-remote-${timestamp}.dump`);
164
+ // A termination mid-dump skips the transaction rollbacks that delete this
165
+ // file, so it is registered for removal on SIGTERM/SIGINT/SIGHUP too.
166
+ //
167
+ // tempOriginalDump is deliberately NOT registered. It is the rollback copy
168
+ // of the user's own database: a termination while the remote dump is being
169
+ // restored over the target leaves that file as the only intact copy of
170
+ // their data, so a leftover file is the safe outcome and a deleted one is
171
+ // data loss.
172
+ registerTempDump(tempRemoteDump);
163
173
  // Always create backup if there's a post-script (so it can access original data)
164
174
  // Otherwise, only create backup if --no-backup wasn't specified
165
175
  const needsBackup = !options.noBackup || !!options.postScript;
@@ -275,6 +285,7 @@ export class PullManager {
275
285
  catch {
276
286
  // Ignore errors
277
287
  }
288
+ releaseTempDump(tempRemoteDump);
278
289
  // Step 10: Run post-script if provided
279
290
  if (options.postScript) {
280
291
  const context = {
@@ -337,6 +348,9 @@ export class PullManager {
337
348
  async executeCloneMode(config, engine, targetDatabase, options) {
338
349
  const timestamp = this.generateTimestamp();
339
350
  const tempRemoteDump = join(tmpdir(), `spindb-remote-${timestamp}.dump`);
351
+ // A termination mid-dump skips the transaction rollbacks that delete this
352
+ // file, so it is registered for removal on SIGTERM/SIGINT/SIGHUP too.
353
+ registerTempDump(tempRemoteDump);
340
354
  return withTransaction(async (tx) => {
341
355
  // Step 1: Drop target if exists (--force required)
342
356
  if (options.force) {
@@ -396,6 +410,7 @@ export class PullManager {
396
410
  catch {
397
411
  // Ignore errors
398
412
  }
413
+ releaseTempDump(tempRemoteDump);
399
414
  // Step 6: Run post-script if provided
400
415
  if (options.postScript) {
401
416
  const context = {
@@ -1 +1 @@
1
- {"version":3,"file":"pull-manager.js","sourceRoot":"","sources":["../../core/pull-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull-manager.js","sourceRoot":"","sources":["../../core/pull-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AASjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAa;IAC9C,MAAM,CAAC,UAAU;IACjB,MAAM,CAAC,KAAK;IACZ,MAAM,CAAC,OAAO;IACd,MAAM,CAAC,OAAO;IACd,MAAM,CAAC,QAAQ;CAChB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AAEvE;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AAElE,mEAAmE;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAA;AAE9B;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,IAAa;IAC9D,IAAI,IAAI,KAAK,SAAS;QAAE,OAAM;IAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,aAAa,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,2CAA2C,aAAa,SAAS,IAAI,MAAM;YACzE,gEAAgE,CACnE,CAAA;IACH,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,KAAK;YACxC,wBAAwB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7D,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,OAAgE;IAEhE,IACE,OAAO,CAAC,aAAa,EAAE,MAAM;QAC7B,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,EACxC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,wCAAwC,MAAM,KAAK;YACjD,wBAAwB,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9D,CAAA;IACH,CAAC;IACD,IACE,OAAO,CAAC,gBAAgB,EAAE,MAAM;QAChC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC5C,CAAC;QACD,MAAM,IAAI,KAAK,CACb,6CAA6C,MAAM,KAAK;YACtD,wBAAwB,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACjE,oEAAoE,CACvE,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAoB;IAEpB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,CAAA;IAC/D,IACE,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM;QAC9B,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM;QACjC,CAAC,QAAQ,EACT,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KAC1C,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,MAAqB,EAAE,OAAe;IACpE,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;YAC1B,CAAC,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACnE,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,eAAe,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CACvE,CAAA;IACH,CAAC;AACH,CAAC;AAqBD,MAAM,OAAO,WAAW;IACtB;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,aAAqB,EAAE,OAAoB;QACpD,gCAAgC;QAChC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,cAAc,aAAa,aAAa,CAAC,CAAA;QAC3D,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,cAAc,aAAa,uCAAuC,aAAa,EAAE,CAClF,CAAA;QACH,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAE1C,oEAAoE;QACpE,0BAA0B;QAC1B,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC9C,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAE/C,wCAAwC;QACxC,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAA;QACxC,MAAM,cAAc,GAAG,WAAW;YAChC,CAAC,CAAC,OAAO,CAAC,UAAW;YACrB,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAA;QAEvC,cAAc;QACd,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,kCAAkC;YAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;YAChE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,aAAa,cAAc,kBAAkB,CAAC,CAAA;YAChE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,qDAAqD;YACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;YAChE,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,aAAa,cAAc,6CAA6C,CACzE,CAAA;YACH,CAAC;QACH,CAAC;QAED,aAAa;QACb,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,YAAY,CACtB,MAAM,EACN,MAAM,EACN,cAAc,EACd,SAAS,EACT,OAAO,EACP,WAAW,CACZ,CAAA;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,kBAAkB,CAC5B,MAAM,EACN,MAAM,EACN,cAAc,EACd,SAAS,EACT,OAAO,CACR,CAAA;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,MAAuB,EACvB,MAAkB,EAClB,cAAsB,EACtB,SAAiB,EACjB,OAAoB;QAEpB,MAAM,cAAc,GAAG,GAAG,cAAc,IAAI,SAAS,EAAE,CAAA;QACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,SAAS,OAAO,CAAC,CAAA;QACxE,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,SAAS,OAAO,CAAC,CAAA;QACxE,0EAA0E;QAC1E,sEAAsE;QACtE,EAAE;QACF,2EAA2E;QAC3E,2EAA2E;QAC3E,uEAAuE;QACvE,0EAA0E;QAC1E,aAAa;QACb,gBAAgB,CAAC,cAAc,CAAC,CAAA;QAEhC,iFAAiF;QACjF,gEAAgE;QAChE,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAA;QAC7D,iFAAiF;QACjF,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAA;QAEpC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAChD,gFAAgF;YAChF,IAAI,WAAW,EAAE,CAAC;gBAChB,iCAAiC;gBACjC,QAAQ,CAAC,6BAA6B,cAAc,EAAE,CAAC,CAAA;gBACvD,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;gBACnD,EAAE,CAAC,WAAW,CAAC;oBACb,WAAW,EAAE,yBAAyB,cAAc,GAAG;oBACvD,OAAO,EAAE,KAAK,IAAI,EAAE;wBAClB,IAAI,CAAC;4BACH,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;wBACnD,CAAC;wBAAC,MAAM,CAAC;4BACP,gBAAgB;wBAClB,CAAC;oBACH,CAAC;iBACF,CAAC,CAAA;gBAEF,oEAAoE;gBACpE,QAAQ,CAAC,iCAAiC,gBAAgB,EAAE,CAAC,CAAA;gBAC7D,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE;oBAC5C,QAAQ,EAAE,cAAc;oBACxB,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;iBACxC,CAAC,CAAA;gBACF,EAAE,CAAC,WAAW,CAAC;oBACb,WAAW,EAAE,gCAAgC;oBAC7C,OAAO,EAAE,KAAK,IAAI,EAAE;wBAClB,IAAI,CAAC;4BACH,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;wBAChC,CAAC;wBAAC,MAAM,CAAC;4BACP,gBAAgB;wBAClB,CAAC;oBACH,CAAC;iBACF,CAAC,CAAA;gBAEF,uCAAuC;gBACvC,QAAQ,CAAC,4CAA4C,cAAc,EAAE,CAAC,CAAA;gBACtE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE;oBACnE,QAAQ,EAAE,cAAc;oBACxB,cAAc,EAAE,KAAK;iBACtB,CAAC,CAAA;gBACF,sBAAsB,CACpB,aAAa,EACb,8CAA8C,cAAc,GAAG,CAChE,CAAA;YACH,CAAC;YAED,sBAAsB;YAEtB,mCAAmC;YACnC,QAAQ,CAAC,+BAA+B,cAAc,EAAE,CAAC,CAAA;YACzD,MAAM,MAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE;gBACrE,GAAG,sBAAsB,CAAC,OAAO,CAAC;gBAClC,kEAAkE;gBAClE,kCAAkC;gBAClC,aAAa,EAAE,MAAM,CAAC,OAAO;aAC9B,CAAC,CAAA;YACF,EAAE,CAAC,WAAW,CAAC;gBACb,WAAW,EAAE,8BAA8B;gBAC3C,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,IAAI,CAAC;wBACH,MAAM,EAAE,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC5D,CAAC;oBAAC,MAAM,CAAC;wBACP,gBAAgB;oBAClB,CAAC;gBACH,CAAC;aACF,CAAC,CAAA;YAEF,4CAA4C;YAC5C,QAAQ,CAAC,+BAA+B,cAAc,EAAE,CAAC,CAAA;YACzD,MAAM,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;YAEzD,iCAAiC;YACjC,QAAQ,CAAC,+BAA+B,cAAc,EAAE,CAAC,CAAA;YACzD,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;YACjD,EAAE,CAAC,WAAW,CAAC;gBACb,WAAW,EAAE,8BAA8B,cAAc,eAAe;gBACxE,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,IAAI,WAAW,EAAE,CAAC;wBAChB,sBAAsB;wBACtB,IAAI,CAAC;4BACH,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;4BACnD,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE;gCAC7C,QAAQ,EAAE,cAAc;gCACxB,cAAc,EAAE,KAAK;6BACtB,CAAC,CAAA;wBACJ,CAAC;wBAAC,MAAM,CAAC;4BACP,gBAAgB;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC,CAAA;YAEF,yCAAyC;YACzC,QAAQ,CAAC,4BAA4B,cAAc,EAAE,CAAC,CAAA;YACtD,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;YAEnD,uCAAuC;YACvC,QAAQ,CAAC,+BAA+B,cAAc,EAAE,CAAC,CAAA;YACzD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE;gBACjE,QAAQ,EAAE,cAAc;gBACxB,cAAc,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAA;YACF,sBAAsB,CACpB,aAAa,EACb,6BAA6B,cAAc,GAAG,CAC/C,CAAA;YAED,6BAA6B;YAC7B,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;YACD,eAAe,CAAC,cAAc,CAAC,CAAA;YAE/B,uCAAuC;YACvC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAgB;oBAC3B,SAAS,EAAE,MAAM,CAAC,IAAI;oBACtB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,WAAW,EAAE,cAAc;oBAC3B,MAAM,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC;oBAC1D,gBAAgB,EAAE,cAAc;oBAChC,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC;iBAChE,CAAA;gBAED,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBAErD,kFAAkF;gBAClF,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,QAAQ,CAAC,uCAAuC,cAAc,EAAE,CAAC,CAAA;oBACjE,IAAI,CAAC;wBACH,MAAM,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;wBACzD,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;oBACnD,CAAC;oBAAC,MAAM,CAAC;wBACP,gDAAgD;oBAClD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,SAAkB;gBACxB,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC;gBAC/D,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;gBACvD,SAAS,EAAE,UAAU;oBACnB,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC;oBACpD,CAAC,CAAC,SAAS;gBACb,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;gBACvC,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM;oBAC3C,CAAC,CAAC,OAAO,CAAC,aAAa;oBACvB,CAAC,CAAC,SAAS;gBACb,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,EAAE,MAAM;oBACjD,CAAC,CAAC,OAAO,CAAC,gBAAgB;oBAC1B,CAAC,CAAC,SAAS;gBACb,OAAO,EAAE,UAAU;oBACjB,CAAC,CAAC,4BAA4B,cAAc,iBAAiB,cAAc,GAAG;oBAC9E,CAAC,CAAC,4BAA4B,cAAc,GAAG;aAClD,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,0EAA0E;QAC1E,sEAAsE;QACtE,qFAAqF;QACrF,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CACN,iCAAiC,MAAM,CAAC,IAAI,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CACnG,CAAA;QACH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,MAAuB,EACvB,MAAkB,EAClB,cAAsB,EACtB,OAAoB;QAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,SAAS,OAAO,CAAC,CAAA;QACxE,0EAA0E;QAC1E,sEAAsE;QACtE,gBAAgB,CAAC,cAAc,CAAC,CAAA;QAEhC,OAAO,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAClC,mDAAmD;YACnD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;oBACzD,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;gBACnD,CAAC;gBAAC,MAAM,CAAC;oBACP,gBAAgB;gBAClB,CAAC;YACH,CAAC;YAED,iCAAiC;YACjC,QAAQ,CAAC,6BAA6B,cAAc,EAAE,CAAC,CAAA;YACvD,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;YACnD,EAAE,CAAC,WAAW,CAAC;gBACb,WAAW,EAAE,yBAAyB,cAAc,GAAG;gBACvD,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,IAAI,CAAC;wBACH,MAAM,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;oBACnD,CAAC;oBAAC,MAAM,CAAC;wBACP,gBAAgB;oBAClB,CAAC;gBACH,CAAC;aACF,CAAC,CAAA;YAEF,mCAAmC;YACnC,QAAQ,CAAC,+BAA+B,cAAc,EAAE,CAAC,CAAA;YACzD,MAAM,MAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE;gBACrE,GAAG,sBAAsB,CAAC,OAAO,CAAC;gBAClC,kEAAkE;gBAClE,kCAAkC;gBAClC,aAAa,EAAE,MAAM,CAAC,OAAO;aAC9B,CAAC,CAAA;YACF,EAAE,CAAC,WAAW,CAAC;gBACb,WAAW,EAAE,8BAA8B;gBAC3C,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,IAAI,CAAC;wBACH,MAAM,EAAE,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC5D,CAAC;oBAAC,MAAM,CAAC;wBACP,gBAAgB;oBAClB,CAAC;gBACH,CAAC;aACF,CAAC,CAAA;YAEF,qCAAqC;YACrC,QAAQ,CAAC,+BAA+B,cAAc,EAAE,CAAC,CAAA;YACzD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE;gBACjE,QAAQ,EAAE,cAAc;gBACxB,cAAc,EAAE,KAAK;gBACrB,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAA;YACF,sBAAsB,CACpB,aAAa,EACb,6BAA6B,cAAc,GAAG,CAC/C,CAAA;YAED,kBAAkB;YAClB,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAC5D,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;YACD,eAAe,CAAC,cAAc,CAAC,CAAA;YAE/B,sCAAsC;YACtC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAgB;oBAC3B,SAAS,EAAE,MAAM,CAAC,IAAI;oBACtB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,WAAW,EAAE,cAAc;oBAC3B,MAAM,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC;oBAC1D,iEAAiE;iBAClE,CAAA;gBAED,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;YACvD,CAAC;YAED,wDAAwD;YACxD,sFAAsF;YACtF,IAAI,CAAC;gBACH,MAAM,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CACN,iCAAiC,MAAM,CAAC,IAAI,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CACnG,CAAA;YACH,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,OAAgB;gBACtB,SAAS,EAAE,MAAM,CAAC,IAAI;gBACtB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC;gBAC/D,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;gBACvC,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM;oBAC3C,CAAC,CAAC,OAAO,CAAC,aAAa;oBACvB,CAAC,CAAC,SAAS;gBACb,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,EAAE,MAAM;oBACjD,CAAC,CAAC,OAAO,CAAC,gBAAgB;oBAC1B,CAAC,CAAC,SAAS;gBACb,OAAO,EAAE,yCAAyC,cAAc,GAAG;aACpE,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,UAAkB,EAClB,OAAoB;QAEpB,QAAQ,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAA;QAEnD,yDAAyD;QACzD,MAAM,WAAW,GAAG,IAAI,CACtB,MAAM,EAAE,EACR,kBAAkB,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAC3E,CAAA;QACD,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAEvE,IAAI,CAAC;YACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE;oBACjC,GAAG,EAAE;wBACH,GAAG,OAAO,CAAC,GAAG;wBACd,iDAAiD;wBACjD,cAAc,EAAE,WAAW;wBAC3B,6CAA6C;wBAC7C,gBAAgB,EAAE,OAAO,CAAC,SAAS;wBACnC,eAAe,EAAE,OAAO,CAAC,WAAW;wBACpC,sBAAsB,EAAE,OAAO,CAAC,gBAAgB,IAAI,EAAE;wBACtD,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;wBACjC,aAAa,EAAE,OAAO,CAAC,MAAM;qBAC9B;oBACD,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAA;gBAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBACxB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;wBACf,OAAO,EAAE,CAAA;oBACX,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC,CAAA;oBAChE,CAAC;gBACH,CAAC,CAAC,CAAA;gBAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC1B,CAAC,CAAC,CAAA;QACJ,CAAC;gBAAS,CAAC;YACT,wBAAwB;YACxB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,gBAAgB;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,OAAO;YACL,GAAG,CAAC,WAAW,EAAE;YACjB,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YAC3C,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YACtC,GAAG;YACH,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YACzC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;SAC1C,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACZ,CAAC;IAEO,SAAS,CAAC,GAAW;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;YAC3B,IAAI,MAAM,CAAC,QAAQ;gBAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAA;YAC5C,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,eAAe,CAAA;QACxB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,cAAc,CAC1B,MAAuB,EACvB,QAAgB;QAEhB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACrD,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAA;QAE3C,0CAA0C;QAC1C,IAAI,QAAQ,KAAK,MAAM,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAE7C,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,YAAY,CAClB,MAAuB,EACvB,MAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,OAAoB,EACpB,WAAoB;QAEpB,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAA;QAC3E,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAA;QACpD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;YACvC,SAAS,EAAE,MAAM,CAAC,IAAI;YACtB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ;YACR,WAAW,EAAE,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC;YACzD,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YACvD,SAAS,EAAE,UAAU;gBACnB,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAe,CAAC;gBACrD,CAAC,CAAC,SAAS;YACb,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;YACvC,cAAc,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM;gBAC3C,CAAC,CAAC,OAAO,CAAC,aAAa;gBACvB,CAAC,CAAC,SAAS;YACb,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,EAAE,MAAM;gBACjD,CAAC,CAAC,OAAO,CAAC,gBAAgB;gBAC1B,CAAC,CAAC,SAAS;YACb,OAAO,EAAE,2BAA2B;SACrC,CAAA;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA"}
@@ -0,0 +1,106 @@
1
+ import { rmSync } from 'node:fs';
2
+ import { logDebug } from './error-handler.js';
3
+ /**
4
+ * Removal of the temp dump a `--from-url` restore writes, on termination.
5
+ *
6
+ * A remote dump can run for a long time (a slow cross-continent source pulls
7
+ * hundreds of megabytes through `mariadb-dump`), and Layerbase Cloud runs the
8
+ * restore under a supervisor that SIGTERMs it at a deadline. Nothing used to
9
+ * remove the half-written `/tmp/spindb-dump-<timestamp>.dump` in that case:
10
+ * the `finally` blocks in the restore commands only run when the command
11
+ * itself returns or throws, and a signal skips them entirely. A killed import
12
+ * therefore left its partial dump behind inside the customer's container, once
13
+ * at 450 MB.
14
+ *
15
+ * The registry is process-wide and engine-agnostic: any path handed to
16
+ * `registerTempDump` is removed when the process is terminated, whichever
17
+ * engine wrote it. Removal is synchronous because a signal handler has no
18
+ * chance to await anything before the process goes away.
19
+ */
20
+ // SIGHUP is included because a restore driven over SSH or from a detached
21
+ // shell is terminated that way rather than with SIGTERM.
22
+ const TERMINATION_SIGNALS = ['SIGTERM', 'SIGINT', 'SIGHUP'];
23
+ // Conventional shell exit codes for a process killed by a signal: 128 plus the
24
+ // signal number. 143 for SIGTERM, 130 for SIGINT, 129 for SIGHUP.
25
+ const SIGNAL_EXIT_CODES = {
26
+ SIGTERM: 143,
27
+ SIGINT: 130,
28
+ SIGHUP: 129,
29
+ };
30
+ const pendingDumps = new Set();
31
+ const pendingChildren = new Set();
32
+ let handlersInstalled = false;
33
+ let terminating = false;
34
+ function removePendingDumps() {
35
+ for (const path of pendingDumps) {
36
+ try {
37
+ rmSync(path, { recursive: true, force: true });
38
+ }
39
+ catch (error) {
40
+ // Nothing useful can be done about a temp file that will not delete, and
41
+ // the process is on its way out.
42
+ logDebug(`Failed to remove temp dump ${path}: ${String(error)}`);
43
+ }
44
+ }
45
+ pendingDumps.clear();
46
+ }
47
+ function killPendingChildren(signal) {
48
+ for (const child of pendingChildren) {
49
+ try {
50
+ child.kill(signal);
51
+ }
52
+ catch (error) {
53
+ logDebug(`Failed to signal dump process: ${String(error)}`);
54
+ }
55
+ }
56
+ pendingChildren.clear();
57
+ }
58
+ function installHandlers() {
59
+ if (handlersInstalled)
60
+ return;
61
+ handlersInstalled = true;
62
+ for (const signal of TERMINATION_SIGNALS) {
63
+ process.on(signal, () => {
64
+ // A supervisor that sends SIGTERM and then SIGKILL can land a second
65
+ // signal while the first is still being handled.
66
+ if (terminating)
67
+ return;
68
+ terminating = true;
69
+ killPendingChildren(signal);
70
+ removePendingDumps();
71
+ process.exit(SIGNAL_EXIT_CODES[signal]);
72
+ });
73
+ }
74
+ }
75
+ /**
76
+ * Track a temp dump path so it is removed if the process is terminated.
77
+ * Returns the release callback, which the caller runs once it has cleaned the
78
+ * file up itself (its own `finally` still owns the normal paths).
79
+ */
80
+ export function registerTempDump(path) {
81
+ pendingDumps.add(path);
82
+ installHandlers();
83
+ return () => releaseTempDump(path);
84
+ }
85
+ /** Stop tracking a temp dump the caller has already removed. */
86
+ export function releaseTempDump(path) {
87
+ pendingDumps.delete(path);
88
+ }
89
+ /**
90
+ * Track the dump child so a termination kills it instead of orphaning a client
91
+ * that keeps writing. Node puts a non-detached child in our own process group,
92
+ * so a group-wide kill already reaches it; this covers a signal aimed at the
93
+ * spindb pid alone.
94
+ */
95
+ export function trackDumpProcess(child) {
96
+ pendingChildren.add(child);
97
+ installHandlers();
98
+ return () => {
99
+ pendingChildren.delete(child);
100
+ };
101
+ }
102
+ /** Test-only view of what would be removed on termination. */
103
+ export function getPendingTempDumps() {
104
+ return [...pendingDumps];
105
+ }
106
+ //# sourceMappingURL=temp-dump-cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temp-dump-cleanup.js","sourceRoot":"","sources":["../../core/temp-dump-cleanup.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { UnsupportedOperationError } from '../core/error-handler.js';
2
+ import { probeDatabasePresence, } from '../core/database-presence.js';
2
3
  import { stopPgweb } from '../core/pgweb-utils.js';
3
4
  /**
4
5
  * Base class for database engines
@@ -211,12 +212,29 @@ export class BaseEngine {
211
212
  * - CockroachDB: defaultdb, postgres, system
212
213
  *
213
214
  * @param container - The container configuration
215
+ * @param options - Optional abort signal (honored by the engines with
216
+ * durable database existence; see core/database-capabilities.ts)
214
217
  * @returns Array of database names (excluding system databases)
215
218
  * @throws Error if the engine doesn't support multiple databases or listing
216
219
  */
217
- async listDatabases(_container) {
220
+ async listDatabases(_container, _options) {
218
221
  throw new UnsupportedOperationError('listDatabases', this.displayName);
219
222
  }
223
+ /**
224
+ * Whether a database exists on the running server, built on listDatabases.
225
+ * Never throws. Returns 'unknown' for engines without durable database
226
+ * existence (see core/database-capabilities.ts), when the listing fails,
227
+ * or when the listing cannot speak for the name (a filtered system
228
+ * database). An empty database counts as present.
229
+ */
230
+ async databaseExists(container, name) {
231
+ const { presence } = await probeDatabasePresence({
232
+ engine: this,
233
+ container,
234
+ name,
235
+ });
236
+ return presence;
237
+ }
220
238
  /**
221
239
  * Create a database user with the given credentials.
222
240
  * Returns credentials including connection string.
@@ -1 +1 @@
1
- {"version":3,"file":"base-engine.js","sourceRoot":"","sources":["../../engines/base-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-engine.js","sourceRoot":"","sources":["../../engines/base-engine.ts"],"names":[],"mappings":"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"}
@@ -1119,7 +1119,7 @@ export class ClickHouseEngine extends BaseEngine {
1119
1119
  /**
1120
1120
  * List all user databases, excluding system databases (system, information_schema, INFORMATION_SCHEMA).
1121
1121
  */
1122
- async listDatabases(container) {
1122
+ async listDatabases(container, options) {
1123
1123
  const { port, version } = container;
1124
1124
  const clickhouse = await this.getClickHouseClientPath(version);
1125
1125
  logDebug(`Listing databases on port ${port} with version ${version}`);
@@ -1135,6 +1135,7 @@ export class ClickHouseEngine extends BaseEngine {
1135
1135
  ];
1136
1136
  const proc = spawn(clickhouse, args, {
1137
1137
  stdio: ['ignore', 'pipe', 'pipe'],
1138
+ signal: options?.signal,
1138
1139
  });
1139
1140
  let stdout = '';
1140
1141
  let stderr = '';