@townco/ui 0.1.17 → 0.1.19

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 (214) hide show
  1. package/dist/core/hooks/use-chat-input.d.ts +17 -17
  2. package/dist/core/hooks/use-chat-input.js +55 -64
  3. package/dist/core/hooks/use-chat-messages.js +114 -121
  4. package/dist/core/hooks/use-chat-session.d.ts +1 -1
  5. package/dist/core/hooks/use-chat-session.js +80 -78
  6. package/dist/gui/components/Button.d.ts +7 -23
  7. package/dist/gui/components/Button.js +27 -40
  8. package/dist/gui/components/Card.d.ts +7 -26
  9. package/dist/gui/components/Card.js +8 -54
  10. package/dist/gui/components/ChatEmptyState.d.ts +18 -0
  11. package/dist/gui/components/ChatEmptyState.js +22 -0
  12. package/dist/gui/components/ChatInput.js +29 -1
  13. package/dist/gui/components/ChatLayout.js +2 -2
  14. package/dist/gui/components/ChatSecondaryPanel.d.ts +25 -14
  15. package/dist/gui/components/ChatSecondaryPanel.js +60 -115
  16. package/dist/gui/components/ChatStatus.d.ts +2 -4
  17. package/dist/gui/components/ChatStatus.js +34 -45
  18. package/dist/gui/components/Conversation.d.ts +14 -17
  19. package/dist/gui/components/Conversation.js +83 -143
  20. package/dist/gui/components/Dialog.d.ts +11 -57
  21. package/dist/gui/components/HeightTransition.d.ts +7 -12
  22. package/dist/gui/components/HeightTransition.js +77 -88
  23. package/dist/gui/components/Input.d.ts +6 -13
  24. package/dist/gui/components/Input.js +16 -27
  25. package/dist/gui/components/Label.d.ts +1 -7
  26. package/dist/gui/components/MarkdownRenderer.d.ts +4 -6
  27. package/dist/gui/components/MarkdownRenderer.js +81 -178
  28. package/dist/gui/components/Message.d.ts +1 -1
  29. package/dist/gui/components/MessageContent.d.ts +22 -29
  30. package/dist/gui/components/PanelTabsHeader.d.ts +17 -0
  31. package/dist/gui/components/PanelTabsHeader.js +31 -0
  32. package/dist/gui/components/Reasoning.d.ts +24 -30
  33. package/dist/gui/components/Reasoning.js +60 -187
  34. package/dist/gui/components/Response.d.ts +9 -11
  35. package/dist/gui/components/Response.js +90 -229
  36. package/dist/gui/components/Select.d.ts +10 -69
  37. package/dist/gui/components/Tabs.d.ts +4 -24
  38. package/dist/gui/components/Task.d.ts +24 -28
  39. package/dist/gui/components/Task.js +31 -164
  40. package/dist/gui/components/Textarea.d.ts +7 -15
  41. package/dist/gui/components/Textarea.js +46 -63
  42. package/dist/gui/components/ThinkingBlock.d.ts +10 -20
  43. package/dist/gui/components/ThinkingBlock.js +35 -134
  44. package/dist/gui/components/TodoList.d.ts +10 -12
  45. package/dist/gui/components/TodoList.js +7 -22
  46. package/dist/gui/components/TodoListItem.d.ts +6 -9
  47. package/dist/gui/components/TodoListItem.js +4 -18
  48. package/dist/gui/components/index.d.ts +2 -0
  49. package/dist/gui/components/index.js +2 -0
  50. package/dist/gui/lib/utils.js +1 -1
  51. package/dist/index.test.js +1 -0
  52. package/dist/sdk/client/acp-client.d.ts +76 -88
  53. package/dist/sdk/client/acp-client.js +217 -215
  54. package/dist/sdk/schemas/agent.d.ts +64 -111
  55. package/dist/sdk/schemas/agent.js +24 -24
  56. package/dist/sdk/schemas/message.d.ts +147 -245
  57. package/dist/sdk/schemas/message.js +40 -40
  58. package/dist/sdk/schemas/session.d.ts +6 -6
  59. package/dist/sdk/transports/http.d.ts +55 -55
  60. package/dist/sdk/transports/http.js +3 -3
  61. package/dist/sdk/transports/stdio.d.ts +20 -20
  62. package/dist/sdk/transports/types.d.ts +42 -42
  63. package/dist/sdk/transports/websocket.d.ts +12 -12
  64. package/dist/sdk/transports/websocket.js +46 -52
  65. package/dist/tui/components/ChatView.d.ts +2 -4
  66. package/dist/tui/components/GameOfLife.js +35 -64
  67. package/dist/tui/components/InputBox.d.ts +11 -18
  68. package/dist/tui/components/InputBox.js +10 -70
  69. package/dist/tui/components/ReadlineInput.d.ts +6 -12
  70. package/dist/tui/components/ReadlineInput.js +237 -252
  71. package/dist/tui/components/SingleSelect.d.ts +9 -15
  72. package/dist/tui/components/SingleSelect.js +43 -84
  73. package/dist/tui/components/StatusBar.d.ts +6 -11
  74. package/dist/tui/components/StatusBar.js +67 -102
  75. package/package.json +2 -2
  76. package/src/styles/global.css +64 -0
  77. package/dist/core/hooks/index.d.ts.map +0 -1
  78. package/dist/core/hooks/index.js.map +0 -1
  79. package/dist/core/hooks/use-chat-input.d.ts.map +0 -1
  80. package/dist/core/hooks/use-chat-input.js.map +0 -1
  81. package/dist/core/hooks/use-chat-messages.d.ts.map +0 -1
  82. package/dist/core/hooks/use-chat-messages.js.map +0 -1
  83. package/dist/core/hooks/use-chat-session.d.ts.map +0 -1
  84. package/dist/core/hooks/use-chat-session.js.map +0 -1
  85. package/dist/core/index.d.ts.map +0 -1
  86. package/dist/core/index.js.map +0 -1
  87. package/dist/core/schemas/chat.d.ts.map +0 -1
  88. package/dist/core/schemas/chat.js.map +0 -1
  89. package/dist/core/schemas/index.d.ts.map +0 -1
  90. package/dist/core/schemas/index.js.map +0 -1
  91. package/dist/core/store/chat-store.d.ts.map +0 -1
  92. package/dist/core/store/chat-store.js.map +0 -1
  93. package/dist/gui/components/Button.d.ts.map +0 -1
  94. package/dist/gui/components/Button.js.map +0 -1
  95. package/dist/gui/components/Card.d.ts.map +0 -1
  96. package/dist/gui/components/Card.js.map +0 -1
  97. package/dist/gui/components/ChatInput.d.ts.map +0 -1
  98. package/dist/gui/components/ChatInput.js.map +0 -1
  99. package/dist/gui/components/ChatInterface.d.ts +0 -12
  100. package/dist/gui/components/ChatInterface.d.ts.map +0 -1
  101. package/dist/gui/components/ChatInterface.js +0 -204
  102. package/dist/gui/components/ChatInterface.js.map +0 -1
  103. package/dist/gui/components/ChatPreview.d.ts +0 -12
  104. package/dist/gui/components/ChatPreview.d.ts.map +0 -1
  105. package/dist/gui/components/ChatPreview.js +0 -214
  106. package/dist/gui/components/ChatPreview.js.map +0 -1
  107. package/dist/gui/components/ChatSecondaryPanel.d.ts.map +0 -1
  108. package/dist/gui/components/ChatSecondaryPanel.js.map +0 -1
  109. package/dist/gui/components/ChatStatus.d.ts.map +0 -1
  110. package/dist/gui/components/ChatStatus.js.map +0 -1
  111. package/dist/gui/components/ChatView.d.ts +0 -8
  112. package/dist/gui/components/ChatView.d.ts.map +0 -1
  113. package/dist/gui/components/ChatView.js +0 -42
  114. package/dist/gui/components/ChatView.js.map +0 -1
  115. package/dist/gui/components/ConfigPanel.d.ts +0 -20
  116. package/dist/gui/components/ConfigPanel.d.ts.map +0 -1
  117. package/dist/gui/components/ConfigPanel.js +0 -225
  118. package/dist/gui/components/ConfigPanel.js.map +0 -1
  119. package/dist/gui/components/Conversation.d.ts.map +0 -1
  120. package/dist/gui/components/Conversation.js.map +0 -1
  121. package/dist/gui/components/Dialog.d.ts.map +0 -1
  122. package/dist/gui/components/Dialog.js.map +0 -1
  123. package/dist/gui/components/HeightTransition.d.ts.map +0 -1
  124. package/dist/gui/components/HeightTransition.js.map +0 -1
  125. package/dist/gui/components/Input.d.ts.map +0 -1
  126. package/dist/gui/components/Input.js.map +0 -1
  127. package/dist/gui/components/InputBox.d.ts +0 -21
  128. package/dist/gui/components/InputBox.d.ts.map +0 -1
  129. package/dist/gui/components/InputBox.js +0 -90
  130. package/dist/gui/components/InputBox.js.map +0 -1
  131. package/dist/gui/components/Label.d.ts.map +0 -1
  132. package/dist/gui/components/Label.js.map +0 -1
  133. package/dist/gui/components/MarkdownRenderer.d.ts.map +0 -1
  134. package/dist/gui/components/MarkdownRenderer.js.map +0 -1
  135. package/dist/gui/components/Message.d.ts.map +0 -1
  136. package/dist/gui/components/Message.js.map +0 -1
  137. package/dist/gui/components/MessageContent.d.ts.map +0 -1
  138. package/dist/gui/components/MessageContent.js.map +0 -1
  139. package/dist/gui/components/MessageList.d.ts.map +0 -1
  140. package/dist/gui/components/MessageList.js.map +0 -1
  141. package/dist/gui/components/PlaygroundLayout.d.ts +0 -14
  142. package/dist/gui/components/PlaygroundLayout.d.ts.map +0 -1
  143. package/dist/gui/components/PlaygroundLayout.js +0 -49
  144. package/dist/gui/components/PlaygroundLayout.js.map +0 -1
  145. package/dist/gui/components/Reasoning.d.ts.map +0 -1
  146. package/dist/gui/components/Reasoning.js.map +0 -1
  147. package/dist/gui/components/Response.d.ts.map +0 -1
  148. package/dist/gui/components/Response.js.map +0 -1
  149. package/dist/gui/components/Select.d.ts.map +0 -1
  150. package/dist/gui/components/Select.js.map +0 -1
  151. package/dist/gui/components/StatusBar.d.ts +0 -12
  152. package/dist/gui/components/StatusBar.d.ts.map +0 -1
  153. package/dist/gui/components/StatusBar.js +0 -58
  154. package/dist/gui/components/StatusBar.js.map +0 -1
  155. package/dist/gui/components/Tabs.d.ts.map +0 -1
  156. package/dist/gui/components/Tabs.js.map +0 -1
  157. package/dist/gui/components/Task.d.ts.map +0 -1
  158. package/dist/gui/components/Task.js.map +0 -1
  159. package/dist/gui/components/Textarea.d.ts.map +0 -1
  160. package/dist/gui/components/Textarea.js.map +0 -1
  161. package/dist/gui/components/ThinkingBlock.d.ts.map +0 -1
  162. package/dist/gui/components/ThinkingBlock.js.map +0 -1
  163. package/dist/gui/components/TodoList.d.ts.map +0 -1
  164. package/dist/gui/components/TodoList.js.map +0 -1
  165. package/dist/gui/components/TodoListItem.d.ts.map +0 -1
  166. package/dist/gui/components/TodoListItem.js.map +0 -1
  167. package/dist/gui/components/index.d.ts.map +0 -1
  168. package/dist/gui/components/index.js.map +0 -1
  169. package/dist/gui/index.d.ts.map +0 -1
  170. package/dist/gui/index.js.map +0 -1
  171. package/dist/gui/lib/utils.d.ts.map +0 -1
  172. package/dist/gui/lib/utils.js.map +0 -1
  173. package/dist/index.d.ts.map +0 -1
  174. package/dist/index.js.map +0 -1
  175. package/dist/sdk/client/acp-client.d.ts.map +0 -1
  176. package/dist/sdk/client/acp-client.js.map +0 -1
  177. package/dist/sdk/client/index.d.ts.map +0 -1
  178. package/dist/sdk/client/index.js.map +0 -1
  179. package/dist/sdk/index.d.ts.map +0 -1
  180. package/dist/sdk/index.js.map +0 -1
  181. package/dist/sdk/schemas/agent.d.ts.map +0 -1
  182. package/dist/sdk/schemas/agent.js.map +0 -1
  183. package/dist/sdk/schemas/index.d.ts.map +0 -1
  184. package/dist/sdk/schemas/index.js.map +0 -1
  185. package/dist/sdk/schemas/message.d.ts.map +0 -1
  186. package/dist/sdk/schemas/message.js.map +0 -1
  187. package/dist/sdk/schemas/session.d.ts.map +0 -1
  188. package/dist/sdk/schemas/session.js.map +0 -1
  189. package/dist/sdk/transports/http.d.ts.map +0 -1
  190. package/dist/sdk/transports/http.js.map +0 -1
  191. package/dist/sdk/transports/index.d.ts.map +0 -1
  192. package/dist/sdk/transports/index.js.map +0 -1
  193. package/dist/sdk/transports/stdio.d.ts.map +0 -1
  194. package/dist/sdk/transports/stdio.js.map +0 -1
  195. package/dist/sdk/transports/types.d.ts.map +0 -1
  196. package/dist/sdk/transports/types.js.map +0 -1
  197. package/dist/sdk/transports/websocket.d.ts.map +0 -1
  198. package/dist/sdk/transports/websocket.js.map +0 -1
  199. package/dist/tui/components/ChatView.d.ts.map +0 -1
  200. package/dist/tui/components/ChatView.js.map +0 -1
  201. package/dist/tui/components/GameOfLife.d.ts.map +0 -1
  202. package/dist/tui/components/GameOfLife.js.map +0 -1
  203. package/dist/tui/components/InputBox.d.ts.map +0 -1
  204. package/dist/tui/components/InputBox.js.map +0 -1
  205. package/dist/tui/components/MessageList.d.ts.map +0 -1
  206. package/dist/tui/components/MessageList.js.map +0 -1
  207. package/dist/tui/components/ReadlineInput.d.ts.map +0 -1
  208. package/dist/tui/components/ReadlineInput.js.map +0 -1
  209. package/dist/tui/components/StatusBar.d.ts.map +0 -1
  210. package/dist/tui/components/StatusBar.js.map +0 -1
  211. package/dist/tui/components/index.d.ts.map +0 -1
  212. package/dist/tui/components/index.js.map +0 -1
  213. package/dist/tui/index.d.ts.map +0 -1
  214. package/dist/tui/index.js.map +0 -1
@@ -1,204 +0,0 @@
1
- import { ChevronDown } from "lucide-react";
2
- import { useEffect, useState } from "react";
3
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- import { ChatInput } from "./ChatInput.js";
5
- import { ChatSecondaryPanel } from "./ChatSecondaryPanel.js";
6
- import { ChatStatus } from "./ChatStatus.js";
7
- import { HeightTransition } from "./HeightTransition.js";
8
- import { MessageList } from "./MessageList.js";
9
-
10
- const SAMPLE_TODOS = [
11
- {
12
- id: "1",
13
- text: "Identify the last 25 Winter Olympics host countries",
14
- status: "completed",
15
- },
16
- {
17
- id: "2",
18
- text: "For each host country, find the tallest mountain",
19
- status: "in_progress",
20
- },
21
- {
22
- id: "3",
23
- text: "Gather key details for each mountain (name, elevation, location)",
24
- status: "pending",
25
- },
26
- {
27
- id: "4",
28
- text: "Verify information using reliable sources (geographical databases, official records)",
29
- status: "pending",
30
- },
31
- {
32
- id: "5",
33
- text: "Compile findings into a summary table or document",
34
- status: "pending",
35
- },
36
- ];
37
- const SAMPLE_MESSAGES = [
38
- {
39
- id: "msg-1",
40
- role: "user",
41
- content: "Hello! Can you help me understand how to use markdown?",
42
- timestamp: new Date().toISOString(),
43
- isStreaming: false,
44
- },
45
- {
46
- id: "msg-2",
47
- role: "assistant",
48
- content: `Sure! Markdown is a lightweight markup language. Here are some basics:
49
-
50
- ## Headings
51
- Use \`#\` for headings. More \`#\` symbols make smaller headings.
52
-
53
- ## Lists
54
- - Unordered lists use dashes
55
- - Or asterisks
56
- - Or plus signs
57
-
58
- 1. Ordered lists
59
- 2. Use numbers
60
- 3. Like this
61
-
62
- ## Code
63
- Inline code uses \`backticks\` and code blocks use triple backticks:
64
-
65
- \`\`\`javascript
66
- function hello() {
67
- console.log("Hello world!");
68
- }
69
- \`\`\`
70
-
71
- ## Links and emphasis
72
- [This is a link](https://example.com)
73
-
74
- You can make text **bold** or *italic*.
75
-
76
- > Blockquotes use the > character
77
-
78
- ## Tables
79
- | Header 1 | Header 2 |
80
- |----------|----------|
81
- | Cell 1 | Cell 2 |
82
- | Cell 3 | Cell 4 |`,
83
- timestamp: new Date().toISOString(),
84
- isStreaming: false,
85
- metadata: {
86
- thinking: "Let me provide a comprehensive overview of markdown syntax...",
87
- },
88
- },
89
- {
90
- id: "msg-3",
91
- role: "user",
92
- content: "That's really helpful, thank you!",
93
- timestamp: new Date().toISOString(),
94
- isStreaming: false,
95
- },
96
- ];
97
- export function ChatInterface({
98
- initialMessages = SAMPLE_MESSAGES,
99
- thinkingDisplayStyle = "collapsible",
100
- status = "Connected",
101
- }) {
102
- const [messages, setMessages] = useState(initialMessages);
103
- const [currentStatus, setCurrentStatus] = useState(status);
104
- const [config, setConfig] = useState(null);
105
- const [isHeaderExpanded, setIsHeaderExpanded] = useState(false);
106
- const [todos] = useState(SAMPLE_TODOS);
107
- // Listen for config and status updates from parent window
108
- useEffect(() => {
109
- const handleMessage = (event) => {
110
- if (event.data.type === "CONFIG_UPDATE") {
111
- const newConfig = event.data.config;
112
- setConfig(newConfig);
113
- applyConfigToDocument(newConfig);
114
- } else if (event.data.type === "STATUS_UPDATE") {
115
- setCurrentStatus(event.data.status);
116
- }
117
- };
118
- window.addEventListener("message", handleMessage);
119
- // Request config from parent on mount
120
- if (window.parent !== window) {
121
- window.parent.postMessage({ type: "REQUEST_CONFIG" }, "*");
122
- }
123
- return () => {
124
- window.removeEventListener("message", handleMessage);
125
- };
126
- }, []);
127
- const applyConfigToDocument = (cfg) => {
128
- const root = document.documentElement;
129
- root.setAttribute("data-theme", cfg.colorScheme);
130
- root.style.setProperty("--color-accent", cfg.accentColor);
131
- root.style.setProperty("--font-family", cfg.typography);
132
- root.style.setProperty("--font-size", `${cfg.fontSize}px`);
133
- };
134
- return _jsxs("div", {
135
- className:
136
- "flex flex-col h-screen bg-[var(--color-bg)] text-[var(--color-text)]",
137
- children: [
138
- _jsxs("div", {
139
- className:
140
- "relative border-b border-[var(--color-border)] bg-[var(--color-surface)] z-10",
141
- children: [
142
- _jsxs("div", {
143
- className: "flex items-center justify-between px-6 py-4",
144
- children: [
145
- _jsx("h1", {
146
- className: "text-xl font-semibold m-0",
147
- children: "Chat Interface",
148
- }),
149
- _jsxs("div", {
150
- className: "flex items-center gap-3",
151
- children: [
152
- _jsx(ChatStatus, { children: currentStatus }),
153
- _jsx("button", {
154
- onClick: () => setIsHeaderExpanded(!isHeaderExpanded),
155
- className:
156
- "p-1 rounded hover:bg-[var(--color-bg)] transition-colors",
157
- "aria-label": isHeaderExpanded
158
- ? "Collapse header"
159
- : "Expand header",
160
- children: _jsx(ChevronDown, {
161
- className: `w-5 h-5 text-[var(--color-text)] transition-transform duration-200 ${isHeaderExpanded ? "rotate-180" : ""}`,
162
- }),
163
- }),
164
- ],
165
- }),
166
- ],
167
- }),
168
- _jsx("div", {
169
- className: "absolute top-full left-0 right-0 z-20",
170
- children: _jsx(HeightTransition, {
171
- children:
172
- isHeaderExpanded &&
173
- _jsx("div", {
174
- className:
175
- "bg-[var(--color-surface)] border-b border-[var(--color-border)] px-6 py-4 shadow-lg",
176
- children: _jsx(ChatSecondaryPanel, { todos: todos }),
177
- }),
178
- }),
179
- }),
180
- ],
181
- }),
182
- _jsx("div", {
183
- className: "flex-1 overflow-y-auto py-4",
184
- children: _jsx(MessageList, {
185
- messages: messages,
186
- thinkingDisplayStyle:
187
- config?.thinkingDisplayStyle || thinkingDisplayStyle,
188
- }),
189
- }),
190
- _jsx("div", {
191
- className:
192
- "border-t border-[var(--color-border)] px-6 py-4 bg-[var(--color-surface)]",
193
- children: _jsx(ChatInput, {
194
- value: "",
195
- onChange: () => {},
196
- onSubmit: () => {},
197
- disabled: true,
198
- placeholder: "Type a message...",
199
- }),
200
- }),
201
- ],
202
- });
203
- }
204
- //# sourceMappingURL=ChatInterface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatInterface.js","sourceRoot":"","sources":["../../../src/gui/components/ChatInterface.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { ThemeConfig } from "./ConfigPanel.js";
2
- interface ChatPreviewProps {
3
- config: ThemeConfig;
4
- status: string;
5
- iframeSrc?: string;
6
- }
7
- export declare function ChatPreview({
8
- config,
9
- status,
10
- iframeSrc,
11
- }: ChatPreviewProps): import("react/jsx-runtime").JSX.Element;
12
- //# sourceMappingURL=ChatPreview.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatPreview.d.ts","sourceRoot":"","sources":["../../../src/gui/components/ChatPreview.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,UAAU,gBAAgB;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,MAAM,EACN,SAA8B,GAC/B,EAAE,gBAAgB,2CA2OlB"}
@@ -1,214 +0,0 @@
1
- import { useEffect, useRef, useState } from "react";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- export function ChatPreview({
4
- config,
5
- status,
6
- iframeSrc = "/chat-standalone",
7
- }) {
8
- const iframeRef = useRef(null);
9
- const containerRef = useRef(null);
10
- const [dimensions, setDimensions] = useState({
11
- width: 800,
12
- height: 600,
13
- });
14
- const [isResizing, setIsResizing] = useState({
15
- horizontal: false,
16
- vertical: false,
17
- });
18
- const resizeStartRef = useRef({ x: 0, y: 0, width: 0, height: 0 });
19
- const isResizingRef = useRef({
20
- horizontal: false,
21
- vertical: false,
22
- });
23
- const resizeHandlersRef = useRef({
24
- mouseMove: null,
25
- mouseUp: null,
26
- mouseLeave: null,
27
- });
28
- const sendConfigToIframe = (configToSend) => {
29
- const iframe = iframeRef.current;
30
- if (iframe?.contentWindow) {
31
- iframe.contentWindow.postMessage(
32
- {
33
- type: "CONFIG_UPDATE",
34
- config: configToSend,
35
- },
36
- "*",
37
- );
38
- }
39
- };
40
- const sendStatusToIframe = (statusToSend) => {
41
- const iframe = iframeRef.current;
42
- if (iframe?.contentWindow) {
43
- iframe.contentWindow.postMessage(
44
- {
45
- type: "STATUS_UPDATE",
46
- status: statusToSend,
47
- },
48
- "*",
49
- );
50
- }
51
- };
52
- useEffect(() => {
53
- const iframe = iframeRef.current;
54
- if (!iframe) return;
55
- const handleMessage = (event) => {
56
- if (event.data && event.data.type === "REQUEST_CONFIG") {
57
- sendConfigToIframe(config);
58
- }
59
- };
60
- window.addEventListener("message", handleMessage);
61
- // Send initial config and status when iframe loads
62
- const handleLoad = () => {
63
- sendConfigToIframe(config);
64
- sendStatusToIframe(status);
65
- };
66
- iframe.addEventListener("load", handleLoad);
67
- return () => {
68
- window.removeEventListener("message", handleMessage);
69
- iframe.removeEventListener("load", handleLoad);
70
- };
71
- }, [config, status]);
72
- // Update iframe when config changes (after initial load)
73
- useEffect(() => {
74
- const iframe = iframeRef.current;
75
- // Only send if iframe is already loaded
76
- if (
77
- iframe?.contentWindow &&
78
- iframe.contentDocument?.readyState === "complete"
79
- ) {
80
- sendConfigToIframe(config);
81
- }
82
- }, [config]);
83
- // Update iframe when status changes (after initial load)
84
- useEffect(() => {
85
- const iframe = iframeRef.current;
86
- // Only send if iframe is already loaded
87
- if (
88
- iframe?.contentWindow &&
89
- iframe.contentDocument?.readyState === "complete"
90
- ) {
91
- sendStatusToIframe(status);
92
- }
93
- }, [status]);
94
- // Sync ref with state for UI updates
95
- useEffect(() => {
96
- isResizingRef.current = isResizing;
97
- }, [isResizing]);
98
- // Cleanup on unmount
99
- useEffect(() => {
100
- return () => {
101
- stopResizing();
102
- };
103
- }, []);
104
- const stopResizing = () => {
105
- const handlers = resizeHandlersRef.current;
106
- if (handlers.mouseMove) {
107
- window.removeEventListener("mousemove", handlers.mouseMove);
108
- }
109
- if (handlers.mouseUp) {
110
- window.removeEventListener("mouseup", handlers.mouseUp, true);
111
- }
112
- if (handlers.mouseLeave) {
113
- document.removeEventListener("mouseleave", handlers.mouseLeave);
114
- }
115
- setIsResizing({ horizontal: false, vertical: false });
116
- isResizingRef.current = { horizontal: false, vertical: false };
117
- resizeHandlersRef.current = {
118
- mouseMove: null,
119
- mouseUp: null,
120
- mouseLeave: null,
121
- };
122
- };
123
- const handleResizeStart = (direction, e) => {
124
- e.preventDefault();
125
- e.stopPropagation();
126
- // Clean up any existing listeners first
127
- stopResizing();
128
- const resizeState =
129
- direction === "horizontal"
130
- ? { horizontal: true, vertical: false }
131
- : { horizontal: false, vertical: true };
132
- setIsResizing(resizeState);
133
- isResizingRef.current = resizeState;
134
- resizeStartRef.current = {
135
- x: e.clientX,
136
- y: e.clientY,
137
- width: dimensions.width,
138
- height: dimensions.height,
139
- };
140
- const handleMouseMove = (e) => {
141
- if (
142
- !isResizingRef.current.horizontal &&
143
- !isResizingRef.current.vertical
144
- ) {
145
- return;
146
- }
147
- const deltaX = e.clientX - resizeStartRef.current.x;
148
- const deltaY = e.clientY - resizeStartRef.current.y;
149
- let newWidth = resizeStartRef.current.width;
150
- let newHeight = resizeStartRef.current.height;
151
- if (isResizingRef.current.horizontal) {
152
- newWidth = Math.max(
153
- 400,
154
- Math.min(1200, resizeStartRef.current.width + deltaX),
155
- );
156
- }
157
- if (isResizingRef.current.vertical) {
158
- newHeight = Math.max(
159
- 300,
160
- Math.min(900, resizeStartRef.current.height + deltaY),
161
- );
162
- }
163
- setDimensions({ width: newWidth, height: newHeight });
164
- };
165
- const handleMouseUp = (e) => {
166
- e.preventDefault();
167
- e.stopPropagation();
168
- stopResizing();
169
- };
170
- const handleMouseLeave = () => {
171
- // If mouse leaves window during resize, stop resizing
172
- stopResizing();
173
- };
174
- // Store handlers for cleanup
175
- resizeHandlersRef.current = {
176
- mouseMove: handleMouseMove,
177
- mouseUp: handleMouseUp,
178
- mouseLeave: handleMouseLeave,
179
- };
180
- // Use capture phase to ensure we catch events even if they bubble
181
- window.addEventListener("mousemove", handleMouseMove);
182
- window.addEventListener("mouseup", handleMouseUp, { capture: true });
183
- document.addEventListener("mouseleave", handleMouseLeave);
184
- };
185
- return _jsxs("div", {
186
- ref: containerRef,
187
- className:
188
- "relative rounded-xl overflow-visible bg-[var(--color-surface)] shadow-lg min-w-[400px] min-h-[300px]",
189
- style: {
190
- width: `${dimensions.width}px`,
191
- height: `${dimensions.height}px`,
192
- },
193
- children: [
194
- _jsx("iframe", {
195
- ref: iframeRef,
196
- src: iframeSrc,
197
- className:
198
- "w-full h-full rounded-xl border-1 border-[var(--color-border)] block",
199
- title: "Chat Preview",
200
- }),
201
- _jsx("div", {
202
- className:
203
- "absolute -right-4 top-1/2 -translate-y-1/2 w-1.5 h-10 rounded-full bg-black/20 cursor-ew-resize hover:opacity-80 transition-opacity",
204
- onMouseDown: (e) => handleResizeStart("horizontal", e),
205
- }),
206
- _jsx("div", {
207
- className:
208
- "absolute -bottom-4 left-1/2 -translate-x-1/2 w-10 h-1.5 rounded-full bg-black/20 cursor-ns-resize hover:opacity-80 transition-opacity",
209
- onMouseDown: (e) => handleResizeStart("vertical", e),
210
- }),
211
- ],
212
- });
213
- }
214
- //# sourceMappingURL=ChatPreview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatPreview.js","sourceRoot":"","sources":["../../../src/gui/components/ChatPreview.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatSecondaryPanel.d.ts","sourceRoot":"","sources":["../../../src/gui/components/ChatSecondaryPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAG3D;;;;GAIG;AACH,MAAM,WAAW,uBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5C;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAE1B;;;OAGG;IACH,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,gGAwG7B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatSecondaryPanel.js","sourceRoot":"","sources":["../../../src/gui/components/ChatSecondaryPanel.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatStatus.d.ts","sourceRoot":"","sources":["../../../src/gui/components/ChatStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGpE,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IAC5E,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,UAAU,yFAqDtB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatStatus.js","sourceRoot":"","sources":["../../../src/gui/components/ChatStatus.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAMrC,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CACxC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACzC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACb,mCAAmC;QACnC,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC9B,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;YAClC,kBAAkB,CAAC,OAAO,GAAG,QAAQ,CAAC;YACtC,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,IAAI,kBAAkB,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,6CAA6C;QAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5B,kBAAkB,CAAC,OAAO,GAAG,QAAQ,CAAC;YAEtC,kBAAkB;YAClB,qBAAqB,CAAC,GAAG,EAAE;gBACzB,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,4CAA4C;QAErD,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,eACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,6EAA6E,EAC7E,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EAC5C,SAAS,CACV,KACG,KAAK,YAER,cAAc,GACV,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AACF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { AcpClient } from "@agent-hub/sdk";
2
- export interface ChatViewProps {
3
- client: AcpClient | null;
4
- }
5
- export declare function ChatView({
6
- client,
7
- }: ChatViewProps): import("react/jsx-runtime").JSX.Element;
8
- //# sourceMappingURL=ChatView.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatView.d.ts","sourceRoot":"","sources":["../../../src/gui/components/ChatView.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;CAC1B;AAED,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa,2CAoCjD"}
@@ -1,42 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import {
3
- useChatInput,
4
- useChatMessages,
5
- useChatSession,
6
- } from "../../core/index.js";
7
- import { InputBox } from "./InputBox.js";
8
- import { MessageList } from "./MessageList.js";
9
- import { StatusBar } from "./StatusBar.js";
10
- export function ChatView({ client }) {
11
- // Use headless hooks for business logic (same as TUI!)
12
- const { connectionStatus, sessionId } = useChatSession(client);
13
- const { messages, isStreaming } = useChatMessages(client);
14
- const {
15
- value,
16
- isSubmitting,
17
- attachedFiles,
18
- onChange,
19
- onSubmit,
20
- onRemoveFile,
21
- } = useChatInput(client);
22
- return _jsxs("div", {
23
- className: "flex flex-col h-screen bg-gray-50",
24
- children: [
25
- _jsx(StatusBar, {
26
- connectionStatus: connectionStatus,
27
- sessionId: sessionId,
28
- isStreaming: isStreaming,
29
- }),
30
- _jsx(MessageList, { messages: messages }),
31
- _jsx(InputBox, {
32
- value: value,
33
- isSubmitting: isSubmitting,
34
- attachedFiles: attachedFiles,
35
- onChange: onChange,
36
- onSubmit: onSubmit,
37
- onRemoveFile: onRemoveFile,
38
- }),
39
- ],
40
- });
41
- }
42
- //# sourceMappingURL=ChatView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatView.js","sourceRoot":"","sources":["../../../src/gui/components/ChatView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,qBAAqB,CAAC;AAO7B,MAAM,UAAU,QAAQ,CAAC,EAAE,MAAM,EAAiB;IAChD,uDAAuD;IACvD,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,YAAY,GACb,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEzB,OAAO,CACL,eAAK,SAAS,EAAC,mCAAmC,aAEhD,KAAC,SAAS,IACR,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,GACxB,EAGF,KAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAGnC,KAAC,QAAQ,IACP,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,GAC1B,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -1,20 +0,0 @@
1
- export interface ThemeConfig {
2
- colorScheme: "light" | "dark";
3
- accentColor: string;
4
- typography: string;
5
- fontSize: number;
6
- thinkingDisplayStyle: "collapsible" | "inline";
7
- }
8
- interface ConfigPanelProps {
9
- config: ThemeConfig;
10
- status: string;
11
- onConfigChange: (config: ThemeConfig) => void;
12
- onStatusChange: (status: string) => void;
13
- }
14
- export declare function ConfigPanel({
15
- config,
16
- status,
17
- onConfigChange,
18
- onStatusChange,
19
- }: ConfigPanelProps): import("react/jsx-runtime").JSX.Element;
20
- //# sourceMappingURL=ConfigPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConfigPanel.d.ts","sourceRoot":"","sources":["../../../src/gui/components/ConfigPanel.tsx"],"names":[],"mappings":"AA4BA,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,aAAa,GAAG,QAAQ,CAAC;CAChD;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,MAAM,EACN,cAAc,EACd,cAAc,GACf,EAAE,gBAAgB,2CA6JlB"}