@seed-ship/mcp-ui-solid 2.9.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ScratchpadPanel.cjs +426 -175
- package/dist/components/ScratchpadPanel.cjs.map +1 -1
- package/dist/components/ScratchpadPanel.d.ts.map +1 -1
- package/dist/components/ScratchpadPanel.js +426 -175
- package/dist/components/ScratchpadPanel.js.map +1 -1
- package/dist/types/chat-bus.d.ts +12 -1
- package/dist/types/chat-bus.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/ScratchpadPanel.tsx +174 -0
- package/src/types/chat-bus.ts +12 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const web = require("solid-js/web");
|
|
4
4
|
const solidJs = require("solid-js");
|
|
5
5
|
const FormFieldRenderer = require("./FormFieldRenderer.cjs");
|
|
6
|
-
var _tmpl$ = /* @__PURE__ */ web.template(`<svg fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M19 9l-7 7-7-7">`), _tmpl$2 = /* @__PURE__ */ web.template(`<button class="p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors"aria-label=Close><svg class="w-4 h-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M6 18L18 6M6 6l12 12">`), _tmpl$3 = /* @__PURE__ */ web.template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700 space-y-2">`), _tmpl$
|
|
6
|
+
var _tmpl$ = /* @__PURE__ */ web.template(`<svg fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M19 9l-7 7-7-7">`), _tmpl$2 = /* @__PURE__ */ web.template(`<button class="p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors"aria-label=Close><svg class="w-4 h-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M6 18L18 6M6 6l12 12">`), _tmpl$3 = /* @__PURE__ */ web.template(`<div class="px-4 py-2 border-b border-gray-100 dark:border-gray-700 flex flex-wrap items-center gap-1.5">`), _tmpl$4 = /* @__PURE__ */ web.template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700 space-y-2">`), _tmpl$5 = /* @__PURE__ */ web.template(`<div class="flex flex-col items-center gap-2 py-4 text-center"><span class=text-2xl>🔍</span><p class="text-sm text-gray-500 dark:text-gray-400">No results for these filters</p><button type=button class="px-3 py-1.5 text-xs font-medium text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded-lg transition-colors">Modify filters`), _tmpl$6 = /* @__PURE__ */ web.template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700">`), _tmpl$7 = /* @__PURE__ */ web.template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700"><button type=button class="w-full px-4 py-2.5 text-sm font-semibold rounded-lg text-white bg-blue-600 hover:bg-blue-700 transition-colors flex items-center justify-center gap-2"><svg class="w-4 h-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg>Search`), _tmpl$8 = /* @__PURE__ */ web.template(`<div style=overflow-y:auto><!$><!/><div class="divide-y divide-gray-100 dark:divide-gray-700"></div><!$><!/><!$><!/><!$><!/>`), _tmpl$9 = /* @__PURE__ */ web.template(`<div style="animation:scratchpad-slide-down 0.2s ease-out"><div><div class="flex items-center gap-2"><span class=text-base>📝</span><h3 class="text-sm font-semibold text-gray-900 dark:text-white"></h3><!$><!/></div><div class="flex items-center gap-2"><span></span><!$><!/></div></div><!$><!/><style>
|
|
7
7
|
@keyframes scratchpad-slide-down { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
|
|
8
|
-
`), _tmpl$
|
|
8
|
+
`), _tmpl$0 = /* @__PURE__ */ web.template(`<svg class="w-3 h-3 text-gray-300 dark:text-gray-600 flex-shrink-0"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7">`), _tmpl$1 = /* @__PURE__ */ web.template(`<span class="ml-1 font-normal opacity-75">— <!$><!/>`), _tmpl$10 = /* @__PURE__ */ web.template(`<span><!$><!/> <!$><!/><!$><!/>`), _tmpl$11 = /* @__PURE__ */ web.template(`<div><span class="flex-shrink-0 mt-0.5"></span><p>`), _tmpl$12 = /* @__PURE__ */ web.template(`<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">`), _tmpl$13 = /* @__PURE__ */ web.template(`<p class="text-sm text-gray-700 dark:text-gray-300">`), _tmpl$14 = /* @__PURE__ */ web.template(`<div class="mt-2 overflow-x-auto"><table class="min-w-full text-xs"><thead><tr></tr></thead><tbody>`), _tmpl$15 = /* @__PURE__ */ web.template(`<th class="px-2 py-1 text-left font-medium text-gray-500 dark:text-gray-400">`), _tmpl$16 = /* @__PURE__ */ web.template(`<tr class="border-t border-gray-100 dark:border-gray-700">`), _tmpl$17 = /* @__PURE__ */ web.template(`<td class="px-2 py-1 text-gray-700 dark:text-gray-300">`), _tmpl$18 = /* @__PURE__ */ web.template(`<pre class="text-xs text-gray-500 overflow-auto">`), _tmpl$19 = /* @__PURE__ */ web.template(`<div class="px-4 py-3"><h4 class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide mb-2"></h4><!$><!/>`), _tmpl$20 = /* @__PURE__ */ web.template(`<div class=space-y-1>`), _tmpl$21 = /* @__PURE__ */ web.template(`<div class="flex gap-2 text-xs"><span class="text-gray-500 dark:text-gray-400 font-mono min-w-[120px]"><!$><!/>:</span><span class="text-gray-900 dark:text-white">`), _tmpl$22 = /* @__PURE__ */ web.template(`<p class="text-xs text-gray-400 italic">No filters`), _tmpl$23 = /* @__PURE__ */ web.template(`<div class="flex flex-wrap gap-1.5"><!$><!/><!$><!/>`), _tmpl$24 = /* @__PURE__ */ web.template(`<button type=button class="ml-0.5 hover:text-blue-900 dark:hover:text-blue-100">×`), _tmpl$25 = /* @__PURE__ */ web.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"><button type=button class=hover:underline><span class="text-blue-500 dark:text-blue-400"><!$><!/>:</span> <!$><!/></button><!$><!/>`), _tmpl$26 = /* @__PURE__ */ web.template(`<div class="max-h-48 overflow-y-auto">`), _tmpl$27 = /* @__PURE__ */ web.template(`<button type=button class="mt-1 w-full px-2 py-1 text-xs text-gray-500 hover:text-gray-700 text-center">Cancel`), _tmpl$28 = /* @__PURE__ */ web.template(`<div class="absolute z-50 mt-1 left-0 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg p-2 min-w-[200px]">`), _tmpl$29 = /* @__PURE__ */ web.template(`<div class=relative><!$><!/><!$><!/>`), _tmpl$30 = /* @__PURE__ */ web.template(`<button type=button class="inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium border border-dashed border-gray-300 dark:border-gray-600 text-gray-500 dark:text-gray-400 rounded-full hover:border-blue-400 hover:text-blue-500 transition-colors">+ <!$><!/>`), _tmpl$31 = /* @__PURE__ */ web.template(`<form class="flex gap-1"><input type=text autofocus class="flex-1 px-2 py-1 text-sm border border-gray-200 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:border-blue-400 outline-none"><button type=submit class="px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700">OK</button><button type=button class="px-2 py-1 text-xs text-gray-500 hover:text-gray-700">Cancel`), _tmpl$32 = /* @__PURE__ */ web.template(`<span class=ml-1>✓`), _tmpl$33 = /* @__PURE__ */ web.template(`<button type=button><!$><!/><!$><!/>`), _tmpl$34 = /* @__PURE__ */ web.template(`<form class="flex flex-col gap-3"><!$><!/><div class="flex justify-end"><button type=submit class="px-4 py-2 text-sm font-medium rounded-lg text-white bg-blue-600 hover:bg-blue-700 transition-colors">`), _tmpl$35 = /* @__PURE__ */ web.template(`<div class="flex justify-end"><button type=button class="px-3 py-1.5 text-sm font-medium text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded-lg transition-colors flex items-center gap-1">Next <svg class="w-3.5 h-3.5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7">`), _tmpl$36 = /* @__PURE__ */ web.template(`<div class=space-y-3><!$><!/><!$><!/>`), _tmpl$37 = /* @__PURE__ */ web.template(`<span class="text-xs font-normal text-gray-500 dark:text-gray-400">— <!$><!/>`), _tmpl$38 = /* @__PURE__ */ web.template(`<div class="mt-2 ml-6">`), _tmpl$39 = /* @__PURE__ */ web.template(`<div><div><span></span><!$><!/><!$><!/></div><!$><!/>`), _tmpl$40 = /* @__PURE__ */ web.template(`<div class="flex flex-wrap gap-2">`), _tmpl$41 = /* @__PURE__ */ web.template(`<span class=mr-1>`), _tmpl$42 = /* @__PURE__ */ web.template(`<div class=space-y-2><div class=space-y-1.5></div><!$><!/>`), _tmpl$43 = /* @__PURE__ */ web.template(`<div class="flex items-center gap-2 text-sm"><span></span><span class="text-gray-900 dark:text-white">`), _tmpl$44 = /* @__PURE__ */ web.template(`<div class="flex items-start gap-1.5 text-xs text-amber-600 dark:text-amber-400"><span class=flex-shrink-0>⚠️</span><span>`), _tmpl$45 = /* @__PURE__ */ web.template(`<input type=text class="w-full px-3 py-2 text-sm border border-gray-200 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:border-blue-400 outline-none">`), _tmpl$46 = /* @__PURE__ */ web.template(`<div class=space-y-3><p class="text-sm text-gray-700 dark:text-gray-300"></p><div class="flex gap-2"><button type=button class="px-3 py-1.5 text-sm font-medium rounded-lg bg-green-600 text-white hover:bg-green-700 transition-colors flex items-center gap-1">👍 <!$><!/></button><button type=button class="px-3 py-1.5 text-sm font-medium rounded-lg border border-gray-200 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors flex items-center gap-1">👎 <!$><!/></button></div><!$><!/>`), _tmpl$47 = /* @__PURE__ */ web.template(`<p class="text-xs text-gray-500 dark:text-gray-400 italic">"<!$><!/>"`), _tmpl$48 = /* @__PURE__ */ web.template(`<div class="mt-2 px-3 py-2 bg-blue-50 dark:bg-blue-900/10 rounded-lg text-sm text-blue-700 dark:text-blue-300"><span class=font-medium>Plan:</span> <!$><!/>`), _tmpl$49 = /* @__PURE__ */ web.template(`<button type=button class="text-xs text-blue-600 dark:text-blue-400 hover:underline flex items-center gap-1">✎ Modify`), _tmpl$50 = /* @__PURE__ */ web.template(`<div class=space-y-2><!$><!/><div class=space-y-1></div><!$><!/><!$><!/>`), _tmpl$51 = /* @__PURE__ */ web.template(`<div class="flex gap-2 text-sm"><span class="text-gray-500 dark:text-gray-400 font-medium min-w-[80px]"><!$><!/>:</span><span class="text-gray-900 dark:text-white">`);
|
|
9
9
|
const STATUS_BADGES = {
|
|
10
10
|
loading: {
|
|
11
11
|
label: "Loading...",
|
|
@@ -73,8 +73,8 @@ const ScratchpadPanel = (props) => {
|
|
|
73
73
|
if (previewTimer) clearTimeout(previewTimer);
|
|
74
74
|
});
|
|
75
75
|
return (() => {
|
|
76
|
-
var _el$ = web.getNextElement(_tmpl$
|
|
77
|
-
_el$
|
|
76
|
+
var _el$ = web.getNextElement(_tmpl$9), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$7 = _el$5.nextSibling, [_el$8, _co$] = web.getNextMarker(_el$7.nextSibling), _el$9 = _el$3.nextSibling, _el$0 = _el$9.firstChild, _el$10 = _el$0.nextSibling, [_el$11, _co$2] = web.getNextMarker(_el$10.nextSibling), _el$32 = _el$2.nextSibling, [_el$33, _co$7] = web.getNextMarker(_el$32.nextSibling);
|
|
77
|
+
_el$33.nextSibling;
|
|
78
78
|
_el$2.$$click = () => isCollapsible() && setCollapsed(!collapsed());
|
|
79
79
|
web.insert(_el$5, () => props.state.title);
|
|
80
80
|
web.insert(_el$3, web.createComponent(solidJs.Show, {
|
|
@@ -108,8 +108,49 @@ const ScratchpadPanel = (props) => {
|
|
|
108
108
|
return !collapsed();
|
|
109
109
|
},
|
|
110
110
|
get children() {
|
|
111
|
-
var _el$12 = web.getNextElement(_tmpl$
|
|
112
|
-
web.insert(_el$
|
|
111
|
+
var _el$12 = web.getNextElement(_tmpl$8), _el$23 = _el$12.firstChild, [_el$24, _co$3] = web.getNextMarker(_el$23.nextSibling), _el$14 = _el$24.nextSibling, _el$25 = _el$14.nextSibling, [_el$26, _co$4] = web.getNextMarker(_el$25.nextSibling), _el$27 = _el$26.nextSibling, [_el$28, _co$5] = web.getNextMarker(_el$27.nextSibling), _el$29 = _el$28.nextSibling, [_el$30, _co$6] = web.getNextMarker(_el$29.nextSibling);
|
|
112
|
+
web.insert(_el$12, web.createComponent(solidJs.Show, {
|
|
113
|
+
get when() {
|
|
114
|
+
return web.memo(() => !!props.state.turnHistory)() && props.state.turnHistory.length > 0;
|
|
115
|
+
},
|
|
116
|
+
get children() {
|
|
117
|
+
var _el$13 = web.getNextElement(_tmpl$3);
|
|
118
|
+
web.insert(_el$13, web.createComponent(solidJs.For, {
|
|
119
|
+
get each() {
|
|
120
|
+
return props.state.turnHistory;
|
|
121
|
+
},
|
|
122
|
+
children: (turn, i) => [web.createComponent(solidJs.Show, {
|
|
123
|
+
get when() {
|
|
124
|
+
return i() > 0;
|
|
125
|
+
},
|
|
126
|
+
get children() {
|
|
127
|
+
return web.getNextElement(_tmpl$0);
|
|
128
|
+
}
|
|
129
|
+
}), (() => {
|
|
130
|
+
var _el$35 = web.getNextElement(_tmpl$10), _el$41 = _el$35.firstChild, [_el$42, _co$9] = web.getNextMarker(_el$41.nextSibling), _el$36 = _el$42.nextSibling, _el$43 = _el$36.nextSibling, [_el$44, _co$0] = web.getNextMarker(_el$43.nextSibling), _el$45 = _el$44.nextSibling, [_el$46, _co$1] = web.getNextMarker(_el$45.nextSibling);
|
|
131
|
+
web.insert(_el$35, (() => {
|
|
132
|
+
var _c$ = web.memo(() => turn.status === "done");
|
|
133
|
+
return () => _c$() ? "✅" : turn.status === "active" ? "●" : "○";
|
|
134
|
+
})(), _el$42, _co$9);
|
|
135
|
+
web.insert(_el$35, () => turn.label, _el$44, _co$0);
|
|
136
|
+
web.insert(_el$35, web.createComponent(solidJs.Show, {
|
|
137
|
+
get when() {
|
|
138
|
+
return turn.summary;
|
|
139
|
+
},
|
|
140
|
+
get children() {
|
|
141
|
+
var _el$37 = web.getNextElement(_tmpl$1), _el$38 = _el$37.firstChild, _el$39 = _el$38.nextSibling, [_el$40, _co$8] = web.getNextMarker(_el$39.nextSibling);
|
|
142
|
+
web.insert(_el$37, () => turn.summary, _el$40, _co$8);
|
|
143
|
+
return _el$37;
|
|
144
|
+
}
|
|
145
|
+
}), _el$46, _co$1);
|
|
146
|
+
web.effect(() => web.className(_el$35, `text-xs font-medium px-2 py-0.5 rounded-full ${turn.status === "done" ? "bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400" : turn.status === "active" ? "bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400" : turn.status === "skipped" ? "bg-gray-100 dark:bg-gray-700 text-gray-400 line-through" : "bg-gray-100 dark:bg-gray-700 text-gray-400"}`));
|
|
147
|
+
return _el$35;
|
|
148
|
+
})()]
|
|
149
|
+
}));
|
|
150
|
+
return _el$13;
|
|
151
|
+
}
|
|
152
|
+
}), _el$24, _co$3);
|
|
153
|
+
web.insert(_el$14, web.createComponent(solidJs.For, {
|
|
113
154
|
get each() {
|
|
114
155
|
return props.state.sections;
|
|
115
156
|
},
|
|
@@ -134,116 +175,116 @@ const ScratchpadPanel = (props) => {
|
|
|
134
175
|
return props.state.agentMessages.length > 0;
|
|
135
176
|
},
|
|
136
177
|
get children() {
|
|
137
|
-
var _el$
|
|
138
|
-
web.insert(_el$
|
|
178
|
+
var _el$15 = web.getNextElement(_tmpl$4);
|
|
179
|
+
web.insert(_el$15, web.createComponent(solidJs.For, {
|
|
139
180
|
get each() {
|
|
140
181
|
return props.state.agentMessages;
|
|
141
182
|
},
|
|
142
183
|
children: (msg) => (() => {
|
|
143
|
-
var _el$
|
|
144
|
-
web.insert(_el$
|
|
145
|
-
var _c$ = web.memo(() => msg.type === "warning");
|
|
146
|
-
return () => _c$() ? "⚠️" : msg.type === "question" ? "❓" : "ℹ️";
|
|
184
|
+
var _el$47 = web.getNextElement(_tmpl$11), _el$48 = _el$47.firstChild, _el$49 = _el$48.nextSibling;
|
|
185
|
+
web.insert(_el$48, (() => {
|
|
186
|
+
var _c$2 = web.memo(() => msg.type === "warning");
|
|
187
|
+
return () => _c$2() ? "⚠️" : msg.type === "question" ? "❓" : "ℹ️";
|
|
147
188
|
})());
|
|
148
|
-
web.insert(_el$
|
|
149
|
-
web.effect(() => web.className(_el$
|
|
150
|
-
return _el$
|
|
189
|
+
web.insert(_el$49, () => msg.text);
|
|
190
|
+
web.effect(() => web.className(_el$47, `flex items-start gap-2 text-sm rounded-lg px-3 py-2 ${msg.type === "warning" ? "bg-amber-50 dark:bg-amber-900/10 text-amber-700 dark:text-amber-400" : msg.type === "question" ? "bg-blue-50 dark:bg-blue-900/10 text-blue-700 dark:text-blue-400 border border-blue-200 dark:border-blue-800" : "bg-gray-50 dark:bg-gray-700/50 text-gray-600 dark:text-gray-400"}`));
|
|
191
|
+
return _el$47;
|
|
151
192
|
})()
|
|
152
193
|
}));
|
|
153
|
-
return _el$
|
|
194
|
+
return _el$15;
|
|
154
195
|
}
|
|
155
|
-
}), _el$
|
|
196
|
+
}), _el$26, _co$4);
|
|
156
197
|
web.insert(_el$12, web.createComponent(solidJs.Show, {
|
|
157
198
|
get when() {
|
|
158
199
|
return preview();
|
|
159
200
|
},
|
|
160
201
|
get children() {
|
|
161
|
-
var _el$
|
|
162
|
-
web.insert(_el$
|
|
202
|
+
var _el$16 = web.getNextElement(_tmpl$6);
|
|
203
|
+
web.insert(_el$16, web.createComponent(solidJs.Show, {
|
|
163
204
|
get when() {
|
|
164
205
|
return preview().count === 0;
|
|
165
206
|
},
|
|
166
207
|
get fallback() {
|
|
167
208
|
return [(() => {
|
|
168
|
-
var _el$
|
|
169
|
-
web.insert(_el$
|
|
170
|
-
return _el$
|
|
209
|
+
var _el$50 = web.getNextElement(_tmpl$12), _el$51 = _el$50.firstChild, _el$52 = _el$51.nextSibling;
|
|
210
|
+
web.insert(_el$52, () => preview().count.toLocaleString());
|
|
211
|
+
return _el$50;
|
|
171
212
|
})(), (() => {
|
|
172
|
-
var _el$
|
|
173
|
-
web.insert(_el$
|
|
174
|
-
return _el$
|
|
213
|
+
var _el$53 = web.getNextElement(_tmpl$13);
|
|
214
|
+
web.insert(_el$53, () => preview().summary);
|
|
215
|
+
return _el$53;
|
|
175
216
|
})(), web.createComponent(solidJs.Show, {
|
|
176
217
|
get when() {
|
|
177
218
|
return web.memo(() => !!preview().rows)() && preview().rows.length > 0;
|
|
178
219
|
},
|
|
179
220
|
get children() {
|
|
180
|
-
var _el$
|
|
181
|
-
web.insert(_el$
|
|
221
|
+
var _el$54 = web.getNextElement(_tmpl$14), _el$55 = _el$54.firstChild, _el$56 = _el$55.firstChild, _el$57 = _el$56.firstChild, _el$58 = _el$56.nextSibling;
|
|
222
|
+
web.insert(_el$57, web.createComponent(solidJs.For, {
|
|
182
223
|
get each() {
|
|
183
224
|
return Object.keys(preview().rows[0]);
|
|
184
225
|
},
|
|
185
226
|
children: (k) => (() => {
|
|
186
|
-
var _el$
|
|
187
|
-
web.insert(_el$
|
|
188
|
-
return _el$
|
|
227
|
+
var _el$59 = web.getNextElement(_tmpl$15);
|
|
228
|
+
web.insert(_el$59, k);
|
|
229
|
+
return _el$59;
|
|
189
230
|
})()
|
|
190
231
|
}));
|
|
191
|
-
web.insert(_el$
|
|
232
|
+
web.insert(_el$58, web.createComponent(solidJs.For, {
|
|
192
233
|
get each() {
|
|
193
234
|
return preview().rows.slice(0, 5);
|
|
194
235
|
},
|
|
195
236
|
children: (row) => (() => {
|
|
196
|
-
var _el$
|
|
197
|
-
web.insert(_el$
|
|
237
|
+
var _el$60 = web.getNextElement(_tmpl$16);
|
|
238
|
+
web.insert(_el$60, web.createComponent(solidJs.For, {
|
|
198
239
|
get each() {
|
|
199
240
|
return Object.values(row);
|
|
200
241
|
},
|
|
201
242
|
children: (v) => (() => {
|
|
202
|
-
var _el$
|
|
203
|
-
web.insert(_el$
|
|
204
|
-
return _el$
|
|
243
|
+
var _el$61 = web.getNextElement(_tmpl$17);
|
|
244
|
+
web.insert(_el$61, () => String(v));
|
|
245
|
+
return _el$61;
|
|
205
246
|
})()
|
|
206
247
|
}));
|
|
207
|
-
return _el$
|
|
248
|
+
return _el$60;
|
|
208
249
|
})()
|
|
209
250
|
}));
|
|
210
|
-
return _el$
|
|
251
|
+
return _el$54;
|
|
211
252
|
}
|
|
212
253
|
})];
|
|
213
254
|
},
|
|
214
255
|
get children() {
|
|
215
|
-
var _el$
|
|
216
|
-
_el$
|
|
256
|
+
var _el$17 = web.getNextElement(_tmpl$5), _el$18 = _el$17.firstChild, _el$19 = _el$18.nextSibling, _el$20 = _el$19.nextSibling;
|
|
257
|
+
_el$20.$$click = () => {
|
|
217
258
|
var _a;
|
|
218
259
|
return (_a = props.onAction) == null ? void 0 : _a.call(props, "refine_filters");
|
|
219
260
|
};
|
|
220
261
|
web.runHydrationEvents();
|
|
221
|
-
return _el$
|
|
262
|
+
return _el$17;
|
|
222
263
|
}
|
|
223
264
|
}));
|
|
224
|
-
return _el$
|
|
265
|
+
return _el$16;
|
|
225
266
|
}
|
|
226
|
-
}), _el$
|
|
267
|
+
}), _el$28, _co$5);
|
|
227
268
|
web.insert(_el$12, web.createComponent(solidJs.Show, {
|
|
228
269
|
get when() {
|
|
229
270
|
return web.memo(() => props.state.status === "waiting_human")() && hasFilters();
|
|
230
271
|
},
|
|
231
272
|
get children() {
|
|
232
|
-
var _el$
|
|
233
|
-
_el$
|
|
273
|
+
var _el$21 = web.getNextElement(_tmpl$7), _el$22 = _el$21.firstChild;
|
|
274
|
+
_el$22.$$click = () => {
|
|
234
275
|
var _a;
|
|
235
276
|
return (_a = props.onAction) == null ? void 0 : _a.call(props, "search", {
|
|
236
277
|
filters: props.state.filters
|
|
237
278
|
});
|
|
238
279
|
};
|
|
239
280
|
web.runHydrationEvents();
|
|
240
|
-
return _el$
|
|
281
|
+
return _el$21;
|
|
241
282
|
}
|
|
242
|
-
}), _el$
|
|
283
|
+
}), _el$30, _co$6);
|
|
243
284
|
web.effect((_$p) => web.setStyleProperty(_el$12, "max-height", props.maxHeight || "500px"));
|
|
244
285
|
return _el$12;
|
|
245
286
|
}
|
|
246
|
-
}), _el$
|
|
287
|
+
}), _el$33, _co$7);
|
|
247
288
|
web.effect((_p$) => {
|
|
248
289
|
var _v$ = `w-full bg-white dark:bg-gray-800 rounded-xl border shadow-lg overflow-visible ${props.state.status === "waiting_human" ? "border-blue-300 dark:border-blue-600" : "border-gray-200 dark:border-gray-700"}`, _v$2 = `flex items-center justify-between px-4 py-3 border-b border-gray-100 dark:border-gray-700 ${isCollapsible() ? "cursor-pointer select-none hover:bg-gray-50 dark:hover:bg-gray-750" : ""}`, _v$3 = `px-2 py-0.5 text-xs font-medium rounded-full ${badge().class}`;
|
|
249
290
|
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
@@ -261,9 +302,9 @@ const ScratchpadPanel = (props) => {
|
|
|
261
302
|
};
|
|
262
303
|
const SectionRenderer = (props) => {
|
|
263
304
|
return (() => {
|
|
264
|
-
var _el$
|
|
265
|
-
web.insert(_el$
|
|
266
|
-
web.insert(_el$
|
|
305
|
+
var _el$62 = web.getNextElement(_tmpl$19), _el$63 = _el$62.firstChild, _el$66 = _el$63.nextSibling, [_el$67, _co$10] = web.getNextMarker(_el$66.nextSibling);
|
|
306
|
+
web.insert(_el$63, () => props.section.title);
|
|
307
|
+
web.insert(_el$62, web.createComponent(solidJs.Switch, {
|
|
267
308
|
get children() {
|
|
268
309
|
return [web.createComponent(solidJs.Match, {
|
|
269
310
|
get when() {
|
|
@@ -298,9 +339,9 @@ const SectionRenderer = (props) => {
|
|
|
298
339
|
return props.section.type === "message";
|
|
299
340
|
},
|
|
300
341
|
get children() {
|
|
301
|
-
var _el$
|
|
302
|
-
web.insert(_el$
|
|
303
|
-
return _el$
|
|
342
|
+
var _el$64 = web.getNextElement(_tmpl$13);
|
|
343
|
+
web.insert(_el$64, () => String(props.section.content));
|
|
344
|
+
return _el$64;
|
|
304
345
|
}
|
|
305
346
|
}), web.createComponent(solidJs.Match, {
|
|
306
347
|
get when() {
|
|
@@ -350,40 +391,79 @@ const SectionRenderer = (props) => {
|
|
|
350
391
|
}
|
|
351
392
|
});
|
|
352
393
|
}
|
|
394
|
+
}), web.createComponent(solidJs.Match, {
|
|
395
|
+
get when() {
|
|
396
|
+
return props.section.type === "understanding";
|
|
397
|
+
},
|
|
398
|
+
get children() {
|
|
399
|
+
return web.createComponent(UnderstandingSection, {
|
|
400
|
+
get content() {
|
|
401
|
+
return props.section.content;
|
|
402
|
+
}
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
}), web.createComponent(solidJs.Match, {
|
|
406
|
+
get when() {
|
|
407
|
+
return props.section.type === "feedback";
|
|
408
|
+
},
|
|
409
|
+
get children() {
|
|
410
|
+
return web.createComponent(FeedbackSection, {
|
|
411
|
+
get content() {
|
|
412
|
+
return props.section.content;
|
|
413
|
+
},
|
|
414
|
+
get onAction() {
|
|
415
|
+
return props.onAction;
|
|
416
|
+
}
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
}), web.createComponent(solidJs.Match, {
|
|
420
|
+
get when() {
|
|
421
|
+
return props.section.type === "prompt";
|
|
422
|
+
},
|
|
423
|
+
get children() {
|
|
424
|
+
return web.createComponent(PromptSection, {
|
|
425
|
+
get content() {
|
|
426
|
+
return props.section.content;
|
|
427
|
+
},
|
|
428
|
+
get onAction() {
|
|
429
|
+
return props.onAction;
|
|
430
|
+
}
|
|
431
|
+
});
|
|
432
|
+
}
|
|
353
433
|
}), web.createComponent(solidJs.Match, {
|
|
354
434
|
when: true,
|
|
355
435
|
get children() {
|
|
356
|
-
var _el$
|
|
357
|
-
web.insert(_el$
|
|
358
|
-
return _el$
|
|
436
|
+
var _el$65 = web.getNextElement(_tmpl$18);
|
|
437
|
+
web.insert(_el$65, () => JSON.stringify(props.section.content, null, 2));
|
|
438
|
+
return _el$65;
|
|
359
439
|
}
|
|
360
440
|
})];
|
|
361
441
|
}
|
|
362
|
-
}), _el$
|
|
363
|
-
return _el$
|
|
442
|
+
}), _el$67, _co$10);
|
|
443
|
+
return _el$62;
|
|
364
444
|
})();
|
|
365
445
|
};
|
|
366
446
|
const DataSection = (props) => {
|
|
367
447
|
const entries = () => typeof props.content === "object" && props.content ? Object.entries(props.content) : [];
|
|
368
448
|
return (() => {
|
|
369
|
-
var _el$
|
|
370
|
-
web.insert(_el$
|
|
449
|
+
var _el$68 = web.getNextElement(_tmpl$20);
|
|
450
|
+
web.insert(_el$68, web.createComponent(solidJs.For, {
|
|
371
451
|
get each() {
|
|
372
452
|
return entries();
|
|
373
453
|
},
|
|
374
454
|
children: ([k, v]) => (() => {
|
|
375
|
-
var _el$
|
|
376
|
-
_el$
|
|
377
|
-
var _el$
|
|
378
|
-
web.insert(_el$
|
|
379
|
-
web.insert(_el$
|
|
380
|
-
var _c$
|
|
381
|
-
return () => _c$
|
|
455
|
+
var _el$69 = web.getNextElement(_tmpl$21), _el$70 = _el$69.firstChild, _el$72 = _el$70.firstChild, [_el$73, _co$11] = web.getNextMarker(_el$72.nextSibling);
|
|
456
|
+
_el$73.nextSibling;
|
|
457
|
+
var _el$74 = _el$70.nextSibling;
|
|
458
|
+
web.insert(_el$70, k, _el$73, _co$11);
|
|
459
|
+
web.insert(_el$74, (() => {
|
|
460
|
+
var _c$3 = web.memo(() => !!Array.isArray(v));
|
|
461
|
+
return () => _c$3() ? v.join(", ") : String(v);
|
|
382
462
|
})());
|
|
383
|
-
return _el$
|
|
463
|
+
return _el$69;
|
|
384
464
|
})()
|
|
385
465
|
}));
|
|
386
|
-
return _el$
|
|
466
|
+
return _el$68;
|
|
387
467
|
})();
|
|
388
468
|
};
|
|
389
469
|
const InteractiveFilterSection = (props) => {
|
|
@@ -417,8 +497,8 @@ const InteractiveFilterSection = (props) => {
|
|
|
417
497
|
};
|
|
418
498
|
const getDef = (key) => filterDefs()[key] || {};
|
|
419
499
|
return (() => {
|
|
420
|
-
var _el$
|
|
421
|
-
web.insert(_el$
|
|
500
|
+
var _el$75 = web.getNextElement(_tmpl$23), _el$77 = _el$75.firstChild, [_el$78, _co$12] = web.getNextMarker(_el$77.nextSibling), _el$79 = _el$78.nextSibling, [_el$80, _co$13] = web.getNextMarker(_el$79.nextSibling);
|
|
501
|
+
web.insert(_el$75, web.createComponent(solidJs.For, {
|
|
422
502
|
get each() {
|
|
423
503
|
return allKeys();
|
|
424
504
|
},
|
|
@@ -427,136 +507,136 @@ const InteractiveFilterSection = (props) => {
|
|
|
427
507
|
const value = () => props.filters[key];
|
|
428
508
|
const hasValue = () => value() !== void 0 && value() !== "";
|
|
429
509
|
return (() => {
|
|
430
|
-
var _el$
|
|
431
|
-
web.insert(_el$
|
|
510
|
+
var _el$81 = web.getNextElement(_tmpl$29), _el$97 = _el$81.firstChild, [_el$98, _co$17] = web.getNextMarker(_el$97.nextSibling), _el$99 = _el$98.nextSibling, [_el$100, _co$18] = web.getNextMarker(_el$99.nextSibling);
|
|
511
|
+
web.insert(_el$81, web.createComponent(solidJs.Show, {
|
|
432
512
|
get when() {
|
|
433
513
|
return hasValue();
|
|
434
514
|
},
|
|
435
515
|
get fallback() {
|
|
436
516
|
return (() => {
|
|
437
|
-
var _el$
|
|
438
|
-
_el$
|
|
517
|
+
var _el$101 = web.getNextElement(_tmpl$30), _el$102 = _el$101.firstChild, _el$103 = _el$102.nextSibling, [_el$104, _co$19] = web.getNextMarker(_el$103.nextSibling);
|
|
518
|
+
_el$101.$$click = () => {
|
|
439
519
|
setEditingKey(key);
|
|
440
520
|
setEditValue("");
|
|
441
521
|
};
|
|
442
|
-
web.insert(_el$
|
|
522
|
+
web.insert(_el$101, () => {
|
|
443
523
|
var _a;
|
|
444
524
|
return ((_a = def()) == null ? void 0 : _a.label) || key;
|
|
445
|
-
}, _el$
|
|
525
|
+
}, _el$104, _co$19);
|
|
446
526
|
web.runHydrationEvents();
|
|
447
|
-
return _el$
|
|
527
|
+
return _el$101;
|
|
448
528
|
})();
|
|
449
529
|
},
|
|
450
530
|
get children() {
|
|
451
|
-
var _el$
|
|
452
|
-
_el$
|
|
453
|
-
var _el$
|
|
454
|
-
_el$
|
|
531
|
+
var _el$82 = web.getNextElement(_tmpl$25), _el$83 = _el$82.firstChild, _el$84 = _el$83.firstChild, _el$86 = _el$84.firstChild, [_el$87, _co$14] = web.getNextMarker(_el$86.nextSibling);
|
|
532
|
+
_el$87.nextSibling;
|
|
533
|
+
var _el$88 = _el$84.nextSibling, _el$89 = _el$88.nextSibling, [_el$90, _co$15] = web.getNextMarker(_el$89.nextSibling), _el$92 = _el$83.nextSibling, [_el$93, _co$16] = web.getNextMarker(_el$92.nextSibling);
|
|
534
|
+
_el$83.$$click = () => {
|
|
455
535
|
setEditingKey(key);
|
|
456
536
|
setEditValue(String(value() || ""));
|
|
457
537
|
};
|
|
458
|
-
web.insert(_el$
|
|
538
|
+
web.insert(_el$84, () => {
|
|
459
539
|
var _a;
|
|
460
540
|
return ((_a = def()) == null ? void 0 : _a.label) || key;
|
|
461
|
-
}, _el$
|
|
462
|
-
web.insert(_el$
|
|
463
|
-
var _c$
|
|
464
|
-
return () => _c$
|
|
465
|
-
})(), _el$
|
|
466
|
-
web.insert(_el$
|
|
541
|
+
}, _el$87, _co$14);
|
|
542
|
+
web.insert(_el$83, (() => {
|
|
543
|
+
var _c$4 = web.memo(() => !!Array.isArray(value()));
|
|
544
|
+
return () => _c$4() ? value().join(", ") : String(value());
|
|
545
|
+
})(), _el$90, _co$15);
|
|
546
|
+
web.insert(_el$82, web.createComponent(solidJs.Show, {
|
|
467
547
|
get when() {
|
|
468
548
|
return props.onFilterChange;
|
|
469
549
|
},
|
|
470
550
|
get children() {
|
|
471
|
-
var _el$
|
|
472
|
-
_el$
|
|
473
|
-
web.setAttribute(_el$
|
|
551
|
+
var _el$91 = web.getNextElement(_tmpl$24);
|
|
552
|
+
_el$91.$$click = () => removeFilter(key);
|
|
553
|
+
web.setAttribute(_el$91, "aria-label", `Remove ${key}`);
|
|
474
554
|
web.runHydrationEvents();
|
|
475
|
-
return _el$
|
|
555
|
+
return _el$91;
|
|
476
556
|
}
|
|
477
|
-
}), _el$
|
|
557
|
+
}), _el$93, _co$16);
|
|
478
558
|
web.runHydrationEvents();
|
|
479
|
-
return _el$
|
|
559
|
+
return _el$82;
|
|
480
560
|
}
|
|
481
|
-
}), _el$
|
|
482
|
-
web.insert(_el$
|
|
561
|
+
}), _el$98, _co$17);
|
|
562
|
+
web.insert(_el$81, web.createComponent(solidJs.Show, {
|
|
483
563
|
get when() {
|
|
484
564
|
return editingKey() === key;
|
|
485
565
|
},
|
|
486
566
|
get children() {
|
|
487
|
-
var _el$
|
|
488
|
-
web.insert(_el$
|
|
567
|
+
var _el$94 = web.getNextElement(_tmpl$28);
|
|
568
|
+
web.insert(_el$94, web.createComponent(solidJs.Show, {
|
|
489
569
|
get when() {
|
|
490
570
|
var _a;
|
|
491
571
|
return (_a = def()) == null ? void 0 : _a.options;
|
|
492
572
|
},
|
|
493
573
|
get fallback() {
|
|
494
574
|
return (() => {
|
|
495
|
-
var _el$
|
|
496
|
-
_el$
|
|
575
|
+
var _el$105 = web.getNextElement(_tmpl$31), _el$106 = _el$105.firstChild, _el$107 = _el$106.nextSibling, _el$108 = _el$107.nextSibling;
|
|
576
|
+
_el$105.addEventListener("submit", (e) => {
|
|
497
577
|
e.preventDefault();
|
|
498
578
|
setFilter(key, editValue());
|
|
499
579
|
});
|
|
500
|
-
_el$
|
|
501
|
-
_el$
|
|
580
|
+
_el$106.$$input = (e) => setEditValue(e.currentTarget.value);
|
|
581
|
+
_el$108.$$click = () => setEditingKey(null);
|
|
502
582
|
web.effect(() => {
|
|
503
583
|
var _a;
|
|
504
|
-
return web.setAttribute(_el$
|
|
584
|
+
return web.setAttribute(_el$106, "placeholder", ((_a = def()) == null ? void 0 : _a.placeholder) || key);
|
|
505
585
|
});
|
|
506
|
-
web.effect(() => web.setProperty(_el$
|
|
586
|
+
web.effect(() => web.setProperty(_el$106, "value", editValue()));
|
|
507
587
|
web.runHydrationEvents();
|
|
508
|
-
return _el$
|
|
588
|
+
return _el$105;
|
|
509
589
|
})();
|
|
510
590
|
},
|
|
511
591
|
get children() {
|
|
512
592
|
return [(() => {
|
|
513
|
-
var _el$
|
|
514
|
-
web.insert(_el$
|
|
593
|
+
var _el$95 = web.getNextElement(_tmpl$26);
|
|
594
|
+
web.insert(_el$95, web.createComponent(solidJs.For, {
|
|
515
595
|
get each() {
|
|
516
596
|
return def().options;
|
|
517
597
|
},
|
|
518
598
|
children: (opt) => (() => {
|
|
519
|
-
var _el$
|
|
520
|
-
_el$
|
|
521
|
-
web.insert(_el$
|
|
522
|
-
web.insert(_el$
|
|
599
|
+
var _el$109 = web.getNextElement(_tmpl$33), _el$111 = _el$109.firstChild, [_el$112, _co$20] = web.getNextMarker(_el$111.nextSibling), _el$113 = _el$112.nextSibling, [_el$114, _co$21] = web.getNextMarker(_el$113.nextSibling);
|
|
600
|
+
_el$109.$$click = () => setFilter(key, opt.value);
|
|
601
|
+
web.insert(_el$109, () => opt.label, _el$112, _co$20);
|
|
602
|
+
web.insert(_el$109, web.createComponent(solidJs.Show, {
|
|
523
603
|
get when() {
|
|
524
604
|
return String(value()) === opt.value;
|
|
525
605
|
},
|
|
526
606
|
get children() {
|
|
527
|
-
return web.getNextElement(_tmpl$
|
|
607
|
+
return web.getNextElement(_tmpl$32);
|
|
528
608
|
}
|
|
529
|
-
}), _el$
|
|
530
|
-
web.effect(() => web.className(_el$
|
|
609
|
+
}), _el$114, _co$21);
|
|
610
|
+
web.effect(() => web.className(_el$109, `w-full text-left px-2 py-1.5 text-sm rounded hover:bg-blue-50 dark:hover:bg-blue-900/20 ${String(value()) === opt.value ? "text-blue-600 dark:text-blue-400 bg-blue-50/50 dark:bg-blue-900/10" : "text-gray-900 dark:text-white"}`));
|
|
531
611
|
web.runHydrationEvents();
|
|
532
|
-
return _el$
|
|
612
|
+
return _el$109;
|
|
533
613
|
})()
|
|
534
614
|
}));
|
|
535
|
-
return _el$
|
|
615
|
+
return _el$95;
|
|
536
616
|
})(), (() => {
|
|
537
|
-
var _el$
|
|
538
|
-
_el$
|
|
617
|
+
var _el$96 = web.getNextElement(_tmpl$27);
|
|
618
|
+
_el$96.$$click = () => setEditingKey(null);
|
|
539
619
|
web.runHydrationEvents();
|
|
540
|
-
return _el$
|
|
620
|
+
return _el$96;
|
|
541
621
|
})()];
|
|
542
622
|
}
|
|
543
623
|
}));
|
|
544
|
-
return _el$
|
|
624
|
+
return _el$94;
|
|
545
625
|
}
|
|
546
|
-
}), _el$
|
|
547
|
-
return _el$
|
|
626
|
+
}), _el$100, _co$18);
|
|
627
|
+
return _el$81;
|
|
548
628
|
})();
|
|
549
629
|
}
|
|
550
|
-
}), _el$
|
|
551
|
-
web.insert(_el$
|
|
630
|
+
}), _el$78, _co$12);
|
|
631
|
+
web.insert(_el$75, web.createComponent(solidJs.Show, {
|
|
552
632
|
get when() {
|
|
553
633
|
return allKeys().length === 0;
|
|
554
634
|
},
|
|
555
635
|
get children() {
|
|
556
|
-
return web.getNextElement(_tmpl$
|
|
636
|
+
return web.getNextElement(_tmpl$22);
|
|
557
637
|
}
|
|
558
|
-
}), _el$
|
|
559
|
-
return _el$
|
|
638
|
+
}), _el$80, _co$13);
|
|
639
|
+
return _el$75;
|
|
560
640
|
})();
|
|
561
641
|
};
|
|
562
642
|
const EmbeddedFormSection = (props) => {
|
|
@@ -614,9 +694,9 @@ const EmbeddedFormSection = (props) => {
|
|
|
614
694
|
});
|
|
615
695
|
};
|
|
616
696
|
return (() => {
|
|
617
|
-
var _el$
|
|
618
|
-
_el$
|
|
619
|
-
web.insert(_el$
|
|
697
|
+
var _el$115 = web.getNextElement(_tmpl$34), _el$118 = _el$115.firstChild, [_el$119, _co$22] = web.getNextMarker(_el$118.nextSibling), _el$116 = _el$119.nextSibling, _el$117 = _el$116.firstChild;
|
|
698
|
+
_el$115.addEventListener("submit", handleSubmit);
|
|
699
|
+
web.insert(_el$115, web.createComponent(solidJs.For, {
|
|
620
700
|
get each() {
|
|
621
701
|
return config().fields;
|
|
622
702
|
},
|
|
@@ -630,9 +710,9 @@ const EmbeddedFormSection = (props) => {
|
|
|
630
710
|
onChange: (val) => updateField(field.name, val),
|
|
631
711
|
formData
|
|
632
712
|
})
|
|
633
|
-
}), _el$
|
|
634
|
-
web.insert(_el$
|
|
635
|
-
return _el$
|
|
713
|
+
}), _el$119, _co$22);
|
|
714
|
+
web.insert(_el$117, () => config().submitLabel);
|
|
715
|
+
return _el$115;
|
|
636
716
|
})();
|
|
637
717
|
};
|
|
638
718
|
const EnrichedStepsSection = (props) => {
|
|
@@ -644,35 +724,35 @@ const EnrichedStepsSection = (props) => {
|
|
|
644
724
|
};
|
|
645
725
|
};
|
|
646
726
|
return (() => {
|
|
647
|
-
var _el$
|
|
648
|
-
web.insert(_el$
|
|
727
|
+
var _el$120 = web.getNextElement(_tmpl$36), _el$123 = _el$120.firstChild, [_el$124, _co$23] = web.getNextMarker(_el$123.nextSibling), _el$125 = _el$124.nextSibling, [_el$126, _co$24] = web.getNextMarker(_el$125.nextSibling);
|
|
728
|
+
web.insert(_el$120, web.createComponent(solidJs.For, {
|
|
649
729
|
get each() {
|
|
650
730
|
return stepsData().steps;
|
|
651
731
|
},
|
|
652
732
|
children: (step) => (() => {
|
|
653
|
-
var _el$
|
|
654
|
-
web.insert(_el$
|
|
655
|
-
var _c$
|
|
656
|
-
return () => _c$
|
|
733
|
+
var _el$127 = web.getNextElement(_tmpl$39), _el$128 = _el$127.firstChild, _el$129 = _el$128.firstChild, _el$134 = _el$129.nextSibling, [_el$135, _co$26] = web.getNextMarker(_el$134.nextSibling), _el$136 = _el$135.nextSibling, [_el$137, _co$27] = web.getNextMarker(_el$136.nextSibling), _el$139 = _el$128.nextSibling, [_el$140, _co$28] = web.getNextMarker(_el$139.nextSibling);
|
|
734
|
+
web.insert(_el$129, (() => {
|
|
735
|
+
var _c$5 = web.memo(() => step.status === "done");
|
|
736
|
+
return () => _c$5() ? "✅" : step.status === "active" ? "●" : "○";
|
|
657
737
|
})());
|
|
658
|
-
web.insert(_el$
|
|
659
|
-
web.insert(_el$
|
|
738
|
+
web.insert(_el$128, () => step.label, _el$135, _co$26);
|
|
739
|
+
web.insert(_el$128, web.createComponent(solidJs.Show, {
|
|
660
740
|
get when() {
|
|
661
741
|
return web.memo(() => !!step.description)() && step.status === "active";
|
|
662
742
|
},
|
|
663
743
|
get children() {
|
|
664
|
-
var _el$
|
|
665
|
-
web.insert(_el$
|
|
666
|
-
return _el$
|
|
744
|
+
var _el$130 = web.getNextElement(_tmpl$37), _el$131 = _el$130.firstChild, _el$132 = _el$131.nextSibling, [_el$133, _co$25] = web.getNextMarker(_el$132.nextSibling);
|
|
745
|
+
web.insert(_el$130, () => step.description, _el$133, _co$25);
|
|
746
|
+
return _el$130;
|
|
667
747
|
}
|
|
668
|
-
}), _el$
|
|
669
|
-
web.insert(_el$
|
|
748
|
+
}), _el$137, _co$27);
|
|
749
|
+
web.insert(_el$127, web.createComponent(solidJs.Show, {
|
|
670
750
|
get when() {
|
|
671
751
|
return web.memo(() => step.status === "active")() && step.content;
|
|
672
752
|
},
|
|
673
753
|
get children() {
|
|
674
|
-
var _el$
|
|
675
|
-
web.insert(_el$
|
|
754
|
+
var _el$138 = web.getNextElement(_tmpl$38);
|
|
755
|
+
web.insert(_el$138, web.createComponent(SectionRenderer, {
|
|
676
756
|
get section() {
|
|
677
757
|
return step.content;
|
|
678
758
|
},
|
|
@@ -684,71 +764,242 @@ const EnrichedStepsSection = (props) => {
|
|
|
684
764
|
return props.onAction;
|
|
685
765
|
}
|
|
686
766
|
}));
|
|
687
|
-
return _el$
|
|
767
|
+
return _el$138;
|
|
688
768
|
}
|
|
689
|
-
}), _el$
|
|
769
|
+
}), _el$140, _co$28);
|
|
690
770
|
web.effect((_p$) => {
|
|
691
771
|
var _v$4 = `rounded-lg ${step.status === "active" ? "bg-blue-50/50 dark:bg-blue-900/10 border border-blue-200 dark:border-blue-800 p-3" : "px-1"}`, _v$5 = `flex items-center gap-2 text-sm font-medium ${step.status === "done" ? "text-green-600 dark:text-green-400" : step.status === "active" ? "text-blue-600 dark:text-blue-400" : "text-gray-400"}`;
|
|
692
|
-
_v$4 !== _p$.e && web.className(_el$
|
|
693
|
-
_v$5 !== _p$.t && web.className(_el$
|
|
772
|
+
_v$4 !== _p$.e && web.className(_el$127, _p$.e = _v$4);
|
|
773
|
+
_v$5 !== _p$.t && web.className(_el$128, _p$.t = _v$5);
|
|
694
774
|
return _p$;
|
|
695
775
|
}, {
|
|
696
776
|
e: void 0,
|
|
697
777
|
t: void 0
|
|
698
778
|
});
|
|
699
|
-
return _el$
|
|
779
|
+
return _el$127;
|
|
700
780
|
})()
|
|
701
|
-
}), _el$
|
|
702
|
-
web.insert(_el$
|
|
781
|
+
}), _el$124, _co$23);
|
|
782
|
+
web.insert(_el$120, web.createComponent(solidJs.Show, {
|
|
703
783
|
get when() {
|
|
704
784
|
return stepsData().steps.some((s) => s.status === "active");
|
|
705
785
|
},
|
|
706
786
|
get children() {
|
|
707
|
-
var _el$
|
|
708
|
-
_el$
|
|
787
|
+
var _el$121 = web.getNextElement(_tmpl$35), _el$122 = _el$121.firstChild;
|
|
788
|
+
_el$122.$$click = () => {
|
|
709
789
|
var _a;
|
|
710
790
|
return (_a = props.onAction) == null ? void 0 : _a.call(props, "next_step", {
|
|
711
791
|
step: stepsData().currentStep
|
|
712
792
|
});
|
|
713
793
|
};
|
|
714
794
|
web.runHydrationEvents();
|
|
715
|
-
return _el$
|
|
795
|
+
return _el$121;
|
|
716
796
|
}
|
|
717
|
-
}), _el$
|
|
718
|
-
return _el$
|
|
797
|
+
}), _el$126, _co$24);
|
|
798
|
+
return _el$120;
|
|
719
799
|
})();
|
|
720
800
|
};
|
|
721
801
|
const ActionSection = (props) => {
|
|
722
802
|
const actions = () => Array.isArray(props.content) ? props.content : [];
|
|
723
803
|
return (() => {
|
|
724
|
-
var _el$
|
|
725
|
-
web.insert(_el$
|
|
804
|
+
var _el$141 = web.getNextElement(_tmpl$40);
|
|
805
|
+
web.insert(_el$141, web.createComponent(solidJs.For, {
|
|
726
806
|
get each() {
|
|
727
807
|
return actions();
|
|
728
808
|
},
|
|
729
809
|
children: (item) => (() => {
|
|
730
|
-
var _el$
|
|
731
|
-
_el$
|
|
810
|
+
var _el$142 = web.getNextElement(_tmpl$33), _el$144 = _el$142.firstChild, [_el$145, _co$29] = web.getNextMarker(_el$144.nextSibling), _el$146 = _el$145.nextSibling, [_el$147, _co$30] = web.getNextMarker(_el$146.nextSibling);
|
|
811
|
+
_el$142.$$click = () => {
|
|
732
812
|
var _a;
|
|
733
813
|
return (_a = props.onAction) == null ? void 0 : _a.call(props, item.value || item.action || item.label, item);
|
|
734
814
|
};
|
|
735
|
-
web.insert(_el$
|
|
815
|
+
web.insert(_el$142, web.createComponent(solidJs.Show, {
|
|
736
816
|
get when() {
|
|
737
817
|
return item.icon;
|
|
738
818
|
},
|
|
739
819
|
get children() {
|
|
740
|
-
var _el$
|
|
741
|
-
web.insert(_el$
|
|
742
|
-
return _el$
|
|
820
|
+
var _el$143 = web.getNextElement(_tmpl$41);
|
|
821
|
+
web.insert(_el$143, () => item.icon);
|
|
822
|
+
return _el$143;
|
|
743
823
|
}
|
|
744
|
-
}), _el$
|
|
745
|
-
web.insert(_el$
|
|
746
|
-
web.effect(() => web.className(_el$
|
|
824
|
+
}), _el$145, _co$29);
|
|
825
|
+
web.insert(_el$142, () => item.label, _el$147, _co$30);
|
|
826
|
+
web.effect(() => web.className(_el$142, `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"}`));
|
|
747
827
|
web.runHydrationEvents();
|
|
748
|
-
return _el$
|
|
828
|
+
return _el$142;
|
|
749
829
|
})()
|
|
750
830
|
}));
|
|
751
|
-
return _el$
|
|
831
|
+
return _el$141;
|
|
832
|
+
})();
|
|
833
|
+
};
|
|
834
|
+
const UnderstandingSection = (props) => {
|
|
835
|
+
const data = () => {
|
|
836
|
+
const c = props.content;
|
|
837
|
+
return {
|
|
838
|
+
detections: (c == null ? void 0 : c.detections) || [],
|
|
839
|
+
warnings: (c == null ? void 0 : c.warnings) || []
|
|
840
|
+
};
|
|
841
|
+
};
|
|
842
|
+
const confidenceClass = (conf) => {
|
|
843
|
+
switch (conf) {
|
|
844
|
+
case "high":
|
|
845
|
+
return "bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400";
|
|
846
|
+
case "medium":
|
|
847
|
+
return "bg-yellow-100 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-400";
|
|
848
|
+
case "low":
|
|
849
|
+
return "bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-400";
|
|
850
|
+
default:
|
|
851
|
+
return "bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-400";
|
|
852
|
+
}
|
|
853
|
+
};
|
|
854
|
+
return (() => {
|
|
855
|
+
var _el$148 = web.getNextElement(_tmpl$42), _el$149 = _el$148.firstChild, _el$151 = _el$149.nextSibling, [_el$152, _co$31] = web.getNextMarker(_el$151.nextSibling);
|
|
856
|
+
web.insert(_el$149, web.createComponent(solidJs.For, {
|
|
857
|
+
get each() {
|
|
858
|
+
return data().detections;
|
|
859
|
+
},
|
|
860
|
+
children: (det) => (() => {
|
|
861
|
+
var _el$153 = web.getNextElement(_tmpl$43), _el$154 = _el$153.firstChild, _el$155 = _el$154.nextSibling;
|
|
862
|
+
web.insert(_el$154, () => det.label);
|
|
863
|
+
web.insert(_el$155, () => det.value);
|
|
864
|
+
web.effect(() => web.className(_el$154, `px-1.5 py-0.5 text-xs font-medium rounded ${confidenceClass(det.confidence)}`));
|
|
865
|
+
return _el$153;
|
|
866
|
+
})()
|
|
867
|
+
}));
|
|
868
|
+
web.insert(_el$148, web.createComponent(solidJs.Show, {
|
|
869
|
+
get when() {
|
|
870
|
+
return data().warnings.length > 0;
|
|
871
|
+
},
|
|
872
|
+
get children() {
|
|
873
|
+
var _el$150 = web.getNextElement(_tmpl$20);
|
|
874
|
+
web.insert(_el$150, web.createComponent(solidJs.For, {
|
|
875
|
+
get each() {
|
|
876
|
+
return data().warnings;
|
|
877
|
+
},
|
|
878
|
+
children: (w) => (() => {
|
|
879
|
+
var _el$156 = web.getNextElement(_tmpl$44), _el$157 = _el$156.firstChild, _el$158 = _el$157.nextSibling;
|
|
880
|
+
web.insert(_el$158, w);
|
|
881
|
+
return _el$156;
|
|
882
|
+
})()
|
|
883
|
+
}));
|
|
884
|
+
return _el$150;
|
|
885
|
+
}
|
|
886
|
+
}), _el$152, _co$31);
|
|
887
|
+
return _el$148;
|
|
888
|
+
})();
|
|
889
|
+
};
|
|
890
|
+
const FeedbackSection = (props) => {
|
|
891
|
+
const [comment, setComment] = solidJs.createSignal("");
|
|
892
|
+
const data = () => {
|
|
893
|
+
const c = props.content;
|
|
894
|
+
return {
|
|
895
|
+
question: (c == null ? void 0 : c.question) || "",
|
|
896
|
+
approve: (c == null ? void 0 : c.approve) || {
|
|
897
|
+
label: "Yes",
|
|
898
|
+
value: "approve"
|
|
899
|
+
},
|
|
900
|
+
reject: (c == null ? void 0 : c.reject) || {
|
|
901
|
+
label: "No",
|
|
902
|
+
value: "reject"
|
|
903
|
+
},
|
|
904
|
+
allowComment: (c == null ? void 0 : c.allowComment) ?? false,
|
|
905
|
+
commentPlaceholder: (c == null ? void 0 : c.commentPlaceholder) || "Add a comment..."
|
|
906
|
+
};
|
|
907
|
+
};
|
|
908
|
+
const handleFeedback = (approved) => {
|
|
909
|
+
var _a;
|
|
910
|
+
const d = data();
|
|
911
|
+
(_a = props.onAction) == null ? void 0 : _a.call(props, "feedback", {
|
|
912
|
+
approved,
|
|
913
|
+
value: approved ? d.approve.value : d.reject.value,
|
|
914
|
+
comment: comment()
|
|
915
|
+
});
|
|
916
|
+
};
|
|
917
|
+
return (() => {
|
|
918
|
+
var _el$159 = web.getNextElement(_tmpl$46), _el$160 = _el$159.firstChild, _el$161 = _el$160.nextSibling, _el$162 = _el$161.firstChild, _el$163 = _el$162.firstChild, _el$164 = _el$163.nextSibling, [_el$165, _co$32] = web.getNextMarker(_el$164.nextSibling), _el$166 = _el$162.nextSibling, _el$167 = _el$166.firstChild, _el$168 = _el$167.nextSibling, [_el$169, _co$33] = web.getNextMarker(_el$168.nextSibling), _el$171 = _el$161.nextSibling, [_el$172, _co$34] = web.getNextMarker(_el$171.nextSibling);
|
|
919
|
+
web.insert(_el$160, () => data().question);
|
|
920
|
+
_el$162.$$click = () => handleFeedback(true);
|
|
921
|
+
web.insert(_el$162, () => data().approve.label, _el$165, _co$32);
|
|
922
|
+
_el$166.$$click = () => handleFeedback(false);
|
|
923
|
+
web.insert(_el$166, () => data().reject.label, _el$169, _co$33);
|
|
924
|
+
web.insert(_el$159, web.createComponent(solidJs.Show, {
|
|
925
|
+
get when() {
|
|
926
|
+
return data().allowComment;
|
|
927
|
+
},
|
|
928
|
+
get children() {
|
|
929
|
+
var _el$170 = web.getNextElement(_tmpl$45);
|
|
930
|
+
_el$170.$$input = (e) => setComment(e.currentTarget.value);
|
|
931
|
+
web.effect(() => web.setAttribute(_el$170, "placeholder", data().commentPlaceholder));
|
|
932
|
+
web.effect(() => web.setProperty(_el$170, "value", comment()));
|
|
933
|
+
web.runHydrationEvents();
|
|
934
|
+
return _el$170;
|
|
935
|
+
}
|
|
936
|
+
}), _el$172, _co$34);
|
|
937
|
+
web.runHydrationEvents();
|
|
938
|
+
return _el$159;
|
|
939
|
+
})();
|
|
940
|
+
};
|
|
941
|
+
const PromptSection = (props) => {
|
|
942
|
+
const data = () => {
|
|
943
|
+
const c = props.content;
|
|
944
|
+
return {
|
|
945
|
+
originalQuery: (c == null ? void 0 : c.originalQuery) || "",
|
|
946
|
+
interpretation: (c == null ? void 0 : c.interpretation) || "",
|
|
947
|
+
extracted: (c == null ? void 0 : c.extracted) || {},
|
|
948
|
+
plan: (c == null ? void 0 : c.plan) || "",
|
|
949
|
+
editable: (c == null ? void 0 : c.editable) ?? false
|
|
950
|
+
};
|
|
951
|
+
};
|
|
952
|
+
return (() => {
|
|
953
|
+
var _el$173 = web.getNextElement(_tmpl$50), _el$186 = _el$173.firstChild, [_el$187, _co$37] = web.getNextMarker(_el$186.nextSibling), _el$179 = _el$187.nextSibling, _el$188 = _el$179.nextSibling, [_el$189, _co$38] = web.getNextMarker(_el$188.nextSibling), _el$190 = _el$189.nextSibling, [_el$191, _co$39] = web.getNextMarker(_el$190.nextSibling);
|
|
954
|
+
web.insert(_el$173, web.createComponent(solidJs.Show, {
|
|
955
|
+
get when() {
|
|
956
|
+
return data().originalQuery;
|
|
957
|
+
},
|
|
958
|
+
get children() {
|
|
959
|
+
var _el$174 = web.getNextElement(_tmpl$47), _el$175 = _el$174.firstChild, _el$177 = _el$175.nextSibling, [_el$178, _co$35] = web.getNextMarker(_el$177.nextSibling);
|
|
960
|
+
_el$178.nextSibling;
|
|
961
|
+
web.insert(_el$174, () => data().originalQuery, _el$178, _co$35);
|
|
962
|
+
return _el$174;
|
|
963
|
+
}
|
|
964
|
+
}), _el$187, _co$37);
|
|
965
|
+
web.insert(_el$179, web.createComponent(solidJs.For, {
|
|
966
|
+
get each() {
|
|
967
|
+
return Object.entries(data().extracted);
|
|
968
|
+
},
|
|
969
|
+
children: ([key, value]) => (() => {
|
|
970
|
+
var _el$192 = web.getNextElement(_tmpl$51), _el$193 = _el$192.firstChild, _el$195 = _el$193.firstChild, [_el$196, _co$40] = web.getNextMarker(_el$195.nextSibling);
|
|
971
|
+
_el$196.nextSibling;
|
|
972
|
+
var _el$197 = _el$193.nextSibling;
|
|
973
|
+
web.insert(_el$193, key, _el$196, _co$40);
|
|
974
|
+
web.insert(_el$197, () => String(value));
|
|
975
|
+
return _el$192;
|
|
976
|
+
})()
|
|
977
|
+
}));
|
|
978
|
+
web.insert(_el$173, web.createComponent(solidJs.Show, {
|
|
979
|
+
get when() {
|
|
980
|
+
return data().plan;
|
|
981
|
+
},
|
|
982
|
+
get children() {
|
|
983
|
+
var _el$180 = web.getNextElement(_tmpl$48), _el$181 = _el$180.firstChild, _el$182 = _el$181.nextSibling, _el$183 = _el$182.nextSibling, [_el$184, _co$36] = web.getNextMarker(_el$183.nextSibling);
|
|
984
|
+
web.insert(_el$180, () => data().plan, _el$184, _co$36);
|
|
985
|
+
return _el$180;
|
|
986
|
+
}
|
|
987
|
+
}), _el$189, _co$38);
|
|
988
|
+
web.insert(_el$173, web.createComponent(solidJs.Show, {
|
|
989
|
+
get when() {
|
|
990
|
+
return data().editable;
|
|
991
|
+
},
|
|
992
|
+
get children() {
|
|
993
|
+
var _el$185 = web.getNextElement(_tmpl$49);
|
|
994
|
+
_el$185.$$click = () => {
|
|
995
|
+
var _a;
|
|
996
|
+
return (_a = props.onAction) == null ? void 0 : _a.call(props, "edit_prompt", data());
|
|
997
|
+
};
|
|
998
|
+
web.runHydrationEvents();
|
|
999
|
+
return _el$185;
|
|
1000
|
+
}
|
|
1001
|
+
}), _el$191, _co$39);
|
|
1002
|
+
return _el$173;
|
|
752
1003
|
})();
|
|
753
1004
|
};
|
|
754
1005
|
web.delegateEvents(["click", "input"]);
|