@stack-spot/ai-chat-widget 1.25.1-beta.1 → 1.26.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.26.0](https://github.com/stack-spot/portal-ai-chat-widget/compare/ai-chat-widget@v1.25.0...ai-chat-widget@v1.26.0) (2025-06-11)
4
+
5
+
6
+ ### Features
7
+
8
+ * adds some new feature configs + small css fixes for file uploads ([#176](https://github.com/stack-spot/portal-ai-chat-widget/issues/176)) ([d033d65](https://github.com/stack-spot/portal-ai-chat-widget/commit/d033d65ff37003b5f7fb2e76377ea5f712af44e1))
9
+
3
10
  ## [1.25.0](https://github.com/stack-spot/portal-ai-chat-widget/compare/ai-chat-widget@v1.24.4...ai-chat-widget@v1.25.0) (2025-06-10)
4
11
 
5
12
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stack-spot/ai-chat-widget",
3
- "version": "1.25.1-beta.0",
4
- "date": "Wed Jun 11 2025 07:54:54 GMT-0300 (Brasilia Standard Time)",
3
+ "version": "1.26.1-beta.0",
4
+ "date": "Wed Jun 11 2025 11:15:18 GMT-0300 (Brasilia Standard Time)",
5
5
  "dependencies": [
6
6
  {
7
7
  "name": "@stack-spot/app-metadata",
@@ -113,7 +113,7 @@
113
113
  },
114
114
  {
115
115
  "name": "@stack-spot/portal-network",
116
- "version": "0.139.0(@stack-spot/auth@5.3.2)(@stack-spot/opa@2.5.0(@stack-spot/auth@5.3.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@stack-spot/portal-translate@1.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)"
116
+ "version": "0.140.1-beta.0(@stack-spot/auth@5.3.2)(@stack-spot/opa@2.5.0(@stack-spot/auth@5.3.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@stack-spot/portal-translate@1.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)"
117
117
  },
118
118
  {
119
119
  "name": "@stack-spot/portal-theme",
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAkC,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAuC9C;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,iBA4DlG"}
1
+ {"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAkC,MAAM,oBAAoB,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAuC9C;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,iBAmElG"}
@@ -55,10 +55,13 @@ export async function sendMessageInterceptor(entry, chat, signal) {
55
55
  const stream = aiClient.sendChatMessage({ context, user_prompt: buildPrompt(content, data) });
56
56
  signal.addEventListener('abort', () => stream.cancel());
57
57
  const botEntry = ChatEntry.createStreamedBotEntry();
58
- chat.pushMessage(botEntry);
58
+ // we add the chat entry and show the streaming if the streaming feature is enabled
59
+ if (chat.get('features').streaming) {
60
+ chat.pushMessage(botEntry);
61
+ }
59
62
  let knowledgeSources;
60
63
  stream.onChange(value => {
61
- if (value.sources?.length !== knowledgeSources?.length) {
64
+ if (value.sources?.length !== knowledgeSources?.length && chat.get('features').showSourcesInResponse) {
62
65
  knowledgeSources = genericSourcesToKnowledgeSources(value.sources);
63
66
  }
64
67
  botEntry.setValue(createEntryValueFromChatResponse(value, knowledgeSources, chat.get('agent')));
@@ -66,6 +69,10 @@ export async function sendMessageInterceptor(entry, chat, signal) {
66
69
  let finalValue;
67
70
  try {
68
71
  finalValue = await stream.getValue();
72
+ // if the streaming feature is not enabled, we only add the chat entry once the streaming has finished
73
+ if (!chat.get('features').streaming) {
74
+ chat.pushMessage(botEntry);
75
+ }
69
76
  }
70
77
  catch (error) {
71
78
  if (error instanceof StreamCanceledError) {
@@ -1 +1 @@
1
- {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/chat-interceptors/send-message.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ const Styled = styled.div `
33
33
  }
34
34
  .status {
35
35
  position: absolute;
36
- background-color: rgba(0, 0, 0, 0.3);
36
+ background-color: rgba(0, 0, 0, 0.5);
37
37
  top: 0;
38
38
  left: 0;
39
39
  bottom: 0;
@@ -66,18 +66,18 @@ const Styled = styled.div `
66
66
  export const FileDescription = ({ fileName, icon, status, onRemove, onRetry }) => {
67
67
  const t = useTranslate(dictionary);
68
68
  const [, name, extension] = fileName.match(/(.+)\.([^.]+)$/) ?? ['', 'Unknown', 'Unknown'];
69
- return (_jsxs(Styled, { className: status, "aria-busy": status === 'pending', children: [_jsxs("div", { className: "image", children: [icon ?? _jsx(IconBox, { children: _jsx(Document, {}) }), status === 'pending' && _jsx("div", { className: "status", "aria-label": t.loading, children: _jsx(LoadingCircular, { size: "xs" }) }), status === 'error' && _jsx("div", { className: "status", "aria-label": t.error, children: _jsx(IconButton, { onClick: onRetry, children: _jsx(Sync, {}) }) })] }), _jsxs("div", { className: "details", children: [_jsx(Text, { appearance: "microtext1", className: "name", title: name, children: name }), _jsx(Text, { appearance: "microtext1", colorScheme: "light.700", children: extension.toUpperCase() })] }), onRemove && _jsx(IconButton, { onClick: onRemove, title: t.remove, "arial-label": `${t.remove} ${name}`, children: _jsx(TimesMini, {}) })] }));
69
+ return (_jsxs(Styled, { className: status, "aria-busy": status === 'pending', children: [_jsxs("div", { className: "image", children: [icon ?? _jsx(IconBox, { children: _jsx(Document, {}) }), status === 'pending' && _jsx("div", { className: "status", "aria-label": t.loading, children: _jsx(LoadingCircular, { size: "xs" }) }), status === 'error' && _jsx("div", { className: "status", "aria-label": t.error, children: _jsx(IconButton, { appearance: "circle", color: "danger", title: t.retry, "aria-label": t.retry, onClick: onRetry, children: _jsx(Sync, {}) }) })] }), _jsxs("div", { className: "details", children: [_jsx(Text, { appearance: "microtext1", className: "name", title: name, children: name }), _jsx(Text, { appearance: "microtext1", colorScheme: "light.700", children: extension.toUpperCase() })] }), onRemove && _jsx(IconButton, { onClick: onRemove, title: t.remove, "arial-label": `${t.remove} ${name}`, children: _jsx(TimesMini, {}) })] }));
70
70
  };
71
71
  const dictionary = {
72
72
  en: {
73
73
  loading: 'Uploading file',
74
- retry: 'Retry',
74
+ retry: 'Retry failed upload',
75
75
  remove: 'Remove',
76
76
  error: 'Error while uploading file',
77
77
  },
78
78
  pt: {
79
79
  loading: 'Carregando arquivo',
80
- retry: 'Tentar novamente',
80
+ retry: 'Tentar subir novamente o arquivo com falha',
81
81
  remove: 'Remover',
82
82
  error: 'Erro ao carregar o arquivo',
83
83
  },
@@ -1 +1 @@
1
- {"version":3,"file":"FileDescription.js","sourceRoot":"","sources":["../../src/components/FileDescription.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAW1C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;sBAKH,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;wBAGpB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;;;;;;;;wBAQvB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC7C,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAwB,EAAE,EAAE;IACrG,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC1F,OAAO,CACL,MAAC,MAAM,IAAC,SAAS,EAAE,MAAM,eAAa,MAAM,KAAK,SAAS,aACxD,eAAK,SAAS,EAAC,OAAO,aACnB,IAAI,IAAI,KAAC,OAAO,cAAC,KAAC,QAAQ,KAAG,GAAU,EACvC,MAAM,KAAK,SAAS,IAAI,cAAK,SAAS,EAAC,QAAQ,gBAAa,CAAC,CAAC,OAAO,YACpE,KAAC,eAAe,IAAC,IAAI,EAAC,IAAI,GAAG,GACzB,EACL,MAAM,KAAK,OAAO,IAAI,cAAK,SAAS,EAAC,QAAQ,gBAAa,CAAC,CAAC,KAAK,YAChE,KAAC,UAAU,IAAC,OAAO,EAAE,OAAO,YAAE,KAAC,IAAI,KAAG,GAAa,GAC/C,IACF,EACN,eAAK,SAAS,EAAC,SAAS,aACtB,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,EAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,IAAI,YAAG,IAAI,GAAQ,EACzE,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,EAAC,WAAW,EAAC,WAAW,YAAE,SAAS,CAAC,WAAW,EAAE,GAAQ,IAClF,EACL,QAAQ,IAAI,KAAC,UAAU,IAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,iBAAe,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,YAC7F,KAAC,SAAS,KAAG,GACF,IACN,CACV,CAAA;AACH,CAAC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,OAAO,EAAE,gBAAgB;QACzB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,4BAA4B;KACpC;IACD,EAAE,EAAE;QACF,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,4BAA4B;KACpC;CACmB,CAAA"}
1
+ {"version":3,"file":"FileDescription.js","sourceRoot":"","sources":["../../src/components/FileDescription.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAc,YAAY,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAW1C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;sBAKH,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;wBAGpB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;;;;;;;;wBAQvB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC7C,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAwB,EAAE,EAAE;IACrG,MAAM,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC1F,OAAO,CACL,MAAC,MAAM,IAAC,SAAS,EAAE,MAAM,eAAa,MAAM,KAAK,SAAS,aACxD,eAAK,SAAS,EAAC,OAAO,aACnB,IAAI,IAAI,KAAC,OAAO,cAAC,KAAC,QAAQ,KAAG,GAAU,EACvC,MAAM,KAAK,SAAS,IAAI,cAAK,SAAS,EAAC,QAAQ,gBAAa,CAAC,CAAC,OAAO,YACpE,KAAC,eAAe,IAAC,IAAI,EAAC,IAAI,GAAG,GACzB,EACL,MAAM,KAAK,OAAO,IAAI,cAAK,SAAS,EAAC,QAAQ,gBAAa,CAAC,CAAC,KAAK,YAChE,KAAC,UAAU,IAAC,UAAU,EAAC,QAAQ,EAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAE,CAAC,CAAC,KAAK,gBAAc,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,YAAE,KAAC,IAAI,KAAG,GAAa,GACvH,IACF,EACN,eAAK,SAAS,EAAC,SAAS,aACtB,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,EAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAE,IAAI,YAAG,IAAI,GAAQ,EACzE,KAAC,IAAI,IAAC,UAAU,EAAC,YAAY,EAAC,WAAW,EAAC,WAAW,YAAE,SAAS,CAAC,WAAW,EAAE,GAAQ,IAClF,EACL,QAAQ,IAAI,KAAC,UAAU,IAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,iBAAe,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,YAC7F,KAAC,SAAS,KAAG,GACF,IACN,CACV,CAAA;AACH,CAAC,CAAA;AAED,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE;QACF,OAAO,EAAE,gBAAgB;QACzB,KAAK,EAAE,qBAAqB;QAC5B,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,4BAA4B;KACpC;IACD,EAAE,EAAE;QACF,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,4CAA4C;QACnD,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,4BAA4B;KACpC;CACmB,CAAA"}
@@ -27,6 +27,18 @@ export interface ChatFeatures {
27
27
  * Enables chat message. Default: true
28
28
  */
29
29
  messageInput: boolean;
30
+ /**
31
+ * Enables file uploads.
32
+ */
33
+ upload: boolean;
34
+ /**
35
+ * Enables the listing of sources when writing a chat response.
36
+ */
37
+ showSourcesInResponse: boolean;
38
+ /**
39
+ * Enables streaming in chat responses.
40
+ */
41
+ streaming: boolean;
30
42
  }
31
43
  export interface GlobalFeatures {
32
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,cAAc,CAAA;AAE5D;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAY9F"}
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,cAAc,CAAA;AAE5D;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAe9F"}
package/dist/features.js CHANGED
@@ -13,6 +13,9 @@ export function getFeaturesWithDefaults(features) {
13
13
  workspace: true,
14
14
  chatHistory: true,
15
15
  messageInput: true,
16
+ upload: true,
17
+ streaming: true,
18
+ showSourcesInResponse: true,
16
19
  ...features,
17
20
  };
18
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAwCA;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAoC;IAC1E,OAAO;QACL,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,GAAG,QAAQ;KACZ,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../src/features.ts"],"names":[],"mappings":"AAoDA;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAoC;IAC1E,OAAO;QACL,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,qBAAqB,EAAE,IAAI;QAC3B,GAAG,QAAQ;KACZ,CAAA;AACH,CAAC"}
@@ -136,7 +136,7 @@ export const ChatList = styled.ul `
136
136
  .image-uploads, .document-uploads {
137
137
  display: flex;
138
138
  flex-direction: row;
139
- flex-wrap: nowrap;
139
+ flex-wrap: wrap;
140
140
  gap: 8px;
141
141
  list-style: none;
142
142
  margin: 0 0 4px 0;
@@ -12,7 +12,7 @@ export const SelectContent = () => {
12
12
  const features = useCurrentChatState('features');
13
13
  const t = useMessageInputDictionary();
14
14
  const uploadManager = useUploadManager();
15
- const hasFeatureButtons = features.workspace || features.knowledgeSource || features.stack;
15
+ const hasFeatureButtons = features.workspace || features.knowledgeSource || features.stack || features.upload;
16
16
  const itemConfigs = [
17
17
  {
18
18
  key: 'knowledgeSource',
@@ -32,26 +32,26 @@ export const SelectContent = () => {
32
32
  icon: _jsx(Spaces, {}),
33
33
  panel: 'workspace',
34
34
  },
35
+ {
36
+ key: 'upload',
37
+ label: t.upload,
38
+ onClick: () => uploadManager.open(),
39
+ className: 'upload-item',
40
+ icon: _jsx(DocumentUpload, {}),
41
+ },
35
42
  ];
36
43
  const listItems = useMemo(() => itemConfigs.filter(chatFeatures => features[chatFeatures.key])
37
44
  .map(chatFeatures => ({
38
45
  label: chatFeatures.label,
39
46
  icon: chatFeatures.icon,
40
- onClick: () => {
47
+ className: chatFeatures.className,
48
+ onClick: chatFeatures.panel ? (() => {
41
49
  widget.set('panel', chatFeatures.panel);
42
50
  setVisibleMenu(false);
43
- },
51
+ }) : chatFeatures.onClick,
44
52
  })), [features, widget]);
45
53
  if (!hasFeatureButtons)
46
54
  return null;
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
- ] })] }));
55
+ 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: listItems })] }));
56
56
  };
57
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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"}
@@ -1,2 +1,2 @@
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>;
1
+ export declare const useMessageInputDictionary: () => Record<"code" | "placeholder" | "selected" | "send" | "cancel" | "stack" | "knowledgeSource" | "agent" | "upload" | "remove" | "collapse" | "spot" | "removeConfig" | "removeStack" | "removeWorkspace" | "removeKS" | "removeSelection" | "expand" | "uploadSizeError" | "uploadItemLimitError" | "cantSendBecauseOfUploadError" | "cantSendBecauseOfUploadProgress" | "cantSendBecauseOfEmptyContent", string>;
2
2
  //# sourceMappingURL=dictionary.d.ts.map
@@ -96,6 +96,6 @@ export const MessageInput = () => {
96
96
  if (!isLoading)
97
97
  textAreaRef.current?.focus();
98
98
  }, [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 })] }) }));
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, {}), chat.get('features').upload && _jsx(UploadBar, {}), _jsx(ButtonBar, { onSend: onSend, isLoading: isLoading })] }) }));
100
100
  };
101
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stack-spot/ai-chat-widget",
3
- "version": "1.25.1-beta.1",
3
+ "version": "1.26.1-beta.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -13,7 +13,7 @@
13
13
  "@citric/core": "^6.4.0",
14
14
  "@stack-spot/portal-components": "^2.22.1",
15
15
  "@citric/icons": "^5.13.0",
16
- "@stack-spot/portal-network": "^139.1-beta.0",
16
+ "@stack-spot/portal-network": "140.1-beta.0",
17
17
  "@citric/ui": "^6.10.2",
18
18
  "@stack-spot/portal-theme": "^1.0.0",
19
19
  "@stack-spot/portal-translate": "^1.1.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stack-spot/ai-chat-widget",
3
- "version": "1.25.1-beta.0",
4
- "date": "Wed Jun 11 2025 07:54:54 GMT-0300 (Brasilia Standard Time)",
3
+ "version": "1.26.1-beta.0",
4
+ "date": "Wed Jun 11 2025 11:15:18 GMT-0300 (Brasilia Standard Time)",
5
5
  "dependencies": [
6
6
  {
7
7
  "name": "@stack-spot/app-metadata",
@@ -113,7 +113,7 @@
113
113
  },
114
114
  {
115
115
  "name": "@stack-spot/portal-network",
116
- "version": "0.139.0(@stack-spot/auth@5.3.2)(@stack-spot/opa@2.5.0(@stack-spot/auth@5.3.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@stack-spot/portal-translate@1.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)"
116
+ "version": "0.140.1-beta.0(@stack-spot/auth@5.3.2)(@stack-spot/opa@2.5.0(@stack-spot/auth@5.3.2)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@stack-spot/portal-translate@1.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)"
117
117
  },
118
118
  {
119
119
  "name": "@stack-spot/portal-theme",
@@ -64,10 +64,13 @@ export async function sendMessageInterceptor(entry: ChatEntry, chat: ChatState,
64
64
  const stream = aiClient.sendChatMessage({ context, user_prompt: buildPrompt(content, data) })
65
65
  signal.addEventListener('abort', () => stream.cancel())
66
66
  const botEntry = ChatEntry.createStreamedBotEntry()
67
- chat.pushMessage(botEntry)
67
+ // we add the chat entry and show the streaming if the streaming feature is enabled
68
+ if (chat.get('features').streaming) {
69
+ chat.pushMessage(botEntry)
70
+ }
68
71
  let knowledgeSources: KnowledgeSource[] | undefined
69
72
  stream.onChange(value => {
70
- if (value.sources?.length !== knowledgeSources?.length) {
73
+ if (value.sources?.length !== knowledgeSources?.length && chat.get('features').showSourcesInResponse) {
71
74
  knowledgeSources = genericSourcesToKnowledgeSources(value.sources)
72
75
  }
73
76
  botEntry.setValue(createEntryValueFromChatResponse(value, knowledgeSources, chat.get('agent')))
@@ -75,6 +78,10 @@ export async function sendMessageInterceptor(entry: ChatEntry, chat: ChatState,
75
78
  let finalValue: Partial<ChatResponse3> | undefined
76
79
  try {
77
80
  finalValue = await stream.getValue()
81
+ // if the streaming feature is not enabled, we only add the chat entry once the streaming has finished
82
+ if (!chat.get('features').streaming) {
83
+ chat.pushMessage(botEntry)
84
+ }
78
85
  } catch (error: any) {
79
86
  if (error instanceof StreamCanceledError) {
80
87
  finalValue = stream.getPartialValue()
@@ -42,7 +42,7 @@ const Styled = styled.div`
42
42
  }
43
43
  .status {
44
44
  position: absolute;
45
- background-color: rgba(0, 0, 0, 0.3);
45
+ background-color: rgba(0, 0, 0, 0.5);
46
46
  top: 0;
47
47
  left: 0;
48
48
  bottom: 0;
@@ -84,7 +84,7 @@ export const FileDescription = ({ fileName, icon, status, onRemove, onRetry }: F
84
84
  <LoadingCircular size="xs" />
85
85
  </div>}
86
86
  {status === 'error' && <div className="status" aria-label={t.error}>
87
- <IconButton onClick={onRetry}><Sync /></IconButton>
87
+ <IconButton appearance="circle" color="danger" title={t.retry} aria-label={t.retry} onClick={onRetry}><Sync /></IconButton>
88
88
  </div>}
89
89
  </div>
90
90
  <div className="details">
@@ -101,13 +101,13 @@ export const FileDescription = ({ fileName, icon, status, onRemove, onRetry }: F
101
101
  const dictionary = {
102
102
  en: {
103
103
  loading: 'Uploading file',
104
- retry: 'Retry',
104
+ retry: 'Retry failed upload',
105
105
  remove: 'Remove',
106
106
  error: 'Error while uploading file',
107
107
  },
108
108
  pt: {
109
109
  loading: 'Carregando arquivo',
110
- retry: 'Tentar novamente',
110
+ retry: 'Tentar subir novamente o arquivo com falha',
111
111
  remove: 'Remover',
112
112
  error: 'Erro ao carregar o arquivo',
113
113
  },
package/src/features.ts CHANGED
@@ -27,6 +27,18 @@ export interface ChatFeatures {
27
27
  * Enables chat message. Default: true
28
28
  */
29
29
  messageInput: boolean,
30
+ /**
31
+ * Enables file uploads.
32
+ */
33
+ upload: boolean,
34
+ /**
35
+ * Enables the listing of sources when writing a chat response.
36
+ */
37
+ showSourcesInResponse: boolean,
38
+ /**
39
+ * Enables streaming in chat responses.
40
+ */
41
+ streaming: boolean,
30
42
  }
31
43
 
32
44
  export interface GlobalFeatures {
@@ -53,6 +65,9 @@ export function getFeaturesWithDefaults(features?: Partial<AIWidgetFeatures>): A
53
65
  workspace: true,
54
66
  chatHistory: true,
55
67
  messageInput: true,
68
+ upload: true,
69
+ streaming: true,
70
+ showSourcesInResponse: true,
56
71
  ...features,
57
72
  }
58
73
  }
@@ -142,7 +142,7 @@ export const ChatList: IStyledComponentBase<
142
142
  .image-uploads, .document-uploads {
143
143
  display: flex;
144
144
  flex-direction: row;
145
- flex-wrap: nowrap;
145
+ flex-wrap: wrap;
146
146
  gap: 8px;
147
147
  list-style: none;
148
148
  margin: 0 0 4px 0;
@@ -6,8 +6,8 @@ import { useCurrentChatState, useWidget } from '../../context/hooks'
6
6
  import { useUploadManager } from '../../utils/upload/context'
7
7
  import { useMessageInputDictionary } from './dictionary'
8
8
 
9
- type chatFeatures = 'workspace' | 'knowledgeSource' | 'stack'
10
- type chatPanel = 'ks' | 'workspace' | 'stack'
9
+ type ChatFeatures = 'workspace' | 'knowledgeSource' | 'stack'
10
+ type ChatPanel = 'ks' | 'workspace' | 'stack'
11
11
 
12
12
  export const SelectContent = () => {
13
13
  const widget = useWidget()
@@ -15,7 +15,7 @@ export const SelectContent = () => {
15
15
  const features = useCurrentChatState('features')
16
16
  const t = useMessageInputDictionary()
17
17
  const uploadManager = useUploadManager()
18
- const hasFeatureButtons = features.workspace || features.knowledgeSource || features.stack
18
+ const hasFeatureButtons = features.workspace || features.knowledgeSource || features.stack || features.upload
19
19
 
20
20
  const itemConfigs = [
21
21
  {
@@ -36,17 +36,25 @@ export const SelectContent = () => {
36
36
  icon: <Spaces />,
37
37
  panel: 'workspace',
38
38
  },
39
+ {
40
+ key: 'upload',
41
+ label: t.upload,
42
+ onClick: () => uploadManager.open(),
43
+ className: 'upload-item',
44
+ icon: <DocumentUpload />,
45
+ },
39
46
  ]
40
47
 
41
48
  const listItems = useMemo(() =>
42
- itemConfigs.filter(chatFeatures => features[chatFeatures.key as chatFeatures])
49
+ itemConfigs.filter(chatFeatures => features[chatFeatures.key as ChatFeatures])
43
50
  .map(chatFeatures => ({
44
51
  label: chatFeatures.label,
45
52
  icon: chatFeatures.icon,
46
- onClick: () => {
47
- widget.set('panel', chatFeatures.panel as chatPanel)
53
+ className: chatFeatures.className,
54
+ onClick: chatFeatures.panel ? (() => {
55
+ widget.set('panel', chatFeatures.panel as ChatPanel)
48
56
  setVisibleMenu(false)
49
- },
57
+ }) : chatFeatures.onClick,
50
58
  })), [features, widget])
51
59
 
52
60
  if (!hasFeatureButtons) return null
@@ -70,15 +78,7 @@ export const SelectContent = () => {
70
78
  id="chatMessageMenu"
71
79
  visible={visibleMenu}
72
80
  onHide={() => setVisibleMenu(false)}
73
- items={[
74
- ...listItems,
75
- {
76
- label: t.upload,
77
- onClick: () => uploadManager.open(),
78
- className: 'upload-item',
79
- icon: <DocumentUpload />,
80
- },
81
- ]}
81
+ items={listItems}
82
82
  />
83
83
  </>
84
84
  )
@@ -128,7 +128,7 @@ export const MessageInput = () => {
128
128
  <ProgressBar visible={true} animate={isLoading}
129
129
  backgroundColor={isLoading || !focused ? theme.color.light[500] : theme.color.primary[500]} />
130
130
  <ContextBar />
131
- <UploadBar />
131
+ {chat.get('features').upload && <UploadBar />}
132
132
  <ButtonBar onSend={onSend} isLoading={isLoading} />
133
133
  </MessageInputBox>
134
134
  </UploadProvider>