borgmcp 4.2.2 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -34,6 +34,36 @@ export declare function probeCodexBridgeArmed(active: {
34
34
  }): Promise<boolean | null>;
35
35
  /** gh#857 WI-2: last successful wake delivery time (for the heartbeat gate). */
36
36
  export declare function getLastDeliveredAt(): number | null;
37
+ type CodexInjectionResult = 'delivered' | 'deferred' | 'failed';
38
+ export interface CodexDeliveryState {
39
+ /** Opaque thread id of the last-resolved wake target (never a socket path). */
40
+ lastTargetThreadId: string | null;
41
+ /** HISTORICAL last attempt time (reporting only; not a health input). */
42
+ lastInjectionAt: number | null;
43
+ /** HISTORICAL last attempt result (reporting only; not a health input). */
44
+ lastInjectionResult: CodexInjectionResult | null;
45
+ /** Secret-free error code/class of the last failed injection; never contents. */
46
+ lastInjectionFailureCode: string | null;
47
+ /** LIVE: entries currently deferred/retrying (not yet confirmed delivered). */
48
+ deferredEntryCount: number;
49
+ /** LIVE: a coalesced retry-drain loop is currently retrying deferred/missed wakes. */
50
+ retryDrainActive: boolean;
51
+ /** LIVE: an undelivered directed wake not tracked by the retry-drain queue. */
52
+ deliveryDeferred: boolean;
53
+ lastDeliveredAt: number | null;
54
+ }
55
+ /** Snapshot of the Codex wake-path delivery state for the health/status surface. */
56
+ export declare function getCodexDeliveryState(): CodexDeliveryState;
57
+ /**
58
+ * client#89: pure wake-path health for Codex, folding the LIVE delivery state
59
+ * into the raw "bridge armed" probe. A wake still pending redelivery — a live
60
+ * retry-drain, a non-empty deferred queue, or an undelivered heartbeat pending
61
+ * — is NOT a confirmed-healthy path (returns null = degraded). A positively-
62
+ * dead bridge dominates (false). Historical last-attempt results are NOT used
63
+ * here: they do not self-clear when work is drained by another path, so keying
64
+ * health off them would leave a recovered seat permanently degraded.
65
+ */
66
+ export declare function codexWakePathHealthy(armed: boolean | null, state: CodexDeliveryState): boolean | null;
37
67
  export interface CodexWakeDeps {
38
68
  getActiveCube?: typeof getActiveCube;
39
69
  getCodexWakeTarget?: typeof getCodexWakeTarget;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-app-wake.d.ts","sourceRoot":"","sources":["../src/codex-app-wake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-app-wake.d.ts","sourceRoot":"","sources":["../src/codex-app-wake.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAqB5D,eAAO,MAAM,iBAAiB,iWACK,CAAC;AAEpC,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D;AAQD,eAAO,MAAM,oBAAoB,QAEyC,CAAC;AAE3E,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEtF;AAED,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,eAAe,CAK5F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC3C,IAAI,GAAE;IACJ,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,WAAW,CAAC,EAAE,OAAO,uBAAuB,CAAC;CACzC,GACL,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAWzB;AA0BD,gFAAgF;AAChF,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAElD;AAWD,KAAK,oBAAoB,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAqBhE,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,yEAAyE;IACzE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,2EAA2E;IAC3E,mBAAmB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjD,iFAAiF;IACjF,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,+EAA+E;IAC/E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sFAAsF;IACtF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+EAA+E;IAC/E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,IAAI,kBAAkB,CAW1D;AAoBD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,GAAG,IAAI,EACrB,KAAK,EAAE,kBAAkB,GACxB,OAAO,GAAG,IAAI,CAYhB;AAmDD,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAE/C,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,YAAY,CAAC,EAAE,CACb,UAAU,EAAE,MAAM,KACf,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,OAAO,CAAC,CAAC;IAEtG,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAGnB,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IAItB,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAO5E,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAI9B,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAwED,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,MAA0B,EAClC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,GAAE,aAAkB,EACxB,gBAAgB,CAAC,EAAE,MAAM,EACzB,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAUN;AA+KD;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,QAAc,CAAC;AAEtD;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,GAAE,aAAkB,EACxB,SAAS,GAAE,MAAmC,GAC7C,OAAO,CAAC,IAAI,CAAC,CA2Ef;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,GAAE;IACJ,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IAC5C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;CACd,GACL,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI,CASvC;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAiB7C"}
@@ -76,8 +76,78 @@ let lastDeliveredAt = null;
76
76
  export function getLastDeliveredAt() {
77
77
  return lastDeliveredAt;
78
78
  }
79
+ // HISTORICAL reporting — the last injection attempt/result/failure. These are
80
+ // surfaced on the status surface for diagnosis; they are NOT used to decide
81
+ // health, because a historical result does not self-clear when work is drained
82
+ // by another path (manual read, server read-cursor recovery). Health keys off
83
+ // the LIVE signals below.
84
+ let lastInjectionAt = null;
85
+ let lastInjectionResult = null;
86
+ let lastInjectionFailureCode = null;
87
+ let lastTargetThreadId = null;
88
+ // client#89: a LIVE marker for undelivered directed wakes NOT tracked by the
89
+ // retry-drain queue (retryDrainActive / deferredEntryCount cover that queue and
90
+ // self-clear on prune/deliver). SET at every injection exit where an
91
+ // authoritatively-pending wake could not be delivered and is not queued: the
92
+ // heartbeat mid-turn skip / no-target return / transient failure, the per-entry
93
+ // no-target return for a still-pending scoped entry, and the retry-drain age-out
94
+ // hand-off. CLEARED when any delivery lands (markDelivered) and when the
95
+ // heartbeat authoritatively finds no pending work. It is a LIVE signal, not a
96
+ // historical result, so a seat that recovers by any path returns to healthy.
97
+ let deliveryDeferred = false;
98
+ /** Snapshot of the Codex wake-path delivery state for the health/status surface. */
99
+ export function getCodexDeliveryState() {
100
+ return {
101
+ lastTargetThreadId,
102
+ lastInjectionAt,
103
+ lastInjectionResult,
104
+ lastInjectionFailureCode,
105
+ deferredEntryCount: retryDrainSourceEntryIds.size + (retryDrainHasUnscopedWork ? 1 : 0),
106
+ retryDrainActive: retryDrainInFlight,
107
+ deliveryDeferred,
108
+ lastDeliveredAt,
109
+ };
110
+ }
111
+ /** Reduce a caught error to a secret-free code/class — never its message. */
112
+ function injectionFailureCode(err) {
113
+ const code = err?.code;
114
+ if (typeof code === 'string' && code.length > 0)
115
+ return code;
116
+ if (err instanceof Error && err.name)
117
+ return err.name;
118
+ return 'unknown';
119
+ }
120
+ function recordInjectionResult(result, now, failureCode) {
121
+ lastInjectionAt = now();
122
+ lastInjectionResult = result;
123
+ lastInjectionFailureCode = result === 'failed' ? (failureCode ?? 'unknown') : null;
124
+ }
125
+ /**
126
+ * client#89: pure wake-path health for Codex, folding the LIVE delivery state
127
+ * into the raw "bridge armed" probe. A wake still pending redelivery — a live
128
+ * retry-drain, a non-empty deferred queue, or an undelivered heartbeat pending
129
+ * — is NOT a confirmed-healthy path (returns null = degraded). A positively-
130
+ * dead bridge dominates (false). Historical last-attempt results are NOT used
131
+ * here: they do not self-clear when work is drained by another path, so keying
132
+ * health off them would leave a recovered seat permanently degraded.
133
+ */
134
+ export function codexWakePathHealthy(armed, state) {
135
+ if (armed === false)
136
+ return false; // positively-dead bridge
137
+ if (armed === null)
138
+ return null; // could not probe → indeterminate
139
+ // Bridge armed. Degraded while any LIVE signal shows an unconfirmed delivery.
140
+ if (state.retryDrainActive ||
141
+ state.deferredEntryCount > 0 ||
142
+ state.deliveryDeferred) {
143
+ return null;
144
+ }
145
+ return true;
146
+ }
79
147
  function markDelivered(deps) {
80
148
  lastDeliveredAt = (deps.now ?? Date.now)();
149
+ // client#89: any confirmed delivery clears the live heartbeat-pending marker.
150
+ deliveryDeferred = false;
81
151
  }
82
152
  // gh#857 WI-2: a single-in-flight guard for the heartbeat tick (mirrors
83
153
  // wakeInFlight + retryDrainInFlight). Without it, a tick that stalls in IO past
@@ -214,9 +284,19 @@ async function wakeCodexTargeted(reason, deliveryIdentity, sourceEntryId, deps)
214
284
  // gh#855: resolve FRESH (live env socket + re-resolved thread), falling back
215
285
  // to the launch-recorded file only when the env socket is absent.
216
286
  const resolved = await resolveFreshCodexWakeTarget(active, deps);
217
- if (!resolved)
287
+ if (!resolved) {
288
+ // client#89: a scoped entry passed the pending check above but no target
289
+ // resolves — undeliverable, and this path does NOT schedule a retry-drain
290
+ // (the design leaves it to the next wake / the heartbeat backstop). Mark
291
+ // the deferral live so health reads degraded rather than armed. An
292
+ // unscoped wake carries no authoritative pending signal, so it does not
293
+ // set the marker. Retry behavior is unchanged.
294
+ if (sourceEntryId)
295
+ deliveryDeferred = true;
218
296
  return;
297
+ }
219
298
  const { socketPath, threadId } = resolved;
299
+ lastTargetThreadId = threadId; // client#89: record the selected target
220
300
  const wakeKey = `${threadId}\0${deliveryIdentity ?? reason}`;
221
301
  if (deliveredWakeKeys.has(wakeKey))
222
302
  return; // dedup before opening the wake socket
@@ -229,6 +309,7 @@ async function wakeCodexTargeted(reason, deliveryIdentity, sourceEntryId, deps)
229
309
  // now. Schedule the retry-drain (coalesced, retried-until-delivered) so
230
310
  // the burst's entries are drained once the thread goes idle; codex has no
231
311
  // on-disk tail fallback like Claude's borg-inbox-monitor.
312
+ recordInjectionResult('deferred', deps.now ?? Date.now); // client#89
232
313
  scheduleRetryDrain(deps, sourceEntryId);
233
314
  return;
234
315
  }
@@ -236,17 +317,19 @@ async function wakeCodexTargeted(reason, deliveryIdentity, sourceEntryId, deps)
236
317
  return;
237
318
  await client.startTurn(threadId, reason);
238
319
  rememberDeliveredWake(wakeKey);
320
+ recordInjectionResult('delivered', deps.now ?? Date.now); // client#89
239
321
  markDelivered(deps);
240
322
  }
241
323
  finally {
242
324
  client.close();
243
325
  }
244
326
  }
245
- catch {
327
+ catch (err) {
246
328
  // gh#857: a transient connect/read/startTurn failure must NOT be silently
247
329
  // swallowed (the old best-effort drop let a single blip lose an entry).
248
330
  // Schedule the retry-drain so the wake is retried-until-delivered; the SSE
249
331
  // stream is never broken (this is fire-and-forget).
332
+ recordInjectionResult('failed', deps.now ?? Date.now, injectionFailureCode(err)); // client#89
250
333
  scheduleRetryDrain(deps, sourceEntryId);
251
334
  }
252
335
  finally {
@@ -314,11 +397,13 @@ async function runRetryDrainLoop(deps) {
314
397
  if (!resolved)
315
398
  continue; // thread not loaded yet → retry (age-capped)
316
399
  const { socketPath, threadId } = resolved;
400
+ lastTargetThreadId = threadId; // client#89: record the selected target
317
401
  const client = makeCodexClient(socketPath, deps);
318
402
  await client.connect();
319
403
  try {
320
404
  const thread = await client.readThread(threadId);
321
405
  if (thread?.status?.type === 'active') {
406
+ recordInjectionResult('deferred', now); // client#89
322
407
  continue; // re-defer: still mid-turn (backoff before next poll)
323
408
  }
324
409
  for (const entryId of retryDrainSourceEntryIds) {
@@ -330,6 +415,7 @@ async function runRetryDrainLoop(deps) {
330
415
  await client.startTurn(threadId, CODEX_CATCHUP_PROMPT);
331
416
  retryDrainSourceEntryIds.clear();
332
417
  retryDrainHasUnscopedWork = false;
418
+ recordInjectionResult('delivered', now); // client#89
333
419
  markDelivered(deps);
334
420
  return; // drain delivered → server read-cursor drains all unread → done
335
421
  }
@@ -337,15 +423,26 @@ async function runRetryDrainLoop(deps) {
337
423
  client.close();
338
424
  }
339
425
  }
340
- catch {
426
+ catch (err) {
341
427
  // transient socket/read error must not abort the loop — keep retrying with
342
428
  // backoff until reachable+idle or the age cap; never throws into SSE.
429
+ recordInjectionResult('failed', now, injectionFailureCode(err)); // client#89
343
430
  }
344
431
  finally {
345
432
  releaseInjectLock();
346
433
  }
347
434
  }
348
435
  // aged out: the gh#857 WI-2 periodic heartbeat is the ultimate backstop.
436
+ // client#89: if obligations remain unfinished (the thread stayed mid-turn
437
+ // through the age cap), the loop is gone but the entries are still pending.
438
+ // Hand off to the live marker and clear the retry-drain set, so health stays
439
+ // degraded (not stuck via a stale deferredEntryCount after the loop exits)
440
+ // and clears when a delivery lands or the unread authoritatively empties.
441
+ if (retryDrainSourceEntryIds.size > 0 || retryDrainHasUnscopedWork) {
442
+ retryDrainSourceEntryIds.clear();
443
+ retryDrainHasUnscopedWork = false;
444
+ deliveryDeferred = true;
445
+ }
349
446
  }
350
447
  /**
351
448
  * gh#857 WI-2: codex /loop-equivalent heartbeat cadence. Codex retains this
@@ -389,19 +486,41 @@ export async function fireCodexHeartbeatTick(deps = {}, cadenceMs = CODEX_HEARTB
389
486
  // authoritative unread state without advancing its cursor; only then touch
390
487
  // the app-server socket or resolve a thread.
391
488
  const hasPendingWork = deps.hasPendingWork ?? hasPendingWakeActivity;
392
- if (!(await hasPendingWork(active)))
489
+ if (!(await hasPendingWork(active))) {
490
+ // client#89: authoritative unread is empty → no undelivered wake remains.
491
+ // Clear the live heartbeat-pending marker so a seat that recovered by any
492
+ // path (manual read, server read-cursor drain) returns to healthy.
493
+ deliveryDeferred = false;
393
494
  return;
495
+ }
394
496
  const resolved = await resolveFreshCodexWakeTarget(active, deps);
395
- if (!resolved)
497
+ if (!resolved) {
498
+ // client#89: authoritative pending work exists but no fresh target/thread
499
+ // resolves — the wake is UNDELIVERABLE this tick. The persisted-target
500
+ // probe can still read armed, so mark the deferral live (health degraded)
501
+ // until a target resolves and delivers, or the unread authoritatively
502
+ // clears. Cadence/retry behavior is unchanged (the next tick still tries).
503
+ deliveryDeferred = true;
396
504
  return; // thread not loaded yet → next tick retries
505
+ }
506
+ lastTargetThreadId = resolved.threadId; // client#89: record the selected target
397
507
  const client = makeCodexClient(resolved.socketPath, deps);
398
508
  await client.connect();
399
509
  try {
400
510
  const thread = await client.readThread(resolved.threadId);
401
- if (thread?.status?.type === 'active')
511
+ if (thread?.status?.type === 'active') {
512
+ // client#89: we passed hasPendingWork above, so a mid-turn thread here
513
+ // means a directed entry is deferred. Mark it LIVE-pending (the heartbeat
514
+ // does not queue into the retry-drain) so the health surface reads
515
+ // degraded until a delivery lands or the unread authoritatively clears.
516
+ // Skip semantics are unchanged — the next tick still retries.
517
+ recordInjectionResult('deferred', deps.now ?? Date.now);
518
+ deliveryDeferred = true;
402
519
  return; // mid-turn → skip; next tick retries
520
+ }
403
521
  await client.startTurn(resolved.threadId, CODEX_CATCHUP_PROMPT);
404
- // markDelivered updates local heartbeat-gating state only.
522
+ // markDelivered clears the live heartbeat-pending marker.
523
+ recordInjectionResult('delivered', deps.now ?? Date.now); // client#89
405
524
  markDelivered(deps);
406
525
  }
407
526
  finally {
@@ -413,6 +532,11 @@ export async function fireCodexHeartbeatTick(deps = {}, cadenceMs = CODEX_HEARTB
413
532
  // path is gone; signal teardown so the timer stops ticking against a dead
414
533
  // socket (re-armed when an active cube returns). Other (transient) errors are
415
534
  // best-effort skips — never break the SSE stream; next tick retries.
535
+ // client#89: we passed hasPendingWork, so a failure here leaves pending work
536
+ // undelivered → mark it live-pending (a dead bridge is separately false via
537
+ // the armed probe). Clears on the next authoritative-empty tick or delivery.
538
+ recordInjectionResult('failed', deps.now ?? Date.now, injectionFailureCode(err)); // client#89
539
+ deliveryDeferred = true;
416
540
  if (isAppServerDeadError(err))
417
541
  deps.onAppServerSocketDead?.();
418
542
  }
@@ -456,6 +580,12 @@ export function resetCodexWakeForTests() {
456
580
  lastDeliveredAt = null;
457
581
  heartbeatInFlight = false;
458
582
  injectInFlight = false;
583
+ // client#89 delivery-state observability
584
+ lastInjectionAt = null;
585
+ lastInjectionResult = null;
586
+ lastInjectionFailureCode = null;
587
+ lastTargetThreadId = null;
588
+ deliveryDeferred = false;
459
589
  }
460
590
  function rememberDeliveredWake(key) {
461
591
  if (deliveredWakeKeys.has(key))
@@ -1 +1 @@
1
- {"version":3,"file":"codex-app-wake.js","sourceRoot":"","sources":["../src/codex-app-wake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-app-wake.js","sourceRoot":"","sources":["../src/codex-app-wake.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,GAEpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,8BAA8B,CAAC;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAC5B,iCAAiC,CAAC;AAEpC,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,6BAA6B,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,kFAAkF;AAClF,qEAAqE;AACrE,iFAAiF;AACjF,kFAAkF;AAClF,kFAAkF;AAClF,iCAAiC;AACjC,MAAM,CAAC,MAAM,oBAAoB,GAC/B,GAAG,6BAA6B,CAAC,wHAAwH,CAAC,GAAG;IAC7J,wEAAwE,CAAC;AAE3E,MAAM,UAAU,wBAAwB,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC3E,OAAO,GAAG,CAAC,0BAA0B,CAAC,KAAK,GAAG,CAAC;AACjD,CAAC;AAED,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAM7D,MAAM,UAAU,sBAAsB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACzE,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAA2C,EAC3C,OAGI,EAAE;IAEN,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,4EAA4E;QAC5E,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,IAAI,uBAAuB,CAAC;QAC1D,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,MAAM,mBAAmB,GAKpB,EAAE,CAAC;AACR,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAC5C,MAAM,qBAAqB,GAAa,EAAE,CAAC;AAC3C,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC,gFAAgF;AAChF,iFAAiF;AACjF,yEAAyE;AACzE,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAU,CAAC;AACnD,IAAI,yBAAyB,GAAG,KAAK,CAAC;AAEtC,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,4EAA4E;AAC5E,IAAI,eAAe,GAAkB,IAAI,CAAC;AAE1C,gFAAgF;AAChF,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC;AACzB,CAAC;AAYD,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,8EAA8E;AAC9E,0BAA0B;AAC1B,IAAI,eAAe,GAAkB,IAAI,CAAC;AAC1C,IAAI,mBAAmB,GAAgC,IAAI,CAAC;AAC5D,IAAI,wBAAwB,GAAkB,IAAI,CAAC;AACnD,IAAI,kBAAkB,GAAkB,IAAI,CAAC;AAC7C,6EAA6E;AAC7E,gFAAgF;AAChF,qEAAqE;AACrE,6EAA6E;AAC7E,gFAAgF;AAChF,iFAAiF;AACjF,yEAAyE;AACzE,8EAA8E;AAC9E,6EAA6E;AAC7E,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAoB7B,oFAAoF;AACpF,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,kBAAkB;QAClB,eAAe;QACf,mBAAmB;QACnB,wBAAwB;QACxB,kBAAkB,EAAE,wBAAwB,CAAC,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,gBAAgB,EAAE,kBAAkB;QACpC,gBAAgB;QAChB,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,oBAAoB,CAAC,GAAY;IACxC,MAAM,IAAI,GAAI,GAAiC,EAAE,IAAI,CAAC;IACtD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IACtD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAA4B,EAC5B,GAAiB,EACjB,WAAoB;IAEpB,eAAe,GAAG,GAAG,EAAE,CAAC;IACxB,mBAAmB,GAAG,MAAM,CAAC;IAC7B,wBAAwB,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAqB,EACrB,KAAyB;IAEzB,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC,CAAC,yBAAyB;IAC5D,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,kCAAkC;IACnE,8EAA8E;IAC9E,IACE,KAAK,CAAC,gBAAgB;QACtB,KAAK,CAAC,kBAAkB,GAAG,CAAC;QAC5B,KAAK,CAAC,gBAAgB,EACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,IAAmB;IACxC,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3C,8EAA8E;IAC9E,gBAAgB,GAAG,KAAK,CAAC;AAC3B,CAAC;AAED,wEAAwE;AACxE,gFAAgF;AAChF,+EAA+E;AAC/E,0EAA0E;AAC1E,kCAAkC;AAClC,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B,gFAAgF;AAChF,kFAAkF;AAClF,iFAAiF;AACjF,+EAA+E;AAC/E,kFAAkF;AAClF,6EAA6E;AAC7E,6EAA6E;AAC7E,mFAAmF;AACnF,2CAA2C;AAC3C,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,SAAS,oBAAoB;IAC3B,IAAI,cAAc;QAAE,OAAO,KAAK,CAAC;IACjC,cAAc,GAAG,IAAI,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB;IACxB,cAAc,GAAG,KAAK,CAAC;AACzB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,GAAY;IACxC,OAAQ,GAAgC,EAAE,IAAI,KAAK,QAAQ,CAAC;AAC9D,CAAC;AAED,SAAS,YAAY,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAyCD;;;;;;;;;;;;GAYG;AACH,SAAS,eAAe,CACtB,IAAY,EACZ,IAAmB;IAEnB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,MAA2C,EAC3C,IAAmB;IAEnB,MAAM,SAAS,GAAG,2BAA2B,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACvE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAsB,EAAE,CAAC;YACxC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrC,IAAI,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5F,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAC,CAAC,+DAA+D;YAC3F,MAAM,sBAAsB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,CAAC;YAChF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACpG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;AACtE,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,sBAAsB,CACnC,MAA2C,EAC3C,KAA+C,EAC/C,IAAmB;IAEnB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAChG,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,SAAiB,iBAAiB,EAClC,MAAyB,OAAO,CAAC,GAAG,EACpC,OAAsB,EAAE,EACxB,gBAAyB,EACzB,aAAsB;IAEtB,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO;IAC5B,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,IAAI,YAAY;QAAE,OAAO;IAEzB,YAAY,GAAG,IAAI,CAAC;IACpB,KAAK,mBAAmB,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,OAAO,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAG,CAAC;QAC7C,MAAM,iBAAiB,CACrB,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAC9E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAc,EACd,gBAAoC,EACpC,aAAiC,EACjC,IAAmB;IAEnB,gFAAgF;IAChF,iFAAiF;IACjF,wEAAwE;IACxE,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC5B,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,IAAI,mBAAmB,CAAC;QACjE,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAAE,OAAO;QAC1E,6EAA6E;QAC7E,kEAAkE;QAClE,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,yEAAyE;YACzE,0EAA0E;YAC1E,yEAAyE;YACzE,mEAAmE;YACnE,wEAAwE;YACxE,+CAA+C;YAC/C,IAAI,aAAa;gBAAE,gBAAgB,GAAG,IAAI,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAC1C,kBAAkB,GAAG,QAAQ,CAAC,CAAC,wCAAwC;QACvE,MAAM,OAAO,GAAG,GAAG,QAAQ,KAAK,gBAAgB,IAAI,MAAM,EAAE,CAAC;QAC7D,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,uCAAuC;QACnF,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,uEAAuE;gBACvE,wEAAwE;gBACxE,0EAA0E;gBAC1E,0DAA0D;gBAC1D,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;gBACrE,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;YACD,IAAI,aAAa,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBAAE,OAAO;YAC1E,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACzC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC/B,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;YACtE,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,oDAAoD;QACpD,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY;QAC9F,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,iBAAiB,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAAC,IAAmB,EAAE,aAAsB;IACrE,IAAI,aAAa;QAAE,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;;QAC1D,yBAAyB,GAAG,IAAI,CAAC;IACtC,IAAI,kBAAkB;QAAE,OAAO,CAAC,sDAAsD;IACtF,kBAAkB,GAAG,IAAI,CAAC;IAC1B,KAAK,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QACxC,kBAAkB,GAAG,KAAK,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAmB;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,uBAAuB,CAAC;IAChE,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC;IACxB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,6EAA6E;IAC7E,wEAAwE;IACxE,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,QAAQ,GAAG,WAAW,EAAE,CAAC;QACrE,MAAM,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACpD,QAAQ,EAAE,CAAC;QACX,6EAA6E;QAC7E,4EAA4E;QAC5E,IAAI,CAAC,oBAAoB,EAAE;YAAE,SAAS;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,MAAM;gBAAE,SAAS,CAAC,qDAAqD;YAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,IAAI,mBAAmB,CAAC;YACjE,KAAK,MAAM,OAAO,IAAI,wBAAwB,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACH,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;wBAAE,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvF,CAAC;gBAAC,MAAM,CAAC;oBACP,2DAA2D;gBAC7D,CAAC;YACH,CAAC;YACD,IAAI,CAAC,yBAAyB,IAAI,wBAAwB,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO;YAC9E,yEAAyE;YACzE,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ;gBAAE,SAAS,CAAC,6CAA6C;YACtE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;YAC1C,kBAAkB,GAAG,QAAQ,CAAC,CAAC,wCAAwC;YACvE,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACjD,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACjD,IAAI,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtC,qBAAqB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY;oBACpD,SAAS,CAAC,sDAAsD;gBAClE,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,wBAAwB,EAAE,CAAC;oBAC/C,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;wBAAE,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,CAAC,yBAAyB,IAAI,wBAAwB,CAAC,IAAI,KAAK,CAAC;oBAAE,OAAO;gBAC9E,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;gBACvD,wBAAwB,CAAC,KAAK,EAAE,CAAC;gBACjC,yBAAyB,GAAG,KAAK,CAAC;gBAClC,qBAAqB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY;gBACrD,aAAa,CAAC,IAAI,CAAC,CAAC;gBACpB,OAAO,CAAC,gEAAgE;YAC1E,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,2EAA2E;YAC3E,sEAAsE;YACtE,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY;QAC/E,CAAC;gBAAS,CAAC;YACT,iBAAiB,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IACD,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,wBAAwB,CAAC,IAAI,GAAG,CAAC,IAAI,yBAAyB,EAAE,CAAC;QACnE,wBAAwB,CAAC,KAAK,EAAE,CAAC;QACjC,yBAAyB,GAAG,KAAK,CAAC;QAClC,gBAAgB,GAAG,IAAI,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,MAAM,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAsB,EAAE,EACxB,YAAoB,0BAA0B;IAE9C,IAAI,iBAAiB;QAAE,OAAO,CAAC,kDAAkD;IACjF,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,GAAG,EAAE,SAAS,CAAC;QAAE,OAAO,CAAC,yBAAyB;IAC5F,iFAAiF;IACjF,gFAAgF;IAChF,+EAA+E;IAC/E,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO;IACxD,gFAAgF;IAChF,iFAAiF;IACjF,IAAI,CAAC,oBAAoB,EAAE;QAAE,OAAO;IACpC,8EAA8E;IAC9E,6EAA6E;IAC7E,iBAAiB,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,oEAAoE;QACpE,2EAA2E;QAC3E,6CAA6C;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,sBAAsB,CAAC;QACrE,IAAI,CAAC,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACpC,0EAA0E;YAC1E,0EAA0E;YAC1E,mEAAmE;YACnE,gBAAgB,GAAG,KAAK,CAAC;YACzB,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,0EAA0E;YAC1E,uEAAuE;YACvE,0EAA0E;YAC1E,sEAAsE;YACtE,2EAA2E;YAC3E,gBAAgB,GAAG,IAAI,CAAC;YACxB,OAAO,CAAC,4CAA4C;QACtD,CAAC;QACD,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,wCAAwC;QAChF,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,uEAAuE;gBACvE,0EAA0E;gBAC1E,mEAAmE;gBACnE,wEAAwE;gBACxE,8DAA8D;gBAC9D,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxD,gBAAgB,GAAG,IAAI,CAAC;gBACxB,OAAO,CAAC,qCAAqC;YAC/C,CAAC;YACD,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;YAChE,0DAA0D;YAC1D,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY;YACtE,aAAa,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,4EAA4E;QAC5E,0EAA0E;QAC1E,8EAA8E;QAC9E,qEAAqE;QACrE,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY;QAC9F,gBAAgB,GAAG,IAAI,CAAC;QACxB,IAAI,oBAAoB,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;IAChE,CAAC;YAAS,CAAC;QACT,iBAAiB,GAAG,KAAK,CAAC;QAC1B,iBAAiB,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAKI,EAAE;IAEN,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,uBAAuB,EAAE,CAAC;IAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,wBAAwB,EAAE,CAAC;IAC/E,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,0BAA0B,CAAC;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,sBAAsB,EAAE,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5C,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAChB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,YAAY,GAAG,KAAK,CAAC;IACrB,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,iBAAiB,CAAC,KAAK,EAAE,CAAC;IAC1B,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,kBAAkB,GAAG,KAAK,CAAC;IAC3B,wBAAwB,CAAC,KAAK,EAAE,CAAC;IACjC,yBAAyB,GAAG,KAAK,CAAC;IAClC,eAAe,GAAG,IAAI,CAAC;IACvB,iBAAiB,GAAG,KAAK,CAAC;IAC1B,cAAc,GAAG,KAAK,CAAC;IACvB,yCAAyC;IACzC,eAAe,GAAG,IAAI,CAAC;IACvB,mBAAmB,GAAG,IAAI,CAAC;IAC3B,wBAAwB,GAAG,IAAI,CAAC;IAChC,kBAAkB,GAAG,IAAI,CAAC;IAC1B,gBAAgB,GAAG,KAAK,CAAC;AAC3B,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACxC,IAAI,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO;IACvC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,OAAO,qBAAqB,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,EAAE,CAAC;QAC7C,IAAI,MAAM;YAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG;AAcH,OAAO,EAgBL,UAAU,EASV,oBAAoB,EAIpB,aAAa,EAOb,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAML,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAqElC,OAAO,EACL,oBAAoB,EAMrB,MAAM,qBAAqB,CAAC;AA2C7B,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,oBAAoB,EAC/B,IAAI,GAAE;IACJ,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,oBAAoB,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACnD,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;CAC3B,GACL,OAAO,CAAC;IAAE,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBvF;AAeD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAG5E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAEtG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CASlM;AAQD,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,CAI5D;AAMD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG;IAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAMtE;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAGvK;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE;IACN,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,EACD,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,GAAE;IACJ,OAAO,CAAC,EAAE,OAAO,oBAAoB,CAAC;CAClC,GACL,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED;;GAEG;AACH,wBAAsB,IAAI,kBAk0CzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG;AAcH,OAAO,EAiBL,UAAU,EASV,oBAAoB,EAIpB,aAAa,EAOb,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAML,KAAK,QAAQ,EAEd,MAAM,0BAA0B,CAAC;AAqElC,OAAO,EACL,oBAAoB,EAMrB,MAAM,qBAAqB,CAAC;AA2C7B,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,oBAAoB,EAC/B,IAAI,GAAE;IACJ,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,oBAAoB,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACnD,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;CAC3B,GACL,OAAO,CAAC;IAAE,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBvF;AAeD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAG5E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAEtG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CASlM;AAQD,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,CAI5D;AAMD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB,GAAG;IAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAMtE;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAGvK;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE;IACN,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,EACD,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,GAAE;IACJ,OAAO,CAAC,EAAE,OAAO,oBAAoB,CAAC;CAClC,GACL,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED;;GAEG;AACH,wBAAsB,IAAI,kBAq1CzB"}
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
14
14
  import { CallToolRequestSchema, ListToolsRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
15
15
  import { assertRoleMatches } from './role-match.js';
16
16
  import { CubeDeletionConfirmationError } from './server-errors.js';
17
- import { getCubeInfo, getRoleInfo, getRoleInfoByName, getRoster, readLog, readLogEntry, appendLog, ackLogEntry, getAckStatus, recordDecision, removeDecision, listDecisions, regen, listCubes, createCube, updateCube, deleteCube, createRole, updateRole, patchRoleSection, sanitizeServerAdvisory, patchTaxonomyClass, deleteRole, getCube, getCubeForManagement, resolveLocalManageAuthority, listRoles, syncRoles, applyTemplate, whoami, roleRationale, putDocument, getDocument, listDocuments, removeDocument, } from './remote-client.js';
17
+ import { getCubeInfo, getRoleInfo, getRoleInfoByName, getRoster, readLog, readLogEntry, appendLog, ackLogEntry, getAckStatus, recordDecision, removeDecision, listDecisions, regen, listCubes, createCube, normalizeExplicitRepository, updateCube, deleteCube, createRole, updateRole, patchRoleSection, sanitizeServerAdvisory, patchTaxonomyClass, deleteRole, getCube, getCubeForManagement, resolveLocalManageAuthority, listRoles, syncRoles, applyTemplate, whoami, roleRationale, putDocument, getDocument, listDocuments, removeDocument, } from './remote-client.js';
18
18
  import { formatDocument, formatDocumentCitations, formatDocumentMetadata, } from './document-render.js';
19
19
  import { getTemplate, listTemplateNames, resolveCubeDirectiveForCreate, resolveCubeDirectiveForApply, resolveMessageTaxonomyForCreate, } from 'borgmcp-shared/templates';
20
20
  import { activeCubeWithFreshRegenIdentity, getActiveCube, getActiveCubeForWorktree, refreshActiveCubeMetadata, findProjectRoot, inboxPathForDrone, pinMcpSeatIdentity, } from './cubes.js';
@@ -1007,17 +1007,31 @@ export async function main() {
1007
1007
  throw new Error(`Unknown template "${templateName}". Available: ${listTemplateNames().join(', ')}`);
1008
1008
  }
1009
1009
  }
1010
+ // client#499: the cube binds to an EXPLICIT repository (no cwd
1011
+ // inference). Normalize the argument client-side and fail with a
1012
+ // clear message when it is absent/malformed — no working-directory
1013
+ // fallback.
1014
+ const { repository, workingRepoName } = normalizeExplicitRepository(args?.repository, args?.working_repo_name);
1010
1015
  // Sprint 14: template cube_directive fills empty operator input.
1011
1016
  // Operator-supplied text takes precedence — templates fill
1012
1017
  // the blank, never stomp.
1013
1018
  const resolvedCubeDirective = resolveCubeDirectiveForCreate(cubeDirective, template);
1014
- // v0.9.2: createCube now returns the flat shape directly
1015
- // (see remote-client unwrap). `cube.id` / `cube.name` work
1016
- // verbatim on the returned object.
1017
1019
  const resolvedMessageTaxonomy = resolveMessageTaxonomyForCreate(undefined, template);
1018
- const cube = await createCube(name, resolvedCubeDirective, {
1020
+ const { result, cube } = await createCube(name, resolvedCubeDirective, {
1019
1021
  message_taxonomy: resolvedMessageTaxonomy,
1022
+ repository,
1023
+ workingRepoName,
1020
1024
  });
1025
+ // client#499: the server homed this repository to an EXISTING cube —
1026
+ // report it honestly, apply no template, and leave its directive
1027
+ // untouched.
1028
+ if (result === 'resolved') {
1029
+ const text = `A cube already exists for this repository: **${cube.name}** (id: ${cube.id}). The local Borg server homes one cube per repository; its directive was left unchanged. Use borg_assimilate ${cube.name} to join it, or borg_update-cube to change its settings.`;
1030
+ return {
1031
+ content: [{ type: 'text', text }],
1032
+ structuredContent: { cube, result: 'resolved', template: null, roles_created: null, roles_updated: null },
1033
+ };
1034
+ }
1021
1035
  // Apply template roles if requested. Merges by name: any role the
1022
1036
  // server auto-seeded (e.g. "Drone") that the template doesn't
1023
1037
  // also include stays put; templated roles upsert.
@@ -1031,6 +1045,7 @@ export async function main() {
1031
1045
  content: [{ type: 'text', text }],
1032
1046
  structuredContent: {
1033
1047
  cube,
1048
+ result: 'created',
1034
1049
  template: templateName,
1035
1050
  roles_created: summary.created,
1036
1051
  roles_updated: summary.updated,
@@ -1040,7 +1055,7 @@ export async function main() {
1040
1055
  const text = `Created cube **${cube.name}** (id: ${cube.id}). A default "Drone" role was seeded — rename or replace it via borg_update-role / borg_create-role / borg_delete-role. Use borg_assimilate ${cube.name} to join as a drone.`;
1041
1056
  return {
1042
1057
  content: [{ type: 'text', text }],
1043
- structuredContent: { cube, template: null, roles_created: null, roles_updated: null },
1058
+ structuredContent: { cube, result: 'created', template: null, roles_created: null, roles_updated: null },
1044
1059
  };
1045
1060
  }
1046
1061
  case 'borg_update-cube': {