@seed-ship/mcp-ui-solid 3.0.0 → 3.0.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.
- package/dist/components/ScratchpadPanel.cjs +5 -5
- package/dist/components/ScratchpadPanel.cjs.map +1 -1
- package/dist/components/ScratchpadPanel.js +5 -5
- package/dist/components/ScratchpadPanel.js.map +1 -1
- package/package.json +1 -1
- package/src/components/ScratchpadPanel.tsx +4 -4
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -12,8 +12,8 @@ const STATUS_BADGES = {
|
|
|
12
12
|
class: "bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400"
|
|
13
13
|
},
|
|
14
14
|
ready: {
|
|
15
|
-
label: "
|
|
16
|
-
class: "bg-
|
|
15
|
+
label: "Action available",
|
|
16
|
+
class: "bg-cyan-100 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-400"
|
|
17
17
|
},
|
|
18
18
|
waiting_human: {
|
|
19
19
|
label: "Your turn",
|
|
@@ -390,7 +390,7 @@ const ScratchpadPanel = (props) => {
|
|
|
390
390
|
}
|
|
391
391
|
}), _el$70, _co$16);
|
|
392
392
|
web.effect((_p$) => {
|
|
393
|
-
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}`;
|
|
393
|
+
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"} ${props.pinned ? "sticky top-0 z-40" : ""}`, _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}`;
|
|
394
394
|
_v$ !== _p$.e && web.className(_el$, _p$.e = _v$);
|
|
395
395
|
_v$2 !== _p$.t && web.className(_el$2, _p$.t = _v$2);
|
|
396
396
|
_v$3 !== _p$.a && web.className(_el$0, _p$.a = _v$3);
|
|
@@ -930,7 +930,7 @@ const EnrichedStepsSection = (props) => {
|
|
|
930
930
|
}
|
|
931
931
|
}), _el$177, _co$39);
|
|
932
932
|
web.effect((_p$) => {
|
|
933
|
-
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"}`;
|
|
933
|
+
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 animate-pulse" : "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"}`;
|
|
934
934
|
_v$4 !== _p$.e && web.className(_el$164, _p$.e = _v$4);
|
|
935
935
|
_v$5 !== _p$.t && web.className(_el$165, _p$.t = _v$5);
|
|
936
936
|
return _p$;
|
|
@@ -1295,7 +1295,7 @@ const StepperProgressSection = (props) => {
|
|
|
1295
1295
|
return _el$258;
|
|
1296
1296
|
}
|
|
1297
1297
|
}), _el$260, _co$56);
|
|
1298
|
-
web.effect(() => web.className(_el$255, `flex items-center gap-1 px-2 py-1 rounded text-xs ${step.status === "done" ? "bg-green-50 dark:bg-green-900/20 text-green-700 dark:text-green-400" : step.status === "active" ? "bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-400 font-medium" : step.status === "error" ? "bg-red-50 dark:bg-red-900/20 text-red-700 dark:text-red-400" : "text-gray-400"}`));
|
|
1298
|
+
web.effect(() => web.className(_el$255, `flex items-center gap-1 px-2 py-1 rounded text-xs ${step.status === "done" ? "bg-green-50 dark:bg-green-900/20 text-green-700 dark:text-green-400" : step.status === "active" ? "bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-400 font-medium animate-pulse" : step.status === "error" ? "bg-red-50 dark:bg-red-900/20 text-red-700 dark:text-red-400" : "text-gray-400"}`));
|
|
1299
1299
|
return _el$255;
|
|
1300
1300
|
})()]
|
|
1301
1301
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScratchpadPanel.cjs","sources":["../../src/components/ScratchpadPanel.tsx"],"sourcesContent":["/**\n * ScratchpadPanel v3 — Full HITL/AITL workspace\n * v2.9.0: Interactive filters, form sections, stepper, preview auto-refresh\n *\n * @experimental\n */\n\nimport { Component, Show, For, Switch, Match, createSignal, createEffect, onCleanup } from 'solid-js'\nimport type { ScratchpadState, ScratchpadSection } from '../types/chat-bus'\nimport type { FormFieldParams } from '../types'\nimport { FormFieldRenderer } from './FormFieldRenderer'\n\nexport interface ScratchpadPanelProps {\n state: ScratchpadState\n onFilterChange?: (filters: Record<string, string | string[]>) => void\n onAction?: (action: string, data?: unknown) => void\n onSectionEdit?: (sectionId: string, content: unknown) => void\n /** Dedicated callback for form submissions (cleaner than onAction) */\n onSubmit?: (sectionId: string, values: Record<string, unknown>) => void\n /** Called when user clicks retry on error state */\n onRetry?: () => void\n onClose?: () => void\n /** When true, action buttons show loading spinner and stay open until next server update */\n asyncAction?: boolean\n /** When true (set by server), scratchpad stays visible during stream */\n pinned?: boolean\n /** Log events/actions to console */\n debug?: boolean\n /** Show mini debug overlay */\n debugOverlay?: boolean\n closable?: boolean\n autoCloseDelay?: number\n collapsible?: boolean\n maxHeight?: string\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-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-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-green-100 text-green-600 dark:bg-green-900/30 dark:text-green-400' },\n error: { label: 'Error', class: 'bg-red-100 text-red-600 dark:bg-red-900/30 dark:text-red-400' },\n}\n\nexport const ScratchpadPanel: Component<ScratchpadPanelProps> = (props) => {\n const [collapsed, setCollapsed] = createSignal(false)\n const [localPreview, setLocalPreview] = createSignal<ScratchpadState['preview']>(undefined)\n const [loadingAction, setLoadingAction] = createSignal<string | null>(null)\n let previewTimer: ReturnType<typeof setTimeout> | null = null\n const badge = () => STATUS_BADGES[props.state.status] || STATUS_BADGES.loading\n const isClosable = () => props.closable !== false\n const isCollapsible = () => props.collapsible !== false\n const preview = () => localPreview() || props.state.preview\n const hasFilters = () => Object.keys(props.state.filters || {}).length > 0\n const [eventCount, setEventCount] = createSignal(0)\n const [lastEvent, setLastEvent] = createSignal('')\n\n const debugLog = (event: string, data?: any) => {\n if (!props.debug) return\n setEventCount(c => c + 1)\n setLastEvent(event)\n console.log(`[ScratchpadPanel:${props.state.id}] ${event}`, data || '')\n }\n\n // Action aliases that auto-close the scratchpad\n const CLOSE_ALIASES = new Set(['done', 'close', 'dismiss', 'validate', 'cancel', 'sufficient'])\n\n const handleAction = (action: string, data?: unknown) => {\n debugLog('onAction', { action, asyncAction: props.asyncAction, data })\n if (props.asyncAction && !CLOSE_ALIASES.has(action)) {\n setLoadingAction(action)\n }\n props.onAction?.(action, data)\n if (CLOSE_ALIASES.has(action) && props.onClose) {\n props.onClose()\n }\n }\n\n // Debug: log state changes\n createEffect(() => {\n debugLog('state', { status: props.state.status, sections: props.state.sections?.length, filters: Object.keys(props.state.filters || {}), turn: props.state.turn })\n })\n\n // Auto-close on complete (unless pinned)\n createEffect(() => {\n if (props.state.status === 'complete' && props.autoCloseDelay && !props.pinned) {\n const timer = setTimeout(() => props.onClose?.(), props.autoCloseDelay)\n onCleanup(() => clearTimeout(timer))\n }\n // Clear loading action when server responds\n if (props.state.status !== 'processing' && loadingAction()) {\n setLoadingAction(null)\n }\n })\n\n // Preview auto-refresh when filters change\n createEffect(() => {\n const endpoint = props.state.previewEndpoint\n if (!endpoint) return\n const filters = props.state.filters\n if (!filters || Object.keys(filters).length === 0) return\n\n if (previewTimer) clearTimeout(previewTimer)\n previewTimer = setTimeout(async () => {\n try {\n const res = await fetch(endpoint, {\n method: props.state.previewMethod || 'POST',\n headers: { 'Content-Type': 'application/json', ...props.state.previewHeaders },\n credentials: 'include',\n body: JSON.stringify({ filters }),\n })\n if (res.ok) setLocalPreview(await res.json())\n } catch { /* ignore */ }\n }, props.state.previewDebounce || 500)\n })\n\n onCleanup(() => { if (previewTimer) clearTimeout(previewTimer) })\n\n return (\n <div\n class={`w-full bg-white dark:bg-gray-800 rounded-xl border shadow-lg overflow-visible ${\n props.state.status === 'waiting_human'\n ? 'border-blue-300 dark:border-blue-600'\n : 'border-gray-200 dark:border-gray-700'\n }`}\n style={{ animation: 'scratchpad-slide-down 0.2s ease-out' }}\n >\n {/* Header */}\n <div\n class={`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' : ''}`}\n onClick={() => isCollapsible() && setCollapsed(!collapsed())}\n >\n <div class=\"flex items-center gap-2\">\n <span class=\"text-base\">📝</span>\n <h3 class=\"text-sm font-semibold text-gray-900 dark:text-white\">{props.state.title}</h3>\n <Show when={isCollapsible()}>\n <svg class={`w-3.5 h-3.5 text-gray-400 transition-transform ${collapsed() ? '-rotate-90' : ''}`} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </Show>\n </div>\n <div class=\"flex items-center gap-2\">\n <span class={`px-2 py-0.5 text-xs font-medium rounded-full ${badge().class}`}>{badge().label}</span>\n <Show when={isClosable() && props.onClose}>\n <button onClick={(e) => { e.stopPropagation(); props.onClose?.() }} 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\">\n <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\" /></svg>\n </button>\n </Show>\n </div>\n </div>\n\n {/* Body */}\n <Show when={!collapsed()}>\n <div style={{ \"max-height\": props.maxHeight || \"500px\", \"overflow-y\": \"auto\" }}>\n {/* Turn history header */}\n <Show when={props.state.turnHistory && props.state.turnHistory.length > 0}>\n <div class=\"px-4 py-2 border-b border-gray-100 dark:border-gray-700 flex flex-wrap items-center gap-1.5\">\n <For each={props.state.turnHistory}>\n {(turn, i) => (\n <>\n <Show when={i() > 0}>\n <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\" /></svg>\n </Show>\n <span class={`text-xs font-medium px-2 py-0.5 rounded-full ${\n turn.status === 'done' ? 'bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400'\n : turn.status === 'active' ? 'bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400'\n : turn.status === 'skipped' ? 'bg-gray-100 dark:bg-gray-700 text-gray-400 line-through'\n : 'bg-gray-100 dark:bg-gray-700 text-gray-400'\n }`}>\n {turn.status === 'done' ? '✅' : turn.status === 'active' ? '●' : '○'} {turn.label}\n <Show when={turn.summary}><span class=\"ml-1 font-normal opacity-75\">— {turn.summary}</span></Show>\n </span>\n </>\n )}\n </For>\n </div>\n </Show>\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={handleAction}\n onSectionEdit={props.onSectionEdit}\n onSubmit={props.onSubmit}\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 rounded-lg px-3 py-2 ${\n msg.type === 'warning' ? 'bg-amber-50 dark:bg-amber-900/10 text-amber-700 dark:text-amber-400'\n : 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'\n : 'bg-gray-50 dark:bg-gray-700/50 text-gray-600 dark:text-gray-400'\n }`}>\n <span class=\"flex-shrink-0 mt-0.5\">{msg.type === 'warning' ? '⚠️' : msg.type === 'question' ? '❓' : 'ℹ️'}</span>\n <p>{msg.text}</p>\n </div>\n )}\n </For>\n </div>\n </Show>\n\n {/* Preview */}\n <Show when={preview()}>\n <div class=\"px-4 py-3 border-t border-gray-100 dark:border-gray-700\">\n <Show when={preview()!.count === 0} fallback={\n <>\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\">{preview()!.count.toLocaleString()}</span>\n </div>\n <p class=\"text-sm text-gray-700 dark:text-gray-300\">{preview()!.summary}</p>\n <Show when={preview()!.rows && preview()!.rows!.length > 0}>\n <div class=\"mt-2 overflow-x-auto\">\n <table class=\"min-w-full text-xs\">\n <thead><tr><For each={Object.keys(preview()!.rows![0])}>{(k) => <th class=\"px-2 py-1 text-left font-medium text-gray-500 dark:text-gray-400\">{k}</th>}</For></tr></thead>\n <tbody><For each={preview()!.rows!.slice(0, 5)}>{(row) => <tr class=\"border-t border-gray-100 dark:border-gray-700\"><For each={Object.values(row)}>{(v) => <td class=\"px-2 py-1 text-gray-700 dark:text-gray-300\">{String(v)}</td>}</For></tr>}</For></tbody>\n </table>\n </div>\n </Show>\n </>\n }>\n <div class=\"flex flex-col items-center gap-2 py-4 text-center\">\n <span class=\"text-2xl\">🔍</span>\n <p class=\"text-sm text-gray-500 dark:text-gray-400\">No results for these filters</p>\n <button type=\"button\" onClick={() => props.onAction?.('refine_filters')} 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</button>\n </div>\n </Show>\n </div>\n </Show>\n\n {/* Error state with retry */}\n <Show when={props.state.status === 'error' && props.state.error}>\n <div class=\"px-4 py-3 border-t border-red-100 dark:border-red-900/30 bg-red-50 dark:bg-red-900/10\">\n <div class=\"flex items-start gap-2 text-sm text-red-700 dark:text-red-400\">\n <span class=\"flex-shrink-0 mt-0.5\">⚠️</span>\n <div class=\"flex-1\">\n <p class=\"font-medium\">{props.state.error!.message}</p>\n <Show when={props.state.error!.code}>\n <p class=\"text-xs text-red-500 dark:text-red-500 mt-0.5\">Code: {props.state.error!.code}</p>\n </Show>\n </div>\n </div>\n <div class=\"flex gap-2 mt-2\">\n <Show when={props.state.error!.retryable !== false}>\n <button type=\"button\" onClick={() => props.onRetry?.()}\n class=\"px-3 py-1.5 text-sm font-medium rounded-lg bg-red-600 text-white hover:bg-red-700 transition-colors flex items-center gap-1\">\n 🔄 Retry\n </button>\n </Show>\n <Show when={props.onClose}>\n <button type=\"button\" onClick={() => props.onClose?.()}\n 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\">\n Close\n </button>\n </Show>\n </div>\n </div>\n </Show>\n\n {/* Search button when waiting_human */}\n <Show when={props.state.status === 'waiting_human' && hasFilters()}>\n <div class=\"px-4 py-3 border-t border-gray-100 dark:border-gray-700\">\n <button\n type=\"button\"\n onClick={() => handleAction('search', { filters: props.state.filters })}\n 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\"\n >\n <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\" /></svg>\n Search\n </button>\n </div>\n </Show>\n </div>\n </Show>\n\n <style>{`\n @keyframes scratchpad-slide-down { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }\n `}</style>\n\n {/* Debug overlay */}\n <Show when={props.debugOverlay}>\n <div class=\"absolute bottom-1 right-1 px-2 py-1 text-[9px] font-mono bg-black/80 text-green-400 rounded z-50 pointer-events-none\">\n {props.state.id} | ev:{eventCount()} | sec:{props.state.sections?.length || 0} | {props.state.status} | last:{lastEvent()}\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 onSubmit?: (sectionId: string, values: Record<string, unknown>) => void\n}> = (props) => {\n return (\n <div class=\"px-4 py-3\">\n <h4 class=\"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide mb-2\">{props.section.title}</h4>\n <Switch>\n <Match when={props.section.type === 'data'}><DataSection content={props.section.content} /></Match>\n <Match when={props.section.type === 'filter'}><InteractiveFilterSection content={props.section.content} filters={props.filters} onFilterChange={props.onFilterChange} /></Match>\n <Match when={props.section.type === 'message'}><p class=\"text-sm text-gray-700 dark:text-gray-300\">{String(props.section.content)}</p></Match>\n <Match when={props.section.type === 'action'}><ActionSection content={props.section.content} onAction={props.onAction} /></Match>\n <Match when={props.section.type === 'steps'}><EnrichedStepsSection content={props.section.content} onAction={props.onAction} onFilterChange={props.onFilterChange} /></Match>\n <Match when={props.section.type === 'form'}><EmbeddedFormSection content={props.section.content} sectionId={props.section.id} onAction={props.onAction} onSubmit={props.onSubmit} /></Match>\n <Match when={props.section.type === 'understanding'}><UnderstandingSection content={props.section.content} /></Match>\n <Match when={props.section.type === 'feedback'}><FeedbackSection content={props.section.content} onAction={props.onAction} /></Match>\n <Match when={props.section.type === 'prompt'}><PromptSection content={props.section.content} onAction={props.onAction} /></Match>\n <Match when={props.section.type === 'stepper'}><StepperProgressSection content={props.section.content} /></Match>\n <Match when={props.section.type === 'error'}><ErrorSectionRenderer content={props.section.content} onAction={props.onAction} /></Match>\n <Match when={props.section.type === 'source_card'}><SourceCardSection content={props.section.content} /></Match>\n <Match when={props.section.type === 'diff'}><DiffSection content={props.section.content} /></Match>\n <Match when={true}><pre class=\"text-xs text-gray-500 overflow-auto\">{JSON.stringify(props.section.content, null, 2)}</pre></Match>\n </Switch>\n </div>\n )\n}\n\n// ─── Data Section ────────────────────────────────────────────\n\nconst DataSection: Component<{ content: unknown }> = (props) => {\n const entries = () => typeof props.content === 'object' && props.content ? Object.entries(props.content as Record<string, unknown>) : []\n return (\n <div class=\"space-y-1\">\n <For each={entries()}>{([k, v]) => <div class=\"flex gap-2 text-xs\"><span class=\"text-gray-500 dark:text-gray-400 font-mono min-w-[120px]\">{k}:</span><span class=\"text-gray-900 dark:text-white\">{Array.isArray(v) ? v.join(', ') : String(v)}</span></div>}</For>\n </div>\n )\n}\n\n// ─── Interactive Filter Section (#4, #5) ─────────────────────\n\nconst InteractiveFilterSection: Component<{\n content: unknown\n filters: Record<string, string | string[]>\n onFilterChange?: (filters: Record<string, string | string[]>) => void\n}> = (props) => {\n const [editingKey, setEditingKey] = createSignal<string | null>(null)\n const [editValue, setEditValue] = createSignal('')\n\n // Content can be a filter definition or just use props.filters\n const filterDefs = () => {\n if (typeof props.content === 'object' && props.content) return props.content as Record<string, any>\n return {}\n }\n\n const allKeys = () => {\n const fromContent = Object.keys(filterDefs())\n const fromFilters = Object.keys(props.filters || {})\n return [...new Set([...fromContent, ...fromFilters])]\n }\n\n const removeFilter = (key: string) => {\n const next = { ...props.filters }\n delete next[key]\n props.onFilterChange?.(next)\n }\n\n const setFilter = (key: string, value: string) => {\n props.onFilterChange?.({ ...props.filters, [key]: value })\n setEditingKey(null)\n setEditValue('')\n }\n\n const getDef = (key: string) => filterDefs()[key] || {}\n\n return (\n <div class=\"flex flex-wrap gap-1.5\">\n <For each={allKeys()}>\n {(key) => {\n const def = () => getDef(key)\n const value = () => props.filters[key]\n const hasValue = () => value() !== undefined && value() !== ''\n\n return (\n <div class=\"relative\">\n <Show when={hasValue()} fallback={\n <button type=\"button\" onClick={() => { setEditingKey(key); setEditValue('') }}\n 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\">\n + {def()?.label || key}\n </button>\n }>\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 <button type=\"button\" onClick={() => { setEditingKey(key); setEditValue(String(value() || '')) }} class=\"hover:underline\">\n <span class=\"text-blue-500 dark:text-blue-400\">{def()?.label || key}:</span> {Array.isArray(value()) ? (value() as string[]).join(', ') : String(value())}\n </button>\n <Show when={props.onFilterChange}>\n <button type=\"button\" onClick={() => removeFilter(key)} class=\"ml-0.5 hover:text-blue-900 dark:hover:text-blue-100\" aria-label={`Remove ${key}`}>×</button>\n </Show>\n </span>\n </Show>\n\n {/* Inline editor */}\n <Show when={editingKey() === key}>\n <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]\">\n <Show when={def()?.options} fallback={\n <form onSubmit={(e) => { e.preventDefault(); setFilter(key, editValue()) }} class=\"flex gap-1\">\n <input type=\"text\" value={editValue()} onInput={(e) => setEditValue(e.currentTarget.value)} placeholder={def()?.placeholder || key} autofocus\n 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\" />\n <button type=\"submit\" class=\"px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700\">OK</button>\n <button type=\"button\" onClick={() => setEditingKey(null)} class=\"px-2 py-1 text-xs text-gray-500 hover:text-gray-700\">Cancel</button>\n </form>\n }>\n <div class=\"max-h-48 overflow-y-auto\">\n <For each={def().options as Array<{ value: string; label: string }>}>\n {(opt) => (\n <button type=\"button\" onClick={() => setFilter(key, opt.value)}\n class={`w-full text-left px-2 py-1.5 text-sm rounded hover:bg-blue-50 dark:hover:bg-blue-900/20 ${\n 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'\n }`}>\n {opt.label}\n <Show when={String(value()) === opt.value}><span class=\"ml-1\">✓</span></Show>\n </button>\n )}\n </For>\n </div>\n <button type=\"button\" onClick={() => setEditingKey(null)} class=\"mt-1 w-full px-2 py-1 text-xs text-gray-500 hover:text-gray-700 text-center\">Cancel</button>\n </Show>\n </div>\n </Show>\n </div>\n )\n }}\n </For>\n <Show when={allKeys().length === 0}>\n <p class=\"text-xs text-gray-400 italic\">No filters</p>\n </Show>\n </div>\n )\n}\n\n// ─── Embedded Form Section (#7, #8) ──────────────────────────\n\nconst EmbeddedFormSection: Component<{\n content: unknown\n sectionId: string\n onAction?: (action: string, data?: unknown) => void\n onSubmit?: (sectionId: string, values: Record<string, unknown>) => void\n}> = (props) => {\n const [formData, setFormData] = createSignal<Record<string, any>>({})\n const [dynamicOptions, setDynamicOptions] = createSignal<Record<string, Array<{ label: string; value: string }>>>({})\n\n const config = () => {\n const c = props.content as any\n return { fields: c?.fields || [], submitLabel: c?.submitLabel || 'Submit' }\n }\n\n const updateField = (name: string, value: any) => setFormData(prev => ({ ...prev, [name]: value }))\n\n // depends_on reactive (#9)\n createEffect(() => {\n const data = formData()\n for (const field of config().fields) {\n const dep = field.depends_on || field.dependsOn\n if (!dep) continue\n const parentValue = data[dep.field]\n if (!parentValue) continue\n const url = (dep.options_endpoint || dep.apiUrl || '').replace('{value}', encodeURIComponent(parentValue))\n if (!url) continue\n const params = new URLSearchParams(dep.extraParams || dep.extra_params || {})\n fetch(`${url}${url.includes('?') ? '&' : '?'}${params}`)\n .then(r => r.json())\n .then(items => {\n const arr = Array.isArray(items) ? items : items.results || items.features || []\n const lf = dep.label_field || dep.labelField || 'label'\n const vf = dep.value_field || dep.valueField || 'value'\n setDynamicOptions(prev => ({ ...prev, [field.name]: arr.map((i: any) => ({ label: i[lf] || String(i), value: String(i[vf] || i[lf] || i) })) }))\n })\n .catch(() => {})\n }\n })\n\n const getField = (field: any): FormFieldParams => {\n const dynOpts = dynamicOptions()[field.name]\n return dynOpts ? { ...field, options: dynOpts } as FormFieldParams : field as FormFieldParams\n }\n\n const handleSubmit = (e: Event) => {\n e.preventDefault()\n\n // Filter out unsupported fields, keep only values with content\n const values = Object.fromEntries(\n Object.entries(formData())\n .filter(([key]) => {\n const field = config().fields.find((f: any) => f.name === key)\n return field?.fieldStatus !== 'unsupported'\n })\n .filter(([, v]) => v !== undefined && v !== '' && !(Array.isArray(v) && v.length === 0))\n )\n\n if (props.onSubmit) {\n props.onSubmit(props.sectionId, values)\n } else {\n props.onAction?.('submit_form', { sectionId: props.sectionId, values })\n }\n }\n\n return (\n <form onSubmit={handleSubmit} class=\"flex flex-col gap-3\">\n <For each={config().fields}>\n {(field) => (\n <FormFieldRenderer\n field={getField(field)}\n value={formData()[field.name]}\n onChange={(val) => updateField(field.name, val)}\n formData={formData}\n />\n )}\n </For>\n <div class=\"flex justify-end\">\n <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\">\n {config().submitLabel}\n </button>\n </div>\n </form>\n )\n}\n\n// ─── Enriched Steps Section (#6) ─────────────────────────────\n\nconst EnrichedStepsSection: Component<{\n content: unknown\n onAction?: (action: string, data?: unknown) => void\n onFilterChange?: (filters: Record<string, string | string[]>) => void\n}> = (props) => {\n const stepsData = () => {\n const c = props.content as any\n return { steps: c?.steps || [], currentStep: c?.currentStep ?? 0 }\n }\n\n return (\n <div class=\"space-y-3\">\n <For each={stepsData().steps}>\n {(step: any) => (\n <div class={`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'}`}>\n <div class={`flex items-center gap-2 text-sm font-medium ${\n step.status === 'done' ? 'text-green-600 dark:text-green-400'\n : step.status === 'active' ? 'text-blue-600 dark:text-blue-400'\n : 'text-gray-400'\n }`}>\n <span>{step.status === 'done' ? '✅' : step.status === 'active' ? '●' : '○'}</span>\n {step.label}\n <Show when={step.description && step.status === 'active'}>\n <span class=\"text-xs font-normal text-gray-500 dark:text-gray-400\">— {step.description}</span>\n </Show>\n </div>\n\n {/* Embedded content for active step */}\n <Show when={step.status === 'active' && step.content}>\n <div class=\"mt-2 ml-6\">\n <SectionRenderer\n section={step.content}\n filters={{}}\n onFilterChange={props.onFilterChange}\n onAction={props.onAction}\n />\n </div>\n </Show>\n </div>\n )}\n </For>\n\n {/* Next button */}\n <Show when={stepsData().steps.some((s: any) => s.status === 'active')}>\n <div class=\"flex justify-end\">\n <button type=\"button\" onClick={() => props.onAction?.('next_step', { step: stepsData().currentStep })}\n 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\">\n 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\" /></svg>\n </button>\n </div>\n </Show>\n </div>\n )\n}\n\n// ─── Action Section ──────────────────────────────────────────\n\nconst ActionSection: Component<{\n content: unknown\n onAction?: (action: string, data?: unknown) => void\n}> = (props) => {\n const actions = () => Array.isArray(props.content) ? props.content as Array<{ label: string; value?: string; action?: string; variant?: string; icon?: string }> : []\n return (\n <div class=\"flex flex-wrap gap-2\">\n <For each={actions()}>\n {(item) => (\n <button type=\"button\" onClick={() => props.onAction?.(item.value || item.action || item.label, item)}\n class={`px-3 py-1.5 text-sm font-medium rounded-lg transition-colors ${\n item.variant === 'primary' ? 'bg-blue-600 text-white hover:bg-blue-700'\n : item.variant === 'danger' ? '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 <Show when={item.icon}><span class=\"mr-1\">{item.icon}</span></Show>\n {item.label}\n </button>\n )}\n </For>\n </div>\n )\n}\n\n// ─── Understanding Section — agent comprehension ─────────────\n\nconst UnderstandingSection: Component<{ content: unknown }> = (props) => {\n const data = () => {\n const c = props.content as any\n return { detections: c?.detections || [], warnings: c?.warnings || [] }\n }\n\n const confidenceClass = (conf?: string) => {\n switch (conf) {\n case 'high': return 'bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400'\n case 'medium': return 'bg-yellow-100 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-400'\n case 'low': return 'bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-400'\n default: return 'bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-400'\n }\n }\n\n return (\n <div class=\"space-y-2\">\n <div class=\"space-y-1.5\">\n <For each={data().detections}>\n {(det: any) => (\n <div class=\"flex items-center gap-2 text-sm\">\n <span class={`px-1.5 py-0.5 text-xs font-medium rounded ${confidenceClass(det.confidence)}`}>\n {det.label}\n </span>\n <span class=\"text-gray-900 dark:text-white\">{det.value}</span>\n </div>\n )}\n </For>\n </div>\n <Show when={data().warnings.length > 0}>\n <div class=\"space-y-1\">\n <For each={data().warnings}>\n {(w: string) => (\n <div class=\"flex items-start gap-1.5 text-xs text-amber-600 dark:text-amber-400\">\n <span class=\"flex-shrink-0\">⚠️</span>\n <span>{w}</span>\n </div>\n )}\n </For>\n </div>\n </Show>\n </div>\n )\n}\n\n// ─── Feedback Section — thumbs up/down ───────────────────────\n\nconst FeedbackSection: Component<{\n content: unknown\n onAction?: (action: string, data?: unknown) => void\n}> = (props) => {\n const [comment, setComment] = createSignal('')\n const [showComment, setShowComment] = createSignal(false)\n const data = () => {\n const c = props.content as any\n // Support both formats: options array (universal) and approve/reject (simple)\n const options = c?.options || [\n { value: c?.approve?.value || 'approve', label: c?.approve?.label || 'Yes', icon: '👍', variant: 'primary' },\n { value: c?.reject?.value || 'reject', label: c?.reject?.label || 'No', icon: '👎' },\n ]\n return {\n question: c?.question || '',\n options: options as Array<{ value: string; label: string; icon?: string; variant?: string; needsComment?: boolean }>,\n allowFreeText: c?.allowFreeText ?? c?.allowComment ?? false,\n placeholder: c?.placeholder || c?.commentPlaceholder || 'Add a comment...',\n }\n }\n\n const handleOption = (option: any) => {\n if (option.needsComment) {\n setShowComment(true)\n return\n }\n props.onAction?.('feedback', { option: option.value, comment: comment() })\n }\n\n return (\n <div class=\"space-y-3\">\n <p class=\"text-sm text-gray-700 dark:text-gray-300\">{data().question}</p>\n <div class=\"flex flex-wrap gap-2\">\n <For each={data().options}>\n {(option) => (\n <button type=\"button\" onClick={() => handleOption(option)}\n class={`px-3 py-1.5 text-sm font-medium rounded-lg transition-colors flex items-center gap-1 ${\n option.variant === 'primary' ? 'bg-blue-600 text-white hover:bg-blue-700'\n : option.variant === 'danger' ? '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 <Show when={option.icon}><span>{option.icon}</span></Show>\n {option.label}\n </button>\n )}\n </For>\n </div>\n <Show when={data().allowFreeText || showComment()}>\n <div class=\"flex gap-1\">\n <input type=\"text\" value={comment()} onInput={(e) => setComment(e.currentTarget.value)}\n placeholder={data().placeholder} autofocus={showComment()}\n class=\"flex-1 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\" />\n <button type=\"button\" onClick={() => props.onAction?.('feedback', { option: 'comment', comment: comment() })}\n class=\"px-3 py-2 text-sm bg-blue-600 text-white rounded-lg hover:bg-blue-700\">Send</button>\n </div>\n </Show>\n </div>\n )\n}\n\n// ─── Prompt Section — agent interpretation ───────────────────\n\nconst PromptSection: Component<{\n content: unknown\n onAction?: (action: string, data?: unknown) => void\n}> = (props) => {\n const data = () => {\n const c = props.content as any\n return {\n originalQuery: c?.originalQuery || '',\n interpretation: c?.interpretation || '',\n extracted: c?.extracted || {},\n plan: c?.plan || '',\n editable: c?.editable ?? false,\n }\n }\n\n return (\n <div class=\"space-y-2\">\n <Show when={data().originalQuery}>\n <p class=\"text-xs text-gray-500 dark:text-gray-400 italic\">\"{data().originalQuery}\"</p>\n </Show>\n <div class=\"space-y-1\">\n <For each={Object.entries(data().extracted)}>\n {([key, value]) => (\n <div class=\"flex gap-2 text-sm\">\n <span class=\"text-gray-500 dark:text-gray-400 font-medium min-w-[80px]\">{key}:</span>\n <span class=\"text-gray-900 dark:text-white\">{String(value)}</span>\n </div>\n )}\n </For>\n </div>\n <Show when={data().plan}>\n <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\">\n <span class=\"font-medium\">Plan:</span> {data().plan}\n </div>\n </Show>\n <Show when={data().editable}>\n <button type=\"button\" onClick={() => props.onAction?.('edit_prompt', data())}\n class=\"text-xs text-blue-600 dark:text-blue-400 hover:underline flex items-center gap-1\">\n ✎ Modify\n </button>\n </Show>\n </div>\n )\n}\n\n// ─── Stepper Progress Section (multi-source) ─────────────────\n\nconst StepperProgressSection: Component<{ content: unknown }> = (props) => {\n const data = () => {\n const c = props.content as any\n return {\n steps: (c?.steps || []) as Array<{ id: string; label: string; status: string; summary?: string; duration_ms?: number }>,\n orientation: c?.orientation || 'horizontal',\n }\n }\n\n const statusIcon = (status: string) => {\n switch (status) {\n case 'done': return '✅'\n case 'active': return '🔄'\n case 'error': return '❌'\n default: return '⏳'\n }\n }\n\n const isHorizontal = () => data().orientation === 'horizontal'\n\n return (\n <Show when={isHorizontal()} fallback={\n <div class=\"space-y-2\">\n <For each={data().steps}>\n {(step) => (\n <div class={`flex items-start gap-2 text-sm ${step.status === 'active' ? 'font-medium' : ''} ${step.status === 'pending' ? 'text-gray-400' : 'text-gray-700 dark:text-gray-300'}`}>\n <span class=\"flex-shrink-0\">{statusIcon(step.status)}</span>\n <div>\n <span>{step.label}</span>\n <Show when={step.summary}>\n <span class=\"ml-1 text-xs text-gray-500 dark:text-gray-400\">— {step.summary}</span>\n </Show>\n <Show when={step.duration_ms}>\n <span class=\"ml-1 text-xs text-gray-400\">({step.duration_ms}ms)</span>\n </Show>\n </div>\n </div>\n )}\n </For>\n </div>\n }>\n <div class=\"flex items-center gap-1 flex-wrap\">\n <For each={data().steps}>\n {(step, i) => (\n <>\n <Show when={i() > 0}>\n <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\" /></svg>\n </Show>\n <div class={`flex items-center gap-1 px-2 py-1 rounded text-xs ${\n step.status === 'done' ? 'bg-green-50 dark:bg-green-900/20 text-green-700 dark:text-green-400'\n : step.status === 'active' ? 'bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-400 font-medium'\n : step.status === 'error' ? 'bg-red-50 dark:bg-red-900/20 text-red-700 dark:text-red-400'\n : 'text-gray-400'\n }`}>\n <span>{statusIcon(step.status)}</span>\n <span>{step.label}</span>\n <Show when={step.summary}>\n <span class=\"text-[10px] opacity-75\">{step.summary}</span>\n </Show>\n </div>\n </>\n )}\n </For>\n </div>\n </Show>\n )\n}\n\n// ─── Error Section (F6) ──────────────────────────────────────\n\nconst ErrorSectionRenderer: Component<{\n content: unknown\n onAction?: (action: string, data?: unknown) => void\n}> = (props) => {\n const [showDetails, setShowDetails] = createSignal(false)\n const data = () => {\n const c = props.content as any\n return { message: c?.message || 'Error', severity: c?.severity || 'error', retryAction: c?.retryAction, retryLabel: c?.retryLabel || 'Retry', details: c?.details, timestamp: c?.timestamp }\n }\n const isWarning = () => data().severity === 'warning'\n\n return (\n <div class={`rounded-lg px-3 py-2 text-sm ${isWarning() ? 'bg-amber-50 dark:bg-amber-900/10 text-amber-700 dark:text-amber-400 border border-amber-200 dark:border-amber-800' : 'bg-red-50 dark:bg-red-900/10 text-red-700 dark:text-red-400 border border-red-200 dark:border-red-800'}`}>\n <div class=\"flex items-start gap-2\">\n <span class=\"flex-shrink-0\">{isWarning() ? '⚠️' : '❌'}</span>\n <div class=\"flex-1\">\n <p>{data().message}</p>\n <div class=\"flex gap-2 mt-2\">\n <Show when={data().retryAction}>\n <button type=\"button\" onClick={() => props.onAction?.(data().retryAction!)} class={`px-2 py-1 text-xs font-medium rounded ${isWarning() ? 'bg-amber-600 text-white hover:bg-amber-700' : 'bg-red-600 text-white hover:bg-red-700'} transition-colors`}>🔄 {data().retryLabel}</button>\n </Show>\n <Show when={data().details}>\n <button type=\"button\" onClick={() => setShowDetails(!showDetails())} class=\"px-2 py-1 text-xs opacity-70 hover:opacity-100\">▶ Details</button>\n </Show>\n </div>\n <Show when={showDetails() && data().details}>\n <pre class=\"mt-2 text-xs opacity-70 overflow-x-auto\">{data().details}</pre>\n </Show>\n </div>\n </div>\n </div>\n )\n}\n\n// ─── Source Card Section (F9) ────────────────────────────────\n\nconst SourceCardSection: Component<{ content: unknown }> = (props) => {\n const data = () => {\n const c = props.content as any\n return { name: c?.name || 'Source', status: c?.status || 'available', capabilities: c?.capabilities || [], latency_ms: c?.latency_ms, freshness: c?.freshness, row_count: c?.row_count }\n }\n const statusIcon = () => ({ queried: '✅', available: '📦', error: '❌' } as Record<string, string>)[data().status] || '📦'\n\n return (\n <div class=\"rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2\">\n <div class=\"flex items-center justify-between mb-1.5\">\n <span class=\"text-sm font-medium text-gray-900 dark:text-white\">{statusIcon()} {data().name}</span>\n <Show when={data().row_count !== undefined}>\n <span class=\"text-xs font-bold text-blue-600 dark:text-blue-400\">{data().row_count?.toLocaleString()} results</span>\n </Show>\n </div>\n <div class=\"flex flex-wrap gap-1.5 mb-1\">\n <For each={data().capabilities}>\n {(cap: any) => (\n <span class={`text-[10px] px-1.5 py-0.5 rounded ${cap.supported ? 'bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400' : 'bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400'}`}>\n {cap.supported ? '✅' : '❌'} {cap.label}\n </span>\n )}\n </For>\n </div>\n <Show when={data().freshness || data().latency_ms}>\n <p class=\"text-[10px] text-gray-400\">{[data().freshness, data().latency_ms ? `${data().latency_ms}ms` : ''].filter(Boolean).join(' · ')}</p>\n </Show>\n </div>\n )\n}\n\n// ─── Diff Section (F10) ──────────────────────────────────────\n\nconst DiffSection: Component<{ content: unknown }> = (props) => {\n const data = () => {\n const c = props.content as any\n return { left: c?.left || { label: 'A', rows: [] }, right: c?.right || { label: 'B', rows: [] }, highlight: c?.highlight_columns || [] }\n }\n const allKeys = () => {\n const l = data().left.rows[0] || {}\n const r = data().right.rows[0] || {}\n return [...new Set([...Object.keys(l), ...Object.keys(r)])]\n }\n\n return (\n <div class=\"overflow-x-auto\">\n <table class=\"min-w-full text-xs\">\n <thead>\n <tr>\n <th class=\"px-2 py-1 text-left text-gray-500 dark:text-gray-400\"></th>\n <th class=\"px-2 py-1 text-left font-medium text-blue-600 dark:text-blue-400\">{data().left.label}</th>\n <th class=\"px-2 py-1 text-left font-medium text-purple-600 dark:text-purple-400\">{data().right.label}</th>\n </tr>\n </thead>\n <tbody>\n <For each={allKeys()}>\n {(key) => {\n const lVal = () => data().left.rows[0]?.[key]\n const rVal = () => data().right.rows[0]?.[key]\n const isDiff = () => String(lVal()) !== String(rVal()) && data().highlight.includes(key)\n return (\n <tr class={`border-t border-gray-100 dark:border-gray-700 ${isDiff() ? 'bg-yellow-50 dark:bg-yellow-900/10' : ''}`}>\n <td class=\"px-2 py-1 font-mono text-gray-500 dark:text-gray-400\">{key}</td>\n <td class=\"px-2 py-1 text-gray-900 dark:text-white\">{lVal() !== undefined ? String(lVal()) : '—'}</td>\n <td class=\"px-2 py-1 text-gray-900 dark:text-white\">{rVal() !== undefined ? String(rVal()) : '—'}</td>\n </tr>\n )\n }}\n </For>\n </tbody>\n </table>\n </div>\n )\n}\n"],"names":["STATUS_BADGES","loading","label","class","ready","waiting_human","processing","complete","error","ScratchpadPanel","props","collapsed","setCollapsed","createSignal","localPreview","setLocalPreview","undefined","loadingAction","setLoadingAction","previewTimer","badge","state","status","isClosable","closable","isCollapsible","collapsible","preview","hasFilters","Object","keys","filters","length","eventCount","setEventCount","lastEvent","setLastEvent","debugLog","event","data","debug","c","console","log","id","CLOSE_ALIASES","Set","handleAction","action","asyncAction","has","onAction","onClose","createEffect","sections","turn","autoCloseDelay","pinned","timer","setTimeout","onCleanup","clearTimeout","endpoint","previewEndpoint","res","fetch","method","previewMethod","headers","previewHeaders","credentials","body","JSON","stringify","ok","json","previewDebounce","_el$","_$getNextElement","_tmpl$12","_el$2","firstChild","_el$3","_el$4","_el$5","nextSibling","_el$7","_el$8","_co$","_$getNextMarker","_el$9","_el$0","_el$10","_el$11","_co$2","_el$67","_el$68","_co$15","_el$51","_el$69","_el$70","_co$16","$$click","_$insert","title","_$createComponent","Show","when","children","_el$6","_tmpl$","_$effect","_$setAttribute","_$memo","_el$1","_tmpl$2","e","stopPropagation","_$runHydrationEvents","_el$12","_tmpl$10","_el$41","_el$42","_co$7","_el$14","_el$43","_el$44","_co$8","_el$45","_el$46","_co$9","_el$47","_el$48","_co$0","_el$49","_el$50","_co$1","turnHistory","_el$13","_tmpl$3","For","each","i","_tmpl$13","_el$72","_tmpl$15","_el$78","_el$79","_co$18","_el$73","_el$80","_el$81","_co$19","_el$82","_el$83","_co$20","_c$","summary","_el$74","_tmpl$14","_el$75","_el$76","_el$77","_co$17","_$className","section","SectionRenderer","onFilterChange","onSectionEdit","onSubmit","agentMessages","_el$15","_tmpl$4","msg","_el$84","_tmpl$16","_el$85","_el$86","_c$2","type","text","_el$16","_tmpl$6","count","fallback","_el$87","_tmpl$17","_el$88","_el$89","toLocaleString","_el$90","_tmpl$18","rows","_el$91","_tmpl$19","_el$92","_el$93","_el$94","_el$95","k","_el$96","_tmpl$20","slice","row","_el$97","_tmpl$21","values","v","_el$98","_tmpl$22","String","_el$17","_tmpl$5","_el$18","_el$19","_el$20","_el$21","_tmpl$0","_el$22","_el$23","_el$24","_el$25","_el$30","_el$31","_co$4","_el$32","_el$35","_el$36","_co$5","_el$37","_el$38","_co$6","message","code","_el$26","_tmpl$7","_el$27","_el$28","_el$29","_co$3","retryable","_el$33","_tmpl$8","onRetry","_el$34","_tmpl$9","_el$39","_tmpl$1","_el$40","_$p","_$setStyleProperty","maxHeight","debugOverlay","_el$52","_tmpl$11","_el$57","_el$58","_co$10","_el$53","_el$59","_el$60","_co$11","_el$54","_el$61","_el$62","_co$12","_el$55","_el$63","_el$64","_co$13","_el$56","_el$65","_el$66","_co$14","_p$","_v$","_v$2","_v$3","t","a","_el$99","_tmpl$24","_el$100","_el$103","_el$104","_co$21","Switch","Match","DataSection","content","InteractiveFilterSection","_el$101","ActionSection","EnrichedStepsSection","EmbeddedFormSection","sectionId","UnderstandingSection","FeedbackSection","PromptSection","StepperProgressSection","ErrorSectionRenderer","SourceCardSection","DiffSection","_el$102","_tmpl$23","entries","_el$105","_tmpl$25","_el$106","_tmpl$26","_el$107","_el$109","_el$110","_co$22","_el$111","_c$3","Array","isArray","join","editingKey","setEditingKey","editValue","setEditValue","filterDefs","allKeys","fromContent","fromFilters","removeFilter","key","next","setFilter","value","getDef","_el$112","_tmpl$28","_el$114","_el$115","_co$23","_el$116","_el$117","_co$24","def","hasValue","_el$118","_tmpl$34","_el$134","_el$135","_co$28","_el$136","_el$137","_co$29","_el$138","_tmpl$35","_el$139","_el$140","_el$141","_co$30","_el$119","_tmpl$30","_el$120","_el$121","_el$123","_el$124","_co$25","_el$125","_el$126","_el$127","_co$26","_el$129","_el$130","_co$27","_c$4","_el$128","_tmpl$29","_el$131","_tmpl$33","options","_el$142","_tmpl$36","_el$143","_el$144","_el$145","addEventListener","preventDefault","$$input","currentTarget","placeholder","_$setProperty","_el$132","_tmpl$31","opt","_el$146","_tmpl$38","_el$148","_el$149","_co$31","_el$150","_el$151","_co$32","_tmpl$37","_el$133","_tmpl$32","_tmpl$27","formData","setFormData","dynamicOptions","setDynamicOptions","config","fields","submitLabel","updateField","name","prev","field","dep","depends_on","dependsOn","parentValue","url","options_endpoint","apiUrl","replace","encodeURIComponent","params","URLSearchParams","extraParams","extra_params","includes","then","r","items","arr","results","features","lf","label_field","labelField","vf","value_field","valueField","map","catch","getField","dynOpts","handleSubmit","fromEntries","filter","find","f","fieldStatus","_el$152","_tmpl$39","_el$155","_el$156","_co$33","_el$153","_el$154","FormFieldRenderer","onChange","val","stepsData","steps","currentStep","_el$157","_tmpl$41","_el$160","_el$161","_co$34","_el$162","_el$163","_co$35","step","_el$164","_tmpl$44","_el$165","_el$166","_el$171","_el$172","_co$37","_el$173","_el$174","_co$38","_el$176","_el$177","_co$39","_c$5","description","_el$167","_tmpl$42","_el$168","_el$169","_el$170","_co$36","_el$175","_tmpl$43","_v$4","_v$5","some","s","_el$158","_tmpl$40","_el$159","actions","_el$178","_tmpl$45","item","_el$179","_el$181","_el$182","_co$40","_el$183","_el$184","_co$41","icon","_el$180","_tmpl$46","variant","detections","warnings","confidenceClass","conf","_el$185","_tmpl$47","_el$186","_el$188","_el$189","_co$42","det","_el$190","_tmpl$48","_el$191","_el$192","confidence","_el$187","w","_el$193","_tmpl$49","_el$194","_el$195","comment","setComment","showComment","setShowComment","approve","reject","question","allowFreeText","allowComment","commentPlaceholder","handleOption","option","needsComment","_el$196","_tmpl$51","_el$197","_el$198","_el$202","_el$203","_co$43","_el$204","_el$206","_el$207","_co$44","_el$208","_el$209","_co$45","_el$205","_tmpl$52","_el$199","_tmpl$50","_el$200","_el$201","_v$6","_v$7","originalQuery","interpretation","extracted","plan","editable","_el$210","_tmpl$56","_el$223","_el$224","_co$48","_el$216","_el$225","_el$226","_co$49","_el$227","_el$228","_co$50","_el$211","_tmpl$53","_el$212","_el$214","_el$215","_co$46","_el$229","_tmpl$57","_el$230","_el$232","_el$233","_co$51","_el$234","_el$217","_tmpl$54","_el$218","_el$219","_el$220","_el$221","_co$47","_el$222","_tmpl$55","orientation","statusIcon","isHorizontal","_el$236","_tmpl$59","_el$237","_tmpl$62","_el$238","_el$239","_el$240","_el$250","_el$251","_co$54","_el$252","_el$253","_co$55","_el$241","_tmpl$60","_el$242","_el$243","_el$244","_co$52","duration_ms","_el$245","_tmpl$61","_el$246","_el$248","_el$249","_co$53","_el$235","_tmpl$58","_el$255","_tmpl$64","_el$256","_el$257","_el$259","_el$260","_co$56","_el$258","_tmpl$63","showDetails","setShowDetails","severity","retryAction","retryLabel","details","timestamp","isWarning","_el$261","_tmpl$68","_el$262","_el$263","_el$264","_el$265","_el$266","_el$272","_el$273","_co$58","_el$274","_el$275","_co$59","_el$277","_el$278","_co$60","_el$267","_tmpl$65","_el$268","_el$269","_el$270","_co$57","_el$271","_tmpl$66","_el$276","_tmpl$67","capabilities","latency_ms","freshness","row_count","queried","available","_el$279","_tmpl$71","_el$280","_el$281","_el$283","_el$284","_co$61","_el$282","_el$285","_el$286","_co$62","_el$291","_el$292","_co$64","_el$293","_el$295","_el$296","_co$65","_el$287","_tmpl$69","_el$289","_el$290","_co$63","cap","_el$297","_tmpl$72","_el$299","_el$300","_co$66","_el$298","_el$301","_el$302","_co$67","supported","_el$294","_tmpl$70","Boolean","left","right","highlight","highlight_columns","l","_el$303","_tmpl$73","_el$304","_el$305","_el$306","_el$307","_el$308","_el$309","_el$310","lVal","rVal","isDiff","_el$311","_tmpl$74","_el$312","_el$313","_el$314","_c$6","_c$7","_$delegateEvents"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScratchpadPanel.cjs","sources":["../../src/components/ScratchpadPanel.tsx"],"sourcesContent":["/**\n * ScratchpadPanel v3 — Full HITL/AITL workspace\n * v2.9.0: Interactive filters, form sections, stepper, preview auto-refresh\n *\n * @experimental\n */\n\nimport { Component, Show, For, Switch, Match, createSignal, createEffect, onCleanup } from 'solid-js'\nimport type { ScratchpadState, ScratchpadSection } from '../types/chat-bus'\nimport type { FormFieldParams } from '../types'\nimport { FormFieldRenderer } from './FormFieldRenderer'\n\nexport interface ScratchpadPanelProps {\n state: ScratchpadState\n onFilterChange?: (filters: Record<string, string | string[]>) => void\n onAction?: (action: string, data?: unknown) => void\n onSectionEdit?: (sectionId: string, content: unknown) => void\n /** Dedicated callback for form submissions (cleaner than onAction) */\n onSubmit?: (sectionId: string, values: Record<string, unknown>) => void\n /** Called when user clicks retry on error state */\n onRetry?: () => void\n onClose?: () => void\n /** When true, action buttons show loading spinner and stay open until next server update */\n asyncAction?: boolean\n /** When true (set by server), scratchpad stays visible during stream */\n pinned?: boolean\n /** Log events/actions to console */\n debug?: boolean\n /** Show mini debug overlay */\n debugOverlay?: boolean\n closable?: boolean\n autoCloseDelay?: number\n collapsible?: boolean\n maxHeight?: string\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: 'Action available', class: 'bg-cyan-100 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-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-green-100 text-green-600 dark:bg-green-900/30 dark:text-green-400' },\n error: { label: 'Error', class: 'bg-red-100 text-red-600 dark:bg-red-900/30 dark:text-red-400' },\n}\n\nexport const ScratchpadPanel: Component<ScratchpadPanelProps> = (props) => {\n const [collapsed, setCollapsed] = createSignal(false)\n const [localPreview, setLocalPreview] = createSignal<ScratchpadState['preview']>(undefined)\n const [loadingAction, setLoadingAction] = createSignal<string | null>(null)\n let previewTimer: ReturnType<typeof setTimeout> | null = null\n const badge = () => STATUS_BADGES[props.state.status] || STATUS_BADGES.loading\n const isClosable = () => props.closable !== false\n const isCollapsible = () => props.collapsible !== false\n const preview = () => localPreview() || props.state.preview\n const hasFilters = () => Object.keys(props.state.filters || {}).length > 0\n const [eventCount, setEventCount] = createSignal(0)\n const [lastEvent, setLastEvent] = createSignal('')\n\n const debugLog = (event: string, data?: any) => {\n if (!props.debug) return\n setEventCount(c => c + 1)\n setLastEvent(event)\n console.log(`[ScratchpadPanel:${props.state.id}] ${event}`, data || '')\n }\n\n // Action aliases that auto-close the scratchpad\n const CLOSE_ALIASES = new Set(['done', 'close', 'dismiss', 'validate', 'cancel', 'sufficient'])\n\n const handleAction = (action: string, data?: unknown) => {\n debugLog('onAction', { action, asyncAction: props.asyncAction, data })\n if (props.asyncAction && !CLOSE_ALIASES.has(action)) {\n setLoadingAction(action)\n }\n props.onAction?.(action, data)\n if (CLOSE_ALIASES.has(action) && props.onClose) {\n props.onClose()\n }\n }\n\n // Debug: log state changes\n createEffect(() => {\n debugLog('state', { status: props.state.status, sections: props.state.sections?.length, filters: Object.keys(props.state.filters || {}), turn: props.state.turn })\n })\n\n // Auto-close on complete (unless pinned)\n createEffect(() => {\n if (props.state.status === 'complete' && props.autoCloseDelay && !props.pinned) {\n const timer = setTimeout(() => props.onClose?.(), props.autoCloseDelay)\n onCleanup(() => clearTimeout(timer))\n }\n // Clear loading action when server responds\n if (props.state.status !== 'processing' && loadingAction()) {\n setLoadingAction(null)\n }\n })\n\n // Preview auto-refresh when filters change\n createEffect(() => {\n const endpoint = props.state.previewEndpoint\n if (!endpoint) return\n const filters = props.state.filters\n if (!filters || Object.keys(filters).length === 0) return\n\n if (previewTimer) clearTimeout(previewTimer)\n previewTimer = setTimeout(async () => {\n try {\n const res = await fetch(endpoint, {\n method: props.state.previewMethod || 'POST',\n headers: { 'Content-Type': 'application/json', ...props.state.previewHeaders },\n credentials: 'include',\n body: JSON.stringify({ filters }),\n })\n if (res.ok) setLocalPreview(await res.json())\n } catch { /* ignore */ }\n }, props.state.previewDebounce || 500)\n })\n\n onCleanup(() => { if (previewTimer) clearTimeout(previewTimer) })\n\n return (\n <div\n class={`w-full bg-white dark:bg-gray-800 rounded-xl border shadow-lg overflow-visible ${\n props.state.status === 'waiting_human'\n ? 'border-blue-300 dark:border-blue-600'\n : 'border-gray-200 dark:border-gray-700'\n } ${props.pinned ? 'sticky top-0 z-40' : ''}`}\n style={{ animation: 'scratchpad-slide-down 0.2s ease-out' }}\n >\n {/* Header */}\n <div\n class={`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' : ''}`}\n onClick={() => isCollapsible() && setCollapsed(!collapsed())}\n >\n <div class=\"flex items-center gap-2\">\n <span class=\"text-base\">📝</span>\n <h3 class=\"text-sm font-semibold text-gray-900 dark:text-white\">{props.state.title}</h3>\n <Show when={isCollapsible()}>\n <svg class={`w-3.5 h-3.5 text-gray-400 transition-transform ${collapsed() ? '-rotate-90' : ''}`} fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M19 9l-7 7-7-7\" />\n </svg>\n </Show>\n </div>\n <div class=\"flex items-center gap-2\">\n <span class={`px-2 py-0.5 text-xs font-medium rounded-full ${badge().class}`}>{badge().label}</span>\n <Show when={isClosable() && props.onClose}>\n <button onClick={(e) => { e.stopPropagation(); props.onClose?.() }} 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\">\n <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\" /></svg>\n </button>\n </Show>\n </div>\n </div>\n\n {/* Body */}\n <Show when={!collapsed()}>\n <div style={{ \"max-height\": props.maxHeight || \"500px\", \"overflow-y\": \"auto\" }}>\n {/* Turn history header */}\n <Show when={props.state.turnHistory && props.state.turnHistory.length > 0}>\n <div class=\"px-4 py-2 border-b border-gray-100 dark:border-gray-700 flex flex-wrap items-center gap-1.5\">\n <For each={props.state.turnHistory}>\n {(turn, i) => (\n <>\n <Show when={i() > 0}>\n <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\" /></svg>\n </Show>\n <span class={`text-xs font-medium px-2 py-0.5 rounded-full ${\n turn.status === 'done' ? 'bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400'\n : turn.status === 'active' ? 'bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400'\n : turn.status === 'skipped' ? 'bg-gray-100 dark:bg-gray-700 text-gray-400 line-through'\n : 'bg-gray-100 dark:bg-gray-700 text-gray-400'\n }`}>\n {turn.status === 'done' ? '✅' : turn.status === 'active' ? '●' : '○'} {turn.label}\n <Show when={turn.summary}><span class=\"ml-1 font-normal opacity-75\">— {turn.summary}</span></Show>\n </span>\n </>\n )}\n </For>\n </div>\n </Show>\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={handleAction}\n onSectionEdit={props.onSectionEdit}\n onSubmit={props.onSubmit}\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 rounded-lg px-3 py-2 ${\n msg.type === 'warning' ? 'bg-amber-50 dark:bg-amber-900/10 text-amber-700 dark:text-amber-400'\n : 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'\n : 'bg-gray-50 dark:bg-gray-700/50 text-gray-600 dark:text-gray-400'\n }`}>\n <span class=\"flex-shrink-0 mt-0.5\">{msg.type === 'warning' ? '⚠️' : msg.type === 'question' ? '❓' : 'ℹ️'}</span>\n <p>{msg.text}</p>\n </div>\n )}\n </For>\n </div>\n </Show>\n\n {/* Preview */}\n <Show when={preview()}>\n <div class=\"px-4 py-3 border-t border-gray-100 dark:border-gray-700\">\n <Show when={preview()!.count === 0} fallback={\n <>\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\">{preview()!.count.toLocaleString()}</span>\n </div>\n <p class=\"text-sm text-gray-700 dark:text-gray-300\">{preview()!.summary}</p>\n <Show when={preview()!.rows && preview()!.rows!.length > 0}>\n <div class=\"mt-2 overflow-x-auto\">\n <table class=\"min-w-full text-xs\">\n <thead><tr><For each={Object.keys(preview()!.rows![0])}>{(k) => <th class=\"px-2 py-1 text-left font-medium text-gray-500 dark:text-gray-400\">{k}</th>}</For></tr></thead>\n <tbody><For each={preview()!.rows!.slice(0, 5)}>{(row) => <tr class=\"border-t border-gray-100 dark:border-gray-700\"><For each={Object.values(row)}>{(v) => <td class=\"px-2 py-1 text-gray-700 dark:text-gray-300\">{String(v)}</td>}</For></tr>}</For></tbody>\n </table>\n </div>\n </Show>\n </>\n }>\n <div class=\"flex flex-col items-center gap-2 py-4 text-center\">\n <span class=\"text-2xl\">🔍</span>\n <p class=\"text-sm text-gray-500 dark:text-gray-400\">No results for these filters</p>\n <button type=\"button\" onClick={() => props.onAction?.('refine_filters')} 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</button>\n </div>\n </Show>\n </div>\n </Show>\n\n {/* Error state with retry */}\n <Show when={props.state.status === 'error' && props.state.error}>\n <div class=\"px-4 py-3 border-t border-red-100 dark:border-red-900/30 bg-red-50 dark:bg-red-900/10\">\n <div class=\"flex items-start gap-2 text-sm text-red-700 dark:text-red-400\">\n <span class=\"flex-shrink-0 mt-0.5\">⚠️</span>\n <div class=\"flex-1\">\n <p class=\"font-medium\">{props.state.error!.message}</p>\n <Show when={props.state.error!.code}>\n <p class=\"text-xs text-red-500 dark:text-red-500 mt-0.5\">Code: {props.state.error!.code}</p>\n </Show>\n </div>\n </div>\n <div class=\"flex gap-2 mt-2\">\n <Show when={props.state.error!.retryable !== false}>\n <button type=\"button\" onClick={() => props.onRetry?.()}\n class=\"px-3 py-1.5 text-sm font-medium rounded-lg bg-red-600 text-white hover:bg-red-700 transition-colors flex items-center gap-1\">\n 🔄 Retry\n </button>\n </Show>\n <Show when={props.onClose}>\n <button type=\"button\" onClick={() => props.onClose?.()}\n 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\">\n Close\n </button>\n </Show>\n </div>\n </div>\n </Show>\n\n {/* Search button when waiting_human */}\n <Show when={props.state.status === 'waiting_human' && hasFilters()}>\n <div class=\"px-4 py-3 border-t border-gray-100 dark:border-gray-700\">\n <button\n type=\"button\"\n onClick={() => handleAction('search', { filters: props.state.filters })}\n 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\"\n >\n <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\" /></svg>\n Search\n </button>\n </div>\n </Show>\n </div>\n </Show>\n\n <style>{`\n @keyframes scratchpad-slide-down { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }\n `}</style>\n\n {/* Debug overlay */}\n <Show when={props.debugOverlay}>\n <div class=\"absolute bottom-1 right-1 px-2 py-1 text-[9px] font-mono bg-black/80 text-green-400 rounded z-50 pointer-events-none\">\n {props.state.id} | ev:{eventCount()} | sec:{props.state.sections?.length || 0} | {props.state.status} | last:{lastEvent()}\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 onSubmit?: (sectionId: string, values: Record<string, unknown>) => void\n}> = (props) => {\n return (\n <div class=\"px-4 py-3\">\n <h4 class=\"text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide mb-2\">{props.section.title}</h4>\n <Switch>\n <Match when={props.section.type === 'data'}><DataSection content={props.section.content} /></Match>\n <Match when={props.section.type === 'filter'}><InteractiveFilterSection content={props.section.content} filters={props.filters} onFilterChange={props.onFilterChange} /></Match>\n <Match when={props.section.type === 'message'}><p class=\"text-sm text-gray-700 dark:text-gray-300\">{String(props.section.content)}</p></Match>\n <Match when={props.section.type === 'action'}><ActionSection content={props.section.content} onAction={props.onAction} /></Match>\n <Match when={props.section.type === 'steps'}><EnrichedStepsSection content={props.section.content} onAction={props.onAction} onFilterChange={props.onFilterChange} /></Match>\n <Match when={props.section.type === 'form'}><EmbeddedFormSection content={props.section.content} sectionId={props.section.id} onAction={props.onAction} onSubmit={props.onSubmit} /></Match>\n <Match when={props.section.type === 'understanding'}><UnderstandingSection content={props.section.content} /></Match>\n <Match when={props.section.type === 'feedback'}><FeedbackSection content={props.section.content} onAction={props.onAction} /></Match>\n <Match when={props.section.type === 'prompt'}><PromptSection content={props.section.content} onAction={props.onAction} /></Match>\n <Match when={props.section.type === 'stepper'}><StepperProgressSection content={props.section.content} /></Match>\n <Match when={props.section.type === 'error'}><ErrorSectionRenderer content={props.section.content} onAction={props.onAction} /></Match>\n <Match when={props.section.type === 'source_card'}><SourceCardSection content={props.section.content} /></Match>\n <Match when={props.section.type === 'diff'}><DiffSection content={props.section.content} /></Match>\n <Match when={true}><pre class=\"text-xs text-gray-500 overflow-auto\">{JSON.stringify(props.section.content, null, 2)}</pre></Match>\n </Switch>\n </div>\n )\n}\n\n// ─── Data Section ────────────────────────────────────────────\n\nconst DataSection: Component<{ content: unknown }> = (props) => {\n const entries = () => typeof props.content === 'object' && props.content ? Object.entries(props.content as Record<string, unknown>) : []\n return (\n <div class=\"space-y-1\">\n <For each={entries()}>{([k, v]) => <div class=\"flex gap-2 text-xs\"><span class=\"text-gray-500 dark:text-gray-400 font-mono min-w-[120px]\">{k}:</span><span class=\"text-gray-900 dark:text-white\">{Array.isArray(v) ? v.join(', ') : String(v)}</span></div>}</For>\n </div>\n )\n}\n\n// ─── Interactive Filter Section (#4, #5) ─────────────────────\n\nconst InteractiveFilterSection: Component<{\n content: unknown\n filters: Record<string, string | string[]>\n onFilterChange?: (filters: Record<string, string | string[]>) => void\n}> = (props) => {\n const [editingKey, setEditingKey] = createSignal<string | null>(null)\n const [editValue, setEditValue] = createSignal('')\n\n // Content can be a filter definition or just use props.filters\n const filterDefs = () => {\n if (typeof props.content === 'object' && props.content) return props.content as Record<string, any>\n return {}\n }\n\n const allKeys = () => {\n const fromContent = Object.keys(filterDefs())\n const fromFilters = Object.keys(props.filters || {})\n return [...new Set([...fromContent, ...fromFilters])]\n }\n\n const removeFilter = (key: string) => {\n const next = { ...props.filters }\n delete next[key]\n props.onFilterChange?.(next)\n }\n\n const setFilter = (key: string, value: string) => {\n props.onFilterChange?.({ ...props.filters, [key]: value })\n setEditingKey(null)\n setEditValue('')\n }\n\n const getDef = (key: string) => filterDefs()[key] || {}\n\n return (\n <div class=\"flex flex-wrap gap-1.5\">\n <For each={allKeys()}>\n {(key) => {\n const def = () => getDef(key)\n const value = () => props.filters[key]\n const hasValue = () => value() !== undefined && value() !== ''\n\n return (\n <div class=\"relative\">\n <Show when={hasValue()} fallback={\n <button type=\"button\" onClick={() => { setEditingKey(key); setEditValue('') }}\n 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\">\n + {def()?.label || key}\n </button>\n }>\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 <button type=\"button\" onClick={() => { setEditingKey(key); setEditValue(String(value() || '')) }} class=\"hover:underline\">\n <span class=\"text-blue-500 dark:text-blue-400\">{def()?.label || key}:</span> {Array.isArray(value()) ? (value() as string[]).join(', ') : String(value())}\n </button>\n <Show when={props.onFilterChange}>\n <button type=\"button\" onClick={() => removeFilter(key)} class=\"ml-0.5 hover:text-blue-900 dark:hover:text-blue-100\" aria-label={`Remove ${key}`}>×</button>\n </Show>\n </span>\n </Show>\n\n {/* Inline editor */}\n <Show when={editingKey() === key}>\n <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]\">\n <Show when={def()?.options} fallback={\n <form onSubmit={(e) => { e.preventDefault(); setFilter(key, editValue()) }} class=\"flex gap-1\">\n <input type=\"text\" value={editValue()} onInput={(e) => setEditValue(e.currentTarget.value)} placeholder={def()?.placeholder || key} autofocus\n 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\" />\n <button type=\"submit\" class=\"px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700\">OK</button>\n <button type=\"button\" onClick={() => setEditingKey(null)} class=\"px-2 py-1 text-xs text-gray-500 hover:text-gray-700\">Cancel</button>\n </form>\n }>\n <div class=\"max-h-48 overflow-y-auto\">\n <For each={def().options as Array<{ value: string; label: string }>}>\n {(opt) => (\n <button type=\"button\" onClick={() => setFilter(key, opt.value)}\n class={`w-full text-left px-2 py-1.5 text-sm rounded hover:bg-blue-50 dark:hover:bg-blue-900/20 ${\n 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'\n }`}>\n {opt.label}\n <Show when={String(value()) === opt.value}><span class=\"ml-1\">✓</span></Show>\n </button>\n )}\n </For>\n </div>\n <button type=\"button\" onClick={() => setEditingKey(null)} class=\"mt-1 w-full px-2 py-1 text-xs text-gray-500 hover:text-gray-700 text-center\">Cancel</button>\n </Show>\n </div>\n </Show>\n </div>\n )\n }}\n </For>\n <Show when={allKeys().length === 0}>\n <p class=\"text-xs text-gray-400 italic\">No filters</p>\n </Show>\n </div>\n )\n}\n\n// ─── Embedded Form Section (#7, #8) ──────────────────────────\n\nconst EmbeddedFormSection: Component<{\n content: unknown\n sectionId: string\n onAction?: (action: string, data?: unknown) => void\n onSubmit?: (sectionId: string, values: Record<string, unknown>) => void\n}> = (props) => {\n const [formData, setFormData] = createSignal<Record<string, any>>({})\n const [dynamicOptions, setDynamicOptions] = createSignal<Record<string, Array<{ label: string; value: string }>>>({})\n\n const config = () => {\n const c = props.content as any\n return { fields: c?.fields || [], submitLabel: c?.submitLabel || 'Submit' }\n }\n\n const updateField = (name: string, value: any) => setFormData(prev => ({ ...prev, [name]: value }))\n\n // depends_on reactive (#9)\n createEffect(() => {\n const data = formData()\n for (const field of config().fields) {\n const dep = field.depends_on || field.dependsOn\n if (!dep) continue\n const parentValue = data[dep.field]\n if (!parentValue) continue\n const url = (dep.options_endpoint || dep.apiUrl || '').replace('{value}', encodeURIComponent(parentValue))\n if (!url) continue\n const params = new URLSearchParams(dep.extraParams || dep.extra_params || {})\n fetch(`${url}${url.includes('?') ? '&' : '?'}${params}`)\n .then(r => r.json())\n .then(items => {\n const arr = Array.isArray(items) ? items : items.results || items.features || []\n const lf = dep.label_field || dep.labelField || 'label'\n const vf = dep.value_field || dep.valueField || 'value'\n setDynamicOptions(prev => ({ ...prev, [field.name]: arr.map((i: any) => ({ label: i[lf] || String(i), value: String(i[vf] || i[lf] || i) })) }))\n })\n .catch(() => {})\n }\n })\n\n const getField = (field: any): FormFieldParams => {\n const dynOpts = dynamicOptions()[field.name]\n return dynOpts ? { ...field, options: dynOpts } as FormFieldParams : field as FormFieldParams\n }\n\n const handleSubmit = (e: Event) => {\n e.preventDefault()\n\n // Filter out unsupported fields, keep only values with content\n const values = Object.fromEntries(\n Object.entries(formData())\n .filter(([key]) => {\n const field = config().fields.find((f: any) => f.name === key)\n return field?.fieldStatus !== 'unsupported'\n })\n .filter(([, v]) => v !== undefined && v !== '' && !(Array.isArray(v) && v.length === 0))\n )\n\n if (props.onSubmit) {\n props.onSubmit(props.sectionId, values)\n } else {\n props.onAction?.('submit_form', { sectionId: props.sectionId, values })\n }\n }\n\n return (\n <form onSubmit={handleSubmit} class=\"flex flex-col gap-3\">\n <For each={config().fields}>\n {(field) => (\n <FormFieldRenderer\n field={getField(field)}\n value={formData()[field.name]}\n onChange={(val) => updateField(field.name, val)}\n formData={formData}\n />\n )}\n </For>\n <div class=\"flex justify-end\">\n <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\">\n {config().submitLabel}\n </button>\n </div>\n </form>\n )\n}\n\n// ─── Enriched Steps Section (#6) ─────────────────────────────\n\nconst EnrichedStepsSection: Component<{\n content: unknown\n onAction?: (action: string, data?: unknown) => void\n onFilterChange?: (filters: Record<string, string | string[]>) => void\n}> = (props) => {\n const stepsData = () => {\n const c = props.content as any\n return { steps: c?.steps || [], currentStep: c?.currentStep ?? 0 }\n }\n\n return (\n <div class=\"space-y-3\">\n <For each={stepsData().steps}>\n {(step: any) => (\n <div class={`rounded-lg ${step.status === 'active' ? 'bg-blue-50/50 dark:bg-blue-900/10 border border-blue-200 dark:border-blue-800 p-3 animate-pulse' : 'px-1'}`}>\n <div class={`flex items-center gap-2 text-sm font-medium ${\n step.status === 'done' ? 'text-green-600 dark:text-green-400'\n : step.status === 'active' ? 'text-blue-600 dark:text-blue-400'\n : 'text-gray-400'\n }`}>\n <span>{step.status === 'done' ? '✅' : step.status === 'active' ? '●' : '○'}</span>\n {step.label}\n <Show when={step.description && step.status === 'active'}>\n <span class=\"text-xs font-normal text-gray-500 dark:text-gray-400\">— {step.description}</span>\n </Show>\n </div>\n\n {/* Embedded content for active step */}\n <Show when={step.status === 'active' && step.content}>\n <div class=\"mt-2 ml-6\">\n <SectionRenderer\n section={step.content}\n filters={{}}\n onFilterChange={props.onFilterChange}\n onAction={props.onAction}\n />\n </div>\n </Show>\n </div>\n )}\n </For>\n\n {/* Next button */}\n <Show when={stepsData().steps.some((s: any) => s.status === 'active')}>\n <div class=\"flex justify-end\">\n <button type=\"button\" onClick={() => props.onAction?.('next_step', { step: stepsData().currentStep })}\n 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\">\n 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\" /></svg>\n </button>\n </div>\n </Show>\n </div>\n )\n}\n\n// ─── Action Section ──────────────────────────────────────────\n\nconst ActionSection: Component<{\n content: unknown\n onAction?: (action: string, data?: unknown) => void\n}> = (props) => {\n const actions = () => Array.isArray(props.content) ? props.content as Array<{ label: string; value?: string; action?: string; variant?: string; icon?: string }> : []\n return (\n <div class=\"flex flex-wrap gap-2\">\n <For each={actions()}>\n {(item) => (\n <button type=\"button\" onClick={() => props.onAction?.(item.value || item.action || item.label, item)}\n class={`px-3 py-1.5 text-sm font-medium rounded-lg transition-colors ${\n item.variant === 'primary' ? 'bg-blue-600 text-white hover:bg-blue-700'\n : item.variant === 'danger' ? '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 <Show when={item.icon}><span class=\"mr-1\">{item.icon}</span></Show>\n {item.label}\n </button>\n )}\n </For>\n </div>\n )\n}\n\n// ─── Understanding Section — agent comprehension ─────────────\n\nconst UnderstandingSection: Component<{ content: unknown }> = (props) => {\n const data = () => {\n const c = props.content as any\n return { detections: c?.detections || [], warnings: c?.warnings || [] }\n }\n\n const confidenceClass = (conf?: string) => {\n switch (conf) {\n case 'high': return 'bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400'\n case 'medium': return 'bg-yellow-100 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-400'\n case 'low': return 'bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-400'\n default: return 'bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-400'\n }\n }\n\n return (\n <div class=\"space-y-2\">\n <div class=\"space-y-1.5\">\n <For each={data().detections}>\n {(det: any) => (\n <div class=\"flex items-center gap-2 text-sm\">\n <span class={`px-1.5 py-0.5 text-xs font-medium rounded ${confidenceClass(det.confidence)}`}>\n {det.label}\n </span>\n <span class=\"text-gray-900 dark:text-white\">{det.value}</span>\n </div>\n )}\n </For>\n </div>\n <Show when={data().warnings.length > 0}>\n <div class=\"space-y-1\">\n <For each={data().warnings}>\n {(w: string) => (\n <div class=\"flex items-start gap-1.5 text-xs text-amber-600 dark:text-amber-400\">\n <span class=\"flex-shrink-0\">⚠️</span>\n <span>{w}</span>\n </div>\n )}\n </For>\n </div>\n </Show>\n </div>\n )\n}\n\n// ─── Feedback Section — thumbs up/down ───────────────────────\n\nconst FeedbackSection: Component<{\n content: unknown\n onAction?: (action: string, data?: unknown) => void\n}> = (props) => {\n const [comment, setComment] = createSignal('')\n const [showComment, setShowComment] = createSignal(false)\n const data = () => {\n const c = props.content as any\n // Support both formats: options array (universal) and approve/reject (simple)\n const options = c?.options || [\n { value: c?.approve?.value || 'approve', label: c?.approve?.label || 'Yes', icon: '👍', variant: 'primary' },\n { value: c?.reject?.value || 'reject', label: c?.reject?.label || 'No', icon: '👎' },\n ]\n return {\n question: c?.question || '',\n options: options as Array<{ value: string; label: string; icon?: string; variant?: string; needsComment?: boolean }>,\n allowFreeText: c?.allowFreeText ?? c?.allowComment ?? false,\n placeholder: c?.placeholder || c?.commentPlaceholder || 'Add a comment...',\n }\n }\n\n const handleOption = (option: any) => {\n if (option.needsComment) {\n setShowComment(true)\n return\n }\n props.onAction?.('feedback', { option: option.value, comment: comment() })\n }\n\n return (\n <div class=\"space-y-3\">\n <p class=\"text-sm text-gray-700 dark:text-gray-300\">{data().question}</p>\n <div class=\"flex flex-wrap gap-2\">\n <For each={data().options}>\n {(option) => (\n <button type=\"button\" onClick={() => handleOption(option)}\n class={`px-3 py-1.5 text-sm font-medium rounded-lg transition-colors flex items-center gap-1 ${\n option.variant === 'primary' ? 'bg-blue-600 text-white hover:bg-blue-700'\n : option.variant === 'danger' ? '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 <Show when={option.icon}><span>{option.icon}</span></Show>\n {option.label}\n </button>\n )}\n </For>\n </div>\n <Show when={data().allowFreeText || showComment()}>\n <div class=\"flex gap-1\">\n <input type=\"text\" value={comment()} onInput={(e) => setComment(e.currentTarget.value)}\n placeholder={data().placeholder} autofocus={showComment()}\n class=\"flex-1 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\" />\n <button type=\"button\" onClick={() => props.onAction?.('feedback', { option: 'comment', comment: comment() })}\n class=\"px-3 py-2 text-sm bg-blue-600 text-white rounded-lg hover:bg-blue-700\">Send</button>\n </div>\n </Show>\n </div>\n )\n}\n\n// ─── Prompt Section — agent interpretation ───────────────────\n\nconst PromptSection: Component<{\n content: unknown\n onAction?: (action: string, data?: unknown) => void\n}> = (props) => {\n const data = () => {\n const c = props.content as any\n return {\n originalQuery: c?.originalQuery || '',\n interpretation: c?.interpretation || '',\n extracted: c?.extracted || {},\n plan: c?.plan || '',\n editable: c?.editable ?? false,\n }\n }\n\n return (\n <div class=\"space-y-2\">\n <Show when={data().originalQuery}>\n <p class=\"text-xs text-gray-500 dark:text-gray-400 italic\">\"{data().originalQuery}\"</p>\n </Show>\n <div class=\"space-y-1\">\n <For each={Object.entries(data().extracted)}>\n {([key, value]) => (\n <div class=\"flex gap-2 text-sm\">\n <span class=\"text-gray-500 dark:text-gray-400 font-medium min-w-[80px]\">{key}:</span>\n <span class=\"text-gray-900 dark:text-white\">{String(value)}</span>\n </div>\n )}\n </For>\n </div>\n <Show when={data().plan}>\n <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\">\n <span class=\"font-medium\">Plan:</span> {data().plan}\n </div>\n </Show>\n <Show when={data().editable}>\n <button type=\"button\" onClick={() => props.onAction?.('edit_prompt', data())}\n class=\"text-xs text-blue-600 dark:text-blue-400 hover:underline flex items-center gap-1\">\n ✎ Modify\n </button>\n </Show>\n </div>\n )\n}\n\n// ─── Stepper Progress Section (multi-source) ─────────────────\n\nconst StepperProgressSection: Component<{ content: unknown }> = (props) => {\n const data = () => {\n const c = props.content as any\n return {\n steps: (c?.steps || []) as Array<{ id: string; label: string; status: string; summary?: string; duration_ms?: number }>,\n orientation: c?.orientation || 'horizontal',\n }\n }\n\n const statusIcon = (status: string) => {\n switch (status) {\n case 'done': return '✅'\n case 'active': return '🔄'\n case 'error': return '❌'\n default: return '⏳'\n }\n }\n\n const isHorizontal = () => data().orientation === 'horizontal'\n\n return (\n <Show when={isHorizontal()} fallback={\n <div class=\"space-y-2\">\n <For each={data().steps}>\n {(step) => (\n <div class={`flex items-start gap-2 text-sm ${step.status === 'active' ? 'font-medium' : ''} ${step.status === 'pending' ? 'text-gray-400' : 'text-gray-700 dark:text-gray-300'}`}>\n <span class=\"flex-shrink-0\">{statusIcon(step.status)}</span>\n <div>\n <span>{step.label}</span>\n <Show when={step.summary}>\n <span class=\"ml-1 text-xs text-gray-500 dark:text-gray-400\">— {step.summary}</span>\n </Show>\n <Show when={step.duration_ms}>\n <span class=\"ml-1 text-xs text-gray-400\">({step.duration_ms}ms)</span>\n </Show>\n </div>\n </div>\n )}\n </For>\n </div>\n }>\n <div class=\"flex items-center gap-1 flex-wrap\">\n <For each={data().steps}>\n {(step, i) => (\n <>\n <Show when={i() > 0}>\n <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\" /></svg>\n </Show>\n <div class={`flex items-center gap-1 px-2 py-1 rounded text-xs ${\n step.status === 'done' ? 'bg-green-50 dark:bg-green-900/20 text-green-700 dark:text-green-400'\n : step.status === 'active' ? 'bg-blue-50 dark:bg-blue-900/20 text-blue-700 dark:text-blue-400 font-medium animate-pulse'\n : step.status === 'error' ? 'bg-red-50 dark:bg-red-900/20 text-red-700 dark:text-red-400'\n : 'text-gray-400'\n }`}>\n <span>{statusIcon(step.status)}</span>\n <span>{step.label}</span>\n <Show when={step.summary}>\n <span class=\"text-[10px] opacity-75\">{step.summary}</span>\n </Show>\n </div>\n </>\n )}\n </For>\n </div>\n </Show>\n )\n}\n\n// ─── Error Section (F6) ──────────────────────────────────────\n\nconst ErrorSectionRenderer: Component<{\n content: unknown\n onAction?: (action: string, data?: unknown) => void\n}> = (props) => {\n const [showDetails, setShowDetails] = createSignal(false)\n const data = () => {\n const c = props.content as any\n return { message: c?.message || 'Error', severity: c?.severity || 'error', retryAction: c?.retryAction, retryLabel: c?.retryLabel || 'Retry', details: c?.details, timestamp: c?.timestamp }\n }\n const isWarning = () => data().severity === 'warning'\n\n return (\n <div class={`rounded-lg px-3 py-2 text-sm ${isWarning() ? 'bg-amber-50 dark:bg-amber-900/10 text-amber-700 dark:text-amber-400 border border-amber-200 dark:border-amber-800' : 'bg-red-50 dark:bg-red-900/10 text-red-700 dark:text-red-400 border border-red-200 dark:border-red-800'}`}>\n <div class=\"flex items-start gap-2\">\n <span class=\"flex-shrink-0\">{isWarning() ? '⚠️' : '❌'}</span>\n <div class=\"flex-1\">\n <p>{data().message}</p>\n <div class=\"flex gap-2 mt-2\">\n <Show when={data().retryAction}>\n <button type=\"button\" onClick={() => props.onAction?.(data().retryAction!)} class={`px-2 py-1 text-xs font-medium rounded ${isWarning() ? 'bg-amber-600 text-white hover:bg-amber-700' : 'bg-red-600 text-white hover:bg-red-700'} transition-colors`}>🔄 {data().retryLabel}</button>\n </Show>\n <Show when={data().details}>\n <button type=\"button\" onClick={() => setShowDetails(!showDetails())} class=\"px-2 py-1 text-xs opacity-70 hover:opacity-100\">▶ Details</button>\n </Show>\n </div>\n <Show when={showDetails() && data().details}>\n <pre class=\"mt-2 text-xs opacity-70 overflow-x-auto\">{data().details}</pre>\n </Show>\n </div>\n </div>\n </div>\n )\n}\n\n// ─── Source Card Section (F9) ────────────────────────────────\n\nconst SourceCardSection: Component<{ content: unknown }> = (props) => {\n const data = () => {\n const c = props.content as any\n return { name: c?.name || 'Source', status: c?.status || 'available', capabilities: c?.capabilities || [], latency_ms: c?.latency_ms, freshness: c?.freshness, row_count: c?.row_count }\n }\n const statusIcon = () => ({ queried: '✅', available: '📦', error: '❌' } as Record<string, string>)[data().status] || '📦'\n\n return (\n <div class=\"rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2\">\n <div class=\"flex items-center justify-between mb-1.5\">\n <span class=\"text-sm font-medium text-gray-900 dark:text-white\">{statusIcon()} {data().name}</span>\n <Show when={data().row_count !== undefined}>\n <span class=\"text-xs font-bold text-blue-600 dark:text-blue-400\">{data().row_count?.toLocaleString()} results</span>\n </Show>\n </div>\n <div class=\"flex flex-wrap gap-1.5 mb-1\">\n <For each={data().capabilities}>\n {(cap: any) => (\n <span class={`text-[10px] px-1.5 py-0.5 rounded ${cap.supported ? 'bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400' : 'bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400'}`}>\n {cap.supported ? '✅' : '❌'} {cap.label}\n </span>\n )}\n </For>\n </div>\n <Show when={data().freshness || data().latency_ms}>\n <p class=\"text-[10px] text-gray-400\">{[data().freshness, data().latency_ms ? `${data().latency_ms}ms` : ''].filter(Boolean).join(' · ')}</p>\n </Show>\n </div>\n )\n}\n\n// ─── Diff Section (F10) ──────────────────────────────────────\n\nconst DiffSection: Component<{ content: unknown }> = (props) => {\n const data = () => {\n const c = props.content as any\n return { left: c?.left || { label: 'A', rows: [] }, right: c?.right || { label: 'B', rows: [] }, highlight: c?.highlight_columns || [] }\n }\n const allKeys = () => {\n const l = data().left.rows[0] || {}\n const r = data().right.rows[0] || {}\n return [...new Set([...Object.keys(l), ...Object.keys(r)])]\n }\n\n return (\n <div class=\"overflow-x-auto\">\n <table class=\"min-w-full text-xs\">\n <thead>\n <tr>\n <th class=\"px-2 py-1 text-left text-gray-500 dark:text-gray-400\"></th>\n <th class=\"px-2 py-1 text-left font-medium text-blue-600 dark:text-blue-400\">{data().left.label}</th>\n <th class=\"px-2 py-1 text-left font-medium text-purple-600 dark:text-purple-400\">{data().right.label}</th>\n </tr>\n </thead>\n <tbody>\n <For each={allKeys()}>\n {(key) => {\n const lVal = () => data().left.rows[0]?.[key]\n const rVal = () => data().right.rows[0]?.[key]\n const isDiff = () => String(lVal()) !== String(rVal()) && data().highlight.includes(key)\n return (\n <tr class={`border-t border-gray-100 dark:border-gray-700 ${isDiff() ? 'bg-yellow-50 dark:bg-yellow-900/10' : ''}`}>\n <td class=\"px-2 py-1 font-mono text-gray-500 dark:text-gray-400\">{key}</td>\n <td class=\"px-2 py-1 text-gray-900 dark:text-white\">{lVal() !== undefined ? String(lVal()) : '—'}</td>\n <td class=\"px-2 py-1 text-gray-900 dark:text-white\">{rVal() !== undefined ? String(rVal()) : '—'}</td>\n </tr>\n )\n }}\n </For>\n </tbody>\n </table>\n </div>\n )\n}\n"],"names":["STATUS_BADGES","loading","label","class","ready","waiting_human","processing","complete","error","ScratchpadPanel","props","collapsed","setCollapsed","createSignal","localPreview","setLocalPreview","undefined","loadingAction","setLoadingAction","previewTimer","badge","state","status","isClosable","closable","isCollapsible","collapsible","preview","hasFilters","Object","keys","filters","length","eventCount","setEventCount","lastEvent","setLastEvent","debugLog","event","data","debug","c","console","log","id","CLOSE_ALIASES","Set","handleAction","action","asyncAction","has","onAction","onClose","createEffect","sections","turn","autoCloseDelay","pinned","timer","setTimeout","onCleanup","clearTimeout","endpoint","previewEndpoint","res","fetch","method","previewMethod","headers","previewHeaders","credentials","body","JSON","stringify","ok","json","previewDebounce","_el$","_$getNextElement","_tmpl$12","_el$2","firstChild","_el$3","_el$4","_el$5","nextSibling","_el$7","_el$8","_co$","_$getNextMarker","_el$9","_el$0","_el$10","_el$11","_co$2","_el$67","_el$68","_co$15","_el$51","_el$69","_el$70","_co$16","$$click","_$insert","title","_$createComponent","Show","when","children","_el$6","_tmpl$","_$effect","_$setAttribute","_$memo","_el$1","_tmpl$2","e","stopPropagation","_$runHydrationEvents","_el$12","_tmpl$10","_el$41","_el$42","_co$7","_el$14","_el$43","_el$44","_co$8","_el$45","_el$46","_co$9","_el$47","_el$48","_co$0","_el$49","_el$50","_co$1","turnHistory","_el$13","_tmpl$3","For","each","i","_tmpl$13","_el$72","_tmpl$15","_el$78","_el$79","_co$18","_el$73","_el$80","_el$81","_co$19","_el$82","_el$83","_co$20","_c$","summary","_el$74","_tmpl$14","_el$75","_el$76","_el$77","_co$17","_$className","section","SectionRenderer","onFilterChange","onSectionEdit","onSubmit","agentMessages","_el$15","_tmpl$4","msg","_el$84","_tmpl$16","_el$85","_el$86","_c$2","type","text","_el$16","_tmpl$6","count","fallback","_el$87","_tmpl$17","_el$88","_el$89","toLocaleString","_el$90","_tmpl$18","rows","_el$91","_tmpl$19","_el$92","_el$93","_el$94","_el$95","k","_el$96","_tmpl$20","slice","row","_el$97","_tmpl$21","values","v","_el$98","_tmpl$22","String","_el$17","_tmpl$5","_el$18","_el$19","_el$20","_el$21","_tmpl$0","_el$22","_el$23","_el$24","_el$25","_el$30","_el$31","_co$4","_el$32","_el$35","_el$36","_co$5","_el$37","_el$38","_co$6","message","code","_el$26","_tmpl$7","_el$27","_el$28","_el$29","_co$3","retryable","_el$33","_tmpl$8","onRetry","_el$34","_tmpl$9","_el$39","_tmpl$1","_el$40","_$p","_$setStyleProperty","maxHeight","debugOverlay","_el$52","_tmpl$11","_el$57","_el$58","_co$10","_el$53","_el$59","_el$60","_co$11","_el$54","_el$61","_el$62","_co$12","_el$55","_el$63","_el$64","_co$13","_el$56","_el$65","_el$66","_co$14","_p$","_v$","_v$2","_v$3","t","a","_el$99","_tmpl$24","_el$100","_el$103","_el$104","_co$21","Switch","Match","DataSection","content","InteractiveFilterSection","_el$101","ActionSection","EnrichedStepsSection","EmbeddedFormSection","sectionId","UnderstandingSection","FeedbackSection","PromptSection","StepperProgressSection","ErrorSectionRenderer","SourceCardSection","DiffSection","_el$102","_tmpl$23","entries","_el$105","_tmpl$25","_el$106","_tmpl$26","_el$107","_el$109","_el$110","_co$22","_el$111","_c$3","Array","isArray","join","editingKey","setEditingKey","editValue","setEditValue","filterDefs","allKeys","fromContent","fromFilters","removeFilter","key","next","setFilter","value","getDef","_el$112","_tmpl$28","_el$114","_el$115","_co$23","_el$116","_el$117","_co$24","def","hasValue","_el$118","_tmpl$34","_el$134","_el$135","_co$28","_el$136","_el$137","_co$29","_el$138","_tmpl$35","_el$139","_el$140","_el$141","_co$30","_el$119","_tmpl$30","_el$120","_el$121","_el$123","_el$124","_co$25","_el$125","_el$126","_el$127","_co$26","_el$129","_el$130","_co$27","_c$4","_el$128","_tmpl$29","_el$131","_tmpl$33","options","_el$142","_tmpl$36","_el$143","_el$144","_el$145","addEventListener","preventDefault","$$input","currentTarget","placeholder","_$setProperty","_el$132","_tmpl$31","opt","_el$146","_tmpl$38","_el$148","_el$149","_co$31","_el$150","_el$151","_co$32","_tmpl$37","_el$133","_tmpl$32","_tmpl$27","formData","setFormData","dynamicOptions","setDynamicOptions","config","fields","submitLabel","updateField","name","prev","field","dep","depends_on","dependsOn","parentValue","url","options_endpoint","apiUrl","replace","encodeURIComponent","params","URLSearchParams","extraParams","extra_params","includes","then","r","items","arr","results","features","lf","label_field","labelField","vf","value_field","valueField","map","catch","getField","dynOpts","handleSubmit","fromEntries","filter","find","f","fieldStatus","_el$152","_tmpl$39","_el$155","_el$156","_co$33","_el$153","_el$154","FormFieldRenderer","onChange","val","stepsData","steps","currentStep","_el$157","_tmpl$41","_el$160","_el$161","_co$34","_el$162","_el$163","_co$35","step","_el$164","_tmpl$44","_el$165","_el$166","_el$171","_el$172","_co$37","_el$173","_el$174","_co$38","_el$176","_el$177","_co$39","_c$5","description","_el$167","_tmpl$42","_el$168","_el$169","_el$170","_co$36","_el$175","_tmpl$43","_v$4","_v$5","some","s","_el$158","_tmpl$40","_el$159","actions","_el$178","_tmpl$45","item","_el$179","_el$181","_el$182","_co$40","_el$183","_el$184","_co$41","icon","_el$180","_tmpl$46","variant","detections","warnings","confidenceClass","conf","_el$185","_tmpl$47","_el$186","_el$188","_el$189","_co$42","det","_el$190","_tmpl$48","_el$191","_el$192","confidence","_el$187","w","_el$193","_tmpl$49","_el$194","_el$195","comment","setComment","showComment","setShowComment","approve","reject","question","allowFreeText","allowComment","commentPlaceholder","handleOption","option","needsComment","_el$196","_tmpl$51","_el$197","_el$198","_el$202","_el$203","_co$43","_el$204","_el$206","_el$207","_co$44","_el$208","_el$209","_co$45","_el$205","_tmpl$52","_el$199","_tmpl$50","_el$200","_el$201","_v$6","_v$7","originalQuery","interpretation","extracted","plan","editable","_el$210","_tmpl$56","_el$223","_el$224","_co$48","_el$216","_el$225","_el$226","_co$49","_el$227","_el$228","_co$50","_el$211","_tmpl$53","_el$212","_el$214","_el$215","_co$46","_el$229","_tmpl$57","_el$230","_el$232","_el$233","_co$51","_el$234","_el$217","_tmpl$54","_el$218","_el$219","_el$220","_el$221","_co$47","_el$222","_tmpl$55","orientation","statusIcon","isHorizontal","_el$236","_tmpl$59","_el$237","_tmpl$62","_el$238","_el$239","_el$240","_el$250","_el$251","_co$54","_el$252","_el$253","_co$55","_el$241","_tmpl$60","_el$242","_el$243","_el$244","_co$52","duration_ms","_el$245","_tmpl$61","_el$246","_el$248","_el$249","_co$53","_el$235","_tmpl$58","_el$255","_tmpl$64","_el$256","_el$257","_el$259","_el$260","_co$56","_el$258","_tmpl$63","showDetails","setShowDetails","severity","retryAction","retryLabel","details","timestamp","isWarning","_el$261","_tmpl$68","_el$262","_el$263","_el$264","_el$265","_el$266","_el$272","_el$273","_co$58","_el$274","_el$275","_co$59","_el$277","_el$278","_co$60","_el$267","_tmpl$65","_el$268","_el$269","_el$270","_co$57","_el$271","_tmpl$66","_el$276","_tmpl$67","capabilities","latency_ms","freshness","row_count","queried","available","_el$279","_tmpl$71","_el$280","_el$281","_el$283","_el$284","_co$61","_el$282","_el$285","_el$286","_co$62","_el$291","_el$292","_co$64","_el$293","_el$295","_el$296","_co$65","_el$287","_tmpl$69","_el$289","_el$290","_co$63","cap","_el$297","_tmpl$72","_el$299","_el$300","_co$66","_el$298","_el$301","_el$302","_co$67","supported","_el$294","_tmpl$70","Boolean","left","right","highlight","highlight_columns","l","_el$303","_tmpl$73","_el$304","_el$305","_el$306","_el$307","_el$308","_el$309","_el$310","lVal","rVal","isDiff","_el$311","_tmpl$74","_el$312","_el$313","_el$314","_c$6","_c$7","_$delegateEvents"],"mappings":"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"}
|