@cotal-ai/core 0.1.0 → 0.1.2

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/endpoint.js CHANGED
@@ -5,7 +5,8 @@ import { idFromCreds } from "./identity.js";
5
5
  import { createSpaceStreams, dmDurableConfig, taskDurableConfig } from "./streams.js";
6
6
  import { jetstream, jetstreamManager, AckPolicy, DeliverPolicy, } from "@nats-io/jetstream";
7
7
  import { Kvm } from "@nats-io/kv";
8
- import { anycastSubject, chatStream, chatDurable, chatSubject, collapseFilterSubjects, controlServiceSubject, dmStream, dmDurable, isConcreteChannel, normalizeMentions, parseSubject, presenceBucket, spacePrefix, spaceWildcard, taskStream, taskDurable, unicastSubject, } from "./subjects.js";
8
+ import { openChannelRegistry, effectiveReplay, effectiveReplayWindowMs, readChannelConfig, readChannelDefaults, } from "./channels.js";
9
+ import { anycastSubject, CHANNEL_DEFAULTS_KEY, chatStream, chatDurable, chatSubject, collapseFilterSubjects, controlServiceSubject, dmStream, dmDurable, isConcreteChannel, normalizeMentions, parseSubject, presenceBucket, spacePrefix, spaceWildcard, subjectMatches, taskStream, taskDurable, token, unicastSubject, } from "./subjects.js";
9
10
  export const DEFAULT_SERVER = "nats://127.0.0.1:4222";
10
11
  /**
11
12
  * Events: "message" (CotalMessage), "presence" (PresenceEvent), "roster" (Presence[]), "error" (Error).
@@ -36,6 +37,15 @@ export class CotalEndpoint extends EventEmitter {
36
37
  js;
37
38
  jsm;
38
39
  kv;
40
+ channelKv;
41
+ /** Live local cache of the channel registry (key = channel token), kept by a KV watch. */
42
+ channelConfigs = new Map();
43
+ channelDefaults = {};
44
+ /** Per-subscription join watermark: the stream frontier captured when a channel was joined.
45
+ * The tail ack-drops chat messages with `seq <= watermark` (suppresses pre-join history for
46
+ * a lagging joiner + dedups the backfill overlap). Keyed by the subscription pattern (may be
47
+ * wildcard), so the drop matches every concrete channel the pattern subsumes. */
48
+ joinSeq = new Map();
39
49
  subs = [];
40
50
  streamMsgs = [];
41
51
  heartbeatTimer;
@@ -100,6 +110,14 @@ export class CotalEndpoint extends EventEmitter {
100
110
  await this.startPresenceWatch();
101
111
  this.sweepTimer = setInterval(() => this.sweep(), Math.max(500, Math.floor(this.ttlMs / 3)));
102
112
  }
113
+ // Open the channel registry bucket when we either watch it (live cache for the connector's
114
+ // pull/display) or consume (the join-time replay decision reads it fresh). Auth mode OPENs
115
+ // the bucket pre-created at `cotal up`; open mode lazily creates it.
116
+ if (this.doWatch || this.doConsume) {
117
+ this.channelKv = await openChannelRegistry(this.nc, this.space, { create: !this.creds });
118
+ if (this.doWatch)
119
+ await this.startChannelWatch();
120
+ }
103
121
  if (this.doRegister) {
104
122
  await this.publishPresence();
105
123
  this.heartbeatTimer = setInterval(() => {
@@ -283,32 +301,151 @@ export class CotalEndpoint extends EventEmitter {
283
301
  await this.publishPresence();
284
302
  }
285
303
  // ---- channel discovery ---------------------------------------------------
286
- /** List channels that have messages in the chat stream, with message counts.
287
- * Works even on observer endpoints (no consumers needed). */
304
+ /** This channel's registry config from the live local cache (undefined if unset). */
305
+ getChannelConfig(channel) {
306
+ return this.channelConfigs.get(channel);
307
+ }
308
+ /** Effective replay-on-join policy for a channel: per-channel override ?? space default ??
309
+ * true. Reads the live cache, so it reflects runtime registry edits. */
310
+ channelReplay(channel) {
311
+ return effectiveReplay(this.channelConfigs.get(channel), this.channelDefaults);
312
+ }
313
+ // ---- dynamic subscription (join / leave mid-session) ---------------------
314
+ /** The channels this endpoint is currently subscribed to (live — reflects join/leave). */
315
+ joinedChannels() {
316
+ return [...this.channels];
317
+ }
318
+ /**
319
+ * Join a channel mid-session: add it to our chat durable's `filter_subjects` (same durable,
320
+ * same ack-floor, no teardown — `update` rides the self-scoped create grant), capture the
321
+ * stream frontier as this channel's join watermark, and backfill its history if replay is on.
322
+ * Idempotent: re-joining a channel already in our filter is a no-op (no re-backfill). Returns
323
+ * the number of historical messages backfilled (emitted as `historical` "message" events).
324
+ */
325
+ async joinChannel(channel) {
326
+ if (!this.jsm)
327
+ throw new Error("endpoint not started");
328
+ if (this.channels.includes(channel))
329
+ return { joined: false, backfilled: 0 };
330
+ const next = collapseFilterSubjects([...this.channels, channel].map((ch) => chatSubject(this.space, "*", ch)));
331
+ // Arm the watermark BEFORE the filter flip (single-delivery: a tail message on the new
332
+ // channel is then either ≤ frontier → backfill-only or > frontier → tail-only, never both),
333
+ // and filter BEFORE backfill (gap-safe: backfill-first leaves a window in neither stream).
334
+ const armed = await this.armJoin([channel]);
335
+ await this.jsm.consumers.update(chatStream(this.space), chatDurable(this.card.id), {
336
+ filter_subjects: next,
337
+ });
338
+ this.channels.push(channel);
339
+ const backfilled = await this.backfillArmed(armed);
340
+ return { joined: true, backfilled };
341
+ }
342
+ /** Leave a channel mid-session: drop it from the durable's `filter_subjects`. Refuses to leave
343
+ * the *last* channel (an empty filter would match every chat subject — the opposite of
344
+ * leaving). Returns whether anything changed. */
345
+ async leaveChannel(channel) {
346
+ if (!this.jsm)
347
+ throw new Error("endpoint not started");
348
+ const i = this.channels.indexOf(channel);
349
+ if (i < 0)
350
+ return { left: false };
351
+ if (this.channels.length === 1)
352
+ throw new Error(`cannot leave "${channel}" — it is your only channel (an empty filter would subscribe to all)`);
353
+ const remaining = this.channels.filter((c) => c !== channel);
354
+ await this.jsm.consumers.update(chatStream(this.space), chatDurable(this.card.id), {
355
+ filter_subjects: collapseFilterSubjects(remaining.map((ch) => chatSubject(this.space, "*", ch))),
356
+ });
357
+ this.channels.splice(i, 1);
358
+ this.joinSeq.delete(channel);
359
+ return { left: true };
360
+ }
361
+ /** One coherent channel model for dashboards: every channel that has messages OR a registry
362
+ * entry (configured-but-empty), each tagged with its {@link ChannelConfig}. Works even on
363
+ * observer endpoints (no consumers needed). */
288
364
  async listChannels() {
289
365
  if (!this.nc)
290
366
  throw new Error("endpoint not started");
291
367
  const mgr = await jetstreamManager(this.nc);
292
- let info;
368
+ // Subjects carry the sender (chat.<sender>.<channel>), so collapse across senders: sum
369
+ // each channel's counts regardless of who published.
370
+ const counts = new Map();
293
371
  try {
294
- info = await mgr.streams.info(chatStream(this.space), { subjects_filter: ">" });
372
+ const info = await mgr.streams.info(chatStream(this.space), { subjects_filter: ">" });
373
+ if (info.state.subjects) {
374
+ for (const [subject, count] of Object.entries(info.state.subjects)) {
375
+ const p = parseSubject(subject);
376
+ if (p?.kind === "chat")
377
+ counts.set(p.rest, (counts.get(p.rest) ?? 0) + count);
378
+ }
379
+ }
295
380
  }
296
381
  catch {
297
- return [];
382
+ /* stream missing — fall through to registry-only channels */
298
383
  }
299
- // Subjects now carry the sender (chat.<sender>.<channel>), so collapse across senders:
300
- // sum each channel's counts regardless of who published.
301
- const counts = new Map();
302
- if (info.state.subjects) {
303
- for (const [subject, count] of Object.entries(info.state.subjects)) {
304
- const p = parseSubject(subject);
384
+ const channels = new Set([...counts.keys(), ...this.channelConfigs.keys()]);
385
+ return [...channels]
386
+ .map((channel) => ({
387
+ channel,
388
+ messages: counts.get(channel) ?? 0,
389
+ config: this.channelConfigs.get(channel),
390
+ }))
391
+ .sort((a, b) => a.channel.localeCompare(b.channel));
392
+ }
393
+ async channelMembers(channel) {
394
+ const mgr = await this.manager();
395
+ // Group channel patterns by each consumer's durable id-token (chat_<id> → token(id)).
396
+ // One peer has one chat consumer, so this is a straight per-peer collection; join/leave
397
+ // just mutates that consumer's filter_subjects, which the next call re-reads live.
398
+ const byTok = new Map();
399
+ for await (const ci of mgr.consumers.list(chatStream(this.space))) {
400
+ const tok = chatDurableToken(ci.config.durable_name ?? ci.name);
401
+ if (tok === null)
402
+ continue;
403
+ // The server may report a single filter as `filter_subject` or `filter_subjects` — both
404
+ // are the same datum; read whichever is present. Filters are already collapsed (the
405
+ // effective subscription), so parse the channel straight out of each.
406
+ const filters = ci.config.filter_subjects ?? (ci.config.filter_subject ? [ci.config.filter_subject] : []);
407
+ const set = byTok.get(tok) ?? new Set();
408
+ for (const f of filters) {
409
+ const p = parseSubject(f);
305
410
  if (p?.kind === "chat")
306
- counts.set(p.rest, (counts.get(p.rest) ?? 0) + count);
411
+ set.add(p.rest);
307
412
  }
413
+ byTok.set(tok, set);
308
414
  }
309
- return [...counts]
310
- .map(([channel, messages]) => ({ channel, messages }))
311
- .sort((a, b) => a.channel.localeCompare(b.channel));
415
+ // Join with presence for liveness. token() is lossy, so match forward: index the roster
416
+ // by token(id). A durable with no roster match is a ghost/foreign id — keep its token,
417
+ // never drop it.
418
+ const byToken = new Map();
419
+ for (const p of this.roster.values())
420
+ byToken.set(token(p.card.id), p);
421
+ const memberFor = (tok) => {
422
+ const p = byToken.get(tok);
423
+ return p
424
+ ? { id: p.card.id, name: p.card.name, role: p.card.role, live: p.status !== "offline" }
425
+ : { id: tok, name: tok, live: false };
426
+ };
427
+ const byName = (a, b) => a.name.localeCompare(b.name);
428
+ if (channel !== undefined) {
429
+ const out = [];
430
+ for (const [tok, patterns] of byTok)
431
+ if ([...patterns].some((pat) => subjectMatches(pat, channel)))
432
+ out.push(memberFor(tok));
433
+ return out.sort(byName);
434
+ }
435
+ const map = new Map();
436
+ for (const [tok, patterns] of byTok) {
437
+ const m = memberFor(tok);
438
+ for (const pat of patterns) {
439
+ const arr = map.get(pat);
440
+ if (arr)
441
+ arr.push(m);
442
+ else
443
+ map.set(pat, [m]);
444
+ }
445
+ }
446
+ for (const arr of map.values())
447
+ arr.sort(byName);
448
+ return map;
312
449
  }
313
450
  /** Fetch recent messages from a channel's JetStream backlog. */
314
451
  async channelHistory(channel, opts) {
@@ -431,19 +568,47 @@ export class CotalEndpoint extends EventEmitter {
431
568
  }));
432
569
  }
433
570
  await this.pump(dmStream(this.space), dmDurable(id));
434
- // Multicast: every message on our channels, at our own pace (replays the retained window).
571
+ // Multicast: a DeliverPolicy.New *tail* of our channels. History is NOT a durable replay
572
+ // it's an explicit, per-channel backfill on join (replay-policy gated, below), the only
573
+ // shape that can honor per-channel policy given deliver_policy is consumer-wide.
435
574
  if (this.channels.length) {
436
- await this.jsm.consumers.add(chatStream(this.space), {
437
- durable_name: chatDurable(id),
438
- // Wildcard channels (team.>) may subsume concrete ones (team.backend);
439
- // JetStream rejects overlapping filter_subjects, so collapse first.
440
- filter_subjects: collapseFilterSubjects(this.channels.map((ch) => chatSubject(this.space, "*", ch))),
441
- ack_policy: AckPolicy.Explicit,
442
- ack_wait,
443
- deliver_policy: DeliverPolicy.All,
444
- inactive_threshold,
445
- });
446
- await this.pump(chatStream(this.space), chatDurable(id));
575
+ const durable = chatDurable(id);
576
+ const want = collapseFilterSubjects(this.channels.map((ch) => chatSubject(this.space, "*", ch)));
577
+ const info = await this.consumerInfo(chatStream(this.space), durable);
578
+ if (!info) {
579
+ // Fresh durable: a New tail (history is the explicit backfill below — the only shape
580
+ // that honors per-channel policy given deliver_policy is consumer-wide).
581
+ await this.jsm.consumers.add(chatStream(this.space), {
582
+ durable_name: durable,
583
+ filter_subjects: want,
584
+ ack_policy: AckPolicy.Explicit,
585
+ ack_wait,
586
+ deliver_policy: DeliverPolicy.New,
587
+ inactive_threshold,
588
+ });
589
+ // Arm the tail-drop watermarks BEFORE pump starts, so the tail can never deliver a
590
+ // just-created channel's message un-watermarked (which would double-emit: live + backfill).
591
+ const armed = await this.armJoin(this.channels);
592
+ await this.pump(chatStream(this.space), durable);
593
+ await this.backfillArmed(armed);
594
+ }
595
+ else {
596
+ // Rebind: reconcile the durable's filter to the CURRENT config (a config that changed
597
+ // between restarts is honored). Channels the config GAINED are backfilled like a fresh
598
+ // join; channels it LOST are dropped from the filter. An unchanged config = pure resume,
599
+ // empty diff, no re-replay.
600
+ await this.pump(chatStream(this.space), durable);
601
+ const haveFilters = info.config.filter_subjects ?? (info.config.filter_subject ? [info.config.filter_subject] : []);
602
+ // Channels the config gained = those not already covered by the durable's filters (a
603
+ // wildcard already covers its sub-channels). Backfill only those.
604
+ const gained = this.channels.filter((c) => !haveFilters.some((f) => subjectMatches(f, chatSubject(this.space, "*", c))));
605
+ // Arm watermarks for the gained channels BEFORE the filter reconcile flips them on.
606
+ const armed = gained.length ? await this.armJoin(gained) : undefined;
607
+ if (!sameSet(haveFilters, want))
608
+ await this.jsm.consumers.update(chatStream(this.space), durable, { filter_subjects: want });
609
+ if (armed)
610
+ await this.backfillArmed(armed);
611
+ }
447
612
  }
448
613
  // Anycast: a shared work-queue consumer for our role — one instance grabs each task.
449
614
  // Open mode self-creates; auth mode BINDS the provisioner-pre-created svc_<role>
@@ -489,14 +654,150 @@ export class CotalEndpoint extends EventEmitter {
489
654
  m.ack(); // our own echo — advance past it
490
655
  continue;
491
656
  }
657
+ // No-replay + dedup (chat only): drop a message at/below this channel's join watermark
658
+ // — pre-join history the New tail still carries for a *lagging* joiner (cursor behind the
659
+ // frontier), and the overlap a replay backfill already delivered. Must ack, or JetStream
660
+ // redelivers it forever. The drop is here, before the message becomes model context.
661
+ if (parsed.kind === "chat") {
662
+ const wm = this.dropWatermark(parsed.rest);
663
+ if (wm !== undefined && m.seq <= wm) {
664
+ m.ack();
665
+ continue;
666
+ }
667
+ }
492
668
  const delivery = { ack: () => m.ack(), nak: () => m.nak() };
493
- this.emit("message", msg, delivery);
669
+ this.emit("message", msg, delivery, { historical: false });
494
670
  }
495
671
  })().catch((e) => {
496
672
  if (!this.stopped)
497
673
  this.emit("error", e);
498
674
  });
499
675
  }
676
+ /** The highest join watermark among the joined subscriptions that cover `concreteChannel`
677
+ * (a wildcard sub like `team.>` covers `team.backend`), or undefined if none — the tail
678
+ * drops a chat message with `seq <= ` this. */
679
+ dropWatermark(concreteChannel) {
680
+ let wm;
681
+ for (const [pattern, seq] of this.joinSeq)
682
+ if (subjectMatches(pattern, concreteChannel) && (wm === undefined || seq > wm))
683
+ wm = seq;
684
+ return wm;
685
+ }
686
+ /** The durable's info (rebind) or null (fresh — 404). Gates create/backfill to the join event
687
+ * and exposes the current `filter_subjects` for restart reconciliation. */
688
+ async consumerInfo(stream, durable) {
689
+ if (!this.jsm)
690
+ throw new Error("endpoint not started");
691
+ try {
692
+ return await this.jsm.consumers.info(stream, durable);
693
+ }
694
+ catch {
695
+ return null; // 404 — fresh durable
696
+ }
697
+ }
698
+ /** Current frontier (last sequence) of the chat stream — a channel's join watermark. */
699
+ async chatFrontier() {
700
+ if (!this.jsm)
701
+ throw new Error("endpoint not started");
702
+ return (await this.jsm.streams.info(chatStream(this.space))).state.last_seq;
703
+ }
704
+ /** Phase 1 of a join — arm each channel's tail-drop watermark at the current frontier. MUST run
705
+ * BEFORE the filter flip (consumers.update, or pump on a fresh create) so the tail can never
706
+ * carry a just-joined message un-watermarked — which would double-emit it (live + backfill).
707
+ * Returns the per-channel frontiers for {@link backfillArmed}. */
708
+ async armJoin(channels) {
709
+ const frontiers = new Map();
710
+ for (const ch of channels) {
711
+ const frontier = await this.chatFrontier();
712
+ this.joinSeq.set(ch, frontier);
713
+ frontiers.set(ch, frontier);
714
+ }
715
+ return frontiers;
716
+ }
717
+ /** Phase 2 of a join — backfill each armed channel's history up to its frontier (replay-gated),
718
+ * AFTER the filter flip. Returns the total backfilled. */
719
+ async backfillArmed(frontiers) {
720
+ let total = 0;
721
+ for (const [ch, frontier] of frontiers) {
722
+ const policy = await this.joinPolicyFresh(ch);
723
+ if (policy.replay)
724
+ total += await this.backfillChannel(ch, frontier, policy.windowMs);
725
+ }
726
+ return total;
727
+ }
728
+ /** Replay policy + backfill window read straight from the registry bucket (vs the watch cache)
729
+ * — the authoritative read for a join decision (a join is infrequent, and at startup the async
730
+ * cache may not have caught up). Falls to the built-in default only with no registry open. */
731
+ async joinPolicyFresh(channel) {
732
+ if (!this.channelKv)
733
+ return { replay: effectiveReplay(undefined, undefined) };
734
+ const [cfg, defaults] = await Promise.all([
735
+ readChannelConfig(this.channelKv, channel),
736
+ readChannelDefaults(this.channelKv),
737
+ ]);
738
+ return { replay: effectiveReplay(cfg, defaults), windowMs: effectiveReplayWindowMs(cfg, defaults) };
739
+ }
740
+ /** Read a channel's retained history up to `upToSeq` via JetStream **Direct Get** (a read
741
+ * verb — no consumer create, so it rides a read-only grant) and emit each message as a
742
+ * `historical` "message" event. `sinceMs` bounds how far back via a native Direct-Get
743
+ * `start_time` (now − window); unset ⇒ the full retained window. New messages (`seq > upToSeq`)
744
+ * are skipped — the live tail owns them. Pages the batch API; the ack handle is a no-op. */
745
+ async backfillChannel(channel, upToSeq, sinceMs) {
746
+ if (!this.jsm)
747
+ throw new Error("endpoint not started");
748
+ const subject = chatSubject(this.space, "*", channel);
749
+ const collected = [];
750
+ // First page starts by time when a window is set (native), else from seq 1; after that we
751
+ // always page by sequence.
752
+ const startTime = sinceMs === undefined ? undefined : new Date(Date.now() - sinceMs);
753
+ let startSeq = 1;
754
+ let first = true;
755
+ pages: for (;;) {
756
+ let last = 0;
757
+ let got = 0;
758
+ try {
759
+ const query = first && startTime !== undefined
760
+ ? { start_time: startTime, next_by_subj: subject, batch: 256 }
761
+ : { seq: startSeq, next_by_subj: subject, batch: 256 };
762
+ first = false;
763
+ const iter = await this.jsm.direct.getBatch(chatStream(this.space), query);
764
+ for await (const sm of iter) {
765
+ got++;
766
+ if (sm.seq > upToSeq)
767
+ break pages; // crossed the frontier — the tail owns the rest
768
+ last = sm.seq;
769
+ let msg;
770
+ try {
771
+ msg = sm.json();
772
+ }
773
+ catch {
774
+ continue; // skip undecodable
775
+ }
776
+ // Same authenticity guard as the tail; skip our own echoes in history.
777
+ const parsed = parseSubject(sm.subject);
778
+ if (!parsed || msg.from?.id !== parsed.sender || msg.from.id === this.card.id)
779
+ continue;
780
+ collected.push({ msg, seq: sm.seq });
781
+ }
782
+ }
783
+ catch (e) {
784
+ // Batch Direct Get raises a 404 ("message not found") when no message matches from
785
+ // `start` — the normal "no more history" signal (empty channel or last page), not a
786
+ // fault. Anything else is real.
787
+ if (e.code === 404)
788
+ break;
789
+ this.emit("error", e);
790
+ break;
791
+ }
792
+ if (got === 0 || last === 0)
793
+ break; // drained
794
+ startSeq = last + 1;
795
+ }
796
+ const noop = { ack: () => { }, nak: () => { } };
797
+ for (const { msg } of collected)
798
+ this.emit("message", msg, noop, { historical: true });
799
+ return collected.length;
800
+ }
500
801
  async publishPresence() {
501
802
  if (!this.kv)
502
803
  return;
@@ -517,6 +818,43 @@ export class CotalEndpoint extends EventEmitter {
517
818
  this.handleKvEntry(e);
518
819
  })().catch((e) => this.emit("error", e));
519
820
  }
821
+ /** Watch the channel registry: replay existing keys, then stream updates, into the local
822
+ * cache. Best-effort — a registry the endpoint can't read leaves the cache empty (effective
823
+ * policy then falls back to the default), never a fault. */
824
+ async startChannelWatch() {
825
+ if (!this.channelKv)
826
+ return;
827
+ const iter = await this.channelKv.watch();
828
+ void (async () => {
829
+ for await (const e of iter)
830
+ this.handleChannelEntry(e);
831
+ })().catch((e) => this.emit("error", e));
832
+ }
833
+ handleChannelEntry(e) {
834
+ const gone = e.operation === "DEL" || e.operation === "PURGE";
835
+ if (e.key === CHANNEL_DEFAULTS_KEY) {
836
+ if (gone)
837
+ this.channelDefaults = {};
838
+ else
839
+ try {
840
+ this.channelDefaults = e.json();
841
+ }
842
+ catch {
843
+ /* keep last good */
844
+ }
845
+ return;
846
+ }
847
+ if (gone) {
848
+ this.channelConfigs.delete(e.key);
849
+ return;
850
+ }
851
+ try {
852
+ this.channelConfigs.set(e.key, e.json());
853
+ }
854
+ catch {
855
+ /* keep last good */
856
+ }
857
+ }
520
858
  handleKvEntry(e) {
521
859
  if (e.operation === "DEL" || e.operation === "PURGE") {
522
860
  this.markOffline(e.key);
@@ -584,6 +922,20 @@ export class CotalEndpoint extends EventEmitter {
584
922
  this.emit("roster", this.getRoster());
585
923
  }
586
924
  }
925
+ /** The id token of a chat-stream durable, or null if it isn't one — the inverse of
926
+ * `chatDurable` (`chat_<token(id)>`). token() is lossy, so this returns the token, not the
927
+ * original id; callers match it forward against `token(card.id)`. */
928
+ function chatDurableToken(durable) {
929
+ const prefix = "chat_";
930
+ return durable.startsWith(prefix) ? durable.slice(prefix.length) : null;
931
+ }
932
+ /** Set equality over two subject lists (order/duplicate-insensitive). */
933
+ function sameSet(a, b) {
934
+ if (a.length !== b.length)
935
+ return false;
936
+ const s = new Set(a);
937
+ return b.every((x) => s.has(x));
938
+ }
587
939
  function authOpts(a) {
588
940
  const tls = a.tls ? {} : undefined;
589
941
  // creds (JWT/nkey) are mutually exclusive with token/user/pass — reject rather than
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../src/endpoint.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * from "./link.js";
4
4
  export * from "./identity.js";
5
5
  export * from "./provision.js";
6
6
  export * from "./streams.js";
7
+ export * from "./channels.js";
7
8
  export * from "./agent-file.js";
8
9
  export * from "./endpoint.js";
9
10
  export * from "./connector.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ export * from "./link.js";
4
4
  export * from "./identity.js";
5
5
  export * from "./provision.js";
6
6
  export * from "./streams.js";
7
+ export * from "./channels.js";
7
8
  export * from "./agent-file.js";
8
9
  export * from "./endpoint.js";
9
10
  export * from "./connector.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}