@stack-spot/ai-chat-widget 1.24.4 → 1.25.1-beta.0

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 (164) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/app-metadata.json +3 -3
  3. package/dist/chat-interceptors/send-message.js +3 -3
  4. package/dist/chat-interceptors/send-message.js.map +1 -1
  5. package/dist/components/AgentCard/dictionary.d.ts +4 -2
  6. package/dist/components/AgentCard/dictionary.d.ts.map +1 -1
  7. package/dist/components/AgentCard/dictionary.js +4 -2
  8. package/dist/components/AgentCard/dictionary.js.map +1 -1
  9. package/dist/components/FileDescription.d.ts +10 -0
  10. package/dist/components/FileDescription.d.ts.map +1 -0
  11. package/dist/components/FileDescription.js +85 -0
  12. package/dist/components/FileDescription.js.map +1 -0
  13. package/dist/components/Selector/index.d.ts +2 -2
  14. package/dist/components/Selector/index.d.ts.map +1 -1
  15. package/dist/components/Selector/index.js +2 -2
  16. package/dist/components/Selector/index.js.map +1 -1
  17. package/dist/state/ChatEntry.d.ts +9 -0
  18. package/dist/state/ChatEntry.d.ts.map +1 -1
  19. package/dist/state/ChatEntry.js.map +1 -1
  20. package/dist/state/ChatState.d.ts +5 -0
  21. package/dist/state/ChatState.d.ts.map +1 -1
  22. package/dist/state/ChatState.js +6 -0
  23. package/dist/state/ChatState.js.map +1 -1
  24. package/dist/state/constants.d.ts +5 -0
  25. package/dist/state/constants.d.ts.map +1 -0
  26. package/dist/state/constants.js +9 -0
  27. package/dist/state/constants.js.map +1 -0
  28. package/dist/state/types.d.ts +5 -1
  29. package/dist/state/types.d.ts.map +1 -1
  30. package/dist/utils/chat.d.ts +2 -1
  31. package/dist/utils/chat.d.ts.map +1 -1
  32. package/dist/utils/chat.js +2 -1
  33. package/dist/utils/chat.js.map +1 -1
  34. package/dist/utils/tools.d.ts +2 -2
  35. package/dist/utils/tools.d.ts.map +1 -1
  36. package/dist/utils/tools.js +3 -6
  37. package/dist/utils/tools.js.map +1 -1
  38. package/dist/utils/upload/FileUpload.d.ts +21 -0
  39. package/dist/utils/upload/FileUpload.d.ts.map +1 -0
  40. package/dist/utils/upload/FileUpload.js +55 -0
  41. package/dist/utils/upload/FileUpload.js.map +1 -0
  42. package/dist/utils/upload/UploadManager.d.ts +40 -0
  43. package/dist/utils/upload/UploadManager.d.ts.map +1 -0
  44. package/dist/utils/upload/UploadManager.js +131 -0
  45. package/dist/utils/upload/UploadManager.js.map +1 -0
  46. package/dist/utils/upload/context.d.ts +15 -0
  47. package/dist/utils/upload/context.d.ts.map +1 -0
  48. package/dist/utils/upload/context.js +37 -0
  49. package/dist/utils/upload/context.js.map +1 -0
  50. package/dist/utils/upload/errors.d.ts +17 -0
  51. package/dist/utils/upload/errors.d.ts.map +1 -0
  52. package/dist/utils/upload/errors.js +27 -0
  53. package/dist/utils/upload/errors.js.map +1 -0
  54. package/dist/utils/upload/types.d.ts +7 -0
  55. package/dist/utils/upload/types.d.ts.map +1 -0
  56. package/dist/utils/upload/types.js +2 -0
  57. package/dist/utils/upload/types.js.map +1 -0
  58. package/dist/utils/upload/utils.d.ts +4 -0
  59. package/dist/utils/upload/utils.d.ts.map +1 -0
  60. package/dist/utils/upload/utils.js +10 -0
  61. package/dist/utils/upload/utils.js.map +1 -0
  62. package/dist/views/Agents/AgentDescription.d.ts +2 -9
  63. package/dist/views/Agents/AgentDescription.d.ts.map +1 -1
  64. package/dist/views/Agents/AgentDescription.js +11 -9
  65. package/dist/views/Agents/AgentDescription.js.map +1 -1
  66. package/dist/views/Agents/AgentsPanel.d.ts.map +1 -1
  67. package/dist/views/Agents/AgentsPanel.js +11 -11
  68. package/dist/views/Agents/AgentsPanel.js.map +1 -1
  69. package/dist/views/Agents/AgentsTab.d.ts +2 -2
  70. package/dist/views/Agents/AgentsTab.d.ts.map +1 -1
  71. package/dist/views/Agents/AgentsTab.js +4 -4
  72. package/dist/views/Agents/AgentsTab.js.map +1 -1
  73. package/dist/views/Agents/useAgentFavorites.d.ts +1 -1
  74. package/dist/views/Agents/useAgentFavorites.js +4 -4
  75. package/dist/views/Agents/useAgentFavorites.js.map +1 -1
  76. package/dist/views/Chat/AgentInfo.d.ts +2 -1
  77. package/dist/views/Chat/AgentInfo.d.ts.map +1 -1
  78. package/dist/views/Chat/AgentInfo.js +2 -2
  79. package/dist/views/Chat/AgentInfo.js.map +1 -1
  80. package/dist/views/Chat/ChatMessage.d.ts +1 -1
  81. package/dist/views/Chat/ChatMessage.d.ts.map +1 -1
  82. package/dist/views/Chat/ChatMessage.js +27 -8
  83. package/dist/views/Chat/ChatMessage.js.map +1 -1
  84. package/dist/views/Chat/styled.d.ts.map +1 -1
  85. package/dist/views/Chat/styled.js +15 -1
  86. package/dist/views/Chat/styled.js.map +1 -1
  87. package/dist/views/ChatHistory/HistoryItem.d.ts.map +1 -1
  88. package/dist/views/ChatHistory/HistoryItem.js +8 -5
  89. package/dist/views/ChatHistory/HistoryItem.js.map +1 -1
  90. package/dist/views/ChatHistory/utils.d.ts +0 -6
  91. package/dist/views/ChatHistory/utils.d.ts.map +1 -1
  92. package/dist/views/ChatHistory/utils.js +1 -16
  93. package/dist/views/ChatHistory/utils.js.map +1 -1
  94. package/dist/views/Home/CustomAgent.js +3 -3
  95. package/dist/views/Home/CustomAgent.js.map +1 -1
  96. package/dist/views/MessageInput/AgentSelector.js +4 -4
  97. package/dist/views/MessageInput/AgentSelector.js.map +1 -1
  98. package/dist/views/MessageInput/ButtonAgent.js +2 -2
  99. package/dist/views/MessageInput/ButtonAgent.js.map +1 -1
  100. package/dist/views/MessageInput/{InfoBar.d.ts → ContextBar.d.ts} +2 -2
  101. package/dist/views/MessageInput/ContextBar.d.ts.map +1 -0
  102. package/dist/views/MessageInput/{InfoBar.js → ContextBar.js} +5 -5
  103. package/dist/views/MessageInput/ContextBar.js.map +1 -0
  104. package/dist/views/MessageInput/SelectContent.d.ts.map +1 -1
  105. package/dist/views/MessageInput/SelectContent.js +14 -17
  106. package/dist/views/MessageInput/SelectContent.js.map +1 -1
  107. package/dist/views/MessageInput/UploadBar.d.ts +2 -0
  108. package/dist/views/MessageInput/UploadBar.d.ts.map +1 -0
  109. package/dist/views/MessageInput/UploadBar.js +47 -0
  110. package/dist/views/MessageInput/UploadBar.js.map +1 -0
  111. package/dist/views/MessageInput/dictionary.d.ts +1 -1
  112. package/dist/views/MessageInput/dictionary.d.ts.map +1 -1
  113. package/dist/views/MessageInput/dictionary.js +18 -4
  114. package/dist/views/MessageInput/dictionary.js.map +1 -1
  115. package/dist/views/MessageInput/index.d.ts.map +1 -1
  116. package/dist/views/MessageInput/index.js +46 -5
  117. package/dist/views/MessageInput/index.js.map +1 -1
  118. package/dist/views/MessageInput/styled.d.ts.map +1 -1
  119. package/dist/views/MessageInput/styled.js +56 -27
  120. package/dist/views/MessageInput/styled.js.map +1 -1
  121. package/dist/views/Steps/dictionary.d.ts +1 -1
  122. package/dist/views/Tools.js +3 -3
  123. package/dist/views/Tools.js.map +1 -1
  124. package/dist/views/Workspaces/WorkspacesTab.js +1 -1
  125. package/package.json +2 -2
  126. package/src/app-metadata.json +3 -3
  127. package/src/chat-interceptors/send-message.ts +3 -3
  128. package/src/components/AgentCard/dictionary.ts +4 -2
  129. package/src/components/FileDescription.tsx +114 -0
  130. package/src/components/Selector/index.tsx +4 -5
  131. package/src/state/ChatEntry.ts +10 -0
  132. package/src/state/ChatState.ts +6 -0
  133. package/src/state/constants.ts +12 -0
  134. package/src/state/types.ts +6 -1
  135. package/src/utils/chat.ts +3 -1
  136. package/src/utils/tools.ts +5 -7
  137. package/src/utils/upload/FileUpload.ts +64 -0
  138. package/src/utils/upload/UploadManager.ts +147 -0
  139. package/src/utils/upload/context.tsx +44 -0
  140. package/src/utils/upload/errors.ts +34 -0
  141. package/src/utils/upload/types.ts +7 -0
  142. package/src/utils/upload/utils.ts +12 -0
  143. package/src/views/Agents/AgentDescription.tsx +18 -25
  144. package/src/views/Agents/AgentsPanel.tsx +11 -12
  145. package/src/views/Agents/AgentsTab.tsx +8 -16
  146. package/src/views/Agents/useAgentFavorites.ts +4 -4
  147. package/src/views/Chat/AgentInfo.tsx +3 -2
  148. package/src/views/Chat/ChatMessage.tsx +51 -16
  149. package/src/views/Chat/styled.ts +15 -1
  150. package/src/views/ChatHistory/HistoryItem.tsx +10 -5
  151. package/src/views/ChatHistory/utils.ts +1 -18
  152. package/src/views/Home/CustomAgent.tsx +4 -4
  153. package/src/views/MessageInput/AgentSelector.tsx +4 -4
  154. package/src/views/MessageInput/ButtonAgent.tsx +2 -2
  155. package/src/views/MessageInput/{InfoBar.tsx → ContextBar.tsx} +9 -9
  156. package/src/views/MessageInput/SelectContent.tsx +17 -21
  157. package/src/views/MessageInput/UploadBar.tsx +69 -0
  158. package/src/views/MessageInput/dictionary.ts +18 -4
  159. package/src/views/MessageInput/index.tsx +77 -32
  160. package/src/views/MessageInput/styled.ts +56 -27
  161. package/src/views/Tools.tsx +4 -3
  162. package/src/views/Workspaces/WorkspacesTab.tsx +1 -1
  163. package/dist/views/MessageInput/InfoBar.d.ts.map +0 -1
  164. package/dist/views/MessageInput/InfoBar.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonAgent.js","sourceRoot":"","sources":["../../../src/views/MessageInput/ButtonAgent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAA;IACrC,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAC7B,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC1C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAEhD,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,YAAY,IAAI,IAAI,CAAC,GAAG,CACtB,OAAO,EACP;YACE,EAAE,EAAE,YAAY,CAAC,EAAE;YACnB,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,KAAK,EAAE,YAAY,CAAC,IAAI;YACxB,KAAK,EAAE,YAAY,CAAC,MAAM;YAC1B,OAAO,EAAE,IAAI;YACb,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;SAChD,CACF,CAAA;IACH,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YAC7B,eAAe,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;IAEzB,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,YAAY,EAAE,EAAE,CAAA;IAE3D,OAAO,CACL,cAAK,SAAS,EAAC,cAAc,YAC1B,QAAQ,CAAC,KAAK,IAAI,CACjB,eAAK,SAAS,EAAC,aAAa,aAC1B,KAAC,UAAU,kBAAa,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,YAC3G,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,cAAK,GAAG,EAAE,YAAY,CAAC,MAAM,EAAE,SAAS,EAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAC,QAAQ,KAAG,GAC/E,EACZ,KAAK,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE;oBAC7B,KAAC,OAAO,IAAC,IAAI,EAAE,CAAC,CAAC,MAAM,YACrB,MAAC,UAAU,kBAAa,CAAC,CAAC,MAAM,EAAE,SAAS,EAAC,sBAAsB,EAAC,OAAO,EAAE,eAAe,aACxF,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,cAAK,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,SAAS,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,YAAC,KAAC,KAAK,KAAG,GAAU,EACtH,KAAC,IAAI,IAAC,SAAS,EAAC,aAAa,EAAC,YAAY,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,YACzE,KAAC,SAAS,KAAG,GACR,IACI,GACL,IAER,CACP,GACG,CACP,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"ButtonAgent.js","sourceRoot":"","sources":["../../../src/views/MessageInput/ButtonAgent.tsx"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@
5
5
  * - which stack is being used;
6
6
  * - which knowledge sources are being used.
7
7
  */
8
- export declare const InfoBar: () => import("react/jsx-runtime").JSX.Element;
9
- //# sourceMappingURL=InfoBar.d.ts.map
8
+ export declare const ContextBar: () => import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=ContextBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextBar.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/ContextBar.tsx"],"names":[],"mappings":"AA6BA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,+CA8EtB,CAAA"}
@@ -8,7 +8,7 @@ import { useCallback, useMemo } from 'react';
8
8
  import { FadingOverflow } from '../../components/FadingOverflow.js';
9
9
  import { useCurrentChat, useCurrentChatState } from '../../context/hooks.js';
10
10
  import { useMessageInputDictionary } from './dictionary.js';
11
- const InfoBadge = ({ label, color, dismiss, onDismiss }) => (_jsx(Badge, { appearance: "square", palette: color, className: "info-badge", afterElement: onDismiss &&
11
+ const ContextBadge = ({ label, color, dismiss, onDismiss }) => (_jsx(Badge, { appearance: "square", palette: color, className: "context-badge", afterElement: onDismiss &&
12
12
  _jsx(IconButton, { appearance: "square", colorIcon: `${color}.800`, onClick: onDismiss, title: dismiss, "arial-label": dismiss, children: _jsx(TimesMini, {}) }), children: _jsx(Text, { nowrapEllipsis: true, children: label }) }));
13
13
  /**
14
14
  * This renders the bar on top of the textarea to send the message. This tells:
@@ -17,7 +17,7 @@ const InfoBadge = ({ label, color, dismiss, onDismiss }) => (_jsx(Badge, { appea
17
17
  * - which stack is being used;
18
18
  * - which knowledge sources are being used.
19
19
  */
20
- export const InfoBar = () => {
20
+ export const ContextBar = () => {
21
21
  const t = useMessageInputDictionary();
22
22
  const chat = useCurrentChat();
23
23
  const currentStack = useCurrentChatState('stack');
@@ -30,7 +30,7 @@ export const InfoBar = () => {
30
30
  const onDismiss = features.knowledgeSource
31
31
  ? (() => chat.set('knowledgeSources', currentKnowledgeSources.filter(({ id }) => id !== ks.id)))
32
32
  : undefined;
33
- return _jsx("li", { children: _jsx(InfoBadge, { label: ks.label, dismiss: t.removeKS, color: "teal", onDismiss: onDismiss }) }, ks.id);
33
+ return _jsx("li", { children: _jsx(ContextBadge, { label: ks.label, dismiss: t.removeKS, color: "teal", onDismiss: onDismiss }) }, ks.id);
34
34
  }), [currentKnowledgeSources]);
35
35
  const shouldRenderRemoveAllButton = (currentSelection
36
36
  || (features.stack && currentStack)
@@ -49,6 +49,6 @@ export const InfoBar = () => {
49
49
  const editor = loader.__getMonacoInstance()?.editor;
50
50
  editor?.getEditors()[0].setSelection({ startLineNumber: 0, endLineNumber: 0, endColumn: 0, startColumn: 0 });
51
51
  }, []);
52
- return (_jsxs("div", { className: listToClass(['info-bar', visible && 'visible']), children: [_jsx("div", { className: "space" }), _jsxs("div", { className: "content", children: [shouldRenderRemoveAllButton && (_jsx(IconButton, { appearance: "square", color: "light", "aria-label": t.removeConfig, title: t.removeConfig, onClick: removeAll, children: _jsx(TimesMini, {}) })), _jsx(FadingOverflow, { className: "list-overflow", scroll: "arrows", enableHorizontalScrollWithVerticalWheel: true, children: _jsxs("ul", { children: [currentSelection && (_jsx("li", { children: _jsx(InfoBadge, { label: t.selected, dismiss: t.removeSelection, color: "blue", onDismiss: removeCodeSelection }) })), currentStack && (_jsx("li", { children: _jsx(InfoBadge, { label: currentStack.label, dismiss: t.removeStack, color: "cyan", onDismiss: features.stack ? (() => chat.set('stack', undefined)) : undefined }) })), currentWorkspace && (_jsx("li", { children: _jsx(InfoBadge, { label: currentWorkspace.label, dismiss: t.removeWorkspace, color: "pink", onDismiss: features.workspace ? (() => chat.set('workspace', undefined)) : undefined }) })), ksToRender] }) })] })] }));
52
+ return (_jsxs("div", { className: listToClass(['info-bar', 'context-bar', visible && 'visible']), children: [_jsx("div", { className: "space" }), _jsxs("div", { className: "content", children: [shouldRenderRemoveAllButton && (_jsx(IconButton, { appearance: "square", color: "light", "aria-label": t.removeConfig, title: t.removeConfig, onClick: removeAll, children: _jsx(TimesMini, {}) })), _jsx(FadingOverflow, { className: "list-overflow", scroll: "arrows", enableHorizontalScrollWithVerticalWheel: true, children: _jsxs("ul", { children: [currentSelection && (_jsx("li", { children: _jsx(ContextBadge, { label: t.selected, dismiss: t.removeSelection, color: "blue", onDismiss: removeCodeSelection }) })), currentStack && (_jsx("li", { children: _jsx(ContextBadge, { label: currentStack.label, dismiss: t.removeStack, color: "cyan", onDismiss: features.stack ? (() => chat.set('stack', undefined)) : undefined }) })), currentWorkspace && (_jsx("li", { children: _jsx(ContextBadge, { label: currentWorkspace.label, dismiss: t.removeWorkspace, color: "pink", onDismiss: features.workspace ? (() => chat.set('workspace', undefined)) : undefined }) })), ksToRender] }) })] })] }));
53
53
  };
54
- //# sourceMappingURL=InfoBar.js.map
54
+ //# sourceMappingURL=ContextBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextBar.js","sourceRoot":"","sources":["../../../src/views/MessageInput/ContextBar.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectContent.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/SelectContent.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,aAAa,sDAkEzB,CAAA"}
1
+ {"version":3,"file":"SelectContent.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/SelectContent.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,aAAa,sDAyEzB,CAAA"}
@@ -1,16 +1,18 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { KnowledgeSource, Plus, Spaces, Stack } from '@citric/icons';
2
+ import { DocumentUpload, KnowledgeSource, Plus, Spaces, Stack } from '@citric/icons';
3
3
  import { IconButton } from '@citric/ui';
4
4
  import { SelectionList } from '@stack-spot/portal-components/SelectionList';
5
- import { useTranslate } from '@stack-spot/portal-translate';
6
5
  import { useMemo, useState } from 'react';
7
6
  import { useCurrentChatState, useWidget } from '../../context/hooks.js';
7
+ import { useUploadManager } from '../../utils/upload/context.js';
8
+ import { useMessageInputDictionary } from './dictionary.js';
8
9
  export const SelectContent = () => {
9
10
  const widget = useWidget();
10
11
  const [visibleMenu, setVisibleMenu] = useState(false);
11
12
  const features = useCurrentChatState('features');
13
+ const t = useMessageInputDictionary();
14
+ const uploadManager = useUploadManager();
12
15
  const hasFeatureButtons = features.workspace || features.knowledgeSource || features.stack;
13
- const t = useTranslate(dictionary);
14
16
  const itemConfigs = [
15
17
  {
16
18
  key: 'knowledgeSource',
@@ -42,19 +44,14 @@ export const SelectContent = () => {
42
44
  })), [features, widget]);
43
45
  if (!hasFeatureButtons)
44
46
  return null;
45
- return (_jsxs(_Fragment, { children: [_jsx(IconButton, { id: "button-content-select", color: "light", appearance: "square", role: "button", title: visibleMenu ? t.collapse : t.expand, "data-test-hint": "button-options", "aria-label": visibleMenu ? t.collapse : t.expand, onClick: () => setVisibleMenu(state => !state), children: _jsx(Plus, {}) }), _jsx(SelectionList, { style: {
46
- position: 'absolute',
47
- top: '-140px',
48
- }, id: "menuConfig", visible: visibleMenu, onHide: () => setVisibleMenu(false), items: listItems })] }));
49
- };
50
- const dictionary = {
51
- en: {
52
- expand: 'Expand options',
53
- collapse: 'Collapse options',
54
- },
55
- pt: {
56
- expand: 'Mostrar opções',
57
- collapse: 'Esconder opções',
58
- },
47
+ return (_jsxs(_Fragment, { children: [_jsx(IconButton, { id: "button-content-select", color: "light", appearance: "square", role: "button", title: visibleMenu ? t.collapse : t.expand, "data-test-hint": "button-options", "aria-label": visibleMenu ? t.collapse : t.expand, "aria-controls": "chatMessageMenu", onClick: () => setVisibleMenu(state => !state), children: _jsx(Plus, {}) }), _jsx(SelectionList, { className: "message-menu", id: "chatMessageMenu", visible: visibleMenu, onHide: () => setVisibleMenu(false), items: [
48
+ ...listItems,
49
+ {
50
+ label: t.upload,
51
+ onClick: () => uploadManager.open(),
52
+ className: 'upload-item',
53
+ icon: _jsx(DocumentUpload, {}),
54
+ },
55
+ ] })] }));
59
56
  };
60
57
  //# sourceMappingURL=SelectContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectContent.js","sourceRoot":"","sources":["../../../src/views/MessageInput/SelectContent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectContent.js","sourceRoot":"","sources":["../../../src/views/MessageInput/SelectContent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const UploadBar: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=UploadBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadBar.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/UploadBar.tsx"],"names":[],"mappings":"AAiCA,eAAO,MAAM,SAAS,+CAmCrB,CAAA"}
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { listToClass } from '@stack-spot/portal-theme';
3
+ import { interpolate } from '@stack-spot/portal-translate';
4
+ import { useMemo } from 'react';
5
+ import { FadingOverflow } from '../../components/FadingOverflow.js';
6
+ import { FileDescription } from '../../components/FileDescription.js';
7
+ import { useCurrentChat } from '../../context/hooks.js';
8
+ import { ChatEntry } from '../../state/ChatEntry.js';
9
+ import { useUploadErrorEffect, useUploadManager, useUploads, useUploadStatus } from '../../utils/upload/context.js';
10
+ import { FileIsTooLarge, MaxFilesReached } from '../../utils/upload/errors.js';
11
+ import { useMessageInputDictionary } from './dictionary.js';
12
+ function createImageFromFile(file) {
13
+ return _jsx("img", { src: URL.createObjectURL(file), alt: file.name });
14
+ }
15
+ const UploadItem = ({ upload }) => {
16
+ const uploadManager = useUploadManager();
17
+ const icon = upload.file.type.toLowerCase().startsWith('image/') ? createImageFromFile(upload.file) : undefined;
18
+ const status = useUploadStatus(upload);
19
+ return _jsx(FileDescription, { fileName: upload.file.name, icon: icon, onRemove: () => uploadManager.remove(upload), onRetry: () => upload.retry(), status: status });
20
+ };
21
+ export const UploadBar = () => {
22
+ const uploads = useUploads();
23
+ const listItems = useMemo(() => uploads.map((up) => _jsx("li", { children: _jsx(UploadItem, { upload: up }) }, up.id)), [uploads]);
24
+ const t = useMessageInputDictionary();
25
+ const chat = useCurrentChat();
26
+ const visible = !!uploads.length;
27
+ useUploadErrorEffect((errors) => {
28
+ const sizeErrors = errors.filter(e => e instanceof FileIsTooLarge);
29
+ const maxItemsErrors = errors.filter(e => e instanceof MaxFilesReached);
30
+ const maxSize = sizeErrors[0]?.maxSize;
31
+ const maxItems = maxItemsErrors[0]?.maxFiles;
32
+ const sizeErrorsNames = sizeErrors.map(e => e.fileName);
33
+ const maxItemsErrorsNames = maxItemsErrors.map(e => e.fileName);
34
+ const lines = [];
35
+ if (sizeErrors.length) {
36
+ lines.push(`${interpolate(t.uploadSizeError, `${maxSize.value} ${maxSize.unit}`)}\n- ${sizeErrorsNames.join('\n- ')}`);
37
+ }
38
+ if (maxItemsErrors.length) {
39
+ lines.push(`${interpolate(t.uploadItemLimitError, maxItems)}\n- ${maxItemsErrorsNames.join('\n- ')}`);
40
+ }
41
+ if (!lines.length)
42
+ return;
43
+ chat.pushMessage(new ChatEntry({ agentType: 'system', type: 'md', content: lines.join('\n\n') }));
44
+ });
45
+ return (_jsxs("div", { className: listToClass(['info-bar', 'upload-bar', visible && 'visible']), children: [_jsx("div", { className: "space" }), _jsx("div", { className: "content", children: _jsx(FadingOverflow, { className: "list-overflow", scroll: "arrows", enableHorizontalScrollWithVerticalWheel: true, children: _jsx("ul", { children: listItems }) }) })] }));
46
+ };
47
+ //# sourceMappingURL=UploadBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadBar.js","sourceRoot":"","sources":["../../../src/views/MessageInput/UploadBar.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const useMessageInputDictionary: () => Record<"code" | "placeholder" | "selected" | "send" | "cancel" | "stack" | "knowledgeSource" | "agent" | "remove" | "collapse" | "spot" | "expand" | "removeConfig" | "removeStack" | "removeWorkspace" | "removeKS" | "removeSelection", string>;
1
+ export declare const useMessageInputDictionary: () => Record<"code" | "placeholder" | "selected" | "send" | "cancel" | "stack" | "knowledgeSource" | "agent" | "remove" | "collapse" | "upload" | "spot" | "removeConfig" | "removeStack" | "removeWorkspace" | "removeKS" | "removeSelection" | "expand" | "uploadSizeError" | "uploadItemLimitError" | "cantSendBecauseOfUploadError" | "cantSendBecauseOfUploadProgress" | "cantSendBecauseOfEmptyContent", string>;
2
2
  //# sourceMappingURL=dictionary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/dictionary.ts"],"names":[],"mappings":"AA2CA,eAAO,MAAM,yBAAyB,yPAAiC,CAAA"}
1
+ {"version":3,"file":"dictionary.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/dictionary.ts"],"names":[],"mappings":"AAyDA,eAAO,MAAM,yBAAyB,wZAAiC,CAAA"}
@@ -6,8 +6,6 @@ const dictionary = {
6
6
  spot: 'Select spot',
7
7
  knowledgeSource: 'Select knowledge sources',
8
8
  agent: 'Select agent',
9
- collapse: 'Hide buttons',
10
- expand: 'Show buttons',
11
9
  send: 'Send message',
12
10
  placeholder: 'Message to $0 or use / or @.',
13
11
  cancel: 'Cancel',
@@ -18,6 +16,14 @@ const dictionary = {
18
16
  selected: 'Selected',
19
17
  removeSelection: 'Remove current code selection',
20
18
  remove: 'Remove',
19
+ upload: 'Upload file',
20
+ expand: 'Expand options',
21
+ collapse: 'Collapse options',
22
+ uploadSizeError: 'The following files were not added to the upload list because they\'re larger than $1:',
23
+ uploadItemLimitError: 'The following files were not added because no more than $1 items may be uploaded at a time:',
24
+ cantSendBecauseOfUploadError: 'Can\'t send the message because one of the files in the upload list could not be uploaded. Please, retry it or remove it from the list.',
25
+ cantSendBecauseOfUploadProgress: 'Please wait until all files are uploaded before sending the message. You can also cancel the upload by removing it from the list of uploads.',
26
+ cantSendBecauseOfEmptyContent: 'You can\'t send empty messages. Please write some text or upload a file.',
21
27
  },
22
28
  pt: {
23
29
  stack: 'Selecionar stack',
@@ -25,8 +31,6 @@ const dictionary = {
25
31
  spot: 'Selecionar spot',
26
32
  knowledgeSource: 'Selecionar knowledge sources',
27
33
  agent: 'Selecionar agente',
28
- collapse: 'Esconder botões',
29
- expand: 'Mostrar botões',
30
34
  send: 'Enviar mensagem',
31
35
  placeholder: 'Mensagem para $0 ou use / ou @.',
32
36
  cancel: 'Cancelar',
@@ -37,6 +41,16 @@ const dictionary = {
37
41
  selected: 'Selecionado',
38
42
  removeSelection: 'Desfazer seleção de código',
39
43
  remove: 'Remover',
44
+ upload: 'Enviar arquivo',
45
+ expand: 'Mostrar opções',
46
+ collapse: 'Esconder opções',
47
+ uploadSizeError: 'Os seguintes arquivos não foram adicionados à lista de upload porque eles são maiores que $0:',
48
+ uploadItemLimitError: 'Os seguintes arquivos não foram adicionados à lista de upload porque é permitido enviar no máximo $0 arquivos por vez:',
49
+ uploadError: 'Ocorreu um erro ao enviar o arquivo "$0".',
50
+ unknownUploadError: 'Ocorreu um erro ao enviar os arquivos.',
51
+ cantSendBecauseOfUploadError: 'Não é possível enviar a mensagem, pois um dos arquivos na lista de uploads não pôde ser enviado. Por favor, tente enviá-lo novamente ou remova-o da lista.',
52
+ cantSendBecauseOfUploadProgress: 'Por favor aguarde todos os uploads de arquivos antes de enviar a mensagem. Você pode cancelar o upload removendo o arquivo da lista de uploads.',
53
+ cantSendBecauseOfEmptyContent: 'Não é possível enviar mensagens vazia. Por favor, escreva algum texto ou envie um arquivo.',
40
54
  },
41
55
  };
42
56
  export const useMessageInputDictionary = () => useTranslate(dictionary);
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../src/views/MessageInput/dictionary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAEvE,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,aAAa;QACnB,eAAe,EAAE,0BAA0B;QAC3C,KAAK,EAAE,cAAc;QACrB,QAAQ,EAAE,cAAc;QACxB,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,8BAA8B;QAC3C,MAAM,EAAE,QAAQ;QAChB,YAAY,EAAE,8BAA8B;QAC5C,WAAW,EAAE,8BAA8B;QAC3C,eAAe,EAAE,6BAA6B;QAC9C,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,UAAU;QACpB,eAAe,EAAE,+BAA+B;QAChD,MAAM,EAAE,QAAQ;KACjB;IACD,EAAE,EAAE;QACF,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,iBAAiB;QACvB,eAAe,EAAE,8BAA8B;QAC/C,KAAK,EAAE,mBAAmB;QAC1B,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,iCAAiC;QAC9C,MAAM,EAAE,UAAU;QAClB,YAAY,EAAE,gCAAgC;QAC9C,WAAW,EAAE,6BAA6B;QAC1C,eAAe,EAAE,4BAA4B;QAC7C,QAAQ,EAAE,qCAAqC;QAC/C,QAAQ,EAAE,aAAa;QACvB,eAAe,EAAE,4BAA4B;QAC7C,MAAM,EAAE,SAAS;KAClB;CACmB,CAAA;AAEtB,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA"}
1
+ {"version":3,"file":"dictionary.js","sourceRoot":"","sources":["../../../src/views/MessageInput/dictionary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAEvE,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,aAAa;QACnB,eAAe,EAAE,0BAA0B;QAC3C,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,8BAA8B;QAC3C,MAAM,EAAE,QAAQ;QAChB,YAAY,EAAE,8BAA8B;QAC5C,WAAW,EAAE,8BAA8B;QAC3C,eAAe,EAAE,6BAA6B;QAC9C,QAAQ,EAAE,kCAAkC;QAC5C,QAAQ,EAAE,UAAU;QACpB,eAAe,EAAE,+BAA+B;QAChD,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,kBAAkB;QAC5B,eAAe,EAAE,wFAAwF;QACzG,oBAAoB,EAAE,6FAA6F;QACnH,4BAA4B,EAAE,yIAAyI;QACvK,+BAA+B,EAAE,8IAA8I;QAC/K,6BAA6B,EAAE,0EAA0E;KAC1G;IACD,EAAE,EAAE;QACF,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,iBAAiB;QACvB,eAAe,EAAE,8BAA8B;QAC/C,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,iCAAiC;QAC9C,MAAM,EAAE,UAAU;QAClB,YAAY,EAAE,gCAAgC;QAC9C,WAAW,EAAE,6BAA6B;QAC1C,eAAe,EAAE,4BAA4B;QAC7C,QAAQ,EAAE,qCAAqC;QAC/C,QAAQ,EAAE,aAAa;QACvB,eAAe,EAAE,4BAA4B;QAC7C,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,iBAAiB;QAC3B,eAAe,EAAE,+FAA+F;QAChH,oBAAoB,EAAE,wHAAwH;QAC9I,WAAW,EAAE,2CAA2C;QACxD,kBAAkB,EAAE,wCAAwC;QAC5D,4BAA4B,EAAE,4JAA4J;QAC1L,+BAA+B,EAAE,iJAAiJ;QAClL,6BAA6B,EAAE,4FAA4F;KAC5H;CACmB,CAAA;AAEtB,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/index.tsx"],"names":[],"mappings":"AAkBA;;;;GAIG;AACH,eAAO,MAAM,YAAY,+CAiExB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/index.tsx"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,eAAO,MAAM,YAAY,+CA8GxB,CAAA"}
@@ -8,14 +8,16 @@ import { useCurrentChat, useCurrentChatState, useWidgetState } from '../../conte
8
8
  import { quickCommandRegex } from '../../regex.js';
9
9
  import { ChatEntry } from '../../state/ChatEntry.js';
10
10
  import { checkIsTrial } from '../../utils/check-is-trial.js';
11
+ import { UploadProvider } from '../../utils/upload/context.js';
11
12
  import { AgentSelector } from './AgentSelector.js';
12
13
  import { ButtonAgent } from './ButtonAgent.js';
13
14
  import { ButtonBar } from './ButtonBar.js';
14
15
  import { useUserEntryHistoryShortcut } from './chat-entry-history.js';
16
+ import { ContextBar } from './ContextBar.js';
15
17
  import { useMessageInputDictionary } from './dictionary.js';
16
- import { InfoBar } from './InfoBar.js';
17
18
  import { QuickCommandSelector } from './QuickCommandSelector.js';
18
19
  import { MAX_INPUT_HEIGHT, MessageInputBox, MIN_INPUT_HEIGHT } from './styled.js';
20
+ import { UploadBar } from './UploadBar.js';
19
21
  /**
20
22
  * This renders the MessageInput part of the layout which includes the progress bar, the actual textarea, the badges telling what is
21
23
  * going to be used for the question and the buttons to send, cancel, set the workspace, among others. This also includes the Quick
@@ -34,15 +36,54 @@ export const MessageInput = () => {
34
36
  const agentLabel = useCurrentChatState('agent')?.label;
35
37
  const { handleKeyDown, handleKeyUp } = useUserEntryHistoryShortcut();
36
38
  const isTrial = checkIsTrial();
39
+ const checkSendRequirements = useCallback(() => {
40
+ if (chat.uploadManager.status === 'error') {
41
+ chat.pushMessage(new ChatEntry({
42
+ agentType: 'system',
43
+ type: 'text',
44
+ content: t.cantSendBecauseOfUploadError,
45
+ }));
46
+ return false;
47
+ }
48
+ if (chat.uploadManager.status === 'uploading') {
49
+ chat.pushMessage(new ChatEntry({
50
+ agentType: 'system',
51
+ type: 'text',
52
+ content: t.cantSendBecauseOfUploadProgress,
53
+ }));
54
+ return false;
55
+ }
56
+ if (!chat.get('nextMessage') && !chat.uploadManager.get().length) {
57
+ chat.pushMessage(new ChatEntry({
58
+ agentType: 'system',
59
+ type: 'text',
60
+ content: t.cantSendBecauseOfEmptyContent,
61
+ }));
62
+ return false;
63
+ }
64
+ return true;
65
+ }, [chat]);
37
66
  const onSend = useCallback(async () => {
38
67
  const message = chat.get('nextMessage');
39
- if (!message)
68
+ const canSend = checkSendRequirements();
69
+ if (!canSend)
40
70
  return;
41
71
  const code = chat.get('codeSelection');
42
72
  const language = chat.get('codeLanguage');
43
- const prompt = code && !quickCommandRegex.test(message) ? `${message}\n\`\`\`${language}\n${code}\n\`\`\`` : message;
44
- chat.pushMessage(ChatEntry.createUserEntry(prompt, true));
73
+ const prompt = code && !quickCommandRegex.test(message ?? '') ? `${message}\n\`\`\`${language}\n${code}\n\`\`\`` : message;
74
+ chat.pushMessage(new ChatEntry({
75
+ type: 'md',
76
+ agentType: 'user',
77
+ content: prompt || '',
78
+ upload: chat.uploadManager.get().map(up => ({
79
+ id: up.uploadId, // we know that all files have been uploaded, so they have an id
80
+ name: up.file.name,
81
+ image: up.file.type.toLowerCase().startsWith('image/') ? URL.createObjectURL(up.file) : undefined,
82
+ })),
83
+ updated: new Date().toISOString(),
84
+ }));
45
85
  chat.set('nextMessage', '');
86
+ chat.uploadManager.reset();
46
87
  }, [chat]);
47
88
  const onKeyDown = useCallback((event) => {
48
89
  if (!event.shiftKey && event.key === 'Enter') {
@@ -55,6 +96,6 @@ export const MessageInput = () => {
55
96
  if (!isLoading)
56
97
  textAreaRef.current?.focus();
57
98
  }, [isLoading]);
58
- return (_jsxs(MessageInputBox, { "aria-busy": isLoading, className: "message-input", "$inputFocused": focused, children: [_jsxs("div", { className: "wrapper-action", children: [_jsx(QuickCommandSelector, { inputRef: textAreaRef, isTrial: isTrial }), _jsx(AgentSelector, { inputRef: textAreaRef, isTrial: isTrial }), _jsxs("div", { className: listToClass(['action-box', focused && 'focused', isLoading && 'disabled']), children: [_jsx(ButtonAgent, {}), _jsx(AdaptiveTextArea, { ref: textAreaRef, placeholder: agentLabel && interpolate(t.placeholder, agentLabel), onChange: e => chat.set('nextMessage', e.target.value), value: value, onFocus: () => setFocused(true), onBlur: () => setFocused(false), onKeyDown: onKeyDown, onKeyUp: handleKeyUp, onIncreaseSize: () => setExpanded(false), onResetSize: () => !expansionLocked.current && setExpanded(true), maxHeight: isMinimized ? MIN_INPUT_HEIGHT : MAX_INPUT_HEIGHT })] })] }), _jsx(ProgressBar, { visible: true, animate: isLoading, backgroundColor: isLoading || !focused ? theme.color.light[500] : theme.color.primary[500] }), _jsx(InfoBar, {}), _jsx(ButtonBar, { onSend: onSend, isLoading: isLoading })] }));
99
+ return (_jsx(UploadProvider, { value: chat.uploadManager, children: _jsxs(MessageInputBox, { "aria-busy": isLoading, className: "message-input", "$inputFocused": focused, children: [_jsxs("div", { className: "wrapper-action", children: [_jsx(QuickCommandSelector, { inputRef: textAreaRef, isTrial: isTrial }), _jsx(AgentSelector, { inputRef: textAreaRef, isTrial: isTrial }), _jsxs("div", { className: listToClass(['action-box', focused && 'focused', isLoading && 'disabled']), children: [_jsx(ButtonAgent, {}), _jsx(AdaptiveTextArea, { ref: textAreaRef, placeholder: agentLabel && interpolate(t.placeholder, agentLabel), onChange: e => chat.set('nextMessage', e.target.value), value: value, onFocus: () => setFocused(true), onBlur: () => setFocused(false), onKeyDown: onKeyDown, onKeyUp: handleKeyUp, onIncreaseSize: () => setExpanded(false), onResetSize: () => !expansionLocked.current && setExpanded(true), maxHeight: isMinimized ? MIN_INPUT_HEIGHT : MAX_INPUT_HEIGHT })] })] }), _jsx(ProgressBar, { visible: true, animate: isLoading, backgroundColor: isLoading || !focused ? theme.color.light[500] : theme.color.primary[500] }), _jsx(ContextBar, {}), _jsx(UploadBar, {}), _jsx(ButtonBar, { onSend: onSend, isLoading: isLoading })] }) }));
59
100
  };
60
101
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/MessageInput/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/views/MessageInput/index.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/styled.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB,MAAM,CAAA;AACnC,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAElC,eAAO,MAAM,mBAAmB,wOAyC/B,CAAA;AAED,eAAO,MAAM,eAAe;oBAA+B,OAAO;YAuNjE,CAAA"}
1
+ {"version":3,"file":"styled.d.ts","sourceRoot":"","sources":["../../../src/views/MessageInput/styled.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,gBAAgB,MAAM,CAAA;AACnC,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAElC,eAAO,MAAM,mBAAmB,wOAyC/B,CAAA;AAED,eAAO,MAAM,eAAe;oBAA+B,OAAO;YAkPjE,CAAA"}
@@ -1,8 +1,10 @@
1
1
  import { IconButton } from '@citric/ui';
2
2
  import { theme } from '@stack-spot/portal-theme';
3
3
  import { styled } from 'styled-components';
4
- const INFO_BAR_HEIGHT = 38;
5
- const INFO_BAR_DISPLACEMENT = 4;
4
+ const CONTEXT_BAR_HEIGHT = 38;
5
+ const CONTEXT_BAR_DISPLACEMENT = 4;
6
+ const UPLOAD_BAR_HEIGHT = 60;
7
+ const UPLOAD_BAR_DISPLACEMENT = 4;
6
8
  export const MAX_INPUT_HEIGHT = 300;
7
9
  export const MIN_INPUT_HEIGHT = 24;
8
10
  export const SelectionBarWrapper = styled.div `
@@ -57,7 +59,7 @@ export const MessageInputBox = styled.div `
57
59
 
58
60
  &.visible {
59
61
  > .space {
60
- height: ${INFO_BAR_HEIGHT - INFO_BAR_DISPLACEMENT}px;
62
+ height: var(--space-height, 'auto');
61
63
  }
62
64
  }
63
65
 
@@ -71,17 +73,15 @@ export const MessageInputBox = styled.div `
71
73
  top: 0;
72
74
  left: 0;
73
75
  right: 0;
74
- height: ${INFO_BAR_HEIGHT}px;
76
+ height: var(--content-height, 'auto');
75
77
  padding-top: 8px;
76
78
  background-color: ${theme.color.light[500]};
77
79
  display: flex;
78
80
  flex-direction: row;
79
81
  gap: 4px;
80
- border-right: 2px solid ${({ $inputFocused }) => theme.color.light[$inputFocused ? 600 : 500]};
81
- border-left: 2px solid ${({ $inputFocused }) => theme.color.light[$inputFocused ? 600 : 500]};
82
82
 
83
83
  .list-overflow {
84
- max-width: calc(100% - 30px); // close button + gap
84
+ max-width: calc(100% - var(--list-margins, 0px));
85
85
  height: 24px;
86
86
  &:first-child {
87
87
  margin-left: 0.25rem; // space added to the left when the close all button isn't rendered
@@ -97,31 +97,54 @@ export const MessageInputBox = styled.div `
97
97
  align-items: center;
98
98
  gap: 6px;
99
99
  }
100
+ }
101
+ }
100
102
 
101
- .info-badge > span {
102
- display: flex;
103
- flex-direction: row;
104
- align-items: center;
105
- gap: 4px;
106
- line-height: 0.75rem;
107
- white-space: nowrap;
108
-
109
- ${IconButton} {
110
- padding: 4px 0;
111
- background: none;
112
- border: none;
113
- width: auto;
114
- height: auto;
103
+ > .context-bar {
104
+ --space-height: ${CONTEXT_BAR_HEIGHT - CONTEXT_BAR_DISPLACEMENT}px;
105
+ --content-height: ${CONTEXT_BAR_HEIGHT}px;
106
+ --list-margins: 30px; // close button width + gap
115
107
 
116
- svg {
117
- width: auto;
118
- height: 12px;
119
- }
108
+ .context-badge > span {
109
+ display: flex;
110
+ flex-direction: row;
111
+ align-items: center;
112
+ gap: 4px;
113
+ line-height: 0.75rem;
114
+ white-space: nowrap;
115
+
116
+ ${IconButton} {
117
+ padding: 4px 0;
118
+ background: none;
119
+ border: none;
120
+ width: auto;
121
+ height: auto;
122
+
123
+ svg {
124
+ width: auto;
125
+ height: 12px;
120
126
  }
121
127
  }
122
128
  }
123
129
  }
124
130
 
131
+ > .upload-bar {
132
+ --space-height: ${UPLOAD_BAR_HEIGHT - UPLOAD_BAR_DISPLACEMENT}px;
133
+ --content-height: ${UPLOAD_BAR_HEIGHT}px;
134
+ --list-margins: 12px; // margins from .list-overflow
135
+
136
+ .list-overflow {
137
+ margin: 0 6px !important;
138
+ .scroll-to-left, .scroll-to-right {
139
+ top: 11px;
140
+ }
141
+ }
142
+
143
+ input[type="file"] {
144
+ display: none;
145
+ }
146
+ }
147
+
125
148
  .wrapper-action {
126
149
  position: relative;
127
150
 
@@ -150,8 +173,6 @@ export const MessageInputBox = styled.div `
150
173
  }
151
174
  }
152
175
 
153
-
154
-
155
176
  .button-group {
156
177
  display: flex;
157
178
  flex-direction: row;
@@ -249,6 +270,14 @@ export const MessageInputBox = styled.div `
249
270
  }
250
271
  }
251
272
 
273
+ .message-menu {
274
+ position: absolute;
275
+ bottom: 34px;
276
+ .upload-item {
277
+ border-top: 1px solid ${theme.color.light[600]};
278
+ }
279
+ }
280
+
252
281
  textarea {
253
282
  resize: none;
254
283
  border: none;
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/views/MessageInput/styled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,eAAe,GAAG,EAAE,CAAA;AAC1B,MAAM,qBAAqB,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAElC,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;sBAKvB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;wBAcpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;0BAgBpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;0BAGtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;CAG/C,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAA2B;;;;;;;;;;kBAUlD,eAAe,GAAG,qBAAqB;;;;;;;;;;;;;;gBAczC,eAAe;;0BAEL,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;gCAIhB,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;+BACpE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4BxF,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA2BM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;0BAEtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;4BAKpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;4BAKtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2D5C,UAAU;;;;;;;;;;;;;;8BAcc,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;8BACtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;gCAQpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;oBAOlC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;cAoBpC,gBAAgB;;;;;;;;CAQ7B,CAAA"}
1
+ {"version":3,"file":"styled.js","sourceRoot":"","sources":["../../../src/views/MessageInput/styled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAC7B,MAAM,wBAAwB,GAAG,CAAC,CAAA;AAClC,MAAM,iBAAiB,GAAG,EAAE,CAAA;AAC5B,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AACnC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAElC,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;sBAKvB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;wBAcpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;0BAgBpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;0BAGtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;CAG/C,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;0BA0B1C,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;sBA0B1B,kBAAkB,GAAG,wBAAwB;wBAC3C,kBAAkB;;;;;;;;;;;QAWlC,UAAU;;;;;;;;;;;;;;;;sBAgBI,iBAAiB,GAAG,uBAAuB;wBACzC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;0BA0Bf,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;0BAEtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;4BAKpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;4BAKtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAyD5C,UAAU;;;;;;;;;;;;;;8BAcc,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;8BACtB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;gCAQpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;oBAOlC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;;;;;;;;;;;;;;;;;;;8BAmBpB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;cAStC,gBAAgB;;;;;;;;CAQ7B,CAAA"}
@@ -34,6 +34,6 @@ export declare const dictionary: {
34
34
  input: string;
35
35
  };
36
36
  };
37
- export declare function useStepsDictionary(): Record<"input" | "step" | "steps" | "tools" | "answer" | "pending" | "running" | "planning" | "unknown" | "stepsPanelDescription" | "response" | "executionTime" | "nextAttempt" | "previousAttempt", string>;
37
+ export declare function useStepsDictionary(): Record<"input" | "step" | "pending" | "steps" | "tools" | "answer" | "running" | "planning" | "unknown" | "stepsPanelDescription" | "response" | "executionTime" | "nextAttempt" | "previousAttempt", string>;
38
38
  export type ToolsDictionary = typeof dictionary['en'];
39
39
  //# sourceMappingURL=dictionary.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { agentClient } from '@stack-spot/portal-network';
2
+ import { agentToolsClient } from '@stack-spot/portal-network';
3
3
  import { useTranslate } from '@stack-spot/portal-translate';
4
4
  import { useEffect, useMemo } from 'react';
5
5
  import styled from 'styled-components';
@@ -34,8 +34,8 @@ const ToolsPanel = () => {
34
34
  const chat = widget.chatTabs.getAll().find(c => c.id === chatId);
35
35
  return chat?.getMessages().find(m => m.id === messageId)?.getValue();
36
36
  }, [messageId]);
37
- const [agent] = agentClient.agent.useStatefulQuery({ agentId: message?.agent?.id ?? '' }, { enabled: !!message?.agent?.id });
38
- const tools = useMemo(() => message?.tools?.map(id => toolById(id, agent?.toolkits) ?? { id }), [messageId, agent]);
37
+ const [toolKits] = agentToolsClient.tools.useStatefulQuery({ enabled: !!message?.agent?.id });
38
+ const tools = useMemo(() => message?.tools?.map(id => toolById(id, toolKits) ?? { id }), [messageId, toolKits]);
39
39
  return !!tools?.length && (_jsx(ToolList, { children: tools.map((tool) => (_jsx("li", { children: _jsx(ToolBadge, { name: tool.name || tool.id, image: tool.image, description: tool.description, backgroundColor: "light.500" }) }, tool.id))) }));
40
40
  };
41
41
  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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"}
@@ -28,7 +28,7 @@ export const WorkspaceResources = ({ workspaceId, allKS, agent, stack }) => {
28
28
  const handleNavigate = (resource) => {
29
29
  startTransition(() => {
30
30
  if (resource.resourceType === 'agent')
31
- navigate({ component: 'agent', props: { visibility: 'WORKSPACE', agent, workspaceId, showSubmitButton }, fullScreen: true });
31
+ navigate({ component: 'agent', props: { visibility: 'workspace', agent, workspaceId, showSubmitButton }, fullScreen: true });
32
32
  if (resource.resourceType === 'ks')
33
33
  navigate({ component: 'ks', props: { visibility: 'workspace', allKS, workspaceId, showSubmitButton }, fullScreen: true });
34
34
  if (resource.resourceType === 'stack')