@seed-ship/mcp-ui-solid 2.7.0 → 2.8.1

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.
@@ -0,0 +1,339 @@
1
+ import { delegateEvents, getNextElement, template, getNextMarker, insert, createComponent, memo, effect, className, setAttribute, runHydrationEvents } from "solid-js/web";
2
+ import { For, Show, Switch, Match } from "solid-js";
3
+ var _tmpl$ = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700 space-y-2">`), _tmpl$2 = /* @__PURE__ */ template(`<div class="mt-2 overflow-x-auto"><table class="min-w-full text-xs"><thead><tr></tr></thead><tbody>`), _tmpl$3 = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700"><div class="flex items-center gap-2 mb-2"><span class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide">Preview</span><span class="px-1.5 py-0.5 text-xs font-bold bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded"></span></div><p class="text-sm text-gray-700 dark:text-gray-300"></p><!$><!/>`), _tmpl$4 = /* @__PURE__ */ template(`<div class="w-full bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 shadow-lg overflow-visible"><div class="flex items-center justify-between px-4 py-3 border-b border-gray-100 dark:border-gray-700"><div class="flex items-center gap-2"><span class=text-base>&#128221;</span><h3 class="text-sm font-semibold text-gray-900 dark:text-white"></h3></div><span></span></div><div class="divide-y divide-gray-100 dark:divide-gray-700"></div><!$><!/><!$><!/>`), _tmpl$5 = /* @__PURE__ */ template(`<div><span class="flex-shrink-0 mt-0.5"></span><p>`), _tmpl$6 = /* @__PURE__ */ template(`<th class="px-2 py-1 text-left font-medium text-gray-500 dark:text-gray-400">`), _tmpl$7 = /* @__PURE__ */ template(`<tr class="border-t border-gray-100 dark:border-gray-700">`), _tmpl$8 = /* @__PURE__ */ template(`<td class="px-2 py-1 text-gray-700 dark:text-gray-300">`), _tmpl$9 = /* @__PURE__ */ template(`<span class="text-[10px] text-blue-500 dark:text-blue-400">(editable)`), _tmpl$0 = /* @__PURE__ */ template(`<p class="text-sm text-gray-700 dark:text-gray-300">`), _tmpl$1 = /* @__PURE__ */ template(`<pre class="text-xs text-gray-500 dark:text-gray-400 overflow-auto">`), _tmpl$10 = /* @__PURE__ */ template(`<div class="px-4 py-3"><div class="flex items-center gap-2 mb-2"><h4 class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide"></h4><!$><!/></div><!$><!/>`), _tmpl$11 = /* @__PURE__ */ template(`<div class=space-y-1>`), _tmpl$12 = /* @__PURE__ */ template(`<div class="flex gap-2 text-sm"><span class="text-gray-500 dark:text-gray-400 font-mono text-xs min-w-[120px]"><!$><!/>:</span><span class="text-gray-900 dark:text-white text-xs">`), _tmpl$13 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-1.5">`), _tmpl$14 = /* @__PURE__ */ template(`<span class="inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded-full"><span class="text-blue-500 dark:text-blue-400"><!$><!/>:</span><!$><!/><button type=button class="ml-0.5 hover:text-blue-900 dark:hover:text-blue-100">&times;`), _tmpl$15 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-2">`), _tmpl$16 = /* @__PURE__ */ template(`<button type=button>`), _tmpl$17 = /* @__PURE__ */ template(`<div class="flex items-center gap-1">`), _tmpl$18 = /* @__PURE__ */ template(`<div>`), _tmpl$19 = /* @__PURE__ */ template(`<div><!$><!/><!$><!/>`);
4
+ const STATUS_BADGES = {
5
+ loading: {
6
+ label: "Loading...",
7
+ class: "bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400"
8
+ },
9
+ ready: {
10
+ label: "Ready",
11
+ class: "bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400"
12
+ },
13
+ waiting_human: {
14
+ label: "Your turn",
15
+ class: "bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400 animate-pulse"
16
+ },
17
+ processing: {
18
+ label: "Processing...",
19
+ class: "bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400"
20
+ },
21
+ complete: {
22
+ label: "Complete",
23
+ class: "bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-400"
24
+ }
25
+ };
26
+ const ScratchpadPanel = (props) => {
27
+ const badge = () => STATUS_BADGES[props.state.status] || STATUS_BADGES.loading;
28
+ return (() => {
29
+ var _el$ = getNextElement(_tmpl$4), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$3.nextSibling, _el$7 = _el$2.nextSibling, _el$19 = _el$7.nextSibling, [_el$20, _co$2] = getNextMarker(_el$19.nextSibling), _el$21 = _el$20.nextSibling, [_el$22, _co$3] = getNextMarker(_el$21.nextSibling);
30
+ insert(_el$5, () => props.state.title);
31
+ insert(_el$6, () => badge().label);
32
+ insert(_el$7, createComponent(For, {
33
+ get each() {
34
+ return props.state.sections;
35
+ },
36
+ children: (section) => createComponent(SectionRenderer, {
37
+ section,
38
+ get filters() {
39
+ return props.state.filters;
40
+ },
41
+ get onFilterChange() {
42
+ return props.onFilterChange;
43
+ },
44
+ get onAction() {
45
+ return props.onAction;
46
+ },
47
+ get onSectionEdit() {
48
+ return props.onSectionEdit;
49
+ }
50
+ })
51
+ }));
52
+ insert(_el$, createComponent(Show, {
53
+ get when() {
54
+ return props.state.agentMessages.length > 0;
55
+ },
56
+ get children() {
57
+ var _el$8 = getNextElement(_tmpl$);
58
+ insert(_el$8, createComponent(For, {
59
+ get each() {
60
+ return props.state.agentMessages;
61
+ },
62
+ children: (msg) => (() => {
63
+ var _el$23 = getNextElement(_tmpl$5), _el$24 = _el$23.firstChild, _el$25 = _el$24.nextSibling;
64
+ insert(_el$24, (() => {
65
+ var _c$ = memo(() => msg.type === "warning");
66
+ return () => _c$() ? "⚠️" : msg.type === "question" ? "💬" : "ℹ️";
67
+ })());
68
+ insert(_el$25, () => msg.text);
69
+ effect(() => className(_el$23, `flex items-start gap-2 text-sm ${msg.type === "warning" ? "text-amber-600 dark:text-amber-400" : msg.type === "question" ? "text-blue-600 dark:text-blue-400" : "text-gray-600 dark:text-gray-400"}`));
70
+ return _el$23;
71
+ })()
72
+ }));
73
+ return _el$8;
74
+ }
75
+ }), _el$20, _co$2);
76
+ insert(_el$, createComponent(Show, {
77
+ get when() {
78
+ return props.state.preview;
79
+ },
80
+ get children() {
81
+ var _el$9 = getNextElement(_tmpl$3), _el$0 = _el$9.firstChild, _el$1 = _el$0.firstChild, _el$10 = _el$1.nextSibling, _el$11 = _el$0.nextSibling, _el$17 = _el$11.nextSibling, [_el$18, _co$] = getNextMarker(_el$17.nextSibling);
82
+ insert(_el$10, () => props.state.preview.count.toLocaleString());
83
+ insert(_el$11, () => props.state.preview.summary);
84
+ insert(_el$9, createComponent(Show, {
85
+ get when() {
86
+ return memo(() => !!props.state.preview.rows)() && props.state.preview.rows.length > 0;
87
+ },
88
+ get children() {
89
+ var _el$12 = getNextElement(_tmpl$2), _el$13 = _el$12.firstChild, _el$14 = _el$13.firstChild, _el$15 = _el$14.firstChild, _el$16 = _el$14.nextSibling;
90
+ insert(_el$15, createComponent(For, {
91
+ get each() {
92
+ return Object.keys(props.state.preview.rows[0]);
93
+ },
94
+ children: (key) => (() => {
95
+ var _el$26 = getNextElement(_tmpl$6);
96
+ insert(_el$26, key);
97
+ return _el$26;
98
+ })()
99
+ }));
100
+ insert(_el$16, createComponent(For, {
101
+ get each() {
102
+ return props.state.preview.rows.slice(0, 5);
103
+ },
104
+ children: (row) => (() => {
105
+ var _el$27 = getNextElement(_tmpl$7);
106
+ insert(_el$27, createComponent(For, {
107
+ get each() {
108
+ return Object.values(row);
109
+ },
110
+ children: (val) => (() => {
111
+ var _el$28 = getNextElement(_tmpl$8);
112
+ insert(_el$28, () => String(val));
113
+ return _el$28;
114
+ })()
115
+ }));
116
+ return _el$27;
117
+ })()
118
+ }));
119
+ return _el$12;
120
+ }
121
+ }), _el$18, _co$);
122
+ return _el$9;
123
+ }
124
+ }), _el$22, _co$3);
125
+ effect(() => className(_el$6, `px-2 py-0.5 text-xs font-medium rounded-full ${badge().class}`));
126
+ return _el$;
127
+ })();
128
+ };
129
+ const SectionRenderer = (props) => {
130
+ return (() => {
131
+ var _el$29 = getNextElement(_tmpl$10), _el$30 = _el$29.firstChild, _el$31 = _el$30.firstChild, _el$33 = _el$31.nextSibling, [_el$34, _co$4] = getNextMarker(_el$33.nextSibling), _el$37 = _el$30.nextSibling, [_el$38, _co$5] = getNextMarker(_el$37.nextSibling);
132
+ insert(_el$31, () => props.section.title);
133
+ insert(_el$30, createComponent(Show, {
134
+ get when() {
135
+ return props.section.editable;
136
+ },
137
+ get children() {
138
+ return getNextElement(_tmpl$9);
139
+ }
140
+ }), _el$34, _co$4);
141
+ insert(_el$29, createComponent(Switch, {
142
+ get children() {
143
+ return [createComponent(Match, {
144
+ get when() {
145
+ return props.section.type === "data";
146
+ },
147
+ get children() {
148
+ return createComponent(DataSection, {
149
+ get content() {
150
+ return props.section.content;
151
+ }
152
+ });
153
+ }
154
+ }), createComponent(Match, {
155
+ get when() {
156
+ return props.section.type === "filter";
157
+ },
158
+ get children() {
159
+ return createComponent(FilterSection, {
160
+ get filters() {
161
+ return props.filters;
162
+ },
163
+ get onFilterChange() {
164
+ return props.onFilterChange;
165
+ }
166
+ });
167
+ }
168
+ }), createComponent(Match, {
169
+ get when() {
170
+ return props.section.type === "message";
171
+ },
172
+ get children() {
173
+ var _el$35 = getNextElement(_tmpl$0);
174
+ insert(_el$35, () => String(props.section.content));
175
+ return _el$35;
176
+ }
177
+ }), createComponent(Match, {
178
+ get when() {
179
+ return props.section.type === "action";
180
+ },
181
+ get children() {
182
+ return createComponent(ActionSection, {
183
+ get content() {
184
+ return props.section.content;
185
+ },
186
+ get onAction() {
187
+ return props.onAction;
188
+ }
189
+ });
190
+ }
191
+ }), createComponent(Match, {
192
+ get when() {
193
+ return props.section.type === "steps";
194
+ },
195
+ get children() {
196
+ return createComponent(StepsSection, {
197
+ get content() {
198
+ return props.section.content;
199
+ }
200
+ });
201
+ }
202
+ }), createComponent(Match, {
203
+ when: true,
204
+ get children() {
205
+ var _el$36 = getNextElement(_tmpl$1);
206
+ insert(_el$36, () => JSON.stringify(props.section.content, null, 2));
207
+ return _el$36;
208
+ }
209
+ })];
210
+ }
211
+ }), _el$38, _co$5);
212
+ return _el$29;
213
+ })();
214
+ };
215
+ const DataSection = (props) => {
216
+ const entries = () => {
217
+ if (typeof props.content !== "object" || !props.content) return [];
218
+ return Object.entries(props.content);
219
+ };
220
+ return (() => {
221
+ var _el$39 = getNextElement(_tmpl$11);
222
+ insert(_el$39, createComponent(For, {
223
+ get each() {
224
+ return entries();
225
+ },
226
+ children: ([key, value]) => (() => {
227
+ var _el$40 = getNextElement(_tmpl$12), _el$41 = _el$40.firstChild, _el$43 = _el$41.firstChild, [_el$44, _co$6] = getNextMarker(_el$43.nextSibling);
228
+ _el$44.nextSibling;
229
+ var _el$45 = _el$41.nextSibling;
230
+ insert(_el$41, key, _el$44, _co$6);
231
+ insert(_el$45, (() => {
232
+ var _c$2 = memo(() => !!Array.isArray(value));
233
+ return () => _c$2() ? value.join(", ") : String(value);
234
+ })());
235
+ return _el$40;
236
+ })()
237
+ }));
238
+ return _el$39;
239
+ })();
240
+ };
241
+ const FilterSection = (props) => {
242
+ const removeFilter = (key) => {
243
+ var _a;
244
+ const next = {
245
+ ...props.filters
246
+ };
247
+ delete next[key];
248
+ (_a = props.onFilterChange) == null ? void 0 : _a.call(props, next);
249
+ };
250
+ const entries = () => Object.entries(props.filters);
251
+ return (() => {
252
+ var _el$46 = getNextElement(_tmpl$13);
253
+ insert(_el$46, createComponent(For, {
254
+ get each() {
255
+ return entries();
256
+ },
257
+ children: ([key, value]) => (() => {
258
+ var _el$47 = getNextElement(_tmpl$14), _el$48 = _el$47.firstChild, _el$50 = _el$48.firstChild, [_el$51, _co$7] = getNextMarker(_el$50.nextSibling);
259
+ _el$51.nextSibling;
260
+ var _el$53 = _el$48.nextSibling, [_el$54, _co$8] = getNextMarker(_el$53.nextSibling), _el$52 = _el$54.nextSibling;
261
+ insert(_el$48, key, _el$51, _co$7);
262
+ insert(_el$47, (() => {
263
+ var _c$3 = memo(() => !!Array.isArray(value));
264
+ return () => _c$3() ? value.join(", ") : String(value);
265
+ })(), _el$54, _co$8);
266
+ _el$52.$$click = () => removeFilter(key);
267
+ setAttribute(_el$52, "aria-label", `Remove filter ${key}`);
268
+ runHydrationEvents();
269
+ return _el$47;
270
+ })()
271
+ }));
272
+ return _el$46;
273
+ })();
274
+ };
275
+ const ActionSection = (props) => {
276
+ const actions = () => {
277
+ if (Array.isArray(props.content)) return props.content;
278
+ return [];
279
+ };
280
+ return (() => {
281
+ var _el$55 = getNextElement(_tmpl$15);
282
+ insert(_el$55, createComponent(For, {
283
+ get each() {
284
+ return actions();
285
+ },
286
+ children: (item) => (() => {
287
+ var _el$56 = getNextElement(_tmpl$16);
288
+ _el$56.$$click = () => {
289
+ var _a;
290
+ return (_a = props.onAction) == null ? void 0 : _a.call(props, item.action);
291
+ };
292
+ insert(_el$56, () => item.label);
293
+ effect(() => className(_el$56, `px-3 py-1.5 text-sm font-medium rounded-lg transition-colors ${item.variant === "primary" ? "bg-blue-600 text-white hover:bg-blue-700" : item.variant === "danger" ? "bg-red-600 text-white hover:bg-red-700" : "border border-gray-200 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"}`));
294
+ runHydrationEvents();
295
+ return _el$56;
296
+ })()
297
+ }));
298
+ return _el$55;
299
+ })();
300
+ };
301
+ const StepsSection = (props) => {
302
+ const steps = () => {
303
+ if (Array.isArray(props.content)) return props.content;
304
+ return [];
305
+ };
306
+ return (() => {
307
+ var _el$57 = getNextElement(_tmpl$17);
308
+ insert(_el$57, createComponent(For, {
309
+ get each() {
310
+ return steps();
311
+ },
312
+ children: (step, i) => [createComponent(Show, {
313
+ get when() {
314
+ return i() > 0;
315
+ },
316
+ get children() {
317
+ var _el$58 = getNextElement(_tmpl$18);
318
+ effect(() => className(_el$58, `w-6 h-px ${step.status === "pending" ? "bg-gray-300 dark:bg-gray-600" : "bg-blue-400"}`));
319
+ return _el$58;
320
+ }
321
+ }), (() => {
322
+ var _el$59 = getNextElement(_tmpl$19), _el$60 = _el$59.firstChild, [_el$61, _co$9] = getNextMarker(_el$60.nextSibling), _el$62 = _el$61.nextSibling, [_el$63, _co$0] = getNextMarker(_el$62.nextSibling);
323
+ insert(_el$59, (() => {
324
+ var _c$4 = memo(() => step.status === "done");
325
+ return () => _c$4() ? "✓" : step.status === "active" ? "●" : "○";
326
+ })(), _el$61, _co$9);
327
+ insert(_el$59, () => step.label, _el$63, _co$0);
328
+ effect(() => className(_el$59, `flex items-center gap-1.5 px-2 py-1 rounded text-xs font-medium ${step.status === "done" ? "text-green-600 dark:text-green-400" : step.status === "active" ? "text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20" : "text-gray-400"}`));
329
+ return _el$59;
330
+ })()]
331
+ }));
332
+ return _el$57;
333
+ })();
334
+ };
335
+ delegateEvents(["click"]);
336
+ export {
337
+ ScratchpadPanel
338
+ };
339
+ //# sourceMappingURL=ScratchpadPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScratchpadPanel.js","sources":["../../src/components/ScratchpadPanel.tsx"],"sourcesContent":["/**\n * ScratchpadPanel — HITL shared workspace between agent and human\n * v2.7.0: Renders scratchpad sections, editable filters, preview, agent messages\n *\n * @experimental — This component may change without major bump until v2.5.0 stabilization.\n */\n\nimport { Component, Show, For, Switch, Match, createSignal } from 'solid-js'\nimport type { ScratchpadState, ScratchpadSection } from '../types/chat-bus'\n\nexport interface ScratchpadPanelProps {\n state: ScratchpadState\n /** Called when human modifies filters */\n onFilterChange?: (filters: Record<string, string | string[]>) => void\n /** Called when human clicks an action button */\n onAction?: (action: string, data?: unknown) => void\n /** Called when human edits a section */\n onSectionEdit?: (sectionId: string, content: unknown) => void\n}\n\nconst STATUS_BADGES: Record<ScratchpadState['status'], { label: string; class: string }> = {\n loading: { label: 'Loading...', class: 'bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400' },\n ready: { label: 'Ready', class: 'bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400' },\n waiting_human: { label: 'Your turn', class: 'bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400 animate-pulse' },\n processing: { label: 'Processing...', class: 'bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400' },\n complete: { label: 'Complete', class: 'bg-gray-100 text-gray-600 dark:bg-gray-700 dark:text-gray-400' },\n}\n\n/**\n * @experimental\n */\nexport const ScratchpadPanel: Component<ScratchpadPanelProps> = (props) => {\n const badge = () => STATUS_BADGES[props.state.status] || STATUS_BADGES.loading\n\n return (\n <div class=\"w-full bg-white dark:bg-gray-800 rounded-xl border border-gray-200 dark:border-gray-700 shadow-lg overflow-visible\">\n {/* Header */}\n <div class=\"flex items-center justify-between px-4 py-3 border-b border-gray-100 dark:border-gray-700\">\n <div class=\"flex items-center gap-2\">\n <span class=\"text-base\">&#128221;</span>\n <h3 class=\"text-sm font-semibold text-gray-900 dark:text-white\">{props.state.title}</h3>\n </div>\n <span class={`px-2 py-0.5 text-xs font-medium rounded-full ${badge().class}`}>\n {badge().label}\n </span>\n </div>\n\n {/* Sections */}\n <div class=\"divide-y divide-gray-100 dark:divide-gray-700\">\n <For each={props.state.sections}>\n {(section) => (\n <SectionRenderer\n section={section}\n filters={props.state.filters}\n onFilterChange={props.onFilterChange}\n onAction={props.onAction}\n onSectionEdit={props.onSectionEdit}\n />\n )}\n </For>\n </div>\n\n {/* Agent messages */}\n <Show when={props.state.agentMessages.length > 0}>\n <div class=\"px-4 py-3 border-t border-gray-100 dark:border-gray-700 space-y-2\">\n <For each={props.state.agentMessages}>\n {(msg) => (\n <div class={`flex items-start gap-2 text-sm ${\n msg.type === 'warning' ? 'text-amber-600 dark:text-amber-400'\n : msg.type === 'question' ? 'text-blue-600 dark:text-blue-400'\n : 'text-gray-600 dark:text-gray-400'\n }`}>\n <span class=\"flex-shrink-0 mt-0.5\">\n {msg.type === 'warning' ? '⚠️' : msg.type === 'question' ? '💬' : 'ℹ️'}\n </span>\n <p>{msg.text}</p>\n </div>\n )}\n </For>\n </div>\n </Show>\n\n {/* Preview */}\n <Show when={props.state.preview}>\n <div class=\"px-4 py-3 border-t border-gray-100 dark:border-gray-700\">\n <div class=\"flex items-center gap-2 mb-2\">\n <span class=\"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide\">Preview</span>\n <span class=\"px-1.5 py-0.5 text-xs font-bold bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded\">\n {props.state.preview!.count.toLocaleString()}\n </span>\n </div>\n <p class=\"text-sm text-gray-700 dark:text-gray-300\">{props.state.preview!.summary}</p>\n <Show when={props.state.preview!.rows && props.state.preview!.rows!.length > 0}>\n <div class=\"mt-2 overflow-x-auto\">\n <table class=\"min-w-full text-xs\">\n <thead>\n <tr>\n <For each={Object.keys(props.state.preview!.rows![0])}>\n {(key) => <th class=\"px-2 py-1 text-left font-medium text-gray-500 dark:text-gray-400\">{key}</th>}\n </For>\n </tr>\n </thead>\n <tbody>\n <For each={props.state.preview!.rows!.slice(0, 5)}>\n {(row) => (\n <tr class=\"border-t border-gray-100 dark:border-gray-700\">\n <For each={Object.values(row)}>\n {(val) => <td class=\"px-2 py-1 text-gray-700 dark:text-gray-300\">{String(val)}</td>}\n </For>\n </tr>\n )}\n </For>\n </tbody>\n </table>\n </div>\n </Show>\n </div>\n </Show>\n </div>\n )\n}\n\n// ─── Section Renderer ────────────────────────────────────────\n\nconst SectionRenderer: Component<{\n section: ScratchpadSection\n filters: Record<string, string | string[]>\n onFilterChange?: (filters: Record<string, string | string[]>) => void\n onAction?: (action: string, data?: unknown) => void\n onSectionEdit?: (sectionId: string, content: unknown) => void\n}> = (props) => {\n return (\n <div class=\"px-4 py-3\">\n <div class=\"flex items-center gap-2 mb-2\">\n <h4 class=\"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide\">{props.section.title}</h4>\n <Show when={props.section.editable}>\n <span class=\"text-[10px] text-blue-500 dark:text-blue-400\">(editable)</span>\n </Show>\n </div>\n\n <Switch>\n {/* Data section — key-value or compact table */}\n <Match when={props.section.type === 'data'}>\n <DataSection content={props.section.content} />\n </Match>\n\n {/* Filter section — editable chips */}\n <Match when={props.section.type === 'filter'}>\n <FilterSection\n filters={props.filters}\n onFilterChange={props.onFilterChange}\n />\n </Match>\n\n {/* Message section */}\n <Match when={props.section.type === 'message'}>\n <p class=\"text-sm text-gray-700 dark:text-gray-300\">{String(props.section.content)}</p>\n </Match>\n\n {/* Action section — buttons */}\n <Match when={props.section.type === 'action'}>\n <ActionSection content={props.section.content} onAction={props.onAction} />\n </Match>\n\n {/* Steps section */}\n <Match when={props.section.type === 'steps'}>\n <StepsSection content={props.section.content} />\n </Match>\n\n {/* Fallback */}\n <Match when={true}>\n <pre class=\"text-xs text-gray-500 dark:text-gray-400 overflow-auto\">\n {JSON.stringify(props.section.content, null, 2)}\n </pre>\n </Match>\n </Switch>\n </div>\n )\n}\n\n// ─── Sub-components ──────────────────────────────────────────\n\nconst DataSection: Component<{ content: unknown }> = (props) => {\n const entries = () => {\n if (typeof props.content !== 'object' || !props.content) return []\n return Object.entries(props.content as Record<string, unknown>)\n }\n\n return (\n <div class=\"space-y-1\">\n <For each={entries()}>\n {([key, value]) => (\n <div class=\"flex gap-2 text-sm\">\n <span class=\"text-gray-500 dark:text-gray-400 font-mono text-xs min-w-[120px]\">{key}:</span>\n <span class=\"text-gray-900 dark:text-white text-xs\">\n {Array.isArray(value) ? value.join(', ') : String(value)}\n </span>\n </div>\n )}\n </For>\n </div>\n )\n}\n\nconst FilterSection: Component<{\n filters: Record<string, string | string[]>\n onFilterChange?: (filters: Record<string, string | string[]>) => void\n}> = (props) => {\n const removeFilter = (key: string) => {\n const next = { ...props.filters }\n delete next[key]\n props.onFilterChange?.(next)\n }\n\n const entries = () => Object.entries(props.filters)\n\n return (\n <div class=\"flex flex-wrap gap-1.5\">\n <For each={entries()}>\n {([key, value]) => (\n <span class=\"inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded-full\">\n <span class=\"text-blue-500 dark:text-blue-400\">{key}:</span>\n {Array.isArray(value) ? value.join(', ') : String(value)}\n <button\n type=\"button\"\n onClick={() => removeFilter(key)}\n class=\"ml-0.5 hover:text-blue-900 dark:hover:text-blue-100\"\n aria-label={`Remove filter ${key}`}\n >\n &times;\n </button>\n </span>\n )}\n </For>\n </div>\n )\n}\n\nconst ActionSection: Component<{\n content: unknown\n onAction?: (action: string, data?: unknown) => void\n}> = (props) => {\n const actions = () => {\n if (Array.isArray(props.content)) return props.content as Array<{ label: string; action: string; variant?: string }>\n return []\n }\n\n return (\n <div class=\"flex flex-wrap gap-2\">\n <For each={actions()}>\n {(item) => (\n <button\n type=\"button\"\n onClick={() => props.onAction?.(item.action)}\n class={`px-3 py-1.5 text-sm font-medium rounded-lg transition-colors ${\n item.variant === 'primary'\n ? 'bg-blue-600 text-white hover:bg-blue-700'\n : item.variant === 'danger'\n ? 'bg-red-600 text-white hover:bg-red-700'\n : 'border border-gray-200 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700'\n }`}\n >\n {item.label}\n </button>\n )}\n </For>\n </div>\n )\n}\n\nconst StepsSection: Component<{ content: unknown }> = (props) => {\n const steps = () => {\n if (Array.isArray(props.content)) return props.content as Array<{ label: string; status: 'done' | 'active' | 'pending' }>\n return []\n }\n\n return (\n <div class=\"flex items-center gap-1\">\n <For each={steps()}>\n {(step, i) => (\n <>\n <Show when={i() > 0}>\n <div class={`w-6 h-px ${step.status === 'pending' ? 'bg-gray-300 dark:bg-gray-600' : 'bg-blue-400'}`} />\n </Show>\n <div class={`flex items-center gap-1.5 px-2 py-1 rounded text-xs font-medium ${\n step.status === 'done' ? 'text-green-600 dark:text-green-400'\n : step.status === 'active' ? 'text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20'\n : 'text-gray-400'\n }`}>\n {step.status === 'done' ? '✓' : step.status === 'active' ? '●' : '○'}\n {step.label}\n </div>\n </>\n )}\n </For>\n </div>\n )\n}\n"],"names":["STATUS_BADGES","loading","label","class","ready","waiting_human","processing","complete","ScratchpadPanel","props","badge","state","status","_el$","_$getNextElement","_tmpl$4","_el$2","firstChild","_el$3","_el$4","_el$5","nextSibling","_el$6","_el$7","_el$19","_el$20","_co$2","_$getNextMarker","_el$21","_el$22","_co$3","_$insert","title","_$createComponent","For","each","sections","children","section","SectionRenderer","filters","onFilterChange","onAction","onSectionEdit","Show","when","agentMessages","length","_el$8","_tmpl$","msg","_el$23","_tmpl$5","_el$24","_el$25","_c$","_$memo","type","text","_$effect","_$className","preview","_el$9","_tmpl$3","_el$0","_el$1","_el$10","_el$11","_el$17","_el$18","_co$","count","toLocaleString","summary","rows","_el$12","_tmpl$2","_el$13","_el$14","_el$15","_el$16","Object","keys","key","_el$26","_tmpl$6","slice","row","_el$27","_tmpl$7","values","val","_el$28","_tmpl$8","String","_el$29","_tmpl$10","_el$30","_el$31","_el$33","_el$34","_co$4","_el$37","_el$38","_co$5","editable","_tmpl$9","Switch","Match","DataSection","content","FilterSection","_el$35","_tmpl$0","ActionSection","StepsSection","_el$36","_tmpl$1","JSON","stringify","entries","_el$39","_tmpl$11","value","_el$40","_tmpl$12","_el$41","_el$43","_el$44","_co$6","_el$45","_c$2","Array","isArray","join","removeFilter","next","_el$46","_tmpl$13","_el$47","_tmpl$14","_el$48","_el$50","_el$51","_co$7","_el$53","_el$54","_co$8","_el$52","_c$3","$$click","_$setAttribute","_$runHydrationEvents","actions","_el$55","_tmpl$15","item","_el$56","_tmpl$16","action","variant","steps","_el$57","_tmpl$17","step","i","_el$58","_tmpl$18","_el$59","_tmpl$19","_el$60","_el$61","_co$9","_el$62","_el$63","_co$0","_c$4","_$delegateEvents"],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -23,6 +23,7 @@ const ExpandableWrapper = require("./components/ExpandableWrapper.cjs");
23
23
  const ComponentToolbar = require("./components/ComponentToolbar.cjs");
24
24
  const useChatBus = require("./hooks/useChatBus.cjs");
25
25
  const ChatPrompt = require("./components/ChatPrompt.cjs");
26
+ const ScratchpadPanel = require("./components/ScratchpadPanel.cjs");
26
27
  const GhostText = require("./components/GhostText.cjs");
27
28
  const AutocompleteDropdown = require("./components/AutocompleteDropdown.cjs");
28
29
  const AutocompleteFormField = require("./components/AutocompleteFormField.cjs");
@@ -53,6 +54,7 @@ exports.ComponentToolbar = ComponentToolbar.ComponentToolbar;
53
54
  exports.ChatBusProvider = useChatBus.ChatBusProvider;
54
55
  exports.useChatBus = useChatBus.useChatBus;
55
56
  exports.ChatPrompt = ChatPrompt.ChatPrompt;
57
+ exports.ScratchpadPanel = ScratchpadPanel.ScratchpadPanel;
56
58
  exports.GhostText = GhostText.GhostText;
57
59
  exports.GhostTextInput = GhostText.GhostTextInput;
58
60
  exports.AutocompleteDropdown = AutocompleteDropdown.AutocompleteDropdown;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.d.cts CHANGED
@@ -35,6 +35,7 @@ export { ExpandableWrapper } from './components/ExpandableWrapper';
35
35
  export { ComponentToolbar } from './components/ComponentToolbar';
36
36
  export { ChatBusProvider, useChatBus } from './hooks/useChatBus';
37
37
  export { ChatPrompt } from './components/ChatPrompt';
38
+ export { ScratchpadPanel } from './components/ScratchpadPanel';
38
39
  export { GhostText, GhostTextInput } from './components/GhostText';
39
40
  export { AutocompleteDropdown } from './components/AutocompleteDropdown';
40
41
  export { AutocompleteFormField } from './components/AutocompleteFormField';
@@ -45,6 +46,7 @@ export type { EditableUIResourceRendererProps } from './components/EditableUIRes
45
46
  export type { ExpandableWrapperProps } from './components/ExpandableWrapper';
46
47
  export type { ComponentToolbarProps, ToolbarAction, ToolbarIcon } from './components/ComponentToolbar';
47
48
  export type { ChatPromptProps } from './components/ChatPrompt';
49
+ export type { ScratchpadPanelProps } from './components/ScratchpadPanel';
48
50
  export type { GhostTextProps, GhostTextInputProps } from './components/GhostText';
49
51
  export type { AutocompleteDropdownProps } from './components/AutocompleteDropdown';
50
52
  export type { AutocompleteFormFieldProps, AutocompleteFormFieldParams } from './components/AutocompleteFormField';
@@ -57,5 +59,5 @@ export type { AutocompleteContextValue, AutocompleteProviderProps, } from './con
57
59
  export { createGroqPlugin, createSupabasePlugin, createRestPlugin, } from './plugins';
58
60
  export type { UIComponent, UILayout, GridPosition, ComponentType, RendererError, ChartComponentParams, TableComponentParams, MetricComponentParams, TextComponentParams, ActionComponentParams, GridComponentParams, FormFieldOption, FormFieldType, FormFieldParams, FormComponentParams, ShowWhenOperator, ShowWhenCondition, ActionRequestBase, ActionResultBase, ActionLifecycleCallbacks, ModalSize, ModalComponentParams, ActionGroupLayout, ActionGroupGap, ActionGroupParams, GalleryImage, ImageGalleryParams, VideoComponentParams, CodeComponentParams, MapMarker, MapComponentParams, IframePolicy, ValidationOptions, ResizeConstraints, DragDropConfig, DragEventData, DraggableGridItemProps as DraggableGridItemPropsType, AutocompleteResultType, AutocompleteOption, AutocompleteResult, AutocompleteContext, AutocompletePlugin, GroqPluginConfig, SupabasePluginConfig, DuckDBPluginConfig, RestPluginConfig, FieldAutocompleteConfig, AutocompleteProviderConfig, } from './types';
59
61
  export { validateComponent, validateLayout, validateIframeDomain, getIframeSandbox, DEFAULT_RESOURCE_LIMITS, DEFAULT_IFRAME_DOMAINS, TRUSTED_IFRAME_DOMAINS, ComponentRegistry, createEventEmitter, createCommandHandler, createChatBus, } from './services';
60
- export type { ChatEventBase, ChatEvents, ChatCommands, ChatBus, ChatEventEmitter, ChatCommandHandler, EventSubscribeOptions, ChatPromptConfig, ChatPromptResponse, ChoicePromptConfig, ConfirmPromptConfig, FormPromptConfig, SelectPromptConfig, SuggestionItem, AgentContext, BriefingEvent, BriefingSection, StreamDoneMetadata, ChatError, Citation, ToolCallEvent, ClarificationEvent, } from './types/chat-bus';
62
+ export type { ChatEventBase, ChatEvents, ChatCommands, ChatBus, ChatEventEmitter, ChatCommandHandler, EventSubscribeOptions, ChatPromptConfig, ChatPromptResponse, ChoicePromptConfig, ConfirmPromptConfig, FormPromptConfig, SelectPromptConfig, SuggestionItem, AgentContext, BriefingEvent, BriefingSection, ScratchpadState, ScratchpadSection, ScratchpadEvent, StreamDoneMetadata, ChatError, Citation, ToolCallEvent, ClarificationEvent, } from './types/chat-bus';
61
63
  //# sourceMappingURL=index.d.ts.map
package/dist/index.d.ts CHANGED
@@ -35,6 +35,7 @@ export { ExpandableWrapper } from './components/ExpandableWrapper';
35
35
  export { ComponentToolbar } from './components/ComponentToolbar';
36
36
  export { ChatBusProvider, useChatBus } from './hooks/useChatBus';
37
37
  export { ChatPrompt } from './components/ChatPrompt';
38
+ export { ScratchpadPanel } from './components/ScratchpadPanel';
38
39
  export { GhostText, GhostTextInput } from './components/GhostText';
39
40
  export { AutocompleteDropdown } from './components/AutocompleteDropdown';
40
41
  export { AutocompleteFormField } from './components/AutocompleteFormField';
@@ -45,6 +46,7 @@ export type { EditableUIResourceRendererProps } from './components/EditableUIRes
45
46
  export type { ExpandableWrapperProps } from './components/ExpandableWrapper';
46
47
  export type { ComponentToolbarProps, ToolbarAction, ToolbarIcon } from './components/ComponentToolbar';
47
48
  export type { ChatPromptProps } from './components/ChatPrompt';
49
+ export type { ScratchpadPanelProps } from './components/ScratchpadPanel';
48
50
  export type { GhostTextProps, GhostTextInputProps } from './components/GhostText';
49
51
  export type { AutocompleteDropdownProps } from './components/AutocompleteDropdown';
50
52
  export type { AutocompleteFormFieldProps, AutocompleteFormFieldParams } from './components/AutocompleteFormField';
@@ -57,5 +59,5 @@ export type { AutocompleteContextValue, AutocompleteProviderProps, } from './con
57
59
  export { createGroqPlugin, createSupabasePlugin, createRestPlugin, } from './plugins';
58
60
  export type { UIComponent, UILayout, GridPosition, ComponentType, RendererError, ChartComponentParams, TableComponentParams, MetricComponentParams, TextComponentParams, ActionComponentParams, GridComponentParams, FormFieldOption, FormFieldType, FormFieldParams, FormComponentParams, ShowWhenOperator, ShowWhenCondition, ActionRequestBase, ActionResultBase, ActionLifecycleCallbacks, ModalSize, ModalComponentParams, ActionGroupLayout, ActionGroupGap, ActionGroupParams, GalleryImage, ImageGalleryParams, VideoComponentParams, CodeComponentParams, MapMarker, MapComponentParams, IframePolicy, ValidationOptions, ResizeConstraints, DragDropConfig, DragEventData, DraggableGridItemProps as DraggableGridItemPropsType, AutocompleteResultType, AutocompleteOption, AutocompleteResult, AutocompleteContext, AutocompletePlugin, GroqPluginConfig, SupabasePluginConfig, DuckDBPluginConfig, RestPluginConfig, FieldAutocompleteConfig, AutocompleteProviderConfig, } from './types';
59
61
  export { validateComponent, validateLayout, validateIframeDomain, getIframeSandbox, DEFAULT_RESOURCE_LIMITS, DEFAULT_IFRAME_DOMAINS, TRUSTED_IFRAME_DOMAINS, ComponentRegistry, createEventEmitter, createCommandHandler, createChatBus, } from './services';
60
- export type { ChatEventBase, ChatEvents, ChatCommands, ChatBus, ChatEventEmitter, ChatCommandHandler, EventSubscribeOptions, ChatPromptConfig, ChatPromptResponse, ChoicePromptConfig, ConfirmPromptConfig, FormPromptConfig, SelectPromptConfig, SuggestionItem, AgentContext, BriefingEvent, BriefingSection, StreamDoneMetadata, ChatError, Citation, ToolCallEvent, ClarificationEvent, } from './types/chat-bus';
62
+ export type { ChatEventBase, ChatEvents, ChatCommands, ChatBus, ChatEventEmitter, ChatCommandHandler, EventSubscribeOptions, ChatPromptConfig, ChatPromptResponse, ChoicePromptConfig, ConfirmPromptConfig, FormPromptConfig, SelectPromptConfig, SuggestionItem, AgentContext, BriefingEvent, BriefingSection, ScratchpadState, ScratchpadSection, ScratchpadEvent, StreamDoneMetadata, ChatError, Citation, ToolCallEvent, ClarificationEvent, } from './types/chat-bus';
61
63
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -21,6 +21,7 @@ import { ExpandableWrapper } from "./components/ExpandableWrapper.js";
21
21
  import { ComponentToolbar } from "./components/ComponentToolbar.js";
22
22
  import { ChatBusProvider, useChatBus } from "./hooks/useChatBus.js";
23
23
  import { ChatPrompt } from "./components/ChatPrompt.js";
24
+ import { ScratchpadPanel } from "./components/ScratchpadPanel.js";
24
25
  import { GhostText, GhostTextInput } from "./components/GhostText.js";
25
26
  import { AutocompleteDropdown } from "./components/AutocompleteDropdown.js";
26
27
  import { AutocompleteFormField } from "./components/AutocompleteFormField.js";
@@ -59,6 +60,7 @@ export {
59
60
  MCPActionContext,
60
61
  MCPActionProvider,
61
62
  ResizeHandle,
63
+ ScratchpadPanel,
62
64
  StreamingUIRenderer,
63
65
  TRUSTED_IFRAME_DOMAINS,
64
66
  UIResourceRenderer,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -67,6 +67,9 @@ export interface ChatEvents {
67
67
  onCapabilityChange: (event: ChatEventBase & {
68
68
  capabilities: string[];
69
69
  }) => void;
70
+ onScratchpad: (event: ChatEventBase & {
71
+ scratchpad: ScratchpadEvent;
72
+ }) => void;
70
73
  onCustomEvent: (type: string, event: ChatEventBase & {
71
74
  data: unknown;
72
75
  }) => void;
@@ -286,6 +289,61 @@ export interface BriefingSection {
286
289
  content: string;
287
290
  components?: UIComponent[];
288
291
  }
292
+ /**
293
+ * @experimental
294
+ * Scratchpad state — shared workspace between agent and human.
295
+ * The agent fills sections, the human can edit filters and validate.
296
+ */
297
+ export interface ScratchpadState {
298
+ id: string;
299
+ title: string;
300
+ sections: ScratchpadSection[];
301
+ /** Active filters — human can add/remove */
302
+ filters: Record<string, string | string[]>;
303
+ /** Live preview (auto-updated when filters change) */
304
+ preview?: {
305
+ count: number;
306
+ rows?: Record<string, unknown>[];
307
+ summary: string;
308
+ };
309
+ /** Agent messages (explanations, questions) */
310
+ agentMessages: Array<{
311
+ text: string;
312
+ type: 'info' | 'question' | 'warning';
313
+ }>;
314
+ status: 'loading' | 'ready' | 'waiting_human' | 'processing' | 'complete';
315
+ }
316
+ export interface ScratchpadSection {
317
+ id: string;
318
+ title: string;
319
+ type: 'data' | 'filter' | 'preview' | 'message' | 'action' | 'steps' | 'form';
320
+ content: unknown;
321
+ /** Can the human edit this section? */
322
+ editable: boolean;
323
+ /** Who filled this section */
324
+ source: 'agent' | 'human' | 'api';
325
+ }
326
+ /**
327
+ * @experimental
328
+ * SSE event for scratchpad create/update/close.
329
+ */
330
+ export interface ScratchpadEvent {
331
+ id: string;
332
+ action: 'create' | 'update' | 'close';
333
+ title?: string;
334
+ sections?: ScratchpadSection[];
335
+ filters?: Record<string, string | string[]>;
336
+ preview?: {
337
+ count: number;
338
+ rows?: Record<string, unknown>[];
339
+ summary: string;
340
+ };
341
+ agentMessages?: Array<{
342
+ text: string;
343
+ type: 'info' | 'question' | 'warning';
344
+ }>;
345
+ status?: ScratchpadState['status'];
346
+ }
289
347
  export interface StreamDoneMetadata {
290
348
  message_hash?: string;
291
349
  intent?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-bus.d.ts","sourceRoot":"","sources":["../../src/types/chat-bus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-bus.d.ts","sourceRoot":"","sources":["../../src/types/chat-bus.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seed-ship/mcp-ui-solid",
3
- "version": "2.7.0",
3
+ "version": "2.8.1",
4
4
  "description": "SolidJS components for rendering MCP-generated UI resources",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",