cross-seed 7.0.0-23 → 7.0.0-25

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 (100) hide show
  1. package/dist/clients/Deluge.d.ts +14 -0
  2. package/dist/clients/Deluge.js +145 -47
  3. package/dist/clients/Deluge.js.map +1 -1
  4. package/dist/cmd.js +11 -4
  5. package/dist/cmd.js.map +1 -1
  6. package/dist/configCli.d.ts +13 -0
  7. package/dist/configCli.js +248 -0
  8. package/dist/configCli.js.map +1 -0
  9. package/dist/configDaemonDiscovery.d.ts +12 -0
  10. package/dist/configDaemonDiscovery.js +117 -0
  11. package/dist/configDaemonDiscovery.js.map +1 -0
  12. package/dist/daemonSettings.d.ts +1 -0
  13. package/dist/daemonSettings.js +40 -0
  14. package/dist/daemonSettings.js.map +1 -0
  15. package/dist/dataFiles.d.ts +1 -0
  16. package/dist/dataFiles.js +29 -12
  17. package/dist/dataFiles.js.map +1 -1
  18. package/dist/db.js +6 -17
  19. package/dist/db.js.map +1 -1
  20. package/dist/ensemble.d.ts +4 -0
  21. package/dist/ensemble.js +35 -0
  22. package/dist/ensemble.js.map +1 -0
  23. package/dist/ensembleCleanup.d.ts +3 -0
  24. package/dist/ensembleCleanup.js +49 -0
  25. package/dist/ensembleCleanup.js.map +1 -0
  26. package/dist/libraryInventory.js +13 -6
  27. package/dist/libraryInventory.js.map +1 -1
  28. package/dist/migrations/17-api-key-settings-json.js +4 -4
  29. package/dist/migrations/17-api-key-settings-json.js.map +1 -1
  30. package/dist/migrations/20-ensemble-identity.d.ts +16 -0
  31. package/dist/migrations/20-ensemble-identity.js +55 -0
  32. package/dist/migrations/20-ensemble-identity.js.map +1 -0
  33. package/dist/migrations/migrations.js +2 -0
  34. package/dist/migrations/migrations.js.map +1 -1
  35. package/dist/server.js +25 -8
  36. package/dist/server.js.map +1 -1
  37. package/dist/settingsApi.d.ts +140 -0
  38. package/dist/settingsApi.js +71 -0
  39. package/dist/settingsApi.js.map +1 -0
  40. package/dist/settingsPersistence.d.ts +13 -0
  41. package/dist/settingsPersistence.js +90 -0
  42. package/dist/settingsPersistence.js.map +1 -0
  43. package/dist/settingsService.d.ts +13 -0
  44. package/dist/settingsService.js +82 -0
  45. package/dist/settingsService.js.map +1 -0
  46. package/dist/startup.js +11 -0
  47. package/dist/startup.js.map +1 -1
  48. package/dist/torrent.d.ts +1 -0
  49. package/dist/torrent.js +11 -9
  50. package/dist/torrent.js.map +1 -1
  51. package/dist/trpc/index.d.ts +3 -0
  52. package/dist/trpc/index.js +5 -0
  53. package/dist/trpc/index.js.map +1 -1
  54. package/dist/trpc/routers/index.d.ts +147 -47
  55. package/dist/trpc/routers/index.js +2 -0
  56. package/dist/trpc/routers/index.js.map +1 -1
  57. package/dist/trpc/routers/searchees.d.ts +51 -0
  58. package/dist/trpc/routers/searchees.js +90 -0
  59. package/dist/trpc/routers/searchees.js.map +1 -0
  60. package/dist/trpc/routers/settings.d.ts +11 -47
  61. package/dist/trpc/routers/settings.js +28 -108
  62. package/dist/trpc/routers/settings.js.map +1 -1
  63. package/dist/webui/assets/{Page-CKwSnUie.js → Page-DZliN5uq.js} +1 -1
  64. package/dist/webui/assets/{array-field-DM2mAVqa.js → array-field-r4mZ7Df8.js} +1 -1
  65. package/dist/webui/assets/clients-Cp7Z54LL.js +1 -0
  66. package/dist/webui/assets/{connect-BM7yGLAl.js → connect-CiF2qt0u.js} +1 -1
  67. package/dist/webui/assets/{debug-C8d57uIb.js → debug-6vXdM70g.js} +1 -1
  68. package/dist/webui/assets/directories-DJ0k8uUz.js +1 -0
  69. package/dist/webui/assets/{duration-field-w-qiOS_S.js → duration-field-IvZzwy__.js} +1 -1
  70. package/dist/webui/assets/{general-2HmkyF5T.js → general-CZ_wBZGu.js} +1 -1
  71. package/dist/webui/assets/{health-D6tv4ioy.js → health-C2yQuZ9t.js} +1 -1
  72. package/dist/webui/assets/index-5sKeftdo.css +2 -0
  73. package/dist/webui/assets/{index-NlorOk2I.js → index-CPUKAmG5.js} +3 -3
  74. package/dist/webui/assets/{jobs-Do8vAIqy.js → jobs-DPKgnREl.js} +1 -1
  75. package/dist/webui/assets/{library-B1r1nAY-.js → library-CEbjahsU.js} +1 -1
  76. package/dist/webui/assets/{logs-_rm8bxf-.js → logs-CuFc7mYz.js} +1 -1
  77. package/dist/webui/assets/{number-field-CeKyqI7R.js → number-field-DNxIukPn.js} +1 -1
  78. package/dist/webui/assets/{required-indicator-Ba9NOQEP.js → required-indicator-BjPagUoL.js} +1 -1
  79. package/dist/webui/assets/{routes-Djgf7dZI.js → routes-CnZfmsSD.js} +1 -1
  80. package/dist/webui/assets/{search-DGY0ui92.js → search-DyW8k4LA.js} +1 -1
  81. package/dist/webui/assets/{select-BzZ418Yt.js → select-D1_fvqIj.js} +1 -1
  82. package/dist/webui/assets/select-field-BLiAWy3g.js +1 -0
  83. package/dist/webui/assets/settings-D3vTob4L.js +1 -0
  84. package/dist/webui/assets/{sidebar-Qy-rYdhU.js → sidebar-ClCnahDY.js} +1 -1
  85. package/dist/webui/assets/{submit-button-Bx2Dvr03.js → submit-button-BTVzB82z.js} +1 -1
  86. package/dist/webui/assets/{switch-field-p-JPVVvW.js → switch-field-Brqe7IGe.js} +1 -1
  87. package/dist/webui/assets/{text-field-B0a3dEGb.js → text-field-CpIyPyCp.js} +1 -1
  88. package/dist/webui/assets/{trackers-DG-YCaaO.js → trackers-CWC_G6v8.js} +1 -1
  89. package/dist/webui/assets/{use-settings-form-submit-CDmMUcwW.js → use-settings-form-submit-DrcCH5ph.js} +3 -3
  90. package/dist/webui/index.html +3 -3
  91. package/node_modules/@cross-seed/shared/dist/configSchema.d.ts.map +1 -1
  92. package/node_modules/@cross-seed/shared/dist/configSchema.js +143 -39
  93. package/node_modules/@cross-seed/shared/dist/configSchema.js.map +1 -1
  94. package/node_modules/@cross-seed/shared/dist/tsconfig.tsbuildinfo +1 -1
  95. package/package.json +4 -1
  96. package/dist/webui/assets/clients-B5C80D0F.js +0 -1
  97. package/dist/webui/assets/directories-DkJnb01t.js +0 -1
  98. package/dist/webui/assets/index-UQKt4Igp.css +0 -2
  99. package/dist/webui/assets/select-field-DsBowTDT.js +0 -1
  100. package/dist/webui/assets/settings-B4G8vHXc.js +0 -1
@@ -15,6 +15,9 @@ export default class Deluge implements TorrentClient {
15
15
  readonly delugeLabel = "cross-seed";
16
16
  readonly delugeLabelSuffix = ".cross-seed";
17
17
  private isLabelEnabled;
18
+ private authPromise;
19
+ private connectionPromise;
20
+ private connectionGeneration;
18
21
  private delugeRequestId;
19
22
  constructor(url: string, clientHost: string, priority: number, readonly: boolean);
20
23
  /**
@@ -25,6 +28,17 @@ export default class Deluge implements TorrentClient {
25
28
  * connects and authenticates to the webui
26
29
  */
27
30
  authenticate(): Promise<void>;
31
+ private doAuthenticate;
32
+ private ensureDaemonConnected;
33
+ private connectDaemon;
34
+ private getTorrents;
35
+ /**
36
+ * ensures authentication and sends JSON-RPC calls to deluge
37
+ * @param method RPC method to send (usually prefaced with module name)
38
+ * @param params parameters for the method (usually in an array)
39
+ * @param retries specify a retry count (optional)
40
+ * @return a promised Result of the specified ResultType or an ErrorType
41
+ */
28
42
  private call;
29
43
  /**
30
44
  * parses the set-cookie header and updates stored value
@@ -31,7 +31,10 @@ export default class Deluge {
31
31
  delugeCookie = null;
32
32
  delugeLabel = TORRENT_TAG;
33
33
  delugeLabelSuffix = TORRENT_CATEGORY_SUFFIX;
34
- isLabelEnabled;
34
+ isLabelEnabled = false;
35
+ authPromise = null;
36
+ connectionPromise = null;
37
+ connectionGeneration = 0;
35
38
  delugeRequestId = 0;
36
39
  constructor(url, clientHost, priority, readonly) {
37
40
  this.url = url;
@@ -50,7 +53,6 @@ export default class Deluge {
50
53
  label: this.label,
51
54
  message: `Logged in successfully${this.readonly ? " (readonly)" : ""}`,
52
55
  });
53
- await this.call("auth.delete_session", [], 0);
54
56
  if (!torrentDir)
55
57
  return;
56
58
  if (!(await readdir(torrentDir)).some((f) => f.endsWith(".state"))) {
@@ -61,38 +63,76 @@ export default class Deluge {
61
63
  * connects and authenticates to the webui
62
64
  */
63
65
  async authenticate() {
66
+ if (this.authPromise)
67
+ return this.authPromise;
68
+ if (this.delugeCookie)
69
+ return;
70
+ this.authPromise = this.doAuthenticate()
71
+ .catch((error) => {
72
+ this.delugeCookie = null;
73
+ throw error;
74
+ })
75
+ .finally(() => {
76
+ this.authPromise = null;
77
+ });
78
+ return this.authPromise;
79
+ }
80
+ async doAuthenticate() {
64
81
  const { href, password } = extractCredentialsFromUrl(this.url).unwrapOrThrow(new CrossSeedError(`[${this.label}] The Deluge WebUI URL must be percent-encoded`));
65
82
  if (!password) {
66
83
  throw new CrossSeedError(`[${this.label}] You need to define a password in the Deluge WebUI URL. (e.g. http://:<PASSWORD>@localhost:8112)`);
67
84
  }
68
85
  try {
69
86
  const authResponse = (await this.call("auth.login", [password], 0)).unwrapOrThrow(new Error(`[${this.label}] failed to connect for authentication`));
70
- if (!authResponse) {
87
+ if (!authResponse || !this.delugeCookie) {
71
88
  throw new CrossSeedError(`[${this.label}] Reached Deluge, but failed to authenticate: ${href}`);
72
89
  }
73
90
  }
74
91
  catch (networkError) {
75
92
  throw new CrossSeedError(errorMessage(networkError));
76
93
  }
77
- const isConnectedResponse = await this.call("web.connected", [], 0);
78
- if (isConnectedResponse.isOk() && !isConnectedResponse.unwrap()) {
79
- logger.warn({
80
- label: this.label,
81
- message: "Deluge WebUI disconnected from daemon...attempting to reconnect.",
94
+ await this.ensureDaemonConnected();
95
+ this.isLabelEnabled = await this.labelEnabled();
96
+ }
97
+ async ensureDaemonConnected() {
98
+ if (!this.connectionPromise) {
99
+ this.connectionPromise = this.connectDaemon().finally(() => {
100
+ this.connectionPromise = null;
82
101
  });
83
- const webuiHostList = (await this.call("web.get_hosts", [], 0)).unwrapOrThrow(new Error(`[${this.label}] failed to get host-list for reconnect`));
84
- const connectResponse = await this.call("web.connect", [webuiHostList[0][0]], 0);
85
- if (connectResponse.isOk() && connectResponse.unwrap()) {
86
- logger.info({
87
- label: this.label,
88
- message: "Deluge WebUI connected to the daemon.",
89
- });
90
- }
91
- else {
92
- throw new CrossSeedError(`[${this.label}] Unable to connect WebUI to Deluge daemon. Connect to the WebUI to resolve this.`);
93
- }
94
102
  }
95
- this.isLabelEnabled = await this.labelEnabled();
103
+ return this.connectionPromise;
104
+ }
105
+ async connectDaemon() {
106
+ const connected = (await this.call("web.connected", [], 0)).unwrapOrThrow(new Error("Failed to read Deluge daemon connection state"));
107
+ if (connected)
108
+ return;
109
+ const hosts = (await this.call("web.get_hosts", [], 0)).unwrapOrThrow(new Error("Failed to read Deluge hosts"));
110
+ if (!hosts.length)
111
+ throw new CrossSeedError(`[${this.label}] No Deluge daemon is configured in the WebUI.`);
112
+ const result = await this.call("web.connect", [hosts[0][0]], 0);
113
+ const afterConnect = await this.call("web.connected", [], 0);
114
+ if (result.isErr() || afterConnect.isErr() || !afterConnect.unwrap()) {
115
+ throw new CrossSeedError(`[${this.label}] Unable to connect WebUI to Deluge daemon.`);
116
+ }
117
+ this.connectionGeneration++;
118
+ }
119
+ // Core status with diff=false bypasses both SessionProxy and daemon diff state.
120
+ // Single-torrent lookups avoid fetching the entire client's inventory.
121
+ async getTorrents([fields, filter]) {
122
+ if (filter.hash) {
123
+ const hash = filter.hash.toLowerCase();
124
+ const response = await this.call("core.get_torrent_status", [hash, fields, false]);
125
+ return response.mapOk((torrent) => {
126
+ if (!torrent || typeof torrent !== "object")
127
+ throw new Error("Missing torrent status in Deluge response");
128
+ return Object.keys(torrent).length ? { [hash]: torrent } : {};
129
+ });
130
+ }
131
+ return this.call("core.get_torrents_status", [
132
+ {},
133
+ fields,
134
+ false,
135
+ ]);
96
136
  }
97
137
  /**
98
138
  * ensures authentication and sends JSON-RPC calls to deluge
@@ -102,6 +142,19 @@ export default class Deluge {
102
142
  * @return a promised Result of the specified ResultType or an ErrorType
103
143
  */
104
144
  async call(method, params, retries = 1) {
145
+ if (retries > 0 && method !== "auth.login") {
146
+ await this.authenticate();
147
+ // Deluge 2.0 can leave core requests unanswered while disconnected.
148
+ // Check the connection before dispatch, without reconnecting a
149
+ // healthy daemon or resetting its WebUI cache.
150
+ if (method.startsWith("core.") || method.startsWith("label.")) {
151
+ const connected = (await this.call("web.connected", [])).unwrapOrThrow(new Error("Failed to read Deluge daemon connection state"));
152
+ if (!connected)
153
+ await this.ensureDaemonConnected();
154
+ }
155
+ }
156
+ const requestCookie = this.delugeCookie;
157
+ const connectionGeneration = this.connectionGeneration;
105
158
  const truncate = (message) => message.length > 1000 ? `${message.slice(0, 1000)}...` : message;
106
159
  const { href } = extractCredentialsFromUrl(this.url).unwrapOrThrow(new CrossSeedError(`[${this.label}] The Deluge WebUI URL must be percent-encoded`));
107
160
  const message = method === "auth.login"
@@ -165,7 +218,9 @@ export default class Deluge {
165
218
  }
166
219
  }
167
220
  if (json.error?.code === DelugeErrorCode.NO_AUTH && retries > 0) {
168
- this.delugeCookie = null;
221
+ // A late failure from an old session must not invalidate a newer login.
222
+ if (this.delugeCookie === requestCookie)
223
+ this.delugeCookie = null;
169
224
  await this.authenticate();
170
225
  if (this.delugeCookie) {
171
226
  return this.call(method, params, 0);
@@ -174,7 +229,22 @@ export default class Deluge {
174
229
  throw new Error(`[${this.label}] Connection lost with Deluge. Re-authentication failed.`);
175
230
  }
176
231
  }
177
- this.handleResponseHeaders(response.headers);
232
+ if (method === "auth.login" || this.delugeCookie === requestCookie) {
233
+ this.handleResponseHeaders(response.headers);
234
+ }
235
+ if (json.error &&
236
+ retries > 0 &&
237
+ (method.startsWith("core.") || method.startsWith("label."))) {
238
+ const connected = await this.call("web.connected", [], 0);
239
+ if (connected.isOk() && !connected.unwrap()) {
240
+ await this.ensureDaemonConnected();
241
+ }
242
+ // Another caller may already have repaired the connection while this
243
+ // request was in flight. Retry against that connection only once.
244
+ if (this.connectionGeneration !== connectionGeneration) {
245
+ return this.call(method, params, 0);
246
+ }
247
+ }
178
248
  if (json.error) {
179
249
  return resultOfErr(json.error);
180
250
  }
@@ -194,7 +264,7 @@ export default class Deluge {
194
264
  * @return boolean declaring whether the "Label" plugin is enabled
195
265
  */
196
266
  async labelEnabled() {
197
- const enabledPlugins = await this.call("core.get_enabled_plugins", []);
267
+ const enabledPlugins = await this.call("core.get_enabled_plugins", [], 0);
198
268
  if (enabledPlugins.isOk()) {
199
269
  return enabledPlugins.unwrap().includes("Label");
200
270
  }
@@ -273,17 +343,22 @@ export default class Deluge {
273
343
  * @param torrentInfo TorrentInfo from the searchee
274
344
  * @return string with the label for the newTorrent
275
345
  */
276
- calculateLabel(searchee, torrentInfo) {
346
+ calculateLabel(searchee, torrentInfo, destinationDir) {
277
347
  const { linkCategory, duplicateCategories } = getRuntimeConfig();
278
- if (!searchee.infoHash || !torrentInfo.label) {
279
- return this.delugeLabel;
348
+ // deluge labels all deal in lowercases, but label.set_torrent requires lowercase on lookup
349
+ // labels from deluge are already lowercase; only linkCategory from cross-seed configs could have uppers
350
+ const delugeLinkCategory = linkCategory?.toLowerCase();
351
+ const ogLabel = torrentInfo?.label || searchee.category;
352
+ if (!searchee.infoHash || !ogLabel) {
353
+ return destinationDir
354
+ ? delugeLinkCategory || this.delugeLabel
355
+ : this.delugeLabel;
280
356
  }
281
- const ogLabel = torrentInfo.label;
282
357
  if (!duplicateCategories) {
283
- return ogLabel;
358
+ return destinationDir ? delugeLinkCategory || ogLabel : ogLabel;
284
359
  }
285
360
  const shouldSuffixLabel = !ogLabel.endsWith(this.delugeLabelSuffix) && // no .cross-seed
286
- ogLabel !== linkCategory; // not data
361
+ ogLabel !== delugeLinkCategory; // not data
287
362
  return shouldSuffixLabel
288
363
  ? `${ogLabel}${this.delugeLabelSuffix}`
289
364
  : ogLabel;
@@ -381,7 +456,7 @@ export default class Deluge {
381
456
  }
382
457
  await wait(250);
383
458
  // addResponse is known to be OK
384
- await this.setLabel(newTorrent, this.calculateLabel(searchee, torrentInfo));
459
+ await this.setLabel(newTorrent, this.calculateLabel(searchee, torrentInfo, options.destinationDir));
385
460
  if (toRecheck) {
386
461
  // when paused, libtorrent doesnt start rechecking
387
462
  // leaves torrent ready to download - ~99%
@@ -439,7 +514,7 @@ export default class Deluge {
439
514
  { hash: meta.infoHash },
440
515
  ];
441
516
  try {
442
- response = await this.call("web.update_ui", params);
517
+ response = await this.getTorrents(params);
443
518
  }
444
519
  catch {
445
520
  return resultOfErr("UNKNOWN_ERROR");
@@ -447,14 +522,19 @@ export default class Deluge {
447
522
  if (!response.isOk()) {
448
523
  return resultOfErr("UNKNOWN_ERROR");
449
524
  }
450
- const torrentResponse = response.unwrap().torrents;
525
+ const torrentResponse = response.unwrap();
451
526
  if (!torrentResponse) {
452
527
  return resultOfErr("UNKNOWN_ERROR");
453
528
  }
454
- const torrent = torrentResponse[meta.infoHash];
529
+ const torrent = torrentResponse[meta.infoHash.toLowerCase()];
455
530
  if (!torrent) {
456
531
  return resultOfErr("NOT_FOUND");
457
532
  }
533
+ if (typeof torrent.save_path !== "string" ||
534
+ typeof torrent.progress !== "number" ||
535
+ typeof torrent.total_remaining !== "number" ||
536
+ typeof torrent.state !== "string")
537
+ return resultOfErr("UNKNOWN_ERROR");
458
538
  if (options.onlyCompleted && !this.isComplete(torrent)) {
459
539
  return resultOfErr("TORRENT_NOT_COMPLETE");
460
540
  }
@@ -474,7 +554,7 @@ export default class Deluge {
474
554
  {},
475
555
  ];
476
556
  try {
477
- response = await this.call("web.update_ui", params);
557
+ response = await this.getTorrents(params);
478
558
  }
479
559
  catch {
480
560
  return dirs;
@@ -482,11 +562,13 @@ export default class Deluge {
482
562
  if (!response.isOk()) {
483
563
  return dirs;
484
564
  }
485
- const torrentResponse = response.unwrap().torrents;
565
+ const torrentResponse = response.unwrap();
486
566
  if (!torrentResponse) {
487
567
  return dirs;
488
568
  }
489
569
  for (const [hash, torrent] of Object.entries(torrentResponse)) {
570
+ if (typeof torrent.save_path !== "string")
571
+ continue;
490
572
  if (options.onlyCompleted && !this.isComplete(torrent))
491
573
  continue;
492
574
  dirs.set(hash, torrent.save_path);
@@ -501,13 +583,13 @@ export default class Deluge {
501
583
  async isTorrentInClient(inputHash) {
502
584
  const infoHash = inputHash.toLowerCase();
503
585
  try {
504
- const params = [[], { hash: infoHash }];
505
- const torrentsRes = await this.call("web.update_ui", params);
586
+ const params = [["hash"], { hash: infoHash }];
587
+ const torrentsRes = await this.getTorrents(params);
506
588
  if (torrentsRes.isErr()) {
507
589
  const err = torrentsRes.unwrapErr();
508
590
  throw new Error(`${err.code ? err.code + ": " : ""}${err.message}`);
509
591
  }
510
- const torrents = torrentsRes.unwrap().torrents;
592
+ const torrents = torrentsRes.unwrap();
511
593
  if (!torrents)
512
594
  throw new Error("No torrents found");
513
595
  // torrents infoHash are already toLower() in deluge
@@ -556,11 +638,11 @@ export default class Deluge {
556
638
  */
557
639
  async getAllTorrents() {
558
640
  const params = [["hash", "label"], {}];
559
- const response = await this.call("web.update_ui", params);
641
+ const response = await this.getTorrents(params);
560
642
  if (!response.isOk()) {
561
643
  return [];
562
644
  }
563
- const torrents = response.unwrap().torrents;
645
+ const torrents = response.unwrap();
564
646
  if (!torrents) {
565
647
  return [];
566
648
  }
@@ -583,16 +665,18 @@ export default class Deluge {
583
665
  ["name", "label", "save_path", "total_size", "files", "trackers"],
584
666
  {},
585
667
  ];
586
- const torrentsRes = await this.call("web.update_ui", params);
668
+ const torrentsRes = await this.getTorrents(params);
587
669
  if (torrentsRes.isErr()) {
588
670
  logger.error({
589
671
  label: this.label,
590
672
  message: "Failed to get torrents from client",
591
673
  });
592
674
  logger.debug(torrentsRes.unwrapErr());
593
- return { searchees, newSearchees };
675
+ throw new Error("Failed to read Deluge inventory", {
676
+ cause: torrentsRes.unwrapErr(),
677
+ });
594
678
  }
595
- const torrents = torrentsRes.unwrap().torrents;
679
+ const torrents = torrentsRes.unwrap();
596
680
  if (!torrents)
597
681
  throw new Error("Missing torrent list in Deluge response");
598
682
  if (!Object.keys(torrents).length) {
@@ -606,6 +690,13 @@ export default class Deluge {
606
690
  for (const [hash, torrent] of Object.entries(torrents)) {
607
691
  const infoHash = hash.toLowerCase();
608
692
  infoHashes.add(infoHash);
693
+ if (!torrent.name ||
694
+ !torrent.save_path ||
695
+ !Array.isArray(torrent.files) ||
696
+ !Array.isArray(torrent.trackers) ||
697
+ typeof torrent.total_size !== "number") {
698
+ throw new Error(`Incomplete Deluge inventory response for ${infoHash}`);
699
+ }
609
700
  const dbTorrent = await db("client_searchee")
610
701
  .where("info_hash", infoHash)
611
702
  .where("client_host", this.clientHost)
@@ -686,9 +777,9 @@ export default class Deluge {
686
777
  ],
687
778
  { hash: infoHash },
688
779
  ];
689
- const response = (await this.call("web.update_ui", params)).unwrapOrThrow(new Error("failed to fetch the torrent list"));
690
- if (response.torrents) {
691
- torrent = response.torrents?.[infoHash];
780
+ const response = (await this.getTorrents(params)).unwrapOrThrow(new Error("failed to fetch the torrent list"));
781
+ if (response) {
782
+ torrent = response[infoHash.toLowerCase()];
692
783
  }
693
784
  else {
694
785
  throw new Error("Client returned unexpected response (object missing)");
@@ -696,6 +787,13 @@ export default class Deluge {
696
787
  if (torrent === undefined) {
697
788
  throw new Error(`Torrent not found in client (${infoHash})`);
698
789
  }
790
+ if (!torrent.name ||
791
+ !torrent.save_path ||
792
+ typeof torrent.state !== "string" ||
793
+ typeof torrent.progress !== "number" ||
794
+ typeof torrent.total_remaining !== "number") {
795
+ throw new Error(`Incomplete Deluge status for ${infoHash}`);
796
+ }
699
797
  const completedTorrent = this.isComplete(torrent);
700
798
  const torrentLabel = this.isLabelEnabled && torrent.label?.length != 0
701
799
  ? torrent.label
@@ -716,7 +814,7 @@ export default class Deluge {
716
814
  message: `Failed to fetch torrent data for ${infoHash}: ${errorMessage(e)}`,
717
815
  });
718
816
  logger.debug(e);
719
- throw new Error(`[${this.label}] web.update_ui: failed to fetch data from client`, {
817
+ throw new Error(`[${this.label}] core.get_torrent_status: failed to fetch data from client`, {
720
818
  cause: e,
721
819
  });
722
820
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Deluge.js","sourceRoot":"","sources":["../../src/clients/Deluge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Deluge.js","sourceRoot":"","sources":["../../src/clients/Deluge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAEN,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,UAAU,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAU,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAEN,oBAAoB,EACpB,UAAU,EAIV,sBAAsB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,YAAY,EACZ,yBAAyB,EACzB,YAAY,EACZ,gBAAgB,EAChB,IAAI,GACJ,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,sBAAsB,EAEtB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,gCAAgC,GAGhC,MAAM,oBAAoB,CAAC;AAmB5B,IAAK,eAMJ;AAND,WAAK,eAAe;IACnB,2DAAW,CAAA;IACX,iEAAc,CAAA;IACd,6DAAY,CAAA;IACZ,6DAAY,CAAA;IACZ,6DAAY,CAAA;AACb,CAAC,EANI,eAAe,KAAf,eAAe,QAMnB;AAoBD,MAAM,CAAC,OAAO,OAAO,MAAM;IACjB,GAAG,CAAS;IACZ,UAAU,CAAS;IACnB,cAAc,CAAS;IACvB,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1B,QAAQ,CAAU;IAClB,KAAK,CAAS;IACf,YAAY,GAAkB,IAAI,CAAC;IAClC,WAAW,GAAG,WAAW,CAAC;IAC1B,iBAAiB,GAAG,uBAAuB,CAAC;IAC7C,cAAc,GAAG,KAAK,CAAC;IACvB,WAAW,GAAyB,IAAI,CAAC;IACzC,iBAAiB,GAAyB,IAAI,CAAC;IAC/C,oBAAoB,GAAG,CAAC,CAAC;IACzB,eAAe,GAAW,CAAC,CAAC;IAEpC,YACC,GAAW,EACX,UAAkB,EAClB,QAAgB,EAChB,QAAiB;QAEjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QACnB,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,yBAAyB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;SACtE,CAAC,CAAC;QACH,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,cAAc,CACvB,IAAI,IAAI,CAAC,KAAK,mIAAmI,CACjJ,CAAC;QACH,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QACjB,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC,WAAW,CAAC;QAC9C,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE;aACtC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,MAAM,KAAK,CAAC;QACb,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,cAAc;QAC3B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,yBAAyB,CACnD,IAAI,CAAC,GAAG,CACR,CAAC,aAAa,CACd,IAAI,cAAc,CACjB,IAAI,IAAI,CAAC,KAAK,gDAAgD,CAC9D,CACD,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,cAAc,CACvB,IAAI,IAAI,CAAC,KAAK,mGAAmG,CACjH,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,YAAY,GAAG,CACpB,MAAM,IAAI,CAAC,IAAI,CAAU,YAAY,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CACrD,CAAC,aAAa,CACd,IAAI,KAAK,CACR,IAAI,IAAI,CAAC,KAAK,wCAAwC,CACtD,CACD,CAAC;YAEF,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACzC,MAAM,IAAI,cAAc,CACvB,IAAI,IAAI,CAAC,KAAK,iDAAiD,IAAI,EAAE,CACrE,CAAC;YACH,CAAC;QACF,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,cAAc,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,qBAAqB;QAClC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC1D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC/B,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,aAAa;QAC1B,MAAM,SAAS,GAAG,CACjB,MAAM,IAAI,CAAC,IAAI,CAAU,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CAChD,CAAC,aAAa,CACd,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAC1D,CAAC;QACF,IAAI,SAAS;YAAE,OAAO;QACtB,MAAM,KAAK,GAAG,CACb,MAAM,IAAI,CAAC,IAAI,CAAc,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CACpD,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,MAAM;YAChB,MAAM,IAAI,cAAc,CACvB,IAAI,IAAI,CAAC,KAAK,gDAAgD,CAC9D,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAC7B,aAAa,EACb,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACb,CAAC,CACD,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAU,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YACtE,MAAM,IAAI,cAAc,CACvB,IAAI,IAAI,CAAC,KAAK,6CAA6C,CAC3D,CAAC;QACH,CAAC;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC7B,CAAC;IAED,gFAAgF;IAChF,uEAAuE;IAC/D,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,MAAM,CAAc;QAGtD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAC/B,yBAAyB,EACzB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CACrB,CAAC;YACF,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE;gBACjC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;oBAC1C,MAAM,IAAI,KAAK,CACd,2CAA2C,CAC3C,CAAC;gBACH,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAgB,0BAA0B,EAAE;YAC3D,EAAE;YACF,MAAM;YACN,KAAK;SACL,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,IAAI,CACjB,MAAc,EACd,MAAiB,EACjB,OAAO,GAAG,CAAC;QAEX,IAAI,OAAO,GAAG,CAAC,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,oEAAoE;YACpE,+DAA+D;YAC/D,+CAA+C;YAC/C,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/D,MAAM,SAAS,GAAG,CACjB,MAAM,IAAI,CAAC,IAAI,CAAU,eAAe,EAAE,EAAE,CAAC,CAC7C,CAAC,aAAa,CACd,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAC1D,CAAC;gBACF,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACpD,CAAC;QACF,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACvD,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,EAAE,CACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;QAClE,MAAM,EAAE,IAAI,EAAE,GAAG,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CACjE,IAAI,cAAc,CACjB,IAAI,IAAI,CAAC,KAAK,gDAAgD,CAC9D,CACD,CAAC;QAEF,MAAM,OAAO,GACZ,MAAM,KAAK,YAAY;YACtB,CAAC,CAAC,iCAAiC,MAAM,EAAE;YAC3C,CAAC,CAAC,kBAAkB,MAAM,gBAAgB,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9F,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAElE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC3B,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE,UAAU;SACxB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhE,oEAAoE;QACpE,gEAAgE;QAChE,kEAAkE;QAClE,iEAAiE;QACjE,MAAM,gBAAgB,GAAG,CAAC,CAAC;QAC3B,IAAI,QAAkB,EAAE,IAA4B,CAAC;QACrD,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC;gBACJ,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACpB,MAAM;wBACN,MAAM;wBACN,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE;qBAC1B,CAAC;oBACF,MAAM,EAAE,MAAM;oBACd,OAAO;oBACP,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;iBAC7C,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACvB,MAAM,OAAO,GACZ,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,IAAI,OAAO,KAAK,YAAY,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;oBAC5D,MAAM,IAAI,KAAK,CACd,IAAI,IAAI,CAAC,KAAK,mBAAmB,MAAM,6BAA6B,CACpE,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CACd,IAAI,IAAI,CAAC,KAAK,oCAAoC,IAAI,EAAE,EACxD,EAAE,KAAK,EAAE,YAAY,EAAE,CACvB,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,OAAO,CAAC;oBACd,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,iBAAiB,MAAM,uBAAuB,gBAAgB,GAAG,OAAO,uBAAuB,YAAY,CAAC,YAAY,CAAC,EAAE;iBACpI,CAAC,CAAC;gBACH,MAAM,IAAI,CACT,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CACzD,CAAC;gBACF,SAAS;YACV,CAAC;YACD,IAAI,CAAC;gBACJ,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA2B,CAAC;gBACzD,MAAM;YACP,CAAC;YAAC,OAAO,cAAc,EAAE,CAAC;gBACzB,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CACd,IAAI,IAAI,CAAC,KAAK,mBAAmB,MAAM,0BAA0B,cAAc,EAAE,CACjF,CAAC;gBACH,CAAC;gBACD,MAAM,CAAC,OAAO,CAAC;oBACd,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,iBAAiB,MAAM,kCAAkC,gBAAgB,GAAG,OAAO,uBAAuB,YAAY,CAAC,cAAc,CAAC,EAAE;iBACjJ,CAAC,CAAC;gBACH,MAAM,IAAI,CACT,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CACzD,CAAC;gBACF,SAAS;YACV,CAAC;QACF,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,eAAe,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACjE,wEAAwE;YACxE,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAClE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,IAAI,CAAa,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACd,IAAI,IAAI,CAAC,KAAK,0DAA0D,CACxE,CAAC;YACH,CAAC;QACF,CAAC;QACD,IAAI,MAAM,KAAK,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,aAAa,EAAE,CAAC;YACpE,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,IACC,IAAI,CAAC,KAAK;YACV,OAAO,GAAG,CAAC;YACX,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAC1D,CAAC;YACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAU,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACnE,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC7C,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACpC,CAAC;YACD,qEAAqE;YACrE,kEAAkE;YAClE,IAAI,IAAI,CAAC,oBAAoB,KAAK,oBAAoB,EAAE,CAAC;gBACxD,OAAO,IAAI,CAAC,IAAI,CAAa,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC;QACF,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,OAAgB;QAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,YAAY;QACzB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CACrC,0BAA0B,EAC1B,EAAE,EACF,CAAC,CACD,CAAC;QACF,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3B,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACpB,IAAc,EACd,QAA0B,EAC1B,OAA+B;QAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,SAAS,GAAG,eAAe,CAAC;QAChC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;QACrC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC9B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;YACb,CAAC;YACD,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,IAAI,WAAoC,CAAC;YACzC,IAAI,UAAkB,CAAC;YACvB,IAAI,CAAC;gBACJ,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAClD,IAAI,WAAW,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;oBACtC,SAAS;gBACV,CAAC;gBACD,UAAU,GAAG,GAAG,WAAW,CAAC,IAAI,KAAK,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACnE,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC;wBACX,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,OAAO,EAAE,mBAAmB,UAAU,cAAc,WAAW,CAAC,KAAK,EAAE;qBACvE,CAAC,CAAC;oBACH,OAAO;gBACR,CAAC;gBACD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE;oBAC9D,UAAU;oBACV,KAAK,EAAE,IAAI,CAAC,KAAK;iBACjB,CAAC,CAAC;gBACH,IAAI,WAAW,CAAC,eAAgB,GAAG,iBAAiB,EAAE,CAAC;oBACtD,IACC,CAAC,gCAAgC,CAChC,IAAI,EACJ,WAAW,CAAC,eAAgB,EAC5B,QAAQ,EACR,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CACjC,EACA,CAAC;wBACF,MAAM,CAAC,IAAI,CAAC;4BACX,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,OAAO,EAAE,yCAAyC,UAAU,mBAAmB,iBAAiB,CAAC,WAAW,CAAC,eAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,QAAQ;yBACpN,CAAC,CAAC;wBACH,OAAO;oBACR,CAAC;gBACF,CAAC;YACF,CAAC;YAAC,MAAM,CAAC;gBACR,SAAS,GAAG,kBAAkB,CAAC,CAAC,kCAAkC;gBAClE,SAAS;YACV,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,YAAY,UAAU,KAAK,iBAAiB,CAAC,WAAW,CAAC,eAAgB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,YAAY;aACjH,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAS,qBAAqB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7D,OAAO;QACR,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,2BAA2B,QAAQ,WAAW;SACvD,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,cAAc,CACrB,QAAkB,EAClB,WAAoC,EACpC,cAAuB;QAEvB,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,EAAE,CAAC;QACjE,2FAA2F;QAC3F,wGAAwG;QACxG,MAAM,kBAAkB,GAAG,YAAY,EAAE,WAAW,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,WAAW,EAAE,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,cAAc;gBACpB,CAAC,CAAC,kBAAkB,IAAI,IAAI,CAAC,WAAW;gBACxC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1B,OAAO,cAAc,CAAC,CAAC,CAAC,kBAAkB,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QACjE,CAAC;QACD,MAAM,iBAAiB,GACtB,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,iBAAiB;YAC9D,OAAO,KAAK,kBAAkB,CAAC,CAAC,WAAW;QAE5C,OAAO,iBAAiB;YACvB,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE;YACvC,CAAC,CAAC,OAAO,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,QAAQ,CAAC,UAAoB,EAAE,KAAa;QACzD,IAAI,SAAkC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QACjC,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,IAAI,CACvC,kBAAkB,EAClB,EAAE,CACF,CAAC;YACF,IAAI,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC/C,CAAC;YACD,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAO,mBAAmB,EAAE;oBACtD,UAAU,CAAC,QAAQ;oBACnB,KAAK;iBACL,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,CAAC,IAAI,CAAO,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5C,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAO,mBAAmB,EAAE;oBACtD,UAAU,CAAC,QAAQ;oBACnB,KAAK;iBACL,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;QACF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,mBAAmB,YAAY,CAAC,UAAU,CAAC,OAAO,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE;aACtF,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CACX,UAAoB,EACpB,QAAkB,EAClB,QAA0B,EAC1B,OAA4D;QAE5D,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,SAAS,CAAC,KAAK,EAAE;gBAAE,OAAO,eAAe,CAAC,OAAO,CAAC;YACtD,IAAI,SAAS,CAAC,MAAM,EAAE;gBAAE,OAAO,eAAe,CAAC,cAAc,CAAC;YAC9D,IAAI,WAAoC,CAAC;YACzC,IAAI,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAChD,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC3D,IAAI,CAAC,WAAW,CAAC,QAAQ;oBACxB,OAAO,eAAe,CAAC,oBAAoB,CAAC;YAC9C,CAAC;YACD,IACC,CAAC,OAAO,CAAC,cAAc;gBACvB,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,WAAY,CAAC,EACpC,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC;oBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,sBAAsB,YAAY,CAAC,QAAQ,CAAC,6BAA6B;iBAClF,CAAC,CAAC;gBACH,OAAO,eAAe,CAAC,OAAO,CAAC;YAChC,CAAC;YAED,MAAM,eAAe,GAAG,GAAG,UAAU,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;YACnF,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClE,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc;gBAC5C,CAAC,CAAC,OAAO,CAAC,cAAc;gBACxB,CAAC,CAAC,WAAY,CAAC,SAAU,CAAC;YAC3B,MAAM,SAAS,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAC7B,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,SAAS,CACT,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAClC,uBAAuB,EACvB,MAAM,CACN,CAAC;YAEF,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;gBACpC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrC,OAAO,eAAe,CAAC,cAAc,CAAC;gBACvC,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC;oBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,qBAAqB,GAAG,CAAC,OAAO,EAAE;iBAC3C,CAAC,CAAC;gBACH,OAAO,eAAe,CAAC,OAAO,CAAC;YAChC,CAAC;YACD,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,gCAAgC;YAChC,MAAM,IAAI,CAAC,QAAQ,CAClB,UAAU,EACV,IAAI,CAAC,cAAc,CAClB,QAAQ,EACR,WAAW,EACX,OAAO,CAAC,cAAc,CACtB,CACD,CAAC;YAEF,IAAI,SAAS,EAAE,CAAC;gBACf,kDAAkD;gBAClD,0CAA0C;gBAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC/C,eAAe,CACd,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,QAAQ,EAAE;oBAC1C,SAAS,EAAE,KAAK;iBAChB,CAAC,CACF,CAAC;YACH,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC;gBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,qBAAqB,KAAK,EAAE;aACrC,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,eAAe,CAAC,OAAO,CAAC;QAChC,CAAC;QACD,OAAO,eAAe,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACpC,2DAA2D;QAC3D,MAAM,IAAI,CAAC,IAAI,CAAS,oBAAoB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,IAAI,CAAS,oBAAoB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACK,UAAU,CACjB,QAAgB,EAChB,QAAgB,EAChB,cAAsB,EACtB,SAAkB;QAElB,OAAO;YACN,QAAQ;YACR,QAAQ;YACR;gBACC,UAAU,EAAE,SAAS;gBACrB,SAAS,EAAE,CAAC,SAAS;gBACrB,iBAAiB,EAAE,cAAc;aACjC;SACD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CACnB,IAAqC,EACrC,OAAmC;QAInC,IAAI,QAA0C,CAAC;QAC/C,MAAM,MAAM,GAAgB;YAC3B,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC;YACrD,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;SACvB,CAAC;QACF,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,WAAW,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACtB,OAAO,WAAW,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,OAAO,WAAW,CAAC,eAAe,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;QACD,IACC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;YACrC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YACpC,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ;YAC3C,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YAEjC,OAAO,WAAW,CAAC,eAAe,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,OAAO,WAAW,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAExB;QACA,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,IAAI,QAA0C,CAAC;QAC/C,MAAM,MAAM,GAAgB;YAC3B,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC;YACrD,EAAE;SACF,CAAC;QACF,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,CAAC;QACb,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/D,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ;gBAAE,SAAS;YACpD,IAAI,OAAO,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS;YACjE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CACtB,SAAiB;QAEjB,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC;YACJ,MAAM,MAAM,GAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACd,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAClD,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACpD,oDAAoD;YACpD,IAAI,QAAQ,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CACtB,QAAgB;QAEhB,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;gBACvD,UAAU,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CACtB,QAAgB;QAEhB,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;gBACvD,UAAU,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QACnB,MAAM,MAAM,GAAgB,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACX,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACzD,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;SAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAIxB;QACA,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,MAAM,YAAY,GAAqB,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,MAAM,GAAgB;YAC3B,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC;YACjE,EAAE;SACF,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC;gBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,oCAAoC;aAC7C,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,EAAE;gBAClD,KAAK,EAAE,WAAW,CAAC,SAAS,EAAE;aAC9B,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,CAAC,QAAQ;YACZ,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC;gBACd,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,6BAA6B;aACtC,CAAC,CAAC;YACH,MAAM,sBAAsB,CAC3B,IAAI,CAAC,UAAU,EACf,EAAE,EACF,IAAI,GAAG,EAAE,EACT,OAAO,EAAE,aAAa,CACtB,CAAC;YACF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;QACpC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzB,IACC,CAAC,OAAO,CAAC,IAAI;gBACb,CAAC,OAAO,CAAC,SAAS;gBAClB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAChC,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EACrC,CAAC;gBACF,MAAM,IAAI,KAAK,CACd,4CAA4C,QAAQ,EAAE,CACtD,CAAC;YACH,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAoB,iBAAiB,CAAC;iBAC9D,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;iBAC5B,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC;iBACrC,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;YACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,sBAAsB,CACtC,IAAI,CAAC,KAAK,EACV,SAAS,EACT,IAAI,EACJ,QAAQ,EACR;gBACC,QAAQ;aACR,CACD,CAAC;YACF,MAAM,OAAO,GACZ,OAAO,EAAE,OAAO,KAAK,SAAS;gBAC7B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;oBAC7B,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC3B,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;oBAChC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAU,CAAC,CAAC,CAAC;gBAClD,CAAC;gBACD,SAAS;YACV,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,IAAI;aACjB,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,CAAC,OAAO,CAAC;oBACd,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,sBAAsB,OAAO,CAAC,IAAI,KAAK,gBAAgB,CAAC,QAAQ,CAAC,aAAa;iBACvF,CAAC,CAAC;gBACH,SAAS;YACV,CAAC;YACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;YAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAClC,MAAM,QAAQ,GAAmB;gBAChC,QAAQ;gBACR,IAAI;gBACJ,KAAK;gBACL,KAAK;gBACL,MAAM;gBACN,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ;gBACR,QAAQ;gBACR,QAAQ;aACR,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,sBAAsB,CAC3B,IAAI,CAAC,UAAU,EACf,YAAY,EACZ,UAAU,EACV,OAAO,EAAE,aAAa,CACtB,CAAC;QACF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IACpC,CAAC;IAEO,UAAU,CAAC,CAAc;QAChC,OAAO,CACN,CAAC,CAAC,KAAK,KAAK,SAAS;YACrB,CAAC,CAAC,QAAQ,KAAK,GAAG;YAClB,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,CAC5C,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,cAAc,CAC3B,QAAgB,EAChB,OAAiC;QAEjC,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC;YACJ,MAAM,MAAM,GAAgB;gBAC3B;oBACC,MAAM;oBACN,OAAO;oBACP,UAAU;oBACV,WAAW;oBACX,OAAO;oBACP,iBAAiB;iBACjB;gBACD,EAAE,IAAI,EAAE,QAAQ,EAAE;aAClB,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAC9D,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAC7C,CAAC;YAEF,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACd,sDAAsD,CACtD,CAAC;YACH,CAAC;YACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,GAAG,CAAC,CAAC;YAC9D,CAAC;YAED,IACC,CAAC,OAAO,CAAC,IAAI;gBACb,CAAC,OAAO,CAAC,SAAS;gBAClB,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;gBACjC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBACpC,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ,EAC1C,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAElD,MAAM,YAAY,GACjB,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;gBAChD,CAAC,CAAC,OAAO,CAAC,KAAK;gBACf,CAAC,CAAC,SAAS,CAAC;YAEd,OAAO;gBACN,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,gBAAgB;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,YAAY;gBACnB,eAAe,EAAE,OAAO,CAAC,eAAe;aACxC,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAChE,GAAG,CAAC;gBACH,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,oCAAoC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE;aAC3E,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM,IAAI,KAAK,CACd,IAAI,IAAI,CAAC,KAAK,6DAA6D,EAC3E;gBACC,KAAK,EAAE,CAAC;aACR,CACD,CAAC;QACH,CAAC;IACF,CAAC;CACD"}
package/dist/cmd.js CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import chalk from "chalk";
3
3
  import { Option, program } from "commander";
4
+ import { registerConfigCommands, reportConfigError } from "./configCli.js";
4
5
  import { setTimeout as delay } from "node:timers/promises";
5
6
  import { getApiKey, resetApiKey, setApiKey } from "./auth.js";
6
7
  import { PROGRAM_NAME, PROGRAM_VERSION } from "./constants.js";
@@ -112,9 +113,6 @@ program
112
113
  };
113
114
  });
114
115
  const serverPromise = serve(options.port, options.host, options.basePath, startStartupWork);
115
- if (!options.port) {
116
- startStartupWork();
117
- }
118
116
  // technically this will never resolve, but it's necessary to keep the process running
119
117
  await Promise.all([serverPromise, startupWorkPromise]);
120
118
  }));
@@ -155,9 +153,18 @@ program
155
153
  process.exitCode = 1;
156
154
  }
157
155
  }));
156
+ registerConfigCommands(program);
158
157
  program.showHelpAfterError("(add --help for additional information)");
159
158
  async function main() {
160
- await program.parseAsync();
159
+ try {
160
+ await program.parseAsync();
161
+ }
162
+ catch (error) {
163
+ if (["config", "db"].includes(process.argv[2]))
164
+ reportConfigError(error);
165
+ else
166
+ throw error;
167
+ }
161
168
  }
162
169
  await main();
163
170
  //# sourceMappingURL=cmd.js.map
package/dist/cmd.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmd.js","sourceRoot":"","sources":["../src/cmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Command } from "commander";
2
+ export declare function databasePath(): string;
3
+ export declare function readSettings(filename: string, effective?: boolean): Promise<Record<string, unknown>>;
4
+ export declare function setSetting(filename: string, key: string, value: unknown): Promise<"daemon" | "offline">;
5
+ export declare function unsetSetting(filename: string, key: string): Promise<"daemon" | "offline">;
6
+ export declare function exportSettings(filename: string, destination: string): Promise<void>;
7
+ export declare function importSettings(filename: string, source: string): Promise<"daemon" | "offline">;
8
+ export declare function checkDatabase(filename: string): Promise<void>;
9
+ export declare function backupDatabase(filename: string, destination: string): Promise<void>;
10
+ export declare function reportConfigError(error: unknown): void;
11
+ /** Generated commands are adapters over the same router used by the daemon. */
12
+ export declare function createConfigCommand(filename?: string, argv?: string[]): Command;
13
+ export declare function registerConfigCommands(program: Command): void;