@polderlabs/bizar 10.4.2 → 10.4.3

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 (220) hide show
  1. package/bizar-dash/dist/assets/{ActivityFeed-DtRtg-JN.js → ActivityFeed-DC0JiK49.js} +1 -1
  2. package/bizar-dash/dist/assets/{ActivityFeed-DtRtg-JN.js.map → ActivityFeed-DC0JiK49.js.map} +1 -1
  3. package/bizar-dash/dist/assets/{ActivityView-CoTXDyU_.js → ActivityView-ubEDAWMY.js} +1 -1
  4. package/bizar-dash/dist/assets/{ActivityView-CoTXDyU_.js.map → ActivityView-ubEDAWMY.js.map} +1 -1
  5. package/bizar-dash/dist/assets/{AdminView-DNc5Ll7L.js → AdminView-CI4zM2Qg.js} +1 -1
  6. package/bizar-dash/dist/assets/{AdminView-DNc5Ll7L.js.map → AdminView-CI4zM2Qg.js.map} +1 -1
  7. package/bizar-dash/dist/assets/{AgentActivity-CrX7LmQ6.js → AgentActivity-BLcqqkt2.js} +1 -1
  8. package/bizar-dash/dist/assets/{AgentActivity-CrX7LmQ6.js.map → AgentActivity-BLcqqkt2.js.map} +1 -1
  9. package/bizar-dash/dist/assets/AgentsView-CIQkZH8_.js +15 -0
  10. package/bizar-dash/dist/assets/AgentsView-CIQkZH8_.js.map +1 -0
  11. package/bizar-dash/dist/assets/{Alert-B6DjfRFI.js → Alert-MwVEymjy.js} +1 -1
  12. package/bizar-dash/dist/assets/{Alert-B6DjfRFI.js.map → Alert-MwVEymjy.js.map} +1 -1
  13. package/bizar-dash/dist/assets/{ArtifactsView-znhN8GTR.js → ArtifactsView-B-YUwZyb.js} +1 -1
  14. package/bizar-dash/dist/assets/{ArtifactsView-znhN8GTR.js.map → ArtifactsView-B-YUwZyb.js.map} +1 -1
  15. package/bizar-dash/dist/assets/{AuthView-Rk8eKUPr.js → AuthView-LaQuGo4u.js} +1 -1
  16. package/bizar-dash/dist/assets/{AuthView-Rk8eKUPr.js.map → AuthView-LaQuGo4u.js.map} +1 -1
  17. package/bizar-dash/dist/assets/{Avatar-B41upSD1.js → Avatar-Dg4OF4RD.js} +1 -1
  18. package/bizar-dash/dist/assets/{Avatar-B41upSD1.js.map → Avatar-Dg4OF4RD.js.map} +1 -1
  19. package/bizar-dash/dist/assets/{BackgroundJobsView-BLWuN9qz.js → BackgroundJobsView-CO3DEG8R.js} +1 -1
  20. package/bizar-dash/dist/assets/{BackgroundJobsView-BLWuN9qz.js.map → BackgroundJobsView-CO3DEG8R.js.map} +1 -1
  21. package/bizar-dash/dist/assets/{BackupView-CqbtcnuQ.js → BackupView-Cjf23ZWc.js} +1 -1
  22. package/bizar-dash/dist/assets/{BackupView-CqbtcnuQ.js.map → BackupView-Cjf23ZWc.js.map} +1 -1
  23. package/bizar-dash/dist/assets/{Card-rF59wHiO.js → Card-BmXiT4c6.js} +1 -1
  24. package/bizar-dash/dist/assets/{Card-rF59wHiO.js.map → Card-BmXiT4c6.js.map} +1 -1
  25. package/bizar-dash/dist/assets/ChatView-DXKFwvgp.js +9 -0
  26. package/bizar-dash/dist/assets/ChatView-DXKFwvgp.js.map +1 -0
  27. package/bizar-dash/dist/assets/{Chip-Dc2KmeWl.js → Chip-Dei66BLx.js} +1 -1
  28. package/bizar-dash/dist/assets/{Chip-Dc2KmeWl.js.map → Chip-Dei66BLx.js.map} +1 -1
  29. package/bizar-dash/dist/assets/{ClaudeSessionsView-CiaHQdDZ.js → ClaudeSessionsView-D-YNmzKi.js} +1 -1
  30. package/bizar-dash/dist/assets/{ClaudeSessionsView-CiaHQdDZ.js.map → ClaudeSessionsView-D-YNmzKi.js.map} +1 -1
  31. package/bizar-dash/dist/assets/{ClipboardView-DdP6aVso.js → ClipboardView-BA323V2J.js} +1 -1
  32. package/bizar-dash/dist/assets/{ClipboardView-DdP6aVso.js.map → ClipboardView-BA323V2J.js.map} +1 -1
  33. package/bizar-dash/dist/assets/{ConfigView-B2ysnTZU.js → ConfigView-BMBgifw5.js} +1 -1
  34. package/bizar-dash/dist/assets/{ConfigView-B2ysnTZU.js.map → ConfigView-BMBgifw5.js.map} +1 -1
  35. package/bizar-dash/dist/assets/DiagnosticsView-C0sdqhEl.js +2 -0
  36. package/bizar-dash/dist/assets/DiagnosticsView-C0sdqhEl.js.map +1 -0
  37. package/bizar-dash/dist/assets/{DialogsView-BcqDDCZQ.js → DialogsView-DzTnyX8K.js} +1 -1
  38. package/bizar-dash/dist/assets/{DialogsView-BcqDDCZQ.js.map → DialogsView-DzTnyX8K.js.map} +1 -1
  39. package/bizar-dash/dist/assets/{DoctorView-BQwqvMAh.js → DoctorView-CiFwRMW0.js} +1 -1
  40. package/bizar-dash/dist/assets/{DoctorView-BQwqvMAh.js.map → DoctorView-CiFwRMW0.js.map} +1 -1
  41. package/bizar-dash/dist/assets/{EmptyState-D65J5FQN.js → EmptyState-CdDQmfEL.js} +1 -1
  42. package/bizar-dash/dist/assets/{EmptyState-D65J5FQN.js.map → EmptyState-CdDQmfEL.js.map} +1 -1
  43. package/bizar-dash/dist/assets/{EnvVarsView-DX-3oGH-.js → EnvVarsView-CNO03NDJ.js} +1 -1
  44. package/bizar-dash/dist/assets/{EnvVarsView-DX-3oGH-.js.map → EnvVarsView-CNO03NDJ.js.map} +1 -1
  45. package/bizar-dash/dist/assets/{ErrorState-DULZnttJ.js → ErrorState-BRvj8qZZ.js} +1 -1
  46. package/bizar-dash/dist/assets/{ErrorState-DULZnttJ.js.map → ErrorState-BRvj8qZZ.js.map} +1 -1
  47. package/bizar-dash/dist/assets/{EvalView-CpdFu_ID.js → EvalView-lgUhlGJh.js} +1 -1
  48. package/bizar-dash/dist/assets/{EvalView-CpdFu_ID.js.map → EvalView-lgUhlGJh.js.map} +1 -1
  49. package/bizar-dash/dist/assets/{GoalsView-Br8oPPfb.js → GoalsView-DmkCCs9i.js} +1 -1
  50. package/bizar-dash/dist/assets/{GoalsView-Br8oPPfb.js.map → GoalsView-DmkCCs9i.js.map} +1 -1
  51. package/bizar-dash/dist/assets/{Grid-BSXhsCPC.js → Grid-BThCPJaV.js} +1 -1
  52. package/bizar-dash/dist/assets/{Grid-BSXhsCPC.js.map → Grid-BThCPJaV.js.map} +1 -1
  53. package/bizar-dash/dist/assets/{HistoryView-D0J3aoZF.js → HistoryView-Cn2cPiHZ.js} +1 -1
  54. package/bizar-dash/dist/assets/{HistoryView-D0J3aoZF.js.map → HistoryView-Cn2cPiHZ.js.map} +1 -1
  55. package/bizar-dash/dist/assets/{Input-CZmRw5QX.js → Input-cAQOvR8U.js} +1 -1
  56. package/bizar-dash/dist/assets/{Input-CZmRw5QX.js.map → Input-cAQOvR8U.js.map} +1 -1
  57. package/bizar-dash/dist/assets/LibrariesView-Ca_PRjUm.js +6 -0
  58. package/bizar-dash/dist/assets/{LibrariesView-B1YX9wzp.js.map → LibrariesView-Ca_PRjUm.js.map} +1 -1
  59. package/bizar-dash/dist/assets/{LightRAGView-CykR0t9y.js → LightRAGView-CMk9wOae.js} +1 -1
  60. package/bizar-dash/dist/assets/{LightRAGView-CykR0t9y.js.map → LightRAGView-CMk9wOae.js.map} +1 -1
  61. package/bizar-dash/dist/assets/{ListHeader-Dpun-r36.js → ListHeader-BLAeshe0.js} +1 -1
  62. package/bizar-dash/dist/assets/{ListHeader-Dpun-r36.js.map → ListHeader-BLAeshe0.js.map} +1 -1
  63. package/bizar-dash/dist/assets/{MemoryView-BbER5ZKt.js → MemoryView-wo2Pu7xQ.js} +1 -1
  64. package/bizar-dash/dist/assets/{MemoryView-BbER5ZKt.js.map → MemoryView-wo2Pu7xQ.js.map} +1 -1
  65. package/bizar-dash/dist/assets/{MessageBubble-5vUAquDx.js → MessageBubble-CrCJ0SYG.js} +1 -1
  66. package/bizar-dash/dist/assets/{MessageBubble-5vUAquDx.js.map → MessageBubble-CrCJ0SYG.js.map} +1 -1
  67. package/bizar-dash/dist/assets/{MiscView-DLNEGdML.js → MiscView-fBT1TOXC.js} +1 -1
  68. package/bizar-dash/dist/assets/{MiscView-DLNEGdML.js.map → MiscView-fBT1TOXC.js.map} +1 -1
  69. package/bizar-dash/dist/assets/{ModsView-P7gDeNHM.js → ModsView-CV_RxdzJ.js} +1 -1
  70. package/bizar-dash/dist/assets/{ModsView-P7gDeNHM.js.map → ModsView-CV_RxdzJ.js.map} +1 -1
  71. package/bizar-dash/dist/assets/{NotificationsView-DAm2O0yf.js → NotificationsView-BKAZLxM2.js} +1 -1
  72. package/bizar-dash/dist/assets/{NotificationsView-DAm2O0yf.js.map → NotificationsView-BKAZLxM2.js.map} +1 -1
  73. package/bizar-dash/dist/assets/{ObsidianView-Ci80gnwS.js → ObsidianView-C-AvHfpT.js} +1 -1
  74. package/bizar-dash/dist/assets/{ObsidianView-Ci80gnwS.js.map → ObsidianView-C-AvHfpT.js.map} +1 -1
  75. package/bizar-dash/dist/assets/{OverviewView-rriw1GjA.js → OverviewView-CKYzZJe3.js} +1 -1
  76. package/bizar-dash/dist/assets/{OverviewView-rriw1GjA.js.map → OverviewView-CKYzZJe3.js.map} +1 -1
  77. package/bizar-dash/dist/assets/{ProgressBar-BahmeJhP.js → ProgressBar-ya2PCj8L.js} +1 -1
  78. package/bizar-dash/dist/assets/{ProgressBar-BahmeJhP.js.map → ProgressBar-ya2PCj8L.js.map} +1 -1
  79. package/bizar-dash/dist/assets/ProjectsView-N9zqFZ_O.js +11 -0
  80. package/bizar-dash/dist/assets/ProjectsView-N9zqFZ_O.js.map +1 -0
  81. package/bizar-dash/dist/assets/{ProvidersView-BftGn8Cr.js → ProvidersView-BcL8jjwK.js} +1 -1
  82. package/bizar-dash/dist/assets/{ProvidersView-BftGn8Cr.js.map → ProvidersView-BcL8jjwK.js.map} +1 -1
  83. package/bizar-dash/dist/assets/{SchedulesView-CtNxtzN6.js → SchedulesView-8qxH3bg7.js} +1 -1
  84. package/bizar-dash/dist/assets/{SchedulesView-CtNxtzN6.js.map → SchedulesView-8qxH3bg7.js.map} +1 -1
  85. package/bizar-dash/dist/assets/{Select-0VcfTDeL.js → Select-D5AuVxxV.js} +1 -1
  86. package/bizar-dash/dist/assets/{Select-0VcfTDeL.js.map → Select-D5AuVxxV.js.map} +1 -1
  87. package/bizar-dash/dist/assets/{SettingsRow-BLic3DQl.js → SettingsRow-BBALf9dA.js} +1 -1
  88. package/bizar-dash/dist/assets/{SettingsRow-BLic3DQl.js.map → SettingsRow-BBALf9dA.js.map} +1 -1
  89. package/bizar-dash/dist/assets/{SettingsView-BjS3i4nr.js → SettingsView-UD403neY.js} +1 -1
  90. package/bizar-dash/dist/assets/{SettingsView-BjS3i4nr.js.map → SettingsView-UD403neY.js.map} +1 -1
  91. package/bizar-dash/dist/assets/{Sheet-BOProMs2.js → Sheet-CxXf6gvC.js} +1 -1
  92. package/bizar-dash/dist/assets/{Sheet-BOProMs2.js.map → Sheet-CxXf6gvC.js.map} +1 -1
  93. package/bizar-dash/dist/assets/{Slider-B0eLEEUt.js → Slider-hvaVD_SW.js} +1 -1
  94. package/bizar-dash/dist/assets/{Slider-B0eLEEUt.js.map → Slider-hvaVD_SW.js.map} +1 -1
  95. package/bizar-dash/dist/assets/{Sparkline-SSrdgyW0.js → Sparkline-DqmQzdJH.js} +1 -1
  96. package/bizar-dash/dist/assets/{Sparkline-SSrdgyW0.js.map → Sparkline-DqmQzdJH.js.map} +1 -1
  97. package/bizar-dash/dist/assets/{Switch-B3EQzb_q.js → Switch-C-_zcNdl.js} +1 -1
  98. package/bizar-dash/dist/assets/{Switch-B3EQzb_q.js.map → Switch-C-_zcNdl.js.map} +1 -1
  99. package/bizar-dash/dist/assets/{TasksView-SWjF_ZUQ.js → TasksView-DseftDlx.js} +1 -1
  100. package/bizar-dash/dist/assets/{TasksView-SWjF_ZUQ.js.map → TasksView-DseftDlx.js.map} +1 -1
  101. package/bizar-dash/dist/assets/{Textarea-QuofpMlq.js → Textarea-CcQGSgSH.js} +1 -1
  102. package/bizar-dash/dist/assets/{Textarea-QuofpMlq.js.map → Textarea-CcQGSgSH.js.map} +1 -1
  103. package/bizar-dash/dist/assets/{UpdateView-CEHW2nd6.js → UpdateView-B9Lh4svM.js} +1 -1
  104. package/bizar-dash/dist/assets/{UpdateView-CEHW2nd6.js.map → UpdateView-B9Lh4svM.js.map} +1 -1
  105. package/bizar-dash/dist/assets/{UsageView-BqOw6FBg.js → UsageView-P5_pQ68d.js} +1 -1
  106. package/bizar-dash/dist/assets/{UsageView-BqOw6FBg.js.map → UsageView-P5_pQ68d.js.map} +1 -1
  107. package/bizar-dash/dist/assets/{ViewHeader-B6P-C4GD.js → ViewHeader-BaCWNuVX.js} +1 -1
  108. package/bizar-dash/dist/assets/{ViewHeader-B6P-C4GD.js.map → ViewHeader-BaCWNuVX.js.map} +1 -1
  109. package/bizar-dash/dist/assets/{VoiceView-CwrPwWgi.js → VoiceView-BwR9gm5e.js} +1 -1
  110. package/bizar-dash/dist/assets/{VoiceView-CwrPwWgi.js.map → VoiceView-BwR9gm5e.js.map} +1 -1
  111. package/bizar-dash/dist/assets/{brain-CwZt9Kta.js → brain-D6tAeUDE.js} +1 -1
  112. package/bizar-dash/dist/assets/{brain-CwZt9Kta.js.map → brain-D6tAeUDE.js.map} +1 -1
  113. package/bizar-dash/dist/assets/{calendar-C5oK0_nM.js → calendar-BrMJf3vl.js} +1 -1
  114. package/bizar-dash/dist/assets/{calendar-C5oK0_nM.js.map → calendar-BrMJf3vl.js.map} +1 -1
  115. package/bizar-dash/dist/assets/{circle-alert-HdHe7m8K.js → circle-alert-D7jn06kH.js} +1 -1
  116. package/bizar-dash/dist/assets/{circle-alert-HdHe7m8K.js.map → circle-alert-D7jn06kH.js.map} +1 -1
  117. package/bizar-dash/dist/assets/{circle-check-Cs-xoV7R.js → circle-check-DHs37Sot.js} +1 -1
  118. package/bizar-dash/dist/assets/{circle-check-Cs-xoV7R.js.map → circle-check-DHs37Sot.js.map} +1 -1
  119. package/bizar-dash/dist/assets/{circle-D1Lc_P2a.js → circle-fPTATiOs.js} +1 -1
  120. package/bizar-dash/dist/assets/{circle-D1Lc_P2a.js.map → circle-fPTATiOs.js.map} +1 -1
  121. package/bizar-dash/dist/assets/{clock-DEIuPV60.js → clock-E-G5aGua.js} +1 -1
  122. package/bizar-dash/dist/assets/{clock-DEIuPV60.js.map → clock-E-G5aGua.js.map} +1 -1
  123. package/bizar-dash/dist/assets/{cmdk-DVxytz9i.js → cmdk-C3F6LD6N.js} +5 -5
  124. package/bizar-dash/dist/assets/{cmdk-DVxytz9i.js.map → cmdk-C3F6LD6N.js.map} +1 -1
  125. package/bizar-dash/dist/assets/{dnd-kit-DrHErSkw.js → dnd-kit-BAOLODOI.js} +1 -1
  126. package/bizar-dash/dist/assets/{dnd-kit-DrHErSkw.js.map → dnd-kit-BAOLODOI.js.map} +1 -1
  127. package/bizar-dash/dist/assets/{download-Clkq90Ct.js → download-DBkNb6oI.js} +1 -1
  128. package/bizar-dash/dist/assets/{download-Clkq90Ct.js.map → download-DBkNb6oI.js.map} +1 -1
  129. package/bizar-dash/dist/assets/{external-link-D5tq2o_I.js → external-link-C4pHGbz2.js} +1 -1
  130. package/bizar-dash/dist/assets/{external-link-D5tq2o_I.js.map → external-link-C4pHGbz2.js.map} +1 -1
  131. package/bizar-dash/dist/assets/{file-text-CQ12t7Oc.js → file-text-CEhDgLq2.js} +1 -1
  132. package/bizar-dash/dist/assets/{file-text-CQ12t7Oc.js.map → file-text-CEhDgLq2.js.map} +1 -1
  133. package/bizar-dash/dist/assets/{filter-BcbE37wP.js → filter-CEYjeWFX.js} +1 -1
  134. package/bizar-dash/dist/assets/{filter-BcbE37wP.js.map → filter-CEYjeWFX.js.map} +1 -1
  135. package/bizar-dash/dist/assets/{git-pull-request-D1qNDRia.js → git-pull-request-Bo_wBZZw.js} +1 -1
  136. package/bizar-dash/dist/assets/{git-pull-request-D1qNDRia.js.map → git-pull-request-Bo_wBZZw.js.map} +1 -1
  137. package/bizar-dash/dist/assets/{index-CASP1n-5.js → index-B1OIS316.js} +1 -1
  138. package/bizar-dash/dist/assets/{index-CASP1n-5.js.map → index-B1OIS316.js.map} +1 -1
  139. package/bizar-dash/dist/assets/{index-C4Vq_2LM.js → index-CR0TeJmc.js} +1 -1
  140. package/bizar-dash/dist/assets/{index-C4Vq_2LM.js.map → index-CR0TeJmc.js.map} +1 -1
  141. package/bizar-dash/dist/assets/main-BZMmD6a8.js +249 -0
  142. package/bizar-dash/dist/assets/main-BZMmD6a8.js.map +1 -0
  143. package/bizar-dash/dist/assets/{main-CcQfRfIJ.css → main-DDAMz_H5.css} +1 -1
  144. package/bizar-dash/dist/assets/{network-DJdvVaHx.js → network-BsfwrUA-.js} +1 -1
  145. package/bizar-dash/dist/assets/{network-DJdvVaHx.js.map → network-BsfwrUA-.js.map} +1 -1
  146. package/bizar-dash/dist/assets/{pause-DUn9L5PB.js → pause-C8PN1_yO.js} +1 -1
  147. package/bizar-dash/dist/assets/{pause-DUn9L5PB.js.map → pause-C8PN1_yO.js.map} +1 -1
  148. package/bizar-dash/dist/assets/{pencil-DVrBlYV3.js → pencil---XuvKlz.js} +1 -1
  149. package/bizar-dash/dist/assets/{pencil-DVrBlYV3.js.map → pencil---XuvKlz.js.map} +1 -1
  150. package/bizar-dash/dist/assets/{play-CZjsr3XM.js → play-fMLPTihK.js} +1 -1
  151. package/bizar-dash/dist/assets/{play-CZjsr3XM.js.map → play-fMLPTihK.js.map} +1 -1
  152. package/bizar-dash/dist/assets/{plug-BKuyIe5W.js → plug-CG8al2Kq.js} +1 -1
  153. package/bizar-dash/dist/assets/{plug-BKuyIe5W.js.map → plug-CG8al2Kq.js.map} +1 -1
  154. package/bizar-dash/dist/assets/{plus-77h62zZm.js → plus-uA5Ecuch.js} +1 -1
  155. package/bizar-dash/dist/assets/{plus-77h62zZm.js.map → plus-uA5Ecuch.js.map} +1 -1
  156. package/bizar-dash/dist/assets/{power-DLmx-gCP.js → power-DSUlNIuR.js} +1 -1
  157. package/bizar-dash/dist/assets/{power-DLmx-gCP.js.map → power-DSUlNIuR.js.map} +1 -1
  158. package/bizar-dash/dist/assets/{power-off-BFKzHXic.js → power-off-1CAQsHHy.js} +1 -1
  159. package/bizar-dash/dist/assets/{power-off-BFKzHXic.js.map → power-off-1CAQsHHy.js.map} +1 -1
  160. package/bizar-dash/dist/assets/{refresh-ccw-DenGBOcq.js → refresh-ccw-BL7B0NO1.js} +1 -1
  161. package/bizar-dash/dist/assets/{refresh-ccw-DenGBOcq.js.map → refresh-ccw-BL7B0NO1.js.map} +1 -1
  162. package/bizar-dash/dist/assets/{refresh-cw-ENBVR8hW.js → refresh-cw-CR9BzJik.js} +1 -1
  163. package/bizar-dash/dist/assets/{refresh-cw-ENBVR8hW.js.map → refresh-cw-CR9BzJik.js.map} +1 -1
  164. package/bizar-dash/dist/assets/{rotate-ccw-MxryaY7q.js → rotate-ccw-BtnitLfb.js} +1 -1
  165. package/bizar-dash/dist/assets/{rotate-ccw-MxryaY7q.js.map → rotate-ccw-BtnitLfb.js.map} +1 -1
  166. package/bizar-dash/dist/assets/{rotate-cw-CDOlRtUR.js → rotate-cw-CHgXCO7O.js} +1 -1
  167. package/bizar-dash/dist/assets/{rotate-cw-CDOlRtUR.js.map → rotate-cw-CHgXCO7O.js.map} +1 -1
  168. package/bizar-dash/dist/assets/{save-Db1b-1Uq.js → save-RcZOXR0U.js} +1 -1
  169. package/bizar-dash/dist/assets/{save-Db1b-1Uq.js.map → save-RcZOXR0U.js.map} +1 -1
  170. package/bizar-dash/dist/assets/{send-yz6HFZM5.js → send-Bg2X_ibk.js} +1 -1
  171. package/bizar-dash/dist/assets/{send-yz6HFZM5.js.map → send-Bg2X_ibk.js.map} +1 -1
  172. package/bizar-dash/dist/assets/{shield-alert-DY6RAaC8.js → shield-alert-Dm48D034.js} +1 -1
  173. package/bizar-dash/dist/assets/{shield-alert-DY6RAaC8.js.map → shield-alert-Dm48D034.js.map} +1 -1
  174. package/bizar-dash/dist/assets/{trash-2-Cv7U38jw.js → trash-2-B885GY46.js} +1 -1
  175. package/bizar-dash/dist/assets/{trash-2-Cv7U38jw.js.map → trash-2-B885GY46.js.map} +1 -1
  176. package/bizar-dash/dist/assets/{trending-up-CRPNagyX.js → trending-up-CqUBvVxw.js} +1 -1
  177. package/bizar-dash/dist/assets/{trending-up-CRPNagyX.js.map → trending-up-CqUBvVxw.js.map} +1 -1
  178. package/bizar-dash/dist/assets/{triangle-alert-tUTXbcEP.js → triangle-alert-DLmUhymD.js} +1 -1
  179. package/bizar-dash/dist/assets/{triangle-alert-tUTXbcEP.js.map → triangle-alert-DLmUhymD.js.map} +1 -1
  180. package/bizar-dash/dist/assets/{upload-Cq7uTsrT.js → upload-C-oafpyE.js} +1 -1
  181. package/bizar-dash/dist/assets/{upload-Cq7uTsrT.js.map → upload-C-oafpyE.js.map} +1 -1
  182. package/bizar-dash/dist/assets/{zap-5lAQBAPX.js → zap-O_4Ys_hh.js} +1 -1
  183. package/bizar-dash/dist/assets/{zap-5lAQBAPX.js.map → zap-O_4Ys_hh.js.map} +1 -1
  184. package/bizar-dash/dist/index.html +3 -3
  185. package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  186. package/bizar-dash/src/web/v8/App.tsx +62 -2
  187. package/bizar-dash/src/web/v8/__tests__/chat-view.test.tsx +4 -4
  188. package/bizar-dash/src/web/v8/shell/AppShell.tsx +38 -2
  189. package/bizar-dash/src/web/v8/shell/Sidebar.tsx +44 -33
  190. package/bizar-dash/src/web/v8/shell/Topbar.tsx +5 -2
  191. package/bizar-dash/src/web/v8/ui/styles/globals.css +26 -0
  192. package/bizar-dash/src/web/v8/views/Agents/AgentsView.tsx +26 -1
  193. package/bizar-dash/src/web/v8/views/Chat/ChatView.tsx +13 -1
  194. package/bizar-dash/src/web/v8/views/ClaudeSessions/NewSessionModal.tsx +136 -0
  195. package/bizar-dash/src/web/v8/views/CommandPalette/AppCommandPalette.tsx +14 -4
  196. package/bizar-dash/src/web/v8/views/Diagnostics/DiagnosticsView.tsx +50 -7
  197. package/bizar-dash/src/web/v8/views/Libraries/LibrariesView.tsx +6 -1
  198. package/bizar-dash/src/web/v8/views/Projects/ProjectsView.tsx +21 -1
  199. package/bizar-dash/tests/admin-labels.test.mjs +42 -0
  200. package/bizar-dash/tests/agents-summary-sanitize.test.ts +51 -0
  201. package/bizar-dash/tests/chat-new-session.test.mjs +63 -0
  202. package/bizar-dash/tests/kanban-empty-column.test.mjs +56 -0
  203. package/bizar-dash/tests/library-dedupe.test.mjs +62 -0
  204. package/bizar-dash/tests/projects-filter.test.mjs +48 -0
  205. package/bizar-dash/tests/settings-labels.test.mjs +80 -0
  206. package/bizar-dash/tests/sidebar-responsive.test.tsx +48 -0
  207. package/bizar-dash/tests/sidebar-section-toggle.test.tsx +63 -0
  208. package/package.json +1 -1
  209. package/packages/sdk/package.json +1 -1
  210. package/bizar-dash/dist/assets/AgentsView-Du-G_skK.js +0 -13
  211. package/bizar-dash/dist/assets/AgentsView-Du-G_skK.js.map +0 -1
  212. package/bizar-dash/dist/assets/ChatView-CUriVEgU.js +0 -9
  213. package/bizar-dash/dist/assets/ChatView-CUriVEgU.js.map +0 -1
  214. package/bizar-dash/dist/assets/DiagnosticsView-88OZ5k0f.js +0 -2
  215. package/bizar-dash/dist/assets/DiagnosticsView-88OZ5k0f.js.map +0 -1
  216. package/bizar-dash/dist/assets/LibrariesView-B1YX9wzp.js +0 -6
  217. package/bizar-dash/dist/assets/ProjectsView-ChzM12bs.js +0 -11
  218. package/bizar-dash/dist/assets/ProjectsView-ChzM12bs.js.map +0 -1
  219. package/bizar-dash/dist/assets/main-Cxeu4LhG.js +0 -244
  220. package/bizar-dash/dist/assets/main-Cxeu4LhG.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"DiagnosticsView-88OZ5k0f.js","sources":["../../src/web/v8/views/Diagnostics/DiagnosticsView.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { Activity, RefreshCw, FileText } from 'lucide-react';\nimport { Stack } from '../../ui/primitives/Stack.js';\nimport { Inline } from '../../ui/primitives/Inline.js';\nimport { Grid } from '../../ui/primitives/Grid.js';\nimport { ViewHeader } from '../../ui/data/ViewHeader.js';\nimport { Card, CardBody } from '../../ui/data/Card.js';\nimport { Badge } from '../../ui/data/Badge.js';\nimport { Button } from '../../ui/controls/Button.js';\nimport { Skeleton } from '../../ui/feedback/Skeleton.js';\nimport { useFetch } from '../../data/useFetch.js';\n\n/**\n * DiagnosticsView — Sprint S35. System snapshot + active log tail.\n */\n\ninterface DiagnosticsHealth {\n status: string;\n checks?: Array<{ name: string; status: string; message?: string }>;\n}\n\ninterface DiagnosticsSnapshot {\n health?: DiagnosticsHealth;\n uptime?: number;\n version?: string;\n memory?: { used?: number; total?: number };\n checks?: Array<{ name: string; status: string; message?: string }>;\n}\n\ninterface LogsResponse {\n lines: string[];\n file: string | null;\n total: number;\n}\n\nfunction fmtUptime(secs: number | undefined): string {\n if (!secs || secs <= 0) return '—';\n const days = Math.floor(secs / 86400);\n const hours = Math.floor((secs % 86400) / 3600);\n const mins = Math.floor((secs % 3600) / 60);\n if (days > 0) return `${days}d ${hours}h`;\n if (hours > 0) return `${hours}h ${mins}m`;\n return `${mins}m`;\n}\n\nexport function DiagnosticsView(): JSX.Element {\n const snap = useFetch<DiagnosticsSnapshot>('/api/diagnostics');\n const logs = useFetch<LogsResponse>('/api/diagnostics/logs?tail=200');\n\n // Auto-refresh logs every 10s while page is open.\n useEffect(() => {\n const id = setInterval(() => { void logs.refetch(); }, 10_000);\n return () => clearInterval(id);\n }, [logs]);\n\n const health = snap.data?.health;\n const uptime = snap.data?.uptime;\n const checks = snap.data?.checks ?? [];\n const lines = logs.data?.lines ?? [];\n const logFile = logs.data?.file ?? null;\n\n return (\n <Stack gap={5} data-testid=\"diagnostics-view\">\n <ViewHeader\n title=\"Diagnostics\"\n description=\"Live system snapshot + active log tail. Auto-refresh every 10s.\"\n actions={\n <Button variant=\"ghost\" onClick={() => { void snap.refetch(); void logs.refetch(); }} data-testid=\"diagnostics-refresh\">\n <RefreshCw size={14} aria-hidden /> Refresh\n </Button>\n }\n />\n\n <Grid cols={3}>\n <Card variant=\"default\">\n <CardBody>\n <Stack gap={1}>\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>Status</span>\n <Inline align=\"center\" gap={2}>\n <Activity size={14} aria-hidden />\n <strong style={{ fontFamily: 'var(--font-mono)' }}>{snap.loading ? '…' : health?.status ?? 'unknown'}</strong>\n </Inline>\n </Stack>\n </CardBody>\n </Card>\n <Card variant=\"default\">\n <CardBody>\n <Stack gap={1}>\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>Uptime</span>\n <strong style={{ fontFamily: 'var(--font-mono)' }}>{fmtUptime(uptime)}</strong>\n </Stack>\n </CardBody>\n </Card>\n <Card variant=\"default\">\n <CardBody>\n <Stack gap={1}>\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>Version</span>\n <strong style={{ fontFamily: 'var(--font-mono)' }}>{snap.data?.version ?? '—'}</strong>\n </Stack>\n </CardBody>\n </Card>\n </Grid>\n\n {checks.length > 0 && (\n <Card variant=\"default\">\n <CardBody>\n <Stack gap={2}>\n <strong>Checks ({checks.length})</strong>\n <Inline gap={1} wrap={true}>\n {checks.map((c) => (\n <Badge key={c.name} tone={c.status === 'ok' ? 'success' : c.status === 'warn' ? 'warning' : 'danger'}>\n {c.name}\n </Badge>\n ))}\n </Inline>\n </Stack>\n </CardBody>\n </Card>\n )}\n\n <Card variant=\"default\">\n <CardBody>\n <Stack gap={2}>\n <Inline align=\"center\" justify=\"between\">\n <Inline align=\"center\" gap={2}>\n <FileText size={14} aria-hidden />\n <strong>Log tail</strong>\n {logFile && <code style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)', fontFamily: 'var(--font-mono)' }}>{logFile}</code>}\n </Inline>\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>{lines.length} / {logs.data?.total ?? 0} lines</span>\n </Inline>\n {logs.loading && lines.length === 0 ? (\n <Skeleton style={{ height: 240 }} />\n ) : lines.length === 0 ? (\n <span style={{ color: 'var(--fg-muted)', fontSize: 'var(--fs-12)' }}>No log lines yet.</span>\n ) : (\n <pre\n data-testid=\"diagnostics-log-tail\"\n style={{\n maxHeight: 320,\n overflowY: 'auto',\n padding: 'var(--space-3)',\n background: 'var(--surface-1)',\n borderRadius: 'var(--radius-sm)',\n fontSize: 'var(--fs-12)',\n fontFamily: 'var(--font-mono)',\n margin: 0,\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-all',\n }}\n >\n {lines.join('\\n')}\n </pre>\n )}\n </Stack>\n </CardBody>\n </Card>\n </Stack>\n );\n}"],"names":["fmtUptime","secs","days","hours","mins","DiagnosticsView","snap","useFetch","logs","useEffect","id","health","_a","uptime","_b","checks","_c","lines","_d","logFile","_e","jsxs","Stack","jsx","ViewHeader","Button","RefreshCw","Grid","Card","CardBody","Inline","Activity","_f","c","Badge","FileText","_g","Skeleton"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import{j as e,r as m}from"./cmdk-DVxytz9i.js";import{B as v,g,u as f,a as x,S as b,h as k}from"./main-Cxeu4LhG.js";import{C as y,V as j}from"./ViewHeader-B6P-C4GD.js";import"./Grid-BSXhsCPC.js";import"./AgentActivity-CrX7LmQ6.js";import"./Input-CZmRw5QX.js";import"./Textarea-QuofpMlq.js";import"./Switch-B3EQzb_q.js";import"./Select-0VcfTDeL.js";import"./Slider-B0eLEEUt.js";import"./Alert-B6DjfRFI.js";import"./Avatar-B41upSD1.js";import{E as S}from"./EmptyState-D65J5FQN.js";import"./Sheet-BOProMs2.js";import"./Card-rF59wHiO.js";import"./Chip-Dc2KmeWl.js";import"./ActivityFeed-DtRtg-JN.js";import"./Sparkline-SSrdgyW0.js";import"./ProgressBar-BahmeJhP.js";import{P as E}from"./power-DLmx-gCP.js";import"./SettingsRow-BLic3DQl.js";import"./MessageBubble-5vUAquDx.js";import{E as T}from"./ErrorState-DULZnttJ.js";import"./dnd-kit-DrHErSkw.js";import"./plus-77h62zZm.js";import"./calendar-C5oK0_nM.js";import"./index-CASP1n-5.js";import"./index-C4Vq_2LM.js";import"./circle-alert-HdHe7m8K.js";import"./triangle-alert-tUTXbcEP.js";import"./circle-check-Cs-xoV7R.js";import"./trending-up-CRPNagyX.js";import"./refresh-ccw-DenGBOcq.js";const C={enabled:"Enabled",disabled:"Disabled",error:"Error"},N={enabled:"success",disabled:"neutral",error:"danger"};function I(s){const{name:t,slug:i,status:r,description:o,meta:l,actions:p,onOpen:c,className:n}=s;return e.jsxs("button",{type:"button",onClick:c,className:g("v8-library-item",`v8-library-item--${r}`,n),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:c!==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:[e.jsx("span",{"aria-hidden":"true",style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:28,height:28,marginTop:2,borderRadius:"var(--radius-sm)",background:r==="enabled"?"color-mix(in oklch, var(--success) 14%, transparent)":r==="error"?"color-mix(in oklch, var(--danger) 14%, transparent)":"var(--surface-2)",color:r==="enabled"?"var(--success)":r==="error"?"var(--danger)":"var(--fg-muted)",flexShrink:0},children:e.jsx(E,{size:14,"aria-hidden":"true"})}),e.jsxs("div",{style:{flex:1,minWidth:0},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)"},children:[e.jsx("span",{style:{fontSize:"var(--fs-13)",fontWeight:600,color:"var(--fg)",lineHeight:"var(--lh-snug)"},children:t}),e.jsx("code",{style:{fontSize:"var(--fs-12)",color:"var(--fg-subtle)",fontFamily:"var(--font-mono, ui-monospace, monospace)"},children:i})]}),o!==void 0&&e.jsx("div",{style:{fontSize:"var(--fs-12)",color:"var(--fg-muted)",marginTop:2,display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"},children:o}),e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--space-2)",marginTop:6},children:[l!==void 0?e.jsx("span",{style:{fontSize:"var(--fs-12)",color:"var(--fg-subtle)"},children:l}):e.jsx("span",{}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--space-2)"},children:[e.jsx(v,{tone:N[r],size:"sm",children:C[r]}),p,e.jsx(y,{size:14,"aria-hidden":"true",style:{color:"var(--fg-subtle)"}})]})]})]}),e.jsx("style",{children:`
2
- .v8-library-item:hover {
3
- border-color: var(--accent);
4
- background: var(--surface-2);
5
- }
6
- `})]})}function L(s){const{children:t,className:i}=s;return e.jsx("div",{className:g("v8-library-grid",i),style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(min(100%, 320px), 1fr))",gap:"var(--space-3)"},children:t})}const d={skills:"Skills",mcps:"MCPs",hooks:"Hooks"},w={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)."},z={skills:"/api/skills",mcps:"/api/skills?kind=mcps",hooks:"/api/skills?kind=hooks"},A={skills:["skills:change","agents:change"],mcps:["mcps:change","agents:change"],hooks:["hooks:change","agents:change"]},P=["skills:change","mcps:change","hooks:change","agents:change"];function B(s){const t=s.status==="enabled"||s.status==="disabled"||s.status==="error"?s.status:"disabled";return{id:s.id,name:s.name,slug:s.slug??s.id,status:t,description:s.description,meta:s.meta}}function ue(s){var h,u;const{kind:t}=s,i=z[t],r=f(i),[o,l]=m.useState(0),p=A[t],c=m.useCallback(()=>l(a=>a+1),[]);for(const a of P)x(a,p.includes(a)?c:()=>{});m.useEffect(()=>{o>0&&r.refetch()},[o,r]);const n=(((h=r.data)==null?void 0:h.skills)||((u=r.data)==null?void 0:u.items)||[]).map(B);return e.jsxs(b,{gap:5,"data-testid":`${t}-view`,children:[e.jsx(j,{title:d[t],description:w[t]}),r.loading?e.jsx(k,{style:{height:240}}):r.error&&n.length===0?e.jsx(T,{block:!0,title:`Couldn't load ${d[t].toLowerCase()}`,description:"The library endpoint failed. Retry to refetch.",error:r.error,onRetry:()=>void r.refetch(),testid:`libraries-${t}-error`}):n.length===0?e.jsx(S,{icon:e.jsx("span",{children:"📚"}),title:`No ${d[t].toLowerCase()} installed`,description:`${d[t]} appear here as soon as they are registered.`}):e.jsx(L,{children:n.map(a=>e.jsx(I,{...a},a.id))})]})}export{ue as LibrariesView};
@@ -1,11 +0,0 @@
1
- import{r as n,j as e}from"./cmdk-DVxytz9i.js";import{c as P,u as B,a as L,S as d,I as o,d as r,w as N,h as w,B as V,i as l,F as h}from"./main-Cxeu4LhG.js";import{V as q}from"./ViewHeader-B6P-C4GD.js";import{L as H}from"./ListHeader-Dpun-r36.js";import{C as W,b as J}from"./Card-rF59wHiO.js";import{I as b}from"./Input-CZmRw5QX.js";import{S as Z,a as G,b as K}from"./Sheet-BOProMs2.js";import{E as Q}from"./EmptyState-D65J5FQN.js";import{R as U}from"./refresh-ccw-DenGBOcq.js";import{T as X}from"./trash-2-Cv7U38jw.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 z=P("FolderPlus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/**
7
- * @license lucide-react v0.460.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */const Y=P("ScanSearch",[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["path",{d:"m16 16-1.9-1.9",key:"1dq9hf"}]]);function de(){var k,C;const p=B("/api/projects"),[A,j]=n.useState(!1),[m,v]=n.useState(""),[g,x]=n.useState(""),[f,y]=n.useState(!1),[S,s]=n.useState(null),[R,u]=n.useState(null),c=((k=p.data)==null?void 0:k.projects)??[],E=((C=c.find(t=>t.active))==null?void 0:C.id)??null,i=n.useCallback(()=>{p.refetch()},[p]);L("project:change",i);const M=async()=>{const t=m.trim();if(!(!t||f)){y(!0),s(null);try{await l("/api/projects",{method:"POST",body:{path:t,name:g.trim()||null}}),v(""),x(""),j(!1),i()}catch(a){s((a instanceof h,a.message))}finally{y(!1)}}},D=async t=>{s(null);try{await l(`/api/projects/${t}/activate`,{method:"POST",body:{}}),i()}catch(a){s((a instanceof h,a.message))}},I=async t=>{s(null);try{await l(`/api/projects/${t}`,{method:"DELETE"}),u(null),i()}catch(a){s((a instanceof h,a.message))}},T=async()=>{s(null);try{await l("/api/projects/auto-detect",{method:"POST",body:{}}),i()}catch(t){s((t instanceof h,t.message))}},$=async()=>{s(null);try{await l("/api/projects/scan",{method:"POST",body:{}}),i()}catch(t){s((t instanceof h,t.message))}};return e.jsxs(d,{gap:4,"data-testid":"projects-view",children:[e.jsx(q,{title:"Projects",description:"Registered project roots. One is active at a time — every active-project endpoint scopes to it.",actions:e.jsxs(o,{align:"center",gap:2,children:[S!==null&&e.jsx("span",{role:"alert","data-testid":"projects-error",style:{color:"var(--danger)",fontSize:"var(--fs-12)"},children:S}),e.jsxs(r,{variant:"ghost",onClick:()=>void $(),"data-testid":"projects-scan",children:[e.jsx(Y,{size:14,"aria-hidden":!0})," Scan configured dir"]}),e.jsxs(r,{variant:"ghost",onClick:()=>void T(),"data-testid":"projects-auto-detect",children:[e.jsx(N,{size:14,"aria-hidden":!0})," Auto-detect cwd"]}),e.jsxs(r,{variant:"ghost",onClick:()=>void i(),"data-testid":"projects-refresh",children:[e.jsx(U,{size:14,"aria-hidden":!0})," Refresh"]}),e.jsxs(r,{variant:"primary",onClick:()=>j(!0),"data-testid":"projects-add",children:[e.jsx(z,{size:14,"aria-hidden":!0})," Add project"]})]})}),e.jsx(H,{title:"Registered",count:c.length,testid:"projects-list-header"}),e.jsx(W,{variant:"default",children:e.jsx(J,{children:p.loading&&c.length===0?e.jsxs(d,{gap:2,children:[e.jsx(w,{style:{height:36}}),e.jsx(w,{style:{height:36}})]}):c.length===0?e.jsx(Q,{icon:e.jsx(z,{size:28,"aria-hidden":!0}),title:"No projects yet",description:"Add a path, auto-detect the server cwd, or scan the configured projects directory."}):e.jsx(d,{gap:2,children:c.map(t=>{const a=t.id===E,F=R===t.id;return e.jsxs("div",{"data-testid":`project-row-${t.id}`,style:{padding:"var(--space-3)",borderRadius:"var(--radius-md)",border:a?"1px solid var(--accent)":"1px solid var(--border)",background:a?"color-mix(in oklch, var(--accent) 12%, transparent)":"var(--surface-0)"},children:[e.jsxs(o,{align:"center",justify:"between",gap:3,children:[e.jsxs(d,{gap:1,style:{minWidth:0},children:[e.jsxs(o,{align:"center",gap:2,children:[e.jsx("strong",{style:{fontSize:"var(--fs-13)"},children:t.name||t.path.split("/").pop()||t.id}),a&&e.jsx(V,{tone:"success",children:"Active"})]}),e.jsx("span",{style:{fontFamily:"var(--font-mono)",fontSize:"var(--fs-12)",color:"var(--fg-muted)",overflowWrap:"anywhere"},children:t.path})]}),e.jsxs(o,{gap:1,children:[!a&&e.jsx(r,{variant:"primary",onClick:()=>void D(t.id),"data-testid":`project-activate-${t.id}`,children:"Activate"}),e.jsxs(r,{variant:"ghost",onClick:()=>u(O=>O===t.id?null:t.id),"data-testid":`project-delete-${t.id}`,"aria-label":`Remove project ${t.id}`,children:[e.jsx(X,{size:14,"aria-hidden":!0})," Remove"]})]})]}),F&&e.jsxs(o,{gap:1,style:{marginTop:"var(--space-2)"},children:[e.jsx(r,{variant:"danger",onClick:()=>void I(t.id),"data-testid":`project-confirm-delete-${t.id}`,children:"Confirm remove"}),e.jsx(r,{variant:"ghost",onClick:()=>u(null),"data-testid":`project-cancel-delete-${t.id}`,children:"Cancel"})]})]},t.id)})})})}),e.jsx(Z,{open:A,onOpenChange:j,children:e.jsx(G,{side:"right",title:"Add project",description:"Register an existing directory as a project root.",children:e.jsxs(d,{gap:3,style:{padding:"var(--space-4)"},children:[e.jsxs("label",{style:{display:"flex",flexDirection:"column",gap:"var(--space-1)"},children:[e.jsx("span",{style:{fontSize:"var(--fs-12)",color:"var(--fg-muted)"},children:"Path"}),e.jsx(b,{placeholder:"/absolute/path/to/project",value:m,"data-testid":"projects-add-path",onChange:t=>v(t.target.value)})]}),e.jsxs("label",{style:{display:"flex",flexDirection:"column",gap:"var(--space-1)"},children:[e.jsx("span",{style:{fontSize:"var(--fs-12)",color:"var(--fg-muted)"},children:"Display name (optional)"}),e.jsx(b,{placeholder:"My project",value:g,"data-testid":"projects-add-name",onChange:t=>x(t.target.value)})]}),e.jsxs(o,{justify:"end",gap:2,children:[e.jsx(K,{asChild:!0,children:e.jsx(r,{variant:"ghost","data-testid":"projects-add-cancel",children:"Cancel"})}),e.jsx(r,{variant:"primary",onClick:()=>void M(),disabled:f||m.trim()==="","data-testid":"projects-add-submit",children:"Add"})]})]})})})]})}export{de as ProjectsView};
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProjectsView-ChzM12bs.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/folder-plus.js","../../../node_modules/lucide-react/dist/esm/icons/scan-search.js","../../src/web/v8/views/Projects/ProjectsView.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst FolderPlus = createLucideIcon(\"FolderPlus\", [\n [\"path\", { d: \"M12 10v6\", key: \"1bos4e\" }],\n [\"path\", { d: \"M9 13h6\", key: \"1uhe8q\" }],\n [\n \"path\",\n {\n d: \"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z\",\n key: \"1kt360\"\n }\n ]\n]);\n\nexport { FolderPlus as default };\n//# sourceMappingURL=folder-plus.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ScanSearch = createLucideIcon(\"ScanSearch\", [\n [\"path\", { d: \"M3 7V5a2 2 0 0 1 2-2h2\", key: \"aa7l1z\" }],\n [\"path\", { d: \"M17 3h2a2 2 0 0 1 2 2v2\", key: \"4qcy5o\" }],\n [\"path\", { d: \"M21 17v2a2 2 0 0 1-2 2h-2\", key: \"6vwrx8\" }],\n [\"path\", { d: \"M7 21H5a2 2 0 0 1-2-2v-2\", key: \"ioqczr\" }],\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"3\", key: \"1v7zrd\" }],\n [\"path\", { d: \"m16 16-1.9-1.9\", key: \"1dq9hf\" }]\n]);\n\nexport { ScanSearch as default };\n//# sourceMappingURL=scan-search.js.map\n","/**\n * v8/views/Projects/ProjectsView.tsx — Sprint S39, v9.3.0.\n *\n * The project registry surface. Shows every registered project,\n * lets the user mark one active, add by path (Sheet form), and\n * remove (inline confirm). Two utility actions sit in the header:\n * - Auto-detect: POST /api/projects/auto-detect (adds cwd)\n * - Scan: POST /api/projects/scan (walks the configured\n * dashboard.projectsDirectory and adds any new\n * roots it finds).\n *\n * Live refresh on the `project:change` WS event the server already\n * broadcasts from routes/projects.mjs.\n */\n\nimport { useCallback, useEffect, useState } from 'react';\nimport { FolderPlus, RefreshCcw, ScanSearch, Sparkles, Trash2 } from 'lucide-react';\nimport { Stack } from '../../ui/primitives/Stack.js';\nimport { Inline } from '../../ui/primitives/Inline.js';\nimport { ViewHeader } from '../../ui/data/ViewHeader.js';\nimport { ListHeader } from '../../ui/data/ListHeader.js';\nimport { Card, CardBody } from '../../ui/data/Card.js';\nimport { Button } from '../../ui/controls/Button.js';\nimport { Input } from '../../ui/controls/Input.js';\nimport { Sheet, SheetClose, SheetContent } from '../../ui/feedback/Sheet.js';\nimport { Skeleton } from '../../ui/feedback/Skeleton.js';\nimport { EmptyState } from '../../ui/feedback/EmptyState.js';\nimport { Badge } from '../../ui/data/Badge.js';\nimport { useFetch } from '../../data/useFetch.js';\nimport { useWsMessage } from '../../data/useWebSocket.js';\nimport { fetchJson, FetchError } from '../../data/fetcher.js';\nimport type { Project, WsMessage } from '../../data/types.js';\n\ninterface ProjectsPayload {\n projects: Project[];\n}\n\nexport function ProjectsView(): JSX.Element {\n const payload = useFetch<ProjectsPayload>('/api/projects');\n const [adding, setAdding] = useState<boolean>(false);\n const [newPath, setNewPath] = useState<string>('');\n const [newName, setNewName] = useState<string>('');\n const [busy, setBusy] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n const [confirmDeleteId, setConfirmDeleteId] = useState<string | null>(null);\n\n const projects = payload.data?.projects ?? [];\n const activeId = projects.find((p) => p.active)?.id ?? null;\n\n const refresh = useCallback(() => { void payload.refetch(); }, [payload]);\n useWsMessage('project:change', refresh);\n\n const add = async (): Promise<void> => {\n const path = newPath.trim();\n if (!path || busy) return;\n setBusy(true);\n setError(null);\n try {\n await fetchJson<Project>('/api/projects', {\n method: 'POST',\n body: { path, name: newName.trim() || null },\n });\n setNewPath('');\n setNewName('');\n setAdding(false);\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : (err as Error).message);\n } finally {\n setBusy(false);\n }\n };\n\n const activate = async (id: string): Promise<void> => {\n setError(null);\n try {\n await fetchJson(`/api/projects/${id}/activate`, { method: 'POST', body: {} });\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : (err as Error).message);\n }\n };\n\n const remove = async (id: string): Promise<void> => {\n setError(null);\n try {\n await fetchJson(`/api/projects/${id}`, { method: 'DELETE' });\n setConfirmDeleteId(null);\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : (err as Error).message);\n }\n };\n\n const autoDetect = async (): Promise<void> => {\n setError(null);\n try {\n await fetchJson('/api/projects/auto-detect', { method: 'POST', body: {} });\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : (err as Error).message);\n }\n };\n\n const scan = async (): Promise<void> => {\n setError(null);\n try {\n await fetchJson('/api/projects/scan', { method: 'POST', body: {} });\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : (err as Error).message);\n }\n };\n\n return (\n <Stack gap={4} data-testid=\"projects-view\">\n <ViewHeader\n title=\"Projects\"\n description=\"Registered project roots. One is active at a time — every active-project endpoint scopes to it.\"\n actions={\n <Inline align=\"center\" gap={2}>\n {error !== null && (\n <span role=\"alert\" data-testid=\"projects-error\" style={{ color: 'var(--danger)', fontSize: 'var(--fs-12)' }}>\n {error}\n </span>\n )}\n <Button variant=\"ghost\" onClick={() => void scan()} data-testid=\"projects-scan\">\n <ScanSearch size={14} aria-hidden /> Scan configured dir\n </Button>\n <Button variant=\"ghost\" onClick={() => void autoDetect()} data-testid=\"projects-auto-detect\">\n <Sparkles size={14} aria-hidden /> Auto-detect cwd\n </Button>\n <Button variant=\"ghost\" onClick={() => void refresh()} data-testid=\"projects-refresh\">\n <RefreshCcw size={14} aria-hidden /> Refresh\n </Button>\n <Button variant=\"primary\" onClick={() => setAdding(true)} data-testid=\"projects-add\">\n <FolderPlus size={14} aria-hidden /> Add project\n </Button>\n </Inline>\n }\n />\n <ListHeader title=\"Registered\" count={projects.length} testid=\"projects-list-header\" />\n\n <Card variant=\"default\">\n <CardBody>\n {payload.loading && projects.length === 0 ? (\n <Stack gap={2}>\n <Skeleton style={{ height: 36 }} />\n <Skeleton style={{ height: 36 }} />\n </Stack>\n ) : projects.length === 0 ? (\n <EmptyState\n icon={<FolderPlus size={28} aria-hidden />}\n title=\"No projects yet\"\n description=\"Add a path, auto-detect the server cwd, or scan the configured projects directory.\"\n />\n ) : (\n <Stack gap={2}>\n {projects.map((p) => {\n const isActive = p.id === activeId;\n const isConfirmingDelete = confirmDeleteId === p.id;\n return (\n <div\n key={p.id}\n data-testid={`project-row-${p.id}`}\n style={{\n padding: 'var(--space-3)',\n borderRadius: 'var(--radius-md)',\n border: isActive ? '1px solid var(--accent)' : '1px solid var(--border)',\n background: isActive ? 'color-mix(in oklch, var(--accent) 12%, transparent)' : 'var(--surface-0)',\n }}\n >\n <Inline align=\"center\" justify=\"between\" gap={3}>\n <Stack gap={1} style={{ minWidth: 0 }}>\n <Inline align=\"center\" gap={2}>\n <strong style={{ fontSize: 'var(--fs-13)' }}>\n {p.name || p.path.split('/').pop() || p.id}\n </strong>\n {isActive && <Badge tone=\"success\">Active</Badge>}\n </Inline>\n <span style={{ fontFamily: 'var(--font-mono)', fontSize: 'var(--fs-12)', color: 'var(--fg-muted)', overflowWrap: 'anywhere' }}>\n {p.path}\n </span>\n </Stack>\n <Inline gap={1}>\n {!isActive && (\n <Button variant=\"primary\" onClick={() => void activate(p.id)} data-testid={`project-activate-${p.id}`}>\n Activate\n </Button>\n )}\n <Button\n variant=\"ghost\"\n onClick={() => setConfirmDeleteId((cur) => (cur === p.id ? null : p.id))}\n data-testid={`project-delete-${p.id}`}\n aria-label={`Remove project ${p.id}`}\n >\n <Trash2 size={14} aria-hidden /> Remove\n </Button>\n </Inline>\n </Inline>\n {isConfirmingDelete && (\n <Inline gap={1} style={{ marginTop: 'var(--space-2)' }}>\n <Button variant=\"danger\" onClick={() => void remove(p.id)} data-testid={`project-confirm-delete-${p.id}`}>\n Confirm remove\n </Button>\n <Button variant=\"ghost\" onClick={() => setConfirmDeleteId(null)} data-testid={`project-cancel-delete-${p.id}`}>\n Cancel\n </Button>\n </Inline>\n )}\n </div>\n );\n })}\n </Stack>\n )}\n </CardBody>\n </Card>\n\n <Sheet open={adding} onOpenChange={setAdding}>\n <SheetContent side=\"right\" title=\"Add project\" description=\"Register an existing directory as a project root.\">\n <Stack gap={3} style={{ padding: 'var(--space-4)' }}>\n <label style={{ display: 'flex', flexDirection: 'column', gap: 'var(--space-1)' }}>\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>Path</span>\n <Input\n placeholder=\"/absolute/path/to/project\"\n value={newPath}\n data-testid=\"projects-add-path\"\n onChange={(e) => setNewPath((e.target as HTMLInputElement).value)}\n />\n </label>\n <label style={{ display: 'flex', flexDirection: 'column', gap: 'var(--space-1)' }}>\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>Display name (optional)</span>\n <Input\n placeholder=\"My project\"\n value={newName}\n data-testid=\"projects-add-name\"\n onChange={(e) => setNewName((e.target as HTMLInputElement).value)}\n />\n </label>\n <Inline justify=\"end\" gap={2}>\n <SheetClose asChild>\n <Button variant=\"ghost\" data-testid=\"projects-add-cancel\">Cancel</Button>\n </SheetClose>\n <Button variant=\"primary\" onClick={() => void add()} disabled={busy || newPath.trim() === ''} data-testid=\"projects-add-submit\">\n Add\n </Button>\n </Inline>\n </Stack>\n </SheetContent>\n </Sheet>\n </Stack>\n );\n}"],"names":["FolderPlus","createLucideIcon","ScanSearch","ProjectsView","payload","useFetch","adding","setAdding","useState","newPath","setNewPath","newName","setNewName","busy","setBusy","error","setError","confirmDeleteId","setConfirmDeleteId","projects","_a","activeId","_b","p","refresh","useCallback","useWsMessage","add","path","fetchJson","err","FetchError","activate","id","remove","autoDetect","scan","jsxs","Stack","jsx","ViewHeader","Inline","Button","Sparkles","RefreshCcw","ListHeader","Card","CardBody","Skeleton","EmptyState","isActive","isConfirmingDelete","Badge","cur","Trash2","Sheet","SheetContent","Input","e","SheetClose"],"mappings":"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","x_google_ignoreList":[0,1]}