- 新增 LoadTaskMessages 命令,加载子智能体任务的历史消息 - SubAgentEmitter 通过 MessageBus 实时广播子智能体工具调用 - 前端新增子智能体视图,支持导航进入/退出子智能体会话 - 外部渠道过滤子智能体事件,避免推送到飞书/微信 - ToolCall/ToolResult 新增 subagent_task_id 字段 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
36 lines
922 B
TypeScript
36 lines
922 B
TypeScript
import { MessageList } from './MessageList'
|
|
import { MessageInput } from './MessageInput'
|
|
import type { ChatMessage } from '../../types/protocol'
|
|
|
|
interface ChatContainerProps {
|
|
messages: ChatMessage[]
|
|
isLoading: boolean
|
|
isReadOnly?: boolean
|
|
channelName?: string
|
|
onSendMessage: (content: string) => void
|
|
onNavigateToSubAgent?: (taskId: string, description: string) => void
|
|
}
|
|
|
|
export function ChatContainer({
|
|
messages,
|
|
isLoading,
|
|
isReadOnly = false,
|
|
channelName,
|
|
onSendMessage,
|
|
onNavigateToSubAgent,
|
|
}: ChatContainerProps) {
|
|
return (
|
|
<div className="flex h-full flex-col">
|
|
<div className="flex-1 overflow-hidden">
|
|
<MessageList messages={messages} onNavigateToSubAgent={onNavigateToSubAgent} />
|
|
</div>
|
|
<MessageInput
|
|
onSend={onSendMessage}
|
|
disabled={isLoading}
|
|
isReadOnly={isReadOnly}
|
|
channelName={channelName}
|
|
/>
|
|
</div>
|
|
)
|
|
}
|