borgmcp 0.9.39 → 0.9.41

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.
@@ -53,6 +53,9 @@ export declare function getStreamStatus(): StreamStatus & {
53
53
  * lifetime in normal operation. Tests asserting on the new
54
54
  * content-vs-wire field semantics need a clean slate between
55
55
  * scenarios; nothing in production code should call this.
56
+ *
57
+ * @internal — test-only surface; not part of the public client API. The
58
+ * `__`-prefix + `ForTest` suffix mark it as such at every call site.
56
59
  */
57
60
  export declare function __resetStreamStateForTest(): void;
58
61
  /**
@@ -70,7 +73,7 @@ export interface StreamDeps {
70
73
  /** Override the inbox-line append (tests assert against the calls). */
71
74
  appendLine?: (cubeId: string, droneId: string, line: string) => Promise<void>;
72
75
  /** Override durable inbox-entry dedup (tests avoid real filesystem). */
73
- hasInboxEntryId?: (cubeId: string, droneId: string, entryId: string) => Promise<boolean>;
76
+ hasInboxEntryId?: (cubeId: string, droneId: string, entryId: string, renderedLine: string) => Promise<boolean>;
74
77
  /** Override the auth-token fetch (tests skip the OS keychain). */
75
78
  getToken?: () => Promise<string>;
76
79
  /** Optional Codex app-server wake sink; tests inject a spy. */
@@ -124,6 +127,7 @@ export interface EnrichedEntry {
124
127
  role_name?: string | null;
125
128
  message?: string;
126
129
  }
130
+ export declare function compareBroadcastHwm(a: BroadcastHwm, b: BroadcastHwm): number;
127
131
  /**
128
132
  * Format one inbox-file line. Preserves the long-poll inbox.ts prefix
129
133
  * shape (`<iso-ts> <drone-label> (<role-name>): ...`) so existing
@@ -140,4 +144,28 @@ export interface EnrichedEntry {
140
144
  * "newline was here" — convention noted in the regen-format playbook.
141
145
  */
142
146
  export declare function formatInboxLine(entry: EnrichedEntry): string;
147
+ /**
148
+ * @internal Exported for unit tests.
149
+ *
150
+ * Decide whether `raw` (the full inbox-file contents) already contains the
151
+ * entry identified by `entryId` / rendered as `renderedLine`. Robust to BOTH
152
+ * on-disk line formats (gh#441 — catchup-replay-flood fix):
153
+ * - NEW format (0.9.39+): `…: [entry_id: <id>] <message>` — matched by the
154
+ * `[entry_id: <id>]` marker (the #412 dedup, preserved verbatim).
155
+ * - LEGACY format (pre-0.9.39 / old ACK lines): `…: <message>` with NO
156
+ * entry_id prefix — matched by an EXACT, line-anchored comparison against
157
+ * the entry's legacy rendering (`renderedLine` with the id-prefix stripped).
158
+ *
159
+ * Why this exists: a worker DEPLOY evicts the LogBroadcaster DO → every drone's
160
+ * SSE drops → fleet-wide simultaneous reconnect → catchup. The old substring
161
+ * check (`raw.includes('[entry_id: <id>]')`) missed legacy lines, so catchup
162
+ * re-appended them → tail -F replay flood.
163
+ *
164
+ * The legacy match is LINE-ANCHORED (exact line equality), NOT a substring
165
+ * match, on purpose: a substring match would false-positive-DROP a genuinely
166
+ * new entry whose message merely EXTENDS an existing line (e.g. `…: hello` vs
167
+ * `…: hello world`). A dropped entry is worse than a re-append — the drone
168
+ * misses a wake — so when in doubt this fails toward re-append, never drop.
169
+ */
170
+ export declare function inboxRawHasEntry(raw: string, entryId: string, renderedLine: string): boolean;
143
171
  //# sourceMappingURL=log-stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-stream.d.ts","sourceRoot":"","sources":["../src/log-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log-stream.d.ts","sourceRoot":"","sources":["../src/log-stream.ts"],"names":[],"mappings":"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"}
@@ -79,6 +79,9 @@ export function getStreamStatus() {
79
79
  * lifetime in normal operation. Tests asserting on the new
80
80
  * content-vs-wire field semantics need a clean slate between
81
81
  * scenarios; nothing in production code should call this.
82
+ *
83
+ * @internal — test-only surface; not part of the public client API. The
84
+ * `__`-prefix + `ForTest` suffix mark it as such at every call site.
82
85
  */
83
86
  export function __resetStreamStateForTest() {
84
87
  streamState.connected = false;
@@ -280,7 +283,34 @@ export async function streamOnce(active, lastEventId, onEventId, deps = {}) {
280
283
  clearTimeout(pendingHwmDivergence.timer);
281
284
  pendingHwmDivergence = null;
282
285
  };
283
- const markEventPersisted = (id) => {
286
+ // gh#402 replay-storm amplifier fix (c80b1aaa #1): advance the resume cursor
287
+ // MONOTONICALLY by (created_at, id). An out-of-order older broadcast (or a
288
+ // catchup replay of an older entry) must NOT regress lastPersistedEventId —
289
+ // a regressed resume cursor widens the next reconnect's catchup window and
290
+ // re-replays entries (the tail -F storm). Reuses compareBroadcastHwm
291
+ // ((created_at,id) tiebreak), the SAME key the server orders broadcasts by.
292
+ //
293
+ // FAIL-OPEN on a missing created_at: every real SSE payload carries a
294
+ // non-empty created_at (EnrichedEntry / ack / heartbeat-hwm all guarantee
295
+ // it server-side), so the guard engages for every production event. But an
296
+ // absent/empty created_at is NOT ordinally comparable (UUID ids aren't
297
+ // either — see the dedup branch), so we only BLOCK a regression we can
298
+ // PROVE: both the incoming entry and the current cursor carry a real
299
+ // created_at AND the incoming is older-or-equal. Otherwise ADVANCE —
300
+ // freezing the resume cursor on a fresh forward entry that happens to lack
301
+ // a created_at would itself widen the next reconnect's window (the very
302
+ // storm this fixes). Proven older-or-equal events are still recorded in
303
+ // recentIds for dedup but do not move the cursor or re-fire onEventId.
304
+ let lastPersistedHwm = null;
305
+ const markEventPersisted = (id, createdAt) => {
306
+ const next = { id, created_at: createdAt };
307
+ if (lastPersistedHwm &&
308
+ createdAt &&
309
+ lastPersistedHwm.created_at &&
310
+ compareBroadcastHwm(next, lastPersistedHwm) <= 0) {
311
+ return;
312
+ }
313
+ lastPersistedHwm = next;
284
314
  lastPersistedEventId = id;
285
315
  streamState.lastPersistedEventId = id;
286
316
  onEventId(id);
@@ -320,6 +350,52 @@ export async function streamOnce(active, lastEventId, onEventId, deps = {}) {
320
350
  const recentIds = new Set();
321
351
  const recentIdsOrder = [];
322
352
  let isCatchingUp = lastEventId !== null;
353
+ // gh#29 quality-stream (#5): shared inbox-write + cursor-advance helpers,
354
+ // extracted from the previously-duplicated ack / regular-log branches in the
355
+ // event loop below. Behavior-preserving — the per-branch comments document
356
+ // the load-bearing semantics each path relies on.
357
+ // Format + (catchup-dedup-aware) append the entry's inbox line.
358
+ // LOAD-BEARING ORDER: the disk write must complete before the cursor
359
+ // advances (recordSeen), so an append failure (disk full, EACCES, path race
360
+ // during cube switch) replays the entry on reconnect rather than being
361
+ // skipped past by an already-advanced Last-Event-ID — the §(3) durability
362
+ // contract. Returns 'persisted-skip' when the entry is already on disk from
363
+ // an earlier catchup receive (caller advances the cursor via markEventPersisted
364
+ // here, then continues WITHOUT re-recording); 'written' after a fresh append.
365
+ const writeInboxLine = async (ev) => {
366
+ const line = formatInboxLine(withSseEventId(ev.data, ev.id));
367
+ if (isCatchingUp &&
368
+ // gh#441: pass the rendered line so the dedup can also recognize LEGACY
369
+ // (no-entry_id-prefix) on-disk lines, not just the [entry_id:] marker.
370
+ (await hasInboxEntryId(active.cubeId, active.droneId, ev.id, line))) {
371
+ markEventPersisted(ev.id, ev.data?.created_at ?? '');
372
+ return 'persisted-skip';
373
+ }
374
+ await appendLine(active.cubeId, active.droneId, line);
375
+ wakeCodex(formatCodexWakePrompt(line));
376
+ return 'written';
377
+ };
378
+ // Record the event in the bounded recent-ids dedup set (FIFO-capped) and
379
+ // advance both cursors. The broadcast-HWM cursor advances via
380
+ // broadcastHwmFromLogEvent, which returns null for visibility==='direct' and
381
+ // kind==='ack' (those do NOT advance the server's DO broadcast HWM either —
382
+ // D6), so it advances ONLY for broadcast entries. gh#402 replay-storm fix
383
+ // (583aed7e): this runs for OWN-POST broadcasts too — the author's own
384
+ // broadcast IS counted by the server HWM, so the client broadcast cursor
385
+ // must advance to match; otherwise the next heartbeat reads server-hwm >
386
+ // client-cursor and fires a spurious divergence-reconnect (the storm
387
+ // trigger). The null-for-direct/ack guard keeps own-direct echoes correct.
388
+ const recordSeen = (ev) => {
389
+ recentIds.add(ev.id);
390
+ recentIdsOrder.push(ev.id);
391
+ while (recentIdsOrder.length > RECENT_IDS_CAP) {
392
+ const oldId = recentIdsOrder.shift();
393
+ if (oldId)
394
+ recentIds.delete(oldId);
395
+ }
396
+ markEventPersisted(ev.id, ev.data?.created_at ?? '');
397
+ markBroadcastPersisted(broadcastHwmFromLogEvent(ev));
398
+ };
323
399
  let response;
324
400
  try {
325
401
  response = await fetchImpl(`${active.apiUrl}/api/drone/stream`, {
@@ -360,7 +436,7 @@ export async function streamOnce(active, lastEventId, onEventId, deps = {}) {
360
436
  if (event.hwm && lastBroadcastHwm === null) {
361
437
  markBroadcastPersisted(event.hwm);
362
438
  if (lastPersistedEventId === null) {
363
- markEventPersisted(event.hwm.id);
439
+ markEventPersisted(event.hwm.id, event.hwm.created_at);
364
440
  }
365
441
  continue;
366
442
  }
@@ -397,7 +473,7 @@ export async function streamOnce(active, lastEventId, onEventId, deps = {}) {
397
473
  // id we've actually got persisted). UUIDs are not ordinally
398
474
  // comparable with created_at, so set membership is the check.
399
475
  if (recentIds.has(event.id)) {
400
- markEventPersisted(event.id);
476
+ markEventPersisted(event.id, event.data?.created_at ?? '');
401
477
  markBroadcastPersisted(broadcastHwmFromLogEvent(event));
402
478
  continue;
403
479
  }
@@ -438,62 +514,25 @@ export async function streamOnce(active, lastEventId, onEventId, deps = {}) {
438
514
  // semantic takes precedence.
439
515
  if (event.data?.kind === 'ack') {
440
516
  if (event.data?.author_drone_id === active.droneId) {
441
- const line = formatInboxLine(withSseEventId(event.data, event.id));
442
- if (isCatchingUp &&
443
- await hasInboxEntryId(active.cubeId, active.droneId, event.id)) {
444
- markEventPersisted(event.id);
517
+ if ((await writeInboxLine(event)) === 'persisted-skip')
445
518
  continue;
446
- }
447
- await appendLine(active.cubeId, active.droneId, line);
448
- wakeCodex(formatCodexWakePrompt(line));
449
- }
450
- // Whether we wrote or not, advance the cursor so reconnect
451
- // doesn't replay the same ack.
452
- recentIds.add(event.id);
453
- recentIdsOrder.push(event.id);
454
- while (recentIdsOrder.length > RECENT_IDS_CAP) {
455
- const oldId = recentIdsOrder.shift();
456
- if (oldId)
457
- recentIds.delete(oldId);
458
519
  }
459
- markEventPersisted(event.id);
460
- markBroadcastPersisted(broadcastHwmFromLogEvent(event));
520
+ recordSeen(event);
461
521
  continue;
462
522
  }
463
523
  if (event.data?.drone_id === active.droneId && !isHeartbeatPing) {
464
- recentIds.add(event.id);
465
- recentIdsOrder.push(event.id);
466
- while (recentIdsOrder.length > RECENT_IDS_CAP) {
467
- const oldId = recentIdsOrder.shift();
468
- if (oldId)
469
- recentIds.delete(oldId);
470
- }
471
- markEventPersisted(event.id);
524
+ // Own post: silent-self (no inbox echo — already on disk via
525
+ // appendLog). recordSeen still advances BOTH cursors, including the
526
+ // broadcast cursor for an own broadcast — see recordSeen's gh#402
527
+ // (583aed7e) note for why skipping it here would storm.
528
+ recordSeen(event);
472
529
  continue;
473
530
  }
474
- // LOAD-BEARING ORDER: disk write must complete before cursor
475
- // advance. If appendLine throws (disk full, EACCES, path race
476
- // during cube switch) we want the entry to replay on reconnect.
477
- // Reversing this order would lose entries on disk-write failure
478
- // because Last-Event-ID would have already advanced past them.
479
- // This is the §(3) durability contract — do not refactor.
480
- const line = formatInboxLine(withSseEventId(event.data, event.id));
481
- if (isCatchingUp &&
482
- await hasInboxEntryId(active.cubeId, active.droneId, event.id)) {
483
- markEventPersisted(event.id);
531
+ // Regular inbound entry: write the inbox line (catchup-dedup aware),
532
+ // then advance both cursors.
533
+ if ((await writeInboxLine(event)) === 'persisted-skip')
484
534
  continue;
485
- }
486
- await appendLine(active.cubeId, active.droneId, line);
487
- wakeCodex(formatCodexWakePrompt(line));
488
- recentIds.add(event.id);
489
- recentIdsOrder.push(event.id);
490
- while (recentIdsOrder.length > RECENT_IDS_CAP) {
491
- const oldId = recentIdsOrder.shift();
492
- if (oldId)
493
- recentIds.delete(oldId);
494
- }
495
- markEventPersisted(event.id);
496
- markBroadcastPersisted(broadcastHwmFromLogEvent(event));
535
+ recordSeen(event);
497
536
  }
498
537
  }
499
538
  }
@@ -632,7 +671,13 @@ function parseHeartbeatHwm(value) {
632
671
  ? { id: candidate.id, created_at: candidate.created_at }
633
672
  : null;
634
673
  }
635
- function compareBroadcastHwm(a, b) {
674
+ // Cross-bundle duplicate of workers/log-hwm.ts `compareBroadcastHwm` the two
675
+ // MUST stay in sync on the (created_at, id) tiebreak, else a heartbeat-HWM
676
+ // comparison could diverge between client and server and cause spurious or
677
+ // missed gh#402 divergence-reconnects. Exported so the parity test
678
+ // (workers/__tests__/log-hwm-parity.test.ts) can pin them equal on a shared
679
+ // fixture set. See ISSUE-FOUND fb3986b7.
680
+ export function compareBroadcastHwm(a, b) {
636
681
  const aTime = Date.parse(a.created_at);
637
682
  const bTime = Date.parse(b.created_at);
638
683
  if (Number.isFinite(aTime) && Number.isFinite(bTime) && aTime !== bTime) {
@@ -659,6 +704,18 @@ function withSseEventId(entry, eventId) {
659
704
  return entry;
660
705
  return { ...entry, id: eventId };
661
706
  }
707
+ /**
708
+ * First argument that is a non-empty string, else ''. Used to pick the
709
+ * inbox entry id from the server `id` field, falling back to the legacy
710
+ * `entry_id` field. Flattens what was a nested ternary at the call site.
711
+ */
712
+ function firstNonEmptyString(...candidates) {
713
+ for (const candidate of candidates) {
714
+ if (typeof candidate === 'string' && candidate.length > 0)
715
+ return candidate;
716
+ }
717
+ return '';
718
+ }
662
719
  /**
663
720
  * Format one inbox-file line. Preserves the long-poll inbox.ts prefix
664
721
  * shape (`<iso-ts> <drone-label> (<role-name>): ...`) so existing
@@ -681,14 +738,10 @@ export function formatInboxLine(entry) {
681
738
  const label = entry.drone_label ?? '?';
682
739
  const role = entry.role_name ?? '?';
683
740
  const rawMessage = typeof entry.message === 'string' ? entry.message : '';
684
- const entryId = typeof entry.id === 'string' && entry.id.length > 0
685
- ? entry.id
686
- : typeof entry.entry_id === 'string' && entry.entry_id.length > 0
687
- ? entry.entry_id
688
- : '';
689
- const idPrefix = entryId
690
- ? `[entry_id: ${entryId}] `
691
- : '';
741
+ // Server `id`, else legacy `entry_id`, else '' (behavior-identical to the
742
+ // prior nested ternary).
743
+ const entryId = firstNonEmptyString(entry.id, entry.entry_id);
744
+ const idPrefix = entryId ? `[entry_id: ${entryId}] ` : '';
692
745
  // Normalize \r\n, \r, and \n all to ` ⏎ ` so the entry fits on one
693
746
  // physical line regardless of line-ending convention in the source.
694
747
  const message = rawMessage.replace(/\r\n|\r|\n/g, ' ⏎ ');
@@ -699,7 +752,44 @@ async function defaultAppendLine(cubeId, droneId, line) {
699
752
  await fs.mkdir(path.dirname(p), { recursive: true });
700
753
  await fs.appendFile(p, line + '\n', 'utf-8');
701
754
  }
702
- async function defaultHasInboxEntryId(cubeId, droneId, entryId) {
755
+ /**
756
+ * @internal Exported for unit tests.
757
+ *
758
+ * Decide whether `raw` (the full inbox-file contents) already contains the
759
+ * entry identified by `entryId` / rendered as `renderedLine`. Robust to BOTH
760
+ * on-disk line formats (gh#441 — catchup-replay-flood fix):
761
+ * - NEW format (0.9.39+): `…: [entry_id: <id>] <message>` — matched by the
762
+ * `[entry_id: <id>]` marker (the #412 dedup, preserved verbatim).
763
+ * - LEGACY format (pre-0.9.39 / old ACK lines): `…: <message>` with NO
764
+ * entry_id prefix — matched by an EXACT, line-anchored comparison against
765
+ * the entry's legacy rendering (`renderedLine` with the id-prefix stripped).
766
+ *
767
+ * Why this exists: a worker DEPLOY evicts the LogBroadcaster DO → every drone's
768
+ * SSE drops → fleet-wide simultaneous reconnect → catchup. The old substring
769
+ * check (`raw.includes('[entry_id: <id>]')`) missed legacy lines, so catchup
770
+ * re-appended them → tail -F replay flood.
771
+ *
772
+ * The legacy match is LINE-ANCHORED (exact line equality), NOT a substring
773
+ * match, on purpose: a substring match would false-positive-DROP a genuinely
774
+ * new entry whose message merely EXTENDS an existing line (e.g. `…: hello` vs
775
+ * `…: hello world`). A dropped entry is worse than a re-append — the drone
776
+ * misses a wake — so when in doubt this fails toward re-append, never drop.
777
+ */
778
+ export function inboxRawHasEntry(raw, entryId, renderedLine) {
779
+ // New-format: entry_id marker (preserves the #412 dedup).
780
+ if (entryId && raw.includes(`[entry_id: ${entryId}]`))
781
+ return true;
782
+ // Legacy-format: exact, line-anchored match against the id-prefix-stripped
783
+ // rendering. `String.prototype.replace` with a string pattern strips only the
784
+ // first (sole) prefix occurrence; entryId is treated literally (not regex).
785
+ const legacyForm = entryId
786
+ ? renderedLine.replace(`[entry_id: ${entryId}] `, '')
787
+ : renderedLine;
788
+ if (legacyForm && raw.split(/\r?\n/).includes(legacyForm))
789
+ return true;
790
+ return false;
791
+ }
792
+ async function defaultHasInboxEntryId(cubeId, droneId, entryId, renderedLine) {
703
793
  const p = inboxPathForDrone(cubeId, droneId);
704
794
  let raw;
705
795
  try {
@@ -710,7 +800,7 @@ async function defaultHasInboxEntryId(cubeId, droneId, entryId) {
710
800
  return false;
711
801
  throw err;
712
802
  }
713
- return raw.includes(`[entry_id: ${entryId}]`);
803
+ return inboxRawHasEntry(raw, entryId, renderedLine);
714
804
  }
715
805
  function sleep(ms) {
716
806
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -1 +1 @@
1
- {"version":3,"file":"log-stream.js","sourceRoot":"","sources":["../src/log-stream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GAGtB,MAAM,mBAAmB,CAAC;AAE3B,qEAAqE;AACrE,mBAAmB;AACnB,qEAAqE;AAErE,mFAAmF;AACnF,MAAM,oBAAoB,GAAG,MAAM,CAAC;AACpC,0EAA0E;AAC1E,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC;;;;;;GAMG;AACH,MAAM,cAAc,GAAG,EAAE,CAAC;AAwB1B,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAElC,MAAM,WAAW,GAAiB;IAChC,SAAS,EAAE,KAAK;IAChB,kBAAkB,EAAE,IAAI;IACxB,kBAAkB,EAAE,IAAI;IACxB,eAAe,EAAE,IAAI;IACrB,oBAAoB,EAAE,IAAI;IAC1B,iBAAiB,EAAE,CAAC;IACpB,mBAAmB,EAAE,CAAC;IACtB,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;CAChC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAmB,EAAE,WAAmB,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc;IACvG,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,kBAAkB;QAAE,OAAO,WAAW,CAAC;IACpE,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC;QAAE,OAAO,cAAc,CAAC;IAC3E,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,IAAI,QAAQ,GAAG,MAAM;QAAE,OAAO,cAAc,CAAC;IAC/H,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB;IACvC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;IAC9B,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACtC,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACtC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACxC,WAAW,CAAC,iBAAiB,GAAG,CAAC,CAAC;IAClC,WAAW,CAAC,mBAAmB,GAAG,CAAC,CAAC;IACpC,WAAW,CAAC,SAAS,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC/C,CAAC;AAED,qEAAqE;AACrE,cAAc;AACd,qEAAqE;AAErE;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc;IAC5B,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,OAAO,EAAE,CAAC;gBAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;YAClG,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,EAAE,OAAO,IAAI,GAAG,sBAAsB,CAAC,CAAC;YAC1G,CAAC;YACD,WAAW,CAAC,mBAAmB,IAAI,CAAC,CAAC;YACrC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAqCD,MAAM,WAAW,GAAyB;IACxC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;IAC5C,UAAU,EAAE,iBAAiB;IAC7B,eAAe,EAAE,sBAAsB;IACvC,QAAQ,EAAE,aAAa;IACvB,SAAS,EAAE,qBAAqB;IAChC,kBAAkB,EAAE,oBAAoB;IACxC,oBAAoB,EAAE,uBAAuB;IAC7C,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;IACzC,SAAS,EAAE,EAAE;IACb,YAAY,EAAE,MAAM;CACrB,CAAC;AAEF,qEAAqE;AACrE,uBAAuB;AACvB,qEAAqE;AAErE,KAAK,UAAU,OAAO;IACpB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,KAAK,GAAuB,IAAI,CAAC;IACrC,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;gBACtB,KAAK,GAAG,IAAI,CAAC;gBACb,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YACD,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;YAC9B,WAAW,CAAC,SAAS,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC7C,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QAED,iEAAiE;QACjE,0CAA0C;QAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACpC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;YAC9B,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1D,IAAI,KAAK,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YACvC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YACtB,KAAK,GAAG,IAAI,CAAC;YACb,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAChE,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;YAC9B,WAAW,CAAC,SAAS,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACnF,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QAED,WAAW,CAAC,SAAS,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnF,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;gBACzB,IAAI,CAAC;oBACH,IAAI,CAAC,CAAC,MAAM,KAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBAC9B,SAAS,GAAG,IAAI,CAAC;wBACjB,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,SAAS,GAAG,IAAI,CAAC;oBACjB,UAAU,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC,CAAC;YACF,MAAM,YAAY,GAAG,WAAW,CAC9B,GAAG,EAAE;gBACH,KAAK,OAAO,EAAE,CAAC;YACjB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC,CACrD,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,UAAU,CACd,MAAM,EACN,WAAW,EACX,CAAC,EAAE,EAAE,EAAE;oBACL,WAAW,GAAG,EAAE,CAAC;gBACnB,CAAC,EACD,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,EAAE,CACnC,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,aAAa,CAAC,YAAY,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,GAAG,IAAI,CAAC;gBACb,QAAQ,GAAG,IAAI,CAAC;gBAChB,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC9B,WAAW,CAAC,SAAS,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnF,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,8DAA8D;YAC9D,OAAO,GAAG,CAAC,CAAC;YACZ,WAAW,CAAC,iBAAiB,GAAG,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,GAAG,IAAI,CAAC;gBACb,QAAQ,GAAG,IAAI,CAAC;gBAChB,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC9B,WAAW,CAAC,SAAS,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnF,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;YAC9B,MAAM,KAAK,GACT,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,IAAI,OAAO,EAAE,gBAAgB,CAAC;gBAC3D,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sCAAsC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,OAAO,IAAI,GAAG,IAAI,CACtF,CAAC;YACF,OAAO,IAAI,CAAC,CAAC;YACb,WAAW,CAAC,iBAAiB,GAAG,OAAO,CAAC;YACxC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;AACH,CAAC;AAaD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAkB,EAClB,WAA0B,EAC1B,SAA+B,EAC/B,OAAmB,EAAE;IAErB,MAAM,EACJ,SAAS,EACT,UAAU,EACV,eAAe,EACf,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,GACZ,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC;IAEhC,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC/B,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,KAAK,EAAE;QAChC,iBAAiB,EAAE,MAAM,CAAC,YAAY;QACtC,MAAM,EAAE,mBAAmB;KAC5B,CAAC;IACF,IAAI,WAAW;QAAE,OAAO,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC;IAExD,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,IAAI,CAAC;YACH,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC,CAAC;IACF,IAAI,WAAW,CAAC,OAAO;QAAE,iBAAiB,EAAE,CAAC;IAC7C,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,6DAA6D;IAC7D,sEAAsE;IACtE,IAAI,QAAQ,GAA0B,IAAI,CAAC;IAC3C,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,QAAQ;YAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC;gBACH,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACzB,CAAC,CAAC;IACF,YAAY,EAAE,CAAC;IAEf,mEAAmE;IACnE,oEAAoE;IACpE,oBAAoB;IACpB,IAAI,oBAAoB,GAAkB,WAAW,CAAC;IACtD,IAAI,gBAAgB,GAAwB,IAAI,CAAC;IACjD,IAAI,oBAAoB,GAEb,IAAI,CAAC;IAEhB,MAAM,yBAAyB,GAAG,GAAG,EAAE;QACrC,IAAI,CAAC,oBAAoB;YAAE,OAAO;QAClC,YAAY,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACzC,oBAAoB,GAAG,IAAI,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,EAAU,EAAE,EAAE;QACxC,oBAAoB,GAAG,EAAE,CAAC;QAC1B,WAAW,CAAC,oBAAoB,GAAG,EAAE,CAAC;QACtC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAAC,GAAwB,EAAE,EAAE;QAC1D,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,gBAAgB;YACd,CAAC,gBAAgB,IAAI,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC;gBACjE,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,gBAAgB,CAAC;QACvB,IACE,oBAAoB;YACpB,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EACpE,CAAC;YACD,yBAAyB,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,8BAA8B,GAAG,CAAC,GAAiB,EAAE,EAAE;QAC3D,IAAI,oBAAoB,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE;YAAE,OAAO;QACpD,yBAAyB,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,gBAAgB,IAAI,mBAAmB,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxE,yBAAyB,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACzB,oBAAoB,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC,CAAC;IAEF,qEAAqE;IACrE,yDAAyD;IACzD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,YAAY,GAAG,WAAW,KAAK,IAAI,CAAC;IAExC,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,mBAAmB,EAAE;YAC9D,MAAM,EAAE,KAAK;YACb,OAAO;YACP,MAAM,EAAE,EAAE,CAAC,MAAM;SAClB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,QAAQ;YAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,QAAQ;YAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;IAE7B,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,YAAY,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACxC,WAAW,CAAC,kBAAkB,GAAG,MAAM,CAAC;YACxC,mEAAmE;YACnE,iEAAiE;YACjE,8DAA8D;YAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACtD,WAAW,CAAC,kBAAkB,GAAG,MAAM,CAAC;YAC1C,CAAC;YAED,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC/B,WAAW,CAAC,eAAe,GAAG,MAAM,CAAC;gBACrC,+DAA+D;gBAC/D,iEAAiE;gBACjE,+DAA+D;gBAC/D,gEAAgE;gBAChE,gCAAgC;gBAChC,IAAI,KAAK,CAAC,GAAG,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;oBAC3C,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAClC,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;wBAClC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACnC,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IACE,KAAK,CAAC,GAAG;oBACT,gBAAgB;oBAChB,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC,EACrD,CAAC;oBACD,yBAAyB,EAAE,CAAC;oBAC5B,SAAS;gBACX,CAAC;gBACD,8DAA8D;gBAC9D,6DAA6D;gBAC7D,4DAA4D;gBAC5D,wDAAwD;gBACxD,kEAAkE;gBAClE,IACE,KAAK,CAAC,GAAG;oBACT,gBAAgB;oBAChB,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,EACpD,CAAC;oBACD,8BAA8B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,YAAY,GAAG,KAAK,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACzB,yDAAyD;gBACzD,8DAA8D;gBAC9D,6DAA6D;gBAC7D,2DAA2D;gBAC3D,6DAA6D;gBAC7D,2DAA2D;gBAC3D,2DAA2D;gBAC3D,4DAA4D;gBAC5D,8DAA8D;gBAC9D,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC5B,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC7B,sBAAsB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACxD,SAAS;gBACX,CAAC;gBAED,8DAA8D;gBAC9D,2DAA2D;gBAC3D,2DAA2D;gBAC3D,wDAAwD;gBACxD,2DAA2D;gBAC3D,yDAAyD;gBACzD,2DAA2D;gBAC3D,2DAA2D;gBAC3D,4DAA4D;gBAC5D,4DAA4D;gBAC5D,0DAA0D;gBAC1D,qDAAqD;gBACrD,EAAE;gBACF,4DAA4D;gBAC5D,6DAA6D;gBAC7D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,0DAA0D;gBAC1D,6DAA6D;gBAC7D,8DAA8D;gBAC9D,2DAA2D;gBAC3D,6DAA6D;gBAC7D,yDAAyD;gBACzD,gDAAgD;gBAChD,MAAM,eAAe,GACnB,OAAO,KAAK,CAAC,IAAI,EAAE,OAAO,KAAK,QAAQ;oBACvC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;gBAEpD,+DAA+D;gBAC/D,8DAA8D;gBAC9D,4DAA4D;gBAC5D,6DAA6D;gBAC7D,+DAA+D;gBAC/D,0DAA0D;gBAC1D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,6BAA6B;gBAC7B,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;oBAC/B,IAAI,KAAK,CAAC,IAAI,EAAE,eAAe,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnD,MAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;wBACnE,IACE,YAAY;4BACZ,MAAM,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,EAC9D,CAAC;4BACD,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BAC7B,SAAS;wBACX,CAAC;wBACD,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;wBACtD,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzC,CAAC;oBACD,2DAA2D;oBAC3D,+BAA+B;oBAC/B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACxB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC9B,OAAO,cAAc,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;wBAC9C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;wBACrC,IAAI,KAAK;4BAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACrC,CAAC;oBACD,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC7B,sBAAsB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;oBACxD,SAAS;gBACX,CAAC;gBAED,IAAI,KAAK,CAAC,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;oBAChE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACxB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC9B,OAAO,cAAc,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;wBAC9C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;wBACrC,IAAI,KAAK;4BAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACrC,CAAC;oBACD,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC7B,SAAS;gBACX,CAAC;gBAED,6DAA6D;gBAC7D,8DAA8D;gBAC9D,gEAAgE;gBAChE,gEAAgE;gBAChE,+DAA+D;gBAC/D,0DAA0D;gBAC1D,MAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnE,IACE,YAAY;oBACZ,MAAM,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,EAC9D,CAAC;oBACD,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC7B,SAAS;gBACX,CAAC;gBACD,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACtD,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACxB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC9B,OAAO,cAAc,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;oBAC9C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;oBACrC,IAAI,KAAK;wBAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrC,CAAC;gBACD,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC7B,sBAAsB,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAC5D,IAAI,QAAQ;YAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrC,yBAAyB,EAAE,CAAC;QAC5B,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;IAChC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAkB,EAClB,WAA0B,EAC1B,SAA+B,EAC/B,OAAmB,EAAE;IAErB,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC;IAChE,MAAM,KAAK,GAAG,MAAM,kBAAkB,CACpC,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,EACd,YAAY,EACZ,SAAS,CACV,CAAC;IACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC;QAC9B,WAAW,CAAC,SAAS,GAAG,MAAM,qBAAqB,CACjD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,EACd,SAAS,CACV,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,SAAS,GAAG,MAAM,qBAAqB,CACjD,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,EACd,SAAS,CACV,CAAC;IACF,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACvD,OAAO,UAAU,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAYD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,QAAQ,CAC7B,IAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;oBACvC,IAAI,MAAM;wBAAE,MAAM,MAAM,CAAC;gBAC3B,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,gEAAgE;YAChE,+CAA+C;YAC/C,IAAI,GAAW,CAAC;YAChB,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC/B,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,MAAM;oBAAE,MAAM,MAAM,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,EAAE,GAAkB,IAAI,CAAC;IAC7B,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACrB,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3C,CAAC;IACD,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;QAC9B,IAAI,EAAE,GAAkB,IAAI,CAAC;QAC7B,IAAI,GAAG,GAAwB,IAAI,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,EAAE,GAAG,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACtD,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC;AAeD,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,SAAS,GAAG,KAA+C,CAAC;IAClE,OAAO,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ;QACrC,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;QACvB,OAAO,SAAS,CAAC,UAAU,KAAK,QAAQ;QACxC,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAC/B,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,UAAU,EAAE;QACxD,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAe,EAAE,CAAe;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACxE,OAAO,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,wBAAwB,CAC/B,KAA4C;IAE5C,IAAI,KAAK,CAAC,IAAI,EAAE,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC;IACzC,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAC1D,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;QACzC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,cAAc,CAAC,KAAU,EAAE,OAAe;IACjD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAChE,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,KAAoB;IAClD,MAAM,EAAE,GACN,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QAClC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;QAC1C,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,IAAI,GAAG,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC;IACpC,MAAM,UAAU,GACd,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,OAAO,GACX,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;QACjD,CAAC,CAAC,KAAK,CAAC,EAAE;QACV,CAAC,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC/D,CAAC,CAAC,KAAK,CAAC,QAAQ;YAChB,CAAC,CAAC,EAAE,CAAC;IACX,MAAM,QAAQ,GACZ,OAAO;QACL,CAAC,CAAC,cAAc,OAAO,IAAI;QAC3B,CAAC,CAAC,EAAE,CAAC;IACT,mEAAmE;IACnE,oEAAoE;IACpE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACzD,OAAO,GAAG,EAAE,IAAI,KAAK,KAAK,IAAI,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAc,EACd,OAAe,EACf,IAAY;IAEZ,MAAM,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,MAAc,EACd,OAAe,EACf,OAAe;IAEf,MAAM,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACzC,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC,cAAc,OAAO,GAAG,CAAC,CAAC;AAChD,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"}
1
+ {"version":3,"file":"log-stream.js","sourceRoot":"","sources":["../src/log-stream.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "borgmcp",
3
- "version": "0.9.39",
3
+ "version": "0.9.41",
4
4
  "description": "Coordinate AI coding agents in shared cubes. Works with Claude Code and Codex. Create projects, assign roles, and share a live activity log.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",