@blocksdiy/react-common 1.20.0 → 1.21.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/dist/components/agent-chat.d.ts +1 -0
- package/dist/components/agent-chat.d.ts.map +1 -1
- package/dist/components/agent-chat.js +1 -1
- package/dist/components/new-agent-chat.d.ts +114 -0
- package/dist/components/new-agent-chat.d.ts.map +1 -0
- package/dist/components/new-agent-chat.js +505 -0
- package/package.json +2 -1
|
@@ -134,6 +134,7 @@ export interface AgentChatContextValue {
|
|
|
134
134
|
chatId?: string;
|
|
135
135
|
noPersistency?: boolean;
|
|
136
136
|
}
|
|
137
|
+
export declare const AgentChatContext: import("react").Context<AgentChatContextValue | null>;
|
|
137
138
|
export declare const formatAskUserAnswerSummary: (answers: AskUserSubmittedAnswer[]) => string;
|
|
138
139
|
export declare const buildToolResumeHiddenContent: ({ toolName, type, skipped, ...resumePayload }: ToolResumeInput) => string;
|
|
139
140
|
export declare const buildAskUserAnswersHiddenContent: (input: SubmitAskUserAnswersInput) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-chat.d.ts","sourceRoot":"","sources":["../../src/components/agent-chat.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-chat.d.ts","sourceRoot":"","sources":["../../src/components/agent-chat.tsx"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ const validateAndConvertFiles = (files) => {
|
|
|
31
31
|
url: URL.createObjectURL(file),
|
|
32
32
|
}));
|
|
33
33
|
};
|
|
34
|
-
const AgentChatContext = createContext(null);
|
|
34
|
+
export const AgentChatContext = createContext(null);
|
|
35
35
|
const generateId = (length = 10) => {
|
|
36
36
|
return Math.random()
|
|
37
37
|
.toString(36)
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { type Message, type UserMessage } from "@ag-ui/client";
|
|
2
|
+
import { ReactNode, SetStateAction } from "react";
|
|
3
|
+
export { type Message } from "@ag-ui/client";
|
|
4
|
+
export { useCopilotReadable } from "@copilotkit/react-core";
|
|
5
|
+
export { useRenderTool, useRenderToolCall, useDefaultRenderTool, useHumanInTheLoop } from "@copilotkit/react-core/v2";
|
|
6
|
+
export interface Attachment {
|
|
7
|
+
url: string;
|
|
8
|
+
fileType: string;
|
|
9
|
+
fileName: string;
|
|
10
|
+
}
|
|
11
|
+
export interface AgentChat {
|
|
12
|
+
initialMessages?: {
|
|
13
|
+
content: string;
|
|
14
|
+
}[];
|
|
15
|
+
initialPrompt?: {
|
|
16
|
+
content?: string;
|
|
17
|
+
hiddenContent?: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface Agent {
|
|
21
|
+
id: string;
|
|
22
|
+
title?: string;
|
|
23
|
+
jobTitle?: string;
|
|
24
|
+
photoUrl?: string;
|
|
25
|
+
voiceId?: string;
|
|
26
|
+
harness?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface AgentChatContextValue {
|
|
29
|
+
messages: Message[];
|
|
30
|
+
attachments: Attachment[];
|
|
31
|
+
prompt: string;
|
|
32
|
+
isThinking: boolean;
|
|
33
|
+
isFetchingMessages: boolean;
|
|
34
|
+
isAgentReady: boolean;
|
|
35
|
+
isDraggingFiles: boolean;
|
|
36
|
+
currentThreadId?: string;
|
|
37
|
+
agent: Agent | null;
|
|
38
|
+
agentChat: AgentChat | null;
|
|
39
|
+
sendMessage: (message: Omit<UserMessage, "id" | "role">) => Promise<void>;
|
|
40
|
+
sendFromInputs: () => Promise<void>;
|
|
41
|
+
addAttachments: (attachments: Attachment[]) => void;
|
|
42
|
+
removeAttachment: (url: string) => void;
|
|
43
|
+
clearAttachments: () => void;
|
|
44
|
+
setPrompt: React.Dispatch<SetStateAction<string>>;
|
|
45
|
+
setAttachments: React.Dispatch<SetStateAction<Attachment[]>>;
|
|
46
|
+
setIsDraggingFiles: React.Dispatch<SetStateAction<boolean>>;
|
|
47
|
+
setCurrentThreadId: (currentThreadId: string) => void;
|
|
48
|
+
}
|
|
49
|
+
export declare const AgentChatContext: import("react").Context<AgentChatContextValue | null>;
|
|
50
|
+
export declare const useAgentChat: () => AgentChatContextValue;
|
|
51
|
+
export interface AgentChatRootProps {
|
|
52
|
+
appId: string;
|
|
53
|
+
token?: string;
|
|
54
|
+
/** Agent/persona block id used by the Python DeepAgent chat runtime. */
|
|
55
|
+
agentId?: string;
|
|
56
|
+
/** Agent harness saved on the agent block. `deep_agent` implies the direct AI SDK transport. */
|
|
57
|
+
agentHarness?: string;
|
|
58
|
+
/** When true with `agentId`, route direct Deep Agent chat through the AI SDK UI-message stream. */
|
|
59
|
+
useAgentBlockDirectChat?: boolean;
|
|
60
|
+
agentChatId?: string;
|
|
61
|
+
defaultThreadId?: string;
|
|
62
|
+
noPersistency?: boolean;
|
|
63
|
+
children?: ReactNode;
|
|
64
|
+
chatId?: string;
|
|
65
|
+
chatContext?: any;
|
|
66
|
+
chatContextFiles?: Attachment[];
|
|
67
|
+
}
|
|
68
|
+
export declare const AgentChatRoot: ({ ...props }: AgentChatRootProps) => import("react/jsx-runtime").JSX.Element;
|
|
69
|
+
export interface AgentChatMessageProps {
|
|
70
|
+
message: Message;
|
|
71
|
+
index: number;
|
|
72
|
+
}
|
|
73
|
+
export declare function AgentChatMessage({ message, index, ...props }: React.ComponentProps<"div"> & AgentChatMessageProps): import("react/jsx-runtime").JSX.Element;
|
|
74
|
+
export interface AgentChatMessagesProps {
|
|
75
|
+
asChild?: boolean;
|
|
76
|
+
autoScroll?: boolean;
|
|
77
|
+
scrollAreaClassName?: string;
|
|
78
|
+
}
|
|
79
|
+
export declare function AgentChatMessages({ asChild, autoScroll, scrollAreaClassName, ...props }: React.ComponentProps<"div"> & AgentChatMessagesProps): import("react/jsx-runtime").JSX.Element;
|
|
80
|
+
export interface AgentChatThinkingProps {
|
|
81
|
+
asChild?: boolean;
|
|
82
|
+
}
|
|
83
|
+
export declare function AgentChatThinking({ asChild, ...props }: React.ComponentProps<"div"> & AgentChatThinkingProps): import("react/jsx-runtime").JSX.Element | null;
|
|
84
|
+
export interface AgentChatFetchingProps {
|
|
85
|
+
asChild?: boolean;
|
|
86
|
+
}
|
|
87
|
+
export declare function AgentChatFetching({ asChild, ...props }: React.ComponentProps<"div"> & AgentChatFetchingProps): import("react/jsx-runtime").JSX.Element | null;
|
|
88
|
+
export interface AgentChatInputProps {
|
|
89
|
+
asChild?: boolean;
|
|
90
|
+
onSubmit?: (e: React.FormEvent<HTMLTextAreaElement>) => void;
|
|
91
|
+
acceptFiles?: boolean;
|
|
92
|
+
}
|
|
93
|
+
export declare function AgentChatInput({ asChild, onChange, onKeyDown, onPaste, onDragOver, onDragLeave, onDrop, onSubmit, acceptFiles, ...props }: React.ComponentProps<"textarea"> & AgentChatInputProps): import("react/jsx-runtime").JSX.Element;
|
|
94
|
+
export interface AgentChatSendTriggerProps {
|
|
95
|
+
asChild?: boolean;
|
|
96
|
+
}
|
|
97
|
+
export declare function AgentChatSendTrigger({ asChild, onClick, disabled, ...props }: React.ComponentProps<"button"> & AgentChatSendTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
98
|
+
export interface AgentChatAttachmentTriggerProps {
|
|
99
|
+
asChild?: boolean;
|
|
100
|
+
accept?: string;
|
|
101
|
+
multiple?: boolean;
|
|
102
|
+
}
|
|
103
|
+
export declare function AgentChatAttachmentTrigger({ asChild, onClick, disabled, accept, multiple, ...props }: React.ComponentProps<"button"> & AgentChatAttachmentTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
104
|
+
export interface AgentChatAttachmentProps {
|
|
105
|
+
attachment: Attachment;
|
|
106
|
+
asChild?: boolean;
|
|
107
|
+
}
|
|
108
|
+
export declare function AgentChatAttachment({ attachment, asChild, ...props }: React.ComponentProps<"div"> & AgentChatAttachmentProps): import("react/jsx-runtime").JSX.Element;
|
|
109
|
+
export interface AgentChatAttachmentRemoveProps {
|
|
110
|
+
attachment: Attachment;
|
|
111
|
+
asChild?: boolean;
|
|
112
|
+
}
|
|
113
|
+
export declare function AgentChatAttachmentRemove({ attachment, asChild, onClick, ...props }: React.ComponentProps<"button"> & AgentChatAttachmentRemoveProps): import("react/jsx-runtime").JSX.Element;
|
|
114
|
+
//# sourceMappingURL=new-agent-chat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-agent-chat.d.ts","sourceRoot":"","sources":["../../src/components/new-agent-chat.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { AppVersionService, BlocksApiService, websocketsService } from "@blocksdiy/blocks-client-api";
|
|
3
|
+
import { getApiHost } from "@blocksdiy/blocks-client-api/envService";
|
|
4
|
+
import { CopilotKit, useCopilotChatInternal } from "@copilotkit/react-core";
|
|
5
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
6
|
+
import { createContext, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState, } from "react";
|
|
7
|
+
// Client-only `useLayoutEffect`, falls back to `useEffect` during SSR.
|
|
8
|
+
// Needed so the `agent.threadId` mirror commits before CopilotKit's
|
|
9
|
+
// connect-on-mount effect reads it.
|
|
10
|
+
const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
|
|
11
|
+
export { useCopilotReadable } from "@copilotkit/react-core";
|
|
12
|
+
export { useRenderTool, useRenderToolCall, useDefaultRenderTool, useHumanInTheLoop } from "@copilotkit/react-core/v2";
|
|
13
|
+
const MAX_FILE_SIZE_MB = 5;
|
|
14
|
+
const MAX_FILE_SIZE_BYTES = MAX_FILE_SIZE_MB * 1024 * 1024;
|
|
15
|
+
// CopilotKit v2 requires a UUID `thread_id`; non-UUIDs get replaced per
|
|
16
|
+
// load and break history. Fixed UUID is fine — rows are scoped by
|
|
17
|
+
// (appId, chatId, threadId) and chatId is already per-chat unique.
|
|
18
|
+
const DEFAULT_CHAT_THREAD_ID = "8e1c8e4e-7b15-4f2c-a3d8-9e7f6c2b1a3e";
|
|
19
|
+
const generateId = (length = 10) => {
|
|
20
|
+
return Math.random()
|
|
21
|
+
.toString(36)
|
|
22
|
+
.substring(2, 2 + length);
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Walk the conversation and return every assistant-emitted tool call
|
|
26
|
+
* that has no matching ToolMessage (i.e. is awaiting a result). With
|
|
27
|
+
* our current setup, the only tool that ends up in this state is the
|
|
28
|
+
* frontend HITL `ask_user`; backend tools resolve in the same agent
|
|
29
|
+
* run and never appear pending in the UI. Used by `sendFromInputs`
|
|
30
|
+
* to auto-skip dangling questions when the user types a new message
|
|
31
|
+
* instead of clicking an answer.
|
|
32
|
+
*/
|
|
33
|
+
const _collectPendingToolCalls = (messages) => {
|
|
34
|
+
const toolMessageIds = new Set();
|
|
35
|
+
for (const m of messages) {
|
|
36
|
+
if (m.role === "tool" && "toolCallId" in m && typeof m.toolCallId === "string") {
|
|
37
|
+
toolMessageIds.add(m.toolCallId);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const pending = [];
|
|
41
|
+
for (const m of messages) {
|
|
42
|
+
if (m.role !== "assistant" || !("toolCalls" in m) || !m.toolCalls) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
for (const tc of m.toolCalls) {
|
|
46
|
+
if (!toolMessageIds.has(tc.id)) {
|
|
47
|
+
pending.push(tc);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return pending;
|
|
52
|
+
};
|
|
53
|
+
const validateAndConvertFiles = (files) => {
|
|
54
|
+
if (files.length === 0) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
const hasOversizedFiles = files.some((file) => file.size > MAX_FILE_SIZE_BYTES);
|
|
58
|
+
if (hasOversizedFiles) {
|
|
59
|
+
console.error(`Upload failed because some files are bigger than ${MAX_FILE_SIZE_MB} MB.`);
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
return files.map((file) => ({
|
|
63
|
+
fileType: file.type,
|
|
64
|
+
fileName: file.name,
|
|
65
|
+
url: URL.createObjectURL(file),
|
|
66
|
+
}));
|
|
67
|
+
};
|
|
68
|
+
export const AgentChatContext = createContext(null);
|
|
69
|
+
export const useAgentChat = () => {
|
|
70
|
+
const context = useContext(AgentChatContext);
|
|
71
|
+
if (!context) {
|
|
72
|
+
throw new Error("useAgentChat must be used within an AgentChatRoot provider");
|
|
73
|
+
}
|
|
74
|
+
return context;
|
|
75
|
+
};
|
|
76
|
+
const SessionReadables = () => {
|
|
77
|
+
// const now = new Date();
|
|
78
|
+
// useCopilotReadable({
|
|
79
|
+
// description: "Current local time and timezone",
|
|
80
|
+
// value: {
|
|
81
|
+
// iso: now.toISOString(),
|
|
82
|
+
// timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
83
|
+
// timezoneOffsetMinutes: -now.getTimezoneOffset(),
|
|
84
|
+
// },
|
|
85
|
+
// });
|
|
86
|
+
return null;
|
|
87
|
+
};
|
|
88
|
+
const ChatInitializer = ({ agentId, agentChatId, chatId, token, appId, currentThreadId, setCurrentThreadId, children, }) => {
|
|
89
|
+
const [agentChat, setAgentChat] = useState(null);
|
|
90
|
+
const [agent, setAgent] = useState(null);
|
|
91
|
+
// `isConfigLoaded` covers the (small, parallel) async fetch of the
|
|
92
|
+
// agent + agentChat block configs. The actual chat transcript loads
|
|
93
|
+
// through CopilotKit's `connectAgent` pipeline, which surfaces via
|
|
94
|
+
// `isAvailable` below — see `isFetchingMessages` for the combined
|
|
95
|
+
// "are we still warming up" signal exposed to consumers.
|
|
96
|
+
const [isConfigLoaded, setIsConfigLoaded] = useState(false);
|
|
97
|
+
const { messages: copilotMessages, sendMessage: copilotSendMessage, isAvailable: isAgentReady, isLoading: isAgentRunning, agent: copilotAgent, } = useCopilotChatInternal();
|
|
98
|
+
// Mirror `currentThreadId` onto the agent instance — the `<CopilotKit>`
|
|
99
|
+
// prop only feeds React context, but `agent.threadId` is what hits the
|
|
100
|
+
// wire and the LangGraph checkpoint. `<CopilotChat>` does this for you;
|
|
101
|
+
// we use the headless hook so we do it ourselves. Layout-effect timing
|
|
102
|
+
// is required to beat the library's connect-on-mount effect.
|
|
103
|
+
// Limitation: doesn't abort an in-flight run on thread-id swap — fine
|
|
104
|
+
// because `currentThreadId` is effectively immutable today.
|
|
105
|
+
useIsomorphicLayoutEffect(() => {
|
|
106
|
+
if (copilotAgent && currentThreadId) {
|
|
107
|
+
copilotAgent.threadId = currentThreadId;
|
|
108
|
+
}
|
|
109
|
+
}, [copilotAgent, currentThreadId]);
|
|
110
|
+
const [prompt, setPrompt] = useState("");
|
|
111
|
+
const [attachments, setAttachments] = useState([]);
|
|
112
|
+
const [isDraggingFiles, setIsDraggingFiles] = useState(false);
|
|
113
|
+
const blocksApiService = useMemo(() => new BlocksApiService({ token }), [token]);
|
|
114
|
+
const sendMessage = useCallback((message) => {
|
|
115
|
+
return copilotSendMessage({ id: generateId(), role: "user", ...message });
|
|
116
|
+
}, [copilotSendMessage]);
|
|
117
|
+
const getAgentChatBlock = useCallback(async () => {
|
|
118
|
+
if (!agentChatId) {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
const agentChatBlock = await blocksApiService.getBlock(agentChatId);
|
|
122
|
+
if (!agentChatBlock) {
|
|
123
|
+
throw new Error("Agent chat block not found");
|
|
124
|
+
}
|
|
125
|
+
return agentChatBlock;
|
|
126
|
+
}, [agentChatId, blocksApiService]);
|
|
127
|
+
const sendAgentInitialPrompt = useCallback((agentInitialPrompt) => {
|
|
128
|
+
if (!agentInitialPrompt) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const { content, hiddenContent } = agentInitialPrompt;
|
|
132
|
+
if (content) {
|
|
133
|
+
sendMessage({ content });
|
|
134
|
+
}
|
|
135
|
+
if (hiddenContent) {
|
|
136
|
+
sendMessage({ content: hiddenContent });
|
|
137
|
+
}
|
|
138
|
+
}, [sendMessage]);
|
|
139
|
+
const initKeyRef = useRef(null);
|
|
140
|
+
// Guard against re-firing the initial prompt across re-renders of the
|
|
141
|
+
// post-connect effect. Reset whenever the init key changes (thread
|
|
142
|
+
// swap, sign-in / sign-out, etc.) so a fresh session can re-seed.
|
|
143
|
+
const initialPromptSentRef = useRef(false);
|
|
144
|
+
useEffect(() => {
|
|
145
|
+
const initKey = [
|
|
146
|
+
chatId ?? "",
|
|
147
|
+
currentThreadId ?? "",
|
|
148
|
+
agentId ?? "",
|
|
149
|
+
agentChatId ?? "",
|
|
150
|
+
token ?? "",
|
|
151
|
+
appId ?? "",
|
|
152
|
+
].join("|");
|
|
153
|
+
if (initKeyRef.current === initKey) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
initKeyRef.current = initKey;
|
|
157
|
+
initialPromptSentRef.current = false;
|
|
158
|
+
const ac = new AbortController();
|
|
159
|
+
const initialize = async () => {
|
|
160
|
+
setIsConfigLoaded(false);
|
|
161
|
+
try {
|
|
162
|
+
const agentChatBlock = await getAgentChatBlock();
|
|
163
|
+
const effectiveAgentId = agentId ?? agentChatBlock?.data?.agentBlockId;
|
|
164
|
+
const agentBlock = effectiveAgentId ? await blocksApiService.getBlock(effectiveAgentId) : null;
|
|
165
|
+
if (ac.signal.aborted) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
if (!agentChatBlock || !agentBlock) {
|
|
169
|
+
throw new Error("Agent chat configuration not found");
|
|
170
|
+
}
|
|
171
|
+
setAgentChat({
|
|
172
|
+
initialMessages: agentChatBlock.data.initialMessages,
|
|
173
|
+
initialPrompt: agentChatBlock.data.initialPrompt,
|
|
174
|
+
});
|
|
175
|
+
setAgent({
|
|
176
|
+
id: agentBlock.id,
|
|
177
|
+
title: agentBlock?.data?.title,
|
|
178
|
+
jobTitle: agentBlock?.data?.jobTitle,
|
|
179
|
+
photoUrl: agentBlock?.data?.avatar?.url,
|
|
180
|
+
voiceId: agentBlock?.data?.voiceId,
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
if (ac.signal.aborted) {
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
finally {
|
|
189
|
+
if (!ac.signal.aborted) {
|
|
190
|
+
setIsConfigLoaded(true);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
initialize();
|
|
195
|
+
return () => {
|
|
196
|
+
ac.abort();
|
|
197
|
+
initKeyRef.current = null;
|
|
198
|
+
initialPromptSentRef.current = false;
|
|
199
|
+
};
|
|
200
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
201
|
+
}, [chatId, currentThreadId, agentId, agentChatId, token, appId]);
|
|
202
|
+
// After CopilotKit's `connectAgent` resolves, the agent's message list
|
|
203
|
+
// already reflects whatever the backend replayed (history + any
|
|
204
|
+
// seeded initial messages). If the thread is still empty AND the
|
|
205
|
+
// chat config carries an `initialPrompt`, kick it off here exactly
|
|
206
|
+
// once so a brand-new chat actually starts talking.
|
|
207
|
+
//
|
|
208
|
+
// We read from `copilotAgent.messages` directly (not the React-mirrored
|
|
209
|
+
// copy returned by the hook) because the agent's array is updated
|
|
210
|
+
// synchronously inside the connect pipeline — checking it here avoids
|
|
211
|
+
// a render-order race where `isAgentReady` flips true before the
|
|
212
|
+
// mirrored React state catches up, which would otherwise double-send
|
|
213
|
+
// the prompt on top of replayed history.
|
|
214
|
+
useEffect(() => {
|
|
215
|
+
if (!isAgentReady || !isConfigLoaded || initialPromptSentRef.current) {
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
if (!agentChat?.initialPrompt) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
if (copilotAgent && copilotAgent.messages.length > 0) {
|
|
222
|
+
initialPromptSentRef.current = true;
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
initialPromptSentRef.current = true;
|
|
226
|
+
sendAgentInitialPrompt(agentChat.initialPrompt);
|
|
227
|
+
}, [isAgentReady, isConfigLoaded, agentChat, copilotAgent, sendAgentInitialPrompt]);
|
|
228
|
+
const sendFromInputs = async () => {
|
|
229
|
+
const currentPrompt = prompt;
|
|
230
|
+
// const currentAttachments = attachments;
|
|
231
|
+
setPrompt("");
|
|
232
|
+
setAttachments([]);
|
|
233
|
+
// Auto-skip any HITL tool call that's still waiting for an answer.
|
|
234
|
+
//
|
|
235
|
+
// If the user types a new message instead of clicking an answer on
|
|
236
|
+
// an `ask_user` form, the agent had returned an assistant message
|
|
237
|
+
// with a tool call and is parked awaiting a ToolMessage that never
|
|
238
|
+
// arrives. Without intervention here:
|
|
239
|
+
// * `executingToolCallIds` keeps the toolCallId (the parked HITL
|
|
240
|
+
// Promise from useHumanInTheLoop never resolves, so
|
|
241
|
+
// onToolExecutionEnd never fires).
|
|
242
|
+
// * No ToolMessage is ever added, so the render code stays on
|
|
243
|
+
// "executing" → the form looks live forever, the next refresh
|
|
244
|
+
// re-renders it as live, and the backend sees a dangling tool
|
|
245
|
+
// call followed by a new user turn (confusing the model).
|
|
246
|
+
//
|
|
247
|
+
// Synthesizing a `{"skipped":true}` ToolMessage here:
|
|
248
|
+
// * flips the render to "complete" (toolMessage wins over the
|
|
249
|
+
// executingToolCallIds check),
|
|
250
|
+
// * gets persisted by AgUiMessagePersister so a refresh shows
|
|
251
|
+
// the skipped state, not a live form,
|
|
252
|
+
// * gives the backend a clean conversation
|
|
253
|
+
// (assistant_tool_call → skip_result → new user turn) so the
|
|
254
|
+
// agent can respond coherently.
|
|
255
|
+
//
|
|
256
|
+
// Caveat: we don't (and can't, with the current useHumanInTheLoop
|
|
257
|
+
// API) resolve the parked HITL Promise itself — it lingers in
|
|
258
|
+
// memory until page reload. Acceptable: one closure per skip,
|
|
259
|
+
// cleared on refresh, no functional impact.
|
|
260
|
+
if (copilotAgent) {
|
|
261
|
+
const pending = _collectPendingToolCalls(copilotAgent.messages);
|
|
262
|
+
for (const toolCall of pending) {
|
|
263
|
+
copilotAgent.addMessage({
|
|
264
|
+
id: generateId(),
|
|
265
|
+
role: "tool",
|
|
266
|
+
toolCallId: toolCall.id,
|
|
267
|
+
content: JSON.stringify({ skipped: true }),
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
await sendMessage({ content: currentPrompt });
|
|
272
|
+
};
|
|
273
|
+
const addAttachments = (attachments) => {
|
|
274
|
+
setAttachments((prevAttachments) => [...prevAttachments, ...attachments]);
|
|
275
|
+
};
|
|
276
|
+
const removeAttachment = (url) => {
|
|
277
|
+
setAttachments((prevAttachments) => prevAttachments.filter((attachment) => attachment.url !== url));
|
|
278
|
+
};
|
|
279
|
+
const clearAttachments = () => {
|
|
280
|
+
setAttachments([]);
|
|
281
|
+
};
|
|
282
|
+
return (_jsx(AgentChatContext.Provider, { value: {
|
|
283
|
+
messages: copilotMessages,
|
|
284
|
+
prompt,
|
|
285
|
+
attachments,
|
|
286
|
+
sendMessage,
|
|
287
|
+
sendFromInputs,
|
|
288
|
+
addAttachments,
|
|
289
|
+
removeAttachment,
|
|
290
|
+
clearAttachments,
|
|
291
|
+
setPrompt,
|
|
292
|
+
setAttachments,
|
|
293
|
+
setIsDraggingFiles,
|
|
294
|
+
setCurrentThreadId,
|
|
295
|
+
isDraggingFiles,
|
|
296
|
+
isFetchingMessages: !isConfigLoaded || (!isAgentReady && copilotMessages.length === 0),
|
|
297
|
+
isThinking: isAgentRunning,
|
|
298
|
+
isAgentReady,
|
|
299
|
+
agentChat,
|
|
300
|
+
agent,
|
|
301
|
+
currentThreadId,
|
|
302
|
+
}, children: children }));
|
|
303
|
+
};
|
|
304
|
+
export const AgentChatRoot = ({ ...props
|
|
305
|
+
// agentHarness,
|
|
306
|
+
// useAgentBlockDirectChat,
|
|
307
|
+
// chatContextFiles,
|
|
308
|
+
// agentChatData,
|
|
309
|
+
// memoryEnabled = false,
|
|
310
|
+
// shortTermMemory,
|
|
311
|
+
// useDynamicUI,
|
|
312
|
+
}) => {
|
|
313
|
+
const { appId, token, children, agentId, agentChatId, chatId, defaultThreadId, noPersistency, chatContext } = props;
|
|
314
|
+
const currentAppVersion = AppVersionService.getCurrentVersionNumber();
|
|
315
|
+
const socketId = websocketsService.getSocketId();
|
|
316
|
+
const headers = useMemo(() => ({
|
|
317
|
+
...(token ? { Authorization: `Bearer ${token}` } : {}),
|
|
318
|
+
...(currentAppVersion ? { "x-app-version": String(currentAppVersion) } : {}),
|
|
319
|
+
...(socketId ? { "x-socket-id": socketId } : {}),
|
|
320
|
+
...(appId ? { "x-app-id": appId } : {}),
|
|
321
|
+
}), [token, currentAppVersion, socketId, appId]);
|
|
322
|
+
const [currentThreadId, setCurrentThreadId] = useState(() => defaultThreadId ?? (noPersistency ? crypto.randomUUID() : DEFAULT_CHAT_THREAD_ID));
|
|
323
|
+
const chatContextStr = chatContext == null ? undefined : typeof chatContext === "string" ? chatContext : JSON.stringify(chatContext);
|
|
324
|
+
return (_jsxs(CopilotKit, { runtimeUrl: `${getApiHost()}/agent-chat-stream`, agent: "default", headers: headers, threadId: currentThreadId,
|
|
325
|
+
// debug={true}
|
|
326
|
+
properties: {
|
|
327
|
+
appId,
|
|
328
|
+
agentId,
|
|
329
|
+
agentChatId,
|
|
330
|
+
chatId,
|
|
331
|
+
chatContext: chatContextStr,
|
|
332
|
+
}, children: [_jsx(SessionReadables, {}), _jsx(ChatInitializer, { agentId: agentId, agentChatId: agentChatId, chatId: chatId, noPersistency: noPersistency, token: token, appId: appId, currentThreadId: currentThreadId, setCurrentThreadId: setCurrentThreadId, children: children })] }));
|
|
333
|
+
};
|
|
334
|
+
export function AgentChatMessage({ message, index, ...props }) {
|
|
335
|
+
return _jsx("div", { "data-message-index": index, "data-message-role": message.role, ...props });
|
|
336
|
+
}
|
|
337
|
+
export function AgentChatMessages({ asChild = false, autoScroll = true, scrollAreaClassName, ...props }) {
|
|
338
|
+
const scrollRef = useRef(null);
|
|
339
|
+
const Comp = asChild ? Slot : "div";
|
|
340
|
+
const { messages } = useAgentChat();
|
|
341
|
+
const scrollToBottom = useCallback(() => {
|
|
342
|
+
if (scrollRef.current) {
|
|
343
|
+
scrollRef.current.scrollTo({ top: scrollRef.current.scrollHeight, behavior: "instant" });
|
|
344
|
+
}
|
|
345
|
+
}, []);
|
|
346
|
+
useEffect(() => {
|
|
347
|
+
if (!autoScroll) {
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
scrollToBottom();
|
|
351
|
+
}, [messages, autoScroll, scrollToBottom]);
|
|
352
|
+
return (_jsx("div", { ref: scrollRef, style: { overflow: "auto" }, className: scrollAreaClassName, ...props, children: _jsx(Comp, { "data-slot": "agent-chat-messages", ...props }) }));
|
|
353
|
+
}
|
|
354
|
+
export function AgentChatThinking({ asChild = false, ...props }) {
|
|
355
|
+
const { isThinking } = useAgentChat();
|
|
356
|
+
const Comp = asChild ? Slot : "div";
|
|
357
|
+
if (!isThinking) {
|
|
358
|
+
return null;
|
|
359
|
+
}
|
|
360
|
+
return _jsx(Comp, { "data-slot": "agent-chat-thinking", ...props });
|
|
361
|
+
}
|
|
362
|
+
export function AgentChatFetching({ asChild = false, ...props }) {
|
|
363
|
+
const { isFetchingMessages } = useAgentChat();
|
|
364
|
+
const Comp = asChild ? Slot : "div";
|
|
365
|
+
if (!isFetchingMessages) {
|
|
366
|
+
return null;
|
|
367
|
+
}
|
|
368
|
+
return _jsx(Comp, { "data-slot": "agent-chat-fetching", ...props });
|
|
369
|
+
}
|
|
370
|
+
export function AgentChatInput({ asChild = false, onChange, onKeyDown, onPaste, onDragOver, onDragLeave, onDrop, onSubmit, acceptFiles = true, ...props }) {
|
|
371
|
+
const { setIsDraggingFiles, addAttachments, prompt, setPrompt, sendFromInputs } = useAgentChat();
|
|
372
|
+
const handleDragOver = useCallback((e) => {
|
|
373
|
+
if (!acceptFiles) {
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
376
|
+
e.preventDefault();
|
|
377
|
+
e.stopPropagation();
|
|
378
|
+
if (e.dataTransfer.types.includes("Files")) {
|
|
379
|
+
setIsDraggingFiles(true);
|
|
380
|
+
}
|
|
381
|
+
}, [setIsDraggingFiles, acceptFiles]);
|
|
382
|
+
const handleDragLeave = useCallback((e) => {
|
|
383
|
+
if (!acceptFiles) {
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
e.preventDefault();
|
|
387
|
+
e.stopPropagation();
|
|
388
|
+
setIsDraggingFiles(false);
|
|
389
|
+
}, [setIsDraggingFiles, acceptFiles]);
|
|
390
|
+
const handleDrop = useCallback((e) => {
|
|
391
|
+
if (!acceptFiles) {
|
|
392
|
+
return;
|
|
393
|
+
}
|
|
394
|
+
e.preventDefault();
|
|
395
|
+
e.stopPropagation();
|
|
396
|
+
setIsDraggingFiles(false);
|
|
397
|
+
const files = Array.from(e.dataTransfer.files);
|
|
398
|
+
const attachments = validateAndConvertFiles(files);
|
|
399
|
+
if (attachments) {
|
|
400
|
+
addAttachments(attachments);
|
|
401
|
+
}
|
|
402
|
+
}, [addAttachments, setIsDraggingFiles, acceptFiles]);
|
|
403
|
+
const handleKeyDown = useCallback((e) => {
|
|
404
|
+
if (e.key === "Enter" && !e.shiftKey) {
|
|
405
|
+
e.preventDefault();
|
|
406
|
+
onSubmit?.(e);
|
|
407
|
+
sendFromInputs();
|
|
408
|
+
}
|
|
409
|
+
}, [sendFromInputs, onSubmit]);
|
|
410
|
+
const handleChange = useCallback((e) => {
|
|
411
|
+
setPrompt(e.target.value);
|
|
412
|
+
}, [setPrompt]);
|
|
413
|
+
const handlePaste = useCallback(async (e) => {
|
|
414
|
+
if (!acceptFiles) {
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
const clipboardData = e.clipboardData;
|
|
418
|
+
if (!clipboardData) {
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
421
|
+
const files = Array.from(clipboardData.files);
|
|
422
|
+
if (files.length === 0) {
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
e.preventDefault();
|
|
426
|
+
const attachments = validateAndConvertFiles(files);
|
|
427
|
+
if (attachments) {
|
|
428
|
+
addAttachments(attachments);
|
|
429
|
+
}
|
|
430
|
+
}, [addAttachments, acceptFiles]);
|
|
431
|
+
const Comp = asChild ? Slot : "textarea";
|
|
432
|
+
return (_jsx(Comp, { value: prompt, onChange: (e) => {
|
|
433
|
+
handleChange(e);
|
|
434
|
+
onChange?.(e);
|
|
435
|
+
}, onKeyDown: (e) => {
|
|
436
|
+
handleKeyDown(e);
|
|
437
|
+
onKeyDown?.(e);
|
|
438
|
+
}, onPaste: (e) => {
|
|
439
|
+
handlePaste(e);
|
|
440
|
+
onPaste?.(e);
|
|
441
|
+
}, onDragOver: acceptFiles
|
|
442
|
+
? (e) => {
|
|
443
|
+
handleDragOver(e);
|
|
444
|
+
onDragOver?.(e);
|
|
445
|
+
}
|
|
446
|
+
: onDragOver, onDragLeave: acceptFiles
|
|
447
|
+
? (e) => {
|
|
448
|
+
handleDragLeave(e);
|
|
449
|
+
onDragLeave?.(e);
|
|
450
|
+
}
|
|
451
|
+
: onDragLeave, onDrop: acceptFiles
|
|
452
|
+
? (e) => {
|
|
453
|
+
handleDrop(e);
|
|
454
|
+
onDrop?.(e);
|
|
455
|
+
}
|
|
456
|
+
: onDrop, "data-slot": "agent-chat-input", ...props }));
|
|
457
|
+
}
|
|
458
|
+
export function AgentChatSendTrigger({ asChild = false, onClick, disabled, ...props }) {
|
|
459
|
+
const { isThinking, isAgentReady, isFetchingMessages, sendFromInputs } = useAgentChat();
|
|
460
|
+
const Comp = asChild ? Slot : "button";
|
|
461
|
+
const isDisabled = disabled ?? (isThinking || !isAgentReady || isFetchingMessages);
|
|
462
|
+
return (_jsx(Comp, { onClick: (e) => {
|
|
463
|
+
sendFromInputs();
|
|
464
|
+
onClick?.(e);
|
|
465
|
+
}, disabled: isDisabled, "data-slot": "agent-chat-send-trigger", ...props }));
|
|
466
|
+
}
|
|
467
|
+
export function AgentChatAttachmentTrigger({ asChild = false, onClick, disabled, accept, multiple = true, ...props }) {
|
|
468
|
+
const { isThinking, isAgentReady, isFetchingMessages, addAttachments } = useAgentChat();
|
|
469
|
+
const fileInputRef = useRef(null);
|
|
470
|
+
const isDisabled = disabled ?? (isThinking || !isAgentReady || isFetchingMessages);
|
|
471
|
+
const handleFileChange = useCallback(async (e) => {
|
|
472
|
+
const files = e.target.files;
|
|
473
|
+
if (!files || files.length === 0) {
|
|
474
|
+
return;
|
|
475
|
+
}
|
|
476
|
+
const attachments = validateAndConvertFiles(Array.from(files));
|
|
477
|
+
if (attachments) {
|
|
478
|
+
addAttachments(attachments);
|
|
479
|
+
}
|
|
480
|
+
// Reset input to allow selecting the same file again
|
|
481
|
+
if (fileInputRef.current) {
|
|
482
|
+
fileInputRef.current.value = "";
|
|
483
|
+
}
|
|
484
|
+
}, [addAttachments]);
|
|
485
|
+
const handleClick = useCallback(() => {
|
|
486
|
+
fileInputRef.current?.click();
|
|
487
|
+
}, []);
|
|
488
|
+
const Comp = asChild ? Slot : "button";
|
|
489
|
+
return (_jsxs(_Fragment, { children: [_jsx("input", { type: "file", ref: fileInputRef, onChange: handleFileChange, accept: accept, multiple: multiple, style: { display: "none" }, "aria-hidden": "true" }), _jsx(Comp, { onClick: (e) => {
|
|
490
|
+
handleClick();
|
|
491
|
+
onClick?.(e);
|
|
492
|
+
}, disabled: isDisabled, "data-slot": "agent-chat-attachment-trigger", ...props })] }));
|
|
493
|
+
}
|
|
494
|
+
export function AgentChatAttachment({ attachment, asChild = false, ...props }) {
|
|
495
|
+
const Comp = asChild ? Slot : "div";
|
|
496
|
+
return _jsx(Comp, { "data-slot": "agent-chat-attachment", "data-file-type": attachment.fileType, ...props });
|
|
497
|
+
}
|
|
498
|
+
export function AgentChatAttachmentRemove({ attachment, asChild = false, onClick, ...props }) {
|
|
499
|
+
const { removeAttachment } = useAgentChat();
|
|
500
|
+
const Comp = asChild ? Slot : "button";
|
|
501
|
+
return (_jsx(Comp, { onClick: (e) => {
|
|
502
|
+
removeAttachment(attachment.url);
|
|
503
|
+
onClick?.(e);
|
|
504
|
+
}, "data-slot": "agent-chat-attachment-remove", ...props }));
|
|
505
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blocksdiy/react-common",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.21.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "React common",
|
|
6
6
|
"keywords": [],
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
".": "./dist/index.js",
|
|
13
13
|
"./useAiStreamChunks": "./dist/hooks/use-ai-stream-chunks.js",
|
|
14
14
|
"./agent-chat": "./dist/components/agent-chat.js",
|
|
15
|
+
"./new-agent-chat": "./dist/components/new-agent-chat.js",
|
|
15
16
|
"./iframe-communication": "./dist/iframe-communication/index.js"
|
|
16
17
|
},
|
|
17
18
|
"directories": {
|