@polderlabs/bizar 7.0.4 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (627) hide show
  1. package/.claude/agents/agent-browser.md +1 -1
  2. package/.claude/agents/baldr.md +1 -1
  3. package/.claude/agents/forseti.md +1 -1
  4. package/.claude/agents/frigg.md +1 -1
  5. package/.claude/agents/heimdall.md +1 -1
  6. package/.claude/agents/hermod.md +1 -1
  7. package/.claude/agents/mimir.md +1 -1
  8. package/.claude/agents/odin.md +1 -1
  9. package/.claude/agents/quick.md +1 -1
  10. package/.claude/agents/semble-search.md +1 -1
  11. package/.claude/agents/thor.md +1 -1
  12. package/.claude/agents/tyr.md +1 -1
  13. package/.claude/agents/vidarr.md +1 -1
  14. package/.claude/agents/vor.md +1 -1
  15. package/.claude/commands/goal.md +98 -0
  16. package/.claude/settings.local.json +7 -0
  17. package/bizar-dash/DESIGN.md +729 -969
  18. package/bizar-dash/GLYPH.md +418 -0
  19. package/bizar-dash/PLAN.md +1135 -0
  20. package/bizar-dash/dist/assets/ActivityFeed-CqF6iSDQ.js +6 -0
  21. package/bizar-dash/dist/assets/ActivityFeed-CqF6iSDQ.js.map +1 -0
  22. package/bizar-dash/dist/assets/ActivityView-qdhDjRtL.js +1 -0
  23. package/bizar-dash/dist/assets/ActivityView-qdhDjRtL.js.map +1 -0
  24. package/bizar-dash/dist/assets/AgentsView-BwXkOayl.js +28 -0
  25. package/bizar-dash/dist/assets/AgentsView-BwXkOayl.js.map +1 -0
  26. package/bizar-dash/dist/assets/Badge-BH4C3aUF.js +1 -0
  27. package/bizar-dash/dist/assets/Badge-BH4C3aUF.js.map +1 -0
  28. package/bizar-dash/dist/assets/Button-RmN1RKhE.js +6 -0
  29. package/bizar-dash/dist/assets/Button-RmN1RKhE.js.map +1 -0
  30. package/bizar-dash/dist/assets/Card-BzJeYR2D.js +1 -0
  31. package/bizar-dash/dist/assets/Card-BzJeYR2D.js.map +1 -0
  32. package/bizar-dash/dist/assets/Chip-CN2bvm7a.js +1 -0
  33. package/bizar-dash/dist/assets/Chip-CN2bvm7a.js.map +1 -0
  34. package/bizar-dash/dist/assets/EmptyState-DEiBv4-r.js +1 -0
  35. package/bizar-dash/dist/assets/EmptyState-DEiBv4-r.js.map +1 -0
  36. package/bizar-dash/dist/assets/GoalsView-CvsrzEez.js +6 -0
  37. package/bizar-dash/dist/assets/GoalsView-CvsrzEez.js.map +1 -0
  38. package/bizar-dash/dist/assets/KanbanCard-DZEaAiEr.js +21 -0
  39. package/bizar-dash/dist/assets/KanbanCard-DZEaAiEr.js.map +1 -0
  40. package/bizar-dash/dist/assets/LibrariesView-CPgKGPpM.js +67 -0
  41. package/bizar-dash/dist/assets/LibrariesView-CPgKGPpM.js.map +1 -0
  42. package/bizar-dash/dist/assets/MemoryView-Bbez5pMN.js +13 -0
  43. package/bizar-dash/dist/assets/MemoryView-Bbez5pMN.js.map +1 -0
  44. package/bizar-dash/dist/assets/OverviewView-BDegBWgg.js +1 -0
  45. package/bizar-dash/dist/assets/OverviewView-BDegBWgg.js.map +1 -0
  46. package/bizar-dash/dist/assets/Select-xwxbK8Ed.js +16 -0
  47. package/bizar-dash/dist/assets/Select-xwxbK8Ed.js.map +1 -0
  48. package/bizar-dash/dist/assets/SettingsRow-CppSgkT_.js +10 -0
  49. package/bizar-dash/dist/assets/SettingsRow-CppSgkT_.js.map +1 -0
  50. package/bizar-dash/dist/assets/SettingsView-DUc2meHV.js +43 -0
  51. package/bizar-dash/dist/assets/SettingsView-DUc2meHV.js.map +1 -0
  52. package/bizar-dash/dist/assets/Sheet-C_sIEw35.js +1 -0
  53. package/bizar-dash/dist/assets/Sheet-C_sIEw35.js.map +1 -0
  54. package/bizar-dash/dist/assets/Sparkline-D664vGWW.js +1 -0
  55. package/bizar-dash/dist/assets/Sparkline-D664vGWW.js.map +1 -0
  56. package/bizar-dash/dist/assets/StatTile-BRsUIA6P.js +16 -0
  57. package/bizar-dash/dist/assets/StatTile-BRsUIA6P.js.map +1 -0
  58. package/bizar-dash/dist/assets/TasksView-DVyX5-DY.js +1 -0
  59. package/bizar-dash/dist/assets/TasksView-DVyX5-DY.js.map +1 -0
  60. package/bizar-dash/dist/assets/Textarea-Dk97nmjO.js +1 -0
  61. package/bizar-dash/dist/assets/Textarea-Dk97nmjO.js.map +1 -0
  62. package/bizar-dash/dist/assets/ViewHeader-dPd4zAyj.js +6 -0
  63. package/bizar-dash/dist/assets/ViewHeader-dPd4zAyj.js.map +1 -0
  64. package/bizar-dash/dist/assets/brain-BajPVibR.js +6 -0
  65. package/bizar-dash/dist/assets/brain-BajPVibR.js.map +1 -0
  66. package/bizar-dash/dist/assets/calendar-CaP_Bbgc.js +6 -0
  67. package/bizar-dash/dist/assets/calendar-CaP_Bbgc.js.map +1 -0
  68. package/bizar-dash/dist/assets/cmdk-BLWIhKrV.js +80 -0
  69. package/bizar-dash/dist/assets/cmdk-BLWIhKrV.js.map +1 -0
  70. package/bizar-dash/dist/assets/dnd-kit-DU8GZk7s.js +5 -0
  71. package/bizar-dash/dist/assets/dnd-kit-DU8GZk7s.js.map +1 -0
  72. package/bizar-dash/dist/assets/git-pull-request-CFRRwdxp.js +11 -0
  73. package/bizar-dash/dist/assets/git-pull-request-CFRRwdxp.js.map +1 -0
  74. package/bizar-dash/dist/assets/index-AL3OLUfz.js +1 -0
  75. package/bizar-dash/dist/assets/index-AL3OLUfz.js.map +1 -0
  76. package/bizar-dash/dist/assets/main-CcQfRfIJ.css +1 -0
  77. package/bizar-dash/dist/assets/main-LxX9zTRk.js +109 -0
  78. package/bizar-dash/dist/assets/main-LxX9zTRk.js.map +1 -0
  79. package/bizar-dash/dist/assets/plus-CVH1JB04.js +6 -0
  80. package/bizar-dash/dist/assets/plus-CVH1JB04.js.map +1 -0
  81. package/bizar-dash/dist/assets/terminal-B2sSd5t7.js +11 -0
  82. package/bizar-dash/dist/assets/terminal-B2sSd5t7.js.map +1 -0
  83. package/bizar-dash/dist/assets/trash-2-JtYRQ79q.js +6 -0
  84. package/bizar-dash/dist/assets/trash-2-JtYRQ79q.js.map +1 -0
  85. package/bizar-dash/dist/assets/triangle-alert-Nzbrm0I2.js +6 -0
  86. package/bizar-dash/dist/assets/triangle-alert-Nzbrm0I2.js.map +1 -0
  87. package/bizar-dash/dist/assets/useFetch-CoVWwbml.js +1 -0
  88. package/bizar-dash/dist/assets/useFetch-CoVWwbml.js.map +1 -0
  89. package/bizar-dash/dist/assets/useWebSocket-CVIQB8yG.js +1 -0
  90. package/bizar-dash/dist/assets/useWebSocket-CVIQB8yG.js.map +1 -0
  91. package/bizar-dash/dist/assets/wrench-B7go551L.js +6 -0
  92. package/bizar-dash/dist/assets/wrench-B7go551L.js.map +1 -0
  93. package/bizar-dash/dist/{mobile.html → v8.html} +6 -9
  94. package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  95. package/bizar-dash/src/server/api.mjs +10 -0
  96. package/bizar-dash/src/server/bg-poller.mjs +81 -1
  97. package/bizar-dash/src/server/bg-poller.test.mjs +28 -0
  98. package/bizar-dash/src/server/progress-parser.mjs +221 -0
  99. package/bizar-dash/src/server/progress-parser.test.mjs +105 -0
  100. package/bizar-dash/src/server/routes/agents-cc.mjs +381 -0
  101. package/bizar-dash/src/server/routes/agents-cc.test.mjs +35 -0
  102. package/bizar-dash/src/server/routes/goals.mjs +307 -0
  103. package/bizar-dash/src/server/routes/tasks.mjs +11 -0
  104. package/bizar-dash/src/server/server.mjs +1 -57
  105. package/bizar-dash/src/web/v8/App.tsx +188 -0
  106. package/bizar-dash/src/web/v8/__tests__/App.test.tsx +102 -0
  107. package/bizar-dash/src/web/v8/__tests__/AppShell.test.tsx +79 -0
  108. package/bizar-dash/src/web/v8/__tests__/PageSkeleton.test.tsx +12 -0
  109. package/bizar-dash/src/web/v8/__tests__/SettingsView.test.tsx +84 -0
  110. package/bizar-dash/src/web/v8/__tests__/Sidebar.test.tsx +95 -0
  111. package/bizar-dash/src/web/v8/__tests__/activity.test.tsx +63 -0
  112. package/bizar-dash/src/web/v8/__tests__/agents.test.tsx +90 -0
  113. package/bizar-dash/src/web/v8/__tests__/control-plane.test.tsx +104 -0
  114. package/bizar-dash/src/web/v8/__tests__/controls.test.tsx +135 -0
  115. package/bizar-dash/src/web/v8/__tests__/cx.test.ts +25 -0
  116. package/bizar-dash/src/web/v8/__tests__/data.test.tsx +293 -0
  117. package/bizar-dash/src/web/v8/__tests__/feedback.test.tsx +213 -0
  118. package/bizar-dash/src/web/v8/__tests__/goals.test.tsx +105 -0
  119. package/bizar-dash/src/web/v8/__tests__/kanban.test.tsx +176 -0
  120. package/bizar-dash/src/web/v8/__tests__/libraries.test.tsx +70 -0
  121. package/bizar-dash/src/web/v8/__tests__/memory.test.tsx +60 -0
  122. package/bizar-dash/src/web/v8/__tests__/navigation.test.tsx +137 -0
  123. package/bizar-dash/src/web/v8/__tests__/settings.test.tsx +104 -0
  124. package/bizar-dash/src/web/v8/__tests__/theme.test.tsx +98 -0
  125. package/bizar-dash/src/web/v8/__tests__/useFetch.test.ts +92 -0
  126. package/bizar-dash/src/web/v8/__tests__/useWebSocket.test.ts +87 -0
  127. package/bizar-dash/src/web/v8/__tests__/views.test.tsx +182 -0
  128. package/bizar-dash/src/web/v8/data/fetcher.ts +59 -0
  129. package/bizar-dash/src/web/v8/data/types.ts +154 -0
  130. package/bizar-dash/src/web/v8/data/useFetch.ts +62 -0
  131. package/bizar-dash/src/web/v8/data/useWebSocket.ts +153 -0
  132. package/bizar-dash/src/web/v8/main.tsx +28 -0
  133. package/bizar-dash/src/web/v8/shell/AppShell.tsx +90 -0
  134. package/bizar-dash/src/web/v8/shell/PageSkeleton.tsx +29 -0
  135. package/bizar-dash/src/web/v8/shell/Sidebar.tsx +361 -0
  136. package/bizar-dash/src/web/v8/shell/StatusBar.tsx +63 -0
  137. package/bizar-dash/src/web/v8/shell/Topbar.tsx +113 -0
  138. package/bizar-dash/src/web/v8/shell/index.ts +15 -0
  139. package/bizar-dash/src/web/v8/ui/activity/ActivityFeed.tsx +137 -0
  140. package/bizar-dash/src/web/v8/ui/agents/AgentActivity.tsx +101 -0
  141. package/bizar-dash/src/web/v8/ui/agents/AgentCard.tsx +158 -0
  142. package/bizar-dash/src/web/v8/ui/agents/AgentDetail.tsx +252 -0
  143. package/bizar-dash/src/web/v8/ui/agents/AgentStreamPanel.tsx +371 -0
  144. package/bizar-dash/src/web/v8/ui/controls/Button.tsx +141 -0
  145. package/bizar-dash/src/web/v8/ui/controls/ButtonGroup.tsx +32 -0
  146. package/bizar-dash/src/web/v8/ui/controls/Checkbox.tsx +49 -0
  147. package/bizar-dash/src/web/v8/ui/controls/Field.tsx +78 -0
  148. package/bizar-dash/src/web/v8/ui/controls/Form.tsx +23 -0
  149. package/bizar-dash/src/web/v8/ui/controls/IconButton.tsx +112 -0
  150. package/bizar-dash/src/web/v8/ui/controls/Input.tsx +94 -0
  151. package/bizar-dash/src/web/v8/ui/controls/RadioGroup.tsx +74 -0
  152. package/bizar-dash/src/web/v8/ui/controls/Select.tsx +171 -0
  153. package/bizar-dash/src/web/v8/ui/controls/Slider.tsx +68 -0
  154. package/bizar-dash/src/web/v8/ui/controls/Switch.tsx +56 -0
  155. package/bizar-dash/src/web/v8/ui/controls/Textarea.tsx +64 -0
  156. package/bizar-dash/src/web/v8/ui/controls/Toggle.tsx +36 -0
  157. package/bizar-dash/src/web/v8/ui/controls/ToggleGroup.tsx +85 -0
  158. package/bizar-dash/src/web/v8/ui/data/Accordion.tsx +134 -0
  159. package/bizar-dash/src/web/v8/ui/data/Avatar.tsx +175 -0
  160. package/bizar-dash/src/web/v8/ui/data/Badge.tsx +93 -0
  161. package/bizar-dash/src/web/v8/ui/data/BarList.tsx +101 -0
  162. package/bizar-dash/src/web/v8/ui/data/Card.tsx +140 -0
  163. package/bizar-dash/src/web/v8/ui/data/Chip.tsx +96 -0
  164. package/bizar-dash/src/web/v8/ui/data/Kbd.tsx +42 -0
  165. package/bizar-dash/src/web/v8/ui/data/ProgressBar.tsx +93 -0
  166. package/bizar-dash/src/web/v8/ui/data/Sparkline.tsx +98 -0
  167. package/bizar-dash/src/web/v8/ui/data/StatTile.tsx +150 -0
  168. package/bizar-dash/src/web/v8/ui/data/Table.tsx +170 -0
  169. package/bizar-dash/src/web/v8/ui/data/Timeline.tsx +130 -0
  170. package/bizar-dash/src/web/v8/ui/data/ViewHeader.tsx +122 -0
  171. package/bizar-dash/src/web/v8/ui/feedback/Alert.tsx +95 -0
  172. package/bizar-dash/src/web/v8/ui/feedback/Banner.tsx +39 -0
  173. package/bizar-dash/src/web/v8/ui/feedback/ContextMenu.tsx +143 -0
  174. package/bizar-dash/src/web/v8/ui/feedback/Dialog.tsx +149 -0
  175. package/bizar-dash/src/web/v8/ui/feedback/Drawer.tsx +8 -0
  176. package/bizar-dash/src/web/v8/ui/feedback/DropdownMenu.tsx +231 -0
  177. package/bizar-dash/src/web/v8/ui/feedback/EmptyState.tsx +48 -0
  178. package/bizar-dash/src/web/v8/ui/feedback/Popover.tsx +56 -0
  179. package/bizar-dash/src/web/v8/ui/feedback/Sheet.tsx +103 -0
  180. package/bizar-dash/src/web/v8/ui/feedback/Skeleton.tsx +67 -0
  181. package/bizar-dash/src/web/v8/ui/feedback/Spinner.tsx +30 -0
  182. package/bizar-dash/src/web/v8/ui/feedback/Toast.tsx +66 -0
  183. package/bizar-dash/src/web/v8/ui/feedback/Tooltip.tsx +89 -0
  184. package/bizar-dash/src/web/v8/ui/goals/GoalCard.tsx +176 -0
  185. package/bizar-dash/src/web/v8/ui/goals/GoalDetail.tsx +245 -0
  186. package/bizar-dash/src/web/v8/ui/goals/KeyResult.tsx +115 -0
  187. package/bizar-dash/src/web/v8/ui/index.ts +322 -0
  188. package/bizar-dash/src/web/v8/ui/kanban/KanbanBoard.tsx +83 -0
  189. package/bizar-dash/src/web/v8/ui/kanban/KanbanCard.tsx +247 -0
  190. package/bizar-dash/src/web/v8/ui/kanban/KanbanColumn.tsx +186 -0
  191. package/bizar-dash/src/web/v8/ui/kanban/KanbanContextMenu.tsx +122 -0
  192. package/bizar-dash/src/web/v8/ui/kanban/KanbanQuickAdd.tsx +141 -0
  193. package/bizar-dash/src/web/v8/ui/libraries/LibraryGrid.tsx +30 -0
  194. package/bizar-dash/src/web/v8/ui/libraries/LibraryItem.tsx +161 -0
  195. package/bizar-dash/src/web/v8/ui/memory/MemoryVault.tsx +144 -0
  196. package/bizar-dash/src/web/v8/ui/navigation/CommandPalette.tsx +224 -0
  197. package/bizar-dash/src/web/v8/ui/navigation/NavLink.tsx +81 -0
  198. package/bizar-dash/src/web/v8/ui/navigation/Pagination.tsx +164 -0
  199. package/bizar-dash/src/web/v8/ui/navigation/Tabs.tsx +128 -0
  200. package/bizar-dash/src/web/v8/ui/navigation/useCommandPaletteHotkey.test.ts +79 -0
  201. package/bizar-dash/src/web/v8/ui/primitives/Box.tsx +144 -0
  202. package/bizar-dash/src/web/v8/ui/primitives/Center.tsx +40 -0
  203. package/bizar-dash/src/web/v8/ui/primitives/Cluster.tsx +67 -0
  204. package/bizar-dash/src/web/v8/ui/primitives/Grid.tsx +104 -0
  205. package/bizar-dash/src/web/v8/ui/primitives/Inline.tsx +77 -0
  206. package/bizar-dash/src/web/v8/ui/primitives/Portal.tsx +33 -0
  207. package/bizar-dash/src/web/v8/ui/primitives/ScrollArea.tsx +62 -0
  208. package/bizar-dash/src/web/v8/ui/primitives/Separator.tsx +42 -0
  209. package/bizar-dash/src/web/v8/ui/primitives/Stack.tsx +73 -0
  210. package/bizar-dash/src/web/v8/ui/primitives/VisuallyHidden.tsx +49 -0
  211. package/bizar-dash/src/web/v8/ui/settings/SettingsNav.tsx +91 -0
  212. package/bizar-dash/src/web/v8/ui/settings/SettingsRow.tsx +88 -0
  213. package/bizar-dash/src/web/v8/ui/settings/SettingsSection.tsx +109 -0
  214. package/bizar-dash/src/web/v8/ui/styles/globals.css +225 -0
  215. package/bizar-dash/src/web/v8/ui/styles/reset.css +57 -0
  216. package/bizar-dash/src/web/v8/ui/styles/tokens.css +217 -0
  217. package/bizar-dash/src/web/v8/ui/theme/DensityProvider.test.tsx +74 -0
  218. package/bizar-dash/src/web/v8/ui/theme/DensityProvider.tsx +66 -0
  219. package/bizar-dash/src/web/v8/ui/theme/ThemeProvider.test.tsx +86 -0
  220. package/bizar-dash/src/web/v8/ui/theme/ThemeProvider.tsx +94 -0
  221. package/bizar-dash/src/web/v8/ui/theme/ThemeToggle.tsx +88 -0
  222. package/bizar-dash/src/web/v8/ui/theme/useDensity.ts +15 -0
  223. package/bizar-dash/src/web/v8/ui/theme/useTheme.ts +16 -0
  224. package/bizar-dash/src/web/v8/ui/utils/cx.ts +19 -0
  225. package/bizar-dash/src/web/v8/views/Activity/ActivityView.tsx +71 -0
  226. package/bizar-dash/src/web/v8/views/Agents/AgentsView.tsx +172 -0
  227. package/bizar-dash/src/web/v8/views/CommandPalette/AppCommandPalette.test.tsx +142 -0
  228. package/bizar-dash/src/web/v8/views/CommandPalette/AppCommandPalette.tsx +247 -0
  229. package/bizar-dash/src/web/v8/views/Goals/GoalsView.tsx +193 -0
  230. package/bizar-dash/src/web/v8/views/Libraries/LibrariesView.tsx +108 -0
  231. package/bizar-dash/src/web/v8/views/Memory/MemoryView.tsx +77 -0
  232. package/bizar-dash/src/web/v8/views/Overview/OverviewView.tsx +152 -0
  233. package/bizar-dash/src/web/v8/views/Router.tsx +72 -0
  234. package/bizar-dash/src/web/v8/views/Settings/SettingsView.tsx +730 -0
  235. package/bizar-dash/src/web/v8/views/Tasks/CommandPalettePlaceholder.tsx +106 -0
  236. package/bizar-dash/src/web/v8/views/Tasks/TasksKanbanPlaceholder.tsx +62 -0
  237. package/bizar-dash/src/web/v8/views/Tasks/TasksView.tsx +165 -0
  238. package/bizar-dash/src/web/v8/vite-env.d.ts +15 -0
  239. package/bizar-dash/src/web/{mobile.html → v8.html} +4 -7
  240. package/bizar-dash/tests/components/Button.test.tsx +51 -14
  241. package/bizar-dash/tests/components/Card.test.tsx +37 -20
  242. package/bizar-dash/tests/components/Dialog.test.tsx +80 -0
  243. package/bizar-dash/tests/components/Toast.test.tsx +48 -95
  244. package/bizar-dash/tests/goals-decompose.test.mjs +177 -0
  245. package/bizar-dash/tests/setup.ts +47 -0
  246. package/bizar-dash/tests/ui/primitives/VisuallyHidden.test.tsx +30 -15
  247. package/bizar-dash/vite.config.ts +41 -2
  248. package/bizar-dash/vitest.config.ts +9 -4
  249. package/cli/bin.mjs +32 -0
  250. package/cli/install.mjs +26 -1
  251. package/cli/provision-claude.mjs +86 -0
  252. package/package.json +36 -3
  253. package/scripts/run-dev.mjs +84 -0
  254. package/bizar-dash/dist/assets/EnvVarsSection-BfhAz3ax.js +0 -114
  255. package/bizar-dash/dist/assets/EnvVarsSection-BfhAz3ax.js.map +0 -1
  256. package/bizar-dash/dist/assets/MobileChat-DLWdv6tQ.js +0 -1
  257. package/bizar-dash/dist/assets/MobileChat-DLWdv6tQ.js.map +0 -1
  258. package/bizar-dash/dist/assets/MobileSettings-Bxv62uPY.js +0 -1
  259. package/bizar-dash/dist/assets/MobileSettings-Bxv62uPY.js.map +0 -1
  260. package/bizar-dash/dist/assets/Toast-ATSAmbdi.js +0 -26
  261. package/bizar-dash/dist/assets/Toast-ATSAmbdi.js.map +0 -1
  262. package/bizar-dash/dist/assets/__vite-browser-external-BIHI7g3E.js +0 -1
  263. package/bizar-dash/dist/assets/__vite-browser-external-BIHI7g3E.js.map +0 -1
  264. package/bizar-dash/dist/assets/main-CJAtrosO.css +0 -1
  265. package/bizar-dash/dist/assets/main-DKKj9dsq.js +0 -430
  266. package/bizar-dash/dist/assets/main-DKKj9dsq.js.map +0 -1
  267. package/bizar-dash/dist/assets/mobile-C_naUN91.js +0 -1
  268. package/bizar-dash/dist/assets/mobile-C_naUN91.js.map +0 -1
  269. package/bizar-dash/dist/assets/mobile-layout-BWLtwtfQ.css +0 -1
  270. package/bizar-dash/dist/assets/mobile-layout-GZ3bE8L6.js +0 -211
  271. package/bizar-dash/dist/assets/mobile-layout-GZ3bE8L6.js.map +0 -1
  272. package/bizar-dash/dist/assets/useSlashCommands-BOwD7lNb.js +0 -65
  273. package/bizar-dash/dist/assets/useSlashCommands-BOwD7lNb.js.map +0 -1
  274. package/bizar-dash/dist/index.html +0 -43
  275. package/bizar-dash/src/web/App.tsx +0 -915
  276. package/bizar-dash/src/web/MobileApp.tsx +0 -414
  277. package/bizar-dash/src/web/components/ArtifactCreateDialog.tsx +0 -95
  278. package/bizar-dash/src/web/components/ArtifactListDialog.tsx +0 -55
  279. package/bizar-dash/src/web/components/ArtifactViewer.tsx +0 -144
  280. package/bizar-dash/src/web/components/AuditDialog.tsx +0 -79
  281. package/bizar-dash/src/web/components/AutosaveField.tsx +0 -50
  282. package/bizar-dash/src/web/components/BackupRestore.tsx +0 -330
  283. package/bizar-dash/src/web/components/BgStatusBadge.tsx +0 -32
  284. package/bizar-dash/src/web/components/Button.tsx +0 -56
  285. package/bizar-dash/src/web/components/CanvasContextMenu.tsx +0 -68
  286. package/bizar-dash/src/web/components/Card.tsx +0 -40
  287. package/bizar-dash/src/web/components/CollapsibleSection.tsx +0 -72
  288. package/bizar-dash/src/web/components/CommandDialog.tsx +0 -66
  289. package/bizar-dash/src/web/components/DoctorPanel.tsx +0 -160
  290. package/bizar-dash/src/web/components/EmptyState.tsx +0 -30
  291. package/bizar-dash/src/web/components/EnvVarManager.tsx +0 -430
  292. package/bizar-dash/src/web/components/EvalDiff.tsx +0 -157
  293. package/bizar-dash/src/web/components/EvalExportButton.tsx +0 -27
  294. package/bizar-dash/src/web/components/EvalRunCard.tsx +0 -78
  295. package/bizar-dash/src/web/components/FileBrowser.tsx +0 -633
  296. package/bizar-dash/src/web/components/HeadroomSettings.tsx +0 -418
  297. package/bizar-dash/src/web/components/HeadroomStatus.tsx +0 -158
  298. package/bizar-dash/src/web/components/HelpDialog.tsx +0 -55
  299. package/bizar-dash/src/web/components/InviteDialog.tsx +0 -205
  300. package/bizar-dash/src/web/components/KillConfirmDialog.tsx +0 -88
  301. package/bizar-dash/src/web/components/MobileBottomNav.tsx +0 -38
  302. package/bizar-dash/src/web/components/MobileDrawer.tsx +0 -68
  303. package/bizar-dash/src/web/components/MobileHeader.tsx +0 -50
  304. package/bizar-dash/src/web/components/MobileLayout.tsx +0 -63
  305. package/bizar-dash/src/web/components/Modal.tsx +0 -215
  306. package/bizar-dash/src/web/components/Notifications.tsx +0 -242
  307. package/bizar-dash/src/web/components/ScheduleTemplateCard.tsx +0 -72
  308. package/bizar-dash/src/web/components/ScreenshotCapture.tsx +0 -138
  309. package/bizar-dash/src/web/components/ScreenshotOCR.tsx +0 -42
  310. package/bizar-dash/src/web/components/SearchModal.tsx +0 -227
  311. package/bizar-dash/src/web/components/SettingsNav.tsx +0 -117
  312. package/bizar-dash/src/web/components/SettingsSearch.tsx +0 -328
  313. package/bizar-dash/src/web/components/Sidebar.tsx +0 -89
  314. package/bizar-dash/src/web/components/Spinner.tsx +0 -19
  315. package/bizar-dash/src/web/components/StatusBadge.tsx +0 -56
  316. package/bizar-dash/src/web/components/Tag.tsx +0 -41
  317. package/bizar-dash/src/web/components/TailscaleSettings.tsx +0 -161
  318. package/bizar-dash/src/web/components/TaskCard.tsx +0 -69
  319. package/bizar-dash/src/web/components/TaskCreateSheet.tsx +0 -76
  320. package/bizar-dash/src/web/components/Toast.tsx +0 -150
  321. package/bizar-dash/src/web/components/Toggle.tsx +0 -31
  322. package/bizar-dash/src/web/components/Topbar.tsx +0 -455
  323. package/bizar-dash/src/web/components/UsageChart.tsx +0 -250
  324. package/bizar-dash/src/web/components/UsageTable.tsx +0 -90
  325. package/bizar-dash/src/web/components/VirtualList.tsx +0 -53
  326. package/bizar-dash/src/web/components/VisualPlanDialog.tsx +0 -58
  327. package/bizar-dash/src/web/components/VoiceNotesPanel.tsx +0 -211
  328. package/bizar-dash/src/web/components/VoiceRecorder.tsx +0 -105
  329. package/bizar-dash/src/web/components/WorkspaceSelector.tsx +0 -158
  330. package/bizar-dash/src/web/components/agents/CommunicationLog.tsx +0 -126
  331. package/bizar-dash/src/web/components/agents/DependencyGraph.tsx +0 -163
  332. package/bizar-dash/src/web/components/agents/QualityGates.tsx +0 -123
  333. package/bizar-dash/src/web/components/agents/RealTimeEventLog.tsx +0 -127
  334. package/bizar-dash/src/web/components/agents/RoutingDecisions.test.tsx +0 -148
  335. package/bizar-dash/src/web/components/agents/RoutingDecisions.tsx +0 -160
  336. package/bizar-dash/src/web/components/background/AttachButton.tsx +0 -96
  337. package/bizar-dash/src/web/components/background/TmuxAttachCard.tsx +0 -122
  338. package/bizar-dash/src/web/components/chat/AgentChip.tsx +0 -68
  339. package/bizar-dash/src/web/components/chat/AgentNode.tsx +0 -127
  340. package/bizar-dash/src/web/components/chat/AgentTree.tsx +0 -80
  341. package/bizar-dash/src/web/components/chat/ChatBubble.tsx +0 -60
  342. package/bizar-dash/src/web/components/chat/ChatComposer.tsx +0 -72
  343. package/bizar-dash/src/web/components/chat/ChatInfoPanel.tsx +0 -370
  344. package/bizar-dash/src/web/components/chat/ChatRail.tsx +0 -387
  345. package/bizar-dash/src/web/components/chat/ChatThread.tsx +0 -127
  346. package/bizar-dash/src/web/components/chat/ChatTopBar.tsx +0 -50
  347. package/bizar-dash/src/web/components/chat/Composer.tsx +0 -166
  348. package/bizar-dash/src/web/components/chat/ConfirmModal.tsx +0 -54
  349. package/bizar-dash/src/web/components/chat/EmptyState.tsx +0 -21
  350. package/bizar-dash/src/web/components/chat/FirstRunGreeting.tsx +0 -18
  351. package/bizar-dash/src/web/components/chat/FloatingComposer.tsx +0 -38
  352. package/bizar-dash/src/web/components/chat/InfoPanel.tsx +0 -184
  353. package/bizar-dash/src/web/components/chat/JumpToLatest.tsx +0 -58
  354. package/bizar-dash/src/web/components/chat/LoadingSkeleton.tsx +0 -19
  355. package/bizar-dash/src/web/components/chat/MessageBlock.tsx +0 -260
  356. package/bizar-dash/src/web/components/chat/MessageBubble.tsx +0 -60
  357. package/bizar-dash/src/web/components/chat/SessionList.tsx +0 -163
  358. package/bizar-dash/src/web/components/chat/SessionRowMenu.tsx +0 -206
  359. package/bizar-dash/src/web/components/chat/StreamingIndicator.tsx +0 -37
  360. package/bizar-dash/src/web/components/chat/SuggestionCards.tsx +0 -55
  361. package/bizar-dash/src/web/components/chat/WelcomeScreen.tsx +0 -36
  362. package/bizar-dash/src/web/components/chat/_legacy.ts +0 -30
  363. package/bizar-dash/src/web/components/chat/index.ts +0 -31
  364. package/bizar-dash/src/web/components/chat/useAutoGrowTextarea.ts +0 -18
  365. package/bizar-dash/src/web/components/chat/useChat.ts +0 -1190
  366. package/bizar-dash/src/web/components/chat/useSlashCommands.ts +0 -47
  367. package/bizar-dash/src/web/components/goals/GoalInput.tsx +0 -86
  368. package/bizar-dash/src/web/components/goals/PlanVisualization.tsx +0 -111
  369. package/bizar-dash/src/web/components/tasks/BacklogPanel.css +0 -109
  370. package/bizar-dash/src/web/components/tasks/BacklogPanel.tsx +0 -209
  371. package/bizar-dash/src/web/hooks/useAutosave.ts +0 -107
  372. package/bizar-dash/src/web/hooks/useI18n.ts +0 -13
  373. package/bizar-dash/src/web/index.html +0 -37
  374. package/bizar-dash/src/web/lib/api.ts +0 -237
  375. package/bizar-dash/src/web/lib/goapPlanner.ts +0 -614
  376. package/bizar-dash/src/web/lib/i18n.ts +0 -25
  377. package/bizar-dash/src/web/lib/logger.ts +0 -30
  378. package/bizar-dash/src/web/lib/markdown.tsx +0 -59
  379. package/bizar-dash/src/web/lib/search.ts +0 -115
  380. package/bizar-dash/src/web/lib/types.ts +0 -894
  381. package/bizar-dash/src/web/lib/utils.ts +0 -114
  382. package/bizar-dash/src/web/lib/ws.ts +0 -177
  383. package/bizar-dash/src/web/locales/en.json +0 -52
  384. package/bizar-dash/src/web/main.tsx +0 -43
  385. package/bizar-dash/src/web/mobile/MobileApp.tsx +0 -309
  386. package/bizar-dash/src/web/mobile/MobileBottomNav.tsx +0 -38
  387. package/bizar-dash/src/web/mobile/MobileChat.tsx +0 -138
  388. package/bizar-dash/src/web/mobile/MobileDoctor.tsx +0 -80
  389. package/bizar-dash/src/web/mobile/MobileEval.tsx +0 -167
  390. package/bizar-dash/src/web/mobile/MobileMemory.tsx +0 -108
  391. package/bizar-dash/src/web/mobile/MobileOverview.tsx +0 -213
  392. package/bizar-dash/src/web/mobile/MobileSettings.tsx +0 -251
  393. package/bizar-dash/src/web/mobile/MobileTasks.tsx +0 -94
  394. package/bizar-dash/src/web/mobile/MobileTopbar.tsx +0 -115
  395. package/bizar-dash/src/web/mobile/components/MobileBottomSheet.tsx +0 -182
  396. package/bizar-dash/src/web/mobile/components/MobileListItem.tsx +0 -64
  397. package/bizar-dash/src/web/mobile/components/MobileModal.tsx +0 -123
  398. package/bizar-dash/src/web/mobile/views/MobileActivity.tsx +0 -273
  399. package/bizar-dash/src/web/mobile/views/MobileAgents.tsx +0 -374
  400. package/bizar-dash/src/web/mobile/views/MobileArtifactCanvas.tsx +0 -439
  401. package/bizar-dash/src/web/mobile/views/MobileArtifacts.tsx +0 -143
  402. package/bizar-dash/src/web/mobile/views/MobileChat.tsx +0 -257
  403. package/bizar-dash/src/web/mobile/views/MobileConfig.tsx +0 -175
  404. package/bizar-dash/src/web/mobile/views/MobileHistory.tsx +0 -191
  405. package/bizar-dash/src/web/mobile/views/MobileMods.tsx +0 -149
  406. package/bizar-dash/src/web/mobile/views/MobileMore.tsx +0 -121
  407. package/bizar-dash/src/web/mobile/views/MobileNotifications.tsx +0 -137
  408. package/bizar-dash/src/web/mobile/views/MobilePlans.tsx +0 -26
  409. package/bizar-dash/src/web/mobile/views/MobileSchedules.tsx +0 -685
  410. package/bizar-dash/src/web/mobile/views/MobileSearchModal.tsx +0 -172
  411. package/bizar-dash/src/web/mobile/views/MobileSettings.tsx +0 -363
  412. package/bizar-dash/src/web/mobile/views/MobileSkills.tsx +0 -153
  413. package/bizar-dash/src/web/mobile/views/MobileTasks.tsx +0 -564
  414. package/bizar-dash/src/web/mobile/views/QrCodePanel.tsx +0 -69
  415. package/bizar-dash/src/web/mobile.tsx +0 -14
  416. package/bizar-dash/src/web/styles/agents-redesign.css +0 -311
  417. package/bizar-dash/src/web/styles/chat.css +0 -1740
  418. package/bizar-dash/src/web/styles/glyphs.css +0 -960
  419. package/bizar-dash/src/web/styles/main.css +0 -10389
  420. package/bizar-dash/src/web/styles/memory.css +0 -1177
  421. package/bizar-dash/src/web/styles/minimax-usage.css +0 -842
  422. package/bizar-dash/src/web/styles/mobile-chat.css +0 -5
  423. package/bizar-dash/src/web/styles/mobile-layout.css +0 -233
  424. package/bizar-dash/src/web/styles/mobile.css +0 -2181
  425. package/bizar-dash/src/web/styles/settings.css +0 -775
  426. package/bizar-dash/src/web/styles/skills.css +0 -302
  427. package/bizar-dash/src/web/styles/tasks-redesign.css +0 -253
  428. package/bizar-dash/src/web/styles/tasks.css +0 -605
  429. package/bizar-dash/src/web/ui/controls/Button.tsx +0 -77
  430. package/bizar-dash/src/web/ui/controls/Checkbox.tsx +0 -95
  431. package/bizar-dash/src/web/ui/controls/IconButton.tsx +0 -66
  432. package/bizar-dash/src/web/ui/controls/Kbd.tsx +0 -24
  433. package/bizar-dash/src/web/ui/controls/NumberInput.tsx +0 -77
  434. package/bizar-dash/src/web/ui/controls/RadioGroup.tsx +0 -109
  435. package/bizar-dash/src/web/ui/controls/SearchInput.tsx +0 -91
  436. package/bizar-dash/src/web/ui/controls/Select.tsx +0 -92
  437. package/bizar-dash/src/web/ui/controls/Slider.tsx +0 -70
  438. package/bizar-dash/src/web/ui/controls/TextInput.tsx +0 -67
  439. package/bizar-dash/src/web/ui/controls/Textarea.tsx +0 -56
  440. package/bizar-dash/src/web/ui/controls/Toggle.tsx +0 -79
  441. package/bizar-dash/src/web/ui/controls/controls.css +0 -476
  442. package/bizar-dash/src/web/ui/controls/index.ts +0 -35
  443. package/bizar-dash/src/web/ui/data/BarChart.tsx +0 -60
  444. package/bizar-dash/src/web/ui/data/DataTable.tsx +0 -216
  445. package/bizar-dash/src/web/ui/data/EmptyState.tsx +0 -60
  446. package/bizar-dash/src/web/ui/data/ErrorState.tsx +0 -56
  447. package/bizar-dash/src/web/ui/data/KeyValueList.tsx +0 -106
  448. package/bizar-dash/src/web/ui/data/LoadingState.tsx +0 -65
  449. package/bizar-dash/src/web/ui/data/Sparkline.tsx +0 -87
  450. package/bizar-dash/src/web/ui/data/StatTile.tsx +0 -87
  451. package/bizar-dash/src/web/ui/data/data.css +0 -540
  452. package/bizar-dash/src/web/ui/data/index.ts +0 -31
  453. package/bizar-dash/src/web/ui/feedback/Badge.tsx +0 -49
  454. package/bizar-dash/src/web/ui/feedback/Dialog.tsx +0 -209
  455. package/bizar-dash/src/web/ui/feedback/ProgressBar.tsx +0 -69
  456. package/bizar-dash/src/web/ui/feedback/StatusDot.tsx +0 -50
  457. package/bizar-dash/src/web/ui/feedback/Toast.tsx +0 -200
  458. package/bizar-dash/src/web/ui/feedback/Tooltip.tsx +0 -126
  459. package/bizar-dash/src/web/ui/feedback/feedback.css +0 -314
  460. package/bizar-dash/src/web/ui/feedback/index.ts +0 -43
  461. package/bizar-dash/src/web/ui/index.ts +0 -57
  462. package/bizar-dash/src/web/ui/layout/AppShell.tsx +0 -51
  463. package/bizar-dash/src/web/ui/layout/Breadcrumbs.tsx +0 -97
  464. package/bizar-dash/src/web/ui/layout/Panel.tsx +0 -73
  465. package/bizar-dash/src/web/ui/layout/PanelHeader.tsx +0 -39
  466. package/bizar-dash/src/web/ui/layout/Sidebar.tsx +0 -131
  467. package/bizar-dash/src/web/ui/layout/Tabs.tsx +0 -133
  468. package/bizar-dash/src/web/ui/layout/Topbar.tsx +0 -42
  469. package/bizar-dash/src/web/ui/layout/ViewHeader.tsx +0 -48
  470. package/bizar-dash/src/web/ui/layout/index.ts +0 -34
  471. package/bizar-dash/src/web/ui/layout/layout.css +0 -464
  472. package/bizar-dash/src/web/ui/navigation/CommandPalette.tsx +0 -199
  473. package/bizar-dash/src/web/ui/navigation/NavGroup.tsx +0 -95
  474. package/bizar-dash/src/web/ui/navigation/NavLink.tsx +0 -93
  475. package/bizar-dash/src/web/ui/navigation/index.ts +0 -17
  476. package/bizar-dash/src/web/ui/navigation/navigation.css +0 -343
  477. package/bizar-dash/src/web/ui/primitives/Box.tsx +0 -91
  478. package/bizar-dash/src/web/ui/primitives/Grid.tsx +0 -49
  479. package/bizar-dash/src/web/ui/primitives/Inline.tsx +0 -55
  480. package/bizar-dash/src/web/ui/primitives/Separator.tsx +0 -46
  481. package/bizar-dash/src/web/ui/primitives/Stack.tsx +0 -54
  482. package/bizar-dash/src/web/ui/primitives/VisuallyHidden.tsx +0 -26
  483. package/bizar-dash/src/web/ui/primitives/index.ts +0 -23
  484. package/bizar-dash/src/web/ui/primitives/primitives.css +0 -183
  485. package/bizar-dash/src/web/ui/styles/globals.css +0 -86
  486. package/bizar-dash/src/web/ui/styles/reset.css +0 -125
  487. package/bizar-dash/src/web/ui/styles/tokens.css +0 -208
  488. package/bizar-dash/src/web/ui/theme/ThemeProvider.tsx +0 -142
  489. package/bizar-dash/src/web/ui/theme/tokens.ts +0 -131
  490. package/bizar-dash/src/web/ui/theme/useTheme.ts +0 -22
  491. package/bizar-dash/src/web/ui/utils/cx.ts +0 -42
  492. package/bizar-dash/src/web/views/Activity.tsx +0 -1221
  493. package/bizar-dash/src/web/views/Agents.tsx +0 -964
  494. package/bizar-dash/src/web/views/Artifacts.tsx +0 -1494
  495. package/bizar-dash/src/web/views/BackgroundAgents.tsx +0 -822
  496. package/bizar-dash/src/web/views/Chat.tsx +0 -532
  497. package/bizar-dash/src/web/views/Config.tsx +0 -3
  498. package/bizar-dash/src/web/views/Doctor.tsx +0 -317
  499. package/bizar-dash/src/web/views/Eval.tsx +0 -372
  500. package/bizar-dash/src/web/views/EvalReport.tsx +0 -353
  501. package/bizar-dash/src/web/views/GoalPlanner.tsx +0 -158
  502. package/bizar-dash/src/web/views/Harness.tsx +0 -306
  503. package/bizar-dash/src/web/views/History.tsx +0 -353
  504. package/bizar-dash/src/web/views/Memory.tsx +0 -193
  505. package/bizar-dash/src/web/views/MiniMaxUsage.tsx +0 -942
  506. package/bizar-dash/src/web/views/ModView.tsx +0 -207
  507. package/bizar-dash/src/web/views/Mods.tsx +0 -706
  508. package/bizar-dash/src/web/views/Overview.tsx +0 -1343
  509. package/bizar-dash/src/web/views/Providers.tsx +0 -302
  510. package/bizar-dash/src/web/views/Schedules.tsx +0 -902
  511. package/bizar-dash/src/web/views/Settings.tsx +0 -308
  512. package/bizar-dash/src/web/views/Skills.tsx +0 -383
  513. package/bizar-dash/src/web/views/SpawnAgentModal.tsx +0 -221
  514. package/bizar-dash/src/web/views/Tasks.tsx +0 -789
  515. package/bizar-dash/src/web/views/Workspace.tsx +0 -294
  516. package/bizar-dash/src/web/views/glyphs/GlyphRenderer.tsx +0 -844
  517. package/bizar-dash/src/web/views/glyphs/components.tsx +0 -1098
  518. package/bizar-dash/src/web/views/memory/ConfigPanel.tsx +0 -426
  519. package/bizar-dash/src/web/views/memory/FromScreenshotPanel.tsx +0 -23
  520. package/bizar-dash/src/web/views/memory/GitSyncPanel.tsx +0 -220
  521. package/bizar-dash/src/web/views/memory/LightragPanel.tsx +0 -310
  522. package/bizar-dash/src/web/views/memory/MemoryGraphLegend.tsx +0 -29
  523. package/bizar-dash/src/web/views/memory/MemoryGraphPanel.tsx +0 -192
  524. package/bizar-dash/src/web/views/memory/MemoryGraphView.tsx +0 -336
  525. package/bizar-dash/src/web/views/memory/MemoryOverview.tsx +0 -367
  526. package/bizar-dash/src/web/views/memory/MemoryStatusCard.tsx +0 -160
  527. package/bizar-dash/src/web/views/memory/ObsidianPanel.tsx +0 -650
  528. package/bizar-dash/src/web/views/memory/SemanticSearchPanel.tsx +0 -197
  529. package/bizar-dash/src/web/views/memory/VaultFromClipboardPanel.tsx +0 -101
  530. package/bizar-dash/src/web/views/settings/ActivitySection.tsx +0 -205
  531. package/bizar-dash/src/web/views/settings/AgentSection.tsx +0 -305
  532. package/bizar-dash/src/web/views/settings/AuthSection.tsx +0 -159
  533. package/bizar-dash/src/web/views/settings/EnvVarsSection.tsx +0 -15
  534. package/bizar-dash/src/web/views/settings/GeneralSection.tsx +0 -128
  535. package/bizar-dash/src/web/views/settings/HeadroomSection.tsx +0 -39
  536. package/bizar-dash/src/web/views/settings/MemorySection.tsx +0 -154
  537. package/bizar-dash/src/web/views/settings/NetworkSection.tsx +0 -87
  538. package/bizar-dash/src/web/views/settings/NotificationsSection.tsx +0 -34
  539. package/bizar-dash/src/web/views/settings/SystemLlmSection.tsx +0 -81
  540. package/bizar-dash/src/web/views/settings/ThemeSection.tsx +0 -168
  541. package/bizar-dash/src/web/views/settings/UpdatesSection.tsx +0 -256
  542. package/bizar-dash/src/web/views/settings/WorkspacesSection.tsx +0 -189
  543. package/packages/sdk/.harness/agents.json +0 -17
  544. package/packages/sdk/.harness/topology.json +0 -4
  545. /package/bizar-dash/tests/{BackgroundAgents.test.tsx → v7-archive/BackgroundAgents.test.tsx} +0 -0
  546. /package/bizar-dash/tests/{a11y → v7-archive/a11y}/forms.test.tsx +0 -0
  547. /package/bizar-dash/tests/{a11y.test.tsx → v7-archive/a11y.test.tsx} +0 -0
  548. /package/bizar-dash/tests/{autosave.test.tsx → v7-archive/autosave.test.tsx} +0 -0
  549. /package/bizar-dash/tests/{backup-restore.test.tsx → v7-archive/backup-restore.test.tsx} +0 -0
  550. /package/bizar-dash/tests/{chat-composer.test.tsx → v7-archive/chat-composer.test.tsx} +0 -0
  551. /package/bizar-dash/tests/{communication-log.test.tsx → v7-archive/communication-log.test.tsx} +0 -0
  552. /package/bizar-dash/tests/{components → v7-archive/components}/Modal.test.tsx +0 -0
  553. /package/bizar-dash/tests/{components → v7-archive/components}/Spinner.test.tsx +0 -0
  554. /package/bizar-dash/tests/{components → v7-archive/components}/StatusBadge.test.tsx +0 -0
  555. /package/bizar-dash/tests/{components → v7-archive/components}/doctor-panel.test.tsx +0 -0
  556. /package/bizar-dash/tests/{components → v7-archive/components}/screenshot-ocr.test.tsx +0 -0
  557. /package/bizar-dash/tests/{components → v7-archive/components}/settings-search.test.tsx +0 -0
  558. /package/bizar-dash/tests/{components → v7-archive/components}/workspace-selector.test.tsx +0 -0
  559. /package/bizar-dash/tests/{ui → v7-archive}/controls/Button.test.tsx +0 -0
  560. /package/bizar-dash/tests/{ui → v7-archive}/controls/Checkbox.test.tsx +0 -0
  561. /package/bizar-dash/tests/{ui → v7-archive}/controls/IconButton.test.tsx +0 -0
  562. /package/bizar-dash/tests/{ui → v7-archive}/controls/Kbd.test.tsx +0 -0
  563. /package/bizar-dash/tests/{ui → v7-archive}/controls/NumberInput.test.tsx +0 -0
  564. /package/bizar-dash/tests/{ui → v7-archive}/controls/RadioGroup.test.tsx +0 -0
  565. /package/bizar-dash/tests/{ui → v7-archive}/controls/SearchInput.test.tsx +0 -0
  566. /package/bizar-dash/tests/{ui → v7-archive}/controls/Select.test.tsx +0 -0
  567. /package/bizar-dash/tests/{ui → v7-archive}/controls/Slider.test.tsx +0 -0
  568. /package/bizar-dash/tests/{ui → v7-archive}/controls/TextInput.test.tsx +0 -0
  569. /package/bizar-dash/tests/{ui → v7-archive}/controls/Textarea.test.tsx +0 -0
  570. /package/bizar-dash/tests/{ui → v7-archive}/controls/Toggle.test.tsx +0 -0
  571. /package/bizar-dash/tests/{ui → v7-archive}/data/BarChart.test.tsx +0 -0
  572. /package/bizar-dash/tests/{ui → v7-archive}/data/DataTable.test.tsx +0 -0
  573. /package/bizar-dash/tests/{ui → v7-archive}/data/EmptyState.test.tsx +0 -0
  574. /package/bizar-dash/tests/{ui → v7-archive}/data/ErrorState.test.tsx +0 -0
  575. /package/bizar-dash/tests/{ui → v7-archive}/data/KeyValueList.test.tsx +0 -0
  576. /package/bizar-dash/tests/{ui → v7-archive}/data/LoadingState.test.tsx +0 -0
  577. /package/bizar-dash/tests/{ui → v7-archive}/data/Sparkline.test.tsx +0 -0
  578. /package/bizar-dash/tests/{ui → v7-archive}/data/StatTile.test.tsx +0 -0
  579. /package/bizar-dash/tests/{dep-graph.test.tsx → v7-archive/dep-graph.test.tsx} +0 -0
  580. /package/bizar-dash/tests/{eval-web-ui.test.tsx → v7-archive/eval-web-ui.test.tsx} +0 -0
  581. /package/bizar-dash/tests/{event-log.test.tsx → v7-archive/event-log.test.tsx} +0 -0
  582. /package/bizar-dash/tests/{ui → v7-archive}/feedback/Badge.test.tsx +0 -0
  583. /package/bizar-dash/tests/{ui → v7-archive}/feedback/Dialog.test.tsx +0 -0
  584. /package/bizar-dash/tests/{ui → v7-archive}/feedback/ProgressBar.test.tsx +0 -0
  585. /package/bizar-dash/tests/{ui → v7-archive}/feedback/StatusDot.test.tsx +0 -0
  586. /package/bizar-dash/tests/{ui → v7-archive}/feedback/Toast.test.tsx +0 -0
  587. /package/bizar-dash/tests/{ui → v7-archive}/feedback/Tooltip.test.tsx +0 -0
  588. /package/bizar-dash/tests/{goal-input.test.tsx → v7-archive/goal-input.test.tsx} +0 -0
  589. /package/bizar-dash/tests/{goap-planner.test.ts → v7-archive/goap-planner.test.ts} +0 -0
  590. /package/bizar-dash/tests/{hooks → v7-archive/hooks}/useModal.test.tsx +0 -0
  591. /package/bizar-dash/tests/{hooks → v7-archive/hooks}/useToast.test.tsx +0 -0
  592. /package/bizar-dash/tests/{ui → v7-archive}/layout/AppShell.test.tsx +0 -0
  593. /package/bizar-dash/tests/{ui → v7-archive}/layout/Breadcrumbs.test.tsx +0 -0
  594. /package/bizar-dash/tests/{ui → v7-archive}/layout/Panel.test.tsx +0 -0
  595. /package/bizar-dash/tests/{ui → v7-archive}/layout/PanelHeader.test.tsx +0 -0
  596. /package/bizar-dash/tests/{ui → v7-archive}/layout/Sidebar.test.tsx +0 -0
  597. /package/bizar-dash/tests/{ui → v7-archive}/layout/Tabs.test.tsx +0 -0
  598. /package/bizar-dash/tests/{ui → v7-archive}/layout/Topbar.test.tsx +0 -0
  599. /package/bizar-dash/tests/{ui → v7-archive}/layout/ViewHeader.test.tsx +0 -0
  600. /package/bizar-dash/tests/{lib → v7-archive/lib}/i18n.test.ts +0 -0
  601. /package/bizar-dash/tests/{lib → v7-archive/lib}/search-fuzzy.test.ts +0 -0
  602. /package/bizar-dash/tests/{lib → v7-archive/lib}/utils.test.ts +0 -0
  603. /package/bizar-dash/tests/{memory-graph-view.test.tsx → v7-archive/memory-graph-view.test.tsx} +0 -0
  604. /package/bizar-dash/tests/{mobile-chat.test.tsx → v7-archive/mobile-chat.test.tsx} +0 -0
  605. /package/bizar-dash/tests/{mobile-layout.test.tsx → v7-archive/mobile-layout.test.tsx} +0 -0
  606. /package/bizar-dash/tests/{mobile-overview.test.tsx → v7-archive/mobile-overview.test.tsx} +0 -0
  607. /package/bizar-dash/tests/{mobile-settings.test.tsx → v7-archive/mobile-settings.test.tsx} +0 -0
  608. /package/bizar-dash/tests/{mobile-tasks.test.tsx → v7-archive/mobile-tasks.test.tsx} +0 -0
  609. /package/bizar-dash/tests/{ui → v7-archive}/navigation/CommandPalette.test.tsx +0 -0
  610. /package/bizar-dash/tests/{ui → v7-archive}/navigation/NavGroup.test.tsx +0 -0
  611. /package/bizar-dash/tests/{ui → v7-archive}/navigation/NavLink.test.tsx +0 -0
  612. /package/bizar-dash/tests/{quality-gates.test.tsx → v7-archive/quality-gates.test.tsx} +0 -0
  613. /package/bizar-dash/tests/{settings-layout.test.tsx → v7-archive/settings-layout.test.tsx} +0 -0
  614. /package/bizar-dash/tests/{settings-mode-wiring.test.tsx → v7-archive/settings-mode-wiring.test.tsx} +0 -0
  615. /package/bizar-dash/tests/{settings-nav.test.tsx → v7-archive/settings-nav.test.tsx} +0 -0
  616. /package/bizar-dash/tests/{ui → v7-archive/ui}/primitives/Box.test.tsx +0 -0
  617. /package/bizar-dash/tests/{ui → v7-archive/ui}/primitives/Grid.test.tsx +0 -0
  618. /package/bizar-dash/tests/{ui → v7-archive/ui}/primitives/Inline.test.tsx +0 -0
  619. /package/bizar-dash/tests/{ui → v7-archive/ui}/primitives/Separator.test.tsx +0 -0
  620. /package/bizar-dash/tests/{ui → v7-archive/ui}/primitives/Stack.test.tsx +0 -0
  621. /package/bizar-dash/tests/{views → v7-archive/views}/Agents.test.tsx +0 -0
  622. /package/bizar-dash/tests/{views → v7-archive/views}/Memory.test.tsx +0 -0
  623. /package/bizar-dash/tests/{views → v7-archive/views}/Overview.test.tsx +0 -0
  624. /package/bizar-dash/tests/{views → v7-archive/views}/Tasks.test.tsx +0 -0
  625. /package/bizar-dash/tests/{views → v7-archive/views}/sidebar.test.tsx +0 -0
  626. /package/bizar-dash/tests/{views → v7-archive/views}/topbar.test.tsx +0 -0
  627. /package/bizar-dash/tests/{voice-recorder.test.tsx → v7-archive/voice-recorder.test.tsx} +0 -0
@@ -1,894 +0,0 @@
1
- // src/lib/types.ts — TypeScript types for the Bizar dashboard.
2
- // All shapes here mirror the JSON returned by src/server/api.mjs.
3
-
4
- /**
5
- * Dialog component types that can be rendered in the dashboard.
6
- * Aligned with `DialogComponent` in plugins/bizar/src/commands.ts.
7
- * If you add a new component here, mirror it there and in
8
- * dialog-store.mjs KNOWN_COMPONENTS.
9
- */
10
- export type DialogComponent = 'visual-artifact' | 'visual-plan' | 'plan-create' | 'plan-list' | 'artifact-create' | 'artifact-list' | 'help' | 'audit' | 'generic';
11
-
12
- /**
13
- * A modal dialog request emitted by the slash-command plugin and
14
- * delivered to the dashboard via the `dialog:show` WS message.
15
- * Thor's plugin code emits these; the desktop Chat view (sibling scope)
16
- * mounts a component keyed by `component` and seeds it with `data`.
17
- */
18
- export type DialogDescriptor = {
19
- id: string;
20
- title: string;
21
- /** Original slash command, e.g. "/visual-plan on". */
22
- command: string;
23
- /** Component key the Chat view mounts. One of: 'visual-plan' | 'plan-create' | 'plan-list' | 'help' | 'audit' | 'generic' */
24
- component: DialogComponent;
25
- /** Component-specific payload. Shape depends on `component`. */
26
- data?: Record<string, unknown>;
27
- };
28
-
29
- export type ThemeName = 'dark' | 'light' | 'system';
30
-
31
- export type ThemeSettings = {
32
- mode: ThemeName;
33
- accent: string;
34
- success: string;
35
- warning: string;
36
- error: string;
37
- info: string;
38
- fontFamily: string;
39
- fontSize: number;
40
- compactMode: boolean;
41
- animations: boolean;
42
- };
43
-
44
- export type UiSettings = {
45
- layout: 'topnav' | 'sidebar' | 'both';
46
- showHeader: boolean;
47
- showStatusBar: boolean;
48
- defaultTab: string;
49
- accentColor?: string;
50
- };
51
-
52
- export type Agent = {
53
- name: string;
54
- description: string;
55
- model: string;
56
- mode: string;
57
- file: string;
58
- path: string;
59
- mtime: number;
60
- tools?: string[];
61
- tags?: string[];
62
- category?: string;
63
- color?: string;
64
- prompt?: string;
65
- permissions?: unknown;
66
- // v3.1.0 — runtime status (server-attached)
67
- status?: 'idle' | 'working' | 'error' | 'stuck' | string;
68
- currentTaskId?: string | null;
69
- currentTaskStartedAt?: number;
70
- lastSeen?: number;
71
- heartbeat?: number;
72
- lastError?: { ts: number; message: string } | null;
73
- lastTask?: { id: string; finishedAt: number; status: string } | null;
74
- successRate?: number;
75
- tasksTotal?: number;
76
- tasksSucceeded?: number;
77
- tasksFailed?: number;
78
- isStuck?: boolean;
79
- // v3.2.0 — agent hierarchy (parent/level/role).
80
- level?: number;
81
- parent?: string | null;
82
- role?: string;
83
- };
84
-
85
- export type ProjectRecord = {
86
- id: string;
87
- name: string;
88
- path: string;
89
- lastAccessed?: string;
90
- status: 'active' | 'inactive' | 'error' | string;
91
- summary?: string;
92
- };
93
-
94
- export type ProjectsResponse = {
95
- projects: ProjectRecord[];
96
- active: string | null;
97
- };
98
-
99
- /** A single entry returned by GET /api/fs */
100
- export type DirectoryEntry = {
101
- name: string;
102
- path: string;
103
- isDir: boolean;
104
- isSymlink: boolean;
105
- };
106
-
107
- /** Response shape for GET /api/fs */
108
- export type DirectoryListing = {
109
- path: string;
110
- parent: string | null;
111
- entries: DirectoryEntry[];
112
- /** True when the directory had more than 500 entries (capped). */
113
- truncated?: boolean;
114
- /** Actual entry count when truncated. */
115
- totalEntries?: number;
116
- };
117
-
118
- /** Request shape for POST /api/fs/mkdir */
119
- export type MkdirRequest = { parent: string; name: string };
120
-
121
- /** Response shape for POST /api/fs/mkdir */
122
- export type MkdirResponse = { path: string; parent: string; name: string };
123
-
124
- /** Response shape for POST /api/projects/scan */
125
- export type ScanResult = {
126
- added: Array<{ id: string; path: string; name: string }>;
127
- skipped: number;
128
- scanned: number;
129
- error?: string;
130
- };
131
-
132
- // v3.19.0 — Artifact (formerly Plan). A user-facing proposal that an agent
133
- // creates to surface design choices, options, or implementation paths.
134
- // The user reviews it and either approves, rejects, or modifies.
135
- export type Artifact = {
136
- /** Unique slug — used in the file path (`plans/<slug>/`) and URL. */
137
- slug: string;
138
- /** Human-readable title shown in the artifacts list. */
139
- title: string;
140
- /** One-line summary shown under the title. */
141
- description: string;
142
- /** Lifecycle status. */
143
- status: 'draft' | 'pending-review' | 'approved' | 'rejected' | 'archived';
144
- /** What kind of artifact this is — drives the renderer. */
145
- kind: 'design' | 'plan' | 'spec' | 'mockup' | 'report' | 'freeform' | string;
146
- /** Agent or user that created this artifact. */
147
- author: string;
148
- /** User's decision on this artifact. */
149
- decision: 'pending' | 'approved' | 'rejected' | 'modified' | null;
150
- /** Optional user-supplied notes when approving/rejecting. */
151
- decisionNote: string | null;
152
- /** Filesystem source. */
153
- source: 'worktree' | 'global' | string;
154
- /** Element count (visual elements) — for plan-like artifacts. */
155
- elementCount: number | null;
156
- /** Comment count. */
157
- commentCount: number | null;
158
- /** Last-modified time. */
159
- mtime: number;
160
- /** Optional URL to the artifact's full view. */
161
- artifactUrl: string | null;
162
- /** Tags — free-form, used for filtering. */
163
- tags: string[];
164
- };
165
-
166
- export type CanvasElement = {
167
- id: string;
168
- type: string;
169
- title?: string;
170
- content?: string;
171
- x: number;
172
- y: number;
173
- width: number;
174
- height: number;
175
- status?: string;
176
- };
177
-
178
- export type CanvasConnection = {
179
- id: string;
180
- fromElementId?: string;
181
- from?: string;
182
- toElementId?: string;
183
- to?: string;
184
- label?: string;
185
- };
186
-
187
- export type CanvasComment = {
188
- id: string;
189
- elementId?: string;
190
- text: string;
191
- author: string;
192
- created: string;
193
- thread?: { author: string; text: string }[];
194
- };
195
-
196
- export type CanvasViewport = { x: number; y: number; zoom: number };
197
-
198
- export type Canvas = {
199
- schemaVersion?: number;
200
- title: string;
201
- elements: CanvasElement[];
202
- connections: CanvasConnection[];
203
- comments: CanvasComment[];
204
- viewport: CanvasViewport;
205
- };
206
-
207
- export type ConfigResponse = {
208
- path: string;
209
- data: unknown;
210
- raw: string;
211
- exists: boolean;
212
- };
213
-
214
- export interface SystemLlmConfig {
215
- enabled: boolean;
216
- provider: string; // e.g. "cline"
217
- model: string; // e.g. "cline/deepseek-v4-flash-free"
218
- // api key is read from auth.json for the provider, not stored here
219
- }
220
-
221
- export type Settings = {
222
- theme: ThemeSettings;
223
- ui: UiSettings;
224
- defaultAgent: string;
225
- defaultModel: string;
226
- notifications: {
227
- onAgentComplete: boolean;
228
- onPlanApproval: boolean;
229
- };
230
- dashboard: {
231
- autoLaunchWeb: boolean;
232
- projectsDirectory?: string;
233
- allowedRoots?: string[];
234
- };
235
- service: {
236
- enabled: boolean;
237
- autostart: boolean;
238
- };
239
- about: {
240
- version: string;
241
- homepage: string;
242
- license: string;
243
- };
244
- agents: {
245
- maxParallel: number;
246
- stuckThresholdMs: number;
247
- autoRestart: boolean;
248
- };
249
- // v3.19.0 — Personalization (free-form text shown to agents).
250
- personalization: {
251
- displayName: string;
252
- role: string;
253
- team: string;
254
- aboutMe: string;
255
- preferences: string;
256
- };
257
- // v3.19.0 — Workflow toggles.
258
- workflow: {
259
- /** Allow agents to create / mutate artifacts. */
260
- artifactsEnabled: boolean;
261
- /** When true, agents make decisions themselves instead of asking. */
262
- agentsDecideAutonomously: boolean;
263
- /** Per-tab override for autonomy (chat input). */
264
- chatAutonomous: boolean;
265
- };
266
- // v3.21.0 — System LLM calls (auto-title, enhance-prompt, summarization).
267
- systemLlm?: SystemLlmConfig;
268
- // v4.5.0 — MiniMax Token Plan integration. `apiKey` is the user's
269
- // Subscription Key (NOT a pay-as-you-go API key). `groupId` is usually
270
- // 'default' for an individual team. `baseUrl` is the Token Plan host
271
- // (the remains endpoint lives on www.*, not api.*). `chatBaseUrl` is
272
- // the chat-completions host (api.*/v1).
273
- minimax?: {
274
- enabled: boolean;
275
- apiKey: string;
276
- groupId: string;
277
- baseUrl: string;
278
- chatBaseUrl: string;
279
- };
280
- // v5.0.0 — Headroom context compression settings.
281
- headroom?: HeadroomSettings;
282
- };
283
-
284
- export type HeadroomSettings = {
285
- enabled: boolean;
286
- autoInstall: boolean;
287
- port: number;
288
- host: string;
289
- outputShaper: boolean;
290
- telemetry: boolean;
291
- budget: number;
292
- backend: string;
293
- autoStart: boolean;
294
- autoWrap: boolean;
295
- routeAllProviders: boolean;
296
- };
297
-
298
- export type SettingsResponse = {
299
- path: string;
300
- data: Settings;
301
- exists: boolean;
302
- };
303
-
304
- export type OverviewCounts = {
305
- agents: number;
306
- plans: number;
307
- projects: number;
308
- sessions: number;
309
- activeProject?: string | null;
310
- };
311
-
312
- export type OverviewVersions = {
313
- node: string;
314
- platform: string;
315
- projectRoot: string;
316
- bizarRoot: string;
317
- };
318
-
319
- export type ActivityItem = {
320
- ts: string;
321
- kind: string;
322
- [k: string]: unknown;
323
- };
324
-
325
- export type Overview = {
326
- counts: OverviewCounts;
327
- recentActivity: ActivityItem[];
328
- versions: OverviewVersions;
329
- generatedAt: string;
330
- };
331
-
332
- export type ChatMessage = {
333
- id?: string;
334
- role: 'user' | 'assistant' | 'system' | string;
335
- content?: string;
336
- message?: string;
337
- agent?: string;
338
- ts?: string | number;
339
- pinned?: boolean;
340
- };
341
-
342
- export type ChatSession = {
343
- id: string;
344
- file: string;
345
- mtime: number;
346
- size: number;
347
- /** 'bizar' sessions come from the per-project .jsonl store; 'cline' come from cline.db */
348
- source?: 'bizar' | 'cline';
349
- /** Filled when source === 'cline' — the URL to open that session in the cline web UI */
350
- clineUrl?: string;
351
- /** Display title; defaults to id when absent */
352
- title?: string;
353
- };
354
-
355
- export type ChatResponse = {
356
- messages: ChatMessage[];
357
- sessions: ChatSession[];
358
- };
359
-
360
- export type Task = {
361
- id: string;
362
- title: string;
363
- description: string;
364
- status: 'queued' | 'doing' | 'done' | 'blocked' | 'archived' | string;
365
- tags: string[];
366
- priority: 'low' | 'normal' | 'high' | string;
367
- assignee?: string | null;
368
- parent?: string | null;
369
- dependencies?: string[];
370
- timeSpent?: number;
371
- recurring?: { cron?: string; lastGenerated?: string; freq?: 'daily' | 'weekly' | 'monthly' | string } | null;
372
- attachments?: string[];
373
- comments?: { id: string; text: string; createdAt: string }[];
374
- activity?: { id: string; type: string; ts: string; data?: unknown }[];
375
- archived?: boolean;
376
- workedBy?: string | null;
377
- dueDate?: string | null;
378
- // v3.2.0 — main-task fields from the task delegator.
379
- subtasks?: string[];
380
- metadata?: Record<string, unknown> | null;
381
- // v3.3.0 — progress fields surfaced from metadata.
382
- progress?: number;
383
- currentStep?: string | null;
384
- progressAgent?: string | null;
385
- progressHistory?: { ts: string; progress: number; step: string | null; agent?: string | null }[];
386
- createdAt: string;
387
- updatedAt: string;
388
- completedAt?: string | null;
389
- _timerStart?: number;
390
- };
391
-
392
- export type Notification = {
393
- id: string;
394
- ts: string;
395
- severity: 'info' | 'success' | 'warning' | 'error';
396
- message: string;
397
- source: string;
398
- title?: string;
399
- link?: string | null;
400
- read?: boolean;
401
- meta?: Record<string, unknown> | null;
402
- };
403
-
404
- export type NotificationStats = {
405
- total: number;
406
- unread: number;
407
- lastTs: string | null;
408
- counts: Record<string, number>;
409
- };
410
-
411
- export type NotificationsResponse = {
412
- notifications: Notification[];
413
- stats: NotificationStats;
414
- };
415
-
416
- export type CustomTheme = {
417
- name: string;
418
- colors: Partial<ThemeSettings>;
419
- createdAt?: string | null;
420
- };
421
-
422
- export type BudgetCheck = {
423
- /** Skip the run if at least this many bg tasks are already running or pending. */
424
- maxConcurrent?: number;
425
- /** When true, the runner consults `maxConcurrent` and skips the run if the budget is exceeded. */
426
- skipIfBudgetLow?: boolean;
427
- };
428
-
429
- export type ScheduleAction = {
430
- type: 'command' | 'agent' | 'webhook';
431
- target: string;
432
- /** Free-form prompt for `agent` actions — the text the agent will work from. */
433
- prompt?: string;
434
- /** Optional webhook method override (defaults to POST). */
435
- method?: string;
436
- /** Webhook body. May also carry `prompt` for an agent dispatch. */
437
- body?: unknown;
438
- /** Title used when this action dispatches an agent task. */
439
- title?: string;
440
- /** Display name override when dispatching. */
441
- name?: string;
442
- };
443
-
444
- export type Schedule = {
445
- id: string;
446
- name: string;
447
- type: 'cron' | 'interval' | 'once';
448
- /** For `cron`: a 5-field cron expression. For `interval`: a "30m" / "2h" / "1d" string. For `once`: an ISO datetime. */
449
- schedule: string;
450
- /** IANA timezone for `cron` schedules. Defaults to "UTC" when absent. */
451
- timezone?: string;
452
- action: ScheduleAction;
453
- /** Optional budget pre-flight: skip the run when too many bg tasks are already in flight. */
454
- budgetCheck?: BudgetCheck;
455
- enabled: boolean;
456
- createdAt: string;
457
- updatedAt: string;
458
- lastRun: string | null;
459
- lastResult: 'success' | 'error' | 'skipped' | null;
460
- lastError: string | null;
461
- nextRun: string | null;
462
- history: { ts: string; result: string; error: string | null }[];
463
- };
464
-
465
- export type Mod = {
466
- id: string;
467
- name: string;
468
- version: string;
469
- author: string;
470
- description: string;
471
- bizar: string;
472
- type: string;
473
- enabled: boolean;
474
- permissions: string[];
475
- entry: Record<string, string>;
476
- files: { category: string; name: string; path: string }[];
477
- path: string;
478
- installedAt: string | null;
479
- };
480
-
481
- export type Provider = {
482
- id: string;
483
- name: string;
484
- baseURL: string;
485
- apiKey: string;
486
- models: string[];
487
- enabled: boolean;
488
- };
489
-
490
- export type McpServer = {
491
- id: string;
492
- type?: 'local' | 'remote';
493
- command: string;
494
- args: string[];
495
- env: Record<string, string>;
496
- url?: string;
497
- headers?: Record<string, string>;
498
- oauth?: boolean;
499
- enabled: boolean;
500
- };
501
-
502
- export type DiagnosticItem = {
503
- line: string;
504
- ts: string | null;
505
- };
506
-
507
- export type Diagnostics = {
508
- version: string;
509
- uptime: number;
510
- uptimeMs: number;
511
- nodeVersion: string;
512
- platform: string;
513
- memory: { rss: number; heapUsed: number; heapTotal: number };
514
- counts: {
515
- agents: number;
516
- plans: number;
517
- tasks: number;
518
- projects: number;
519
- activeProject: string | null;
520
- mods: number;
521
- schedules: number;
522
- providers: number;
523
- mcps: number;
524
- };
525
- errors: DiagnosticItem[];
526
- service: { running: boolean; pid?: number; error?: string };
527
- };
528
-
529
- export type TailscaleStatus = {
530
- installed: boolean;
531
- version: string | null;
532
- authenticated: boolean;
533
- backend: string;
534
- hostname: string;
535
- settings: { enabled: boolean; port: number; https: boolean; hostname: string };
536
- };
537
-
538
- // ────────────────────────────────────────────────────────────────────────
539
- // v6.0.0 — Doctor page types
540
- // ────────────────────────────────────────────────────────────────────────
541
-
542
- export type DoctorStatus = 'ok' | 'warn' | 'fail';
543
-
544
- export type DoctorCheck = {
545
- name: string;
546
- status: DoctorStatus;
547
- message: string;
548
- };
549
-
550
- export type DoctorChecks = {
551
- system: DoctorCheck[];
552
- config: DoctorCheck[];
553
- services: DoctorCheck[];
554
- };
555
-
556
- export type DoctorHealth = {
557
- ts: string;
558
- status: DoctorStatus;
559
- issues: DoctorCheck[];
560
- groups: DoctorChecks;
561
- };
562
-
563
- export type DoctorCounts = {
564
- tasks: number;
565
- schedules: number;
566
- mods: number;
567
- providers: number;
568
- mcps: number;
569
- agents: number;
570
- projects: number;
571
- activeProject: string | null;
572
- workspaces: number;
573
- voiceNotes: number;
574
- evalRuns: number;
575
- backups: number;
576
- };
577
-
578
- export type DoctorService = {
579
- running: boolean;
580
- port?: number;
581
- host?: string;
582
- pid?: number;
583
- uptime?: number;
584
- error?: string;
585
- baseUrl?: string | null;
586
- reachable?: boolean;
587
- path?: string | null;
588
- logPath?: string;
589
- logExists?: boolean;
590
- };
591
-
592
- export type DoctorServices = {
593
- dashboard: DoctorService;
594
- headroom: DoctorService;
595
- lightrag: DoctorService;
596
- cline: DoctorService;
597
- };
598
-
599
- export type DoctorRecentError = {
600
- line: string;
601
- ts: string | null;
602
- tsMs: number | null;
603
- };
604
-
605
- export type DoctorCline = {
606
- configExists: boolean;
607
- configPath: string;
608
- agentsDir: string;
609
- agentFiles: string[];
610
- dashboardConnected: boolean;
611
- };
612
-
613
- export type DoctorDisk = {
614
- path: string;
615
- exists: boolean;
616
- sizeBytes: number;
617
- };
618
-
619
- export type DoctorSnapshot = {
620
- timestamp: string;
621
- bizarVersion: string;
622
- nodeVersion: string;
623
- platform: string;
624
- arch: string;
625
- uptime: number;
626
- memory: NodeJS.MemoryUsage;
627
- disk: DoctorDisk;
628
- services: DoctorServices;
629
- counts: DoctorCounts;
630
- recentErrors: DoctorRecentError[];
631
- configHealth: DoctorCheck[];
632
- cline: DoctorCline;
633
- checks: DoctorChecks;
634
- health: { status: DoctorStatus; issues: DoctorCheck[] };
635
- };
636
-
637
- /**
638
- * The categories the Doctor page renders. Order is the render order.
639
- * Each maps 1:1 to either a `DoctorChecks` group or a derived slice.
640
- */
641
- export type DoctorCategory =
642
- | 'system'
643
- | 'services'
644
- | 'counts'
645
- | 'errors'
646
- | 'actions';
647
-
648
- export type DoctorCheckOrInfo =
649
- | DoctorCheck
650
- | { kind: 'count'; label: string; value: number | string };
651
-
652
- export type DoctorPanelProps = {
653
- category: DoctorCategory;
654
- /** Title shown in the card header. Optional — derived from category if omitted. */
655
- title?: string;
656
- /** Lucide icon for the header. Optional — derived from category if omitted. */
657
- icon?: React.ComponentType<{ size?: number; 'aria-hidden'?: boolean }>;
658
- /** Per-line entries. Each carries an implicit `ok | warn | fail` status pill. */
659
- checks: DoctorCheck[];
660
- /**
661
- * Plain key/value rows that aren't checks (e.g. counts). Rendered
662
- * as a compact two-column list below the check rows when present.
663
- */
664
- info?: Array<{ label: string; value: string | number }>;
665
- /** Meta line shown beneath the title. */
666
- meta?: string;
667
- /** Optional custom body — bypasses the default check-list render. */
668
- children?: React.ReactNode;
669
- className?: string;
670
- };
671
-
672
- export type SearchResult = {
673
- type: string;
674
- score: number;
675
- item: Record<string, unknown>;
676
- };
677
-
678
- /**
679
- * One background-agent instance. Mirrors the JSON shape returned by
680
- * GET /api/background (src/server/routes/background.mjs). Status values:
681
- * - 'pending' — accepted by the runner, dispatch not yet started
682
- * - 'running' — actively executing in a tmux session
683
- * - 'done' — finished with success
684
- * - 'failed' — terminated with an error
685
- * - 'killed' — user-requested kill
686
- * - 'timed_out' — exceeded plugin stall/dispatch timeout
687
- */
688
- export type BgInstance = {
689
- instanceId: string;
690
- status?:
691
- | 'pending'
692
- | 'running'
693
- | 'paused'
694
- | 'done'
695
- | 'failed'
696
- | 'killed'
697
- | 'timed_out'
698
- | 'steered'
699
- | string;
700
- agent?: string;
701
- prompt?: string;
702
- startedAt?: number;
703
- completedAt?: number;
704
- currentStep?: string | null;
705
- /** v5.x — Progress percentage (0..100; -1 = indeterminate). */
706
- progress?: number;
707
- /** v5.x — Free-form progress message. */
708
- progressMessage?: string;
709
- toolCallCount?: number;
710
- tmuxSession?: string;
711
- tmuxActive?: boolean;
712
- sessionId?: string;
713
- error?: string;
714
- // Optional fields the activity timeline tracks — not required for this view.
715
- parentAgent?: string;
716
- parentInstanceId?: string;
717
- promptPreview?: string;
718
- resultPreview?: string;
719
- lastEventAt?: number;
720
- taskId?: string;
721
- // v5.x — extended dashboard surface
722
- /** PID of the cline run subprocess (for pause/resume/steer). */
723
- processId?: number;
724
- /** Free-form runner state from the cline-runner. */
725
- runnerState?: string;
726
- /** Tags from spawn. */
727
- tags?: string[];
728
- /** Epoch ms when the subprocess was paused. */
729
- pausedAt?: number;
730
- /** When the instance was steered. */
731
- steeredAt?: number;
732
- };
733
-
734
- /**
735
- * v5.x — Per-tool-call history entry, surfaced by the
736
- * `bizar_status` tool and the `/api/background/:id/tool-calls` endpoint.
737
- */
738
- export type BgToolCall = {
739
- id: string;
740
- name: string;
741
- args?: string;
742
- status: 'running' | 'ok' | 'error';
743
- startedAt: number;
744
- endedAt?: number;
745
- result?: string;
746
- error?: string;
747
- };
748
-
749
- export type BackgroundListResponse = {
750
- instances: BgInstance[];
751
- status: { dir: string; exists: boolean; count: number };
752
- };
753
-
754
- export type BackgroundOutputResponse = {
755
- /** Captured stdout/stderr text (tail). */
756
- output?: string;
757
- /** True when the underlying log file is gone (e.g. after cleanup). */
758
- available?: boolean;
759
- /** Total captured bytes — useful for the modal header. */
760
- bytes?: number;
761
- /** Truncation flag set by the server when output was capped. */
762
- truncated?: boolean;
763
- };
764
-
765
- export type BackgroundTmuxResponse = {
766
- /** Computed tmux session name (e.g. "bg-r2u9q8"). */
767
- session?: string;
768
- /** Local command the user can paste to attach. */
769
- attachCommand?: string;
770
- /** Whether the session exists in tmux right now. */
771
- exists?: boolean;
772
- /** Optional reason when exists === false. */
773
- reason?: string;
774
- };
775
-
776
- export type Snapshot = {
777
- overview: Overview;
778
- agents: Agent[];
779
- artifacts: Artifact[];
780
- projects: ProjectRecord[];
781
- activeProject: ProjectRecord | null;
782
- config: ConfigResponse;
783
- settings: SettingsResponse;
784
- tasks: Task[];
785
- mods: Mod[];
786
- schedules: Schedule[];
787
- providers: Provider[];
788
- mcps: McpServer[];
789
- };
790
-
791
- export type WsStatus = 'connecting' | 'connected' | 'disconnected';
792
-
793
- /**
794
- * F-035 (MetaHarness) — 3-tier model routing transparency.
795
- * Emitted by the SDK when a request is dispatched to a model or
796
- * short-circuited by a Tier-1 codemod intent (per ruflo's
797
- * `[CODEMOD_AVAILABLE]` / `[TASK_MODEL_RECOMMENDATION]` convention).
798
- */
799
- export type RoutingTier = 'CODEMOD' | 'TIER1' | 'TIER2' | 'TIER3';
800
-
801
- export type RoutingDecision = {
802
- id: string;
803
- ts: number;
804
- tier: RoutingTier;
805
- /** Model used when tier != CODEMOD. May be 'codemod:<intent>' otherwise. */
806
- model: string;
807
- /** Optional task or agent name for context. */
808
- task?: string;
809
- /** Optional cost estimate (USD) for non-codemod tiers. */
810
- costUsd?: number;
811
- /** Optional latency (ms) — populated post-call. */
812
- latencyMs?: number;
813
- /** Optional human-readable note (e.g. codemod intent description). */
814
- note?: string;
815
- };
816
-
817
- export type WsMessage =
818
- | { type: 'snapshot'; ts: number; data: Snapshot }
819
- | { type: 'change'; event: string; path: string; ts: number }
820
- | { type: 'tasks:change'; task: Task }
821
- | { type: 'tasks:delete'; id: string }
822
- | { type: 'task:progress'; taskId: string; progress?: number; step?: string | null; agent?: string | null }
823
- | { type: 'settings:change'; settings: Settings }
824
- | { type: 'agents:change' }
825
- | { type: 'background:change'; action?: string; id?: string; sessionId?: string }
826
- | { type: 'background:cleanup'; deleted?: number }
827
- | { type: 'agent:status'; agent: Agent }
828
- | { type: 'agent:restarted'; agent: Agent }
829
- | { type: 'agent:stuck'; agents: { name: string }[] }
830
- | { type: 'artifact:change'; slug: string; deleted?: boolean }
831
- | { type: 'schedules:change' }
832
- | { type: 'project:change'; project?: ProjectRecord }
833
- | { type: 'chat:message'; message: ChatMessage }
834
- | { type: 'notification:new'; notification: Notification }
835
- | { type: 'notifications:change' }
836
- | { type: 'dialog:show'; dialog: DialogDescriptor }
837
- | { type: 'routing:decision'; decision: RoutingDecision }
838
- | { type: 'pong'; ts: number }
839
- | { type: 'ping' }
840
- | { type: 'refresh' };
841
-
842
- /** Resolve a theme to the actual key applied to <html data-theme="..."> */
843
- export function applyTheme(themeName: ThemeName | ThemeSettings): 'dark' | 'light' {
844
- const mode = typeof themeName === 'string' ? themeName : themeName.mode;
845
- const resolved: 'dark' | 'light' =
846
- mode === 'system'
847
- ? typeof window !== 'undefined' &&
848
- window.matchMedia('(prefers-color-scheme: light)').matches
849
- ? 'light'
850
- : 'dark'
851
- : mode === 'light'
852
- ? 'light'
853
- : 'dark';
854
- if (typeof document !== 'undefined') {
855
- if (resolved === 'light') {
856
- document.documentElement.setAttribute('data-theme', 'light');
857
- } else {
858
- document.documentElement.removeAttribute('data-theme');
859
- }
860
- }
861
- return resolved;
862
- }
863
-
864
- /** Apply the full theme object — sets CSS variables. */
865
- export function applyThemeTokens(theme: ThemeSettings) {
866
- if (typeof document === 'undefined') return;
867
- const root = document.documentElement;
868
- root.style.setProperty('--accent', theme.accent);
869
- root.style.setProperty('--success', theme.success);
870
- root.style.setProperty('--warning', theme.warning);
871
- root.style.setProperty('--error', theme.error);
872
- root.style.setProperty('--info', theme.info);
873
- // Derive accent-bg/border lightly
874
- root.style.setProperty('--accent-bg', hexToRgba(theme.accent, 0.12));
875
- root.style.setProperty('--accent-border', hexToRgba(theme.accent, 0.4));
876
- if (theme.fontFamily) {
877
- root.style.setProperty('--font-sans', `'${theme.fontFamily}', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif`);
878
- }
879
- if (theme.fontSize) {
880
- root.style.setProperty('--base-font-size', `${theme.fontSize}px`);
881
- }
882
- root.dataset.compactMode = theme.compactMode ? 'true' : 'false';
883
- root.dataset.animations = theme.animations ? 'true' : 'false';
884
- }
885
-
886
- function hexToRgba(hex: string, alpha: number) {
887
- const m = /^#?([0-9a-f]{6})$/i.exec(hex || '');
888
- if (!m) return `rgba(139, 92, 246, ${alpha})`;
889
- const n = parseInt(m[1], 16);
890
- const r = (n >> 16) & 255;
891
- const g = (n >> 8) & 255;
892
- const b = n & 255;
893
- return `rgba(${r}, ${g}, ${b}, ${alpha})`;
894
- }