@cotal-ai/connector-core 0.16.0 → 0.17.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.
package/dist/agent.d.ts CHANGED
@@ -68,6 +68,9 @@ export declare class MeshAgent extends EventEmitter {
68
68
  * permanently degrades unknown ambient to pull-only for this session rather than risk a late
69
69
  * live/durable copy changing from quiet to automatic. */
70
70
  private evictedClassifications;
71
+ /** Surfaced to the host but not yet committed or abandoned, counted per holding frame because
72
+ * frames overlap. See {@link holdInFlight}. */
73
+ private inFlightIds;
71
74
  private classificationUnsafe;
72
75
  /** Terminal receive-time decisions that must survive the live→durable transition: successfully
73
76
  * surfaced pull-only messages and hard drops under muted/focus. Capacity loss degrades the
@@ -126,6 +129,29 @@ export declare class MeshAgent extends EventEmitter {
126
129
  /** Return pending messages in stable receive order. Automatic delivery excludes quiet ambient;
127
130
  * pull-only is the explicit cotal_inbox lane. */
128
131
  peekInbox(scope?: InboxScope): InboxItem[];
132
+ /** Mark a surfaced batch as mid-delivery, so the overflow valve will not ack it out from under the
133
+ * host. Pair with {@link releaseInFlight} on the delivery verdict, whichever way it goes.
134
+ *
135
+ * **Counted, not a set.** Hook frames overlap, so the same id is routinely in two open batches at
136
+ * once; if a hold were a boolean, the first frame's verdict would unprotect ids the second is
137
+ * still delivering, and an arrival between the two verdicts would ack one — the very loss this
138
+ * guard exists to stop, reached through the concurrency the per-frame keying deliberately allows.
139
+ *
140
+ * **All or nothing, and it says which.** At the ceiling this refuses the whole batch and returns
141
+ * `false`; the caller must then NOT surface it. Protecting only part of a batch, or protecting
142
+ * none while the caller surfaces anyway, silently reopens exactly the loss this guard exists to
143
+ * close — the unprotected ids sit in the inbox for the whole handoff window with the overflow
144
+ * valve free to ack them. Declining to surface costs a deferral: the messages stay buffered and go
145
+ * out on a later frame, once a verdict releases capacity. */
146
+ holdInFlight(ids: readonly string[]): boolean;
147
+ /** Whether this id is currently protected from the overflow valve — i.e. some frame is mid-delivery
148
+ * holding it. Read-only observability for the property {@link holdInFlight} establishes. A caller
149
+ * that needs a batch to actually BE in flight before it acts must wait on this, never on a sleep:
150
+ * the handoff runs through a real relay process whose latency is not the caller's to predict. */
151
+ isInFlight(id: string): boolean;
152
+ /** One frame's verdict is in (either way). The id is ordinary backlog again only once EVERY frame
153
+ * holding it has reported — a release from one must not speak for another still in flight. */
154
+ releaseInFlight(ids: readonly string[]): void;
129
155
  /** Return scoped pending messages and ack them — call only when they're actually surfaced. */
130
156
  drainInbox(limit?: number, scope?: InboxScope): InboxItem[];
131
157
  /** Ack exact surfaced ids without assuming they still form the physical inbox prefix. Every
@@ -230,6 +256,21 @@ export declare class MeshAgent extends EventEmitter {
230
256
  launchOptions?: Record<string, unknown>;
231
257
  cwd?: string;
232
258
  }): Promise<ControlReply>;
259
+ /** One v0.4 manager-endpoint invoke (P2 item 1, 1c.2b): the generic {@link CotalEndpoint.invokeService}
260
+ * path (describe → §13.7 store fetch → digest-verified recompile → typed command), adapted back to
261
+ * the {@link ControlReply} shape every tool above consumes. `undefined` args are stripped BEFORE the
262
+ * compiled input contract validates (closed schemas reject present-but-undefined keys; the ctl path
263
+ * shed them in JSON serialization). A broker-denied publish (a capability the caller's credential
264
+ * does not hold, e.g. a capability-less purge) has NO responder and surfaces as the deadline —
265
+ * named here so the refusal reads as the tier boundary it is. */
266
+ private managerInvoke;
267
+ /** Resolve a managed agent's CURRENT principal triple (owner-mode targets are (owner, actor,
268
+ * lifecycleUid), never an alias — §13.2) through the manager's `inspect` read. A STATIC row's
269
+ * `id` is the bare actor (nkey) under the caller's own owner; a USER-mode row's `id` is the
270
+ * composite `owner.actor` principal key — split it, or the embedded dot breaks the target
271
+ * block's subject arity. The owner-mode standing mint pins the caller's OWN owner, so a
272
+ * foreign-owner target is broker-denied at publish (the same own-domain boundary as ctl). */
273
+ private managerTargetFor;
233
274
  /** Ask the manager to tear a teammate down (its `stop` op). Graceful by default —
234
275
  * the session is told to exit cleanly (so it leaves the mesh) before the
235
276
  * process/tab is closed; `graceful:false` is a hard, immediate kill.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/agent.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { execFile } from "node:child_process";
2
2
  import { EventEmitter } from "node:events";
3
3
  import { hostname } from "node:os";
4
- import { normalizeMentions, subjectMatches, isConcreteChannel, channelInAllow, resolvePeer as resolvePeerInRoster, CotalEndpoint, CONTROL_PRIVILEGED, CONTROL_SELF_SERVICE, } from "@cotal-ai/core";
4
+ import { normalizeMentions, subjectMatches, isConcreteChannel, channelInAllow, resolvePeer as resolvePeerInRoster, CotalEndpoint, BASELINE_LIFECYCLE_ENDPOINT, EpEnvelopeError, partsToText, } from "@cotal-ai/core";
5
5
  /** Client-side request window for the manager's readiness-waiting `start` op (#159 B1): the manager
6
6
  * replies only on a REAL outcome — presence join, process exit, or its ~30s readiness backstop —
7
7
  * so a spawn request must OUTLIVE that window, not the 5s op default. The tier rule forbids
@@ -81,6 +81,9 @@ export class MeshAgent extends EventEmitter {
81
81
  * permanently degrades unknown ambient to pull-only for this session rather than risk a late
82
82
  * live/durable copy changing from quiet to automatic. */
83
83
  evictedClassifications = new Map();
84
+ /** Surfaced to the host but not yet committed or abandoned, counted per holding frame because
85
+ * frames overlap. See {@link holdInFlight}. */
86
+ inFlightIds = new Map();
84
87
  classificationUnsafe = false;
85
88
  /** Terminal receive-time decisions that must survive the live→durable transition: successfully
86
89
  * surfaced pull-only messages and hard drops under muted/focus. Capacity loss degrades the
@@ -309,7 +312,14 @@ export class MeshAgent extends EventEmitter {
309
312
  index = 0;
310
313
  const [evicted] = this.inbox.splice(index, 1);
311
314
  this.rememberEvicted(evicted);
312
- evicted.ack();
315
+ // ...but NOT an id that is mid-delivery. Overflow prefers the oldest, which is exactly what a
316
+ // surfaced batch is made of, so without this an arrival can ack a message a host is still
317
+ // trying to hand to its runtime. Evicting bounds memory; acking is what makes it
318
+ // unrecoverable — gone from the buffer, never marked handled, no longer redeliverable. Left
319
+ // un-acked it redelivers; and if the delivery does succeed, {@link drainInboxIds} marks the
320
+ // now-missing id handled so that redelivery is silently acked.
321
+ if (!this.inFlightIds.has(evicted.item.id))
322
+ evicted.ack();
313
323
  }
314
324
  }
315
325
  this.emit("incoming", item);
@@ -358,9 +368,7 @@ export class MeshAgent extends EventEmitter {
358
368
  * remains a payload display label. Shared by live ingest and
359
369
  * focus recall ({@link recallAmbient}). */
360
370
  toInboxItem(m, kind, historical) {
361
- const text = m.parts
362
- .map((p) => (p.kind === "text" ? p.text : JSON.stringify(p.data)))
363
- .join(" ");
371
+ const text = partsToText(m.parts);
364
372
  return {
365
373
  id: m.id,
366
374
  ts: m.ts,
@@ -383,6 +391,51 @@ export class MeshAgent extends EventEmitter {
383
391
  peekInbox(scope = "all") {
384
392
  return this.inbox.filter((p) => this.inScope(p, scope)).map((p) => p.item);
385
393
  }
394
+ /** Mark a surfaced batch as mid-delivery, so the overflow valve will not ack it out from under the
395
+ * host. Pair with {@link releaseInFlight} on the delivery verdict, whichever way it goes.
396
+ *
397
+ * **Counted, not a set.** Hook frames overlap, so the same id is routinely in two open batches at
398
+ * once; if a hold were a boolean, the first frame's verdict would unprotect ids the second is
399
+ * still delivering, and an arrival between the two verdicts would ack one — the very loss this
400
+ * guard exists to stop, reached through the concurrency the per-frame keying deliberately allows.
401
+ *
402
+ * **All or nothing, and it says which.** At the ceiling this refuses the whole batch and returns
403
+ * `false`; the caller must then NOT surface it. Protecting only part of a batch, or protecting
404
+ * none while the caller surfaces anyway, silently reopens exactly the loss this guard exists to
405
+ * close — the unprotected ids sit in the inbox for the whole handoff window with the overflow
406
+ * valve free to ack them. Declining to surface costs a deferral: the messages stay buffered and go
407
+ * out on a later frame, once a verdict releases capacity. */
408
+ holdInFlight(ids) {
409
+ let fresh = 0;
410
+ for (const id of ids)
411
+ if (!this.inFlightIds.has(id))
412
+ fresh++;
413
+ if (this.inFlightIds.size + fresh > MAX_INBOX * 2)
414
+ return false;
415
+ for (const id of ids)
416
+ this.inFlightIds.set(id, (this.inFlightIds.get(id) ?? 0) + 1);
417
+ return true;
418
+ }
419
+ /** Whether this id is currently protected from the overflow valve — i.e. some frame is mid-delivery
420
+ * holding it. Read-only observability for the property {@link holdInFlight} establishes. A caller
421
+ * that needs a batch to actually BE in flight before it acts must wait on this, never on a sleep:
422
+ * the handoff runs through a real relay process whose latency is not the caller's to predict. */
423
+ isInFlight(id) {
424
+ return this.inFlightIds.has(id);
425
+ }
426
+ /** One frame's verdict is in (either way). The id is ordinary backlog again only once EVERY frame
427
+ * holding it has reported — a release from one must not speak for another still in flight. */
428
+ releaseInFlight(ids) {
429
+ for (const id of ids) {
430
+ const held = this.inFlightIds.get(id);
431
+ if (held === undefined)
432
+ continue;
433
+ if (held <= 1)
434
+ this.inFlightIds.delete(id);
435
+ else
436
+ this.inFlightIds.set(id, held - 1);
437
+ }
438
+ }
386
439
  /** Return scoped pending messages and ack them — call only when they're actually surfaced. */
387
440
  drainInbox(limit, scope = "all") {
388
441
  const eligible = this.inbox.filter((p) => this.inScope(p, scope));
@@ -628,10 +681,52 @@ export class MeshAgent extends EventEmitter {
628
681
  * operator-local intent, kept off the peer-facing spawn door — see #159.) */
629
682
  async spawn(name, role, opts) {
630
683
  this.assertConnected();
631
- return this.ep.requestControl(CONTROL_PRIVILEGED, {
632
- op: "start",
633
- args: { name, role, agent: opts?.agent, model: opts?.model, variant: opts?.variant, launchOptions: opts?.launchOptions, cwd: opts?.cwd },
634
- }, SPAWN_TIMEOUT_MS);
684
+ const args = { name, role, agent: opts?.agent, model: opts?.model, variant: opts?.variant, launchOptions: opts?.launchOptions, cwd: opts?.cwd };
685
+ // P2 item 2 (2b): spawn is an ACTION — follow the acceptance to the terminal so cotal_spawn
686
+ // stays synchronous (the MCP reply carries the live outcome, not the pre-launch acceptance).
687
+ return this.managerInvoke("spawn", args, { deadlineMs: SPAWN_TIMEOUT_MS, follow: true });
688
+ }
689
+ /** One v0.4 manager-endpoint invoke (P2 item 1, 1c.2b): the generic {@link CotalEndpoint.invokeService}
690
+ * path (describe → §13.7 store fetch → digest-verified recompile → typed command), adapted back to
691
+ * the {@link ControlReply} shape every tool above consumes. `undefined` args are stripped BEFORE the
692
+ * compiled input contract validates (closed schemas reject present-but-undefined keys; the ctl path
693
+ * shed them in JSON serialization). A broker-denied publish (a capability the caller's credential
694
+ * does not hold, e.g. a capability-less purge) has NO responder and surfaces as the deadline —
695
+ * named here so the refusal reads as the tier boundary it is. */
696
+ async managerInvoke(command, args, opts = {}) {
697
+ const clean = args === undefined ? undefined : Object.fromEntries(Object.entries(args).filter(([, v]) => v !== undefined));
698
+ let r;
699
+ try {
700
+ r = await this.ep.invokeService(BASELINE_LIFECYCLE_ENDPOINT, command, clean && Object.keys(clean).length ? clean : undefined, opts);
701
+ }
702
+ catch (e) {
703
+ if (e instanceof EpEnvelopeError)
704
+ return {
705
+ ok: false,
706
+ error: e.code === "deadline-exceeded"
707
+ ? `${e.message} (no responder answered - a manager may be down, or this credential holds no "${command}" capability and the broker denied the request)`
708
+ : `${e.code}: ${e.message}`,
709
+ };
710
+ return { ok: false, error: e.message };
711
+ }
712
+ if (r.reply.ok !== true)
713
+ return { ok: false, error: r.reply.error?.message ?? r.reply.error?.code ?? "error" };
714
+ return { ok: true, ...(r.reply.data !== undefined ? { data: r.reply.data } : {}) };
715
+ }
716
+ /** Resolve a managed agent's CURRENT principal triple (owner-mode targets are (owner, actor,
717
+ * lifecycleUid), never an alias — §13.2) through the manager's `inspect` read. A STATIC row's
718
+ * `id` is the bare actor (nkey) under the caller's own owner; a USER-mode row's `id` is the
719
+ * composite `owner.actor` principal key — split it, or the embedded dot breaks the target
720
+ * block's subject arity. The owner-mode standing mint pins the caller's OWN owner, so a
721
+ * foreign-owner target is broker-denied at publish (the same own-domain boundary as ctl). */
722
+ async managerTargetFor(name) {
723
+ const info = await this.managerInvoke("inspect", { name });
724
+ if (!info.ok)
725
+ return { error: info };
726
+ const row = info.data;
727
+ const dot = row.id.indexOf(".");
728
+ const [owner, actor] = dot > 0 ? [row.id.slice(0, dot), row.id.slice(dot + 1)] : [this.ep.principal.owner, row.id];
729
+ return { target: { mode: "owner", owner, actor, lifecycleUid: row.lifecycleUid } };
635
730
  }
636
731
  /** Ask the manager to tear a teammate down (its `stop` op). Graceful by default —
637
732
  * the session is told to exit cleanly (so it leaves the mesh) before the
@@ -644,33 +739,28 @@ export class MeshAgent extends EventEmitter {
644
739
  async despawn(name, opts) {
645
740
  this.assertConnected();
646
741
  const graceful = opts?.graceful ?? true;
647
- if (!name) {
648
- return this.ep.requestControl(CONTROL_SELF_SERVICE, { op: "stop", args: { graceful } });
649
- }
650
- return this.ep.requestControl(CONTROL_PRIVILEGED, {
651
- op: "stop",
652
- args: { name, graceful },
653
- });
742
+ if (!name) // self-halt: the baseline `stop` command, authz-mode self (the caller triple IS the target)
743
+ return this.managerInvoke("stop", { graceful }, { target: { mode: "self" } });
744
+ const resolved = await this.managerTargetFor(name);
745
+ if ("error" in resolved)
746
+ return resolved.error;
747
+ return this.managerInvoke("despawn", { graceful }, { target: resolved.target });
654
748
  }
655
749
  /** Ask the manager to purge the space's retained chat backlog (its `purge` op). Cleanup only —
656
750
  * it doesn't touch live agents or the anycast work queue. `includeDms` also clears DM history. */
657
751
  async purgeHistory(opts) {
658
752
  this.assertConnected();
659
- return this.ep.requestControl(CONTROL_PRIVILEGED, {
660
- op: "purge",
661
- args: { includeDms: opts?.includeDms ?? false },
662
- });
753
+ const args = { includeDms: opts?.includeDms ?? false };
754
+ return this.managerInvoke("purge", args);
663
755
  }
664
756
  /** Define a persona and persist it as config (the manager's `definePersona` op writes
665
757
  * .cotal/agents/<name>.md). On success, announce it on the channel — the "send it out"
666
758
  * half — so peers see the new persona; `spawn(name)` then launches an agent wearing it. */
667
759
  async definePersona(def) {
668
760
  this.assertConnected();
669
- const reply = await this.ep.requestControl(CONTROL_PRIVILEGED, {
670
- op: "definePersona",
671
- // role is policy — set at spawn, never via definePersona; the manager ignores it regardless.
672
- args: { name: def.name, model: def.model, persona: def.prompt },
673
- });
761
+ // role is policy — set at spawn, never via definePersona; the manager ignores it regardless.
762
+ const args = { name: def.name, model: def.model, persona: def.prompt };
763
+ const reply = await this.managerInvoke("define-persona", args);
674
764
  if (reply.ok)
675
765
  await this.send(`persona \`${def.name}\` is now available — spawn it to bring it online`);
676
766
  return reply;
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,WAAW,IAAI,mBAAmB,EAClC,aAAa,EACb,2BAA2B,EAC3B,eAAe,EAKf,WAAW,GAOZ,MAAM,gBAAgB,CAAC;AAOxB;;;;wBAIwB;AACxB,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC;qFACqF;AACrF,SAAS,SAAS,CAAC,MAAmB;IACpC,MAAM,IAAI,GAA2B,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;IAChE,IAAI,MAAM,CAAC,KAAK;QAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5C,IAAI,MAAM,CAAC,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClD,IAAI,MAAM,CAAC,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACxD,+FAA+F;IAC/F,gGAAgG;IAChG,4FAA4F;IAC5F,gGAAgG;IAChG,iFAAiF;IACjF,IAAI,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC;IACvB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED;;gGAEgG;AAChG,SAAS,aAAa,CAAC,IAAc;IACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAClG,IAAI,GAAG;gBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM;gBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAkCD,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACjC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AASvC,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,SAAU,SAAQ,YAAY;IAChC,EAAE,CAAgB;IAClB,MAAM,CAAc;IAErB,KAAK,GAAc,EAAE,CAAC;IAC9B;;;;;;oGAMgG;IACxF,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C;;8DAE0D;IAClD,sBAAsB,GAAG,IAAI,GAAG,EAAkD,CAAC;IAC3F;oDACgD;IACxC,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,oBAAoB,GAAG,KAAK,CAAC;IACrC;;6EAEyE;IACjE,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,UAAU,GAAG,KAAK,CAAC;IACnB,UAAU,GAAG,KAAK,CAAC;IACnB,OAAO,GAAmB,MAAM,CAAC;IACjC,UAAU,GAAkB,MAAM,CAAC,CAAC,uDAAuD;IACnG;;;8EAG0E;IAClE,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,UAAU,CAAqB;IACvC;qFACiF;IACzE,UAAU,CAAU;IACpB,aAAa,GAAG,KAAK,CAAC;IAC9B;;wDAEoD;IAC5C,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,QAAQ,GAAG,KAAK,CAAC;IAEzB,YAAY,MAAmB;QAC7B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,iGAAiG;QACjG,kGAAkG;QAClG,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;YAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,IAAI,CAAC,EAAE,GAAG,IAAI,aAAa,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,4FAA4F;YAC5F,2FAA2F;YAC3F,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,QAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACrF,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,aAAa;YAC7C,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,+EAA+E;YAC5G,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,mDAAmD;YAC/E,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,qDAAqD;YAC1G,IAAI,EAAE;gBACJ,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,uFAAuF;gBACvF,+BAA+B;gBAC/B,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK;gBAC7B,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK;gBAC7B,uFAAuF;gBACvF,+EAA+E;gBAC/E,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;aACxB;SACF,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAe,EAAE,CAAW,EAAE,IAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5E,2FAA2F;QAC3F,6FAA6F;QAC7F,yFAAyF;QACzF,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAyB,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,+EAA+E;IAC/E,YAAY,CAAC,SAA6B;QACxC,MAAM,KAAK,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,OAAO,GAAG,IAAI;QAClB,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAAe;QACvC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;gBACtB,2FAA2F;gBAC3F,IAAI,CAAC,GAAG,CACN,gBAAgB,IAAI,CAAC,MAAM,CAAC,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,cAAc,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAChI,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,qBAAsB,CAAW,CAAC,OAAO,kBAAkB,OAAO,IAAI,CAAC,CAAC;gBACjF,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,0FAA0F;QAC1F,4FAA4F;QAC5F,sFAAsF;QACtF,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED;;;;iGAI6F;IAC7F,KAAK,CAAC,SAAS;QACb,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,iHAAiH;aAC3H,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;YAC1B,6FAA6F;YAC7F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAC3F,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,qBAAsB,CAAW,CAAC,OAAO,kEAAkE,EAAE,CAAC;QAC7I,CAAC;IACH,CAAC;IAED,6EAA6E;IAErE,MAAM,CAAC,CAAe,EAAE,QAAkB,EAAE,IAAkB;QACpE,oGAAoG;QACpG,kGAAkG;QAClG,8FAA8F;QAC9F,yEAAyE;QACzE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAI,QAAQ,CAAC,OAAO;gBAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3E,IAAI,QAAQ,CAAC,OAAO;gBAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QACD,mGAAmG;QACnG,+FAA+F;QAC/F,6FAA6F;QAC7F,4FAA4F;QAC5F,mGAAmG;QACnG,iGAAiG;QACjG,0FAA0F;QAC1F,+FAA+F;QAC/F,0FAA0F;QAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI;YACP,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,+DAA+D,CAAC,CAAC;QAClG,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,+FAA+F;QAC/F,6FAA6F;QAC7F,gGAAgG;QAChG,qGAAqG;QACrG,4FAA4F;QAC5F,oGAAoG;QACpG,kGAAkG;QAClG,kGAAkG;QAClG,kFAAkF;QAClF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACrD,8FAA8F;YAC9F,sFAAsF;YACtF,IAAI,IAAI,CAAC,aAAa;gBAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAC5B,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YACD,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBACzC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,UAAU;gBAAE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5D,MAAM,mBAAmB,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,KAAK,OAAO,CAAC,CAAC;YACzF,IAAI,EAAE,KAAK,OAAO,IAAI,mBAAmB;gBAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvE,0FAA0F;YAC1F,8FAA8F;YAC9F,IAAI,EAAE,KAAK,OAAO,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;gBAC1E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBACzC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,UAAU;oBAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,mBAAmB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACxF,IAAI,QAAQ;gBAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAEO,MAAM,CAAC,IAAe,EAAE,GAAe,EAAE,QAAiB;QAChE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAClC,6FAA6F;YAC7F,4EAA4E;YAC5E,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;YAC3C,OAAO,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAI,KAAK,GAAG,CAAC;oBAAE,KAAK,GAAG,CAAC,CAAC;gBACzB,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC9C,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC9B,8FAA8F;gBAC9F,0FAA0F;gBAC1F,iFAAiF;gBACjF,4FAA4F;gBAC5F,4FAA4F;gBAC5F,+DAA+D;gBAC/D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAE,OAAO,CAAC,GAAG,EAAE,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEO,eAAe,CAAC,CAAU;QAChC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC9E,IAAI,IAAI,CAAC,oBAAoB;YAAE,OAAO;QACtC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,IAAI,kBAAkB,EAAE,CAAC;YAC1G,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAChG,CAAC;IAEO,gBAAgB,CAAC,IAAe;QACtC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC7G,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,mBAAmB,EAAE,CAAC;YAC7F,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAqC,CAAC;YAC5F,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAEO,kBAAkB,CAAC,EAAU,EAAE,WAAiC;QACtE,MAAM,GAAG,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;QACvF,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO;QAClG,IAAI,GAAG,CAAC,IAAI,IAAI,yBAAyB,EAAE,CAAC;YAC1C,IAAI,WAAW,KAAK,MAAM;gBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;gBAC9C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACtC,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED;;;;gDAI4C;IACpC,WAAW,CAAC,CAAe,EAAE,IAAuB,EAAE,UAAmB;QAC/E,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;YACjB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACrB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACrB,IAAI;YACJ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,SAAS;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,UAAU,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,KAAK;YACzE,UAAU;YACV,IAAI;YACJ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,CAAC,CAAC,SAAS;SACvB,CAAC;IACJ,CAAC;IAED;sDACkD;IAClD,SAAS,CAAC,QAAoB,KAAK;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;;;;;;;kEAa8D;IAC9D,YAAY,CAAC,GAAsB;QACjC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,KAAK,EAAE,CAAC;QAC7D,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,KAAK,GAAG,SAAS,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAChE,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;sGAGkG;IAClG,UAAU,CAAC,EAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;mGAC+F;IAC/F,eAAe,CAAC,GAAsB;QACpC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS;YACjC,IAAI,IAAI,IAAI,CAAC;gBAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;gBACtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,UAAU,CAAC,KAAc,EAAE,QAAoB,KAAK;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClF,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;8FAC0F;IAC1F,aAAa,CAAC,GAAsB;QAClC,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACvE,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU;gBAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3C,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC;YACtE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC3E,CAAC;IAEO,aAAa,CAAC,KAAgB;QACpC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,CAAC,CAAC,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEO,OAAO,CAAC,CAAU,EAAE,KAAiB;QAC3C,OAAO,KAAK,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/E,CAAC;IAED;;gGAE4F;IACpF,WAAW,CAAC,EAAU,EAAE,QAAQ,GAAG,KAAK;QAC9C,IAAI,QAAQ;YAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,UAAU,CAAC,QAAoB,KAAK;QAClC,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACvG,CAAC;IAED,sFAAsF;IACtF,UAAU,CAAC,EAAU;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,CAAC;IAED;;;0EAGsE;IACtE,oBAAoB;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;IACzF,CAAC;IAED;;;;;;0GAMsG;IACtG,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC;YAClB,IAAI,CAAC,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAC7B,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YACxD,OAAO,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC;QACpC,CAAC,CAAC,CAAC,MAAM,CAAC;IACZ,CAAC;IAED;;;wFAGoF;IACpF,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,8EAA8E;IAE9E;qFACiF;IACjF,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,4FAA4F;IAC5F,WAAW,CAAC,OAAgB;QAC1B,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,CAAC;IAED,4EAA4E;IAC5E,kBAAkB;QAChB,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;iDAQ6C;IAC7C,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,IAA4B;QAChE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,IAAI,OAAO,iEAAiE,CAAC,CAAC;QAChG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,IAAI,OAAO,mDAAmD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1H,IAAI,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;;YACpD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;kCAM8B;IAC9B,KAAK,CAAC,YAAY,CAAC,IAAmB;QACpC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC;YACjD,IAAI,CAAC;gBACH,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;gBACvC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,+FAA+F;QAC/F,oEAAoE;QACpE,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;yCAMqC;IACrC,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAC9D,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC1C,IAAI,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChD,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACpF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YACzF,CAAC;YACD,IAAI,OAAO;gBAAE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IACpC,CAAC;IAED,6EAA6E;IAE7E,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAAgB,EAAE,QAAmB;QAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,KAAK;YAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;2DAKuD;IAC/C,mBAAmB,CAAC,QAAkB;QAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,MAAM;YAChB,MAAM,IAAI,KAAK,CACb,kBAAkB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CACrJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAY;QACtC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;wEAEoE;IACpE,WAAW,CAAC,MAAc;QACxB,OAAO,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,EAAE,CAAC,MAAc,EAAE,IAAY;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,eAAe,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;QAClF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACtF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,6EAA6E;IAE7E;;;;;;;;;;;kFAW8E;IAC9E,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,IAAa,EAAE,IAAkH;QACzJ,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAChJ,4FAA4F;QAC5F,6FAA6F;QAC7F,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;;sEAMkE;IAC1D,KAAK,CAAC,aAAa,CACzB,OAAe,EACf,IAAyC,EACzC,OAAyE,EAAE;QAE3E,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;QAC3H,IAAI,CAAoB,CAAC;QACzB,IAAI,CAAC;YACH,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,2BAA2B,EAAE,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtI,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,eAAe;gBAC9B,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,CAAC,CAAC,IAAI,KAAK,mBAAmB;wBACnC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,iFAAiF,OAAO,iDAAiD;wBACvJ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE;iBAC9B,CAAC;YACJ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,OAAO,EAAE,CAAC;QAC/G,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACrF,CAAC;IAED;;;;;kGAK8F;IACtF,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,IAA4C,CAAC;QAC9D,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACnH,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC;IACrF,CAAC;IAED;;;;;;;4FAOwF;IACxF,KAAK,CAAC,OAAO,CAAC,IAAa,EAAE,IAA6B;QACxD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,4FAA4F;YACrG,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAChF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,OAAO,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,KAAK,CAAC;QAC/C,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;uGACmG;IACnG,KAAK,CAAC,YAAY,CAAC,IAA+B;QAChD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,KAAK,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;gGAE4F;IAC5F,KAAK,CAAC,aAAa,CAAC,GAInB;QACC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,6FAA6F;QAC7F,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,KAAK,CAAC,EAAE;YAAE,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,mDAAmD,CAAC,CAAC;QACxG,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6EAA6E;IAE7E,4CAA4C;IAC5C,MAAM;QACJ,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,8CAA8C;IAC9C,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAsB,EAAE,QAAiB;QACvD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;;6EAGyE;IACzE,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,OAAgB;QAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO,CAAC,2EAA2E;QAC1G,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,6EAA6E;IAE7E;;;;qFAIiF;IACjF,eAAe;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE;aAClB,cAAc,EAAE;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;aAChE,MAAM,CAAC,CAAC,CAAC,EAAiC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QACpC,OAAO,qFAAqF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACjH,CAAC;IAED;oFACgF;IAChF,WAAW,CAAC,OAAe;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO;YACL,WAAW,EAAE,GAAG,EAAE,WAAW;YAC7B,YAAY,EAAE,GAAG,EAAE,YAAY;YAC/B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC;SACvC,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,cAAc;QACZ,OAAO,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IAED;;iEAE6D;IAC7D,KAAK,CAAC,YAAY;QAYhB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,gGAAgG;QAChG,oGAAoG;QACpG,2FAA2F;QAC3F,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC;YACH,gGAAgG;YAChG,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;YACjE,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,6EAA6E;QAC/E,CAAC;QACD,oGAAoG;QACpG,mGAAmG;QACnG,oGAAoG;QACpG,6DAA6D;QAC7D,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,MAAe,EAAqC,EAAE,CACrF,WAAW,IAAI,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,SAAS;YAC1E,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;YAC9E,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,IAAI,GAGJ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9D,OAAO;gBACL,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW;gBAClC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxC,MAAM;gBACN,6FAA6F;gBAC7F,8FAA8F;gBAC9F,eAAe,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;gBACxC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;gBACzC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,QAAQ;aAC9C,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,wGAAwG;QACxG,sGAAsG;QACtG,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC9B,IAAI,CAAC,IAAI,CAAC;gBACR,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,SAAS;gBACtB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,MAAM,EAAE,KAAK;gBACb,eAAe,EAAE,IAAI;gBACrB,cAAc,EAAE,SAAS;gBACzB,QAAQ,EAAE,CAAC;gBACX,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,QAAQ;aACvC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;2BAKuB;IACvB,KAAK,CAAC,WAAW,CACf,OAAe;QAEf,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,6EAA6E;IAErE,GAAG;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IACzF,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,CAAC,MAAM,CAAC,OAAO,mCAAmC,CACvF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,GAAG,CAAC,GAAW;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;CACF"}
package/dist/control.d.ts CHANGED
@@ -17,6 +17,9 @@ export interface HookEvent {
17
17
  }
18
18
  /** Maps one hook event to the JSON reply the runtime applies. */
19
19
  export type HookHandle = (agent: MeshAgent, ev: HookEvent) => Promise<Record<string, unknown>>;
20
+ /** One line a handoff-aware client writes back once the reply has cleared ITS output to the runtime.
21
+ * Content is irrelevant — arrival is the signal — but a stable token keeps a transcript readable. */
22
+ export declare const HANDOFF_RECEIPT = "{\"handoff\":\"ok\"}\n";
20
23
  export interface ControlServerOpts {
21
24
  /** Fail loud on a bind we can't hold. A managed listener (the in-agent MCP server, the Hermes
22
25
  * sidecar) MUST own its endpoint: if `listen` errors (e.g. a squatter already holds the win32
@@ -28,6 +31,27 @@ export interface ControlServerOpts {
28
31
  * its own clean teardown (close the server, `agent.stop()` to leave the mesh, then exit) — the
29
32
  * server never owns `process.exit`. Absent → shutdown frames are accepted + acked but inert. */
30
33
  onShutdown?: () => void;
34
+ /** Called once per handled hook frame, after the reply has been written, with whether it reached a
35
+ * LIVE client. A hook reply is the only vehicle for the peer messages a handler injects, and it is
36
+ * not guaranteed to arrive: the relay abandons the exchange after its own timeout, and the runtime
37
+ * can kill the hook process outright. A handler that surfaced messages therefore commits them on
38
+ * `delivered === true` and leaves them un-acked otherwise, so the durable redelivery brings them
39
+ * back instead of the batch being silently consumed.
40
+ *
41
+ * **Frames overlap, so correlate on `ev`.** This is the identical object passed to `handle`, and
42
+ * it is the only thing tying a verdict to the reply that carried a batch: each frame is its own
43
+ * connection, and a `PreToolUse` can land while a `UserPromptSubmit` reply is still being written.
44
+ * A single mutable "pending" slot will therefore commit one frame's messages on another frame's
45
+ * verdict. Key per event (a WeakMap, so a frame whose verdict never arrives is collected).
46
+ *
47
+ * How strong `delivered` is depends on the client. A client that sets `handoff: true` (the hook
48
+ * relay does) confirms only after its own write to the runtime-facing pipe completed cleanly —
49
+ * strictly more than a socket write, and still short of proof the host read or applied the reply:
50
+ * a small payload can sit in a kernel buffer that nobody ever drains. For any other client it
51
+ * means only "written to a socket that was still open" — exact for the case that matters, a client
52
+ * that had already gone away when we answered, but blind to one that dies with the reply
53
+ * unflushed downstream. Both are why this errs toward at-least-once. */
54
+ onReply?: (ev: HookEvent, delivered: boolean) => void;
31
55
  }
32
56
  /** The context block injected into a turn when peer messages are waiting (else undefined). */
33
57
  export declare function formatInjection(items: InboxItem[]): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAGrD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD,sEAAsE;AACtE,MAAM,WAAW,SAAS;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAU/F,MAAM,WAAW,iBAAiB;IAChC;;;;qCAIiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;qGAEiG;IACjG,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AA+BD,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,SAAS,CAKtE;AAED;;;;oDAIoD;AACpD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACzC,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE,iBAAsB,GAC3B,MAAM,CAkFR"}
1
+ {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAgB,KAAK,MAAM,EAAe,MAAM,UAAU,CAAC;AAGlE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD,sEAAsE;AACtE,MAAM,WAAW,SAAS;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,iEAAiE;AACjE,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAU/F;sGACsG;AACtG,eAAO,MAAM,eAAe,2BAAuB,CAAC;AASpD,MAAM,WAAW,iBAAiB;IAChC;;;;qCAIiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;qGAEiG;IACjG,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;;;;;;;;;;;;;;;6EAmByE;IACzE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACvD;AA+BD,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,GAAG,SAAS,CAKtE;AA4ED;;;;oDAIoD;AACpD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACzC,MAAM,EAAE,UAAU,EAClB,IAAI,GAAE,iBAAsB,GAC3B,MAAM,CAoFR"}
package/dist/control.js CHANGED
@@ -11,6 +11,16 @@
11
11
  import { createServer } from "node:net";
12
12
  import { existsSync, unlinkSync } from "node:fs";
13
13
  import { createHash, timingSafeEqual } from "node:crypto";
14
+ /** One line a handoff-aware client writes back once the reply has cleared ITS output to the runtime.
15
+ * Content is irrelevant — arrival is the signal — but a stable token keeps a transcript readable. */
16
+ export const HANDOFF_RECEIPT = '{"handoff":"ok"}\n';
17
+ /** Backstop for a client that declared `handoff` and then neither confirmed nor closed. The relay's
18
+ * own stdout backstop is 1s, and a client that dies takes the socket with it (→ `close` → not
19
+ * delivered), so this only catches a wedged one. Un-delivered on expiry: never commit on a guess. */
20
+ const HANDOFF_DEADLINE_MS = 5_000;
21
+ /** Bound on awaiting a NON-handoff client's reply write. Such a client makes no delivery promise, so
22
+ * this only stops one that never reads from pinning a handler; the socket is left alone to flush. */
23
+ const LEGACY_WRITE_DEADLINE_MS = 5_000;
14
24
  /** Hard cap on the first (only) frame: a control request is a token + one small lifecycle event —
15
25
  * kilobytes at most. Generous headroom for a legit event, tiny next to the ~512MB string limit an
16
26
  * unauthenticated spewer would otherwise drive `buf` toward to crash the process. */
@@ -47,6 +57,85 @@ export function formatInjection(items) {
47
57
  const tail = `(Reply with cotal_send / cotal_dm, or cotal_roster to see who's here.)`;
48
58
  return `${head}\n${items.map(fmtItem).join("\n")}\n${tail}`;
49
59
  }
60
+ /** Write one reply frame and report whether it actually reached the runtime.
61
+ *
62
+ * Two strengths, chosen by the client:
63
+ *
64
+ * - **Socket write** (default). Resolves `false` when the socket had already gone (the relay timed
65
+ * out and destroyed it, or the hook process was killed). This is as far as we can see on our own,
66
+ * and it is NOT the whole journey: the reply still has to cross the client's own output to the
67
+ * runtime, and a client that dies with it unflushed reads as delivered here.
68
+ * - **Confirmed handoff** (`handoff: true` in the request frame). We hold the connection open until
69
+ * the client writes {@link HANDOFF_RECEIPT} back, which it does only once the reply has cleared
70
+ * its output. A close, an error, or the deadline without that receipt is NOT delivered. This is
71
+ * what closes the large-reply hole: a 6 MiB injection that the relay's 1s stdout backstop kills
72
+ * mid-flush leaves the batch un-acked, so JetStream redelivers it. */
73
+ function writeReply(sock, reply, awaitHandoff) {
74
+ return new Promise((resolve) => {
75
+ let settled = false;
76
+ const done = (ok) => {
77
+ if (settled)
78
+ return;
79
+ settled = true;
80
+ resolve(ok);
81
+ };
82
+ // A destroyed/half-closed peer surfaces as an error or a close before the write ever finishes;
83
+ // `finish` (the end callback) precedes `close` on the success path, so the first signal wins.
84
+ sock.once("error", () => done(false));
85
+ sock.once("close", () => done(false));
86
+ if (!awaitHandoff) {
87
+ // This write used to be fire-and-forget; awaiting it means a peer that never reads can hold the
88
+ // handler open for as long as it likes (`end()`'s callback waits for the flush). Bound the WAIT
89
+ // rather than the socket: resolving early reports what we honestly know — not confirmed — while
90
+ // the kernel finishes the write in the background, so a merely slow reader is never truncated.
91
+ const stall = setTimeout(() => done(false), LEGACY_WRITE_DEADLINE_MS);
92
+ stall.unref?.();
93
+ try {
94
+ sock.end(JSON.stringify(reply) + "\n", ((err) => {
95
+ clearTimeout(stall);
96
+ done(!err);
97
+ }));
98
+ }
99
+ catch {
100
+ clearTimeout(stall);
101
+ done(false); // already destroyed — end() throws rather than calling back
102
+ }
103
+ return;
104
+ }
105
+ const deadline = setTimeout(() => {
106
+ sock.destroy(); // wedged client: stop waiting, and do NOT credit a handoff we never saw
107
+ done(false);
108
+ }, HANDOFF_DEADLINE_MS);
109
+ deadline.unref?.();
110
+ let receipt = "";
111
+ sock.on("data", (d) => {
112
+ receipt += d;
113
+ if (!receipt.includes("\n"))
114
+ return;
115
+ clearTimeout(deadline);
116
+ try {
117
+ sock.end();
118
+ }
119
+ catch {
120
+ /* client already gone; the receipt is what mattered and we have it */
121
+ }
122
+ done(true);
123
+ });
124
+ try {
125
+ // write, not end: the client cannot send its receipt down a connection we have half-closed.
126
+ sock.write(JSON.stringify(reply) + "\n", (err) => {
127
+ if (!err)
128
+ return;
129
+ clearTimeout(deadline);
130
+ done(false);
131
+ });
132
+ }
133
+ catch {
134
+ clearTimeout(deadline);
135
+ done(false);
136
+ }
137
+ });
138
+ }
50
139
  /** Start the authenticated control server. One newline-delimited JSON {@link ControlFrame} → one
51
140
  * reply per connection. The first thing every connection does is validate its `token` against the
52
141
  * endpoint's (constant-time) — a mismatch is dropped before `handle` (or `onShutdown`) ever runs,
@@ -115,13 +204,14 @@ export function startControlServer(agent, endpoint, handle, opts = {}) {
115
204
  return;
116
205
  }
117
206
  const ev = (frame.event ?? {});
207
+ const awaitHandoff = frame.handoff === true;
118
208
  const reply = await handle(agent, ev);
119
- try {
120
- sock.end(JSON.stringify(reply) + "\n");
121
- }
122
- catch {
123
- /* client gone */
124
- }
209
+ // Write FIRST, then report. `opts.onReply?.(ev, await writeReply(...))` short-circuits the
210
+ // whole call expression when `onReply` is absent — arguments included — so the reply was never
211
+ // written at all for the callers that do not observe delivery (opencode, hermes, pi, codex).
212
+ // Answering the client is the server's job; `onReply` only watches it.
213
+ const delivered = await writeReply(sock, reply, awaitHandoff);
214
+ opts.onReply?.(ev, delivered);
125
215
  });
126
216
  sock.on("error", () => {
127
217
  /* ignore client errors */
@@ -1 +1 @@
1
- {"version":3,"file":"control.js","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"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"}