@cotal-ai/core 0.3.2 → 0.4.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.
@@ -48,7 +48,11 @@ export interface ChannelMember {
48
48
  live: boolean;
49
49
  }
50
50
  /**
51
- * Events: "message" (CotalMessage), "presence" (PresenceEvent), "roster" (Presence[]), "error" (Error).
51
+ * Events: "message" (CotalMessage), "presence" (PresenceEvent), "roster" (Presence[]), "error" (Error),
52
+ * "connection" ({ connected: boolean }) — true on every successful (re)bind (initial start, manual
53
+ * reconnect, AND background self-heal), false the moment the connection drops (rebuild null window /
54
+ * terminal close). Lets an in-process agent track connectedness off the endpoint's own (re)binds
55
+ * instead of an imperative flag the self-heal path can't reach.
52
56
  *
53
57
  * Callers MUST attach an "error" listener before `start()`: async faults (incl. NATS
54
58
  * permission denials, surfaced via `watchStatus`) are emitted as "error", and Node throws
@@ -85,6 +89,9 @@ export declare class CotalEndpoint extends EventEmitter {
85
89
  * a lagging joiner + dedups the backfill overlap). Keyed by the subscription pattern (may be
86
90
  * wildcard), so the drop matches every concrete channel the pattern subsumes. */
87
91
  private readonly joinSeq;
92
+ /** Serializes history reads ({@link collectHistory}): they share the fixed per-instance
93
+ * `chathist_<id>` consumer, so overlapping reads would delete/recreate it under one another. */
94
+ private histLock;
88
95
  private readonly subs;
89
96
  private readonly streamMsgs;
90
97
  private heartbeatTimer?;
@@ -93,9 +100,70 @@ export declare class CotalEndpoint extends EventEmitter {
93
100
  private status;
94
101
  private activity?;
95
102
  private stopped;
103
+ /** In-flight rebuild (drain+rebind) — serializes manual reconnect, the supervisor's
104
+ * closed(), and reestablishLoop so only ONE rebuild runs at a time (a second trigger
105
+ * coalesces onto the shared promise, never starts a parallel connectAndBind). */
106
+ private rebuildPromise?;
107
+ /** True only during the null window of a rebuild (this.nc unset) — user-facing ops then
108
+ * throw a "reconnecting" message instead of the misleading "endpoint not started". */
109
+ private reconnecting;
110
+ /** One reestablishLoop at a time; concurrent triggers coalesce via rebuild(). */
111
+ private reestablishing;
112
+ /** Interruptible backoff for reestablishLoop — reconnect()/stop() resolves this to retry
113
+ * now instead of awaiting the full retryMs. */
114
+ private backoffResolve?;
115
+ private backoffTimer?;
116
+ private readonly retryMs;
96
117
  constructor(opts: EndpointOptions);
97
118
  ref(): EndpointRef;
98
119
  start(): Promise<void>;
120
+ /** Open the connection and bind everything that hangs off it: status watch, presence
121
+ * watch + heartbeat, channel registry, and the durable consumers. Re-runnable — a
122
+ * reconnect calls it again after {@link clearConnectionScoped}; every binding is
123
+ * idempotent (durables bind by name, JetStream dedups by msgID, KV opens are idempotent). */
124
+ private connectAndBind;
125
+ /** Tear down everything {@link connectAndBind} (re)creates, so a rebind can't leak a
126
+ * second heartbeat, double-pump a consumer, or keep stale roster ghosts. Caller-owned
127
+ * subs (tap/serve) are left alone — they aren't rebuilt here. */
128
+ private clearConnectionScoped;
129
+ /** If stop() ran during a rebuild's `await connectAndBind`, the just-bound connection +
130
+ * heartbeat + supervisor would be left live on a stopped endpoint. Tear that fresh
131
+ * connection back down and report it. Reads `this.nc` in its own scope (a bare `this.nc`
132
+ * in doRebuild narrows to `never` via TS inlining connectAndBind's assignment). Returns
133
+ * true iff it tore something down (caller bails out of the rebuild). */
134
+ private tearDownIfStopped;
135
+ /** Watch for a terminal close (nats.js has exhausted its own reconnect) and rebuild.
136
+ * Our own stop()/drain also resolves closed(), so the `stopped` guard keeps a clean
137
+ * shutdown from re-establishing. The identity guard (`this.nc !== nc`) no-ops a STALE
138
+ * supervisor — one whose connection reconnect()/rebuild already replaced — so only a
139
+ * close of the CURRENT connection triggers a rebuild. The rebuild itself is serialized
140
+ * with the manual path via {@link rebuild}. */
141
+ private superviseConnection;
142
+ /** Single serialized rebuild: drain the old connection and rebind via {@link connectAndBind},
143
+ * guarded so concurrent triggers (manual {@link reconnect}, the supervisor's closed(), the
144
+ * retry loop) coalesce onto ONE in-flight rebuild instead of racing two connectAndBinds and
145
+ * leaking a connection. Returns the shared promise; a second caller gets the in-flight one. */
146
+ private rebuild;
147
+ /** The transition: stop the connection-scoped timers FIRST (so nothing live touches
148
+ * this.nc during the null window), drop the connection refs, drain the old nc, then
149
+ * rebind + re-arm the supervisor on the fresh connection. clearConnectionScoped is
150
+ * idempotent, so connectAndBind's own call here is a noop. */
151
+ private doRebuild;
152
+ /** Rebuild with backoff until it sticks or we're stopped. Interruptible: a manual
153
+ * {@link reconnect} kicks the backoff so the next attempt runs immediately instead of
154
+ * awaiting the full retryMs. One loop at a time ({@link reestablishing}); concurrent
155
+ * triggers coalesce via {@link rebuild}. */
156
+ private reestablishLoop;
157
+ /** Cut an in-flight reestablish backoff short so the next attempt runs immediately, and
158
+ * clear its timer so it can't fire later on a stopped/restarted loop. */
159
+ private kickBackoff;
160
+ /** Manual reconnect: tear down the current connection and rebuild, WITHOUT the permanent
161
+ * stop (stopped/stopping stay false). Serialized with the self-heal supervisor via
162
+ * {@link rebuild}, and interruptible — if a backoff is in flight, kick it so the attempt
163
+ * is now, not in retryMs. Throws if stopped. On failure, leaves {@link reestablishLoop}
164
+ * running in the background so the endpoint never stays dead, and rethrows so the caller
165
+ * can report it. */
166
+ reconnect(): Promise<void>;
99
167
  stop(): Promise<void>;
100
168
  /** Multicast: broadcast to everyone on a channel. */
101
169
  multicast(text: string, opts?: {
@@ -154,6 +222,13 @@ export declare class CotalEndpoint extends EventEmitter {
154
222
  leaveChannel(channel: string): Promise<{
155
223
  left: boolean;
156
224
  }>;
225
+ /** Move the chat live-tail durable to a new channel set. OPEN mode self-serves the
226
+ * `consumers.update` (the agent owns its durable). AUTH mode is bind-only — the agent has no
227
+ * UPDATE grant — so it sends a mediated control request to the manager, which validates the set
228
+ * ⊆ its `allowSubscribe` before moving the filter. Throws clearly when no privileged responder is
229
+ * present: a manager-less standalone auth session is fixed to its boot subscribe set — a
230
+ * documented limitation, not a silent degrade. */
231
+ private setChatFilter;
157
232
  /** One coherent channel model for dashboards: every channel that has messages OR a registry
158
233
  * entry (configured-but-empty), each tagged with its {@link ChannelConfig}. Works even on
159
234
  * observer endpoints (no consumers needed). */
@@ -203,10 +278,30 @@ export declare class CotalEndpoint extends EventEmitter {
203
278
  * denial is never mistaken for absence (which already has a benign cause: MCP reconnect).
204
279
  */
205
280
  private watchStatus;
281
+ /** The error message for a guard that finds the endpoint unbound: "reconnecting" during a
282
+ * rebuild's null window OR an inter-retry backoff (so a concurrent op reports the real
283
+ * reason, not "not started" — `reestablishing` spans the whole retry loop incl. backoff),
284
+ * else "endpoint not started" (genuine pre-start). */
285
+ private notLiveMsg;
206
286
  private publishMsg;
207
287
  /** Create the three backing streams for this space (idempotent). Open-mode lazy create;
208
288
  * the same definitions are used by `cotal up` at privileged setup. */
209
289
  private ensureStreams;
290
+ /**
291
+ * Privileged: pre-create an agent's bind-only chat live-tail durable (auth mode), filtered to its
292
+ * `subscribe` set, so the agent can BIND it without holding CONSUMER.CREATE/UPDATE on CHAT — its
293
+ * live read can't be self-widened past `allowSubscribe`. The creator sets the filter; the agent
294
+ * never does (mirrors {@link provisionDmInbox}). Idempotent. The caller must be permissive on CHAT.
295
+ */
296
+ provisionChatDurable(targetId: string, subscribe: string[]): Promise<void>;
297
+ /**
298
+ * Privileged: move an agent's bind-only chat durable to a new channel set — the write half of the
299
+ * mediated join/leave. The manager calls this AFTER validating the set ⊆ the agent's
300
+ * `allowSubscribe`; the agent itself has no UPDATE grant, so this trusted path is the only way its
301
+ * live filter moves. The filter is rebuilt from channel names here (not from agent-supplied
302
+ * subjects) so a caller can't smuggle a hand-built filter.
303
+ */
304
+ setChatFilterFor(targetId: string, channels: string[]): Promise<void>;
210
305
  /**
211
306
  * Privileged: pre-create an agent's DM inbox durable (auth mode), so the agent can BIND
212
307
  * it without holding CONSUMER.CREATE on DM_<space>. The creator sets the filter to
@@ -251,11 +346,23 @@ export declare class CotalEndpoint extends EventEmitter {
251
346
  * — the authoritative read for a join decision (a join is infrequent, and at startup the async
252
347
  * cache may not have caught up). Falls to the built-in default only with no registry open. */
253
348
  private joinPolicyFresh;
254
- /** Read a channel's retained history up to `upToSeq` via JetStream **Direct Get** (a read
255
- * verb no consumer create, so it rides a read-only grant) and emit each message as a
256
- * `historical` "message" event. `sinceMs` bounds how far back via a native Direct-Get
349
+ /**
350
+ * Read retained chat history on ONE channel subject through a name-scoped, single-filter
351
+ * EPHEMERAL pull consumer the broker-contained replacement for the removed Direct Get. The
352
+ * create rides `$JS.API.CONSUMER.CREATE.<CHAT>.<chathist_id>.<subject>`, whose trailing filter
353
+ * token nats-server pins to the request body (JSConsumerCreateFilterSubjectMismatchErr, code
354
+ * 10131) — so an agent can only ever replay a channel its `allowSubscribe` grants. Single filter
355
+ * only (plural isn't ACL-constrainable); `AckPolicy.None` + `mem_storage` so it leaves no durable
356
+ * state, and it is deleted right after. Returns raw messages in stream order from `start`,
357
+ * stopping once past `untilSeq` (exclusive of it) or after `limit`. The per-instance name means
358
+ * calls must be serial — every reader here awaits to completion, so they are.
359
+ */
360
+ private collectHistory;
361
+ private collectHistoryInner;
362
+ /** Read a channel's retained history up to `upToSeq` (the join frontier) and emit each message
363
+ * as a `historical` "message" event. `sinceMs` bounds how far back via a native consumer
257
364
  * `start_time` (now − window); unset ⇒ the full retained window. New messages (`seq > upToSeq`)
258
- * are skipped — the live tail owns them. Pages the batch API; the ack handle is a no-op. */
365
+ * are skipped — the live tail owns them. Reads through the contained {@link collectHistory}. */
259
366
  private backfillChannel;
260
367
  /**
261
368
  * Replay-gated pull of a channel's retained ambient from `sinceSeq` (exclusive) forward — the
@@ -266,8 +373,8 @@ export declare class CotalEndpoint extends EventEmitter {
266
373
  *
267
374
  * Honors the **same** per-channel replay gate as join-backfill ({@link joinPolicyFresh}): a
268
375
  * `replay=off` channel returns nothing, so `focus` can't become a history bypass for a channel
269
- * that denies replay to everyone else (chat is `allow_direct` with no broker-level ACL, so this
270
- * app gate is the entire boundary).
376
+ * that denies replay to everyone else (the read ACL bounds *which* channels recall can touch; this
377
+ * app gate bounds *whether* a permitted channel replays).
271
378
  */
272
379
  recallChannel(channel: string, sinceSeq: number): Promise<{
273
380
  messages: CotalMessage[];
@@ -282,7 +389,8 @@ export declare class CotalEndpoint extends EventEmitter {
282
389
  * traffic.) */
283
390
  private channelDropped;
284
391
  /** Sequence of the earliest message still retained on a channel subject (any sender), or
285
- * undefined if nothing is retained. One 1-message Direct Get — used for the recall drop marker. */
392
+ * undefined if nothing is retained. One message through the contained {@link collectHistory}
393
+ * used for the recall drop marker. */
286
394
  private channelOldestSeq;
287
395
  private publishPresence;
288
396
  private startPresenceWatch;
@@ -305,6 +413,13 @@ interface AuthOpts {
305
413
  creds?: string;
306
414
  tls?: boolean;
307
415
  }
416
+ /** True when a failure is a NATS *permission denial* — the subject is forbidden to this
417
+ * endpoint's creds — rather than a missing responder or a timeout. The two need opposite
418
+ * fixes (grant the capability vs. start/await the service), so callers (e.g. a control
419
+ * request that can't reach the manager) must tell them apart instead of defaulting to
420
+ * "service down". Unwraps a wrapped `cause` and falls back to the server's error text, since
421
+ * a denied publish can surface either as the typed error or inside a request rejection. */
422
+ export declare function isPermissionDenied(e: unknown): boolean;
308
423
  /** Whether a NATS server is *running* at `servers`. True on a successful connect AND on an
309
424
  * auth rejection — an auth error means a server is there, just refusing these creds (so the
310
425
  * caller should surface the real auth failure, not a misleading "server down", and `up`
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}