@cntyclub/agent-react 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.
@@ -0,0 +1,41 @@
1
+ import type { AgentConfig, AgentRealtimeEvent } from "./types";
2
+ export type RealtimeStatus = "connecting" | "open" | "closed";
3
+ interface RealtimeHandlers {
4
+ onEvent: (event: AgentRealtimeEvent) => void;
5
+ onStatus?: (status: RealtimeStatus) => void;
6
+ }
7
+ /**
8
+ * WebSocket client for one collaborative conversation
9
+ * (`ws/agent-mode/conversations/<id>/`).
10
+ *
11
+ * Auth mirrors the HTTP surface: the JWT rides as `?token=` and the agent as
12
+ * `?client_id=`. On every (re)connect the client sends `{action:"sync"}` with the
13
+ * highest `seq` it has seen so the server replays anything missed — the socket is
14
+ * never trusted to be gap-free. Reconnects use capped exponential backoff. All of
15
+ * this is best-effort: if the socket never opens, the widget still works over HTTP
16
+ * and the meter/history stay correct on the next fetch.
17
+ */
18
+ export declare class AgentRealtimeClient {
19
+ private config;
20
+ private conversationId;
21
+ private handlers;
22
+ private socket;
23
+ private lastSeq;
24
+ private closed;
25
+ private retries;
26
+ private reconnectTimer;
27
+ constructor(config: AgentConfig, conversationId: string, handlers: RealtimeHandlers, lastSeq?: number);
28
+ connect(): Promise<void>;
29
+ /** Advance the local high-water mark so a reconnect replays only the true gap. */
30
+ private trackSeq;
31
+ setLastSeq(seq: number): void;
32
+ sendTyping(isTyping: boolean): void;
33
+ markRead(seq: number): void;
34
+ requestSync(): void;
35
+ close(): void;
36
+ private send;
37
+ private scheduleReconnect;
38
+ private buildUrl;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=realtime-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-client.d.ts","sourceRoot":"","sources":["../src/realtime-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE/D,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE9D,UAAU,gBAAgB;IACxB,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CAC7C;AAED;;;;;;;;;;GAUG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,cAAc,CAA8C;gBAExD,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,SAAI;IAO1F,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4C9B,kFAAkF;IAClF,OAAO,CAAC,QAAQ;IAShB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,UAAU,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAInC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK3B,WAAW,IAAI,IAAI;IAInB,KAAK,IAAI,IAAI;IAcb,OAAO,CAAC,IAAI;IAUZ,OAAO,CAAC,iBAAiB;YAUX,QAAQ;CAavB"}
package/dist/types.d.ts CHANGED
@@ -71,6 +71,20 @@ export interface AgentMessage extends Omit<AgentModeSchemas["AgentChatMessage"],
71
71
  tool_status?: string;
72
72
  /** User messages only: files uploaded with this message. */
73
73
  attachments?: AttachmentInfo[];
74
+ /** Server-authoritative order within the conversation (collab). Clients sort by this. */
75
+ seq?: number | null;
76
+ /** Human author (collab); absent on assistant/tool messages. */
77
+ sender?: MessageSender;
78
+ /** The requester whose identity/permissions drove this turn (collab). */
79
+ acting_user_id?: string;
80
+ /** Thread this message belongs to; absent = main thread (collab). */
81
+ thread_root_id?: string;
82
+ /** The specific message this one replies to (collab). */
83
+ reply_to_id?: string;
84
+ /** True once the author edited this message (collab). */
85
+ edited?: boolean;
86
+ /** True when tombstoned — render as "message deleted" (collab). */
87
+ deleted?: boolean;
74
88
  /**
75
89
  * Client-only (never on the wire): stable render key carried over when an
76
90
  * optimistic/streaming placeholder is swapped for its persisted server
@@ -80,6 +94,150 @@ export interface AgentMessage extends Omit<AgentModeSchemas["AgentChatMessage"],
80
94
  */
81
95
  client_key?: string;
82
96
  }
97
+ export type ConversationVisibility = "private" | "public";
98
+ export type ConversationScopeType = "none" | "event" | "team";
99
+ export type ParticipantRole = "owner" | "admin" | "member";
100
+ /** The human author of a user message. */
101
+ export interface MessageSender {
102
+ id: string;
103
+ name: string;
104
+ avatar_url?: string | null;
105
+ }
106
+ /** Backend `config.context` block — thresholds for the context meter. */
107
+ export interface AgentContextConfig {
108
+ budget_tokens: number;
109
+ warn_at: number;
110
+ summarize_at: number;
111
+ lock_at: number;
112
+ }
113
+ /** Per-conversation context fill, from the conversation detail. */
114
+ export interface ContextMeterData {
115
+ used_tokens: number;
116
+ budget_tokens: number;
117
+ pct: number;
118
+ state: "ok" | "warn" | "summarizing" | "full";
119
+ warn_at: number;
120
+ summarize_at: number;
121
+ lock_at: number;
122
+ }
123
+ /** A member of a public conversation. */
124
+ export interface ConversationParticipant {
125
+ user_id: string;
126
+ name: string;
127
+ avatar_url?: string | null;
128
+ role: ParticipantRole;
129
+ state: "active" | "left";
130
+ is_creator: boolean;
131
+ joined_seq: number;
132
+ }
133
+ /** The calling user's per-conversation state, from the conversation detail. */
134
+ export interface ConversationMyState {
135
+ role: ParticipantRole;
136
+ last_read_seq: number;
137
+ scroll_seq?: number | null;
138
+ draft_text: string;
139
+ muted: boolean;
140
+ pinned: boolean;
141
+ archived: boolean;
142
+ }
143
+ /** Richer conversation summary from the collaboration-aware list endpoint. */
144
+ export interface CollabConversationSummary {
145
+ id: string;
146
+ title: string;
147
+ visibility: ConversationVisibility;
148
+ scope_type: ConversationScopeType;
149
+ scope_event_id?: string | null;
150
+ scope_sponser_id?: string | null;
151
+ created_at: string;
152
+ updated_at: string;
153
+ last_seq: number;
154
+ last_read_seq: number;
155
+ has_unread: boolean;
156
+ is_creator: boolean;
157
+ role: string;
158
+ muted: boolean;
159
+ pinned: boolean;
160
+ archived: boolean;
161
+ draft_text: string;
162
+ }
163
+ /** A file uploaded to or generated in a conversation (files tab). */
164
+ export interface ConversationFile {
165
+ id: string;
166
+ kind: "upload" | "generated";
167
+ filename: string;
168
+ format: string;
169
+ size_bytes?: number | null;
170
+ url?: string | null;
171
+ uploaded_by?: string | null;
172
+ message_id?: string | null;
173
+ created_at: string;
174
+ }
175
+ /** A summarization-exempt pinned fact. */
176
+ export interface ContextItem {
177
+ id: string;
178
+ kind: "file" | "record" | "decision" | "note";
179
+ label: string;
180
+ ref_type: string;
181
+ ref_id: string;
182
+ created_at: string;
183
+ }
184
+ /** One search hit over the user's visible conversations. */
185
+ export interface SearchResult {
186
+ conversation_id: string;
187
+ title: string;
188
+ visibility: ConversationVisibility;
189
+ updated_at: string;
190
+ }
191
+ /** Optional collaboration inputs on a send (backward compatible). */
192
+ export interface SendOptions {
193
+ /** Client-generated per-message key; a resend with the same key never double-posts. */
194
+ idempotencyKey?: string;
195
+ /** The message being replied to (opens/continues its thread). */
196
+ replyToId?: string | null;
197
+ /** Post directly into an existing thread by its root message id. */
198
+ threadRootId?: string | null;
199
+ /** User ids to @-mention. */
200
+ mentionUserIds?: string[];
201
+ }
202
+ /** Events pushed over the conversation WebSocket (design §6). */
203
+ export type AgentRealtimeEvent = {
204
+ type: "message";
205
+ message: AgentMessage;
206
+ } | {
207
+ type: "message_edited";
208
+ message: AgentMessage;
209
+ } | {
210
+ type: "message_deleted";
211
+ message_id: string;
212
+ } | {
213
+ type: "text_delta";
214
+ message_id: string;
215
+ delta: string;
216
+ } | {
217
+ type: "typing";
218
+ user_id: string;
219
+ name: string;
220
+ is_typing: boolean;
221
+ } | {
222
+ type: "visibility_changed";
223
+ visibility: ConversationVisibility;
224
+ actor_id?: string | null;
225
+ } | {
226
+ type: "approval_state";
227
+ call_id: string;
228
+ state: string;
229
+ user_id?: string | null;
230
+ } | {
231
+ type: "summary_created";
232
+ up_to_seq: number;
233
+ version: number;
234
+ } | {
235
+ type: "sync";
236
+ messages: AgentMessage[];
237
+ last_seq: number;
238
+ } | {
239
+ type: "pong";
240
+ };
83
241
  /** Fired after a write tool the agent ran completes successfully. */
84
242
  export interface WriteSuccessEvent {
85
243
  /** MCP tool name, e.g. "business_target_company_tags_apply". */
@@ -270,5 +428,30 @@ export interface AgentConfig {
270
428
  */
271
429
  openLastConversation?: boolean;
272
430
  };
431
+ /**
432
+ * Collaborative (public/private) conversations. The backend `config.context`
433
+ * and per-conversation visibility remain authoritative; these are display hints.
434
+ */
435
+ collaboration?: {
436
+ /** Show the visibility toggle + collaboration UI. Default: follow the backend. */
437
+ enabled?: boolean;
438
+ /** This dashboard's public scope: host → "event", sponsor → "team". */
439
+ scope?: "event" | "team";
440
+ /** The @-handle that addresses the agent in a public chat. Default "agent". */
441
+ agentHandle?: string;
442
+ };
443
+ /**
444
+ * Realtime updates over WebSocket for public conversations. Default: enabled.
445
+ * The socket auto-reconnects and replays missed messages by `seq`.
446
+ */
447
+ realtime?: {
448
+ /** Set false to disable the WebSocket entirely (polling/refresh only). */
449
+ enabled?: boolean;
450
+ /**
451
+ * Override the WebSocket base URL. Defaults to `apiBaseUrl` with its scheme
452
+ * swapped to `ws`/`wss`.
453
+ */
454
+ baseUrl?: string;
455
+ };
273
456
  }
274
457
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,15 @@
1
- import type { AgentConfig, AgentMessage, AgentPublicConfig, ConversationSummary, PendingApproval } from "./types";
1
+ import type { AgentConfig, AgentMessage, AgentPublicConfig, ContextMeterData, ConversationMyState, ConversationParticipant, ConversationSummary, PendingApproval } from "./types";
2
+ /** Details of the currently-open conversation the widget needs beyond its messages. */
3
+ export interface CurrentConversation {
4
+ id: string;
5
+ title: string;
6
+ visibility: "private" | "public";
7
+ scope_type: "none" | "event" | "team";
8
+ last_seq: number;
9
+ is_creator: boolean;
10
+ can_toggle_visibility: boolean;
11
+ can_go_private: boolean;
12
+ }
2
13
  export interface AgentChatState {
3
14
  agentInfo: AgentPublicConfig | null;
4
15
  conversationId: string | null;
@@ -11,6 +22,18 @@ export interface AgentChatState {
11
22
  sending: boolean;
12
23
  resolvingApprovalId: string | null;
13
24
  error: string | null;
25
+ /** Collaboration state for the open conversation (null until one is loaded). */
26
+ currentConversation: CurrentConversation | null;
27
+ /** Context-window fill for the open conversation (drives the meter). */
28
+ contextMeter: ContextMeterData | null;
29
+ /** Members of the open public conversation (empty for private). */
30
+ participants: ConversationParticipant[];
31
+ /** My per-conversation state (read position, draft, flags). */
32
+ myState: ConversationMyState | null;
33
+ /** Users currently typing, by id → display name (public conversations). */
34
+ typingUsers: Record<string, string>;
35
+ /** WebSocket connection status for the open conversation. */
36
+ realtimeStatus: "connecting" | "open" | "closed" | "idle";
14
37
  }
15
38
  export interface AgentChatActions {
16
39
  send: (text: string, files?: File[]) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"use-agent-chat.d.ts","sourceRoot":"","sources":["../src/use-agent-chat.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EAEjB,mBAAmB,EACnB,eAAe,EAChB,MAAM,SAAS,CAAC;AA2BjB,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;kFAC8E;IAC9E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,oBAAoB,EAAE,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC3D,kBAAkB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,gBAAgB,CA+TnF"}
1
+ {"version":3,"file":"use-agent-chat.d.ts","sourceRoot":"","sources":["../src/use-agent-chat.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EAGjB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EAChB,MAAM,SAAS,CAAC;AA2DjB,uFAAuF;AACvF,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;IACjC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;CACzB;AAmBD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;kFAC8E;IAC9E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gFAAgF;IAChF,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAChD,wEAAwE;IACxE,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,mEAAmE;IACnE,YAAY,EAAE,uBAAuB,EAAE,CAAC;IACxC,+DAA+D;IAC/D,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACpC,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,6DAA6D;IAC7D,cAAc,EAAE,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC3D;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,oBAAoB,EAAE,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC3D,kBAAkB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,gBAAgB,CAmbnF"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * A smooth "typewriter" over streamed text.
3
+ *
4
+ * Given the full text accumulated so far (`target`) and whether this message is
5
+ * the live one (`animate`), returns the slice that should currently be shown.
6
+ * The displayed length eases toward `target.length` on each animation frame —
7
+ * fast, but soft enough that chunks don't pop in all at once.
8
+ *
9
+ * - Historical / non-live messages (`animate` false) render in full instantly.
10
+ * - Once a message has started animating it keeps draining to the end even
11
+ * after `animate` flips false (stream finished), so the tail never snaps.
12
+ * - `target` is treated as append-only (streamed text only grows); a shrink
13
+ * clamps the cursor down rather than re-typing.
14
+ * - Honors `prefers-reduced-motion` (renders in full, no animation).
15
+ */
16
+ export declare function useSmoothText(target: string, animate: boolean): string;
17
+ //# sourceMappingURL=use-smooth-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-smooth-text.d.ts","sourceRoot":"","sources":["../src/use-smooth-text.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CA0CtE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cntyclub/agent-react",
3
- "version": "0.16.0",
3
+ "version": "0.18.0",
4
4
  "description": "Embeddable AI agent chat widget for Country Club dashboards — floating button, popup panel, fullscreen Agent Mode, MCP tool approvals, and paginated result tables. Built exclusively on @cntyclub/ui-react.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -25,12 +25,12 @@
25
25
  "motion": "^12.42.2"
26
26
  },
27
27
  "peerDependencies": {
28
- "@cntyclub/ui-react": ">=0.12.0",
28
+ "@cntyclub/ui-react": ">=0.15.0",
29
29
  "react": "^19.0.0",
30
30
  "react-dom": "^19.0.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@cntyclub/ui-react": "^0.12.0",
33
+ "@cntyclub/ui-react": "^0.15.0",
34
34
  "@types/react": "^19.2.13",
35
35
  "@types/react-dom": "^19.2.3",
36
36
  "openapi-typescript": "^7.13.0",