@talk2view/sdk 0.2.3 → 0.3.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 (105) hide show
  1. package/dist/client.d.ts.map +1 -1
  2. package/dist/client.js +7 -4
  3. package/dist/client.js.map +1 -1
  4. package/dist/index.d.ts +9 -2
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +11 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/react/index.d.ts +9 -22
  9. package/dist/react/index.d.ts.map +1 -1
  10. package/dist/react/index.js +11 -16
  11. package/dist/react/index.js.map +1 -1
  12. package/dist/react/theme.d.ts +16 -0
  13. package/dist/react/theme.d.ts.map +1 -1
  14. package/dist/react/theme.js +119 -4
  15. package/dist/react/theme.js.map +1 -1
  16. package/dist/react/useT2VChat.d.ts +24 -2
  17. package/dist/react/useT2VChat.d.ts.map +1 -1
  18. package/dist/react/useT2VChat.js +176 -38
  19. package/dist/react/useT2VChat.js.map +1 -1
  20. package/dist/react/useUserPreferences.js +2 -2
  21. package/dist/react/useUserPreferences.js.map +1 -1
  22. package/dist/sessions.d.ts +10 -1
  23. package/dist/sessions.d.ts.map +1 -1
  24. package/dist/sessions.js +71 -25
  25. package/dist/sessions.js.map +1 -1
  26. package/dist/tools.d.ts +14 -1
  27. package/dist/tools.d.ts.map +1 -1
  28. package/dist/tools.js +33 -0
  29. package/dist/tools.js.map +1 -1
  30. package/dist/types.d.ts +60 -2
  31. package/dist/types.d.ts.map +1 -1
  32. package/dist/ui/components/LoginModal.d.ts.map +1 -0
  33. package/dist/{react → ui/components}/LoginModal.js +11 -8
  34. package/dist/ui/components/LoginModal.js.map +1 -0
  35. package/dist/ui/components/SettingsView.d.ts +11 -0
  36. package/dist/ui/components/SettingsView.d.ts.map +1 -0
  37. package/dist/{react → ui/components}/SettingsView.js +11 -9
  38. package/dist/ui/components/SettingsView.js.map +1 -0
  39. package/dist/ui/components/T2VAssistantModal.d.ts +31 -0
  40. package/dist/ui/components/T2VAssistantModal.d.ts.map +1 -0
  41. package/dist/ui/components/T2VAssistantModal.js +151 -0
  42. package/dist/ui/components/T2VAssistantModal.js.map +1 -0
  43. package/dist/ui/components/T2VAssistantProvider.d.ts +42 -0
  44. package/dist/ui/components/T2VAssistantProvider.d.ts.map +1 -0
  45. package/dist/ui/components/T2VAssistantProvider.js +66 -0
  46. package/dist/ui/components/T2VAssistantProvider.js.map +1 -0
  47. package/dist/ui/components/T2VChatHeader.d.ts +16 -0
  48. package/dist/ui/components/T2VChatHeader.d.ts.map +1 -0
  49. package/dist/ui/components/T2VChatHeader.js +112 -0
  50. package/dist/ui/components/T2VChatHeader.js.map +1 -0
  51. package/dist/ui/components/T2VComposer.d.ts +11 -0
  52. package/dist/ui/components/T2VComposer.d.ts.map +1 -0
  53. package/dist/ui/components/T2VComposer.js +124 -0
  54. package/dist/ui/components/T2VComposer.js.map +1 -0
  55. package/dist/ui/components/T2VDictationAdapter.d.ts +18 -0
  56. package/dist/ui/components/T2VDictationAdapter.d.ts.map +1 -0
  57. package/dist/ui/components/T2VDictationAdapter.js +126 -0
  58. package/dist/ui/components/T2VDictationAdapter.js.map +1 -0
  59. package/dist/ui/components/T2VLoginGate.d.ts +23 -0
  60. package/dist/ui/components/T2VLoginGate.d.ts.map +1 -0
  61. package/dist/ui/components/T2VLoginGate.js +11 -0
  62. package/dist/ui/components/T2VLoginGate.js.map +1 -0
  63. package/dist/ui/components/T2VThread.d.ts +25 -0
  64. package/dist/ui/components/T2VThread.d.ts.map +1 -0
  65. package/dist/ui/components/T2VThread.js +66 -0
  66. package/dist/ui/components/T2VThread.js.map +1 -0
  67. package/dist/ui/components/T2VToolFallback.d.ts +11 -0
  68. package/dist/ui/components/T2VToolFallback.d.ts.map +1 -0
  69. package/dist/ui/components/T2VToolFallback.js +209 -0
  70. package/dist/ui/components/T2VToolFallback.js.map +1 -0
  71. package/dist/ui/index.d.ts +38 -0
  72. package/dist/ui/index.d.ts.map +1 -0
  73. package/dist/ui/index.js +36 -0
  74. package/dist/ui/index.js.map +1 -0
  75. package/dist/ui/runtime/convertMessage.d.ts +17 -0
  76. package/dist/ui/runtime/convertMessage.d.ts.map +1 -0
  77. package/dist/ui/runtime/convertMessage.js +77 -0
  78. package/dist/ui/runtime/convertMessage.js.map +1 -0
  79. package/dist/ui/runtime/useT2VRuntime.d.ts +42 -0
  80. package/dist/ui/runtime/useT2VRuntime.d.ts.map +1 -0
  81. package/dist/ui/runtime/useT2VRuntime.js +62 -0
  82. package/dist/ui/runtime/useT2VRuntime.js.map +1 -0
  83. package/dist/ui/themes/tailwind-preset.d.ts +43 -0
  84. package/dist/ui/themes/tailwind-preset.d.ts.map +1 -0
  85. package/dist/ui/themes/tailwind-preset.js +43 -0
  86. package/dist/ui/themes/tailwind-preset.js.map +1 -0
  87. package/package.json +18 -2
  88. package/dist/react/ChatInput.d.ts +0 -14
  89. package/dist/react/ChatInput.d.ts.map +0 -1
  90. package/dist/react/ChatInput.js +0 -165
  91. package/dist/react/ChatInput.js.map +0 -1
  92. package/dist/react/ChatMessage.d.ts +0 -10
  93. package/dist/react/ChatMessage.d.ts.map +0 -1
  94. package/dist/react/ChatMessage.js +0 -53
  95. package/dist/react/ChatMessage.js.map +0 -1
  96. package/dist/react/ChatPanel.d.ts +0 -17
  97. package/dist/react/ChatPanel.d.ts.map +0 -1
  98. package/dist/react/ChatPanel.js +0 -401
  99. package/dist/react/ChatPanel.js.map +0 -1
  100. package/dist/react/LoginModal.d.ts.map +0 -1
  101. package/dist/react/LoginModal.js.map +0 -1
  102. package/dist/react/SettingsView.d.ts +0 -9
  103. package/dist/react/SettingsView.d.ts.map +0 -1
  104. package/dist/react/SettingsView.js.map +0 -1
  105. /package/dist/{react → ui/components}/LoginModal.d.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talk2view/sdk",
3
- "version": "0.2.3",
3
+ "version": "0.3.0",
4
4
  "description": "Talk2View SDK — Add AI-powered natural language control to any application",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,6 +15,16 @@
15
15
  "types": "./dist/react/index.d.ts",
16
16
  "import": "./dist/react/index.js",
17
17
  "default": "./dist/react/index.js"
18
+ },
19
+ "./ui": {
20
+ "types": "./dist/ui/index.d.ts",
21
+ "import": "./dist/ui/index.js",
22
+ "default": "./dist/ui/index.js"
23
+ },
24
+ "./assistant-ui": {
25
+ "types": "./dist/ui/index.d.ts",
26
+ "import": "./dist/ui/index.js",
27
+ "default": "./dist/ui/index.js"
18
28
  }
19
29
  },
20
30
  "files": [
@@ -25,15 +35,21 @@
25
35
  "dev": "tsc --watch",
26
36
  "test": "vitest run",
27
37
  "test:watch": "vitest",
38
+ "test:e2e": "playwright test --config playwright.config.ts",
28
39
  "lint": "tsc --noEmit",
29
40
  "typecheck": "tsc --noEmit",
30
41
  "prepublishOnly": "npm run build"
31
42
  },
32
43
  "dependencies": {
44
+ "@assistant-ui/react": "^0.12.19",
45
+ "@assistant-ui/react-markdown": "^0.12.6",
46
+ "@assistant-ui/react-ui": "^0.2.1",
33
47
  "dompurify": "^3.2.0",
34
- "marked": "^15.0.0"
48
+ "marked": "^15.0.0",
49
+ "remark-gfm": "^4.0.1"
35
50
  },
36
51
  "devDependencies": {
52
+ "@playwright/test": "^1.58.2",
37
53
  "@testing-library/react": "^16.0.0",
38
54
  "@types/dompurify": "^3.0.5",
39
55
  "@types/react": "^19.0.0",
@@ -1,14 +0,0 @@
1
- /**
2
- * ChatInput — text input with mic and send buttons.
3
- *
4
- * Voice input uses MediaRecorder + Talk2View's /v1/audio/transcriptions endpoint.
5
- */
6
- export interface ChatInputProps {
7
- onSend: (message: string) => void;
8
- disabled?: boolean;
9
- compact?: boolean;
10
- placeholder?: string;
11
- className?: string;
12
- }
13
- export declare function ChatInput({ onSend, disabled, compact, placeholder, className, }: ChatInputProps): import("react/jsx-runtime").JSX.Element;
14
- //# sourceMappingURL=ChatInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../src/react/ChatInput.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,QAAgB,EAChB,OAAe,EACf,WAAiC,EACjC,SAAc,GACf,EAAE,cAAc,2CAkOhB"}
@@ -1,165 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * ChatInput — text input with mic and send buttons.
4
- *
5
- * Voice input uses MediaRecorder + Talk2View's /v1/audio/transcriptions endpoint.
6
- */
7
- import { useCallback, useRef, useState } from 'react';
8
- import { T2V_ALPHA, T2V_COLORS, T2V_FONTS } from './theme';
9
- import { useT2V } from './T2VProvider';
10
- import { useUserPreferences } from './useUserPreferences';
11
- export function ChatInput({ onSend, disabled = false, compact = false, placeholder = 'Type a message...', className = '', }) {
12
- const { t2v } = useT2V();
13
- const { preferences } = useUserPreferences();
14
- const [value, setValue] = useState('');
15
- const [inputFocused, setInputFocused] = useState(false);
16
- const [btnHover, setBtnHover] = useState(false);
17
- const [micHover, setMicHover] = useState(false);
18
- const [isRecording, setIsRecording] = useState(false);
19
- const [isTranscribing, setIsTranscribing] = useState(false);
20
- const mediaRecorderRef = useRef(null);
21
- const chunksRef = useRef([]);
22
- const canSend = value.trim().length > 0 && !disabled;
23
- const micDisabled = disabled || isTranscribing || !preferences.sttModel;
24
- const handleSubmit = useCallback((e) => {
25
- e.preventDefault();
26
- const trimmed = value.trim();
27
- if (!trimmed || disabled)
28
- return;
29
- onSend(trimmed);
30
- setValue('');
31
- }, [value, disabled, onSend]);
32
- const handleKeyDown = useCallback((e) => {
33
- if (e.key === 'Enter' && !e.shiftKey) {
34
- e.preventDefault();
35
- handleSubmit(e);
36
- }
37
- }, [handleSubmit]);
38
- const transcribeAudio = useCallback(async (audioBlob) => {
39
- setIsTranscribing(true);
40
- try {
41
- const ext = audioBlob.type.includes('mp4') ? 'mp4' : 'webm';
42
- const formData = new FormData();
43
- formData.append('file', audioBlob, `recording.${ext}`);
44
- if (preferences.sttModel) {
45
- formData.append('model', preferences.sttModel);
46
- }
47
- if (preferences.sttLanguage) {
48
- formData.append('language', preferences.sttLanguage);
49
- }
50
- const data = await t2v.transcribe(formData);
51
- const text = data.text?.trim();
52
- if (text) {
53
- onSend(text);
54
- }
55
- }
56
- catch (err) {
57
- console.error('Transcription error:', err);
58
- }
59
- finally {
60
- setIsTranscribing(false);
61
- }
62
- }, [t2v, onSend, preferences.sttModel, preferences.sttLanguage]);
63
- const toggleRecording = useCallback(async () => {
64
- if (isRecording && mediaRecorderRef.current) {
65
- mediaRecorderRef.current.stop();
66
- return;
67
- }
68
- let stream = null;
69
- try {
70
- stream = await navigator.mediaDevices.getUserMedia({ audio: true });
71
- const mediaRecorder = new MediaRecorder(stream);
72
- chunksRef.current = [];
73
- mediaRecorder.ondataavailable = (e) => {
74
- if (e.data.size > 0)
75
- chunksRef.current.push(e.data);
76
- };
77
- mediaRecorder.onstop = () => {
78
- const mimeType = mediaRecorder.mimeType || 'audio/webm';
79
- const audioBlob = new Blob(chunksRef.current, { type: mimeType });
80
- stream.getTracks().forEach((track) => track.stop());
81
- chunksRef.current = [];
82
- mediaRecorderRef.current = null;
83
- setIsRecording(false);
84
- if (audioBlob.size > 0) {
85
- transcribeAudio(audioBlob);
86
- }
87
- };
88
- mediaRecorderRef.current = mediaRecorder;
89
- mediaRecorder.start(1000); // flush chunks every 1s — fixes Safari dropping early audio
90
- setIsRecording(true);
91
- }
92
- catch (err) {
93
- stream?.getTracks().forEach((track) => track.stop());
94
- console.error('Voice recording error:', err);
95
- }
96
- }, [isRecording, transcribeAudio]);
97
- return (_jsxs("form", { onSubmit: handleSubmit, className: `t2v-chat-input ${className}`, style: {
98
- display: 'flex',
99
- gap: compact ? '6px' : '8px',
100
- padding: compact ? '8px' : '12px',
101
- boxSizing: 'border-box',
102
- borderTop: `1px solid ${T2V_COLORS.lightGray}`,
103
- backgroundColor: T2V_COLORS.light,
104
- }, children: [_jsx("input", { type: "text", value: value, onChange: (e) => setValue(e.target.value), onKeyDown: handleKeyDown, onFocus: () => setInputFocused(true), onBlur: () => setInputFocused(false), placeholder: isRecording ? 'Recording...' : isTranscribing ? 'Transcribing...' : placeholder, disabled: disabled, style: {
105
- flex: 1,
106
- minWidth: 0,
107
- padding: compact ? '8px 10px' : '10px 14px',
108
- borderRadius: '8px',
109
- border: `1.5px solid ${inputFocused ? T2V_COLORS.turquoise : T2V_COLORS.lightGray}`,
110
- fontSize: compact ? '13px' : '14px',
111
- fontFamily: T2V_FONTS.body,
112
- outline: 'none',
113
- backgroundColor: disabled ? T2V_COLORS.lightGray : '#ffffff',
114
- color: T2V_COLORS.dark,
115
- boxShadow: inputFocused ? `0 0 0 3px ${T2V_ALPHA.turquoise15}` : 'none',
116
- transition: 'border-color 0.15s ease, box-shadow 0.15s ease',
117
- } }), _jsx("button", { type: "button", onClick: toggleRecording, disabled: micDisabled, onMouseEnter: () => setMicHover(true), onMouseLeave: () => setMicHover(false), style: {
118
- display: 'flex',
119
- alignItems: 'center',
120
- justifyContent: 'center',
121
- width: compact ? '36px' : '42px',
122
- height: compact ? '36px' : '42px',
123
- borderRadius: '8px',
124
- border: 'none',
125
- backgroundColor: isRecording
126
- ? T2V_COLORS.errorRed
127
- : isTranscribing
128
- ? T2V_COLORS.turquoise
129
- : micHover
130
- ? T2V_COLORS.stormyTeal
131
- : T2V_COLORS.lightGray,
132
- color: isRecording || isTranscribing || micHover ? T2V_COLORS.light : T2V_COLORS.midGray,
133
- cursor: micDisabled ? 'not-allowed' : 'pointer',
134
- transition: 'background-color 0.15s ease, transform 0.15s ease',
135
- transform: micHover && !micDisabled ? 'translateY(-1px)' : 'none',
136
- flexShrink: 0,
137
- }, title: !preferences.sttModel ? 'Select a Speech-to-Text model in Settings to enable voice input' : undefined, "aria-label": isRecording ? 'Stop recording' : isTranscribing ? 'Transcribing...' : !preferences.sttModel ? 'Voice input unavailable' : 'Start voice input', children: isTranscribing ? (_jsx("span", { style: {
138
- display: 'inline-block',
139
- width: '16px',
140
- height: '16px',
141
- border: `2px solid ${T2V_COLORS.light}`,
142
- borderTopColor: 'transparent',
143
- borderRadius: '50%',
144
- animation: 't2v-spin 0.6s linear infinite',
145
- } })) : (_jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z" }), _jsx("path", { d: "M19 10v2a7 7 0 0 1-14 0v-2" }), _jsx("line", { x1: "12", y1: "19", x2: "12", y2: "23" }), _jsx("line", { x1: "8", y1: "23", x2: "16", y2: "23" })] })) }), _jsx("button", { type: "submit", disabled: !canSend, onMouseEnter: () => setBtnHover(true), onMouseLeave: () => setBtnHover(false), style: {
146
- display: 'flex',
147
- alignItems: 'center',
148
- justifyContent: 'center',
149
- width: compact ? '36px' : '42px',
150
- height: compact ? '36px' : '42px',
151
- borderRadius: '8px',
152
- border: 'none',
153
- backgroundColor: canSend
154
- ? btnHover
155
- ? T2V_COLORS.stormyTeal
156
- : T2V_COLORS.accent
157
- : T2V_COLORS.lightGray,
158
- color: canSend ? T2V_COLORS.dark : T2V_COLORS.midGray,
159
- cursor: canSend ? 'pointer' : 'not-allowed',
160
- transition: 'background-color 0.15s ease, transform 0.15s ease',
161
- transform: canSend && btnHover ? 'translateY(-1px)' : 'none',
162
- flexShrink: 0,
163
- }, "aria-label": "Send message", children: _jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("line", { x1: "22", y1: "2", x2: "11", y2: "13" }), _jsx("polygon", { points: "22 2 15 22 11 13 2 9 22 2" })] }) })] }));
164
- }
165
- //# sourceMappingURL=ChatInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatInput.js","sourceRoot":"","sources":["../../src/react/ChatInput.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * ChatMessage — renders a single chat message bubble with markdown support.
3
- */
4
- import type { DisplayMessage } from './useT2VChat';
5
- export interface ChatMessageProps {
6
- message: DisplayMessage;
7
- className?: string;
8
- }
9
- export declare function ChatMessage({ message, className }: ChatMessageProps): import("react/jsx-runtime").JSX.Element;
10
- //# sourceMappingURL=ChatMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../src/react/ChatMessage.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMnD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,SAAc,EAAE,EAAE,gBAAgB,2CAqExE"}
@@ -1,53 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * ChatMessage — renders a single chat message bubble with markdown support.
4
- */
5
- import DOMPurify from 'dompurify';
6
- import { marked } from 'marked';
7
- import { useMemo } from 'react';
8
- import { T2V_ALPHA, T2V_COLORS, T2V_FONTS } from './theme';
9
- // Configure marked for inline-friendly output
10
- marked.setOptions({ breaks: true, gfm: true });
11
- export function ChatMessage({ message, className = '' }) {
12
- const isUser = message.role === 'user';
13
- const time = message.timestamp.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
14
- const htmlContent = useMemo(() => {
15
- if (isUser || !message.content)
16
- return '';
17
- const raw = marked.parse(message.content);
18
- if (typeof raw !== 'string')
19
- return '';
20
- return DOMPurify.sanitize(raw);
21
- }, [isUser, message.content]);
22
- return (_jsx("div", { className: `t2v-message t2v-message--${message.role} ${className}`, style: {
23
- display: 'flex',
24
- justifyContent: isUser ? 'flex-end' : 'flex-start',
25
- marginBottom: '12px',
26
- animation: 't2v-fade-in 0.25s ease-out',
27
- }, children: _jsxs("div", { style: {
28
- maxWidth: '80%',
29
- padding: '10px 14px',
30
- borderRadius: isUser ? '14px 14px 4px 14px' : '14px 14px 14px 4px',
31
- backgroundColor: isUser ? T2V_ALPHA.turquoise15 : T2V_ALPHA.turquoise08,
32
- color: T2V_COLORS.dark,
33
- fontSize: '14px',
34
- fontFamily: T2V_FONTS.body,
35
- lineHeight: '1.55',
36
- wordBreak: 'break-word',
37
- ...(isUser ? { whiteSpace: 'pre-wrap' } : {}),
38
- }, children: [isUser ? (_jsx("div", { children: message.content })) : (_jsx("div", { className: "t2v-markdown", dangerouslySetInnerHTML: { __html: htmlContent } })), message.isStreaming && (_jsx("span", { style: {
39
- display: 'inline-block',
40
- width: '2px',
41
- height: '14px',
42
- backgroundColor: T2V_COLORS.turquoise,
43
- marginLeft: '2px',
44
- animation: 't2v-blink 1s infinite',
45
- } })), _jsx("div", { style: {
46
- fontSize: '10px',
47
- fontFamily: T2V_FONTS.heading,
48
- color: T2V_COLORS.midGray,
49
- marginTop: '4px',
50
- textAlign: 'right',
51
- }, children: time })] }) }));
52
- }
53
- //# sourceMappingURL=ChatMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../src/react/ChatMessage.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * ChatPanel — self-contained, embeddable chat panel with tool support.
3
- *
4
- * Drop-in chat UI that handles authentication, tool registration,
5
- * streaming, and the full interrupt/resume cycle.
6
- */
7
- import React from 'react';
8
- import type { ClientTool } from '../types';
9
- export interface ChatPanelProps {
10
- tools?: ClientTool[];
11
- systemPrompt?: string;
12
- signupUrl?: string;
13
- className?: string;
14
- style?: React.CSSProperties;
15
- }
16
- export declare function ChatPanel({ tools, systemPrompt, signupUrl, className, style, }: ChatPanelProps): import("react/jsx-runtime").JSX.Element;
17
- //# sourceMappingURL=ChatPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../src/react/ChatPanel.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAmD,MAAM,OAAO,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAqB3C,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAU,EACV,YAAY,EACZ,SAAS,EACT,SAAc,EACd,KAAK,GACN,EAAE,cAAc,2CAunBhB"}