新增用户意图确认功能
This commit is contained in:
1 parent
cf2e4bdd9c
commit
b8926f00d7
574 files changed
+97664
-97208
No files matched your search
@@ -1,53 +1,53 @@
|
||||
import { createContext, useCallback, useContext, useState } from "react";
|
||||
|
||||
import type { Subtask } from "./types";
|
||||
|
||||
export interface SubtaskContextValue {
|
||||
tasks: Record<string, Subtask>;
|
||||
setTasks: (tasks: Record<string, Subtask>) => void;
|
||||
}
|
||||
|
||||
export const SubtaskContext = createContext<SubtaskContextValue>({
|
||||
tasks: {},
|
||||
setTasks: () => {
|
||||
/* noop */
|
||||
},
|
||||
});
|
||||
|
||||
export function SubtasksProvider({ children }: { children: React.ReactNode }) {
|
||||
const [tasks, setTasks] = useState<Record<string, Subtask>>({});
|
||||
return (
|
||||
<SubtaskContext.Provider value={{ tasks, setTasks }}>
|
||||
{children}
|
||||
</SubtaskContext.Provider>
|
||||
);
|
||||
}
|
||||
|
||||
export function useSubtaskContext() {
|
||||
const context = useContext(SubtaskContext);
|
||||
if (context === undefined) {
|
||||
throw new Error(
|
||||
"useSubtaskContext must be used within a SubtaskContext.Provider",
|
||||
);
|
||||
}
|
||||
return context;
|
||||
}
|
||||
|
||||
export function useSubtask(id: string) {
|
||||
const { tasks } = useSubtaskContext();
|
||||
return tasks[id];
|
||||
}
|
||||
|
||||
export function useUpdateSubtask() {
|
||||
const { tasks, setTasks } = useSubtaskContext();
|
||||
const updateSubtask = useCallback(
|
||||
(task: Partial<Subtask> & { id: string }) => {
|
||||
tasks[task.id] = { ...tasks[task.id], ...task } as Subtask;
|
||||
if (task.latestMessage) {
|
||||
setTasks({ ...tasks });
|
||||
}
|
||||
},
|
||||
[tasks, setTasks],
|
||||
);
|
||||
return updateSubtask;
|
||||
}
|
||||
import { createContext, useCallback, useContext, useState } from "react";
|
||||
|
||||
import type { Subtask } from "./types";
|
||||
|
||||
export interface SubtaskContextValue {
|
||||
tasks: Record<string, Subtask>;
|
||||
setTasks: (tasks: Record<string, Subtask>) => void;
|
||||
}
|
||||
|
||||
export const SubtaskContext = createContext<SubtaskContextValue>({
|
||||
tasks: {},
|
||||
setTasks: () => {
|
||||
/* noop */
|
||||
},
|
||||
});
|
||||
|
||||
export function SubtasksProvider({ children }: { children: React.ReactNode }) {
|
||||
const [tasks, setTasks] = useState<Record<string, Subtask>>({});
|
||||
return (
|
||||
<SubtaskContext.Provider value={{ tasks, setTasks }}>
|
||||
{children}
|
||||
</SubtaskContext.Provider>
|
||||
);
|
||||
}
|
||||
|
||||
export function useSubtaskContext() {
|
||||
const context = useContext(SubtaskContext);
|
||||
if (context === undefined) {
|
||||
throw new Error(
|
||||
"useSubtaskContext must be used within a SubtaskContext.Provider",
|
||||
);
|
||||
}
|
||||
return context;
|
||||
}
|
||||
|
||||
export function useSubtask(id: string) {
|
||||
const { tasks } = useSubtaskContext();
|
||||
return tasks[id];
|
||||
}
|
||||
|
||||
export function useUpdateSubtask() {
|
||||
const { tasks, setTasks } = useSubtaskContext();
|
||||
const updateSubtask = useCallback(
|
||||
(task: Partial<Subtask> & { id: string }) => {
|
||||
tasks[task.id] = { ...tasks[task.id], ...task } as Subtask;
|
||||
if (task.latestMessage) {
|
||||
setTasks({ ...tasks });
|
||||
}
|
||||
},
|
||||
[tasks, setTasks],
|
||||
);
|
||||
return updateSubtask;
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
export * from "./types";
|
||||
export * from "./types";
|
||||
@@ -1,12 +1,12 @@
|
||||
import type { AIMessage } from "@langchain/langgraph-sdk";
|
||||
|
||||
export interface Subtask {
|
||||
id: string;
|
||||
status: "in_progress" | "completed" | "failed";
|
||||
subagent_type: string;
|
||||
description: string;
|
||||
latestMessage?: AIMessage;
|
||||
prompt: string;
|
||||
result?: string;
|
||||
error?: string;
|
||||
}
|
||||
import type { AIMessage } from "@langchain/langgraph-sdk";
|
||||
|
||||
export interface Subtask {
|
||||
id: string;
|
||||
status: "in_progress" | "completed" | "failed";
|
||||
subagent_type: string;
|
||||
description: string;
|
||||
latestMessage?: AIMessage;
|
||||
prompt: string;
|
||||
result?: string;
|
||||
error?: string;
|
||||
}
|
||||
Reference in new issue
Block a user