@blocksdiy/react-common 1.24.0 → 1.24.1

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.
@@ -1,6 +1,5 @@
1
1
  import { ReactNode, SetStateAction } from "react";
2
2
  import { type VoiceCallMessage } from "../hooks/use-voice-call.js";
3
- export declare const ASK_USER_TOOL_NAME = "ask_user";
4
3
  export interface Attachment {
5
4
  url: string;
6
5
  fileType: string;
@@ -25,73 +24,7 @@ export interface LegacyMessagePayload {
25
24
  payload: Record<string, any>;
26
25
  hiddenContent?: string;
27
26
  }
28
- export type AskUserQuestionType = "text" | "single_select" | "multi_select";
29
- export interface AskUserQuestionOption {
30
- id: string;
31
- label: string;
32
- description?: string;
33
- }
34
- export interface AskUserQuestion {
35
- id: string;
36
- label: string;
37
- type: AskUserQuestionType;
38
- required?: boolean;
39
- placeholder?: string;
40
- options?: AskUserQuestionOption[];
41
- choices?: string[];
42
- allowOther?: boolean;
43
- otherLabel?: string;
44
- presentation?: "chips" | "cards";
45
- }
46
- export interface AskUserPayload {
47
- questions?: AskUserQuestion[];
48
- }
49
- export interface AskUserSubmittedAnswer {
50
- questionId: string;
51
- question: string;
52
- type: AskUserQuestionType;
53
- value?: string;
54
- values?: string[];
55
- label?: string;
56
- labels?: string[];
57
- other?: string;
58
- }
59
- export interface ToolResumeInput {
60
- toolCallId?: string;
61
- toolName?: string;
62
- type?: string;
63
- skipped?: boolean;
64
- [key: string]: unknown;
65
- }
66
- export interface SubmitAskUserAnswersInput extends ToolResumeInput {
67
- type?: "ask_user";
68
- answers: AskUserSubmittedAnswer[];
69
- }
70
- type CopilotMessageMetadata = {
71
- version?: 1;
72
- hiddenPrompt?: string;
73
- kind?: "tool-resume";
74
- };
75
- type CopilotToolCall = {
76
- id?: string;
77
- name?: string;
78
- args?: unknown;
79
- input?: unknown;
80
- function?: {
81
- name?: string;
82
- arguments?: unknown;
83
- };
84
- };
85
- type CopilotMessage = {
86
- id?: string;
87
- role?: string;
88
- content?: string;
89
- metadata?: CopilotMessageMetadata;
90
- toolCalls?: CopilotToolCall[];
91
- toolCallId?: string;
92
- name?: string;
93
- };
94
- export type PersistedMessagePayload = LegacyMessagePayload | CopilotMessage;
27
+ export type PersistedMessagePayload = LegacyMessagePayload;
95
28
  interface MessageItemBase {
96
29
  createdAt: string;
97
30
  createdBy?: string;
@@ -105,7 +38,6 @@ export type LegacyMessageItem = MessageItemBase & {
105
38
  export type MessageItem = LegacyMessageItem;
106
39
  export interface AgentChatContextValue {
107
40
  messages: MessageItem[];
108
- initialAgentMessages: MessageItem[];
109
41
  attachments: Attachment[];
110
42
  prompt: string;
111
43
  isThinking: boolean;
@@ -115,8 +47,6 @@ export interface AgentChatContextValue {
115
47
  threadIds: string[];
116
48
  agentChatData?: AgentChatData;
117
49
  sendMessage: (message: Omit<LegacyMessagePayload, "id" | "role" | "type" | "payload">) => Promise<void>;
118
- submitToolResume: (input: ToolResumeInput) => Promise<void>;
119
- submitAskUserAnswers: (input: SubmitAskUserAnswersInput) => Promise<void>;
120
50
  sendFromInputs: () => Promise<void>;
121
51
  addMessages: (newMessages: MessageItem[]) => void;
122
52
  addAttachments: (attachments: Attachment[]) => void;
@@ -129,15 +59,11 @@ export interface AgentChatContextValue {
129
59
  setThreadIds: React.Dispatch<SetStateAction<string[]>>;
130
60
  appId: string;
131
61
  token?: string;
132
- agentBlockId?: string;
133
62
  agentChatId?: string;
134
63
  chatId?: string;
135
64
  noPersistency?: boolean;
136
65
  }
137
66
  export declare const AgentChatContext: import("react").Context<AgentChatContextValue | null>;
138
- export declare const formatAskUserAnswerSummary: (answers: AskUserSubmittedAnswer[]) => string;
139
- export declare const buildToolResumeHiddenContent: ({ toolName, type, skipped, ...resumePayload }: ToolResumeInput) => string;
140
- export declare const buildAskUserAnswersHiddenContent: (input: SubmitAskUserAnswersInput) => string;
141
67
  export declare const useAgentChat: () => AgentChatContextValue;
142
68
  export interface ToolCardContextValue {
143
69
  open: boolean;
@@ -193,12 +119,6 @@ export interface AgentChatData {
193
119
  export interface AgentChatRootProps {
194
120
  appId: string;
195
121
  token?: string;
196
- /** Agent/persona block id used by the Python DeepAgent chat runtime. */
197
- agentBlockId?: string;
198
- /** Agent harness saved on the agent block. `deep_agent` implies the direct AI SDK transport. */
199
- agentHarness?: string;
200
- /** When true with `agentBlockId`, route direct Deep Agent chat through the AI SDK UI-message stream. */
201
- useAgentBlockDirectChat?: boolean;
202
122
  agentChatId?: string;
203
123
  defaultThreadId?: string;
204
124
  noPersistency?: boolean;
@@ -214,43 +134,8 @@ export interface AgentChatRootProps {
214
134
  };
215
135
  useDynamicUI?: boolean;
216
136
  }
217
- export type ResolvedAgentChatConfig = Pick<AgentChatRootProps, "agentBlockId" | "agentHarness" | "agentChatData" | "shortTermMemory" | "useDynamicUI">;
218
- interface HitlResumeRequestBodyInput {
219
- appId: string;
220
- agentBlockId?: string;
221
- agentChatId?: string;
222
- chatId?: string;
223
- currentThreadId?: string;
224
- noPersistency?: boolean;
225
- shortTermMemory: {
226
- isEnabled: boolean;
227
- isPersistent?: boolean;
228
- };
229
- chatContextFiles?: Attachment[];
230
- chatContext: unknown;
231
- requestMessages: CopilotMessage[];
232
- messageId: string;
233
- input: ToolResumeInput;
234
- }
235
- export declare const buildHitlResumeRequestBody: ({ appId, agentBlockId, agentChatId, chatId, currentThreadId, noPersistency, shortTermMemory, chatContextFiles, chatContext, requestMessages, messageId, input, }: HitlResumeRequestBodyInput) => {
236
- appId: string;
237
- agentBlockId: string | undefined;
238
- agentChatId: string | undefined;
239
- chatId: string | undefined;
240
- threadId: string | undefined;
241
- noPersistency: boolean | undefined;
242
- shortTermMemory: {
243
- isEnabled: boolean;
244
- isPersistent?: boolean;
245
- };
246
- chatContextFiles: Attachment[] | undefined;
247
- chatContext: string | undefined;
248
- files: never[];
249
- messages: CopilotMessage[];
250
- messageId: string;
251
- hitlResume: ToolResumeInput;
252
- };
253
- export declare const AgentChatRoot: ({ appId, token, agentBlockId, agentHarness, useAgentBlockDirectChat, agentChatId, children, chatId, noPersistency, defaultThreadId, chatContext, chatContextFiles, agentChatData, memoryEnabled, shortTermMemory, useDynamicUI, }: AgentChatRootProps) => import("react/jsx-runtime").JSX.Element | null;
137
+ export type ResolvedAgentChatConfig = Pick<AgentChatRootProps, "agentChatData" | "shortTermMemory" | "useDynamicUI">;
138
+ export declare const AgentChatRoot: ({ appId, token, agentChatId, children, chatId, noPersistency, defaultThreadId, chatContext, chatContextFiles, agentChatData, memoryEnabled, shortTermMemory, useDynamicUI, }: AgentChatRootProps) => import("react/jsx-runtime").JSX.Element | null;
254
139
  export interface AgentChatVoiceContextValue {
255
140
  isConnected: boolean;
256
141
  isConnecting: boolean;
@@ -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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"}
@@ -1,11 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { HttpAgent } from "@ag-ui/client";
3
2
  import { AppVersionService, BlocksApiService, DataApiService, websocketsService } from "@blocksdiy/blocks-client-api";
4
3
  import { getApiHost } from "@blocksdiy/blocks-client-api/envService";
5
4
  import { WorkflowRequest } from "@blocksdiy/blocks-client-api/workflowService";
6
- import { CopilotKit, useCopilotChatInternal } from "@copilotkit/react-core";
7
5
  import { Slot } from "@radix-ui/react-slot";
8
- import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from "react";
6
+ import { createContext, useCallback, useContext, useEffect, useRef, useState } from "react";
9
7
  import { useVoiceCall } from "../hooks/use-voice-call.js";
10
8
  /* public decouple - blocks common */
11
9
  const CHAT_AGENT_HISTORY_TABLE_BLOCK_ID = "688ed13adefd8b565c779b8e";
@@ -15,7 +13,6 @@ const CHAT_AGENT_CALL_ACTION_BLOCK_ID = "688ed4d77b454b1fdaf5cf2d";
15
13
  const MAX_FILE_SIZE_MB = 5;
16
14
  const MAX_FILE_SIZE_BYTES = MAX_FILE_SIZE_MB * 1024 * 1024;
17
15
  const DEFAULT_SHORT_TERM_MEMORY = { isEnabled: true, isPersistent: true };
18
- export const ASK_USER_TOOL_NAME = "ask_user";
19
16
  const validateAndConvertFiles = (files) => {
20
17
  if (files.length === 0) {
21
18
  return null;
@@ -37,235 +34,12 @@ const generateId = (length = 10) => {
37
34
  .toString(36)
38
35
  .substring(2, 2 + length);
39
36
  };
40
- export const formatAskUserAnswerSummary = (answers) => {
41
- const lines = answers.map((answer) => {
42
- const selectedValues = answer.values !== undefined ? [...(answer.labels || []), answer.other].filter(Boolean).join(", ") : undefined;
43
- const value = selectedValues || answer.other || answer.label || answer.value || "No answer";
44
- return `- ${answer.question}: ${value}`;
45
- });
46
- return lines.join("\n");
47
- };
48
- export const buildToolResumeHiddenContent = ({ toolName = "tool", type = "tool", skipped, ...resumePayload }) => [
49
- `The user submitted a resume payload to ${toolName}.`,
50
- JSON.stringify({
51
- type: "tool_resume",
52
- status: skipped ? "skipped" : "answered",
53
- resumeType: type,
54
- toolName,
55
- skipped,
56
- ...resumePayload,
57
- }, null, 2),
58
- ].join("\n\n");
59
- export const buildAskUserAnswersHiddenContent = (input) => buildToolResumeHiddenContent({
60
- ...input,
61
- toolName: input.toolName ?? ASK_USER_TOOL_NAME,
62
- type: "ask_user",
63
- });
64
- const isToolResumeHiddenContent = (hiddenContent) => typeof hiddenContent === "string" && hiddenContent.includes('"tool_resume"');
65
- const isToolResumeCopilotMessage = (message) => message.metadata?.kind === "tool-resume" || isToolResumeHiddenContent(message.metadata?.hiddenPrompt);
66
- /**
67
- * Suppress the synthetic `TOOL_CALL_START` / `TOOL_CALL_ARGS` / `TOOL_CALL_END`
68
- * events that the AGUI LangGraph agent re-emits when a previously-streamed
69
- * tool resumes from a LangGraph `interrupt()` (e.g. the `ask_user` HITL flow).
70
- *
71
- * On resume the model is NOT re-invoked for the tool args — it just continues
72
- * from the checkpoint — so `has_function_streaming` resets to False and the
73
- * AGUI agent dispatches a synthetic START/ARGS/END pair before the real
74
- * `TOOL_CALL_RESULT`. Applied client-side by `@ag-ui/client`'s default reducer
75
- * those events:
76
- * 1. Create a synthetic empty assistant message (parent_message_id maps to
77
- * the new ToolMessage's id, which doesn't exist yet → new bubble pushed).
78
- * 2. Append the full args JSON onto the original assistant message's
79
- * already-complete tool call args (corrupting them so `parseMaybeJson`
80
- * fails and the `AskUserPart` can't render the form input).
81
- *
82
- * Both effects flash as empty bubbles in the chat until the run-end
83
- * `MESSAGES_SNAPSHOT` reconciles them. Suppressing the duplicate START (and
84
- * its paired ARGS/END) at the subscriber layer keeps the original tool call
85
- * intact and lets `TOOL_CALL_RESULT` resolve it cleanly through the existing
86
- * `normalizeCopilotToolCall` pairing logic.
87
- */
88
- const createDuplicateToolCallSuppressor = () => {
89
- const suppressedToolCallIds = new Set();
90
- return {
91
- onToolCallStartEvent: ({ event, messages }) => {
92
- const toolCallId = event.toolCallId;
93
- if (!toolCallId) {
94
- return undefined;
95
- }
96
- const alreadyPresent = messages.some((message) => message.role === "assistant" &&
97
- Array.isArray(message.toolCalls) &&
98
- message.toolCalls.some((tc) => tc.id === toolCallId));
99
- if (alreadyPresent) {
100
- suppressedToolCallIds.add(toolCallId);
101
- return { stopPropagation: true };
102
- }
103
- return undefined;
104
- },
105
- onToolCallArgsEvent: ({ event }) => {
106
- if (event.toolCallId && suppressedToolCallIds.has(event.toolCallId)) {
107
- return { stopPropagation: true };
108
- }
109
- return undefined;
110
- },
111
- onToolCallEndEvent: ({ event }) => {
112
- if (event.toolCallId && suppressedToolCallIds.has(event.toolCallId)) {
113
- suppressedToolCallIds.delete(event.toolCallId);
114
- return { stopPropagation: true };
115
- }
116
- return undefined;
117
- },
118
- };
119
- };
120
- class BlocksCopilotHttpAgent extends HttpAgent {
121
- requestHeaders = {};
122
- requestBody = {};
123
- constructor({ url }) {
124
- super({ url, headers: {} });
125
- this.subscribe(createDuplicateToolCallSuppressor());
126
- }
127
- setRequestOptions({ headers, body }) {
128
- this.requestHeaders = headers;
129
- this.requestBody = body;
130
- }
131
- clearRequestOptions() {
132
- this.requestHeaders = {};
133
- this.requestBody = {};
134
- }
135
- requestInit(input) {
136
- const init = super.requestInit({ ...input, ...this.requestBody });
137
- return {
138
- ...init,
139
- headers: {
140
- ...init.headers,
141
- ...this.requestHeaders,
142
- },
143
- };
144
- }
145
- }
146
- const parseMaybeJson = (value) => {
147
- if (typeof value !== "string") {
148
- return value;
149
- }
150
- try {
151
- return JSON.parse(value);
152
- }
153
- catch {
154
- return value;
155
- }
156
- };
157
- const legacyPayloadToCopilotMessage = (message) => ({
158
- id: message.id,
159
- role: message.role === "human" ? "user" : "assistant",
160
- content: message.content ?? "",
161
- metadata: {
162
- version: 1,
163
- hiddenPrompt: message.hiddenContent,
164
- },
165
- ...(Array.isArray(message.payload?.toolCalls) ? { toolCalls: message.payload.toolCalls } : {}),
166
- });
167
- const messageItemToCopilotMessage = (message) => {
168
- if (isToolResumeHiddenContent(message.msg.hiddenContent)) {
169
- return null;
170
- }
171
- return legacyPayloadToCopilotMessage(message.msg);
172
- };
173
- const normalizeCopilotToolCall = (toolCall, allMessages) => {
174
- const toolCallId = toolCall.id;
175
- const toolName = toolCall.function?.name ?? toolCall.name ?? "tool";
176
- const toolResult = toolCallId
177
- ? allMessages.find((candidate) => candidate.role === "tool" && candidate.toolCallId === toolCallId)
178
- : undefined;
179
- return {
180
- ...toolCall,
181
- type: `tool-${toolName}`,
182
- toolCallId,
183
- toolName,
184
- state: toolResult ? "output-available" : "input-available",
185
- input: parseMaybeJson(toolCall.function?.arguments ?? toolCall.args ?? toolCall.input),
186
- ...(toolResult ? { output: parseMaybeJson(toolResult.content) } : {}),
187
- };
188
- };
189
- const copilotMessageToLegacyPayload = (message, allMessages = []) => {
190
- if (isToolResumeCopilotMessage(message)) {
37
+ const messageItemToLegacyPayload = (message) => message.msg;
38
+ const storedMessageToLegacyView = (message) => {
39
+ if (message.msg.role !== "human" && message.msg.role !== "ai") {
191
40
  return null;
192
41
  }
193
- if (!message.id || (message.role !== "user" && message.role !== "assistant")) {
194
- return null;
195
- }
196
- if (message.role === "user" && !message.content && message.metadata?.hiddenPrompt) {
197
- return null;
198
- }
199
- const toolCalls = message.toolCalls?.map((toolCall) => normalizeCopilotToolCall(toolCall, allMessages)) ?? [];
200
- return {
201
- id: message.id,
202
- role: message.role === "user" ? "human" : "ai",
203
- type: "text",
204
- content: message.content ?? "",
205
- hiddenContent: message.metadata?.hiddenPrompt,
206
- payload: toolCalls.length ? { toolCalls } : {},
207
- };
208
- };
209
- const messageItemToLegacyPayload = (message) => isToolResumeHiddenContent(message.msg.hiddenContent) ? null : message.msg;
210
- const getToolCallName = (toolCall) => toolCall.toolName ||
211
- toolCall.function?.name ||
212
- toolCall.name ||
213
- (typeof toolCall.type === "string" ? toolCall.type.replace(/^tool-/, "") : undefined);
214
- const getToolCallId = (toolCall) => toolCall.toolCallId || toolCall.id;
215
- const isResolvedToolCall = (toolCall) => toolCall.state === "output-available" || toolCall.output !== undefined;
216
- const findPendingAskUserToolCall = (messages) => {
217
- for (let messageIndex = messages.length - 1; messageIndex >= 0; messageIndex -= 1) {
218
- const toolCalls = messages[messageIndex].msg.payload?.toolCalls;
219
- if (!Array.isArray(toolCalls)) {
220
- continue;
221
- }
222
- for (let toolIndex = toolCalls.length - 1; toolIndex >= 0; toolIndex -= 1) {
223
- const toolCall = toolCalls[toolIndex];
224
- if (!toolCall || typeof toolCall !== "object") {
225
- continue;
226
- }
227
- if (getToolCallName(toolCall) === ASK_USER_TOOL_NAME && !isResolvedToolCall(toolCall)) {
228
- return {
229
- toolCallId: getToolCallId(toolCall),
230
- toolName: ASK_USER_TOOL_NAME,
231
- };
232
- }
233
- }
234
- }
235
- return null;
236
- };
237
- const appendCopilotErrorMessage = (messages, error) => {
238
- const text = "Error: " + (error instanceof Error ? error.message : "Unknown error");
239
- const lastMessage = messages[messages.length - 1];
240
- if (lastMessage?.role === "assistant" && lastMessage.content === text) {
241
- return messages;
242
- }
243
- return [
244
- ...messages,
245
- {
246
- id: generateId(10),
247
- role: "assistant",
248
- content: text,
249
- metadata: { version: 1 },
250
- },
251
- ];
252
- };
253
- const storedMessageToLegacyView = (message, allMessages = []) => {
254
- if ("type" in message.msg) {
255
- if (message.msg.role !== "human" && message.msg.role !== "ai") {
256
- return null;
257
- }
258
- return message;
259
- }
260
- const legacyPayload = copilotMessageToLegacyPayload(message.msg, allMessages);
261
- if (legacyPayload) {
262
- return {
263
- ...message,
264
- createdAt: message.createdAt,
265
- msg: legacyPayload,
266
- };
267
- }
268
- return null;
42
+ return message;
269
43
  };
270
44
  export const useAgentChat = () => {
271
45
  const context = useContext(AgentChatContext);
@@ -421,10 +195,7 @@ const resolveAgentChatConfig = async ({ agentChatId, token, }) => {
421
195
  const agentBlock = await blocksApiService.getBlock(agentBlockId);
422
196
  agentBlockData = agentBlock?.data;
423
197
  }
424
- const agentHarness = typeof agentBlockData?.harness === "string" ? agentBlockData.harness : undefined;
425
198
  return {
426
- agentBlockId: agentHarness ? agentBlockId : undefined,
427
- agentHarness,
428
199
  shortTermMemory: agentChatBlockData?.shortTermMemory ?? DEFAULT_SHORT_TERM_MEMORY,
429
200
  useDynamicUI: agentChatBlockData?.useDynamicUI,
430
201
  agentChatData: {
@@ -450,36 +221,7 @@ const createInitialAgentMessages = (initialMessages = []) => initialMessages
450
221
  msg: { id, role: "ai", type: "text", content: initialMessage.content, payload: {} },
451
222
  };
452
223
  });
453
- const mergeMessageItemsById = (currentMessages, incomingMessages) => {
454
- const nextMessages = [...currentMessages];
455
- for (const incomingMessage of incomingMessages) {
456
- const existingIndex = nextMessages.findIndex((message) => message.msg.id === incomingMessage.msg.id);
457
- if (existingIndex !== -1) {
458
- nextMessages[existingIndex] = incomingMessage;
459
- }
460
- else {
461
- nextMessages.push(incomingMessage);
462
- }
463
- }
464
- nextMessages.sort((a, b) => Date.parse(a.createdAt) - Date.parse(b.createdAt));
465
- return nextMessages;
466
- };
467
224
  const formatChatContext = (chatContext) => (chatContext ? `Context: \n${JSON.stringify(chatContext)}` : undefined);
468
- export const buildHitlResumeRequestBody = ({ appId, agentBlockId, agentChatId, chatId, currentThreadId, noPersistency, shortTermMemory, chatContextFiles, chatContext, requestMessages, messageId, input, }) => ({
469
- appId,
470
- agentBlockId,
471
- agentChatId,
472
- chatId,
473
- threadId: currentThreadId,
474
- noPersistency,
475
- shortTermMemory,
476
- chatContextFiles,
477
- chatContext: formatChatContext(chatContext),
478
- files: [],
479
- messages: requestMessages,
480
- messageId,
481
- hitlResume: input,
482
- });
483
225
  function useAgentChatInputState({ isThinking, isFetchingMessages, sendMessage, }) {
484
226
  const [prompt, setPrompt] = useState("");
485
227
  const [attachments, setAttachments] = useState([]);
@@ -518,42 +260,32 @@ function useAgentChatInputState({ isThinking, isFetchingMessages, sendMessage, }
518
260
  setThreadIds,
519
261
  };
520
262
  }
521
- function useAgentChatDataInitialization({ agentChatData, addMessages, sendMessage, isPersistentFlow, isAgentReady = true, }) {
263
+ function useAgentChatDataInitialization({ agentChatData, addMessages, sendMessage, }) {
522
264
  const initializedAgentChatDataRef = useRef(false);
523
265
  useEffect(() => {
524
266
  if (!agentChatData || initializedAgentChatDataRef.current) {
525
267
  return;
526
268
  }
527
- if (!isAgentReady) {
528
- return;
529
- }
530
269
  const { initialMessages, initialPrompt } = agentChatData;
531
- // Persistent flow seeds initial messages via `initialAgentMessages`.
532
- if (!isPersistentFlow && initialMessages && initialMessages.length > 0) {
270
+ if (initialMessages && initialMessages.length > 0) {
533
271
  addMessages(createInitialAgentMessages(initialMessages));
534
272
  }
535
273
  if (initialPrompt?.content || initialPrompt?.hiddenContent) {
536
274
  sendMessage({ content: initialPrompt?.content, hiddenContent: initialPrompt?.hiddenContent });
537
275
  }
538
276
  initializedAgentChatDataRef.current = true;
539
- }, [agentChatData, sendMessage, addMessages, isPersistentFlow, isAgentReady]);
277
+ }, [agentChatData, sendMessage, addMessages]);
540
278
  }
541
279
  function AgentChatContextProvider({ children, ...value }) {
542
280
  return _jsx(AgentChatContext.Provider, { value: value, children: children });
543
281
  }
544
- export const AgentChatRoot = ({ appId, token, agentBlockId, agentHarness, useAgentBlockDirectChat, agentChatId, children, chatId, noPersistency, defaultThreadId, chatContext, chatContextFiles, agentChatData, memoryEnabled = false, shortTermMemory, useDynamicUI, }) => {
282
+ export const AgentChatRoot = ({ appId, token, agentChatId, children, chatId, noPersistency, defaultThreadId, chatContext, chatContextFiles, agentChatData, memoryEnabled = false, shortTermMemory, useDynamicUI, }) => {
545
283
  const [resolvedAgentChatConfig, setResolvedAgentChatConfig] = useState(null);
546
284
  const isResolvingAgentChatConfig = Boolean(agentChatId && !resolvedAgentChatConfig);
547
- const effectiveAgentBlockId = resolvedAgentChatConfig?.agentBlockId ?? agentBlockId;
548
- const effectiveAgentHarness = resolvedAgentChatConfig?.agentHarness ?? agentHarness;
549
285
  const effectiveAgentChatData = agentChatData ?? resolvedAgentChatConfig?.agentChatData;
550
286
  const effectiveShortTermMemory = shortTermMemory ?? resolvedAgentChatConfig?.shortTermMemory ?? DEFAULT_SHORT_TERM_MEMORY;
551
287
  const effectiveUseDynamicUI = useDynamicUI ?? resolvedAgentChatConfig?.useDynamicUI;
552
- const shouldUseAgentBlockDirectChat = useAgentBlockDirectChat ?? effectiveAgentHarness === "deep_agent";
553
- const isNewAgent = Boolean(effectiveAgentBlockId && shouldUseAgentBlockDirectChat);
554
- // isPersistent supersedes noPersistency on the new direct-chat path.
555
- const isPersistentFlow = isNewAgent && Boolean(effectiveShortTermMemory?.isPersistent);
556
- const effectiveNoPersistency = isNewAgent ? !effectiveShortTermMemory?.isPersistent : Boolean(noPersistency);
288
+ const effectiveNoPersistency = Boolean(noPersistency);
557
289
  const [isFetchingMessages, setIsFetchingMessages] = useState(!effectiveNoPersistency);
558
290
  const [currentThreadId, setCurrentThreadId] = useState(defaultThreadId);
559
291
  const [fetchedMessages, setFetchedMessages] = useState([]);
@@ -607,81 +339,13 @@ export const AgentChatRoot = ({ appId, token, agentBlockId, agentHarness, useAge
607
339
  return () => {
608
340
  cancelled = true;
609
341
  };
610
- }, [appId, token, chatId, currentThreadId, effectiveNoPersistency, effectiveAgentChatData, isNewAgent]);
611
- // Stable ids per (chatId, threadId) — must match the ids the backend
612
- // persists so the stream echo merges by id in the UI.
613
- const initialAgentMessageIdsRef = useRef({});
614
- const initialAgentMessages = useMemo(() => {
615
- if (!isPersistentFlow || isFetchingMessages || fetchedMessages.length > 0) {
616
- return [];
617
- }
618
- const initialMessages = effectiveAgentChatData?.initialMessages;
619
- if (!initialMessages || initialMessages.length === 0) {
620
- return [];
621
- }
622
- const validMessages = initialMessages.filter((im) => typeof im?.content === "string" && im.content.length > 0);
623
- if (validMessages.length === 0) {
624
- return [];
625
- }
626
- const cacheKey = `${chatId ?? "_"}|${currentThreadId ?? "_"}`;
627
- const cached = initialAgentMessageIdsRef.current[cacheKey] ?? [];
628
- const ids = [];
629
- for (let i = 0; i < validMessages.length; i++) {
630
- ids.push(cached[i] ?? generateId());
631
- }
632
- initialAgentMessageIdsRef.current[cacheKey] = ids;
633
- return validMessages.map((initialMessage, i) => ({
634
- id: ids[i],
635
- createdAt: new Date(1).toISOString(),
636
- msg: {
637
- id: ids[i],
638
- role: "ai",
639
- type: "text",
640
- content: initialMessage.content,
641
- payload: {},
642
- },
643
- }));
644
- }, [
645
- isPersistentFlow,
646
- isFetchingMessages,
647
- fetchedMessages.length,
648
- effectiveAgentChatData?.initialMessages,
649
- chatId,
650
- currentThreadId,
651
- ]);
342
+ }, [appId, token, chatId, currentThreadId, effectiveNoPersistency, effectiveAgentChatData]);
652
343
  if (isResolvingAgentChatConfig) {
653
344
  return null;
654
345
  }
655
- const commonProps = {
656
- appId,
657
- token,
658
- agentBlockId: effectiveAgentBlockId,
659
- agentHarness: effectiveAgentHarness,
660
- useAgentBlockDirectChat,
661
- agentChatId,
662
- children,
663
- chatId,
664
- noPersistency,
665
- defaultThreadId,
666
- chatContext,
667
- chatContextFiles,
668
- agentChatData: effectiveAgentChatData,
669
- memoryEnabled,
670
- shortTermMemory: effectiveShortTermMemory,
671
- useDynamicUI: effectiveUseDynamicUI,
672
- isFetchingMessages,
673
- currentThreadId,
674
- setCurrentThreadId,
675
- fetchedMessages,
676
- initialAgentMessages,
677
- isPersistentFlow,
678
- };
679
- if (isNewAgent) {
680
- return _jsx(CopilotAgentChatRootProvider, { ...commonProps });
681
- }
682
- return _jsx(LegacyAgentChatProvider, { ...commonProps });
346
+ return (_jsx(LegacyAgentChatProvider, { appId: appId, token: token, agentChatId: agentChatId, chatId: chatId, noPersistency: noPersistency, defaultThreadId: defaultThreadId, chatContext: chatContext, chatContextFiles: chatContextFiles, agentChatData: effectiveAgentChatData, memoryEnabled: memoryEnabled, shortTermMemory: effectiveShortTermMemory, useDynamicUI: effectiveUseDynamicUI, isFetchingMessages: isFetchingMessages, currentThreadId: currentThreadId, setCurrentThreadId: setCurrentThreadId, fetchedMessages: fetchedMessages, children: children }));
683
347
  };
684
- function LegacyAgentChatProvider({ appId, token, agentChatId, children, chatId, noPersistency, currentThreadId, chatContext, chatContextFiles, agentChatData, memoryEnabled = false, shortTermMemory = { isEnabled: true, isPersistent: true }, isFetchingMessages, setCurrentThreadId, fetchedMessages, initialAgentMessages, isPersistentFlow, }) {
348
+ function LegacyAgentChatProvider({ appId, token, agentChatId, children, chatId, noPersistency, currentThreadId, chatContext, chatContextFiles, agentChatData, memoryEnabled = false, shortTermMemory = { isEnabled: true, isPersistent: true }, isFetchingMessages, setCurrentThreadId, fetchedMessages, }) {
685
349
  const [messages, setMessages] = useState([]);
686
350
  const [isThinking, setIsThinking] = useState(false);
687
351
  const addMessages = useCallback((messagesToAdd) => {
@@ -803,282 +467,13 @@ function LegacyAgentChatProvider({ appId, token, agentChatId, children, chatId,
803
467
  memoryEnabled,
804
468
  shortTermMemory,
805
469
  ]);
806
- const submitToolResume = useCallback(async (input) => {
807
- await sendMessage({
808
- content: "",
809
- hiddenContent: buildToolResumeHiddenContent(input),
810
- });
811
- }, [sendMessage]);
812
- const submitAskUserAnswers = useCallback(async (input) => {
813
- await sendMessage({
814
- content: formatAskUserAnswerSummary(input.answers),
815
- hiddenContent: buildAskUserAnswersHiddenContent(input),
816
- });
817
- }, [sendMessage]);
818
470
  useAgentChatDataInitialization({
819
471
  agentChatData,
820
472
  addMessages,
821
473
  sendMessage,
822
- isPersistentFlow,
823
- });
824
- const inputState = useAgentChatInputState({ isThinking, isFetchingMessages, sendMessage });
825
- return (_jsx(AgentChatContextProvider, { ...inputState, messages: flattenLegacyMessages(messages), initialAgentMessages: initialAgentMessages, isThinking: isThinking, isFetchingMessages: isFetchingMessages, currentThreadId: currentThreadId, agentChatData: agentChatData, sendMessage: sendMessage, submitToolResume: submitToolResume, submitAskUserAnswers: submitAskUserAnswers, addMessages: addMessages, setCurrentThreadId: setCurrentThreadId, appId: appId, token: token, agentChatId: agentChatId, chatId: chatId, noPersistency: noPersistency, children: children }));
826
- }
827
- function CopilotAgentChatRootProvider({ appId, token, ...props }) {
828
- const copilotRuntimeUrl = `${getApiHost()}/agent-chat-stream`;
829
- const agent = useMemo(() => new BlocksCopilotHttpAgent({ url: copilotRuntimeUrl }), [copilotRuntimeUrl]);
830
- const agents = useMemo(() => ({ default: agent }), [agent]);
831
- return (_jsx(CopilotKit, { runtimeUrl: copilotRuntimeUrl, agents__unsafe_dev_only: agents, children: _jsx(CopilotAgentChatProvider, { ...props, appId: appId, token: token, copilotAgent: agent }) }));
832
- }
833
- function CopilotAgentChatProvider({ appId, token, agentBlockId, agentChatId, children, chatId, noPersistency, currentThreadId, chatContext, chatContextFiles, agentChatData, shortTermMemory = { isEnabled: true, isPersistent: true }, useDynamicUI, isFetchingMessages, setCurrentThreadId, fetchedMessages, initialAgentMessages, isPersistentFlow, copilotAgent, }) {
834
- const [externalMessages, setExternalMessages] = useState([]);
835
- const copilotMessageCreatedAtByIdRef = useRef({});
836
- const previousCopilotChatIdRef = useRef(undefined);
837
- // Latest snapshot of public `messages` for callbacks that read it after an
838
- // await. The closure value goes stale after `runHitlResume` resolves — the
839
- // resume's stream events update copilotMessages → messages, but the callback
840
- // still sees the value captured at invocation time.
841
- const messagesRef = useRef([]);
842
- const copilotChatId = useMemo(() => [appId, agentChatId, chatId, currentThreadId].filter(Boolean).join(":"), [appId, agentChatId, chatId, currentThreadId]);
843
- const { messages: copilotMessages, sendMessage: sendCopilotMessage, setMessages: setCopilotMessages, isLoading: isCopilotLoading, } = useCopilotChatInternal();
844
- // Wait one commit before firing the init send: CopilotKit's setup effect aborts the
845
- // HttpAgent's AbortController on cleanup, killing any in-flight stream started before
846
- // its `runtimeConnectionStatus` settles.
847
- const [hasMounted, setHasMounted] = useState(false);
848
- useEffect(() => {
849
- setHasMounted(true);
850
- }, []);
851
- useEffect(() => {
852
- if (previousCopilotChatIdRef.current === copilotChatId) {
853
- return;
854
- }
855
- previousCopilotChatIdRef.current = copilotChatId;
856
- copilotMessageCreatedAtByIdRef.current = {};
857
- setExternalMessages([]);
858
- setCopilotMessages([]);
859
- }, [copilotChatId, setCopilotMessages]);
860
- const copilotMessageItems = useMemo(() => copilotMessages
861
- .map((message) => {
862
- const legacyPayload = copilotMessageToLegacyPayload(message, copilotMessages);
863
- if (!legacyPayload) {
864
- return null;
865
- }
866
- copilotMessageCreatedAtByIdRef.current[legacyPayload.id] ??= new Date().toISOString();
867
- return {
868
- createdAt: copilotMessageCreatedAtByIdRef.current[legacyPayload.id],
869
- msg: legacyPayload,
870
- };
871
- })
872
- .filter((message) => Boolean(message)), [copilotMessages]);
873
- const messages = useMemo(() => {
874
- const fetchedCopilotMessages = fetchedMessages
875
- .map((message) => message.msg)
876
- .filter((message) => !("type" in message));
877
- const fetchedMessageItems = fetchedMessages
878
- .map((message) => storedMessageToLegacyView(message, fetchedCopilotMessages))
879
- .filter((message) => Boolean(message));
880
- // Seed initial agent messages so the stream echo merges by id and keeps the early createdAt.
881
- const nextMessages = mergeMessageItemsById(mergeMessageItemsById(initialAgentMessages, fetchedMessageItems), externalMessages);
882
- for (const messageItem of copilotMessageItems) {
883
- const existingIndex = nextMessages.findIndex((message) => message.msg.id === messageItem.msg.id);
884
- if (existingIndex !== -1) {
885
- nextMessages[existingIndex] = {
886
- ...nextMessages[existingIndex],
887
- ...messageItem,
888
- createdAt: nextMessages[existingIndex].createdAt,
889
- };
890
- }
891
- else {
892
- nextMessages.push(messageItem);
893
- }
894
- }
895
- nextMessages.sort((a, b) => Date.parse(a.createdAt) - Date.parse(b.createdAt));
896
- return nextMessages;
897
- }, [copilotMessageItems, externalMessages, fetchedMessages, initialAgentMessages]);
898
- const isThinking = isCopilotLoading;
899
- useEffect(() => {
900
- messagesRef.current = messages;
901
- }, [messages]);
902
- const addExternalMessages = useCallback((messagesToAdd) => {
903
- const copilotMessagesToAdd = messagesToAdd
904
- .map((message) => message.msg)
905
- .filter((message) => !("type" in message));
906
- const normalizedMessages = messagesToAdd
907
- .map((message) => storedMessageToLegacyView(message, copilotMessagesToAdd))
908
- .filter((message) => Boolean(message));
909
- setExternalMessages((prevMessages) => mergeMessageItemsById(prevMessages, normalizedMessages));
910
- }, []);
911
- const addCopilotErrorMessage = useCallback((error) => {
912
- setCopilotMessages(appendCopilotErrorMessage(copilotMessages, error));
913
- }, [copilotMessages, setCopilotMessages]);
914
- const runHitlResume = useCallback(async (input) => {
915
- const messageId = generateId();
916
- const hiddenContent = buildToolResumeHiddenContent(input);
917
- const userCopilotMessage = {
918
- id: messageId,
919
- role: "user",
920
- content: "",
921
- metadata: { version: 1, hiddenPrompt: hiddenContent, kind: "tool-resume" },
922
- };
923
- // Always read the latest snapshot — the resume flow can be invoked from
924
- // sendMessage's skipped path right after another awaited resume settled.
925
- const latestMessages = messagesRef.current;
926
- const requestMessages = latestMessages
927
- .map(messageItemToCopilotMessage)
928
- .filter((requestMessage) => Boolean(requestMessage));
929
- setCopilotMessages(requestMessages);
930
- copilotAgent.setRequestOptions({
931
- headers: {
932
- ...(token ? { Authorization: `Bearer ${token}` } : {}),
933
- ...(AppVersionService.getCurrentVersionNumber()
934
- ? { "x-app-version": String(AppVersionService.getCurrentVersionNumber()) }
935
- : {}),
936
- ...(websocketsService.getSocketId() ? { "x-socket-id": websocketsService.getSocketId() } : {}),
937
- ...(appId ? { "x-app-id": appId } : {}),
938
- },
939
- body: buildHitlResumeRequestBody({
940
- appId,
941
- agentBlockId,
942
- agentChatId,
943
- chatId,
944
- currentThreadId,
945
- noPersistency,
946
- shortTermMemory,
947
- chatContextFiles,
948
- chatContext,
949
- requestMessages,
950
- messageId,
951
- input,
952
- }),
953
- });
954
- try {
955
- await sendCopilotMessage(userCopilotMessage);
956
- }
957
- finally {
958
- copilotAgent.clearRequestOptions();
959
- }
960
- }, [
961
- agentBlockId,
962
- agentChatId,
963
- appId,
964
- chatId,
965
- chatContext,
966
- chatContextFiles,
967
- copilotAgent,
968
- currentThreadId,
969
- noPersistency,
970
- sendCopilotMessage,
971
- setCopilotMessages,
972
- shortTermMemory,
973
- token,
974
- ]);
975
- const sendMessage = useCallback(async ({ content, hiddenContent, ...message }) => {
976
- try {
977
- const pendingAskUser = findPendingAskUserToolCall(messages);
978
- if (pendingAskUser?.toolCallId) {
979
- await runHitlResume({
980
- toolCallId: pendingAskUser.toolCallId,
981
- toolName: ASK_USER_TOOL_NAME,
982
- type: "ask_user",
983
- answers: [],
984
- skipped: true,
985
- });
986
- }
987
- const messageId = generateId();
988
- const uploadedAttachments = await uploadAttachments({ attachments: message.attachments, appId, token });
989
- const userCopilotMessage = {
990
- id: messageId,
991
- role: "user",
992
- content: content ?? "",
993
- metadata: { version: 1, hiddenPrompt: hiddenContent ?? undefined },
994
- };
995
- // Read the latest messages snapshot (the closure value is stale after
996
- // the awaited skipped resume — it still reflects the state before the
997
- // resume's stream populated copilotMessages with the resolved tool
998
- // result and any AI follow-up).
999
- const latestMessages = messagesRef.current;
1000
- const requestMessages = latestMessages
1001
- .map(messageItemToCopilotMessage)
1002
- .filter((requestMessage) => Boolean(requestMessage));
1003
- setCopilotMessages(requestMessages);
1004
- copilotAgent.setRequestOptions({
1005
- headers: {
1006
- ...(token ? { Authorization: `Bearer ${token}` } : {}),
1007
- ...(AppVersionService.getCurrentVersionNumber()
1008
- ? { "x-app-version": String(AppVersionService.getCurrentVersionNumber()) }
1009
- : {}),
1010
- ...(websocketsService.getSocketId() ? { "x-socket-id": websocketsService.getSocketId() } : {}),
1011
- ...(appId ? { "x-app-id": appId } : {}),
1012
- },
1013
- body: {
1014
- appId,
1015
- agentBlockId,
1016
- agentChatId,
1017
- chatId,
1018
- threadId: currentThreadId,
1019
- noPersistency,
1020
- shortTermMemory,
1021
- useDynamicUI,
1022
- chatContextFiles,
1023
- chatContext: formatChatContext(chatContext),
1024
- files: uploadedAttachments,
1025
- messages: [...requestMessages, userCopilotMessage],
1026
- messageId,
1027
- initialMessageIds: initialAgentMessages.map((m) => m.msg.id),
1028
- },
1029
- });
1030
- await sendCopilotMessage(userCopilotMessage);
1031
- }
1032
- catch (error) {
1033
- addCopilotErrorMessage(error);
1034
- }
1035
- finally {
1036
- copilotAgent.clearRequestOptions();
1037
- }
1038
- }, [
1039
- addCopilotErrorMessage,
1040
- agentBlockId,
1041
- agentChatId,
1042
- appId,
1043
- chatId,
1044
- chatContext,
1045
- chatContextFiles,
1046
- copilotAgent,
1047
- currentThreadId,
1048
- messages,
1049
- noPersistency,
1050
- runHitlResume,
1051
- sendCopilotMessage,
1052
- setCopilotMessages,
1053
- shortTermMemory,
1054
- token,
1055
- initialAgentMessages,
1056
- useDynamicUI,
1057
- ]);
1058
- const submitToolResume = useCallback(async (input) => {
1059
- try {
1060
- await runHitlResume(input);
1061
- }
1062
- catch (error) {
1063
- addCopilotErrorMessage(error);
1064
- }
1065
- }, [addCopilotErrorMessage, runHitlResume]);
1066
- const submitAskUserAnswers = useCallback(async (input) => {
1067
- await submitToolResume({
1068
- ...input,
1069
- toolName: input.toolName ?? ASK_USER_TOOL_NAME,
1070
- type: "ask_user",
1071
- });
1072
- }, [submitToolResume]);
1073
- useAgentChatDataInitialization({
1074
- agentChatData,
1075
- addMessages: addExternalMessages,
1076
- sendMessage,
1077
- isPersistentFlow,
1078
- isAgentReady: hasMounted && (!isPersistentFlow || (!isFetchingMessages && fetchedMessages.length === 0)),
1079
474
  });
1080
475
  const inputState = useAgentChatInputState({ isThinking, isFetchingMessages, sendMessage });
1081
- return (_jsx(AgentChatContextProvider, { ...inputState, messages: messages, initialAgentMessages: initialAgentMessages, isThinking: isThinking, isFetchingMessages: isFetchingMessages, currentThreadId: currentThreadId, agentChatData: agentChatData, sendMessage: sendMessage, submitToolResume: submitToolResume, submitAskUserAnswers: submitAskUserAnswers, addMessages: addExternalMessages, setCurrentThreadId: setCurrentThreadId, appId: appId, token: token, agentBlockId: agentBlockId, agentChatId: agentChatId, chatId: chatId, noPersistency: noPersistency, children: children }));
476
+ return (_jsx(AgentChatContextProvider, { ...inputState, messages: flattenLegacyMessages(messages), isThinking: isThinking, isFetchingMessages: isFetchingMessages, currentThreadId: currentThreadId, agentChatData: agentChatData, sendMessage: sendMessage, addMessages: addMessages, setCurrentThreadId: setCurrentThreadId, appId: appId, token: token, agentChatId: agentChatId, chatId: chatId, noPersistency: noPersistency, children: children }));
1082
477
  }
1083
478
  const AgentChatVoiceContext = createContext(null);
1084
479
  const noopVoice = {
@@ -1 +1 @@
1
- {"version":3,"file":"new-agent-chat.d.ts","sourceRoot":"","sources":["../../src/components/new-agent-chat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAK/D,OAAO,EAEL,SAAS,EACT,cAAc,EAQf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAOtH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,6BAA6B,GAAI,MAAM,MAAM,WAEzD,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,aAAa,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAuED,MAAM,WAAW,qBAAqB;IAEpC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,kBAAkB,EAAE,CAAC;IAGjC,WAAW,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IACpD,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAG7B,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC7D,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,kBAAkB,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAED,eAAO,MAAM,gBAAgB,uDAAoD,CAAC;AAElF,eAAO,MAAM,YAAY,6BAMxB,CAAC;AAkWF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gGAAgG;IAChG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mGAAmG;IACnG,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;CAIjC;AAED,eAAO,MAAM,aAAa,GAAI,cAK3B,kBAAkB,mDAyEpB,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,qBAAqB,2CAEjH;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,OAAe,EACf,UAAiB,EACjB,mBAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,sBAAsB,2CAwBtD;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,OAAe,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,sBAAsB,kDASpH;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,OAAe,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,sBAAsB,kDASpH;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAe,EACf,QAAQ,EACR,SAAS,EACT,OAAO,EACP,UAAU,EACV,WAAW,EACX,MAAM,EACN,QAAQ,EACR,WAAkB,EAClB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,mBAAmB,2CA2JxD;AACD,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,OAAe,EACf,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,yBAAyB,2CAwB5D;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,0BAA0B,CAAC,EACzC,OAAe,EACf,OAAO,EACP,QAAQ,EACR,MAAM,EACN,QAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,+BAA+B,2CAsDlE;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,OAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,wBAAwB,2CAIxD;AAED,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,yBAAyB,CAAC,EACxC,UAAU,EACV,OAAe,EACf,OAAO,EACP,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,8BAA8B,2CAcjE"}
1
+ {"version":3,"file":"new-agent-chat.d.ts","sourceRoot":"","sources":["../../src/components/new-agent-chat.tsx"],"names":[],"mappings":"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"}
@@ -162,16 +162,17 @@ const ChatInitializer = ({ agentId, agentChatId, chatId, token, appId, component
162
162
  }));
163
163
  return maybeComponentBlocks.filter((component) => Boolean(component));
164
164
  }, [blocksApiService, componentIds]);
165
- const sendAgentInitialPrompt = useCallback((agentInitialPrompt) => {
165
+ const componentIdsKey = componentIds?.join(",") ?? "";
166
+ const sendAgentInitialPrompt = useCallback(async (agentInitialPrompt) => {
166
167
  if (!agentInitialPrompt) {
167
168
  return;
168
169
  }
169
170
  const { content, hiddenContent } = agentInitialPrompt;
170
171
  if (content) {
171
- sendMessage({ content });
172
+ await sendMessage({ content });
172
173
  }
173
174
  if (hiddenContent) {
174
- sendMessage({ content: hiddenContent });
175
+ await sendMessage({ content: hiddenContent });
175
176
  }
176
177
  }, [sendMessage]);
177
178
  const initKeyRef = useRef(null);
@@ -185,7 +186,7 @@ const ChatInitializer = ({ agentId, agentChatId, chatId, token, appId, component
185
186
  currentThreadId ?? "",
186
187
  agentId ?? "",
187
188
  agentChatId ?? "",
188
- componentIds?.join(",") ?? "",
189
+ componentIdsKey,
189
190
  token ?? "",
190
191
  appId ?? "",
191
192
  ].join("|");
@@ -242,7 +243,7 @@ const ChatInitializer = ({ agentId, agentChatId, chatId, token, appId, component
242
243
  initialPromptSentRef.current = false;
243
244
  };
244
245
  // eslint-disable-next-line react-hooks/exhaustive-deps
245
- }, [chatId, currentThreadId, agentId, agentChatId, token, appId]);
246
+ }, [chatId, currentThreadId, agentId, agentChatId, componentIdsKey, token, appId]);
246
247
  // After CopilotKit's `connectAgent` resolves, the agent's message list
247
248
  // already reflects whatever the backend replayed (history + any
248
249
  // seeded initial messages). If the thread is still empty AND the
@@ -280,7 +281,7 @@ const ChatInitializer = ({ agentId, agentChatId, chatId, token, appId, component
280
281
  return;
281
282
  }
282
283
  initialPromptSentRef.current = true;
283
- sendAgentInitialPrompt(agentChat.initialPrompt);
284
+ void sendAgentInitialPrompt(agentChat.initialPrompt);
284
285
  }, [isAgentReady, isConfigLoaded, agentChat, copilotAgent, canSendMessage, sendAgentInitialPrompt]);
285
286
  const sendFromInputs = async () => {
286
287
  if (!canSendMessage) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blocksdiy/react-common",
3
- "version": "1.24.0",
3
+ "version": "1.24.1",
4
4
  "type": "module",
5
5
  "description": "React common",
6
6
  "keywords": [],