@cotal-ai/connector-core 0.16.0 → 0.18.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.
@@ -247,13 +288,34 @@ export declare class MeshAgent extends EventEmitter {
247
288
  includeDms?: boolean;
248
289
  }): Promise<ControlReply>;
249
290
  /** Define a persona and persist it as config (the manager's `definePersona` op writes
250
- * .cotal/agents/<name>.md). On success, announce it on the channel — the "send it out"
251
- * half — so peers see the new persona; `spawn(name)` then launches an agent wearing it. */
291
+ * .cotal/agents/<name>.md). `spawn(name)` then launches an agent wearing it.
292
+ *
293
+ * Writing is the whole job: announcing is OPT-IN via `announce`, and silence is the default.
294
+ * This used to end in a bare `this.send(...)`, which has no channel argument, so
295
+ * {@link Endpoint.multicast} resolved the destination as the caller's FIRST CONCRETE CHANNEL —
296
+ * `general` for most personas, purely by list order. Nobody ever chose that: defining a review
297
+ * panel sprayed one broadcast per seat into every peer's inbox on the mesh. `reply.ok` was the
298
+ * send's ONLY gate, so a failed manager reply announced nothing — but a host-level tool retry
299
+ * hit an idempotent overwrite, succeeded again, and announced the same persona twice. The text
300
+ * was worse than the volume: "spawn it to bring it online" is an imperative addressed to
301
+ * strangers, indistinguishable from an attempt to get unrelated agents to run someone else's
302
+ * code, and it tripped a real provenance investigation.
303
+ *
304
+ * So: no `announce` ⇒ no mesh traffic at all, and the definer already knows what it defined (the
305
+ * reply says so, and `spawn` on a missing persona fails loud). With `announce` ⇒ that channel and
306
+ * only that channel, never one inferred from ordering; post rights stay broker-enforced, so a
307
+ * definer without them fails there loudly rather than falling back to `general`. The wording is a
308
+ * statement of what the sender did, not an instruction to the reader — the sender's identity is
309
+ * already on the envelope, so an attributed fact is what a peer can actually evaluate. */
252
310
  definePersona(def: {
253
311
  name: string;
254
312
  prompt: string;
255
313
  model?: string;
256
- }): Promise<ControlReply>;
314
+ announce?: string;
315
+ }): Promise<ControlReply & {
316
+ announceError?: string;
317
+ announceOutcome?: "denied" | "unknown";
318
+ }>;
257
319
  /** The full roster, including ourselves. */
258
320
  roster(): Presence[];
259
321
  /** Our last self-reported presence status. */
@@ -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":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAOL,aAAa,EAMb,KAAK,YAAY,EAIjB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AAE3C;;;;wBAIwB;AACxB,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAgCvC,2EAA2E;AAC3E,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,kGAAkG;IAClG,UAAU,EAAE,OAAO,CAAC;IACpB,+FAA+F;IAC/F,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgBD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAMD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,SAAU,SAAQ,YAAY;IACzC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B,OAAO,CAAC,KAAK,CAAiB;IAC9B;;;;;;oGAMgG;IAChG,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,cAAc,CAAqB;IAC3C;;8DAE0D;IAC1D,OAAO,CAAC,sBAAsB,CAA6D;IAC3F;oDACgD;IAChD,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,oBAAoB,CAAS;IACrC;;6EAEyE;IACzE,OAAO,CAAC,oBAAoB,CAAqB;IACjD,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,UAAU,CAAyB;IAC3C;;;8EAG0E;IAC1E,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,UAAU,CAAqB;IACvC;qFACiF;IACjF,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;IAC9B;;wDAEoD;IACpD,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,yBAAyB,CAAqB;IACtD,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,EAAE,WAAW;IA+C/B,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,+EAA+E;IAC/E,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAKjD,qEAAqE;IACrE,KAAK,CAAC,OAAO,SAAO,GAAG,IAAI;YAIb,WAAW;IAenB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B;;;;iGAI6F;IACvF,SAAS,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAkB5D,OAAO,CAAC,MAAM;IA+Ed,OAAO,CAAC,MAAM;IAuBd,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,kBAAkB;IAY1B;;;;gDAI4C;IAC5C,OAAO,CAAC,WAAW;IAoBnB;sDACkD;IAClD,SAAS,CAAC,KAAK,GAAE,UAAkB,GAAG,SAAS,EAAE;IAIjD;;;;;;;;;;;;;kEAa8D;IAC9D,YAAY,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO;IAQ7C;;;sGAGkG;IAClG,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/B;mGAC+F;IAC/F,eAAe,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAS7C,8FAA8F;IAC9F,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,UAAkB,GAAG,SAAS,EAAE;IASlE;8FAC0F;IAC1F,aAAa,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB;IAmBvD,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,OAAO;IAIf;;gGAE4F;IAC5F,OAAO,CAAC,WAAW;IASnB,UAAU,CAAC,KAAK,GAAE,UAAkB,GAAG,MAAM;IAI7C,sFAAsF;IACtF,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,SAAS;IAK9D;;;0EAGsE;IACtE,oBAAoB,IAAI,MAAM;IAI9B;;;;;;0GAMsG;IACtG,WAAW,IAAI,MAAM;IASrB;;;wFAGoF;IACpF,WAAW,IAAI,IAAI;IAMnB;qFACiF;IACjF,IAAI,SAAS,IAAI,aAAa,CAE7B;IAED,4FAA4F;IAC5F,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAItD,4EAA4E;IAC5E,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;IAIjD;;;;;;;;iDAQ6C;IACvC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlF;;;;;;kCAM8B;IACxB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BtD;;;;;;yCAMqC;IAC/B,aAAa,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAuB3E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAOtF;;;;;2DAKuD;IACvD,OAAO,CAAC,mBAAmB;IASrB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAKhE;;wEAEoE;IACpE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI3C,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC;IAUtF;;;;;;;;;;;kFAW8E;IACxE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAQnL;;;;;;sEAMkE;YACpD,aAAa;IAuB3B;;;;;kGAK8F;YAChF,gBAAgB;IAS9B;;;;;;;4FAOwF;IAClF,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAUlF;uGACmG;IAC7F,YAAY,CAAC,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAM1E;;;;;;;;;;;;;;;;;;;+FAmB2F;IACrF,aAAa,CAAC,GAAG,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,YAAY,GAAG;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;KAAE,CAAC;IAgE9F,4CAA4C;IAC5C,MAAM,IAAI,QAAQ,EAAE;IAIpB,8CAA8C;IAC9C,IAAI,MAAM,IAAI,cAAc,CAE3B;IAEK,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOzE;;;6EAGyE;IACnE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D;;;;qFAIiF;IACjF,eAAe,IAAI,MAAM,GAAG,SAAS;IAUrC;oFACgF;IAChF,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IAS9F,2EAA2E;IAC3E,cAAc,IAAI,MAAM,EAAE;IAI1B;;iEAE6D;IACvD,YAAY,IAAI,OAAO,CAC3B;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,eAAe,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;QACvC,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,WAAW,GAAG,QAAQ,CAAC;KAC9B,EAAE,CACJ;IA6DD;;;;;2BAKuB;IACjB,WAAW,CACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAKtF,mEAAmE;IAC7D,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IAO/D,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,GAAG;CAGZ"}
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, assertValidChannel, channelInAllow, resolvePeer as resolvePeerInRoster, CotalEndpoint, BASELINE_LIFECYCLE_ENDPOINT, EpEnvelopeError, isPublishPermissionDenied, 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,35 +739,99 @@ 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
- * .cotal/agents/<name>.md). On success, announce it on the channel — the "send it out"
666
- * half — so peers see the new persona; `spawn(name)` then launches an agent wearing it. */
757
+ * .cotal/agents/<name>.md). `spawn(name)` then launches an agent wearing it.
758
+ *
759
+ * Writing is the whole job: announcing is OPT-IN via `announce`, and silence is the default.
760
+ * This used to end in a bare `this.send(...)`, which has no channel argument, so
761
+ * {@link Endpoint.multicast} resolved the destination as the caller's FIRST CONCRETE CHANNEL —
762
+ * `general` for most personas, purely by list order. Nobody ever chose that: defining a review
763
+ * panel sprayed one broadcast per seat into every peer's inbox on the mesh. `reply.ok` was the
764
+ * send's ONLY gate, so a failed manager reply announced nothing — but a host-level tool retry
765
+ * hit an idempotent overwrite, succeeded again, and announced the same persona twice. The text
766
+ * was worse than the volume: "spawn it to bring it online" is an imperative addressed to
767
+ * strangers, indistinguishable from an attempt to get unrelated agents to run someone else's
768
+ * code, and it tripped a real provenance investigation.
769
+ *
770
+ * So: no `announce` ⇒ no mesh traffic at all, and the definer already knows what it defined (the
771
+ * reply says so, and `spawn` on a missing persona fails loud). With `announce` ⇒ that channel and
772
+ * only that channel, never one inferred from ordering; post rights stay broker-enforced, so a
773
+ * definer without them fails there loudly rather than falling back to `general`. The wording is a
774
+ * statement of what the sender did, not an instruction to the reader — the sender's identity is
775
+ * already on the envelope, so an attributed fact is what a peer can actually evaluate. */
667
776
  async definePersona(def) {
668
777
  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
- });
674
- if (reply.ok)
675
- await this.send(`persona \`${def.name}\` is now availablespawn it to bring it online`);
778
+ // Validate the destination BEFORE the write, and here rather than only in the tool's schema —
779
+ // this is the API every host's tool surface funnels through, so a caller that reaches
780
+ // definePersona directly gets the same guarantee. `announce` present must mean EXACTLY that
781
+ // channel: `""` would otherwise be falsy and silently mean "absent" (a supplied destination
782
+ // that quietly publishes nowhere), and a wildcard or a name the subject layer rewrites
783
+ // (`lane/x` → `lane_x`) would publish somewhere the caller did not name. Failing before the
784
+ // write also means a bad destination costs nothing the alternative is a persona on disk plus
785
+ // an error, which reads as "nothing happened" and invites a retry.
786
+ if (def.announce !== undefined) {
787
+ if (def.announce.trim() === "")
788
+ throw new Error("announce: empty channel — omit it to define silently, or name a concrete channel");
789
+ // `assertValidChannel` returns its input unchanged or THROWS — it never rewrites. An earlier
790
+ // version of this guard compared its return value against the input, which could not fire, and
791
+ // worse: the throw escaped carrying core's own wording, which the tool layer does not
792
+ // recognise as an argument error, so a bad channel was reported as "no manager reachable".
793
+ // Re-throw under the `announce:` prefix so the failure is attributed to the argument that
794
+ // actually caused it.
795
+ try {
796
+ assertValidChannel(def.announce);
797
+ }
798
+ catch (e) {
799
+ throw new Error(`announce: ${e?.message ?? String(e)}`);
800
+ }
801
+ if (!isConcreteChannel(def.announce))
802
+ throw new Error(`announce: "${def.announce}" is a wildcard — announce to one concrete channel`);
803
+ }
804
+ // role is policy — set at spawn, never via definePersona; the manager ignores it regardless.
805
+ const args = { name: def.name, model: def.model, persona: def.prompt };
806
+ const reply = await this.managerInvoke("define-persona", args);
807
+ if (!reply.ok || !def.announce)
808
+ return reply;
809
+ // The persona IS saved by this point (the manager only replies ok after it writes the file), so
810
+ // a failed announcement must NOT be reported as a failed definition. Reporting it as one names
811
+ // the wrong remediation and invites a retry — and a retry that succeeds is the duplicate
812
+ // announcement this change exists to remove. Report the write as done and the post as failed.
813
+ try {
814
+ await this.send(`defined persona \`${def.name}\` — in this workspace's persona catalog, spawnable with cotal_spawn`, def.announce);
815
+ }
816
+ catch (e) {
817
+ // WHY the outcome is classified rather than flattened to a string: only a denial ON THE
818
+ // PUBLISH proves the message did not go out. A chat publish rides JetStream request/PubAck,
819
+ // so a timeout, a reconnect — or a permission denial on the PubAck INBOX SUBSCRIPTION — all
820
+ // leave the stream possibly holding the message while we never saw the ack. Reporting any of
821
+ // those as "it did not go out, post it yourself" is how a caller posts the announcement a
822
+ // second time, which is the exact duplicate this change exists to remove.
823
+ //
824
+ // This used to ask `isPermissionDenied`, which is operation-agnostic by design (it separates
825
+ // denied from service-down, where the operation is irrelevant). Review proved against a live
826
+ // broker that a subscription denial rejects `js.publish()` with the message ALREADY STORED —
827
+ // so that question could not distinguish the one case that proves non-delivery from a case
828
+ // that proves nothing. Ask the narrower question instead, and fail toward "unknown".
829
+ return {
830
+ ...reply,
831
+ announceError: e?.message ?? String(e),
832
+ announceOutcome: isPublishPermissionDenied(e) ? "denied" : "unknown",
833
+ };
834
+ }
676
835
  return reply;
677
836
  }
678
837
  // ---- presence ------------------------------------------------------------
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":"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"}
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"}