@seed-ship/mcp-ui-solid 6.19.1 โ†’ 6.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/CHANGELOG.md +519 -0
  2. package/README.md +791 -1
  3. package/dist/adapters/connector.cjs +15 -4
  4. package/dist/adapters/connector.cjs.map +1 -1
  5. package/dist/adapters/connector.d.ts +38 -0
  6. package/dist/adapters/connector.d.ts.map +1 -1
  7. package/dist/adapters/connector.js +15 -4
  8. package/dist/adapters/connector.js.map +1 -1
  9. package/dist/adapters/index.d.ts +4 -3
  10. package/dist/adapters/index.d.ts.map +1 -1
  11. package/dist/adapters/macro-run.cjs +25 -13
  12. package/dist/adapters/macro-run.cjs.map +1 -1
  13. package/dist/adapters/macro-run.d.ts +37 -2
  14. package/dist/adapters/macro-run.d.ts.map +1 -1
  15. package/dist/adapters/macro-run.js +25 -13
  16. package/dist/adapters/macro-run.js.map +1 -1
  17. package/dist/adapters.cjs +2 -0
  18. package/dist/adapters.cjs.map +1 -1
  19. package/dist/adapters.js +4 -2
  20. package/dist/components/ActionGroupRenderer.cjs +3 -1
  21. package/dist/components/ActionGroupRenderer.cjs.map +1 -1
  22. package/dist/components/ActionGroupRenderer.d.ts.map +1 -1
  23. package/dist/components/ActionGroupRenderer.js +3 -1
  24. package/dist/components/ActionGroupRenderer.js.map +1 -1
  25. package/dist/components/AgentCard.cjs +11 -8
  26. package/dist/components/AgentCard.cjs.map +1 -1
  27. package/dist/components/AgentCard.d.ts.map +1 -1
  28. package/dist/components/AgentCard.js +11 -8
  29. package/dist/components/AgentCard.js.map +1 -1
  30. package/dist/components/AgentHandoff.cjs +6 -1
  31. package/dist/components/AgentHandoff.cjs.map +1 -1
  32. package/dist/components/AgentHandoff.d.ts.map +1 -1
  33. package/dist/components/AgentHandoff.js +6 -1
  34. package/dist/components/AgentHandoff.js.map +1 -1
  35. package/dist/components/ArtifactRenderer.cjs +25 -6
  36. package/dist/components/ArtifactRenderer.cjs.map +1 -1
  37. package/dist/components/ArtifactRenderer.d.ts.map +1 -1
  38. package/dist/components/ArtifactRenderer.js +25 -6
  39. package/dist/components/ArtifactRenderer.js.map +1 -1
  40. package/dist/components/AutocompleteDropdown.cjs +30 -24
  41. package/dist/components/AutocompleteDropdown.cjs.map +1 -1
  42. package/dist/components/AutocompleteDropdown.d.ts.map +1 -1
  43. package/dist/components/AutocompleteDropdown.js +30 -24
  44. package/dist/components/AutocompleteDropdown.js.map +1 -1
  45. package/dist/components/AutocompleteFormField.cjs +3 -1
  46. package/dist/components/AutocompleteFormField.cjs.map +1 -1
  47. package/dist/components/AutocompleteFormField.d.ts.map +1 -1
  48. package/dist/components/AutocompleteFormField.js +4 -2
  49. package/dist/components/AutocompleteFormField.js.map +1 -1
  50. package/dist/components/BriefingDiff.cjs +45 -39
  51. package/dist/components/BriefingDiff.cjs.map +1 -1
  52. package/dist/components/BriefingDiff.d.ts.map +1 -1
  53. package/dist/components/BriefingDiff.js +45 -39
  54. package/dist/components/BriefingDiff.js.map +1 -1
  55. package/dist/components/CarouselRenderer.cjs +8 -2
  56. package/dist/components/CarouselRenderer.cjs.map +1 -1
  57. package/dist/components/CarouselRenderer.d.ts.map +1 -1
  58. package/dist/components/CarouselRenderer.js +8 -2
  59. package/dist/components/CarouselRenderer.js.map +1 -1
  60. package/dist/components/ChartJSRenderer.cjs +60 -36
  61. package/dist/components/ChartJSRenderer.cjs.map +1 -1
  62. package/dist/components/ChartJSRenderer.d.ts.map +1 -1
  63. package/dist/components/ChartJSRenderer.js +61 -37
  64. package/dist/components/ChartJSRenderer.js.map +1 -1
  65. package/dist/components/ChatPrompt.cjs +15 -9
  66. package/dist/components/ChatPrompt.cjs.map +1 -1
  67. package/dist/components/ChatPrompt.d.ts.map +1 -1
  68. package/dist/components/ChatPrompt.js +15 -9
  69. package/dist/components/ChatPrompt.js.map +1 -1
  70. package/dist/components/CodeBlockRenderer.cjs +34 -16
  71. package/dist/components/CodeBlockRenderer.cjs.map +1 -1
  72. package/dist/components/CodeBlockRenderer.d.ts.map +1 -1
  73. package/dist/components/CodeBlockRenderer.js +34 -16
  74. package/dist/components/CodeBlockRenderer.js.map +1 -1
  75. package/dist/components/DataPreviewSection.cjs +91 -44
  76. package/dist/components/DataPreviewSection.cjs.map +1 -1
  77. package/dist/components/DataPreviewSection.d.ts.map +1 -1
  78. package/dist/components/DataPreviewSection.js +92 -45
  79. package/dist/components/DataPreviewSection.js.map +1 -1
  80. package/dist/components/DegradedFallback.cjs +20 -16
  81. package/dist/components/DegradedFallback.cjs.map +1 -1
  82. package/dist/components/DegradedFallback.d.ts.map +1 -1
  83. package/dist/components/DegradedFallback.js +20 -16
  84. package/dist/components/DegradedFallback.js.map +1 -1
  85. package/dist/components/FooterRenderer.cjs +21 -17
  86. package/dist/components/FooterRenderer.cjs.map +1 -1
  87. package/dist/components/FooterRenderer.d.ts.map +1 -1
  88. package/dist/components/FooterRenderer.js +21 -17
  89. package/dist/components/FooterRenderer.js.map +1 -1
  90. package/dist/components/FormFieldRenderer.cjs +116 -93
  91. package/dist/components/FormFieldRenderer.cjs.map +1 -1
  92. package/dist/components/FormFieldRenderer.d.ts.map +1 -1
  93. package/dist/components/FormFieldRenderer.js +116 -93
  94. package/dist/components/FormFieldRenderer.js.map +1 -1
  95. package/dist/components/FormRenderer.cjs +55 -31
  96. package/dist/components/FormRenderer.cjs.map +1 -1
  97. package/dist/components/FormRenderer.d.ts.map +1 -1
  98. package/dist/components/FormRenderer.js +55 -31
  99. package/dist/components/FormRenderer.js.map +1 -1
  100. package/dist/components/GenerativeUIErrorBoundary.cjs +20 -15
  101. package/dist/components/GenerativeUIErrorBoundary.cjs.map +1 -1
  102. package/dist/components/GenerativeUIErrorBoundary.d.ts.map +1 -1
  103. package/dist/components/GenerativeUIErrorBoundary.js +20 -15
  104. package/dist/components/GenerativeUIErrorBoundary.js.map +1 -1
  105. package/dist/components/GraphRenderer.cjs +56 -33
  106. package/dist/components/GraphRenderer.cjs.map +1 -1
  107. package/dist/components/GraphRenderer.d.ts.map +1 -1
  108. package/dist/components/GraphRenderer.js +56 -33
  109. package/dist/components/GraphRenderer.js.map +1 -1
  110. package/dist/components/ImageGalleryRenderer.cjs +13 -4
  111. package/dist/components/ImageGalleryRenderer.cjs.map +1 -1
  112. package/dist/components/ImageGalleryRenderer.d.ts.map +1 -1
  113. package/dist/components/ImageGalleryRenderer.js +13 -4
  114. package/dist/components/ImageGalleryRenderer.js.map +1 -1
  115. package/dist/components/LightboxOverlay.cjs +16 -8
  116. package/dist/components/LightboxOverlay.cjs.map +1 -1
  117. package/dist/components/LightboxOverlay.d.ts.map +1 -1
  118. package/dist/components/LightboxOverlay.js +17 -9
  119. package/dist/components/LightboxOverlay.js.map +1 -1
  120. package/dist/components/MapRenderer.cjs +59 -29
  121. package/dist/components/MapRenderer.cjs.map +1 -1
  122. package/dist/components/MapRenderer.d.ts +10 -2
  123. package/dist/components/MapRenderer.d.ts.map +1 -1
  124. package/dist/components/MapRenderer.js +60 -30
  125. package/dist/components/MapRenderer.js.map +1 -1
  126. package/dist/components/ModalRenderer.cjs +4 -1
  127. package/dist/components/ModalRenderer.cjs.map +1 -1
  128. package/dist/components/ModalRenderer.d.ts.map +1 -1
  129. package/dist/components/ModalRenderer.js +5 -2
  130. package/dist/components/ModalRenderer.js.map +1 -1
  131. package/dist/components/ScratchpadPanel.cjs +578 -535
  132. package/dist/components/ScratchpadPanel.cjs.map +1 -1
  133. package/dist/components/ScratchpadPanel.d.ts.map +1 -1
  134. package/dist/components/ScratchpadPanel.js +578 -535
  135. package/dist/components/ScratchpadPanel.js.map +1 -1
  136. package/dist/components/StreamingUIRenderer.cjs +92 -28
  137. package/dist/components/StreamingUIRenderer.cjs.map +1 -1
  138. package/dist/components/StreamingUIRenderer.d.ts.map +1 -1
  139. package/dist/components/StreamingUIRenderer.js +92 -28
  140. package/dist/components/StreamingUIRenderer.js.map +1 -1
  141. package/dist/components/UIResourceRenderer.cjs +456 -363
  142. package/dist/components/UIResourceRenderer.cjs.map +1 -1
  143. package/dist/components/UIResourceRenderer.d.ts +21 -0
  144. package/dist/components/UIResourceRenderer.d.ts.map +1 -1
  145. package/dist/components/UIResourceRenderer.js +458 -365
  146. package/dist/components/UIResourceRenderer.js.map +1 -1
  147. package/dist/components/VerifiedText.cjs +39 -20
  148. package/dist/components/VerifiedText.cjs.map +1 -1
  149. package/dist/components/VerifiedText.d.ts +2 -1
  150. package/dist/components/VerifiedText.d.ts.map +1 -1
  151. package/dist/components/VerifiedText.js +39 -20
  152. package/dist/components/VerifiedText.js.map +1 -1
  153. package/dist/components/VideoRenderer.cjs +10 -5
  154. package/dist/components/VideoRenderer.cjs.map +1 -1
  155. package/dist/components/VideoRenderer.d.ts.map +1 -1
  156. package/dist/components/VideoRenderer.js +10 -5
  157. package/dist/components/VideoRenderer.js.map +1 -1
  158. package/dist/components/chart-data-table.cjs +38 -17
  159. package/dist/components/chart-data-table.cjs.map +1 -1
  160. package/dist/components/chart-data-table.d.ts +30 -1
  161. package/dist/components/chart-data-table.d.ts.map +1 -1
  162. package/dist/components/chart-data-table.js +38 -17
  163. package/dist/components/chart-data-table.js.map +1 -1
  164. package/dist/context/MCPActionContext.cjs +3 -1
  165. package/dist/context/MCPActionContext.cjs.map +1 -1
  166. package/dist/context/MCPActionContext.d.ts.map +1 -1
  167. package/dist/context/MCPActionContext.js +3 -1
  168. package/dist/context/MCPActionContext.js.map +1 -1
  169. package/dist/context/MCPUIStringsContext.cjs +285 -2
  170. package/dist/context/MCPUIStringsContext.cjs.map +1 -1
  171. package/dist/context/MCPUIStringsContext.d.ts +600 -3
  172. package/dist/context/MCPUIStringsContext.d.ts.map +1 -1
  173. package/dist/context/MCPUIStringsContext.js +285 -2
  174. package/dist/context/MCPUIStringsContext.js.map +1 -1
  175. package/dist/hooks/index.d.ts +2 -2
  176. package/dist/hooks/index.d.ts.map +1 -1
  177. package/dist/hooks/useStreamingUI.cjs +28 -10
  178. package/dist/hooks/useStreamingUI.cjs.map +1 -1
  179. package/dist/hooks/useStreamingUI.d.ts +37 -0
  180. package/dist/hooks/useStreamingUI.d.ts.map +1 -1
  181. package/dist/hooks/useStreamingUI.js +28 -10
  182. package/dist/hooks/useStreamingUI.js.map +1 -1
  183. package/dist/hooks.cjs +1 -0
  184. package/dist/hooks.cjs.map +1 -1
  185. package/dist/hooks.js +2 -1
  186. package/dist/index.cjs +23 -8
  187. package/dist/index.cjs.map +1 -1
  188. package/dist/index.d.cts +9 -3
  189. package/dist/index.d.ts +9 -3
  190. package/dist/index.d.ts.map +1 -1
  191. package/dist/index.js +18 -3
  192. package/dist/index.js.map +1 -1
  193. package/dist/services/validation.cjs +41 -16
  194. package/dist/services/validation.cjs.map +1 -1
  195. package/dist/services/validation.d.ts +47 -2
  196. package/dist/services/validation.d.ts.map +1 -1
  197. package/dist/services/validation.js +41 -16
  198. package/dist/services/validation.js.map +1 -1
  199. package/dist/utils/degraded-projections.cjs +37 -12
  200. package/dist/utils/degraded-projections.cjs.map +1 -1
  201. package/dist/utils/degraded-projections.d.ts +39 -3
  202. package/dist/utils/degraded-projections.d.ts.map +1 -1
  203. package/dist/utils/degraded-projections.js +37 -12
  204. package/dist/utils/degraded-projections.js.map +1 -1
  205. package/dist/utils/format-string.cjs +10 -0
  206. package/dist/utils/format-string.cjs.map +1 -0
  207. package/dist/utils/format-string.d.ts +26 -0
  208. package/dist/utils/format-string.d.ts.map +1 -0
  209. package/dist/utils/format-string.js +10 -0
  210. package/dist/utils/format-string.js.map +1 -0
  211. package/dist/validation.cjs +3 -0
  212. package/dist/validation.cjs.map +1 -1
  213. package/dist/validation.d.cts +2 -1
  214. package/dist/validation.d.ts +2 -1
  215. package/dist/validation.d.ts.map +1 -1
  216. package/dist/validation.js +4 -1
  217. package/package.json +1 -1
  218. package/src/adapters/connector.ts +58 -4
  219. package/src/adapters/index.ts +12 -2
  220. package/src/adapters/macro-run.ts +71 -11
  221. package/src/components/ActionGroupRenderer.tsx +3 -1
  222. package/src/components/AgentCard.tsx +27 -9
  223. package/src/components/AgentHandoff.tsx +4 -1
  224. package/src/components/ArtifactRenderer.tsx +17 -5
  225. package/src/components/AutocompleteDropdown.tsx +8 -6
  226. package/src/components/AutocompleteFormField.tsx +5 -1
  227. package/src/components/BriefingDiff.tsx +11 -3
  228. package/src/components/CarouselRenderer.tsx +4 -2
  229. package/src/components/ChartJSRenderer.tsx +18 -9
  230. package/src/components/ChatPrompt.tsx +13 -8
  231. package/src/components/CodeBlockRenderer.tsx +12 -10
  232. package/src/components/DataPreviewSection.tsx +92 -26
  233. package/src/components/DegradedFallback.tsx +4 -2
  234. package/src/components/FooterRenderer.tsx +3 -1
  235. package/src/components/FormFieldRenderer.tsx +34 -19
  236. package/src/components/FormRenderer.tsx +38 -10
  237. package/src/components/GenerativeUIErrorBoundary.tsx +8 -3
  238. package/src/components/GraphRenderer.tsx +31 -16
  239. package/src/components/ImageGalleryRenderer.tsx +8 -4
  240. package/src/components/LightboxOverlay.tsx +6 -4
  241. package/src/components/MapRenderer.tsx +57 -20
  242. package/src/components/ModalRenderer.tsx +3 -1
  243. package/src/components/ScratchpadPanel.tsx +95 -44
  244. package/src/components/StreamingUIRenderer.tsx +41 -11
  245. package/src/components/UIResourceRenderer.tsx +145 -63
  246. package/src/components/VerifiedText.tsx +19 -9
  247. package/src/components/VideoRenderer.tsx +6 -4
  248. package/src/components/chart-data-table.ts +68 -14
  249. package/src/context/MCPActionContext.tsx +4 -1
  250. package/src/context/MCPUIStringsContext.tsx +1004 -1
  251. package/src/hooks/index.ts +2 -1
  252. package/src/hooks/useStreamingUI.ts +64 -10
  253. package/src/index.ts +23 -0
  254. package/src/services/validation.ts +93 -16
  255. package/src/utils/degraded-projections.ts +75 -12
  256. package/src/utils/format-string.ts +33 -0
  257. package/src/validation.ts +5 -0
@@ -9,37 +9,41 @@ import { AgentStatusBadge, AgentCard } from "./AgentCard.js";
9
9
  import { SplitStepper } from "./SplitStepper.js";
10
10
  import { AgentHandoff } from "./AgentHandoff.js";
11
11
  import { BriefingDiff } from "./BriefingDiff.js";
12
- var _tmpl$ = /* @__PURE__ */ template(`<svg fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M19 9l-7 7-7-7">`), _tmpl$2 = /* @__PURE__ */ template(`<button class="p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors"aria-label=Close><svg class="w-4 h-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M6 18L18 6M6 6l12 12">`), _tmpl$3 = /* @__PURE__ */ template(`<div class="px-4 py-2 border-b border-gray-100 dark:border-gray-700 flex flex-wrap items-center gap-1.5">`), _tmpl$4 = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700 space-y-2">`), _tmpl$5 = /* @__PURE__ */ template(`<div class="flex flex-col items-center gap-2 py-4 text-center"><span class=text-2xl>&#128269;</span><p class="text-sm text-gray-500 dark:text-gray-400">No results for these filters</p><button type=button class="px-3 py-1.5 text-xs font-medium text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded-lg transition-colors">Modify filters`), _tmpl$6 = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700">`), _tmpl$7 = /* @__PURE__ */ template(`<p class="text-xs text-red-500 dark:text-red-500 mt-0.5">Code: <!$><!/>`), _tmpl$8 = /* @__PURE__ */ template(`<button type=button 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">&#128260; Retry`), _tmpl$9 = /* @__PURE__ */ template(`<button type=button class="px-3 py-1.5 text-sm font-medium rounded-lg border border-gray-200 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors">Close`), _tmpl$0 = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-red-100 dark:border-red-900/30 bg-red-50 dark:bg-red-900/10"><div class="flex items-start gap-2 text-sm text-red-700 dark:text-red-400"><span class="flex-shrink-0 mt-0.5">โš ๏ธ</span><div class=flex-1><p class=font-medium></p><!$><!/></div></div><div class="flex gap-2 mt-2"><!$><!/><!$><!/>`), _tmpl$1 = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700"><button type=button class="w-full px-4 py-2.5 text-sm font-semibold rounded-lg text-white bg-blue-600 hover:bg-blue-700 transition-colors flex items-center justify-center gap-2"><svg class="w-4 h-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg>Search`), _tmpl$10 = /* @__PURE__ */ template(`<div style=overflow-y:auto><!$><!/><div class="divide-y divide-gray-100 dark:divide-gray-700"></div><!$><!/><!$><!/><!$><!/><!$><!/>`), _tmpl$11 = /* @__PURE__ */ template(`<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"><!$><!/> | ev:<!$><!/> | sec:<!$><!/> | <!$><!/> | last:<!$><!/>`), _tmpl$12 = /* @__PURE__ */ template(`<div style="animation:scratchpad-slide-down 0.2s ease-out"><div><div class="flex items-center gap-2"><span class=text-base>&#128221;</span><h3 class="text-sm font-semibold text-gray-900 dark:text-white"></h3><!$><!/><!$><!/></div><div class="flex items-center gap-2"><span></span><!$><!/></div></div><!$><!/><style>
12
+ import { useMCPUIStrings } from "../context/MCPUIStringsContext.js";
13
+ import { formatMCPUIString } from "../utils/format-string.js";
14
+ var _tmpl$ = /* @__PURE__ */ template(`<svg fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M19 9l-7 7-7-7">`), _tmpl$2 = /* @__PURE__ */ template(`<button class="p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 rounded-full hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors"><svg class="w-4 h-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M6 18L18 6M6 6l12 12">`), _tmpl$3 = /* @__PURE__ */ template(`<div class="px-4 py-2 border-b border-gray-100 dark:border-gray-700 flex flex-wrap items-center gap-1.5">`), _tmpl$4 = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700 space-y-2">`), _tmpl$5 = /* @__PURE__ */ template(`<div class="flex flex-col items-center gap-2 py-4 text-center"><span class=text-2xl>&#128269;</span><p class="text-sm text-gray-500 dark:text-gray-400"></p><button type=button class="px-3 py-1.5 text-xs font-medium text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded-lg transition-colors">`), _tmpl$6 = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700">`), _tmpl$7 = /* @__PURE__ */ template(`<p class="text-xs text-red-500 dark:text-red-500 mt-0.5">`), _tmpl$8 = /* @__PURE__ */ template(`<button type=button 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">&#128260; <!$><!/>`), _tmpl$9 = /* @__PURE__ */ template(`<button type=button class="px-3 py-1.5 text-sm font-medium rounded-lg border border-gray-200 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors">`), _tmpl$0 = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-red-100 dark:border-red-900/30 bg-red-50 dark:bg-red-900/10"><div class="flex items-start gap-2 text-sm text-red-700 dark:text-red-400"><span class="flex-shrink-0 mt-0.5">โš ๏ธ</span><div class=flex-1><p class=font-medium></p><!$><!/></div></div><div class="flex gap-2 mt-2"><!$><!/><!$><!/>`), _tmpl$1 = /* @__PURE__ */ template(`<div class="px-4 py-3 border-t border-gray-100 dark:border-gray-700"><button type=button class="w-full px-4 py-2.5 text-sm font-semibold rounded-lg text-white bg-blue-600 hover:bg-blue-700 transition-colors flex items-center justify-center gap-2"><svg class="w-4 h-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg><!$><!/>`), _tmpl$10 = /* @__PURE__ */ template(`<div style=overflow-y:auto><!$><!/><div class="divide-y divide-gray-100 dark:divide-gray-700"></div><!$><!/><!$><!/><!$><!/><!$><!/>`), _tmpl$11 = /* @__PURE__ */ template(`<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"><!$><!/> | ev:<!$><!/> | sec:<!$><!/> | <!$><!/> | last:<!$><!/>`), _tmpl$12 = /* @__PURE__ */ template(`<div style="animation:scratchpad-slide-down 0.2s ease-out"><div><div class="flex items-center gap-2"><span class=text-base>&#128221;</span><h3 class="text-sm font-semibold text-gray-900 dark:text-white"></h3><!$><!/><!$><!/></div><div class="flex items-center gap-2"><span></span><!$><!/></div></div><!$><!/><style>
13
15
  @keyframes scratchpad-slide-down { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
14
- </style><!$><!/>`), _tmpl$13 = /* @__PURE__ */ template(`<svg class="w-3 h-3 text-gray-300 dark:text-gray-600 flex-shrink-0"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7">`), _tmpl$14 = /* @__PURE__ */ template(`<span class="ml-1 font-normal opacity-75">โ€” <!$><!/>`), _tmpl$15 = /* @__PURE__ */ template(`<span><!$><!/> <!$><!/><!$><!/>`), _tmpl$16 = /* @__PURE__ */ template(`<div><span class="flex-shrink-0 mt-0.5"></span><p>`), _tmpl$17 = /* @__PURE__ */ template(`<div class="flex items-center gap-2 mb-2"><span class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide">Preview</span><span class="px-1.5 py-0.5 text-xs font-bold bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded">`), _tmpl$18 = /* @__PURE__ */ template(`<p class="text-sm text-gray-700 dark:text-gray-300">`), _tmpl$19 = /* @__PURE__ */ template(`<div class="mt-2 overflow-x-auto"><table class="min-w-full text-xs"><thead><tr></tr></thead><tbody>`), _tmpl$20 = /* @__PURE__ */ template(`<th class="px-2 py-1 text-left font-medium text-gray-500 dark:text-gray-400">`), _tmpl$21 = /* @__PURE__ */ template(`<tr class="border-t border-gray-100 dark:border-gray-700">`), _tmpl$22 = /* @__PURE__ */ template(`<td class="px-2 py-1 text-gray-700 dark:text-gray-300">`), _tmpl$23 = /* @__PURE__ */ template(`<pre class="text-xs text-gray-500 overflow-auto">`), _tmpl$24 = /* @__PURE__ */ template(`<div class="px-4 py-3 animate-[slideDown_0.2s_ease-out]"><h4 class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide mb-2"></h4><!$><!/>`), _tmpl$25 = /* @__PURE__ */ template(`<div class=space-y-1>`), _tmpl$26 = /* @__PURE__ */ template(`<div class="flex gap-2 text-xs"><span class="text-gray-500 dark:text-gray-400 font-mono min-w-[120px]"><!$><!/>:</span><span class="text-gray-900 dark:text-white">`), _tmpl$27 = /* @__PURE__ */ template(`<p class="text-xs text-gray-400 italic">No filters`), _tmpl$28 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-1.5"><!$><!/><!$><!/>`), _tmpl$29 = /* @__PURE__ */ template(`<button type=button class="ml-0.5 hover:text-blue-900 dark:hover:text-blue-100">&times;`), _tmpl$30 = /* @__PURE__ */ template(`<span class="inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded-full"><button type=button class=hover:underline><span class="text-blue-500 dark:text-blue-400"><!$><!/>:</span> <!$><!/></button><!$><!/>`), _tmpl$31 = /* @__PURE__ */ template(`<div class="max-h-48 overflow-y-auto">`), _tmpl$32 = /* @__PURE__ */ template(`<button type=button class="mt-1 w-full px-2 py-1 text-xs text-gray-500 hover:text-gray-700 text-center">Cancel`), _tmpl$33 = /* @__PURE__ */ template(`<div class="absolute z-50 mt-1 left-0 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg p-2 min-w-[200px]">`), _tmpl$34 = /* @__PURE__ */ template(`<div class=relative><!$><!/><!$><!/>`), _tmpl$35 = /* @__PURE__ */ template(`<button type=button class="inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium border border-dashed border-gray-300 dark:border-gray-600 text-gray-500 dark:text-gray-400 rounded-full hover:border-blue-400 hover:text-blue-500 transition-colors">+ <!$><!/>`), _tmpl$36 = /* @__PURE__ */ template(`<form class="flex gap-1"><input type=text autofocus class="flex-1 px-2 py-1 text-sm border border-gray-200 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:border-blue-400 outline-none"><button type=submit class="px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700">OK</button><button type=button class="px-2 py-1 text-xs text-gray-500 hover:text-gray-700">Cancel`), _tmpl$37 = /* @__PURE__ */ template(`<span class=ml-1>โœ“`), _tmpl$38 = /* @__PURE__ */ template(`<button type=button><!$><!/><!$><!/>`), _tmpl$39 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400"><!$><!/> champ<!$><!/> prรฉ-rempli<!$><!/> sur <!$><!/>`), _tmpl$40 = /* @__PURE__ */ template(`<div class="flex items-center gap-3 p-2 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-md text-sm"><span class="text-blue-700 dark:text-blue-300"><!$><!/> in <!$><!/>s...</span><button type=button class="text-blue-600 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-200">Cancel`), _tmpl$41 = /* @__PURE__ */ template(`<form class="flex flex-col gap-3"><!$><!/><!$><!/><!$><!/><div class="flex justify-end"><button type=submit class="px-4 py-2 text-sm font-medium rounded-lg text-white bg-blue-600 hover:bg-blue-700 transition-colors">`), _tmpl$42 = /* @__PURE__ */ template(`<div class="flex items-center gap-3 p-3 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg text-sm"><span class="flex-1 text-blue-800 dark:text-blue-200 font-medium"></span><span class="text-blue-600 dark:text-blue-300"><!$><!/>s...</span><button type=button class="text-blue-600 dark:text-blue-400 underline text-xs">Modifier</button><button type=button class="text-gray-400 hover:text-gray-600 dark:hover:text-gray-300">&times;`), _tmpl$43 = /* @__PURE__ */ template(`<div class=pl-2>routing: <!$><!/> via <!$><!/> (<!$><!/>ms)`), _tmpl$44 = /* @__PURE__ */ template(`<div class="pl-2 text-amber-500">missing: <!$><!/>`), _tmpl$45 = /* @__PURE__ */ template(`<div class="pt-1 border-t border-gray-200 dark:border-gray-600"><div class="font-medium text-gray-800 dark:text-gray-200">Server _debug:</div><!$><!/><!$><!/><!$><!/>`), _tmpl$46 = /* @__PURE__ */ template(`<pre class="mt-1 p-2 bg-gray-50 dark:bg-gray-900 rounded max-h-48 overflow-auto text-[10px]">`), _tmpl$47 = /* @__PURE__ */ template(`<div class="px-3 pb-3 space-y-2 text-gray-600 dark:text-gray-400 border-t border-gray-200 dark:border-gray-700 pt-2"><div>Fields: <!$><!/> total, <!$><!/> prefilled</div><!$><!/><div class="pt-1 border-t border-gray-200 dark:border-gray-600">autoSubmit: <!$><!/><!$><!/><div> reason: <!$><!/></div></div><!$><!/><div class="pt-1 border-t border-gray-200 dark:border-gray-600"><button type=button class="text-blue-500 hover:text-blue-700 underline"><!$><!/> raw SSE payload</button><!$><!/>`), _tmpl$48 = /* @__PURE__ */ template(`<div class="mt-2 border border-gray-200 dark:border-gray-700 rounded-md text-xs font-mono"><button type=button class="w-full px-3 py-1.5 text-left text-gray-500 dark:text-gray-400 hover:bg-gray-50 dark:hover:bg-gray-800 flex items-center gap-1"><span></span>Debug trace (<!$><!/>/<!$><!/> prefilled)</button><!$><!/>`), _tmpl$49 = /* @__PURE__ */ template(`<div> prefill: <!$><!/>`), _tmpl$50 = /* @__PURE__ */ template(`<div class=text-amber-500> prefill: (none)`), _tmpl$51 = /* @__PURE__ */ template(`<div> source: <!$><!/>`), _tmpl$52 = /* @__PURE__ */ template(`<div> displayHint: "<!$><!/>"`), _tmpl$53 = /* @__PURE__ */ template(`<div> muted: true`), _tmpl$54 = /* @__PURE__ */ template(`<div> prefillMode: <!$><!/>`), _tmpl$55 = /* @__PURE__ */ template(`<div> valueFormat: /<!$><!/>/`), _tmpl$56 = /* @__PURE__ */ template(`<div class="pl-2 border-l-2 border-gray-200 dark:border-gray-600 space-y-0.5"><div class="text-gray-800 dark:text-gray-200 font-medium"><!$><!/>:</div><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`), _tmpl$57 = /* @__PURE__ */ template(`<div>โ†’ submitted: <!$><!/>`), _tmpl$58 = /* @__PURE__ */ template(`<div class=pl-2><!$><!/>: <!$><!/> "<!$><!/>" โ†’ "<!$><!/>" (<!$><!/>ms)`), _tmpl$59 = /* @__PURE__ */ template(`<div class="flex justify-end"><button type=button class="px-3 py-1.5 text-sm font-medium text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded-lg transition-colors flex items-center gap-1">Next <svg class="w-3.5 h-3.5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7">`), _tmpl$60 = /* @__PURE__ */ template(`<div class=space-y-3><!$><!/><!$><!/>`), _tmpl$61 = /* @__PURE__ */ template(`<span class="text-xs font-normal text-gray-500 dark:text-gray-400">โ€” <!$><!/>`), _tmpl$62 = /* @__PURE__ */ template(`<div class="mt-2 ml-6">`), _tmpl$63 = /* @__PURE__ */ template(`<div><div><span></span><!$><!/><!$><!/></div><!$><!/>`), _tmpl$64 = /* @__PURE__ */ template(`<p class="text-sm font-medium text-gray-800 dark:text-gray-200 mb-2">`), _tmpl$65 = /* @__PURE__ */ template(`<span class=text-amber-600>(<!$><!/> unverified)`), _tmpl$66 = /* @__PURE__ */ template(`<div class="mb-2 flex items-center gap-2 text-xs"><span><!$><!/>% verified</span><!$><!/>`), _tmpl$67 = /* @__PURE__ */ template(`<div><!$><!/><!$><!/><!$><!/><div class="flex flex-wrap gap-2">`), _tmpl$68 = /* @__PURE__ */ template(`<span class="font-medium text-gray-800 dark:text-gray-200">`), _tmpl$69 = /* @__PURE__ */ template(`<span class=ml-1>&mdash; <!$><!/>`), _tmpl$70 = /* @__PURE__ */ template(`<div class="mb-2 p-2 rounded bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 text-xs text-gray-600 dark:text-gray-400"><!$><!/><!$><!/>`), _tmpl$71 = /* @__PURE__ */ template(`<span class=mr-1>`), _tmpl$72 = /* @__PURE__ */ template(`<div class=space-y-2><div class=space-y-1.5></div><!$><!/>`), _tmpl$73 = /* @__PURE__ */ template(`<div class="flex items-center gap-2 text-sm"><span></span><span class="text-gray-900 dark:text-white">`), _tmpl$74 = /* @__PURE__ */ template(`<div class="flex items-start gap-1.5 text-xs text-amber-600 dark:text-amber-400"><span class=flex-shrink-0>โš ๏ธ</span><span>`), _tmpl$75 = /* @__PURE__ */ template(`<span class=italic>&mdash; <!$><!/>`), _tmpl$76 = /* @__PURE__ */ template(`<div class="flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400"><span><!$><!/> <!$><!/></span><!$><!/>`), _tmpl$77 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-2">`), _tmpl$78 = /* @__PURE__ */ template(`<div class="flex gap-1"><input type=text 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"><button type=button class="px-3 py-2 text-sm bg-blue-600 text-white rounded-lg hover:bg-blue-700">Send`), _tmpl$79 = /* @__PURE__ */ template(`<div class=space-y-3><p class="text-sm text-gray-700 dark:text-gray-300"></p><!$><!/><!$><!/>`), _tmpl$80 = /* @__PURE__ */ template(`<span>`), _tmpl$81 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400 italic">"<!$><!/>"`), _tmpl$82 = /* @__PURE__ */ template(`<div class="mt-2 px-3 py-2 bg-blue-50 dark:bg-blue-900/10 rounded-lg text-sm text-blue-700 dark:text-blue-300"><span class=font-medium>Plan:</span> <!$><!/>`), _tmpl$83 = /* @__PURE__ */ template(`<button type=button class="text-xs text-blue-600 dark:text-blue-400 hover:underline flex items-center gap-1">&#9998; Modify`), _tmpl$84 = /* @__PURE__ */ template(`<div class=space-y-2><!$><!/><div class=space-y-1></div><!$><!/><!$><!/>`), _tmpl$85 = /* @__PURE__ */ template(`<div class="flex gap-2 text-sm"><span class="text-gray-500 dark:text-gray-400 font-medium min-w-[80px]"><!$><!/>:</span><span class="text-gray-900 dark:text-white">`), _tmpl$86 = /* @__PURE__ */ template(`<div class="flex items-center gap-1 flex-wrap">`), _tmpl$87 = /* @__PURE__ */ template(`<div class=space-y-2>`), _tmpl$88 = /* @__PURE__ */ template(`<span class="ml-1 text-xs text-gray-500 dark:text-gray-400">โ€” <!$><!/>`), _tmpl$89 = /* @__PURE__ */ template(`<span class="ml-1 text-xs text-gray-400">(<!$><!/>ms)`), _tmpl$90 = /* @__PURE__ */ template(`<div><span class=flex-shrink-0></span><div><span></span><!$><!/><!$><!/>`), _tmpl$91 = /* @__PURE__ */ template(`<span class="text-[10px] opacity-75">`), _tmpl$92 = /* @__PURE__ */ template(`<div><span></span><span></span><!$><!/>`), _tmpl$93 = /* @__PURE__ */ template(`<button type=button>&#128260; <!$><!/>`), _tmpl$94 = /* @__PURE__ */ template(`<button type=button class="px-2 py-1 text-xs opacity-70 hover:opacity-100">&#9654; Details`), _tmpl$95 = /* @__PURE__ */ template(`<pre class="mt-2 text-xs opacity-70 overflow-x-auto">`), _tmpl$96 = /* @__PURE__ */ template(`<div><div class="flex items-start gap-2"><span class=flex-shrink-0></span><div class=flex-1><p></p><div class="flex gap-2 mt-2"><!$><!/><!$><!/></div><!$><!/>`), _tmpl$97 = /* @__PURE__ */ template(`<span class="text-xs font-bold text-blue-600 dark:text-blue-400"><!$><!/> results`), _tmpl$98 = /* @__PURE__ */ template(`<p class="text-[10px] text-gray-400">`), _tmpl$99 = /* @__PURE__ */ template(`<div class="rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2"><div class="flex items-center justify-between mb-1.5"><span class="text-sm font-medium text-gray-900 dark:text-white"><!$><!/> <!$><!/></span><!$><!/></div><div class="flex flex-wrap gap-1.5 mb-1"></div><!$><!/>`), _tmpl$100 = /* @__PURE__ */ template(`<span><!$><!/> <!$><!/>`), _tmpl$101 = /* @__PURE__ */ template(`<div class=overflow-x-auto><table class="min-w-full text-xs"><thead><tr><th class="px-2 py-1 text-left text-gray-500 dark:text-gray-400"></th><th class="px-2 py-1 text-left font-medium text-blue-600 dark:text-blue-400"></th><th class="px-2 py-1 text-left font-medium text-purple-600 dark:text-purple-400"></th></tr></thead><tbody>`), _tmpl$102 = /* @__PURE__ */ template(`<tr><td class="px-2 py-1 font-mono text-gray-500 dark:text-gray-400"></td><td class="px-2 py-1 text-gray-900 dark:text-white"></td><td class="px-2 py-1 text-gray-900 dark:text-white">`);
16
+ </style><!$><!/>`), _tmpl$13 = /* @__PURE__ */ template(`<svg class="w-3 h-3 text-gray-300 dark:text-gray-600 flex-shrink-0"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7">`), _tmpl$14 = /* @__PURE__ */ template(`<span class="ml-1 font-normal opacity-75">โ€” <!$><!/>`), _tmpl$15 = /* @__PURE__ */ template(`<span><!$><!/> <!$><!/><!$><!/>`), _tmpl$16 = /* @__PURE__ */ template(`<div><span class="flex-shrink-0 mt-0.5"></span><p>`), _tmpl$17 = /* @__PURE__ */ template(`<div class="flex items-center gap-2 mb-2"><span class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide"></span><span class="px-1.5 py-0.5 text-xs font-bold bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded">`), _tmpl$18 = /* @__PURE__ */ template(`<p class="text-sm text-gray-700 dark:text-gray-300">`), _tmpl$19 = /* @__PURE__ */ template(`<div class="mt-2 overflow-x-auto"><table class="min-w-full text-xs"><thead><tr></tr></thead><tbody>`), _tmpl$20 = /* @__PURE__ */ template(`<th class="px-2 py-1 text-left font-medium text-gray-500 dark:text-gray-400">`), _tmpl$21 = /* @__PURE__ */ template(`<tr class="border-t border-gray-100 dark:border-gray-700">`), _tmpl$22 = /* @__PURE__ */ template(`<td class="px-2 py-1 text-gray-700 dark:text-gray-300">`), _tmpl$23 = /* @__PURE__ */ template(`<pre class="text-xs text-gray-500 overflow-auto">`), _tmpl$24 = /* @__PURE__ */ template(`<div class="px-4 py-3 animate-[slideDown_0.2s_ease-out]"><h4 class="text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wide mb-2"></h4><!$><!/>`), _tmpl$25 = /* @__PURE__ */ template(`<div class=space-y-1>`), _tmpl$26 = /* @__PURE__ */ template(`<div class="flex gap-2 text-xs"><span class="text-gray-500 dark:text-gray-400 font-mono min-w-[120px]"><!$><!/>:</span><span class="text-gray-900 dark:text-white">`), _tmpl$27 = /* @__PURE__ */ template(`<p class="text-xs text-gray-400 italic">`), _tmpl$28 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-1.5"><!$><!/><!$><!/>`), _tmpl$29 = /* @__PURE__ */ template(`<button type=button class="ml-0.5 hover:text-blue-900 dark:hover:text-blue-100">&times;`), _tmpl$30 = /* @__PURE__ */ template(`<span class="inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-300 rounded-full"><button type=button class=hover:underline><span class="text-blue-500 dark:text-blue-400"><!$><!/>:</span> <!$><!/></button><!$><!/>`), _tmpl$31 = /* @__PURE__ */ template(`<div class="max-h-48 overflow-y-auto">`), _tmpl$32 = /* @__PURE__ */ template(`<button type=button class="mt-1 w-full px-2 py-1 text-xs text-gray-500 hover:text-gray-700 text-center">`), _tmpl$33 = /* @__PURE__ */ template(`<div class="absolute z-50 mt-1 left-0 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-600 rounded-lg shadow-lg p-2 min-w-[200px]">`), _tmpl$34 = /* @__PURE__ */ template(`<div class=relative><!$><!/><!$><!/>`), _tmpl$35 = /* @__PURE__ */ template(`<button type=button class="inline-flex items-center gap-1 px-2.5 py-1 text-xs font-medium border border-dashed border-gray-300 dark:border-gray-600 text-gray-500 dark:text-gray-400 rounded-full hover:border-blue-400 hover:text-blue-500 transition-colors">+ <!$><!/>`), _tmpl$36 = /* @__PURE__ */ template(`<form class="flex gap-1"><input type=text autofocus class="flex-1 px-2 py-1 text-sm border border-gray-200 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:border-blue-400 outline-none"><button type=submit class="px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700"></button><button type=button class="px-2 py-1 text-xs text-gray-500 hover:text-gray-700">`), _tmpl$37 = /* @__PURE__ */ template(`<span class=ml-1>โœ“`), _tmpl$38 = /* @__PURE__ */ template(`<button type=button><!$><!/><!$><!/>`), _tmpl$39 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400">`), _tmpl$40 = /* @__PURE__ */ template(`<div class="flex items-center gap-3 p-2 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-md text-sm"><span class="text-blue-700 dark:text-blue-300"></span><button type=button class="text-blue-600 dark:text-blue-400 underline hover:text-blue-800 dark:hover:text-blue-200">`), _tmpl$41 = /* @__PURE__ */ template(`<form class="flex flex-col gap-3"><!$><!/><!$><!/><!$><!/><div class="flex justify-end"><button type=submit class="px-4 py-2 text-sm font-medium rounded-lg text-white bg-blue-600 hover:bg-blue-700 transition-colors">`), _tmpl$42 = /* @__PURE__ */ template(`<div class="flex items-center gap-3 p-3 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg text-sm"><span class="flex-1 text-blue-800 dark:text-blue-200 font-medium"></span><span class="text-blue-600 dark:text-blue-300"><!$><!/>s...</span><button type=button class="text-blue-600 dark:text-blue-400 underline text-xs"></button><button type=button class="text-gray-400 hover:text-gray-600 dark:hover:text-gray-300">&times;`), _tmpl$43 = /* @__PURE__ */ template(`<div class=pl-2>routing: <!$><!/> via <!$><!/> (<!$><!/>ms)`), _tmpl$44 = /* @__PURE__ */ template(`<div class="pl-2 text-amber-500">missing: <!$><!/>`), _tmpl$45 = /* @__PURE__ */ template(`<div class="pt-1 border-t border-gray-200 dark:border-gray-600"><div class="font-medium text-gray-800 dark:text-gray-200">Server _debug:</div><!$><!/><!$><!/><!$><!/>`), _tmpl$46 = /* @__PURE__ */ template(`<pre class="mt-1 p-2 bg-gray-50 dark:bg-gray-900 rounded max-h-48 overflow-auto text-[10px]">`), _tmpl$47 = /* @__PURE__ */ template(`<div class="px-3 pb-3 space-y-2 text-gray-600 dark:text-gray-400 border-t border-gray-200 dark:border-gray-700 pt-2"><div>Fields: <!$><!/> total, <!$><!/> prefilled</div><!$><!/><div class="pt-1 border-t border-gray-200 dark:border-gray-600">autoSubmit: <!$><!/><!$><!/><div> reason: <!$><!/></div></div><!$><!/><div class="pt-1 border-t border-gray-200 dark:border-gray-600"><button type=button class="text-blue-500 hover:text-blue-700 underline"></button><!$><!/>`), _tmpl$48 = /* @__PURE__ */ template(`<div class="mt-2 border border-gray-200 dark:border-gray-700 rounded-md text-xs font-mono"><button type=button class="w-full px-3 py-1.5 text-left text-gray-500 dark:text-gray-400 hover:bg-gray-50 dark:hover:bg-gray-800 flex items-center gap-1"><span></span>Debug trace (<!$><!/>/<!$><!/> prefilled)</button><!$><!/>`), _tmpl$49 = /* @__PURE__ */ template(`<div> prefill: <!$><!/>`), _tmpl$50 = /* @__PURE__ */ template(`<div class=text-amber-500> prefill: (none)`), _tmpl$51 = /* @__PURE__ */ template(`<div> source: <!$><!/>`), _tmpl$52 = /* @__PURE__ */ template(`<div> displayHint: "<!$><!/>"`), _tmpl$53 = /* @__PURE__ */ template(`<div> muted: true`), _tmpl$54 = /* @__PURE__ */ template(`<div> prefillMode: <!$><!/>`), _tmpl$55 = /* @__PURE__ */ template(`<div> valueFormat: /<!$><!/>/`), _tmpl$56 = /* @__PURE__ */ template(`<div class="pl-2 border-l-2 border-gray-200 dark:border-gray-600 space-y-0.5"><div class="text-gray-800 dark:text-gray-200 font-medium"><!$><!/>:</div><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`), _tmpl$57 = /* @__PURE__ */ template(`<div>โ†’ submitted: <!$><!/>`), _tmpl$58 = /* @__PURE__ */ template(`<div class=pl-2><!$><!/>: <!$><!/> "<!$><!/>" โ†’ "<!$><!/>" (<!$><!/>ms)`), _tmpl$59 = /* @__PURE__ */ template(`<div class="flex justify-end"><button type=button class="px-3 py-1.5 text-sm font-medium text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 rounded-lg transition-colors flex items-center gap-1"><!$><!/> <svg class="w-3.5 h-3.5"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M9 5l7 7-7 7">`), _tmpl$60 = /* @__PURE__ */ template(`<div class=space-y-3><!$><!/><!$><!/>`), _tmpl$61 = /* @__PURE__ */ template(`<span class="text-xs font-normal text-gray-500 dark:text-gray-400">โ€” <!$><!/>`), _tmpl$62 = /* @__PURE__ */ template(`<div class="mt-2 ml-6">`), _tmpl$63 = /* @__PURE__ */ template(`<div><div><span></span><!$><!/><!$><!/></div><!$><!/>`), _tmpl$64 = /* @__PURE__ */ template(`<p class="text-sm font-medium text-gray-800 dark:text-gray-200 mb-2">`), _tmpl$65 = /* @__PURE__ */ template(`<span class=text-amber-600>`), _tmpl$66 = /* @__PURE__ */ template(`<div class="mb-2 flex items-center gap-2 text-xs"><span></span><!$><!/>`), _tmpl$67 = /* @__PURE__ */ template(`<div><!$><!/><!$><!/><!$><!/><div class="flex flex-wrap gap-2">`), _tmpl$68 = /* @__PURE__ */ template(`<span class="font-medium text-gray-800 dark:text-gray-200">`), _tmpl$69 = /* @__PURE__ */ template(`<span class=ml-1>&mdash; <!$><!/>`), _tmpl$70 = /* @__PURE__ */ template(`<div class="mb-2 p-2 rounded bg-gray-50 dark:bg-gray-800 border border-gray-200 dark:border-gray-700 text-xs text-gray-600 dark:text-gray-400"><!$><!/><!$><!/>`), _tmpl$71 = /* @__PURE__ */ template(`<span class=mr-1>`), _tmpl$72 = /* @__PURE__ */ template(`<div class=space-y-2><div class=space-y-1.5></div><!$><!/>`), _tmpl$73 = /* @__PURE__ */ template(`<div class="flex items-center gap-2 text-sm"><span></span><span class="text-gray-900 dark:text-white">`), _tmpl$74 = /* @__PURE__ */ template(`<div class="flex items-start gap-1.5 text-xs text-amber-600 dark:text-amber-400"><span class=flex-shrink-0>โš ๏ธ</span><span>`), _tmpl$75 = /* @__PURE__ */ template(`<span class=italic>&mdash; <!$><!/>`), _tmpl$76 = /* @__PURE__ */ template(`<div class="flex items-center gap-2 text-xs text-gray-500 dark:text-gray-400"><span><!$><!/> <!$><!/></span><!$><!/>`), _tmpl$77 = /* @__PURE__ */ template(`<div class="flex flex-wrap gap-2">`), _tmpl$78 = /* @__PURE__ */ template(`<div class="flex gap-1"><input type=text 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"><button type=button class="px-3 py-2 text-sm bg-blue-600 text-white rounded-lg hover:bg-blue-700">`), _tmpl$79 = /* @__PURE__ */ template(`<div class=space-y-3><p class="text-sm text-gray-700 dark:text-gray-300"></p><!$><!/><!$><!/>`), _tmpl$80 = /* @__PURE__ */ template(`<span>`), _tmpl$81 = /* @__PURE__ */ template(`<p class="text-xs text-gray-500 dark:text-gray-400 italic">"<!$><!/>"`), _tmpl$82 = /* @__PURE__ */ template(`<div class="mt-2 px-3 py-2 bg-blue-50 dark:bg-blue-900/10 rounded-lg text-sm text-blue-700 dark:text-blue-300"><span class=font-medium></span> <!$><!/>`), _tmpl$83 = /* @__PURE__ */ template(`<button type=button class="text-xs text-blue-600 dark:text-blue-400 hover:underline flex items-center gap-1">&#9998; <!$><!/>`), _tmpl$84 = /* @__PURE__ */ template(`<div class=space-y-2><!$><!/><div class=space-y-1></div><!$><!/><!$><!/>`), _tmpl$85 = /* @__PURE__ */ template(`<div class="flex gap-2 text-sm"><span class="text-gray-500 dark:text-gray-400 font-medium min-w-[80px]"><!$><!/>:</span><span class="text-gray-900 dark:text-white">`), _tmpl$86 = /* @__PURE__ */ template(`<div class="flex items-center gap-1 flex-wrap">`), _tmpl$87 = /* @__PURE__ */ template(`<div class=space-y-2>`), _tmpl$88 = /* @__PURE__ */ template(`<span class="ml-1 text-xs text-gray-500 dark:text-gray-400">โ€” <!$><!/>`), _tmpl$89 = /* @__PURE__ */ template(`<span class="ml-1 text-xs text-gray-400">(<!$><!/>ms)`), _tmpl$90 = /* @__PURE__ */ template(`<div><span class=flex-shrink-0></span><div><span></span><!$><!/><!$><!/>`), _tmpl$91 = /* @__PURE__ */ template(`<span class="text-[10px] opacity-75">`), _tmpl$92 = /* @__PURE__ */ template(`<div><span></span><span></span><!$><!/>`), _tmpl$93 = /* @__PURE__ */ template(`<button type=button>&#128260; <!$><!/>`), _tmpl$94 = /* @__PURE__ */ template(`<button type=button class="px-2 py-1 text-xs opacity-70 hover:opacity-100">&#9654; <!$><!/>`), _tmpl$95 = /* @__PURE__ */ template(`<pre class="mt-2 text-xs opacity-70 overflow-x-auto">`), _tmpl$96 = /* @__PURE__ */ template(`<div><div class="flex items-start gap-2"><span class=flex-shrink-0></span><div class=flex-1><p></p><div class="flex gap-2 mt-2"><!$><!/><!$><!/></div><!$><!/>`), _tmpl$97 = /* @__PURE__ */ template(`<span class="text-xs font-bold text-blue-600 dark:text-blue-400">`), _tmpl$98 = /* @__PURE__ */ template(`<p class="text-[10px] text-gray-400">`), _tmpl$99 = /* @__PURE__ */ template(`<div class="rounded-lg border border-gray-200 dark:border-gray-700 px-3 py-2"><div class="flex items-center justify-between mb-1.5"><span class="text-sm font-medium text-gray-900 dark:text-white"><!$><!/> <!$><!/></span><!$><!/></div><div class="flex flex-wrap gap-1.5 mb-1"></div><!$><!/>`), _tmpl$100 = /* @__PURE__ */ template(`<span><!$><!/> <!$><!/>`), _tmpl$101 = /* @__PURE__ */ template(`<div class=overflow-x-auto><table class="min-w-full text-xs"><thead><tr><th class="px-2 py-1 text-left text-gray-500 dark:text-gray-400"></th><th class="px-2 py-1 text-left font-medium text-blue-600 dark:text-blue-400"></th><th class="px-2 py-1 text-left font-medium text-purple-600 dark:text-purple-400"></th></tr></thead><tbody>`), _tmpl$102 = /* @__PURE__ */ template(`<tr><td class="px-2 py-1 font-mono text-gray-500 dark:text-gray-400"></td><td class="px-2 py-1 text-gray-900 dark:text-white"></td><td class="px-2 py-1 text-gray-900 dark:text-white">`);
15
17
  const STATUS_BADGES = {
16
18
  loading: {
17
- label: "Loading...",
19
+ labelKey: "statusLoading",
18
20
  class: "bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400"
19
21
  },
20
22
  ready: {
21
- label: "Action available",
23
+ labelKey: "statusActionAvailable",
22
24
  class: "bg-cyan-100 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-400"
23
25
  },
24
26
  waiting_human: {
25
- label: "Your turn",
27
+ labelKey: "statusYourTurn",
26
28
  class: "bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400 animate-pulse"
27
29
  },
28
30
  processing: {
29
- label: "Processing...",
31
+ labelKey: "statusProcessing",
30
32
  class: "bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400"
31
33
  },
32
34
  complete: {
33
- label: "Complete",
35
+ labelKey: "statusComplete",
34
36
  class: "bg-green-100 text-green-600 dark:bg-green-900/30 dark:text-green-400"
35
37
  },
38
+ // The error badge reuses the existing `scratchpadError` key ('Error').
36
39
  error: {
37
- label: "Error",
40
+ labelKey: "scratchpadError",
38
41
  class: "bg-red-100 text-red-600 dark:bg-red-900/30 dark:text-red-400"
39
42
  }
40
43
  };
41
44
  const ScratchpadPanel = (props) => {
42
45
  var _a;
46
+ const strings = useMCPUIStrings();
43
47
  const [collapsed, setCollapsed] = createSignal(false);
44
48
  const [localPreview, setLocalPreview] = createSignal(void 0);
45
49
  const [loadingAction, setLoadingAction] = createSignal(null);
@@ -150,7 +154,7 @@ const ScratchpadPanel = (props) => {
150
154
  if (previewTimer) clearTimeout(previewTimer);
151
155
  });
152
156
  return (() => {
153
- var _el$ = getNextElement(_tmpl$12), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$7 = _el$5.nextSibling, [_el$8, _co$] = getNextMarker(_el$7.nextSibling), _el$9 = _el$8.nextSibling, [_el$0, _co$2] = getNextMarker(_el$9.nextSibling), _el$1 = _el$3.nextSibling, _el$10 = _el$1.firstChild, _el$12 = _el$10.nextSibling, [_el$13, _co$3] = getNextMarker(_el$12.nextSibling), _el$69 = _el$2.nextSibling, [_el$70, _co$16] = getNextMarker(_el$69.nextSibling), _el$53 = _el$70.nextSibling, _el$71 = _el$53.nextSibling, [_el$72, _co$17] = getNextMarker(_el$71.nextSibling);
157
+ var _el$ = getNextElement(_tmpl$12), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$7 = _el$5.nextSibling, [_el$8, _co$] = getNextMarker(_el$7.nextSibling), _el$9 = _el$8.nextSibling, [_el$0, _co$2] = getNextMarker(_el$9.nextSibling), _el$1 = _el$3.nextSibling, _el$10 = _el$1.firstChild, _el$12 = _el$10.nextSibling, [_el$13, _co$3] = getNextMarker(_el$12.nextSibling), _el$72 = _el$2.nextSibling, [_el$73, _co$17] = getNextMarker(_el$72.nextSibling), _el$56 = _el$73.nextSibling, _el$74 = _el$56.nextSibling, [_el$75, _co$18] = getNextMarker(_el$74.nextSibling);
154
158
  _el$2.$$click = () => isCollapsible() && setCollapsed(!collapsed());
155
159
  insert(_el$5, () => props.state.title);
156
160
  insert(_el$3, () => {
@@ -177,7 +181,7 @@ const ScratchpadPanel = (props) => {
177
181
  return _el$6;
178
182
  }
179
183
  }), _el$0, _co$2);
180
- insert(_el$10, () => badge().label);
184
+ insert(_el$10, () => strings[badge().labelKey]);
181
185
  insert(_el$1, createComponent(Show, {
182
186
  get when() {
183
187
  return memo(() => !!isClosable())() && props.onClose;
@@ -189,6 +193,7 @@ const ScratchpadPanel = (props) => {
189
193
  e.stopPropagation();
190
194
  (_a2 = props.onClose) == null ? void 0 : _a2.call(props);
191
195
  };
196
+ effect(() => setAttribute(_el$11, "aria-label", strings.scratchpadClose));
192
197
  runHydrationEvents();
193
198
  return _el$11;
194
199
  }
@@ -198,7 +203,7 @@ const ScratchpadPanel = (props) => {
198
203
  return !collapsed();
199
204
  },
200
205
  get children() {
201
- var _el$14 = getNextElement(_tmpl$10), _el$43 = _el$14.firstChild, [_el$44, _co$8] = getNextMarker(_el$43.nextSibling), _el$16 = _el$44.nextSibling, _el$45 = _el$16.nextSibling, [_el$46, _co$9] = getNextMarker(_el$45.nextSibling), _el$47 = _el$46.nextSibling, [_el$48, _co$0] = getNextMarker(_el$47.nextSibling), _el$49 = _el$48.nextSibling, [_el$50, _co$1] = getNextMarker(_el$49.nextSibling), _el$51 = _el$50.nextSibling, [_el$52, _co$10] = getNextMarker(_el$51.nextSibling);
206
+ var _el$14 = getNextElement(_tmpl$10), _el$46 = _el$14.firstChild, [_el$47, _co$9] = getNextMarker(_el$46.nextSibling), _el$16 = _el$47.nextSibling, _el$48 = _el$16.nextSibling, [_el$49, _co$0] = getNextMarker(_el$48.nextSibling), _el$50 = _el$49.nextSibling, [_el$51, _co$1] = getNextMarker(_el$50.nextSibling), _el$52 = _el$51.nextSibling, [_el$53, _co$10] = getNextMarker(_el$52.nextSibling), _el$54 = _el$53.nextSibling, [_el$55, _co$11] = getNextMarker(_el$54.nextSibling);
202
207
  insert(_el$14, createComponent(Show, {
203
208
  get when() {
204
209
  return memo(() => !!props.state.turnHistory)() && props.state.turnHistory.length > 0;
@@ -217,29 +222,29 @@ const ScratchpadPanel = (props) => {
217
222
  return getNextElement(_tmpl$13);
218
223
  }
219
224
  }), (() => {
220
- var _el$74 = getNextElement(_tmpl$15), _el$80 = _el$74.firstChild, [_el$81, _co$19] = getNextMarker(_el$80.nextSibling), _el$75 = _el$81.nextSibling, _el$82 = _el$75.nextSibling, [_el$83, _co$20] = getNextMarker(_el$82.nextSibling), _el$84 = _el$83.nextSibling, [_el$85, _co$21] = getNextMarker(_el$84.nextSibling);
221
- insert(_el$74, (() => {
225
+ var _el$77 = getNextElement(_tmpl$15), _el$83 = _el$77.firstChild, [_el$84, _co$20] = getNextMarker(_el$83.nextSibling), _el$78 = _el$84.nextSibling, _el$85 = _el$78.nextSibling, [_el$86, _co$21] = getNextMarker(_el$85.nextSibling), _el$87 = _el$86.nextSibling, [_el$88, _co$22] = getNextMarker(_el$87.nextSibling);
226
+ insert(_el$77, (() => {
222
227
  var _c$ = memo(() => turn.status === "done");
223
228
  return () => _c$() ? "โœ…" : turn.status === "active" ? "โ—" : "โ—‹";
224
- })(), _el$81, _co$19);
225
- insert(_el$74, () => turn.label, _el$83, _co$20);
226
- insert(_el$74, createComponent(Show, {
229
+ })(), _el$84, _co$20);
230
+ insert(_el$77, () => turn.label, _el$86, _co$21);
231
+ insert(_el$77, createComponent(Show, {
227
232
  get when() {
228
233
  return turn.summary;
229
234
  },
230
235
  get children() {
231
- var _el$76 = getNextElement(_tmpl$14), _el$77 = _el$76.firstChild, _el$78 = _el$77.nextSibling, [_el$79, _co$18] = getNextMarker(_el$78.nextSibling);
232
- insert(_el$76, () => turn.summary, _el$79, _co$18);
233
- return _el$76;
236
+ var _el$79 = getNextElement(_tmpl$14), _el$80 = _el$79.firstChild, _el$81 = _el$80.nextSibling, [_el$82, _co$19] = getNextMarker(_el$81.nextSibling);
237
+ insert(_el$79, () => turn.summary, _el$82, _co$19);
238
+ return _el$79;
234
239
  }
235
- }), _el$85, _co$21);
236
- effect(() => className(_el$74, `text-xs font-medium px-2 py-0.5 rounded-full ${turn.status === "done" ? "bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400" : turn.status === "active" ? "bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400" : turn.status === "skipped" ? "bg-gray-100 dark:bg-gray-700 text-gray-400 line-through" : "bg-gray-100 dark:bg-gray-700 text-gray-400"}`));
237
- return _el$74;
240
+ }), _el$88, _co$22);
241
+ effect(() => className(_el$77, `text-xs font-medium px-2 py-0.5 rounded-full ${turn.status === "done" ? "bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400" : turn.status === "active" ? "bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400" : turn.status === "skipped" ? "bg-gray-100 dark:bg-gray-700 text-gray-400 line-through" : "bg-gray-100 dark:bg-gray-700 text-gray-400"}`));
242
+ return _el$77;
238
243
  })()]
239
244
  }));
240
245
  return _el$15;
241
246
  }
242
- }), _el$44, _co$8);
247
+ }), _el$47, _co$9);
243
248
  insert(_el$16, createComponent(For, {
244
249
  get each() {
245
250
  return props.state.sections;
@@ -275,19 +280,19 @@ const ScratchpadPanel = (props) => {
275
280
  return props.state.agentMessages;
276
281
  },
277
282
  children: (msg) => (() => {
278
- var _el$86 = getNextElement(_tmpl$16), _el$87 = _el$86.firstChild, _el$88 = _el$87.nextSibling;
279
- insert(_el$87, (() => {
283
+ var _el$89 = getNextElement(_tmpl$16), _el$90 = _el$89.firstChild, _el$91 = _el$90.nextSibling;
284
+ insert(_el$90, (() => {
280
285
  var _c$2 = memo(() => msg.type === "warning");
281
286
  return () => _c$2() ? "โš ๏ธ" : msg.type === "question" ? "โ“" : "โ„น๏ธ";
282
287
  })());
283
- insert(_el$88, () => msg.text);
284
- effect(() => className(_el$86, `flex items-start gap-2 text-sm rounded-lg px-3 py-2 ${msg.type === "warning" ? "bg-amber-50 dark:bg-amber-900/10 text-amber-700 dark:text-amber-400" : msg.type === "question" ? "bg-blue-50 dark:bg-blue-900/10 text-blue-700 dark:text-blue-400 border border-blue-200 dark:border-blue-800" : "bg-gray-50 dark:bg-gray-700/50 text-gray-600 dark:text-gray-400"}`));
285
- return _el$86;
288
+ insert(_el$91, () => msg.text);
289
+ effect(() => className(_el$89, `flex items-start gap-2 text-sm rounded-lg px-3 py-2 ${msg.type === "warning" ? "bg-amber-50 dark:bg-amber-900/10 text-amber-700 dark:text-amber-400" : msg.type === "question" ? "bg-blue-50 dark:bg-blue-900/10 text-blue-700 dark:text-blue-400 border border-blue-200 dark:border-blue-800" : "bg-gray-50 dark:bg-gray-700/50 text-gray-600 dark:text-gray-400"}`));
290
+ return _el$89;
286
291
  })()
287
292
  }));
288
293
  return _el$17;
289
294
  }
290
- }), _el$46, _co$9);
295
+ }), _el$49, _co$0);
291
296
  insert(_el$14, createComponent(Show, {
292
297
  get when() {
293
298
  return preview();
@@ -300,97 +305,103 @@ const ScratchpadPanel = (props) => {
300
305
  },
301
306
  get fallback() {
302
307
  return [(() => {
303
- var _el$89 = getNextElement(_tmpl$17), _el$90 = _el$89.firstChild, _el$91 = _el$90.nextSibling;
304
- insert(_el$91, () => preview().count.toLocaleString());
305
- return _el$89;
306
- })(), (() => {
307
- var _el$92 = getNextElement(_tmpl$18);
308
- insert(_el$92, () => preview().summary);
308
+ var _el$92 = getNextElement(_tmpl$17), _el$93 = _el$92.firstChild, _el$94 = _el$93.nextSibling;
309
+ insert(_el$93, () => strings.scratchpadPreview);
310
+ insert(_el$94, () => preview().count.toLocaleString(strings.locale));
309
311
  return _el$92;
312
+ })(), (() => {
313
+ var _el$95 = getNextElement(_tmpl$18);
314
+ insert(_el$95, () => preview().summary);
315
+ return _el$95;
310
316
  })(), createComponent(Show, {
311
317
  get when() {
312
318
  return memo(() => !!preview().rows)() && preview().rows.length > 0;
313
319
  },
314
320
  get children() {
315
- var _el$93 = getNextElement(_tmpl$19), _el$94 = _el$93.firstChild, _el$95 = _el$94.firstChild, _el$96 = _el$95.firstChild, _el$97 = _el$95.nextSibling;
316
- insert(_el$96, createComponent(For, {
321
+ var _el$96 = getNextElement(_tmpl$19), _el$97 = _el$96.firstChild, _el$98 = _el$97.firstChild, _el$99 = _el$98.firstChild, _el$100 = _el$98.nextSibling;
322
+ insert(_el$99, createComponent(For, {
317
323
  get each() {
318
324
  return Object.keys(preview().rows[0]);
319
325
  },
320
326
  children: (k) => (() => {
321
- var _el$98 = getNextElement(_tmpl$20);
322
- insert(_el$98, k);
323
- return _el$98;
327
+ var _el$101 = getNextElement(_tmpl$20);
328
+ insert(_el$101, k);
329
+ return _el$101;
324
330
  })()
325
331
  }));
326
- insert(_el$97, createComponent(For, {
332
+ insert(_el$100, createComponent(For, {
327
333
  get each() {
328
334
  return preview().rows.slice(0, 5);
329
335
  },
330
336
  children: (row) => (() => {
331
- var _el$99 = getNextElement(_tmpl$21);
332
- insert(_el$99, createComponent(For, {
337
+ var _el$102 = getNextElement(_tmpl$21);
338
+ insert(_el$102, createComponent(For, {
333
339
  get each() {
334
340
  return Object.values(row);
335
341
  },
336
342
  children: (v) => (() => {
337
- var _el$100 = getNextElement(_tmpl$22);
338
- insert(_el$100, () => String(v));
339
- return _el$100;
343
+ var _el$103 = getNextElement(_tmpl$22);
344
+ insert(_el$103, () => String(v));
345
+ return _el$103;
340
346
  })()
341
347
  }));
342
- return _el$99;
348
+ return _el$102;
343
349
  })()
344
350
  }));
345
- return _el$93;
351
+ return _el$96;
346
352
  }
347
353
  })];
348
354
  },
349
355
  get children() {
350
356
  var _el$19 = getNextElement(_tmpl$5), _el$20 = _el$19.firstChild, _el$21 = _el$20.nextSibling, _el$22 = _el$21.nextSibling;
357
+ insert(_el$21, () => strings.scratchpadNoResults);
351
358
  _el$22.$$click = () => {
352
359
  var _a2;
353
360
  return (_a2 = props.onAction) == null ? void 0 : _a2.call(props, "refine_filters");
354
361
  };
362
+ insert(_el$22, () => strings.scratchpadModifyFilters);
355
363
  runHydrationEvents();
356
364
  return _el$19;
357
365
  }
358
366
  }));
359
367
  return _el$18;
360
368
  }
361
- }), _el$48, _co$0);
369
+ }), _el$51, _co$1);
362
370
  insert(_el$14, createComponent(Show, {
363
371
  get when() {
364
372
  return memo(() => props.state.status === "error")() && props.state.error;
365
373
  },
366
374
  get children() {
367
- var _el$23 = getNextElement(_tmpl$0), _el$24 = _el$23.firstChild, _el$25 = _el$24.firstChild, _el$26 = _el$25.nextSibling, _el$27 = _el$26.firstChild, _el$32 = _el$27.nextSibling, [_el$33, _co$5] = getNextMarker(_el$32.nextSibling), _el$34 = _el$24.nextSibling, _el$37 = _el$34.firstChild, [_el$38, _co$6] = getNextMarker(_el$37.nextSibling), _el$39 = _el$38.nextSibling, [_el$40, _co$7] = getNextMarker(_el$39.nextSibling);
375
+ var _el$23 = getNextElement(_tmpl$0), _el$24 = _el$23.firstChild, _el$25 = _el$24.firstChild, _el$26 = _el$25.nextSibling, _el$27 = _el$26.firstChild, _el$29 = _el$27.nextSibling, [_el$30, _co$4] = getNextMarker(_el$29.nextSibling), _el$31 = _el$24.nextSibling, _el$37 = _el$31.firstChild, [_el$38, _co$6] = getNextMarker(_el$37.nextSibling), _el$39 = _el$38.nextSibling, [_el$40, _co$7] = getNextMarker(_el$39.nextSibling);
368
376
  insert(_el$27, () => props.state.error.message);
369
377
  insert(_el$26, createComponent(Show, {
370
378
  get when() {
371
379
  return props.state.error.code;
372
380
  },
373
381
  get children() {
374
- var _el$28 = getNextElement(_tmpl$7), _el$29 = _el$28.firstChild, _el$30 = _el$29.nextSibling, [_el$31, _co$4] = getNextMarker(_el$30.nextSibling);
375
- insert(_el$28, () => props.state.error.code, _el$31, _co$4);
382
+ var _el$28 = getNextElement(_tmpl$7);
383
+ insert(_el$28, () => formatMCPUIString(strings.scratchpadErrorCode, {
384
+ code: props.state.error.code
385
+ }));
376
386
  return _el$28;
377
387
  }
378
- }), _el$33, _co$5);
379
- insert(_el$34, createComponent(Show, {
388
+ }), _el$30, _co$4);
389
+ insert(_el$31, createComponent(Show, {
380
390
  get when() {
381
391
  return props.state.error.retryable !== false;
382
392
  },
383
393
  get children() {
384
- var _el$35 = getNextElement(_tmpl$8);
385
- _el$35.$$click = () => {
394
+ var _el$32 = getNextElement(_tmpl$8), _el$33 = _el$32.firstChild, _el$34 = _el$33.nextSibling, [_el$35, _co$5] = getNextMarker(_el$34.nextSibling);
395
+ _el$32.$$click = () => {
386
396
  var _a2;
387
397
  return (_a2 = props.onRetry) == null ? void 0 : _a2.call(props);
388
398
  };
399
+ insert(_el$32, () => strings.retry, _el$35, _co$5);
389
400
  runHydrationEvents();
390
- return _el$35;
401
+ return _el$32;
391
402
  }
392
403
  }), _el$38, _co$6);
393
- insert(_el$34, createComponent(Show, {
404
+ insert(_el$31, createComponent(Show, {
394
405
  get when() {
395
406
  return props.onClose;
396
407
  },
@@ -400,47 +411,49 @@ const ScratchpadPanel = (props) => {
400
411
  var _a2;
401
412
  return (_a2 = props.onClose) == null ? void 0 : _a2.call(props);
402
413
  };
414
+ insert(_el$36, () => strings.scratchpadClose);
403
415
  runHydrationEvents();
404
416
  return _el$36;
405
417
  }
406
418
  }), _el$40, _co$7);
407
419
  return _el$23;
408
420
  }
409
- }), _el$50, _co$1);
421
+ }), _el$53, _co$10);
410
422
  insert(_el$14, createComponent(Show, {
411
423
  get when() {
412
424
  return memo(() => props.state.status === "waiting_human")() && hasFilters();
413
425
  },
414
426
  get children() {
415
- var _el$41 = getNextElement(_tmpl$1), _el$42 = _el$41.firstChild;
427
+ var _el$41 = getNextElement(_tmpl$1), _el$42 = _el$41.firstChild, _el$43 = _el$42.firstChild, _el$44 = _el$43.nextSibling, [_el$45, _co$8] = getNextMarker(_el$44.nextSibling);
416
428
  _el$42.$$click = () => handleAction("search", {
417
429
  filters: props.state.filters
418
430
  });
431
+ insert(_el$42, () => strings.scratchpadSearch, _el$45, _co$8);
419
432
  runHydrationEvents();
420
433
  return _el$41;
421
434
  }
422
- }), _el$52, _co$10);
435
+ }), _el$55, _co$11);
423
436
  effect((_$p) => setStyleProperty(_el$14, "max-height", props.maxHeight || "500px"));
424
437
  return _el$14;
425
438
  }
426
- }), _el$70, _co$16);
439
+ }), _el$73, _co$17);
427
440
  insert(_el$, createComponent(Show, {
428
441
  get when() {
429
442
  return props.debugOverlay;
430
443
  },
431
444
  get children() {
432
- var _el$54 = getNextElement(_tmpl$11), _el$59 = _el$54.firstChild, [_el$60, _co$11] = getNextMarker(_el$59.nextSibling), _el$55 = _el$60.nextSibling, _el$61 = _el$55.nextSibling, [_el$62, _co$12] = getNextMarker(_el$61.nextSibling), _el$56 = _el$62.nextSibling, _el$63 = _el$56.nextSibling, [_el$64, _co$13] = getNextMarker(_el$63.nextSibling), _el$57 = _el$64.nextSibling, _el$65 = _el$57.nextSibling, [_el$66, _co$14] = getNextMarker(_el$65.nextSibling), _el$58 = _el$66.nextSibling, _el$67 = _el$58.nextSibling, [_el$68, _co$15] = getNextMarker(_el$67.nextSibling);
433
- insert(_el$54, () => props.state.id, _el$60, _co$11);
434
- insert(_el$54, eventCount, _el$62, _co$12);
435
- insert(_el$54, () => {
445
+ var _el$57 = getNextElement(_tmpl$11), _el$62 = _el$57.firstChild, [_el$63, _co$12] = getNextMarker(_el$62.nextSibling), _el$58 = _el$63.nextSibling, _el$64 = _el$58.nextSibling, [_el$65, _co$13] = getNextMarker(_el$64.nextSibling), _el$59 = _el$65.nextSibling, _el$66 = _el$59.nextSibling, [_el$67, _co$14] = getNextMarker(_el$66.nextSibling), _el$60 = _el$67.nextSibling, _el$68 = _el$60.nextSibling, [_el$69, _co$15] = getNextMarker(_el$68.nextSibling), _el$61 = _el$69.nextSibling, _el$70 = _el$61.nextSibling, [_el$71, _co$16] = getNextMarker(_el$70.nextSibling);
446
+ insert(_el$57, () => props.state.id, _el$63, _co$12);
447
+ insert(_el$57, eventCount, _el$65, _co$13);
448
+ insert(_el$57, () => {
436
449
  var _a2;
437
450
  return ((_a2 = props.state.sections) == null ? void 0 : _a2.length) || 0;
438
- }, _el$64, _co$13);
439
- insert(_el$54, () => props.state.status, _el$66, _co$14);
440
- insert(_el$54, lastEvent, _el$68, _co$15);
441
- return _el$54;
451
+ }, _el$67, _co$14);
452
+ insert(_el$57, () => props.state.status, _el$69, _co$15);
453
+ insert(_el$57, lastEvent, _el$71, _co$16);
454
+ return _el$57;
442
455
  }
443
- }), _el$72, _co$17);
456
+ }), _el$75, _co$18);
444
457
  effect((_p$) => {
445
458
  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}`;
446
459
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
@@ -468,9 +481,9 @@ function parseContent(content) {
468
481
  }
469
482
  const SectionRenderer = (props) => {
470
483
  return (() => {
471
- var _el$101 = getNextElement(_tmpl$24), _el$102 = _el$101.firstChild, _el$105 = _el$102.nextSibling, [_el$106, _co$22] = getNextMarker(_el$105.nextSibling);
472
- insert(_el$102, () => props.section.title);
473
- insert(_el$101, createComponent(Switch, {
484
+ var _el$104 = getNextElement(_tmpl$24), _el$105 = _el$104.firstChild, _el$108 = _el$105.nextSibling, [_el$109, _co$23] = getNextMarker(_el$108.nextSibling);
485
+ insert(_el$105, () => props.section.title);
486
+ insert(_el$104, createComponent(Switch, {
474
487
  get children() {
475
488
  return [createComponent(Match, {
476
489
  get when() {
@@ -505,9 +518,9 @@ const SectionRenderer = (props) => {
505
518
  return props.section.type === "message";
506
519
  },
507
520
  get children() {
508
- var _el$103 = getNextElement(_tmpl$18);
509
- insert(_el$103, () => String(props.section.content));
510
- return _el$103;
521
+ var _el$106 = getNextElement(_tmpl$18);
522
+ insert(_el$106, () => String(props.section.content));
523
+ return _el$106;
511
524
  }
512
525
  }), createComponent(Match, {
513
526
  get when() {
@@ -768,40 +781,41 @@ const SectionRenderer = (props) => {
768
781
  }), createComponent(Match, {
769
782
  when: true,
770
783
  get children() {
771
- var _el$104 = getNextElement(_tmpl$23);
772
- insert(_el$104, () => JSON.stringify(props.section.content, null, 2));
773
- return _el$104;
784
+ var _el$107 = getNextElement(_tmpl$23);
785
+ insert(_el$107, () => JSON.stringify(props.section.content, null, 2));
786
+ return _el$107;
774
787
  }
775
788
  })];
776
789
  }
777
- }), _el$106, _co$22);
778
- return _el$101;
790
+ }), _el$109, _co$23);
791
+ return _el$104;
779
792
  })();
780
793
  };
781
794
  const DataSection = (props) => {
782
795
  const entries = () => typeof props.content === "object" && props.content ? Object.entries(props.content) : [];
783
796
  return (() => {
784
- var _el$107 = getNextElement(_tmpl$25);
785
- insert(_el$107, createComponent(For, {
797
+ var _el$110 = getNextElement(_tmpl$25);
798
+ insert(_el$110, createComponent(For, {
786
799
  get each() {
787
800
  return entries();
788
801
  },
789
802
  children: ([k, v]) => (() => {
790
- var _el$108 = getNextElement(_tmpl$26), _el$109 = _el$108.firstChild, _el$111 = _el$109.firstChild, [_el$112, _co$23] = getNextMarker(_el$111.nextSibling);
791
- _el$112.nextSibling;
792
- var _el$113 = _el$109.nextSibling;
793
- insert(_el$109, k, _el$112, _co$23);
794
- insert(_el$113, (() => {
803
+ var _el$111 = getNextElement(_tmpl$26), _el$112 = _el$111.firstChild, _el$114 = _el$112.firstChild, [_el$115, _co$24] = getNextMarker(_el$114.nextSibling);
804
+ _el$115.nextSibling;
805
+ var _el$116 = _el$112.nextSibling;
806
+ insert(_el$112, k, _el$115, _co$24);
807
+ insert(_el$116, (() => {
795
808
  var _c$3 = memo(() => !!Array.isArray(v));
796
809
  return () => _c$3() ? v.join(", ") : String(v);
797
810
  })());
798
- return _el$108;
811
+ return _el$111;
799
812
  })()
800
813
  }));
801
- return _el$107;
814
+ return _el$110;
802
815
  })();
803
816
  };
804
817
  const InteractiveFilterSection = (props) => {
818
+ const strings = useMCPUIStrings();
805
819
  const [editingKey, setEditingKey] = createSignal(null);
806
820
  const [editValue, setEditValue] = createSignal("");
807
821
  const filterDefs = () => {
@@ -832,8 +846,8 @@ const InteractiveFilterSection = (props) => {
832
846
  };
833
847
  const getDef = (key) => filterDefs()[key] || {};
834
848
  return (() => {
835
- var _el$114 = getNextElement(_tmpl$28), _el$116 = _el$114.firstChild, [_el$117, _co$24] = getNextMarker(_el$116.nextSibling), _el$118 = _el$117.nextSibling, [_el$119, _co$25] = getNextMarker(_el$118.nextSibling);
836
- insert(_el$114, createComponent(For, {
849
+ var _el$117 = getNextElement(_tmpl$28), _el$119 = _el$117.firstChild, [_el$120, _co$25] = getNextMarker(_el$119.nextSibling), _el$121 = _el$120.nextSibling, [_el$122, _co$26] = getNextMarker(_el$121.nextSibling);
850
+ insert(_el$117, createComponent(For, {
837
851
  get each() {
838
852
  return allKeys();
839
853
  },
@@ -842,145 +856,153 @@ const InteractiveFilterSection = (props) => {
842
856
  const value = () => props.filters[key];
843
857
  const hasValue = () => value() !== void 0 && value() !== "";
844
858
  return (() => {
845
- var _el$120 = getNextElement(_tmpl$34), _el$136 = _el$120.firstChild, [_el$137, _co$29] = getNextMarker(_el$136.nextSibling), _el$138 = _el$137.nextSibling, [_el$139, _co$30] = getNextMarker(_el$138.nextSibling);
846
- insert(_el$120, createComponent(Show, {
859
+ var _el$123 = getNextElement(_tmpl$34), _el$139 = _el$123.firstChild, [_el$140, _co$30] = getNextMarker(_el$139.nextSibling), _el$141 = _el$140.nextSibling, [_el$142, _co$31] = getNextMarker(_el$141.nextSibling);
860
+ insert(_el$123, createComponent(Show, {
847
861
  get when() {
848
862
  return hasValue();
849
863
  },
850
864
  get fallback() {
851
865
  return (() => {
852
- var _el$140 = getNextElement(_tmpl$35), _el$141 = _el$140.firstChild, _el$142 = _el$141.nextSibling, [_el$143, _co$31] = getNextMarker(_el$142.nextSibling);
853
- _el$140.$$click = () => {
866
+ var _el$143 = getNextElement(_tmpl$35), _el$144 = _el$143.firstChild, _el$145 = _el$144.nextSibling, [_el$146, _co$32] = getNextMarker(_el$145.nextSibling);
867
+ _el$143.$$click = () => {
854
868
  setEditingKey(key);
855
869
  setEditValue("");
856
870
  };
857
- insert(_el$140, () => {
871
+ insert(_el$143, () => {
858
872
  var _a;
859
873
  return ((_a = def()) == null ? void 0 : _a.label) || key;
860
- }, _el$143, _co$31);
874
+ }, _el$146, _co$32);
861
875
  runHydrationEvents();
862
- return _el$140;
876
+ return _el$143;
863
877
  })();
864
878
  },
865
879
  get children() {
866
- var _el$121 = getNextElement(_tmpl$30), _el$122 = _el$121.firstChild, _el$123 = _el$122.firstChild, _el$125 = _el$123.firstChild, [_el$126, _co$26] = getNextMarker(_el$125.nextSibling);
867
- _el$126.nextSibling;
868
- var _el$127 = _el$123.nextSibling, _el$128 = _el$127.nextSibling, [_el$129, _co$27] = getNextMarker(_el$128.nextSibling), _el$131 = _el$122.nextSibling, [_el$132, _co$28] = getNextMarker(_el$131.nextSibling);
869
- _el$122.$$click = () => {
880
+ var _el$124 = getNextElement(_tmpl$30), _el$125 = _el$124.firstChild, _el$126 = _el$125.firstChild, _el$128 = _el$126.firstChild, [_el$129, _co$27] = getNextMarker(_el$128.nextSibling);
881
+ _el$129.nextSibling;
882
+ var _el$130 = _el$126.nextSibling, _el$131 = _el$130.nextSibling, [_el$132, _co$28] = getNextMarker(_el$131.nextSibling), _el$134 = _el$125.nextSibling, [_el$135, _co$29] = getNextMarker(_el$134.nextSibling);
883
+ _el$125.$$click = () => {
870
884
  setEditingKey(key);
871
885
  setEditValue(String(value() || ""));
872
886
  };
873
- insert(_el$123, () => {
887
+ insert(_el$126, () => {
874
888
  var _a;
875
889
  return ((_a = def()) == null ? void 0 : _a.label) || key;
876
- }, _el$126, _co$26);
877
- insert(_el$122, (() => {
890
+ }, _el$129, _co$27);
891
+ insert(_el$125, (() => {
878
892
  var _c$4 = memo(() => !!Array.isArray(value()));
879
893
  return () => _c$4() ? value().join(", ") : String(value());
880
- })(), _el$129, _co$27);
881
- insert(_el$121, createComponent(Show, {
894
+ })(), _el$132, _co$28);
895
+ insert(_el$124, createComponent(Show, {
882
896
  get when() {
883
897
  return props.onFilterChange;
884
898
  },
885
899
  get children() {
886
- var _el$130 = getNextElement(_tmpl$29);
887
- _el$130.$$click = () => removeFilter(key);
888
- setAttribute(_el$130, "aria-label", `Remove ${key}`);
900
+ var _el$133 = getNextElement(_tmpl$29);
901
+ _el$133.$$click = () => removeFilter(key);
902
+ effect(() => setAttribute(_el$133, "aria-label", formatMCPUIString(strings.removeItem, {
903
+ name: key
904
+ })));
889
905
  runHydrationEvents();
890
- return _el$130;
906
+ return _el$133;
891
907
  }
892
- }), _el$132, _co$28);
908
+ }), _el$135, _co$29);
893
909
  runHydrationEvents();
894
- return _el$121;
910
+ return _el$124;
895
911
  }
896
- }), _el$137, _co$29);
897
- insert(_el$120, createComponent(Show, {
912
+ }), _el$140, _co$30);
913
+ insert(_el$123, createComponent(Show, {
898
914
  get when() {
899
915
  return editingKey() === key;
900
916
  },
901
917
  get children() {
902
- var _el$133 = getNextElement(_tmpl$33);
903
- insert(_el$133, createComponent(Show, {
918
+ var _el$136 = getNextElement(_tmpl$33);
919
+ insert(_el$136, createComponent(Show, {
904
920
  get when() {
905
921
  var _a;
906
922
  return (_a = def()) == null ? void 0 : _a.options;
907
923
  },
908
924
  get fallback() {
909
925
  return (() => {
910
- var _el$144 = getNextElement(_tmpl$36), _el$145 = _el$144.firstChild, _el$146 = _el$145.nextSibling, _el$147 = _el$146.nextSibling;
911
- _el$144.addEventListener("submit", (e) => {
926
+ var _el$147 = getNextElement(_tmpl$36), _el$148 = _el$147.firstChild, _el$149 = _el$148.nextSibling, _el$150 = _el$149.nextSibling;
927
+ _el$147.addEventListener("submit", (e) => {
912
928
  e.preventDefault();
913
929
  setFilter(key, editValue());
914
930
  });
915
- _el$145.$$input = (e) => setEditValue(e.currentTarget.value);
916
- _el$147.$$click = () => setEditingKey(null);
931
+ _el$148.$$input = (e) => setEditValue(e.currentTarget.value);
932
+ insert(_el$149, () => strings.ok);
933
+ _el$150.$$click = () => setEditingKey(null);
934
+ insert(_el$150, () => strings.cancel);
917
935
  effect(() => {
918
936
  var _a;
919
- return setAttribute(_el$145, "placeholder", ((_a = def()) == null ? void 0 : _a.placeholder) || key);
937
+ return setAttribute(_el$148, "placeholder", ((_a = def()) == null ? void 0 : _a.placeholder) || key);
920
938
  });
921
- effect(() => setProperty(_el$145, "value", editValue()));
939
+ effect(() => setProperty(_el$148, "value", editValue()));
922
940
  runHydrationEvents();
923
- return _el$144;
941
+ return _el$147;
924
942
  })();
925
943
  },
926
944
  get children() {
927
945
  return [(() => {
928
- var _el$134 = getNextElement(_tmpl$31);
929
- insert(_el$134, createComponent(For, {
946
+ var _el$137 = getNextElement(_tmpl$31);
947
+ insert(_el$137, createComponent(For, {
930
948
  get each() {
931
949
  return def().options;
932
950
  },
933
951
  children: (opt) => (() => {
934
- var _el$148 = getNextElement(_tmpl$38), _el$150 = _el$148.firstChild, [_el$151, _co$32] = getNextMarker(_el$150.nextSibling), _el$152 = _el$151.nextSibling, [_el$153, _co$33] = getNextMarker(_el$152.nextSibling);
935
- _el$148.$$click = () => setFilter(key, opt.value);
936
- insert(_el$148, () => opt.label, _el$151, _co$32);
937
- insert(_el$148, createComponent(Show, {
952
+ var _el$151 = getNextElement(_tmpl$38), _el$153 = _el$151.firstChild, [_el$154, _co$33] = getNextMarker(_el$153.nextSibling), _el$155 = _el$154.nextSibling, [_el$156, _co$34] = getNextMarker(_el$155.nextSibling);
953
+ _el$151.$$click = () => setFilter(key, opt.value);
954
+ insert(_el$151, () => opt.label, _el$154, _co$33);
955
+ insert(_el$151, createComponent(Show, {
938
956
  get when() {
939
957
  return String(value()) === opt.value;
940
958
  },
941
959
  get children() {
942
960
  return getNextElement(_tmpl$37);
943
961
  }
944
- }), _el$153, _co$33);
945
- effect(() => className(_el$148, `w-full text-left px-2 py-1.5 text-sm rounded hover:bg-blue-50 dark:hover:bg-blue-900/20 ${String(value()) === opt.value ? "text-blue-600 dark:text-blue-400 bg-blue-50/50 dark:bg-blue-900/10" : "text-gray-900 dark:text-white"}`));
962
+ }), _el$156, _co$34);
963
+ effect(() => className(_el$151, `w-full text-left px-2 py-1.5 text-sm rounded hover:bg-blue-50 dark:hover:bg-blue-900/20 ${String(value()) === opt.value ? "text-blue-600 dark:text-blue-400 bg-blue-50/50 dark:bg-blue-900/10" : "text-gray-900 dark:text-white"}`));
946
964
  runHydrationEvents();
947
- return _el$148;
965
+ return _el$151;
948
966
  })()
949
967
  }));
950
- return _el$134;
968
+ return _el$137;
951
969
  })(), (() => {
952
- var _el$135 = getNextElement(_tmpl$32);
953
- _el$135.$$click = () => setEditingKey(null);
970
+ var _el$138 = getNextElement(_tmpl$32);
971
+ _el$138.$$click = () => setEditingKey(null);
972
+ insert(_el$138, () => strings.cancel);
954
973
  runHydrationEvents();
955
- return _el$135;
974
+ return _el$138;
956
975
  })()];
957
976
  }
958
977
  }));
959
- return _el$133;
978
+ return _el$136;
960
979
  }
961
- }), _el$139, _co$30);
962
- return _el$120;
980
+ }), _el$142, _co$31);
981
+ return _el$123;
963
982
  })();
964
983
  }
965
- }), _el$117, _co$24);
966
- insert(_el$114, createComponent(Show, {
984
+ }), _el$120, _co$25);
985
+ insert(_el$117, createComponent(Show, {
967
986
  get when() {
968
987
  return allKeys().length === 0;
969
988
  },
970
989
  get children() {
971
- return getNextElement(_tmpl$27);
990
+ var _el$118 = getNextElement(_tmpl$27);
991
+ insert(_el$118, () => strings.scratchpadNoFilters);
992
+ return _el$118;
972
993
  }
973
- }), _el$119, _co$25);
974
- return _el$114;
994
+ }), _el$122, _co$26);
995
+ return _el$117;
975
996
  })();
976
997
  };
977
998
  const EmbeddedFormSection = (props) => {
999
+ const strings = useMCPUIStrings();
978
1000
  const [dynamicOptions, setDynamicOptions] = createSignal({});
979
1001
  const config = () => {
980
1002
  const c = props.content;
981
1003
  return {
982
1004
  fields: (c == null ? void 0 : c.fields) || [],
983
- submitLabel: (c == null ? void 0 : c.submitLabel) || "Submit",
1005
+ submitLabel: (c == null ? void 0 : c.submitLabel) || strings.submit,
984
1006
  autoSubmitDelay: c == null ? void 0 : c.autoSubmitDelay
985
1007
  };
986
1008
  };
@@ -1119,41 +1141,42 @@ const EmbeddedFormSection = (props) => {
1119
1141
  },
1120
1142
  get fallback() {
1121
1143
  return (() => {
1122
- var _el$184 = getNextElement(_tmpl$42), _el$185 = _el$184.firstChild, _el$186 = _el$185.nextSibling, _el$188 = _el$186.firstChild, [_el$189, _co$43] = getNextMarker(_el$188.nextSibling);
1123
- _el$189.nextSibling;
1124
- var _el$190 = _el$186.nextSibling, _el$191 = _el$190.nextSibling;
1125
- insert(_el$185, () => config().fields.map((f) => f.displayHint || f.prefill).join(", "));
1126
- insert(_el$186, countdown, _el$189, _co$43);
1127
- _el$190.$$click = () => {
1144
+ var _el$170 = getNextElement(_tmpl$42), _el$171 = _el$170.firstChild, _el$172 = _el$171.nextSibling, _el$174 = _el$172.firstChild, [_el$175, _co$38] = getNextMarker(_el$174.nextSibling);
1145
+ _el$175.nextSibling;
1146
+ var _el$176 = _el$172.nextSibling, _el$177 = _el$176.nextSibling;
1147
+ insert(_el$171, () => config().fields.map((f) => f.displayHint || f.prefill).join(", "));
1148
+ insert(_el$172, countdown, _el$175, _co$38);
1149
+ _el$176.$$click = () => {
1128
1150
  setExpanded(true);
1129
1151
  cancelCountdown();
1130
1152
  setUserInteracted(true);
1131
1153
  };
1132
- _el$191.$$click = () => {
1154
+ insert(_el$176, () => strings.scratchpadEdit);
1155
+ _el$177.$$click = () => {
1133
1156
  cancelCountdown();
1134
1157
  setUserInteracted(true);
1135
1158
  };
1136
1159
  runHydrationEvents();
1137
- return _el$184;
1160
+ return _el$170;
1138
1161
  })();
1139
1162
  },
1140
1163
  get children() {
1141
- var _el$154 = getNextElement(_tmpl$41), _el$178 = _el$154.firstChild, [_el$179, _co$40] = getNextMarker(_el$178.nextSibling), _el$180 = _el$179.nextSibling, [_el$181, _co$41] = getNextMarker(_el$180.nextSibling), _el$182 = _el$181.nextSibling, [_el$183, _co$42] = getNextMarker(_el$182.nextSibling), _el$176 = _el$183.nextSibling, _el$177 = _el$176.firstChild;
1142
- _el$154.addEventListener("submit", handleSubmit);
1143
- insert(_el$154, createComponent(Show, {
1164
+ var _el$157 = getNextElement(_tmpl$41), _el$164 = _el$157.firstChild, [_el$165, _co$35] = getNextMarker(_el$164.nextSibling), _el$166 = _el$165.nextSibling, [_el$167, _co$36] = getNextMarker(_el$166.nextSibling), _el$168 = _el$167.nextSibling, [_el$169, _co$37] = getNextMarker(_el$168.nextSibling), _el$162 = _el$169.nextSibling, _el$163 = _el$162.firstChild;
1165
+ _el$157.addEventListener("submit", handleSubmit);
1166
+ insert(_el$157, createComponent(Show, {
1144
1167
  get when() {
1145
1168
  return prefillSummary().prefilled > 0;
1146
1169
  },
1147
1170
  get children() {
1148
- var _el$155 = getNextElement(_tmpl$39), _el$159 = _el$155.firstChild, [_el$160, _co$34] = getNextMarker(_el$159.nextSibling), _el$156 = _el$160.nextSibling, _el$161 = _el$156.nextSibling, [_el$162, _co$35] = getNextMarker(_el$161.nextSibling), _el$157 = _el$162.nextSibling, _el$163 = _el$157.nextSibling, [_el$164, _co$36] = getNextMarker(_el$163.nextSibling), _el$158 = _el$164.nextSibling, _el$165 = _el$158.nextSibling, [_el$166, _co$37] = getNextMarker(_el$165.nextSibling);
1149
- insert(_el$155, () => prefillSummary().prefilled, _el$160, _co$34);
1150
- insert(_el$155, () => prefillSummary().prefilled > 1 ? "s" : "", _el$162, _co$35);
1151
- insert(_el$155, () => prefillSummary().prefilled > 1 ? "s" : "", _el$164, _co$36);
1152
- insert(_el$155, () => prefillSummary().total, _el$166, _co$37);
1153
- return _el$155;
1171
+ var _el$158 = getNextElement(_tmpl$39);
1172
+ insert(_el$158, () => formatMCPUIString(prefillSummary().prefilled === 1 ? strings.formPrefilledOne : strings.formPrefilledMany, {
1173
+ count: prefillSummary().prefilled,
1174
+ total: prefillSummary().total
1175
+ }));
1176
+ return _el$158;
1154
1177
  }
1155
- }), _el$179, _co$40);
1156
- insert(_el$154, createComponent(For, {
1178
+ }), _el$165, _co$35);
1179
+ insert(_el$157, createComponent(For, {
1157
1180
  get each() {
1158
1181
  return config().fields;
1159
1182
  },
@@ -1167,28 +1190,29 @@ const EmbeddedFormSection = (props) => {
1167
1190
  onChange: (val) => updateField(field.name, val),
1168
1191
  formData
1169
1192
  })
1170
- }), _el$181, _co$41);
1171
- insert(_el$154, createComponent(Show, {
1193
+ }), _el$167, _co$36);
1194
+ insert(_el$157, createComponent(Show, {
1172
1195
  get when() {
1173
1196
  return countdown() != null;
1174
1197
  },
1175
1198
  get children() {
1176
- var _el$167 = getNextElement(_tmpl$40), _el$168 = _el$167.firstChild, _el$171 = _el$168.firstChild, [_el$172, _co$38] = getNextMarker(_el$171.nextSibling), _el$169 = _el$172.nextSibling, _el$173 = _el$169.nextSibling, [_el$174, _co$39] = getNextMarker(_el$173.nextSibling);
1177
- _el$174.nextSibling;
1178
- var _el$175 = _el$168.nextSibling;
1179
- insert(_el$168, () => config().submitLabel, _el$172, _co$38);
1180
- insert(_el$168, countdown, _el$174, _co$39);
1181
- _el$175.$$click = () => {
1199
+ var _el$159 = getNextElement(_tmpl$40), _el$160 = _el$159.firstChild, _el$161 = _el$160.nextSibling;
1200
+ insert(_el$160, () => formatMCPUIString(strings.formSubmitCountdown, {
1201
+ label: config().submitLabel,
1202
+ seconds: countdown()
1203
+ }));
1204
+ _el$161.$$click = () => {
1182
1205
  cancelCountdown();
1183
1206
  setUserInteracted(true);
1184
1207
  };
1208
+ insert(_el$161, () => strings.cancel);
1185
1209
  runHydrationEvents();
1186
- return _el$167;
1210
+ return _el$159;
1187
1211
  }
1188
- }), _el$183, _co$42);
1189
- insert(_el$177, () => config().submitLabel);
1190
- effect(() => setAttribute(_el$154, "id", `scratchpad-form-${props.sectionId}`));
1191
- return _el$154;
1212
+ }), _el$169, _co$37);
1213
+ insert(_el$163, () => config().submitLabel);
1214
+ effect(() => setAttribute(_el$157, "id", `scratchpad-form-${props.sectionId}`));
1215
+ return _el$157;
1192
1216
  }
1193
1217
  }), createComponent(Show, {
1194
1218
  get when() {
@@ -1219,6 +1243,7 @@ const EmbeddedFormSection = (props) => {
1219
1243
  })];
1220
1244
  };
1221
1245
  const FormDebugTrace = (props) => {
1246
+ const strings = useMCPUIStrings();
1222
1247
  const [open, setOpen] = createSignal(false);
1223
1248
  const [showRaw, setShowRaw] = createSignal(false);
1224
1249
  const prefilledCount = () => props.fields.filter((f) => f.prefill != null).length;
@@ -1235,103 +1260,101 @@ const FormDebugTrace = (props) => {
1235
1260
  return (_a = props.rawContent) == null ? void 0 : _a._debug;
1236
1261
  };
1237
1262
  return (() => {
1238
- var _el$192 = getNextElement(_tmpl$48), _el$193 = _el$192.firstChild, _el$194 = _el$193.firstChild, _el$195 = _el$194.nextSibling, _el$198 = _el$195.nextSibling, [_el$199, _co$44] = getNextMarker(_el$198.nextSibling), _el$196 = _el$199.nextSibling, _el$200 = _el$196.nextSibling, [_el$201, _co$45] = getNextMarker(_el$200.nextSibling);
1239
- _el$201.nextSibling;
1240
- var _el$256 = _el$193.nextSibling, [_el$257, _co$62] = getNextMarker(_el$256.nextSibling);
1241
- _el$193.$$click = () => setOpen(!open());
1242
- insert(_el$194, () => open() ? "โ–พ" : "โ–ธ");
1243
- insert(_el$193, prefilledCount, _el$199, _co$44);
1244
- insert(_el$193, () => props.fields.length, _el$201, _co$45);
1245
- insert(_el$192, createComponent(Show, {
1263
+ var _el$178 = getNextElement(_tmpl$48), _el$179 = _el$178.firstChild, _el$180 = _el$179.firstChild, _el$181 = _el$180.nextSibling, _el$184 = _el$181.nextSibling, [_el$185, _co$39] = getNextMarker(_el$184.nextSibling), _el$182 = _el$185.nextSibling, _el$186 = _el$182.nextSibling, [_el$187, _co$40] = getNextMarker(_el$186.nextSibling);
1264
+ _el$187.nextSibling;
1265
+ var _el$239 = _el$179.nextSibling, [_el$240, _co$56] = getNextMarker(_el$239.nextSibling);
1266
+ _el$179.$$click = () => setOpen(!open());
1267
+ insert(_el$180, () => open() ? "โ–พ" : "โ–ธ");
1268
+ insert(_el$179, prefilledCount, _el$185, _co$39);
1269
+ insert(_el$179, () => props.fields.length, _el$187, _co$40);
1270
+ insert(_el$178, createComponent(Show, {
1246
1271
  get when() {
1247
1272
  return open();
1248
1273
  },
1249
1274
  get children() {
1250
- var _el$202 = getNextElement(_tmpl$47), _el$203 = _el$202.firstChild, _el$204 = _el$203.firstChild, _el$207 = _el$204.nextSibling, [_el$208, _co$46] = getNextMarker(_el$207.nextSibling), _el$205 = _el$208.nextSibling, _el$209 = _el$205.nextSibling, [_el$210, _co$47] = getNextMarker(_el$209.nextSibling);
1251
- _el$210.nextSibling;
1252
- var _el$252 = _el$203.nextSibling, [_el$253, _co$60] = getNextMarker(_el$252.nextSibling), _el$211 = _el$253.nextSibling, _el$212 = _el$211.firstChild, _el$217 = _el$212.nextSibling, [_el$218, _co$49] = getNextMarker(_el$217.nextSibling), _el$219 = _el$218.nextSibling, [_el$220, _co$50] = getNextMarker(_el$219.nextSibling), _el$213 = _el$220.nextSibling, _el$214 = _el$213.firstChild, _el$215 = _el$214.nextSibling, [_el$216, _co$48] = getNextMarker(_el$215.nextSibling), _el$254 = _el$211.nextSibling, [_el$255, _co$61] = getNextMarker(_el$254.nextSibling), _el$244 = _el$255.nextSibling, _el$245 = _el$244.firstChild, _el$247 = _el$245.firstChild, [_el$248, _co$58] = getNextMarker(_el$247.nextSibling);
1253
- _el$248.nextSibling;
1254
- var _el$250 = _el$245.nextSibling, [_el$251, _co$59] = getNextMarker(_el$250.nextSibling);
1255
- insert(_el$203, () => props.fields.length, _el$208, _co$46);
1256
- insert(_el$203, prefilledCount, _el$210, _co$47);
1257
- insert(_el$202, createComponent(For, {
1275
+ var _el$188 = getNextElement(_tmpl$47), _el$189 = _el$188.firstChild, _el$190 = _el$189.firstChild, _el$193 = _el$190.nextSibling, [_el$194, _co$41] = getNextMarker(_el$193.nextSibling), _el$191 = _el$194.nextSibling, _el$195 = _el$191.nextSibling, [_el$196, _co$42] = getNextMarker(_el$195.nextSibling);
1276
+ _el$196.nextSibling;
1277
+ var _el$235 = _el$189.nextSibling, [_el$236, _co$54] = getNextMarker(_el$235.nextSibling), _el$197 = _el$236.nextSibling, _el$198 = _el$197.firstChild, _el$203 = _el$198.nextSibling, [_el$204, _co$44] = getNextMarker(_el$203.nextSibling), _el$205 = _el$204.nextSibling, [_el$206, _co$45] = getNextMarker(_el$205.nextSibling), _el$199 = _el$206.nextSibling, _el$200 = _el$199.firstChild, _el$201 = _el$200.nextSibling, [_el$202, _co$43] = getNextMarker(_el$201.nextSibling), _el$237 = _el$197.nextSibling, [_el$238, _co$55] = getNextMarker(_el$237.nextSibling), _el$230 = _el$238.nextSibling, _el$231 = _el$230.firstChild, _el$233 = _el$231.nextSibling, [_el$234, _co$53] = getNextMarker(_el$233.nextSibling);
1278
+ insert(_el$189, () => props.fields.length, _el$194, _co$41);
1279
+ insert(_el$189, prefilledCount, _el$196, _co$42);
1280
+ insert(_el$188, createComponent(For, {
1258
1281
  get each() {
1259
1282
  return props.fields;
1260
1283
  },
1261
1284
  children: (field) => (() => {
1262
- var _el$258 = getNextElement(_tmpl$56), _el$259 = _el$258.firstChild, _el$261 = _el$259.firstChild, [_el$262, _co$63] = getNextMarker(_el$261.nextSibling);
1263
- _el$262.nextSibling;
1264
- var _el$287 = _el$259.nextSibling, [_el$288, _co$69] = getNextMarker(_el$287.nextSibling), _el$289 = _el$288.nextSibling, [_el$290, _co$70] = getNextMarker(_el$289.nextSibling), _el$291 = _el$290.nextSibling, [_el$292, _co$71] = getNextMarker(_el$291.nextSibling), _el$293 = _el$292.nextSibling, [_el$294, _co$72] = getNextMarker(_el$293.nextSibling), _el$295 = _el$294.nextSibling, [_el$296, _co$73] = getNextMarker(_el$295.nextSibling), _el$297 = _el$296.nextSibling, [_el$298, _co$74] = getNextMarker(_el$297.nextSibling), _el$299 = _el$298.nextSibling, [_el$300, _co$75] = getNextMarker(_el$299.nextSibling), _el$301 = _el$300.nextSibling, [_el$302, _co$76] = getNextMarker(_el$301.nextSibling);
1265
- insert(_el$259, () => field.name, _el$262, _co$63);
1266
- insert(_el$258, createComponent(Show, {
1285
+ var _el$241 = getNextElement(_tmpl$56), _el$242 = _el$241.firstChild, _el$244 = _el$242.firstChild, [_el$245, _co$57] = getNextMarker(_el$244.nextSibling);
1286
+ _el$245.nextSibling;
1287
+ var _el$270 = _el$242.nextSibling, [_el$271, _co$63] = getNextMarker(_el$270.nextSibling), _el$272 = _el$271.nextSibling, [_el$273, _co$64] = getNextMarker(_el$272.nextSibling), _el$274 = _el$273.nextSibling, [_el$275, _co$65] = getNextMarker(_el$274.nextSibling), _el$276 = _el$275.nextSibling, [_el$277, _co$66] = getNextMarker(_el$276.nextSibling), _el$278 = _el$277.nextSibling, [_el$279, _co$67] = getNextMarker(_el$278.nextSibling), _el$280 = _el$279.nextSibling, [_el$281, _co$68] = getNextMarker(_el$280.nextSibling), _el$282 = _el$281.nextSibling, [_el$283, _co$69] = getNextMarker(_el$282.nextSibling), _el$284 = _el$283.nextSibling, [_el$285, _co$70] = getNextMarker(_el$284.nextSibling);
1288
+ insert(_el$242, () => field.name, _el$245, _co$57);
1289
+ insert(_el$241, createComponent(Show, {
1267
1290
  get when() {
1268
1291
  return field.prefill != null;
1269
1292
  },
1270
1293
  get children() {
1271
- var _el$263 = getNextElement(_tmpl$49), _el$264 = _el$263.firstChild, _el$265 = _el$264.nextSibling, [_el$266, _co$64] = getNextMarker(_el$265.nextSibling);
1272
- insert(_el$263, () => JSON.stringify(field.prefill), _el$266, _co$64);
1273
- return _el$263;
1294
+ var _el$246 = getNextElement(_tmpl$49), _el$247 = _el$246.firstChild, _el$248 = _el$247.nextSibling, [_el$249, _co$58] = getNextMarker(_el$248.nextSibling);
1295
+ insert(_el$246, () => JSON.stringify(field.prefill), _el$249, _co$58);
1296
+ return _el$246;
1274
1297
  }
1275
- }), _el$288, _co$69);
1276
- insert(_el$258, createComponent(Show, {
1298
+ }), _el$271, _co$63);
1299
+ insert(_el$241, createComponent(Show, {
1277
1300
  get when() {
1278
1301
  return !field.prefill;
1279
1302
  },
1280
1303
  get children() {
1281
1304
  return getNextElement(_tmpl$50);
1282
1305
  }
1283
- }), _el$290, _co$70);
1284
- insert(_el$258, createComponent(Show, {
1306
+ }), _el$273, _co$64);
1307
+ insert(_el$241, createComponent(Show, {
1285
1308
  get when() {
1286
1309
  return field.source;
1287
1310
  },
1288
1311
  get children() {
1289
- var _el$268 = getNextElement(_tmpl$51), _el$269 = _el$268.firstChild, _el$270 = _el$269.nextSibling, [_el$271, _co$65] = getNextMarker(_el$270.nextSibling);
1290
- insert(_el$268, () => field.source, _el$271, _co$65);
1291
- return _el$268;
1312
+ var _el$251 = getNextElement(_tmpl$51), _el$252 = _el$251.firstChild, _el$253 = _el$252.nextSibling, [_el$254, _co$59] = getNextMarker(_el$253.nextSibling);
1313
+ insert(_el$251, () => field.source, _el$254, _co$59);
1314
+ return _el$251;
1292
1315
  }
1293
- }), _el$292, _co$71);
1294
- insert(_el$258, createComponent(Show, {
1316
+ }), _el$275, _co$65);
1317
+ insert(_el$241, createComponent(Show, {
1295
1318
  get when() {
1296
1319
  return field.displayHint;
1297
1320
  },
1298
1321
  get children() {
1299
- var _el$272 = getNextElement(_tmpl$52), _el$273 = _el$272.firstChild, _el$275 = _el$273.nextSibling, [_el$276, _co$66] = getNextMarker(_el$275.nextSibling);
1300
- _el$276.nextSibling;
1301
- insert(_el$272, () => field.displayHint, _el$276, _co$66);
1302
- return _el$272;
1322
+ var _el$255 = getNextElement(_tmpl$52), _el$256 = _el$255.firstChild, _el$258 = _el$256.nextSibling, [_el$259, _co$60] = getNextMarker(_el$258.nextSibling);
1323
+ _el$259.nextSibling;
1324
+ insert(_el$255, () => field.displayHint, _el$259, _co$60);
1325
+ return _el$255;
1303
1326
  }
1304
- }), _el$294, _co$72);
1305
- insert(_el$258, createComponent(Show, {
1327
+ }), _el$277, _co$66);
1328
+ insert(_el$241, createComponent(Show, {
1306
1329
  get when() {
1307
1330
  return field.muted;
1308
1331
  },
1309
1332
  get children() {
1310
1333
  return getNextElement(_tmpl$53);
1311
1334
  }
1312
- }), _el$296, _co$73);
1313
- insert(_el$258, createComponent(Show, {
1335
+ }), _el$279, _co$67);
1336
+ insert(_el$241, createComponent(Show, {
1314
1337
  get when() {
1315
1338
  return field.prefillMode;
1316
1339
  },
1317
1340
  get children() {
1318
- var _el$278 = getNextElement(_tmpl$54), _el$279 = _el$278.firstChild, _el$280 = _el$279.nextSibling, [_el$281, _co$67] = getNextMarker(_el$280.nextSibling);
1319
- insert(_el$278, () => field.prefillMode, _el$281, _co$67);
1320
- return _el$278;
1341
+ var _el$261 = getNextElement(_tmpl$54), _el$262 = _el$261.firstChild, _el$263 = _el$262.nextSibling, [_el$264, _co$61] = getNextMarker(_el$263.nextSibling);
1342
+ insert(_el$261, () => field.prefillMode, _el$264, _co$61);
1343
+ return _el$261;
1321
1344
  }
1322
- }), _el$298, _co$74);
1323
- insert(_el$258, createComponent(Show, {
1345
+ }), _el$281, _co$68);
1346
+ insert(_el$241, createComponent(Show, {
1324
1347
  get when() {
1325
1348
  return field.valueFormat;
1326
1349
  },
1327
1350
  get children() {
1328
- var _el$282 = getNextElement(_tmpl$55), _el$283 = _el$282.firstChild, _el$285 = _el$283.nextSibling, [_el$286, _co$68] = getNextMarker(_el$285.nextSibling);
1329
- _el$286.nextSibling;
1330
- insert(_el$282, () => field.valueFormat, _el$286, _co$68);
1331
- return _el$282;
1351
+ var _el$265 = getNextElement(_tmpl$55), _el$266 = _el$265.firstChild, _el$268 = _el$266.nextSibling, [_el$269, _co$62] = getNextMarker(_el$268.nextSibling);
1352
+ _el$269.nextSibling;
1353
+ insert(_el$265, () => field.valueFormat, _el$269, _co$62);
1354
+ return _el$265;
1332
1355
  }
1333
- }), _el$300, _co$75);
1334
- insert(_el$258, createComponent(Show, {
1356
+ }), _el$283, _co$69);
1357
+ insert(_el$241, createComponent(Show, {
1335
1358
  get when() {
1336
1359
  return props.submittedValues;
1337
1360
  },
@@ -1340,30 +1363,30 @@ const FormDebugTrace = (props) => {
1340
1363
  const v = props.submittedValues[field.name];
1341
1364
  const hasValue = v !== void 0 && v !== "" && !(Array.isArray(v) && v.length === 0);
1342
1365
  return (() => {
1343
- var _el$303 = getNextElement(_tmpl$57), _el$304 = _el$303.firstChild, _el$306 = _el$304.nextSibling, [_el$307, _co$77] = getNextMarker(_el$306.nextSibling);
1344
- className(_el$303, hasValue ? "text-green-600 dark:text-green-400" : "text-gray-400");
1345
- insert(_el$303, () => hasValue ? `${JSON.stringify(v)} โœ“` : "(empty)", _el$307, _co$77);
1346
- return _el$303;
1366
+ var _el$286 = getNextElement(_tmpl$57), _el$287 = _el$286.firstChild, _el$289 = _el$287.nextSibling, [_el$290, _co$71] = getNextMarker(_el$289.nextSibling);
1367
+ className(_el$286, hasValue ? "text-green-600 dark:text-green-400" : "text-gray-400");
1368
+ insert(_el$286, () => hasValue ? `${JSON.stringify(v)} โœ“` : "(empty)", _el$290, _co$71);
1369
+ return _el$286;
1347
1370
  })();
1348
1371
  })();
1349
1372
  }
1350
- }), _el$302, _co$76);
1351
- return _el$258;
1373
+ }), _el$285, _co$70);
1374
+ return _el$241;
1352
1375
  })()
1353
- }), _el$253, _co$60);
1354
- insert(_el$211, () => props.autoSubmitDelay ? "true" : "false", _el$218, _co$49);
1355
- insert(_el$211, (() => {
1376
+ }), _el$236, _co$54);
1377
+ insert(_el$197, () => props.autoSubmitDelay ? "true" : "false", _el$204, _co$44);
1378
+ insert(_el$197, (() => {
1356
1379
  var _c$5 = memo(() => !!props.autoSubmitDelay);
1357
1380
  return () => _c$5() ? ` (${props.autoSubmitDelay}ms)` : "";
1358
- })(), _el$220, _co$50);
1359
- insert(_el$213, autoSubmitReason, _el$216, _co$48);
1360
- insert(_el$202, createComponent(Show, {
1381
+ })(), _el$206, _co$45);
1382
+ insert(_el$199, autoSubmitReason, _el$202, _co$43);
1383
+ insert(_el$188, createComponent(Show, {
1361
1384
  get when() {
1362
1385
  return serverDebug();
1363
1386
  },
1364
1387
  get children() {
1365
- var _el$221 = getNextElement(_tmpl$45), _el$222 = _el$221.firstChild, _el$238 = _el$222.nextSibling, [_el$239, _co$55] = getNextMarker(_el$238.nextSibling), _el$240 = _el$239.nextSibling, [_el$241, _co$56] = getNextMarker(_el$240.nextSibling), _el$242 = _el$241.nextSibling, [_el$243, _co$57] = getNextMarker(_el$242.nextSibling);
1366
- insert(_el$221, createComponent(Show, {
1388
+ var _el$207 = getNextElement(_tmpl$45), _el$208 = _el$207.firstChild, _el$224 = _el$208.nextSibling, [_el$225, _co$50] = getNextMarker(_el$224.nextSibling), _el$226 = _el$225.nextSibling, [_el$227, _co$51] = getNextMarker(_el$226.nextSibling), _el$228 = _el$227.nextSibling, [_el$229, _co$52] = getNextMarker(_el$228.nextSibling);
1389
+ insert(_el$207, createComponent(Show, {
1367
1390
  get when() {
1368
1391
  var _a;
1369
1392
  return (_a = serverDebug()) == null ? void 0 : _a.resolvers;
@@ -1374,67 +1397,71 @@ const FormDebugTrace = (props) => {
1374
1397
  return serverDebug().resolvers;
1375
1398
  },
1376
1399
  children: (r) => (() => {
1377
- var _el$308 = getNextElement(_tmpl$58), _el$316 = _el$308.firstChild, [_el$317, _co$78] = getNextMarker(_el$316.nextSibling), _el$309 = _el$317.nextSibling, _el$318 = _el$309.nextSibling, [_el$319, _co$79] = getNextMarker(_el$318.nextSibling), _el$310 = _el$319.nextSibling, _el$320 = _el$310.nextSibling, [_el$321, _co$80] = getNextMarker(_el$320.nextSibling), _el$311 = _el$321.nextSibling, _el$322 = _el$311.nextSibling, [_el$323, _co$81] = getNextMarker(_el$322.nextSibling), _el$314 = _el$323.nextSibling, _el$324 = _el$314.nextSibling, [_el$325, _co$82] = getNextMarker(_el$324.nextSibling);
1378
- _el$325.nextSibling;
1379
- insert(_el$308, () => r.field, _el$317, _co$78);
1380
- insert(_el$308, () => r.resolver, _el$319, _co$79);
1381
- insert(_el$308, () => r.input, _el$321, _co$80);
1382
- insert(_el$308, () => r.output, _el$323, _co$81);
1383
- insert(_el$308, () => r.ms, _el$325, _co$82);
1384
- return _el$308;
1400
+ var _el$291 = getNextElement(_tmpl$58), _el$299 = _el$291.firstChild, [_el$300, _co$72] = getNextMarker(_el$299.nextSibling), _el$292 = _el$300.nextSibling, _el$301 = _el$292.nextSibling, [_el$302, _co$73] = getNextMarker(_el$301.nextSibling), _el$293 = _el$302.nextSibling, _el$303 = _el$293.nextSibling, [_el$304, _co$74] = getNextMarker(_el$303.nextSibling), _el$294 = _el$304.nextSibling, _el$305 = _el$294.nextSibling, [_el$306, _co$75] = getNextMarker(_el$305.nextSibling), _el$297 = _el$306.nextSibling, _el$307 = _el$297.nextSibling, [_el$308, _co$76] = getNextMarker(_el$307.nextSibling);
1401
+ _el$308.nextSibling;
1402
+ insert(_el$291, () => r.field, _el$300, _co$72);
1403
+ insert(_el$291, () => r.resolver, _el$302, _co$73);
1404
+ insert(_el$291, () => r.input, _el$304, _co$74);
1405
+ insert(_el$291, () => r.output, _el$306, _co$75);
1406
+ insert(_el$291, () => r.ms, _el$308, _co$76);
1407
+ return _el$291;
1385
1408
  })()
1386
1409
  });
1387
1410
  }
1388
- }), _el$239, _co$55);
1389
- insert(_el$221, createComponent(Show, {
1411
+ }), _el$225, _co$50);
1412
+ insert(_el$207, createComponent(Show, {
1390
1413
  get when() {
1391
1414
  var _a;
1392
1415
  return (_a = serverDebug()) == null ? void 0 : _a.routing;
1393
1416
  },
1394
1417
  get children() {
1395
- var _el$223 = getNextElement(_tmpl$43), _el$224 = _el$223.firstChild, _el$228 = _el$224.nextSibling, [_el$229, _co$51] = getNextMarker(_el$228.nextSibling), _el$225 = _el$229.nextSibling, _el$230 = _el$225.nextSibling, [_el$231, _co$52] = getNextMarker(_el$230.nextSibling), _el$226 = _el$231.nextSibling, _el$232 = _el$226.nextSibling, [_el$233, _co$53] = getNextMarker(_el$232.nextSibling);
1396
- _el$233.nextSibling;
1397
- insert(_el$223, () => serverDebug().routing.topic, _el$229, _co$51);
1398
- insert(_el$223, () => serverDebug().routing.method, _el$231, _co$52);
1399
- insert(_el$223, () => serverDebug().routing.ms, _el$233, _co$53);
1400
- return _el$223;
1418
+ var _el$209 = getNextElement(_tmpl$43), _el$210 = _el$209.firstChild, _el$214 = _el$210.nextSibling, [_el$215, _co$46] = getNextMarker(_el$214.nextSibling), _el$211 = _el$215.nextSibling, _el$216 = _el$211.nextSibling, [_el$217, _co$47] = getNextMarker(_el$216.nextSibling), _el$212 = _el$217.nextSibling, _el$218 = _el$212.nextSibling, [_el$219, _co$48] = getNextMarker(_el$218.nextSibling);
1419
+ _el$219.nextSibling;
1420
+ insert(_el$209, () => serverDebug().routing.topic, _el$215, _co$46);
1421
+ insert(_el$209, () => serverDebug().routing.method, _el$217, _co$47);
1422
+ insert(_el$209, () => serverDebug().routing.ms, _el$219, _co$48);
1423
+ return _el$209;
1401
1424
  }
1402
- }), _el$241, _co$56);
1403
- insert(_el$221, createComponent(Show, {
1425
+ }), _el$227, _co$51);
1426
+ insert(_el$207, createComponent(Show, {
1404
1427
  get when() {
1405
1428
  var _a;
1406
1429
  return (_a = serverDebug()) == null ? void 0 : _a.missingFields;
1407
1430
  },
1408
1431
  get children() {
1409
- var _el$234 = getNextElement(_tmpl$44), _el$235 = _el$234.firstChild, _el$236 = _el$235.nextSibling, [_el$237, _co$54] = getNextMarker(_el$236.nextSibling);
1410
- insert(_el$234, () => serverDebug().missingFields.join(", "), _el$237, _co$54);
1411
- return _el$234;
1432
+ var _el$220 = getNextElement(_tmpl$44), _el$221 = _el$220.firstChild, _el$222 = _el$221.nextSibling, [_el$223, _co$49] = getNextMarker(_el$222.nextSibling);
1433
+ insert(_el$220, () => serverDebug().missingFields.join(", "), _el$223, _co$49);
1434
+ return _el$220;
1412
1435
  }
1413
- }), _el$243, _co$57);
1414
- return _el$221;
1436
+ }), _el$229, _co$52);
1437
+ return _el$207;
1415
1438
  }
1416
- }), _el$255, _co$61);
1417
- _el$245.$$click = () => setShowRaw(!showRaw());
1418
- insert(_el$245, () => showRaw() ? "Hide" : "Show", _el$248, _co$58);
1419
- insert(_el$244, createComponent(Show, {
1439
+ }), _el$238, _co$55);
1440
+ _el$231.$$click = () => setShowRaw(!showRaw());
1441
+ insert(_el$231, (() => {
1442
+ var _c$6 = memo(() => !!showRaw());
1443
+ return () => _c$6() ? strings.scratchpadHideRaw : strings.scratchpadShowRaw;
1444
+ })());
1445
+ insert(_el$230, createComponent(Show, {
1420
1446
  get when() {
1421
1447
  return showRaw();
1422
1448
  },
1423
1449
  get children() {
1424
- var _el$249 = getNextElement(_tmpl$46);
1425
- insert(_el$249, () => JSON.stringify(props.rawContent, null, 2));
1426
- return _el$249;
1450
+ var _el$232 = getNextElement(_tmpl$46);
1451
+ insert(_el$232, () => JSON.stringify(props.rawContent, null, 2));
1452
+ return _el$232;
1427
1453
  }
1428
- }), _el$251, _co$59);
1454
+ }), _el$234, _co$53);
1429
1455
  runHydrationEvents();
1430
- return _el$202;
1456
+ return _el$188;
1431
1457
  }
1432
- }), _el$257, _co$62);
1458
+ }), _el$240, _co$56);
1433
1459
  runHydrationEvents();
1434
- return _el$192;
1460
+ return _el$178;
1435
1461
  })();
1436
1462
  };
1437
1463
  const EnrichedStepsSection = (props) => {
1464
+ const strings = useMCPUIStrings();
1438
1465
  const stepsData = () => {
1439
1466
  const c = props.content;
1440
1467
  return {
@@ -1443,35 +1470,35 @@ const EnrichedStepsSection = (props) => {
1443
1470
  };
1444
1471
  };
1445
1472
  return (() => {
1446
- var _el$326 = getNextElement(_tmpl$60), _el$329 = _el$326.firstChild, [_el$330, _co$83] = getNextMarker(_el$329.nextSibling), _el$331 = _el$330.nextSibling, [_el$332, _co$84] = getNextMarker(_el$331.nextSibling);
1447
- insert(_el$326, createComponent(For, {
1473
+ var _el$309 = getNextElement(_tmpl$60), _el$315 = _el$309.firstChild, [_el$316, _co$78] = getNextMarker(_el$315.nextSibling), _el$317 = _el$316.nextSibling, [_el$318, _co$79] = getNextMarker(_el$317.nextSibling);
1474
+ insert(_el$309, createComponent(For, {
1448
1475
  get each() {
1449
1476
  return stepsData().steps;
1450
1477
  },
1451
1478
  children: (step) => (() => {
1452
- var _el$333 = getNextElement(_tmpl$63), _el$334 = _el$333.firstChild, _el$335 = _el$334.firstChild, _el$340 = _el$335.nextSibling, [_el$341, _co$86] = getNextMarker(_el$340.nextSibling), _el$342 = _el$341.nextSibling, [_el$343, _co$87] = getNextMarker(_el$342.nextSibling), _el$345 = _el$334.nextSibling, [_el$346, _co$88] = getNextMarker(_el$345.nextSibling);
1453
- insert(_el$335, (() => {
1454
- var _c$6 = memo(() => step.status === "done");
1455
- return () => _c$6() ? "โœ…" : step.status === "active" ? "โ—" : "โ—‹";
1479
+ var _el$319 = getNextElement(_tmpl$63), _el$320 = _el$319.firstChild, _el$321 = _el$320.firstChild, _el$326 = _el$321.nextSibling, [_el$327, _co$81] = getNextMarker(_el$326.nextSibling), _el$328 = _el$327.nextSibling, [_el$329, _co$82] = getNextMarker(_el$328.nextSibling), _el$331 = _el$320.nextSibling, [_el$332, _co$83] = getNextMarker(_el$331.nextSibling);
1480
+ insert(_el$321, (() => {
1481
+ var _c$7 = memo(() => step.status === "done");
1482
+ return () => _c$7() ? "โœ…" : step.status === "active" ? "โ—" : "โ—‹";
1456
1483
  })());
1457
- insert(_el$334, () => step.label, _el$341, _co$86);
1458
- insert(_el$334, createComponent(Show, {
1484
+ insert(_el$320, () => step.label, _el$327, _co$81);
1485
+ insert(_el$320, createComponent(Show, {
1459
1486
  get when() {
1460
1487
  return memo(() => !!step.description)() && step.status === "active";
1461
1488
  },
1462
1489
  get children() {
1463
- var _el$336 = getNextElement(_tmpl$61), _el$337 = _el$336.firstChild, _el$338 = _el$337.nextSibling, [_el$339, _co$85] = getNextMarker(_el$338.nextSibling);
1464
- insert(_el$336, () => step.description, _el$339, _co$85);
1465
- return _el$336;
1490
+ var _el$322 = getNextElement(_tmpl$61), _el$323 = _el$322.firstChild, _el$324 = _el$323.nextSibling, [_el$325, _co$80] = getNextMarker(_el$324.nextSibling);
1491
+ insert(_el$322, () => step.description, _el$325, _co$80);
1492
+ return _el$322;
1466
1493
  }
1467
- }), _el$343, _co$87);
1468
- insert(_el$333, createComponent(Show, {
1494
+ }), _el$329, _co$82);
1495
+ insert(_el$319, createComponent(Show, {
1469
1496
  get when() {
1470
1497
  return memo(() => step.status === "active")() && step.content;
1471
1498
  },
1472
1499
  get children() {
1473
- var _el$344 = getNextElement(_tmpl$62);
1474
- insert(_el$344, createComponent(SectionRenderer, {
1500
+ var _el$330 = getNextElement(_tmpl$62);
1501
+ insert(_el$330, createComponent(SectionRenderer, {
1475
1502
  get section() {
1476
1503
  return step.content;
1477
1504
  },
@@ -1483,41 +1510,44 @@ const EnrichedStepsSection = (props) => {
1483
1510
  return props.onAction;
1484
1511
  }
1485
1512
  }));
1486
- return _el$344;
1513
+ return _el$330;
1487
1514
  }
1488
- }), _el$346, _co$88);
1515
+ }), _el$332, _co$83);
1489
1516
  effect((_p$) => {
1490
1517
  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"}`;
1491
- _v$4 !== _p$.e && className(_el$333, _p$.e = _v$4);
1492
- _v$5 !== _p$.t && className(_el$334, _p$.t = _v$5);
1518
+ _v$4 !== _p$.e && className(_el$319, _p$.e = _v$4);
1519
+ _v$5 !== _p$.t && className(_el$320, _p$.t = _v$5);
1493
1520
  return _p$;
1494
1521
  }, {
1495
1522
  e: void 0,
1496
1523
  t: void 0
1497
1524
  });
1498
- return _el$333;
1525
+ return _el$319;
1499
1526
  })()
1500
- }), _el$330, _co$83);
1501
- insert(_el$326, createComponent(Show, {
1527
+ }), _el$316, _co$78);
1528
+ insert(_el$309, createComponent(Show, {
1502
1529
  get when() {
1503
1530
  return stepsData().steps.some((s) => s.status === "active");
1504
1531
  },
1505
1532
  get children() {
1506
- var _el$327 = getNextElement(_tmpl$59), _el$328 = _el$327.firstChild;
1507
- _el$328.$$click = () => {
1533
+ var _el$310 = getNextElement(_tmpl$59), _el$311 = _el$310.firstChild, _el$313 = _el$311.firstChild, [_el$314, _co$77] = getNextMarker(_el$313.nextSibling);
1534
+ _el$314.nextSibling;
1535
+ _el$311.$$click = () => {
1508
1536
  var _a;
1509
1537
  return (_a = props.onAction) == null ? void 0 : _a.call(props, "next_step", {
1510
1538
  step: stepsData().currentStep
1511
1539
  });
1512
1540
  };
1541
+ insert(_el$311, () => strings.scratchpadNextStep, _el$314, _co$77);
1513
1542
  runHydrationEvents();
1514
- return _el$327;
1543
+ return _el$310;
1515
1544
  }
1516
- }), _el$332, _co$84);
1517
- return _el$326;
1545
+ }), _el$318, _co$79);
1546
+ return _el$309;
1518
1547
  })();
1519
1548
  };
1520
1549
  const ActionSection = (props) => {
1550
+ const strings = useMCPUIStrings();
1521
1551
  const data = () => {
1522
1552
  const c = props.content;
1523
1553
  if (Array.isArray(c)) return {
@@ -1540,103 +1570,104 @@ const ActionSection = (props) => {
1540
1570
  };
1541
1571
  };
1542
1572
  return (() => {
1543
- var _el$347 = getNextElement(_tmpl$67), _el$362 = _el$347.firstChild, [_el$363, _co$92] = getNextMarker(_el$362.nextSibling), _el$364 = _el$363.nextSibling, [_el$365, _co$93] = getNextMarker(_el$364.nextSibling), _el$366 = _el$365.nextSibling, [_el$367, _co$94] = getNextMarker(_el$366.nextSibling), _el$361 = _el$367.nextSibling;
1544
- insert(_el$347, createComponent(Show, {
1573
+ var _el$333 = getNextElement(_tmpl$67), _el$341 = _el$333.firstChild, [_el$342, _co$85] = getNextMarker(_el$341.nextSibling), _el$343 = _el$342.nextSibling, [_el$344, _co$86] = getNextMarker(_el$343.nextSibling), _el$345 = _el$344.nextSibling, [_el$346, _co$87] = getNextMarker(_el$345.nextSibling), _el$340 = _el$346.nextSibling;
1574
+ insert(_el$333, createComponent(Show, {
1545
1575
  get when() {
1546
1576
  return data().title;
1547
1577
  },
1548
1578
  get children() {
1549
- var _el$348 = getNextElement(_tmpl$64);
1550
- insert(_el$348, () => data().title);
1551
- return _el$348;
1579
+ var _el$334 = getNextElement(_tmpl$64);
1580
+ insert(_el$334, () => data().title);
1581
+ return _el$334;
1552
1582
  }
1553
- }), _el$363, _co$92);
1554
- insert(_el$347, createComponent(Show, {
1583
+ }), _el$342, _co$85);
1584
+ insert(_el$333, createComponent(Show, {
1555
1585
  get when() {
1556
1586
  return data().preview;
1557
1587
  },
1558
1588
  children: (preview) => (() => {
1559
- var _el$368 = getNextElement(_tmpl$70), _el$374 = _el$368.firstChild, [_el$375, _co$96] = getNextMarker(_el$374.nextSibling), _el$376 = _el$375.nextSibling, [_el$377, _co$97] = getNextMarker(_el$376.nextSibling);
1560
- insert(_el$368, createComponent(Show, {
1589
+ var _el$347 = getNextElement(_tmpl$70), _el$353 = _el$347.firstChild, [_el$354, _co$89] = getNextMarker(_el$353.nextSibling), _el$355 = _el$354.nextSibling, [_el$356, _co$90] = getNextMarker(_el$355.nextSibling);
1590
+ insert(_el$347, createComponent(Show, {
1561
1591
  get when() {
1562
1592
  return preview().count != null;
1563
1593
  },
1564
1594
  get children() {
1565
1595
  return [(() => {
1566
- var _el$369 = getNextElement(_tmpl$68);
1567
- insert(_el$369, () => preview().count);
1568
- return _el$369;
1569
- })(), " items"];
1596
+ var _el$348 = getNextElement(_tmpl$68);
1597
+ insert(_el$348, () => preview().count);
1598
+ return _el$348;
1599
+ })(), " ", memo(() => strings.scratchpadItems)];
1570
1600
  }
1571
- }), _el$375, _co$96);
1572
- insert(_el$368, createComponent(Show, {
1601
+ }), _el$354, _co$89);
1602
+ insert(_el$347, createComponent(Show, {
1573
1603
  get when() {
1574
1604
  return preview().summary;
1575
1605
  },
1576
1606
  get children() {
1577
- var _el$370 = getNextElement(_tmpl$69), _el$371 = _el$370.firstChild, _el$372 = _el$371.nextSibling, [_el$373, _co$95] = getNextMarker(_el$372.nextSibling);
1578
- insert(_el$370, () => preview().summary, _el$373, _co$95);
1579
- return _el$370;
1607
+ var _el$349 = getNextElement(_tmpl$69), _el$350 = _el$349.firstChild, _el$351 = _el$350.nextSibling, [_el$352, _co$88] = getNextMarker(_el$351.nextSibling);
1608
+ insert(_el$349, () => preview().summary, _el$352, _co$88);
1609
+ return _el$349;
1580
1610
  }
1581
- }), _el$377, _co$97);
1582
- return _el$368;
1611
+ }), _el$356, _co$90);
1612
+ return _el$347;
1583
1613
  })()
1584
- }), _el$365, _co$93);
1585
- insert(_el$347, createComponent(Show, {
1614
+ }), _el$344, _co$86);
1615
+ insert(_el$333, createComponent(Show, {
1586
1616
  get when() {
1587
1617
  return memo(() => !!data().validation)() && data().validation.confidence != null;
1588
1618
  },
1589
1619
  get children() {
1590
- var _el$349 = getNextElement(_tmpl$66), _el$350 = _el$349.firstChild, _el$352 = _el$350.firstChild, [_el$353, _co$89] = getNextMarker(_el$352.nextSibling);
1591
- _el$353.nextSibling;
1592
- var _el$359 = _el$350.nextSibling, [_el$360, _co$91] = getNextMarker(_el$359.nextSibling);
1593
- insert(_el$350, () => Math.round(data().validation.confidence * 100), _el$353, _co$89);
1594
- insert(_el$349, createComponent(Show, {
1620
+ var _el$335 = getNextElement(_tmpl$66), _el$336 = _el$335.firstChild, _el$338 = _el$336.nextSibling, [_el$339, _co$84] = getNextMarker(_el$338.nextSibling);
1621
+ insert(_el$336, () => formatMCPUIString(strings.verifiedConfidence, {
1622
+ pct: Math.round(data().validation.confidence * 100)
1623
+ }));
1624
+ insert(_el$335, createComponent(Show, {
1595
1625
  get when() {
1596
1626
  var _a;
1597
1627
  return ((_a = data().validation.hallucinated) == null ? void 0 : _a.length) > 0;
1598
1628
  },
1599
1629
  get children() {
1600
- var _el$354 = getNextElement(_tmpl$65), _el$355 = _el$354.firstChild, _el$357 = _el$355.nextSibling, [_el$358, _co$90] = getNextMarker(_el$357.nextSibling);
1601
- _el$358.nextSibling;
1602
- insert(_el$354, () => data().validation.hallucinated.length, _el$358, _co$90);
1603
- return _el$354;
1630
+ var _el$337 = getNextElement(_tmpl$65);
1631
+ insert(_el$337, () => formatMCPUIString(strings.verifiedUnverifiedCount, {
1632
+ count: data().validation.hallucinated.length
1633
+ }));
1634
+ return _el$337;
1604
1635
  }
1605
- }), _el$360, _co$91);
1606
- effect((_$p) => classList(_el$350, {
1636
+ }), _el$339, _co$84);
1637
+ effect((_$p) => classList(_el$336, {
1607
1638
  "text-green-600 dark:text-green-400": data().validation.confidence >= 0.8,
1608
1639
  "text-amber-600 dark:text-amber-400": data().validation.confidence >= 0.5 && data().validation.confidence < 0.8,
1609
1640
  "text-red-600 dark:text-red-400": data().validation.confidence < 0.5
1610
1641
  }, _$p));
1611
- return _el$349;
1642
+ return _el$335;
1612
1643
  }
1613
- }), _el$367, _co$94);
1614
- insert(_el$361, createComponent(For, {
1644
+ }), _el$346, _co$87);
1645
+ insert(_el$340, createComponent(For, {
1615
1646
  get each() {
1616
1647
  return data().actions;
1617
1648
  },
1618
1649
  children: (item) => (() => {
1619
- var _el$378 = getNextElement(_tmpl$38), _el$380 = _el$378.firstChild, [_el$381, _co$98] = getNextMarker(_el$380.nextSibling), _el$382 = _el$381.nextSibling, [_el$383, _co$99] = getNextMarker(_el$382.nextSibling);
1620
- addEventListener(_el$378, "click", () => {
1650
+ var _el$357 = getNextElement(_tmpl$38), _el$359 = _el$357.firstChild, [_el$360, _co$91] = getNextMarker(_el$359.nextSibling), _el$361 = _el$360.nextSibling, [_el$362, _co$92] = getNextMarker(_el$361.nextSibling);
1651
+ addEventListener(_el$357, "click", () => {
1621
1652
  var _a;
1622
1653
  return (_a = props.onAction) == null ? void 0 : _a.call(props, item.value || item.action || item.label, item);
1623
1654
  });
1624
- insert(_el$378, createComponent(Show, {
1655
+ insert(_el$357, createComponent(Show, {
1625
1656
  get when() {
1626
1657
  return item.icon;
1627
1658
  },
1628
1659
  get children() {
1629
- var _el$379 = getNextElement(_tmpl$71);
1630
- insert(_el$379, () => item.icon);
1631
- return _el$379;
1660
+ var _el$358 = getNextElement(_tmpl$71);
1661
+ insert(_el$358, () => item.icon);
1662
+ return _el$358;
1632
1663
  }
1633
- }), _el$381, _co$98);
1634
- insert(_el$378, () => item.label, _el$383, _co$99);
1635
- effect(() => className(_el$378, `px-3 py-1.5 text-sm font-medium rounded-lg transition-colors ${item.variant === "primary" ? "bg-blue-600 text-white hover:bg-blue-700" : item.variant === "danger" ? "bg-red-600 text-white hover:bg-red-700" : item.variant === "secondary" ? "border border-blue-300 dark:border-blue-600 text-blue-700 dark:text-blue-300 hover:bg-blue-50 dark:hover:bg-blue-900/20" : "border border-gray-200 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"}`));
1636
- return _el$378;
1664
+ }), _el$360, _co$91);
1665
+ insert(_el$357, () => item.label, _el$362, _co$92);
1666
+ effect(() => className(_el$357, `px-3 py-1.5 text-sm font-medium rounded-lg transition-colors ${item.variant === "primary" ? "bg-blue-600 text-white hover:bg-blue-700" : item.variant === "danger" ? "bg-red-600 text-white hover:bg-red-700" : item.variant === "secondary" ? "border border-blue-300 dark:border-blue-600 text-blue-700 dark:text-blue-300 hover:bg-blue-50 dark:hover:bg-blue-900/20" : "border border-gray-200 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"}`));
1667
+ return _el$357;
1637
1668
  })()
1638
1669
  }));
1639
- return _el$347;
1670
+ return _el$333;
1640
1671
  })();
1641
1672
  };
1642
1673
  const UnderstandingSection = (props) => {
@@ -1660,63 +1691,65 @@ const UnderstandingSection = (props) => {
1660
1691
  }
1661
1692
  };
1662
1693
  return (() => {
1663
- var _el$384 = getNextElement(_tmpl$72), _el$385 = _el$384.firstChild, _el$387 = _el$385.nextSibling, [_el$388, _co$100] = getNextMarker(_el$387.nextSibling);
1664
- insert(_el$385, createComponent(For, {
1694
+ var _el$363 = getNextElement(_tmpl$72), _el$364 = _el$363.firstChild, _el$366 = _el$364.nextSibling, [_el$367, _co$93] = getNextMarker(_el$366.nextSibling);
1695
+ insert(_el$364, createComponent(For, {
1665
1696
  get each() {
1666
1697
  return data().detections;
1667
1698
  },
1668
1699
  children: (det) => (() => {
1669
- var _el$389 = getNextElement(_tmpl$73), _el$390 = _el$389.firstChild, _el$391 = _el$390.nextSibling;
1670
- insert(_el$390, () => det.label);
1671
- insert(_el$391, () => det.value);
1672
- effect(() => className(_el$390, `px-1.5 py-0.5 text-xs font-medium rounded ${confidenceClass(det.confidence)}`));
1673
- return _el$389;
1700
+ var _el$368 = getNextElement(_tmpl$73), _el$369 = _el$368.firstChild, _el$370 = _el$369.nextSibling;
1701
+ insert(_el$369, () => det.label);
1702
+ insert(_el$370, () => det.value);
1703
+ effect(() => className(_el$369, `px-1.5 py-0.5 text-xs font-medium rounded ${confidenceClass(det.confidence)}`));
1704
+ return _el$368;
1674
1705
  })()
1675
1706
  }));
1676
- insert(_el$384, createComponent(Show, {
1707
+ insert(_el$363, createComponent(Show, {
1677
1708
  get when() {
1678
1709
  return data().warnings.length > 0;
1679
1710
  },
1680
1711
  get children() {
1681
- var _el$386 = getNextElement(_tmpl$25);
1682
- insert(_el$386, createComponent(For, {
1712
+ var _el$365 = getNextElement(_tmpl$25);
1713
+ insert(_el$365, createComponent(For, {
1683
1714
  get each() {
1684
1715
  return data().warnings;
1685
1716
  },
1686
1717
  children: (w) => (() => {
1687
- var _el$392 = getNextElement(_tmpl$74), _el$393 = _el$392.firstChild, _el$394 = _el$393.nextSibling;
1688
- insert(_el$394, w);
1689
- return _el$392;
1718
+ var _el$371 = getNextElement(_tmpl$74), _el$372 = _el$371.firstChild, _el$373 = _el$372.nextSibling;
1719
+ insert(_el$373, w);
1720
+ return _el$371;
1690
1721
  })()
1691
1722
  }));
1692
- return _el$386;
1723
+ return _el$365;
1693
1724
  }
1694
- }), _el$388, _co$100);
1695
- return _el$384;
1725
+ }), _el$367, _co$93);
1726
+ return _el$363;
1696
1727
  })();
1697
1728
  };
1698
1729
  const FeedbackSection = (props) => {
1730
+ const strings = useMCPUIStrings();
1699
1731
  const [comment, setComment] = createSignal("");
1700
1732
  const [showComment, setShowComment] = createSignal(false);
1701
1733
  const [submitted, setSubmitted] = createSignal(null);
1734
+ const [submittedLabel, setSubmittedLabel] = createSignal("");
1702
1735
  const data = () => {
1703
1736
  var _a, _b, _c, _d;
1704
1737
  const c = props.content;
1705
1738
  const options = (c == null ? void 0 : c.options) || [{
1706
1739
  value: ((_a = c == null ? void 0 : c.approve) == null ? void 0 : _a.value) || "approve",
1707
- label: ((_b = c == null ? void 0 : c.approve) == null ? void 0 : _b.label) || "Yes",
1740
+ label: ((_b = c == null ? void 0 : c.approve) == null ? void 0 : _b.label) || strings.yes,
1708
1741
  icon: "๐Ÿ‘",
1709
1742
  variant: "primary"
1710
1743
  }, {
1711
1744
  value: ((_c = c == null ? void 0 : c.reject) == null ? void 0 : _c.value) || "reject",
1712
- label: ((_d = c == null ? void 0 : c.reject) == null ? void 0 : _d.label) || "No",
1745
+ label: ((_d = c == null ? void 0 : c.reject) == null ? void 0 : _d.label) || strings.no,
1713
1746
  icon: "๐Ÿ‘Ž"
1714
1747
  }];
1715
1748
  return {
1716
1749
  question: (c == null ? void 0 : c.question) || "",
1717
1750
  options,
1718
1751
  allowFreeText: (c == null ? void 0 : c.allowFreeText) ?? (c == null ? void 0 : c.allowComment) ?? false,
1719
- placeholder: (c == null ? void 0 : c.placeholder) || (c == null ? void 0 : c.commentPlaceholder) || "Add a comment...",
1752
+ placeholder: (c == null ? void 0 : c.placeholder) || (c == null ? void 0 : c.commentPlaceholder) || strings.scratchpadCommentPlaceholder,
1720
1753
  // v4.1.0: per-step feedback
1721
1754
  agentId: c == null ? void 0 : c.agentId,
1722
1755
  stepId: c == null ? void 0 : c.stepId
@@ -1729,6 +1762,7 @@ const FeedbackSection = (props) => {
1729
1762
  return;
1730
1763
  }
1731
1764
  setSubmitted(option.value);
1765
+ setSubmittedLabel(option.label ?? "");
1732
1766
  const payload = {
1733
1767
  option: option.value,
1734
1768
  comment: comment(),
@@ -1747,83 +1781,84 @@ const FeedbackSection = (props) => {
1747
1781
  (_a = props.onAction) == null ? void 0 : _a.call(props, "feedback", payload);
1748
1782
  };
1749
1783
  return (() => {
1750
- var _el$395 = getNextElement(_tmpl$79), _el$396 = _el$395.firstChild, _el$414 = _el$396.nextSibling, [_el$415, _co$105] = getNextMarker(_el$414.nextSibling), _el$416 = _el$415.nextSibling, [_el$417, _co$106] = getNextMarker(_el$416.nextSibling);
1751
- insert(_el$396, () => data().question);
1752
- insert(_el$395, createComponent(Show, {
1784
+ var _el$374 = getNextElement(_tmpl$79), _el$375 = _el$374.firstChild, _el$393 = _el$375.nextSibling, [_el$394, _co$98] = getNextMarker(_el$393.nextSibling), _el$395 = _el$394.nextSibling, [_el$396, _co$99] = getNextMarker(_el$395.nextSibling);
1785
+ insert(_el$375, () => data().question);
1786
+ insert(_el$374, createComponent(Show, {
1753
1787
  get when() {
1754
1788
  return submitted();
1755
1789
  },
1756
1790
  get children() {
1757
- var _el$397 = getNextElement(_tmpl$76), _el$398 = _el$397.firstChild, _el$400 = _el$398.firstChild, [_el$401, _co$101] = getNextMarker(_el$400.nextSibling), _el$399 = _el$401.nextSibling, _el$402 = _el$399.nextSibling, [_el$403, _co$102] = getNextMarker(_el$402.nextSibling), _el$408 = _el$398.nextSibling, [_el$409, _co$104] = getNextMarker(_el$408.nextSibling);
1758
- insert(_el$398, (() => {
1759
- var _c$7 = memo(() => submitted() === "approve");
1760
- return () => _c$7() ? "โœ…" : submitted() === "reject" ? "โŒ" : "๐Ÿ’ฌ";
1761
- })(), _el$401, _co$101);
1762
- insert(_el$398, submitted, _el$403, _co$102);
1763
- insert(_el$397, createComponent(Show, {
1791
+ var _el$376 = getNextElement(_tmpl$76), _el$377 = _el$376.firstChild, _el$379 = _el$377.firstChild, [_el$380, _co$94] = getNextMarker(_el$379.nextSibling), _el$378 = _el$380.nextSibling, _el$381 = _el$378.nextSibling, [_el$382, _co$95] = getNextMarker(_el$381.nextSibling), _el$387 = _el$377.nextSibling, [_el$388, _co$97] = getNextMarker(_el$387.nextSibling);
1792
+ insert(_el$377, (() => {
1793
+ var _c$8 = memo(() => submitted() === "approve");
1794
+ return () => _c$8() ? "โœ…" : submitted() === "reject" ? "โŒ" : "๐Ÿ’ฌ";
1795
+ })(), _el$380, _co$94);
1796
+ insert(_el$377, submittedLabel, _el$382, _co$95);
1797
+ insert(_el$376, createComponent(Show, {
1764
1798
  get when() {
1765
1799
  return comment();
1766
1800
  },
1767
1801
  get children() {
1768
- var _el$404 = getNextElement(_tmpl$75), _el$405 = _el$404.firstChild, _el$406 = _el$405.nextSibling, [_el$407, _co$103] = getNextMarker(_el$406.nextSibling);
1769
- insert(_el$404, comment, _el$407, _co$103);
1770
- return _el$404;
1802
+ var _el$383 = getNextElement(_tmpl$75), _el$384 = _el$383.firstChild, _el$385 = _el$384.nextSibling, [_el$386, _co$96] = getNextMarker(_el$385.nextSibling);
1803
+ insert(_el$383, comment, _el$386, _co$96);
1804
+ return _el$383;
1771
1805
  }
1772
- }), _el$409, _co$104);
1806
+ }), _el$388, _co$97);
1773
1807
  effect((_p$) => {
1774
1808
  var _v$6 = !!(submitted() === "approve"), _v$7 = !!(submitted() === "reject"), _v$8 = !!(submitted() !== "approve" && submitted() !== "reject");
1775
- _v$6 !== _p$.e && _el$398.classList.toggle("text-green-600", _p$.e = _v$6);
1776
- _v$7 !== _p$.t && _el$398.classList.toggle("text-red-600", _p$.t = _v$7);
1777
- _v$8 !== _p$.a && _el$398.classList.toggle("text-blue-600", _p$.a = _v$8);
1809
+ _v$6 !== _p$.e && _el$377.classList.toggle("text-green-600", _p$.e = _v$6);
1810
+ _v$7 !== _p$.t && _el$377.classList.toggle("text-red-600", _p$.t = _v$7);
1811
+ _v$8 !== _p$.a && _el$377.classList.toggle("text-blue-600", _p$.a = _v$8);
1778
1812
  return _p$;
1779
1813
  }, {
1780
1814
  e: void 0,
1781
1815
  t: void 0,
1782
1816
  a: void 0
1783
1817
  });
1784
- return _el$397;
1818
+ return _el$376;
1785
1819
  }
1786
- }), _el$415, _co$105);
1787
- insert(_el$395, createComponent(Show, {
1820
+ }), _el$394, _co$98);
1821
+ insert(_el$374, createComponent(Show, {
1788
1822
  get when() {
1789
1823
  return !submitted();
1790
1824
  },
1791
1825
  get children() {
1792
1826
  return [(() => {
1793
- var _el$410 = getNextElement(_tmpl$77);
1794
- insert(_el$410, createComponent(For, {
1827
+ var _el$389 = getNextElement(_tmpl$77);
1828
+ insert(_el$389, createComponent(For, {
1795
1829
  get each() {
1796
1830
  return data().options;
1797
1831
  },
1798
1832
  children: (option) => (() => {
1799
- var _el$418 = getNextElement(_tmpl$38), _el$420 = _el$418.firstChild, [_el$421, _co$107] = getNextMarker(_el$420.nextSibling), _el$422 = _el$421.nextSibling, [_el$423, _co$108] = getNextMarker(_el$422.nextSibling);
1800
- addEventListener(_el$418, "click", () => handleOption(option));
1801
- insert(_el$418, createComponent(Show, {
1833
+ var _el$397 = getNextElement(_tmpl$38), _el$399 = _el$397.firstChild, [_el$400, _co$100] = getNextMarker(_el$399.nextSibling), _el$401 = _el$400.nextSibling, [_el$402, _co$101] = getNextMarker(_el$401.nextSibling);
1834
+ addEventListener(_el$397, "click", () => handleOption(option));
1835
+ insert(_el$397, createComponent(Show, {
1802
1836
  get when() {
1803
1837
  return option.icon;
1804
1838
  },
1805
1839
  get children() {
1806
- var _el$419 = getNextElement(_tmpl$80);
1807
- insert(_el$419, () => option.icon);
1808
- return _el$419;
1840
+ var _el$398 = getNextElement(_tmpl$80);
1841
+ insert(_el$398, () => option.icon);
1842
+ return _el$398;
1809
1843
  }
1810
- }), _el$421, _co$107);
1811
- insert(_el$418, () => option.label, _el$423, _co$108);
1812
- effect(() => className(_el$418, `px-3 py-1.5 text-sm font-medium rounded-lg transition-colors flex items-center gap-1 ${option.variant === "primary" ? "bg-blue-600 text-white hover:bg-blue-700" : option.variant === "danger" ? "bg-red-600 text-white hover:bg-red-700" : "border border-gray-200 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"}`));
1813
- return _el$418;
1844
+ }), _el$400, _co$100);
1845
+ insert(_el$397, () => option.label, _el$402, _co$101);
1846
+ effect(() => className(_el$397, `px-3 py-1.5 text-sm font-medium rounded-lg transition-colors flex items-center gap-1 ${option.variant === "primary" ? "bg-blue-600 text-white hover:bg-blue-700" : option.variant === "danger" ? "bg-red-600 text-white hover:bg-red-700" : "border border-gray-200 dark:border-gray-600 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"}`));
1847
+ return _el$397;
1814
1848
  })()
1815
1849
  }));
1816
- return _el$410;
1850
+ return _el$389;
1817
1851
  })(), createComponent(Show, {
1818
1852
  get when() {
1819
1853
  return data().allowFreeText || showComment();
1820
1854
  },
1821
1855
  get children() {
1822
- var _el$411 = getNextElement(_tmpl$78), _el$412 = _el$411.firstChild, _el$413 = _el$412.nextSibling;
1823
- _el$412.$$input = (e) => setComment(e.currentTarget.value);
1824
- addEventListener(_el$413, "click", () => {
1856
+ var _el$390 = getNextElement(_tmpl$78), _el$391 = _el$390.firstChild, _el$392 = _el$391.nextSibling;
1857
+ _el$391.$$input = (e) => setComment(e.currentTarget.value);
1858
+ addEventListener(_el$392, "click", () => {
1825
1859
  var _a;
1826
1860
  setSubmitted("comment");
1861
+ setSubmittedLabel("");
1827
1862
  (_a = props.onAction) == null ? void 0 : _a.call(props, "feedback", {
1828
1863
  option: "comment",
1829
1864
  comment: comment(),
@@ -1831,26 +1866,28 @@ const FeedbackSection = (props) => {
1831
1866
  stepId: data().stepId
1832
1867
  });
1833
1868
  });
1869
+ insert(_el$392, () => strings.scratchpadSend);
1834
1870
  effect((_p$) => {
1835
1871
  var _v$9 = data().placeholder, _v$0 = showComment();
1836
- _v$9 !== _p$.e && setAttribute(_el$412, "placeholder", _p$.e = _v$9);
1837
- _v$0 !== _p$.t && setProperty(_el$412, "autofocus", _p$.t = _v$0);
1872
+ _v$9 !== _p$.e && setAttribute(_el$391, "placeholder", _p$.e = _v$9);
1873
+ _v$0 !== _p$.t && setProperty(_el$391, "autofocus", _p$.t = _v$0);
1838
1874
  return _p$;
1839
1875
  }, {
1840
1876
  e: void 0,
1841
1877
  t: void 0
1842
1878
  });
1843
- effect(() => setProperty(_el$412, "value", comment()));
1879
+ effect(() => setProperty(_el$391, "value", comment()));
1844
1880
  runHydrationEvents();
1845
- return _el$411;
1881
+ return _el$390;
1846
1882
  }
1847
1883
  })];
1848
1884
  }
1849
- }), _el$417, _co$106);
1850
- return _el$395;
1885
+ }), _el$396, _co$99);
1886
+ return _el$374;
1851
1887
  })();
1852
1888
  };
1853
1889
  const PromptSection = (props) => {
1890
+ const strings = useMCPUIStrings();
1854
1891
  const data = () => {
1855
1892
  const c = props.content;
1856
1893
  return {
@@ -1862,56 +1899,58 @@ const PromptSection = (props) => {
1862
1899
  };
1863
1900
  };
1864
1901
  return (() => {
1865
- var _el$424 = getNextElement(_tmpl$84), _el$437 = _el$424.firstChild, [_el$438, _co$111] = getNextMarker(_el$437.nextSibling), _el$430 = _el$438.nextSibling, _el$439 = _el$430.nextSibling, [_el$440, _co$112] = getNextMarker(_el$439.nextSibling), _el$441 = _el$440.nextSibling, [_el$442, _co$113] = getNextMarker(_el$441.nextSibling);
1866
- insert(_el$424, createComponent(Show, {
1902
+ var _el$403 = getNextElement(_tmpl$84), _el$419 = _el$403.firstChild, [_el$420, _co$105] = getNextMarker(_el$419.nextSibling), _el$409 = _el$420.nextSibling, _el$421 = _el$409.nextSibling, [_el$422, _co$106] = getNextMarker(_el$421.nextSibling), _el$423 = _el$422.nextSibling, [_el$424, _co$107] = getNextMarker(_el$423.nextSibling);
1903
+ insert(_el$403, createComponent(Show, {
1867
1904
  get when() {
1868
1905
  return data().originalQuery;
1869
1906
  },
1870
1907
  get children() {
1871
- var _el$425 = getNextElement(_tmpl$81), _el$426 = _el$425.firstChild, _el$428 = _el$426.nextSibling, [_el$429, _co$109] = getNextMarker(_el$428.nextSibling);
1872
- _el$429.nextSibling;
1873
- insert(_el$425, () => data().originalQuery, _el$429, _co$109);
1874
- return _el$425;
1908
+ var _el$404 = getNextElement(_tmpl$81), _el$405 = _el$404.firstChild, _el$407 = _el$405.nextSibling, [_el$408, _co$102] = getNextMarker(_el$407.nextSibling);
1909
+ _el$408.nextSibling;
1910
+ insert(_el$404, () => data().originalQuery, _el$408, _co$102);
1911
+ return _el$404;
1875
1912
  }
1876
- }), _el$438, _co$111);
1877
- insert(_el$430, createComponent(For, {
1913
+ }), _el$420, _co$105);
1914
+ insert(_el$409, createComponent(For, {
1878
1915
  get each() {
1879
1916
  return Object.entries(data().extracted);
1880
1917
  },
1881
1918
  children: ([key, value]) => (() => {
1882
- var _el$443 = getNextElement(_tmpl$85), _el$444 = _el$443.firstChild, _el$446 = _el$444.firstChild, [_el$447, _co$114] = getNextMarker(_el$446.nextSibling);
1883
- _el$447.nextSibling;
1884
- var _el$448 = _el$444.nextSibling;
1885
- insert(_el$444, key, _el$447, _co$114);
1886
- insert(_el$448, () => String(value));
1887
- return _el$443;
1919
+ var _el$425 = getNextElement(_tmpl$85), _el$426 = _el$425.firstChild, _el$428 = _el$426.firstChild, [_el$429, _co$108] = getNextMarker(_el$428.nextSibling);
1920
+ _el$429.nextSibling;
1921
+ var _el$430 = _el$426.nextSibling;
1922
+ insert(_el$426, key, _el$429, _co$108);
1923
+ insert(_el$430, () => String(value));
1924
+ return _el$425;
1888
1925
  })()
1889
1926
  }));
1890
- insert(_el$424, createComponent(Show, {
1927
+ insert(_el$403, createComponent(Show, {
1891
1928
  get when() {
1892
1929
  return data().plan;
1893
1930
  },
1894
1931
  get children() {
1895
- var _el$431 = getNextElement(_tmpl$82), _el$432 = _el$431.firstChild, _el$433 = _el$432.nextSibling, _el$434 = _el$433.nextSibling, [_el$435, _co$110] = getNextMarker(_el$434.nextSibling);
1896
- insert(_el$431, () => data().plan, _el$435, _co$110);
1897
- return _el$431;
1932
+ var _el$410 = getNextElement(_tmpl$82), _el$411 = _el$410.firstChild, _el$412 = _el$411.nextSibling, _el$413 = _el$412.nextSibling, [_el$414, _co$103] = getNextMarker(_el$413.nextSibling);
1933
+ insert(_el$411, () => strings.scratchpadPlan);
1934
+ insert(_el$410, () => data().plan, _el$414, _co$103);
1935
+ return _el$410;
1898
1936
  }
1899
- }), _el$440, _co$112);
1900
- insert(_el$424, createComponent(Show, {
1937
+ }), _el$422, _co$106);
1938
+ insert(_el$403, createComponent(Show, {
1901
1939
  get when() {
1902
1940
  return data().editable;
1903
1941
  },
1904
1942
  get children() {
1905
- var _el$436 = getNextElement(_tmpl$83);
1906
- _el$436.$$click = () => {
1943
+ var _el$415 = getNextElement(_tmpl$83), _el$416 = _el$415.firstChild, _el$417 = _el$416.nextSibling, [_el$418, _co$104] = getNextMarker(_el$417.nextSibling);
1944
+ _el$415.$$click = () => {
1907
1945
  var _a;
1908
1946
  return (_a = props.onAction) == null ? void 0 : _a.call(props, "edit_prompt", data());
1909
1947
  };
1948
+ insert(_el$415, () => strings.scratchpadModify, _el$418, _co$104);
1910
1949
  runHydrationEvents();
1911
- return _el$436;
1950
+ return _el$415;
1912
1951
  }
1913
- }), _el$442, _co$113);
1914
- return _el$424;
1952
+ }), _el$424, _co$107);
1953
+ return _el$403;
1915
1954
  })();
1916
1955
  };
1917
1956
  const StepperProgressSection = (props) => {
@@ -1941,46 +1980,46 @@ const StepperProgressSection = (props) => {
1941
1980
  },
1942
1981
  get fallback() {
1943
1982
  return (() => {
1944
- var _el$450 = getNextElement(_tmpl$87);
1945
- insert(_el$450, createComponent(For, {
1983
+ var _el$432 = getNextElement(_tmpl$87);
1984
+ insert(_el$432, createComponent(For, {
1946
1985
  get each() {
1947
1986
  return data().steps;
1948
1987
  },
1949
1988
  children: (step) => (() => {
1950
- var _el$451 = getNextElement(_tmpl$90), _el$452 = _el$451.firstChild, _el$453 = _el$452.nextSibling, _el$454 = _el$453.firstChild, _el$464 = _el$454.nextSibling, [_el$465, _co$117] = getNextMarker(_el$464.nextSibling), _el$466 = _el$465.nextSibling, [_el$467, _co$118] = getNextMarker(_el$466.nextSibling);
1951
- insert(_el$452, () => statusIcon(step.status));
1952
- insert(_el$454, () => step.label);
1953
- insert(_el$453, createComponent(Show, {
1989
+ var _el$433 = getNextElement(_tmpl$90), _el$434 = _el$433.firstChild, _el$435 = _el$434.nextSibling, _el$436 = _el$435.firstChild, _el$446 = _el$436.nextSibling, [_el$447, _co$111] = getNextMarker(_el$446.nextSibling), _el$448 = _el$447.nextSibling, [_el$449, _co$112] = getNextMarker(_el$448.nextSibling);
1990
+ insert(_el$434, () => statusIcon(step.status));
1991
+ insert(_el$436, () => step.label);
1992
+ insert(_el$435, createComponent(Show, {
1954
1993
  get when() {
1955
1994
  return step.summary;
1956
1995
  },
1957
1996
  get children() {
1958
- var _el$455 = getNextElement(_tmpl$88), _el$456 = _el$455.firstChild, _el$457 = _el$456.nextSibling, [_el$458, _co$115] = getNextMarker(_el$457.nextSibling);
1959
- insert(_el$455, () => step.summary, _el$458, _co$115);
1960
- return _el$455;
1997
+ var _el$437 = getNextElement(_tmpl$88), _el$438 = _el$437.firstChild, _el$439 = _el$438.nextSibling, [_el$440, _co$109] = getNextMarker(_el$439.nextSibling);
1998
+ insert(_el$437, () => step.summary, _el$440, _co$109);
1999
+ return _el$437;
1961
2000
  }
1962
- }), _el$465, _co$117);
1963
- insert(_el$453, createComponent(Show, {
2001
+ }), _el$447, _co$111);
2002
+ insert(_el$435, createComponent(Show, {
1964
2003
  get when() {
1965
2004
  return step.duration_ms;
1966
2005
  },
1967
2006
  get children() {
1968
- var _el$459 = getNextElement(_tmpl$89), _el$460 = _el$459.firstChild, _el$462 = _el$460.nextSibling, [_el$463, _co$116] = getNextMarker(_el$462.nextSibling);
1969
- _el$463.nextSibling;
1970
- insert(_el$459, () => step.duration_ms, _el$463, _co$116);
1971
- return _el$459;
2007
+ var _el$441 = getNextElement(_tmpl$89), _el$442 = _el$441.firstChild, _el$444 = _el$442.nextSibling, [_el$445, _co$110] = getNextMarker(_el$444.nextSibling);
2008
+ _el$445.nextSibling;
2009
+ insert(_el$441, () => step.duration_ms, _el$445, _co$110);
2010
+ return _el$441;
1972
2011
  }
1973
- }), _el$467, _co$118);
1974
- effect(() => className(_el$451, `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"}`));
1975
- return _el$451;
2012
+ }), _el$449, _co$112);
2013
+ effect(() => className(_el$433, `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"}`));
2014
+ return _el$433;
1976
2015
  })()
1977
2016
  }));
1978
- return _el$450;
2017
+ return _el$432;
1979
2018
  })();
1980
2019
  },
1981
2020
  get children() {
1982
- var _el$449 = getNextElement(_tmpl$86);
1983
- insert(_el$449, createComponent(For, {
2021
+ var _el$431 = getNextElement(_tmpl$86);
2022
+ insert(_el$431, createComponent(For, {
1984
2023
  get each() {
1985
2024
  return data().steps;
1986
2025
  },
@@ -1992,36 +2031,37 @@ const StepperProgressSection = (props) => {
1992
2031
  return getNextElement(_tmpl$13);
1993
2032
  }
1994
2033
  }), (() => {
1995
- var _el$469 = getNextElement(_tmpl$92), _el$470 = _el$469.firstChild, _el$471 = _el$470.nextSibling, _el$473 = _el$471.nextSibling, [_el$474, _co$119] = getNextMarker(_el$473.nextSibling);
1996
- insert(_el$470, () => statusIcon(step.status));
1997
- insert(_el$471, () => step.label);
1998
- insert(_el$469, createComponent(Show, {
2034
+ var _el$451 = getNextElement(_tmpl$92), _el$452 = _el$451.firstChild, _el$453 = _el$452.nextSibling, _el$455 = _el$453.nextSibling, [_el$456, _co$113] = getNextMarker(_el$455.nextSibling);
2035
+ insert(_el$452, () => statusIcon(step.status));
2036
+ insert(_el$453, () => step.label);
2037
+ insert(_el$451, createComponent(Show, {
1999
2038
  get when() {
2000
2039
  return step.summary;
2001
2040
  },
2002
2041
  get children() {
2003
- var _el$472 = getNextElement(_tmpl$91);
2004
- insert(_el$472, () => step.summary);
2005
- return _el$472;
2042
+ var _el$454 = getNextElement(_tmpl$91);
2043
+ insert(_el$454, () => step.summary);
2044
+ return _el$454;
2006
2045
  }
2007
- }), _el$474, _co$119);
2008
- effect(() => className(_el$469, `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"}`));
2009
- return _el$469;
2046
+ }), _el$456, _co$113);
2047
+ effect(() => className(_el$451, `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"}`));
2048
+ return _el$451;
2010
2049
  })()]
2011
2050
  }));
2012
- return _el$449;
2051
+ return _el$431;
2013
2052
  }
2014
2053
  });
2015
2054
  };
2016
2055
  const ErrorSectionRenderer = (props) => {
2056
+ const strings = useMCPUIStrings();
2017
2057
  const [showDetails, setShowDetails] = createSignal(false);
2018
2058
  const data = () => {
2019
2059
  const c = props.content;
2020
2060
  const d = {
2021
- message: (c == null ? void 0 : c.message) || "Error",
2061
+ message: (c == null ? void 0 : c.message) || strings.scratchpadError,
2022
2062
  severity: (c == null ? void 0 : c.severity) || "error",
2023
2063
  retryAction: c == null ? void 0 : c.retryAction,
2024
- retryLabel: (c == null ? void 0 : c.retryLabel) || "Retry",
2064
+ retryLabel: (c == null ? void 0 : c.retryLabel) || strings.retry,
2025
2065
  details: c == null ? void 0 : c.details,
2026
2066
  timestamp: c == null ? void 0 : c.timestamp
2027
2067
  };
@@ -2030,55 +2070,57 @@ const ErrorSectionRenderer = (props) => {
2030
2070
  };
2031
2071
  const isWarning = () => data().severity === "warning";
2032
2072
  return (() => {
2033
- var _el$475 = getNextElement(_tmpl$96), _el$476 = _el$475.firstChild, _el$477 = _el$476.firstChild, _el$478 = _el$477.nextSibling, _el$479 = _el$478.firstChild, _el$480 = _el$479.nextSibling, _el$486 = _el$480.firstChild, [_el$487, _co$121] = getNextMarker(_el$486.nextSibling), _el$488 = _el$487.nextSibling, [_el$489, _co$122] = getNextMarker(_el$488.nextSibling), _el$491 = _el$480.nextSibling, [_el$492, _co$123] = getNextMarker(_el$491.nextSibling);
2034
- insert(_el$477, () => isWarning() ? "โš ๏ธ" : "โŒ");
2035
- insert(_el$479, () => data().message);
2036
- insert(_el$480, createComponent(Show, {
2073
+ var _el$457 = getNextElement(_tmpl$96), _el$458 = _el$457.firstChild, _el$459 = _el$458.firstChild, _el$460 = _el$459.nextSibling, _el$461 = _el$460.firstChild, _el$462 = _el$461.nextSibling, _el$471 = _el$462.firstChild, [_el$472, _co$116] = getNextMarker(_el$471.nextSibling), _el$473 = _el$472.nextSibling, [_el$474, _co$117] = getNextMarker(_el$473.nextSibling), _el$476 = _el$462.nextSibling, [_el$477, _co$118] = getNextMarker(_el$476.nextSibling);
2074
+ insert(_el$459, () => isWarning() ? "โš ๏ธ" : "โŒ");
2075
+ insert(_el$461, () => data().message);
2076
+ insert(_el$462, createComponent(Show, {
2037
2077
  get when() {
2038
2078
  return data().retryAction;
2039
2079
  },
2040
2080
  get children() {
2041
- var _el$481 = getNextElement(_tmpl$93), _el$482 = _el$481.firstChild, _el$483 = _el$482.nextSibling, [_el$484, _co$120] = getNextMarker(_el$483.nextSibling);
2042
- _el$481.$$click = () => {
2081
+ var _el$463 = getNextElement(_tmpl$93), _el$464 = _el$463.firstChild, _el$465 = _el$464.nextSibling, [_el$466, _co$114] = getNextMarker(_el$465.nextSibling);
2082
+ _el$463.$$click = () => {
2043
2083
  var _a;
2044
2084
  return (_a = props.onAction) == null ? void 0 : _a.call(props, data().retryAction);
2045
2085
  };
2046
- insert(_el$481, () => data().retryLabel, _el$484, _co$120);
2047
- effect(() => className(_el$481, `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`));
2086
+ insert(_el$463, () => data().retryLabel, _el$466, _co$114);
2087
+ effect(() => className(_el$463, `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`));
2048
2088
  runHydrationEvents();
2049
- return _el$481;
2089
+ return _el$463;
2050
2090
  }
2051
- }), _el$487, _co$121);
2052
- insert(_el$480, createComponent(Show, {
2091
+ }), _el$472, _co$116);
2092
+ insert(_el$462, createComponent(Show, {
2053
2093
  get when() {
2054
2094
  return data().details;
2055
2095
  },
2056
2096
  get children() {
2057
- var _el$485 = getNextElement(_tmpl$94);
2058
- _el$485.$$click = () => setShowDetails(!showDetails());
2097
+ var _el$467 = getNextElement(_tmpl$94), _el$468 = _el$467.firstChild, _el$469 = _el$468.nextSibling, [_el$470, _co$115] = getNextMarker(_el$469.nextSibling);
2098
+ _el$467.$$click = () => setShowDetails(!showDetails());
2099
+ insert(_el$467, () => strings.scratchpadDetails, _el$470, _co$115);
2059
2100
  runHydrationEvents();
2060
- return _el$485;
2101
+ return _el$467;
2061
2102
  }
2062
- }), _el$489, _co$122);
2063
- insert(_el$478, createComponent(Show, {
2103
+ }), _el$474, _co$117);
2104
+ insert(_el$460, createComponent(Show, {
2064
2105
  get when() {
2065
2106
  return memo(() => !!showDetails())() && data().details;
2066
2107
  },
2067
2108
  get children() {
2068
- var _el$490 = getNextElement(_tmpl$95);
2069
- insert(_el$490, () => data().details);
2070
- return _el$490;
2109
+ var _el$475 = getNextElement(_tmpl$95);
2110
+ insert(_el$475, () => data().details);
2111
+ return _el$475;
2071
2112
  }
2072
- }), _el$492, _co$123);
2073
- effect(() => className(_el$475, `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"}`));
2074
- return _el$475;
2113
+ }), _el$477, _co$118);
2114
+ effect(() => className(_el$457, `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"}`));
2115
+ return _el$457;
2075
2116
  })();
2076
2117
  };
2077
2118
  const SourceCardSection = (props) => {
2119
+ const strings = useMCPUIStrings();
2078
2120
  const data = () => {
2079
2121
  const c = props.content;
2080
2122
  return {
2081
- name: (c == null ? void 0 : c.name) || "Source",
2123
+ name: (c == null ? void 0 : c.name) || strings.scratchpadSource,
2082
2124
  status: (c == null ? void 0 : c.status) || "available",
2083
2125
  capabilities: (c == null ? void 0 : c.capabilities) || [],
2084
2126
  latency_ms: c == null ? void 0 : c.latency_ms,
@@ -2092,46 +2134,47 @@ const SourceCardSection = (props) => {
2092
2134
  error: "โŒ"
2093
2135
  })[data().status] || "๐Ÿ“ฆ";
2094
2136
  return (() => {
2095
- var _el$493 = getNextElement(_tmpl$99), _el$494 = _el$493.firstChild, _el$495 = _el$494.firstChild, _el$497 = _el$495.firstChild, [_el$498, _co$124] = getNextMarker(_el$497.nextSibling), _el$496 = _el$498.nextSibling, _el$499 = _el$496.nextSibling, [_el$500, _co$125] = getNextMarker(_el$499.nextSibling), _el$505 = _el$495.nextSibling, [_el$506, _co$127] = getNextMarker(_el$505.nextSibling), _el$507 = _el$494.nextSibling, _el$509 = _el$507.nextSibling, [_el$510, _co$128] = getNextMarker(_el$509.nextSibling);
2096
- insert(_el$495, statusIcon, _el$498, _co$124);
2097
- insert(_el$495, () => data().name, _el$500, _co$125);
2098
- insert(_el$494, createComponent(Show, {
2137
+ var _el$478 = getNextElement(_tmpl$99), _el$479 = _el$478.firstChild, _el$480 = _el$479.firstChild, _el$482 = _el$480.firstChild, [_el$483, _co$119] = getNextMarker(_el$482.nextSibling), _el$481 = _el$483.nextSibling, _el$484 = _el$481.nextSibling, [_el$485, _co$120] = getNextMarker(_el$484.nextSibling), _el$487 = _el$480.nextSibling, [_el$488, _co$121] = getNextMarker(_el$487.nextSibling), _el$489 = _el$479.nextSibling, _el$491 = _el$489.nextSibling, [_el$492, _co$122] = getNextMarker(_el$491.nextSibling);
2138
+ insert(_el$480, statusIcon, _el$483, _co$119);
2139
+ insert(_el$480, () => data().name, _el$485, _co$120);
2140
+ insert(_el$479, createComponent(Show, {
2099
2141
  get when() {
2100
2142
  return data().row_count !== void 0;
2101
2143
  },
2102
2144
  get children() {
2103
- var _el$501 = getNextElement(_tmpl$97), _el$503 = _el$501.firstChild, [_el$504, _co$126] = getNextMarker(_el$503.nextSibling);
2104
- _el$504.nextSibling;
2105
- insert(_el$501, () => {
2145
+ var _el$486 = getNextElement(_tmpl$97);
2146
+ insert(_el$486, () => {
2106
2147
  var _a;
2107
- return (_a = data().row_count) == null ? void 0 : _a.toLocaleString();
2108
- }, _el$504, _co$126);
2109
- return _el$501;
2148
+ return formatMCPUIString(strings.scratchpadResultCount, {
2149
+ count: ((_a = data().row_count) == null ? void 0 : _a.toLocaleString(strings.locale)) ?? ""
2150
+ });
2151
+ });
2152
+ return _el$486;
2110
2153
  }
2111
- }), _el$506, _co$127);
2112
- insert(_el$507, createComponent(For, {
2154
+ }), _el$488, _co$121);
2155
+ insert(_el$489, createComponent(For, {
2113
2156
  get each() {
2114
2157
  return data().capabilities;
2115
2158
  },
2116
2159
  children: (cap) => (() => {
2117
- var _el$511 = getNextElement(_tmpl$100), _el$513 = _el$511.firstChild, [_el$514, _co$129] = getNextMarker(_el$513.nextSibling), _el$512 = _el$514.nextSibling, _el$515 = _el$512.nextSibling, [_el$516, _co$130] = getNextMarker(_el$515.nextSibling);
2118
- insert(_el$511, () => cap.supported ? "โœ…" : "โŒ", _el$514, _co$129);
2119
- insert(_el$511, () => cap.label, _el$516, _co$130);
2120
- effect(() => className(_el$511, `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"}`));
2121
- return _el$511;
2160
+ var _el$493 = getNextElement(_tmpl$100), _el$495 = _el$493.firstChild, [_el$496, _co$123] = getNextMarker(_el$495.nextSibling), _el$494 = _el$496.nextSibling, _el$497 = _el$494.nextSibling, [_el$498, _co$124] = getNextMarker(_el$497.nextSibling);
2161
+ insert(_el$493, () => cap.supported ? "โœ…" : "โŒ", _el$496, _co$123);
2162
+ insert(_el$493, () => cap.label, _el$498, _co$124);
2163
+ effect(() => className(_el$493, `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"}`));
2164
+ return _el$493;
2122
2165
  })()
2123
2166
  }));
2124
- insert(_el$493, createComponent(Show, {
2167
+ insert(_el$478, createComponent(Show, {
2125
2168
  get when() {
2126
2169
  return data().freshness || data().latency_ms;
2127
2170
  },
2128
2171
  get children() {
2129
- var _el$508 = getNextElement(_tmpl$98);
2130
- insert(_el$508, () => [data().freshness, data().latency_ms ? `${data().latency_ms}ms` : ""].filter(Boolean).join(" ยท "));
2131
- return _el$508;
2172
+ var _el$490 = getNextElement(_tmpl$98);
2173
+ insert(_el$490, () => [data().freshness, data().latency_ms ? `${data().latency_ms}ms` : ""].filter(Boolean).join(" ยท "));
2174
+ return _el$490;
2132
2175
  }
2133
- }), _el$510, _co$128);
2134
- return _el$493;
2176
+ }), _el$492, _co$122);
2177
+ return _el$478;
2135
2178
  })();
2136
2179
  };
2137
2180
  const DiffSection = (props) => {
@@ -2155,10 +2198,10 @@ const DiffSection = (props) => {
2155
2198
  return [.../* @__PURE__ */ new Set([...Object.keys(l), ...Object.keys(r)])];
2156
2199
  };
2157
2200
  return (() => {
2158
- var _el$517 = getNextElement(_tmpl$101), _el$518 = _el$517.firstChild, _el$519 = _el$518.firstChild, _el$520 = _el$519.firstChild, _el$521 = _el$520.firstChild, _el$522 = _el$521.nextSibling, _el$523 = _el$522.nextSibling, _el$524 = _el$519.nextSibling;
2159
- insert(_el$522, () => data().left.label);
2160
- insert(_el$523, () => data().right.label);
2161
- insert(_el$524, createComponent(For, {
2201
+ var _el$499 = getNextElement(_tmpl$101), _el$500 = _el$499.firstChild, _el$501 = _el$500.firstChild, _el$502 = _el$501.firstChild, _el$503 = _el$502.firstChild, _el$504 = _el$503.nextSibling, _el$505 = _el$504.nextSibling, _el$506 = _el$501.nextSibling;
2202
+ insert(_el$504, () => data().left.label);
2203
+ insert(_el$505, () => data().right.label);
2204
+ insert(_el$506, createComponent(For, {
2162
2205
  get each() {
2163
2206
  return allKeys();
2164
2207
  },
@@ -2173,22 +2216,22 @@ const DiffSection = (props) => {
2173
2216
  };
2174
2217
  const isDiff = () => String(lVal()) !== String(rVal()) && data().highlight.includes(key);
2175
2218
  return (() => {
2176
- var _el$525 = getNextElement(_tmpl$102), _el$526 = _el$525.firstChild, _el$527 = _el$526.nextSibling, _el$528 = _el$527.nextSibling;
2177
- insert(_el$526, key);
2178
- insert(_el$527, (() => {
2179
- var _c$8 = memo(() => lVal() !== void 0);
2180
- return () => _c$8() ? String(lVal()) : "โ€”";
2219
+ var _el$507 = getNextElement(_tmpl$102), _el$508 = _el$507.firstChild, _el$509 = _el$508.nextSibling, _el$510 = _el$509.nextSibling;
2220
+ insert(_el$508, key);
2221
+ insert(_el$509, (() => {
2222
+ var _c$9 = memo(() => lVal() !== void 0);
2223
+ return () => _c$9() ? String(lVal()) : "โ€”";
2181
2224
  })());
2182
- insert(_el$528, (() => {
2183
- var _c$9 = memo(() => rVal() !== void 0);
2184
- return () => _c$9() ? String(rVal()) : "โ€”";
2225
+ insert(_el$510, (() => {
2226
+ var _c$0 = memo(() => rVal() !== void 0);
2227
+ return () => _c$0() ? String(rVal()) : "โ€”";
2185
2228
  })());
2186
- effect(() => className(_el$525, `border-t border-gray-100 dark:border-gray-700 ${isDiff() ? "bg-yellow-50 dark:bg-yellow-900/10" : ""}`));
2187
- return _el$525;
2229
+ effect(() => className(_el$507, `border-t border-gray-100 dark:border-gray-700 ${isDiff() ? "bg-yellow-50 dark:bg-yellow-900/10" : ""}`));
2230
+ return _el$507;
2188
2231
  })();
2189
2232
  }
2190
2233
  }));
2191
- return _el$517;
2234
+ return _el$499;
2192
2235
  })();
2193
2236
  };
2194
2237
  delegateEvents(["click", "input"]);