visionclaw 0.1.219-dev.codex-issue-2805-worker-runtime.3 → 0.1.219-dev.codex-2941-task-board-on-main.1

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 (144) hide show
  1. package/dist/agent/browser-launcher.d.ts +19 -1
  2. package/dist/agent/browser-launcher.d.ts.map +1 -1
  3. package/dist/agent/browser-launcher.js +40 -0
  4. package/dist/agent/browser-launcher.js.map +1 -1
  5. package/dist/agent/command-handlers.js +2 -2
  6. package/dist/agent/command-handlers.js.map +1 -1
  7. package/dist/agent/engines/claude/session.d.ts +6 -0
  8. package/dist/agent/engines/claude/session.d.ts.map +1 -1
  9. package/dist/agent/engines/claude/session.js +34 -2
  10. package/dist/agent/engines/claude/session.js.map +1 -1
  11. package/dist/agent/engines/pi/tools.d.ts.map +1 -1
  12. package/dist/agent/engines/pi/tools.js +2 -1
  13. package/dist/agent/engines/pi/tools.js.map +1 -1
  14. package/dist/agent/fund-league-hold.d.ts.map +1 -1
  15. package/dist/agent/fund-league-hold.js +5 -1
  16. package/dist/agent/fund-league-hold.js.map +1 -1
  17. package/dist/agent/interrupt-handler.d.ts.map +1 -1
  18. package/dist/agent/interrupt-handler.js +4 -1
  19. package/dist/agent/interrupt-handler.js.map +1 -1
  20. package/dist/agent/lifecycle-trace.d.ts +3 -2
  21. package/dist/agent/lifecycle-trace.d.ts.map +1 -1
  22. package/dist/agent/lifecycle-trace.js +4 -9
  23. package/dist/agent/lifecycle-trace.js.map +1 -1
  24. package/dist/agent/lifecycle-transitions.d.ts +42 -0
  25. package/dist/agent/lifecycle-transitions.d.ts.map +1 -1
  26. package/dist/agent/lifecycle-transitions.js +62 -6
  27. package/dist/agent/lifecycle-transitions.js.map +1 -1
  28. package/dist/agent/loop.d.ts.map +1 -1
  29. package/dist/agent/loop.js +99 -27
  30. package/dist/agent/loop.js.map +1 -1
  31. package/dist/agent/public-activity.d.ts +1 -1
  32. package/dist/agent/public-activity.d.ts.map +1 -1
  33. package/dist/agent/public-activity.js.map +1 -1
  34. package/dist/agent/runtime-context.d.ts +2 -0
  35. package/dist/agent/runtime-context.d.ts.map +1 -1
  36. package/dist/agent/runtime-context.js +4 -0
  37. package/dist/agent/runtime-context.js.map +1 -1
  38. package/dist/agent/service-gate.d.ts.map +1 -1
  39. package/dist/agent/service-gate.js +4 -1
  40. package/dist/agent/service-gate.js.map +1 -1
  41. package/dist/agent/state.d.ts +14 -0
  42. package/dist/agent/state.d.ts.map +1 -1
  43. package/dist/agent/state.js +13 -5
  44. package/dist/agent/state.js.map +1 -1
  45. package/dist/agent/status.d.ts.map +1 -1
  46. package/dist/agent/status.js +4 -1
  47. package/dist/agent/status.js.map +1 -1
  48. package/dist/agent/system-prompt.d.ts.map +1 -1
  49. package/dist/agent/system-prompt.js +11 -1
  50. package/dist/agent/system-prompt.js.map +1 -1
  51. package/dist/agent/tool-call-watchdog.d.ts +7 -0
  52. package/dist/agent/tool-call-watchdog.d.ts.map +1 -1
  53. package/dist/agent/tool-call-watchdog.js +32 -2
  54. package/dist/agent/tool-call-watchdog.js.map +1 -1
  55. package/dist/agent/wake-cycle-runner.d.ts +11 -0
  56. package/dist/agent/wake-cycle-runner.d.ts.map +1 -1
  57. package/dist/agent/wake-cycle-runner.js +42 -9
  58. package/dist/agent/wake-cycle-runner.js.map +1 -1
  59. package/dist/channels/interface.d.ts +18 -0
  60. package/dist/channels/interface.d.ts.map +1 -1
  61. package/dist/channels/interface.js.map +1 -1
  62. package/dist/channels/qq-status.d.ts.map +1 -1
  63. package/dist/channels/qq-status.js +1 -0
  64. package/dist/channels/qq-status.js.map +1 -1
  65. package/dist/channels/telegram-status.d.ts +22 -4
  66. package/dist/channels/telegram-status.d.ts.map +1 -1
  67. package/dist/channels/telegram-status.js +216 -39
  68. package/dist/channels/telegram-status.js.map +1 -1
  69. package/dist/channels/telegram-task-board.d.ts +79 -0
  70. package/dist/channels/telegram-task-board.d.ts.map +1 -0
  71. package/dist/channels/telegram-task-board.js +384 -0
  72. package/dist/channels/telegram-task-board.js.map +1 -0
  73. package/dist/channels/telegram.d.ts +6 -1
  74. package/dist/channels/telegram.d.ts.map +1 -1
  75. package/dist/channels/telegram.js +31 -2
  76. package/dist/channels/telegram.js.map +1 -1
  77. package/dist/i18n/messages.d.ts +248 -0
  78. package/dist/i18n/messages.d.ts.map +1 -1
  79. package/dist/i18n/messages.js +79 -13
  80. package/dist/i18n/messages.js.map +1 -1
  81. package/dist/obs/tunnel.d.ts +9 -1
  82. package/dist/obs/tunnel.d.ts.map +1 -1
  83. package/dist/obs/tunnel.js +121 -54
  84. package/dist/obs/tunnel.js.map +1 -1
  85. package/dist/stt-client.d.ts +10 -0
  86. package/dist/stt-client.d.ts.map +1 -1
  87. package/dist/stt-client.js +64 -31
  88. package/dist/stt-client.js.map +1 -1
  89. package/dist/threads/foreground-task.d.ts +10 -2
  90. package/dist/threads/foreground-task.d.ts.map +1 -1
  91. package/dist/threads/foreground-task.js +18 -3
  92. package/dist/threads/foreground-task.js.map +1 -1
  93. package/dist/threads/foreman-host.d.ts +13 -1
  94. package/dist/threads/foreman-host.d.ts.map +1 -1
  95. package/dist/threads/foreman-host.js +79 -7
  96. package/dist/threads/foreman-host.js.map +1 -1
  97. package/dist/threads/foreman-protocol.d.ts +2 -0
  98. package/dist/threads/foreman-protocol.d.ts.map +1 -1
  99. package/dist/threads/foreman-protocol.js +3 -1
  100. package/dist/threads/foreman-protocol.js.map +1 -1
  101. package/dist/threads/process-group.js +7 -2
  102. package/dist/threads/process-group.js.map +1 -1
  103. package/dist/threads/relay-adapter.d.ts +2 -0
  104. package/dist/threads/relay-adapter.d.ts.map +1 -1
  105. package/dist/threads/relay-adapter.js +6 -0
  106. package/dist/threads/relay-adapter.js.map +1 -1
  107. package/dist/threads/task-settlement.d.ts +17 -0
  108. package/dist/threads/task-settlement.d.ts.map +1 -0
  109. package/dist/threads/task-settlement.js +34 -0
  110. package/dist/threads/task-settlement.js.map +1 -0
  111. package/dist/threads/thread-activity-controller.d.ts +21 -0
  112. package/dist/threads/thread-activity-controller.d.ts.map +1 -1
  113. package/dist/threads/thread-activity-controller.js +111 -3
  114. package/dist/threads/thread-activity-controller.js.map +1 -1
  115. package/dist/tools/browser-health.d.ts +2 -0
  116. package/dist/tools/browser-health.d.ts.map +1 -0
  117. package/dist/tools/browser-health.js +18 -0
  118. package/dist/tools/browser-health.js.map +1 -0
  119. package/dist/tools/browser-set-engine.js +1 -1
  120. package/dist/tools/browser-set-engine.js.map +1 -1
  121. package/dist/tools/delegation.d.ts +7 -0
  122. package/dist/tools/delegation.d.ts.map +1 -1
  123. package/dist/tools/delegation.js +30 -3
  124. package/dist/tools/delegation.js.map +1 -1
  125. package/dist/tools/fund-league.d.ts +4 -0
  126. package/dist/tools/fund-league.d.ts.map +1 -1
  127. package/dist/tools/fund-league.js +1 -1
  128. package/dist/tools/fund-league.js.map +1 -1
  129. package/dist/tools/index.d.ts.map +1 -1
  130. package/dist/tools/index.js +2 -0
  131. package/dist/tools/index.js.map +1 -1
  132. package/dist/tools/upgrade.d.ts +2 -1
  133. package/dist/tools/upgrade.d.ts.map +1 -1
  134. package/dist/tools/upgrade.js +26 -8
  135. package/dist/tools/upgrade.js.map +1 -1
  136. package/dist/utils/restart.d.ts +6 -0
  137. package/dist/utils/restart.d.ts.map +1 -1
  138. package/dist/utils/restart.js +7 -1
  139. package/dist/utils/restart.js.map +1 -1
  140. package/dist/utils/version-check.d.ts.map +1 -1
  141. package/dist/utils/version-check.js +19 -9
  142. package/dist/utils/version-check.js.map +1 -1
  143. package/dist-agent/bundle.cjs +2 -2
  144. package/package.json +1 -1
@@ -3,10 +3,13 @@ import path from "node:path";
3
3
  import { createHash } from "node:crypto";
4
4
  import { getSharedProfileDir } from "../config/index.js";
5
5
  import { logger } from "../logger.js";
6
+ import { t } from "../i18n/index.js";
6
7
  const STATUS_STORE_FILE = "telegram-status-targets.json";
7
8
  const MAX_RETRY_ATTEMPTS = 2;
8
9
  const MAX_RETRY_AFTER_SECONDS = 30;
9
10
  const MAX_STORED_TARGETS = 100;
11
+ /** Same cadence as the pinned task board: coalesce edits, don't hammer Telegram. */
12
+ const DEFAULT_FLUSH_DELAY_MS = 1_500;
10
13
  const STALE_ACTIVE_TARGET_MS = 6 * 60 * 60 * 1000;
11
14
  const RICH_CAPABILITY_KEY = "__meta__:rich-capabilities";
12
15
  const INVALID_TOPIC_TARGETS_KEY = "__meta__:invalid-topic-targets";
@@ -20,7 +23,7 @@ export class TelegramApiError extends Error {
20
23
  this.name = "TelegramApiError";
21
24
  }
22
25
  }
23
- class TelegramHttpTransport {
26
+ export class TelegramHttpTransport {
24
27
  botToken;
25
28
  constructor(botToken) {
26
29
  this.botToken = botToken;
@@ -54,7 +57,7 @@ class TelegramHttpTransport {
54
57
  function isTerminal(state) {
55
58
  return state === "completed" || state === "failed" || state === "idle" || state === "waiting_user";
56
59
  }
57
- function isMessageNotModified(error) {
60
+ export function isMessageNotModified(error) {
58
61
  return error instanceof TelegramApiError && /message is not modified|MESSAGE_NOT_MODIFIED/i.test(error.message);
59
62
  }
60
63
  function isInvalidMessageThread(error) {
@@ -90,9 +93,6 @@ function sleep(ms) {
90
93
  function escapeHtml(value) {
91
94
  return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;");
92
95
  }
93
- function escapeHtmlMultiline(value) {
94
- return escapeHtml(value).replaceAll("\n", "<br/>");
95
- }
96
96
  function truncate(value, max) {
97
97
  return Array.from(value).slice(0, max).join("");
98
98
  }
@@ -117,20 +117,76 @@ function formatActivityTime(timestamp) {
117
117
  html: `<tg-time unix="${unix}" format="T">${localTime}</tg-time>`,
118
118
  };
119
119
  }
120
- function stateLabel(state) {
120
+ function stateLabel(state, locale) {
121
121
  switch (state) {
122
- case "completed": return "Completed";
123
- case "failed": return "Failed";
124
- case "waiting_user": return "Waiting for you";
125
- case "queued": return "Queued";
126
- case "idle": return "Idle";
127
- default: return "Running";
122
+ case "completed": return t("status.state.completed", locale);
123
+ case "failed": return t("status.state.failed", locale);
124
+ case "waiting_background": return t("status.waiting_background", locale);
125
+ case "waiting_user": return t("status.state.waiting_user", locale);
126
+ case "queued": return t("status.state.queued", locale);
127
+ case "idle": return t("status.state.idle", locale);
128
+ default: return t("status.state.running", locale);
128
129
  }
129
130
  }
131
+ /**
132
+ * The fixed, English phase labels the activity pipeline puts on the wire
133
+ * (Fin Mobile reads them too). The Telegram card shows them in the owner's
134
+ * language. Model-written narration is not in the table and the card never
135
+ * shows it: the chat itself carries what the model says (#2941).
136
+ */
137
+ const FIXED_LABEL_KEYS = {
138
+ "Processing": "status.label.processing",
139
+ "Started working": "status.label.started_working",
140
+ "Preparing a response": "status.label.preparing_a_response",
141
+ "Completing the request": "status.label.completing_the_request",
142
+ "Completed": "status.label.completed",
143
+ "Work failed": "status.label.work_failed",
144
+ "Waiting for you": "status.label.waiting_for_you",
145
+ "Queued": "status.label.queued",
146
+ "Idle": "status.label.idle",
147
+ "Activity summaries paused": "status.label.activity_summaries_paused",
148
+ "Working on the request": "status.label.working_on_the_request",
149
+ "Running a subtask": "status.label.running_a_subtask",
150
+ "Working through the plan": "status.label.working_through_the_plan",
151
+ "Updating the plan": "status.label.updating_the_plan",
152
+ "Compacting context": "status.label.compacting_context",
153
+ "Still working": "status.label.still_working",
154
+ "Worker stopped unexpectedly": "status.label.worker_stopped_unexpectedly",
155
+ "Reading financial statements": "status.label.reading_financial_statements",
156
+ "Checking market data": "status.label.checking_market_data",
157
+ "Reviewing company news": "status.label.reviewing_company_news",
158
+ "Analyzing options data": "status.label.analyzing_options_data",
159
+ "Analyzing market trends": "status.label.analyzing_market_trends",
160
+ "Reviewing corporate actions": "status.label.reviewing_corporate_actions",
161
+ "Reviewing index composition": "status.label.reviewing_index_composition",
162
+ "Identifying financial instruments": "status.label.identifying_financial_instruments",
163
+ "Reading official sources": "status.label.reading_official_sources",
164
+ "Searching public sources": "status.label.searching_public_sources",
165
+ "Reviewing web sources": "status.label.reviewing_web_sources",
166
+ "Reviewing source materials": "status.label.reviewing_source_materials",
167
+ "Writing the deliverable": "status.label.writing_the_deliverable",
168
+ "Publishing the update": "status.label.publishing_the_update",
169
+ "Running checks": "status.label.running_checks",
170
+ "Analyzing data": "status.label.analyzing_data",
171
+ "Creating requested media": "status.label.creating_requested_media",
172
+ "Sharing progress": "status.label.sharing_progress",
173
+ "Updating connected services": "status.label.updating_connected_services",
174
+ "Working in an application": "status.label.working_in_an_application",
175
+ "Working on it in parallel": "status.waiting_background",
176
+ "Continued below": "status.label.continued_below",
177
+ };
178
+ function isFixedLabel(label) {
179
+ return Object.hasOwn(FIXED_LABEL_KEYS, label);
180
+ }
181
+ export function localizeActivityLabel(label, locale) {
182
+ const key = Object.hasOwn(FIXED_LABEL_KEYS, label) ? FIXED_LABEL_KEYS[label] : undefined;
183
+ return key ? t(key, locale) : label;
184
+ }
130
185
  function stateIcon(state) {
131
186
  switch (state) {
132
187
  case "completed": return "✅";
133
188
  case "failed": return "🔴";
189
+ case "waiting_background": return "🟣";
134
190
  case "waiting_user": return "🟠";
135
191
  case "queued": return "🟡";
136
192
  case "idle": return "⚪";
@@ -140,9 +196,16 @@ function stateIcon(state) {
140
196
  function currentStateIcon(state) {
141
197
  return state === "running" ? "🏃" : stateIcon(state);
142
198
  }
143
- export function renderTelegramStatus(activity) {
144
- const historyEntries = activity.activities.slice(-3).map((entry) => {
145
- const label = truncate(entry.label, 160);
199
+ export function renderTelegramStatus(activity, locale = "en") {
200
+ // Only fixed phase labels, in the owner's language. Model narration (asides,
201
+ // the finish reason) is left out: the user reads the real reply in the chat,
202
+ // and a second, half-internal account of it on the card reads as talking
203
+ // about them behind their back.
204
+ const waitingLabel = t("status.waiting_background", locale);
205
+ const labelOf = (state, label) => state === "waiting_background" ? waitingLabel : localizeActivityLabel(label, locale);
206
+ const fixedEntries = activity.activities.filter((entry) => entry.state === "waiting_background" || isFixedLabel(entry.label));
207
+ const historyEntries = fixedEntries.slice(-3).map((entry) => {
208
+ const label = truncate(labelOf(entry.state, entry.label), 160);
146
209
  const time = formatActivityTime(entry.at);
147
210
  return {
148
211
  text: `${time.text} ${stateIcon(entry.state)} ${label}`,
@@ -151,23 +214,24 @@ export function renderTelegramStatus(activity) {
151
214
  });
152
215
  const historyText = historyEntries.map((entry) => entry.text).join("\n");
153
216
  const historyHtml = historyEntries.map((entry) => entry.html).join("<br/>");
154
- const currentStep = truncate(activity.currentStep, 160);
155
- const result = activity.result ? truncate(activity.result, 1_000) : "";
156
- const terminal = isTerminal(activity.state);
157
- const latestActivityLabel = activity.activities.at(-1)?.label;
158
- const showCurrentStep = latestActivityLabel !== currentStep;
159
- const status = `${currentStateIcon(activity.state)} ${stateLabel(activity.state)}`;
217
+ const latestEntry = fixedEntries.at(-1);
218
+ const latestActivityLabel = latestEntry ? labelOf(latestEntry.state, latestEntry.label) : undefined;
219
+ const currentStep = activity.state === "waiting_background" || isFixedLabel(activity.currentStep)
220
+ ? truncate(labelOf(activity.state, activity.currentStep), 160)
221
+ : latestActivityLabel;
222
+ // A card handed over to a newer one says where to look, not "Idle".
223
+ const handedOver = activity.state === "idle" && isFixedLabel(activity.currentStep) && currentStep !== undefined;
224
+ const showCurrentStep = !handedOver && currentStep !== undefined && latestActivityLabel !== currentStep;
225
+ const status = `${currentStateIcon(activity.state)} ${handedOver ? currentStep : stateLabel(activity.state, locale)}`;
160
226
  const text = [
161
227
  status,
162
228
  showCurrentStep ? currentStep : "",
163
229
  historyText,
164
- terminal && result ? `Result\n${result}` : "",
165
230
  ].filter(Boolean).join("\n\n");
166
231
  const html = [
167
232
  `<p><b>${status}</b></p>`,
168
233
  showCurrentStep ? `<p><b>${escapeHtml(currentStep)}</b></p>` : "",
169
234
  historyHtml ? `<p>${historyHtml}</p>` : "",
170
- terminal && result ? `<p><b>Result</b><br/>${escapeHtmlMultiline(result)}</p>` : "",
171
235
  ].filter(Boolean).join("");
172
236
  return { html, text };
173
237
  }
@@ -178,8 +242,7 @@ function isStaleTarget(updatedAt) {
178
242
  const timestamp = Date.parse(updatedAt);
179
243
  return Number.isFinite(timestamp) && Date.now() - timestamp > STALE_ACTIVE_TARGET_MS;
180
244
  }
181
- function payloadHash(activity) {
182
- const rendered = renderTelegramStatus(activity);
245
+ function payloadHash(rendered) {
183
246
  return `sha256:${createHash("sha256").update(rendered.html).digest("hex")}`;
184
247
  }
185
248
  function readTargets(file) {
@@ -254,6 +317,9 @@ export class TelegramStatusPublisher {
254
317
  targets;
255
318
  richDisabledChats;
256
319
  invalidTopicTargets;
320
+ flushDelayMs;
321
+ pending = new Map();
322
+ timers = new Map();
257
323
  chains = new Map();
258
324
  chatCooldownUntil = new Map();
259
325
  stopped = false;
@@ -263,6 +329,7 @@ export class TelegramStatusPublisher {
263
329
  this.transport = options.transport ?? (() => {
264
330
  throw new Error("Telegram status transport is not configured");
265
331
  })();
332
+ this.flushDelayMs = options.flushDelayMs ?? DEFAULT_FLUSH_DELAY_MS;
266
333
  this.targets = readTargets(this.storeFile);
267
334
  this.richDisabledChats = readRichDisabledChats(this.storeFile);
268
335
  this.invalidTopicTargets = readInvalidTopicTargets(this.storeFile);
@@ -278,19 +345,91 @@ export class TelegramStatusPublisher {
278
345
  // Capture the address before queueing: a later run or interrupt must not
279
346
  // redirect an in-flight publication to another chat/topic.
280
347
  const target = deliveryTarget ?? this.resolveTarget(threadId);
281
- if (!target || this.isChatCoolingDown(target.chatId))
348
+ if (!target)
282
349
  return Promise.resolve();
283
- return this.enqueue(key, threadId, activity, target);
350
+ const existing = this.pending.get(key);
351
+ if (!existing || activity.sequence > existing.activity.sequence) {
352
+ this.pending.set(key, { threadId, activity, target });
353
+ }
354
+ const cooldownMs = this.cooldownRemainingMs(target.chatId);
355
+ if (cooldownMs > 0) {
356
+ // Never drop snapshots during a chat cooldown: keep the latest and flush after.
357
+ this.schedule(key, cooldownMs);
358
+ return this.chains.get(key) ?? Promise.resolve();
359
+ }
360
+ if (this.flushDelayMs <= 0) {
361
+ // Immediate mode (tests): still serialize per card, and keep pending for 429 retry.
362
+ return this.enqueueImmediate(key, threadId, activity, target);
363
+ }
364
+ // Terminal cards skip the debounce so Completed/Failed show up promptly;
365
+ // in-flight running edits still coalesce on the board's 1.5s cadence.
366
+ if (isTerminal(activity.state)) {
367
+ const timer = this.timers.get(key);
368
+ if (timer) {
369
+ clearTimeout(timer);
370
+ this.timers.delete(key);
371
+ }
372
+ return this.enqueueFlush(key);
373
+ }
374
+ this.schedule(key, this.flushDelayMs);
375
+ return this.chains.get(key) ?? Promise.resolve();
284
376
  }
285
377
  stop() {
286
378
  this.stopped = true;
379
+ for (const timer of this.timers.values())
380
+ clearTimeout(timer);
381
+ this.timers.clear();
382
+ this.pending.clear();
287
383
  }
288
- enqueue(key, threadId, activity, target) {
384
+ schedule(key, delayMs) {
385
+ if (this.timers.has(key))
386
+ return;
387
+ const timer = setTimeout(() => {
388
+ this.timers.delete(key);
389
+ void this.enqueueFlush(key);
390
+ }, Math.max(0, delayMs));
391
+ timer.unref();
392
+ this.timers.set(key, timer);
393
+ }
394
+ enqueueFlush(key) {
289
395
  const prior = this.chains.get(key) ?? Promise.resolve();
290
- const next = prior.then(() => {
396
+ const next = prior.then(() => this.flush(key)).catch((error) => {
397
+ logger.warn(`Telegram status update failed: ${error instanceof Error ? error.message : String(error)}`);
398
+ });
399
+ const chained = next.finally(() => {
400
+ if (this.chains.get(key) === chained)
401
+ this.chains.delete(key);
402
+ });
403
+ this.chains.set(key, chained);
404
+ return chained;
405
+ }
406
+ enqueueImmediate(key, threadId, activity, target) {
407
+ const prior = this.chains.get(key) ?? Promise.resolve();
408
+ const next = prior.then(async () => {
291
409
  if (this.stopped)
292
410
  return;
293
- return this.apply(key, threadId, activity, target);
411
+ const cooldownMs = this.cooldownRemainingMs(target.chatId);
412
+ if (cooldownMs > 0) {
413
+ this.schedule(key, cooldownMs);
414
+ return;
415
+ }
416
+ try {
417
+ await this.apply(key, threadId, activity, target);
418
+ const current = this.pending.get(key);
419
+ if (current && current.activity.sequence <= activity.sequence)
420
+ this.pending.delete(key);
421
+ }
422
+ catch (error) {
423
+ if (error instanceof TelegramApiError && error.errorCode === 429) {
424
+ const retryAfter = parseRetryAfter(error.parameters?.retry_after);
425
+ this.schedule(key, (retryAfter ?? MAX_RETRY_AFTER_SECONDS) * 1000);
426
+ return;
427
+ }
428
+ const current = this.pending.get(key);
429
+ if (current && current.activity.sequence <= activity.sequence)
430
+ this.pending.delete(key);
431
+ throw error;
432
+ }
294
433
  }).catch((error) => {
295
434
  logger.warn(`Telegram status update failed: ${error instanceof Error ? error.message : String(error)}`);
296
435
  });
@@ -301,11 +440,47 @@ export class TelegramStatusPublisher {
301
440
  this.chains.set(key, chained);
302
441
  return chained;
303
442
  }
443
+ async flush(key) {
444
+ if (this.stopped)
445
+ return;
446
+ const item = this.pending.get(key);
447
+ if (!item)
448
+ return;
449
+ const cooldownMs = this.cooldownRemainingMs(item.target.chatId);
450
+ if (cooldownMs > 0) {
451
+ this.schedule(key, cooldownMs);
452
+ return;
453
+ }
454
+ try {
455
+ await this.apply(key, item.threadId, item.activity, item.target);
456
+ const current = this.pending.get(key);
457
+ if (!current)
458
+ return;
459
+ if (current.activity.sequence <= item.activity.sequence) {
460
+ this.pending.delete(key);
461
+ }
462
+ else {
463
+ this.schedule(key, this.flushDelayMs);
464
+ }
465
+ }
466
+ catch (error) {
467
+ if (error instanceof TelegramApiError && error.errorCode === 429) {
468
+ const retryAfter = parseRetryAfter(error.parameters?.retry_after);
469
+ this.schedule(key, (retryAfter ?? MAX_RETRY_AFTER_SECONDS) * 1000);
470
+ return;
471
+ }
472
+ // Non-rate-limit failures: drop this snapshot so a later publish can try again.
473
+ const current = this.pending.get(key);
474
+ if (current && current.activity.sequence <= item.activity.sequence)
475
+ this.pending.delete(key);
476
+ throw error;
477
+ }
478
+ }
304
479
  async apply(key, threadId, activity, target) {
305
- if (this.isChatCoolingDown(target.chatId) || this.isInvalidTopicTarget(target))
480
+ if (this.isInvalidTopicTarget(target))
306
481
  return;
307
- const rendered = renderTelegramStatus(activity);
308
- const hash = payloadHash(activity);
482
+ const rendered = renderTelegramStatus(activity, this.options.locale?.() ?? "en");
483
+ const hash = payloadHash(rendered);
309
484
  let handle = this.targets[key];
310
485
  if (handle?.botIdentity !== undefined && handle.botIdentity !== this.options.botIdentity)
311
486
  return;
@@ -513,15 +688,16 @@ export class TelegramStatusPublisher {
513
688
  for (const [key] of entries.slice(0, entries.length - MAX_STORED_TARGETS))
514
689
  Reflect.deleteProperty(this.targets, key);
515
690
  }
516
- isChatCoolingDown(chatId) {
691
+ cooldownRemainingMs(chatId) {
517
692
  const until = this.chatCooldownUntil.get(chatId);
518
693
  if (until === undefined)
519
- return false;
520
- if (until <= Date.now()) {
694
+ return 0;
695
+ const remaining = until - Date.now();
696
+ if (remaining <= 0) {
521
697
  this.chatCooldownUntil.delete(chatId);
522
- return false;
698
+ return 0;
523
699
  }
524
- return true;
700
+ return remaining;
525
701
  }
526
702
  orphanStaleTargets() {
527
703
  let changed = false;
@@ -540,7 +716,7 @@ export class TelegramStatusPublisher {
540
716
  writeTargets(this.storeFile, this.targets, this.richDisabledChats, this.invalidTopicTargets);
541
717
  }
542
718
  }
543
- export function createTelegramStatusPublisher(botToken, ownerChatId, resolveTarget) {
719
+ export function createTelegramStatusPublisher(botToken, ownerChatId, resolveTarget, locale) {
544
720
  const match = /^(\d+):/.exec(botToken.trim());
545
721
  if (!match)
546
722
  throw new Error("Invalid Telegram bot token format");
@@ -549,6 +725,7 @@ export function createTelegramStatusPublisher(botToken, ownerChatId, resolveTarg
549
725
  ownerChatId,
550
726
  transport: new TelegramHttpTransport(botToken),
551
727
  ...(resolveTarget ? { resolveTarget } : {}),
728
+ ...(locale ? { locale } : {}),
552
729
  });
553
730
  }
554
731
  //# sourceMappingURL=telegram-status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-status.js","sourceRoot":"","sources":["../../src/channels/telegram-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telegram-status.js","sourceRoot":"","sources":["../../src/channels/telegram-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,CAAC,EAAmB,MAAM,kBAAkB,CAAC;AAGtD,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AACzD,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,oFAAoF;AACpF,MAAM,sBAAsB,GAAG,KAAK,CAAC;AACrC,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAClD,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AACzD,MAAM,yBAAyB,GAAG,gCAAgC,CAAC;AAqCnE,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAG9B;IACA;IAHX,YACE,OAAe,EACN,SAAkB,EAClB,UAAkE;QAE3E,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,cAAS,GAAT,SAAS,CAAS;QAClB,eAAU,GAAV,UAAU,CAAwD;QAG3E,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IACH;IAA7B,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjD,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,IAA6B;QACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,+BAA+B,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,EAAE;YACrF,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,gBAAgB,CAAC,YAAY,MAAM,kBAAkB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,gBAAgB,CAAC,YAAY,MAAM,+BAA+B,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,MAAM,GAAG,OAAkC,CAAC;QAClD,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;gBAC3E,CAAC,CAAC,MAAM,CAAC,UAAmE;gBAC5E,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,IAAI,gBAAgB,CACxB,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,MAAM,SAAS,EACzF,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAC3E,UAAU,CACX,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,SAAS,UAAU,CAAC,KAA0B;IAC5C,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,cAAc,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,OAAO,KAAK,YAAY,gBAAgB,IAAI,+CAA+C,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAClH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,gBAAgB;WACnC,KAAK,CAAC,SAAS,KAAK,GAAG;WACvB,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,CAAC,KAAK,YAAY,gBAAgB,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,KAAK,CAAC,UAAU,EAAE,kBAAkB,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpE,OAAO,KAAK,CAAC,SAAS,KAAK,GAAG;WACzB,CAAC,KAAK,CAAC,SAAS,KAAK,GAAG,IAAI,yHAAyH,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAClL,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,CAAC,KAAK,YAAY,gBAAgB,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,OAAO,KAAK,CAAC,SAAS,KAAK,GAAG;WACzB,mJAAmJ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/K,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,CAAC,KAAK,YAAY,gBAAgB,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,gBAAgB;QAAE,OAAO,KAAK,CAAC,SAAS,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;IACnI,OAAO,KAAK,YAAY,SAAS,IAAI,CAAC,KAAK,YAAY,KAAK,IAAI,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACxH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAClH,CAAC;AAGD,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW;IAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,0EAA0E;IAC1E,4EAA4E;IAC5E,wEAAwE;IACxE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QACjD,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChB,OAAO;QACL,2EAA2E;QAC3E,4EAA4E;QAC5E,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,kBAAkB,IAAI,gBAAgB,SAAS,YAAY;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAA0B,EAAE,MAAc;IAC5D,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;QAC7D,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QACvD,KAAK,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;QACzE,KAAK,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;QACnE,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QACvD,KAAK,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,gBAAgB,GAAyC;IAC7D,YAAY,EAAE,yBAAyB;IACvC,iBAAiB,EAAE,8BAA8B;IACjD,sBAAsB,EAAE,mCAAmC;IAC3D,wBAAwB,EAAE,qCAAqC;IAC/D,WAAW,EAAE,wBAAwB;IACrC,aAAa,EAAE,0BAA0B;IACzC,iBAAiB,EAAE,8BAA8B;IACjD,QAAQ,EAAE,qBAAqB;IAC/B,MAAM,EAAE,mBAAmB;IAC3B,2BAA2B,EAAE,wCAAwC;IACrE,wBAAwB,EAAE,qCAAqC;IAC/D,mBAAmB,EAAE,gCAAgC;IACrD,0BAA0B,EAAE,uCAAuC;IACnE,mBAAmB,EAAE,gCAAgC;IACrD,oBAAoB,EAAE,iCAAiC;IACvD,eAAe,EAAE,4BAA4B;IAC7C,6BAA6B,EAAE,0CAA0C;IACzE,8BAA8B,EAAE,2CAA2C;IAC3E,sBAAsB,EAAE,mCAAmC;IAC3D,wBAAwB,EAAE,qCAAqC;IAC/D,wBAAwB,EAAE,qCAAqC;IAC/D,yBAAyB,EAAE,sCAAsC;IACjE,6BAA6B,EAAE,0CAA0C;IACzE,6BAA6B,EAAE,0CAA0C;IACzE,mCAAmC,EAAE,gDAAgD;IACrF,0BAA0B,EAAE,uCAAuC;IACnE,0BAA0B,EAAE,uCAAuC;IACnE,uBAAuB,EAAE,oCAAoC;IAC7D,4BAA4B,EAAE,yCAAyC;IACvE,yBAAyB,EAAE,sCAAsC;IACjE,uBAAuB,EAAE,oCAAoC;IAC7D,gBAAgB,EAAE,6BAA6B;IAC/C,gBAAgB,EAAE,6BAA6B;IAC/C,0BAA0B,EAAE,uCAAuC;IACnE,kBAAkB,EAAE,+BAA+B;IACnD,6BAA6B,EAAE,0CAA0C;IACzE,2BAA2B,EAAE,wCAAwC;IACrE,2BAA2B,EAAE,2BAA2B;IACxD,iBAAiB,EAAE,8BAA8B;CAClD,CAAC;AAEF,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,MAAc;IACjE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACtC,CAAC;AAED,SAAS,SAAS,CAAC,KAA0B;IAC3C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW,CAAC,CAAC,OAAO,GAAG,CAAC;QAC7B,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC;QAC3B,KAAK,oBAAoB,CAAC,CAAC,OAAO,IAAI,CAAC;QACvC,KAAK,cAAc,CAAC,CAAC,OAAO,IAAI,CAAC;QACjC,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC;QAC3B,KAAK,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC;QACxB,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA0B;IAClD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAA8B,EAAE,SAAiB,IAAI;IACxF,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,gCAAgC;IAChC,MAAM,YAAY,GAAG,CAAC,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,CAAC,KAA0B,EAAE,KAAa,EAAU,EAAE,CACpE,KAAK,KAAK,oBAAoB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvF,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,oBAAoB,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9H,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1D,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1C,OAAO;YACL,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE;YACvD,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;SACpE,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpG,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,KAAK,oBAAoB,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC/F,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC;QAC9D,CAAC,CAAC,mBAAmB,CAAC;IACxB,oEAAoE;IACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,KAAK,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,KAAK,SAAS,CAAC;IAChH,MAAM,eAAe,GAAG,CAAC,UAAU,IAAI,WAAW,KAAK,SAAS,IAAI,mBAAmB,KAAK,WAAW,CAAC;IACxG,MAAM,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IACtH,MAAM,IAAI,GAAG;QACX,MAAM;QACN,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;QAClC,WAAW;KACZ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG;QACX,SAAS,MAAM,UAAU;QACzB,eAAe,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QACjE,WAAW,CAAC,CAAC,CAAC,MAAM,WAAW,MAAM,CAAC,CAAC,CAAC,EAAE;KAC3C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/F,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,sBAAsB,CAAC;AACvF,CAAC;AAED,SAAS,WAAW,CAAC,QAA0B;IAC7C,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAY,CAAC;QACpE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAC9E,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE;YACpE,OAAO,KAAK;mBACP,OAAO,KAAK,KAAK,QAAQ;mBACxB,KAAqC,CAAC,aAAa,KAAK,CAAC;mBACzD,KAA4B,CAAC,IAAI,KAAK,SAAS,CAAC;QACxD,CAAC,CAAC,CAA8B,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;QACpF,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAA8C,CAAC;QAC1F,OAAO,QAAQ,EAAE,IAAI,KAAK,iBAAiB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACtF,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;YACnG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAA4B,CAAC;QACpF,MAAM,QAAQ,GAAG,MAAM,CAAC,yBAAyB,CAAmD,CAAC;QACrG,OAAO,QAAQ,EAAE,IAAI,KAAK,uBAAuB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;YACrF,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;YAC5F,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,IAAY,EACZ,OAAkC,EAClC,iBAA8B,EAC9B,mBAAgC;IAEhC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IACzC,MAAM,sBAAsB,GAAyB;QACnD,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,iBAAiB;QACvB,iBAAiB,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,EAAE;KACjD,CAAC;IACF,MAAM,oBAAoB,GAA8B;QACtD,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC,IAAI,EAAE;KAC5C,CAAC;IACF,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QACtC,GAAG,OAAO;QACV,CAAC,mBAAmB,CAAC,EAAE,sBAAsB;QAC7C,CAAC,yBAAyB,CAAC,EAAE,oBAAoB;KAClD,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzB,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC;AAyBD;;;GAGG;AACH,MAAM,OAAO,uBAAuB;IAaL;IAZZ,SAAS,CAAS;IAClB,SAAS,CAA0B;IACnC,OAAO,CAA4B;IACnC,iBAAiB,CAAc;IAC/B,mBAAmB,CAAc;IACjC,YAAY,CAAS;IACrB,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;IAClD,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC3C,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC1C,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvD,OAAO,GAAG,KAAK,CAAC;IAExB,YAA6B,OAAuC;QAAvC,YAAO,GAAP,OAAO,CAAgC;QAClE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAC1F,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,sBAAsB,CAAC;QACnE,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,QAAgB,EAAE,QAA8B,EAAE,cAAsC;QAC9F,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAChF,yEAAyE;QACzE,2DAA2D;QAC3D,MAAM,MAAM,GAAG,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,gFAAgF;YAChF,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;YAC3B,oFAAoF;YACpF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;QACD,yEAAyE;QACzE,sEAAsE;QACtE,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACnD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAEO,QAAQ,CAAC,GAAW,EAAE,OAAe;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QACjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACzB,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEO,YAAY,CAAC,GAAW;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACtE,MAAM,CAAC,IAAI,CAAC,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,gBAAgB,CACtB,GAAW,EACX,QAAgB,EAChB,QAA8B,EAC9B,MAA6B;QAE7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACjC,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACzB,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAClD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;oBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,gBAAgB,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;oBACjE,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;oBAClE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,IAAI,uBAAuB,CAAC,GAAG,IAAI,CAAC,CAAC;oBACnE,OAAO;gBACT,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;oBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxF,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC1B,MAAM,CAAC,IAAI,CAAC,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,GAAW;QAC7B,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACxD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAgB,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;gBACjE,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAClE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,IAAI,uBAAuB,CAAC,GAAG,IAAI,CAAC,CAAC;gBACnE,OAAO;YACT,CAAC;YACD,gFAAgF;YAChF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7F,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,QAAgB,EAAE,QAA8B,EAAE,MAA6B;QAC9G,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;YAAE,OAAO;QAC9C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,MAAM,EAAE,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,OAAO;QACjG,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YACrG,wEAAwE;YACxE,0EAA0E;YAC1E,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QACD,kEAAkE;QAClE,yEAAyE;QACzE,gEAAgE;QAChE,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC1C,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO;QAC9D,IAAI,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO;QAC/C,IAAI,MAAM,EAAE,QAAQ;YAAE,OAAO;QAC7B,IAAI,MAAM,EAAE,uBAAuB,KAAK,IAAI,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,IAA0C,CAAC;YAC/C,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YACjF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1E,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;oBAChG,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,eAAe,6DAA6D,CAAC,CAAC;oBAC1H,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,GAAG;gBACP,aAAa,EAAE,CAAC;gBAChB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;gBACrC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC5F,QAAQ;gBACR,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,uBAAuB,EAAE,IAAI;gBAC7B,YAAY,EAAE,QAAQ,CAAC,QAAQ;gBAC/B,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;gBAC5C,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC9F,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACvB,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1E,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;gBAClG,CAAC;gBACD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACtC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACxC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC9B,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAEO,aAAa,CAAC,QAAgB;QACpC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC5E,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAEO,iBAAiB,CAAC,MAAc;QACtC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;IACjD,CAAC;IAEO,qBAAqB,CAAC,MAAc,EAAE,eAAuB;QACnE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,MAAM,IAAI,eAAe,EAAE,CAAC;IACpE,CAAC;IAEO,oBAAoB,CAAC,MAAoD;QAC/E,OAAO,MAAM,CAAC,eAAe,KAAK,SAAS;eACtC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IACvG,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,MAAc,EACd,eAAmC,EACnC,QAAwC;QAExC,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE;gBAC9E,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC;aACjF,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACnB,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC3E,CAAC;QACD,MAAM,IAAI,GAA4B;YACpC,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;YACrC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC;SACjF,CAAC;QACF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1G,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YAChD,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE;gBAC9E,OAAO,EAAE,MAAM;gBACf,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC;aACjF,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACnB,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC3E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,MAA4B,EAAE,QAAwC;QACvF,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChG,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7G,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACnG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,oBAAoB,CAAC,KAAK,CAAC;gBAAE,OAAO;YACxC,IAAI,gBAAgB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YACzC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YAC3C,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,MAA4B,EAAE,QAAwC;QAC/F,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE;YACnE,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,SAAiD,EACjD,iBAAiB,GAAG,IAAI,EACxB,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW;QAEzC,IAAI,SAAkB,CAAC;QACvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,kBAAkB,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC;gBACH,OAAO,MAAM,SAAS,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,oBAAoB,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAC;gBAC7C,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,KAAK,YAAY,gBAAgB,IAAI,KAAK,CAAC,SAAS,KAAK,GAAG,EAAE,CAAC;oBACjE,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;oBAClE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,IAAI,uBAAuB,CAAC,GAAG,IAAI,CAAC;oBAClF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CACxB,cAAc,EACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CACzE,CAAC;oBACF,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,SAAS,GAAG,KAAK,YAAY,gBAAgB;oBACjD,CAAC,CAAC,iBAAiB,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,GAAG;oBAC9E,CAAC,CAAC,iBAAiB,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,SAAS,IAAI,OAAO,KAAK,kBAAkB;oBAAE,MAAM,KAAK,CAAC;gBAC9D,MAAM,UAAU,GAAG,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;gBACjG,MAAM,KAAK,GAAG,UAAU,KAAK,SAAS;oBACpC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,IAAI;oBACnE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7C,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,MAAM,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEO,SAAS,CAAC,QAAiC,EAAE,MAAc;QACjE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAmC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACrH,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,gBAAgB,CAAC,YAAY,MAAM,yBAAyB,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,YAAY;QAClB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAA2C,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAChI,IAAI,OAAO,CAAC,MAAM,IAAI,kBAAkB;YAAE,OAAO;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACrF,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC;YAAE,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACvH,CAAC;IAEO,mBAAmB,CAAC,MAAc;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACrC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,kBAAkB;QACxB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ;gBAAE,SAAS;YACrE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC;gBAAE,SAAS;YAC/C,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAEO,OAAO;QACb,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC/F,CAAC;CACF;AAED,MAAM,UAAU,6BAA6B,CAC3C,QAAgB,EAChB,WAAmB,EACnB,aAA+D,EAC/D,MAAqB;IAErB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACjE,OAAO,IAAI,uBAAuB,CAAC;QACjC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;QACrB,WAAW;QACX,SAAS,EAAE,IAAI,qBAAqB,CAAC,QAAQ,CAAC;QAC9C,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { type Locale } from "../i18n/index.js";
2
+ import type { BackgroundTaskView } from "./interface.js";
3
+ import { type TelegramStatusAddress, type TelegramStatusTransport } from "./telegram-status.js";
4
+ /**
5
+ * Board HTML (parse_mode HTML): a one-line summary (what the pinned bar
6
+ * shows), then one row per task. `timeZone` is the owner's configured zone,
7
+ * used only for the fallback text of the time entities.
8
+ */
9
+ export declare function renderTaskBoard(tasks: readonly BackgroundTaskView[], locale: Locale, timeZone?: string): string;
10
+ export interface TelegramTaskBoardOptions {
11
+ botIdentity: string;
12
+ transport: TelegramStatusTransport;
13
+ locale: () => Locale;
14
+ /** The owner's configured IANA timezone, if any. */
15
+ timeZone?: () => string | undefined;
16
+ storeFile?: string;
17
+ flushDelayMs?: number;
18
+ maxReplyWaitMs?: number;
19
+ /**
20
+ * The task's real state from the task ledger: null when it is unknown.
21
+ * Used to repair rows whose final update never arrived.
22
+ */
23
+ lookupTask?: (taskId: string) => BackgroundTaskView | null | undefined;
24
+ recheckMs?: number;
25
+ }
26
+ /**
27
+ * The pinned background-task board of each Telegram chat (#2941). Foreground
28
+ * replies never carry task status: the board is sent and silently pinned
29
+ * once per batch, after the front reply, then only edited in place; a task
30
+ * that did not finish gets one short notice replying to the board (a
31
+ * finished one gets its result from General, or the Foreman fallback);
32
+ * when every task is terminal the board
33
+ * is unpinned and stays in the history. Telegram failures are logged, never
34
+ * thrown: the board must not break a turn.
35
+ */
36
+ export declare class TelegramTaskBoard {
37
+ private readonly options;
38
+ private readonly storeFile;
39
+ private readonly flushDelayMs;
40
+ private readonly maxReplyWaitMs;
41
+ private readonly recheckMs;
42
+ /** Chats whose front turn is still running (its reply is not out yet). */
43
+ private readonly busyChats;
44
+ private readonly batches;
45
+ private readonly timers;
46
+ private readonly chains;
47
+ private stopped;
48
+ constructor(options: TelegramTaskBoardOptions);
49
+ /**
50
+ * Whether the chat's current turn is still running. A new board waits for
51
+ * the turn to stop (its reply is sent by then), up to `maxReplyWaitMs`.
52
+ */
53
+ setTurnRunning(address: TelegramStatusAddress, running: boolean): void;
54
+ update(address: TelegramStatusAddress, task: BackgroundTaskView): void;
55
+ /**
56
+ * Bring live rows in line with the ledger: a row the ledger reports in
57
+ * another state takes that state (quietly: its result was already handled
58
+ * there); an unknown row that has been idle too long is dropped. Returns
59
+ * whether every remaining row is terminal.
60
+ */
61
+ private reconcile;
62
+ /** Finish a board under its own key, so a new board can start in the chat. */
63
+ private close;
64
+ stop(): void;
65
+ private key;
66
+ private reschedule;
67
+ /** Flush the board after `delayMs`, unless a flush is already due sooner. */
68
+ private schedule;
69
+ private flush;
70
+ private syncBoard;
71
+ /** One info line per board action: ids and the task count only, never titles or text. */
72
+ private logAction;
73
+ private sendNotices;
74
+ private topic;
75
+ /** One Bot API call. Rate limits abort the flush for a later retry; other failures are logged. */
76
+ private call;
77
+ private persist;
78
+ }
79
+ //# sourceMappingURL=telegram-task-board.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telegram-task-board.d.ts","sourceRoot":"","sources":["../../src/channels/telegram-task-board.ts"],"names":[],"mappings":"AAGA,OAAO,EAAK,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,EAAuB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AA6F9B;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB/G;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,uBAAuB,CAAC;IACnC,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,GAAG,IAAI,GAAG,SAAS,CAAC;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IAYhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAXpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+D;IACtF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,OAAO,CAAS;gBAEK,OAAO,EAAE,wBAAwB;IAW9D;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAWtE,MAAM,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAqCtE;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAgBjB,8EAA8E;IAC9E,OAAO,CAAC,KAAK;IAQb,IAAI,IAAI,IAAI;IAMZ,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,UAAU;IAOlB,6EAA6E;IAC7E,OAAO,CAAC,QAAQ;YAiBF,KAAK;YAgCL,SAAS;IA+BvB,yFAAyF;IACzF,OAAO,CAAC,SAAS;YASH,WAAW;IAkBzB,OAAO,CAAC,KAAK;IAIb,kGAAkG;YACpF,IAAI;IAelB,OAAO,CAAC,OAAO;CAUhB"}