@economic/agents-react 1.3.3 → 1.3.4

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/index.d.mts CHANGED
@@ -205,11 +205,6 @@ declare class PartySocket extends ReconnectingWebSocket {
205
205
  //#region src/types.d.ts
206
206
  type AgentConnectionStatus = "connecting" | "connected" | "disconnected" | "unauthorized";
207
207
  type AgentConnectionType = "agent" | "chat" | "assistant";
208
- type AgentConnectionState = {
209
- status: AgentConnectionStatus;
210
- type: AgentConnectionType;
211
- subAgentName?: string;
212
- };
213
208
  type ChatSummary = {
214
209
  name: string;
215
210
  title?: string;
@@ -231,6 +226,7 @@ type CreateChatHandler = () => Promise<string>;
231
226
  type OpenChatHandler = (chatId: string) => void;
232
227
  type DeleteChatHandler = (chatId: string) => Promise<void>;
233
228
  interface AssistantActions {
229
+ state: unknown;
234
230
  getChats: GetChatsHandler;
235
231
  createChat: CreateChatHandler;
236
232
  openChat: OpenChatHandler;
@@ -252,6 +248,7 @@ interface UseAgentOptions {
252
248
  onOpen?: (event: Event) => void;
253
249
  onClose?: (event: CloseEvent) => void;
254
250
  onError?: (event: ErrorEvent) => void;
251
+ onMessage?: (event: MessageEvent) => void;
255
252
  }
256
253
  declare function useAgent(options: UseAgentOptions): {
257
254
  agent: Omit<PartySocket, "path"> & {
@@ -263,8 +260,8 @@ declare function useAgent(options: UseAgentOptions): {
263
260
  }>;
264
261
  identified: boolean;
265
262
  ready: Promise<void>;
266
- state: AgentConnectionState | undefined;
267
- setState: (state: AgentConnectionState) => void;
263
+ state: unknown;
264
+ setState: (state: unknown) => void;
268
265
  call: <T = unknown>(method: string, args?: unknown[], options?: import("agents/client").CallOptions | import("agents/client").StreamOptions) => Promise<T>;
269
266
  stub: import("agents/client").UntypedAgentStub;
270
267
  getHttpUrl: () => string;
@@ -290,8 +287,8 @@ declare function useChat<ToolContext extends Record<string, unknown>>(options: U
290
287
  }>;
291
288
  identified: boolean;
292
289
  ready: Promise<void>;
293
- state: AgentConnectionState | undefined;
294
- setState: (state: AgentConnectionState) => void;
290
+ state: unknown;
291
+ setState: (state: unknown) => void;
295
292
  call: <T = unknown>(method: string, args?: unknown[], options?: import("agents/client").CallOptions | import("agents/client").StreamOptions) => Promise<T>;
296
293
  stub: import("agents/client").UntypedAgentStub;
297
294
  getHttpUrl: () => string;
@@ -323,6 +320,7 @@ declare function useAssistant<ToolContext extends Record<string, unknown>>(optio
323
320
  chats: ChatSummary[];
324
321
  status: AgentConnectionStatus;
325
322
  assistant: {
323
+ state: unknown;
326
324
  getChats: () => Promise<ChatSummary[]>;
327
325
  createChat: () => Promise<string>;
328
326
  openChat: (chatId: string) => void;
@@ -339,8 +337,8 @@ declare function useAssistant<ToolContext extends Record<string, unknown>>(optio
339
337
  }>;
340
338
  identified: boolean;
341
339
  ready: Promise<void>;
342
- state: AgentConnectionState | undefined;
343
- setState: (state: AgentConnectionState) => void;
340
+ state: unknown;
341
+ setState: (state: unknown) => void;
344
342
  call: <T = unknown>(method: string, args?: unknown[], options?: import("agents/client").CallOptions | import("agents/client").StreamOptions) => Promise<T>;
345
343
  stub: import("agents/client").UntypedAgentStub;
346
344
  getHttpUrl: () => string;
@@ -364,4 +362,4 @@ declare function useAssistant<ToolContext extends Record<string, unknown>>(optio
364
362
  };
365
363
  };
366
364
  //#endregion
367
- export { type AgentConnectionState, type AgentConnectionStatus, type AgentConnectionType, type AssistantActions, type ChatSummary, type CreateChatHandler, type DeleteChatHandler, type GetChatsHandler, type GetMessageFeedbackHandler, type MessageFeedback, type MessageFeedbackHandler, type OpenChatHandler, useAgent, useAssistant, useChat };
365
+ export { type AgentConnectionStatus, type AgentConnectionType, type AssistantActions, type ChatSummary, type CreateChatHandler, type DeleteChatHandler, type GetChatsHandler, type GetMessageFeedbackHandler, type MessageFeedback, type MessageFeedbackHandler, type OpenChatHandler, useAgent, useAssistant, useChat };
package/dist/index.mjs CHANGED
@@ -12,7 +12,7 @@ function getTokenArgs(authToken) {
12
12
  //#endregion
13
13
  //#region src/useAgent.ts
14
14
  function useAgent(options) {
15
- const { enabled, host, agentName, actorId, name, sub, authToken, onError, onOpen, onClose } = options;
15
+ const { enabled, host, agentName, actorId, name, sub, authToken, onError, onOpen, onClose, onMessage } = options;
16
16
  const [type, setType] = useState(void 0);
17
17
  const [status, setStatus] = useState("connecting");
18
18
  const agent = useAgent$1({
@@ -35,6 +35,7 @@ function useAgent(options) {
35
35
  if (msg.status === "unauthorized") agent.close(3e3);
36
36
  setStatus(msg.status);
37
37
  } else if (msg.type === "agent_type") setType(msg.agentType);
38
+ onMessage?.(event);
38
39
  },
39
40
  onError: (event) => {
40
41
  setStatus("disconnected");
@@ -103,7 +104,14 @@ function useAssistant(options) {
103
104
  const { toolContext, welcomeMessage, initialChatId, ...agentOptions } = options;
104
105
  const [chatId, setChatId] = useState(initialChatId);
105
106
  const [chats, setChats] = useState([]);
106
- const { agent: assistant, status: assistantStatus } = useAgent(agentOptions);
107
+ const [subAgentName, setSubAgentName] = useState(void 0);
108
+ const { agent: assistant, status: assistantStatus } = useAgent({
109
+ ...agentOptions,
110
+ onMessage: (event) => {
111
+ const msg = JSON.parse(event.data);
112
+ if (msg.type === "sub_agent_name") setSubAgentName(msg.subAgentName);
113
+ }
114
+ });
107
115
  const refreshChats = useCallback(async () => {
108
116
  setChats((await assistant.call("getChats")).map((chat) => {
109
117
  const c = {
@@ -135,9 +143,8 @@ function useAssistant(options) {
135
143
  setChatId(void 0);
136
144
  await refreshChats();
137
145
  };
138
- const subAgentName = assistant.state?.subAgentName ?? "";
139
146
  const isChatEnabled = !!chatId && !!subAgentName;
140
- const isChatReady = isChatEnabled && assistant.state?.status === "connected";
147
+ const isChatReady = isChatEnabled && assistantStatus === "connected";
141
148
  const chat = useChat({
142
149
  ...agentOptions,
143
150
  enabled: isChatEnabled,
@@ -154,6 +161,7 @@ function useAssistant(options) {
154
161
  chats,
155
162
  status: isChatEnabled && chat.status !== "connecting" ? chat.status : assistantStatus,
156
163
  assistant: {
164
+ state: assistant.state,
157
165
  getChats,
158
166
  createChat,
159
167
  openChat,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@economic/agents-react",
3
- "version": "1.3.3",
3
+ "version": "1.3.4",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "dist"