@polderlabs/bizar 10.1.0 → 10.3.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 (263) hide show
  1. package/README.md +31 -10
  2. package/bizar-dash/CONTROL_SURFACES.md +0 -1
  3. package/bizar-dash/dist/assets/{ActivityFeed-Da-JCrE6.js → ActivityFeed-xXiUCZLB.js} +1 -1
  4. package/bizar-dash/dist/assets/{ActivityFeed-Da-JCrE6.js.map → ActivityFeed-xXiUCZLB.js.map} +1 -1
  5. package/bizar-dash/dist/assets/{ActivityView-nIRsSETb.js → ActivityView-nOYhCp3h.js} +1 -1
  6. package/bizar-dash/dist/assets/{ActivityView-nIRsSETb.js.map → ActivityView-nOYhCp3h.js.map} +1 -1
  7. package/bizar-dash/dist/assets/{AdminView-DP1NMxmG.js → AdminView-Coi4V3sq.js} +1 -1
  8. package/bizar-dash/dist/assets/{AdminView-DP1NMxmG.js.map → AdminView-Coi4V3sq.js.map} +1 -1
  9. package/bizar-dash/dist/assets/{AgentActivity-lSPkOr-O.js → AgentActivity-nEri4lbx.js} +1 -1
  10. package/bizar-dash/dist/assets/{AgentActivity-lSPkOr-O.js.map → AgentActivity-nEri4lbx.js.map} +1 -1
  11. package/bizar-dash/dist/assets/{AgentsView-BIWGkz7w.js → AgentsView-ByiIJ0ej.js} +3 -3
  12. package/bizar-dash/dist/assets/{AgentsView-BIWGkz7w.js.map → AgentsView-ByiIJ0ej.js.map} +1 -1
  13. package/bizar-dash/dist/assets/{Alert-DN0UysMg.js → Alert-Dg_Vwxh5.js} +1 -1
  14. package/bizar-dash/dist/assets/{Alert-DN0UysMg.js.map → Alert-Dg_Vwxh5.js.map} +1 -1
  15. package/bizar-dash/dist/assets/ArtifactsView-CGclRNnz.js +21 -0
  16. package/bizar-dash/dist/assets/ArtifactsView-CGclRNnz.js.map +1 -0
  17. package/bizar-dash/dist/assets/{AuthView-DW5cs7ma.js → AuthView-utVm6M3D.js} +1 -1
  18. package/bizar-dash/dist/assets/{AuthView-DW5cs7ma.js.map → AuthView-utVm6M3D.js.map} +1 -1
  19. package/bizar-dash/dist/assets/{Avatar-DZPv9pvd.js → Avatar-CXDZdKy4.js} +1 -1
  20. package/bizar-dash/dist/assets/{Avatar-DZPv9pvd.js.map → Avatar-CXDZdKy4.js.map} +1 -1
  21. package/bizar-dash/dist/assets/{BackgroundJobsView-D8O-EyMD.js → BackgroundJobsView-j603pz6o.js} +1 -1
  22. package/bizar-dash/dist/assets/{BackgroundJobsView-D8O-EyMD.js.map → BackgroundJobsView-j603pz6o.js.map} +1 -1
  23. package/bizar-dash/dist/assets/{BackupView-uwXkhxOV.js → BackupView-DgvnntTE.js} +1 -1
  24. package/bizar-dash/dist/assets/{BackupView-uwXkhxOV.js.map → BackupView-DgvnntTE.js.map} +1 -1
  25. package/bizar-dash/dist/assets/{Card-Tyboihu7.js → Card-D9019JOD.js} +1 -1
  26. package/bizar-dash/dist/assets/{Card-Tyboihu7.js.map → Card-D9019JOD.js.map} +1 -1
  27. package/bizar-dash/dist/assets/{ChatView-DRBHzgay.js → ChatView-C0cTgj5d.js} +1 -1
  28. package/bizar-dash/dist/assets/{ChatView-DRBHzgay.js.map → ChatView-C0cTgj5d.js.map} +1 -1
  29. package/bizar-dash/dist/assets/{Chip-BrXIlR9w.js → Chip-DQtalZ4y.js} +1 -1
  30. package/bizar-dash/dist/assets/{Chip-BrXIlR9w.js.map → Chip-DQtalZ4y.js.map} +1 -1
  31. package/bizar-dash/dist/assets/{ClaudeSessionsView-Ck62jaOr.js → ClaudeSessionsView-H3Bqjo6b.js} +1 -1
  32. package/bizar-dash/dist/assets/{ClaudeSessionsView-Ck62jaOr.js.map → ClaudeSessionsView-H3Bqjo6b.js.map} +1 -1
  33. package/bizar-dash/dist/assets/{ClipboardView-DfND6xL6.js → ClipboardView-BAguaKbx.js} +1 -1
  34. package/bizar-dash/dist/assets/{ClipboardView-DfND6xL6.js.map → ClipboardView-BAguaKbx.js.map} +1 -1
  35. package/bizar-dash/dist/assets/{ConfigView-DjJmSrOJ.js → ConfigView-DWHJgoe8.js} +1 -1
  36. package/bizar-dash/dist/assets/{ConfigView-DjJmSrOJ.js.map → ConfigView-DWHJgoe8.js.map} +1 -1
  37. package/bizar-dash/dist/assets/{DiagnosticsView-CKgItf0J.js → DiagnosticsView-oCT624hk.js} +1 -1
  38. package/bizar-dash/dist/assets/{DiagnosticsView-CKgItf0J.js.map → DiagnosticsView-oCT624hk.js.map} +1 -1
  39. package/bizar-dash/dist/assets/{DialogsView-DHYF8dE1.js → DialogsView-CqHNals_.js} +1 -1
  40. package/bizar-dash/dist/assets/{DialogsView-DHYF8dE1.js.map → DialogsView-CqHNals_.js.map} +1 -1
  41. package/bizar-dash/dist/assets/{DoctorView-DDLHrSKk.js → DoctorView-6kfQq_Mx.js} +1 -1
  42. package/bizar-dash/dist/assets/{DoctorView-DDLHrSKk.js.map → DoctorView-6kfQq_Mx.js.map} +1 -1
  43. package/bizar-dash/dist/assets/{EmptyState-DZ2ouKwd.js → EmptyState-DLmtBX_6.js} +1 -1
  44. package/bizar-dash/dist/assets/{EmptyState-DZ2ouKwd.js.map → EmptyState-DLmtBX_6.js.map} +1 -1
  45. package/bizar-dash/dist/assets/{EnvVarsView-D1cx83mB.js → EnvVarsView-DySOXlP1.js} +2 -2
  46. package/bizar-dash/dist/assets/{EnvVarsView-D1cx83mB.js.map → EnvVarsView-DySOXlP1.js.map} +1 -1
  47. package/bizar-dash/dist/assets/{ErrorState-DwwJ2-Jq.js → ErrorState-Bump8diE.js} +1 -1
  48. package/bizar-dash/dist/assets/{ErrorState-DwwJ2-Jq.js.map → ErrorState-Bump8diE.js.map} +1 -1
  49. package/bizar-dash/dist/assets/{EvalView-C9aYixXW.js → EvalView-FnZ5d93z.js} +1 -1
  50. package/bizar-dash/dist/assets/{EvalView-C9aYixXW.js.map → EvalView-FnZ5d93z.js.map} +1 -1
  51. package/bizar-dash/dist/assets/{GoalsView-DZa_mGmh.js → GoalsView-C4m1WnVv.js} +1 -1
  52. package/bizar-dash/dist/assets/{GoalsView-DZa_mGmh.js.map → GoalsView-C4m1WnVv.js.map} +1 -1
  53. package/bizar-dash/dist/assets/{Grid-CiRyhAgR.js → Grid-dEnoGGws.js} +1 -1
  54. package/bizar-dash/dist/assets/{Grid-CiRyhAgR.js.map → Grid-dEnoGGws.js.map} +1 -1
  55. package/bizar-dash/dist/assets/{HistoryView-Dv7aPxJE.js → HistoryView-xdRybjZ2.js} +1 -1
  56. package/bizar-dash/dist/assets/{HistoryView-Dv7aPxJE.js.map → HistoryView-xdRybjZ2.js.map} +1 -1
  57. package/bizar-dash/dist/assets/{Input-BbFUDQnS.js → Input-BSa3lh_-.js} +1 -1
  58. package/bizar-dash/dist/assets/{Input-BbFUDQnS.js.map → Input-BSa3lh_-.js.map} +1 -1
  59. package/bizar-dash/dist/assets/{LibrariesView-DBQ83TNa.js → LibrariesView-1zR04Eci.js} +1 -1
  60. package/bizar-dash/dist/assets/{LibrariesView-DBQ83TNa.js.map → LibrariesView-1zR04Eci.js.map} +1 -1
  61. package/bizar-dash/dist/assets/{LightRAGView-JYpE5u9p.js → LightRAGView-PubmA9oL.js} +1 -1
  62. package/bizar-dash/dist/assets/{LightRAGView-JYpE5u9p.js.map → LightRAGView-PubmA9oL.js.map} +1 -1
  63. package/bizar-dash/dist/assets/{ListHeader-BGjm11Z0.js → ListHeader-Ak9WJd39.js} +1 -1
  64. package/bizar-dash/dist/assets/{ListHeader-BGjm11Z0.js.map → ListHeader-Ak9WJd39.js.map} +1 -1
  65. package/bizar-dash/dist/assets/{MemoryView-CnOP2MvM.js → MemoryView-DBGpuETw.js} +1 -1
  66. package/bizar-dash/dist/assets/{MemoryView-CnOP2MvM.js.map → MemoryView-DBGpuETw.js.map} +1 -1
  67. package/bizar-dash/dist/assets/MiscView-DufqBHkX.js +1 -0
  68. package/bizar-dash/dist/assets/{MiscView-BBcpUbZZ.js.map → MiscView-DufqBHkX.js.map} +1 -1
  69. package/bizar-dash/dist/assets/{ModsView-CU4cAmIz.js → ModsView-DcX6eVU2.js} +2 -2
  70. package/bizar-dash/dist/assets/{ModsView-CU4cAmIz.js.map → ModsView-DcX6eVU2.js.map} +1 -1
  71. package/bizar-dash/dist/assets/{NotificationsView-BYffvthq.js → NotificationsView-B8IhHRQC.js} +1 -1
  72. package/bizar-dash/dist/assets/{NotificationsView-BYffvthq.js.map → NotificationsView-B8IhHRQC.js.map} +1 -1
  73. package/bizar-dash/dist/assets/ObsidianView-DEuk65zS.js +1 -0
  74. package/bizar-dash/dist/assets/{ObsidianView-D3bI0row.js.map → ObsidianView-DEuk65zS.js.map} +1 -1
  75. package/bizar-dash/dist/assets/{OverviewView-0tq8f-Y0.js → OverviewView-CTI2spTd.js} +1 -1
  76. package/bizar-dash/dist/assets/{OverviewView-0tq8f-Y0.js.map → OverviewView-CTI2spTd.js.map} +1 -1
  77. package/bizar-dash/dist/assets/{ProgressBar-B-h60LKA.js → ProgressBar-D3lkz42E.js} +1 -1
  78. package/bizar-dash/dist/assets/{ProgressBar-B-h60LKA.js.map → ProgressBar-D3lkz42E.js.map} +1 -1
  79. package/bizar-dash/dist/assets/{ProjectsView-DhX5lzHS.js → ProjectsView-Du0LzE7A.js} +1 -1
  80. package/bizar-dash/dist/assets/{ProjectsView-DhX5lzHS.js.map → ProjectsView-Du0LzE7A.js.map} +1 -1
  81. package/bizar-dash/dist/assets/{ProvidersView-CJMX7jm9.js → ProvidersView-5bCgXwBo.js} +1 -1
  82. package/bizar-dash/dist/assets/{ProvidersView-CJMX7jm9.js.map → ProvidersView-5bCgXwBo.js.map} +1 -1
  83. package/bizar-dash/dist/assets/{SchedulesView-CcwDQ9Nm.js → SchedulesView-DFHdIz5P.js} +1 -1
  84. package/bizar-dash/dist/assets/{SchedulesView-CcwDQ9Nm.js.map → SchedulesView-DFHdIz5P.js.map} +1 -1
  85. package/bizar-dash/dist/assets/{Select-Cw7Qtz2M.js → Select-C8EJj4NM.js} +1 -1
  86. package/bizar-dash/dist/assets/{Select-Cw7Qtz2M.js.map → Select-C8EJj4NM.js.map} +1 -1
  87. package/bizar-dash/dist/assets/{SettingsRow-DgsgbPSI.js → SettingsRow-BdOOmYMD.js} +1 -1
  88. package/bizar-dash/dist/assets/{SettingsRow-DgsgbPSI.js.map → SettingsRow-BdOOmYMD.js.map} +1 -1
  89. package/bizar-dash/dist/assets/{SettingsView-DTAFdKyK.js → SettingsView-CqwQ6Knv.js} +1 -1
  90. package/bizar-dash/dist/assets/{SettingsView-DTAFdKyK.js.map → SettingsView-CqwQ6Knv.js.map} +1 -1
  91. package/bizar-dash/dist/assets/{Sheet-DH-WNJ3Y.js → Sheet-Cztsvgse.js} +1 -1
  92. package/bizar-dash/dist/assets/{Sheet-DH-WNJ3Y.js.map → Sheet-Cztsvgse.js.map} +1 -1
  93. package/bizar-dash/dist/assets/{Slider-DXbJuQ7y.js → Slider-BexNfF6K.js} +1 -1
  94. package/bizar-dash/dist/assets/{Slider-DXbJuQ7y.js.map → Slider-BexNfF6K.js.map} +1 -1
  95. package/bizar-dash/dist/assets/{Sparkline-CYtAn82j.js → Sparkline-CLZBtvsN.js} +1 -1
  96. package/bizar-dash/dist/assets/{Sparkline-CYtAn82j.js.map → Sparkline-CLZBtvsN.js.map} +1 -1
  97. package/bizar-dash/dist/assets/{Switch-BItGrPqr.js → Switch-B1tiRwNK.js} +1 -1
  98. package/bizar-dash/dist/assets/{Switch-BItGrPqr.js.map → Switch-B1tiRwNK.js.map} +1 -1
  99. package/bizar-dash/dist/assets/{TasksView-i5tm6CkX.js → TasksView-CT0fPlos.js} +1 -1
  100. package/bizar-dash/dist/assets/{TasksView-i5tm6CkX.js.map → TasksView-CT0fPlos.js.map} +1 -1
  101. package/bizar-dash/dist/assets/{Textarea-qYDf3yds.js → Textarea-D_TPpVMy.js} +1 -1
  102. package/bizar-dash/dist/assets/{Textarea-qYDf3yds.js.map → Textarea-D_TPpVMy.js.map} +1 -1
  103. package/bizar-dash/dist/assets/{UpdateView-Xln-ej26.js → UpdateView-tD2q2OhW.js} +1 -1
  104. package/bizar-dash/dist/assets/{UpdateView-Xln-ej26.js.map → UpdateView-tD2q2OhW.js.map} +1 -1
  105. package/bizar-dash/dist/assets/{UsageView-BGuZSUZ6.js → UsageView-B4BuAFKA.js} +1 -1
  106. package/bizar-dash/dist/assets/{UsageView-BGuZSUZ6.js.map → UsageView-B4BuAFKA.js.map} +1 -1
  107. package/bizar-dash/dist/assets/{ViewHeader-BqIPVKuG.js → ViewHeader-V_SzbUpw.js} +1 -1
  108. package/bizar-dash/dist/assets/{ViewHeader-BqIPVKuG.js.map → ViewHeader-V_SzbUpw.js.map} +1 -1
  109. package/bizar-dash/dist/assets/{VoiceView-CWUOCQs_.js → VoiceView-D3vb5OM2.js} +1 -1
  110. package/bizar-dash/dist/assets/{VoiceView-CWUOCQs_.js.map → VoiceView-D3vb5OM2.js.map} +1 -1
  111. package/bizar-dash/dist/assets/{brain-fsBSDl2g.js → brain-BmfWcitQ.js} +1 -1
  112. package/bizar-dash/dist/assets/{brain-fsBSDl2g.js.map → brain-BmfWcitQ.js.map} +1 -1
  113. package/bizar-dash/dist/assets/{calendar-DsHTZoCU.js → calendar-VntJUzFB.js} +1 -1
  114. package/bizar-dash/dist/assets/{calendar-DsHTZoCU.js.map → calendar-VntJUzFB.js.map} +1 -1
  115. package/bizar-dash/dist/assets/{circle-CqSxqqeJ.js → circle-KrQQySeK.js} +1 -1
  116. package/bizar-dash/dist/assets/{circle-CqSxqqeJ.js.map → circle-KrQQySeK.js.map} +1 -1
  117. package/bizar-dash/dist/assets/{circle-alert-BsLl001l.js → circle-alert-CQ9MLygI.js} +1 -1
  118. package/bizar-dash/dist/assets/{circle-alert-BsLl001l.js.map → circle-alert-CQ9MLygI.js.map} +1 -1
  119. package/bizar-dash/dist/assets/{circle-check-rVKMQmZp.js → circle-check-COtVgsWw.js} +1 -1
  120. package/bizar-dash/dist/assets/{circle-check-rVKMQmZp.js.map → circle-check-COtVgsWw.js.map} +1 -1
  121. package/bizar-dash/dist/assets/{clock-OuficfgH.js → clock-C0GlM4qp.js} +1 -1
  122. package/bizar-dash/dist/assets/{clock-OuficfgH.js.map → clock-C0GlM4qp.js.map} +1 -1
  123. package/bizar-dash/dist/assets/{download-BdHlstUY.js → download-CW4DmtRe.js} +1 -1
  124. package/bizar-dash/dist/assets/{download-BdHlstUY.js.map → download-CW4DmtRe.js.map} +1 -1
  125. package/bizar-dash/dist/assets/{external-link-DA3_VGm-.js → external-link-CAOnh_DH.js} +1 -1
  126. package/bizar-dash/dist/assets/{external-link-DA3_VGm-.js.map → external-link-CAOnh_DH.js.map} +1 -1
  127. package/bizar-dash/dist/assets/{file-text-B-g8H227.js → file-text-CS1jB_oV.js} +1 -1
  128. package/bizar-dash/dist/assets/{file-text-B-g8H227.js.map → file-text-CS1jB_oV.js.map} +1 -1
  129. package/bizar-dash/dist/assets/{filter-D9B8s5CG.js → filter-DyQbml3L.js} +1 -1
  130. package/bizar-dash/dist/assets/{filter-D9B8s5CG.js.map → filter-DyQbml3L.js.map} +1 -1
  131. package/bizar-dash/dist/assets/{git-pull-request-ByH0YuVz.js → git-pull-request-Co6gYfba.js} +1 -1
  132. package/bizar-dash/dist/assets/{git-pull-request-ByH0YuVz.js.map → git-pull-request-Co6gYfba.js.map} +1 -1
  133. package/bizar-dash/dist/assets/{main-CdOm1Pj9.js → main-CyAIirBB.js} +28 -33
  134. package/bizar-dash/dist/assets/main-CyAIirBB.js.map +1 -0
  135. package/bizar-dash/dist/assets/network-CDn43Gsj.js +6 -0
  136. package/bizar-dash/dist/assets/network-CDn43Gsj.js.map +1 -0
  137. package/bizar-dash/dist/assets/{pause-C9hgd8wX.js → pause-CKYjSTGX.js} +1 -1
  138. package/bizar-dash/dist/assets/{pause-C9hgd8wX.js.map → pause-CKYjSTGX.js.map} +1 -1
  139. package/bizar-dash/dist/assets/{pencil-BanqaMw7.js → pencil-BUJ2DpWs.js} +1 -1
  140. package/bizar-dash/dist/assets/{pencil-BanqaMw7.js.map → pencil-BUJ2DpWs.js.map} +1 -1
  141. package/bizar-dash/dist/assets/{play-CawUZ02_.js → play-CGxZWqtW.js} +1 -1
  142. package/bizar-dash/dist/assets/{play-CawUZ02_.js.map → play-CGxZWqtW.js.map} +1 -1
  143. package/bizar-dash/dist/assets/{plug-Cmv0-T_e.js → plug-CQYGgGSy.js} +1 -1
  144. package/bizar-dash/dist/assets/{plug-Cmv0-T_e.js.map → plug-CQYGgGSy.js.map} +1 -1
  145. package/bizar-dash/dist/assets/{plus-M6LYiKX8.js → plus-fFxt-8z5.js} +1 -1
  146. package/bizar-dash/dist/assets/{plus-M6LYiKX8.js.map → plus-fFxt-8z5.js.map} +1 -1
  147. package/bizar-dash/dist/assets/{power-DP5x_SRF.js → power-Cjgy2KsI.js} +1 -1
  148. package/bizar-dash/dist/assets/{power-DP5x_SRF.js.map → power-Cjgy2KsI.js.map} +1 -1
  149. package/bizar-dash/dist/assets/{power-off-NOJRLAIs.js → power-off-B81hLRah.js} +1 -1
  150. package/bizar-dash/dist/assets/{power-off-NOJRLAIs.js.map → power-off-B81hLRah.js.map} +1 -1
  151. package/bizar-dash/dist/assets/{refresh-ccw-CHMprsm5.js → refresh-ccw-BCXx86xp.js} +1 -1
  152. package/bizar-dash/dist/assets/{refresh-ccw-CHMprsm5.js.map → refresh-ccw-BCXx86xp.js.map} +1 -1
  153. package/bizar-dash/dist/assets/{refresh-cw-1RBqDKgJ.js → refresh-cw-COTg1nZo.js} +1 -1
  154. package/bizar-dash/dist/assets/{refresh-cw-1RBqDKgJ.js.map → refresh-cw-COTg1nZo.js.map} +1 -1
  155. package/bizar-dash/dist/assets/{rotate-ccw-DJRekBbi.js → rotate-ccw-BZrEVc0Z.js} +1 -1
  156. package/bizar-dash/dist/assets/{rotate-ccw-DJRekBbi.js.map → rotate-ccw-BZrEVc0Z.js.map} +1 -1
  157. package/bizar-dash/dist/assets/{rotate-cw-DHooc0Tx.js → rotate-cw-CsTtaLV2.js} +1 -1
  158. package/bizar-dash/dist/assets/{rotate-cw-DHooc0Tx.js.map → rotate-cw-CsTtaLV2.js.map} +1 -1
  159. package/bizar-dash/dist/assets/{save-DQKCKyZK.js → save-DtMTge1F.js} +1 -1
  160. package/bizar-dash/dist/assets/{save-DQKCKyZK.js.map → save-DtMTge1F.js.map} +1 -1
  161. package/bizar-dash/dist/assets/{send-xgy3RAi7.js → send-DyBhyk8t.js} +1 -1
  162. package/bizar-dash/dist/assets/{send-xgy3RAi7.js.map → send-DyBhyk8t.js.map} +1 -1
  163. package/bizar-dash/dist/assets/{shield-alert-CWV2F5ab.js → shield-alert-BPGJlRF8.js} +1 -1
  164. package/bizar-dash/dist/assets/{shield-alert-CWV2F5ab.js.map → shield-alert-BPGJlRF8.js.map} +1 -1
  165. package/bizar-dash/dist/assets/{trash-2-CL4khSRv.js → trash-2-2NsyTU8c.js} +1 -1
  166. package/bizar-dash/dist/assets/{trash-2-CL4khSRv.js.map → trash-2-2NsyTU8c.js.map} +1 -1
  167. package/bizar-dash/dist/assets/{trending-up-CSJJhWTS.js → trending-up-BXwP23VK.js} +1 -1
  168. package/bizar-dash/dist/assets/{trending-up-CSJJhWTS.js.map → trending-up-BXwP23VK.js.map} +1 -1
  169. package/bizar-dash/dist/assets/{triangle-alert-BPLb7uLt.js → triangle-alert-DFmQ_RXN.js} +1 -1
  170. package/bizar-dash/dist/assets/{triangle-alert-BPLb7uLt.js.map → triangle-alert-DFmQ_RXN.js.map} +1 -1
  171. package/bizar-dash/dist/assets/{upload-Cww6MvFq.js → upload-Cj-HYRYV.js} +1 -1
  172. package/bizar-dash/dist/assets/{upload-Cww6MvFq.js.map → upload-Cj-HYRYV.js.map} +1 -1
  173. package/bizar-dash/dist/assets/{zap-DmhVUzRA.js → zap-BaOiybcl.js} +1 -1
  174. package/bizar-dash/dist/assets/{zap-DmhVUzRA.js.map → zap-BaOiybcl.js.map} +1 -1
  175. package/bizar-dash/dist/index.html +1 -1
  176. package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  177. package/bizar-dash/src/server/api.mjs +11 -0
  178. package/bizar-dash/src/server/artifacts-store.mjs +120 -14
  179. package/bizar-dash/src/server/claude-artifacts.mjs +281 -0
  180. package/bizar-dash/src/server/routes/artifacts.mjs +42 -6
  181. package/bizar-dash/src/server/routes/audit.mjs +78 -0
  182. package/bizar-dash/src/server/routes/decisions.mjs +78 -0
  183. package/bizar-dash/src/server/routes/model-router.mjs +55 -0
  184. package/bizar-dash/src/server/routes/model-router.test.mjs +28 -0
  185. package/bizar-dash/src/server/routes/sessions.mjs +80 -0
  186. package/bizar-dash/src/server/routes/update.mjs +48 -21
  187. package/bizar-dash/src/server/sprint.test.mjs +163 -0
  188. package/bizar-dash/src/web/v8/App.tsx +0 -4
  189. package/bizar-dash/src/web/v8/__tests__/new-views.test.tsx +0 -17
  190. package/bizar-dash/src/web/v8/shell/Sidebar.tsx +0 -1
  191. package/bizar-dash/src/web/v8/views/Artifacts/ArtifactsView.tsx +232 -21
  192. package/bizar-dash/src/web/v8/views/Artifacts/ClaudeArtifactView.tsx +179 -0
  193. package/bizar-dash/src/web/v8/views/Router.tsx +0 -5
  194. package/bizar-dash/tests/_update-test-helpers.mjs +13 -0
  195. package/bizar-dash/tests/update-check.test.mjs +18 -13
  196. package/bizar-dash/tests/update-packages.test.mjs +154 -0
  197. package/bizar-dash/tests/update-run.test.mjs +17 -80
  198. package/cli/banner.mjs +1 -1
  199. package/cli/bin.mjs +8 -1
  200. package/cli/bootstrap.mjs +1 -1
  201. package/cli/commands/claude-cmd.mjs +1 -1
  202. package/cli/commands/deploy/docker.mjs +0 -3
  203. package/cli/install/banner.mjs +67 -0
  204. package/cli/install/banner.test.mjs +39 -0
  205. package/cli/install/index.mjs +32 -0
  206. package/cli/install/index.test.mjs +61 -0
  207. package/cli/install/paths.mjs +80 -0
  208. package/cli/install/paths.test.mjs +77 -0
  209. package/cli/install/plugin.mjs +161 -0
  210. package/cli/install/postinstall.mjs +111 -0
  211. package/cli/install.mjs +13 -600
  212. package/cli/migrate.mjs +157 -0
  213. package/cli/migrate.test.mjs +85 -0
  214. package/cli/provision.mjs +615 -1918
  215. package/cli/provision.test.mjs +1 -1
  216. package/cli/service-controller.test.mjs +0 -1
  217. package/cli/service-env.mjs +0 -1
  218. package/cli/utils.mjs +0 -1
  219. package/install.sh +54 -466
  220. package/package.json +1 -1
  221. package/packages/sdk/dist/agent/cron.d.ts +44 -0
  222. package/packages/sdk/dist/agent/cron.js +79 -0
  223. package/packages/sdk/dist/agent/heartbeat.d.ts +43 -0
  224. package/packages/sdk/dist/agent/heartbeat.js +116 -0
  225. package/packages/sdk/dist/index.d.ts +3 -0
  226. package/packages/sdk/dist/index.js +5 -0
  227. package/packages/sdk/dist/learning/decisions.d.ts +46 -0
  228. package/packages/sdk/dist/learning/decisions.js +132 -0
  229. package/packages/sdk/dist/learning/index.d.ts +8 -0
  230. package/packages/sdk/dist/learning/index.js +8 -0
  231. package/packages/sdk/dist/learning/instincts.d.ts +38 -0
  232. package/packages/sdk/dist/learning/instincts.js +139 -0
  233. package/packages/sdk/dist/mcp/server.js +119 -1
  234. package/packages/sdk/dist/router/agent-model-registry.d.ts +89 -0
  235. package/packages/sdk/dist/router/agent-model-registry.js +144 -0
  236. package/packages/sdk/dist/router/index.d.ts +1 -0
  237. package/packages/sdk/dist/router/index.js +1 -0
  238. package/packages/sdk/package.json +3 -2
  239. package/scripts/audit.mjs +388 -0
  240. package/scripts/audit.test.mjs +149 -0
  241. package/scripts/eval-gate.mjs +134 -0
  242. package/scripts/eval-gate.test.mjs +138 -0
  243. package/scripts/feature-state-machine.mjs +178 -0
  244. package/scripts/feature-state-machine.test.mjs +135 -0
  245. package/scripts/install-curl.sh +17 -0
  246. package/scripts/spec-dedup.test.mjs +124 -0
  247. package/scripts/sprint.mjs +213 -0
  248. package/scripts/worktree-setup.sh +79 -0
  249. package/bizar-dash/dist/assets/ArtifactsView-CDIhPBAx.js +0 -6
  250. package/bizar-dash/dist/assets/ArtifactsView-CDIhPBAx.js.map +0 -1
  251. package/bizar-dash/dist/assets/HeadroomView-CNc-TI7u.js +0 -11
  252. package/bizar-dash/dist/assets/HeadroomView-CNc-TI7u.js.map +0 -1
  253. package/bizar-dash/dist/assets/MiscView-BBcpUbZZ.js +0 -1
  254. package/bizar-dash/dist/assets/ObsidianView-D3bI0row.js +0 -1
  255. package/bizar-dash/dist/assets/main-CdOm1Pj9.js.map +0 -1
  256. package/bizar-dash/src/web/v8/views/Headroom/HeadroomView.tsx +0 -201
  257. package/bizar-dash/tests/graphify-mod-spawn.node.test.mjs +0 -90
  258. package/bizar-dash/tests/v7-archive/mobile-overview.test.tsx +0 -214
  259. package/bizar-dash/tests/v7-archive/mobile-settings.test.tsx +0 -181
  260. package/bizar-dash/tests/v7-archive/navigation/CommandPalette.test.tsx +0 -105
  261. package/bizar-dash/tests/v7-archive/settings-nav.test.tsx +0 -128
  262. package/bizar-dash/tests/v7-archive/views/Overview.test.tsx +0 -413
  263. package/cli/provision-claude.mjs +0 -1176
@@ -1,413 +0,0 @@
1
- /**
2
- * tests/views/Overview.test.tsx
3
- *
4
- * Wave 3 — Overview redesign smoke tests. Covers:
5
- * - The new Overview mounts without crashing given a populated snapshot.
6
- * - The five stat tiles render the correct labelled values.
7
- * - The activity stream renders rows from the snapshot seed.
8
- * - Per-row hide toggle POSTs to /activity/hide with the correct key.
9
- * - "Hide all" calls POST /activity/hide with the full list of keys.
10
- * - The SSE subscription is established (mock EventSource) but never actually fires.
11
- * - Clicking the submit button calls /tasks/submit.
12
- *
13
- * Notes:
14
- * - EventSource is mocked globally (no listener fires in jsdom).
15
- * - api is mocked so no network is attempted.
16
- * - ThemeProvider + ToastProvider + ModalProvider wrap the view so the
17
- * helpers the Overview calls (useToast / useModal) get a real context.
18
- */
19
-
20
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
21
- import { render, screen, waitFor, within } from '@testing-library/react';
22
- import userEvent from '@testing-library/user-event';
23
- import React from 'react';
24
-
25
- import { Overview } from '../../src/web/views/Overview';
26
- import { ToastProvider } from '../../src/web/components/Toast';
27
- import { ModalProvider } from '../../src/web/components/Modal';
28
-
29
- import type {
30
- ActivityItem,
31
- Agent,
32
- Artifact,
33
- Mod,
34
- Overview as OverviewData,
35
- ProjectRecord,
36
- Settings,
37
- Snapshot,
38
- Task,
39
- } from '../../src/web/lib/types';
40
- import { api } from '../../src/web/lib/api';
41
-
42
- // ─── Mocks ──────────────────────────────────────────────────────────────────
43
-
44
- class MockEventSource {
45
- url: string;
46
- readyState = 0;
47
- listeners: Record<string, ((e: MessageEvent) => void)[]> = {};
48
- onerror: ((e: Event) => void) | null = null;
49
- constructor(url: string) {
50
- this.url = url;
51
- MockEventSource.instances.push(this);
52
- }
53
- addEventListener(name: string, cb: (e: MessageEvent) => void) {
54
- (this.listeners[name] ||= []).push(cb);
55
- }
56
- removeEventListener() { /* noop for tests */ }
57
- close() {
58
- this.readyState = 2;
59
- }
60
- // Test helpers — manually dispatch like a real server would.
61
- __dispatch(name: string, data: unknown) {
62
- const ev = { data: JSON.stringify(data) } as MessageEvent;
63
- this.listeners[name]?.forEach((cb) => cb(ev));
64
- }
65
- }
66
- (MockEventSource as unknown as { instances: MockEventSource[] }).instances = [];
67
-
68
- vi.stubGlobal('EventSource', MockEventSource);
69
-
70
- vi.mock('../../src/web/lib/api', () => {
71
- return {
72
- api: {
73
- get: vi.fn(),
74
- post: vi.fn(),
75
- put: vi.fn(),
76
- patch: vi.fn(),
77
- del: vi.fn(),
78
- getToken: vi.fn(() => ''),
79
- setToken: vi.fn(),
80
- probeAuthStatus: vi.fn(),
81
- },
82
- ApiError: class ApiError extends Error {
83
- status: number;
84
- constructor(status: number, message: string) {
85
- super(message);
86
- this.status = status;
87
- }
88
- },
89
- };
90
- });
91
-
92
- const Harness: React.FC<{ children: React.ReactNode }> = ({ children }) => (
93
- <ToastProvider>
94
- <ModalProvider>{children}</ModalProvider>
95
- </ToastProvider>
96
- );
97
-
98
- // ─── Fixtures ────────────────────────────────────────────────────────────────
99
-
100
- function makeOverview(overrides: Partial<OverviewData> = {}): OverviewData {
101
- return {
102
- counts: {
103
- agents: 7,
104
- plans: 4,
105
- projects: 3,
106
- sessions: 2,
107
- activeProject: 'p-1',
108
- ...(overrides.counts ?? {}),
109
- },
110
- recentActivity: overrides.recentActivity ?? [
111
- {
112
- ts: new Date().toISOString(),
113
- kind: 'task.created',
114
- title: 'Build settings page',
115
- } as unknown as ActivityItem,
116
- {
117
- ts: new Date(Date.now() - 5 * 60_000).toISOString(),
118
- kind: 'agent.delegated',
119
- agent: 'thor',
120
- } as unknown as ActivityItem,
121
- ],
122
- versions: {
123
- node: 'v20.10.0',
124
- platform: 'linux',
125
- projectRoot: '/srv/bizar',
126
- bizarRoot: '/home/user/.bizar',
127
- ...(overrides.versions ?? {}),
128
- },
129
- generatedAt: new Date().toISOString(),
130
- ...overrides,
131
- } as OverviewData;
132
- }
133
-
134
- function makeSnapshot(overrides: Partial<Snapshot> = {}): Snapshot {
135
- return {
136
- overview: makeOverview(),
137
- agents: [] as Agent[],
138
- artifacts: [] as Artifact[],
139
- projects: [
140
- { id: 'p-1', name: 'Bizar', path: '/srv/bizar', status: 'active' },
141
- { id: 'p-2', name: 'Spar', path: '/srv/spar', status: 'inactive' },
142
- ] as ProjectRecord[],
143
- activeProject: {
144
- id: 'p-1',
145
- name: 'Bizar',
146
- path: '/srv/bizar',
147
- status: 'active',
148
- } as ProjectRecord,
149
- config: { path: '', data: {}, raw: '', exists: true },
150
- settings: { path: '', data: {} as Settings, exists: true },
151
- tasks: [
152
- {
153
- id: 't-1',
154
- title: 'Refactor parser',
155
- description: '',
156
- status: 'doing',
157
- tags: [],
158
- priority: 'normal',
159
- assignee: 'thor',
160
- createdAt: new Date().toISOString(),
161
- updatedAt: new Date().toISOString(),
162
- } as Task,
163
- {
164
- id: 't-2',
165
- title: 'Add schema check',
166
- description: '',
167
- status: 'queued',
168
- tags: [],
169
- priority: 'normal',
170
- assignee: 'heimdall',
171
- createdAt: new Date(Date.now() - 2 * 24 * 3600_000).toISOString(),
172
- updatedAt: new Date(Date.now() - 24 * 3600_000).toISOString(),
173
- } as Task,
174
- ],
175
- mods: [
176
- {
177
- id: 'm-1',
178
- name: 'graphify',
179
- version: '1.0.0',
180
- author: 'bizar',
181
- description: '',
182
- bizar: '',
183
- type: 'tool',
184
- enabled: true,
185
- permissions: [],
186
- entry: {},
187
- files: [],
188
- path: '/mods/graphify',
189
- installedAt: null,
190
- } as Mod,
191
- {
192
- id: 'm-2',
193
- name: 'headroom',
194
- version: '0.4.0',
195
- author: 'bizar',
196
- description: '',
197
- bizar: '',
198
- type: 'service',
199
- enabled: false,
200
- permissions: [],
201
- entry: {},
202
- files: [],
203
- path: '/mods/headroom',
204
- installedAt: null,
205
- } as Mod,
206
- ],
207
- schedules: [],
208
- providers: [],
209
- mcps: [],
210
- ...overrides,
211
- };
212
- }
213
-
214
- const baseSettings = {
215
- theme: { mode: 'system' as const, accent: '', success: '', warning: '', error: '', info: '', fontFamily: '', fontSize: 13, compactMode: false, animations: true },
216
- ui: { layout: 'both' as const, showHeader: true, showStatusBar: true, defaultTab: 'overview' },
217
- defaultAgent: 'odin',
218
- defaultModel: 'claude-opus-4',
219
- notifications: { onAgentComplete: false, onPlanApproval: false },
220
- dashboard: { autoLaunchWeb: false, projectsDirectory: '/srv' },
221
- service: { enabled: false, autostart: false },
222
- about: { version: 'v6.5.0', homepage: '', license: '' },
223
- agents: { maxParallel: 3, stuckThresholdMs: 60_000, autoRestart: false },
224
- personalization: { displayName: '', role: '', team: '', aboutMe: '', preferences: '' },
225
- workflow: { artifactsEnabled: true, agentsDecideAutonomously: false, chatAutonomous: false },
226
- } as unknown as Settings;
227
-
228
- // ─── Tests ──────────────────────────────────────────────────────────────────
229
-
230
- describe('Overview (Wave 3 redesign)', () => {
231
- beforeEach(() => {
232
- vi.clearAllMocks();
233
- MockEventSource.instances.length = 0;
234
- (api.get as ReturnType<typeof vi.fn>).mockImplementation((url: string) => {
235
- if (url === '/activity/hidden') return Promise.resolve({ hidden: [] });
236
- return Promise.resolve(null);
237
- });
238
- });
239
-
240
- afterEach(() => {
241
- vi.useRealTimers();
242
- });
243
-
244
- it('mounts without crashing and establishes the SSE subscription', async () => {
245
- const snapshot = makeSnapshot();
246
- render(
247
- <Harness>
248
- <Overview
249
- snapshot={snapshot}
250
- settings={baseSettings}
251
- activeTab="overview"
252
- setActiveTab={vi.fn()}
253
- refreshSnapshot={vi.fn(async () => undefined)}
254
- />
255
- </Harness>,
256
- );
257
-
258
- expect(await screen.findByTestId('overview-stat-row')).toBeInTheDocument();
259
- expect(MockEventSource.instances).toHaveLength(1);
260
- expect(MockEventSource.instances[0].url).toBe('/api/activity/stream');
261
- });
262
-
263
- it('renders all five stat tiles with the correct values', async () => {
264
- const snapshot = makeSnapshot({
265
- overview: makeOverview({
266
- counts: { agents: 7, plans: 4, projects: 3, sessions: 2, activeProject: 'p-1' },
267
- }),
268
- });
269
- render(
270
- <Harness>
271
- <Overview
272
- snapshot={snapshot}
273
- settings={baseSettings}
274
- activeTab="overview"
275
- setActiveTab={vi.fn()}
276
- refreshSnapshot={vi.fn(async () => undefined)}
277
- />
278
- </Harness>,
279
- );
280
-
281
- // StatTile doesn't forward data-testid; find tiles by their label
282
- // text. Labels are sentence-cased in DOM, uppercase via CSS.
283
- expect(await screen.findByText('Agents')).toBeInTheDocument();
284
- expect(screen.getByText('Tasks')).toBeInTheDocument();
285
- expect(screen.getByText('Projects')).toBeInTheDocument();
286
- expect(screen.getByText('Mods')).toBeInTheDocument();
287
- expect(screen.getByText('Background')).toBeInTheDocument();
288
-
289
- // 7 agents, 2 tasks, 2 projects, 2 mods, 2 background
290
- const row = await screen.findByTestId('overview-stat-row');
291
- expect(within(row).getByText('7')).toBeInTheDocument();
292
- // The number "2" appears multiple times (tasks, projects, mods, background)
293
- const twos = within(row).getAllByText('2');
294
- expect(twos.length).toBeGreaterThanOrEqual(4);
295
- });
296
-
297
- it('renders activity rows from the snapshot seed', async () => {
298
- const snapshot = makeSnapshot({
299
- overview: makeOverview({
300
- recentActivity: [
301
- { ts: new Date().toISOString(), kind: 'task.created', title: 'Build settings page' } as ActivityItem,
302
- { ts: new Date().toISOString(), kind: 'agent.delegated', agent: 'thor' } as ActivityItem,
303
- ],
304
- }),
305
- });
306
- render(
307
- <Harness>
308
- <Overview
309
- snapshot={snapshot}
310
- settings={baseSettings}
311
- activeTab="overview"
312
- setActiveTab={vi.fn()}
313
- refreshSnapshot={vi.fn(async () => undefined)}
314
- />
315
- </Harness>,
316
- );
317
-
318
- const list = await screen.findByTestId('overview-activity-list');
319
- expect(within(list).getByText(/Task created/i)).toBeInTheDocument();
320
- expect(within(list).getByText(/Agent delegated/i)).toBeInTheDocument();
321
- });
322
-
323
- it('hides a single activity row when its icon button is clicked', async () => {
324
- (api.post as ReturnType<typeof vi.fn>).mockResolvedValue({ ok: true });
325
- const user = userEvent.setup();
326
- const snapshot = makeSnapshot();
327
- render(
328
- <Harness>
329
- <Overview
330
- snapshot={snapshot}
331
- settings={baseSettings}
332
- activeTab="overview"
333
- setActiveTab={vi.fn()}
334
- refreshSnapshot={vi.fn(async () => undefined)}
335
- />
336
- </Harness>,
337
- );
338
-
339
- const list = await screen.findByTestId('overview-activity-list');
340
- const hideButtons = within(list).getAllByRole('button', { name: /hide from overview/i });
341
- expect(hideButtons.length).toBeGreaterThan(0);
342
-
343
- await user.click(hideButtons[0]);
344
-
345
- await waitFor(() => {
346
- expect(api.post).toHaveBeenCalledWith(
347
- '/activity/hide',
348
- expect.objectContaining({ keys: expect.any(Array) }),
349
- );
350
- });
351
- });
352
-
353
- it('posts the full list of keys when "Hide all" is clicked', async () => {
354
- const confirmSpy = vi.spyOn(window, 'confirm').mockReturnValue(true);
355
- (api.post as ReturnType<typeof vi.fn>).mockResolvedValue({ ok: true });
356
- const user = userEvent.setup();
357
- const snapshot = makeSnapshot();
358
- render(
359
- <Harness>
360
- <Overview
361
- snapshot={snapshot}
362
- settings={baseSettings}
363
- activeTab="overview"
364
- setActiveTab={vi.fn()}
365
- refreshSnapshot={vi.fn(async () => undefined)}
366
- />
367
- </Harness>,
368
- );
369
-
370
- await user.click(await screen.findByTestId('overview-hide-all'));
371
-
372
- await waitFor(() => {
373
- const calls = (api.post as ReturnType<typeof vi.fn>).mock.calls;
374
- const hideCall = calls.find(([url]: unknown[]) => url === '/activity/hide');
375
- expect(hideCall).toBeDefined();
376
- const body = hideCall?.[1] as { keys: string[] };
377
- expect(Array.isArray(body.keys)).toBe(true);
378
- expect(body.keys.length).toBeGreaterThan(0);
379
- });
380
-
381
- confirmSpy.mockRestore();
382
- });
383
-
384
- it('calls /tasks/submit when the "Submit to Odin" button is clicked', async () => {
385
- (api.post as ReturnType<typeof vi.fn>).mockResolvedValue({ subtasks: [{}, {}] });
386
- const user = userEvent.setup();
387
- const refresh = vi.fn(async () => undefined);
388
- const snapshot = makeSnapshot();
389
-
390
- render(
391
- <Harness>
392
- <Overview
393
- snapshot={snapshot}
394
- settings={baseSettings}
395
- activeTab="overview"
396
- setActiveTab={vi.fn()}
397
- refreshSnapshot={refresh}
398
- />
399
- </Harness>,
400
- );
401
-
402
- const textarea = await screen.findByTestId('overview-prompt-input');
403
- await user.type(textarea, 'Build a thing');
404
- await user.click(screen.getByTestId('overview-submit'));
405
-
406
- await waitFor(() => {
407
- expect(api.post).toHaveBeenCalledWith(
408
- '/tasks/submit',
409
- expect.objectContaining({ title: expect.stringContaining('Build a thing') }),
410
- );
411
- });
412
- });
413
- });