feat: add update variable node (#1362)

* feat: add variable update node

* fix

* fix

* change component quote
This commit is contained in:
heheer
2024-05-06 12:20:29 +08:00
committed by GitHub
parent d057ba29f0
commit 59bd2a47b6
25 changed files with 503 additions and 36 deletions

View File

@@ -69,7 +69,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
const { text, files } = chatValue2RuntimePrompt(prompt);
/* start process */
const { flowResponses, flowUsages } = await dispatchWorkFlow({
const { flowResponses, flowUsages, newVariables } = await dispatchWorkFlow({
res,
mode: 'test',
teamId,
@@ -99,6 +99,11 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
event: SseResponseEventEnum.flowResponses,
data: JSON.stringify(flowResponses)
});
responseWrite({
res,
event: SseResponseEventEnum.variables,
data: JSON.stringify(newVariables)
});
res.end();
pushChatUsage({

View File

@@ -179,7 +179,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const responseChatItemId: string | undefined = messages[messages.length - 1].dataId;
/* start flow controller */
const { flowResponses, flowUsages, assistantResponses } = await (async () => {
const { flowResponses, flowUsages, assistantResponses, newVariables } = await (async () => {
if (app.version === 'v2') {
return dispatchWorkFlow({
res,
@@ -247,7 +247,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
appId: app._id,
teamId,
tmbId: tmbId,
variables,
variables: newVariables,
isUpdateUseTime: isOwnerUse && source === ChatSourceEnum.online, // owner update use time
shareId,
outLinkUid: outLinkUserId,
@@ -288,6 +288,11 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
event: detail ? SseResponseEventEnum.answer : undefined,
data: '[DONE]'
});
responseWrite({
res,
event: SseResponseEventEnum.variables,
data: JSON.stringify(newVariables)
});
if (responseDetail && detail) {
responseWrite({

View File

@@ -74,7 +74,7 @@ const Chat = ({ appId, chatId }: { appId: string; chatId: string }) => {
const prompts = messages.slice(-2);
const completionChatId = chatId ? chatId : nanoid();
const { responseText, responseData } = await streamFetch({
const { responseText, responseData, newVariables } = await streamFetch({
data: {
messages: prompts,
variables,
@@ -123,7 +123,7 @@ const Chat = ({ appId, chatId }: { appId: string; chatId: string }) => {
history: ChatBoxRef.current?.getChatHistories() || state.history
}));
return { responseText, responseData, isNewChat: forbidRefresh.current };
return { responseText, responseData, isNewChat: forbidRefresh.current, newVariables };
},
[appId, chatId, histories, pushHistory, router, setChatData, updateHistory]
);

View File

@@ -95,7 +95,7 @@ const OutLink = ({
'*'
);
const { responseText, responseData } = await streamFetch({
const { responseText, responseData, newVariables } = await streamFetch({
data: {
messages: prompts,
variables: {
@@ -169,7 +169,7 @@ const OutLink = ({
'*'
);
return { responseText, responseData, isNewChat: forbidRefresh.current };
return { responseText, responseData, isNewChat: forbidRefresh.current, newVariables };
},
[
chatId,

View File

@@ -79,7 +79,7 @@ const OutLink = () => {
const prompts = messages.slice(-2);
const completionChatId = chatId ? chatId : nanoid();
const { responseText, responseData } = await streamFetch({
const { responseText, responseData, newVariables } = await streamFetch({
data: {
messages: prompts,
variables: {
@@ -135,7 +135,7 @@ const OutLink = () => {
history: ChatBoxRef.current?.getChatHistories() || state.history
}));
return { responseText, responseData, isNewChat: forbidRefresh.current };
return { responseText, responseData, isNewChat: forbidRefresh.current, newVariables };
},
[appId, teamToken, chatId, histories, pushHistory, router, setChatData, teamId, updateHistory]
);