@songsid/agend 2.1.4-beta.50 → 2.1.4-beta.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/classic-channel-manager.d.ts +38 -0
- package/dist/classic-channel-manager.js +107 -4
- package/dist/classic-channel-manager.js.map +1 -1
- package/dist/fleet-manager.d.ts +10 -0
- package/dist/fleet-manager.js +38 -0
- package/dist/fleet-manager.js.map +1 -1
- package/dist/locale.js +2 -0
- package/dist/locale.js.map +1 -1
- package/package.json +1 -1
|
@@ -133,6 +133,44 @@ export declare class ClassicChannelManager {
|
|
|
133
133
|
* works today. The caller asked to allow this one, not to restrict the rest.
|
|
134
134
|
*/
|
|
135
135
|
private grantTo;
|
|
136
|
+
/**
|
|
137
|
+
* Coerce an existing list entry to the string form the isAllowed checks
|
|
138
|
+
* compare against — but only when that is lossless.
|
|
139
|
+
*
|
|
140
|
+
* A YAML number below 2^53 (every Telegram group id) round-trips exactly, so
|
|
141
|
+
* String() genuinely repairs it. A Discord snowflake does NOT: YAML already
|
|
142
|
+
* truncated it at parse time (1496407196106494055 arrives as ...494000), so
|
|
143
|
+
* String() would write a plausible-looking WRONG id back to disk and erase
|
|
144
|
+
* the one clue that something is broken — that the entry is a number rather
|
|
145
|
+
* than a quoted string. Leave those untouched and say so; nothing but the
|
|
146
|
+
* original text can recover the id.
|
|
147
|
+
*/
|
|
148
|
+
private normalizeId;
|
|
149
|
+
/**
|
|
150
|
+
* Ids found unrecoverable at the last load. Recomputed on every load so a
|
|
151
|
+
* config the operator has fixed stops reporting.
|
|
152
|
+
*/
|
|
153
|
+
private unrecoverableIds;
|
|
154
|
+
/**
|
|
155
|
+
* Ids that can never match, for surfacing somewhere an operator will actually
|
|
156
|
+
* see. The load-time log alone is still silence for anyone not reading
|
|
157
|
+
* daemon.log — which is the failure this whole line of work set out to remove.
|
|
158
|
+
*/
|
|
159
|
+
getUnrecoverableIds(): ReadonlyArray<{
|
|
160
|
+
field: string;
|
|
161
|
+
value: number;
|
|
162
|
+
}>;
|
|
163
|
+
/**
|
|
164
|
+
* Report ids YAML has already truncated, at load rather than on first write.
|
|
165
|
+
*
|
|
166
|
+
* String comparison in the isAllowed checks recovers an unquoted id below
|
|
167
|
+
* 2^53, so those need no warning. A Discord snowflake is different: YAML
|
|
168
|
+
* parsed it into a number that lost its last digits before this code ran, so
|
|
169
|
+
* no comparison can match it and nothing in the stored value can recover it.
|
|
170
|
+
* Without this the symptom is a guild that simply never gets in, with no
|
|
171
|
+
* error anywhere — which is the failure this change exists to remove.
|
|
172
|
+
*/
|
|
173
|
+
private reportUnquotedIds;
|
|
136
174
|
/** Allow a Discord guild to use ClassicBot. */
|
|
137
175
|
allowGuild(guildId: string): "added" | "already" | "already-open";
|
|
138
176
|
/** Allow a Telegram group to use ClassicBot. */
|
|
@@ -193,6 +193,7 @@ export class ClassicChannelManager {
|
|
|
193
193
|
if (!raw)
|
|
194
194
|
return false;
|
|
195
195
|
this.defaults = raw.defaults ?? {};
|
|
196
|
+
this.reportUnquotedIds();
|
|
196
197
|
this.channels.clear();
|
|
197
198
|
let repaired = false;
|
|
198
199
|
if (raw.channels) {
|
|
@@ -364,21 +365,42 @@ export class ClassicChannelManager {
|
|
|
364
365
|
const list = this.defaults.allowed_guilds;
|
|
365
366
|
if (!Array.isArray(list) || list.length === 0)
|
|
366
367
|
return true;
|
|
367
|
-
|
|
368
|
+
// String comparison, matching isAdmin. A hand-edited config can hold an
|
|
369
|
+
// UNQUOTED id, which YAML parses as a number; a strict includes() then
|
|
370
|
+
// never matches the string an adapter supplies, and the chat is locked out
|
|
371
|
+
// with no error anywhere. Note this recovers ids below 2^53 only — a
|
|
372
|
+
// Discord snowflake was already truncated at parse time and no comparison
|
|
373
|
+
// can restore it, which is why load() reports those instead (see
|
|
374
|
+
// normalizeId).
|
|
375
|
+
return list.some(entry => String(entry) === String(guildId));
|
|
368
376
|
}
|
|
369
377
|
/** Check if a Telegram group is allowed. Empty/unset/non-array = allow all. */
|
|
370
378
|
isGroupAllowed(groupId) {
|
|
371
379
|
const list = this.defaults.allowed_groups;
|
|
372
380
|
if (!Array.isArray(list) || list.length === 0)
|
|
373
381
|
return true;
|
|
374
|
-
|
|
382
|
+
// String comparison, matching isAdmin. A hand-edited config can hold an
|
|
383
|
+
// UNQUOTED id, which YAML parses as a number; a strict includes() then
|
|
384
|
+
// never matches the string an adapter supplies, and the chat is locked out
|
|
385
|
+
// with no error anywhere. Note this recovers ids below 2^53 only — a
|
|
386
|
+
// Discord snowflake was already truncated at parse time and no comparison
|
|
387
|
+
// can restore it, which is why load() reports those instead (see
|
|
388
|
+
// normalizeId).
|
|
389
|
+
return list.some(entry => String(entry) === String(groupId));
|
|
375
390
|
}
|
|
376
391
|
/** Check if a Telegram user (private chat) is allowed. Empty/unset/non-array = allow all. */
|
|
377
392
|
isUserAllowed(userId) {
|
|
378
393
|
const list = this.defaults.allowed_users;
|
|
379
394
|
if (!Array.isArray(list) || list.length === 0)
|
|
380
395
|
return true;
|
|
381
|
-
|
|
396
|
+
// String comparison, matching isAdmin. A hand-edited config can hold an
|
|
397
|
+
// UNQUOTED id, which YAML parses as a number; a strict includes() then
|
|
398
|
+
// never matches the string an adapter supplies, and the chat is locked out
|
|
399
|
+
// with no error anywhere. Note this recovers ids below 2^53 only — a
|
|
400
|
+
// Discord snowflake was already truncated at parse time and no comparison
|
|
401
|
+
// can restore it, which is why load() reports those instead (see
|
|
402
|
+
// normalizeId).
|
|
403
|
+
return list.some(entry => String(entry) === String(userId));
|
|
382
404
|
}
|
|
383
405
|
/** Check if a user is admin. Empty/unset admin_users = no admins (secure default). */
|
|
384
406
|
isAdmin(userId) {
|
|
@@ -405,12 +427,93 @@ export class ClassicChannelManager {
|
|
|
405
427
|
// admin_users has no allow-all semantics: empty means nobody is admin.
|
|
406
428
|
if (field !== "admin_users" && (!Array.isArray(list) || list.length === 0))
|
|
407
429
|
return "already-open";
|
|
430
|
+
// A truncated entry can never equal the real id, so this comparison will
|
|
431
|
+
// not treat it as a duplicate: the correct quoted id is ADDED ALONGSIDE the
|
|
432
|
+
// broken one, which stays until a human removes it. That is the right
|
|
433
|
+
// outcome — access starts working immediately, and nothing silently
|
|
434
|
+
// discards a line the operator wrote.
|
|
408
435
|
if (Array.isArray(list) && list.some(x => String(x) === value))
|
|
409
436
|
return "already";
|
|
410
|
-
|
|
437
|
+
// Cast: a preserved out-of-range number stays a number on purpose (see
|
|
438
|
+
// normalizeId). The isAllowed checks compare with String() either way, so
|
|
439
|
+
// the runtime contract holds; only the declared type is narrower than what
|
|
440
|
+
// a hand-edited file can contain.
|
|
441
|
+
this.defaults[field] = [
|
|
442
|
+
...(Array.isArray(list) ? list.map(v => this.normalizeId(field, v)) : []),
|
|
443
|
+
value,
|
|
444
|
+
];
|
|
411
445
|
this.save();
|
|
412
446
|
return "added";
|
|
413
447
|
}
|
|
448
|
+
/**
|
|
449
|
+
* Coerce an existing list entry to the string form the isAllowed checks
|
|
450
|
+
* compare against — but only when that is lossless.
|
|
451
|
+
*
|
|
452
|
+
* A YAML number below 2^53 (every Telegram group id) round-trips exactly, so
|
|
453
|
+
* String() genuinely repairs it. A Discord snowflake does NOT: YAML already
|
|
454
|
+
* truncated it at parse time (1496407196106494055 arrives as ...494000), so
|
|
455
|
+
* String() would write a plausible-looking WRONG id back to disk and erase
|
|
456
|
+
* the one clue that something is broken — that the entry is a number rather
|
|
457
|
+
* than a quoted string. Leave those untouched and say so; nothing but the
|
|
458
|
+
* original text can recover the id.
|
|
459
|
+
*/
|
|
460
|
+
normalizeId(field, value) {
|
|
461
|
+
if (typeof value !== "number")
|
|
462
|
+
return value;
|
|
463
|
+
if (Number.isSafeInteger(value))
|
|
464
|
+
return String(value);
|
|
465
|
+
// Preserve silently: reportUnquotedIds() already names this entry once at
|
|
466
|
+
// load. Logging here too would emit an error on every subsequent write for
|
|
467
|
+
// a condition the operator has already been told about and cannot fix from
|
|
468
|
+
// this side.
|
|
469
|
+
//
|
|
470
|
+
// Preserving it does NOT keep the original digits: save() re-dumps the
|
|
471
|
+
// truncated number, so after the first write the file itself shows the
|
|
472
|
+
// wrong id. Keeping it as a number is still worth doing — that is the only
|
|
473
|
+
// signal reportUnquotedIds has to find it by — but the file cannot be the
|
|
474
|
+
// source of the correct value, which is why the error says so.
|
|
475
|
+
return value;
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Ids found unrecoverable at the last load. Recomputed on every load so a
|
|
479
|
+
* config the operator has fixed stops reporting.
|
|
480
|
+
*/
|
|
481
|
+
unrecoverableIds = [];
|
|
482
|
+
/**
|
|
483
|
+
* Ids that can never match, for surfacing somewhere an operator will actually
|
|
484
|
+
* see. The load-time log alone is still silence for anyone not reading
|
|
485
|
+
* daemon.log — which is the failure this whole line of work set out to remove.
|
|
486
|
+
*/
|
|
487
|
+
getUnrecoverableIds() {
|
|
488
|
+
return this.unrecoverableIds;
|
|
489
|
+
}
|
|
490
|
+
/**
|
|
491
|
+
* Report ids YAML has already truncated, at load rather than on first write.
|
|
492
|
+
*
|
|
493
|
+
* String comparison in the isAllowed checks recovers an unquoted id below
|
|
494
|
+
* 2^53, so those need no warning. A Discord snowflake is different: YAML
|
|
495
|
+
* parsed it into a number that lost its last digits before this code ran, so
|
|
496
|
+
* no comparison can match it and nothing in the stored value can recover it.
|
|
497
|
+
* Without this the symptom is a guild that simply never gets in, with no
|
|
498
|
+
* error anywhere — which is the failure this change exists to remove.
|
|
499
|
+
*/
|
|
500
|
+
reportUnquotedIds() {
|
|
501
|
+
this.unrecoverableIds = [];
|
|
502
|
+
for (const field of ["allowed_guilds", "allowed_groups", "allowed_users", "admin_users"]) {
|
|
503
|
+
const list = this.defaults[field];
|
|
504
|
+
if (!Array.isArray(list))
|
|
505
|
+
continue;
|
|
506
|
+
for (const entry of list) {
|
|
507
|
+
if (typeof entry === "number" && !Number.isSafeInteger(entry)) {
|
|
508
|
+
this.unrecoverableIds.push({ field, value: entry });
|
|
509
|
+
this.logger.error({ field, value: entry, path: this.configPath }, "classicBot.yaml holds an unquoted id too large for YAML — its precision was lost when the "
|
|
510
|
+
+ "file was parsed, so it can never match. Re-enter it as a QUOTED string taken from Discord "
|
|
511
|
+
+ "or Telegram: the digits currently in the file are themselves already wrong, because any "
|
|
512
|
+
+ "save rewrites this entry from the truncated value. Do not copy it from the file.");
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
}
|
|
414
517
|
/** Allow a Discord guild to use ClassicBot. */
|
|
415
518
|
allowGuild(guildId) {
|
|
416
519
|
return this.grantTo("allowed_guilds", guildId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classic-channel-manager.js","sourceRoot":"","sources":["../src/classic-channel-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9I,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,oEAAoE;AACpE,MAAM,UAAU,yBAAyB,CAAC,OAAe,EAAE,YAAoB;IAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAS;YACrC,IAAI,CAAC;gBAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;QAC9G,CAAC;QACD,OAAO,MAAM,IAAI,IAAI,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,wBAAwB;IACtC,OAAO,cAAc;SAClB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,YAAY,CAAC;SACjE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,0BAA0B,CAAC,OAA2B;IACpE,OAAO,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,MAAM,CAAC;AAC7E,CAAC;AA8DD,MAAM,WAAW,GAAG;;CAEnB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAAqB,EAAE,SAAiB,EAAE,SAAkB;IAC9F,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,WAAW,aAAa,IAAI,MAAM,EAAE,CAAC;IAClD,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACvD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;QAAE,OAAO,SAAS,CAAC;IAC/D,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;QAAE,OAAO,UAAU,CAAC;IAC/D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IAaZ;IAAyB;IAZ7C,0FAA0F;IAClF,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IACrD,mGAAmG;IAC3F,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,QAAQ,GAAoM,EAAE,CAAC;IACtM,UAAU,CAAS;IAC5B,SAAS,GAAG,CAAC,CAAC;IACtB,uEAAuE;IAC/D,gBAAgB,CAAU;IAClC,gFAAgF;IACxE,QAAQ,GAA6B,EAAE,CAAC;IAEhD,YAAoB,OAAe,EAAU,MAAc;QAAvC,YAAO,GAAP,OAAO,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAQ;QACzD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,SAAiB;QACnC,IAAI,CAAC,iBAAiB,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,QAAsD;QACtE,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACrG,MAAM,gBAAgB,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,KAAK,gBAAgB;eACvD,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;eAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/H,IAAI,SAAS;YAAE,OAAO;QAEtB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,QAAQ,IAAI,IAAI,CAAC,yBAAyB,EAAE;YAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAChE,CAAC;IAED,gGAAgG;IACxF,YAAY,CAAC,SAAiB,EAAE,SAAkB;QACxD,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,CAAC;IAED,uFAAuF;IAC/E,iBAAiB;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;;OAIG;IACK,IAAI,CAAC,SAAiB,EAAE,SAAkB;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QACzE,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC9B,MAAM,YAAY,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAChD,wEAAwE;YACxE,uEAAuE;YACvE,IAAI,YAAY,IAAI,WAAW,IAAI,YAAY,KAAK,WAAW;gBAAE,OAAO,SAAS,CAAC;YAClF,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,yEAAyE;IACjE,WAAW,CAAC,SAA6B;QAC/C,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,IAAI;eAC/D,CAAC,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrF,CAAC;IAED,4EAA4E;IACpE,cAAc,CAAC,IAAwB;QAC7C,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpF,IAAI,OAAO,EAAE,IAAI,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;IAClE,CAAC;IAED,mFAAmF;IAC3E,yBAAyB;QAC/B,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,UAAU,yBAAyB,CAAC;QAC/D,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QACxE,IAAI,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,yDAAyD,CAAC,CAAC;YACjG,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,IAAI;QACV,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/C,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAA0B,CAAC;YACvF,IAAI,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjB,MAAM,MAAM,GAA2B,EAAE,CAAC;gBAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtD,sEAAsE;oBACtE,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC;oBACvC,MAAM,YAAY,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;oBACxD,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;oBAC5D,sEAAsE;oBACtE,0CAA0C;oBAC1C,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS;2BAC1B,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAChE,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC;oBACnC,kEAAkE;oBAClE,oEAAoE;oBACpE,+DAA+D;oBAC/D,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnG,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,mBAAmB,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;oBACnH,MAAM,CAAC,IAAI,CAAC;wBACV,kBAAkB,EAAE,GAAG,CAAC,SAAS;wBACjC,YAAY;wBACZ,OAAO,EAAE;4BACP,SAAS;4BACT,SAAS;4BACT,IAAI;4BACJ,YAAY;4BACZ,OAAO,EAAE,GAAG,CAAC,OAAO;4BACpB,KAAK,EAAE,GAAG,CAAC,KAAK;4BAChB,WAAW,EAAE,GAAG,CAAC,YAAY;4BAC7B,WAAW,EAAE,GAAG,CAAC,WAAW;4BAC5B,cAAc,EAAE,GAAG,CAAC,gBAAgB;4BACpC,MAAM,EAAE,GAAG,CAAC,MAAM;4BAClB,cAAc,EAAE,GAAG,CAAC,gBAAgB;4BACpC,YAAY,EAAE,GAAG,CAAC,aAAa;4BAC/B,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;4BAC9B,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE;yBAC/B;qBACF,CAAC,CAAC;gBACL,CAAC;gBAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;oBAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;oBAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;oBAC3D,MAAM,QAAQ,GAAG,kBAAkB,KAAK,SAAS,CAAC;oBAClD,MAAM,sBAAsB,GAAG,CAAC,CAAC,CAC/B,kBAAkB;2BACf,YAAY;2BACZ,iBAAiB;2BACjB,aAAa;2BACb,aAAa,KAAK,YAAY,CAClC,CAAC;oBAEF,IAAI,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;wBAClC,QAAQ,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,EAChH,qDAAqD,CACtD,CAAC;oBACJ,CAAC;oBACD,IAAI,QAAQ,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,EAClF,uFAAuF,CACxF,CAAC;oBACJ,CAAC;oBAED,IAAI,sBAAsB,EAAE,CAAC;wBAC3B,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAC/C,SAAS,KAAK,KAAK;+BAChB,SAAS,CAAC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;+BACjD,SAAS,CAAC,kBAAkB,KAAK,SAAS;+BAC1C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,YAAY,CACnE,CAAC;wBACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC9B,kEAAkE;4BAClE,oEAAoE;4BACpE,8DAA8D;4BAC9D,QAAQ,GAAG,IAAI,CAAC;4BAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gCACf,SAAS,EAAE,OAAO,CAAC,SAAS;gCAC5B,cAAc,EAAE,kBAAkB;gCAClC,iBAAiB,EAAE,OAAO,CAAC,YAAY;gCACvC,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC;gCAC7E,eAAe,EAAE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;6BACjF,EAAE,8EAA8E,CAAC,CAAC;4BACnF,SAAS;wBACX,CAAC;wBAED,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC;wBACtC,QAAQ,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;4BACf,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,aAAa,EAAE,kBAAkB;4BACjC,WAAW,EAAE,iBAAiB;4BAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;yBACnC,EAAE,yDAAyD,CAAC,CAAC;oBAChE,CAAC;oBAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;oBACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC3C,IAAI,QAAQ,EAAE,CAAC;wBACb,kEAAkE;wBAClE,mDAAmD;wBACnD,QAAQ,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;4BACf,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,gBAAgB,EAAE,QAAQ,CAAC,YAAY;4BACvC,mBAAmB,EAAE,OAAO,CAAC,YAAY;yBAC1C,EAAE,gFAAgF,CAAC,CAAC;wBACrF,SAAS;oBACX,CAAC;oBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,yBAAyB,CAAC,CAAC;YAC3E,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,gCAAgC,CAAC,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEO,IAAI;QACV,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAmB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QACtE,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,MAAM,KAAK,GAA4B;gBACrC,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,YAAY,EAAE,EAAE,CAAC,YAAY;gBAC7B,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,SAAS,EAAE,EAAE,CAAC,SAAS;aACxB,CAAC;YACF,IAAI,EAAE,CAAC,SAAS;gBAAE,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC;YACjD,IAAI,EAAE,CAAC,OAAO;gBAAE,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;YAC3C,IAAI,EAAE,CAAC,KAAK;gBAAE,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;YACrC,IAAI,EAAE,CAAC,WAAW;gBAAE,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,WAAW,CAAC;YACxD,IAAI,EAAE,CAAC,WAAW;gBAAE,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC;YACvD,IAAI,EAAE,CAAC,cAAc,KAAK,SAAS;gBAAE,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,cAAc,CAAC;YAChF,IAAI,EAAE,CAAC,YAAY;gBAAE,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC;YAC3D,IAAI,EAAE,CAAC,MAAM;gBAAE,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;YACxC,IAAI,EAAE,CAAC,cAAc;gBAAE,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,cAAc,CAAC;YAClE,GAAG,CAAC,QAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,KAAY,CAAC;QAC9E,CAAC;QACD,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,yEAAyE;IACzE,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;QAChD,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,QAAQ,IAAI,IAAI,CAAC,yBAAyB,EAAE;YAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gEAAgE;IAChE,cAAc;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,QAAQ,IAAI,IAAI,CAAC,yBAAyB,EAAE;YAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IAChE,CAAC;IAED,WAAW,KAA2B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7D,uGAAuG;IACvG,cAAc,CAAC,OAAe;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,+EAA+E;IAC/E,cAAc,CAAC,OAAe;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,6FAA6F;IAC7F,aAAa,CAAC,MAAc;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,sFAAsF;IACtF,OAAO,CAAC,MAAc;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvC,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,OAAO,CACb,KAA0D,EAC1D,EAAU;QAEV,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,uEAAuE;QACvE,IAAI,KAAK,KAAK,aAAa,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;YAAE,OAAO,cAAc,CAAC;QAClG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,+CAA+C;IAC/C,UAAU,CAAC,OAAe;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,gDAAgD;IAChD,UAAU,CAAC,OAAe;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,iFAAiF;IACjF,YAAY,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,uGAAuG;IACvG,kBAAkB,CAAC,YAAoB,EAAE,KAAa;QACpD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,EAAE,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;gBAAC,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;QACvF,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8DAA8D;IAC9D,wBAAwB,CAAC,YAAoB,EAAE,WAAmB;QAChE,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,EAAE,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;gBACrC,EAAE,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sEAAsE;IACtE,wBAAwB,CAAC,YAAoB,EAAE,WAAmB;QAChE,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,EAAE,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;gBACrC,EAAE,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2DAA2D;IAC3D,YAAY,CAAC,SAAiB,EAAE,SAAkB;QAChD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QACtB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC,MAAM,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,SAAiB,EAAE,SAAkB;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,IAAI,KAAK,CAAC;IAC1D,CAAC;IAED,iBAAiB,CAAC,SAAiB,EAAE,SAAkB;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,cAAc,CAAC;IACzD,CAAC;IAED,yDAAyD;IACzD,eAAe,CAAC,SAAiB,EAAE,SAAkB;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,EAAE,EAAE,YAAY,IAAI,IAAI;YAAE,OAAO,EAAE,CAAC,YAAY,CAAC;QACrD,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC5E,OAAO,CAAC,CAAC;IACX,CAAC;IAED,sFAAsF;IACtF,UAAU,CAAC,SAAiB,EAAE,SAAkB,EAAE,YAAqB;QACrE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3C,OAAO,EAAE,EAAE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,YAAY,IAAI,aAAa,CAAC;IAC/E,CAAC;IAED,4EAA4E;IAC5E,QAAQ,CAAC,SAAiB,EAAE,SAAkB,EAAE,YAAqB;QACnE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3C,OAAO,EAAE,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,YAAY,CAAC;IAC1D,CAAC;IAED,2EAA2E;IAC3E,iBAAiB,CAAC,SAAiB,EAAE,SAAkB,EAAE,YAAqB;QAC5E,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3C,OAAO,EAAE,EAAE,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,YAAY,CAAC;IAC9E,CAAC;IAED,2BAA2B,CAAC,YAAoB,EAAE,YAAqB;QACrE,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,EAAE,CAAC,YAAY,KAAK,YAAY;gBAAE,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAChH,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,YAAY,CAAC;IACxD,CAAC;IAED,0CAA0C;IAC1C,oBAAoB,CAAC,YAAoB,EAAE,YAAqB;QAC9D,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,EAAE,CAAC,YAAY,KAAK,YAAY;gBAAE,OAAO,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,YAAY,IAAI,aAAa,CAAC;QACpH,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,YAAY,IAAI,aAAa,CAAC;IAChE,CAAC;IAED,sBAAsB,CAAC,YAAoB;QACzC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,EAAE,CAAC,YAAY,KAAK,YAAY;gBAAE,OAAO,EAAE,CAAC,SAAS,CAAC;QAC5D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,4EAA4E;IAC5E,sBAAsB,CAAC,YAAoB;QACzC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,IAAI,EAAE,CAAC,YAAY,KAAK,YAAY;gBAAE,OAAO,EAAE,CAAC,SAAS,CAAC;QAC5D,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,SAAiB,EAAE,SAAkB;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC;IACvD,CAAC;IAED,sFAAsF;IACtF,kBAAkB,CAAC,WAAmB,EAAE,SAAiB,EAAE,SAAkB;QAC3E,MAAM,aAAa,GAAG,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/F,OAAO,mBAAmB,CAAC,oBAAoB,CAAC,WAAW,IAAI,SAAS,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACvG,CAAC;IAED,gFAAgF;IAChF,UAAU,CAAC,SAAiB;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,0EAA0E;IAC1E,gBAAgB,CAAC,SAAiB,EAAE,SAAkB,IAAa,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9G,GAAG,CAAC,SAAiB,EAAE,SAAkB,IAAgC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAClH,MAAM,KAAuB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAElE,QAAQ,CAAC,SAAiB,EAAE,SAA6B,EAAE,YAAoB,EAAE,WAAmB,EAAE,MAAc,EAAE,OAAgB;QACpI,MAAM,EAAE,GAAmB;YACzB,SAAS;YACT,SAAS;YACT,IAAI,EAAE,WAAW;YACjB,YAAY;YACZ,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,MAAM;SAClB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,4BAA4B,CAAC,CAAC;QACvF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,UAAU,CAAC,SAAiB,EAAE,SAAkB;QAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE,8BAA8B,CAAC,CAAC;QACxH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,YAAoB;QACpC,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,YAAoB,EAAE,QAAgB,EAAE,IAAY,EAAE,SAAe,EAAE,WAAoB;QAC3G,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC9D,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;QAC9E,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtG,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,cAAc,CAAC,OAAO,EAAE,IAAI,QAAQ,MAAM,QAAQ,KAAK,WAAW,GAAG,IAAI,IAAI,CAAC,CAAC;IACjF,CAAC;IAED,qGAAqG;IACrG,UAAU,CAAC,aAAa,GAAG,CAAC;QAC1B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,SAAS,CAAC;QACtD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAS;YAClC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAC3D,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBACzE,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC;oBAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;oBAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,IAAI,OAAO,GAAG,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,mCAAmC,CAAC,CAAC;QACpF,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"classic-channel-manager.js","sourceRoot":"","sources":["../src/classic-channel-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/fleet-manager.d.ts
CHANGED
|
@@ -687,6 +687,16 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
|
|
|
687
687
|
* The log line is written by the caller regardless: if every adapter is down,
|
|
688
688
|
* the only notification path is the one that is broken.
|
|
689
689
|
*/
|
|
690
|
+
/**
|
|
691
|
+
* Surface ids that can never match into the operator's General topic.
|
|
692
|
+
*
|
|
693
|
+
* The load-time log is still silence for anyone not reading daemon.log, and a
|
|
694
|
+
* chat that never gets in with nothing said anywhere is exactly the failure
|
|
695
|
+
* this line of work exists to remove. notifyFleetError throttles by message
|
|
696
|
+
* text for 10 minutes and resolves its target from config, so the 30s reload
|
|
697
|
+
* poll cannot flood the topic and a down General does not swallow it.
|
|
698
|
+
*/
|
|
699
|
+
private reportClassicUnrecoverableIds;
|
|
690
700
|
notifyFleetError(text: string): void;
|
|
691
701
|
private static readonly FLEET_ERROR_THROTTLE_MS;
|
|
692
702
|
private fleetErrorNotices;
|
package/dist/fleet-manager.js
CHANGED
|
@@ -1334,6 +1334,7 @@ export class FleetManager {
|
|
|
1334
1334
|
throw new Error("Classic channel manager not initialized");
|
|
1335
1335
|
const wasRunning = this.daemons.has(instanceName);
|
|
1336
1336
|
this.classicChannels.reloadFromDisk();
|
|
1337
|
+
this.reportClassicUnrecoverableIds();
|
|
1337
1338
|
this.reregisterClassicChannels();
|
|
1338
1339
|
const channel = this.classicChannels.getAll().find(item => item.instanceName === instanceName);
|
|
1339
1340
|
if (!channel)
|
|
@@ -2000,6 +2001,11 @@ export class FleetManager {
|
|
|
2000
2001
|
this.classicChannels = new ClassicChannelManager(this.dataDir, this.logger);
|
|
2001
2002
|
const classicAdapters = fleet.channels?.length ? fleet.channels : (fleet.channel ? [fleet.channel] : []);
|
|
2002
2003
|
this.classicChannels.configureAdapters(classicAdapters);
|
|
2004
|
+
// The unrecoverable-id report is deliberately NOT sent here: no adapter
|
|
2005
|
+
// exists yet at this point in startAll(), so notifyFleetError would find
|
|
2006
|
+
// nothing to deliver through, drop the message silently, AND burn its
|
|
2007
|
+
// 10-minute throttle key on the way out. It is sent once the shared adapter
|
|
2008
|
+
// is up — see the adapterStartup continuation below.
|
|
2003
2009
|
// Restore the persisted bot binding so replies/cancel go through the right
|
|
2004
2010
|
// bot after a restart (before this, inbound would re-bind lazily).
|
|
2005
2011
|
for (const ch of this.classicChannels.getAll()) {
|
|
@@ -2023,6 +2029,9 @@ export class FleetManager {
|
|
|
2023
2029
|
}
|
|
2024
2030
|
if (!this.classicChannels.checkReload())
|
|
2025
2031
|
return;
|
|
2032
|
+
// A reload can introduce a bad id (hand edit) or clear one; the
|
|
2033
|
+
// throttle keeps a repeated report from flooding the topic.
|
|
2034
|
+
this.reportClassicUnrecoverableIds();
|
|
2026
2035
|
this.reregisterClassicChannels();
|
|
2027
2036
|
for (const ch of this.classicChannels.getAll()) {
|
|
2028
2037
|
const newBackend = this.classicChannels.getBackendByInstance(ch.instanceName, fleetBackend);
|
|
@@ -2257,6 +2266,10 @@ export class FleetManager {
|
|
|
2257
2266
|
catch (err) {
|
|
2258
2267
|
this.logger.error({ err }, "startSharedAdapter failed — fleet continues without some adapters");
|
|
2259
2268
|
}
|
|
2269
|
+
// Now that there is somewhere to deliver: a classicBot.yaml that already
|
|
2270
|
+
// holds an unmatchable id at boot is the COMMON case, and reporting it
|
|
2271
|
+
// before the adapter existed meant the operator heard nothing at all.
|
|
2272
|
+
this.reportClassicUnrecoverableIds();
|
|
2260
2273
|
})();
|
|
2261
2274
|
progressStart = adapterStartup.then(() => {
|
|
2262
2275
|
if (pendingUpdateProgress) {
|
|
@@ -5357,6 +5370,31 @@ export class FleetManager {
|
|
|
5357
5370
|
* The log line is written by the caller regardless: if every adapter is down,
|
|
5358
5371
|
* the only notification path is the one that is broken.
|
|
5359
5372
|
*/
|
|
5373
|
+
/**
|
|
5374
|
+
* Surface ids that can never match into the operator's General topic.
|
|
5375
|
+
*
|
|
5376
|
+
* The load-time log is still silence for anyone not reading daemon.log, and a
|
|
5377
|
+
* chat that never gets in with nothing said anywhere is exactly the failure
|
|
5378
|
+
* this line of work exists to remove. notifyFleetError throttles by message
|
|
5379
|
+
* text for 10 minutes and resolves its target from config, so the 30s reload
|
|
5380
|
+
* poll cannot flood the topic and a down General does not swallow it.
|
|
5381
|
+
*/
|
|
5382
|
+
reportClassicUnrecoverableIds() {
|
|
5383
|
+
const bad = this.classicChannels?.getUnrecoverableIds?.() ?? [];
|
|
5384
|
+
if (bad.length === 0)
|
|
5385
|
+
return;
|
|
5386
|
+
// notifyFleetError claims its throttle key BEFORE attempting delivery, so
|
|
5387
|
+
// calling it with no adapter would silence this message for ten minutes
|
|
5388
|
+
// without anyone having seen it. Log and leave the key unspent; a later
|
|
5389
|
+
// call, once an adapter exists, still gets through.
|
|
5390
|
+
if (!this.adapter && this.adapters.size === 0) {
|
|
5391
|
+
this.logger.error({ ids: bad }, "classicBot.yaml holds ids that can never match — deferring the operator notice until an adapter is up");
|
|
5392
|
+
return;
|
|
5393
|
+
}
|
|
5394
|
+
const list = bad.map(e => `${e.field}: ${e.value}`).join(", ");
|
|
5395
|
+
this.logger.error({ ids: bad }, "classicBot.yaml holds ids that can never match");
|
|
5396
|
+
this.notifyFleetError(t("classic.unrecoverable_ids", list));
|
|
5397
|
+
}
|
|
5360
5398
|
notifyFleetError(text) {
|
|
5361
5399
|
const now = Date.now();
|
|
5362
5400
|
const key = text.slice(0, 200);
|