@cotal-ai/core 0.3.2 → 0.5.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/README.md +11 -0
- package/dist/agent-file.d.ts +36 -5
- package/dist/agent-file.d.ts.map +1 -1
- package/dist/agent-file.js +91 -11
- package/dist/agent-file.js.map +1 -1
- package/dist/channels.d.ts +13 -2
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +24 -1
- package/dist/channels.js.map +1 -1
- package/dist/command.d.ts +21 -0
- package/dist/command.d.ts.map +1 -1
- package/dist/connector-config.d.ts +42 -0
- package/dist/connector-config.d.ts.map +1 -0
- package/dist/connector-config.js +103 -0
- package/dist/connector-config.js.map +1 -0
- package/dist/connector.d.ts +11 -0
- package/dist/connector.d.ts.map +1 -1
- package/dist/endpoint.d.ts +331 -40
- package/dist/endpoint.d.ts.map +1 -1
- package/dist/endpoint.js +1280 -246
- package/dist/endpoint.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/members.d.ts +93 -0
- package/dist/members.d.ts.map +1 -0
- package/dist/members.js +193 -0
- package/dist/members.js.map +1 -0
- package/dist/provision.d.ts +49 -11
- package/dist/provision.d.ts.map +1 -1
- package/dist/provision.js +92 -31
- package/dist/provision.js.map +1 -1
- package/dist/resolve.d.ts +53 -0
- package/dist/resolve.d.ts.map +1 -0
- package/dist/resolve.js +61 -0
- package/dist/resolve.js.map +1 -0
- package/dist/streams.d.ts +37 -0
- package/dist/streams.d.ts.map +1 -1
- package/dist/streams.js +91 -4
- package/dist/streams.js.map +1 -1
- package/dist/subjects.d.ts +80 -2
- package/dist/subjects.d.ts.map +1 -1
- package/dist/subjects.js +127 -3
- package/dist/subjects.js.map +1 -1
- package/dist/types.d.ts +111 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -2
package/dist/types.d.ts
CHANGED
|
@@ -40,15 +40,47 @@ export interface AgentCard {
|
|
|
40
40
|
* - `offline`: disconnected or heartbeat lapsed (derived by observers, not self-set while live)
|
|
41
41
|
*/
|
|
42
42
|
export type PresenceStatus = "idle" | "waiting" | "working" | "offline";
|
|
43
|
+
/**
|
|
44
|
+
* How aggressively peer traffic interrupts an agent — chosen by the agent, orthogonal to
|
|
45
|
+
* {@link PresenceStatus}. Defined here (the wire layer) because it is now published in
|
|
46
|
+
* {@link Presence}; the connector imports it. Advisory observability, not a security boundary.
|
|
47
|
+
*/
|
|
48
|
+
export type AttentionMode = "open" | "dnd" | "focus";
|
|
49
|
+
/**
|
|
50
|
+
* Per-channel attention override (more specific than the global {@link AttentionMode}).
|
|
51
|
+
* - `quiet` — still delivered + buffered, but never wakes; an `@`-mention still wakes (per-channel `dnd`).
|
|
52
|
+
* - `muted` — channel messages dropped on receive, incl. `@`-mentions ("don't receive this channel").
|
|
53
|
+
*/
|
|
54
|
+
export type ChannelMode = "quiet" | "muted";
|
|
43
55
|
/** Live presence record. Stored in the space's KV bucket under key = card.id. */
|
|
44
56
|
export interface Presence {
|
|
45
57
|
card: AgentCard;
|
|
46
58
|
status: PresenceStatus;
|
|
47
59
|
/** Freeform "what I'm doing right now". */
|
|
48
60
|
activity?: string;
|
|
61
|
+
/** This instance's current global attention mode. Advisory, within-space observability — a peer
|
|
62
|
+
* can see "they're in focus" and choose to DM. Published from the connector's authoritative state
|
|
63
|
+
* (presence is a mirror, never the source of truth for delivery). `open`/absent ⇒ receives all. */
|
|
64
|
+
attention?: AttentionMode;
|
|
65
|
+
/** Per-channel attention overrides this instance currently has (runtime, reset on restart). Keys are
|
|
66
|
+
* concrete channel names. Advisory: lets a peer see "locally muted #deploys → DM to reach me". NOT
|
|
67
|
+
* access control — the broker still authorizes and delivers; this is a receive-side presentation. */
|
|
68
|
+
channelModes?: Record<string, ChannelMode>;
|
|
49
69
|
/** Epoch ms of the last heartbeat. */
|
|
50
70
|
ts: number;
|
|
51
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* A channel's delivery class (SPEC §4). Fixed per channel, wire-observable.
|
|
74
|
+
* - `live` — native broker-subscription delivery; **at-most-once** (only instances subscribed at
|
|
75
|
+
* publish time receive it; a disconnected/busy/not-yet-joined instance has no claim to it later).
|
|
76
|
+
* - `durable` — `live` plus a per-subscriber durable backstop; **at-least-once for current members**
|
|
77
|
+
* (also retained per member and redelivered on the member's next connection/turn until acked).
|
|
78
|
+
*
|
|
79
|
+
* Effective class is {@link effectiveDeliveryClass}: `channel ?? space default ?? "durable"`. The
|
|
80
|
+
* space default is set at space creation from the deployment profile (local/self-hosted ⇒ `durable`,
|
|
81
|
+
* public/web-scale ⇒ `live`) so it is always discoverable on the wire, never inferred per-component.
|
|
82
|
+
*/
|
|
83
|
+
export type DeliveryClass = "live" | "durable";
|
|
52
84
|
/**
|
|
53
85
|
* Channel registry entry — channel-global config, stored in the per-space channels KV
|
|
54
86
|
* (one entry per channel; the space-wide default lives under {@link CHANNEL_DEFAULTS_KEY}).
|
|
@@ -60,9 +92,11 @@ export interface ChannelConfig {
|
|
|
60
92
|
/** Override the space default for history replay-on-join. */
|
|
61
93
|
replay?: boolean;
|
|
62
94
|
/** How far back a joiner's backfill reaches — a duration like `"24h"`, `"30m"`, `"7d"`.
|
|
63
|
-
*
|
|
64
|
-
* retained window; ignored when replay is off. */
|
|
95
|
+
* Bounds the join-backfill read horizon (now − window) on the pinned single-filter `chathist`
|
|
96
|
+
* history consumer. Unset + `replay` ⇒ the full retained window; ignored when replay is off. */
|
|
65
97
|
replayWindow?: string;
|
|
98
|
+
/** Override the space default delivery class (SPEC §4, §7). See {@link DeliveryClass}. */
|
|
99
|
+
deliveryClass?: DeliveryClass;
|
|
66
100
|
/** One-line "what this channel is for". */
|
|
67
101
|
description?: string;
|
|
68
102
|
/** Longer "how to use it" — surfaced to joiners as advisory, attributed data. */
|
|
@@ -72,6 +106,71 @@ export interface ChannelConfig {
|
|
|
72
106
|
export interface ChannelDefaults {
|
|
73
107
|
replay?: boolean;
|
|
74
108
|
replayWindow?: string;
|
|
109
|
+
/** Default delivery class for channels without an explicit one. Written at space creation from
|
|
110
|
+
* the deployment profile (local ⇒ `durable`, web ⇒ `live`); see {@link DeliveryClass}. */
|
|
111
|
+
deliveryClass?: DeliveryClass;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Durable-membership state (Plane-3, SPEC §7). One {@link MembershipRecord} per (concrete channel,
|
|
115
|
+
* owner) in the privileged members registry KV.
|
|
116
|
+
* - `live-confirmed` — the owner is live-subscribed (core-sub / boot durable); no Plane-3 backstop.
|
|
117
|
+
* Fan-out does NOT target these (their durability, if any, is the legacy tail until Stage 5).
|
|
118
|
+
* - `durable-active` — a Plane-3 durable backstop is established for this (channel, owner). Fan-out
|
|
119
|
+
* targets these; the trusted reader re-authorizes each entry against the interval below.
|
|
120
|
+
*/
|
|
121
|
+
export type MembershipState = "live-confirmed" | "durable-active";
|
|
122
|
+
/**
|
|
123
|
+
* A durable-membership record (privileged write only; agent-authored membership is forbidden —
|
|
124
|
+
* it would self-authorize delivery + reads). Eligibility is by **CHAT stream sequence**, never
|
|
125
|
+
* wall-clock: a `durable-channel` entry is deliverable to this owner iff
|
|
126
|
+
* `joinCursor < seq <= leaveCursor` (open leave ⇒ no upper bound) — SPEC §7 L355-356. `leaveCursor`
|
|
127
|
+
* present ⇒ this is a tombstone (kept through the retention horizon so late entries are denied
|
|
128
|
+
* deterministically); a rejoin bumps {@link generation} and takes a fresh {@link joinCursor}.
|
|
129
|
+
*/
|
|
130
|
+
export interface MembershipRecord {
|
|
131
|
+
/** Concrete channel (never a wildcard — wildcard ACLs grant live breadth, durable is per-channel). */
|
|
132
|
+
channel: string;
|
|
133
|
+
/** Owner agent id (nkey). */
|
|
134
|
+
owner: string;
|
|
135
|
+
state: MembershipState;
|
|
136
|
+
/** CHAT stream seq captured at join — durable eligibility is `seq > joinCursor`. */
|
|
137
|
+
joinCursor: number;
|
|
138
|
+
/** True only once activation catch-up has COMPLETED. A **completeness/reporting** flag, NOT a delivery
|
|
139
|
+
* gate: {@link durableEligible} is pure membership-interval, so a `durable-active` record routes
|
|
140
|
+
* in-interval immediately (no live message is lost during catch-up). `activated` instead gates what is
|
|
141
|
+
* REPORTED — `durableJoin` returns `durable:true` and `channelMembers()` lists the owner only once
|
|
142
|
+
* catch-up confirms; a join whose catch-up never completes reports `durable:false`, stays hidden, and
|
|
143
|
+
* is tombstoned on eviction so it does not route. A tombstone preserves the `activated` it had at leave. */
|
|
144
|
+
activated?: boolean;
|
|
145
|
+
/** CHAT stream seq captured at leave — eligibility upper bound `seq <= leaveCursor`. Present ⇒
|
|
146
|
+
* tombstone. Absent ⇒ open membership (no upper bound). */
|
|
147
|
+
leaveCursor?: number;
|
|
148
|
+
/** Bumped each (re)join. Stale-write guard (with the KV revision CAS) + idempotency-key component
|
|
149
|
+
* for fan-out/catch-up (`<msgId>:<owner>:<generation>`). */
|
|
150
|
+
generation: number;
|
|
151
|
+
/** The privileged writer's id (audit; never an agent). */
|
|
152
|
+
writerIdentity: string;
|
|
153
|
+
/** Epoch ms of the last write (diagnostics only — eligibility is seq, never this). */
|
|
154
|
+
updatedAt: number;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* A fan-out entry in an owner's mixed pre-auth inbox (`dinbox.<owner>`, Plane-3). The fan-out writer
|
|
158
|
+
* copies one of these per eligible owner; the trusted reader re-authorizes it (`channel`+`seq` against
|
|
159
|
+
* the membership interval for `durable-channel`, ACL-only for `live-mention`) before transferring the
|
|
160
|
+
* embedded `msg` to the owner's DELIVER store. `seq`/`reason`/`generation` are the re-auth metadata;
|
|
161
|
+
* the agent never sees this envelope (it receives only `msg` on `dlv.<owner>`).
|
|
162
|
+
*/
|
|
163
|
+
export interface Plane3Entry {
|
|
164
|
+
msg: CotalMessage;
|
|
165
|
+
/** Concrete channel the message was published on (the re-auth subject). */
|
|
166
|
+
channel: string;
|
|
167
|
+
/** The message's CHAT stream sequence (membership-interval re-auth). */
|
|
168
|
+
seq: number;
|
|
169
|
+
/** Why this owner was fanned to: a `durable` channel's member (interval-gated) vs a `live` channel
|
|
170
|
+
* `@mention` to an authorized target (ACL-only, no membership). */
|
|
171
|
+
reason: "durable-channel" | "live-mention";
|
|
172
|
+
/** The owner's membership generation at fan-out (idempotency-key component + diagnostics). */
|
|
173
|
+
generation: number;
|
|
75
174
|
}
|
|
76
175
|
/** Reverse-DNS extension part kind, e.g. `com.acme.snapshot`.
|
|
77
176
|
* @pattern ^[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)+$ */
|
|
@@ -98,9 +197,11 @@ interface CotalMessageBase {
|
|
|
98
197
|
ts: number;
|
|
99
198
|
space: string;
|
|
100
199
|
from: EndpointRef;
|
|
101
|
-
/** Lowercased peer names called out within a `channel` message — a
|
|
102
|
-
*
|
|
103
|
-
*
|
|
200
|
+
/** Lowercased peer names called out within a `channel` message — a wake hint that also, on a
|
|
201
|
+
* `live` channel, routes a durable copy to each mentioned target **authorized to read that
|
|
202
|
+
* channel** (SPEC §4/§5). It never carries content outside the target's read ACL and is not a
|
|
203
|
+
* routing substitute for `channel`/`to`; the message still multicasts to the whole channel.
|
|
204
|
+
* Omitted when empty. */
|
|
104
205
|
mentions?: string[];
|
|
105
206
|
parts: Part[];
|
|
106
207
|
/** Id of the message being replied to. */
|
|
@@ -159,6 +260,11 @@ export interface Delivery {
|
|
|
159
260
|
ack(): void;
|
|
160
261
|
/** Decline for now; the message redelivers (e.g. couldn't surface it yet). */
|
|
161
262
|
nak(): void;
|
|
263
|
+
/** Whether {@link ack} actually COMMITS this copy (durable backstop / JetStream, at-least-once)
|
|
264
|
+
* or is a no-op (live core-sub / history backfill, at-most-once). A receiver coalescing a
|
|
265
|
+
* cross-path duplicate must NOT downgrade a durable ack to a live no-op — else the durable copy
|
|
266
|
+
* is never committed, JetStream redelivers it, and it double-surfaces. See {@link DeliveryClass}. */
|
|
267
|
+
durable: boolean;
|
|
162
268
|
}
|
|
163
269
|
/** Control-plane request/reply (e.g. CLI → manager). */
|
|
164
270
|
export interface ControlRequest {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;AAEhD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACxB,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,yFAAyF;IACzF,IAAI,EAAE,YAAY,CAAC;IACnB,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B;;wEAEoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAExE,iFAAiF;AACjF,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cotal-ai/core",
|
|
3
|
-
"
|
|
3
|
+
"description": "The Cotal protocol: endpoint, subjects, message types, the NATS client layer, and the extension contracts.",
|
|
4
|
+
"version": "0.5.0",
|
|
4
5
|
"license": "Apache-2.0",
|
|
5
6
|
"repository": {
|
|
6
7
|
"type": "git",
|
|
@@ -31,6 +32,7 @@
|
|
|
31
32
|
},
|
|
32
33
|
"scripts": {
|
|
33
34
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
34
|
-
"build": "tsc -p tsconfig.json"
|
|
35
|
+
"build": "tsc -p tsconfig.json",
|
|
36
|
+
"test": "tsx smoke/resolve.smoke.ts"
|
|
35
37
|
}
|
|
36
38
|
}
|