@cotal-ai/core 0.6.0 → 0.7.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.
@@ -17,6 +17,10 @@ export interface LaunchOpts {
17
17
  * passes it through (`COTAL_AGENT_FILE`) so the joined session reads its own
18
18
  * card from it, and applies the file's persona/model at launch. */
19
19
  configPath?: string;
20
+ /** Explicit model override — the `cotal start --model <m>` flag. Takes precedence over the
21
+ * agent file's `model:` and is applied even when no agent file is present. Each connector
22
+ * renders it in its host form (Claude `--model`, OpenCode `config.model`, Hermes `HERMES_MODEL`). */
23
+ model?: string;
20
24
  /** An initial message for the session to act on the moment it starts. Connectors
21
25
  * that support an auto-submitted first prompt (Claude Code) deliver it; others
22
26
  * ignore it. Used to make a driving session greet the operator on launch. */
@@ -54,6 +58,12 @@ export interface Connector extends Extension {
54
58
  readonly kind: "connector";
55
59
  readonly name: string;
56
60
  buildLaunch(opts: LaunchOpts): LaunchSpec;
61
+ /** External executables this connector invokes beyond `LaunchSpec.command` (e.g. the
62
+ * `claude` / `opencode` CLI). A preflight PATH hint, not a full environment validator: the
63
+ * manager checks each is on PATH before spawning and fails with a clear error naming the
64
+ * missing one, instead of an obscure process-spawn failure. Optional — omit for connectors
65
+ * whose harness runs in-process. */
66
+ readonly requires?: readonly string[];
57
67
  /** Directory of installable editor-plugin assets shipped with the connector
58
68
  * (e.g. a Claude Code plugin dir), when the agent type needs a one-time
59
69
  * plugin install. Consumers (like `cotal setup`) resolve it via the registry
@@ -1 +1 @@
1
- {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,oFAAoF;AACpF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;8EAE0E;IAC1E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;mDAC+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;wEAEoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;kFAE8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;yFAEqF;IACrF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;qEAIiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC5C;AAED,oFAAoF;AACpF,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;;+CAG2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;IAC1C;;;+DAG2D;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B"}
1
+ {"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,oFAAoF;AACpF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;8EAE0E;IAC1E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;mDAC+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;wEAEoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;0GAEsG;IACtG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;kFAE8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;yFAEqF;IACrF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;qEAIiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC5C;AAED,oFAAoF;AACpF,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;;+CAG2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;IAC1C;;;;yCAIqC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;;+DAG2D;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B"}
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from "node:events";
2
- import type { AgentCard, ChannelConfig, ControlReply, ControlRequest, ControlRequestInit, EndpointRef, Part, Presence, PresenceStatus, AttentionMode, ChannelMode, CotalMessage, DeliveryClass } from "./types.js";
2
+ import type { AgentCard, ChannelConfig, ControlReply, ControlRequest, ControlRequestInit, EndpointRef, Part, Presence, PresenceStatus, AttentionMode, ChannelMode, CotalMessage, DeliveryClass, MembershipSnapshot } from "./types.js";
3
3
  import { type DeliveryLeaseInfo } from "./lease.js";
4
4
  export declare const DEFAULT_SERVER = "nats://127.0.0.1:4222";
5
5
  /** Space joined when none is given on the CLI (the `cotal-<space>` cmux tab, etc.). */
@@ -81,6 +81,7 @@ export declare class CotalEndpoint extends EventEmitter {
81
81
  private membersKv?;
82
82
  private aclKv?;
83
83
  private deliveryKv?;
84
+ private membershipKv?;
84
85
  /** The live `ctl.delivery` serve subscription (delivery daemon) — re-created on every (re)connect by
85
86
  * {@link armDeliveryControl}; tracked so the stale one is dropped on reconnect. */
86
87
  private deliveryServeSub?;
@@ -328,6 +329,24 @@ export declare class CotalEndpoint extends EventEmitter {
328
329
  */
329
330
  channelMembers(channel: string): Promise<ChannelMember[]>;
330
331
  channelMembers(): Promise<Map<string, ChannelMember[]>>;
332
+ /** Lazily open the derived membership feed KV (admin/observer read; the delivery daemon writes it).
333
+ * Read-only here — the dashboard consumes it; agents hold no grant and never call this. */
334
+ private membershipRegistry;
335
+ /**
336
+ * Snapshot the broker-sourced channel-membership feed (admin/observer read): every agent's
337
+ * `{live, durable}` record plus `asOf` — the feed's freshness heartbeat (epoch ms of the daemon's last
338
+ * successful poll, from the reserved {@link MEMBERSHIP_FEED_KEY}). `live` patterns are kept as-is
339
+ * (wildcards preserved); the consumer expands them against the channel registry. `asOf` is undefined
340
+ * when the feed has never been written (no daemon → the dashboard degrades to traffic-only).
341
+ */
342
+ readMembership(): Promise<MembershipSnapshot>;
343
+ /** Watch the membership feed for changes (admin/observer): `onChange` fires on every KV entry,
344
+ * including the initial replay — the caller debounces + re-reads {@link readMembership}. Returns a
345
+ * stop handle. Best-effort: a feed the cred can't read (or absent) surfaces as an `error` event and
346
+ * the dashboard keeps its last snapshot. */
347
+ watchMembership(onChange: () => void): Promise<{
348
+ stop(): void;
349
+ }>;
331
350
  /** Fetch recent messages from a channel's JetStream backlog. */
332
351
  channelHistory(channel: string, opts?: {
333
352
  limit?: number;
@@ -708,5 +727,25 @@ export declare function isPermissionDenied(e: unknown): boolean;
708
727
  export declare function isReachable(servers?: string, opts?: AuthOpts & {
709
728
  timeoutMs?: number;
710
729
  }): Promise<boolean>;
730
+ /** What a connect attempt told us about the server — the distinction {@link isReachable} flattens.
731
+ * `auth-required` means a server answered but rejected these creds (so it IS up); `unreachable`
732
+ * means nothing answered (refused / timeout / a stale registry entry). */
733
+ export type ProbeResult = {
734
+ ok: true;
735
+ } | {
736
+ ok: false;
737
+ reason: "auth-required";
738
+ } | {
739
+ ok: false;
740
+ reason: "unreachable";
741
+ };
742
+ /** Like {@link isReachable}, but distinguishes "up but won't take these creds" from "nothing there".
743
+ * `spawn` needs the difference: auth-required → name the trust dir + next step; unreachable → the
744
+ * mesh is down (prune the stale entry, tell the user to `cotal up`). Pass `creds` to confirm a
745
+ * specific identity is accepted (`ok`); omit them to probe mere liveness (an auth broker answers
746
+ * `auth-required`, which still proves it's up). */
747
+ export declare function probeConnect(server?: string, opts?: AuthOpts & {
748
+ timeoutMs?: number;
749
+ }): Promise<ProbeResult>;
711
750
  export {};
712
751
  //# sourceMappingURL=endpoint.d.ts.map
@@ -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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"}
package/dist/endpoint.js CHANGED
@@ -10,7 +10,7 @@ import { openMembersRegistry, commitMember, tombstoneMember, activateMember, rea
10
10
  import { openAclRegistry, readAcl, commitAcl as writeAclRecord } from "./acls.js";
11
11
  import { openDeliveryRegistry } from "./lease.js";
12
12
  import { openChannelRegistry, effectiveReplay, effectiveReplayWindowMs, effectiveDeliveryClass, readChannelConfig, readChannelDefaults, } from "./channels.js";
13
- import { anycastSubject, CHANNEL_DEFAULTS_KEY, chatStream, chatHistDurable, chatSubject, controlServiceSubject, CONTROL_SELF_SERVICE, CONTROL_DELIVERY, dmStream, dmDurable, dlvStream, dlvDurable, dlvSubject, dinboxSubject, inboxStream, parseDinboxOwner, FANOUT_DURABLE, INBOX_READER_DURABLE, leaseKey, chatWildcard, assertValidChannel, channelInAllow, isConcreteChannel, normalizeMentions, parseSubject, presenceBucket, spacePrefix, spaceWildcard, subjectMatches, taskStream, taskDurable, token, unicastSubject, } from "./subjects.js";
13
+ import { anycastSubject, CHANNEL_DEFAULTS_KEY, chatStream, chatHistDurable, chatSubject, controlServiceSubject, CONTROL_SELF_SERVICE, CONTROL_DELIVERY, dmStream, dmDurable, dlvStream, dlvDurable, dlvSubject, dinboxSubject, inboxStream, parseDinboxOwner, FANOUT_DURABLE, INBOX_READER_DURABLE, leaseKey, chatWildcard, assertValidChannel, channelInAllow, isConcreteChannel, normalizeMentions, parseSubject, presenceBucket, membershipBucket, MEMBERSHIP_FEED_KEY, spacePrefix, spaceWildcard, subjectMatches, taskStream, taskDurable, token, unicastSubject, } from "./subjects.js";
14
14
  export const DEFAULT_SERVER = "nats://127.0.0.1:4222";
15
15
  /** Space joined when none is given on the CLI (the `cotal-<space>` cmux tab, etc.). */
16
16
  export const DEFAULT_SPACE = "main";
@@ -57,6 +57,7 @@ export class CotalEndpoint extends EventEmitter {
57
57
  membersKv;
58
58
  aclKv;
59
59
  deliveryKv;
60
+ membershipKv;
60
61
  /** The live `ctl.delivery` serve subscription (delivery daemon) — re-created on every (re)connect by
61
62
  * {@link armDeliveryControl}; tracked so the stale one is dropped on reconnect. */
62
63
  deliveryServeSub;
@@ -844,6 +845,57 @@ export class CotalEndpoint extends EventEmitter {
844
845
  arr.sort(byName);
845
846
  return map;
846
847
  }
848
+ /** Lazily open the derived membership feed KV (admin/observer read; the delivery daemon writes it).
849
+ * Read-only here — the dashboard consumes it; agents hold no grant and never call this. */
850
+ async membershipRegistry() {
851
+ if (!this.nc)
852
+ throw new Error("endpoint not started");
853
+ this.membershipKv ??= await new Kvm(this.nc).open(membershipBucket(this.space));
854
+ return this.membershipKv;
855
+ }
856
+ /**
857
+ * Snapshot the broker-sourced channel-membership feed (admin/observer read): every agent's
858
+ * `{live, durable}` record plus `asOf` — the feed's freshness heartbeat (epoch ms of the daemon's last
859
+ * successful poll, from the reserved {@link MEMBERSHIP_FEED_KEY}). `live` patterns are kept as-is
860
+ * (wildcards preserved); the consumer expands them against the channel registry. `asOf` is undefined
861
+ * when the feed has never been written (no daemon → the dashboard degrades to traffic-only).
862
+ */
863
+ async readMembership() {
864
+ const kv = await this.membershipRegistry();
865
+ const members = [];
866
+ let asOf;
867
+ for await (const key of await kv.keys()) {
868
+ const e = await kv.get(key);
869
+ if (!e || e.operation === "DEL" || e.operation === "PURGE")
870
+ continue;
871
+ if (key === MEMBERSHIP_FEED_KEY) {
872
+ try {
873
+ asOf = e.json().observedAt;
874
+ }
875
+ catch { /* heartbeat garbled — leave undefined */ }
876
+ continue;
877
+ }
878
+ try {
879
+ const rec = e.json();
880
+ members.push({ id: key, live: rec.live ?? [], durable: rec.durable ?? [], observedAt: rec.observedAt });
881
+ }
882
+ catch { /* skip undecodable */ }
883
+ }
884
+ return { asOf, members };
885
+ }
886
+ /** Watch the membership feed for changes (admin/observer): `onChange` fires on every KV entry,
887
+ * including the initial replay — the caller debounces + re-reads {@link readMembership}. Returns a
888
+ * stop handle. Best-effort: a feed the cred can't read (or absent) surfaces as an `error` event and
889
+ * the dashboard keeps its last snapshot. */
890
+ async watchMembership(onChange) {
891
+ const kv = await this.membershipRegistry();
892
+ const iter = await kv.watch();
893
+ void (async () => {
894
+ for await (const _ of iter)
895
+ onChange();
896
+ })().catch((err) => this.emit("error", err));
897
+ return { stop: () => iter.stop() };
898
+ }
847
899
  /** Fetch recent messages from a channel's JetStream backlog. */
848
900
  async channelHistory(channel, opts) {
849
901
  // history from any sender
@@ -2193,8 +2245,8 @@ export class CotalEndpoint extends EventEmitter {
2193
2245
  }
2194
2246
  }
2195
2247
  async publishPresence() {
2196
- if (!this.kv)
2197
- return;
2248
+ if (!this.doRegister || !this.kv)
2249
+ return; // observers watch but never publish their own record
2198
2250
  const p = {
2199
2251
  card: this.card,
2200
2252
  status: this.status,
@@ -2411,4 +2463,27 @@ export async function isReachable(servers = DEFAULT_SERVER, opts = {}) {
2411
2463
  return e instanceof AuthorizationError || e instanceof UserAuthenticationExpiredError;
2412
2464
  }
2413
2465
  }
2466
+ /** Like {@link isReachable}, but distinguishes "up but won't take these creds" from "nothing there".
2467
+ * `spawn` needs the difference: auth-required → name the trust dir + next step; unreachable → the
2468
+ * mesh is down (prune the stale entry, tell the user to `cotal up`). Pass `creds` to confirm a
2469
+ * specific identity is accepted (`ok`); omit them to probe mere liveness (an auth broker answers
2470
+ * `auth-required`, which still proves it's up). */
2471
+ export async function probeConnect(server = DEFAULT_SERVER, opts = {}) {
2472
+ try {
2473
+ const nc = await connect({
2474
+ servers: server,
2475
+ timeout: opts.timeoutMs ?? 1000,
2476
+ reconnect: false,
2477
+ maxReconnectAttempts: 0,
2478
+ ...authOpts(opts),
2479
+ });
2480
+ await nc.close();
2481
+ return { ok: true };
2482
+ }
2483
+ catch (e) {
2484
+ if (e instanceof AuthorizationError || e instanceof UserAuthenticationExpiredError)
2485
+ return { ok: false, reason: "auth-required" };
2486
+ return { ok: false, reason: "unreachable" };
2487
+ }
2488
+ }
2414
2489
  //# sourceMappingURL=endpoint.js.map