@stack-spot/ai-chat-widget 2.12.2 → 2.13.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.
Files changed (84) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/app-metadata.json +3 -3
  3. package/dist/components/Selector/SelectVersion.d.ts +12 -0
  4. package/dist/components/Selector/SelectVersion.d.ts.map +1 -0
  5. package/dist/components/Selector/SelectVersion.js +33 -0
  6. package/dist/components/Selector/SelectVersion.js.map +1 -0
  7. package/dist/components/Selector/index.d.ts +3 -1
  8. package/dist/components/Selector/index.d.ts.map +1 -1
  9. package/dist/components/Selector/index.js +10 -7
  10. package/dist/components/Selector/index.js.map +1 -1
  11. package/dist/components/Selector/styled.d.ts +2 -0
  12. package/dist/components/Selector/styled.d.ts.map +1 -1
  13. package/dist/components/Selector/styled.js +45 -0
  14. package/dist/components/Selector/styled.js.map +1 -1
  15. package/dist/hooks/enabled-feature-flags.d.ts +5 -0
  16. package/dist/hooks/enabled-feature-flags.d.ts.map +1 -0
  17. package/dist/hooks/enabled-feature-flags.js +28 -0
  18. package/dist/hooks/enabled-feature-flags.js.map +1 -0
  19. package/dist/state/types.d.ts +1 -0
  20. package/dist/state/types.d.ts.map +1 -1
  21. package/dist/utils/chat.d.ts.map +1 -1
  22. package/dist/utils/chat.js +1 -0
  23. package/dist/utils/chat.js.map +1 -1
  24. package/dist/utils/tools.d.ts +5 -5
  25. package/dist/utils/tools.d.ts.map +1 -1
  26. package/dist/utils/tools.js +2 -2
  27. package/dist/utils/tools.js.map +1 -1
  28. package/dist/views/Agents/AgentDescription.d.ts +6 -2
  29. package/dist/views/Agents/AgentDescription.d.ts.map +1 -1
  30. package/dist/views/Agents/AgentDescription.js +25 -10
  31. package/dist/views/Agents/AgentDescription.js.map +1 -1
  32. package/dist/views/Agents/AgentsTab.d.ts.map +1 -1
  33. package/dist/views/Agents/AgentsTab.js +21 -4
  34. package/dist/views/Agents/AgentsTab.js.map +1 -1
  35. package/dist/views/Agents/dictionary.d.ts +1 -1
  36. package/dist/views/Agents/dictionary.d.ts.map +1 -1
  37. package/dist/views/Agents/dictionary.js +2 -0
  38. package/dist/views/Agents/dictionary.js.map +1 -1
  39. package/dist/views/Chat/ChatMessage.d.ts.map +1 -1
  40. package/dist/views/Chat/ChatMessage.js +6 -5
  41. package/dist/views/Chat/ChatMessage.js.map +1 -1
  42. package/dist/views/Chat/events.d.ts.map +1 -1
  43. package/dist/views/Chat/events.js +4 -2
  44. package/dist/views/Chat/events.js.map +1 -1
  45. package/dist/views/ChatHistory/utils.d.ts.map +1 -1
  46. package/dist/views/ChatHistory/utils.js +20 -10
  47. package/dist/views/ChatHistory/utils.js.map +1 -1
  48. package/dist/views/Home/CustomAgent.js +3 -3
  49. package/dist/views/Home/CustomAgent.js.map +1 -1
  50. package/dist/views/MessageInput/AgentSelector.d.ts.map +1 -1
  51. package/dist/views/MessageInput/AgentSelector.js +13 -3
  52. package/dist/views/MessageInput/AgentSelector.js.map +1 -1
  53. package/dist/views/MessageInput/ModelSwitcher/index.d.ts.map +1 -1
  54. package/dist/views/MessageInput/ModelSwitcher/index.js +3 -1
  55. package/dist/views/MessageInput/ModelSwitcher/index.js.map +1 -1
  56. package/dist/views/MessageInput/ModelSwitcher/utils.d.ts +2 -2
  57. package/dist/views/MessageInput/ModelSwitcher/utils.d.ts.map +1 -1
  58. package/dist/views/MessageInput/ModelSwitcher/utils.js +6 -6
  59. package/dist/views/MessageInput/ModelSwitcher/utils.js.map +1 -1
  60. package/dist/views/Resources.js +8 -5
  61. package/dist/views/Resources.js.map +1 -1
  62. package/dist/views/Tools.js +3 -2
  63. package/dist/views/Tools.js.map +1 -1
  64. package/package.json +2 -2
  65. package/src/app-metadata.json +3 -3
  66. package/src/components/Selector/SelectVersion.tsx +55 -0
  67. package/src/components/Selector/index.tsx +20 -11
  68. package/src/components/Selector/styled.ts +47 -0
  69. package/src/hooks/enabled-feature-flags.ts +31 -0
  70. package/src/state/types.ts +1 -0
  71. package/src/utils/chat.ts +1 -0
  72. package/src/utils/tools.ts +4 -4
  73. package/src/views/Agents/AgentDescription.tsx +48 -14
  74. package/src/views/Agents/AgentsTab.tsx +31 -13
  75. package/src/views/Agents/dictionary.ts +2 -1
  76. package/src/views/Chat/ChatMessage.tsx +8 -6
  77. package/src/views/Chat/events.ts +4 -2
  78. package/src/views/ChatHistory/utils.ts +25 -13
  79. package/src/views/Home/CustomAgent.tsx +4 -4
  80. package/src/views/MessageInput/AgentSelector.tsx +17 -7
  81. package/src/views/MessageInput/ModelSwitcher/index.tsx +3 -2
  82. package/src/views/MessageInput/ModelSwitcher/utils.tsx +9 -8
  83. package/src/views/Resources.tsx +10 -6
  84. package/src/views/Tools.tsx +5 -4
@@ -12,20 +12,20 @@ export const providerIcon = {
12
12
  };
13
13
  export function getListModelsData(chat, setVisibleMenu, agent, models) {
14
14
  const chatSelectedModelId = chat.get('selected_model_id');
15
- const listModelsToShow = agent?.visibility_level !== 'built_in' && !!agent?.model_id ?
16
- models?.items.filter((model) => agent?.available_llm_models?.find((modelAvailable) => modelAvailable.model_id === model.id)) :
15
+ const listModelsToShow = agent?.visibility_level !== 'built_in' && !!agent?.version?.model_id ?
16
+ models?.items.filter((model) => agent?.version?.available_llm_models?.find((modelAvailable) => modelAvailable.model_id === model.id)) :
17
17
  models?.items;
18
- const modelAvailableDefault = agent?.available_llm_models?.find((model) => (model.is_default || model.model_id === agent.model_id));
18
+ const modelAvailableDefault = agent?.version?.available_llm_models?.find((model) => (model.is_default || model.model_id === agent.version?.model_id));
19
19
  const modelListData = parseModelList(chat, setVisibleMenu, listModelsToShow, modelAvailableDefault?.model_id);
20
- if (agent?.visibility_level === 'built_in' || !agent?.model_id) {
20
+ if (agent?.visibility_level === 'built_in' || !agent?.version?.model_id) {
21
21
  const modelDefaultProviderType = models?.items.find((modelAccount) => chatSelectedModelId ? modelAccount.id === chatSelectedModelId :
22
22
  modelAccount.resources.find((resource) => resource.is_default))?.model_configuration.provider.provider_type;
23
23
  const modelDefaultActive = modelListData.find((model) => model?.active);
24
24
  return { modelName: modelDefaultActive?.label, modelProviderType: modelDefaultProviderType, listItemsData: modelListData };
25
25
  }
26
- const modelAccount = models?.items.find((modelAccount) => modelAccount.id === (chatSelectedModelId || agent.model_id));
26
+ const modelAccount = models?.items.find((modelAccount) => modelAccount.id === (chatSelectedModelId || agent.version?.model_id));
27
27
  const modelProviderType = modelAccount?.model_configuration.provider.provider_type;
28
- const modelSelectedName = modelAccount?.display_name || modelAvailableDefault?.model_name || agent?.model_name;
28
+ const modelSelectedName = modelAccount?.display_name || modelAvailableDefault?.model_name || agent?.version?.model_name;
29
29
  const listItemsData = modelListData && modelListData?.length > 0 ? modelListData :
30
30
  [{
31
31
  active: true,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/views/MessageInput/ModelSwitcher/utils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/views/MessageInput/ModelSwitcher/utils.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAGlD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAYhD,MAAM,CAAC,MAAM,YAAY,GAAyD;IAChF,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;CACvB,CAAA;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAe,EACf,cAAuD,EACvD,KAA2C,EAC3C,MAA2C;IAE3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IAEzD,MAAM,gBAAgB,GAAG,KAAK,EAAE,gBAAgB,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7F,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvI,MAAM,EAAE,KAAK,CAAA;IAEf,MAAM,qBAAqB,GAAG,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACjF,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;IACnE,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAA;IAE7G,IAAI,KAAK,EAAE,gBAAgB,KAAK,UAAU,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAExE,MAAM,wBAAwB,GAAG,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CACnE,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,mBAAmB,CAAC,CAAC;YAC7D,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAA;QAE/G,MAAM,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAEvE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,aAAa,EAAE,aAAa,EAAE,CAAA;IAC5H,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC/H,MAAM,iBAAiB,GAAG,YAAY,EAAE,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAA;IAClF,MAAM,iBAAiB,GAAG,YAAY,EAAE,YAAY,IAAI,qBAAqB,EAAE,UAAU,IAAI,KAAK,EAAE,OAAO,EAAE,UAAU,CAAA;IAEvH,MAAM,aAAa,GACjB,aAAa,IAAI,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAC1D,CAAC;gBACC,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,iBAAiB,IAAI,EAAE;gBAC9B,IAAI,EAAE,KAAC,OAAO,IAAC,IAAI,EAAE,YAAY,CAAC,iBAAiB,IAAI,WAAW,CAAC,EACjE,UAAU,EAAC,QAAQ,EACnB,KAAK,EAAE,iBAAiB,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,GAAI;gBACrE,WAAW,EAAE,YAAY,EAAE,WAAW,IAAI,KAAK;gBAC/C,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAA;oBAC9D,cAAc,CAAC,KAAK,CAAC,CAAA;gBACvB,CAAC;aACF,CAAC,CAAA;IAGN,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAA;AAC3E,CAAC;AAED,SAAS,cAAc,CACrB,IAAe,EACf,cAAuD,EACvD,SAA+B,EAC/B,uBAAgC;IAGhC,MAAM,IAAI,GAAG,KAAK,EAAa,CAAA;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IAEjD,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,KAAK,KAAK,CAAC,EAAE;gBACnF,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC;YACxF,KAAK,EAAE,KAAK,EAAE,YAAY,IAAI,KAAK;YACnC,IAAI,EAAE,KAAC,OAAO,IACZ,KAAK,EAAE,EAAE,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAClD,UAAU,EAAC,QAAQ,EACnB,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,EACpE,KAAK,EAAE,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,GAC9F;YACF,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;gBACvC,cAAc,CAAC,KAAK,CAAC,CAAA;YACvB,CAAC;SACF,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAkB,EAAE,CAAyB,EAAE,MAAe;IAClG,MAAM,WAAW,GAAG,MAAM,EAAE,iBAAiB,EAAE,CAAA;IAC/C,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAEzH,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,CACjD,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACb,IAAI,KAAK,EAAE,WAAW,EAAE,CAAC;YACvB,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,EACD,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAwD,CACrF,CAAA;IAED,MAAM,QAAQ,GAAG;QACf;YACE,KAAK,EAAE,CAAC,CAAC,MAAM;YACf,QAAQ,EAAG,MAAM;SAClB;QACD;YACE,KAAK,EAAE,CAAC,CAAC,UAAU;YACnB,QAAQ,EAAG,UAAU;SACtB;KACF,CAAA;IAED,MAAM,qBAAqB,GAAG,QAAQ;SACnC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SAC9C,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC,CAAC,CAAA;IAEL,OAAO,qBAAqB,CAAA;AAC9B,CAAC"}
@@ -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 [agent] = agentToolsClient.agent.useStatefulQuery({ agentId: message?.agent?.id || '' }, { enabled: !!message?.agent?.id });
43
+ const [agent] = agentToolsClient.agentV2.useStatefulQuery({
44
+ agentCoreId: message?.agent?.id || '', versionNumber: message?.agent?.agent_version_number
45
+ }, { enabled: !!message?.agent?.id });
44
46
  const toolkits = useMemo(() => [
45
- ...agent?.toolkits?.builtin_toolkits ?? [],
46
- ...agent?.toolkits?.custom_toolkits ?? [],
47
- ...agent?.toolkits?.mcp_toolkits ?? [],
47
+ ...agent?.version?.toolkits?.builtin_toolkits ?? [],
48
+ ...agent?.version?.toolkits?.custom_toolkits ?? [],
49
+ ...agent?.version?.toolkits?.mcp_toolkits ?? [],
48
50
  ], [agent]);
49
51
  const tools = useMemo(() => message?.tools?.map(id => toolById(id, toolkits)), [messageId, toolkits]);
50
- const [agentsTools] = agentToolsClient.agentsByIds.useStatefulQuery({ searchAgentsRequest: { ids: message?.tools || [] } });
52
+ const agentsSearch = message?.tools?.map((id) => ({ agent_core_id: id })) ?? [];
53
+ const [agentsTools] = agentToolsClient.agentsByIdsV2.useStatefulQuery({ searchAgentsRequestV2: { agents: agentsSearch } });
51
54
  const hasAgentTool = useMemo(() => message?.tools?.some(id => agentsTools?.find((agent) => agent.id === id)), [messageId]);
52
55
  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 })] }));
53
56
  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 &&
@@ -1 +1 @@
1
- {"version":3,"file":"Resources.js","sourceRoot":"","sources":["../../src/views/Resources.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Resources.js","sourceRoot":"","sources":["../../src/views/Resources.tsx"],"names":[],"mappings":"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"}
@@ -35,9 +35,10 @@ const ToolsPanel = () => {
35
35
  return chat?.getMessages().find(m => m.id === messageId)?.getValue();
36
36
  }, [messageId]);
37
37
  const [toolKits] = agentToolsClient.tools.useStatefulQuery({}, { enabled: !!message?.agent?.id });
38
- const [agent] = agentToolsClient.agent.useStatefulQuery({ agentId: message?.agent?.id || '' }, { enabled: !!message?.agent?.id });
38
+ const [agent] = agentToolsClient.agentV2.useStatefulQuery({ agentCoreId: message?.agent?.id || '',
39
+ versionNumber: message?.agent?.agent_version_number }, { enabled: !!message?.agent?.id });
39
40
  const tools = useMemo(() => message?.tools?.map(id => toolById(id, toolKits)), [messageId, toolKits]);
40
- const customTools = useMemo(() => message?.tools?.map(id => toolById(id, agent?.toolkits?.custom_toolkits)), [messageId, agent?.toolkits?.custom_toolkits]);
41
+ const customTools = useMemo(() => message?.tools?.map(id => toolById(id, agent?.version?.toolkits?.custom_toolkits)), [messageId, agent?.version?.toolkits?.custom_toolkits]);
41
42
  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
43
  };
43
44
  const dictionary = {
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stack-spot/ai-chat-widget",
3
- "version": "2.12.2",
3
+ "version": "2.13.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -16,7 +16,7 @@
16
16
  "@citric/core": "^6.4.0",
17
17
  "@stack-spot/portal-components": "^2.27.3",
18
18
  "@citric/icons": "^5.13.0",
19
- "@stack-spot/portal-network": "0.218.1",
19
+ "@stack-spot/portal-network": "0.219.0",
20
20
  "@citric/ui": "^6.10.2",
21
21
  "@stack-spot/portal-translate": "^2.1.0",
22
22
  "lodash": "^4.17.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stack-spot/ai-chat-widget",
3
- "version": "2.12.2",
4
- "date": "Wed Feb 04 2026 13:13:16 GMT+0000 (Coordinated Universal Time)",
3
+ "version": "2.13.1",
4
+ "date": "Tue Feb 10 2026 19:47:29 GMT+0000 (Coordinated Universal Time)",
5
5
  "dependencies": [
6
6
  {
7
7
  "name": "@stack-spot/app-metadata",
@@ -125,7 +125,7 @@
125
125
  },
126
126
  {
127
127
  "name": "@stack-spot/portal-network",
128
- "version": "0.218.1(@stack-spot/auth@6.1.0)(@stack-spot/opa@2.5.0(@stack-spot/auth@6.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@stack-spot/portal-translate@2.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tanstack/react-query@5.59.16(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
128
+ "version": "0.219.0(@stack-spot/auth@6.1.0)(@stack-spot/opa@2.5.0(@stack-spot/auth@6.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@stack-spot/portal-translate@2.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tanstack/react-query@5.59.16(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
129
129
  },
130
130
  {
131
131
  "name": "@stack-spot/portal-theme",
@@ -0,0 +1,55 @@
1
+
2
+ import { Select } from '@stack-spot/citric-react'
3
+ import { useTranslate } from '@stack-spot/portal-translate'
4
+ import { Dispatch, MouseEvent, SetStateAction, useEffect, useState } from 'react'
5
+ import { isEqual } from 'lodash'
6
+ import { VersionSelector } from './styled'
7
+
8
+ interface Props {
9
+ value?: number,
10
+ onChange: Dispatch<SetStateAction<number | undefined>>,
11
+ options?: number[],
12
+ lazyLoadOptions?: boolean,
13
+ useVersions?: (id: string, enabled: boolean) => number[] | undefined,
14
+ id: string,
15
+ }
16
+
17
+ export const SelectVersion = ({ useVersions, value, onChange, options: initialOptions, id, lazyLoadOptions=false }: Props) => {
18
+ const t = useTranslate(dictionary)
19
+ const [options, setOptions] = useState(initialOptions)
20
+ const [enabled, setEnabled] = useState(!lazyLoadOptions)
21
+ const versions = useVersions?.(id, enabled)
22
+
23
+ const onClick = (e?: MouseEvent<HTMLDivElement>) => {
24
+ e?.stopPropagation()
25
+ if (lazyLoadOptions) {
26
+ setEnabled(true)
27
+ }
28
+ }
29
+
30
+ useEffect(() => {
31
+ if (lazyLoadOptions && !isEqual(versions, options)){
32
+ setOptions(versions)
33
+ }
34
+ }, [versions])
35
+
36
+ return (
37
+ <VersionSelector>
38
+ <Select className="version-selector"
39
+ options={options || []}
40
+ value={value}
41
+ onChange={onChange}
42
+ onClick={onClick}
43
+ renderLabel={(item) =>`${t.version} ${item}`} />
44
+ </VersionSelector>
45
+ )
46
+ }
47
+
48
+ const dictionary = {
49
+ en: {
50
+ version: 'Version',
51
+ },
52
+ pt: {
53
+ version: 'Versão',
54
+ },
55
+ }
@@ -10,6 +10,7 @@ import { useCurrentChatState, useWidgetState } from '../../context/hooks'
10
10
  import { getUrlToStackSpotAI } from '../../utils/url'
11
11
  import { ButtonFavorite } from '../ButtonFavorite'
12
12
  import { Fading } from '../Fading'
13
+ import { SelectVersion } from './SelectVersion'
13
14
  import { SelectorBox } from './styled'
14
15
 
15
16
  type SectionVisibility = AgentVisibilityLevel | VisibilityLevelEnum
@@ -20,6 +21,7 @@ interface Item {
20
21
  slug: string,
21
22
  description: string,
22
23
  visibility_level: SectionVisibility,
24
+ version_number?: number,
23
25
  }
24
26
 
25
27
  interface Favorite<T> {
@@ -40,7 +42,7 @@ interface ListProps<T> {
40
42
  filter?: string,
41
43
  visibility?: SectionVisibility,
42
44
  selectorConfig: SelectorConfig<T>,
43
- onSelect: (item: T) => void,
45
+ onSelect: (item: T, selectedVersion?: number) => void,
44
46
  favorite?: Favorite<T>,
45
47
  }
46
48
 
@@ -69,10 +71,12 @@ interface SelectorConfig<T> {
69
71
  regex: RegExp,
70
72
  urlBuilder: (item: T) => string,
71
73
  searchProp: keyof T,
74
+ isEnabledVersionContent?: boolean,
75
+ useVersions?: (id: string, enabled: boolean) => number[] | undefined,
72
76
  isEnabled: boolean,
73
77
  sections: SectionVisibility[],
74
78
  renderComponentItem: FC<T>,
75
- onSelect: (item: T) => void,
79
+ onSelect: (item: T, selectedVersion?: number) => void,
76
80
  /**
77
81
  * A react hook or a simple function that returns the selectable items.
78
82
  *
@@ -91,21 +95,26 @@ interface SelectorProps<T> {
91
95
 
92
96
  const ListItem = <T extends Item>({ item, selectorConfig, onSelect, favorite }: ListItemProps<T>) => {
93
97
  const t = useTranslate(dictionary)
94
- const { urlBuilder, renderComponentItem } = selectorConfig
98
+ const { urlBuilder, renderComponentItem, useVersions, isEnabledVersionContent } = selectorConfig
95
99
  const linkTitle = interpolate(t.open, item.slug)
96
100
  const listFavorites = favorite?.useFavorites?.()
97
-
101
+ const [selectedVersion, setSelectedVersion] = useState(item.version_number)
102
+
98
103
  return (
99
104
  <li>
100
105
  <button
101
106
  className="selector"
102
- onClick={() => onSelect(item)}
107
+ onClick={() => onSelect(item, selectedVersion)}
103
108
  onKeyDown={(e) => e.key === 'Enter' && e.preventDefault()}
104
109
  onFocus={(e) => e.target.closest('li')?.classList.add('focus')}
105
110
  onBlur={(e) => e.target.closest('li')?.classList.remove('focus')}
106
111
  >
107
112
  {renderComponentItem(item)}
108
113
  </button>
114
+ {isEnabledVersionContent &&
115
+ <SelectVersion options={item.version_number ? [item.version_number] : []} id={item.id}
116
+ value={selectedVersion} onChange={setSelectedVersion} lazyLoadOptions={true} useVersions={useVersions}
117
+ /> }
109
118
  <IconLink
110
119
  icon="ExternalLink"
111
120
  title={linkTitle}
@@ -148,14 +157,14 @@ const List = <T extends Item>({ selectorConfig, filter, visibility, onSelect, fa
148
157
  )
149
158
  }
150
159
 
151
- const SelectorContent = ({ filter, onClose, selectorConfig, favorite }: ContentProps<any>) => {
160
+ const SelectorContent = <T, > ({ filter, onClose, selectorConfig, favorite }: ContentProps<T>) => {
152
161
  const t = useTranslate(dictionary)
153
162
  const ref = useRef<HTMLDivElement>(null)
154
- const [visibility, setVisibility] = useState<SectionVisibility | undefined>()
155
- const isGroupResourcesByScope = useWidgetState('features')?.groupResourcesByScope
156
163
  const { resourceName, icon, onSelect, sections } = selectorConfig
157
- const onSelectItem = useCallback((slug: string) => {
158
- onSelect(slug)
164
+ const [visibility, setVisibility] = useState<SectionVisibility | undefined>(sections[0])
165
+ const isGroupResourcesByScope = useWidgetState('features')?.groupResourcesByScope
166
+ const onSelectItem = useCallback((item: any, selectedVersion?: number) => {
167
+ onSelect(item, selectedVersion)
159
168
  onClose()
160
169
  }, [])
161
170
 
@@ -187,8 +196,8 @@ const SelectorContent = ({ filter, onClose, selectorConfig, favorite }: ContentP
187
196
  <div className="body">
188
197
  {isGroupResourcesByScope && (
189
198
  <ul className="tabs">
190
- {createSectionItem()}
191
199
  {sections.map(createSectionItem)}
200
+ {createSectionItem()}
192
201
  </ul>
193
202
  )}
194
203
  <FallbackBoundary message={interpolate(t.error, selectorConfig.resourceName)}>
@@ -156,3 +156,50 @@ export const SelectorBox = styled.div<{ $tabsCount: number }>`
156
156
  }
157
157
  }
158
158
  `
159
+
160
+ export const VersionSelector = styled.div`
161
+ position: relative;
162
+ min-width: 100px;
163
+
164
+ .version-selector {
165
+ height: 28px;
166
+ position: absolute;
167
+ top: -18px;
168
+ left: -12px;
169
+
170
+ header {
171
+ height: 20px;
172
+ background-color: ${theme.color.light[300]};
173
+ border: none;
174
+ margin-bottom: 0;
175
+ gap: 0;
176
+ padding: 0;
177
+
178
+ }
179
+ .selection-panel .options{
180
+ overflow: hidden;
181
+ }
182
+ li {
183
+ gap: 5px;
184
+ padding: 0 8px 0 !important;
185
+ padding-left: 5px;
186
+ }
187
+ }
188
+
189
+ `
190
+
191
+ export const VersionSelectorBox = styled.div`
192
+ border: 1px solid ${theme.color.light[500]};
193
+ border-radius: 4px;
194
+ .version-selector {
195
+ position: relative;
196
+ top: 0;
197
+ left: 0;
198
+ }
199
+ > div {
200
+ position: relative;
201
+ .options {
202
+ overflow: hidden;
203
+ }
204
+ }
205
+ `
@@ -0,0 +1,31 @@
1
+ import { accountClient } from '@stack-spot/portal-network'
2
+
3
+ const useEnabledFeatureFlags = (resourceType?: string, resourceSlug?: string) => {
4
+ const queryParams = resourceType && resourceSlug ? { [resourceType]: resourceSlug } : {}
5
+ const [featureFlags, , error, { isLoading }] = accountClient.getEnabledFeatureFlagsForAccount.useStatefulQuery({
6
+ queryParams,
7
+ })
8
+ return { featureFlags, isLoading, error }
9
+ }
10
+
11
+ export const useIsFeatureFlagEnabled = (
12
+ flagSlug: string,
13
+ resourceType?: string,
14
+ resourceSlug?: string,
15
+ ) => {
16
+ const { featureFlags, isLoading } = useEnabledFeatureFlags(resourceType, resourceSlug)
17
+ if (resourceType && resourceSlug) {
18
+ const featureFlag = featureFlags?.find((flag) => flag.slug === flagSlug)
19
+ const resourcesByType = featureFlag?.resources?.[resourceType]
20
+ if (!!featureFlag && !!resourcesByType) {
21
+ if (resourcesByType.mode === 'ALL') {
22
+ return { flagEnabled: true, isLoading }
23
+ } else {
24
+ return { flagEnabled: !!featureFlag.resources?.[resourceType].slugs.some((slug) => slug === resourceSlug), isLoading }
25
+ }
26
+ }
27
+ return { flagEnabled: false, isLoading }
28
+ } else {
29
+ return { flagEnabled: !!featureFlags?.some((flag) => flag.slug === flagSlug), isLoading }
30
+ }
31
+ }
@@ -11,6 +11,7 @@ export interface LabeledAgent extends LabeledWithImage {
11
11
  builtIn?: boolean,
12
12
  slug?: string,
13
13
  visibility_level?: string,
14
+ agent_version_number?: number,
14
15
  }
15
16
 
16
17
  export interface FileSize {
package/src/utils/chat.ts CHANGED
@@ -19,6 +19,7 @@ export function buildConversationContext(state: ChatState, message?: ChatEntry |
19
19
  knowledge_sources: state.get('knowledgeSources')?.map(ks => ks.id),
20
20
  upload_ids: message?.getValue().upload?.map(f => f.id),
21
21
  selected_model: state.get('selected_model_id') ?? null,
22
+ agent_version_number: state.get('agent')?.agent_version_number,
22
23
  context: {
23
24
  os: navigator.userAgent,
24
25
  platform: 'web-widget',
@@ -1,9 +1,9 @@
1
1
 
2
- export type ToolWithImage = { id?: string, image?: string, name: string, description?: string }
2
+ export type ToolWithImage = { id?: string | null, image?: string, name?: string, description?: string }
3
3
 
4
4
  interface Toolkit {
5
5
  id?: string | null,
6
- tools?: { id?: string, name?: string, description?: string, function?: { name: string, description?: string } }[] | null,
6
+ tools?: { id?: string | null, name?: string, description?: string, function?: { name: string, description: string } | null }[] | null,
7
7
  image_url?: string | null,
8
8
  avatar?: string | null,
9
9
  }
@@ -22,8 +22,8 @@ export function toolById(id: string, toolkits: Toolkit[] | undefined): ToolWithI
22
22
  if (mcp) {
23
23
  const [, toolkitId, toolName] = mcp
24
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 }
25
+ const tool = toolkit?.tools?.find(t => t.name === toolName || t.function?.name === toolName)
26
+ return { id, image: toolkit?.avatar ?? undefined, name: tool?.function?.name, description: tool?.function?.description }
27
27
  }
28
28
  const { tool, toolkit } = findToolById(id, toolkits ?? []) ?? {}
29
29
  return (tool && toolkit)
@@ -1,17 +1,31 @@
1
1
  import { Icon } from '@stack-spot/citric-icons'
2
- import { AsyncContent, Badge, Card, IconBox, ImageBox, ImageWithFallback, Text } from '@stack-spot/citric-react'
2
+ import { AsyncContent, Badge, Card, IconBox, ImageBox, ImageWithFallback, Row, Text } from '@stack-spot/citric-react'
3
3
  import { agentToolsClient } from '@stack-spot/portal-network'
4
- import { useMemo } from 'react'
4
+ import { useEffect, useMemo, useState } from 'react'
5
+ import { SelectVersion } from '../../components/Selector/SelectVersion'
6
+ import { VersionSelectorBox } from '../../components/Selector/styled'
5
7
  import { useAgentsDictionary } from './dictionary'
6
8
  import { AgentDescriptionBox } from './styled'
7
9
 
8
- export const AgentDescription = ({ agentId }: { agentId?: string }) => {
10
+ interface Props {
11
+ agentId?: string,
12
+ enableVersionSelect?: boolean,
13
+ onVersionChange?: (version?: number) => void,
14
+ }
15
+
16
+ export const AgentDescription = ({ agentId, enableVersionSelect, onVersionChange }:Props) => {
9
17
  const t = useAgentsDictionary()
10
- const [agent,, error, { isLoading }] = agentToolsClient.agent.useStatefulQuery({ agentId: agentId! }, { enabled: !!agentId })
11
- const numberOfKnowledgeSources = agent?.knowledge_sources_config?.knowledge_sources.length ?? 0
18
+ const [selectedVersion, setSelectedVersion] = useState<number | undefined>(undefined)
19
+ const [agent,, error, { isLoading }] = agentToolsClient.agentV2.useStatefulQuery({ agentCoreId: agentId!,
20
+ versionNumber: selectedVersion }, { enabled: !!agentId })
21
+ const [listVersions, , errorAgentWithVersion, { isLoading: isLoadingAgentWithVersions }] =
22
+ agentToolsClient.listAgentVersions.useStatefulQuery({ agentCoreId: agentId! },
23
+ { enabled: enableVersionSelect && !!agentId })
24
+ const optionsVersions = listVersions?.map((version) => version.version_number)
25
+ const numberOfKnowledgeSources = agent?.version.knowledge_sources_config?.knowledge_sources.length ?? 0
12
26
 
13
27
  const knowledgeSources = useMemo(
14
- () => agent?.knowledge_sources_config?.knowledge_sources_details?.map((ks, index) => (
28
+ () => agent?.version.knowledge_sources_config?.knowledge_sources_details?.map((ks, index) => (
15
29
  <li key={index}>
16
30
  <Card gap="10px" direction="row" flex={1} size="xxs" bgLevel={500} justifyContent="space-between">
17
31
  <Text color="light.contrastText">{ks.name}</Text>
@@ -21,12 +35,12 @@ export const AgentDescription = ({ agentId }: { agentId?: string }) => {
21
35
  )),
22
36
  [agent],
23
37
  )
24
-
38
+
25
39
  const { tools, multiAgents } = useMemo(() => {
26
40
  const tools: React.ReactElement[] = []
27
41
  const multiAgents: React.ReactElement[] = []
28
- const builtInTools = agent?.toolkits?.builtin_toolkits ?? []
29
- const customToolkits = agent?.toolkits?.custom_toolkits ?? []
42
+ const builtInTools = agent?.version.toolkits?.builtin_toolkits ?? []
43
+ const customToolkits = agent?.version.toolkits?.custom_toolkits ?? []
30
44
  for (const toolkit of builtInTools) {
31
45
  for (const tool of toolkit.tools ?? []) {
32
46
  if (toolkit.id == 'UTILITIES'){
@@ -66,22 +80,42 @@ export const AgentDescription = ({ agentId }: { agentId?: string }) => {
66
80
  return { tools, multiAgents }
67
81
  }, [agent])
68
82
 
69
- const mcpToolkits = useMemo(() => agent?.toolkits?.mcp_toolkits?.map(t => (
83
+ const mcpToolkits = useMemo(() => agent?.version.toolkits?.mcp_toolkits?.map(t => (
70
84
  <li key={`mcp-${t.id}`}>
71
85
  <Card gap="10px" direction="row" flex={1} size="xxs" bgLevel={500}>
72
86
  <ImageBox><ImageWithFallback src={t.avatar ?? undefined} fallback={<Icon icon="Cog" />} /></ImageBox>
73
87
  <Text color="light.contrastText">{t.name}</Text>
74
88
  </Card>
75
89
  </li>
76
- )), [agent?.toolkits?.mcp_toolkits])
90
+ )), [agent?.version.toolkits?.mcp_toolkits])
91
+
92
+ useEffect(() => {
93
+ if (!selectedVersion && agent?.version.version_number !== selectedVersion){
94
+ setSelectedVersion(agent?.version.version_number)
95
+ }
96
+ }, [agent?.version.version_number])
97
+
98
+ const onChangeVersion = (version?: number) => {
99
+ setSelectedVersion(version)
100
+ onVersionChange?.(version)
101
+ }
77
102
 
78
103
  return (
79
- <AsyncContent loading={isLoading} error={error}>
104
+ <AsyncContent loading={isLoading || isLoadingAgentWithVersions} error={error || errorAgentWithVersion}>
80
105
  <AgentDescriptionBox>
81
106
  {agent?.description && <section>
82
107
  <Text appearance="microtext1" className="title">{t.description}</Text>
83
108
  <Text>{agent?.description}</Text>
84
109
  </section>}
110
+ {enableVersionSelect && optionsVersions && optionsVersions?.length > 0 && <section>
111
+ <VersionSelectorBox>
112
+ <Row justifyContent="space-between" p={4}>
113
+ <Text>{t.version}</Text>
114
+ <SelectVersion options={optionsVersions} value={selectedVersion}
115
+ onChange={(value?: any) => onChangeVersion(value)} id={agent?.id ?? ''} />
116
+ </Row>
117
+ </VersionSelectorBox>
118
+ </section>}
85
119
  {(!!numberOfKnowledgeSources || !!knowledgeSources?.length) && <section>
86
120
  <Text appearance="microtext1" className="title">Knowledge sources</Text>
87
121
  <ul>{knowledgeSources}</ul>
@@ -97,9 +131,9 @@ export const AgentDescription = ({ agentId }: { agentId?: string }) => {
97
131
  <Text appearance="microtext1" className="title">{t.multiAgent}</Text>
98
132
  <ul>{multiAgents}</ul>
99
133
  </section>}
100
- {agent?.model_name && <section>
134
+ {agent?.version.model_name && <section>
101
135
  <Text appearance="microtext1" className="title">LLM</Text>
102
- <Badge colorPalette="orange" appearance="square">{agent?.model_name}</Badge>
136
+ <Badge colorPalette="orange" appearance="square">{agent?.version.model_name}</Badge>
103
137
  </section>}
104
138
  </AgentDescriptionBox>
105
139
  </AsyncContent>