@polderlabs/bizar 9.0.0 → 10.0.5

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 (1293) hide show
  1. package/bizar-dash/BROWSER_VERIFICATION.md +190 -0
  2. package/bizar-dash/CHANGELOG.md +452 -0
  3. package/bizar-dash/CONTROL_SURFACES.md +157 -0
  4. package/bizar-dash/SETTINGS_AUDIT.md +225 -0
  5. package/bizar-dash/dist/assets/ActivityFeed-DbZT1TnN.js +11 -0
  6. package/bizar-dash/dist/assets/ActivityFeed-DbZT1TnN.js.map +1 -0
  7. package/bizar-dash/dist/assets/ActivityView-DfrBu-ED.js +7 -0
  8. package/bizar-dash/dist/assets/ActivityView-DfrBu-ED.js.map +1 -0
  9. package/bizar-dash/dist/assets/AdminView-DSbzp67e.js +11 -0
  10. package/bizar-dash/dist/assets/AdminView-DSbzp67e.js.map +1 -0
  11. package/bizar-dash/dist/assets/AgentsView-BaR-e4UO.js +13 -0
  12. package/bizar-dash/dist/assets/AgentsView-BaR-e4UO.js.map +1 -0
  13. package/bizar-dash/dist/assets/ArtifactsView-Dddh5NWn.js +6 -0
  14. package/bizar-dash/dist/assets/ArtifactsView-Dddh5NWn.js.map +1 -0
  15. package/bizar-dash/dist/assets/AuthView-CcTxahxz.js +16 -0
  16. package/bizar-dash/dist/assets/AuthView-CcTxahxz.js.map +1 -0
  17. package/bizar-dash/dist/assets/BackgroundJobsView-DxiSs69H.js +1 -0
  18. package/bizar-dash/dist/assets/BackgroundJobsView-DxiSs69H.js.map +1 -0
  19. package/bizar-dash/dist/assets/BackupView-BPS8REBD.js +1 -0
  20. package/bizar-dash/dist/assets/BackupView-BPS8REBD.js.map +1 -0
  21. package/bizar-dash/dist/assets/Banner-Bx1hIUM9.js +1 -0
  22. package/bizar-dash/dist/assets/Banner-Bx1hIUM9.js.map +1 -0
  23. package/bizar-dash/dist/assets/Card-ZAdgpn3-.js +1 -0
  24. package/bizar-dash/dist/assets/Card-ZAdgpn3-.js.map +1 -0
  25. package/bizar-dash/dist/assets/ChatView-CM_mrwom.js +9 -0
  26. package/bizar-dash/dist/assets/ChatView-CM_mrwom.js.map +1 -0
  27. package/bizar-dash/dist/assets/Chip-k5K9DYAf.js +1 -0
  28. package/bizar-dash/dist/assets/Chip-k5K9DYAf.js.map +1 -0
  29. package/bizar-dash/dist/assets/ClaudeSessionsView-Dq40JNVC.js +1 -0
  30. package/bizar-dash/dist/assets/ClaudeSessionsView-Dq40JNVC.js.map +1 -0
  31. package/bizar-dash/dist/assets/ClipboardView-B-TwPtaC.js +1 -0
  32. package/bizar-dash/dist/assets/ClipboardView-B-TwPtaC.js.map +1 -0
  33. package/bizar-dash/dist/assets/ConfigView-C_eZMscY.js +1 -0
  34. package/bizar-dash/dist/assets/ConfigView-C_eZMscY.js.map +1 -0
  35. package/bizar-dash/dist/assets/DiagnosticsView-Cex6UdD8.js +2 -0
  36. package/bizar-dash/dist/assets/DiagnosticsView-Cex6UdD8.js.map +1 -0
  37. package/bizar-dash/dist/assets/DialogsView-DTMRJd0K.js +6 -0
  38. package/bizar-dash/dist/assets/DialogsView-DTMRJd0K.js.map +1 -0
  39. package/bizar-dash/dist/assets/DoctorView-BTCUpzXT.js +6 -0
  40. package/bizar-dash/dist/assets/DoctorView-BTCUpzXT.js.map +1 -0
  41. package/bizar-dash/dist/assets/EmptyState-DQzo47a_.js +1 -0
  42. package/bizar-dash/dist/assets/EmptyState-DQzo47a_.js.map +1 -0
  43. package/bizar-dash/dist/assets/EnvVarsView-Dnap-pmQ.js +8 -0
  44. package/bizar-dash/dist/assets/EnvVarsView-Dnap-pmQ.js.map +1 -0
  45. package/bizar-dash/dist/assets/ErrorState-DZYn3VL_.js +6 -0
  46. package/bizar-dash/dist/assets/ErrorState-DZYn3VL_.js.map +1 -0
  47. package/bizar-dash/dist/assets/EvalView-B0YgoXpm.js +1 -0
  48. package/bizar-dash/dist/assets/EvalView-B0YgoXpm.js.map +1 -0
  49. package/bizar-dash/dist/assets/GoalsView-YEbgpx2i.js +6 -0
  50. package/bizar-dash/dist/assets/GoalsView-YEbgpx2i.js.map +1 -0
  51. package/bizar-dash/dist/assets/Grid-CN6IV8NB.js +1 -0
  52. package/bizar-dash/dist/assets/Grid-CN6IV8NB.js.map +1 -0
  53. package/bizar-dash/dist/assets/HeadroomView-C_-l8ojG.js +11 -0
  54. package/bizar-dash/dist/assets/HeadroomView-C_-l8ojG.js.map +1 -0
  55. package/bizar-dash/dist/assets/HistoryView-BICvR96Y.js +1 -0
  56. package/bizar-dash/dist/assets/HistoryView-BICvR96Y.js.map +1 -0
  57. package/bizar-dash/dist/assets/Input-BRHotaQu.js +1 -0
  58. package/bizar-dash/dist/assets/Input-BRHotaQu.js.map +1 -0
  59. package/bizar-dash/dist/assets/KanbanCard-BvkJ9Xwg.js +11 -0
  60. package/bizar-dash/dist/assets/KanbanCard-BvkJ9Xwg.js.map +1 -0
  61. package/bizar-dash/dist/assets/LibrariesView-BXjfXc-o.js +52 -0
  62. package/bizar-dash/dist/assets/LibrariesView-BXjfXc-o.js.map +1 -0
  63. package/bizar-dash/dist/assets/LightRAGView-DKfQd0lo.js +6 -0
  64. package/bizar-dash/dist/assets/LightRAGView-DKfQd0lo.js.map +1 -0
  65. package/bizar-dash/dist/assets/ListHeader-DRqP1u_I.js +1 -0
  66. package/bizar-dash/dist/assets/ListHeader-DRqP1u_I.js.map +1 -0
  67. package/bizar-dash/dist/assets/MemoryView-DouzHGXp.js +8 -0
  68. package/bizar-dash/dist/assets/MemoryView-DouzHGXp.js.map +1 -0
  69. package/bizar-dash/dist/assets/MessageBubble-CIapZ4YY.js +29 -0
  70. package/bizar-dash/dist/assets/MessageBubble-CIapZ4YY.js.map +1 -0
  71. package/bizar-dash/dist/assets/MiscView-BqxBRW9r.js +1 -0
  72. package/bizar-dash/dist/assets/MiscView-BqxBRW9r.js.map +1 -0
  73. package/bizar-dash/dist/assets/ModsView-B9apzm7l.js +6 -0
  74. package/bizar-dash/dist/assets/ModsView-B9apzm7l.js.map +1 -0
  75. package/bizar-dash/dist/assets/NotificationsView-O1BrGRRZ.js +6 -0
  76. package/bizar-dash/dist/assets/NotificationsView-O1BrGRRZ.js.map +1 -0
  77. package/bizar-dash/dist/assets/ObsidianView-0_Nc0IwJ.js +1 -0
  78. package/bizar-dash/dist/assets/ObsidianView-0_Nc0IwJ.js.map +1 -0
  79. package/bizar-dash/dist/assets/OverviewView-D6WmCxyc.js +1 -0
  80. package/bizar-dash/dist/assets/OverviewView-D6WmCxyc.js.map +1 -0
  81. package/bizar-dash/dist/assets/ProgressBar-BXqAmiA8.js +1 -0
  82. package/bizar-dash/dist/assets/ProgressBar-BXqAmiA8.js.map +1 -0
  83. package/bizar-dash/dist/assets/ProjectsView-BbHq_OF3.js +11 -0
  84. package/bizar-dash/dist/assets/ProjectsView-BbHq_OF3.js.map +1 -0
  85. package/bizar-dash/dist/assets/ProvidersView-dQOPha2i.js +11 -0
  86. package/bizar-dash/dist/assets/ProvidersView-dQOPha2i.js.map +1 -0
  87. package/bizar-dash/dist/assets/SchedulesView-DllGEgon.js +1 -0
  88. package/bizar-dash/dist/assets/SchedulesView-DllGEgon.js.map +1 -0
  89. package/bizar-dash/dist/assets/Select-xrQ0htmD.js +6 -0
  90. package/bizar-dash/dist/assets/Select-xrQ0htmD.js.map +1 -0
  91. package/bizar-dash/dist/assets/SettingsRow-BNSh_paj.js +1 -0
  92. package/bizar-dash/dist/assets/SettingsRow-BNSh_paj.js.map +1 -0
  93. package/bizar-dash/dist/assets/SettingsView-B2LyDoxB.js +18 -0
  94. package/bizar-dash/dist/assets/SettingsView-B2LyDoxB.js.map +1 -0
  95. package/bizar-dash/dist/assets/Sheet-C-djzbtS.js +1 -0
  96. package/bizar-dash/dist/assets/Sheet-C-djzbtS.js.map +1 -0
  97. package/bizar-dash/dist/assets/Slider-DmOSInmR.js +1 -0
  98. package/bizar-dash/dist/assets/Slider-DmOSInmR.js.map +1 -0
  99. package/bizar-dash/dist/assets/Sparkline-fGhOoGf0.js +1 -0
  100. package/bizar-dash/dist/assets/Sparkline-fGhOoGf0.js.map +1 -0
  101. package/bizar-dash/dist/assets/Switch-D5gPfsKd.js +10 -0
  102. package/bizar-dash/dist/assets/Switch-D5gPfsKd.js.map +1 -0
  103. package/bizar-dash/dist/assets/TasksView-Dw4YtwQB.js +1 -0
  104. package/bizar-dash/dist/assets/TasksView-Dw4YtwQB.js.map +1 -0
  105. package/bizar-dash/dist/assets/Textarea-Cv1HX9p1.js +1 -0
  106. package/bizar-dash/dist/assets/Textarea-Cv1HX9p1.js.map +1 -0
  107. package/bizar-dash/dist/assets/UpdateView-Bj0LzpMs.js +6 -0
  108. package/bizar-dash/dist/assets/UpdateView-Bj0LzpMs.js.map +1 -0
  109. package/bizar-dash/dist/assets/UsageView-CE-23yYu.js +1 -0
  110. package/bizar-dash/dist/assets/UsageView-CE-23yYu.js.map +1 -0
  111. package/bizar-dash/dist/assets/ViewHeader-2Oyjj9Yt.js +6 -0
  112. package/bizar-dash/dist/assets/ViewHeader-2Oyjj9Yt.js.map +1 -0
  113. package/bizar-dash/dist/assets/VoiceView-C3S92MfP.js +1 -0
  114. package/bizar-dash/dist/assets/VoiceView-C3S92MfP.js.map +1 -0
  115. package/bizar-dash/dist/assets/brain-B8oDQ4kM.js +6 -0
  116. package/bizar-dash/dist/assets/brain-B8oDQ4kM.js.map +1 -0
  117. package/bizar-dash/dist/assets/calendar-C1WTDPNZ.js +6 -0
  118. package/bizar-dash/dist/assets/calendar-C1WTDPNZ.js.map +1 -0
  119. package/bizar-dash/dist/assets/chevron-down-DjgW4FtB.js +6 -0
  120. package/bizar-dash/dist/assets/chevron-down-DjgW4FtB.js.map +1 -0
  121. package/bizar-dash/dist/assets/circle-COwUk6Jw.js +6 -0
  122. package/bizar-dash/dist/assets/circle-COwUk6Jw.js.map +1 -0
  123. package/bizar-dash/dist/assets/circle-alert-D_fRRCnG.js +6 -0
  124. package/bizar-dash/dist/assets/circle-alert-D_fRRCnG.js.map +1 -0
  125. package/bizar-dash/dist/assets/circle-check-CYpMZPTO.js +6 -0
  126. package/bizar-dash/dist/assets/circle-check-CYpMZPTO.js.map +1 -0
  127. package/bizar-dash/dist/assets/clock-BsVbT1kp.js +6 -0
  128. package/bizar-dash/dist/assets/clock-BsVbT1kp.js.map +1 -0
  129. package/bizar-dash/dist/assets/cmdk-DMW_3pWz.js +80 -0
  130. package/bizar-dash/dist/assets/cmdk-DMW_3pWz.js.map +1 -0
  131. package/bizar-dash/dist/assets/dnd-kit-DWBZ6HFE.js +5 -0
  132. package/bizar-dash/dist/assets/dnd-kit-DWBZ6HFE.js.map +1 -0
  133. package/bizar-dash/dist/assets/download-Cct5qHWG.js +6 -0
  134. package/bizar-dash/dist/assets/download-Cct5qHWG.js.map +1 -0
  135. package/bizar-dash/dist/assets/external-link-CKZQsK9X.js +6 -0
  136. package/bizar-dash/dist/assets/external-link-CKZQsK9X.js.map +1 -0
  137. package/bizar-dash/dist/assets/file-text-DNFl94X6.js +6 -0
  138. package/bizar-dash/dist/assets/file-text-DNFl94X6.js.map +1 -0
  139. package/bizar-dash/dist/assets/git-branch-qmhKTtT0.js +6 -0
  140. package/bizar-dash/dist/assets/git-branch-qmhKTtT0.js.map +1 -0
  141. package/bizar-dash/dist/assets/git-pull-request-o7G3ez_L.js +11 -0
  142. package/bizar-dash/dist/assets/git-pull-request-o7G3ez_L.js.map +1 -0
  143. package/bizar-dash/dist/assets/index-CRPdftkz.js +1 -0
  144. package/bizar-dash/dist/assets/index-CRPdftkz.js.map +1 -0
  145. package/bizar-dash/dist/assets/index-VI2tohpo.js +1 -0
  146. package/bizar-dash/dist/assets/index-VI2tohpo.js.map +1 -0
  147. package/bizar-dash/dist/assets/main-zDgXFFYt.js +244 -0
  148. package/bizar-dash/dist/assets/main-zDgXFFYt.js.map +1 -0
  149. package/bizar-dash/dist/assets/pause-B_hjj388.js +6 -0
  150. package/bizar-dash/dist/assets/pause-B_hjj388.js.map +1 -0
  151. package/bizar-dash/dist/assets/pencil-BQXiRgKu.js +6 -0
  152. package/bizar-dash/dist/assets/pencil-BQXiRgKu.js.map +1 -0
  153. package/bizar-dash/dist/assets/play-DF3wgBsQ.js +6 -0
  154. package/bizar-dash/dist/assets/play-DF3wgBsQ.js.map +1 -0
  155. package/bizar-dash/dist/assets/plug-DpD127rq.js +6 -0
  156. package/bizar-dash/dist/assets/plug-DpD127rq.js.map +1 -0
  157. package/bizar-dash/dist/assets/plus-CbojvfqK.js +6 -0
  158. package/bizar-dash/dist/assets/plus-CbojvfqK.js.map +1 -0
  159. package/bizar-dash/dist/assets/power-off-EnQo8iQy.js +6 -0
  160. package/bizar-dash/dist/assets/power-off-EnQo8iQy.js.map +1 -0
  161. package/bizar-dash/dist/assets/power-uH0f5Ihr.js +6 -0
  162. package/bizar-dash/dist/assets/power-uH0f5Ihr.js.map +1 -0
  163. package/bizar-dash/dist/assets/refresh-ccw-BQ_hQs-U.js +6 -0
  164. package/bizar-dash/dist/assets/refresh-ccw-BQ_hQs-U.js.map +1 -0
  165. package/bizar-dash/dist/assets/refresh-cw-CYS8luDH.js +6 -0
  166. package/bizar-dash/dist/assets/refresh-cw-CYS8luDH.js.map +1 -0
  167. package/bizar-dash/dist/assets/rotate-ccw-CTVANG1v.js +6 -0
  168. package/bizar-dash/dist/assets/rotate-ccw-CTVANG1v.js.map +1 -0
  169. package/bizar-dash/dist/assets/rotate-cw-BSsC5XrT.js +6 -0
  170. package/bizar-dash/dist/assets/rotate-cw-BSsC5XrT.js.map +1 -0
  171. package/bizar-dash/dist/assets/save-kxSwq3AI.js +6 -0
  172. package/bizar-dash/dist/assets/save-kxSwq3AI.js.map +1 -0
  173. package/bizar-dash/dist/assets/send-DkuyD_Sf.js +6 -0
  174. package/bizar-dash/dist/assets/send-DkuyD_Sf.js.map +1 -0
  175. package/bizar-dash/dist/assets/shield-alert-COajyBNI.js +6 -0
  176. package/bizar-dash/dist/assets/shield-alert-COajyBNI.js.map +1 -0
  177. package/bizar-dash/dist/assets/trash-2-BzH_id_0.js +6 -0
  178. package/bizar-dash/dist/assets/trash-2-BzH_id_0.js.map +1 -0
  179. package/bizar-dash/dist/assets/trending-up-DWgBlnxO.js +6 -0
  180. package/bizar-dash/dist/assets/trending-up-DWgBlnxO.js.map +1 -0
  181. package/bizar-dash/dist/assets/triangle-alert-D3wjJjjj.js +6 -0
  182. package/bizar-dash/dist/assets/triangle-alert-D3wjJjjj.js.map +1 -0
  183. package/bizar-dash/dist/assets/upload--yQe-28C.js +6 -0
  184. package/bizar-dash/dist/assets/upload--yQe-28C.js.map +1 -0
  185. package/bizar-dash/dist/assets/zap-BVpFD6-i.js +6 -0
  186. package/bizar-dash/dist/assets/zap-BVpFD6-i.js.map +1 -0
  187. package/bizar-dash/dist/index.html +19 -0
  188. package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  189. package/bizar-dash/src/server/agents-store.mjs +1 -0
  190. package/bizar-dash/src/server/api.mjs +5 -0
  191. package/bizar-dash/src/server/claude-runner.mjs +5 -0
  192. package/bizar-dash/src/server/dialog-store.mjs +84 -2
  193. package/bizar-dash/src/server/memory-lightrag.mjs +14 -9
  194. package/bizar-dash/src/server/progress-parser.mjs +13 -1
  195. package/bizar-dash/src/server/progress-parser.test.mjs +24 -0
  196. package/bizar-dash/src/server/routes/admin.mjs +163 -0
  197. package/bizar-dash/src/server/routes/agents-cc.mjs +171 -24
  198. package/bizar-dash/src/server/routes/agents.mjs +20 -5
  199. package/bizar-dash/src/server/routes/claude-session-detail.mjs +38 -0
  200. package/bizar-dash/src/server/routes/dialogs.mjs +31 -0
  201. package/bizar-dash/src/server/routes/goals.mjs +107 -3
  202. package/bizar-dash/src/server/routes/overview.mjs +131 -4
  203. package/bizar-dash/src/server/routes/overview.test.mjs +65 -0
  204. package/bizar-dash/src/server/routes/providers.mjs +53 -0
  205. package/bizar-dash/src/server/routes/tasks.mjs +51 -1
  206. package/bizar-dash/src/server/server.mjs +20 -9
  207. package/bizar-dash/src/web/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  208. package/bizar-dash/src/web/v8/App.tsx +102 -1
  209. package/bizar-dash/src/web/v8/__tests__/admin-view.test.tsx +105 -0
  210. package/bizar-dash/src/web/v8/__tests__/agent-card-metrics.test.tsx +54 -0
  211. package/bizar-dash/src/web/v8/__tests__/agent-detail-tasks.test.tsx +68 -0
  212. package/bizar-dash/src/web/v8/__tests__/agent-hierarchy.test.tsx +79 -0
  213. package/bizar-dash/src/web/v8/__tests__/agents-stuck-banner.test.tsx +142 -0
  214. package/bizar-dash/src/web/v8/__tests__/artifacts-view.test.tsx +102 -0
  215. package/bizar-dash/src/web/v8/__tests__/audit-fixes.test.tsx +139 -0
  216. package/bizar-dash/src/web/v8/__tests__/auth-view.test.tsx +94 -0
  217. package/bizar-dash/src/web/v8/__tests__/chat-types.test.ts +55 -0
  218. package/bizar-dash/src/web/v8/__tests__/chat-view.test.tsx +142 -0
  219. package/bizar-dash/src/web/v8/__tests__/claude-sessions-view.test.tsx +159 -0
  220. package/bizar-dash/src/web/v8/__tests__/clipboard-view.test.tsx +90 -0
  221. package/bizar-dash/src/web/v8/__tests__/config-view.test.tsx +111 -0
  222. package/bizar-dash/src/web/v8/__tests__/dialogs-view.test.tsx +81 -0
  223. package/bizar-dash/src/web/v8/__tests__/env-vars-view.test.tsx +123 -0
  224. package/bizar-dash/src/web/v8/__tests__/goals-cc-roundtrip.test.tsx +94 -0
  225. package/bizar-dash/src/web/v8/__tests__/history-view.test.tsx +96 -0
  226. package/bizar-dash/src/web/v8/__tests__/lightrag-view.test.tsx +90 -0
  227. package/bizar-dash/src/web/v8/__tests__/misc-view.test.tsx +79 -0
  228. package/bizar-dash/src/web/v8/__tests__/mods-view.test.tsx +123 -0
  229. package/bizar-dash/src/web/v8/__tests__/new-views.test.tsx +177 -0
  230. package/bizar-dash/src/web/v8/__tests__/obsidian-view.test.tsx +82 -0
  231. package/bizar-dash/src/web/v8/__tests__/overview-trends.test.tsx +87 -0
  232. package/bizar-dash/src/web/v8/__tests__/projects-view.test.tsx +134 -0
  233. package/bizar-dash/src/web/v8/__tests__/providers-view.test.tsx +100 -0
  234. package/bizar-dash/src/web/v8/__tests__/update-view.test.tsx +89 -0
  235. package/bizar-dash/src/web/v8/__tests__/voice-view.test.tsx +80 -0
  236. package/bizar-dash/src/web/v8/data/types.ts +73 -2
  237. package/bizar-dash/src/web/v8/data/useWebSocket.ts +45 -0
  238. package/bizar-dash/src/web/v8/shell/Sidebar.tsx +52 -1
  239. package/bizar-dash/src/web/v8/ui/agents/AgentCard.tsx +96 -15
  240. package/bizar-dash/src/web/v8/ui/agents/AgentDetail.tsx +168 -12
  241. package/bizar-dash/src/web/v8/ui/agents/AgentLiveOutput.tsx +252 -0
  242. package/bizar-dash/src/web/v8/ui/chat/ChatDrawer.tsx +208 -0
  243. package/bizar-dash/src/web/v8/ui/chat/EventStream.tsx +83 -0
  244. package/bizar-dash/src/web/v8/ui/chat/MessageBubble.tsx +174 -0
  245. package/bizar-dash/src/web/v8/ui/data/ListHeader.tsx +94 -0
  246. package/bizar-dash/src/web/v8/ui/feedback/ErrorState.tsx +116 -0
  247. package/bizar-dash/src/web/v8/ui/goals/GoalDetail.tsx +27 -0
  248. package/bizar-dash/src/web/v8/ui/index.ts +7 -1
  249. package/bizar-dash/src/web/v8/ui/tasks/TaskDetail.tsx +313 -0
  250. package/bizar-dash/src/web/v8/views/Activity/ActivityView.tsx +75 -4
  251. package/bizar-dash/src/web/v8/views/Admin/AdminView.tsx +210 -0
  252. package/bizar-dash/src/web/v8/views/Agents/AgentHierarchy.tsx +212 -0
  253. package/bizar-dash/src/web/v8/views/Agents/AgentsView.tsx +328 -21
  254. package/bizar-dash/src/web/v8/views/Artifacts/ArtifactsView.tsx +241 -0
  255. package/bizar-dash/src/web/v8/views/Auth/AuthView.tsx +175 -0
  256. package/bizar-dash/src/web/v8/views/BackgroundJobs/BackgroundJobsView.tsx +1 -1
  257. package/bizar-dash/src/web/v8/views/Backup/BackupView.tsx +204 -0
  258. package/bizar-dash/src/web/v8/views/Chat/ChatView.tsx +356 -0
  259. package/bizar-dash/src/web/v8/views/ClaudeSessions/ClaudeSessionDetail.tsx +133 -0
  260. package/bizar-dash/src/web/v8/views/ClaudeSessions/ClaudeSessionsView.tsx +331 -0
  261. package/bizar-dash/src/web/v8/views/Clipboard/ClipboardView.tsx +210 -0
  262. package/bizar-dash/src/web/v8/views/Config/ConfigView.tsx +364 -0
  263. package/bizar-dash/src/web/v8/views/Diagnostics/DiagnosticsView.tsx +160 -0
  264. package/bizar-dash/src/web/v8/views/Dialogs/DialogsView.tsx +196 -0
  265. package/bizar-dash/src/web/v8/views/Doctor/DoctorView.tsx +181 -0
  266. package/bizar-dash/src/web/v8/views/EnvVars/EnvVarsView.tsx +365 -0
  267. package/bizar-dash/src/web/v8/views/Eval/EvalView.tsx +278 -0
  268. package/bizar-dash/src/web/v8/views/Goals/GoalsView.tsx +168 -10
  269. package/bizar-dash/src/web/v8/views/Headroom/HeadroomView.tsx +201 -0
  270. package/bizar-dash/src/web/v8/views/History/HistoryView.tsx +227 -0
  271. package/bizar-dash/src/web/v8/views/Libraries/LibrariesView.tsx +13 -3
  272. package/bizar-dash/src/web/v8/views/LightRAG/LightRAGView.tsx +183 -0
  273. package/bizar-dash/src/web/v8/views/Memory/MemoryView.tsx +30 -3
  274. package/bizar-dash/src/web/v8/views/Misc/MiscView.tsx +159 -0
  275. package/bizar-dash/src/web/v8/views/Mods/ModsView.tsx +348 -0
  276. package/bizar-dash/src/web/v8/views/Notifications/NotificationsView.tsx +178 -0
  277. package/bizar-dash/src/web/v8/views/Obsidian/ObsidianView.tsx +193 -0
  278. package/bizar-dash/src/web/v8/views/Overview/OverviewView.tsx +114 -11
  279. package/bizar-dash/src/web/v8/views/Projects/ProjectsView.tsx +253 -0
  280. package/bizar-dash/src/web/v8/views/Providers/ProvidersView.tsx +371 -0
  281. package/bizar-dash/src/web/v8/views/Router.tsx +125 -0
  282. package/bizar-dash/src/web/v8/views/Schedules/SchedulesView.tsx +46 -14
  283. package/bizar-dash/src/web/v8/views/Settings/SettingsView.tsx +322 -29
  284. package/bizar-dash/src/web/v8/views/Tasks/TasksView.tsx +168 -5
  285. package/bizar-dash/src/web/v8/views/Update/UpdateView.tsx +270 -0
  286. package/bizar-dash/src/web/v8/views/Usage/UsageView.tsx +210 -0
  287. package/bizar-dash/src/web/v8/views/Voice/VoiceView.tsx +192 -0
  288. package/bizar-dash/tests/tasks-patch-routes.test.mjs +194 -0
  289. package/bizar-dash/vite.config.ts +11 -3
  290. package/cli/__tests__/esm-no-require.test.mjs +97 -0
  291. package/cli/commands/tailscale.mjs +1 -3
  292. package/cli/commands/voice.mjs +2 -2
  293. package/cli/service-env.mjs +4 -5
  294. package/package.json +12 -3
  295. package/packages/sdk/dist/agent-registry.d.ts +134 -0
  296. package/packages/sdk/dist/agent-registry.js +228 -0
  297. package/packages/sdk/dist/consensus/byzantine.d.ts +159 -0
  298. package/packages/sdk/dist/consensus/byzantine.js +507 -0
  299. package/packages/sdk/dist/consensus/index.d.ts +60 -0
  300. package/packages/sdk/dist/consensus/index.js +76 -0
  301. package/packages/sdk/dist/consensus/queen.d.ts +86 -0
  302. package/packages/sdk/dist/consensus/queen.js +158 -0
  303. package/packages/sdk/dist/consensus/types.d.ts +155 -0
  304. package/packages/sdk/dist/consensus/types.js +29 -0
  305. package/packages/sdk/dist/dangerous-patterns.d.ts +27 -0
  306. package/packages/sdk/dist/dangerous-patterns.js +107 -0
  307. package/packages/sdk/dist/federation/audit.d.ts +71 -0
  308. package/packages/sdk/dist/federation/audit.js +133 -0
  309. package/packages/sdk/dist/federation/budget.d.ts +111 -0
  310. package/packages/sdk/dist/federation/budget.js +227 -0
  311. package/packages/sdk/dist/federation/envelope.d.ts +83 -0
  312. package/packages/sdk/dist/federation/envelope.js +92 -0
  313. package/packages/sdk/dist/federation/hmac.d.ts +61 -0
  314. package/packages/sdk/dist/federation/hmac.js +120 -0
  315. package/packages/sdk/dist/federation/index.d.ts +108 -0
  316. package/packages/sdk/dist/federation/index.js +275 -0
  317. package/packages/sdk/dist/federation/pii.d.ts +72 -0
  318. package/packages/sdk/dist/federation/pii.js +178 -0
  319. package/packages/sdk/dist/federation/policy.d.ts +50 -0
  320. package/packages/sdk/dist/federation/policy.js +76 -0
  321. package/packages/sdk/dist/federation/trust.d.ts +80 -0
  322. package/packages/sdk/dist/federation/trust.js +126 -0
  323. package/packages/sdk/dist/fingerprint.d.ts +18 -0
  324. package/packages/sdk/dist/fingerprint.js +0 -0
  325. package/packages/sdk/dist/index.d.ts +25 -0
  326. package/packages/sdk/dist/index.js +25 -0
  327. package/packages/sdk/dist/mcp/bin.d.ts +16 -0
  328. package/packages/sdk/dist/mcp/bin.js +46 -0
  329. package/packages/sdk/dist/mcp/server.d.ts +105 -0
  330. package/packages/sdk/dist/mcp/server.js +682 -0
  331. package/packages/sdk/dist/memory/index.d.ts +43 -0
  332. package/packages/sdk/dist/memory/index.js +159 -0
  333. package/packages/sdk/dist/router/codemod-intent.d.ts +68 -0
  334. package/packages/sdk/dist/router/codemod-intent.js +112 -0
  335. package/packages/sdk/dist/router/index.d.ts +100 -0
  336. package/packages/sdk/dist/router/index.js +149 -0
  337. package/packages/sdk/dist/router/memory-distillation.d.ts +58 -0
  338. package/packages/sdk/dist/router/memory-distillation.js +195 -0
  339. package/packages/sdk/dist/router/model-router.d.ts +83 -0
  340. package/packages/sdk/dist/router/model-router.js +207 -0
  341. package/packages/sdk/dist/router/q-learning-router.d.ts +85 -0
  342. package/packages/sdk/dist/router/q-learning-router.js +273 -0
  343. package/packages/sdk/dist/swarm-topology.d.ts +87 -0
  344. package/packages/sdk/dist/swarm-topology.js +219 -0
  345. package/packages/sdk/dist/version.d.ts +5 -0
  346. package/packages/sdk/dist/version.js +5 -0
  347. package/packages/sdk/package.json +1 -1
  348. package/plugins/bizar/dist/index.d.ts +25 -0
  349. package/plugins/bizar/dist/index.js +32 -0
  350. package/plugins/bizar/package.json +18 -0
  351. package/.claude/CLAUDE.md +0 -15
  352. package/.claude/agents/_shared/AGENT_BASELINE.md +0 -168
  353. package/.claude/agents/_shared/CLAUDE_TOOLS.md +0 -412
  354. package/.claude/agents/_shared/SKILLS.md +0 -109
  355. package/.claude/agents/agent-browser.md +0 -80
  356. package/.claude/agents/baldr.md +0 -49
  357. package/.claude/agents/forseti.md +0 -51
  358. package/.claude/agents/frigg.md +0 -42
  359. package/.claude/agents/heimdall.md +0 -33
  360. package/.claude/agents/hermod.md +0 -53
  361. package/.claude/agents/mimir.md +0 -49
  362. package/.claude/agents/odin.md +0 -287
  363. package/.claude/agents/quick.md +0 -34
  364. package/.claude/agents/semble-search.md +0 -50
  365. package/.claude/agents/thor.md +0 -53
  366. package/.claude/agents/tyr.md +0 -56
  367. package/.claude/agents/vidarr.md +0 -54
  368. package/.claude/agents/vor.md +0 -53
  369. package/.claude/commands/audit.md +0 -25
  370. package/.claude/commands/bizar.md +0 -22
  371. package/.claude/commands/explain.md +0 -17
  372. package/.claude/commands/goal.md +0 -98
  373. package/.claude/commands/init.md +0 -29
  374. package/.claude/commands/learn.md +0 -44
  375. package/.claude/commands/plan.md +0 -35
  376. package/.claude/commands/plow-through.md +0 -50
  377. package/.claude/commands/pr-review.md +0 -49
  378. package/.claude/commands/setup-provider.md +0 -96
  379. package/.claude/commands/tailscale-serve.md +0 -100
  380. package/.claude/commands/team.md +0 -132
  381. package/.claude/commands/test.md +0 -62
  382. package/.claude/commands/validate.md +0 -68
  383. package/.claude/commands/visual-plan.md +0 -24
  384. package/.claude/hooks/README.md +0 -92
  385. package/.claude/hooks/posttooluse-editwrite.mjs +0 -91
  386. package/.claude/hooks/pretooluse-bash.mjs +0 -81
  387. package/.claude/hooks/pretooluse-editwrite.mjs +0 -139
  388. package/.claude/hooks/sessionend-recall.mjs +0 -74
  389. package/.claude/hooks/sessionstart-prime.mjs +0 -80
  390. package/.claude/hooks/userpromptsubmit-tag.mjs +0 -80
  391. package/.claude/hooks/worker-suggest.mjs +0 -110
  392. package/.claude/settings.json +0 -125
  393. package/.claude/settings.local.json +0 -7
  394. package/.claude/skills/9router/SKILL.md +0 -80
  395. package/.claude/skills/9router-chat/SKILL.md +0 -73
  396. package/.claude/skills/9router-embeddings/SKILL.md +0 -69
  397. package/.claude/skills/9router-image/SKILL.md +0 -86
  398. package/.claude/skills/9router-stt/SKILL.md +0 -79
  399. package/.claude/skills/9router-tts/SKILL.md +0 -80
  400. package/.claude/skills/9router-web-fetch/SKILL.md +0 -99
  401. package/.claude/skills/9router-web-search/SKILL.md +0 -91
  402. package/.claude/skills/bizar/README.md +0 -9
  403. package/.claude/skills/bizar/SKILL.md +0 -450
  404. package/.claude/skills/cpp-coding-standards/README.md +0 -28
  405. package/.claude/skills/cpp-coding-standards/SKILL.md +0 -634
  406. package/.claude/skills/cpp-coding-standards/references/concurrency.md +0 -320
  407. package/.claude/skills/cpp-coding-standards/references/error-handling.md +0 -229
  408. package/.claude/skills/cpp-coding-standards/references/memory-safety.md +0 -216
  409. package/.claude/skills/cpp-coding-standards/references/modern-idioms.md +0 -282
  410. package/.claude/skills/cpp-coding-standards/references/review-checklist.md +0 -96
  411. package/.claude/skills/cpp-testing/README.md +0 -28
  412. package/.claude/skills/cpp-testing/SKILL.md +0 -304
  413. package/.claude/skills/cpp-testing/references/coverage.md +0 -370
  414. package/.claude/skills/cpp-testing/references/framework-compare.md +0 -175
  415. package/.claude/skills/cpp-testing/references/host-test-for-embedded.md +0 -499
  416. package/.claude/skills/cpp-testing/references/mocking.md +0 -364
  417. package/.claude/skills/cpp-testing/references/tdd-workflow.md +0 -308
  418. package/.claude/skills/cubesandbox/SKILL.md +0 -148
  419. package/.claude/skills/embedded-esp-idf/README.md +0 -41
  420. package/.claude/skills/embedded-esp-idf/SKILL.md +0 -439
  421. package/.claude/skills/embedded-esp-idf/references/freertos-patterns.md +0 -214
  422. package/.claude/skills/embedded-esp-idf/references/host-tests.md +0 -164
  423. package/.claude/skills/embedded-esp-idf/references/idf-py-commands.md +0 -157
  424. package/.claude/skills/embedded-esp-idf/references/kconfig.md +0 -159
  425. package/.claude/skills/embedded-esp-idf/references/logging-discipline.md +0 -118
  426. package/.claude/skills/embedded-esp-idf/references/memory-and-iram.md +0 -137
  427. package/.claude/skills/embedded-esp-idf/references/nvs.md +0 -121
  428. package/.claude/skills/embedded-esp-idf/references/packed-structs.md +0 -192
  429. package/.claude/skills/embedded-esp-idf/scripts/idf_env.sh +0 -47
  430. package/.claude/skills/embedded-esp-idf/scripts/size_check.sh +0 -77
  431. package/.claude/skills/glyph/SKILL.md +0 -163
  432. package/.claude/skills/harness-engineering/SKILL.md +0 -143
  433. package/.claude/skills/lightrag/SKILL.md +0 -81
  434. package/.claude/skills/memory-protocol/SKILL.md +0 -105
  435. package/.claude/skills/obsidian/SKILL.md +0 -306
  436. package/.claude/skills/read-the-damn-docs/SKILL.md +0 -113
  437. package/.claude/skills/self-improvement/SKILL.md +0 -64
  438. package/.claude/worktrees/kanban-overhaul/.claude/CLAUDE.md +0 -15
  439. package/.claude/worktrees/kanban-overhaul/.claude/agents/_shared/AGENT_BASELINE.md +0 -168
  440. package/.claude/worktrees/kanban-overhaul/.claude/agents/_shared/CLAUDE_TOOLS.md +0 -412
  441. package/.claude/worktrees/kanban-overhaul/.claude/agents/_shared/SKILLS.md +0 -109
  442. package/.claude/worktrees/kanban-overhaul/.claude/agents/agent-browser.md +0 -80
  443. package/.claude/worktrees/kanban-overhaul/.claude/agents/baldr.md +0 -49
  444. package/.claude/worktrees/kanban-overhaul/.claude/agents/forseti.md +0 -51
  445. package/.claude/worktrees/kanban-overhaul/.claude/agents/frigg.md +0 -42
  446. package/.claude/worktrees/kanban-overhaul/.claude/agents/heimdall.md +0 -33
  447. package/.claude/worktrees/kanban-overhaul/.claude/agents/hermod.md +0 -53
  448. package/.claude/worktrees/kanban-overhaul/.claude/agents/mimir.md +0 -49
  449. package/.claude/worktrees/kanban-overhaul/.claude/agents/odin.md +0 -287
  450. package/.claude/worktrees/kanban-overhaul/.claude/agents/quick.md +0 -34
  451. package/.claude/worktrees/kanban-overhaul/.claude/agents/semble-search.md +0 -50
  452. package/.claude/worktrees/kanban-overhaul/.claude/agents/thor.md +0 -53
  453. package/.claude/worktrees/kanban-overhaul/.claude/agents/tyr.md +0 -56
  454. package/.claude/worktrees/kanban-overhaul/.claude/agents/vidarr.md +0 -54
  455. package/.claude/worktrees/kanban-overhaul/.claude/agents/vor.md +0 -53
  456. package/.claude/worktrees/kanban-overhaul/.claude/commands/audit.md +0 -25
  457. package/.claude/worktrees/kanban-overhaul/.claude/commands/bizar.md +0 -22
  458. package/.claude/worktrees/kanban-overhaul/.claude/commands/explain.md +0 -17
  459. package/.claude/worktrees/kanban-overhaul/.claude/commands/init.md +0 -29
  460. package/.claude/worktrees/kanban-overhaul/.claude/commands/learn.md +0 -44
  461. package/.claude/worktrees/kanban-overhaul/.claude/commands/plan.md +0 -35
  462. package/.claude/worktrees/kanban-overhaul/.claude/commands/plow-through.md +0 -50
  463. package/.claude/worktrees/kanban-overhaul/.claude/commands/pr-review.md +0 -49
  464. package/.claude/worktrees/kanban-overhaul/.claude/commands/setup-provider.md +0 -96
  465. package/.claude/worktrees/kanban-overhaul/.claude/commands/tailscale-serve.md +0 -100
  466. package/.claude/worktrees/kanban-overhaul/.claude/commands/team.md +0 -132
  467. package/.claude/worktrees/kanban-overhaul/.claude/commands/test.md +0 -62
  468. package/.claude/worktrees/kanban-overhaul/.claude/commands/validate.md +0 -68
  469. package/.claude/worktrees/kanban-overhaul/.claude/commands/visual-plan.md +0 -24
  470. package/.claude/worktrees/kanban-overhaul/.claude/hooks/README.md +0 -92
  471. package/.claude/worktrees/kanban-overhaul/.claude/hooks/posttooluse-editwrite.mjs +0 -91
  472. package/.claude/worktrees/kanban-overhaul/.claude/hooks/pretooluse-bash.mjs +0 -81
  473. package/.claude/worktrees/kanban-overhaul/.claude/hooks/pretooluse-editwrite.mjs +0 -139
  474. package/.claude/worktrees/kanban-overhaul/.claude/hooks/sessionend-recall.mjs +0 -74
  475. package/.claude/worktrees/kanban-overhaul/.claude/hooks/sessionstart-prime.mjs +0 -80
  476. package/.claude/worktrees/kanban-overhaul/.claude/hooks/userpromptsubmit-tag.mjs +0 -80
  477. package/.claude/worktrees/kanban-overhaul/.claude/hooks/worker-suggest.mjs +0 -110
  478. package/.claude/worktrees/kanban-overhaul/.claude/settings.json +0 -125
  479. package/.claude/worktrees/kanban-overhaul/.claude/settings.local.json +0 -8
  480. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router/SKILL.md +0 -80
  481. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-chat/SKILL.md +0 -73
  482. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-embeddings/SKILL.md +0 -69
  483. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-image/SKILL.md +0 -86
  484. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-stt/SKILL.md +0 -79
  485. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-tts/SKILL.md +0 -80
  486. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-web-fetch/SKILL.md +0 -99
  487. package/.claude/worktrees/kanban-overhaul/.claude/skills/9router-web-search/SKILL.md +0 -91
  488. package/.claude/worktrees/kanban-overhaul/.claude/skills/bizar/README.md +0 -9
  489. package/.claude/worktrees/kanban-overhaul/.claude/skills/bizar/SKILL.md +0 -450
  490. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/README.md +0 -28
  491. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/SKILL.md +0 -634
  492. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/references/concurrency.md +0 -320
  493. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/references/error-handling.md +0 -229
  494. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/references/memory-safety.md +0 -216
  495. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/references/modern-idioms.md +0 -282
  496. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-coding-standards/references/review-checklist.md +0 -96
  497. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/README.md +0 -28
  498. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/SKILL.md +0 -304
  499. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/references/coverage.md +0 -370
  500. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/references/framework-compare.md +0 -175
  501. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/references/host-test-for-embedded.md +0 -499
  502. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/references/mocking.md +0 -364
  503. package/.claude/worktrees/kanban-overhaul/.claude/skills/cpp-testing/references/tdd-workflow.md +0 -308
  504. package/.claude/worktrees/kanban-overhaul/.claude/skills/cubesandbox/SKILL.md +0 -148
  505. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/README.md +0 -41
  506. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/SKILL.md +0 -439
  507. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/freertos-patterns.md +0 -214
  508. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/host-tests.md +0 -164
  509. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/idf-py-commands.md +0 -157
  510. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/kconfig.md +0 -159
  511. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/logging-discipline.md +0 -118
  512. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/memory-and-iram.md +0 -137
  513. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/nvs.md +0 -121
  514. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/references/packed-structs.md +0 -192
  515. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/scripts/idf_env.sh +0 -47
  516. package/.claude/worktrees/kanban-overhaul/.claude/skills/embedded-esp-idf/scripts/size_check.sh +0 -77
  517. package/.claude/worktrees/kanban-overhaul/.claude/skills/glyph/SKILL.md +0 -163
  518. package/.claude/worktrees/kanban-overhaul/.claude/skills/harness-engineering/SKILL.md +0 -143
  519. package/.claude/worktrees/kanban-overhaul/.claude/skills/lightrag/SKILL.md +0 -81
  520. package/.claude/worktrees/kanban-overhaul/.claude/skills/memory-protocol/SKILL.md +0 -105
  521. package/.claude/worktrees/kanban-overhaul/.claude/skills/obsidian/SKILL.md +0 -306
  522. package/.claude/worktrees/kanban-overhaul/.claude/skills/read-the-damn-docs/SKILL.md +0 -113
  523. package/.claude/worktrees/kanban-overhaul/.claude/skills/self-improvement/SKILL.md +0 -64
  524. package/.claude/worktrees/kanban-overhaul/.dockerignore +0 -31
  525. package/.claude/worktrees/kanban-overhaul/.gitattributes +0 -27
  526. package/.claude/worktrees/kanban-overhaul/.harness/agents.json +0 -17
  527. package/.claude/worktrees/kanban-overhaul/.harness/arch-rules.json +0 -69
  528. package/.claude/worktrees/kanban-overhaul/.harness/topology.json +0 -4
  529. package/.claude/worktrees/kanban-overhaul/.nvmrc +0 -1
  530. package/.claude/worktrees/kanban-overhaul/.serena/project.yml +0 -159
  531. package/.claude/worktrees/kanban-overhaul/AGENTS.md +0 -250
  532. package/.claude/worktrees/kanban-overhaul/CHANGELOG.md +0 -5410
  533. package/.claude/worktrees/kanban-overhaul/CLAUDE.md +0 -260
  534. package/.claude/worktrees/kanban-overhaul/CURRENT_ISSUES_ AND_NEW_FEATURES.md +0 -18
  535. package/.claude/worktrees/kanban-overhaul/DECISIONS.md +0 -66
  536. package/.claude/worktrees/kanban-overhaul/Dockerfile +0 -48
  537. package/.claude/worktrees/kanban-overhaul/FINAL_GOAL.md +0 -397
  538. package/.claude/worktrees/kanban-overhaul/IMPLEMENTATION_PLAN.md +0 -250
  539. package/.claude/worktrees/kanban-overhaul/MILESTONES.md +0 -257
  540. package/.claude/worktrees/kanban-overhaul/Makefile +0 -93
  541. package/.claude/worktrees/kanban-overhaul/PROGRESS.md +0 -1406
  542. package/.claude/worktrees/kanban-overhaul/README.md +0 -483
  543. package/.claude/worktrees/kanban-overhaul/ROADMAP.md +0 -609
  544. package/.claude/worktrees/kanban-overhaul/bizar-dash/.graphifyignore +0 -40
  545. package/.claude/worktrees/kanban-overhaul/bizar-dash/.obsidian/README.md +0 -14
  546. package/.claude/worktrees/kanban-overhaul/bizar-dash/.obsidian/daily/2026-06-25.md +0 -9
  547. package/.claude/worktrees/kanban-overhaul/bizar-dash/.obsidian/vault.json +0 -7
  548. package/.claude/worktrees/kanban-overhaul/bizar-dash/.od-skills/web-prototype-e1429c1737/SKILL.md +0 -103
  549. package/.claude/worktrees/kanban-overhaul/bizar-dash/.od-skills/web-prototype-e1429c1737/assets/template.html +0 -338
  550. package/.claude/worktrees/kanban-overhaul/bizar-dash/.od-skills/web-prototype-e1429c1737/example.html +0 -81
  551. package/.claude/worktrees/kanban-overhaul/bizar-dash/.od-skills/web-prototype-e1429c1737/open-design.json +0 -172
  552. package/.claude/worktrees/kanban-overhaul/bizar-dash/.od-skills/web-prototype-e1429c1737/references/checklist.md +0 -44
  553. package/.claude/worktrees/kanban-overhaul/bizar-dash/.od-skills/web-prototype-e1429c1737/references/layouts.md +0 -247
  554. package/.claude/worktrees/kanban-overhaul/bizar-dash/ARCHITECTURE.md +0 -197
  555. package/.claude/worktrees/kanban-overhaul/bizar-dash/CHANGELOG.md +0 -235
  556. package/.claude/worktrees/kanban-overhaul/bizar-dash/DESIGN.md +0 -912
  557. package/.claude/worktrees/kanban-overhaul/bizar-dash/GLYPH.md +0 -418
  558. package/.claude/worktrees/kanban-overhaul/bizar-dash/PLAN.md +0 -1135
  559. package/.claude/worktrees/kanban-overhaul/bizar-dash/critique.json +0 -26
  560. package/.claude/worktrees/kanban-overhaul/bizar-dash/plans/debug-plan/comments.json +0 -1
  561. package/.claude/worktrees/kanban-overhaul/bizar-dash/plans/debug-plan/meta.json +0 -10
  562. package/.claude/worktrees/kanban-overhaul/bizar-dash/plans/debug-plan/plan.json +0 -174
  563. package/.claude/worktrees/kanban-overhaul/bizar-dash/scripts/smoke-bg-retry.mjs +0 -246
  564. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/agent-baseline/SKILL.md +0 -80
  565. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/agent-browser/SKILL.md +0 -181
  566. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/bizar/SKILL.md +0 -116
  567. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/chat/SKILL.md +0 -74
  568. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/eval/SKILL.md +0 -237
  569. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/headroom/SKILL.md +0 -94
  570. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/lightrag/SKILL.md +0 -86
  571. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/minimax/SKILL.md +0 -80
  572. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/obsidian/SKILL.md +0 -68
  573. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/providers/SKILL.md +0 -75
  574. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/publishing/SKILL.md +0 -146
  575. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/sdk/SKILL.md +0 -138
  576. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/self-improvement/SKILL.md +0 -53
  577. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/skills-cli/SKILL.md +0 -94
  578. package/.claude/worktrees/kanban-overhaul/bizar-dash/skills/usage/SKILL.md +0 -62
  579. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/cli/dashboard-ports.mjs +0 -488
  580. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/cli.mjs +0 -537
  581. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/activity-log.mjs +0 -174
  582. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/agents-store.mjs +0 -465
  583. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/api.mjs +0 -223
  584. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/artifact-template.html +0 -810
  585. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/artifacts-store.mjs +0 -733
  586. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/auth.mjs +0 -548
  587. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/background-store.mjs +0 -446
  588. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/backup-store.mjs +0 -530
  589. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/bg-poller.mjs +0 -375
  590. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/bg-retry.mjs +0 -446
  591. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/bg-spawner.mjs +0 -390
  592. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/browser.mjs +0 -40
  593. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/claude-bg-spawner.mjs +0 -390
  594. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/claude-info.mjs +0 -412
  595. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/claude-runner.mjs +0 -284
  596. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/claude-sdk.mjs +0 -191
  597. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/diagnostics-store.mjs +0 -598
  598. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/dialog-poller.mjs +0 -105
  599. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/dialog-store.mjs +0 -177
  600. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/digest-store.mjs +0 -558
  601. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/eval-store.mjs +0 -281
  602. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/eval.mjs +0 -500
  603. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/glyphs/mdx-compiler.mjs +0 -596
  604. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/headroom.mjs +0 -649
  605. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/lib/path-safe.mjs +0 -283
  606. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/lib/rate-limit.mjs +0 -122
  607. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/logger.mjs +0 -71
  608. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-consolidator.mjs +0 -225
  609. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-distillation.mjs +0 -296
  610. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-git.mjs +0 -473
  611. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-lightrag.mjs +0 -1478
  612. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-obsidian.mjs +0 -230
  613. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-schema.mjs +0 -145
  614. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-secrets.mjs +0 -84
  615. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/memory-store.mjs +0 -1093
  616. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/metrics.mjs +0 -268
  617. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/minimax-usage-store.mjs +0 -372
  618. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/minimax.mjs +0 -683
  619. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/mod-security.mjs +0 -398
  620. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/mods-loader.mjs +0 -1243
  621. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/notifications-store.mjs +0 -243
  622. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/obsidian-store.mjs +0 -318
  623. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/ocr.mjs +0 -55
  624. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/otel.mjs +0 -260
  625. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/pair-store.mjs +0 -138
  626. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/progress-parser.mjs +0 -221
  627. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/projects-store.mjs +0 -364
  628. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/providers-store.mjs +0 -1801
  629. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/_shared.mjs +0 -447
  630. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/activity.mjs +0 -195
  631. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/agents-cc.mjs +0 -194
  632. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/agents.mjs +0 -134
  633. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/artifacts.mjs +0 -279
  634. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/auth.mjs +0 -69
  635. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/background.mjs +0 -422
  636. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/backup.mjs +0 -112
  637. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/chat.mjs +0 -727
  638. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/claude-session-detail.mjs +0 -329
  639. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/claude-sessions.mjs +0 -259
  640. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/clipboard.mjs +0 -173
  641. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/config.mjs +0 -180
  642. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/diagnostics.mjs +0 -50
  643. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/dialogs.mjs +0 -86
  644. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/digests.mjs +0 -82
  645. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/distill.mjs +0 -129
  646. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/doctor.mjs +0 -71
  647. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/env-vars.mjs +0 -231
  648. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/eval.mjs +0 -187
  649. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/fs.mjs +0 -429
  650. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/goal-planner.mjs +0 -236
  651. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/goals.mjs +0 -212
  652. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/headroom.mjs +0 -126
  653. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/history.mjs +0 -78
  654. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/lightrag.mjs +0 -169
  655. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/memory.mjs +0 -1524
  656. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/minimax.mjs +0 -133
  657. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/misc.mjs +0 -90
  658. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/mods.mjs +0 -359
  659. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/notifications.mjs +0 -54
  660. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/obsidian.mjs +0 -239
  661. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/ocr.mjs +0 -182
  662. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/overview.mjs +0 -92
  663. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/pair.mjs +0 -67
  664. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/projects.mjs +0 -175
  665. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/providers.mjs +0 -308
  666. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/schedules.mjs +0 -159
  667. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/settings.mjs +0 -51
  668. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/skills.mjs +0 -65
  669. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/tailscale.mjs +0 -46
  670. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/tasks.mjs +0 -518
  671. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/themes.mjs +0 -51
  672. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/update.mjs +0 -340
  673. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/usage.mjs +0 -136
  674. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/users.mjs +0 -102
  675. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/voice.mjs +0 -167
  676. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes/workspaces.mjs +0 -299
  677. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes-v2/auth.mjs +0 -59
  678. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes-v2/events.mjs +0 -121
  679. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes-v2/health.mjs +0 -21
  680. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes-v2/index.mjs +0 -90
  681. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/routes-v2/sessions.mjs +0 -111
  682. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/schedules-runner.mjs +0 -556
  683. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/schedules-store.mjs +0 -268
  684. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/search-store.mjs +0 -220
  685. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/serve-info.mjs +0 -1110
  686. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/server.mjs +0 -966
  687. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/settings-store.mjs +0 -45
  688. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/skills-store.mjs +0 -190
  689. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/state.mjs +0 -437
  690. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/tailscale-store.mjs +0 -113
  691. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/task-delegator.mjs +0 -969
  692. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/tasks-store.mjs +0 -556
  693. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/tui.mjs +0 -923
  694. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/update-store.mjs +0 -168
  695. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/v2-auth-file.mjs +0 -99
  696. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/v2-event-bus.mjs +0 -128
  697. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/voice-store.mjs +0 -229
  698. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/voice-transcribe.mjs +0 -72
  699. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/watcher.mjs +0 -81
  700. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/workers/transcription-worker.mjs +0 -213
  701. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/workspaces.mjs +0 -626
  702. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/server/yaml.mjs +0 -238
  703. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/App.tsx +0 -200
  704. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/data/fetcher.ts +0 -59
  705. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/data/types.ts +0 -168
  706. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/data/useFetch.ts +0 -62
  707. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/data/useWebSocket.ts +0 -153
  708. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/main.tsx +0 -28
  709. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/shell/AppShell.tsx +0 -90
  710. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/shell/PageSkeleton.tsx +0 -29
  711. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/shell/Sidebar.tsx +0 -361
  712. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/shell/StatusBar.tsx +0 -63
  713. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/shell/Topbar.tsx +0 -113
  714. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/shell/index.ts +0 -15
  715. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/activity/ActivityFeed.tsx +0 -137
  716. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/agents/AgentActivity.tsx +0 -101
  717. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/agents/AgentCard.tsx +0 -158
  718. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/agents/AgentDetail.tsx +0 -232
  719. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Button.tsx +0 -141
  720. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/ButtonGroup.tsx +0 -32
  721. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Checkbox.tsx +0 -49
  722. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Field.tsx +0 -78
  723. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Form.tsx +0 -23
  724. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/IconButton.tsx +0 -112
  725. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Input.tsx +0 -94
  726. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/RadioGroup.tsx +0 -74
  727. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Select.tsx +0 -171
  728. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Slider.tsx +0 -68
  729. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Switch.tsx +0 -56
  730. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Textarea.tsx +0 -64
  731. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/Toggle.tsx +0 -36
  732. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/controls/ToggleGroup.tsx +0 -85
  733. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Accordion.tsx +0 -134
  734. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Avatar.tsx +0 -175
  735. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Badge.tsx +0 -93
  736. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/BarList.tsx +0 -101
  737. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Card.tsx +0 -140
  738. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Chip.tsx +0 -96
  739. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Kbd.tsx +0 -42
  740. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/ProgressBar.tsx +0 -93
  741. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Sparkline.tsx +0 -98
  742. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/StatTile.tsx +0 -150
  743. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Table.tsx +0 -170
  744. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/Timeline.tsx +0 -130
  745. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/data/ViewHeader.tsx +0 -122
  746. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Alert.tsx +0 -95
  747. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Banner.tsx +0 -39
  748. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/ContextMenu.tsx +0 -143
  749. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Dialog.tsx +0 -149
  750. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Drawer.tsx +0 -8
  751. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/DropdownMenu.tsx +0 -231
  752. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/EmptyState.tsx +0 -48
  753. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Popover.tsx +0 -56
  754. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Sheet.tsx +0 -103
  755. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Skeleton.tsx +0 -67
  756. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Spinner.tsx +0 -30
  757. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Toast.tsx +0 -66
  758. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/feedback/Tooltip.tsx +0 -89
  759. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/goals/GoalCard.tsx +0 -176
  760. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/goals/GoalDetail.tsx +0 -245
  761. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/goals/KeyResult.tsx +0 -115
  762. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/index.ts +0 -349
  763. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanBoard.tsx +0 -115
  764. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanCard.tsx +0 -391
  765. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanCardBadges.tsx +0 -111
  766. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanColumn.tsx +0 -181
  767. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanContextMenu.tsx +0 -126
  768. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanDetailDialog.tsx +0 -638
  769. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanEmptyColumn.tsx +0 -43
  770. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanProgress.tsx +0 -130
  771. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanQuickAdd.tsx +0 -141
  772. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/KanbanToolbar.tsx +0 -291
  773. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/kanban/useKanbanSelection.ts +0 -90
  774. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/libraries/LibraryGrid.tsx +0 -30
  775. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/libraries/LibraryItem.tsx +0 -161
  776. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/memory/MemoryVault.tsx +0 -144
  777. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/navigation/CommandPalette.tsx +0 -224
  778. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/navigation/NavLink.tsx +0 -81
  779. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/navigation/Pagination.tsx +0 -164
  780. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/navigation/Tabs.tsx +0 -128
  781. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Box.tsx +0 -144
  782. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Center.tsx +0 -40
  783. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Cluster.tsx +0 -67
  784. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Grid.tsx +0 -104
  785. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Inline.tsx +0 -77
  786. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Portal.tsx +0 -33
  787. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/ScrollArea.tsx +0 -62
  788. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Separator.tsx +0 -42
  789. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/Stack.tsx +0 -73
  790. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/primitives/VisuallyHidden.tsx +0 -49
  791. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/settings/SettingsNav.tsx +0 -91
  792. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/settings/SettingsRow.tsx +0 -88
  793. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/settings/SettingsSection.tsx +0 -109
  794. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/styles/globals.css +0 -220
  795. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/styles/reset.css +0 -57
  796. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/styles/tokens.css +0 -217
  797. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/theme/DensityProvider.tsx +0 -66
  798. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/theme/ThemeProvider.tsx +0 -94
  799. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/theme/ThemeToggle.tsx +0 -88
  800. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/theme/useDensity.ts +0 -15
  801. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/theme/useTheme.ts +0 -16
  802. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/ui/utils/cx.ts +0 -19
  803. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Activity/ActivityView.tsx +0 -71
  804. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Agents/AgentsView.tsx +0 -172
  805. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/CommandPalette/AppCommandPalette.tsx +0 -247
  806. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Goals/GoalsView.tsx +0 -137
  807. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Libraries/LibrariesView.tsx +0 -108
  808. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Memory/MemoryView.tsx +0 -77
  809. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Overview/OverviewView.tsx +0 -152
  810. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Router.tsx +0 -72
  811. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Settings/SettingsView.tsx +0 -330
  812. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Tasks/CommandPalettePlaceholder.tsx +0 -106
  813. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/views/Tasks/TasksView.tsx +0 -792
  814. package/.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8/vite-env.d.ts +0 -15
  815. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/FORMAT.md +0 -76
  816. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/hello-mod/README.md +0 -19
  817. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/hello-mod/agents/greeter.md +0 -8
  818. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/hello-mod/commands/hello.md +0 -6
  819. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/hello-mod/mod.json +0 -20
  820. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/hello-mod/routes/ping.mjs +0 -9
  821. package/.claude/worktrees/kanban-overhaul/bizar-dash/templates/mod/hello-mod/views/HelloView.tsx +0 -10
  822. package/.claude/worktrees/kanban-overhaul/bizar-dash/tests/setup.ts +0 -63
  823. package/.claude/worktrees/kanban-overhaul/bizar-dash/tests/smoke-v2.mjs +0 -212
  824. package/.claude/worktrees/kanban-overhaul/bizar-dash/tsconfig.json +0 -23
  825. package/.claude/worktrees/kanban-overhaul/bizar-dash/vite.config.ts +0 -66
  826. package/.claude/worktrees/kanban-overhaul/bizar-dash/vitest.config.ts +0 -20
  827. package/.claude/worktrees/kanban-overhaul/bizar-plugins/registry.json +0 -62
  828. package/.claude/worktrees/kanban-overhaul/bookmarklet/bizar-clipper.js +0 -48
  829. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/README.md +0 -43
  830. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/background.js +0 -95
  831. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/content.js +0 -170
  832. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/icons/icon-128.png +0 -0
  833. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/icons/icon-16.png +0 -0
  834. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/icons/icon-48.png +0 -0
  835. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/icons/icon.svg +0 -4
  836. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/manifest.json +0 -32
  837. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/popup.html +0 -66
  838. package/.claude/worktrees/kanban-overhaul/browser-extensions/bizar-clipper/popup.js +0 -110
  839. package/.claude/worktrees/kanban-overhaul/bun.lock +0 -1558
  840. package/.claude/worktrees/kanban-overhaul/cli/agent-browser-up.sh +0 -152
  841. package/.claude/worktrees/kanban-overhaul/cli/agent-browser-update.mjs +0 -322
  842. package/.claude/worktrees/kanban-overhaul/cli/artifact-cli.mjs +0 -605
  843. package/.claude/worktrees/kanban-overhaul/cli/artifact-render.mjs +0 -621
  844. package/.claude/worktrees/kanban-overhaul/cli/artifact-server.mjs +0 -847
  845. package/.claude/worktrees/kanban-overhaul/cli/artifact-templates.mjs +0 -523
  846. package/.claude/worktrees/kanban-overhaul/cli/artifact.mjs +0 -63
  847. package/.claude/worktrees/kanban-overhaul/cli/atomic.mjs +0 -73
  848. package/.claude/worktrees/kanban-overhaul/cli/audit.mjs +0 -141
  849. package/.claude/worktrees/kanban-overhaul/cli/banner.mjs +0 -41
  850. package/.claude/worktrees/kanban-overhaul/cli/bg.mjs +0 -471
  851. package/.claude/worktrees/kanban-overhaul/cli/bin.mjs +0 -698
  852. package/.claude/worktrees/kanban-overhaul/cli/bootstrap.mjs +0 -77
  853. package/.claude/worktrees/kanban-overhaul/cli/commands/artifact.mjs +0 -20
  854. package/.claude/worktrees/kanban-overhaul/cli/commands/claim.mjs +0 -282
  855. package/.claude/worktrees/kanban-overhaul/cli/commands/claude-cmd.mjs +0 -348
  856. package/.claude/worktrees/kanban-overhaul/cli/commands/clip.mjs +0 -163
  857. package/.claude/worktrees/kanban-overhaul/cli/commands/cost.mjs +0 -279
  858. package/.claude/worktrees/kanban-overhaul/cli/commands/dash.mjs +0 -193
  859. package/.claude/worktrees/kanban-overhaul/cli/commands/deploy/cloudflare.mjs +0 -250
  860. package/.claude/worktrees/kanban-overhaul/cli/commands/deploy/docker.mjs +0 -222
  861. package/.claude/worktrees/kanban-overhaul/cli/commands/deploy/fly.mjs +0 -161
  862. package/.claude/worktrees/kanban-overhaul/cli/commands/deploy/vercel.mjs +0 -225
  863. package/.claude/worktrees/kanban-overhaul/cli/commands/deploy.mjs +0 -240
  864. package/.claude/worktrees/kanban-overhaul/cli/commands/eval.mjs +0 -396
  865. package/.claude/worktrees/kanban-overhaul/cli/commands/headroom.mjs +0 -204
  866. package/.claude/worktrees/kanban-overhaul/cli/commands/install.mjs +0 -170
  867. package/.claude/worktrees/kanban-overhaul/cli/commands/lightrag.mjs +0 -170
  868. package/.claude/worktrees/kanban-overhaul/cli/commands/marketplace.mjs +0 -64
  869. package/.claude/worktrees/kanban-overhaul/cli/commands/memory.mjs +0 -25
  870. package/.claude/worktrees/kanban-overhaul/cli/commands/minimax.mjs +0 -288
  871. package/.claude/worktrees/kanban-overhaul/cli/commands/mod.mjs +0 -185
  872. package/.claude/worktrees/kanban-overhaul/cli/commands/ocr.mjs +0 -182
  873. package/.claude/worktrees/kanban-overhaul/cli/commands/plugin.mjs +0 -358
  874. package/.claude/worktrees/kanban-overhaul/cli/commands/rca.mjs +0 -198
  875. package/.claude/worktrees/kanban-overhaul/cli/commands/sandbox.mjs +0 -220
  876. package/.claude/worktrees/kanban-overhaul/cli/commands/service.mjs +0 -79
  877. package/.claude/worktrees/kanban-overhaul/cli/commands/setup-provider.mjs +0 -466
  878. package/.claude/worktrees/kanban-overhaul/cli/commands/tailscale.mjs +0 -258
  879. package/.claude/worktrees/kanban-overhaul/cli/commands/usage.mjs +0 -113
  880. package/.claude/worktrees/kanban-overhaul/cli/commands/util.mjs +0 -577
  881. package/.claude/worktrees/kanban-overhaul/cli/commands/validate.mjs +0 -541
  882. package/.claude/worktrees/kanban-overhaul/cli/commands/voice.mjs +0 -211
  883. package/.claude/worktrees/kanban-overhaul/cli/commands/workspace.mjs +0 -247
  884. package/.claude/worktrees/kanban-overhaul/cli/copy.mjs +0 -586
  885. package/.claude/worktrees/kanban-overhaul/cli/cost-gate.mjs +0 -501
  886. package/.claude/worktrees/kanban-overhaul/cli/dev-link.mjs +0 -191
  887. package/.claude/worktrees/kanban-overhaul/cli/digest.mjs +0 -149
  888. package/.claude/worktrees/kanban-overhaul/cli/doctor.mjs +0 -217
  889. package/.claude/worktrees/kanban-overhaul/cli/export.mjs +0 -95
  890. package/.claude/worktrees/kanban-overhaul/cli/feature-list-bridge.mjs +0 -400
  891. package/.claude/worktrees/kanban-overhaul/cli/heads-up.mjs +0 -295
  892. package/.claude/worktrees/kanban-overhaul/cli/init.mjs +0 -368
  893. package/.claude/worktrees/kanban-overhaul/cli/install.mjs +0 -640
  894. package/.claude/worktrees/kanban-overhaul/cli/memory-constants.mjs +0 -76
  895. package/.claude/worktrees/kanban-overhaul/cli/memory.mjs +0 -1850
  896. package/.claude/worktrees/kanban-overhaul/cli/plugin-runtime-deps.mjs +0 -250
  897. package/.claude/worktrees/kanban-overhaul/cli/post-install-smoke.mjs +0 -256
  898. package/.claude/worktrees/kanban-overhaul/cli/prompts.mjs +0 -168
  899. package/.claude/worktrees/kanban-overhaul/cli/providers-detect.mjs +0 -233
  900. package/.claude/worktrees/kanban-overhaul/cli/provision-claude.mjs +0 -1176
  901. package/.claude/worktrees/kanban-overhaul/cli/provision.mjs +0 -2233
  902. package/.claude/worktrees/kanban-overhaul/cli/repair.mjs +0 -209
  903. package/.claude/worktrees/kanban-overhaul/cli/service-controller.mjs +0 -927
  904. package/.claude/worktrees/kanban-overhaul/cli/service-env.mjs +0 -139
  905. package/.claude/worktrees/kanban-overhaul/cli/service.mjs +0 -492
  906. package/.claude/worktrees/kanban-overhaul/cli/update.mjs +0 -29
  907. package/.claude/worktrees/kanban-overhaul/cli/utils.mjs +0 -221
  908. package/.claude/worktrees/kanban-overhaul/cli/worker-dispatcher.mjs +0 -259
  909. package/.claude/worktrees/kanban-overhaul/config/AGENTS.md +0 -595
  910. package/.claude/worktrees/kanban-overhaul/config/agents/_shared/AGENT_BASELINE.md +0 -155
  911. package/.claude/worktrees/kanban-overhaul/config/agents/_shared/CLINE_TOOLS.md +0 -398
  912. package/.claude/worktrees/kanban-overhaul/config/agents/_shared/SKILLS.md +0 -109
  913. package/.claude/worktrees/kanban-overhaul/config/agents/agent-browser.md +0 -90
  914. package/.claude/worktrees/kanban-overhaul/config/agents/baldr.md +0 -60
  915. package/.claude/worktrees/kanban-overhaul/config/agents/forseti.md +0 -60
  916. package/.claude/worktrees/kanban-overhaul/config/agents/frigg.md +0 -52
  917. package/.claude/worktrees/kanban-overhaul/config/agents/heimdall.md +0 -44
  918. package/.claude/worktrees/kanban-overhaul/config/agents/hermod.md +0 -64
  919. package/.claude/worktrees/kanban-overhaul/config/agents/mimir.md +0 -60
  920. package/.claude/worktrees/kanban-overhaul/config/agents/odin.md +0 -310
  921. package/.claude/worktrees/kanban-overhaul/config/agents/quick.md +0 -47
  922. package/.claude/worktrees/kanban-overhaul/config/agents/semble-search.md +0 -59
  923. package/.claude/worktrees/kanban-overhaul/config/agents/thor.md +0 -64
  924. package/.claude/worktrees/kanban-overhaul/config/agents/tyr.md +0 -67
  925. package/.claude/worktrees/kanban-overhaul/config/agents/vidarr.md +0 -65
  926. package/.claude/worktrees/kanban-overhaul/config/agents/vor.md +0 -62
  927. package/.claude/worktrees/kanban-overhaul/config/commands/audit.md +0 -5
  928. package/.claude/worktrees/kanban-overhaul/config/commands/bizar.md +0 -22
  929. package/.claude/worktrees/kanban-overhaul/config/commands/explain.md +0 -5
  930. package/.claude/worktrees/kanban-overhaul/config/commands/init.md +0 -26
  931. package/.claude/worktrees/kanban-overhaul/config/commands/learn.md +0 -5
  932. package/.claude/worktrees/kanban-overhaul/config/commands/plan.md +0 -30
  933. package/.claude/worktrees/kanban-overhaul/config/commands/plow-through.md +0 -47
  934. package/.claude/worktrees/kanban-overhaul/config/commands/pr-review.md +0 -5
  935. package/.claude/worktrees/kanban-overhaul/config/commands/setup-provider.md +0 -95
  936. package/.claude/worktrees/kanban-overhaul/config/commands/tailscale-serve.md +0 -97
  937. package/.claude/worktrees/kanban-overhaul/config/commands/team.md +0 -124
  938. package/.claude/worktrees/kanban-overhaul/config/commands/test.md +0 -60
  939. package/.claude/worktrees/kanban-overhaul/config/commands/validate.md +0 -66
  940. package/.claude/worktrees/kanban-overhaul/config/commands/visual-plan.md +0 -19
  941. package/.claude/worktrees/kanban-overhaul/config/hooks/PostToolUse +0 -66
  942. package/.claude/worktrees/kanban-overhaul/config/hooks/PreToolUse +0 -82
  943. package/.claude/worktrees/kanban-overhaul/config/hooks/README.md +0 -68
  944. package/.claude/worktrees/kanban-overhaul/config/hooks/TaskResume +0 -48
  945. package/.claude/worktrees/kanban-overhaul/config/hooks/TaskStart +0 -47
  946. package/.claude/worktrees/kanban-overhaul/config/hooks/UserPromptSubmit +0 -55
  947. package/.claude/worktrees/kanban-overhaul/config/rules/general.md +0 -9
  948. package/.claude/worktrees/kanban-overhaul/config/rules/git.md +0 -11
  949. package/.claude/worktrees/kanban-overhaul/config/rules/javascript.md +0 -10
  950. package/.claude/worktrees/kanban-overhaul/config/rules/python.md +0 -10
  951. package/.claude/worktrees/kanban-overhaul/config/rules/testing.md +0 -10
  952. package/.claude/worktrees/kanban-overhaul/config/rules/thinking.md +0 -56
  953. package/.claude/worktrees/kanban-overhaul/config/rules/uncertainty.md +0 -70
  954. package/.claude/worktrees/kanban-overhaul/config/skills/9router/SKILL.md +0 -80
  955. package/.claude/worktrees/kanban-overhaul/config/skills/9router-chat/SKILL.md +0 -73
  956. package/.claude/worktrees/kanban-overhaul/config/skills/9router-embeddings/SKILL.md +0 -69
  957. package/.claude/worktrees/kanban-overhaul/config/skills/9router-image/SKILL.md +0 -86
  958. package/.claude/worktrees/kanban-overhaul/config/skills/9router-stt/SKILL.md +0 -79
  959. package/.claude/worktrees/kanban-overhaul/config/skills/9router-tts/SKILL.md +0 -80
  960. package/.claude/worktrees/kanban-overhaul/config/skills/9router-web-fetch/SKILL.md +0 -99
  961. package/.claude/worktrees/kanban-overhaul/config/skills/9router-web-search/SKILL.md +0 -91
  962. package/.claude/worktrees/kanban-overhaul/config/skills/bizar/README.md +0 -9
  963. package/.claude/worktrees/kanban-overhaul/config/skills/bizar/SKILL.md +0 -447
  964. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/README.md +0 -28
  965. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/SKILL.md +0 -634
  966. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/agents/openai.yaml +0 -4
  967. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/references/concurrency.md +0 -320
  968. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/references/error-handling.md +0 -229
  969. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/references/memory-safety.md +0 -216
  970. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/references/modern-idioms.md +0 -282
  971. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-coding-standards/references/review-checklist.md +0 -96
  972. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/README.md +0 -28
  973. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/SKILL.md +0 -304
  974. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/agents/openai.yaml +0 -4
  975. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/references/coverage.md +0 -370
  976. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/references/framework-compare.md +0 -175
  977. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/references/host-test-for-embedded.md +0 -499
  978. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/references/mocking.md +0 -364
  979. package/.claude/worktrees/kanban-overhaul/config/skills/cpp-testing/references/tdd-workflow.md +0 -308
  980. package/.claude/worktrees/kanban-overhaul/config/skills/cubesandbox/SKILL.md +0 -148
  981. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/README.md +0 -41
  982. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/SKILL.md +0 -439
  983. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/agents/openai.yaml +0 -4
  984. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/freertos-patterns.md +0 -214
  985. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/host-tests.md +0 -164
  986. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/idf-py-commands.md +0 -157
  987. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/kconfig.md +0 -159
  988. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/logging-discipline.md +0 -118
  989. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/memory-and-iram.md +0 -137
  990. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/nvs.md +0 -121
  991. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/references/packed-structs.md +0 -192
  992. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/scripts/idf_env.sh +0 -47
  993. package/.claude/worktrees/kanban-overhaul/config/skills/embedded-esp-idf/scripts/size_check.sh +0 -77
  994. package/.claude/worktrees/kanban-overhaul/config/skills/glyph/SKILL.md +0 -163
  995. package/.claude/worktrees/kanban-overhaul/config/skills/harness-engineering/SKILL.md +0 -142
  996. package/.claude/worktrees/kanban-overhaul/config/skills/lightrag/SKILL.md +0 -81
  997. package/.claude/worktrees/kanban-overhaul/config/skills/memory-protocol/SKILL.md +0 -105
  998. package/.claude/worktrees/kanban-overhaul/config/skills/obsidian/SKILL.md +0 -306
  999. package/.claude/worktrees/kanban-overhaul/config/skills/read-the-damn-docs/SKILL.md +0 -113
  1000. package/.claude/worktrees/kanban-overhaul/config/skills/self-improvement/SKILL.md +0 -64
  1001. package/.claude/worktrees/kanban-overhaul/config/trigger-patterns.json +0 -186
  1002. package/.claude/worktrees/kanban-overhaul/docker-compose.yml +0 -50
  1003. package/.claude/worktrees/kanban-overhaul/docs/A11Y.md +0 -81
  1004. package/.claude/worktrees/kanban-overhaul/docs/DEPLOY.md +0 -360
  1005. package/.claude/worktrees/kanban-overhaul/docs/DOCKER.md +0 -250
  1006. package/.claude/worktrees/kanban-overhaul/docs/INDEX.md +0 -223
  1007. package/.claude/worktrees/kanban-overhaul/docs/PLUGIN_REGISTRY.md +0 -107
  1008. package/.claude/worktrees/kanban-overhaul/docs/RELEASING.md +0 -693
  1009. package/.claude/worktrees/kanban-overhaul/docs/architecture.md +0 -317
  1010. package/.claude/worktrees/kanban-overhaul/docs/code-review.md +0 -242
  1011. package/.claude/worktrees/kanban-overhaul/docs/curator.md +0 -144
  1012. package/.claude/worktrees/kanban-overhaul/docs/dashboard-ui-migration.md +0 -807
  1013. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-001-cline-rewrite.md +0 -114
  1014. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-002-in-process-clinecore.md +0 -139
  1015. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-003-in-process-memory-vault.md +0 -101
  1016. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-004-cline-agent-teams.md +0 -112
  1017. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-005-bg-agents-via-dashboard.md +0 -77
  1018. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-006-kanban-board.md +0 -69
  1019. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-007-tool-approval-gate.md +0 -147
  1020. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-008-skill-curator.md +0 -100
  1021. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-009-pre-compaction-flush.md +0 -106
  1022. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-010-knowledge-graph-tools.md +0 -95
  1023. package/.claude/worktrees/kanban-overhaul/docs/decisions/DEC-011-claude-code-migration.md +0 -172
  1024. package/.claude/worktrees/kanban-overhaul/docs/graph-tools.md +0 -130
  1025. package/.claude/worktrees/kanban-overhaul/docs/migration-guide.md +0 -471
  1026. package/.claude/worktrees/kanban-overhaul/docs/migrations/cline-replacement.md +0 -118
  1027. package/.claude/worktrees/kanban-overhaul/docs/postmortems/2026-06-18-plugin-state-deadlock.md +0 -250
  1028. package/.claude/worktrees/kanban-overhaul/docs/quality-document.md +0 -74
  1029. package/.claude/worktrees/kanban-overhaul/docs/releases/v0.5.2.md +0 -66
  1030. package/.claude/worktrees/kanban-overhaul/docs/releases/v0.5.4.md +0 -85
  1031. package/.claude/worktrees/kanban-overhaul/docs/releases/v2.3.0.md +0 -96
  1032. package/.claude/worktrees/kanban-overhaul/docs/releases/v3.24.0.md +0 -155
  1033. package/.claude/worktrees/kanban-overhaul/docs/releases/v4.0.0.md +0 -123
  1034. package/.claude/worktrees/kanban-overhaul/docs/releases/v7.0.0.md +0 -173
  1035. package/.claude/worktrees/kanban-overhaul/docs/safety.md +0 -216
  1036. package/.claude/worktrees/kanban-overhaul/feature_list.json +0 -1297
  1037. package/.claude/worktrees/kanban-overhaul/init.sh +0 -211
  1038. package/.claude/worktrees/kanban-overhaul/install.sh +0 -498
  1039. package/.claude/worktrees/kanban-overhaul/mods-examples/impeccable/INSTRUCTIONS.md +0 -82
  1040. package/.claude/worktrees/kanban-overhaul/mods-examples/impeccable/mod.json +0 -37
  1041. package/.claude/worktrees/kanban-overhaul/mods-examples/impeccable/route.mjs +0 -136
  1042. package/.claude/worktrees/kanban-overhaul/mods-examples/impeccable/web/index.html +0 -180
  1043. package/.claude/worktrees/kanban-overhaul/mods-examples/lightrag/INSTRUCTIONS.md +0 -81
  1044. package/.claude/worktrees/kanban-overhaul/mods-examples/lightrag/mod.json +0 -61
  1045. package/.claude/worktrees/kanban-overhaul/mods-examples/lightrag/route.mjs +0 -461
  1046. package/.claude/worktrees/kanban-overhaul/mods-examples/lightrag/web/index.html +0 -263
  1047. package/.claude/worktrees/kanban-overhaul/mods-examples/ponytail/INSTRUCTIONS.md +0 -87
  1048. package/.claude/worktrees/kanban-overhaul/mods-examples/ponytail/agents/thor.md +0 -64
  1049. package/.claude/worktrees/kanban-overhaul/mods-examples/ponytail/mod.json +0 -36
  1050. package/.claude/worktrees/kanban-overhaul/mods-examples/ponytail/route.mjs +0 -98
  1051. package/.claude/worktrees/kanban-overhaul/mods-examples/ponytail/web/index.html +0 -126
  1052. package/.claude/worktrees/kanban-overhaul/package.json +0 -154
  1053. package/.claude/worktrees/kanban-overhaul/packages/sdk/ARCHITECTURE.md +0 -70
  1054. package/.claude/worktrees/kanban-overhaul/packages/sdk/LICENSE +0 -21
  1055. package/.claude/worktrees/kanban-overhaul/packages/sdk/README.md +0 -80
  1056. package/.claude/worktrees/kanban-overhaul/packages/sdk/package.json +0 -30
  1057. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/agent-registry.ts +0 -304
  1058. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/consensus/byzantine.ts +0 -587
  1059. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/consensus/index.ts +0 -147
  1060. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/consensus/queen.ts +0 -173
  1061. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/consensus/types.ts +0 -199
  1062. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/dangerous-patterns.ts +0 -127
  1063. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/audit.ts +0 -156
  1064. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/budget.ts +0 -269
  1065. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/envelope.ts +0 -144
  1066. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/hmac.ts +0 -160
  1067. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/index.ts +0 -443
  1068. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/pii.ts +0 -241
  1069. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/policy.ts +0 -112
  1070. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/federation/trust.ts +0 -146
  1071. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/fingerprint.ts +0 -0
  1072. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/index.ts +0 -114
  1073. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/mcp/bin.ts +0 -51
  1074. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/mcp/server.ts +0 -848
  1075. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/memory/index.ts +0 -160
  1076. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/router/codemod-intent.ts +0 -125
  1077. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/router/index.ts +0 -247
  1078. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/router/memory-distillation-shim.mjs +0 -18
  1079. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/router/memory-distillation.ts +0 -249
  1080. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/router/model-router.ts +0 -235
  1081. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/router/q-learning-router.ts +0 -304
  1082. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/swarm-topology.ts +0 -279
  1083. package/.claude/worktrees/kanban-overhaul/packages/sdk/src/version.ts +0 -4
  1084. package/.claude/worktrees/kanban-overhaul/packages/sdk/tsconfig.json +0 -25
  1085. package/.claude/worktrees/kanban-overhaul/packages/sdk/vitest.config.ts +0 -9
  1086. package/.claude/worktrees/kanban-overhaul/plugins/bizar/ARCHITECTURE.md +0 -72
  1087. package/.claude/worktrees/kanban-overhaul/plugins/bizar/CONSTRAINTS.md +0 -62
  1088. package/.claude/worktrees/kanban-overhaul/plugins/bizar/LICENSE +0 -21
  1089. package/.claude/worktrees/kanban-overhaul/plugins/bizar/README.md +0 -46
  1090. package/.claude/worktrees/kanban-overhaul/plugins/bizar/index.ts +0 -50
  1091. package/.claude/worktrees/kanban-overhaul/plugins/bizar/package.json +0 -18
  1092. package/.claude/worktrees/kanban-overhaul/plugins/bizar/tsconfig.json +0 -29
  1093. package/.claude/worktrees/kanban-overhaul/scripts/bh-full-e2e.mjs +0 -298
  1094. package/.claude/worktrees/kanban-overhaul/scripts/check-agents.mjs +0 -73
  1095. package/.claude/worktrees/kanban-overhaul/scripts/check-arch.sh +0 -80
  1096. package/.claude/worktrees/kanban-overhaul/scripts/check-deps.mjs +0 -492
  1097. package/.claude/worktrees/kanban-overhaul/scripts/clean-state-check.sh +0 -81
  1098. package/.claude/worktrees/kanban-overhaul/scripts/git-hooks/pre-commit +0 -59
  1099. package/.claude/worktrees/kanban-overhaul/scripts/git-hooks/pre-push +0 -54
  1100. package/.claude/worktrees/kanban-overhaul/scripts/install-hooks.sh +0 -29
  1101. package/.claude/worktrees/kanban-overhaul/scripts/install-service.mjs +0 -190
  1102. package/.claude/worktrees/kanban-overhaul/scripts/mirror-claude-md.sh +0 -78
  1103. package/.claude/worktrees/kanban-overhaul/scripts/session-trace.sh +0 -52
  1104. package/.claude/worktrees/kanban-overhaul/scripts/test-in-container.sh +0 -157
  1105. package/.claude/worktrees/kanban-overhaul/scripts/verify-feature.sh +0 -102
  1106. package/.claude/worktrees/kanban-overhaul/skills-lock.json +0 -11
  1107. package/.claude/worktrees/kanban-overhaul/templates/clean-state-checklist.md +0 -55
  1108. package/.claude/worktrees/kanban-overhaul/templates/deploy/cloudflare/README.md +0 -32
  1109. package/.claude/worktrees/kanban-overhaul/templates/deploy/cloudflare/functions-index.template.js +0 -15
  1110. package/.claude/worktrees/kanban-overhaul/templates/deploy/cloudflare/wrangler.toml.template +0 -9
  1111. package/.claude/worktrees/kanban-overhaul/templates/deploy/docker/.env.template +0 -16
  1112. package/.claude/worktrees/kanban-overhaul/templates/deploy/docker/README.md +0 -58
  1113. package/.claude/worktrees/kanban-overhaul/templates/deploy/docker/docker-compose.template.yml +0 -23
  1114. package/.claude/worktrees/kanban-overhaul/templates/deploy/fly/README.md +0 -35
  1115. package/.claude/worktrees/kanban-overhaul/templates/deploy/fly/fly.toml.template +0 -28
  1116. package/.claude/worktrees/kanban-overhaul/templates/deploy/vercel/README.md +0 -29
  1117. package/.claude/worktrees/kanban-overhaul/templates/deploy/vercel/api-index.template.js +0 -18
  1118. package/.claude/worktrees/kanban-overhaul/templates/deploy/vercel/vercel.json.template +0 -16
  1119. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/README.md +0 -58
  1120. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/citation.json +0 -16
  1121. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/code-review.json +0 -16
  1122. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/code-search-basic.json +0 -28
  1123. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/concise-output.json +0 -16
  1124. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/context-window.json +0 -16
  1125. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/error-recovery.json +0 -16
  1126. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/json-output.json +0 -20
  1127. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/latency-bounds.json +0 -16
  1128. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/multi-language.json +0 -16
  1129. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/regression-suite.json +0 -79
  1130. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/response-format.json +0 -30
  1131. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/safe-paths.json +0 -16
  1132. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/tool-call-correctness.json +0 -24
  1133. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/tool-call-multi-step.json +0 -18
  1134. package/.claude/worktrees/kanban-overhaul/templates/eval-fixtures/unicode-handling.json +0 -16
  1135. package/.claude/worktrees/kanban-overhaul/templates/evaluator-rubric.md +0 -50
  1136. package/.claude/worktrees/kanban-overhaul/templates/plan/htmx.min.js +0 -1
  1137. package/.claude/worktrees/kanban-overhaul/templates/plan/library/bug-investigation.mdx +0 -79
  1138. package/.claude/worktrees/kanban-overhaul/templates/plan/library/decision-record.mdx +0 -71
  1139. package/.claude/worktrees/kanban-overhaul/templates/plan/library/feature-design.mdx +0 -92
  1140. package/.claude/worktrees/kanban-overhaul/templates/plan/meta.json.template +0 -8
  1141. package/.claude/worktrees/kanban-overhaul/templates/plan/plan.mdx.template +0 -46
  1142. package/.claude/worktrees/kanban-overhaul/templates/plugin-template/README.md +0 -121
  1143. package/.claude/worktrees/kanban-overhaul/templates/plugin-template/index.js +0 -66
  1144. package/.claude/worktrees/kanban-overhaul/templates/plugin-template/plugin.json +0 -42
  1145. package/.claude/worktrees/kanban-overhaul/templates/plugin-template/tests/plugin.test.js +0 -83
  1146. package/.claude/worktrees/kanban-overhaul/templates/schedules/daily-backup.json +0 -12
  1147. package/.claude/worktrees/kanban-overhaul/templates/schedules/daily-cleanup.json +0 -12
  1148. package/.claude/worktrees/kanban-overhaul/templates/schedules/hourly-health-check.json +0 -12
  1149. package/.claude/worktrees/kanban-overhaul/templates/schedules/webhook-on-push.json +0 -13
  1150. package/.claude/worktrees/kanban-overhaul/templates/schedules/weekly-digest.json +0 -13
  1151. package/.claude/worktrees/kanban-overhaul/templates/sprint-contract.md +0 -47
  1152. package/.claude/worktrees/kanban-overhaul/tsconfig.json +0 -44
  1153. package/.claude/worktrees/kanban-overhaul/vite.config.ts +0 -51
  1154. package/bizar-dash/dist/assets/ActivityFeed-BXIkGGQ1.js +0 -16
  1155. package/bizar-dash/dist/assets/ActivityFeed-BXIkGGQ1.js.map +0 -1
  1156. package/bizar-dash/dist/assets/ActivityView-CBxNNrZa.js +0 -12
  1157. package/bizar-dash/dist/assets/ActivityView-CBxNNrZa.js.map +0 -1
  1158. package/bizar-dash/dist/assets/AgentsView-uv4l21AH.js +0 -23
  1159. package/bizar-dash/dist/assets/AgentsView-uv4l21AH.js.map +0 -1
  1160. package/bizar-dash/dist/assets/BackgroundJobsView-CB4WXIpk.js +0 -6
  1161. package/bizar-dash/dist/assets/BackgroundJobsView-CB4WXIpk.js.map +0 -1
  1162. package/bizar-dash/dist/assets/Card-CeZsWlcP.js +0 -1
  1163. package/bizar-dash/dist/assets/Card-CeZsWlcP.js.map +0 -1
  1164. package/bizar-dash/dist/assets/Chip-OPjSKl2I.js +0 -1
  1165. package/bizar-dash/dist/assets/Chip-OPjSKl2I.js.map +0 -1
  1166. package/bizar-dash/dist/assets/EmptyState-BrLA8mbE.js +0 -1
  1167. package/bizar-dash/dist/assets/EmptyState-BrLA8mbE.js.map +0 -1
  1168. package/bizar-dash/dist/assets/GoalsView-B8R-kxQr.js +0 -11
  1169. package/bizar-dash/dist/assets/GoalsView-B8R-kxQr.js.map +0 -1
  1170. package/bizar-dash/dist/assets/Grid-B7NgNtff.js +0 -1
  1171. package/bizar-dash/dist/assets/Grid-B7NgNtff.js.map +0 -1
  1172. package/bizar-dash/dist/assets/Input-BW_5Sl6N.js +0 -1
  1173. package/bizar-dash/dist/assets/Input-BW_5Sl6N.js.map +0 -1
  1174. package/bizar-dash/dist/assets/KanbanCard-B-NOSfMN.js +0 -21
  1175. package/bizar-dash/dist/assets/KanbanCard-B-NOSfMN.js.map +0 -1
  1176. package/bizar-dash/dist/assets/LibrariesView-D6eB7B2A.js +0 -67
  1177. package/bizar-dash/dist/assets/LibrariesView-D6eB7B2A.js.map +0 -1
  1178. package/bizar-dash/dist/assets/MemoryView-MK4m1KbR.js +0 -13
  1179. package/bizar-dash/dist/assets/MemoryView-MK4m1KbR.js.map +0 -1
  1180. package/bizar-dash/dist/assets/OverviewView-CHavfYBa.js +0 -1
  1181. package/bizar-dash/dist/assets/OverviewView-CHavfYBa.js.map +0 -1
  1182. package/bizar-dash/dist/assets/SchedulesView-zV-0pbsz.js +0 -1
  1183. package/bizar-dash/dist/assets/SchedulesView-zV-0pbsz.js.map +0 -1
  1184. package/bizar-dash/dist/assets/Select-B6Ho36Tq.js +0 -11
  1185. package/bizar-dash/dist/assets/Select-B6Ho36Tq.js.map +0 -1
  1186. package/bizar-dash/dist/assets/SettingsRow-Br21uRFz.js +0 -1
  1187. package/bizar-dash/dist/assets/SettingsRow-Br21uRFz.js.map +0 -1
  1188. package/bizar-dash/dist/assets/SettingsView-Cx3uJrus.js +0 -38
  1189. package/bizar-dash/dist/assets/SettingsView-Cx3uJrus.js.map +0 -1
  1190. package/bizar-dash/dist/assets/Sheet-Cmu_4Zea.js +0 -1
  1191. package/bizar-dash/dist/assets/Sheet-Cmu_4Zea.js.map +0 -1
  1192. package/bizar-dash/dist/assets/Slider-B_jPr-SR.js +0 -1
  1193. package/bizar-dash/dist/assets/Slider-B_jPr-SR.js.map +0 -1
  1194. package/bizar-dash/dist/assets/Sparkline-Cmqw0N39.js +0 -1
  1195. package/bizar-dash/dist/assets/Sparkline-Cmqw0N39.js.map +0 -1
  1196. package/bizar-dash/dist/assets/Switch-C7Qyu50Y.js +0 -10
  1197. package/bizar-dash/dist/assets/Switch-C7Qyu50Y.js.map +0 -1
  1198. package/bizar-dash/dist/assets/TasksView-BXADmjgb.js +0 -1
  1199. package/bizar-dash/dist/assets/TasksView-BXADmjgb.js.map +0 -1
  1200. package/bizar-dash/dist/assets/Textarea-KIN98DVH.js +0 -1
  1201. package/bizar-dash/dist/assets/Textarea-KIN98DVH.js.map +0 -1
  1202. package/bizar-dash/dist/assets/ViewHeader-CPbqI-w8.js +0 -6
  1203. package/bizar-dash/dist/assets/ViewHeader-CPbqI-w8.js.map +0 -1
  1204. package/bizar-dash/dist/assets/brain-jN_ldx3U.js +0 -6
  1205. package/bizar-dash/dist/assets/brain-jN_ldx3U.js.map +0 -1
  1206. package/bizar-dash/dist/assets/calendar-DZGgPP2_.js +0 -6
  1207. package/bizar-dash/dist/assets/calendar-DZGgPP2_.js.map +0 -1
  1208. package/bizar-dash/dist/assets/circle-check-XhUtiACZ.js +0 -6
  1209. package/bizar-dash/dist/assets/circle-check-XhUtiACZ.js.map +0 -1
  1210. package/bizar-dash/dist/assets/clock-BXBnSbox.js +0 -6
  1211. package/bizar-dash/dist/assets/clock-BXBnSbox.js.map +0 -1
  1212. package/bizar-dash/dist/assets/cmdk-D15rXxc5.js +0 -80
  1213. package/bizar-dash/dist/assets/cmdk-D15rXxc5.js.map +0 -1
  1214. package/bizar-dash/dist/assets/dnd-kit-Bormfg7j.js +0 -5
  1215. package/bizar-dash/dist/assets/dnd-kit-Bormfg7j.js.map +0 -1
  1216. package/bizar-dash/dist/assets/git-pull-request-BCt0CEjc.js +0 -11
  1217. package/bizar-dash/dist/assets/git-pull-request-BCt0CEjc.js.map +0 -1
  1218. package/bizar-dash/dist/assets/index-C0JBGB5M.js +0 -1
  1219. package/bizar-dash/dist/assets/index-C0JBGB5M.js.map +0 -1
  1220. package/bizar-dash/dist/assets/index-CrWI7sQR.js +0 -1
  1221. package/bizar-dash/dist/assets/index-CrWI7sQR.js.map +0 -1
  1222. package/bizar-dash/dist/assets/main-CCimEcWH.js +0 -134
  1223. package/bizar-dash/dist/assets/main-CCimEcWH.js.map +0 -1
  1224. package/bizar-dash/dist/assets/play-B0rTjpSg.js +0 -6
  1225. package/bizar-dash/dist/assets/play-B0rTjpSg.js.map +0 -1
  1226. package/bizar-dash/dist/assets/plus-BaTQsS9G.js +0 -6
  1227. package/bizar-dash/dist/assets/plus-BaTQsS9G.js.map +0 -1
  1228. package/bizar-dash/dist/assets/refresh-cw-CoatVcs3.js +0 -6
  1229. package/bizar-dash/dist/assets/refresh-cw-CoatVcs3.js.map +0 -1
  1230. package/bizar-dash/dist/assets/terminal-k-1HFHcN.js +0 -11
  1231. package/bizar-dash/dist/assets/terminal-k-1HFHcN.js.map +0 -1
  1232. package/bizar-dash/dist/assets/trash-2-DtpKnAn2.js +0 -6
  1233. package/bizar-dash/dist/assets/trash-2-DtpKnAn2.js.map +0 -1
  1234. package/bizar-dash/dist/assets/triangle-alert-FHSs_e5b.js +0 -6
  1235. package/bizar-dash/dist/assets/triangle-alert-FHSs_e5b.js.map +0 -1
  1236. package/bizar-dash/dist/assets/wrench-CbBE0oQ0.js +0 -6
  1237. package/bizar-dash/dist/assets/wrench-CbBE0oQ0.js.map +0 -1
  1238. package/bizar-dash/dist/v8.html +0 -19
  1239. package/bizar-dash/src/web/v8/views/Tasks/CommandPalettePlaceholder.tsx +0 -106
  1240. package/bizar-dash/src/web/v8/views/Tasks/TasksKanbanPlaceholder.tsx +0 -62
  1241. package/bizar-dash/src/web/v8.html +0 -17
  1242. package/packages/sdk/.harness/agents.json +0 -17
  1243. package/packages/sdk/.harness/topology.json +0 -4
  1244. package/packages/sdk/ARCHITECTURE.md +0 -70
  1245. package/packages/sdk/README.md +0 -80
  1246. package/packages/sdk/src/agent-registry.ts +0 -304
  1247. package/packages/sdk/src/consensus/byzantine.ts +0 -587
  1248. package/packages/sdk/src/consensus/index.ts +0 -147
  1249. package/packages/sdk/src/consensus/queen.ts +0 -173
  1250. package/packages/sdk/src/consensus/types.ts +0 -199
  1251. package/packages/sdk/src/dangerous-patterns.ts +0 -127
  1252. package/packages/sdk/src/federation/audit.ts +0 -156
  1253. package/packages/sdk/src/federation/budget.ts +0 -269
  1254. package/packages/sdk/src/federation/envelope.ts +0 -144
  1255. package/packages/sdk/src/federation/hmac.ts +0 -160
  1256. package/packages/sdk/src/federation/index.ts +0 -443
  1257. package/packages/sdk/src/federation/pii.ts +0 -241
  1258. package/packages/sdk/src/federation/policy.ts +0 -112
  1259. package/packages/sdk/src/federation/trust.ts +0 -146
  1260. package/packages/sdk/src/fingerprint.ts +0 -0
  1261. package/packages/sdk/src/index.ts +0 -114
  1262. package/packages/sdk/src/mcp/bin.ts +0 -51
  1263. package/packages/sdk/src/mcp/server.ts +0 -848
  1264. package/packages/sdk/src/memory/index.ts +0 -160
  1265. package/packages/sdk/src/router/codemod-intent.ts +0 -125
  1266. package/packages/sdk/src/router/index.ts +0 -247
  1267. package/packages/sdk/src/router/memory-distillation-shim.mjs +0 -18
  1268. package/packages/sdk/src/router/memory-distillation.ts +0 -249
  1269. package/packages/sdk/src/router/model-router.ts +0 -235
  1270. package/packages/sdk/src/router/q-learning-router.ts +0 -304
  1271. package/packages/sdk/src/swarm-topology.ts +0 -279
  1272. package/packages/sdk/src/version.ts +0 -4
  1273. package/packages/sdk/tests/agent-registry.test.ts +0 -285
  1274. package/packages/sdk/tests/consensus.test.ts +0 -376
  1275. package/packages/sdk/tests/federation/audit.test.ts +0 -164
  1276. package/packages/sdk/tests/federation/budget.test.ts +0 -189
  1277. package/packages/sdk/tests/federation/envelope.test.ts +0 -120
  1278. package/packages/sdk/tests/federation/hmac.test.ts +0 -194
  1279. package/packages/sdk/tests/federation/orchestrator.test.ts +0 -176
  1280. package/packages/sdk/tests/federation/pii.test.ts +0 -106
  1281. package/packages/sdk/tests/federation/policy.test.ts +0 -140
  1282. package/packages/sdk/tests/federation/trust.test.ts +0 -124
  1283. package/packages/sdk/tests/mcp-tools.test.ts +0 -204
  1284. package/packages/sdk/tests/memory-distillation.test.mjs +0 -186
  1285. package/packages/sdk/tests/model-router.test.mjs +0 -108
  1286. package/packages/sdk/tests/q-learning-router.test.mjs +0 -100
  1287. package/packages/sdk/tests/router-orchestrator.test.mjs +0 -172
  1288. package/packages/sdk/tests/router.test.mjs +0 -91
  1289. package/packages/sdk/tests/sdk.test.mjs +0 -172
  1290. package/packages/sdk/tests/swarm-topology.test.ts +0 -258
  1291. package/packages/sdk/tsconfig.json +0 -25
  1292. /package/{.claude/worktrees/kanban-overhaul/bizar-dash/src/web/v8.html → bizar-dash/src/web/index.html} +0 -0
  1293. /package/{.claude/worktrees/kanban-overhaul → plugins/bizar}/LICENSE +0 -0
@@ -0,0 +1,52 @@
1
+ import{r as c,j as a,S as xa,P as te,h as N,u as le,i as L,k as R,l as Z,R as ba,m as Le,n as xr,p as br,q as Pt,s as Tt,t as ya,v as yr,w as wr,x as Cr,y as Rr,F as _r,o as g,z as wa,A as Ca}from"./cmdk-DMW_3pWz.js";import{g as Ra,c as E,i as Mr,j as _a,k as Ma,B as Ia,u as Ea,a as Pa,S as Ta,e as ja}from"./main-zDgXFFYt.js";import{C as jt,V as Na}from"./ViewHeader-2Oyjj9Yt.js";import"./Grid-CN6IV8NB.js";import"./Input-BRHotaQu.js";import"./Textarea-Cv1HX9p1.js";import{u as Ir,a as Er}from"./index-VI2tohpo.js";import{M as Sa}from"./ActivityFeed-DbZT1TnN.js";import"./Switch-D5gPfsKd.js";import{c as Nt,u as Be}from"./index-CRPdftkz.js";import{R as ka,A as Qe,d as St,e as Se,C as kt,f as Aa}from"./Select-xrQ0htmD.js";import"./Slider-DmOSInmR.js";import{E as Da}from"./ErrorState-DZYn3VL_.js";import"./Banner-Bx1hIUM9.js";import{E as Oa}from"./EmptyState-DQzo47a_.js";import"./Sheet-C-djzbtS.js";import"./Card-ZAdgpn3-.js";import"./Chip-k5K9DYAf.js";import"./Sparkline-fGhOoGf0.js";import{C as Ga}from"./chevron-down-DjgW4FtB.js";import"./KanbanCard-BvkJ9Xwg.js";import"./dnd-kit-DWBZ6HFE.js";import"./ProgressBar-BXqAmiA8.js";import{P as Fa}from"./power-uH0f5Ihr.js";import"./SettingsRow-BNSh_paj.js";import"./MessageBubble-CIapZ4YY.js";import"./trending-up-DWgBlnxO.js";import"./circle-alert-D_fRRCnG.js";import"./triangle-alert-D3wjJjjj.js";import"./circle-check-CYpMZPTO.js";import"./refresh-ccw-BQ_hQs-U.js";import"./plus-CbojvfqK.js";import"./calendar-C1WTDPNZ.js";import"./git-branch-qmhKTtT0.js";/**
2
+ * @license lucide-react v0.460.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const $a=Ra("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);c.forwardRef(function(r,t){const{as:o,full:n,inline:s,noVertical:i,children:l,className:u,style:v,...p}=r,f=o??"div",m={display:s?"inline-flex":"flex",alignItems:i?"stretch":"center",justifyContent:"center",...n&&{width:"100%",height:"100%"},...v};return a.jsx(f,{ref:t,className:E("v8-center",u),style:m,...p,children:l})});const La={sm:24,md:32,lg:40},Ba={primary:"var(--accent)",secondary:"var(--surface-1)",ghost:"transparent",danger:"var(--danger)",outline:"transparent"},za={primary:"var(--fg-on-accent)",secondary:"var(--fg)",ghost:"var(--fg-muted)",danger:"var(--fg-on-accent)",outline:"var(--fg)"},Va={primary:"transparent",secondary:"var(--border)",ghost:"transparent",danger:"transparent",outline:"var(--border)"},Ka={primary:"var(--accent-hover)",secondary:"var(--surface-2)",ghost:"var(--surface-1)",danger:"color-mix(in oklch, var(--danger), black 10%)",outline:"var(--surface-2)"};c.forwardRef(function(r,t){const{variant:o="ghost",size:n="md",asChild:s,active:i,disabled:l,children:u,className:v,style:p,type:f,...m}=r,d=s?xa:"button",b=La[n],w={display:"inline-flex",alignItems:"center",justifyContent:"center",width:b,height:b,flexShrink:0,background:i===!0?Ka[o]:Ba[o],color:za[o],border:"1px solid",borderColor:Va[o],borderRadius:"var(--radius-sm)",cursor:l===!0?"not-allowed":"pointer",opacity:l===!0?.55:1,transition:"background var(--motion-fast) var(--ease-out)",...p};return a.jsx(d,{ref:t,type:s?void 0:f??"button",disabled:l,"data-active":i===!0?"true":void 0,className:E("v8-icon-btn",`v8-icon-btn--${o}`,`v8-icon-btn--${n}`,v),style:w,...m,children:u})});var et="Checkbox",[Ha]=Z(et),[Ua,At]=Ha(et);function Wa(e){const{__scopeCheckbox:r,checked:t,children:o,defaultChecked:n,disabled:s,form:i,name:l,onCheckedChange:u,required:v,value:p="on",internal_do_not_use_render:f}=e,[m,d]=le({prop:t,defaultProp:n??!1,onChange:u,caller:et}),[b,w]=c.useState(null),[C,y]=c.useState(null),x=c.useRef(!1),M=b?!!i||!!b.closest("form"):!0,I={checked:m,disabled:s,setChecked:d,control:b,setControl:w,name:l,form:i,value:p,hasConsumerStoppedPropagationRef:x,required:v,defaultChecked:he(n)?!1:n,isFormControl:M,bubbleInput:C,setBubbleInput:y};return a.jsx(Ua,{scope:r,...I,children:Ya(f)?f(I):o})}var Pr="CheckboxTrigger",Tr=c.forwardRef(({__scopeCheckbox:e,onKeyDown:r,onClick:t,...o},n)=>{const{control:s,value:i,disabled:l,checked:u,required:v,setControl:p,setChecked:f,hasConsumerStoppedPropagationRef:m,isFormControl:d,bubbleInput:b}=At(Pr,e),w=L(n,p),C=c.useRef(u);return c.useEffect(()=>{const y=s==null?void 0:s.form;if(y){const x=()=>f(C.current);return y.addEventListener("reset",x),()=>y.removeEventListener("reset",x)}},[s,f]),a.jsx(N.button,{type:"button",role:"checkbox","aria-checked":he(u)?"mixed":u,"aria-required":v,"data-state":Dr(u),"data-disabled":l?"":void 0,disabled:l,value:i,...o,ref:w,onKeyDown:R(r,y=>{y.key==="Enter"&&y.preventDefault()}),onClick:R(t,y=>{f(x=>he(x)?!0:!x),b&&d&&(m.current=y.isPropagationStopped(),m.current||y.stopPropagation())})})});Tr.displayName=Pr;var jr=c.forwardRef((e,r)=>{const{__scopeCheckbox:t,name:o,checked:n,defaultChecked:s,required:i,disabled:l,value:u,onCheckedChange:v,form:p,...f}=e;return a.jsx(Wa,{__scopeCheckbox:t,checked:n,defaultChecked:s,disabled:l,required:i,onCheckedChange:v,name:o,form:p,value:u,internal_do_not_use_render:({isFormControl:m})=>a.jsxs(a.Fragment,{children:[a.jsx(Tr,{...f,ref:r,__scopeCheckbox:t}),m&&a.jsx(Ar,{__scopeCheckbox:t})]})})});jr.displayName=et;var Nr="CheckboxIndicator",Sr=c.forwardRef((e,r)=>{const{__scopeCheckbox:t,forceMount:o,...n}=e,s=At(Nr,t);return a.jsx(te,{present:o||he(s.checked)||s.checked===!0,children:a.jsx(N.span,{"data-state":Dr(s.checked),"data-disabled":s.disabled?"":void 0,...n,ref:r,style:{pointerEvents:"none",...e.style}})})});Sr.displayName=Nr;var kr="CheckboxBubbleInput",Ar=c.forwardRef(({__scopeCheckbox:e,...r},t)=>{const{control:o,hasConsumerStoppedPropagationRef:n,checked:s,defaultChecked:i,required:l,disabled:u,name:v,value:p,form:f,bubbleInput:m,setBubbleInput:d}=At(kr,e),b=L(t,d),w=Ir(s),C=Er(o);c.useEffect(()=>{const x=m;if(!x)return;const M=window.HTMLInputElement.prototype,T=Object.getOwnPropertyDescriptor(M,"checked").set,j=!n.current;if(w!==s&&T){const F=new Event("click",{bubbles:j});x.indeterminate=he(s),T.call(x,he(s)?!1:s),x.dispatchEvent(F)}},[m,w,s,n]);const y=c.useRef(he(s)?!1:s);return a.jsx(N.input,{type:"checkbox","aria-hidden":!0,defaultChecked:i??y.current,required:l,disabled:u,name:v,value:p,form:f,...r,tabIndex:-1,ref:b,style:{...r.style,...C,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});Ar.displayName=kr;function Ya(e){return typeof e=="function"}function he(e){return e==="indeterminate"}function Dr(e){return he(e)?"indeterminate":e?"checked":"unchecked"}c.forwardRef(function(r,t){const{className:o,disabled:n,...s}=r;return a.jsx(jr,{ref:t,disabled:n,className:E("v8-checkbox",o),style:{width:16,height:16,display:"inline-flex",alignItems:"center",justifyContent:"center",background:"var(--input-bg)",border:"1px solid var(--border-strong)",borderRadius:"var(--radius-sm)",cursor:n===!0?"not-allowed":"pointer",opacity:n===!0?.55:1,transition:"background var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out)"},...s,children:a.jsx(Sr,{children:s.checked==="indeterminate"?a.jsx(Sa,{size:12,"aria-hidden":"true",style:{color:"var(--fg-on-accent)"}}):a.jsx(Mr,{size:12,"aria-hidden":"true",style:{color:"var(--fg-on-accent)"}})})})});var Or="Toggle",Dt=c.forwardRef((e,r)=>{const{pressed:t,defaultPressed:o,onPressedChange:n,...s}=e,[i,l]=le({prop:t,onChange:n,defaultProp:o??!1,caller:Or});return a.jsx(N.button,{type:"button","aria-pressed":i,"data-state":i?"on":"off","data-disabled":e.disabled?"":void 0,...s,ref:r,onClick:R(e.onClick,()=>{e.disabled||l(!i)})})});Dt.displayName=Or;var Xa=Dt;c.forwardRef(function(r,t){const{className:o,...n}=r;return a.jsx(Xa,{ref:t,className:E("v8-toggle",o),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:32,padding:"0 var(--space-3)",background:"transparent",color:"var(--fg-muted)",border:"1px solid transparent",borderRadius:"var(--radius-sm)",fontSize:"var(--fs-13)",cursor:"pointer",transition:"background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out)"},...n})});var yt=!1;function qa(){const[e,r]=c.useState(yt);return c.useEffect(()=>{yt||(yt=!0,r(!0))},[]),e}var Gr=ba[" useSyncExternalStore ".trim().toString()];function Za(){return()=>{}}function Ja(){return Gr(Za,()=>!0,()=>!1)}var Qa=typeof Gr=="function"?Ja:qa,wt="rovingFocusGroup.onEntryFocus",es={bubbles:!1,cancelable:!0},ze="RovingFocusGroup",[Ct,Fr,ts]=Nt(ze),[rs,xe]=Z(ze,[ts]),[os,ns]=rs(ze),$r=c.forwardRef((e,r)=>a.jsx(Ct.Provider,{scope:e.__scopeRovingFocusGroup,children:a.jsx(Ct.Slot,{scope:e.__scopeRovingFocusGroup,children:a.jsx(as,{...e,ref:r})})}));$r.displayName=ze;var as=c.forwardRef((e,r)=>{const{__scopeRovingFocusGroup:t,orientation:o,loop:n=!1,dir:s,currentTabStopId:i,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:u,onEntryFocus:v,preventScrollOnEntryFocus:p=!1,...f}=e,m=c.useRef(null),d=L(r,m),b=Be(s),[w,C]=le({prop:i,defaultProp:l??null,onChange:u,caller:ze}),[y,x]=c.useState(!1),M=br(v),I=Fr(t),T=c.useRef(!1),[j,F]=c.useState(0);return c.useEffect(()=>{const $=m.current;if($)return $.addEventListener(wt,M),()=>$.removeEventListener(wt,M)},[M]),a.jsx(os,{scope:t,orientation:o,dir:b,loop:n,currentTabStopId:w,onItemFocus:c.useCallback($=>C($),[C]),onItemShiftTab:c.useCallback(()=>x(!0),[]),onFocusableItemAdd:c.useCallback(()=>F($=>$+1),[]),onFocusableItemRemove:c.useCallback(()=>F($=>$-1),[]),children:a.jsx(N.div,{tabIndex:y||j===0?-1:0,"data-orientation":o,...f,ref:d,style:{outline:"none",...e.style},onMouseDown:R(e.onMouseDown,()=>{T.current=!0}),onFocus:R(e.onFocus,$=>{const V=!T.current;if($.target===$.currentTarget&&V&&!y){const U=new CustomEvent(wt,es);if($.currentTarget.dispatchEvent(U),!U.defaultPrevented){const ue=I().filter(B=>B.focusable),K=ue.find(B=>B.active),fe=ue.find(B=>B.id===w),pe=[K,fe,...ue].filter(Boolean).map(B=>B.ref.current);zr(pe,p)}}T.current=!1}),onBlur:R(e.onBlur,()=>x(!1))})})}),Lr="RovingFocusGroupItem",Br=c.forwardRef((e,r)=>{const{__scopeRovingFocusGroup:t,focusable:o=!0,active:n=!1,tabStopId:s,children:i,...l}=e,u=Le(),v=s||u,p=ns(Lr,t),f=p.currentTabStopId===v,m=Fr(t),{onFocusableItemAdd:d,onFocusableItemRemove:b,currentTabStopId:w}=p,C=Qa();return xr(()=>{if(!(!C||!o))return d(),()=>b()},[C,o,d,b]),c.useEffect(()=>{if(!(C||!o))return d(),()=>b()},[C,o,d,b]),a.jsx(Ct.ItemSlot,{scope:t,id:v,focusable:o,active:n,children:a.jsx(N.span,{tabIndex:f?0:-1,"data-orientation":p.orientation,...l,ref:r,onMouseDown:R(e.onMouseDown,y=>{o?p.onItemFocus(v):y.preventDefault()}),onFocus:R(e.onFocus,()=>p.onItemFocus(v)),onKeyDown:R(e.onKeyDown,y=>{if(y.key==="Tab"&&y.shiftKey){p.onItemShiftTab();return}if(y.target!==y.currentTarget)return;const x=cs(y,p.orientation,p.dir);if(x!==void 0){if(y.metaKey||y.ctrlKey||y.altKey||y.shiftKey)return;y.preventDefault();let I=m().filter(T=>T.focusable).map(T=>T.ref.current);if(x==="last")I.reverse();else if(x==="prev"||x==="next"){x==="prev"&&I.reverse();const T=I.indexOf(y.currentTarget);I=p.loop?ls(I,T+1):I.slice(T+1)}setTimeout(()=>zr(I))}}),children:typeof i=="function"?i({isCurrentTabStop:f,hasTabStop:w!=null}):i})})});Br.displayName=Lr;var ss={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function is(e,r){return r!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function cs(e,r,t){const o=is(e.key,t);if(!(r==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(r==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return ss[o]}function zr(e,r=!1){const t=document.activeElement;for(const o of e)if(o===t||(o.focus({preventScroll:r}),document.activeElement!==t))return}function ls(e,r){return e.map((t,o)=>e[(r+o)%e.length])}var tt=$r,rt=Br,be="ToggleGroup",[Vr]=Z(be,[xe]),Kr=xe(),Ot=c.forwardRef((e,r)=>{const{type:t,...o}=e;if(t==="single"){const n=o;return a.jsx(ds,{role:"radiogroup",...n,ref:r})}if(t==="multiple"){const n=o;return a.jsx(us,{role:"toolbar",...n,ref:r})}throw new Error(`Missing prop \`type\` expected on \`${be}\``)});Ot.displayName=be;var[Hr,Ur]=Vr(be),ds=c.forwardRef((e,r)=>{const{value:t,defaultValue:o,onValueChange:n=()=>{},...s}=e,[i,l]=le({prop:t,defaultProp:o??"",onChange:n,caller:be});return a.jsx(Hr,{scope:e.__scopeToggleGroup,type:"single",value:c.useMemo(()=>i?[i]:[],[i]),onItemActivate:l,onItemDeactivate:c.useCallback(()=>l(""),[l]),children:a.jsx(Wr,{...s,ref:r})})}),us=c.forwardRef((e,r)=>{const{value:t,defaultValue:o,onValueChange:n=()=>{},...s}=e,[i,l]=le({prop:t,defaultProp:o??[],onChange:n,caller:be}),u=c.useCallback(p=>l((f=[])=>[...f,p]),[l]),v=c.useCallback(p=>l((f=[])=>f.filter(m=>m!==p)),[l]);return a.jsx(Hr,{scope:e.__scopeToggleGroup,type:"multiple",value:i,onItemActivate:u,onItemDeactivate:v,children:a.jsx(Wr,{...s,ref:r})})});Ot.displayName=be;var[fs,ps]=Vr(be),Wr=c.forwardRef((e,r)=>{const{__scopeToggleGroup:t,disabled:o=!1,rovingFocus:n=!0,orientation:s,dir:i,loop:l=!0,...u}=e,v=Kr(t),p=Be(i),f={dir:p,...u};return a.jsx(fs,{scope:t,rovingFocus:n,disabled:o,children:n?a.jsx(tt,{asChild:!0,...v,orientation:s,dir:p,loop:l,children:a.jsx(N.div,{...f,ref:r})}):a.jsx(N.div,{...f,ref:r})})}),Xe="ToggleGroupItem",Yr=c.forwardRef((e,r)=>{const t=Ur(Xe,e.__scopeToggleGroup),o=ps(Xe,e.__scopeToggleGroup),n=Kr(e.__scopeToggleGroup),s=t.value.includes(e.value),i=o.disabled||e.disabled,l={...e,pressed:s,disabled:i},u=c.useRef(null);return o.rovingFocus?a.jsx(rt,{asChild:!0,...n,focusable:!i,active:s,ref:u,children:a.jsx(fr,{...l,ref:r})}):a.jsx(fr,{...l,ref:r})});Yr.displayName=Xe;var fr=c.forwardRef((e,r)=>{const{__scopeToggleGroup:t,value:o,...n}=e,s=Ur(Xe,t),i={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},l=s.type==="single"?i:void 0;return a.jsx(Dt,{...l,...n,ref:r,onPressedChange:u=>{u?s.onItemActivate(o):s.onItemDeactivate(o)}})});c.forwardRef(function(r,t){const{type:o,className:n,...s}=r;return a.jsx(Ot,{ref:t,type:o,className:E("v8-toggle-group",n),style:{display:"inline-flex",border:"1px solid var(--border)",borderRadius:"var(--radius-sm)",overflow:"hidden",background:"var(--surface-1)"},...s})});c.forwardRef(function(r,t){const{className:o,children:n,...s}=r;return a.jsxs(Yr,{ref:t,className:E("v8-toggle-group__item",o),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",height:28,padding:"0 var(--space-3)",background:"transparent",color:"var(--fg-muted)",border:0,borderRight:"1px solid var(--border)",fontSize:"var(--fs-13)",cursor:"pointer",transition:"background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out)"},...s,children:[n,a.jsx("style",{children:`
7
+ .v8-toggle-group__item:last-child { border-right: 0; }
8
+ .v8-toggle-group__item[data-state='on'] {
9
+ background: var(--accent-soft);
10
+ color: var(--accent);
11
+ font-weight: 500;
12
+ }
13
+ `})]})});var Gt="Radio",[vs,Xr]=Z(Gt),[ms,ot]=vs(Gt);function qr(e){const{__scopeRadio:r,checked:t=!1,children:o,disabled:n,form:s,name:i,onCheck:l,required:u,value:v="on",internal_do_not_use_render:p}=e,[f,m]=c.useState(null),[d,b]=c.useState(null),w=c.useRef(!1),C=f?!!s||!!f.closest("form"):!0,y={checked:t,disabled:n,required:u,name:i,form:s,value:v,control:f,setControl:m,hasConsumerStoppedPropagationRef:w,isFormControl:C,bubbleInput:d,setBubbleInput:b,onCheck:()=>l==null?void 0:l()};return a.jsx(ms,{scope:r,...y,children:hs(p)?p(y):o})}var Zr="RadioTrigger",Ft=c.forwardRef(({__scopeRadio:e,onClick:r,...t},o)=>{const{checked:n,disabled:s,value:i,setControl:l,onCheck:u,hasConsumerStoppedPropagationRef:v,isFormControl:p,bubbleInput:f}=ot(Zr,e),m=L(o,l);return a.jsx(N.button,{type:"button",role:"radio","aria-checked":n,"data-state":to(n),"data-disabled":s?"":void 0,disabled:s,value:i,...t,ref:m,onClick:R(r,d=>{n||u(),f&&p&&(v.current=d.isPropagationStopped(),v.current||d.stopPropagation())})})});Ft.displayName=Zr;var gs=c.forwardRef((e,r)=>{const{__scopeRadio:t,name:o,checked:n,required:s,disabled:i,value:l,onCheck:u,form:v,...p}=e;return a.jsx(qr,{__scopeRadio:t,checked:n,disabled:i,required:s,onCheck:u,name:o,form:v,value:l,internal_do_not_use_render:({isFormControl:f})=>a.jsxs(a.Fragment,{children:[a.jsx(Ft,{...p,ref:r,__scopeRadio:t}),f&&a.jsx($t,{__scopeRadio:t})]})})});gs.displayName=Gt;var Jr="RadioIndicator",Qr=c.forwardRef((e,r)=>{const{__scopeRadio:t,forceMount:o,...n}=e,s=ot(Jr,t);return a.jsx(te,{present:o||s.checked,children:a.jsx(N.span,{"data-state":to(s.checked),"data-disabled":s.disabled?"":void 0,...n,ref:r})})});Qr.displayName=Jr;var eo="RadioBubbleInput",$t=c.forwardRef(({__scopeRadio:e,...r},t)=>{const{control:o,checked:n,required:s,disabled:i,name:l,value:u,form:v,bubbleInput:p,setBubbleInput:f,hasConsumerStoppedPropagationRef:m}=ot(eo,e),d=L(t,f),b=Ir(n),w=Er(o);c.useEffect(()=>{const y=p;if(!y)return;const x=window.HTMLInputElement.prototype,I=Object.getOwnPropertyDescriptor(x,"checked").set,T=!m.current;if(b!==n&&I){const j=new Event("click",{bubbles:T});I.call(y,n),y.dispatchEvent(j)}},[p,b,n,m]);const C=c.useRef(n);return a.jsx(N.input,{type:"radio","aria-hidden":!0,defaultChecked:C.current,required:s,disabled:i,name:l,value:u,form:v,...r,tabIndex:-1,ref:d,style:{...r.style,...w,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});$t.displayName=eo;function hs(e){return typeof e=="function"}function to(e){return e?"checked":"unchecked"}var xs=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],nt="RadioGroup",[bs]=Z(nt,[xe,Xr]),ro=xe(),at=Xr(),[ys,ws]=bs(nt),oo=c.forwardRef((e,r)=>{const{__scopeRadioGroup:t,name:o,form:n,defaultValue:s,value:i,required:l=!1,disabled:u=!1,orientation:v,dir:p,loop:f=!0,onValueChange:m,...d}=e,b=ro(t),w=Be(p),[C,y]=le({prop:i,defaultProp:s??null,onChange:m,caller:nt}),[x,M]=c.useState(null),I=L(r,M),T=c.useRef(C);return c.useEffect(()=>{const j=n?x==null?void 0:x.ownerDocument.getElementById(n):x==null?void 0:x.closest("form");if(j instanceof HTMLFormElement){const F=()=>y(T.current);return j.addEventListener("reset",F),()=>j.removeEventListener("reset",F)}},[x,n,y]),a.jsx(ys,{scope:t,name:o,form:n,required:l,disabled:u,value:C,onValueChange:y,children:a.jsx(tt,{asChild:!0,...b,orientation:v,dir:w,loop:f,children:a.jsx(N.div,{role:"radiogroup","aria-required":l,"aria-orientation":v,"data-disabled":u?"":void 0,dir:w,...d,ref:I})})})});oo.displayName=nt;var Cs="RadioGroupItem",Rs="RadioGroupItemProvider",no="RadioGroupItemTrigger",_s="RadioGroupItemBubbleInput";function Ms(e){const{__scopeRadioGroup:r,value:t,disabled:o,children:n,internal_do_not_use_render:s}=e,i=ws(Rs,r),l=at(r),u=i.disabled||o;return a.jsx(qr,{...l,checked:i.value===t,disabled:u,required:i.required,name:i.name,form:i.form,value:t,onCheck:()=>i.onValueChange(t),internal_do_not_use_render:s,children:n})}var ao=c.forwardRef((e,r)=>{const{__scopeRadioGroup:t,...o}=e,n=ro(t),s=at(t),{checked:i,disabled:l}=ot(no,s.__scopeRadio),u=c.useRef(null),v=L(r,u),p=c.useRef(!1);return c.useEffect(()=>{const f=d=>{xs.includes(d.key)&&(p.current=!0)},m=()=>p.current=!1;return document.addEventListener("keydown",f),document.addEventListener("keyup",m),()=>{document.removeEventListener("keydown",f),document.removeEventListener("keyup",m)}},[]),a.jsx(rt,{asChild:!0,...n,focusable:!l,active:i,children:a.jsx(Ft,{...s,...o,ref:v,onKeyDown:R(o.onKeyDown,f=>{f.key==="Enter"&&f.preventDefault()}),onFocus:R(o.onFocus,()=>{var f;p.current&&((f=u.current)==null||f.click())})})})});ao.displayName=no;var so=c.forwardRef((e,r)=>{const{__scopeRadioGroup:t,value:o,disabled:n,...s}=e;return a.jsx(Ms,{__scopeRadioGroup:t,value:o,disabled:n,internal_do_not_use_render:({isFormControl:i})=>a.jsxs(a.Fragment,{children:[a.jsx(ao,{...s,ref:r,__scopeRadioGroup:t}),i&&a.jsx(io,{__scopeRadioGroup:t})]})})});so.displayName=Cs;var io=c.forwardRef((e,r)=>{const{__scopeRadioGroup:t,...o}=e,n=at(t);return a.jsx($t,{...n,...o,ref:r})});io.displayName=_s;var Is="RadioGroupIndicator",co=c.forwardRef((e,r)=>{const{__scopeRadioGroup:t,...o}=e,n=at(t);return a.jsx(Qr,{...n,...o,ref:r})});co.displayName=Is;c.forwardRef(function(r,t){const{className:o,...n}=r;return a.jsx(oo,{ref:t,className:E("v8-radio-group",o),style:{display:"flex",flexDirection:"column",gap:"var(--space-2)"},...n})});c.forwardRef(function(r,t){const{className:o,value:n,label:s,...i}=r;return a.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)"},children:[a.jsx(so,{ref:t,value:n,className:E("v8-radio-group__item",o),style:{width:16,height:16,display:"inline-flex",alignItems:"center",justifyContent:"center",background:"var(--input-bg)",border:"1px solid var(--border-strong)",borderRadius:"var(--radius-pill)",cursor:"pointer"},...i,children:a.jsx(co,{style:{width:8,height:8,borderRadius:"var(--radius-pill)",background:"var(--accent)"}})}),s!==void 0&&a.jsx("label",{htmlFor:i.id,style:{fontSize:"var(--fs-13)",cursor:"pointer"},children:s})]})});c.forwardRef(function(r,t){const{id:o,label:n,hint:s,error:i,required:l,children:u,className:v,...p}=r,f=s!==void 0?`${o}-hint`:void 0,m=i!==void 0?`${o}-error`:void 0;return a.jsxs("div",{ref:t,className:E("v8-field",i!==void 0&&"has-error",v),style:{display:"flex",flexDirection:"column",gap:"var(--space-2)"},...p,children:[a.jsxs("label",{htmlFor:o,style:{fontSize:"var(--fs-13)",fontWeight:500,color:"var(--fg)",display:"flex",alignItems:"center",gap:"var(--space-1)"},children:[n,l===!0&&a.jsx("span",{"aria-hidden":"true",style:{color:"var(--danger)"},children:"*"})]}),u,s!==void 0&&i===void 0&&a.jsx("div",{id:f,style:{fontSize:"var(--fs-12)",color:"var(--fg-muted)"},children:s}),i!==void 0&&a.jsx("div",{id:m,role:"alert",style:{fontSize:"var(--fs-12)",color:"var(--danger)"},children:i})]})});c.forwardRef(function(r,t){const{children:o,className:n,...s}=r;return a.jsx("form",{ref:t,className:E("v8-form",n),style:{display:"flex",flexDirection:"column",gap:"var(--space-4)"},...s,children:o})});var[st]=Z("Tooltip",[Se]),it=Se(),Es="TooltipProvider",Rt="tooltip.open",[xd,Lt]=st(Es),Ge="Tooltip",[Ps,Ve]=st(Ge),lo=e=>{const{__scopeTooltip:r,children:t,open:o,defaultOpen:n,onOpenChange:s,disableHoverableContent:i,delayDuration:l}=e,u=Lt(Ge,e.__scopeTooltip),v=it(r),[p,f]=c.useState(null),m=Le(),d=c.useRef(0),b=i??u.disableHoverableContent,w=l??u.delayDuration,C=c.useRef(!1),[y,x]=le({prop:o,defaultProp:n??!1,onChange:F=>{F?(u.onOpen(),document.dispatchEvent(new CustomEvent(Rt))):u.onClose(),s==null||s(F)},caller:Ge}),M=c.useMemo(()=>y?C.current?"delayed-open":"instant-open":"closed",[y]),I=c.useCallback(()=>{window.clearTimeout(d.current),d.current=0,C.current=!1,x(!0)},[x]),T=c.useCallback(()=>{window.clearTimeout(d.current),d.current=0,x(!1)},[x]),j=c.useCallback(()=>{window.clearTimeout(d.current),d.current=window.setTimeout(()=>{C.current=!0,x(!0),d.current=0},w)},[w,x]);return c.useEffect(()=>()=>{d.current&&(window.clearTimeout(d.current),d.current=0)},[]),a.jsx(ka,{...v,children:a.jsx(Ps,{scope:r,contentId:m,open:y,stateAttribute:M,trigger:p,onTriggerChange:f,onTriggerEnter:c.useCallback(()=>{u.isOpenDelayedRef.current?j():I()},[u.isOpenDelayedRef,j,I]),onTriggerLeave:c.useCallback(()=>{b?T():(window.clearTimeout(d.current),d.current=0)},[T,b]),onOpen:I,onClose:T,disableHoverableContent:b,children:t})})};lo.displayName=Ge;var _t="TooltipTrigger",uo=c.forwardRef((e,r)=>{const{__scopeTooltip:t,...o}=e,n=Ve(_t,t),s=Lt(_t,t),i=it(t),l=c.useRef(null),u=L(r,l,n.onTriggerChange),v=c.useRef(!1),p=c.useRef(!1),f=c.useCallback(()=>v.current=!1,[]);return c.useEffect(()=>()=>document.removeEventListener("pointerup",f),[f]),a.jsx(Qe,{asChild:!0,...i,children:a.jsx(N.button,{"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute,...o,ref:u,onPointerMove:R(e.onPointerMove,m=>{m.pointerType!=="touch"&&!p.current&&!s.isPointerInTransitRef.current&&(n.onTriggerEnter(),p.current=!0)}),onPointerLeave:R(e.onPointerLeave,()=>{n.onTriggerLeave(),p.current=!1}),onPointerDown:R(e.onPointerDown,()=>{n.open&&n.onClose(),v.current=!0,document.addEventListener("pointerup",f,{once:!0})}),onFocus:R(e.onFocus,()=>{v.current||n.onOpen()}),onBlur:R(e.onBlur,n.onClose),onClick:R(e.onClick,n.onClose)})})});uo.displayName=_t;var Bt="TooltipPortal",[Ts,js]=st(Bt,{forceMount:void 0}),fo=e=>{const{__scopeTooltip:r,forceMount:t,children:o,container:n}=e,s=Ve(Bt,r);return a.jsx(Ts,{scope:r,forceMount:t,children:a.jsx(te,{present:t||s.open,children:a.jsx(Pt,{asChild:!0,container:n,children:o})})})};fo.displayName=Bt;var je="TooltipContent",po=c.forwardRef((e,r)=>{const t=js(je,e.__scopeTooltip),{forceMount:o=t.forceMount,side:n="top",...s}=e,i=Ve(je,e.__scopeTooltip);return a.jsx(te,{present:o||i.open,children:i.disableHoverableContent?a.jsx(vo,{side:n,...s,ref:r}):a.jsx(Ns,{side:n,...s,ref:r})})}),Ns=c.forwardRef((e,r)=>{const t=Ve(je,e.__scopeTooltip),o=Lt(je,e.__scopeTooltip),n=c.useRef(null),s=L(r,n),[i,l]=c.useState(null),{trigger:u,onClose:v}=t,p=n.current,{onPointerInTransitChange:f}=o,m=c.useCallback(()=>{l(null),f(!1)},[f]),d=c.useCallback((b,w)=>{const C=b.currentTarget,y={x:b.clientX,y:b.clientY},x=Ds(y,C.getBoundingClientRect()),M=Os(y,x),I=Gs(w.getBoundingClientRect()),T=$s([...M,...I]);l(T),f(!0)},[f]);return c.useEffect(()=>()=>m(),[m]),c.useEffect(()=>{if(u&&p){const b=C=>d(C,p),w=C=>d(C,u);return u.addEventListener("pointerleave",b),p.addEventListener("pointerleave",w),()=>{u.removeEventListener("pointerleave",b),p.removeEventListener("pointerleave",w)}}},[u,p,d,m]),c.useEffect(()=>{if(i){const b=w=>{const C=w.target,y={x:w.clientX,y:w.clientY},x=(u==null?void 0:u.contains(C))||(p==null?void 0:p.contains(C)),M=!Fs(y,i);x?m():M&&(m(),v())};return document.addEventListener("pointermove",b),()=>document.removeEventListener("pointermove",b)}},[u,p,i,v,m]),a.jsx(vo,{...e,ref:s})}),[Ss,ks]=st(Ge,{isInside:!1}),As=ya("TooltipContent"),vo=c.forwardRef((e,r)=>{const{__scopeTooltip:t,children:o,"aria-label":n,onEscapeKeyDown:s,onPointerDownOutside:i,...l}=e,u=Ve(je,t),v=it(t),{onClose:p}=u;return c.useEffect(()=>(document.addEventListener(Rt,p),()=>document.removeEventListener(Rt,p)),[p]),c.useEffect(()=>{if(u.trigger){const f=m=>{m.target instanceof Node&&m.target.contains(u.trigger)&&p()};return window.addEventListener("scroll",f,{capture:!0}),()=>window.removeEventListener("scroll",f,{capture:!0})}},[u.trigger,p]),a.jsx(Tt,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:i,onFocusOutside:f=>f.preventDefault(),onDismiss:p,children:a.jsxs(kt,{"data-state":u.stateAttribute,...v,...l,ref:r,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[a.jsx(As,{children:o}),a.jsx(Ss,{scope:t,isInside:!0,children:a.jsx(Aa,{id:u.contentId,role:"tooltip",children:n||o})})]})})});po.displayName=je;var mo="TooltipArrow",go=c.forwardRef((e,r)=>{const{__scopeTooltip:t,...o}=e,n=it(t);return ks(mo,t).isInside?null:a.jsx(St,{...n,...o,ref:r})});go.displayName=mo;function Ds(e,r){const t=Math.abs(r.top-e.y),o=Math.abs(r.bottom-e.y),n=Math.abs(r.right-e.x),s=Math.abs(r.left-e.x);switch(Math.min(t,o,n,s)){case s:return"left";case n:return"right";case t:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function Os(e,r,t=5){const o=[];switch(r){case"top":o.push({x:e.x-t,y:e.y+t},{x:e.x+t,y:e.y+t});break;case"bottom":o.push({x:e.x-t,y:e.y-t},{x:e.x+t,y:e.y-t});break;case"left":o.push({x:e.x+t,y:e.y-t},{x:e.x+t,y:e.y+t});break;case"right":o.push({x:e.x-t,y:e.y-t},{x:e.x-t,y:e.y+t});break}return o}function Gs(e){const{top:r,right:t,bottom:o,left:n}=e;return[{x:n,y:r},{x:t,y:r},{x:t,y:o},{x:n,y:o}]}function Fs(e,r){const{x:t,y:o}=e;let n=!1;for(let s=0,i=r.length-1;s<r.length;i=s++){const l=r[s],u=r[i],v=l.x,p=l.y,f=u.x,m=u.y;p>o!=m>o&&t<(f-v)*(o-p)/(m-p)+v&&(n=!n)}return n}function $s(e){const r=e.slice();return r.sort((t,o)=>t.x<o.x?-1:t.x>o.x?1:t.y<o.y?-1:t.y>o.y?1:0),Ls(r)}function Ls(e){if(e.length<=1)return e.slice();const r=[];for(let o=0;o<e.length;o++){const n=e[o];for(;r.length>=2;){const s=r[r.length-1],i=r[r.length-2];if((s.x-i.x)*(n.y-i.y)>=(s.y-i.y)*(n.x-i.x))r.pop();else break}r.push(n)}r.pop();const t=[];for(let o=e.length-1;o>=0;o--){const n=e[o];for(;t.length>=2;){const s=t[t.length-1],i=t[t.length-2];if((s.x-i.x)*(n.y-i.y)>=(s.y-i.y)*(n.x-i.x))t.pop();else break}t.push(n)}return t.pop(),r.length===1&&t.length===1&&r[0].x===t[0].x&&r[0].y===t[0].y?r:r.concat(t)}var Bs=lo,zs=uo,Vs=fo,Ks=po,Hs=go;c.forwardRef(function(r,t){const{children:o,content:n,side:s="top",align:i="center",delayDuration:l=250,shortcut:u,open:v,defaultOpen:p,onOpenChange:f}=r;return a.jsxs(Bs,{delayDuration:l,open:v,defaultOpen:p,onOpenChange:f,children:[a.jsx(zs,{asChild:!0,children:o}),a.jsx(Vs,{children:a.jsxs(Ks,{ref:t,side:s,align:i,sideOffset:6,className:E("v8-tooltip"),style:{background:"var(--fg)",color:"var(--bg)",fontSize:"var(--fs-12)",fontWeight:500,padding:"4px 8px",borderRadius:"var(--radius-sm)",boxShadow:"var(--shadow-2)",maxWidth:280,zIndex:"var(--z-tooltip)",display:"inline-flex",alignItems:"center",gap:"var(--space-2)",userSelect:"none"},children:[n,u!==void 0&&a.jsx("kbd",{style:{fontFamily:"var(--font-mono)",fontSize:"var(--fs-12)",padding:"0 4px",background:"oklch(from var(--fg) l c h / 0.15)",borderRadius:"var(--radius-sm)"},children:u}),a.jsx(Hs,{style:{fill:"var(--fg)"}})]})})]})});var ho="Popover",[xo]=Z(ho,[Se]),ct=Se(),[bd,ye]=xo(ho),bo="PopoverAnchor",Us=c.forwardRef((e,r)=>{const{__scopePopover:t,...o}=e,n=ye(bo,t),s=ct(t),{onCustomAnchorAdd:i,onCustomAnchorRemove:l}=n;return c.useEffect(()=>(i(),()=>l()),[i,l]),a.jsx(Qe,{...s,...o,ref:r})});Us.displayName=bo;var yo="PopoverTrigger",Ws=c.forwardRef((e,r)=>{const{__scopePopover:t,...o}=e,n=ye(yo,t),s=ct(t),i=L(r,n.triggerRef),l=a.jsx(N.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.open?n.contentId:void 0,"data-state":Io(n.open),...o,ref:i,onClick:R(e.onClick,n.onOpenToggle)});return n.hasCustomAnchor?l:a.jsx(Qe,{asChild:!0,...s,children:l})});Ws.displayName=yo;var zt="PopoverPortal",[Ys,Xs]=xo(zt,{forceMount:void 0}),wo=e=>{const{__scopePopover:r,forceMount:t,children:o,container:n}=e,s=ye(zt,r);return a.jsx(Ys,{scope:r,forceMount:t,children:a.jsx(te,{present:t||s.open,children:a.jsx(Pt,{asChild:!0,container:n,children:o})})})};wo.displayName=zt;var Ne="PopoverContent",Co=c.forwardRef((e,r)=>{const t=Xs(Ne,e.__scopePopover),{forceMount:o=t.forceMount,...n}=e,s=ye(Ne,e.__scopePopover);return a.jsx(te,{present:o||s.open,children:s.modal?a.jsx(Zs,{...n,ref:r}):a.jsx(Js,{...n,ref:r})})});Co.displayName=Ne;var qs=Cr("PopoverContent.RemoveScroll"),Zs=c.forwardRef((e,r)=>{const t=ye(Ne,e.__scopePopover),o=c.useRef(null),n=L(r,o),s=c.useRef(!1);return c.useEffect(()=>{const i=o.current;if(i)return yr(i)},[]),a.jsx(wr,{as:qs,allowPinchZoom:!0,children:a.jsx(Ro,{...e,ref:n,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:R(e.onCloseAutoFocus,i=>{var l;i.preventDefault(),s.current||(l=t.triggerRef.current)==null||l.focus()}),onPointerDownOutside:R(e.onPointerDownOutside,i=>{const l=i.detail.originalEvent,u=l.button===0&&l.ctrlKey===!0,v=l.button===2||u;s.current=v},{checkForDefaultPrevented:!1}),onFocusOutside:R(e.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1})})})}),Js=c.forwardRef((e,r)=>{const t=ye(Ne,e.__scopePopover),o=c.useRef(!1),n=c.useRef(!1);return a.jsx(Ro,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var i,l;(i=e.onCloseAutoFocus)==null||i.call(e,s),s.defaultPrevented||(o.current||(l=t.triggerRef.current)==null||l.focus(),s.preventDefault()),o.current=!1,n.current=!1},onInteractOutside:s=>{var u,v;(u=e.onInteractOutside)==null||u.call(e,s),s.defaultPrevented||(o.current=!0,s.detail.originalEvent.type==="pointerdown"&&(n.current=!0));const i=s.target;((v=t.triggerRef.current)==null?void 0:v.contains(i))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&n.current&&s.preventDefault()}})}),Ro=c.forwardRef((e,r)=>{const{__scopePopover:t,trapFocus:o,onOpenAutoFocus:n,onCloseAutoFocus:s,disableOutsidePointerEvents:i,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:v,onInteractOutside:p,...f}=e,m=ye(Ne,t),d=ct(t);return Rr(),a.jsx(_r,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:n,onUnmountAutoFocus:s,children:a.jsx(Tt,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:p,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:v,onDismiss:()=>m.onOpenChange(!1),deferPointerDownOutside:!0,children:a.jsx(kt,{"data-state":Io(m.open),role:"dialog",id:m.contentId,...d,...f,ref:r,style:{...f.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),_o="PopoverClose",Qs=c.forwardRef((e,r)=>{const{__scopePopover:t,...o}=e,n=ye(_o,t);return a.jsx(N.button,{type:"button",...o,ref:r,onClick:R(e.onClick,()=>n.onOpenChange(!1))})});Qs.displayName=_o;var ei="PopoverArrow",Mo=c.forwardRef((e,r)=>{const{__scopePopover:t,...o}=e,n=ct(t);return a.jsx(St,{...n,...o,ref:r})});Mo.displayName=ei;function Io(e){return e?"open":"closed"}var ti=wo,ri=Co,oi=Mo;c.forwardRef(function(r,t){const{className:o,children:n,sideOffset:s=6,...i}=r;return a.jsx(ti,{children:a.jsxs(ri,{ref:t,sideOffset:s,className:E("v8-popover",o),style:{background:"var(--surface-popover)",border:"1px solid var(--border)",borderRadius:"var(--radius)",boxShadow:"var(--shadow-3)",padding:"var(--space-3)",minWidth:200,maxWidth:360,zIndex:"var(--z-popover)"},...i,children:[n,a.jsx(oi,{style:{fill:"var(--surface-popover)"}})]})})});var ni=e=>{switch(e){case"success":return ii;case"info":return li;case"warning":return ci;case"error":return di;default:return null}},ai=Array(12).fill(0),si=({visible:e,className:r})=>g.createElement("div",{className:["sonner-loading-wrapper",r].filter(Boolean).join(" "),"data-visible":e},g.createElement("div",{className:"sonner-spinner"},ai.map((t,o)=>g.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${o}`})))),ii=g.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},g.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),ci=g.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},g.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),li=g.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},g.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),di=g.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},g.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),ui=g.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},g.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),g.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),fi=()=>{let[e,r]=g.useState(document.hidden);return g.useEffect(()=>{let t=()=>{r(document.hidden)};return document.addEventListener("visibilitychange",t),()=>window.removeEventListener("visibilitychange",t)},[]),e},Mt=1,pi=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let r=this.subscribers.indexOf(e);this.subscribers.splice(r,1)}),this.publish=e=>{this.subscribers.forEach(r=>r(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{var r;let{message:t,...o}=e,n=typeof(e==null?void 0:e.id)=="number"||((r=e.id)==null?void 0:r.length)>0?e.id:Mt++,s=this.toasts.find(l=>l.id===n),i=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),s?this.toasts=this.toasts.map(l=>l.id===n?(this.publish({...l,...e,id:n,title:t}),{...l,...e,id:n,dismissible:i,title:t}):l):this.addToast({title:t,...o,dismissible:i,id:n}),n},this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(r=>{this.subscribers.forEach(t=>t({id:r.id,dismiss:!0}))}),this.subscribers.forEach(r=>r({id:e,dismiss:!0})),e),this.message=(e,r)=>this.create({...r,message:e}),this.error=(e,r)=>this.create({...r,message:e,type:"error"}),this.success=(e,r)=>this.create({...r,type:"success",message:e}),this.info=(e,r)=>this.create({...r,type:"info",message:e}),this.warning=(e,r)=>this.create({...r,type:"warning",message:e}),this.loading=(e,r)=>this.create({...r,type:"loading",message:e}),this.promise=(e,r)=>{if(!r)return;let t;r.loading!==void 0&&(t=this.create({...r,promise:e,type:"loading",message:r.loading,description:typeof r.description!="function"?r.description:void 0}));let o=e instanceof Promise?e:e(),n=t!==void 0,s,i=o.then(async u=>{if(s=["resolve",u],g.isValidElement(u))n=!1,this.create({id:t,type:"default",message:u});else if(mi(u)&&!u.ok){n=!1;let v=typeof r.error=="function"?await r.error(`HTTP error! status: ${u.status}`):r.error,p=typeof r.description=="function"?await r.description(`HTTP error! status: ${u.status}`):r.description;this.create({id:t,type:"error",message:v,description:p})}else if(r.success!==void 0){n=!1;let v=typeof r.success=="function"?await r.success(u):r.success,p=typeof r.description=="function"?await r.description(u):r.description;this.create({id:t,type:"success",message:v,description:p})}}).catch(async u=>{if(s=["reject",u],r.error!==void 0){n=!1;let v=typeof r.error=="function"?await r.error(u):r.error,p=typeof r.description=="function"?await r.description(u):r.description;this.create({id:t,type:"error",message:v,description:p})}}).finally(()=>{var u;n&&(this.dismiss(t),t=void 0),(u=r.finally)==null||u.call(r)}),l=()=>new Promise((u,v)=>i.then(()=>s[0]==="reject"?v(s[1]):u(s[1])).catch(v));return typeof t!="string"&&typeof t!="number"?{unwrap:l}:Object.assign(t,{unwrap:l})},this.custom=(e,r)=>{let t=(r==null?void 0:r.id)||Mt++;return this.create({jsx:e(t),id:t,...r}),t},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},Y=new pi,vi=(e,r)=>{let t=(r==null?void 0:r.id)||Mt++;return Y.addToast({title:e,...r,id:t}),t},mi=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",gi=vi,hi=()=>Y.toasts,xi=()=>Y.getActiveToasts();Object.assign(gi,{success:Y.success,info:Y.info,warning:Y.warning,error:Y.error,custom:Y.custom,message:Y.message,promise:Y.promise,dismiss:Y.dismiss,loading:Y.loading},{getHistory:hi,getToasts:xi});function bi(e,{insertAt:r}={}){if(typeof document>"u")return;let t=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",r==="top"&&t.firstChild?t.insertBefore(o,t.firstChild):t.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}bi(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
14
+ `);function Ue(e){return e.label!==void 0}var yi=3,wi="32px",Ci="16px",pr=4e3,Ri=356,_i=14,Mi=20,Ii=200;function ce(...e){return e.filter(Boolean).join(" ")}function Ei(e){let[r,t]=e.split("-"),o=[];return r&&o.push(r),t&&o.push(t),o}var Pi=e=>{var r,t,o,n,s,i,l,u,v,p,f;let{invert:m,toast:d,unstyled:b,interacting:w,setHeights:C,visibleToasts:y,heights:x,index:M,toasts:I,expanded:T,removeToast:j,defaultRichColors:F,closeButton:$,style:V,cancelButtonStyle:U,actionButtonStyle:ue,className:K="",descriptionClassName:fe="",duration:re,position:pe,gap:B,loadingIcon:oe,expandByDefault:ne,classNames:h,icons:O,closeButtonAriaLabel:W="Close toast",pauseWhenPageIsHidden:P}=e,[S,D]=g.useState(null),[z,J]=g.useState(null),[k,Ie]=g.useState(!1),[H,we]=g.useState(!1),[ke,gt]=g.useState(!1),[nr,aa]=g.useState(!1),[sa,ar]=g.useState(!1),[ia,ht]=g.useState(0),[ca,sr]=g.useState(0),Ae=g.useRef(d.duration||re||pr),ir=g.useRef(null),Ce=g.useRef(null),la=M===0,da=M+1<=y,Q=d.type,Ee=d.dismissible!==!1,ua=d.className||"",fa=d.descriptionClassName||"",He=g.useMemo(()=>x.findIndex(_=>_.toastId===d.id)||0,[x,d.id]),pa=g.useMemo(()=>{var _;return(_=d.closeButton)!=null?_:$},[d.closeButton,$]),cr=g.useMemo(()=>d.duration||re||pr,[d.duration,re]),xt=g.useRef(0),Pe=g.useRef(0),lr=g.useRef(0),Te=g.useRef(null),[va,ma]=pe.split("-"),dr=g.useMemo(()=>x.reduce((_,A,G)=>G>=He?_:_+A.height,0),[x,He]),ur=fi(),ga=d.invert||m,bt=Q==="loading";Pe.current=g.useMemo(()=>He*B+dr,[He,dr]),g.useEffect(()=>{Ae.current=cr},[cr]),g.useEffect(()=>{Ie(!0)},[]),g.useEffect(()=>{let _=Ce.current;if(_){let A=_.getBoundingClientRect().height;return sr(A),C(G=>[{toastId:d.id,height:A,position:d.position},...G]),()=>C(G=>G.filter(ae=>ae.toastId!==d.id))}},[C,d.id]),g.useLayoutEffect(()=>{if(!k)return;let _=Ce.current,A=_.style.height;_.style.height="auto";let G=_.getBoundingClientRect().height;_.style.height=A,sr(G),C(ae=>ae.find(se=>se.toastId===d.id)?ae.map(se=>se.toastId===d.id?{...se,height:G}:se):[{toastId:d.id,height:G,position:d.position},...ae])},[k,d.title,d.description,C,d.id]);let ve=g.useCallback(()=>{we(!0),ht(Pe.current),C(_=>_.filter(A=>A.toastId!==d.id)),setTimeout(()=>{j(d)},Ii)},[d,j,C,Pe]);g.useEffect(()=>{if(d.promise&&Q==="loading"||d.duration===1/0||d.type==="loading")return;let _;return T||w||P&&ur?(()=>{if(lr.current<xt.current){let A=new Date().getTime()-xt.current;Ae.current=Ae.current-A}lr.current=new Date().getTime()})():Ae.current!==1/0&&(xt.current=new Date().getTime(),_=setTimeout(()=>{var A;(A=d.onAutoClose)==null||A.call(d,d),ve()},Ae.current)),()=>clearTimeout(_)},[T,w,d,Q,P,ur,ve]),g.useEffect(()=>{d.delete&&ve()},[ve,d.delete]);function ha(){var _,A,G;return O!=null&&O.loading?g.createElement("div",{className:ce(h==null?void 0:h.loader,(_=d==null?void 0:d.classNames)==null?void 0:_.loader,"sonner-loader"),"data-visible":Q==="loading"},O.loading):oe?g.createElement("div",{className:ce(h==null?void 0:h.loader,(A=d==null?void 0:d.classNames)==null?void 0:A.loader,"sonner-loader"),"data-visible":Q==="loading"},oe):g.createElement(si,{className:ce(h==null?void 0:h.loader,(G=d==null?void 0:d.classNames)==null?void 0:G.loader),visible:Q==="loading"})}return g.createElement("li",{tabIndex:0,ref:Ce,className:ce(K,ua,h==null?void 0:h.toast,(r=d==null?void 0:d.classNames)==null?void 0:r.toast,h==null?void 0:h.default,h==null?void 0:h[Q],(t=d==null?void 0:d.classNames)==null?void 0:t[Q]),"data-sonner-toast":"","data-rich-colors":(o=d.richColors)!=null?o:F,"data-styled":!(d.jsx||d.unstyled||b),"data-mounted":k,"data-promise":!!d.promise,"data-swiped":sa,"data-removed":H,"data-visible":da,"data-y-position":va,"data-x-position":ma,"data-index":M,"data-front":la,"data-swiping":ke,"data-dismissible":Ee,"data-type":Q,"data-invert":ga,"data-swipe-out":nr,"data-swipe-direction":z,"data-expanded":!!(T||ne&&k),style:{"--index":M,"--toasts-before":M,"--z-index":I.length-M,"--offset":`${H?ia:Pe.current}px`,"--initial-height":ne?"auto":`${ca}px`,...V,...d.style},onDragEnd:()=>{gt(!1),D(null),Te.current=null},onPointerDown:_=>{bt||!Ee||(ir.current=new Date,ht(Pe.current),_.target.setPointerCapture(_.pointerId),_.target.tagName!=="BUTTON"&&(gt(!0),Te.current={x:_.clientX,y:_.clientY}))},onPointerUp:()=>{var _,A,G,ae;if(nr||!Ee)return;Te.current=null;let se=Number(((_=Ce.current)==null?void 0:_.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),me=Number(((A=Ce.current)==null?void 0:A.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),Re=new Date().getTime()-((G=ir.current)==null?void 0:G.getTime()),ie=S==="x"?se:me,ge=Math.abs(ie)/Re;if(Math.abs(ie)>=Mi||ge>.11){ht(Pe.current),(ae=d.onDismiss)==null||ae.call(d,d),J(S==="x"?se>0?"right":"left":me>0?"down":"up"),ve(),aa(!0),ar(!1);return}gt(!1),D(null)},onPointerMove:_=>{var A,G,ae,se;if(!Te.current||!Ee||((A=window.getSelection())==null?void 0:A.toString().length)>0)return;let me=_.clientY-Te.current.y,Re=_.clientX-Te.current.x,ie=(G=e.swipeDirections)!=null?G:Ei(pe);!S&&(Math.abs(Re)>1||Math.abs(me)>1)&&D(Math.abs(Re)>Math.abs(me)?"x":"y");let ge={x:0,y:0};S==="y"?(ie.includes("top")||ie.includes("bottom"))&&(ie.includes("top")&&me<0||ie.includes("bottom")&&me>0)&&(ge.y=me):S==="x"&&(ie.includes("left")||ie.includes("right"))&&(ie.includes("left")&&Re<0||ie.includes("right")&&Re>0)&&(ge.x=Re),(Math.abs(ge.x)>0||Math.abs(ge.y)>0)&&ar(!0),(ae=Ce.current)==null||ae.style.setProperty("--swipe-amount-x",`${ge.x}px`),(se=Ce.current)==null||se.style.setProperty("--swipe-amount-y",`${ge.y}px`)}},pa&&!d.jsx?g.createElement("button",{"aria-label":W,"data-disabled":bt,"data-close-button":!0,onClick:bt||!Ee?()=>{}:()=>{var _;ve(),(_=d.onDismiss)==null||_.call(d,d)},className:ce(h==null?void 0:h.closeButton,(n=d==null?void 0:d.classNames)==null?void 0:n.closeButton)},(s=O==null?void 0:O.close)!=null?s:ui):null,d.jsx||c.isValidElement(d.title)?d.jsx?d.jsx:typeof d.title=="function"?d.title():d.title:g.createElement(g.Fragment,null,Q||d.icon||d.promise?g.createElement("div",{"data-icon":"",className:ce(h==null?void 0:h.icon,(i=d==null?void 0:d.classNames)==null?void 0:i.icon)},d.promise||d.type==="loading"&&!d.icon?d.icon||ha():null,d.type!=="loading"?d.icon||(O==null?void 0:O[Q])||ni(Q):null):null,g.createElement("div",{"data-content":"",className:ce(h==null?void 0:h.content,(l=d==null?void 0:d.classNames)==null?void 0:l.content)},g.createElement("div",{"data-title":"",className:ce(h==null?void 0:h.title,(u=d==null?void 0:d.classNames)==null?void 0:u.title)},typeof d.title=="function"?d.title():d.title),d.description?g.createElement("div",{"data-description":"",className:ce(fe,fa,h==null?void 0:h.description,(v=d==null?void 0:d.classNames)==null?void 0:v.description)},typeof d.description=="function"?d.description():d.description):null),c.isValidElement(d.cancel)?d.cancel:d.cancel&&Ue(d.cancel)?g.createElement("button",{"data-button":!0,"data-cancel":!0,style:d.cancelButtonStyle||U,onClick:_=>{var A,G;Ue(d.cancel)&&Ee&&((G=(A=d.cancel).onClick)==null||G.call(A,_),ve())},className:ce(h==null?void 0:h.cancelButton,(p=d==null?void 0:d.classNames)==null?void 0:p.cancelButton)},d.cancel.label):null,c.isValidElement(d.action)?d.action:d.action&&Ue(d.action)?g.createElement("button",{"data-button":!0,"data-action":!0,style:d.actionButtonStyle||ue,onClick:_=>{var A,G;Ue(d.action)&&((G=(A=d.action).onClick)==null||G.call(A,_),!_.defaultPrevented&&ve())},className:ce(h==null?void 0:h.actionButton,(f=d==null?void 0:d.classNames)==null?void 0:f.actionButton)},d.action.label):null))};function vr(){if(typeof window>"u"||typeof document>"u")return"ltr";let e=document.documentElement.getAttribute("dir");return e==="auto"||!e?window.getComputedStyle(document.documentElement).direction:e}function Ti(e,r){let t={};return[e,r].forEach((o,n)=>{let s=n===1,i=s?"--mobile-offset":"--offset",l=s?Ci:wi;function u(v){["top","right","bottom","left"].forEach(p=>{t[`${i}-${p}`]=typeof v=="number"?`${v}px`:v})}typeof o=="number"||typeof o=="string"?u(o):typeof o=="object"?["top","right","bottom","left"].forEach(v=>{o[v]===void 0?t[`${i}-${v}`]=l:t[`${i}-${v}`]=typeof o[v]=="number"?`${o[v]}px`:o[v]}):u(l)}),t}c.forwardRef(function(e,r){let{invert:t,position:o="bottom-right",hotkey:n=["altKey","KeyT"],expand:s,closeButton:i,className:l,offset:u,mobileOffset:v,theme:p="light",richColors:f,duration:m,style:d,visibleToasts:b=yi,toastOptions:w,dir:C=vr(),gap:y=_i,loadingIcon:x,icons:M,containerAriaLabel:I="Notifications",pauseWhenPageIsHidden:T}=e,[j,F]=g.useState([]),$=g.useMemo(()=>Array.from(new Set([o].concat(j.filter(P=>P.position).map(P=>P.position)))),[j,o]),[V,U]=g.useState([]),[ue,K]=g.useState(!1),[fe,re]=g.useState(!1),[pe,B]=g.useState(p!=="system"?p:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),oe=g.useRef(null),ne=n.join("+").replace(/Key/g,"").replace(/Digit/g,""),h=g.useRef(null),O=g.useRef(!1),W=g.useCallback(P=>{F(S=>{var D;return(D=S.find(z=>z.id===P.id))!=null&&D.delete||Y.dismiss(P.id),S.filter(({id:z})=>z!==P.id)})},[]);return g.useEffect(()=>Y.subscribe(P=>{if(P.dismiss){F(S=>S.map(D=>D.id===P.id?{...D,delete:!0}:D));return}setTimeout(()=>{wa.flushSync(()=>{F(S=>{let D=S.findIndex(z=>z.id===P.id);return D!==-1?[...S.slice(0,D),{...S[D],...P},...S.slice(D+1)]:[P,...S]})})})}),[]),g.useEffect(()=>{if(p!=="system"){B(p);return}if(p==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?B("dark"):B("light")),typeof window>"u")return;let P=window.matchMedia("(prefers-color-scheme: dark)");try{P.addEventListener("change",({matches:S})=>{B(S?"dark":"light")})}catch{P.addListener(({matches:D})=>{try{B(D?"dark":"light")}catch(z){console.error(z)}})}},[p]),g.useEffect(()=>{j.length<=1&&K(!1)},[j]),g.useEffect(()=>{let P=S=>{var D,z;n.every(J=>S[J]||S.code===J)&&(K(!0),(D=oe.current)==null||D.focus()),S.code==="Escape"&&(document.activeElement===oe.current||(z=oe.current)!=null&&z.contains(document.activeElement))&&K(!1)};return document.addEventListener("keydown",P),()=>document.removeEventListener("keydown",P)},[n]),g.useEffect(()=>{if(oe.current)return()=>{h.current&&(h.current.focus({preventScroll:!0}),h.current=null,O.current=!1)}},[oe.current]),g.createElement("section",{ref:r,"aria-label":`${I} ${ne}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},$.map((P,S)=>{var D;let[z,J]=P.split("-");return j.length?g.createElement("ol",{key:P,dir:C==="auto"?vr():C,tabIndex:-1,ref:oe,className:l,"data-sonner-toaster":!0,"data-theme":pe,"data-y-position":z,"data-lifted":ue&&j.length>1&&!s,"data-x-position":J,style:{"--front-toast-height":`${((D=V[0])==null?void 0:D.height)||0}px`,"--width":`${Ri}px`,"--gap":`${y}px`,...d,...Ti(u,v)},onBlur:k=>{O.current&&!k.currentTarget.contains(k.relatedTarget)&&(O.current=!1,h.current&&(h.current.focus({preventScroll:!0}),h.current=null))},onFocus:k=>{k.target instanceof HTMLElement&&k.target.dataset.dismissible==="false"||O.current||(O.current=!0,h.current=k.relatedTarget)},onMouseEnter:()=>K(!0),onMouseMove:()=>K(!0),onMouseLeave:()=>{fe||K(!1)},onDragEnd:()=>K(!1),onPointerDown:k=>{k.target instanceof HTMLElement&&k.target.dataset.dismissible==="false"||re(!0)},onPointerUp:()=>re(!1)},j.filter(k=>!k.position&&S===0||k.position===P).map((k,Ie)=>{var H,we;return g.createElement(Pi,{key:k.id,icons:M,index:Ie,toast:k,defaultRichColors:f,duration:(H=w==null?void 0:w.duration)!=null?H:m,className:w==null?void 0:w.className,descriptionClassName:w==null?void 0:w.descriptionClassName,invert:t,visibleToasts:b,closeButton:(we=w==null?void 0:w.closeButton)!=null?we:i,interacting:fe,position:P,style:w==null?void 0:w.style,unstyled:w==null?void 0:w.unstyled,classNames:w==null?void 0:w.classNames,cancelButtonStyle:w==null?void 0:w.cancelButtonStyle,actionButtonStyle:w==null?void 0:w.actionButtonStyle,removeToast:W,toasts:j.filter(ke=>ke.position==k.position),heights:V.filter(ke=>ke.position==k.position),setHeights:U,expandByDefault:s,gap:y,loadingIcon:x,expanded:ue,pauseWhenPageIsHidden:T,swipeDirections:e.swipeDirections})})):null}))});var It=["Enter"," "],ji=["ArrowDown","PageUp","Home"],Eo=["ArrowUp","PageDown","End"],Ni=[...ji,...Eo],Si={ltr:[...It,"ArrowRight"],rtl:[...It,"ArrowLeft"]},ki={ltr:["ArrowLeft"],rtl:["ArrowRight"]},lt="Menu",[Fe,Ai,Di]=Nt(lt),[_e,dt]=Z(lt,[Di,Se,xe]),Vt=Se(),Po=xe(),[yd,Me]=_e(lt),[wd,Ke]=_e(lt),Oi="MenuAnchor",Kt=c.forwardRef((e,r)=>{const{__scopeMenu:t,...o}=e,n=Vt(t);return a.jsx(Qe,{...n,...o,ref:r})});Kt.displayName=Oi;var Ht="MenuPortal",[Gi,To]=_e(Ht,{forceMount:void 0}),jo=e=>{const{__scopeMenu:r,forceMount:t,children:o,container:n}=e,s=Me(Ht,r);return a.jsx(Gi,{scope:r,forceMount:t,children:a.jsx(te,{present:t||s.open,children:a.jsx(Pt,{asChild:!0,container:n,children:o})})})};jo.displayName=Ht;var ee="MenuContent",[Fi,Ut]=_e(ee),No=c.forwardRef((e,r)=>{const t=To(ee,e.__scopeMenu),{forceMount:o=t.forceMount,...n}=e,s=Me(ee,e.__scopeMenu),i=Ke(ee,e.__scopeMenu);return a.jsx(Fe.Provider,{scope:e.__scopeMenu,children:a.jsx(te,{present:o||s.open,children:a.jsx(Fe.Slot,{scope:e.__scopeMenu,children:i.modal?a.jsx($i,{...n,ref:r}):a.jsx(Li,{...n,ref:r})})})})}),$i=c.forwardRef((e,r)=>{const t=Me(ee,e.__scopeMenu),o=c.useRef(null),n=L(r,o);return c.useEffect(()=>{const s=o.current;if(s)return yr(s)},[]),a.jsx(Wt,{...e,ref:n,trapFocus:t.open,disableOutsidePointerEvents:t.open,disableOutsideScroll:!0,onFocusOutside:R(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>t.onOpenChange(!1)})}),Li=c.forwardRef((e,r)=>{const t=Me(ee,e.__scopeMenu);return a.jsx(Wt,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>t.onOpenChange(!1)})}),Bi=Cr("MenuContent.ScrollLock"),Wt=c.forwardRef((e,r)=>{const{__scopeMenu:t,loop:o=!1,trapFocus:n,onOpenAutoFocus:s,onCloseAutoFocus:i,disableOutsidePointerEvents:l,onEntryFocus:u,onEscapeKeyDown:v,onPointerDownOutside:p,onFocusOutside:f,onInteractOutside:m,onDismiss:d,disableOutsideScroll:b,...w}=e,C=Me(ee,t),y=Ke(ee,t),x=Vt(t),M=Po(t),I=Ai(t),[T,j]=c.useState(null),F=c.useRef(null),$=L(r,F,C.onContentChange),V=c.useRef(0),U=c.useRef(""),ue=c.useRef(0),K=c.useRef(null),fe=c.useRef("right"),re=c.useRef(0),pe=b?wr:c.Fragment,B=b?{as:Bi,allowPinchZoom:!0}:void 0,oe=h=>{var k,Ie;const O=U.current+h,W=I().filter(H=>!H.disabled),P=document.activeElement,S=(k=W.find(H=>H.ref.current===P))==null?void 0:k.textValue,D=W.map(H=>H.textValue),z=Qi(D,O,S),J=(Ie=W.find(H=>H.textValue===z))==null?void 0:Ie.ref.current;(function H(we){U.current=we,window.clearTimeout(V.current),we!==""&&(V.current=window.setTimeout(()=>H(""),1e3))})(O),J&&setTimeout(()=>J.focus())};c.useEffect(()=>()=>window.clearTimeout(V.current),[]),Rr();const ne=c.useCallback(h=>{var W,P;return fe.current===((W=K.current)==null?void 0:W.side)&&tc(h,(P=K.current)==null?void 0:P.area)},[]);return a.jsx(Fi,{scope:t,searchRef:U,onItemEnter:c.useCallback(h=>{ne(h)&&h.preventDefault()},[ne]),onItemLeave:c.useCallback(h=>{var O;ne(h)||((O=F.current)==null||O.focus(),j(null))},[ne]),onTriggerLeave:c.useCallback(h=>{ne(h)&&h.preventDefault()},[ne]),pointerGraceTimerRef:ue,onPointerGraceIntentChange:c.useCallback(h=>{K.current=h},[]),children:a.jsx(pe,{...B,children:a.jsx(_r,{asChild:!0,trapped:n,onMountAutoFocus:R(s,h=>{var O;h.preventDefault(),(O=F.current)==null||O.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:a.jsx(Tt,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:v,onPointerDownOutside:p,onFocusOutside:f,onInteractOutside:m,onDismiss:d,children:a.jsx(tt,{asChild:!0,...M,dir:y.dir,orientation:"vertical",loop:o,currentTabStopId:T,onCurrentTabStopIdChange:j,onEntryFocus:R(u,h=>{y.isUsingKeyboardRef.current||h.preventDefault()}),preventScrollOnEntryFocus:!0,children:a.jsx(kt,{role:"menu","aria-orientation":"vertical","data-state":Wo(C.open),"data-radix-menu-content":"",dir:y.dir,...x,...w,ref:$,style:{outline:"none",...w.style},onKeyDown:R(w.onKeyDown,h=>{const W=h.target.closest("[data-radix-menu-content]")===h.currentTarget,P=h.ctrlKey||h.altKey||h.metaKey,S=h.key.length===1;W&&(h.key==="Tab"&&h.preventDefault(),!P&&S&&oe(h.key));const D=F.current;if(h.target!==D||!Ni.includes(h.key))return;h.preventDefault();const J=I().filter(k=>!k.disabled).map(k=>k.ref.current);Eo.includes(h.key)&&J.reverse(),Zi(J)}),onBlur:R(e.onBlur,h=>{h.currentTarget.contains(h.target)||(window.clearTimeout(V.current),U.current="")}),onPointerMove:R(e.onPointerMove,$e(h=>{const O=h.target,W=re.current!==h.clientX;if(h.currentTarget.contains(O)&&W){const P=h.clientX>re.current?"right":"left";fe.current=P,re.current=h.clientX}}))})})})})})})});No.displayName=ee;var zi="MenuGroup",Yt=c.forwardRef((e,r)=>{const{__scopeMenu:t,...o}=e;return a.jsx(N.div,{role:"group",...o,ref:r})});Yt.displayName=zi;var Vi="MenuLabel",So=c.forwardRef((e,r)=>{const{__scopeMenu:t,...o}=e;return a.jsx(N.div,{...o,ref:r})});So.displayName=Vi;var qe="MenuItem",mr="menu.itemSelect",ut=c.forwardRef((e,r)=>{const{disabled:t=!1,onSelect:o,...n}=e,s=c.useRef(null),i=Ke(qe,e.__scopeMenu),l=Ut(qe,e.__scopeMenu),u=L(r,s),v=c.useRef(!1),p=()=>{const f=s.current;if(!t&&f){const m=new CustomEvent(mr,{bubbles:!0,cancelable:!0});f.addEventListener(mr,d=>o==null?void 0:o(d),{once:!0}),Ca(f,m),m.defaultPrevented?v.current=!1:i.onClose()}};return a.jsx(ko,{...n,ref:u,disabled:t,onClick:R(e.onClick,p),onPointerDown:f=>{var m;(m=e.onPointerDown)==null||m.call(e,f),v.current=!0},onPointerUp:R(e.onPointerUp,f=>{var m;v.current||(m=f.currentTarget)==null||m.click()}),onKeyDown:R(e.onKeyDown,f=>{t||f.target!==f.currentTarget||l.searchRef.current!==""&&f.key===" "||It.includes(f.key)&&(f.currentTarget.click(),f.preventDefault())})})});ut.displayName=qe;var ko=c.forwardRef((e,r)=>{const{__scopeMenu:t,disabled:o=!1,textValue:n,...s}=e,i=Ut(qe,t),l=Po(t),u=c.useRef(null),v=L(r,u),[p,f]=c.useState(!1),[m,d]=c.useState("");return c.useEffect(()=>{const b=u.current;b&&d((b.textContent??"").trim())},[s.children]),a.jsx(Fe.ItemSlot,{scope:t,disabled:o,textValue:n??m,children:a.jsx(rt,{asChild:!0,...l,focusable:!o,children:a.jsx(N.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...s,ref:v,onPointerMove:R(e.onPointerMove,$e(b=>{o?i.onItemLeave(b):(i.onItemEnter(b),b.defaultPrevented||b.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:R(e.onPointerLeave,$e(b=>i.onItemLeave(b))),onFocus:R(e.onFocus,()=>f(!0)),onBlur:R(e.onBlur,()=>f(!1))})})})}),Ki="MenuCheckboxItem",Ao=c.forwardRef((e,r)=>{const{checked:t=!1,onCheckedChange:o,...n}=e;return a.jsx($o,{scope:e.__scopeMenu,checked:t,children:a.jsx(ut,{role:"menuitemcheckbox","aria-checked":Ze(t)?"mixed":t,...n,ref:r,"data-state":qt(t),onSelect:R(n.onSelect,()=>o==null?void 0:o(Ze(t)?!0:!t),{checkForDefaultPrevented:!1})})})});Ao.displayName=Ki;var Do="MenuRadioGroup",[Hi,Ui]=_e(Do,{value:void 0,onValueChange:()=>{}}),Oo=c.forwardRef((e,r)=>{const{value:t,onValueChange:o,...n}=e,s=br(o);return a.jsx(Hi,{scope:e.__scopeMenu,value:t,onValueChange:s,children:a.jsx(Yt,{...n,ref:r})})});Oo.displayName=Do;var Go="MenuRadioItem",Fo=c.forwardRef((e,r)=>{const{value:t,...o}=e,n=Ui(Go,e.__scopeMenu),s=t===n.value;return a.jsx($o,{scope:e.__scopeMenu,checked:s,children:a.jsx(ut,{role:"menuitemradio","aria-checked":s,...o,ref:r,"data-state":qt(s),onSelect:R(o.onSelect,()=>{var i;return(i=n.onValueChange)==null?void 0:i.call(n,t)},{checkForDefaultPrevented:!1})})})});Fo.displayName=Go;var Xt="MenuItemIndicator",[$o,Wi]=_e(Xt,{checked:!1}),Lo=c.forwardRef((e,r)=>{const{__scopeMenu:t,forceMount:o,...n}=e,s=Wi(Xt,t);return a.jsx(te,{present:o||Ze(s.checked)||s.checked===!0,children:a.jsx(N.span,{...n,ref:r,"data-state":qt(s.checked)})})});Lo.displayName=Xt;var Yi="MenuSeparator",Bo=c.forwardRef((e,r)=>{const{__scopeMenu:t,...o}=e;return a.jsx(N.div,{role:"separator","aria-orientation":"horizontal",...o,ref:r})});Bo.displayName=Yi;var Xi="MenuArrow",zo=c.forwardRef((e,r)=>{const{__scopeMenu:t,...o}=e,n=Vt(t);return a.jsx(St,{...n,...o,ref:r})});zo.displayName=Xi;var qi="MenuSub",[Cd,Vo]=_e(qi),Oe="MenuSubTrigger",Ko=c.forwardRef((e,r)=>{const t=Me(Oe,e.__scopeMenu),o=Ke(Oe,e.__scopeMenu),n=Vo(Oe,e.__scopeMenu),s=Ut(Oe,e.__scopeMenu),i=c.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:u}=s,v={__scopeMenu:e.__scopeMenu},p=c.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);c.useEffect(()=>p,[p]),c.useEffect(()=>{const m=l.current;return()=>{window.clearTimeout(m),u(null)}},[l,u]);const f=L(r,n.onTriggerChange);return a.jsx(Kt,{asChild:!0,...v,children:a.jsx(ko,{id:n.triggerId,"aria-haspopup":"menu","aria-expanded":t.open,"aria-controls":t.open?n.contentId:void 0,"data-state":Wo(t.open),...e,ref:f,onClick:m=>{var d;(d=e.onClick)==null||d.call(e,m),!(e.disabled||m.defaultPrevented)&&(m.currentTarget.focus(),t.open||t.onOpenChange(!0))},onPointerMove:R(e.onPointerMove,$e(m=>{s.onItemEnter(m),!m.defaultPrevented&&!e.disabled&&!t.open&&!i.current&&(s.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{t.onOpenChange(!0),p()},100))})),onPointerLeave:R(e.onPointerLeave,$e(m=>{var b,w;p();const d=(b=t.content)==null?void 0:b.getBoundingClientRect();if(d){const C=(w=t.content)==null?void 0:w.dataset.side,y=C==="right",x=y?-5:5,M=d[y?"left":"right"],I=d[y?"right":"left"];s.onPointerGraceIntentChange({area:[{x:m.clientX+x,y:m.clientY},{x:M,y:d.top},{x:I,y:d.top},{x:I,y:d.bottom},{x:M,y:d.bottom}],side:C}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(m),m.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:R(e.onKeyDown,m=>{var b;e.disabled||m.target!==m.currentTarget||s.searchRef.current!==""&&m.key===" "||Si[o.dir].includes(m.key)&&(t.onOpenChange(!0),(b=t.content)==null||b.focus(),m.preventDefault())})})})});Ko.displayName=Oe;var Ho="MenuSubContent",Uo=c.forwardRef((e,r)=>{const t=To(ee,e.__scopeMenu),{forceMount:o=t.forceMount,align:n="start",...s}=e,i=Me(ee,e.__scopeMenu),l=Ke(ee,e.__scopeMenu),u=Vo(Ho,e.__scopeMenu),v=c.useRef(null),p=L(r,v);return a.jsx(Fe.Provider,{scope:e.__scopeMenu,children:a.jsx(te,{present:o||i.open,children:a.jsx(Fe.Slot,{scope:e.__scopeMenu,children:a.jsx(Wt,{id:u.contentId,"aria-labelledby":u.triggerId,...s,ref:p,align:n,side:l.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:f=>{var m;l.isUsingKeyboardRef.current&&((m=v.current)==null||m.focus()),f.preventDefault()},onCloseAutoFocus:f=>f.preventDefault(),onFocusOutside:R(e.onFocusOutside,f=>{f.target!==u.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:R(e.onEscapeKeyDown,f=>{l.onClose(),f.preventDefault()}),onKeyDown:R(e.onKeyDown,f=>{var b;const m=f.currentTarget.contains(f.target),d=ki[l.dir].includes(f.key);m&&d&&(i.onOpenChange(!1),(b=u.trigger)==null||b.focus(),f.preventDefault())})})})})})});Uo.displayName=Ho;function Wo(e){return e?"open":"closed"}function Ze(e){return e==="indeterminate"}function qt(e){return Ze(e)?"indeterminate":e?"checked":"unchecked"}function Zi(e){const r=document.activeElement;for(const t of e)if(t===r||(t.focus(),document.activeElement!==r))return}function Ji(e,r){return e.map((t,o)=>e[(r+o)%e.length])}function Qi(e,r,t){const n=r.length>1&&Array.from(r).every(v=>v===r[0])?r[0]:r,s=t?e.indexOf(t):-1;let i=Ji(e,Math.max(s,0));n.length===1&&(i=i.filter(v=>v!==t));const u=i.find(v=>v.toLowerCase().startsWith(n.toLowerCase()));return u!==t?u:void 0}function ec(e,r){const{x:t,y:o}=e;let n=!1;for(let s=0,i=r.length-1;s<r.length;i=s++){const l=r[s],u=r[i],v=l.x,p=l.y,f=u.x,m=u.y;p>o!=m>o&&t<(f-v)*(o-p)/(m-p)+v&&(n=!n)}return n}function tc(e,r){if(!r)return!1;const t={x:e.clientX,y:e.clientY};return ec(t,r)}function $e(e){return r=>r.pointerType==="mouse"?e(r):void 0}var Yo=Kt,Xo=jo,qo=No,Zo=Yt,Jo=So,Qo=ut,en=Ao,tn=Oo,rn=Fo,on=Lo,nn=Bo,an=zo,sn=Ko,cn=Uo,ln="DropdownMenu",[rc]=Z(ln,[dt]),X=dt(),[Rd,dn]=rc(ln),un="DropdownMenuTrigger",oc=c.forwardRef((e,r)=>{const{__scopeDropdownMenu:t,disabled:o=!1,...n}=e,s=dn(un,t),i=X(t),l=L(r,s.triggerRef);return a.jsx(Yo,{asChild:!0,...i,children:a.jsx(N.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...n,ref:l,onPointerDown:R(e.onPointerDown,u=>{!o&&u.button===0&&u.ctrlKey===!1&&(s.onOpenToggle(),s.open||u.preventDefault())}),onKeyDown:R(e.onKeyDown,u=>{o||(["Enter"," "].includes(u.key)&&s.onOpenToggle(),u.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(u.key)&&u.preventDefault())})})})});oc.displayName=un;var nc="DropdownMenuPortal",fn=e=>{const{__scopeDropdownMenu:r,...t}=e,o=X(r);return a.jsx(Xo,{...o,...t})};fn.displayName=nc;var pn="DropdownMenuContent",vn=c.forwardRef((e,r)=>{const{__scopeDropdownMenu:t,...o}=e,n=dn(pn,t),s=X(t),i=c.useRef(!1);return a.jsx(qo,{id:n.contentId,"aria-labelledby":n.triggerId,...s,...o,ref:r,onCloseAutoFocus:R(e.onCloseAutoFocus,l=>{var u;i.current||(u=n.triggerRef.current)==null||u.focus(),i.current=!1,l.preventDefault()}),onInteractOutside:R(e.onInteractOutside,l=>{const u=l.detail.originalEvent,v=u.button===0&&u.ctrlKey===!0,p=u.button===2||v;(!n.modal||p)&&(i.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});vn.displayName=pn;var ac="DropdownMenuGroup",sc=c.forwardRef((e,r)=>{const{__scopeDropdownMenu:t,...o}=e,n=X(t);return a.jsx(Zo,{...n,...o,ref:r})});sc.displayName=ac;var ic="DropdownMenuLabel",mn=c.forwardRef((e,r)=>{const{__scopeDropdownMenu:t,...o}=e,n=X(t);return a.jsx(Jo,{...n,...o,ref:r})});mn.displayName=ic;var cc="DropdownMenuItem",gn=c.forwardRef((e,r)=>{const{__scopeDropdownMenu:t,...o}=e,n=X(t);return a.jsx(Qo,{...n,...o,ref:r})});gn.displayName=cc;var lc="DropdownMenuCheckboxItem",hn=c.forwardRef((e,r)=>{const{__scopeDropdownMenu:t,...o}=e,n=X(t);return a.jsx(en,{...n,...o,ref:r})});hn.displayName=lc;var dc="DropdownMenuRadioGroup",uc=c.forwardRef((e,r)=>{const{__scopeDropdownMenu:t,...o}=e,n=X(t);return a.jsx(tn,{...n,...o,ref:r})});uc.displayName=dc;var fc="DropdownMenuRadioItem",pc=c.forwardRef((e,r)=>{const{__scopeDropdownMenu:t,...o}=e,n=X(t);return a.jsx(rn,{...n,...o,ref:r})});pc.displayName=fc;var vc="DropdownMenuItemIndicator",xn=c.forwardRef((e,r)=>{const{__scopeDropdownMenu:t,...o}=e,n=X(t);return a.jsx(on,{...n,...o,ref:r})});xn.displayName=vc;var mc="DropdownMenuSeparator",bn=c.forwardRef((e,r)=>{const{__scopeDropdownMenu:t,...o}=e,n=X(t);return a.jsx(nn,{...n,...o,ref:r})});bn.displayName=mc;var gc="DropdownMenuArrow",hc=c.forwardRef((e,r)=>{const{__scopeDropdownMenu:t,...o}=e,n=X(t);return a.jsx(an,{...n,...o,ref:r})});hc.displayName=gc;var xc="DropdownMenuSubTrigger",yn=c.forwardRef((e,r)=>{const{__scopeDropdownMenu:t,...o}=e,n=X(t);return a.jsx(sn,{...n,...o,ref:r})});yn.displayName=xc;var bc="DropdownMenuSubContent",wn=c.forwardRef((e,r)=>{const{__scopeDropdownMenu:t,...o}=e,n=X(t);return a.jsx(cn,{...n,...o,ref:r,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});wn.displayName=bc;var Cn=fn,yc=vn,wc=mn,Cc=gn,Rc=hn,_c=xn,Mc=bn,Ic=yn,Ec=wn;c.forwardRef(function(r,t){const{className:o,children:n,sideOffset:s=4,...i}=r;return a.jsx(Cn,{children:a.jsx(yc,{ref:t,sideOffset:s,className:E("v8-dropdown-menu",o),style:{minWidth:180,background:"var(--surface-popover)",border:"1px solid var(--border)",borderRadius:"var(--radius)",boxShadow:"var(--shadow-3)",padding:"var(--space-1)",zIndex:"var(--z-popover)"},...i,children:n})})});c.forwardRef(function(r,t){const{className:o,children:n,shortcut:s,danger:i,leftIcon:l,disabled:u,...v}=r;return a.jsxs(Cc,{ref:t,disabled:u,className:E("v8-dropdown-menu__item",i&&"is-danger",o),style:{display:"flex",alignItems:"center",gap:"var(--space-2)",height:28,padding:"0 var(--space-2) 0 var(--space-3)",borderRadius:"var(--radius-sm)",fontSize:"var(--fs-13)",color:i===!0?"var(--danger)":"var(--fg)",cursor:u===!0?"not-allowed":"pointer",outline:0,userSelect:"none"},...v,children:[l!==void 0&&a.jsx("span",{style:{width:14,display:"inline-flex",color:"var(--fg-muted)"},children:l}),a.jsx("span",{style:{flex:1,minWidth:0},children:n}),s!==void 0&&a.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"var(--fs-12)",color:"var(--fg-muted)",marginLeft:"var(--space-2)"},children:s})]})});c.forwardRef(function(r,t){const{className:o,children:n,...s}=r;return a.jsxs(Rc,{ref:t,className:E("v8-dropdown-menu__checkbox",o),style:{display:"flex",alignItems:"center",gap:"var(--space-2)",height:28,padding:"0 var(--space-3)",borderRadius:"var(--radius-sm)",fontSize:"var(--fs-13)",cursor:"pointer",outline:0},...s,children:[a.jsx(_c,{style:{display:"inline-flex",color:"var(--accent)"},children:a.jsx(Mr,{size:14,"aria-hidden":"true"})}),a.jsx("span",{children:n})]})});c.forwardRef(function(r,t){return a.jsx(wc,{ref:t,style:{padding:"var(--space-2) var(--space-3) var(--space-1)",fontSize:"var(--fs-12)",fontWeight:600,color:"var(--fg-subtle)",textTransform:"uppercase",letterSpacing:"var(--tracking-wide)"},...r})});c.forwardRef(function(r,t){return a.jsx(Mc,{ref:t,style:{height:1,margin:"var(--space-1) 0",background:"var(--border)"},...r})});c.forwardRef(function(r,t){const{className:o,children:n,...s}=r;return a.jsxs(Ic,{ref:t,className:E("v8-dropdown-menu__sub-trigger",o),style:{display:"flex",alignItems:"center",gap:"var(--space-2)",height:28,padding:"0 var(--space-2) 0 var(--space-3)",borderRadius:"var(--radius-sm)",fontSize:"var(--fs-13)",cursor:"pointer",outline:0},...s,children:[a.jsx("span",{style:{flex:1},children:n}),a.jsx(jt,{size:14,"aria-hidden":"true",style:{color:"var(--fg-muted)"}})]})});c.forwardRef(function(r,t){const{className:o,...n}=r;return a.jsx(Cn,{children:a.jsx(Ec,{ref:t,sideOffset:2,className:E("v8-dropdown-menu__sub-content",o),style:{minWidth:180,background:"var(--surface-popover)",border:"1px solid var(--border)",borderRadius:"var(--radius)",boxShadow:"var(--shadow-3)",padding:"var(--space-1)",zIndex:"var(--z-popover)"},...n})})});var Rn="ContextMenu",[Pc]=Z(Rn,[dt]),q=dt(),[_d,_n]=Pc(Rn),Mn="ContextMenuTrigger",In=c.forwardRef((e,r)=>{const{__scopeContextMenu:t,disabled:o=!1,...n}=e,s=_n(Mn,t),i=q(t),[l,u]=c.useState({x:0,y:0}),v=c.useMemo(()=>({current:{getBoundingClientRect:()=>DOMRect.fromRect({width:0,height:0,...l})}}),[l]),p=c.useRef(0),f=c.useCallback(()=>window.clearTimeout(p.current),[]),m=d=>{s.hasInteractedRef.current=!0,u({x:d.clientX,y:d.clientY}),s.onOpenChange(!0)};return c.useEffect(()=>f,[f]),c.useEffect(()=>void(o&&f()),[o,f]),a.jsxs(a.Fragment,{children:[a.jsx(Yo,{...i,virtualRef:v}),a.jsx(N.span,{"data-state":s.open?"open":"closed","data-disabled":o?"":void 0,...n,ref:r,style:{WebkitTouchCallout:"none",...e.style},onContextMenu:o?e.onContextMenu:R(e.onContextMenu,d=>{f(),m(d),d.preventDefault()}),onPointerDown:o?e.onPointerDown:R(e.onPointerDown,We(d=>{f(),s.open&&s.onOpenChange(!1),p.current=window.setTimeout(()=>m(d),700)})),onPointerMove:o?e.onPointerMove:R(e.onPointerMove,We(f)),onPointerCancel:o?e.onPointerCancel:R(e.onPointerCancel,We(f)),onPointerUp:o?e.onPointerUp:R(e.onPointerUp,We(f))})]})});In.displayName=Mn;var Tc="ContextMenuPortal",En=e=>{const{__scopeContextMenu:r,...t}=e,o=q(r);return a.jsx(Xo,{...o,...t})};En.displayName=Tc;var Pn="ContextMenuContent",Tn=c.forwardRef((e,r)=>{const{__scopeContextMenu:t,...o}=e,n=_n(Pn,t),s=q(t),i=c.useRef(!1);return a.jsx(qo,{...s,...o,ref:r,side:"right",sideOffset:2,align:"start",onCloseAutoFocus:l=>{var u;(u=e.onCloseAutoFocus)==null||u.call(e,l),!l.defaultPrevented&&i.current&&l.preventDefault(),i.current=!1},onInteractOutside:l=>{var u;(u=e.onInteractOutside)==null||u.call(e,l),!l.defaultPrevented&&!n.modal&&(i.current=!0)},style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Tn.displayName=Pn;var jc="ContextMenuGroup",Nc=c.forwardRef((e,r)=>{const{__scopeContextMenu:t,...o}=e,n=q(t);return a.jsx(Zo,{...n,...o,ref:r})});Nc.displayName=jc;var Sc="ContextMenuLabel",jn=c.forwardRef((e,r)=>{const{__scopeContextMenu:t,...o}=e,n=q(t);return a.jsx(Jo,{...n,...o,ref:r})});jn.displayName=Sc;var kc="ContextMenuItem",Nn=c.forwardRef((e,r)=>{const{__scopeContextMenu:t,...o}=e,n=q(t);return a.jsx(Qo,{...n,...o,ref:r})});Nn.displayName=kc;var Ac="ContextMenuCheckboxItem",Dc=c.forwardRef((e,r)=>{const{__scopeContextMenu:t,...o}=e,n=q(t);return a.jsx(en,{...n,...o,ref:r})});Dc.displayName=Ac;var Oc="ContextMenuRadioGroup",Gc=c.forwardRef((e,r)=>{const{__scopeContextMenu:t,...o}=e,n=q(t);return a.jsx(tn,{...n,...o,ref:r})});Gc.displayName=Oc;var Fc="ContextMenuRadioItem",$c=c.forwardRef((e,r)=>{const{__scopeContextMenu:t,...o}=e,n=q(t);return a.jsx(rn,{...n,...o,ref:r})});$c.displayName=Fc;var Lc="ContextMenuItemIndicator",Bc=c.forwardRef((e,r)=>{const{__scopeContextMenu:t,...o}=e,n=q(t);return a.jsx(on,{...n,...o,ref:r})});Bc.displayName=Lc;var zc="ContextMenuSeparator",Sn=c.forwardRef((e,r)=>{const{__scopeContextMenu:t,...o}=e,n=q(t);return a.jsx(nn,{...n,...o,ref:r})});Sn.displayName=zc;var Vc="ContextMenuArrow",Kc=c.forwardRef((e,r)=>{const{__scopeContextMenu:t,...o}=e,n=q(t);return a.jsx(an,{...n,...o,ref:r})});Kc.displayName=Vc;var Hc="ContextMenuSubTrigger",Uc=c.forwardRef((e,r)=>{const{__scopeContextMenu:t,...o}=e,n=q(t);return a.jsx(sn,{...n,...o,ref:r})});Uc.displayName=Hc;var Wc="ContextMenuSubContent",Yc=c.forwardRef((e,r)=>{const{__scopeContextMenu:t,...o}=e,n=q(t);return a.jsx(cn,{...n,...o,ref:r,style:{...e.style,"--radix-context-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-context-menu-content-available-width":"var(--radix-popper-available-width)","--radix-context-menu-content-available-height":"var(--radix-popper-available-height)","--radix-context-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-context-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Yc.displayName=Wc;function We(e){return r=>r.pointerType!=="mouse"?e(r):void 0}var Xc=In,qc=En,Zc=Tn,Jc=jn,Qc=Nn,el=Sn;c.forwardRef(function(r,t){return a.jsx(Xc,{ref:t,...r})});c.forwardRef(function(r,t){const{className:o,children:n,...s}=r;return a.jsx(qc,{children:a.jsx(Zc,{ref:t,className:E("v8-context-menu",o),style:{minWidth:200,background:"var(--surface-popover)",border:"1px solid var(--border)",borderRadius:"var(--radius)",boxShadow:"var(--shadow-3)",padding:"var(--space-1)",zIndex:"var(--z-popover)"},...s,children:n})})});c.forwardRef(function(r,t){const{className:o,children:n,shortcut:s,danger:i,leftIcon:l,disabled:u,...v}=r;return a.jsxs(Qc,{ref:t,disabled:u,className:E("v8-context-menu__item",i&&"is-danger",o),style:{display:"flex",alignItems:"center",gap:"var(--space-2)",height:28,padding:"0 var(--space-2) 0 var(--space-3)",borderRadius:"var(--radius-sm)",fontSize:"var(--fs-13)",color:i===!0?"var(--danger)":"var(--fg)",cursor:u===!0?"not-allowed":"pointer",outline:0,userSelect:"none"},...v,children:[l!==void 0&&a.jsx("span",{style:{width:14,display:"inline-flex",color:"var(--fg-muted)"},children:l}),a.jsx("span",{style:{flex:1,minWidth:0},children:n}),s!==void 0&&a.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"var(--fs-12)",color:"var(--fg-muted)",marginLeft:"var(--space-2)"},children:s})]})});c.forwardRef(function(r,t){return a.jsx(el,{ref:t,style:{height:1,margin:"var(--space-1) 0",background:"var(--border)"},...r})});c.forwardRef(function(r,t){return a.jsx(Jc,{ref:t,style:{padding:"var(--space-2) var(--space-3) var(--space-1)",fontSize:"var(--fs-12)",fontWeight:600,color:"var(--fg-subtle)",textTransform:"uppercase",letterSpacing:"var(--tracking-wide)"},...r})});c.forwardRef(function(r,t){const{items:o,showValue:n=!0,barHeight:s=6,cap:i,className:l,style:u,...v}=r,p=i??Math.max(1,...o.map(f=>f.value));return a.jsx("div",{ref:t,className:E("v8-bar-list",l),style:{display:"flex",flexDirection:"column",gap:"var(--space-3)",...u},...v,children:o.map(f=>{const m=Math.min(100,f.value/p*100);return a.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-3)"},children:[f.leading!==void 0&&a.jsx("span",{style:{flexShrink:0},children:f.leading}),a.jsxs("div",{style:{flex:1,minWidth:0},children:[a.jsxs("div",{style:{display:"flex",justifyContent:"space-between",gap:"var(--space-2)",marginBottom:4},children:[a.jsx("span",{style:{fontSize:"var(--fs-13)",color:"var(--fg)",minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:f.label}),n===!0&&a.jsx("span",{style:{fontSize:"var(--fs-12)",color:"var(--fg-muted)",fontVariantNumeric:"tabular-nums",flexShrink:0},children:f.hint??f.value})]}),a.jsx("div",{style:{position:"relative",height:s,background:"var(--surface-2)",borderRadius:"var(--radius-pill)",overflow:"hidden"},children:a.jsx("div",{style:{position:"absolute",top:0,left:0,height:"100%",width:`${m}%`,background:f.color??"var(--accent)",borderRadius:"var(--radius-pill)",transition:"width var(--motion-base) var(--ease-out)"}})})]})]},f.id)})})});const tl={neutral:"var(--fg-subtle)",info:"var(--info)",success:"var(--success)",warning:"var(--warning)",danger:"var(--danger)",accent:"var(--accent)"},rl={neutral:"color-mix(in oklch, var(--fg-subtle) 30%, var(--surface-0))",info:"color-mix(in oklch, var(--info) 30%, var(--surface-0))",success:"color-mix(in oklch, var(--success) 30%, var(--surface-0))",warning:"color-mix(in oklch, var(--warning) 30%, var(--surface-0))",danger:"color-mix(in oklch, var(--danger) 30%, var(--surface-0))",accent:"color-mix(in oklch, var(--accent) 30%, var(--surface-0))"};c.forwardRef(function(r,t){const{items:o,className:n,style:s,...i}=r;return a.jsx("ol",{ref:t,className:E("v8-timeline",n),style:{listStyle:"none",margin:0,padding:0,...s},...i,children:o.map((l,u)=>{const v=l.tone??"neutral",p=u===o.length-1;return a.jsxs("li",{style:{position:"relative",display:"grid",gridTemplateColumns:"20px 1fr",gap:"var(--space-3)",paddingBottom:p?0:"var(--space-4)"},children:[a.jsxs("span",{"aria-hidden":"true",style:{position:"relative",width:20,display:"flex",justifyContent:"center"},children:[!p&&a.jsx("span",{style:{position:"absolute",top:16,bottom:-16,width:1,background:"var(--border)"}}),a.jsx("span",{style:{position:"relative",width:14,height:14,borderRadius:"var(--radius-pill)",background:tl[v],boxShadow:`0 0 0 3px ${rl[v]}`,display:"inline-flex",alignItems:"center",justifyContent:"center",marginTop:4,fontSize:10,color:"var(--bg)"},children:l.icon})]}),a.jsxs("div",{children:[a.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:"var(--space-2)"},children:[a.jsx("div",{style:{fontSize:"var(--fs-13)",fontWeight:500,color:"var(--fg)"},children:l.title}),l.meta!==void 0&&a.jsx("div",{style:{fontSize:"var(--fs-12)",color:"var(--fg-subtle)",flexShrink:0},children:l.meta})]}),l.description!==void 0&&a.jsx("div",{style:{fontSize:"var(--fs-13)",color:"var(--fg-muted)",marginTop:2},children:l.description})]})]},l.id)})})});var ft="Collapsible",[ol,kn]=Z(ft),[nl,Zt]=ol(ft),An=c.forwardRef((e,r)=>{const{__scopeCollapsible:t,open:o,defaultOpen:n,disabled:s,onOpenChange:i,...l}=e,[u,v]=le({prop:o,defaultProp:n??!1,onChange:i,caller:ft});return a.jsx(nl,{scope:t,disabled:s,contentId:Le(),open:u,onOpenToggle:c.useCallback(()=>v(p=>!p),[v]),children:a.jsx(N.div,{"data-state":Qt(u),"data-disabled":s?"":void 0,...l,ref:r})})});An.displayName=ft;var Dn="CollapsibleTrigger",On=c.forwardRef((e,r)=>{const{__scopeCollapsible:t,...o}=e,n=Zt(Dn,t);return a.jsx(N.button,{type:"button","aria-controls":n.open?n.contentId:void 0,"aria-expanded":n.open||!1,"data-state":Qt(n.open),"data-disabled":n.disabled?"":void 0,disabled:n.disabled,...o,ref:r,onClick:R(e.onClick,n.onOpenToggle)})});On.displayName=Dn;var Jt="CollapsibleContent",Gn=c.forwardRef((e,r)=>{const{forceMount:t,...o}=e,n=Zt(Jt,e.__scopeCollapsible);return a.jsx(te,{present:t||n.open,children:({present:s})=>a.jsx(al,{...o,ref:r,present:s})})});Gn.displayName=Jt;var al=c.forwardRef((e,r)=>{const{__scopeCollapsible:t,present:o,children:n,...s}=e,i=Zt(Jt,t),[l,u]=c.useState(o),v=c.useRef(null),p=L(r,v),f=c.useRef(0),m=f.current,d=c.useRef(0),b=d.current,w=i.open||l,C=c.useRef(w),y=c.useRef(void 0);return c.useEffect(()=>{const x=requestAnimationFrame(()=>C.current=!1);return()=>cancelAnimationFrame(x)},[]),xr(()=>{const x=v.current;if(x){y.current=y.current||{transitionDuration:x.style.transitionDuration,animationName:x.style.animationName},x.style.transitionDuration="0s",x.style.animationName="none";const M=x.getBoundingClientRect();f.current=M.height,d.current=M.width,C.current||(x.style.transitionDuration=y.current.transitionDuration,x.style.animationName=y.current.animationName),u(o)}},[i.open,o]),a.jsx(N.div,{"data-state":Qt(i.open),"data-disabled":i.disabled?"":void 0,id:i.contentId,hidden:!w,...s,ref:p,style:{"--radix-collapsible-content-height":m?`${m}px`:void 0,"--radix-collapsible-content-width":b?`${b}px`:void 0,...e.style},children:w&&n})});function Qt(e){return e?"open":"closed"}var sl=An,il=On,cl=Gn,de="Accordion",ll=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[er,dl,ul]=Nt(de),[pt]=Z(de,[ul,kn]),tr=kn(),Fn=c.forwardRef((e,r)=>{const{type:t,...o}=e,n=o,s=o;return a.jsx(er.Provider,{scope:e.__scopeAccordion,children:t==="multiple"?a.jsx(ml,{...s,ref:r}):a.jsx(vl,{...n,ref:r})})});Fn.displayName=de;var[$n,fl]=pt(de),[Ln,pl]=pt(de,{collapsible:!1}),vl=c.forwardRef((e,r)=>{const{value:t,defaultValue:o,onValueChange:n=()=>{},collapsible:s=!1,...i}=e,[l,u]=le({prop:t,defaultProp:o??"",onChange:n,caller:de});return a.jsx($n,{scope:e.__scopeAccordion,value:c.useMemo(()=>l?[l]:[],[l]),onItemOpen:u,onItemClose:c.useCallback(()=>s&&u(""),[s,u]),children:a.jsx(Ln,{scope:e.__scopeAccordion,collapsible:s,children:a.jsx(Bn,{...i,ref:r})})})}),ml=c.forwardRef((e,r)=>{const{value:t,defaultValue:o,onValueChange:n=()=>{},...s}=e,[i,l]=le({prop:t,defaultProp:o??[],onChange:n,caller:de}),u=c.useCallback(p=>l((f=[])=>[...f,p]),[l]),v=c.useCallback(p=>l((f=[])=>f.filter(m=>m!==p)),[l]);return a.jsx($n,{scope:e.__scopeAccordion,value:i,onItemOpen:u,onItemClose:v,children:a.jsx(Ln,{scope:e.__scopeAccordion,collapsible:!0,children:a.jsx(Bn,{...s,ref:r})})})}),[gl,vt]=pt(de),Bn=c.forwardRef((e,r)=>{const{__scopeAccordion:t,disabled:o,dir:n,orientation:s="vertical",...i}=e,l=c.useRef(null),u=L(l,r),v=dl(t),f=Be(n)==="ltr",m=R(e.onKeyDown,d=>{var $;if(!ll.includes(d.key))return;const b=d.target,w=v().filter(V=>{var U;return!((U=V.ref.current)!=null&&U.disabled)}),C=w.findIndex(V=>V.ref.current===b),y=w.length;if(C===-1)return;d.preventDefault();let x=C;const M=0,I=y-1,T=()=>{x=C+1,x>I&&(x=M)},j=()=>{x=C-1,x<M&&(x=I)};switch(d.key){case"Home":x=M;break;case"End":x=I;break;case"ArrowRight":s==="horizontal"&&(f?T():j());break;case"ArrowDown":s==="vertical"&&T();break;case"ArrowLeft":s==="horizontal"&&(f?j():T());break;case"ArrowUp":s==="vertical"&&j();break}const F=x%y;($=w[F].ref.current)==null||$.focus()});return a.jsx(gl,{scope:t,disabled:o,direction:n,orientation:s,children:a.jsx(er.Slot,{scope:t,children:a.jsx(N.div,{...i,"data-orientation":s,ref:u,onKeyDown:o?void 0:m})})})}),Je="AccordionItem",[hl,rr]=pt(Je),zn=c.forwardRef((e,r)=>{const{__scopeAccordion:t,value:o,...n}=e,s=vt(Je,t),i=fl(Je,t),l=tr(t),u=Le(),v=o&&i.value.includes(o)||!1,p=s.disabled||e.disabled;return a.jsx(hl,{scope:t,open:v,disabled:p,triggerId:u,children:a.jsx(sl,{"data-orientation":s.orientation,"data-state":Yn(v),...l,...n,ref:r,disabled:p,open:v,onOpenChange:f=>{f?i.onItemOpen(o):i.onItemClose(o)}})})});zn.displayName=Je;var Vn="AccordionHeader",Kn=c.forwardRef((e,r)=>{const{__scopeAccordion:t,...o}=e,n=vt(de,t),s=rr(Vn,t);return a.jsx(N.h3,{"data-orientation":n.orientation,"data-state":Yn(s.open),"data-disabled":s.disabled?"":void 0,...o,ref:r})});Kn.displayName=Vn;var Et="AccordionTrigger",Hn=c.forwardRef((e,r)=>{const{__scopeAccordion:t,...o}=e,n=vt(de,t),s=rr(Et,t),i=pl(Et,t),l=tr(t);return a.jsx(er.ItemSlot,{scope:t,children:a.jsx(il,{"aria-disabled":s.open&&!i.collapsible||void 0,"data-orientation":n.orientation,id:s.triggerId,...l,...o,ref:r})})});Hn.displayName=Et;var Un="AccordionContent",Wn=c.forwardRef((e,r)=>{const{__scopeAccordion:t,...o}=e,n=vt(de,t),s=rr(Un,t),i=tr(t);return a.jsx(cl,{role:"region","aria-labelledby":s.triggerId,"data-orientation":n.orientation,...i,...o,ref:r,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});Wn.displayName=Un;function Yn(e){return e?"open":"closed"}var gr=Fn,xl=zn,bl=Kn,yl=Hn,wl=Wn;c.forwardRef(function(r,t){const{type:o,defaultValue:n,value:s,onValueChange:i,children:l,className:u,...v}=r;return o==="single"?a.jsx(gr,{ref:t,type:"single",collapsible:!0,defaultValue:n,value:s,onValueChange:i,className:E("v8-accordion",u),...v,children:l}):a.jsx(gr,{ref:t,type:"multiple",defaultValue:n,value:s,onValueChange:i,className:E("v8-accordion",u),...v,children:l})});c.forwardRef(function(r,t){const{value:o,title:n,description:s,children:i,disabled:l,className:u}=r;return a.jsxs(xl,{ref:t,value:o,disabled:l,className:E("v8-accordion__item",u),style:{borderBottom:"1px solid var(--border)"},children:[a.jsx(bl,{asChild:!0,children:a.jsx("h3",{style:{margin:0},children:a.jsxs(yl,{style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--space-3)",padding:"var(--space-4) 0",background:"transparent",border:0,cursor:l===!0?"not-allowed":"pointer",fontFamily:"inherit",fontSize:"var(--fs-14)",fontWeight:500,color:"var(--fg)",textAlign:"left"},children:[a.jsxs("span",{style:{flex:1,minWidth:0},children:[a.jsx("span",{style:{display:"block"},children:n}),s!==void 0&&a.jsx("span",{style:{display:"block",fontSize:"var(--fs-13)",color:"var(--fg-muted)",marginTop:2},children:s})]}),a.jsx(Ga,{size:16,"aria-hidden":"true",className:"v8-accordion__chevron",style:{color:"var(--fg-muted)",flexShrink:0,transition:"transform var(--motion-fast) var(--ease-out)"}}),a.jsx("style",{children:`
15
+ .v8-accordion__item button[data-state='open'] .v8-accordion__chevron { transform: rotate(180deg); }
16
+ `})]})})}),a.jsx(wl,{style:{overflow:"hidden",fontSize:"var(--fs-13)",color:"var(--fg-muted)"},children:a.jsx("div",{style:{paddingBottom:"var(--space-4)"},children:i})})]})});c.forwardRef(function(r,t){const{children:o,density:n="comfortable",className:s,...i}=r;return a.jsx("div",{style:{border:"1px solid var(--border)",borderRadius:"var(--radius-lg)",overflow:"hidden",background:"var(--surface-1)"},children:a.jsx("table",{ref:t,className:E("v8-table",`v8-table--${n}`,s),style:{width:"100%",borderCollapse:"separate",borderSpacing:0,fontSize:"var(--fs-13)",color:"var(--fg)"},...i,children:o})})});c.forwardRef(function(r,t){const{children:o,...n}=r;return a.jsx("thead",{ref:t,style:{background:"var(--surface-0)",borderBottom:"1px solid var(--border)",textAlign:"left",fontSize:"var(--fs-12)",fontWeight:600,color:"var(--fg-muted)",textTransform:"uppercase",letterSpacing:"var(--tracking-wide)"},...n,children:o})});c.forwardRef(function(r,t){return a.jsx("tbody",{ref:t,...r})});c.forwardRef(function(r,t){const{selected:o,striped:n,className:s,style:i,...l}=r;return a.jsx("tr",{ref:t,className:E("v8-table__row",o&&"is-selected",s),style:{background:o===!0?"var(--accent-soft)":n===!0?"var(--surface-0)":"transparent",borderBottom:"1px solid var(--border)",transition:"background var(--motion-fast) var(--ease-out)",...i},...l})});c.forwardRef(function(r,t){const{align:o="left",width:n,className:s,style:i,...l}=r;return a.jsx("th",{ref:t,className:E("v8-table__th",s),style:{padding:"var(--space-2) var(--space-3)",textAlign:o,width:n,...i},...l})});c.forwardRef(function(r,t){const{align:o="left",rowHeight:n=!0,className:s,style:i,...l}=r;return a.jsx("td",{ref:t,className:E("v8-table__td",s),style:{padding:"var(--space-2) var(--space-3)",textAlign:o,height:n===!0?"var(--density-row-h)":void 0,verticalAlign:"middle",...i},...l})});var mt="Tabs",[Cl]=Z(mt,[xe]),Xn=xe(),[Rl,or]=Cl(mt),qn=c.forwardRef((e,r)=>{const{__scopeTabs:t,value:o,onValueChange:n,defaultValue:s,orientation:i="horizontal",dir:l,activationMode:u="automatic",...v}=e,p=Be(l),[f,m]=le({prop:o,onChange:n,defaultProp:s??"",caller:mt});return a.jsx(Rl,{scope:t,baseId:Le(),value:f,onValueChange:m,orientation:i,dir:p,activationMode:u,children:a.jsx(N.div,{dir:p,"data-orientation":i,...v,ref:r})})});qn.displayName=mt;var Zn="TabsList",Jn=c.forwardRef((e,r)=>{const{__scopeTabs:t,loop:o=!0,...n}=e,s=or(Zn,t),i=Xn(t);return a.jsx(tt,{asChild:!0,...i,orientation:s.orientation,dir:s.dir,loop:o,children:a.jsx(N.div,{role:"tablist","aria-orientation":s.orientation,...n,ref:r})})});Jn.displayName=Zn;var Qn="TabsTrigger",ea=c.forwardRef((e,r)=>{const{__scopeTabs:t,value:o,disabled:n=!1,...s}=e,i=or(Qn,t),l=Xn(t),u=oa(i.baseId,o),v=na(i.baseId,o),p=o===i.value;return a.jsx(rt,{asChild:!0,...l,focusable:!n,active:p,children:a.jsx(N.button,{type:"button",role:"tab","aria-selected":p,"aria-controls":v,"data-state":p?"active":"inactive","data-disabled":n?"":void 0,disabled:n,id:u,...s,ref:r,onMouseDown:R(e.onMouseDown,f=>{!n&&f.button===0&&f.ctrlKey===!1?i.onValueChange(o):f.preventDefault()}),onKeyDown:R(e.onKeyDown,f=>{n||f.target!==f.currentTarget||[" ","Enter"].includes(f.key)&&i.onValueChange(o)}),onFocus:R(e.onFocus,()=>{const f=i.activationMode!=="manual";!p&&!n&&f&&i.onValueChange(o)})})})});ea.displayName=Qn;var ta="TabsContent",ra=c.forwardRef((e,r)=>{const{__scopeTabs:t,value:o,forceMount:n,children:s,...i}=e,l=or(ta,t),u=oa(l.baseId,o),v=na(l.baseId,o),p=o===l.value,f=c.useRef(p);return c.useEffect(()=>{const m=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(m)},[]),a.jsx(te,{present:n||p,children:({present:m})=>a.jsx(N.div,{"data-state":p?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":u,hidden:!m,id:v,tabIndex:0,...i,ref:r,style:{...e.style,animationDuration:f.current?"0s":void 0},children:m&&s})})});ra.displayName=ta;function oa(e,r){return`${e}-trigger-${r}`}function na(e,r){return`${e}-content-${r}`}var _l=qn,Ml=Jn,Il=ea,El=ra;c.forwardRef(function(r,t){const{variant:o="underline",className:n,...s}=r;return a.jsx(_l,{ref:t,className:E("v8-tabs",`v8-tabs--${o}`,n),...s})});c.forwardRef(function(r,t){const{variant:o="underline",className:n,style:s,...i}=r;return a.jsx(Ml,{ref:t,className:E("v8-tabs__list",n),style:{display:"inline-flex",alignItems:"center",gap:o==="pill"?4:0,borderBottom:o==="underline"?"1px solid var(--border)":"none",padding:o==="pill"?4:0,background:o==="pill"?"var(--surface-1)":"transparent",borderRadius:o==="pill"?"var(--radius)":0,border:o==="pill"?"1px solid var(--border)":void 0,...s},...i})});c.forwardRef(function(r,t){const{variant:o="underline",className:n,style:s,...i}=r;return a.jsxs(Il,{ref:t,className:E("v8-tabs__trigger",n),style:{display:"inline-flex",alignItems:"center",gap:"var(--space-2)",height:o==="pill"?28:32,padding:"0 var(--space-3)",background:"transparent",color:"var(--fg-muted)",border:0,borderBottom:o==="underline"?"2px solid transparent":"none",borderRadius:o==="pill"?"var(--radius-sm)":0,marginBottom:o==="underline"?-1:0,fontSize:"var(--fs-13)",fontWeight:500,cursor:"pointer",fontFamily:"inherit",transition:"color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out)",...s},...i,children:[r.children,a.jsx("style",{children:`
17
+ .v8-tabs__trigger[data-state='active'] {
18
+ color: var(--fg);
19
+ }
20
+ .v8-tabs--underline .v8-tabs__trigger[data-state='active'] {
21
+ border-bottom-color: var(--accent);
22
+ }
23
+ .v8-tabs--pill .v8-tabs__trigger[data-state='active'] {
24
+ background: var(--surface-2);
25
+ color: var(--fg);
26
+ }
27
+ .v8-tabs__trigger:hover:not([data-state='active']) {
28
+ color: var(--fg);
29
+ }
30
+ `})]})});c.forwardRef(function(r,t){const{className:o,...n}=r;return a.jsx(El,{ref:t,className:E("v8-tabs__content",o),style:{paddingTop:"var(--space-4)"},...n})});c.forwardRef(function(r,t){const{href:o,children:n,showActiveBar:s,leading:i,className:l,style:u,...v}=r;return a.jsxs("a",{ref:t,href:o,className:E("v8-nav-link",l),style:{position:"relative",display:"flex",alignItems:"center",gap:"var(--space-2)",padding:"0 var(--space-3)",height:28,borderRadius:"var(--radius-sm)",color:"var(--fg-muted)",fontSize:"var(--fs-13)",fontWeight:500,textDecoration:"none",transition:"background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out)",...u},...v,children:[s===!0&&a.jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:4,bottom:4,width:2,borderRadius:"var(--radius-pill)",background:"transparent",transition:"background var(--motion-fast) var(--ease-out)"},"data-nav-active-bar":"true"}),i!==void 0&&a.jsx("span",{style:{width:14,display:"inline-flex",color:"inherit"},children:i}),a.jsx("span",{style:{flex:1,minWidth:0},children:n}),a.jsx("style",{children:`
31
+ .v8-nav-link:hover {
32
+ background: var(--surface-1);
33
+ color: var(--fg);
34
+ }
35
+ .v8-nav-link[aria-current='page'] {
36
+ background: var(--surface-1);
37
+ color: var(--fg);
38
+ }
39
+ .v8-nav-link[aria-current='page'] [data-nav-active-bar='true'] {
40
+ background: var(--accent);
41
+ }
42
+ `})]})});function Pl(e,r,t){if(r<=7)return Array.from({length:r},(i,l)=>l+1);const o=Math.max(2,e-t),n=Math.min(r-1,e+t),s=[1];o>2&&s.push("ellipsis");for(let i=o;i<=n;i++)s.push(i);return n<r-1&&s.push("ellipsis"),s.push(r),s}c.forwardRef(function(r,t){const{page:o,totalPages:n,onChange:s,showEdges:i=!0,siblingCount:l=1,className:u,style:v,...p}=r,f=Pl(o,n,l),m=d=>{d>=1&&d<=n&&d!==o&&s(d)};return a.jsxs("nav",{ref:t,className:E("v8-pagination",u),"aria-label":"Pagination",style:{display:"inline-flex",alignItems:"center",gap:2,...v},...p,children:[i===!0&&a.jsx(De,{"aria-label":"First page",disabled:o===1,onClick:()=>m(1),children:a.jsx(_a,{size:14,"aria-hidden":"true"})}),a.jsx(De,{"aria-label":"Previous page",disabled:o===1,onClick:()=>m(o-1),children:a.jsx($a,{size:14,"aria-hidden":"true"})}),f.map((d,b)=>d==="ellipsis"?a.jsx("span",{style:{padding:"0 6px",color:"var(--fg-subtle)",fontSize:"var(--fs-13)"},"aria-hidden":"true",children:"…"},`e-${b}`):a.jsx(De,{"aria-current":d===o?"page":void 0,"aria-label":`Page ${d}`,selected:d===o,onClick:()=>m(d),children:d},d)),a.jsx(De,{"aria-label":"Next page",disabled:o===n,onClick:()=>m(o+1),children:a.jsx(jt,{size:14,"aria-hidden":"true"})}),i===!0&&a.jsx(De,{"aria-label":"Last page",disabled:o===n,onClick:()=>m(n),children:a.jsx(Ma,{size:14,"aria-hidden":"true"})})]})});function De(e){const{selected:r,disabled:t,children:o,className:n,style:s,...i}=e;return a.jsxs("button",{type:"button",disabled:t,className:E("v8-pagination__btn",r===!0&&"is-selected",n),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:28,height:28,padding:"0 8px",background:r===!0?"var(--accent-soft)":"transparent",color:r===!0?"var(--accent)":"var(--fg-muted)",border:0,borderRadius:"var(--radius-sm)",fontSize:"var(--fs-13)",fontWeight:r===!0?600:500,cursor:t===!0?"not-allowed":"pointer",opacity:t===!0?.45:1,fontFamily:"inherit",transition:"background var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out)",...s},...i,children:[o,a.jsx("style",{children:`
43
+ .v8-pagination__btn:hover:not(:disabled):not(.is-selected) {
44
+ background: var(--surface-1);
45
+ color: var(--fg);
46
+ }
47
+ `})]})}const hr={neutral:"var(--fg-subtle)",info:"var(--info)",success:"var(--success)",warning:"var(--warning)",danger:"var(--danger)"};c.forwardRef(function(r,t){const{items:o,className:n,...s}=r;return a.jsx("ol",{ref:t,className:E("v8-agent-activity",n),style:{listStyle:"none",margin:0,padding:0,display:"flex",flexDirection:"column",gap:"var(--space-2)"},...s,children:o.map(i=>{const l=i.tone??"neutral";return a.jsxs("li",{style:{display:"flex",alignItems:"flex-start",gap:"var(--space-3)",padding:"var(--space-3)",background:"var(--surface-0)",border:"1px solid var(--border)",borderRadius:"var(--radius)"},children:[a.jsx("span",{"aria-hidden":"true",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:22,height:22,borderRadius:"var(--radius-sm)",background:`color-mix(in oklch, ${hr[l]} 14%, transparent)`,color:hr[l],flexShrink:0},children:i.icon}),a.jsxs("div",{style:{flex:1,minWidth:0},children:[a.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:"var(--space-2)"},children:[a.jsx("div",{style:{fontSize:"var(--fs-13)",fontWeight:500,color:"var(--fg)"},children:i.title}),i.meta!==void 0&&a.jsx("div",{style:{fontSize:"var(--fs-12)",color:"var(--fg-subtle)",flexShrink:0},children:i.meta})]}),i.description!==void 0&&a.jsx("div",{style:{fontSize:"var(--fs-12)",color:"var(--fg-muted)",marginTop:2},children:i.description})]})]},i.id)})})});const Tl={enabled:"Enabled",disabled:"Disabled",error:"Error"},jl={enabled:"success",disabled:"neutral",error:"danger"};function Nl(e){const{name:r,slug:t,status:o,description:n,meta:s,actions:i,onOpen:l,className:u}=e;return a.jsxs("button",{type:"button",onClick:l,className:E("v8-library-item",`v8-library-item--${o}`,u),style:{display:"flex",alignItems:"flex-start",gap:"var(--space-3)",width:"100%",padding:"var(--space-3) var(--space-4)",background:"var(--surface-1)",border:"1px solid var(--border)",borderRadius:"var(--radius)",textAlign:"left",cursor:l!==void 0?"pointer":"default",font:"inherit",color:"inherit",transition:"border-color var(--motion-fast) var(--ease-out), background var(--motion-fast) var(--ease-out)"},children:[a.jsx("span",{"aria-hidden":"true",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:28,height:28,marginTop:2,borderRadius:"var(--radius-sm)",background:o==="enabled"?"color-mix(in oklch, var(--success) 14%, transparent)":o==="error"?"color-mix(in oklch, var(--danger) 14%, transparent)":"var(--surface-2)",color:o==="enabled"?"var(--success)":o==="error"?"var(--danger)":"var(--fg-muted)",flexShrink:0},children:a.jsx(Fa,{size:14,"aria-hidden":"true"})}),a.jsxs("div",{style:{flex:1,minWidth:0},children:[a.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)"},children:[a.jsx("span",{style:{fontSize:"var(--fs-13)",fontWeight:600,color:"var(--fg)",lineHeight:"var(--lh-snug)"},children:r}),a.jsx("code",{style:{fontSize:"var(--fs-12)",color:"var(--fg-subtle)",fontFamily:"var(--font-mono, ui-monospace, monospace)"},children:t})]}),n!==void 0&&a.jsx("div",{style:{fontSize:"var(--fs-12)",color:"var(--fg-muted)",marginTop:2,display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"},children:n}),a.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--space-2)",marginTop:6},children:[s!==void 0?a.jsx("span",{style:{fontSize:"var(--fs-12)",color:"var(--fg-subtle)"},children:s}):a.jsx("span",{}),a.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)"},children:[a.jsx(Ia,{tone:jl[o],size:"sm",children:Tl[o]}),i,a.jsx(jt,{size:14,"aria-hidden":"true",style:{color:"var(--fg-subtle)"}})]})]})]}),a.jsx("style",{children:`
48
+ .v8-library-item:hover {
49
+ border-color: var(--accent);
50
+ background: var(--surface-2);
51
+ }
52
+ `})]})}function Sl(e){const{children:r,className:t}=e;return a.jsx("div",{className:E("v8-library-grid",t),style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(min(100%, 320px), 1fr))",gap:"var(--space-3)"},children:r})}const Ye={skills:"Skills",mcps:"MCPs",hooks:"Hooks"},kl={skills:"Bizar skill packs. Auto-loaded by name or dispatched via the Skill tool.",mcps:"MCP server registrations under `.claude/settings.json` → `mcpServers`.",hooks:"Executable hook scripts (PreToolUse / PostToolUse / SessionStart / SessionEnd)."},Al={skills:"/api/skills",mcps:"/api/skills?kind=mcps",hooks:"/api/skills?kind=hooks"},Dl={skills:["skills:change","agents:change"],mcps:["mcps:change","agents:change"],hooks:["hooks:change","agents:change"]},Ol=["skills:change","mcps:change","hooks:change","agents:change"];function Gl(e){const r=e.status==="enabled"||e.status==="disabled"||e.status==="error"?e.status:"disabled";return{id:e.id,name:e.name,slug:e.slug??e.id,status:r,description:e.description,meta:e.meta}}function Md(e){var v,p;const{kind:r}=e,t=Al[r],o=Ea(t),[n,s]=c.useState(0),i=Dl[r],l=c.useCallback(()=>s(f=>f+1),[]);for(const f of Ol)Pa(f,i.includes(f)?l:()=>{});c.useEffect(()=>{n>0&&o.refetch()},[n,o]);const u=(((v=o.data)==null?void 0:v.skills)||((p=o.data)==null?void 0:p.items)||[]).map(Gl);return a.jsxs(Ta,{gap:5,"data-testid":`${r}-view`,children:[a.jsx(Na,{title:Ye[r],description:kl[r]}),o.loading?a.jsx(ja,{style:{height:240}}):o.error&&u.length===0?a.jsx(Da,{block:!0,title:`Couldn't load ${Ye[r].toLowerCase()}`,description:"The library endpoint failed. Retry to refetch.",error:o.error,onRetry:()=>void o.refetch(),testid:`libraries-${r}-error`}):u.length===0?a.jsx(Oa,{icon:a.jsx("span",{children:"📚"}),title:`No ${Ye[r].toLowerCase()} installed`,description:`${Ye[r]} appear here as soon as they are registered.`}):a.jsx(Sl,{children:u.map(f=>a.jsx(Nl,{...f},f.id))})]})}export{Md as LibrariesView};