@stack-spot/ai-chat-widget 1.0.0-dev.1768590034766 → 1.0.0-dev.1768917540372

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 (89) hide show
  1. package/dist/app-metadata.json +3 -3
  2. package/dist/chat-interceptors/send-message.d.ts.map +1 -1
  3. package/dist/chat-interceptors/send-message.js +1 -5
  4. package/dist/chat-interceptors/send-message.js.map +1 -1
  5. package/dist/components/FileDescription.js +1 -1
  6. package/dist/components/FileDescription.js.map +1 -1
  7. package/dist/components/Selector/index.d.ts +0 -2
  8. package/dist/components/Selector/index.d.ts.map +1 -1
  9. package/dist/components/Selector/index.js +2 -5
  10. package/dist/components/Selector/index.js.map +1 -1
  11. package/dist/components/Selector/styled.d.ts +0 -2
  12. package/dist/components/Selector/styled.d.ts.map +1 -1
  13. package/dist/components/Selector/styled.js +0 -45
  14. package/dist/components/Selector/styled.js.map +1 -1
  15. package/dist/components/TabManager.d.ts.map +1 -1
  16. package/dist/components/TabManager.js +4 -20
  17. package/dist/components/TabManager.js.map +1 -1
  18. package/dist/state/types.d.ts +0 -1
  19. package/dist/state/types.d.ts.map +1 -1
  20. package/dist/utils/tools.d.ts +5 -5
  21. package/dist/utils/tools.d.ts.map +1 -1
  22. package/dist/utils/tools.js +2 -2
  23. package/dist/utils/tools.js.map +1 -1
  24. package/dist/views/Agents/AgentDescription.d.ts +2 -6
  25. package/dist/views/Agents/AgentDescription.d.ts.map +1 -1
  26. package/dist/views/Agents/AgentDescription.js +10 -25
  27. package/dist/views/Agents/AgentDescription.js.map +1 -1
  28. package/dist/views/Agents/AgentsTab.d.ts.map +1 -1
  29. package/dist/views/Agents/AgentsTab.js +4 -21
  30. package/dist/views/Agents/AgentsTab.js.map +1 -1
  31. package/dist/views/Agents/dictionary.d.ts +1 -1
  32. package/dist/views/Agents/dictionary.d.ts.map +1 -1
  33. package/dist/views/Agents/dictionary.js +0 -2
  34. package/dist/views/Agents/dictionary.js.map +1 -1
  35. package/dist/views/Chat/ChatMessage.d.ts.map +1 -1
  36. package/dist/views/Chat/ChatMessage.js +5 -6
  37. package/dist/views/Chat/ChatMessage.js.map +1 -1
  38. package/dist/views/ChatHistory/utils.d.ts.map +1 -1
  39. package/dist/views/ChatHistory/utils.js +7 -14
  40. package/dist/views/ChatHistory/utils.js.map +1 -1
  41. package/dist/views/Home/CustomAgent.js +3 -3
  42. package/dist/views/Home/CustomAgent.js.map +1 -1
  43. package/dist/views/MessageInput/AgentSelector.d.ts.map +1 -1
  44. package/dist/views/MessageInput/AgentSelector.js +1 -11
  45. package/dist/views/MessageInput/AgentSelector.js.map +1 -1
  46. package/dist/views/MessageInput/ContextBar.js +1 -1
  47. package/dist/views/MessageInput/ContextBar.js.map +1 -1
  48. package/dist/views/MessageInput/ModelSwitcher/index.d.ts.map +1 -1
  49. package/dist/views/MessageInput/ModelSwitcher/index.js +1 -3
  50. package/dist/views/MessageInput/ModelSwitcher/index.js.map +1 -1
  51. package/dist/views/MessageInput/ModelSwitcher/utils.d.ts +2 -2
  52. package/dist/views/MessageInput/ModelSwitcher/utils.d.ts.map +1 -1
  53. package/dist/views/MessageInput/ModelSwitcher/utils.js +6 -6
  54. package/dist/views/MessageInput/ModelSwitcher/utils.js.map +1 -1
  55. package/dist/views/Resources.js +5 -8
  56. package/dist/views/Resources.js.map +1 -1
  57. package/dist/views/Tools.js +2 -3
  58. package/dist/views/Tools.js.map +1 -1
  59. package/package.json +2 -2
  60. package/src/app-metadata.json +3 -3
  61. package/src/chat-interceptors/send-message.ts +2 -6
  62. package/src/components/FileDescription.tsx +1 -1
  63. package/src/components/Selector/index.tsx +2 -11
  64. package/src/components/Selector/styled.ts +0 -47
  65. package/src/components/TabManager.tsx +8 -31
  66. package/src/state/types.ts +0 -1
  67. package/src/utils/tools.ts +4 -4
  68. package/src/views/Agents/AgentDescription.tsx +14 -48
  69. package/src/views/Agents/AgentsTab.tsx +13 -31
  70. package/src/views/Agents/dictionary.ts +1 -2
  71. package/src/views/Chat/ChatMessage.tsx +6 -8
  72. package/src/views/ChatHistory/utils.ts +10 -18
  73. package/src/views/Home/CustomAgent.tsx +4 -4
  74. package/src/views/MessageInput/AgentSelector.tsx +5 -15
  75. package/src/views/MessageInput/ContextBar.tsx +1 -1
  76. package/src/views/MessageInput/ModelSwitcher/index.tsx +2 -3
  77. package/src/views/MessageInput/ModelSwitcher/utils.tsx +8 -9
  78. package/src/views/Resources.tsx +6 -10
  79. package/src/views/Tools.tsx +4 -5
  80. package/dist/components/Selector/SelectVersion.d.ts +0 -12
  81. package/dist/components/Selector/SelectVersion.d.ts.map +0 -1
  82. package/dist/components/Selector/SelectVersion.js +0 -33
  83. package/dist/components/Selector/SelectVersion.js.map +0 -1
  84. package/dist/hooks/enabled-feature-flags.d.ts +0 -5
  85. package/dist/hooks/enabled-feature-flags.d.ts.map +0 -1
  86. package/dist/hooks/enabled-feature-flags.js +0 -28
  87. package/dist/hooks/enabled-feature-flags.js.map +0 -1
  88. package/src/components/Selector/SelectVersion.tsx +0 -55
  89. package/src/hooks/enabled-feature-flags.ts +0 -31
@@ -40,17 +40,14 @@ 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.agentV2.useStatefulQuery({
44
- agentCoreId: message?.agent?.id || '', versionNumber: message?.agent?.agent_version_number
45
- }, { enabled: !!message?.agent?.id });
43
+ const [agent] = agentToolsClient.agent.useStatefulQuery({ agentId: message?.agent?.id || '' }, { enabled: !!message?.agent?.id });
46
44
  const toolkits = useMemo(() => [
47
- ...agent?.version?.toolkits?.builtin_toolkits ?? [],
48
- ...agent?.version?.toolkits?.custom_toolkits ?? [],
49
- ...agent?.version?.toolkits?.mcp_toolkits ?? [],
45
+ ...agent?.toolkits?.builtin_toolkits ?? [],
46
+ ...agent?.toolkits?.custom_toolkits ?? [],
47
+ ...agent?.toolkits?.mcp_toolkits ?? [],
50
48
  ], [agent]);
51
49
  const tools = useMemo(() => message?.tools?.map(id => toolById(id, toolkits)), [messageId, toolkits]);
52
- const agentsSearch = message?.tools?.map((id) => ({ agent_core_id: id })) ?? [];
53
- const [agentsTools] = agentToolsClient.agentsByIdsV2.useStatefulQuery({ searchAgentsRequestV2: { agents: agentsSearch } });
50
+ const [agentsTools] = agentToolsClient.agentsByIds.useStatefulQuery({ searchAgentsRequest: { ids: message?.tools || [] } });
54
51
  const hasAgentTool = useMemo(() => message?.tools?.some(id => agentsTools?.find((agent) => agent.id === id)), [messageId]);
55
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 })] }));
56
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 &&
@@ -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,10 +35,9 @@ 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.agentV2.useStatefulQuery({ agentCoreId: message?.agent?.id || '',
39
- versionNumber: message?.agent?.agent_version_number }, { enabled: !!message?.agent?.id });
38
+ const [agent] = agentToolsClient.agent.useStatefulQuery({ agentId: message?.agent?.id || '' }, { enabled: !!message?.agent?.id });
40
39
  const tools = useMemo(() => message?.tools?.map(id => toolById(id, toolKits)), [messageId, toolKits]);
41
- const customTools = useMemo(() => message?.tools?.map(id => toolById(id, agent?.version?.toolkits?.custom_toolkits)), [messageId, agent?.version?.toolkits?.custom_toolkits]);
40
+ const customTools = useMemo(() => message?.tools?.map(id => toolById(id, agent?.toolkits?.custom_toolkits)), [messageId, agent?.toolkits?.custom_toolkits]);
42
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))) }));
43
42
  };
44
43
  const dictionary = {
@@ -1 +1 @@
1
- {"version":3,"file":"Tools.js","sourceRoot":"","sources":["../../src/views/Tools.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,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;AAEzC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;;;CAOzB,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE;IACxB,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,OAAO,IAAI,OAAO;YAAE,IAAI,CACpC,KAAC,UAAU,MAAM,OAAO,CAAC,SAAS,CAAI,EACtC,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,UAAU,GAAG,GAAG,EAAE;IACtB,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;IAEf,MAAM,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACjG,MAAM,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE;QAC/F,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,EACvD,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;IACrG,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,EAClH,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;IACzD,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,CAAC,IAAI,CACjD,KAAC,QAAQ,cACN,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAC7C,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,IAAI,CACN,uBACE,KAAC,SAAS,IACR,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAChC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,GACnC,IALK,IAAI,CAAC,EAAE,CAMX,CACN,CACJ,GACQ,CACZ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,wCAAwC;KACtD;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,8CAA8C;KAC5D;CACmB,CAAA"}
1
+ {"version":3,"file":"Tools.js","sourceRoot":"","sources":["../../src/views/Tools.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,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;AAEzC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAA;;;;;;;CAOzB,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE;IACxB,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,OAAO,IAAI,OAAO;YAAE,IAAI,CACpC,KAAC,UAAU,MAAM,OAAO,CAAC,SAAS,CAAI,EACtC,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,UAAU,GAAG,GAAG,EAAE;IACtB,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;IAEf,MAAM,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACjG,MAAM,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAC3F,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;IACrG,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,EACzG,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;IAChD,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,CAAC,IAAI,CACjD,KAAC,QAAQ,cACN,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAC7C,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,IAAI,CACN,uBACE,KAAC,SAAS,IACR,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAChC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,EACvB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,GACnC,IALK,IAAI,CAAC,EAAE,CAMX,CACN,CACJ,GACQ,CACZ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,wCAAwC;KACtD;IACD,EAAE,EAAE;QACF,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,8CAA8C;KAC5D;CACmB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stack-spot/ai-chat-widget",
3
- "version": "1.0.0-dev.1768590034766",
3
+ "version": "1.0.0-dev.1768917540372",
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.203.1-beta.1",
19
+ "@stack-spot/portal-network": "0.212.4",
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": "1.0.0-dev.1768590034766",
4
- "date": "Fri Jan 16 2026 19:00:40 GMT+0000 (Coordinated Universal Time)",
3
+ "version": "1.0.0-dev.1768917540372",
4
+ "date": "Tue Jan 20 2026 13:59:06 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": "1.0.0-dev.1768423147036(@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": "1.0.0-dev.1768917458768(@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",
@@ -202,12 +202,8 @@ export async function sendMessageInterceptor(entry: ChatEntry, chat: ChatState,
202
202
  chat.set('label', content || entry.getValue().upload?.[0]?.name || 'Chat')
203
203
  chat.untitled = false
204
204
  }
205
-
206
- const stream = aiClient.sendChatMessage({
207
- context,
208
- user_prompt: buildPrompt(content, data),
209
- agent_version_number: chat.get('agent')?.agent_version_number,
210
- })
205
+
206
+ const stream = aiClient.sendChatMessage({ context, user_prompt: buildPrompt(content, data) })
211
207
  signal.addEventListener('abort', () => stream.cancel())
212
208
  const botEntry = ChatEntry.createStreamedBotEntry()
213
209
  // we add the chat entry and show the streaming if the streaming feature is enabled
@@ -94,7 +94,7 @@ export const FileDescription = ({ fileName, icon, status, onRemove, onRetry }: F
94
94
  icon="TimesMini"
95
95
  onClick={onRemove}
96
96
  title={t.remove}
97
- aria-label={name}
97
+ arial-label={`${t.remove} ${name}`}
98
98
  style={{ alignSelf: 'start' }}
99
99
  size="xs"
100
100
  />}
@@ -10,7 +10,6 @@ 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'
14
13
  import { SelectorBox } from './styled'
15
14
 
16
15
  type SectionVisibility = AgentVisibilityLevel | VisibilityLevelEnum
@@ -21,7 +20,6 @@ interface Item {
21
20
  slug: string,
22
21
  description: string,
23
22
  visibility_level: SectionVisibility,
24
- version_number?: number,
25
23
  }
26
24
 
27
25
  interface Favorite<T> {
@@ -71,8 +69,6 @@ interface SelectorConfig<T> {
71
69
  regex: RegExp,
72
70
  urlBuilder: (item: T) => string,
73
71
  searchProp: keyof T,
74
- isEnabledVersionContent?: boolean,
75
- useVersions?: (id: string, enabled: boolean) => number[] | undefined,
76
72
  isEnabled: boolean,
77
73
  sections: SectionVisibility[],
78
74
  renderComponentItem: FC<T>,
@@ -95,11 +91,10 @@ interface SelectorProps<T> {
95
91
 
96
92
  const ListItem = <T extends Item>({ item, selectorConfig, onSelect, favorite }: ListItemProps<T>) => {
97
93
  const t = useTranslate(dictionary)
98
- const { urlBuilder, renderComponentItem, useVersions, isEnabledVersionContent } = selectorConfig
94
+ const { urlBuilder, renderComponentItem } = selectorConfig
99
95
  const linkTitle = interpolate(t.open, item.slug)
100
96
  const listFavorites = favorite?.useFavorites?.()
101
- const [selectedVersion, setSelectedVersion] = useState(item.version_number)
102
-
97
+
103
98
  return (
104
99
  <li>
105
100
  <button
@@ -111,10 +106,6 @@ const ListItem = <T extends Item>({ item, selectorConfig, onSelect, favorite }:
111
106
  >
112
107
  {renderComponentItem(item)}
113
108
  </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
- /> }
118
109
  <IconLink
119
110
  icon="ExternalLink"
120
111
  title={linkTitle}
@@ -156,50 +156,3 @@ 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
- `
@@ -5,7 +5,7 @@ import { Button, IconButton } from '@stack-spot/citric-react'
5
5
  import { listToClass, theme } from '@stack-spot/portal-theme'
6
6
  import { Dictionary, useTranslate } from '@stack-spot/portal-translate'
7
7
  import { last } from 'lodash'
8
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
8
+ import { useCallback, useEffect, useMemo, useRef } from 'react'
9
9
  import { styled } from 'styled-components'
10
10
  import { ButtonAction } from '../types'
11
11
  import { FadingOverflow } from './FadingOverflow'
@@ -152,31 +152,19 @@ export function TabManager<T, Key extends React.Key>(
152
152
  const t = useTranslate(dictionary)
153
153
  const tabList = useRef<HTMLUListElement>(null)
154
154
  const lastNumberOfTabs = useRef(tabs.length)
155
- const [ariaMessage, setAriaMessage] = useState('')
156
155
 
157
156
  const onClickTab = useCallback((event: React.MouseEvent<HTMLElement, MouseEvent>) => {
158
157
  const target = event.target as HTMLElement
159
158
  if (target.tagName === 'LI') target.querySelector('button')?.click()
160
159
  }, [])
161
160
 
162
- const tabItems = useMemo(() => tabs.map((tab, idx) => {
163
- const tabLabel = typeof renderLabel(tab) === 'string'
164
- ? renderLabel(tab)
165
- : `${t.tab} ${idx + 1}`
166
-
167
- return (
168
- <li key={keygen(tab)} className={keygen(tab) === active ? 'active' : undefined} onClick={onClickTab}>
169
- <button className="label" aria-label={`${t.chat} ${tabLabel}`} onClick={() => onSelect(tab)}>
170
- <FadingOverflow>{renderLabel(tab)}</FadingOverflow>
171
- </button>
172
- {tabs.length > 1 &&
173
- <IconButton appearance="text" icon="TimesMini" aria-label={`${tabLabel}`}
174
- title={t.close} onClick={() => { onRemove(tab), setAriaMessage(`${t.chat} ${tabLabel} ${t.closed}`)
175
-
176
- // Clears the message after a short time to prevent it from repeating
177
- setTimeout(() => setAriaMessage(''), 1000)}} />}
178
- </li>
179
- )}), [tabs, active])
161
+ const tabItems = useMemo(() => tabs.map((tab) => (
162
+ <li key={keygen(tab)} className={keygen(tab) === active ? 'active' : undefined} onClick={onClickTab}>
163
+ <button className="label" onClick={() => onSelect(tab)}><FadingOverflow>{renderLabel(tab)}</FadingOverflow></button>
164
+ {tabs.length > 1 &&
165
+ <IconButton appearance="text" icon="TimesMini" aria-label={t.close} title={t.close} onClick={() => onRemove(tab)} />}
166
+ </li>
167
+ )), [tabs, active])
180
168
 
181
169
  const extras = useMemo(() => buttons.map(({
182
170
  ariaLabel, title, label, onClick, group, icon, appearance, size, className, style, disabled }) => label
@@ -216,11 +204,6 @@ export function TabManager<T, Key extends React.Key>(
216
204
 
217
205
  return (
218
206
  <Tabs $numberOfExtraButtons={buttons.length} className="tabs">
219
- <div
220
- aria-live="polite" aria-atomic="true"
221
- style={{ position: 'absolute', left: '-9999px', width: '1px', height: '1px', overflow: 'hidden' }}>
222
- {ariaMessage}
223
- </div>
224
207
  <FadingOverflow className="list-overflow" scroll="arrows" enableHorizontalScrollWithVerticalWheel>
225
208
  <ul ref={tabList}>{tabItems}</ul>
226
209
  </FadingOverflow>
@@ -232,15 +215,9 @@ export function TabManager<T, Key extends React.Key>(
232
215
  const dictionary = {
233
216
  en: {
234
217
  close: 'Close',
235
- tab: 'Tab',
236
- chat: 'Chat',
237
- closed: 'Closed',
238
218
  },
239
219
  pt: {
240
220
  close: 'Fechar',
241
- tab: 'Aba',
242
- chat: 'Chat',
243
- closed: 'Fechado',
244
221
  },
245
222
  } satisfies Dictionary
246
223
 
@@ -11,7 +11,6 @@ export interface LabeledAgent extends LabeledWithImage {
11
11
  builtIn?: boolean,
12
12
  slug?: string,
13
13
  visibility_level?: string,
14
- agent_version_number?: number,
15
14
  }
16
15
 
17
16
  export interface FileSize {
@@ -1,9 +1,9 @@
1
1
 
2
- export type ToolWithImage = { id?: string | null, image?: string, name?: string, description?: string }
2
+ export type ToolWithImage = { id?: string, image?: string, name: string, description?: string }
3
3
 
4
4
  interface Toolkit {
5
5
  id?: string | null,
6
- tools?: { id?: string | null, name?: string, description?: string, function?: { name: string, description: string } | null }[] | null,
6
+ tools?: { id?: string, name?: string, description?: string, function?: { name: string, description?: string } }[] | 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 || t.function?.name === toolName)
26
- return { id, image: toolkit?.avatar ?? undefined, name: tool?.function?.name, description: tool?.function?.description }
25
+ const tool = toolkit?.tools?.find(t => t.name === toolName)
26
+ return { id, image: toolkit?.avatar ?? undefined, name: toolName, description: tool?.function?.description }
27
27
  }
28
28
  const { tool, toolkit } = findToolById(id, toolkits ?? []) ?? {}
29
29
  return (tool && toolkit)
@@ -1,31 +1,17 @@
1
1
  import { Icon } from '@stack-spot/citric-icons'
2
- import { AsyncContent, Badge, Card, IconBox, ImageBox, ImageWithFallback, Row, Text } from '@stack-spot/citric-react'
2
+ import { AsyncContent, Badge, Card, IconBox, ImageBox, ImageWithFallback, Text } from '@stack-spot/citric-react'
3
3
  import { agentToolsClient } from '@stack-spot/portal-network'
4
- import { useEffect, useMemo, useState } from 'react'
5
- import { SelectVersion } from '../../components/Selector/SelectVersion'
6
- import { VersionSelectorBox } from '../../components/Selector/styled'
4
+ import { useMemo } from 'react'
7
5
  import { useAgentsDictionary } from './dictionary'
8
6
  import { AgentDescriptionBox } from './styled'
9
7
 
10
- interface Props {
11
- agentId?: string,
12
- enableVersionSelect?: boolean,
13
- onVersionChange?: (version?: number) => void,
14
- }
15
-
16
- export const AgentDescription = ({ agentId, enableVersionSelect, onVersionChange }:Props) => {
8
+ export const AgentDescription = ({ agentId }: { agentId?: string }) => {
17
9
  const t = useAgentsDictionary()
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
10
+ const [agent,, error, { isLoading }] = agentToolsClient.agent.useStatefulQuery({ agentId: agentId! }, { enabled: !!agentId })
11
+ const numberOfKnowledgeSources = agent?.knowledge_sources_config?.knowledge_sources.length ?? 0
26
12
 
27
13
  const knowledgeSources = useMemo(
28
- () => agent?.version.knowledge_sources_config?.knowledge_sources_details?.map((ks, index) => (
14
+ () => agent?.knowledge_sources_config?.knowledge_sources_details?.map((ks, index) => (
29
15
  <li key={index}>
30
16
  <Card gap="10px" direction="row" flex={1} size="xxs" bgLevel={500} justifyContent="space-between">
31
17
  <Text color="light.contrastText">{ks.name}</Text>
@@ -35,12 +21,12 @@ export const AgentDescription = ({ agentId, enableVersionSelect, onVersionChange
35
21
  )),
36
22
  [agent],
37
23
  )
38
-
24
+
39
25
  const { tools, multiAgents } = useMemo(() => {
40
26
  const tools: React.ReactElement[] = []
41
27
  const multiAgents: React.ReactElement[] = []
42
- const builtInTools = agent?.version.toolkits?.builtin_toolkits ?? []
43
- const customToolkits = agent?.version.toolkits?.custom_toolkits ?? []
28
+ const builtInTools = agent?.toolkits?.builtin_toolkits ?? []
29
+ const customToolkits = agent?.toolkits?.custom_toolkits ?? []
44
30
  for (const toolkit of builtInTools) {
45
31
  for (const tool of toolkit.tools ?? []) {
46
32
  if (toolkit.id == 'UTILITIES'){
@@ -80,42 +66,22 @@ export const AgentDescription = ({ agentId, enableVersionSelect, onVersionChange
80
66
  return { tools, multiAgents }
81
67
  }, [agent])
82
68
 
83
- const mcpToolkits = useMemo(() => agent?.version.toolkits?.mcp_toolkits?.map(t => (
69
+ const mcpToolkits = useMemo(() => agent?.toolkits?.mcp_toolkits?.map(t => (
84
70
  <li key={`mcp-${t.id}`}>
85
71
  <Card gap="10px" direction="row" flex={1} size="xxs" bgLevel={500}>
86
72
  <ImageBox><ImageWithFallback src={t.avatar ?? undefined} fallback={<Icon icon="Cog" />} /></ImageBox>
87
73
  <Text color="light.contrastText">{t.name}</Text>
88
74
  </Card>
89
75
  </li>
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
- }
76
+ )), [agent?.toolkits?.mcp_toolkits])
102
77
 
103
78
  return (
104
- <AsyncContent loading={isLoading || isLoadingAgentWithVersions} error={error || errorAgentWithVersion}>
79
+ <AsyncContent loading={isLoading} error={error}>
105
80
  <AgentDescriptionBox>
106
81
  {agent?.description && <section>
107
82
  <Text appearance="microtext1" className="title">{t.description}</Text>
108
83
  <Text>{agent?.description}</Text>
109
84
  </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>}
119
85
  {(!!numberOfKnowledgeSources || !!knowledgeSources?.length) && <section>
120
86
  <Text appearance="microtext1" className="title">Knowledge sources</Text>
121
87
  <ul>{knowledgeSources}</ul>
@@ -131,9 +97,9 @@ export const AgentDescription = ({ agentId, enableVersionSelect, onVersionChange
131
97
  <Text appearance="microtext1" className="title">{t.multiAgent}</Text>
132
98
  <ul>{multiAgents}</ul>
133
99
  </section>}
134
- {agent?.version.model_name && <section>
100
+ {agent?.model_name && <section>
135
101
  <Text appearance="microtext1" className="title">LLM</Text>
136
- <Badge colorPalette="orange" appearance="square">{agent?.version.model_name}</Badge>
102
+ <Badge colorPalette="orange" appearance="square">{agent?.model_name}</Badge>
137
103
  </section>}
138
104
  </AgentDescriptionBox>
139
105
  </AsyncContent>
@@ -9,7 +9,6 @@ import { NavigationComponent } from '../../components/ComponentNavigator'
9
9
  import { DescribedRadioGroup } from '../../components/form/DescribedRadioGroup'
10
10
  import { WorkspaceTabNavigator } from '../../components/WorkspaceTabNavigator'
11
11
  import { useCurrentChat } from '../../context/hooks'
12
- import { useIsFeatureFlagEnabled } from '../../hooks/enabled-feature-flags'
13
12
  import { useRightPanel } from '../../right-panel/hooks'
14
13
  import { ChatProperties } from '../../state/ChatState'
15
14
  import { AgentDescription } from './AgentDescription'
@@ -29,10 +28,9 @@ export const AgentsTab = ({ visibility, workspaceId, agent, showSubmitButton = t
29
28
  const chat = useCurrentChat()
30
29
  const { useFavorites, onAddFavorite, onRemoveFavorite } = useAgentFavorites()
31
30
  const [submitEnabled, setSubmitEnabled] = useState(false)
32
- const featureFlag = useIsFeatureFlagEnabled('ENABLE_VERSION_CONTENT_AI')
33
31
  const listFavorites = useFavorites()
34
32
  const agentDefault = agentToolsClient.agentDefault.useQuery()
35
- const [agentVersions, setAgentVersions] = useState<Record<string, number | undefined>>({})
33
+
36
34
  const [filter, setFilter] = useState<string | undefined>()
37
35
  const [apiFilter, setApiFilter] = useState<string | undefined>()
38
36
  const [isPending, startTransition] = useTransition()
@@ -61,15 +59,15 @@ export const AgentsTab = ({ visibility, workspaceId, agent, showSubmitButton = t
61
59
 
62
60
  const agents = workspaceId ? workspaceAgents : agentsData
63
61
 
64
- const initialValue = useMemo<AgentResponseWithBuiltIn | undefined>(() => {
65
- const initial = agent.current
66
- ? agents?.find(a => a.id === agent.current?.id)
67
- : chat.get('agent') ?
68
- agents?.find(a => a.id === chat.get('agent')?.id) : { ...agentDefault, suggested_prompts: null } as AgentResponseWithBuiltIn
69
- if (initial && !submitEnabled) setSubmitEnabled(true)
70
- return initial
71
- },
72
- [agents],
62
+ const initialValue = useMemo<AgentResponseWithBuiltIn | undefined>(
63
+ () => {
64
+ const initial = agent.current
65
+ ? agents?.find(a => a.id === agent.current?.id)
66
+ : chat.get('agent') ? agents?.find(a => a.id === chat.get('agent')?.id) : agentDefault as unknown as AgentResponseWithBuiltIn
67
+ if (initial && !submitEnabled) setSubmitEnabled(true)
68
+ return initial
69
+ },
70
+ [agents],
73
71
  )
74
72
 
75
73
  function submit() {
@@ -77,26 +75,12 @@ export const AgentsTab = ({ visibility, workspaceId, agent, showSubmitButton = t
77
75
  close()
78
76
  }
79
77
 
80
- const onVersionChange = (ag: AgentResponseWithBuiltIn, version?: number) => {
81
- setAgentVersions(prev => ({
82
- ...prev,
83
- [ag.id]: version,
84
- }))
85
-
86
- if (agent.current?.id === ag.id) {
87
- agent.current = {
88
- ...agent.current,
89
- agent_version_number: version,
90
- }
91
- }
92
- }
93
-
94
78
  return <>
95
79
  <div className="content">
96
80
  <DescribedRadioGroup
97
81
  fetchNextPage={fetchNextPage}
98
82
  hasNextPage={hasNextPage && !workspaceId}
99
- options={agents || []}
83
+ options={agents}
100
84
  initialValue={initialValue}
101
85
  filter={workspaceId ? undefined : filter}
102
86
  setFilter={workspaceId ? undefined : (value?: string) => {
@@ -105,8 +89,7 @@ export const AgentsTab = ({ visibility, workspaceId, agent, showSubmitButton = t
105
89
  }}
106
90
  onChange={(ag) => {
107
91
  agent.current = ag
108
- ? { ...ag, label: ag.name, image: ag.avatar!, slug: ag.slug, builtIn: ag.visibility_level === 'built_in',
109
- agent_version_number: agentVersions[ag.id] ?? ag.version_number }
92
+ ? { ...ag, label: ag.name, image: ag.avatar!, slug: ag.slug, builtIn: ag.visibility_level === 'built_in' }
110
93
  : undefined
111
94
  setSubmitEnabled(true)
112
95
  }}
@@ -115,8 +98,7 @@ export const AgentsTab = ({ visibility, workspaceId, agent, showSubmitButton = t
115
98
  idOrSlug: ag.id,
116
99
  // below, "key" is important. I don't know why exactly, but sometimes the avatar doesn't update if we don't do this.
117
100
  image: <ImageWithFallback key={ag.id} src={ag.avatar ?? undefined} fallback={<Icon icon="Agent" />} />,
118
- description: <AgentDescription agentId={ag.id} enableVersionSelect={featureFlag.flagEnabled}
119
- onVersionChange={(version?: number) => onVersionChange(ag, version)} />,
101
+ description: <AgentDescription agentId={ag.id} />,
120
102
  name: ag.name,
121
103
  listFavorites,
122
104
  onAddFavorite,
@@ -19,7 +19,6 @@ const dictionary = {
19
19
  tools: 'Tools',
20
20
  spots: 'Spots',
21
21
  multiAgent: 'Multi-agents',
22
- version: 'Version',
23
22
  },
24
23
  pt: {
25
24
  title: 'Agentes',
@@ -39,7 +38,7 @@ const dictionary = {
39
38
  tools: 'Ferramentas',
40
39
  spots: 'Spots',
41
40
  multiAgent: 'Multi-agents',
42
- version: 'Versão',
41
+
43
42
  },
44
43
  } satisfies Dictionary
45
44
 
@@ -215,16 +215,14 @@ export const ChatMessage = ({ message, isLast, beforeMessage, afterMessage, cust
215
215
  const chat = useCurrentChat()
216
216
  const agentId = entry.agent?.id ?? ''
217
217
  // enabled: we don't want to make any request if there is no agent
218
- const [agent] = agentToolsClient.agentV2.useStatefulQuery({ agentCoreId: agentId, versionNumber: entry.agent?.agent_version_number },
219
- { enabled: !!agentId })
218
+ const [agent] = agentToolsClient.agent.useStatefulQuery({ agentId }, { enabled: !!agentId })
220
219
  const toolkits = useMemo(() => [
221
- ...agent?.version?.toolkits?.builtin_toolkits ?? [],
222
- ...agent?.version?.toolkits?.custom_toolkits ?? [],
223
- ...agent?.version?.toolkits?.mcp_toolkits ?? [],
220
+ ...agent?.toolkits?.builtin_toolkits ?? [],
221
+ ...agent?.toolkits?.custom_toolkits ?? [],
222
+ ...agent?.toolkits?.mcp_toolkits ?? [],
224
223
  ], [agent])
225
- const agentsSearch = entry.tools?.map((id) => ({ agent_core_id: id })) ?? []
226
- const [agentsTools] = agentToolsClient.agentsByIdsV2.useStatefulQuery(
227
- { searchAgentsRequestV2: { agents: agentsSearch } }, { enabled: !!entry.tools?.length })
224
+ const [agentsTools] = agentToolsClient.agentsByIds.useStatefulQuery(
225
+ { searchAgentsRequest: { ids: entry.tools || [''] } }, { enabled: !!entry.tools?.length })
228
226
  const [copied, setCopied] = useState(false)
229
227
  const [showUserButtonCopy, setShowUserButtonCopy] = useState(false)
230
228
  const isPlanning = useCurrentChatState('isPlaning') ?? false