@cotal-ai/connector-core 0.61.0 → 0.62.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
@@ -122,9 +122,6 @@ export declare class MeshAgent extends EventEmitter {
122
122
  * permanently degrades unknown ambient to pull-only for this session rather than risk a late
123
123
  * live/durable copy changing from quiet to automatic. */
124
124
  private evictedClassifications;
125
- /** How many times overflow has evicted each directed id without it ever being handled. Bounds the
126
- * un-ack reprieve so a redelivery cycle cannot run forever — see the eviction path in `buffer`. */
127
- private overflowEvictions;
128
125
  /** Surfaced to the host but not yet committed or abandoned, counted per holding frame because
129
126
  * frames overlap. See {@link holdInFlight}. */
130
127
  private inFlightIds;
@@ -191,6 +188,11 @@ export declare class MeshAgent extends EventEmitter {
191
188
  * answered yet (bounded). `pending` marks one a DM in flight is answering; `text` is the start of
192
189
  * its body, to name it when a DM must say which one it answers. */
193
190
  private readonly unanswered;
191
+ /** By sender id, least recently heard first: the display name of each peer that sent us a DM or
192
+ * anycast (bounded). The id is the authenticated sender (the broker forge-locks it on the
193
+ * subject), so a DM back to it is addressed to a real identity even when that sender has no
194
+ * roster row, as a one-shot `cotal send` never has. See {@link heldSender}. */
195
+ private readonly senders;
194
196
  /** By `contextId`, the questions this seat asked inside a {@link withCorrelation} scope, and whom
195
197
  * they went to (bounded). See {@link answersQuestion}. */
196
198
  private readonly asked;
@@ -614,16 +616,26 @@ export declare class MeshAgent extends EventEmitter {
614
616
  * one peer, `undefined` if none match, or throws `AmbiguousPeerError` on a same-name collision —
615
617
  * it never silently picks. See `resolvePeer` in @cotal-ai/core. */
616
618
  resolvePeer(target: string): Presence | undefined;
619
+ /** #384: a peer that sent us a DM or anycast and has no roster row, by its exact id or, while the
620
+ * presence view is current, by a display name only one such sender carried. A one-shot
621
+ * `cotal send` never registers presence, so without this a reply to it could not be addressed. */
622
+ private heldSender;
617
623
  dm(target: string, text: string, opts?: {
618
624
  replyTo?: string;
619
625
  }): Promise<{
620
626
  msg: CotalMessage;
621
- peer: Presence;
627
+ /** The roster row the target resolved to; absent when it resolved to an unrostered sender. */
628
+ peer?: Presence;
629
+ recipient: {
630
+ id: string;
631
+ name: string;
632
+ };
622
633
  ack: {
623
634
  seq: number;
624
635
  duplicate: boolean;
625
636
  };
626
- recipientStatusAtSend: Presence["status"];
637
+ /** `unrostered`: the recipient is a peer that messaged us and has no roster row (#384). */
638
+ recipientStatusAtSend: Presence["status"] | "unrostered";
627
639
  }>;
628
640
  /** Ask the manager to spawn a new teammate into this space (its `spawn` action).
629
641
  * The request uses {@link SPAWN_TIMEOUT_MS} as its floor; after acceptance, core follows through
@@ -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
@@ -71,12 +71,6 @@ export function afterRecallMark(a, b) {
71
71
  return a.ts !== b.ts ? a.ts > b.ts : a.id > b.id;
72
72
  }
73
73
  const MAX_INBOX = 200;
74
- /** How many times overflow may evict the SAME directed id before it is acked and given up on.
75
- * The un-ack reprieve exists so a sacrificed message can be redelivered once there is room; if the
76
- * inbox is still full on the Nth redelivery, room is not coming and the cycle is pure cost. */
77
- const OVERFLOW_REDELIVERY_LIMIT = 5;
78
- /** Bound on the eviction bookkeeping itself, so tracking churn cannot become a leak of its own. */
79
- const OVERFLOW_EVICTION_CAP = 4 * MAX_INBOX;
80
74
  /** How many future-stamped recall ids one session will remember having handed over. See
81
75
  * {@link MeshAgent.recallAheadRoom}. */
82
76
  const MAX_AHEAD = 256;
@@ -199,9 +193,6 @@ export class MeshAgent extends EventEmitter {
199
193
  * permanently degrades unknown ambient to pull-only for this session rather than risk a late
200
194
  * live/durable copy changing from quiet to automatic. */
201
195
  evictedClassifications = new Map();
202
- /** How many times overflow has evicted each directed id without it ever being handled. Bounds the
203
- * un-ack reprieve so a redelivery cycle cannot run forever — see the eviction path in `buffer`. */
204
- overflowEvictions = new Map();
205
196
  /** Surfaced to the host but not yet committed or abandoned, counted per holding frame because
206
197
  * frames overlap. See {@link holdInFlight}. */
207
198
  inFlightIds = new Map();
@@ -268,6 +259,11 @@ export class MeshAgent extends EventEmitter {
268
259
  * answered yet (bounded). `pending` marks one a DM in flight is answering; `text` is the start of
269
260
  * its body, to name it when a DM must say which one it answers. */
270
261
  unanswered = new Map();
262
+ /** By sender id, least recently heard first: the display name of each peer that sent us a DM or
263
+ * anycast (bounded). The id is the authenticated sender (the broker forge-locks it on the
264
+ * subject), so a DM back to it is addressed to a real identity even when that sender has no
265
+ * roster row, as a one-shot `cotal send` never has. See {@link heldSender}. */
266
+ senders = new Map();
271
267
  /** By `contextId`, the questions this seat asked inside a {@link withCorrelation} scope, and whom
272
268
  * they went to (bounded). See {@link answersQuestion}. */
273
269
  asked = new Map();
@@ -778,6 +774,12 @@ export class MeshAgent extends EventEmitter {
778
774
  if (!meta)
779
775
  throw new Error(`message ${m.id} delivered without MessageMeta — its class is unauthenticated`);
780
776
  const item = this.toInboxItem(m, meta.kind, meta.historical);
777
+ if (item.kind === "dm" || item.kind === "anycast") {
778
+ this.senders.delete(item.fromId);
779
+ this.senders.set(item.fromId, item.fromName);
780
+ if (this.senders.size > MAX_CORRELATIONS)
781
+ this.senders.delete(this.senders.keys().next().value);
782
+ }
781
783
  if ((item.kind === "dm" || item.kind === "anycast") && !item.historical && item.id !== "" && !this.answersQuestion(item)) {
782
784
  // A DM back to this peer answers it (see dm()). An answer to our own question needs none.
783
785
  this.unanswered.set(item.id, { fromId: item.fromId, contextId: item.contextId, text: item.text.slice(0, 80) });
@@ -864,8 +866,9 @@ export class MeshAgent extends EventEmitter {
864
866
  pending.idless = { tally: this.focusIdless, ...idless };
865
867
  this.inbox.push(pending);
866
868
  if (this.inbox.length > MAX_INBOX) {
867
- // Prefer sacrificing pull-only backlog so it cannot crowd out DMs/mentions. Overflow remains
868
- // bounded local loss: evicted items are acked without being marked handled.
869
+ // Prefer sacrificing pull-only backlog so it cannot crowd out DMs/mentions. Overflow is bounded
870
+ // local loss for channel traffic only: an evicted channel item is acked without being marked
871
+ // handled. An evicted directed item is never acked (below).
869
872
  let excess = this.inbox.length - MAX_INBOX;
870
873
  while (excess-- > 0) {
871
874
  // Eviction order, weakest claim first. The tiers below `pullOnly` exist because `pullOnly`
@@ -903,42 +906,15 @@ export class MeshAgent extends EventEmitter {
903
906
  // it once we have room, which turns unrecoverable loss into a delay. Channel ambient is still
904
907
  // acked, because replaying it is what the history flood was (#775).
905
908
  //
906
- // ...but a delay only helps if it ENDS. An un-acked id is one the broker may hand straight
907
- // back, into an inbox that is still full, to be evicted again - a cycle that spends broker
908
- // and connector throughput while every seat involved looks healthy. So the reprieve is
909
- // counted: after OVERFLOW_REDELIVERY_LIMIT evictions of the SAME message we stop hoping for
910
- // room and ack it, recording the loss loudly. A message lost with a log line beats a mesh
911
- // that quietly stops moving (#807).
912
- //
913
- // The counter is keyed on the RECEIVE key — the wire id for real messages, the minted key
914
- // for id-less ones — so two id-less deliveries never share one tally (#624). It is cleared
915
- // whenever the message is actually handled ({@link drainInboxDeliveries}), so one that
916
- // eventually lands never accumulates toward the cap.
917
- let giveUp = false;
918
- if (sacrificingDirected) {
919
- const seen = (this.overflowEvictions.get(evicted.item.recvKey) ?? 0) + 1;
920
- if (seen >= OVERFLOW_REDELIVERY_LIMIT) {
921
- giveUp = true;
922
- this.overflowEvictions.delete(evicted.item.recvKey);
923
- // Reported on stderr via the existing log path, NOT emit("error"): an EventEmitter with
924
- // no "error" listener turns an emit into an unhandled exception that takes the process
925
- // down, so announcing a dropped message would kill the seat that was trying to survive
926
- // the flood. Nothing else in this class emits "error" either.
927
- this.log(`overflow: dropping directed message ${evicted.item.recvKey} after ${seen} evictions - ` +
928
- `the inbox has stayed full across every redelivery, so the reprieve is not helping`);
929
- }
930
- else {
931
- this.overflowEvictions.set(evicted.item.recvKey, seen);
932
- if (this.overflowEvictions.size > OVERFLOW_EVICTION_CAP) {
933
- // Bounded bookkeeping: the map must not become its own leak under a sustained flood.
934
- // Dropping the oldest entry only forgives a message, never destroys one.
935
- const oldest = this.overflowEvictions.keys().next();
936
- if (!oldest.done)
937
- this.overflowEvictions.delete(oldest.value);
938
- }
939
- }
940
- }
941
- if (!this.inFlightIds.has(evicted.item.recvKey) && (!sacrificingDirected || giveUp))
909
+ // The broker paces that delay, so nothing here has to end it. An un-acked message comes
910
+ // back only after its durable's ack wait, so an inbox that stays full costs one redelivery
911
+ // per parked message per ack wait, and the message stays pending until a redelivery finds
912
+ // room: a DM on the recipient's own durable (`cotal deliver pending` counts it), a role
913
+ // request on its role's shared queue (which that command does not read). Giving up on
914
+ // it instead, as a per-id eviction count once did (#807), acked a message the sender had
915
+ // seen stored and the live recipient never read, with one stderr line as the only trace:
916
+ // a seat whose turn ran long lost its oldest DMs exactly that way (#2215).
917
+ if (!sacrificingDirected && !this.inFlightIds.has(evicted.item.recvKey))
942
918
  evicted.ack();
943
919
  }
944
920
  }
@@ -1249,10 +1225,6 @@ export class MeshAgent extends EventEmitter {
1249
1225
  this.markHandled(id, pullOnly.get(id) ?? false);
1250
1226
  this.evictedClassifications.delete(id);
1251
1227
  }
1252
- // A message that actually landed is not churning, whatever it survived on the way here: clear
1253
- // its overflow tally so one that is redelivered, evicted, then finally handled never carries
1254
- // history toward the give-up cap. Keyed on the receive key, like the tally itself.
1255
- this.overflowEvictions.delete(id);
1256
1228
  }
1257
1229
  return { items, missingKeys: requested.filter((key) => !present.has(key)) };
1258
1230
  }
@@ -1708,19 +1680,44 @@ export class MeshAgent extends EventEmitter {
1708
1680
  resolvePeer(target) {
1709
1681
  return resolvePeerInRoster(this.ep.getRoster(), target, { selfId: this.id });
1710
1682
  }
1683
+ /** #384: a peer that sent us a DM or anycast and has no roster row, by its exact id or, while the
1684
+ * presence view is current, by a display name only one such sender carried. A one-shot
1685
+ * `cotal send` never registers presence, so without this a reply to it could not be addressed. */
1686
+ heldSender(target, byName) {
1687
+ const name = this.senders.get(target);
1688
+ if (name !== undefined)
1689
+ return { id: target, name };
1690
+ if (!byName)
1691
+ return undefined;
1692
+ const want = target.trim().toLowerCase();
1693
+ // A sender rostered again under a new name has a row now, so its old name must not collide here.
1694
+ const rostered = new Set(this.ep.getRoster().map((p) => p.card.id));
1695
+ const matches = [...this.senders].filter(([id, n]) => !rostered.has(id) && n.toLowerCase() === want);
1696
+ if (matches.length > 1)
1697
+ throw new Error(`"${target}" is ambiguous - ${matches.length} senders with no roster row share that name; ` +
1698
+ `DM by instance id instead: ${matches.map(([id, n]) => `${n} (${id})`).join("; ")}`);
1699
+ return matches[0] && { id: matches[0][0], name: matches[0][1] };
1700
+ }
1711
1701
  async dm(target, text, opts = {}) {
1712
1702
  await this.requireConnected();
1703
+ // #384: a sender's exact id is as unambiguous as a roster id, so it is never read as a roster
1704
+ // display name; a peer that took that id as its name would otherwise receive the reply.
1705
+ const resolve = () => this.senders.has(target) ? this.ep.getRoster().find((p) => p.card.id === target) : this.resolvePeer(target);
1713
1706
  // #1229: a miss is only a real "no peer" while the view is current. Under `unpopulated`
1714
1707
  // the roster may be a reconnect refill in progress, so wait once for the snapshot and
1715
1708
  // re-resolve; a still-unverifiable target refuses naming the observer's condition (never
1716
1709
  // "no peer"), and the DM does not go out.
1717
1710
  const view = this.ep.presenceView();
1718
- let peer = this.resolvePeer(target);
1711
+ let peer = resolve();
1719
1712
  if (!peer && view.state === "unpopulated") {
1720
1713
  await this.ep.waitForPresenceSnapshot();
1721
- peer = this.resolvePeer(target);
1714
+ peer = resolve();
1722
1715
  }
1723
- if (!peer) {
1716
+ // #384: a target with no roster row may still be a peer that messaged us (its id is
1717
+ // authenticated), which a one-shot `cotal send` always is. The DM goes to that identity and the
1718
+ // space's DM stream keeps it, instead of refusing a reply nothing could ever deliver.
1719
+ const held = peer ? undefined : this.heldSender(target, this.ep.presenceView().state === "current");
1720
+ if (!peer && !held) {
1724
1721
  const after = this.ep.presenceView();
1725
1722
  if (after.state === "current")
1726
1723
  throw new Error(`no peer "${target}" in space "${this.config.space}"`);
@@ -1731,21 +1728,22 @@ export class MeshAgent extends EventEmitter {
1731
1728
  }
1732
1729
  // The only status we can truthfully attribute is the roster snapshot taken right before the
1733
1730
  // publish: recipient state can change the instant after, and the ack never tells us either way.
1734
- const recipientStatusAtSend = peer.status;
1731
+ const recipientStatusAtSend = peer ? peer.status : "unrostered";
1732
+ const recipient = peer ? { id: peer.card.id, name: peer.card.name } : held;
1735
1733
  // A DM back to a peer answers the message `replyTo` names, or the oldest one it sent us that no
1736
1734
  // DM has answered yet (see answering()). It counts as answered only once the DM is published,
1737
1735
  // so a failed send leaves it to the retry.
1738
- const answered = this.answering(peer.card.id, opts.replyTo?.trim() || undefined);
1736
+ const answered = this.answering(recipient.id, opts.replyTo?.trim() || undefined);
1739
1737
  const entry = answered && this.unanswered.get(answered.id);
1740
1738
  const { stamp, own } = this.stamp(answered);
1741
- this.recordQuestion(own, { peerId: peer.card.id });
1739
+ this.recordQuestion(own, { peerId: recipient.id });
1742
1740
  if (entry)
1743
1741
  entry.pending = true;
1744
1742
  try {
1745
- const { msg, ack } = await this.ep.unicastAttributed(peer.card.id, text, stamp);
1743
+ const { msg, ack } = await this.ep.unicastAttributed(recipient.id, text, stamp);
1746
1744
  if (answered)
1747
1745
  this.unanswered.delete(answered.id);
1748
- return { msg, peer, ack, recipientStatusAtSend };
1746
+ return { msg, peer, recipient, ack, recipientStatusAtSend };
1749
1747
  }
1750
1748
  finally {
1751
1749
  if (entry)