@economic/agents-react 1.1.8 → 1.1.10
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 +18 -5
- package/dist/index.mjs +24 -14
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -228,6 +228,18 @@ type MessageFeedback = {
|
|
|
228
228
|
created_at: number;
|
|
229
229
|
updated_at: number;
|
|
230
230
|
};
|
|
231
|
+
type MessageFeedbackHandler = (messageId: string, rating: number, comment?: string) => Promise<void>;
|
|
232
|
+
type GetMessageFeedbackHandler = () => Promise<Record<string, MessageFeedback>>;
|
|
233
|
+
type GetChatsHandler = () => Promise<ChatSummary[]>;
|
|
234
|
+
type CreateChatHandler = () => Promise<string>;
|
|
235
|
+
type OpenChatHandler = (chatId: string) => void;
|
|
236
|
+
type DeleteChatHandler = (chatId: string) => Promise<void>;
|
|
237
|
+
interface AssistantActions {
|
|
238
|
+
getChats: GetChatsHandler;
|
|
239
|
+
createChat: CreateChatHandler;
|
|
240
|
+
openChat: OpenChatHandler;
|
|
241
|
+
deleteChat: DeleteChatHandler;
|
|
242
|
+
}
|
|
231
243
|
//#endregion
|
|
232
244
|
//#region src/useAgent.d.ts
|
|
233
245
|
interface UseAgentOptions {
|
|
@@ -297,14 +309,15 @@ declare function useChat<ToolContext extends Record<string, unknown>>(options: U
|
|
|
297
309
|
isStreaming: boolean;
|
|
298
310
|
isToolContinuation: boolean;
|
|
299
311
|
};
|
|
300
|
-
submitMessageFeedback:
|
|
301
|
-
getMessageFeedback:
|
|
312
|
+
submitMessageFeedback: MessageFeedbackHandler;
|
|
313
|
+
getMessageFeedback: GetMessageFeedbackHandler;
|
|
302
314
|
};
|
|
303
315
|
//#endregion
|
|
304
316
|
//#region src/useAssistant.d.ts
|
|
305
317
|
interface UseAssistantOptions<ToolContext extends Record<string, unknown> = Record<string, unknown>> extends Omit<UseChatOptions<ToolContext>, "actorId" | "getInitialMessages"> {}
|
|
306
318
|
declare function useAssistant<ToolContext extends Record<string, unknown>>(options: UseAssistantOptions<ToolContext>): {
|
|
307
319
|
currentChatName: string | undefined;
|
|
320
|
+
chats: ChatSummary[];
|
|
308
321
|
status: AgentConnectionStatus;
|
|
309
322
|
assistant: {
|
|
310
323
|
getChats: () => Promise<ChatSummary[]>;
|
|
@@ -342,9 +355,9 @@ declare function useAssistant<ToolContext extends Record<string, unknown>>(optio
|
|
|
342
355
|
isStreaming: boolean;
|
|
343
356
|
isToolContinuation: boolean;
|
|
344
357
|
};
|
|
345
|
-
submitMessageFeedback:
|
|
346
|
-
getMessageFeedback:
|
|
358
|
+
submitMessageFeedback: MessageFeedbackHandler;
|
|
359
|
+
getMessageFeedback: GetMessageFeedbackHandler;
|
|
347
360
|
};
|
|
348
361
|
};
|
|
349
362
|
//#endregion
|
|
350
|
-
export { type AgentConnectionState, type AgentConnectionStatus, type AgentConnectionType, type ChatSummary, type MessageFeedback, useAgent, useAssistant, useChat };
|
|
363
|
+
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 };
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useAgent as useAgent$1 } from "agents/react";
|
|
2
|
-
import { useEffect, useRef, useState } from "react";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
3
|
import { useAgentChat } from "@cloudflare/ai-chat/react";
|
|
4
4
|
//#region src/util.ts
|
|
5
5
|
function getTokenArgs(authToken) {
|
|
@@ -57,16 +57,16 @@ function useChat(options) {
|
|
|
57
57
|
chat.messages.length,
|
|
58
58
|
welcomeMessage
|
|
59
59
|
]);
|
|
60
|
-
async
|
|
61
|
-
|
|
60
|
+
const submitMessageFeedback = async (messageId, rating, comment) => {
|
|
61
|
+
await agent.call("submitMessageFeedback", [
|
|
62
62
|
messageId,
|
|
63
63
|
rating,
|
|
64
64
|
comment
|
|
65
65
|
]);
|
|
66
|
-
}
|
|
67
|
-
async
|
|
66
|
+
};
|
|
67
|
+
const getMessageFeedback = async () => {
|
|
68
68
|
return await agent.call("getMessageFeedback");
|
|
69
|
-
}
|
|
69
|
+
};
|
|
70
70
|
return {
|
|
71
71
|
status,
|
|
72
72
|
agent,
|
|
@@ -80,22 +80,31 @@ function useChat(options) {
|
|
|
80
80
|
function useAssistant(options) {
|
|
81
81
|
const { toolContext, welcomeMessage, ...agentOptions } = options;
|
|
82
82
|
const [chatId, setChatId] = useState();
|
|
83
|
+
const [chats, setChats] = useState([]);
|
|
83
84
|
const assistant = useAgent(agentOptions);
|
|
84
|
-
const
|
|
85
|
-
|
|
85
|
+
const refreshChats = useCallback(async () => {
|
|
86
|
+
setChats((await assistant.call("getChats")).map((chat) => {
|
|
86
87
|
const c = {
|
|
87
88
|
...chat,
|
|
88
89
|
name: chat.durable_object_name
|
|
89
90
|
};
|
|
90
91
|
delete c.durable_object_name;
|
|
91
92
|
return c;
|
|
92
|
-
});
|
|
93
|
+
}));
|
|
94
|
+
}, [assistant]);
|
|
95
|
+
const assistantStatus = assistant.state?.status;
|
|
96
|
+
useEffect(() => {
|
|
97
|
+
if (assistantStatus === "connected") refreshChats().catch(console.error);
|
|
98
|
+
}, [assistantStatus, refreshChats]);
|
|
99
|
+
const getChats = async () => {
|
|
100
|
+
await refreshChats();
|
|
101
|
+
return chats;
|
|
93
102
|
};
|
|
94
103
|
const createChat = async () => {
|
|
95
|
-
const
|
|
96
|
-
setChatId(
|
|
97
|
-
await
|
|
98
|
-
return
|
|
104
|
+
const newChatId = await assistant.call("createChat");
|
|
105
|
+
setChatId(newChatId);
|
|
106
|
+
await refreshChats();
|
|
107
|
+
return newChatId;
|
|
99
108
|
};
|
|
100
109
|
const openChat = (chatId) => {
|
|
101
110
|
setChatId(chatId);
|
|
@@ -103,7 +112,7 @@ function useAssistant(options) {
|
|
|
103
112
|
const deleteChat = async (chatId) => {
|
|
104
113
|
await assistant.call("deleteChat", [chatId]);
|
|
105
114
|
setChatId(void 0);
|
|
106
|
-
await
|
|
115
|
+
await refreshChats();
|
|
107
116
|
};
|
|
108
117
|
const isChatReady = !!chatId && assistant.state?.status === "connected";
|
|
109
118
|
const chat = useChat({
|
|
@@ -119,6 +128,7 @@ function useAssistant(options) {
|
|
|
119
128
|
});
|
|
120
129
|
return {
|
|
121
130
|
currentChatName: chatId,
|
|
131
|
+
chats,
|
|
122
132
|
status: (chatId ? chat.agent.state?.status : assistant.state?.status) ?? "connecting",
|
|
123
133
|
assistant: {
|
|
124
134
|
getChats,
|