@polpo-ai/dashboard 0.15.11 → 0.15.13

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 (283) hide show
  1. package/README.md +43 -9
  2. package/dist/host.d.ts +16 -0
  3. package/dist/host.d.ts.map +1 -1
  4. package/dist/host.js +3 -0
  5. package/dist/host.js.map +1 -1
  6. package/dist/index.d.ts +35 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +27 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/self-host-api.d.ts +3 -0
  11. package/dist/self-host-api.d.ts.map +1 -0
  12. package/dist/self-host-api.js +55 -0
  13. package/dist/self-host-api.js.map +1 -0
  14. package/dist/v2/agents/agent-detail.d.ts +58 -0
  15. package/dist/v2/agents/agent-detail.d.ts.map +1 -0
  16. package/dist/v2/agents/agent-detail.js +412 -0
  17. package/dist/v2/agents/agent-detail.js.map +1 -0
  18. package/dist/v2/agents/agent-run-panel.d.ts +5 -0
  19. package/dist/v2/agents/agent-run-panel.d.ts.map +1 -0
  20. package/dist/v2/agents/agent-run-panel.js +149 -0
  21. package/dist/v2/agents/agent-run-panel.js.map +1 -0
  22. package/dist/v2/agents/loops-tab.d.ts +6 -0
  23. package/dist/v2/agents/loops-tab.d.ts.map +1 -0
  24. package/dist/v2/agents/loops-tab.js +160 -0
  25. package/dist/v2/agents/loops-tab.js.map +1 -0
  26. package/dist/v2/agents/model-select.d.ts +24 -0
  27. package/dist/v2/agents/model-select.d.ts.map +1 -0
  28. package/dist/v2/agents/model-select.js +157 -0
  29. package/dist/v2/agents/model-select.js.map +1 -0
  30. package/dist/v2/agents/prompt-preview-dialog.d.ts +15 -0
  31. package/dist/v2/agents/prompt-preview-dialog.d.ts.map +1 -0
  32. package/dist/v2/agents/prompt-preview-dialog.js +141 -0
  33. package/dist/v2/agents/prompt-preview-dialog.js.map +1 -0
  34. package/dist/v2/agents/self-host-create-agent-dialog.d.ts +6 -0
  35. package/dist/v2/agents/self-host-create-agent-dialog.d.ts.map +1 -0
  36. package/dist/v2/agents/self-host-create-agent-dialog.js +31 -0
  37. package/dist/v2/agents/self-host-create-agent-dialog.js.map +1 -0
  38. package/dist/v2/agents/self-host-detail.d.ts +4 -0
  39. package/dist/v2/agents/self-host-detail.d.ts.map +1 -0
  40. package/dist/v2/agents/self-host-detail.js +34 -0
  41. package/dist/v2/agents/self-host-detail.js.map +1 -0
  42. package/dist/v2/agents/self-host-run-chat.d.ts +10 -0
  43. package/dist/v2/agents/self-host-run-chat.d.ts.map +1 -0
  44. package/dist/v2/agents/self-host-run-chat.js +18 -0
  45. package/dist/v2/agents/self-host-run-chat.js.map +1 -0
  46. package/dist/v2/agents/skills-tab.d.ts +6 -0
  47. package/dist/v2/agents/skills-tab.d.ts.map +1 -0
  48. package/dist/v2/agents/skills-tab.js +112 -0
  49. package/dist/v2/agents/skills-tab.js.map +1 -0
  50. package/dist/v2/agents/tools-panel.d.ts +26 -0
  51. package/dist/v2/agents/tools-panel.d.ts.map +1 -0
  52. package/dist/v2/agents/tools-panel.js +123 -0
  53. package/dist/v2/agents/tools-panel.js.map +1 -0
  54. package/dist/v2/agents/tools-tab.d.ts +6 -0
  55. package/dist/v2/agents/tools-tab.d.ts.map +1 -0
  56. package/dist/v2/agents/tools-tab.js +117 -0
  57. package/dist/v2/agents/tools-tab.js.map +1 -0
  58. package/dist/v2/agents/vault-tab.d.ts +13 -0
  59. package/dist/v2/agents/vault-tab.d.ts.map +1 -0
  60. package/dist/v2/agents/vault-tab.js +93 -0
  61. package/dist/v2/agents/vault-tab.js.map +1 -0
  62. package/dist/v2/files/file-browser-primitives.d.ts +39 -0
  63. package/dist/v2/files/file-browser-primitives.d.ts.map +1 -0
  64. package/dist/v2/files/file-browser-primitives.js +75 -0
  65. package/dist/v2/files/file-browser-primitives.js.map +1 -0
  66. package/dist/v2/files/file-directory-browser.d.ts +10 -0
  67. package/dist/v2/files/file-directory-browser.d.ts.map +1 -0
  68. package/dist/v2/files/file-directory-browser.js +57 -0
  69. package/dist/v2/files/file-directory-browser.js.map +1 -0
  70. package/dist/v2/files/files-browser.d.ts +7 -0
  71. package/dist/v2/files/files-browser.d.ts.map +1 -0
  72. package/dist/v2/files/files-browser.js +390 -0
  73. package/dist/v2/files/files-browser.js.map +1 -0
  74. package/dist/v2/files/host.d.ts +45 -0
  75. package/dist/v2/files/host.d.ts.map +1 -0
  76. package/dist/v2/files/host.js +72 -0
  77. package/dist/v2/files/host.js.map +1 -0
  78. package/dist/v2/host.d.ts +42 -0
  79. package/dist/v2/host.d.ts.map +1 -0
  80. package/dist/v2/host.js +137 -0
  81. package/dist/v2/host.js.map +1 -0
  82. package/dist/v2/playground/chat-canvas.d.ts +9 -0
  83. package/dist/v2/playground/chat-canvas.d.ts.map +1 -0
  84. package/dist/v2/playground/chat-canvas.js +88 -0
  85. package/dist/v2/playground/chat-canvas.js.map +1 -0
  86. package/dist/v2/playground/host.d.ts +116 -0
  87. package/dist/v2/playground/host.d.ts.map +1 -0
  88. package/dist/v2/playground/host.js +12 -0
  89. package/dist/v2/playground/host.js.map +1 -0
  90. package/dist/v2/playground/self-host-chat.d.ts +11 -0
  91. package/dist/v2/playground/self-host-chat.d.ts.map +1 -0
  92. package/dist/v2/playground/self-host-chat.js +85 -0
  93. package/dist/v2/playground/self-host-chat.js.map +1 -0
  94. package/dist/v2/playground/self-host.d.ts +2 -0
  95. package/dist/v2/playground/self-host.d.ts.map +1 -0
  96. package/dist/v2/playground/self-host.js +87 -0
  97. package/dist/v2/playground/self-host.js.map +1 -0
  98. package/dist/v2/sessions/host.d.ts +167 -0
  99. package/dist/v2/sessions/host.d.ts.map +1 -0
  100. package/dist/v2/sessions/host.js +12 -0
  101. package/dist/v2/sessions/host.js.map +1 -0
  102. package/dist/v2/sessions/self-host.d.ts +7 -0
  103. package/dist/v2/sessions/self-host.d.ts.map +1 -0
  104. package/dist/v2/sessions/self-host.js +120 -0
  105. package/dist/v2/sessions/self-host.js.map +1 -0
  106. package/dist/v2/sessions/trace-columns.d.ts +4 -0
  107. package/dist/v2/sessions/trace-columns.d.ts.map +1 -0
  108. package/dist/v2/sessions/trace-columns.js +102 -0
  109. package/dist/v2/sessions/trace-columns.js.map +1 -0
  110. package/dist/v2/sessions/trace-detail-view.d.ts +7 -0
  111. package/dist/v2/sessions/trace-detail-view.d.ts.map +1 -0
  112. package/dist/v2/sessions/trace-detail-view.js +346 -0
  113. package/dist/v2/sessions/trace-detail-view.js.map +1 -0
  114. package/dist/v2/sessions/trace-detail.d.ts +133 -0
  115. package/dist/v2/sessions/trace-detail.d.ts.map +1 -0
  116. package/dist/v2/sessions/trace-detail.js +210 -0
  117. package/dist/v2/sessions/trace-detail.js.map +1 -0
  118. package/dist/v2/sessions/trace-normalize.d.ts +60 -0
  119. package/dist/v2/sessions/trace-normalize.d.ts.map +1 -0
  120. package/dist/v2/sessions/trace-normalize.js +87 -0
  121. package/dist/v2/sessions/trace-normalize.js.map +1 -0
  122. package/dist/v2/sessions/trace-table.d.ts +8 -0
  123. package/dist/v2/sessions/trace-table.d.ts.map +1 -0
  124. package/dist/v2/sessions/trace-table.js +27 -0
  125. package/dist/v2/sessions/trace-table.js.map +1 -0
  126. package/dist/v2/shell/coding-agents.d.ts +21 -0
  127. package/dist/v2/shell/coding-agents.d.ts.map +1 -0
  128. package/dist/v2/shell/coding-agents.js +41 -0
  129. package/dist/v2/shell/coding-agents.js.map +1 -0
  130. package/dist/v2/shell/dashboard-shell.d.ts +6 -0
  131. package/dist/v2/shell/dashboard-shell.d.ts.map +1 -0
  132. package/dist/v2/shell/dashboard-shell.js +132 -0
  133. package/dist/v2/shell/dashboard-shell.js.map +1 -0
  134. package/dist/v2/skills/self-host-create-skill-dialog.d.ts +6 -0
  135. package/dist/v2/skills/self-host-create-skill-dialog.d.ts.map +1 -0
  136. package/dist/v2/skills/self-host-create-skill-dialog.js +27 -0
  137. package/dist/v2/skills/self-host-create-skill-dialog.js.map +1 -0
  138. package/dist/v2/skills/self-host-detail.d.ts +4 -0
  139. package/dist/v2/skills/self-host-detail.d.ts.map +1 -0
  140. package/dist/v2/skills/self-host-detail.js +31 -0
  141. package/dist/v2/skills/self-host-detail.js.map +1 -0
  142. package/dist/v2/support/agent-call-snippets.d.ts +35 -0
  143. package/dist/v2/support/agent-call-snippets.d.ts.map +1 -0
  144. package/dist/v2/support/agent-call-snippets.js +113 -0
  145. package/dist/v2/support/agent-call-snippets.js.map +1 -0
  146. package/dist/v2/support/tool-catalog.d.ts +62 -0
  147. package/dist/v2/support/tool-catalog.d.ts.map +1 -0
  148. package/dist/v2/support/tool-catalog.js +271 -0
  149. package/dist/v2/support/tool-catalog.js.map +1 -0
  150. package/dist/v2/support/vault-fields.d.ts +29 -0
  151. package/dist/v2/support/vault-fields.d.ts.map +1 -0
  152. package/dist/v2/support/vault-fields.js +74 -0
  153. package/dist/v2/support/vault-fields.js.map +1 -0
  154. package/dist/v2/tools/param-fields.d.ts +19 -0
  155. package/dist/v2/tools/param-fields.d.ts.map +1 -0
  156. package/dist/v2/tools/param-fields.js +191 -0
  157. package/dist/v2/tools/param-fields.js.map +1 -0
  158. package/dist/v2/tools/self-host.d.ts +7 -0
  159. package/dist/v2/tools/self-host.d.ts.map +1 -0
  160. package/dist/v2/tools/self-host.js +26 -0
  161. package/dist/v2/tools/self-host.js.map +1 -0
  162. package/dist/v2/tools/source-parsing.d.ts +4 -0
  163. package/dist/v2/tools/source-parsing.d.ts.map +1 -0
  164. package/dist/v2/tools/source-parsing.js +15 -0
  165. package/dist/v2/tools/source-parsing.js.map +1 -0
  166. package/dist/v2/tools/tool-detail.d.ts +7 -0
  167. package/dist/v2/tools/tool-detail.d.ts.map +1 -0
  168. package/dist/v2/tools/tool-detail.js +157 -0
  169. package/dist/v2/tools/tool-detail.js.map +1 -0
  170. package/dist/v2/tools/tool-editor-dialog.d.ts +9 -0
  171. package/dist/v2/tools/tool-editor-dialog.d.ts.map +1 -0
  172. package/dist/v2/tools/tool-editor-dialog.js +306 -0
  173. package/dist/v2/tools/tool-editor-dialog.js.map +1 -0
  174. package/dist/v2/tools/tools-view.d.ts +21 -0
  175. package/dist/v2/tools/tools-view.d.ts.map +1 -0
  176. package/dist/v2/tools/tools-view.js +77 -0
  177. package/dist/v2/tools/tools-view.js.map +1 -0
  178. package/dist/v2/ui/bits.d.ts +23 -0
  179. package/dist/v2/ui/bits.d.ts.map +1 -0
  180. package/dist/v2/ui/bits.js +18 -0
  181. package/dist/v2/ui/bits.js.map +1 -0
  182. package/dist/v2/ui/button.d.ts +9 -0
  183. package/dist/v2/ui/button.d.ts.map +1 -0
  184. package/dist/v2/ui/button.js +33 -0
  185. package/dist/v2/ui/button.js.map +1 -0
  186. package/dist/v2/ui/code-block.d.ts +20 -0
  187. package/dist/v2/ui/code-block.d.ts.map +1 -0
  188. package/dist/v2/ui/code-block.js +44 -0
  189. package/dist/v2/ui/code-block.js.map +1 -0
  190. package/dist/v2/ui/code-editor.d.ts +9 -0
  191. package/dist/v2/ui/code-editor.d.ts.map +1 -0
  192. package/dist/v2/ui/code-editor.js +25 -0
  193. package/dist/v2/ui/code-editor.js.map +1 -0
  194. package/dist/v2/ui/copy-button.d.ts +9 -0
  195. package/dist/v2/ui/copy-button.d.ts.map +1 -0
  196. package/dist/v2/ui/copy-button.js +24 -0
  197. package/dist/v2/ui/copy-button.js.map +1 -0
  198. package/dist/v2/ui/data-table.d.ts +40 -0
  199. package/dist/v2/ui/data-table.d.ts.map +1 -0
  200. package/dist/v2/ui/data-table.js +85 -0
  201. package/dist/v2/ui/data-table.js.map +1 -0
  202. package/dist/v2/ui/dialog.d.ts +16 -0
  203. package/dist/v2/ui/dialog.d.ts.map +1 -0
  204. package/dist/v2/ui/dialog.js +39 -0
  205. package/dist/v2/ui/dialog.js.map +1 -0
  206. package/dist/v2/ui/input.d.ts +2 -0
  207. package/dist/v2/ui/input.d.ts.map +1 -0
  208. package/dist/v2/ui/input.js +7 -0
  209. package/dist/v2/ui/input.js.map +1 -0
  210. package/dist/v2/ui/multi-select-filter.d.ts +18 -0
  211. package/dist/v2/ui/multi-select-filter.d.ts.map +1 -0
  212. package/dist/v2/ui/multi-select-filter.js +37 -0
  213. package/dist/v2/ui/multi-select-filter.js.map +1 -0
  214. package/dist/v2/ui/page-header.d.ts +10 -0
  215. package/dist/v2/ui/page-header.d.ts.map +1 -0
  216. package/dist/v2/ui/page-header.js +8 -0
  217. package/dist/v2/ui/page-header.js.map +1 -0
  218. package/dist/v2/ui/refresh-button.d.ts +5 -0
  219. package/dist/v2/ui/refresh-button.d.ts.map +1 -0
  220. package/dist/v2/ui/refresh-button.js +7 -0
  221. package/dist/v2/ui/refresh-button.js.map +1 -0
  222. package/dist/v2/ui/select.d.ts +16 -0
  223. package/dist/v2/ui/select.d.ts.map +1 -0
  224. package/dist/v2/ui/select.js +36 -0
  225. package/dist/v2/ui/select.js.map +1 -0
  226. package/dist/v2/ui/skeleton.d.ts +3 -0
  227. package/dist/v2/ui/skeleton.d.ts.map +1 -0
  228. package/dist/v2/ui/skeleton.js +7 -0
  229. package/dist/v2/ui/skeleton.js.map +1 -0
  230. package/dist/v2/ui/textarea.d.ts +2 -0
  231. package/dist/v2/ui/textarea.d.ts.map +1 -0
  232. package/dist/v2/ui/textarea.js +6 -0
  233. package/dist/v2/ui/textarea.js.map +1 -0
  234. package/dist/v2/utils.d.ts +3 -0
  235. package/dist/v2/utils.d.ts.map +1 -0
  236. package/dist/v2/utils.js +6 -0
  237. package/dist/v2/utils.js.map +1 -0
  238. package/dist/v2/views/agents-detail.d.ts +2 -0
  239. package/dist/v2/views/agents-detail.d.ts.map +1 -0
  240. package/dist/v2/views/agents-detail.js +2 -0
  241. package/dist/v2/views/agents-detail.js.map +1 -0
  242. package/dist/v2/views/agents.d.ts +27 -0
  243. package/dist/v2/views/agents.d.ts.map +1 -0
  244. package/dist/v2/views/agents.js +161 -0
  245. package/dist/v2/views/agents.js.map +1 -0
  246. package/dist/v2/views/files.d.ts +2 -0
  247. package/dist/v2/views/files.d.ts.map +1 -0
  248. package/dist/v2/views/files.js +10 -0
  249. package/dist/v2/views/files.js.map +1 -0
  250. package/dist/v2/views/memory-host.d.ts +10 -0
  251. package/dist/v2/views/memory-host.d.ts.map +1 -0
  252. package/dist/v2/views/memory-host.js +17 -0
  253. package/dist/v2/views/memory-host.js.map +1 -0
  254. package/dist/v2/views/memory-project.d.ts +5 -0
  255. package/dist/v2/views/memory-project.d.ts.map +1 -0
  256. package/dist/v2/views/memory-project.js +36 -0
  257. package/dist/v2/views/memory-project.js.map +1 -0
  258. package/dist/v2/views/memory.d.ts +2 -0
  259. package/dist/v2/views/memory.d.ts.map +1 -0
  260. package/dist/v2/views/memory.js +14 -0
  261. package/dist/v2/views/memory.js.map +1 -0
  262. package/dist/v2/views/playground.d.ts +13 -0
  263. package/dist/v2/views/playground.d.ts.map +1 -0
  264. package/dist/v2/views/playground.js +88 -0
  265. package/dist/v2/views/playground.js.map +1 -0
  266. package/dist/v2/views/sessions-detail.d.ts +8 -0
  267. package/dist/v2/views/sessions-detail.d.ts.map +1 -0
  268. package/dist/v2/views/sessions-detail.js +107 -0
  269. package/dist/v2/views/sessions-detail.js.map +1 -0
  270. package/dist/v2/views/sessions.d.ts +9 -0
  271. package/dist/v2/views/sessions.d.ts.map +1 -0
  272. package/dist/v2/views/sessions.js +9 -0
  273. package/dist/v2/views/sessions.js.map +1 -0
  274. package/dist/v2/views/skills-detail.d.ts +26 -0
  275. package/dist/v2/views/skills-detail.d.ts.map +1 -0
  276. package/dist/v2/views/skills-detail.js +120 -0
  277. package/dist/v2/views/skills-detail.js.map +1 -0
  278. package/dist/v2/views/skills.d.ts +18 -0
  279. package/dist/v2/views/skills.d.ts.map +1 -0
  280. package/dist/v2/views/skills.js +46 -0
  281. package/dist/v2/views/skills.js.map +1 -0
  282. package/package.json +20 -4
  283. package/src/v2.css +212 -0
@@ -0,0 +1,39 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { Dialog as DialogPrimitive } from "@base-ui/react/dialog";
5
+ import { XIcon } from "lucide-react";
6
+ import { cn } from "../utils.js";
7
+ import { Button } from "./button.js";
8
+ function Dialog(props) {
9
+ return _jsx(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
10
+ }
11
+ function DialogTrigger(props) {
12
+ return _jsx(DialogPrimitive.Trigger, { "data-slot": "dialog-trigger", ...props });
13
+ }
14
+ function DialogPortal(props) {
15
+ return _jsx(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
16
+ }
17
+ function DialogClose(props) {
18
+ return _jsx(DialogPrimitive.Close, { "data-slot": "dialog-close", ...props });
19
+ }
20
+ function DialogOverlay({ className, ...props }) {
21
+ return (_jsx(DialogPrimitive.Backdrop, { "data-slot": "dialog-overlay", className: cn("fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className), ...props }));
22
+ }
23
+ function DialogContent({ className, children, showCloseButton = true, ...props }) {
24
+ return (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Popup, { "data-slot": "dialog-content", className: cn("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-background p-4 text-sm ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props, children: [children, showCloseButton && (_jsxs(DialogPrimitive.Close, { "data-slot": "dialog-close", render: _jsx(Button, { variant: "ghost", className: "absolute top-2 right-2", size: "icon-sm" }), children: [_jsx(XIcon, {}), _jsx("span", { className: "sr-only", children: "Close" })] }))] })] }));
25
+ }
26
+ function DialogHeader({ className, ...props }) {
27
+ return _jsx("div", { "data-slot": "dialog-header", className: cn("flex flex-col gap-2", className), ...props });
28
+ }
29
+ function DialogFooter({ className, ...props }) {
30
+ return _jsx("div", { "data-slot": "dialog-footer", className: cn("-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end", className), ...props });
31
+ }
32
+ function DialogTitle({ className, ...props }) {
33
+ return _jsx(DialogPrimitive.Title, { "data-slot": "dialog-title", className: cn("text-base leading-none font-medium", className), ...props });
34
+ }
35
+ function DialogDescription({ className, ...props }) {
36
+ return _jsx(DialogPrimitive.Description, { "data-slot": "dialog-description", className: cn("text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className), ...props });
37
+ }
38
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
39
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../../src/v2/ui/dialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function Input({ className, type, ...props }: React.ComponentProps<"input">): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/v2/ui/input.tsx"],"names":[],"mappings":"AAGA,wBAAgB,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,2CAEjF"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Input as InputPrimitive } from "@base-ui/react/input";
3
+ import { cn } from "../utils.js";
4
+ export function Input({ className, type, ...props }) {
5
+ return _jsx(InputPrimitive, { type: type, "data-slot": "input", className: cn("h-8 w-full min-w-0 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", className), ...props });
6
+ }
7
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/v2/ui/input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,MAAM,UAAU,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,EAAiC;IAChF,OAAO,KAAC,cAAc,IAAC,IAAI,EAAE,IAAI,eAAY,OAAO,EAAC,SAAS,EAAE,EAAE,CAAC,6oBAA6oB,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAAC;AAC9uB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { type ReactNode } from "react";
2
+ /**
3
+ * Dropdown multi-select filter chip — the canonical v2 list filter (Usage,
4
+ * Sessions, …). A trigger button shows the current selection; the popover is a
5
+ * checkbox list with a Clear action. Empty selection = "all".
6
+ */
7
+ export declare function MultiSelectFilter<T extends string>({ allLabel, icon, options, selected, onToggle, onClear, }: {
8
+ allLabel: string;
9
+ icon?: ReactNode;
10
+ options: Array<{
11
+ value: T;
12
+ label: string;
13
+ }>;
14
+ selected: T[];
15
+ onToggle: (value: T) => void;
16
+ onClear: () => void;
17
+ }): import("react/jsx-runtime").JSX.Element;
18
+ //# sourceMappingURL=multi-select-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-select-filter.d.ts","sourceRoot":"","sources":["../../../src/v2/ui/multi-select-filter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGpE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,EAClD,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5C,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,2CA6EA"}
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useEffect, useRef, useState } from "react";
4
+ import { CaretDown, Check } from "@phosphor-icons/react/dist/ssr";
5
+ /**
6
+ * Dropdown multi-select filter chip — the canonical v2 list filter (Usage,
7
+ * Sessions, …). A trigger button shows the current selection; the popover is a
8
+ * checkbox list with a Clear action. Empty selection = "all".
9
+ */
10
+ export function MultiSelectFilter({ allLabel, icon, options, selected, onToggle, onClear, }) {
11
+ const [open, setOpen] = useState(false);
12
+ const rootRef = useRef(null);
13
+ useEffect(() => {
14
+ if (!open)
15
+ return;
16
+ const onDoc = (event) => {
17
+ if (rootRef.current && !rootRef.current.contains(event.target)) {
18
+ setOpen(false);
19
+ }
20
+ };
21
+ document.addEventListener("mousedown", onDoc);
22
+ return () => document.removeEventListener("mousedown", onDoc);
23
+ }, [open]);
24
+ const label = selected.length === 0
25
+ ? allLabel
26
+ : selected.length === 1
27
+ ? options.find((option) => option.value === selected[0])?.label ??
28
+ selected[0]
29
+ : `${selected.length} selected`;
30
+ return (_jsxs("div", { ref: rootRef, className: "relative", children: [_jsxs("button", { type: "button", onClick: () => setOpen((value) => !value), "aria-expanded": open, className: "flex h-8 items-center gap-1.5 rounded-md border border-border bg-card px-2.5 text-[13px] text-foreground transition-colors hover:border-ring/40", children: [icon, _jsx("span", { className: "max-w-[140px] truncate", children: label }), _jsx(CaretDown, { size: 12, className: "text-muted-foreground" })] }), open && (_jsxs("div", { className: "absolute right-0 z-30 mt-1 w-52 rounded-md border border-border bg-popover p-1 shadow-lg", children: [_jsx("div", { className: "max-h-64 overflow-auto", children: options.map((option) => {
31
+ const on = selected.includes(option.value);
32
+ return (_jsxs("button", { type: "button", onClick: () => onToggle(option.value), className: "flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-[13px] text-foreground transition-colors hover:bg-secondary/60", children: [_jsx("span", { className: `grid h-4 w-4 shrink-0 place-items-center rounded border ${on
33
+ ? "border-brand bg-brand text-brand-foreground"
34
+ : "border-border"}`, children: on && _jsx(Check, { size: 11, weight: "bold" }) }), _jsx("span", { className: "truncate", children: option.label })] }, option.value));
35
+ }) }), selected.length > 0 && (_jsxs(_Fragment, { children: [_jsx("div", { className: "my-1 h-px bg-border" }), _jsx("button", { type: "button", onClick: onClear, className: "w-full rounded px-2 py-1.5 text-left text-[12px] text-muted-foreground transition-colors hover:bg-secondary/60 hover:text-foreground", children: "Clear" })] }))] }))] }));
36
+ }
37
+ //# sourceMappingURL=multi-select-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-select-filter.js","sourceRoot":"","sources":["../../../src/v2/ui/multi-select-filter.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from "react";
2
+ export declare function PageHeader({ title, description, actions, }: {
3
+ title: ReactNode;
4
+ description?: ReactNode;
5
+ actions?: ReactNode;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ export declare function PageBody({ children }: {
8
+ children: ReactNode;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=page-header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-header.d.ts","sourceRoot":"","sources":["../../../src/v2/ui/page-header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,OAAO,GACR,EAAE;IACD,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,2CAcA;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAI7D"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function PageHeader({ title, description, actions, }) {
3
+ return (_jsxs("div", { className: "flex items-start justify-between gap-4", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("h1", { className: "text-[18px] font-semibold tracking-tight text-foreground", children: title }), description && (_jsx("p", { className: "mt-1 text-[13px] text-muted-foreground", children: description }))] }), actions && _jsx("div", { className: "flex shrink-0 items-center gap-2", children: actions })] }));
4
+ }
5
+ export function PageBody({ children }) {
6
+ return (_jsx("div", { className: "mx-auto w-full max-w-[1440px] px-6 py-7 md:px-8", children: children }));
7
+ }
8
+ //# sourceMappingURL=page-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-header.js","sourceRoot":"","sources":["../../../src/v2/ui/page-header.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,OAAO,GAKR;IACC,OAAO,CACL,eAAK,SAAS,EAAC,wCAAwC,aACrD,eAAK,SAAS,EAAC,SAAS,aACtB,aAAI,SAAS,EAAC,0DAA0D,YACrE,KAAK,GACH,EACJ,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,wCAAwC,YAAE,WAAW,GAAK,CACxE,IACG,EACL,OAAO,IAAI,cAAK,SAAS,EAAC,kCAAkC,YAAE,OAAO,GAAO,IACzE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAE,QAAQ,EAA2B;IAC5D,OAAO,CACL,cAAK,SAAS,EAAC,iDAAiD,YAAE,QAAQ,GAAO,CAClF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function RefreshButton({ onClick, busy }: {
2
+ onClick: () => void;
3
+ busy?: boolean;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=refresh-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh-button.d.ts","sourceRoot":"","sources":["../../../src/v2/ui/refresh-button.tsx"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,2CAYvF"}
@@ -0,0 +1,7 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ArrowClockwise } from "@phosphor-icons/react/dist/ssr";
4
+ export function RefreshButton({ onClick, busy }) {
5
+ return (_jsxs("button", { type: "button", onClick: onClick, disabled: busy, className: "flex items-center gap-1.5 text-[13px] text-muted-foreground transition-colors hover:text-foreground disabled:opacity-50", children: [_jsx(ArrowClockwise, { size: 14, className: busy ? "animate-spin" : "" }), "Refresh"] }));
6
+ }
7
+ //# sourceMappingURL=refresh-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh-button.js","sourceRoot":"","sources":["../../../src/v2/ui/refresh-button.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAA2C;IACtF,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,EACd,SAAS,EAAC,yHAAyH,aAEnI,KAAC,cAAc,IAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAI,eAE5D,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ import { Select as SelectPrimitive } from "@base-ui/react/select";
3
+ declare const Select: typeof SelectPrimitive.Root;
4
+ declare function SelectGroup({ className, ...props }: SelectPrimitive.Group.Props): import("react/jsx-runtime").JSX.Element;
5
+ declare function SelectValue({ className, ...props }: SelectPrimitive.Value.Props): import("react/jsx-runtime").JSX.Element;
6
+ declare function SelectTrigger({ className, size, children, ...props }: SelectPrimitive.Trigger.Props & {
7
+ size?: "sm" | "default";
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ declare function SelectContent({ className, children, side, sideOffset, align, alignOffset, alignItemWithTrigger, ...props }: SelectPrimitive.Popup.Props & Pick<SelectPrimitive.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset" | "alignItemWithTrigger">): import("react/jsx-runtime").JSX.Element;
10
+ declare function SelectLabel({ className, ...props }: SelectPrimitive.GroupLabel.Props): import("react/jsx-runtime").JSX.Element;
11
+ declare function SelectItem({ className, children, ...props }: SelectPrimitive.Item.Props): import("react/jsx-runtime").JSX.Element;
12
+ declare function SelectSeparator({ className, ...props }: SelectPrimitive.Separator.Props): import("react/jsx-runtime").JSX.Element;
13
+ declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpArrow>): import("react/jsx-runtime").JSX.Element;
14
+ declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownArrow>): import("react/jsx-runtime").JSX.Element;
15
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
16
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/v2/ui/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAKjE,QAAA,MAAM,MAAM,6BAAuB,CAAA;AAEnC,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,2CAQxE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,2CAQxE;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,IAAgB,EAChB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,GAAG;IACjC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;CACxB,2CAmBA;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,IAAe,EACf,UAAc,EACd,KAAgB,EAChB,WAAe,EACf,oBAA2B,EAC3B,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,KAAK,CAAC,KAAK,GAC5B,IAAI,CACF,eAAe,CAAC,UAAU,CAAC,KAAK,EAChC,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,sBAAsB,CACzE,2CAwBF;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,UAAU,CAAC,KAAK,2CAQlC;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,2CAsB5B;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,SAAS,CAAC,KAAK,2CAQjC;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,aAAa,CAAC,2CAc5D;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,eAAe,CAAC,2CAc9D;AAED,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,WAAW,GACZ,CAAA"}
@@ -0,0 +1,36 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { Select as SelectPrimitive } from "@base-ui/react/select";
5
+ import { cn } from "../utils.js";
6
+ import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from "lucide-react";
7
+ const Select = SelectPrimitive.Root;
8
+ function SelectGroup({ className, ...props }) {
9
+ return (_jsx(SelectPrimitive.Group, { "data-slot": "select-group", className: cn("scroll-my-1 p-1", className), ...props }));
10
+ }
11
+ function SelectValue({ className, ...props }) {
12
+ return (_jsx(SelectPrimitive.Value, { "data-slot": "select-value", className: cn("flex flex-1 text-left", className), ...props }));
13
+ }
14
+ function SelectTrigger({ className, size = "default", children, ...props }) {
15
+ return (_jsxs(SelectPrimitive.Trigger, { "data-slot": "select-trigger", "data-size": size, className: cn("flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { render: _jsx(ChevronDownIcon, { className: "pointer-events-none size-4 text-muted-foreground" }) })] }));
16
+ }
17
+ function SelectContent({ className, children, side = "bottom", sideOffset = 4, align = "center", alignOffset = 0, alignItemWithTrigger = true, ...props }) {
18
+ return (_jsx(SelectPrimitive.Portal, { children: _jsx(SelectPrimitive.Positioner, { side: side, sideOffset: sideOffset, align: align, alignOffset: alignOffset, alignItemWithTrigger: alignItemWithTrigger, className: "isolate z-50", children: _jsxs(SelectPrimitive.Popup, { "data-slot": "select-content", "data-align-trigger": alignItemWithTrigger, className: cn("relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props, children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.List, { children: children }), _jsx(SelectScrollDownButton, {})] }) }) }));
19
+ }
20
+ function SelectLabel({ className, ...props }) {
21
+ return (_jsx(SelectPrimitive.GroupLabel, { "data-slot": "select-label", className: cn("px-1.5 py-1 text-xs text-muted-foreground", className), ...props }));
22
+ }
23
+ function SelectItem({ className, children, ...props }) {
24
+ return (_jsxs(SelectPrimitive.Item, { "data-slot": "select-item", className: cn("relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className), ...props, children: [_jsx(SelectPrimitive.ItemText, { className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap", children: children }), _jsx(SelectPrimitive.ItemIndicator, { render: _jsx("span", { className: "pointer-events-none absolute right-2 flex size-4 items-center justify-center" }), children: _jsx(CheckIcon, { className: "pointer-events-none" }) })] }));
25
+ }
26
+ function SelectSeparator({ className, ...props }) {
27
+ return (_jsx(SelectPrimitive.Separator, { "data-slot": "select-separator", className: cn("pointer-events-none -mx-1 my-1 h-px bg-border", className), ...props }));
28
+ }
29
+ function SelectScrollUpButton({ className, ...props }) {
30
+ return (_jsx(SelectPrimitive.ScrollUpArrow, { "data-slot": "select-scroll-up-button", className: cn("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: _jsx(ChevronUpIcon, {}) }));
31
+ }
32
+ function SelectScrollDownButton({ className, ...props }) {
33
+ return (_jsx(SelectPrimitive.ScrollDownArrow, { "data-slot": "select-scroll-down-button", className: cn("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: _jsx(ChevronDownIcon, {}) }));
34
+ }
35
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, };
36
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/v2/ui/select.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare function Skeleton({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
2
+ export { Skeleton };
3
+ //# sourceMappingURL=skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/v2/ui/skeleton.tsx"],"names":[],"mappings":"AAEA,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQrE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "../utils.js";
3
+ function Skeleton({ className, ...props }) {
4
+ return (_jsx("div", { "data-slot": "skeleton", className: cn("animate-pulse rounded-md bg-muted", className), ...props }));
5
+ }
6
+ export { Skeleton };
7
+ //# sourceMappingURL=skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../../src/v2/ui/skeleton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,SAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACpE,OAAO,CACL,2BACY,UAAU,EACpB,SAAS,EAAE,EAAE,CAAC,mCAAmC,EAAE,SAAS,CAAC,KACzD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function Textarea({ className, ...props }: React.ComponentProps<"textarea">): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=textarea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../src/v2/ui/textarea.tsx"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,2CAEjF"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "../utils.js";
3
+ export function Textarea({ className, ...props }) {
4
+ return _jsx("textarea", { "data-slot": "textarea", className: cn("flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", className), ...props });
5
+ }
6
+ //# sourceMappingURL=textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../src/v2/ui/textarea.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,MAAM,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAoC;IAChF,OAAO,gCAAoB,UAAU,EAAC,SAAS,EAAE,EAAE,CAAC,whBAAwhB,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAAC;AAC1mB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/v2/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -0,0 +1,6 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
6
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/v2/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { AgentDetail, AgentDetail as AgentDetailView, AgentInlinePanel, SystemPanel, agentConfigCode, type AgentDetailData, type SystemSub, } from "../agents/agent-detail";
2
+ //# sourceMappingURL=agents-detail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents-detail.d.ts","sourceRoot":"","sources":["../../../src/v2/views/agents-detail.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,WAAW,IAAI,eAAe,EAC9B,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,SAAS,GACf,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { AgentDetail, AgentDetail as AgentDetailView, AgentInlinePanel, SystemPanel, agentConfigCode, } from "../agents/agent-detail";
2
+ //# sourceMappingURL=agents-detail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents-detail.js","sourceRoot":"","sources":["../../../src/v2/views/agents-detail.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,WAAW,IAAI,eAAe,EAC9B,gBAAgB,EAChB,WAAW,EACX,eAAe,GAGhB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { type ReactNode } from "react";
2
+ export type AgentRow = {
3
+ name: string;
4
+ role?: string;
5
+ model?: string;
6
+ allowedTools?: string[];
7
+ skills?: string[];
8
+ assignedLoops?: string[];
9
+ team?: string;
10
+ teamName?: string;
11
+ team_name?: string;
12
+ };
13
+ export type TeamRow = {
14
+ name: string;
15
+ description?: string;
16
+ };
17
+ export declare function AgentsTable({ projectId, initialAgents, initialTeams, renderCreateDialog, }: {
18
+ projectId: string;
19
+ initialAgents: AgentRow[];
20
+ initialTeams: TeamRow[];
21
+ renderCreateDialog?: (props: {
22
+ open: boolean;
23
+ onOpenChange: (open: boolean) => void;
24
+ }) => ReactNode;
25
+ }): import("react/jsx-runtime").JSX.Element;
26
+ export declare const AgentsView: typeof AgentsTable;
27
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/v2/views/agents.tsx"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAoBf,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAW7D,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,aAAa,EACb,YAAY,EACZ,kBAAkB,GACnB,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1B,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC3B,IAAI,EAAE,OAAO,CAAC;QACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;KACvC,KAAK,SAAS,CAAC;CACjB,2CAiMA;AAED,eAAO,MAAM,UAAU,oBAAc,CAAC"}
@@ -0,0 +1,161 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useEffect, useMemo, useRef, useState, } from "react";
4
+ import { useQuery } from "../host";
5
+ import { Plus, CaretRight, CaretDown, Check, UsersThree, Atom, } from "@phosphor-icons/react/dist/ssr";
6
+ import { usePolpoClient } from "../host";
7
+ import { countEnabledTools } from "../host";
8
+ import { V2_FLAGS } from "../host";
9
+ import { Button } from "../ui/button";
10
+ import { PageHeader } from "../ui/page-header";
11
+ import { DataTable } from "../ui/data-table";
12
+ import { RefreshButton } from "../ui/refresh-button";
13
+ import { SelfHostCreateAgentDialog } from "../agents/self-host-create-agent-dialog.js";
14
+ function teamOf(agent) {
15
+ const raw = (agent.teamName && agent.teamName.trim()) ||
16
+ (agent.team_name && agent.team_name.trim()) ||
17
+ (agent.team && agent.team.trim()) ||
18
+ "default";
19
+ return raw && raw !== "default" ? raw : "default";
20
+ }
21
+ export function AgentsTable({ projectId, initialAgents, initialTeams, renderCreateDialog, }) {
22
+ const polpo = usePolpoClient(projectId);
23
+ const [selectedTeams, setSelectedTeams] = useState([]);
24
+ // "New agent" opens the Create-agent dialog, which hands off to the side
25
+ // builder (nothing is installed directly).
26
+ const [createOpen, setCreateOpen] = useState(false);
27
+ const openCreate = () => setCreateOpen(true);
28
+ const { data: agents = [], isFetching, refetch } = useQuery({
29
+ queryKey: ["agents", projectId],
30
+ queryFn: () => polpo.getAgents(),
31
+ initialData: initialAgents,
32
+ });
33
+ const { data: teams = [] } = useQuery({
34
+ queryKey: ["teams", projectId],
35
+ queryFn: () => polpo.getTeams(),
36
+ initialData: initialTeams,
37
+ });
38
+ const teamNames = useMemo(() => {
39
+ const set = new Set();
40
+ for (const t of teams)
41
+ if (t.name)
42
+ set.add(t.name);
43
+ for (const a of agents)
44
+ set.add(teamOf(a));
45
+ return [...set].sort((a, b) => a === "default" ? 1 : b === "default" ? -1 : a.localeCompare(b));
46
+ }, [teams, agents]);
47
+ const rows = useMemo(() => selectedTeams.length
48
+ ? agents.filter((a) => selectedTeams.includes(teamOf(a)))
49
+ : agents, [agents, selectedTeams]);
50
+ const columns = useMemo(() => {
51
+ const cols = [
52
+ {
53
+ id: "name",
54
+ header: "Agent",
55
+ accessorFn: (a) => a.name,
56
+ cell: ({ row }) => {
57
+ const a = row.original;
58
+ return (_jsxs("div", { className: "flex items-center gap-2.5", children: [V2_FLAGS.showAvatars && _jsx(Monogram, { name: a.name }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate font-mono text-[13px] font-medium text-foreground transition-colors group-hover:text-brand", "data-mono": true, children: a.name }), a.role && (_jsx("div", { className: "truncate text-[11px] text-muted-foreground/70", children: a.role }))] })] }));
59
+ },
60
+ meta: { width: 300 },
61
+ },
62
+ {
63
+ id: "team",
64
+ header: "Team",
65
+ accessorFn: (a) => teamOf(a),
66
+ cell: ({ getValue }) => _jsx(TeamBadge, { name: getValue() }),
67
+ meta: { width: 150 },
68
+ },
69
+ {
70
+ id: "model",
71
+ header: "Model",
72
+ accessorFn: (a) => a.model ?? "",
73
+ cell: ({ getValue }) => {
74
+ const v = getValue();
75
+ return v ? (_jsx("span", { className: "font-mono text-[12px] text-muted-foreground", "data-mono": true, children: v })) : (_jsx("span", { className: "text-muted-foreground/40", children: "\u2014" }));
76
+ },
77
+ meta: { width: 200 },
78
+ },
79
+ {
80
+ id: "tools",
81
+ header: "Tools",
82
+ accessorFn: (a) => countEnabledTools(a.allowedTools ?? []),
83
+ cell: ({ getValue }) => (_jsx("span", { className: "text-[13px] text-muted-foreground", "data-tabular": true, children: getValue() })),
84
+ meta: { align: "center", width: 76 },
85
+ },
86
+ {
87
+ id: "skills",
88
+ header: "Skills",
89
+ accessorFn: (a) => a.skills?.length ?? 0,
90
+ cell: ({ getValue }) => (_jsx("span", { className: "text-[13px] text-muted-foreground", "data-tabular": true, children: getValue() })),
91
+ meta: { align: "center", width: 76 },
92
+ },
93
+ {
94
+ id: "open",
95
+ header: "",
96
+ enableSorting: false,
97
+ cell: () => (_jsx("span", { "data-reveal": true, className: "flex justify-end", children: _jsx(CaretRight, { size: 14, className: "text-muted-foreground" }) })),
98
+ meta: { width: 44, align: "right" },
99
+ },
100
+ ];
101
+ return cols.filter((c) => V2_FLAGS.showTeams || c.id !== "team");
102
+ }, []);
103
+ const teamCount = teamNames.length;
104
+ return (_jsxs("div", { className: "flex flex-col gap-6", children: [_jsx(PageHeader, { title: "Agents", description: `${agents.length} ${agents.length === 1 ? "agent" : "agents"}${V2_FLAGS.showTeams
105
+ ? ` · ${teamCount} ${teamCount === 1 ? "team" : "teams"}`
106
+ : ""}`, actions: _jsxs(Button, { size: "sm", onClick: openCreate, children: [_jsx(Plus, { size: 15, weight: "bold" }), "New agent"] }) }), _jsx(DataTable, { columns: columns, data: rows, getRowId: (a) => a.name, rowHref: (a) => `/projects/${projectId}/agents/${encodeURIComponent(a.name)}`, searchPlaceholder: "Search agents\u2026", searchFn: (a, q) => [a.name, a.role, teamOf(a), a.model].some((v) => (v ?? "").toLowerCase().includes(q)), filters: V2_FLAGS.showTeams && teamNames.length > 1 ? (_jsx(TeamFilter, { teams: teamNames, selected: selectedTeams, onToggle: (t) => setSelectedTeams((prev) => prev.includes(t) ? prev.filter((x) => x !== t) : [...prev, t]), onClear: () => setSelectedTeams([]) })) : null, rightSlot: _jsx(RefreshButton, { onClick: () => refetch(), busy: isFetching }), empty: _jsx(EmptyAgents, { onCreate: openCreate }), emptyFiltered: _jsx("span", { className: "text-sm text-muted-foreground", children: "No agents match your search." }) }), renderCreateDialog ? (renderCreateDialog({ open: createOpen, onOpenChange: setCreateOpen })) : (_jsx(SelfHostCreateAgentDialog, { projectId: projectId, open: createOpen, onOpenChange: setCreateOpen }))] }));
107
+ }
108
+ export const AgentsView = AgentsTable;
109
+ /* ── Cell pieces ──────────────────────────────────────────────────────── */
110
+ function Monogram({ name }) {
111
+ const initials = name
112
+ .replace(/[^a-zA-Z0-9]/g, " ")
113
+ .trim()
114
+ .split(/\s+/)
115
+ .map((w) => w[0])
116
+ .slice(0, 2)
117
+ .join("")
118
+ .toUpperCase() || name.slice(0, 2).toUpperCase();
119
+ return (_jsx("span", { className: "grid h-7 w-7 shrink-0 place-items-center rounded-[5px] border border-border bg-secondary text-[10px] font-semibold text-foreground", children: initials }));
120
+ }
121
+ function TeamBadge({ name }) {
122
+ const isDefault = name === "default";
123
+ return (_jsx("span", { className: `inline-flex items-center rounded px-1.5 py-0.5 font-mono text-[10px] ${isDefault
124
+ ? "bg-muted text-muted-foreground"
125
+ : "bg-brand/10 text-brand"}`, children: isDefault ? "default" : name }));
126
+ }
127
+ /* ── Toolbar pieces ───────────────────────────────────────────────────── */
128
+ function TeamFilter({ teams, selected, onToggle, onClear, }) {
129
+ const [open, setOpen] = useState(false);
130
+ const rootRef = useRef(null);
131
+ useEffect(() => {
132
+ if (!open)
133
+ return;
134
+ const onDoc = (e) => {
135
+ if (rootRef.current && !rootRef.current.contains(e.target)) {
136
+ setOpen(false);
137
+ }
138
+ };
139
+ document.addEventListener("mousedown", onDoc);
140
+ return () => document.removeEventListener("mousedown", onDoc);
141
+ }, [open]);
142
+ const count = selected.length;
143
+ const label = count === 0
144
+ ? "All teams"
145
+ : count === 1
146
+ ? selected[0] === "default"
147
+ ? "default"
148
+ : selected[0]
149
+ : `${count} teams`;
150
+ return (_jsxs("div", { ref: rootRef, className: "relative", children: [_jsxs("button", { type: "button", onClick: () => setOpen((v) => !v), "aria-expanded": open, className: "flex h-8 items-center gap-1.5 rounded-md border border-border bg-card px-2.5 text-[13px] text-foreground transition-colors hover:border-ring/40", children: [_jsx(UsersThree, { size: 14, className: "text-muted-foreground" }), _jsx("span", { className: "max-w-[140px] truncate", children: label }), _jsx(CaretDown, { size: 12, className: "text-muted-foreground" })] }), open && (_jsxs("div", { className: "absolute right-0 z-30 mt-1 w-52 rounded-md border border-border bg-popover p-1 shadow-lg", children: [_jsx("div", { className: "max-h-64 overflow-auto", children: teams.map((t) => {
151
+ const on = selected.includes(t);
152
+ return (_jsxs("button", { type: "button", onClick: () => onToggle(t), className: "flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-[13px] text-foreground transition-colors hover:bg-secondary/60", children: [_jsx("span", { className: `grid h-4 w-4 shrink-0 place-items-center rounded border ${on
153
+ ? "border-brand bg-brand text-brand-foreground"
154
+ : "border-border"}`, children: on && _jsx(Check, { size: 11, weight: "bold" }) }), _jsx("span", { className: "truncate", children: t === "default" ? "default" : t })] }, t));
155
+ }) }), count > 0 && (_jsxs(_Fragment, { children: [_jsx("div", { className: "my-1 h-px bg-border" }), _jsx("button", { type: "button", onClick: onClear, className: "w-full rounded px-2 py-1.5 text-left text-[12px] text-muted-foreground transition-colors hover:bg-secondary/60 hover:text-foreground", children: "Clear" })] }))] }))] }));
156
+ }
157
+ /* ── Empty state ──────────────────────────────────────────────────────── */
158
+ function EmptyAgents({ onCreate }) {
159
+ return (_jsxs("div", { className: "flex flex-col items-center gap-3 py-8", children: [_jsx("span", { className: "grid h-11 w-11 place-items-center rounded-lg border border-border bg-secondary", children: _jsx(Atom, { size: 20, className: "text-muted-foreground" }) }), _jsxs("div", { className: "text-center", children: [_jsx("div", { className: "text-sm font-medium text-foreground", children: "No agents yet" }), _jsxs("div", { className: "mt-1 text-[13px] text-muted-foreground", children: ["Create one here, or run", " ", _jsx("code", { className: "rounded bg-secondary px-1 py-0.5 text-[12px]", children: "polpo deploy" }), " ", "from your project."] })] }), _jsxs(Button, { size: "sm", onClick: onCreate, children: [_jsx(Plus, { size: 15, weight: "bold" }), "New agent"] })] }));
160
+ }
161
+ //# sourceMappingURL=agents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/v2/views/agents.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function FilesView(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/v2/views/files.tsx"],"names":[],"mappings":"AAMA,wBAAgB,SAAS,4CAOxB"}
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useDashboardHost } from "../../host.js";
4
+ import { FilesBrowser } from "../files/files-browser.js";
5
+ import { PageBody } from "../files/host.js";
6
+ export function FilesView() {
7
+ const { project } = useDashboardHost();
8
+ return (_jsx(PageBody, { children: _jsx(FilesBrowser, { projectId: project.id }) }));
9
+ }
10
+ //# sourceMappingURL=files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/v2/views/files.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,UAAU,SAAS;IACvB,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACvC,OAAO,CACL,KAAC,QAAQ,cACP,KAAC,YAAY,IAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAI,GAC9B,CACZ,CAAC;AACJ,CAAC"}