@stack-spot/ai-chat-widget 1.4.0 → 1.5.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,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.5.0](https://github.com/stack-spot/portal-ai-chat-widget/compare/ai-chat-widget@v1.4.1...ai-chat-widget@v1.5.0) (2024-11-05)
4
+
5
+
6
+ ### Features
7
+
8
+ * style feature ([5ef9a29](https://github.com/stack-spot/portal-ai-chat-widget/commit/5ef9a29cede82f6de7aaf90597c92022eb48fd2f))
9
+
10
+ ## [1.4.1](https://github.com/stack-spot/portal-ai-chat-widget/compare/ai-chat-widget@v1.4.0...ai-chat-widget@v1.4.1) (2024-11-05)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * release ([b26e08a](https://github.com/stack-spot/portal-ai-chat-widget/commit/b26e08a29bad33faa47f48077f438ef67bcce731))
16
+
3
17
  ## [1.4.0](https://github.com/stack-spot/portal-ai-chat-widget/compare/ai-chat-widget-v1.3.3...ai-chat-widget@v1.4.0) (2024-11-04)
4
18
 
5
19
 
@@ -1,6 +1,7 @@
1
+ import { WithStyle } from '@stack-spot/portal-theme';
1
2
  import './layout.css';
2
3
  import { MinimizedActions } from './types.js';
3
- export interface AIWidgetProps {
4
+ export interface AIWidgetProps extends WithStyle {
4
5
  /**
5
6
  * The name of the user currently logged in.
6
7
  */
@@ -18,5 +19,5 @@ export interface AIWidgetProps {
18
19
  * Renders a Chat Widget according to the closest model found in the React tree (AIWidgetProvider). If no model is found, a global version
19
20
  * of the Chat Widget will be instantiated and used.
20
21
  */
21
- export declare const StackspotAIWidget: ({ username, minimizedActions, children }: AIWidgetProps) => import("react/jsx-runtime").JSX.Element;
22
+ export declare const StackspotAIWidget: ({ username, minimizedActions, children, className, style }: AIWidgetProps) => import("react/jsx-runtime").JSX.Element;
22
23
  //# sourceMappingURL=StackspotAIWidget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StackspotAIWidget.d.ts","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"AAIA,OAAO,cAAc,CAAA;AAGrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAc1C,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,6CACmB,aAAa,4CAoC7D,CAAA"}
1
+ {"version":3,"file":"StackspotAIWidget.d.ts","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAIjE,OAAO,cAAc,CAAA;AAGrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAc1C,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,+DAAqE,aAAa,4CAmC/G,CAAA"}
@@ -22,13 +22,13 @@ import { Workspaces } from './views/Workspaces.js';
22
22
  * Renders a Chat Widget according to the closest model found in the React tree (AIWidgetProvider). If no model is found, a global version
23
23
  * of the Chat Widget will be instantiated and used.
24
24
  */
25
- export const StackspotAIWidget = ({ username, minimizedActions = {}, children }) => {
25
+ export const StackspotAIWidget = ({ username, minimizedActions = {}, children, className, style }) => {
26
26
  const rightPanelRef = useRef(null);
27
27
  const chatWindowRef = useRef(null);
28
28
  const currentChat = useCurrentChatMessages();
29
29
  const isMinimized = useWidgetState('isMinimized');
30
30
  const isCurrentChatEmpty = currentChat.length === 0;
31
- return useMemo(() => (_jsx(TooltipProvider, { children: _jsx(RightPanelProvider, { chatWindow: chatWindowRef, panel: rightPanelRef, children: _jsxs("div", { className: listToClass(['ai-chat-widget', isMinimized && 'minimized']), translate: "no", children: [_jsxs("div", { className: "chat-window", ref: chatWindowRef, children: [isMinimized
31
+ return useMemo(() => (_jsx(TooltipProvider, { children: _jsx(RightPanelProvider, { chatWindow: chatWindowRef, panel: rightPanelRef, children: _jsxs("div", { className: listToClass(['ai-chat-widget', isMinimized && 'minimized', className]), translate: "no", style: style, children: [_jsxs("div", { className: "chat-window", ref: chatWindowRef, children: [isMinimized
32
32
  ? _jsx(MinimizedHeader, { ...minimizedActions })
33
33
  : _jsx(ChatTabSelection, {}), _jsxs("div", { className: "chat-container", children: [_jsx("div", { className: "chat-content", children: isCurrentChatEmpty ? (children ?? _jsx(Home, { username: username })) : _jsx(Chat, { username: username }) }), _jsx(MessageInput, {})] })] }), _jsx(Stacks, {}), _jsx(Workspaces, {}), _jsx(KnowledgeSources, {}), _jsx(KSDocument, {}), _jsx(Agents, {}), _jsx(Editor, {}), _jsx(ChatHistory, {}), _jsx("div", { className: "chat-right-panel", ref: rightPanelRef, children: _jsx(RightPanel, {}) })] }) }) })), [isCurrentChatEmpty, username, isMinimized, children]);
34
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"StackspotAIWidget.js","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StackspotAIWidget.js","sourceRoot":"","sources":["../src/StackspotAIWidget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ {
2
+ "name": "@stack-spot/ai-chat-widget",
3
+ "version": "1.5.0",
4
+ "date": "Tue Nov 05 2024 14:14:04 GMT+0000 (Coordinated Universal Time)",
5
+ "dependencies": [
6
+ {
7
+ "name": "@stack-spot/app-metadata",
8
+ "version": "1.0.1"
9
+ },
10
+ {
11
+ "name": "@types/lodash",
12
+ "version": "4.17.9"
13
+ },
14
+ {
15
+ "name": "@types/react",
16
+ "version": "18.3.11"
17
+ },
18
+ {
19
+ "name": "@types/react-dom",
20
+ "version": "18.3.0"
21
+ },
22
+ {
23
+ "name": "@types/react-syntax-highlighter",
24
+ "version": "15.5.13"
25
+ },
26
+ {
27
+ "name": "@typescript-eslint/eslint-plugin",
28
+ "version": "6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)"
29
+ },
30
+ {
31
+ "name": "@typescript-eslint/parser",
32
+ "version": "6.21.0(eslint@8.57.1)(typescript@5.6.2)"
33
+ },
34
+ {
35
+ "name": "cpy-cli",
36
+ "version": "5.0.0"
37
+ },
38
+ {
39
+ "name": "eslint",
40
+ "version": "8.57.1"
41
+ },
42
+ {
43
+ "name": "eslint-plugin-filenames",
44
+ "version": "1.3.2(eslint@8.57.1)"
45
+ },
46
+ {
47
+ "name": "eslint-plugin-import",
48
+ "version": "2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)"
49
+ },
50
+ {
51
+ "name": "eslint-plugin-lodash",
52
+ "version": "7.4.0(eslint@8.57.1)"
53
+ },
54
+ {
55
+ "name": "eslint-plugin-promise",
56
+ "version": "6.6.0(eslint@8.57.1)"
57
+ },
58
+ {
59
+ "name": "eslint-plugin-react",
60
+ "version": "7.37.1(eslint@8.57.1)"
61
+ },
62
+ {
63
+ "name": "eslint-plugin-react-hooks",
64
+ "version": "4.6.2(eslint@8.57.1)"
65
+ },
66
+ {
67
+ "name": "react",
68
+ "version": "18.2.0"
69
+ },
70
+ {
71
+ "name": "react-dom",
72
+ "version": "18.2.0(react@18.2.0)"
73
+ },
74
+ {
75
+ "name": "rimraf",
76
+ "version": "5.0.10"
77
+ },
78
+ {
79
+ "name": "styled-components",
80
+ "version": "6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
81
+ },
82
+ {
83
+ "name": "tsc-esm-fix",
84
+ "version": "2.20.27"
85
+ },
86
+ {
87
+ "name": "typescript",
88
+ "version": "5.6.2"
89
+ },
90
+ {
91
+ "name": "@citric/core",
92
+ "version": "6.2.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0))"
93
+ },
94
+ {
95
+ "name": "@citric/icons",
96
+ "version": "5.7.7(react@18.2.0)"
97
+ },
98
+ {
99
+ "name": "@citric/ui",
100
+ "version": "6.1.2(@citric/core@6.2.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@citric/icons@5.7.7(react@18.2.0))(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0))"
101
+ },
102
+ {
103
+ "name": "@monaco-editor/react",
104
+ "version": "4.6.0(monaco-editor@0.52.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
105
+ },
106
+ {
107
+ "name": "@stack-spot/portal-components",
108
+ "version": "2.8.1(@citric/core@6.2.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@citric/icons@5.7.7(react@18.2.0))(@citric/ui@6.1.2(@citric/core@6.2.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@citric/icons@5.7.7(react@18.2.0))(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@stack-spot/portal-theme@1.1.0(@citric/core@6.2.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(styled-components@6.1.10(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))(@types/react@18.3.11)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
109
+ },
110
+ {
111
+ "name": "@stack-spot/portal-network",
112
+ "version": "0.48.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)"
113
+ },
114
+ {
115
+ "name": "@stack-spot/portal-theme",
116
+ "version": "1.1.0(@citric/core@6.2.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0))"
117
+ },
118
+ {
119
+ "name": "@stack-spot/portal-translate",
120
+ "version": "1.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
121
+ },
122
+ {
123
+ "name": "lodash",
124
+ "version": "4.17.21"
125
+ },
126
+ {
127
+ "name": "monaco-editor",
128
+ "version": "0.52.0"
129
+ },
130
+ {
131
+ "name": "react-infinite-scroll-component",
132
+ "version": "6.1.0(react@18.2.0)"
133
+ },
134
+ {
135
+ "name": "react-markdown",
136
+ "version": "9.0.1(@types/react@18.3.11)(react@18.2.0)"
137
+ },
138
+ {
139
+ "name": "react-syntax-highlighter",
140
+ "version": "15.5.0(react@18.2.0)"
141
+ },
142
+ {
143
+ "name": "remark-gfm",
144
+ "version": "4.0.0"
145
+ },
146
+ {
147
+ "name": "ulid",
148
+ "version": "2.3.0"
149
+ }
150
+ ]
151
+ }
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export type { AIWidgetFeatures, ChatFeatures } from './features.js';
6
6
  export { StackspotAIWidget } from './StackspotAIWidget.js';
7
7
  export { ChatEntry } from './state/ChatEntry.js';
8
8
  export { ChatState } from './state/ChatState.js';
9
+ export type { MessageInterceptor } from './state/ChatState.js';
9
10
  export { ChatTabsController } from './state/ChatTabsController.js';
10
11
  export { ObservableState } from './state/ObservableState.js';
11
12
  export type { Labeled, LabeledWithImage } from './state/types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2IAA2I;AAE3I,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2IAA2I;AAE3I,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stack-spot/ai-chat-widget",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,4 +1,4 @@
1
- import { listToClass } from '@stack-spot/portal-theme'
1
+ import { listToClass, WithStyle } from '@stack-spot/portal-theme'
2
2
  import { useMemo, useRef } from 'react'
3
3
  import { TooltipProvider } from './components/Tooltip'
4
4
  import { useCurrentChatMessages, useWidgetState } from './context/hooks'
@@ -19,7 +19,7 @@ import { MinimizedHeader } from './views/MinimizedHeader'
19
19
  import { Stacks } from './views/Stacks'
20
20
  import { Workspaces } from './views/Workspaces'
21
21
 
22
- export interface AIWidgetProps {
22
+ export interface AIWidgetProps extends WithStyle {
23
23
  /**
24
24
  * The name of the user currently logged in.
25
25
  */
@@ -38,9 +38,7 @@ export interface AIWidgetProps {
38
38
  * Renders a Chat Widget according to the closest model found in the React tree (AIWidgetProvider). If no model is found, a global version
39
39
  * of the Chat Widget will be instantiated and used.
40
40
  */
41
- export const StackspotAIWidget = (
42
- { username, minimizedActions = {}, children }: AIWidgetProps,
43
- ) => {
41
+ export const StackspotAIWidget = ({ username, minimizedActions = {}, children, className, style }: AIWidgetProps) => {
44
42
  const rightPanelRef = useRef<HTMLDivElement>(null)
45
43
  const chatWindowRef = useRef<HTMLDivElement>(null)
46
44
  const currentChat = useCurrentChatMessages()
@@ -50,7 +48,7 @@ export const StackspotAIWidget = (
50
48
  return useMemo(() => (
51
49
  <TooltipProvider>
52
50
  <RightPanelProvider chatWindow={chatWindowRef} panel={rightPanelRef}>
53
- <div className={listToClass(['ai-chat-widget', isMinimized && 'minimized'])} translate="no">
51
+ <div className={listToClass(['ai-chat-widget', isMinimized && 'minimized', className])} translate="no" style={style}>
54
52
  <div className="chat-window" ref={chatWindowRef}>
55
53
  {isMinimized
56
54
  ? <MinimizedHeader {...minimizedActions} />
@@ -0,0 +1,151 @@
1
+ {
2
+ "name": "@stack-spot/ai-chat-widget",
3
+ "version": "1.5.0",
4
+ "date": "Tue Nov 05 2024 14:14:04 GMT+0000 (Coordinated Universal Time)",
5
+ "dependencies": [
6
+ {
7
+ "name": "@stack-spot/app-metadata",
8
+ "version": "1.0.1"
9
+ },
10
+ {
11
+ "name": "@types/lodash",
12
+ "version": "4.17.9"
13
+ },
14
+ {
15
+ "name": "@types/react",
16
+ "version": "18.3.11"
17
+ },
18
+ {
19
+ "name": "@types/react-dom",
20
+ "version": "18.3.0"
21
+ },
22
+ {
23
+ "name": "@types/react-syntax-highlighter",
24
+ "version": "15.5.13"
25
+ },
26
+ {
27
+ "name": "@typescript-eslint/eslint-plugin",
28
+ "version": "6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)"
29
+ },
30
+ {
31
+ "name": "@typescript-eslint/parser",
32
+ "version": "6.21.0(eslint@8.57.1)(typescript@5.6.2)"
33
+ },
34
+ {
35
+ "name": "cpy-cli",
36
+ "version": "5.0.0"
37
+ },
38
+ {
39
+ "name": "eslint",
40
+ "version": "8.57.1"
41
+ },
42
+ {
43
+ "name": "eslint-plugin-filenames",
44
+ "version": "1.3.2(eslint@8.57.1)"
45
+ },
46
+ {
47
+ "name": "eslint-plugin-import",
48
+ "version": "2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)"
49
+ },
50
+ {
51
+ "name": "eslint-plugin-lodash",
52
+ "version": "7.4.0(eslint@8.57.1)"
53
+ },
54
+ {
55
+ "name": "eslint-plugin-promise",
56
+ "version": "6.6.0(eslint@8.57.1)"
57
+ },
58
+ {
59
+ "name": "eslint-plugin-react",
60
+ "version": "7.37.1(eslint@8.57.1)"
61
+ },
62
+ {
63
+ "name": "eslint-plugin-react-hooks",
64
+ "version": "4.6.2(eslint@8.57.1)"
65
+ },
66
+ {
67
+ "name": "react",
68
+ "version": "18.2.0"
69
+ },
70
+ {
71
+ "name": "react-dom",
72
+ "version": "18.2.0(react@18.2.0)"
73
+ },
74
+ {
75
+ "name": "rimraf",
76
+ "version": "5.0.10"
77
+ },
78
+ {
79
+ "name": "styled-components",
80
+ "version": "6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
81
+ },
82
+ {
83
+ "name": "tsc-esm-fix",
84
+ "version": "2.20.27"
85
+ },
86
+ {
87
+ "name": "typescript",
88
+ "version": "5.6.2"
89
+ },
90
+ {
91
+ "name": "@citric/core",
92
+ "version": "6.2.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0))"
93
+ },
94
+ {
95
+ "name": "@citric/icons",
96
+ "version": "5.7.7(react@18.2.0)"
97
+ },
98
+ {
99
+ "name": "@citric/ui",
100
+ "version": "6.1.2(@citric/core@6.2.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@citric/icons@5.7.7(react@18.2.0))(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0))"
101
+ },
102
+ {
103
+ "name": "@monaco-editor/react",
104
+ "version": "4.6.0(monaco-editor@0.52.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
105
+ },
106
+ {
107
+ "name": "@stack-spot/portal-components",
108
+ "version": "2.8.1(@citric/core@6.2.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@citric/icons@5.7.7(react@18.2.0))(@citric/ui@6.1.2(@citric/core@6.2.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@citric/icons@5.7.7(react@18.2.0))(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(@stack-spot/portal-theme@1.1.0(@citric/core@6.2.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(styled-components@6.1.10(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))(@types/react@18.3.11)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
109
+ },
110
+ {
111
+ "name": "@stack-spot/portal-network",
112
+ "version": "0.48.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)"
113
+ },
114
+ {
115
+ "name": "@stack-spot/portal-theme",
116
+ "version": "1.1.0(@citric/core@6.2.0(lodash@4.17.21)(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(styled-components@6.1.10(react-dom@18.2.0(react@18.2.0))(react@18.2.0))"
117
+ },
118
+ {
119
+ "name": "@stack-spot/portal-translate",
120
+ "version": "1.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)"
121
+ },
122
+ {
123
+ "name": "lodash",
124
+ "version": "4.17.21"
125
+ },
126
+ {
127
+ "name": "monaco-editor",
128
+ "version": "0.52.0"
129
+ },
130
+ {
131
+ "name": "react-infinite-scroll-component",
132
+ "version": "6.1.0(react@18.2.0)"
133
+ },
134
+ {
135
+ "name": "react-markdown",
136
+ "version": "9.0.1(@types/react@18.3.11)(react@18.2.0)"
137
+ },
138
+ {
139
+ "name": "react-syntax-highlighter",
140
+ "version": "15.5.0(react@18.2.0)"
141
+ },
142
+ {
143
+ "name": "remark-gfm",
144
+ "version": "4.0.0"
145
+ },
146
+ {
147
+ "name": "ulid",
148
+ "version": "2.3.0"
149
+ }
150
+ ]
151
+ }
package/src/index.ts CHANGED
@@ -8,6 +8,7 @@ export type { AIWidgetFeatures, ChatFeatures } from './features'
8
8
  export { StackspotAIWidget } from './StackspotAIWidget'
9
9
  export { ChatEntry } from './state/ChatEntry'
10
10
  export { ChatState } from './state/ChatState'
11
+ export type { MessageInterceptor } from './state/ChatState'
11
12
  export { ChatTabsController } from './state/ChatTabsController'
12
13
  export { ObservableState } from './state/ObservableState'
13
14
  export type { Labeled, LabeledWithImage } from './state/types'
package/tsconfig.json CHANGED
@@ -2,7 +2,11 @@
2
2
  "compilerOptions": {
3
3
  "target": "ES2023",
4
4
  "useDefineForClassFields": true,
5
- "lib": ["ES2023", "DOM", "DOM.Iterable"],
5
+ "lib": [
6
+ "ES2023",
7
+ "DOM",
8
+ "DOM.Iterable"
9
+ ],
6
10
  "moduleResolution": "Bundler",
7
11
  "jsx": "react-jsx",
8
12
  "skipLibCheck": true,
@@ -11,12 +15,13 @@
11
15
  "declarationMap": true,
12
16
  "module": "ESNext",
13
17
  "outDir": "dist",
14
- /* Linting */
15
18
  "strict": true,
16
19
  "noUnusedLocals": true,
17
20
  "noUnusedParameters": true,
18
21
  "noFallthroughCasesInSwitch": true,
19
22
  "stripInternal": true
20
23
  },
21
- "include": ["src"]
24
+ "include": [
25
+ "src"
26
+ ]
22
27
  }