@syntrologie/adapt-chatbot 2.1.0-canary.8 → 2.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"ChatAssistant.d.ts","sourceRoot":"","sources":["../src/ChatAssistant.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAe,oBAAoB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA8GhF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,kBAAkB,2CAwE5E;AAMD,eAAO,MAAM,4BAA4B;qBACtB,WAAW,gBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CA+BpE,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ChatAssistant.d.ts","sourceRoot":"","sources":["../src/ChatAssistant.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAe,oBAAoB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA8GhF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,kBAAkB,2CAwE5E;AAMD,eAAO,MAAM,4BAA4B;qBACtB,WAAW,gBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CA6CpE,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -5,7 +5,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  * Main React component for the AI chat assistant widget.
6
6
  * Renders a message list with auto-scroll, loading indicator, and input form.
7
7
  */
8
- import { useRef, useEffect } from 'react';
8
+ import { base, slateGrey, purple, red } from '@syntro/design-system/tokens';
9
+ import React, { useRef, useEffect } from 'react';
10
+ import { createRoot } from 'react-dom/client';
9
11
  import { useChat } from './useChat';
10
12
  // ============================================================================
11
13
  // Styles
@@ -35,14 +37,14 @@ const styles = {
35
37
  },
36
38
  userMessage: {
37
39
  alignSelf: 'flex-end',
38
- backgroundColor: '#6366f1',
39
- color: '#ffffff',
40
+ backgroundColor: purple[4],
41
+ color: base.white,
40
42
  borderBottomRightRadius: '4px',
41
43
  },
42
44
  assistantMessage: {
43
45
  alignSelf: 'flex-start',
44
46
  backgroundColor: 'rgba(255, 255, 255, 0.08)',
45
- color: '#e2e8f0',
47
+ color: slateGrey[10],
46
48
  borderBottomLeftRadius: '4px',
47
49
  },
48
50
  loadingDots: {
@@ -50,13 +52,13 @@ const styles = {
50
52
  padding: '8px 16px',
51
53
  backgroundColor: 'rgba(255, 255, 255, 0.05)',
52
54
  borderRadius: '12px',
53
- color: '#94a3b8',
55
+ color: slateGrey[8],
54
56
  fontSize: '13px',
55
57
  },
56
58
  errorBanner: {
57
59
  padding: '8px 12px',
58
60
  backgroundColor: 'rgba(239, 68, 68, 0.1)',
59
- color: '#ef4444',
61
+ color: red[4],
60
62
  fontSize: '13px',
61
63
  borderRadius: '8px',
62
64
  margin: '0 12px',
@@ -73,7 +75,7 @@ const styles = {
73
75
  borderRadius: '8px',
74
76
  border: '1px solid rgba(255, 255, 255, 0.1)',
75
77
  backgroundColor: 'rgba(0, 0, 0, 0.2)',
76
- color: '#f1f5f9',
78
+ color: slateGrey[12],
77
79
  fontSize: '14px',
78
80
  outline: 'none',
79
81
  fontFamily: 'inherit',
@@ -82,8 +84,8 @@ const styles = {
82
84
  padding: '8px 16px',
83
85
  borderRadius: '8px',
84
86
  border: 'none',
85
- backgroundColor: '#6366f1',
86
- color: '#ffffff',
87
+ backgroundColor: purple[4],
88
+ color: base.white,
87
89
  fontWeight: 600,
88
90
  fontSize: '13px',
89
91
  cursor: 'pointer',
@@ -141,19 +143,30 @@ export function ChatAssistant({ config, runtime, tileId }) {
141
143
  // ============================================================================
142
144
  export const ChatAssistantMountableWidget = {
143
145
  mount(container, mountConfig) {
144
- const { config, runtime, tileId: _tileId = 'chatbot-widget', } = (mountConfig || {});
146
+ const { config, runtime, tileId = 'chatbot-widget', } = (mountConfig || {});
147
+ // React rendering when config + runtime + ReactDOM are available
148
+ if (config && runtime && typeof createRoot === 'function') {
149
+ const root = createRoot(container);
150
+ root.render(React.createElement(ChatAssistant, {
151
+ config,
152
+ runtime,
153
+ tileId,
154
+ }));
155
+ return () => {
156
+ root.unmount();
157
+ };
158
+ }
145
159
  if (!config || !runtime) {
146
- container.innerHTML =
147
- '<div style="padding: 16px; color: #94a3b8;">Chat widget requires config and runtime.</div>';
160
+ container.innerHTML = `<div style="padding: 16px; color: ${slateGrey[8]};">Chat widget requires config and runtime.</div>`;
148
161
  return () => {
149
162
  container.innerHTML = '';
150
163
  };
151
164
  }
152
- // Simple HTML fallback — full React rendering is handled by the runtime
165
+ // HTML fallback
153
166
  container.innerHTML = `
154
- <div style="padding: 16px; font-family: system-ui; color: #e2e8f0;">
155
- <p style="margin: 0 0 8px; color: #94a3b8;">${config.greeting || 'Hi! How can I help?'}</p>
156
- <p style="margin: 0; font-size: 12px; color: #64748b;">Chat widget mounted. Awaiting React renderer.</p>
167
+ <div style="padding: 16px; font-family: system-ui; color: ${slateGrey[10]};">
168
+ <p style="margin: 0 0 8px; color: ${slateGrey[8]};">${config.greeting || 'Hi! How can I help?'}</p>
169
+ <p style="margin: 0; font-size: 12px; color: ${slateGrey[7]};">Chat widget mounted. Awaiting React renderer.</p>
157
170
  </div>
158
171
  `;
159
172
  return () => {
package/dist/cdn.d.ts CHANGED
@@ -4,6 +4,7 @@
4
4
  * This module is bundled for CDN delivery and self-registers with the global
5
5
  * SynOS app registry when loaded dynamically via the AppLoader.
6
6
  */
7
+ import ChatbotEditor from './editor';
7
8
  /**
8
9
  * App manifest for registry registration.
9
10
  * Follows the AppManifest interface expected by AppLoader/AppRegistry.
@@ -27,6 +28,14 @@ export declare const manifest: {
27
28
  };
28
29
  }[];
29
30
  };
31
+ editor: {
32
+ component: typeof ChatbotEditor;
33
+ panel: {
34
+ title: string;
35
+ icon: string;
36
+ description: string;
37
+ };
38
+ };
30
39
  metadata: {
31
40
  isBuiltIn: boolean;
32
41
  };
package/dist/cdn.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cdn.d.ts","sourceRoot":"","sources":["../src/cdn.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;CAYpB,CAAC;AAaF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"cdn.d.ts","sourceRoot":"","sources":["../src/cdn.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,aAA8B,MAAM,UAAU,CAAC;AAGtD;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAapB,CAAC;AAaF,eAAe,QAAQ,CAAC"}
package/dist/cdn.js CHANGED
@@ -4,6 +4,7 @@
4
4
  * This module is bundled for CDN delivery and self-registers with the global
5
5
  * SynOS app registry when loaded dynamically via the AppLoader.
6
6
  */
7
+ import ChatbotEditor, { editorPanel } from './editor';
7
8
  import { runtime } from './runtime';
8
9
  /**
9
10
  * App manifest for registry registration.
@@ -18,6 +19,7 @@ export const manifest = {
18
19
  actions: [],
19
20
  widgets: runtime.widgets,
20
21
  },
22
+ editor: { component: ChatbotEditor, panel: editorPanel },
21
23
  metadata: {
22
24
  isBuiltIn: false,
23
25
  },
@@ -27,9 +29,9 @@ export const manifest = {
27
29
  * This happens when loaded via script tag (UMD).
28
30
  */
29
31
  if (typeof window !== 'undefined') {
30
- const globalRegistry = window.__SYNOS_APP_REGISTRY__;
31
- if (globalRegistry && typeof globalRegistry.register === 'function') {
32
- globalRegistry.register(manifest);
32
+ const registry = window.SynOS?.appRegistry;
33
+ if (registry && typeof registry.register === 'function') {
34
+ registry.register(manifest);
33
35
  }
34
36
  }
35
37
  export default manifest;
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../src/editor.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,SAAS,CAAC;AAwH/D,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,gBAAgB,2CAyF3E;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;;;;CAIvB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../src/editor.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,KAAK,EAAE,gBAAgB,EAAiB,MAAM,SAAS,CAAC;AAM/D,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,gBAAgB,2CAoF3E;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;;;;CAIvB,CAAC;AAEF,eAAe,aAAa,CAAC"}
package/dist/editor.js CHANGED
@@ -1,133 +1,36 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // ============================================================================
3
- // Editor Styles
4
- // ============================================================================
5
- const styles = {
6
- container: {
7
- display: 'flex',
8
- flexDirection: 'column',
9
- height: '100%',
10
- fontFamily: 'system-ui, -apple-system, sans-serif',
11
- },
12
- header: {
13
- padding: '16px',
14
- borderBottom: '1px solid #334155',
15
- display: 'flex',
16
- alignItems: 'center',
17
- gap: '12px',
18
- },
19
- backButton: {
20
- padding: '6px 12px',
21
- borderRadius: '6px',
22
- border: 'none',
23
- backgroundColor: 'rgba(255,255,255,0.05)',
24
- color: '#94a3b8',
25
- fontSize: '13px',
26
- cursor: 'pointer',
27
- },
28
- title: {
29
- margin: 0,
30
- fontSize: '15px',
31
- fontWeight: 600,
32
- color: '#f8fafc',
33
- },
34
- subtitle: {
35
- margin: '2px 0 0 0',
36
- fontSize: '11px',
37
- color: '#64748b',
38
- },
39
- content: {
40
- flex: 1,
41
- overflow: 'auto',
42
- padding: '16px',
43
- },
44
- section: {
45
- marginBottom: '24px',
46
- },
47
- sectionTitle: {
48
- fontSize: '12px',
49
- fontWeight: 600,
50
- color: '#94a3b8',
51
- textTransform: 'uppercase',
52
- letterSpacing: '0.05em',
53
- marginBottom: '12px',
54
- },
55
- inputGroup: {
56
- marginBottom: '12px',
57
- },
58
- inputLabel: {
59
- display: 'block',
60
- fontSize: '11px',
61
- color: '#94a3b8',
62
- marginBottom: '4px',
63
- },
64
- input: {
65
- width: '100%',
66
- padding: '10px 12px',
67
- borderRadius: '6px',
68
- border: '1px solid rgba(255,255,255,0.1)',
69
- backgroundColor: 'rgba(255,255,255,0.05)',
70
- color: '#f8fafc',
71
- fontSize: '13px',
72
- },
73
- textarea: {
74
- width: '100%',
75
- padding: '10px 12px',
76
- borderRadius: '6px',
77
- border: '1px solid rgba(255,255,255,0.1)',
78
- backgroundColor: 'rgba(255,255,255,0.05)',
79
- color: '#f8fafc',
80
- fontSize: '13px',
81
- minHeight: '60px',
82
- resize: 'vertical',
83
- fontFamily: 'inherit',
84
- },
85
- footer: {
86
- padding: '12px 16px',
87
- borderTop: '1px solid #334155',
88
- display: 'flex',
89
- gap: '8px',
90
- },
91
- saveButton: {
92
- flex: 1,
93
- padding: '10px',
94
- borderRadius: '8px',
95
- border: 'none',
96
- background: 'rgba(59, 130, 246, 0.15)',
97
- color: '#3b82f6',
98
- fontSize: '13px',
99
- fontWeight: 600,
100
- cursor: 'pointer',
101
- },
102
- publishButton: {
103
- flex: 1,
104
- padding: '10px',
105
- borderRadius: '8px',
106
- border: 'none',
107
- background: '#22c55e',
108
- color: 'white',
109
- fontSize: '13px',
110
- fontWeight: 600,
111
- cursor: 'pointer',
112
- },
113
- };
2
+ /**
3
+ * Adaptive Chatbot - Editor Component
4
+ *
5
+ * Visual editor panel for configuring chatbot tile props.
6
+ */
7
+ import { EditorLayout, EditorHeader, EditorBody, EditorFooter, EditorInput, EditorTextarea, } from '@syntrologie/shared-editor-ui';
8
+ import { useEffect, useRef } from 'react';
114
9
  // ============================================================================
115
10
  // ChatbotEditor Component
116
11
  // ============================================================================
117
12
  export function ChatbotEditor({ config, onChange, editor }) {
118
13
  const typedConfig = config;
14
+ // Consume initial navigation payload on mount (chatbot is form-based, no sub-items)
15
+ const initialConsumed = useRef(false);
16
+ useEffect(() => {
17
+ if (!initialConsumed.current && (editor.initialEditKey != null || editor.initialCreate)) {
18
+ initialConsumed.current = true;
19
+ editor.clearInitialState?.();
20
+ }
21
+ }, [editor]);
119
22
  const handleChange = (field, value) => {
120
23
  onChange({ ...config, [field]: value });
121
24
  editor.setDirty(true);
122
25
  };
123
- return (_jsxs("div", { style: styles.container, children: [_jsxs("div", { style: styles.header, children: [_jsx("button", { onClick: () => editor.navigateHome(), style: styles.backButton, children: "\u2190 Back" }), _jsxs("div", { children: [_jsx("h2", { style: styles.title, children: "Chat Assistant" }), _jsx("p", { style: styles.subtitle, children: "Configure AI chat assistant" })] })] }), _jsxs("div", { style: styles.content, children: [_jsxs("div", { style: styles.section, children: [_jsx("div", { style: styles.sectionTitle, children: "API Configuration" }), _jsxs("div", { style: styles.inputGroup, children: [_jsx("label", { style: styles.inputLabel, children: "Backend URL" }), _jsx("input", { type: "text", value: typedConfig.backendUrl || '', onChange: (e) => handleChange('backendUrl', e.target.value), style: styles.input, placeholder: "/api/chat/message" })] }), _jsxs("div", { style: styles.inputGroup, children: [_jsx("label", { style: styles.inputLabel, children: "MLflow Run ID (optional)" }), _jsx("input", { type: "text", value: typedConfig.mlflowRunId || '', onChange: (e) => handleChange('mlflowRunId', e.target.value), style: styles.input, placeholder: "e.g., abc123" })] })] }), _jsxs("div", { style: styles.section, children: [_jsx("div", { style: styles.sectionTitle, children: "Chat Settings" }), _jsxs("div", { style: styles.inputGroup, children: [_jsx("label", { style: styles.inputLabel, children: "Greeting Message" }), _jsx("textarea", { value: typedConfig.greeting || '', onChange: (e) => handleChange('greeting', e.target.value), style: styles.textarea, placeholder: "Hi! How can I help?" })] }), _jsxs("div", { style: styles.inputGroup, children: [_jsx("label", { style: styles.inputLabel, children: "Max History (messages sent to backend)" }), _jsx("input", { type: "number", value: typedConfig.maxHistory || 20, onChange: (e) => handleChange('maxHistory', parseInt(e.target.value, 10)), style: styles.input, min: 1, max: 100 })] })] })] }), _jsxs("div", { style: styles.footer, children: [_jsx("button", { onClick: () => editor.save(), style: styles.saveButton, children: "Save Draft" }), _jsx("button", { onClick: () => editor.publish(), style: styles.publishButton, children: "Publish" })] })] }));
26
+ return (_jsxs(EditorLayout, { children: [_jsx(EditorHeader, { title: "Chat Assistant", subtitle: "Configure AI chat assistant", onBack: () => editor.navigateHome() }), _jsxs(EditorBody, { children: [_jsxs("div", { className: "se-mb-6", children: [_jsx("div", { className: "se-text-xs se-font-semibold se-text-slate-grey-8 se-uppercase se-tracking-wide se-mb-3", children: "API Configuration" }), _jsx(EditorInput, { label: "Backend URL", type: "text", value: typedConfig.backendUrl || '', onChange: (e) => handleChange('backendUrl', e.target.value), placeholder: "/api/chat/message" }), _jsx(EditorInput, { label: "MLflow Run ID (optional)", type: "text", value: typedConfig.mlflowRunId || '', onChange: (e) => handleChange('mlflowRunId', e.target.value), placeholder: "e.g., abc123" })] }), _jsxs("div", { className: "se-mb-6", children: [_jsx("div", { className: "se-text-xs se-font-semibold se-text-slate-grey-8 se-uppercase se-tracking-wide se-mb-3", children: "Chat Settings" }), _jsx(EditorTextarea, { label: "Greeting Message", value: typedConfig.greeting || '', onChange: (e) => handleChange('greeting', e.target.value), placeholder: "Hi! How can I help?" }), _jsx(EditorInput, { label: "Max History (messages sent to backend)", type: "number", value: typedConfig.maxHistory || 20, onChange: (e) => handleChange('maxHistory', parseInt(e.target.value, 10)), min: 1, max: 100 })] })] }), _jsx(EditorFooter, { onSave: () => editor.save(), onPublish: () => editor.publish() })] }));
124
27
  }
125
28
  /**
126
29
  * Editor panel configuration for the app registry.
127
30
  */
128
31
  export const editorPanel = {
129
32
  title: 'Chat Assistant',
130
- icon: '💬',
33
+ icon: '\u{1F4AC}',
131
34
  description: 'AI chat assistant with action execution',
132
35
  };
133
36
  export default ChatbotEditor;
package/dist/types.d.ts CHANGED
@@ -66,6 +66,12 @@ export interface EditorPanelProps {
66
66
  navigateHome: () => Promise<boolean>;
67
67
  save: () => Promise<void>;
68
68
  publish: (captureScreenshot?: boolean) => Promise<void>;
69
+ /** Flat action index to open in edit mode (from accordion navigation). */
70
+ initialEditKey?: string;
71
+ /** Open the editor in create mode. */
72
+ initialCreate?: boolean;
73
+ /** Clear the initial navigation state (call after consuming). */
74
+ clearInitialState?: () => void;
69
75
  };
70
76
  platformClient?: unknown;
71
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAMD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAMD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAClD,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE;QACN,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KAClE,CAAC;CACH;AAMD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACpD,MAAM,EAAE;QACN,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QACnC,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACzD,CAAC;IACF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@syntrologie/adapt-chatbot",
3
- "version": "2.1.0-canary.8",
3
+ "version": "2.1.0",
4
4
  "description": "Adaptive Chatbot - AI chat assistant widget with action execution",
5
5
  "license": "Proprietary",
6
6
  "private": false,
@@ -33,10 +33,15 @@
33
33
  ],
34
34
  "scripts": {
35
35
  "build": "tsc",
36
+ "typecheck": "tsc --noEmit",
36
37
  "clean": "rm -rf dist",
37
38
  "test": "vitest run",
38
39
  "test:watch": "vitest"
39
40
  },
41
+ "dependencies": {
42
+ "@syntrologie/shared-editor-ui": "*",
43
+ "@syntro/design-system": "^1.0.0"
44
+ },
40
45
  "peerDependencies": {
41
46
  "@syntrologie/runtime-sdk": "^2.0.0",
42
47
  "react": ">=18.0.0",
@@ -45,7 +50,7 @@
45
50
  },
46
51
  "devDependencies": {
47
52
  "@testing-library/react": "^16.3.2",
48
- "@types/react": "^18.3.27",
53
+ "@types/react": "^19.1.0",
49
54
  "@types/react-dom": "^19.2.3",
50
55
  "jsdom": "^25.0.1",
51
56
  "react": "^19.2.4",