@stack-spot/ai-chat-widget 2.7.1 → 2.8.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.
- package/CHANGELOG.md +14 -0
- package/dist/app-metadata.json +2 -2
- package/dist/chat-interceptors/send-message.d.ts.map +1 -1
- package/dist/chat-interceptors/send-message.js +0 -15
- package/dist/chat-interceptors/send-message.js.map +1 -1
- package/dist/context/hooks.d.ts +1 -0
- package/dist/context/hooks.d.ts.map +1 -1
- package/dist/context/hooks.js +24 -0
- package/dist/context/hooks.js.map +1 -1
- package/dist/utils/tools.d.ts +17 -8
- package/dist/utils/tools.d.ts.map +1 -1
- package/dist/utils/tools.js +20 -9
- package/dist/utils/tools.js.map +1 -1
- package/dist/views/Agents/AgentDescription.d.ts.map +1 -1
- package/dist/views/Agents/AgentDescription.js +5 -14
- package/dist/views/Agents/AgentDescription.js.map +1 -1
- package/dist/views/Agents/AgentsTab.d.ts.map +1 -1
- package/dist/views/Agents/AgentsTab.js +3 -2
- package/dist/views/Agents/AgentsTab.js.map +1 -1
- package/dist/views/Chat/ChatMessage.d.ts.map +1 -1
- package/dist/views/Chat/ChatMessage.js +14 -21
- package/dist/views/Chat/ChatMessage.js.map +1 -1
- package/dist/views/Chat/StepsList.d.ts +2 -8
- package/dist/views/Chat/StepsList.d.ts.map +1 -1
- package/dist/views/Chat/StepsList.js +7 -6
- package/dist/views/Chat/StepsList.js.map +1 -1
- package/dist/views/Resources.js +8 -5
- package/dist/views/Resources.js.map +1 -1
- package/dist/views/Tools.js +1 -1
- package/dist/views/Tools.js.map +1 -1
- package/package.json +1 -1
- package/src/app-metadata.json +2 -2
- package/src/chat-interceptors/send-message.ts +0 -17
- package/src/context/hooks.ts +24 -0
- package/src/utils/tools.ts +28 -17
- package/src/views/Agents/AgentDescription.tsx +40 -36
- package/src/views/Agents/AgentsTab.tsx +3 -2
- package/src/views/Chat/ChatMessage.tsx +14 -22
- package/src/views/Chat/StepsList.tsx +8 -8
- package/src/views/Resources.tsx +11 -10
- package/src/views/Tools.tsx +1 -1
|
@@ -7,7 +7,7 @@ import { findLast, findLastIndex } from 'lodash';
|
|
|
7
7
|
import { useEffect, useMemo } from 'react';
|
|
8
8
|
import styled from 'styled-components';
|
|
9
9
|
import { Markdown } from '../../components/Markdown.js';
|
|
10
|
-
import { useChat, useChatMessages, useCurrentChat, useCurrentChatMessages, useWidget } from '../../context/hooks.js';
|
|
10
|
+
import { useChat, useChatMessages, useCurrentChat, useCurrentChatMessages, useIsLastEntryInCurrentChat, useWidget } from '../../context/hooks.js';
|
|
11
11
|
import { ChatEntry } from '../../state/ChatEntry.js';
|
|
12
12
|
import { planningToolDictionaryHelper } from '../../utils/planning-tool.js';
|
|
13
13
|
import { updateToolStep } from '../../utils/update-tool-step.js';
|
|
@@ -54,10 +54,11 @@ const AwaitingApproval = ({ customApproveText, chatId }) => {
|
|
|
54
54
|
};
|
|
55
55
|
return _jsx(_Fragment, { children: _jsxs(Row, { gap: "8px", children: [_jsx(Button, { colorScheme: "light", onClick: () => onAnswer(t.cancel), children: _jsxs(Row, { gap: "8px", children: [_jsx(Icon, { icon: "Stop" }), t.cancel] }) }), _jsx(Button, { colorScheme: "inverse", onClick: () => onAnswer(customApproveText ?? t.approve), children: _jsxs(Row, { gap: "8px", children: [_jsx(Icon, { group: "fill", icon: "Play" }), customApproveText ?? t.approve] }) })] }) });
|
|
56
56
|
};
|
|
57
|
-
|
|
57
|
+
const ToolStepsList = ({ toolStep, messageId, chatId }) => {
|
|
58
58
|
const t = useTranslate(dictionary);
|
|
59
59
|
const chat = useCurrentChat();
|
|
60
60
|
const messages = useCurrentChatMessages();
|
|
61
|
+
const isLastMessage = useIsLastEntryInCurrentChat(messageId);
|
|
61
62
|
const inputParsed = `\`\`\`json
|
|
62
63
|
${JSON.stringify(toolStep?.input, null, 2)}
|
|
63
64
|
\`\`\``;
|
|
@@ -74,10 +75,11 @@ export const ToolStepsList = ({ toolStep, messageId, chatId }) => {
|
|
|
74
75
|
return;
|
|
75
76
|
updateToolStep(messages, executionId, toolStep.status);
|
|
76
77
|
}, [messages, toolStep, toolStep.status]);
|
|
77
|
-
return _jsx(_Fragment, { children: toolStep && tool ? _jsx(AnimatedHeight, { children: _jsxs("div", { className: "steps", children: [_jsxs(Badge, { colorPalette: "yellow", appearance: "square", style: { whiteSpace: 'nowrap' }, children: [_jsx(Icon, { icon: "StopWatch" }), _jsxs(Text, { children: [tool.name, " ", t.keepWorking] })] }), _jsxs(Card, { mt: "16px", gap: "8px", bgLevel: 500, children: [_jsxs(Row, { children: [_jsx(ImageWithFallback, { src: tool.image, width: "32px", fallback: _jsx(IconBox, { appearance: "circle", icon: "StackSpot" }) }), _jsx(Text, { children: tool.name })] }), _jsx(Text, { children: toolStep.user_question }), _jsx(Accordion, { header: expand => _jsxs(Row, { gap: "8px", mb: "4px", children: [_jsx(Card, { p: "4px", bgLevel: 400, children: expand }), _jsxs(Text, { children: [" ", t.viewDetails, " "] })] }), children: _jsx(Markdown, { onCopyCode: (code) => onCopyCode(code, `${messageId}`, chat), children: inputParsed }) }), _jsx(AwaitingApproval, { customApproveText: t.approveTool, chatId: chatId })] })] }) }) : null });
|
|
78
|
+
return _jsx(_Fragment, { children: toolStep && tool ? _jsx(AnimatedHeight, { children: _jsxs("div", { className: "steps", children: [_jsxs(Badge, { colorPalette: "yellow", appearance: "square", style: { whiteSpace: 'nowrap' }, children: [_jsx(Icon, { icon: "StopWatch" }), _jsxs(Text, { children: [tool.name, " ", t.keepWorking] })] }), _jsxs(Card, { mt: "16px", gap: "8px", bgLevel: 500, children: [_jsxs(Row, { children: [_jsx(ImageWithFallback, { src: tool.image, width: "32px", fallback: _jsx(IconBox, { appearance: "circle", icon: "StackSpot" }) }), _jsx(Text, { children: tool.name })] }), _jsx(Text, { children: toolStep.user_question }), _jsx(Accordion, { header: expand => _jsxs(Row, { gap: "8px", mb: "4px", children: [_jsx(Card, { p: "4px", bgLevel: 400, children: expand }), _jsxs(Text, { children: [" ", t.viewDetails, " "] })] }), children: _jsx(Markdown, { onCopyCode: (code) => onCopyCode(code, `${messageId}`, chat), children: inputParsed }) }), isLastMessage && _jsx(AwaitingApproval, { customApproveText: t.approveTool, chatId: chatId })] })] }) }) : null });
|
|
78
79
|
};
|
|
79
|
-
export const StepsList = ({ steps, messageId, chatId
|
|
80
|
+
export const StepsList = ({ steps, messageId, chatId }) => {
|
|
80
81
|
const t = useTranslate(dictionary);
|
|
82
|
+
const isLastMessage = useIsLastEntryInCurrentChat(messageId);
|
|
81
83
|
const filteredSteps = steps.filter(s => s.type === 'step');
|
|
82
84
|
const actualSteps = useMemo(() => filteredSteps.filter((item) => {
|
|
83
85
|
const messageIdForStep = planningToolDictionaryHelper.getMessageIdFromStepId(item.id);
|
|
@@ -120,8 +122,7 @@ export const StepsList = ({ steps, messageId, chatId, userHasAlreadyAnswered })
|
|
|
120
122
|
let currentStepIndex = findLastIndex(actualSteps, s => s.status === 'running' || s.status === 'success');
|
|
121
123
|
if (currentStepIndex === -1)
|
|
122
124
|
currentStepIndex = 0;
|
|
123
|
-
return (_jsxs(_Fragment, { children: [actualSteps.length > 0 ? _jsx(AnimatedHeight, { children: _jsxs("div", { className: "steps", children: [_jsxs(Row, { gap: "14px", mb: "8px", ml: "5px", children: [_jsx(Icon, { icon: "Target", size: "sm", color: "light.600" }), _jsx(Text, { children: t.executionPlan })] }), _jsxs("ul", { className: "steps-list", children: [actualSteps.map((s, i) => _jsx(Step, { step: s, index: i + 1 }, i)), _jsx(Step, { step: { status: 'target', input: planningGoal, attempts: [] }, index: currentStepIndex + 1, total: actualSteps.length, totalTools: totalTools, isAllDone: isLastStepDone })] }), _jsxs(Column, { gap: "8px", mt: "8px", children: [_jsx(Divider, { colorScheme: "light" }), _jsx(Text, { color: "light.700", children: planning?.[0]?.user_question }),
|
|
124
|
-
_jsx(ToolStepsList, { toolStep: toolsStep, messageId: messageId, chatId: chatId })] }));
|
|
125
|
+
return (_jsxs(_Fragment, { children: [actualSteps.length > 0 ? _jsx(AnimatedHeight, { children: _jsxs("div", { className: "steps", children: [_jsxs(Row, { gap: "14px", mb: "8px", ml: "5px", children: [_jsx(Icon, { icon: "Target", size: "sm", color: "light.600" }), _jsx(Text, { children: t.executionPlan })] }), _jsxs("ul", { className: "steps-list", children: [actualSteps.map((s, i) => _jsx(Step, { step: s, index: i + 1 }, i)), _jsx(Step, { step: { status: 'target', input: planningGoal, attempts: [] }, index: currentStepIndex + 1, total: actualSteps.length, totalTools: totalTools, isAllDone: isLastStepDone })] }), _jsxs(Column, { gap: "8px", mt: "8px", children: [_jsx(Divider, { colorScheme: "light" }), _jsx(Text, { color: "light.700", children: planning?.[0]?.user_question }), isLastMessage && planning?.[0]?.status === 'awaiting_approval' && _jsx(AwaitingApproval, { chatId: chatId })] }), planning?.[0]?.status === 'success' && _jsx(ViewToolsDetails, { chatId: chatId, messageId: messageId })] }) }) : null, toolsStep && toolsStep.status === 'awaiting_approval' && _jsx(ToolStepsList, { toolStep: toolsStep, messageId: messageId, chatId: chatId })] }));
|
|
125
126
|
};
|
|
126
127
|
export const ViewToolsDetails = ({ chatId, messageId }) => {
|
|
127
128
|
const t = useTranslate(dictionary);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepsList.js","sourceRoot":"","sources":["../../../src/views/Chat/StepsList.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StepsList.js","sourceRoot":"","sources":["../../../src/views/Chat/StepsList.tsx"],"names":[],"mappings":"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"}
|
package/dist/views/Resources.js
CHANGED
|
@@ -40,14 +40,17 @@ const ResourcesPanel = () => {
|
|
|
40
40
|
const chat = widget.chatTabs.getAll().find(c => c.id === chatId);
|
|
41
41
|
return chat?.getMessages().find(m => m.id === messageId)?.getValue();
|
|
42
42
|
}, [messageId]);
|
|
43
|
-
const [toolKits] = agentToolsClient.tools.useStatefulQuery({}, { enabled: !!message?.agent?.id });
|
|
44
43
|
const [agent] = agentToolsClient.agent.useStatefulQuery({ agentId: message?.agent?.id || '' }, { enabled: !!message?.agent?.id });
|
|
45
|
-
const
|
|
46
|
-
|
|
44
|
+
const toolkits = useMemo(() => [
|
|
45
|
+
...agent?.toolkits?.builtin_toolkits ?? [],
|
|
46
|
+
...agent?.toolkits?.custom_toolkits ?? [],
|
|
47
|
+
...agent?.toolkits?.mcp_toolkits ?? [],
|
|
48
|
+
], [agent]);
|
|
49
|
+
const tools = useMemo(() => message?.tools?.map(id => toolById(id, toolkits)), [messageId, toolkits]);
|
|
47
50
|
const [agentsTools] = agentToolsClient.agentsByIds.useStatefulQuery({ searchAgentsRequest: { ids: message?.tools || [] } });
|
|
48
|
-
const hasAgentTool = useMemo(() => message?.tools?.some(id => agentsTools?.find((agent) => agent.id === id)), [messageId
|
|
51
|
+
const hasAgentTool = useMemo(() => message?.tools?.some(id => agentsTools?.find((agent) => agent.id === id)), [messageId]);
|
|
49
52
|
const header = (image, label) => (_jsxs(Row, { children: [_jsx(ImageBox, { children: _jsx(ImageWithFallback, { src: image, fallback: _jsx(Icon, { icon: "Agent" }), "aria-label": label, title: label }) }), _jsx(Text, { style: { marginLeft: '8px' }, children: label })] }));
|
|
50
|
-
return !!
|
|
53
|
+
return !!tools?.length && (_jsxs(_Fragment, { children: [_jsx(_Fragment, { children: tools.map((tool) => tool && (_jsx(StyledAccordion, { header: header(tool?.image, tool?.name), appearance: "card", maxHeight: 120, children: tool?.description }, tool.id))) }), hasAgentTool &&
|
|
51
54
|
_jsx(Column, { children: message?.tools?.map((id) => {
|
|
52
55
|
const agentTool = agentsTools?.find((agent) => agent.id === id);
|
|
53
56
|
return (_jsx(StyledAccordion, { header: header(agentTool?.avatar || undefined, agentTool?.name), children: _jsx(Row, { children: _jsx(AgentDescription, { agentId: id }) }) }, agentTool?.id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Resources.js","sourceRoot":"","sources":["../../src/views/Resources.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAE5D,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,cAAc,CAAC,uBAAuB,CAAC,CAAA;IACvD,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAA;IAChC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,WAAW,IAAI,OAAO;YAAE,IAAI,CACxC,KAAC,cAAc,MAAM,OAAO,CAAC,SAAS,CAAI,EAC1C,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAC9F,CAAA;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;IAEd,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;;;;wBAIjB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;CAO7C,CAAA;AAED,MAAM,cAAc,GAAG,GAAG,EAAE;IAC1B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAA;IAC3E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;QAChE,OAAO,IAAI,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IACtE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IACf,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"Resources.js","sourceRoot":"","sources":["../../src/views/Resources.tsx"],"names":[],"mappings":"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"}
|
package/dist/views/Tools.js
CHANGED
|
@@ -38,7 +38,7 @@ const ToolsPanel = () => {
|
|
|
38
38
|
const [agent] = agentToolsClient.agent.useStatefulQuery({ agentId: message?.agent?.id || '' }, { enabled: !!message?.agent?.id });
|
|
39
39
|
const tools = useMemo(() => message?.tools?.map(id => toolById(id, toolKits)), [messageId, toolKits]);
|
|
40
40
|
const customTools = useMemo(() => message?.tools?.map(id => toolById(id, agent?.toolkits?.custom_toolkits)), [messageId, agent?.toolkits?.custom_toolkits]);
|
|
41
|
-
return !!(tools?.length || customTools?.length) && (_jsx(ToolList, { children: [...(tools || []), ...(customTools || [])].map((tool) => tool && (_jsx("li", { children: _jsx(ToolBadge, { name: tool.name || tool.id, image: tool.image ?? '', description: tool.description ?? '' }) }, tool.id))) }));
|
|
41
|
+
return !!(tools?.length || customTools?.length) && (_jsx(ToolList, { children: [...(tools || []), ...(customTools || [])].map((tool) => tool && (_jsx("li", { children: _jsx(ToolBadge, { name: tool.name || tool.id || '', image: tool.image ?? '', description: tool.description ?? '' }) }, tool.id))) }));
|
|
42
42
|
};
|
|
43
43
|
const dictionary = {
|
|
44
44
|
en: {
|
package/dist/views/Tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tools.js","sourceRoot":"","sources":["../../src/views/Tools.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Tools.js","sourceRoot":"","sources":["../../src/views/Tools.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/app-metadata.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stack-spot/ai-chat-widget",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"date": "
|
|
3
|
+
"version": "2.8.1",
|
|
4
|
+
"date": "Tue Dec 16 2025 14:17:35 GMT+0000 (Coordinated Universal Time)",
|
|
5
5
|
"dependencies": [
|
|
6
6
|
{
|
|
7
7
|
"name": "@stack-spot/app-metadata",
|
|
@@ -75,23 +75,6 @@ const updateToolStatus = (agentInfo: AgentInfo, messages: ChatEntry[]) => {
|
|
|
75
75
|
if (update) {
|
|
76
76
|
originalItem?.setValue({ ...originalItemValue as TextChatEntry })
|
|
77
77
|
}
|
|
78
|
-
|
|
79
|
-
//Updates message with type tool which contains the actually tool steps
|
|
80
|
-
//We only want to show tools banner when they are awaiting_approval, by removing the step
|
|
81
|
-
// we avoid the entire bot message to be visible
|
|
82
|
-
const toolMessageId = planningToolDictionaryHelper.getMessageIdToolStepFromToolExecutionId(executionId)
|
|
83
|
-
const toolOriginalItem = messages.find((message) => `${message.id}` === toolMessageId)
|
|
84
|
-
const toolOriginalItemValue = toolOriginalItem?.getValue()
|
|
85
|
-
const toolStep = toolOriginalItemValue?.steps?.find(step =>
|
|
86
|
-
step.type === 'tool' && step.attempts?.[0]?.tools?.[0]?.executionId === executionId)
|
|
87
|
-
update = false
|
|
88
|
-
if (toolOriginalItemValue && toolStep && toolStep.status !== status) {
|
|
89
|
-
toolOriginalItemValue.steps = undefined
|
|
90
|
-
update = true
|
|
91
|
-
}
|
|
92
|
-
if (update) {
|
|
93
|
-
toolOriginalItem?.setValue({ ...toolOriginalItemValue as TextChatEntry })
|
|
94
|
-
}
|
|
95
78
|
}
|
|
96
79
|
}
|
|
97
80
|
|
package/src/context/hooks.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { last } from 'lodash'
|
|
1
2
|
import { useContext, useEffect, useState } from 'react'
|
|
2
3
|
import { ChatEntry } from '../state/ChatEntry'
|
|
3
4
|
import { ChatProperties, ChatState } from '../state/ChatState'
|
|
@@ -134,3 +135,26 @@ export function useChatEntry(entry: ChatEntry) {
|
|
|
134
135
|
useEffect(() => entry.onChange(setContent), [])
|
|
135
136
|
return content
|
|
136
137
|
}
|
|
138
|
+
|
|
139
|
+
/*
|
|
140
|
+
* An efficient hook that returns true when the current chat entry is the last entry and false when it's not.
|
|
141
|
+
*
|
|
142
|
+
* For efficiency purposes, this hook assumes that:
|
|
143
|
+
* - Any change to the list of messages makes it grow.
|
|
144
|
+
* - Once a message is no longer the last, it will never be the last entry again.
|
|
145
|
+
*
|
|
146
|
+
* @param id: the id of the entry.
|
|
147
|
+
**/
|
|
148
|
+
export function useIsLastEntryInCurrentChat(id: number) {
|
|
149
|
+
const chat = useCurrentChat()
|
|
150
|
+
const [isLast, setLast] = useState(last(chat.getMessages())?.id === id)
|
|
151
|
+
useEffect(() => {
|
|
152
|
+
if (!isLast) return
|
|
153
|
+
const removeListener = chat.onChangeMessages(() => {
|
|
154
|
+
setLast(false)
|
|
155
|
+
removeListener()
|
|
156
|
+
})
|
|
157
|
+
return removeListener
|
|
158
|
+
}, [chat])
|
|
159
|
+
return isLast
|
|
160
|
+
}
|
package/src/utils/tools.ts
CHANGED
|
@@ -1,21 +1,32 @@
|
|
|
1
|
-
import { BuiltinToolResponse } from '@stack-spot/portal-network/api/agent'
|
|
2
|
-
import { keyBy } from 'lodash'
|
|
3
1
|
|
|
4
|
-
export type ToolWithImage =
|
|
2
|
+
export type ToolWithImage = { id?: string, image?: string, name: string, description?: string }
|
|
5
3
|
|
|
4
|
+
interface Toolkit {
|
|
5
|
+
id?: string | null,
|
|
6
|
+
tools?: { id?: string, name?: string, description?: string, function?: { name: string, description?: string } }[] | null,
|
|
7
|
+
image_url?: string | null,
|
|
8
|
+
avatar?: string | null,
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function findToolById(id: string, toolkits: Toolkit[]) {
|
|
12
|
+
for (const tk of toolkits ?? []) {
|
|
13
|
+
for (const t of tk.tools ?? []) {
|
|
14
|
+
if (t.id === id) return { tool: t, toolkit: tk }
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
6
18
|
|
|
7
|
-
export function toolById(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
)
|
|
11
|
-
|
|
12
|
-
?.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
return keyBy(tools, 'id')[id]
|
|
19
|
+
export function toolById(id: string, toolkits: Toolkit[] | undefined): ToolWithImage {
|
|
20
|
+
// mcp tools are identified by "{toolkitId}/{functionName}"
|
|
21
|
+
const mcp = id.match(/(\w+)\/(.+)/)
|
|
22
|
+
if (mcp) {
|
|
23
|
+
const [, toolkitId, toolName] = mcp
|
|
24
|
+
const toolkit = toolkits?.find(tk => tk.id === toolkitId)
|
|
25
|
+
const tool = toolkit?.tools?.find(t => t.name === toolName)
|
|
26
|
+
return { id, image: toolkit?.avatar ?? undefined, name: toolName, description: tool?.function?.description }
|
|
27
|
+
}
|
|
28
|
+
const { tool, toolkit } = findToolById(id, toolkits ?? []) ?? {}
|
|
29
|
+
return (tool && toolkit)
|
|
30
|
+
? { id, image: toolkit.avatar ?? toolkit.image_url ?? undefined, name: tool.name || id, description: tool?.description }
|
|
31
|
+
: { id, name: id }
|
|
21
32
|
}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { Icon } from '@stack-spot/citric-icons'
|
|
2
|
-
import { Badge, Card, IconBox, ImageBox, ImageWithFallback,
|
|
2
|
+
import { AsyncContent, Badge, Card, IconBox, ImageBox, ImageWithFallback, Text } from '@stack-spot/citric-react'
|
|
3
3
|
import { agentToolsClient } from '@stack-spot/portal-network'
|
|
4
4
|
import { useMemo } from 'react'
|
|
5
|
-
import { toolById } from '../../utils/tools'
|
|
6
5
|
import { useAgentsDictionary } from './dictionary'
|
|
7
6
|
import { AgentDescriptionBox } from './styled'
|
|
8
7
|
|
|
9
8
|
export const AgentDescription = ({ agentId }: { agentId?: string }) => {
|
|
10
9
|
const t = useAgentsDictionary()
|
|
11
|
-
const [agent
|
|
12
|
-
const [toolKits, , , { isLoading: isLoadingToolKit }] = agentToolsClient.tools.useStatefulQuery({})
|
|
10
|
+
const [agent,, error, { isLoading }] = agentToolsClient.agent.useStatefulQuery({ agentId: agentId! }, { enabled: !!agentId })
|
|
13
11
|
const numberOfKnowledgeSources = agent?.knowledge_sources_config?.knowledge_sources.length ?? 0
|
|
14
12
|
|
|
15
13
|
const knowledgeSources = useMemo(
|
|
@@ -23,13 +21,6 @@ export const AgentDescription = ({ agentId }: { agentId?: string }) => {
|
|
|
23
21
|
)),
|
|
24
22
|
[agent],
|
|
25
23
|
)
|
|
26
|
-
const skeleton = useMemo(() => {
|
|
27
|
-
const loadingKS: React.ReactElement[] = []
|
|
28
|
-
for (let i = 0; i < numberOfKnowledgeSources; i++) {
|
|
29
|
-
loadingKS.push(<li key={i}><Badge colorPalette="teal" appearance="square"><Skeleton className="ks-skeleton" /></Badge></li>)
|
|
30
|
-
}
|
|
31
|
-
return loadingKS
|
|
32
|
-
}, [numberOfKnowledgeSources])
|
|
33
24
|
|
|
34
25
|
const { tools, multiAgents } = useMemo(() => {
|
|
35
26
|
const tools: React.ReactElement[] = []
|
|
@@ -39,12 +30,11 @@ export const AgentDescription = ({ agentId }: { agentId?: string }) => {
|
|
|
39
30
|
for (const toolkit of builtInTools) {
|
|
40
31
|
for (const tool of toolkit.tools ?? []) {
|
|
41
32
|
if (toolkit.id == 'UTILITIES'){
|
|
42
|
-
const toolWithImage = toolById(tool.id, toolKits)
|
|
43
33
|
tools.push(
|
|
44
34
|
<li key={tool.id}>
|
|
45
35
|
<Card gap="10px" direction="row" flex={1} size="xxs" bgLevel={500}>
|
|
46
|
-
<ImageBox><ImageWithFallback src={
|
|
47
|
-
<Text color="light.contrastText">{
|
|
36
|
+
<ImageBox><ImageWithFallback src={toolkit.image_url} fallback={<Icon icon="Cog" />} /></ImageBox>
|
|
37
|
+
<Text color="light.contrastText">{tool?.name || tool?.id || 'unknown'}</Text>
|
|
48
38
|
</Card>
|
|
49
39
|
</li>,
|
|
50
40
|
)
|
|
@@ -76,28 +66,42 @@ export const AgentDescription = ({ agentId }: { agentId?: string }) => {
|
|
|
76
66
|
return { tools, multiAgents }
|
|
77
67
|
}, [agent])
|
|
78
68
|
|
|
69
|
+
const mcpToolkits = useMemo(() => agent?.toolkits?.mcp_toolkits?.map(t => (
|
|
70
|
+
<li key={`mcp-${t.id}`}>
|
|
71
|
+
<Card gap="10px" direction="row" flex={1} size="xxs" bgLevel={500}>
|
|
72
|
+
<ImageBox><ImageWithFallback src={t.avatar ?? undefined} fallback={<Icon icon="Cog" />} /></ImageBox>
|
|
73
|
+
<Text color="light.contrastText">{t.name}</Text>
|
|
74
|
+
</Card>
|
|
75
|
+
</li>
|
|
76
|
+
)), [agent?.toolkits?.mcp_toolkits])
|
|
77
|
+
|
|
79
78
|
return (
|
|
80
|
-
<
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
79
|
+
<AsyncContent loading={isLoading} error={error}>
|
|
80
|
+
<AgentDescriptionBox>
|
|
81
|
+
{agent?.description && <section>
|
|
82
|
+
<Text appearance="microtext1" className="title">{t.description}</Text>
|
|
83
|
+
<Text>{agent?.description}</Text>
|
|
84
|
+
</section>}
|
|
85
|
+
{(!!numberOfKnowledgeSources || !!knowledgeSources?.length) && <section>
|
|
86
|
+
<Text appearance="microtext1" className="title">Knowledge sources</Text>
|
|
87
|
+
<ul>{knowledgeSources}</ul>
|
|
88
|
+
</section>}
|
|
89
|
+
{!!tools?.length && <section>
|
|
90
|
+
<Text appearance="microtext1" className="title">{t.tools}</Text>
|
|
91
|
+
<ul>
|
|
92
|
+
{tools}
|
|
93
|
+
{mcpToolkits}
|
|
94
|
+
</ul>
|
|
95
|
+
</section>}
|
|
96
|
+
{!!multiAgents?.length && <section>
|
|
97
|
+
<Text appearance="microtext1" className="title">{t.multiAgent}</Text>
|
|
98
|
+
<ul>{multiAgents}</ul>
|
|
99
|
+
</section>}
|
|
100
|
+
{agent?.model_name && <section>
|
|
101
|
+
<Text appearance="microtext1" className="title">LLM</Text>
|
|
102
|
+
<Badge colorPalette="orange" appearance="square">{agent?.model_name}</Badge>
|
|
103
|
+
</section>}
|
|
104
|
+
</AgentDescriptionBox>
|
|
105
|
+
</AsyncContent>
|
|
102
106
|
)
|
|
103
107
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Icon } from '@stack-spot/citric-icons'
|
|
2
|
-
import { Button } from '@stack-spot/citric-react'
|
|
2
|
+
import { Button, ImageWithFallback } from '@stack-spot/citric-react'
|
|
3
3
|
import { Placeholder } from '@stack-spot/portal-components/Placeholder'
|
|
4
4
|
import { AgentResponseWithBuiltIn, agentToolsClient, AgentVisibilityLevel, workspaceAiClient } from '@stack-spot/portal-network'
|
|
5
5
|
import { WorkspaceResponse } from '@stack-spot/portal-network/api/workspace-ai'
|
|
@@ -96,7 +96,8 @@ export const AgentsTab = ({ visibility, workspaceId, agent, showSubmitButton = t
|
|
|
96
96
|
isLoading={isPending}
|
|
97
97
|
data={ag => ({
|
|
98
98
|
idOrSlug: ag.id,
|
|
99
|
-
|
|
99
|
+
// below, "key" is important. I don't know why exactly, but sometimes the avatar doesn't update if we don't do this.
|
|
100
|
+
image: <ImageWithFallback key={ag.id} src={ag.avatar ?? undefined} fallback={<Icon icon="Agent" />} />,
|
|
100
101
|
description: <AgentDescription agentId={ag.id} />,
|
|
101
102
|
name: ag.name,
|
|
102
103
|
listFavorites,
|
|
@@ -9,7 +9,7 @@ import { PhoneInput } from 'react-international-phone'
|
|
|
9
9
|
import 'react-international-phone/style.css'
|
|
10
10
|
import { FileDescription } from '../../components/FileDescription'
|
|
11
11
|
import { Markdown } from '../../components/Markdown'
|
|
12
|
-
import { useChatEntry,
|
|
12
|
+
import { useChatEntry, useCurrentChat, useCurrentChatState, useWidget } from '../../context/hooks'
|
|
13
13
|
import { useMidnightUpdateView } from '../../hooks/midnight-update-view'
|
|
14
14
|
import { ChatEntry, SerializableAction, TextChatEntry } from '../../state/ChatEntry'
|
|
15
15
|
import { useDateFormatter } from '../../utils/date'
|
|
@@ -213,26 +213,19 @@ export const ChatMessage = ({ message, isLast, beforeMessage, afterMessage, cust
|
|
|
213
213
|
const widget = useWidget()
|
|
214
214
|
const chat = useCurrentChat()
|
|
215
215
|
const agentId = entry.agent?.id ?? ''
|
|
216
|
-
|
|
216
|
+
// enabled: we don't want to make any request if there is no agent
|
|
217
|
+
const [agent] = agentToolsClient.agent.useStatefulQuery({ agentId }, { enabled: !!agentId })
|
|
218
|
+
const toolkits = useMemo(() => [
|
|
219
|
+
...agent?.toolkits?.builtin_toolkits ?? [],
|
|
220
|
+
...agent?.toolkits?.custom_toolkits ?? [],
|
|
221
|
+
...agent?.toolkits?.mcp_toolkits ?? [],
|
|
222
|
+
], [agent])
|
|
217
223
|
const [agentsTools] = agentToolsClient.agentsByIds.useStatefulQuery(
|
|
218
|
-
{ searchAgentsRequest: { ids: entry.tools || [''] } }, { enabled: !!entry.tools })
|
|
224
|
+
{ searchAgentsRequest: { ids: entry.tools || [''] } }, { enabled: !!entry.tools?.length })
|
|
219
225
|
const [copied, setCopied] = useState(false)
|
|
220
226
|
const [showUserButtonCopy, setShowUserButtonCopy] = useState(false)
|
|
221
227
|
const isPlanning = useCurrentChatState('isPlaning') ?? false
|
|
222
228
|
|
|
223
|
-
// when we have a steps but we are not showing any content of the step
|
|
224
|
-
// (because it is a tool and the user has already answered the question)
|
|
225
|
-
// we do not want to show an avatar with empty content, so we hide the entire message
|
|
226
|
-
const toolsStep = entry.steps?.find(s => s.type === 'tool')
|
|
227
|
-
const messages = useChatMessages(chat.id)
|
|
228
|
-
const userHasAlreadyAnswered = useMemo(() => {
|
|
229
|
-
const messageIndex = messages.findIndex((messageItem) => messageItem.id === message.id)
|
|
230
|
-
if (messages.length - 1 === messageIndex) return false
|
|
231
|
-
const nextMessage = messages[messageIndex + 1].getValue()
|
|
232
|
-
return nextMessage.agentType === 'user'
|
|
233
|
-
}, [messages, messages.length])
|
|
234
|
-
const isMessageHidden = toolsStep && userHasAlreadyAnswered
|
|
235
|
-
|
|
236
229
|
useChatScrollToBottomEffect(ref, [entry])
|
|
237
230
|
useMidnightUpdateView()
|
|
238
231
|
|
|
@@ -357,8 +350,7 @@ export const ChatMessage = ({ message, isLast, beforeMessage, afterMessage, cust
|
|
|
357
350
|
widget.set('panel', 'resources')
|
|
358
351
|
}
|
|
359
352
|
|
|
360
|
-
const shouldRender =
|
|
361
|
-
&& (!isMessageHidden || !toolsStep || isPlanning)
|
|
353
|
+
const shouldRender = entry.content || entry.error || (entry.done && !!entry.steps?.length) || !!entry.upload?.length
|
|
362
354
|
|
|
363
355
|
return shouldRender && (
|
|
364
356
|
<li key={entry.messageId} className={entry.agentType} ref={ref}>
|
|
@@ -374,8 +366,7 @@ export const ChatMessage = ({ message, isLast, beforeMessage, afterMessage, cust
|
|
|
374
366
|
{entry.badges.map((b, index) => <Badge key={index} colorPalette={b.color ?? 'cyan'} appearance="square">{b.label}</Badge>)}
|
|
375
367
|
</div>}
|
|
376
368
|
|
|
377
|
-
{!!entry.steps?.length && <StepsList steps={entry.steps} chatId={chat.id} messageId={message.id}
|
|
378
|
-
userHasAlreadyAnswered={userHasAlreadyAnswered} />}
|
|
369
|
+
{!!entry.steps?.length && <StepsList steps={entry.steps} chatId={chat.id} messageId={message.id} />}
|
|
379
370
|
|
|
380
371
|
{renderContent()}
|
|
381
372
|
|
|
@@ -411,13 +402,14 @@ export const ChatMessage = ({ message, isLast, beforeMessage, afterMessage, cust
|
|
|
411
402
|
</ImageBox>
|
|
412
403
|
))}
|
|
413
404
|
{entry?.tools?.map((id) => {
|
|
405
|
+
// In the multi-agents feature, an agent is returned as a tool, but we don't want to show agents here.
|
|
414
406
|
if (agentsTools?.some((agent) => agent.id === id)) return null
|
|
415
|
-
const tool = toolById(id,
|
|
407
|
+
const tool = toolById(id, toolkits)
|
|
416
408
|
return (
|
|
417
409
|
<ImageBox key={id} className="agent-info-avatar-resource">
|
|
418
410
|
<ImageWithFallback
|
|
419
411
|
src={tool?.image}
|
|
420
|
-
fallback={<Icon icon="Cog" />}
|
|
412
|
+
fallback={<Icon icon="Cog" title={tool?.name} aria-label={tool?.name} />}
|
|
421
413
|
alt={tool?.name}
|
|
422
414
|
aria-label={tool?.name}
|
|
423
415
|
title={tool?.name}
|
|
@@ -7,7 +7,7 @@ import { findLast, findLastIndex } from 'lodash'
|
|
|
7
7
|
import React, { useEffect, useMemo } from 'react'
|
|
8
8
|
import styled from 'styled-components'
|
|
9
9
|
import { Markdown } from '../../components/Markdown'
|
|
10
|
-
import { useChat, useChatMessages, useCurrentChat, useCurrentChatMessages, useWidget } from '../../context/hooks'
|
|
10
|
+
import { useChat, useChatMessages, useCurrentChat, useCurrentChatMessages, useIsLastEntryInCurrentChat, useWidget } from '../../context/hooks'
|
|
11
11
|
import { ChatEntry } from '../../state/ChatEntry'
|
|
12
12
|
import { planningToolDictionaryHelper } from '../../utils/planning-tool'
|
|
13
13
|
import { updateToolStep } from '../../utils/update-tool-step'
|
|
@@ -17,7 +17,6 @@ interface Props {
|
|
|
17
17
|
steps: ChatStep[],
|
|
18
18
|
messageId: number,
|
|
19
19
|
chatId: string,
|
|
20
|
-
userHasAlreadyAnswered?: boolean,
|
|
21
20
|
}
|
|
22
21
|
|
|
23
22
|
interface StepChatStepWithTarget extends Omit<StepChatStep, 'status' | 'id' | 'type'> {
|
|
@@ -174,10 +173,11 @@ const AwaitingApproval = ({ customApproveText, chatId }: { chatId: string, custo
|
|
|
174
173
|
</>
|
|
175
174
|
}
|
|
176
175
|
|
|
177
|
-
|
|
176
|
+
const ToolStepsList = ({ toolStep, messageId, chatId }: { toolStep: ToolChatStep, messageId: number, chatId: string }) => {
|
|
178
177
|
const t = useTranslate(dictionary)
|
|
179
178
|
const chat = useCurrentChat()
|
|
180
179
|
const messages = useCurrentChatMessages()
|
|
180
|
+
const isLastMessage = useIsLastEntryInCurrentChat(messageId)
|
|
181
181
|
const inputParsed = `\`\`\`json
|
|
182
182
|
${JSON.stringify(toolStep?.input, null, 2)}
|
|
183
183
|
\`\`\``
|
|
@@ -222,15 +222,16 @@ export const ToolStepsList = ({ toolStep, messageId, chatId }: { toolStep: ToolC
|
|
|
222
222
|
</Markdown>
|
|
223
223
|
</Accordion>
|
|
224
224
|
|
|
225
|
-
<AwaitingApproval customApproveText={t.approveTool} chatId={chatId} />
|
|
225
|
+
{isLastMessage && <AwaitingApproval customApproveText={t.approveTool} chatId={chatId} />}
|
|
226
226
|
</Card>
|
|
227
227
|
</div>
|
|
228
228
|
</AnimatedHeight> : null}
|
|
229
229
|
</>
|
|
230
230
|
}
|
|
231
231
|
|
|
232
|
-
export const StepsList = ({ steps, messageId, chatId
|
|
232
|
+
export const StepsList = ({ steps, messageId, chatId }: Props) => {
|
|
233
233
|
const t = useTranslate(dictionary)
|
|
234
|
+
const isLastMessage = useIsLastEntryInCurrentChat(messageId)
|
|
234
235
|
|
|
235
236
|
const filteredSteps = steps.filter(s => s.type === 'step')
|
|
236
237
|
const actualSteps = useMemo(() => filteredSteps.filter((item) => {
|
|
@@ -302,7 +303,7 @@ export const StepsList = ({ steps, messageId, chatId, userHasAlreadyAnswered }:
|
|
|
302
303
|
<Column gap="8px" mt="8px">
|
|
303
304
|
<Divider colorScheme="light" />
|
|
304
305
|
<Text color="light.700">{planning?.[0]?.user_question}</Text>
|
|
305
|
-
{
|
|
306
|
+
{isLastMessage && planning?.[0]?.status === 'awaiting_approval' && <AwaitingApproval chatId={chatId} />}
|
|
306
307
|
</Column>
|
|
307
308
|
|
|
308
309
|
{planning?.[0]?.status === 'success' && <ViewToolsDetails chatId={chatId} messageId={messageId}/>}
|
|
@@ -310,8 +311,7 @@ export const StepsList = ({ steps, messageId, chatId, userHasAlreadyAnswered }:
|
|
|
310
311
|
</div>
|
|
311
312
|
</AnimatedHeight> : null}
|
|
312
313
|
|
|
313
|
-
{toolsStep && toolsStep.status === 'awaiting_approval' &&
|
|
314
|
-
<ToolStepsList toolStep={toolsStep} messageId={messageId} chatId={chatId} />}
|
|
314
|
+
{toolsStep && toolsStep.status === 'awaiting_approval' && <ToolStepsList toolStep={toolsStep} messageId={messageId} chatId={chatId} />}
|
|
315
315
|
</>
|
|
316
316
|
)
|
|
317
317
|
}
|