@polderlabs/bizar 10.2.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.
- package/README.md +31 -8
- package/bizar-dash/CONTROL_SURFACES.md +0 -1
- package/bizar-dash/dist/assets/{ActivityFeed-JjmOY2AQ.js → ActivityFeed-xXiUCZLB.js} +1 -1
- package/bizar-dash/dist/assets/{ActivityFeed-JjmOY2AQ.js.map → ActivityFeed-xXiUCZLB.js.map} +1 -1
- package/bizar-dash/dist/assets/{ActivityView-BIIMvGWo.js → ActivityView-nOYhCp3h.js} +1 -1
- package/bizar-dash/dist/assets/{ActivityView-BIIMvGWo.js.map → ActivityView-nOYhCp3h.js.map} +1 -1
- package/bizar-dash/dist/assets/{AdminView-DRidJtkq.js → AdminView-Coi4V3sq.js} +1 -1
- package/bizar-dash/dist/assets/{AdminView-DRidJtkq.js.map → AdminView-Coi4V3sq.js.map} +1 -1
- package/bizar-dash/dist/assets/{AgentActivity-79l4SBMC.js → AgentActivity-nEri4lbx.js} +1 -1
- package/bizar-dash/dist/assets/{AgentActivity-79l4SBMC.js.map → AgentActivity-nEri4lbx.js.map} +1 -1
- package/bizar-dash/dist/assets/{AgentsView-0vT4uPSc.js → AgentsView-ByiIJ0ej.js} +3 -3
- package/bizar-dash/dist/assets/{AgentsView-0vT4uPSc.js.map → AgentsView-ByiIJ0ej.js.map} +1 -1
- package/bizar-dash/dist/assets/{Alert-CG5q_s75.js → Alert-Dg_Vwxh5.js} +1 -1
- package/bizar-dash/dist/assets/{Alert-CG5q_s75.js.map → Alert-Dg_Vwxh5.js.map} +1 -1
- package/bizar-dash/dist/assets/{ArtifactsView-DM8ZmpR9.js → ArtifactsView-CGclRNnz.js} +1 -1
- package/bizar-dash/dist/assets/{ArtifactsView-DM8ZmpR9.js.map → ArtifactsView-CGclRNnz.js.map} +1 -1
- package/bizar-dash/dist/assets/{AuthView-BveN94MC.js → AuthView-utVm6M3D.js} +1 -1
- package/bizar-dash/dist/assets/{AuthView-BveN94MC.js.map → AuthView-utVm6M3D.js.map} +1 -1
- package/bizar-dash/dist/assets/{Avatar-ulUPIYTd.js → Avatar-CXDZdKy4.js} +1 -1
- package/bizar-dash/dist/assets/{Avatar-ulUPIYTd.js.map → Avatar-CXDZdKy4.js.map} +1 -1
- package/bizar-dash/dist/assets/{BackgroundJobsView-BWErhqFo.js → BackgroundJobsView-j603pz6o.js} +1 -1
- package/bizar-dash/dist/assets/{BackgroundJobsView-BWErhqFo.js.map → BackgroundJobsView-j603pz6o.js.map} +1 -1
- package/bizar-dash/dist/assets/{BackupView-CnBjzG9N.js → BackupView-DgvnntTE.js} +1 -1
- package/bizar-dash/dist/assets/{BackupView-CnBjzG9N.js.map → BackupView-DgvnntTE.js.map} +1 -1
- package/bizar-dash/dist/assets/{Card-B0imhxMk.js → Card-D9019JOD.js} +1 -1
- package/bizar-dash/dist/assets/{Card-B0imhxMk.js.map → Card-D9019JOD.js.map} +1 -1
- package/bizar-dash/dist/assets/{ChatView-D6zGytzx.js → ChatView-C0cTgj5d.js} +1 -1
- package/bizar-dash/dist/assets/{ChatView-D6zGytzx.js.map → ChatView-C0cTgj5d.js.map} +1 -1
- package/bizar-dash/dist/assets/{Chip-wwZSGwLE.js → Chip-DQtalZ4y.js} +1 -1
- package/bizar-dash/dist/assets/{Chip-wwZSGwLE.js.map → Chip-DQtalZ4y.js.map} +1 -1
- package/bizar-dash/dist/assets/{ClaudeSessionsView-DK1sOLhi.js → ClaudeSessionsView-H3Bqjo6b.js} +1 -1
- package/bizar-dash/dist/assets/{ClaudeSessionsView-DK1sOLhi.js.map → ClaudeSessionsView-H3Bqjo6b.js.map} +1 -1
- package/bizar-dash/dist/assets/{ClipboardView-CZ2lYPr0.js → ClipboardView-BAguaKbx.js} +1 -1
- package/bizar-dash/dist/assets/{ClipboardView-CZ2lYPr0.js.map → ClipboardView-BAguaKbx.js.map} +1 -1
- package/bizar-dash/dist/assets/{ConfigView-D-zT9eNA.js → ConfigView-DWHJgoe8.js} +1 -1
- package/bizar-dash/dist/assets/{ConfigView-D-zT9eNA.js.map → ConfigView-DWHJgoe8.js.map} +1 -1
- package/bizar-dash/dist/assets/{DiagnosticsView-BocV68Lb.js → DiagnosticsView-oCT624hk.js} +1 -1
- package/bizar-dash/dist/assets/{DiagnosticsView-BocV68Lb.js.map → DiagnosticsView-oCT624hk.js.map} +1 -1
- package/bizar-dash/dist/assets/{DialogsView-BVjPI5x7.js → DialogsView-CqHNals_.js} +1 -1
- package/bizar-dash/dist/assets/{DialogsView-BVjPI5x7.js.map → DialogsView-CqHNals_.js.map} +1 -1
- package/bizar-dash/dist/assets/{DoctorView-84gJcZwM.js → DoctorView-6kfQq_Mx.js} +1 -1
- package/bizar-dash/dist/assets/{DoctorView-84gJcZwM.js.map → DoctorView-6kfQq_Mx.js.map} +1 -1
- package/bizar-dash/dist/assets/{EmptyState-BjgVOrcO.js → EmptyState-DLmtBX_6.js} +1 -1
- package/bizar-dash/dist/assets/{EmptyState-BjgVOrcO.js.map → EmptyState-DLmtBX_6.js.map} +1 -1
- package/bizar-dash/dist/assets/{EnvVarsView-BJ2TEzF7.js → EnvVarsView-DySOXlP1.js} +2 -2
- package/bizar-dash/dist/assets/{EnvVarsView-BJ2TEzF7.js.map → EnvVarsView-DySOXlP1.js.map} +1 -1
- package/bizar-dash/dist/assets/{ErrorState-BE3WBFqF.js → ErrorState-Bump8diE.js} +1 -1
- package/bizar-dash/dist/assets/{ErrorState-BE3WBFqF.js.map → ErrorState-Bump8diE.js.map} +1 -1
- package/bizar-dash/dist/assets/{EvalView-BJJ2P-kK.js → EvalView-FnZ5d93z.js} +1 -1
- package/bizar-dash/dist/assets/{EvalView-BJJ2P-kK.js.map → EvalView-FnZ5d93z.js.map} +1 -1
- package/bizar-dash/dist/assets/{GoalsView-pwROHApi.js → GoalsView-C4m1WnVv.js} +1 -1
- package/bizar-dash/dist/assets/{GoalsView-pwROHApi.js.map → GoalsView-C4m1WnVv.js.map} +1 -1
- package/bizar-dash/dist/assets/{Grid-qcvbhx6e.js → Grid-dEnoGGws.js} +1 -1
- package/bizar-dash/dist/assets/{Grid-qcvbhx6e.js.map → Grid-dEnoGGws.js.map} +1 -1
- package/bizar-dash/dist/assets/{HistoryView-C7SSOLJA.js → HistoryView-xdRybjZ2.js} +1 -1
- package/bizar-dash/dist/assets/{HistoryView-C7SSOLJA.js.map → HistoryView-xdRybjZ2.js.map} +1 -1
- package/bizar-dash/dist/assets/{Input-Bgzxf_Hu.js → Input-BSa3lh_-.js} +1 -1
- package/bizar-dash/dist/assets/{Input-Bgzxf_Hu.js.map → Input-BSa3lh_-.js.map} +1 -1
- package/bizar-dash/dist/assets/{LibrariesView-CbFFksox.js → LibrariesView-1zR04Eci.js} +1 -1
- package/bizar-dash/dist/assets/{LibrariesView-CbFFksox.js.map → LibrariesView-1zR04Eci.js.map} +1 -1
- package/bizar-dash/dist/assets/{LightRAGView-BqDrJbRq.js → LightRAGView-PubmA9oL.js} +1 -1
- package/bizar-dash/dist/assets/{LightRAGView-BqDrJbRq.js.map → LightRAGView-PubmA9oL.js.map} +1 -1
- package/bizar-dash/dist/assets/{ListHeader-TjPJrUfY.js → ListHeader-Ak9WJd39.js} +1 -1
- package/bizar-dash/dist/assets/{ListHeader-TjPJrUfY.js.map → ListHeader-Ak9WJd39.js.map} +1 -1
- package/bizar-dash/dist/assets/{MemoryView-BlTeHLhX.js → MemoryView-DBGpuETw.js} +1 -1
- package/bizar-dash/dist/assets/{MemoryView-BlTeHLhX.js.map → MemoryView-DBGpuETw.js.map} +1 -1
- package/bizar-dash/dist/assets/MiscView-DufqBHkX.js +1 -0
- package/bizar-dash/dist/assets/{MiscView-B8QY82Pm.js.map → MiscView-DufqBHkX.js.map} +1 -1
- package/bizar-dash/dist/assets/{ModsView-CvW1OWts.js → ModsView-DcX6eVU2.js} +2 -2
- package/bizar-dash/dist/assets/{ModsView-CvW1OWts.js.map → ModsView-DcX6eVU2.js.map} +1 -1
- package/bizar-dash/dist/assets/{NotificationsView-CsBt5U7x.js → NotificationsView-B8IhHRQC.js} +1 -1
- package/bizar-dash/dist/assets/{NotificationsView-CsBt5U7x.js.map → NotificationsView-B8IhHRQC.js.map} +1 -1
- package/bizar-dash/dist/assets/ObsidianView-DEuk65zS.js +1 -0
- package/bizar-dash/dist/assets/{ObsidianView-BCTejEj2.js.map → ObsidianView-DEuk65zS.js.map} +1 -1
- package/bizar-dash/dist/assets/{OverviewView-BsuPxwnB.js → OverviewView-CTI2spTd.js} +1 -1
- package/bizar-dash/dist/assets/{OverviewView-BsuPxwnB.js.map → OverviewView-CTI2spTd.js.map} +1 -1
- package/bizar-dash/dist/assets/{ProgressBar-DlZTETEn.js → ProgressBar-D3lkz42E.js} +1 -1
- package/bizar-dash/dist/assets/{ProgressBar-DlZTETEn.js.map → ProgressBar-D3lkz42E.js.map} +1 -1
- package/bizar-dash/dist/assets/{ProjectsView-Soxtmpet.js → ProjectsView-Du0LzE7A.js} +1 -1
- package/bizar-dash/dist/assets/{ProjectsView-Soxtmpet.js.map → ProjectsView-Du0LzE7A.js.map} +1 -1
- package/bizar-dash/dist/assets/{ProvidersView-DaCEV9pM.js → ProvidersView-5bCgXwBo.js} +1 -1
- package/bizar-dash/dist/assets/{ProvidersView-DaCEV9pM.js.map → ProvidersView-5bCgXwBo.js.map} +1 -1
- package/bizar-dash/dist/assets/{SchedulesView-DY2ByBj_.js → SchedulesView-DFHdIz5P.js} +1 -1
- package/bizar-dash/dist/assets/{SchedulesView-DY2ByBj_.js.map → SchedulesView-DFHdIz5P.js.map} +1 -1
- package/bizar-dash/dist/assets/{Select-Dbd88_n8.js → Select-C8EJj4NM.js} +1 -1
- package/bizar-dash/dist/assets/{Select-Dbd88_n8.js.map → Select-C8EJj4NM.js.map} +1 -1
- package/bizar-dash/dist/assets/{SettingsRow-CLMNd434.js → SettingsRow-BdOOmYMD.js} +1 -1
- package/bizar-dash/dist/assets/{SettingsRow-CLMNd434.js.map → SettingsRow-BdOOmYMD.js.map} +1 -1
- package/bizar-dash/dist/assets/{SettingsView-b24oFq9x.js → SettingsView-CqwQ6Knv.js} +1 -1
- package/bizar-dash/dist/assets/{SettingsView-b24oFq9x.js.map → SettingsView-CqwQ6Knv.js.map} +1 -1
- package/bizar-dash/dist/assets/{Sheet-DnDid58j.js → Sheet-Cztsvgse.js} +1 -1
- package/bizar-dash/dist/assets/{Sheet-DnDid58j.js.map → Sheet-Cztsvgse.js.map} +1 -1
- package/bizar-dash/dist/assets/{Slider-BJCvKI1I.js → Slider-BexNfF6K.js} +1 -1
- package/bizar-dash/dist/assets/{Slider-BJCvKI1I.js.map → Slider-BexNfF6K.js.map} +1 -1
- package/bizar-dash/dist/assets/{Sparkline-ktqQLdyb.js → Sparkline-CLZBtvsN.js} +1 -1
- package/bizar-dash/dist/assets/{Sparkline-ktqQLdyb.js.map → Sparkline-CLZBtvsN.js.map} +1 -1
- package/bizar-dash/dist/assets/{Switch-CwXfsDii.js → Switch-B1tiRwNK.js} +1 -1
- package/bizar-dash/dist/assets/{Switch-CwXfsDii.js.map → Switch-B1tiRwNK.js.map} +1 -1
- package/bizar-dash/dist/assets/{TasksView-BHmpzFCf.js → TasksView-CT0fPlos.js} +1 -1
- package/bizar-dash/dist/assets/{TasksView-BHmpzFCf.js.map → TasksView-CT0fPlos.js.map} +1 -1
- package/bizar-dash/dist/assets/{Textarea-BzIAwSlp.js → Textarea-D_TPpVMy.js} +1 -1
- package/bizar-dash/dist/assets/{Textarea-BzIAwSlp.js.map → Textarea-D_TPpVMy.js.map} +1 -1
- package/bizar-dash/dist/assets/{UpdateView-CSmX9NN0.js → UpdateView-tD2q2OhW.js} +1 -1
- package/bizar-dash/dist/assets/{UpdateView-CSmX9NN0.js.map → UpdateView-tD2q2OhW.js.map} +1 -1
- package/bizar-dash/dist/assets/{UsageView-COyr_Gfi.js → UsageView-B4BuAFKA.js} +1 -1
- package/bizar-dash/dist/assets/{UsageView-COyr_Gfi.js.map → UsageView-B4BuAFKA.js.map} +1 -1
- package/bizar-dash/dist/assets/{ViewHeader-BzYZ3m-e.js → ViewHeader-V_SzbUpw.js} +1 -1
- package/bizar-dash/dist/assets/{ViewHeader-BzYZ3m-e.js.map → ViewHeader-V_SzbUpw.js.map} +1 -1
- package/bizar-dash/dist/assets/{VoiceView-D33_xG5t.js → VoiceView-D3vb5OM2.js} +1 -1
- package/bizar-dash/dist/assets/{VoiceView-D33_xG5t.js.map → VoiceView-D3vb5OM2.js.map} +1 -1
- package/bizar-dash/dist/assets/{brain-CM-Vls8r.js → brain-BmfWcitQ.js} +1 -1
- package/bizar-dash/dist/assets/{brain-CM-Vls8r.js.map → brain-BmfWcitQ.js.map} +1 -1
- package/bizar-dash/dist/assets/{calendar-C0lgZk69.js → calendar-VntJUzFB.js} +1 -1
- package/bizar-dash/dist/assets/{calendar-C0lgZk69.js.map → calendar-VntJUzFB.js.map} +1 -1
- package/bizar-dash/dist/assets/{circle-Bx_hQEBC.js → circle-KrQQySeK.js} +1 -1
- package/bizar-dash/dist/assets/{circle-Bx_hQEBC.js.map → circle-KrQQySeK.js.map} +1 -1
- package/bizar-dash/dist/assets/{circle-alert-DHvsqpw5.js → circle-alert-CQ9MLygI.js} +1 -1
- package/bizar-dash/dist/assets/{circle-alert-DHvsqpw5.js.map → circle-alert-CQ9MLygI.js.map} +1 -1
- package/bizar-dash/dist/assets/{circle-check-Bx8wmXR9.js → circle-check-COtVgsWw.js} +1 -1
- package/bizar-dash/dist/assets/{circle-check-Bx8wmXR9.js.map → circle-check-COtVgsWw.js.map} +1 -1
- package/bizar-dash/dist/assets/{clock-CejGoecX.js → clock-C0GlM4qp.js} +1 -1
- package/bizar-dash/dist/assets/{clock-CejGoecX.js.map → clock-C0GlM4qp.js.map} +1 -1
- package/bizar-dash/dist/assets/{download-4cEUWue1.js → download-CW4DmtRe.js} +1 -1
- package/bizar-dash/dist/assets/{download-4cEUWue1.js.map → download-CW4DmtRe.js.map} +1 -1
- package/bizar-dash/dist/assets/{external-link-0NqUhI4i.js → external-link-CAOnh_DH.js} +1 -1
- package/bizar-dash/dist/assets/{external-link-0NqUhI4i.js.map → external-link-CAOnh_DH.js.map} +1 -1
- package/bizar-dash/dist/assets/{file-text-yEMkrSoZ.js → file-text-CS1jB_oV.js} +1 -1
- package/bizar-dash/dist/assets/{file-text-yEMkrSoZ.js.map → file-text-CS1jB_oV.js.map} +1 -1
- package/bizar-dash/dist/assets/{filter-BXt60zAS.js → filter-DyQbml3L.js} +1 -1
- package/bizar-dash/dist/assets/{filter-BXt60zAS.js.map → filter-DyQbml3L.js.map} +1 -1
- package/bizar-dash/dist/assets/{git-pull-request-BjG5lNtR.js → git-pull-request-Co6gYfba.js} +1 -1
- package/bizar-dash/dist/assets/{git-pull-request-BjG5lNtR.js.map → git-pull-request-Co6gYfba.js.map} +1 -1
- package/bizar-dash/dist/assets/{main-CokHAXWM.js → main-CyAIirBB.js} +28 -33
- package/bizar-dash/dist/assets/main-CyAIirBB.js.map +1 -0
- package/bizar-dash/dist/assets/network-CDn43Gsj.js +6 -0
- package/bizar-dash/dist/assets/network-CDn43Gsj.js.map +1 -0
- package/bizar-dash/dist/assets/{pause-CAmulU0F.js → pause-CKYjSTGX.js} +1 -1
- package/bizar-dash/dist/assets/{pause-CAmulU0F.js.map → pause-CKYjSTGX.js.map} +1 -1
- package/bizar-dash/dist/assets/{pencil-eq5IqBmU.js → pencil-BUJ2DpWs.js} +1 -1
- package/bizar-dash/dist/assets/{pencil-eq5IqBmU.js.map → pencil-BUJ2DpWs.js.map} +1 -1
- package/bizar-dash/dist/assets/{play-BoLrrcBA.js → play-CGxZWqtW.js} +1 -1
- package/bizar-dash/dist/assets/{play-BoLrrcBA.js.map → play-CGxZWqtW.js.map} +1 -1
- package/bizar-dash/dist/assets/{plug-DBrVM9lK.js → plug-CQYGgGSy.js} +1 -1
- package/bizar-dash/dist/assets/{plug-DBrVM9lK.js.map → plug-CQYGgGSy.js.map} +1 -1
- package/bizar-dash/dist/assets/{plus-DENm0hqV.js → plus-fFxt-8z5.js} +1 -1
- package/bizar-dash/dist/assets/{plus-DENm0hqV.js.map → plus-fFxt-8z5.js.map} +1 -1
- package/bizar-dash/dist/assets/{power-DLjXF7zE.js → power-Cjgy2KsI.js} +1 -1
- package/bizar-dash/dist/assets/{power-DLjXF7zE.js.map → power-Cjgy2KsI.js.map} +1 -1
- package/bizar-dash/dist/assets/{power-off-D47cOnG_.js → power-off-B81hLRah.js} +1 -1
- package/bizar-dash/dist/assets/{power-off-D47cOnG_.js.map → power-off-B81hLRah.js.map} +1 -1
- package/bizar-dash/dist/assets/{refresh-ccw-DNrXX9gB.js → refresh-ccw-BCXx86xp.js} +1 -1
- package/bizar-dash/dist/assets/{refresh-ccw-DNrXX9gB.js.map → refresh-ccw-BCXx86xp.js.map} +1 -1
- package/bizar-dash/dist/assets/{refresh-cw-CoAHDpeS.js → refresh-cw-COTg1nZo.js} +1 -1
- package/bizar-dash/dist/assets/{refresh-cw-CoAHDpeS.js.map → refresh-cw-COTg1nZo.js.map} +1 -1
- package/bizar-dash/dist/assets/{rotate-ccw-ObX5awaG.js → rotate-ccw-BZrEVc0Z.js} +1 -1
- package/bizar-dash/dist/assets/{rotate-ccw-ObX5awaG.js.map → rotate-ccw-BZrEVc0Z.js.map} +1 -1
- package/bizar-dash/dist/assets/{rotate-cw-xpPJw9LP.js → rotate-cw-CsTtaLV2.js} +1 -1
- package/bizar-dash/dist/assets/{rotate-cw-xpPJw9LP.js.map → rotate-cw-CsTtaLV2.js.map} +1 -1
- package/bizar-dash/dist/assets/{save-D1iKiJJl.js → save-DtMTge1F.js} +1 -1
- package/bizar-dash/dist/assets/{save-D1iKiJJl.js.map → save-DtMTge1F.js.map} +1 -1
- package/bizar-dash/dist/assets/{send-BRcAhZUm.js → send-DyBhyk8t.js} +1 -1
- package/bizar-dash/dist/assets/{send-BRcAhZUm.js.map → send-DyBhyk8t.js.map} +1 -1
- package/bizar-dash/dist/assets/{shield-alert-C6vEcK-g.js → shield-alert-BPGJlRF8.js} +1 -1
- package/bizar-dash/dist/assets/{shield-alert-C6vEcK-g.js.map → shield-alert-BPGJlRF8.js.map} +1 -1
- package/bizar-dash/dist/assets/{trash-2-DZDjEnNh.js → trash-2-2NsyTU8c.js} +1 -1
- package/bizar-dash/dist/assets/{trash-2-DZDjEnNh.js.map → trash-2-2NsyTU8c.js.map} +1 -1
- package/bizar-dash/dist/assets/{trending-up-DMj-AJVf.js → trending-up-BXwP23VK.js} +1 -1
- package/bizar-dash/dist/assets/{trending-up-DMj-AJVf.js.map → trending-up-BXwP23VK.js.map} +1 -1
- package/bizar-dash/dist/assets/{triangle-alert-_2xe_tl4.js → triangle-alert-DFmQ_RXN.js} +1 -1
- package/bizar-dash/dist/assets/{triangle-alert-_2xe_tl4.js.map → triangle-alert-DFmQ_RXN.js.map} +1 -1
- package/bizar-dash/dist/assets/{upload-DdDljAeV.js → upload-Cj-HYRYV.js} +1 -1
- package/bizar-dash/dist/assets/{upload-DdDljAeV.js.map → upload-Cj-HYRYV.js.map} +1 -1
- package/bizar-dash/dist/assets/{zap-mHsgh0FP.js → zap-BaOiybcl.js} +1 -1
- package/bizar-dash/dist/assets/{zap-mHsgh0FP.js.map → zap-BaOiybcl.js.map} +1 -1
- package/bizar-dash/dist/index.html +1 -1
- package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/bizar-dash/src/server/routes/update.mjs +48 -21
- package/bizar-dash/src/web/v8/App.tsx +0 -4
- package/bizar-dash/src/web/v8/__tests__/new-views.test.tsx +0 -17
- package/bizar-dash/src/web/v8/shell/Sidebar.tsx +0 -1
- package/bizar-dash/src/web/v8/views/Router.tsx +0 -5
- package/bizar-dash/tests/_update-test-helpers.mjs +13 -0
- package/bizar-dash/tests/update-check.test.mjs +18 -13
- package/bizar-dash/tests/update-packages.test.mjs +154 -0
- package/bizar-dash/tests/update-run.test.mjs +17 -80
- package/cli/banner.mjs +1 -1
- package/cli/bin.mjs +8 -1
- package/cli/bootstrap.mjs +1 -1
- package/cli/commands/claude-cmd.mjs +1 -1
- package/cli/commands/deploy/docker.mjs +0 -3
- package/cli/install/banner.mjs +67 -0
- package/cli/install/banner.test.mjs +39 -0
- package/cli/install/index.mjs +32 -0
- package/cli/install/index.test.mjs +61 -0
- package/cli/install/paths.mjs +80 -0
- package/cli/install/paths.test.mjs +77 -0
- package/cli/install/plugin.mjs +161 -0
- package/cli/install/postinstall.mjs +111 -0
- package/cli/install.mjs +13 -600
- package/cli/migrate.mjs +157 -0
- package/cli/migrate.test.mjs +85 -0
- package/cli/provision.mjs +615 -1918
- package/cli/provision.test.mjs +1 -1
- package/cli/service-controller.test.mjs +0 -1
- package/cli/service-env.mjs +0 -1
- package/cli/utils.mjs +0 -1
- package/install.sh +54 -466
- package/package.json +1 -1
- package/packages/sdk/package.json +1 -1
- package/scripts/install-curl.sh +17 -0
- package/bizar-dash/dist/assets/HeadroomView-D1UiTYbt.js +0 -11
- package/bizar-dash/dist/assets/HeadroomView-D1UiTYbt.js.map +0 -1
- package/bizar-dash/dist/assets/MiscView-B8QY82Pm.js +0 -1
- package/bizar-dash/dist/assets/ObsidianView-BCTejEj2.js +0 -1
- package/bizar-dash/dist/assets/main-CokHAXWM.js.map +0 -1
- package/bizar-dash/skills/headroom/SKILL.md +0 -94
- package/bizar-dash/src/server/headroom.mjs +0 -649
- package/bizar-dash/src/server/routes/headroom.mjs +0 -126
- package/bizar-dash/src/web/v8/views/Headroom/HeadroomView.tsx +0 -201
- package/bizar-dash/tests/graphify-mod-spawn.node.test.mjs +0 -90
- package/bizar-dash/tests/headroom-install.test.mjs +0 -173
- package/bizar-dash/tests/headroom-settings.test.mjs +0 -126
- package/bizar-dash/tests/headroom-status.test.mjs +0 -117
- package/bizar-dash/tests/v7-archive/mobile-overview.test.tsx +0 -214
- package/bizar-dash/tests/v7-archive/mobile-settings.test.tsx +0 -181
- package/bizar-dash/tests/v7-archive/navigation/CommandPalette.test.tsx +0 -105
- package/bizar-dash/tests/v7-archive/settings-nav.test.tsx +0 -128
- package/bizar-dash/tests/v7-archive/views/Overview.test.tsx +0 -413
- package/cli/commands/headroom.mjs +0 -204
- package/cli/provision-claude.mjs +0 -1176
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{c as e}from"./main-CyAIirBB.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 h=e("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);export{h as N};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-CDn43Gsj.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/network.js"],"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 Network = createLucideIcon(\"Network\", [\n [\"rect\", { x: \"16\", y: \"16\", width: \"6\", height: \"6\", rx: \"1\", key: \"4q2zg0\" }],\n [\"rect\", { x: \"2\", y: \"16\", width: \"6\", height: \"6\", rx: \"1\", key: \"8cvhb9\" }],\n [\"rect\", { x: \"9\", y: \"2\", width: \"6\", height: \"6\", rx: \"1\", key: \"1egb70\" }],\n [\"path\", { d: \"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3\", key: \"1jsf9p\" }],\n [\"path\", { d: \"M12 12V8\", key: \"2874zd\" }]\n]);\n\nexport { Network as default };\n//# sourceMappingURL=network.js.map\n"],"names":["Network","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAUC,EAAiB,UAAW,CAC1C,CAAC,OAAQ,CAAE,EAAG,KAAM,EAAG,KAAM,MAAO,IAAK,OAAQ,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,EAC9E,CAAC,OAAQ,CAAE,EAAG,IAAK,EAAG,KAAM,MAAO,IAAK,OAAQ,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,EAC7E,CAAC,OAAQ,CAAE,EAAG,IAAK,EAAG,IAAK,MAAO,IAAK,OAAQ,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,EAC5E,CAAC,OAAQ,CAAE,EAAG,4CAA6C,IAAK,QAAQ,CAAE,EAC1E,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,CAC3C,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pause-
|
|
1
|
+
{"version":3,"file":"pause-CKYjSTGX.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/pause.js"],"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 Pause = createLucideIcon(\"Pause\", [\n [\"rect\", { x: \"14\", y: \"4\", width: \"4\", height: \"16\", rx: \"1\", key: \"zuxfzm\" }],\n [\"rect\", { x: \"6\", y: \"4\", width: \"4\", height: \"16\", rx: \"1\", key: \"1okwgv\" }]\n]);\n\nexport { Pause as default };\n//# sourceMappingURL=pause.js.map\n"],"names":["Pause","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAQC,EAAiB,QAAS,CACtC,CAAC,OAAQ,CAAE,EAAG,KAAM,EAAG,IAAK,MAAO,IAAK,OAAQ,KAAM,GAAI,IAAK,IAAK,QAAQ,CAAE,EAC9E,CAAC,OAAQ,CAAE,EAAG,IAAK,EAAG,IAAK,MAAO,IAAK,OAAQ,KAAM,GAAI,IAAK,IAAK,QAAQ,CAAE,CAC/E,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pencil-
|
|
1
|
+
{"version":3,"file":"pencil-BUJ2DpWs.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/pencil.js"],"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 Pencil = createLucideIcon(\"Pencil\", [\n [\n \"path\",\n {\n d: \"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z\",\n key: \"1a8usu\"\n }\n ],\n [\"path\", { d: \"m15 5 4 4\", key: \"1mk7zo\" }]\n]);\n\nexport { Pencil as default };\n//# sourceMappingURL=pencil.js.map\n"],"names":["Pencil","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAASC,EAAiB,SAAU,CACxC,CACE,OACA,CACE,EAAG,mIACH,IAAK,QACX,CACA,EACE,CAAC,OAAQ,CAAE,EAAG,YAAa,IAAK,QAAQ,CAAE,CAC5C,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"play-
|
|
1
|
+
{"version":3,"file":"play-CGxZWqtW.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/play.js"],"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 Play = createLucideIcon(\"Play\", [\n [\"polygon\", { points: \"6 3 20 12 6 21 6 3\", key: \"1oa8hb\" }]\n]);\n\nexport { Play as default };\n//# sourceMappingURL=play.js.map\n"],"names":["Play","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAOC,EAAiB,OAAQ,CACpC,CAAC,UAAW,CAAE,OAAQ,qBAAsB,IAAK,QAAQ,CAAE,CAC7D,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plug-
|
|
1
|
+
{"version":3,"file":"plug-CQYGgGSy.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/plug.js"],"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 Plug = createLucideIcon(\"Plug\", [\n [\"path\", { d: \"M12 22v-5\", key: \"1ega77\" }],\n [\"path\", { d: \"M9 8V2\", key: \"14iosj\" }],\n [\"path\", { d: \"M15 8V2\", key: \"18g5xt\" }],\n [\"path\", { d: \"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z\", key: \"osxo6l\" }]\n]);\n\nexport { Plug as default };\n//# sourceMappingURL=plug.js.map\n"],"names":["Plug","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAOC,EAAiB,OAAQ,CACpC,CAAC,OAAQ,CAAE,EAAG,YAAa,IAAK,QAAQ,CAAE,EAC1C,CAAC,OAAQ,CAAE,EAAG,SAAU,IAAK,QAAQ,CAAE,EACvC,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAQ,CAAE,EACxC,CAAC,OAAQ,CAAE,EAAG,4CAA6C,IAAK,QAAQ,CAAE,CAC5E,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plus-
|
|
1
|
+
{"version":3,"file":"plus-fFxt-8z5.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/plus.js"],"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 Plus = createLucideIcon(\"Plus\", [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }]\n]);\n\nexport { Plus as default };\n//# sourceMappingURL=plus.js.map\n"],"names":["Plus","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAOC,EAAiB,OAAQ,CACpC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,EACzC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,CAC3C,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power-
|
|
1
|
+
{"version":3,"file":"power-Cjgy2KsI.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/power.js"],"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 Power = createLucideIcon(\"Power\", [\n [\"path\", { d: \"M12 2v10\", key: \"mnfbl\" }],\n [\"path\", { d: \"M18.4 6.6a9 9 0 1 1-12.77.04\", key: \"obofu9\" }]\n]);\n\nexport { Power as default };\n//# sourceMappingURL=power.js.map\n"],"names":["Power","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAQC,EAAiB,QAAS,CACtC,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,OAAO,CAAE,EACxC,CAAC,OAAQ,CAAE,EAAG,+BAAgC,IAAK,QAAQ,CAAE,CAC/D,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"power-off-
|
|
1
|
+
{"version":3,"file":"power-off-B81hLRah.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/power-off.js"],"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 PowerOff = createLucideIcon(\"PowerOff\", [\n [\"path\", { d: \"M18.36 6.64A9 9 0 0 1 20.77 15\", key: \"dxknvb\" }],\n [\"path\", { d: \"M6.16 6.16a9 9 0 1 0 12.68 12.68\", key: \"1x7qb5\" }],\n [\"path\", { d: \"M12 2v4\", key: \"3427ic\" }],\n [\"path\", { d: \"m2 2 20 20\", key: \"1ooewy\" }]\n]);\n\nexport { PowerOff as default };\n//# sourceMappingURL=power-off.js.map\n"],"names":["PowerOff","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,WAAY,CAC5C,CAAC,OAAQ,CAAE,EAAG,iCAAkC,IAAK,QAAQ,CAAE,EAC/D,CAAC,OAAQ,CAAE,EAAG,mCAAoC,IAAK,QAAQ,CAAE,EACjE,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAQ,CAAE,EACxC,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,CAC7C,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-ccw-
|
|
1
|
+
{"version":3,"file":"refresh-ccw-BCXx86xp.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/refresh-ccw.js"],"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 RefreshCcw = createLucideIcon(\"RefreshCcw\", [\n [\"path\", { d: \"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\", key: \"14sxne\" }],\n [\"path\", { d: \"M3 3v5h5\", key: \"1xhq8a\" }],\n [\"path\", { d: \"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16\", key: \"1hlbsb\" }],\n [\"path\", { d: \"M16 16h5v5\", key: \"ccwih5\" }]\n]);\n\nexport { RefreshCcw as default };\n//# sourceMappingURL=refresh-ccw.js.map\n"],"names":["RefreshCcw","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAaC,EAAiB,aAAc,CAChD,CAAC,OAAQ,CAAE,EAAG,qDAAsD,IAAK,QAAQ,CAAE,EACnF,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,EACzC,CAAC,OAAQ,CAAE,EAAG,sDAAuD,IAAK,QAAQ,CAAE,EACpF,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,CAC7C,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-cw-
|
|
1
|
+
{"version":3,"file":"refresh-cw-COTg1nZo.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/refresh-cw.js"],"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 RefreshCw = createLucideIcon(\"RefreshCw\", [\n [\"path\", { d: \"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\", key: \"v9h5vc\" }],\n [\"path\", { d: \"M21 3v5h-5\", key: \"1q7to0\" }],\n [\"path\", { d: \"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\", key: \"3uifl3\" }],\n [\"path\", { d: \"M8 16H3v5\", key: \"1cv678\" }]\n]);\n\nexport { RefreshCw as default };\n//# sourceMappingURL=refresh-cw.js.map\n"],"names":["RefreshCw","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAYC,EAAiB,YAAa,CAC9C,CAAC,OAAQ,CAAE,EAAG,qDAAsD,IAAK,QAAQ,CAAE,EACnF,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,EAC3C,CAAC,OAAQ,CAAE,EAAG,sDAAuD,IAAK,QAAQ,CAAE,EACpF,CAAC,OAAQ,CAAE,EAAG,YAAa,IAAK,QAAQ,CAAE,CAC5C,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rotate-ccw-
|
|
1
|
+
{"version":3,"file":"rotate-ccw-BZrEVc0Z.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/rotate-ccw.js"],"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 RotateCcw = createLucideIcon(\"RotateCcw\", [\n [\"path\", { d: \"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\", key: \"1357e3\" }],\n [\"path\", { d: \"M3 3v5h5\", key: \"1xhq8a\" }]\n]);\n\nexport { RotateCcw as default };\n//# sourceMappingURL=rotate-ccw.js.map\n"],"names":["RotateCcw","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAYC,EAAiB,YAAa,CAC9C,CAAC,OAAQ,CAAE,EAAG,oDAAqD,IAAK,QAAQ,CAAE,EAClF,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,CAC3C,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rotate-cw-
|
|
1
|
+
{"version":3,"file":"rotate-cw-CsTtaLV2.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/rotate-cw.js"],"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 RotateCw = createLucideIcon(\"RotateCw\", [\n [\"path\", { d: \"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8\", key: \"1p45f6\" }],\n [\"path\", { d: \"M21 3v5h-5\", key: \"1q7to0\" }]\n]);\n\nexport { RotateCw as default };\n//# sourceMappingURL=rotate-cw.js.map\n"],"names":["RotateCw","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,WAAY,CAC5C,CAAC,OAAQ,CAAE,EAAG,oDAAqD,IAAK,QAAQ,CAAE,EAClF,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,CAC7C,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-
|
|
1
|
+
{"version":3,"file":"save-DtMTge1F.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/save.js"],"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 Save = createLucideIcon(\"Save\", [\n [\n \"path\",\n {\n d: \"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z\",\n key: \"1c8476\"\n }\n ],\n [\"path\", { d: \"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7\", key: \"1ydtos\" }],\n [\"path\", { d: \"M7 3v4a1 1 0 0 0 1 1h7\", key: \"t51u73\" }]\n]);\n\nexport { Save as default };\n//# sourceMappingURL=save.js.map\n"],"names":["Save","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAOC,EAAiB,OAAQ,CACpC,CACE,OACA,CACE,EAAG,qGACH,IAAK,QACX,CACA,EACE,CAAC,OAAQ,CAAE,EAAG,4CAA6C,IAAK,QAAQ,CAAE,EAC1E,CAAC,OAAQ,CAAE,EAAG,yBAA0B,IAAK,QAAQ,CAAE,CACzD,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-
|
|
1
|
+
{"version":3,"file":"send-DyBhyk8t.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/send.js"],"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 Send = createLucideIcon(\"Send\", [\n [\n \"path\",\n {\n d: \"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z\",\n key: \"1ffxy3\"\n }\n ],\n [\"path\", { d: \"m21.854 2.147-10.94 10.939\", key: \"12cjpa\" }]\n]);\n\nexport { Send as default };\n//# sourceMappingURL=send.js.map\n"],"names":["Send","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAOC,EAAiB,OAAQ,CACpC,CACE,OACA,CACE,EAAG,kIACH,IAAK,QACX,CACA,EACE,CAAC,OAAQ,CAAE,EAAG,6BAA8B,IAAK,QAAQ,CAAE,CAC7D,CAAC","x_google_ignoreList":[0]}
|
package/bizar-dash/dist/assets/{shield-alert-C6vEcK-g.js.map → shield-alert-BPGJlRF8.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shield-alert-
|
|
1
|
+
{"version":3,"file":"shield-alert-BPGJlRF8.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/shield-alert.js"],"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 ShieldAlert = createLucideIcon(\"ShieldAlert\", [\n [\n \"path\",\n {\n d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\",\n key: \"oel41y\"\n }\n ],\n [\"path\", { d: \"M12 8v4\", key: \"1got3b\" }],\n [\"path\", { d: \"M12 16h.01\", key: \"1drbdi\" }]\n]);\n\nexport { ShieldAlert as default };\n//# sourceMappingURL=shield-alert.js.map\n"],"names":["ShieldAlert","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAcC,EAAiB,cAAe,CAClD,CACE,OACA,CACE,EAAG,qKACH,IAAK,QACX,CACA,EACE,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAQ,CAAE,EACxC,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,CAC7C,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trash-2-
|
|
1
|
+
{"version":3,"file":"trash-2-2NsyTU8c.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/trash-2.js"],"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 Trash2 = createLucideIcon(\"Trash2\", [\n [\"path\", { d: \"M3 6h18\", key: \"d0wm0j\" }],\n [\"path\", { d: \"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6\", key: \"4alrt4\" }],\n [\"path\", { d: \"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2\", key: \"v07s0e\" }],\n [\"line\", { x1: \"10\", x2: \"10\", y1: \"11\", y2: \"17\", key: \"1uufr5\" }],\n [\"line\", { x1: \"14\", x2: \"14\", y1: \"11\", y2: \"17\", key: \"xtxkd\" }]\n]);\n\nexport { Trash2 as default };\n//# sourceMappingURL=trash-2.js.map\n"],"names":["Trash2","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAASC,EAAiB,SAAU,CACxC,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAQ,CAAE,EACxC,CAAC,OAAQ,CAAE,EAAG,wCAAyC,IAAK,QAAQ,CAAE,EACtE,CAAC,OAAQ,CAAE,EAAG,qCAAsC,IAAK,QAAQ,CAAE,EACnE,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,IAAK,QAAQ,CAAE,EAClE,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,IAAK,OAAO,CAAE,CACnE,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trending-up-
|
|
1
|
+
{"version":3,"file":"trending-up-BXwP23VK.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/trending-up.js"],"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 TrendingUp = createLucideIcon(\"TrendingUp\", [\n [\"polyline\", { points: \"22 7 13.5 15.5 8.5 10.5 2 17\", key: \"126l90\" }],\n [\"polyline\", { points: \"16 7 22 7 22 13\", key: \"kwv8wd\" }]\n]);\n\nexport { TrendingUp as default };\n//# sourceMappingURL=trending-up.js.map\n"],"names":["TrendingUp","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAaC,EAAiB,aAAc,CAChD,CAAC,WAAY,CAAE,OAAQ,+BAAgC,IAAK,QAAQ,CAAE,EACtE,CAAC,WAAY,CAAE,OAAQ,kBAAmB,IAAK,QAAQ,CAAE,CAC3D,CAAC","x_google_ignoreList":[0]}
|
package/bizar-dash/dist/assets/{triangle-alert-_2xe_tl4.js.map → triangle-alert-DFmQ_RXN.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triangle-alert-
|
|
1
|
+
{"version":3,"file":"triangle-alert-DFmQ_RXN.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/triangle-alert.js"],"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 TriangleAlert = createLucideIcon(\"TriangleAlert\", [\n [\n \"path\",\n {\n d: \"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\",\n key: \"wmoenq\"\n }\n ],\n [\"path\", { d: \"M12 9v4\", key: \"juzpu7\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n]);\n\nexport { TriangleAlert as default };\n//# sourceMappingURL=triangle-alert.js.map\n"],"names":["TriangleAlert","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAgBC,EAAiB,gBAAiB,CACtD,CACE,OACA,CACE,EAAG,2EACH,IAAK,QACX,CACA,EACE,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAQ,CAAE,EACxC,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,CAC7C,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-
|
|
1
|
+
{"version":3,"file":"upload-Cj-HYRYV.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/upload.js"],"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 Upload = createLucideIcon(\"Upload\", [\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }],\n [\"polyline\", { points: \"17 8 12 3 7 8\", key: \"t8dd8p\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"3\", y2: \"15\", key: \"widbto\" }]\n]);\n\nexport { Upload as default };\n//# sourceMappingURL=upload.js.map\n"],"names":["Upload","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAASC,EAAiB,SAAU,CACxC,CAAC,OAAQ,CAAE,EAAG,4CAA6C,IAAK,QAAQ,CAAE,EAC1E,CAAC,WAAY,CAAE,OAAQ,gBAAiB,IAAK,QAAQ,CAAE,EACvD,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,IAAK,GAAI,KAAM,IAAK,QAAQ,CAAE,CACnE,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zap-
|
|
1
|
+
{"version":3,"file":"zap-BaOiybcl.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/zap.js"],"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 Zap = createLucideIcon(\"Zap\", [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n]);\n\nexport { Zap as default };\n//# sourceMappingURL=zap.js.map\n"],"names":["Zap","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAMC,EAAiB,MAAO,CAClC,CACE,OACA,CACE,EAAG,8JACH,IAAK,QACX,CACA,CACA,CAAC","x_google_ignoreList":[0]}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
11
11
|
<link rel="stylesheet" href="https://rsms.me/inter/inter.css" />
|
|
12
|
-
<script type="module" crossorigin src="/assets/main-
|
|
12
|
+
<script type="module" crossorigin src="/assets/main-CyAIirBB.js"></script>
|
|
13
13
|
<link rel="modulepreload" crossorigin href="/assets/cmdk-DVxytz9i.js">
|
|
14
14
|
<link rel="stylesheet" crossorigin href="/assets/main-CcQfRfIJ.css">
|
|
15
15
|
</head>
|
package/bizar-dash/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"4.1.10","results":[[":tests/views/Agents.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/data.test.tsx",{"duration":586.3947840000001,"failed":false}],[":tests/views/Tasks.test.tsx",{"duration":0,"failed":true}],[":tests/views/Memory.test.tsx",{"duration":0,"failed":true}],[":tests/eval-web-ui.test.tsx",{"duration":0,"failed":true}],[":tests/a11y.test.tsx",{"duration":0,"failed":true}],[":tests/autosave.test.tsx",{"duration":0,"failed":true}],[":tests/a11y/forms.test.tsx",{"duration":0,"failed":true}],[":tests/views/Overview.test.tsx",{"duration":0,"failed":true}],[":tests/mobile-layout.test.tsx",{"duration":0,"failed":true}],[":tests/mobile-overview.test.tsx",{"duration":0,"failed":true}],[":tests/mobile-tasks.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/kanban.test.tsx",{"duration":1151.2572570000002,"failed":false}],[":tests/BackgroundAgents.test.tsx",{"duration":0,"failed":true}],[":tests/components/settings-search.test.tsx",{"duration":0,"failed":true}],[":tests/lib/utils.test.ts",{"duration":0,"failed":true}],[":tests/mobile-settings.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/feedback.test.tsx",{"duration":1044.3514029999997,"failed":false}],[":src/web/v8/__tests__/views.test.tsx",{"duration":1607.8574739999995,"failed":false}],[":tests/chat-composer.test.tsx",{"duration":0,"failed":true}],[":tests/lib/search-fuzzy.test.ts",{"duration":0,"failed":true}],[":src/web/v8/__tests__/navigation.test.tsx",{"duration":693.3361759999998,"failed":false}],[":src/web/v8/views/CommandPalette/AppCommandPalette.test.tsx",{"duration":1149.199049,"failed":false}],[":tests/settings-mode-wiring.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/controls.test.tsx",{"duration":446.3511920000001,"failed":false}],[":tests/backup-restore.test.tsx",{"duration":0,"failed":true}],[":tests/settings-layout.test.tsx",{"duration":0,"failed":true}],[":tests/settings-nav.test.tsx",{"duration":0,"failed":true}],[":tests/ui/data/DataTable.test.tsx",{"duration":0,"failed":true}],[":tests/ui/feedback/Toast.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/settings.test.tsx",{"duration":274.92393100000004,"failed":false}],[":tests/ui/navigation/CommandPalette.test.tsx",{"duration":0,"failed":true}],[":tests/minimax-bar.test.tsx",{"duration":43.98596800000007,"failed":false}],[":tests/components/doctor-panel.test.tsx",{"duration":0,"failed":true}],[":tests/views/sidebar.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/goals.test.tsx",{"duration":280.140357,"failed":false}],[":src/web/v8/__tests__/theme.test.tsx",{"duration":47.475359000000026,"failed":false}],[":src/web/v8/__tests__/Sidebar.test.tsx",{"duration":440.1682390000001,"failed":false}],[":tests/views/topbar.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/Tabs.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/App.test.tsx",{"duration":1301.662909,"failed":false}],[":tests/ui/feedback/Tooltip.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/SettingsView.test.tsx",{"duration":2394.6772579999997,"failed":false}],[":tests/components/Toast.test.tsx",{"duration":397.03008799999975,"failed":false}],[":src/web/v8/ui/theme/ThemeProvider.test.tsx",{"duration":42.39453800000001,"failed":false}],[":tests/voice-recorder.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/agents.test.tsx",{"duration":262.44836799999985,"failed":false}],[":tests/mobile-chat.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/ui/navigation/useCommandPaletteHotkey.test.ts",{"duration":28.496348000000012,"failed":false}],[":tests/ui/data/StatTile.test.tsx",{"duration":0,"failed":true}],[":tests/ui/feedback/Dialog.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/Sidebar.test.tsx",{"duration":0,"failed":true}],[":tests/goal-input.test.tsx",{"duration":0,"failed":true}],[":tests/goap-planner.test.ts",{"duration":0,"failed":true}],[":tests/components/Modal.test.tsx",{"duration":0,"failed":true}],[":tests/communication-log.test.tsx",{"duration":0,"failed":true}],[":tests/ui/feedback/ProgressBar.test.tsx",{"duration":0,"failed":true}],[":tests/memory-graph-view.test.tsx",{"duration":0,"failed":true}],[":tests/ui/data/KeyValueList.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/Breadcrumbs.test.tsx",{"duration":0,"failed":true}],[":tests/hooks/useModal.test.tsx",{"duration":0,"failed":true}],[":tests/ui/navigation/NavLink.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/libraries.test.tsx",{"duration":254.991174,"failed":false}],[":tests/components/screenshot-ocr.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/ui/theme/DensityProvider.test.tsx",{"duration":53.777198,"failed":false}],[":tests/ui/data/BarChart.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/Textarea.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/memory.test.tsx",{"duration":291.06179499999985,"failed":false}],[":src/web/v8/__tests__/activity.test.tsx",{"duration":74.37246599999992,"failed":false}],[":tests/ui/controls/Select.test.tsx",{"duration":0,"failed":true}],[":tests/event-log.test.tsx",{"duration":0,"failed":true}],[":tests/components/workspace-selector.test.tsx",{"duration":0,"failed":true}],[":tests/ui/data/Sparkline.test.tsx",{"duration":0,"failed":true}],[":tests/ui/navigation/NavGroup.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/AppShell.test.tsx",{"duration":650.9449239999999,"failed":false}],[":tests/dep-graph.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/RadioGroup.test.tsx",{"duration":0,"failed":true}],[":tests/quality-gates.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/NumberInput.test.tsx",{"duration":0,"failed":true}],[":tests/ui/data/EmptyState.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/Panel.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/ViewHeader.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/SearchInput.test.tsx",{"duration":0,"failed":true}],[":tests/ui/primitives/Box.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/Button.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/AppShell.test.tsx",{"duration":0,"failed":true}],[":tests/ui/data/ErrorState.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/Slider.test.tsx",{"duration":0,"failed":true}],[":tests/ui/feedback/StatusDot.test.tsx",{"duration":0,"failed":true}],[":tests/hooks/useToast.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/Topbar.test.tsx",{"duration":0,"failed":true}],[":tests/ui/data/LoadingState.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/TextInput.test.tsx",{"duration":0,"failed":true}],[":tests/lib/i18n.test.ts",{"duration":0,"failed":true}],[":tests/ui/controls/Checkbox.test.tsx",{"duration":0,"failed":true}],[":tests/ui/feedback/Badge.test.tsx",{"duration":0,"failed":true}],[":tests/ui/primitives/Stack.test.tsx",{"duration":0,"failed":true}],[":tests/components/Button.test.tsx",{"duration":324.08648500000004,"failed":false}],[":tests/components/Card.test.tsx",{"duration":37.800531999999976,"failed":false}],[":tests/components/StatusBadge.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/Toggle.test.tsx",{"duration":0,"failed":true}],[":tests/ui/primitives/Separator.test.tsx",{"duration":0,"failed":true}],[":tests/ui/primitives/Grid.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/IconButton.test.tsx",{"duration":0,"failed":true}],[":tests/ui/primitives/Inline.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/PanelHeader.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/Kbd.test.tsx",{"duration":0,"failed":true}],[":tests/components/Spinner.test.tsx",{"duration":0,"failed":true}],[":tests/ui/primitives/VisuallyHidden.test.tsx",{"duration":32.45237999999995,"failed":false}],[":src/web/v8/__tests__/cx.test.ts",{"duration":10.11221999999998,"failed":false}],[":src/web/v8/__tests__/PageSkeleton.test.tsx",{"duration":74.25940100000003,"failed":false}],[":src/web/v8/__tests__/useFetch.test.ts",{"duration":141.01241000000005,"failed":false}],[":src/web/v8/__tests__/useWebSocket.test.ts",{"duration":21.502534000000082,"failed":false}],[":tests/components/Dialog.test.tsx",{"duration":383.814441,"failed":false}],[":src/web/v8/__tests__/control-plane.test.tsx",{"duration":880.9435540000002,"failed":false}],[":src/web/v8/__tests__/changelog.test.tsx",{"duration":677.997609,"failed":false}],[":src/web/v8/__tests__/Topbar.test.tsx",{"duration":131.19026700000018,"failed":false}],[":src/web/v8/__tests__/NotificationsPopover.test.tsx",{"duration":429.4604730000001,"failed":false}],[":src/web/v8/__tests__/MemoryView.test.tsx",{"duration":753.4185939999998,"failed":false}],[":src/web/v8/__tests__/SchedulesView.test.tsx",{"duration":758.795425,"failed":false}],[":src/web/v8/__tests__/BackgroundJobsView.test.tsx",{"duration":696.457173,"failed":false}],[":src/web/v8/__tests__/audit-fixes.test.tsx",{"duration":1628.3713790000002,"failed":false}],[":src/web/v8/__tests__/new-views.test.tsx",{"duration":1028.0903720000001,"failed":false}],[":src/web/v8/__tests__/chat-types.test.ts",{"duration":5.812193000000093,"failed":false}],[":src/web/v8/__tests__/chat-view.test.tsx",{"duration":496.26644399999986,"failed":false}],[":src/web/v8/__tests__/projects-view.test.tsx",{"duration":535.109978,"failed":false}],[":src/web/v8/__tests__/claude-sessions-view.test.tsx",{"duration":665.956979,"failed":false}],[":src/web/v8/__tests__/history-view.test.tsx",{"duration":265.09184200000004,"failed":false}],[":src/web/v8/__tests__/admin-view.test.tsx",{"duration":474.775756,"failed":false}],[":src/web/v8/__tests__/auth-view.test.tsx",{"duration":232.30784500000004,"failed":false}],[":src/web/v8/__tests__/env-vars-view.test.tsx",{"duration":538.159553,"failed":false}],[":src/web/v8/__tests__/config-view.test.tsx",{"duration":399.36821699999996,"failed":false}],[":src/web/v8/__tests__/dialogs-view.test.tsx",{"duration":285.67781200000013,"failed":false}],[":src/web/v8/__tests__/providers-view.test.tsx",{"duration":239.465643,"failed":false}],[":src/web/v8/__tests__/mods-view.test.tsx",{"duration":459.59976800000004,"failed":false}],[":src/web/v8/__tests__/update-view.test.tsx",{"duration":250.613973,"failed":false}],[":src/web/v8/__tests__/voice-view.test.tsx",{"duration":212.96863500000018,"failed":false}],[":src/web/v8/__tests__/clipboard-view.test.tsx",{"duration":394.448267,"failed":false}],[":src/web/v8/__tests__/lightrag-view.test.tsx",{"duration":224.97729400000003,"failed":false}],[":src/web/v8/__tests__/obsidian-view.test.tsx",{"duration":290.6994480000001,"failed":false}],[":src/web/v8/__tests__/misc-view.test.tsx",{"duration":198.39767099999995,"failed":false}],[":src/web/v8/__tests__/artifacts-view.test.tsx",{"duration":510.15416099999993,"failed":false}],[":src/web/v8/__tests__/agent-hierarchy.test.tsx",{"duration":342.39807599999995,"failed":false}],[":src/web/v8/__tests__/agent-card-metrics.test.tsx",{"duration":86.97448999999995,"failed":false}],[":src/web/v8/__tests__/_debug.test.tsx",{"duration":1094.799727,"failed":true}],[":src/web/v8/__tests__/agents-stuck-banner.test.tsx",{"duration":699.8038210000002,"failed":false}],[":src/web/v8/__tests__/agent-detail-tasks.test.tsx",{"duration":348.8442769999999,"failed":false}],[":src/web/v8/__tests__/overview-trends.test.tsx",{"duration":84.05831599999999,"failed":false}],[":src/web/v8/__tests__/goals-cc-roundtrip.test.tsx",{"duration":259.89879300000007,"failed":false}]]}
|
|
1
|
+
{"version":"4.1.10","results":[[":tests/views/Agents.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/data.test.tsx",{"duration":1069.4126780000001,"failed":false}],[":tests/views/Tasks.test.tsx",{"duration":0,"failed":true}],[":tests/views/Memory.test.tsx",{"duration":0,"failed":true}],[":tests/eval-web-ui.test.tsx",{"duration":0,"failed":true}],[":tests/a11y.test.tsx",{"duration":0,"failed":true}],[":tests/autosave.test.tsx",{"duration":0,"failed":true}],[":tests/a11y/forms.test.tsx",{"duration":0,"failed":true}],[":tests/views/Overview.test.tsx",{"duration":0,"failed":true}],[":tests/mobile-layout.test.tsx",{"duration":0,"failed":true}],[":tests/mobile-overview.test.tsx",{"duration":0,"failed":true}],[":tests/mobile-tasks.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/kanban.test.tsx",{"duration":2094.781481,"failed":false}],[":tests/BackgroundAgents.test.tsx",{"duration":0,"failed":true}],[":tests/components/settings-search.test.tsx",{"duration":0,"failed":true}],[":tests/lib/utils.test.ts",{"duration":0,"failed":true}],[":tests/mobile-settings.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/feedback.test.tsx",{"duration":1902.787523,"failed":false}],[":src/web/v8/__tests__/views.test.tsx",{"duration":2801.7251049999995,"failed":false}],[":tests/chat-composer.test.tsx",{"duration":0,"failed":true}],[":tests/lib/search-fuzzy.test.ts",{"duration":0,"failed":true}],[":src/web/v8/__tests__/navigation.test.tsx",{"duration":1239.413224,"failed":false}],[":src/web/v8/views/CommandPalette/AppCommandPalette.test.tsx",{"duration":2143.620259,"failed":false}],[":tests/settings-mode-wiring.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/controls.test.tsx",{"duration":1153.986723,"failed":false}],[":tests/backup-restore.test.tsx",{"duration":0,"failed":true}],[":tests/settings-layout.test.tsx",{"duration":0,"failed":true}],[":tests/settings-nav.test.tsx",{"duration":0,"failed":true}],[":tests/ui/data/DataTable.test.tsx",{"duration":0,"failed":true}],[":tests/ui/feedback/Toast.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/settings.test.tsx",{"duration":604.4224909999998,"failed":false}],[":tests/ui/navigation/CommandPalette.test.tsx",{"duration":0,"failed":true}],[":tests/minimax-bar.test.tsx",{"duration":72.58755899999983,"failed":false}],[":tests/components/doctor-panel.test.tsx",{"duration":0,"failed":true}],[":tests/views/sidebar.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/goals.test.tsx",{"duration":583.908214,"failed":false}],[":src/web/v8/__tests__/theme.test.tsx",{"duration":150.08991600000013,"failed":false}],[":src/web/v8/__tests__/Sidebar.test.tsx",{"duration":1330.7295159999999,"failed":false}],[":tests/views/topbar.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/Tabs.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/App.test.tsx",{"duration":4561.364240999999,"failed":true}],[":tests/ui/feedback/Tooltip.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/SettingsView.test.tsx",{"duration":4416.574302,"failed":false}],[":tests/components/Toast.test.tsx",{"duration":773.8938169999997,"failed":false}],[":src/web/v8/ui/theme/ThemeProvider.test.tsx",{"duration":144.44495900000015,"failed":false}],[":tests/voice-recorder.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/agents.test.tsx",{"duration":508.89842999999973,"failed":false}],[":tests/mobile-chat.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/ui/navigation/useCommandPaletteHotkey.test.ts",{"duration":40.77214600000002,"failed":false}],[":tests/ui/data/StatTile.test.tsx",{"duration":0,"failed":true}],[":tests/ui/feedback/Dialog.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/Sidebar.test.tsx",{"duration":0,"failed":true}],[":tests/goal-input.test.tsx",{"duration":0,"failed":true}],[":tests/goap-planner.test.ts",{"duration":0,"failed":true}],[":tests/components/Modal.test.tsx",{"duration":0,"failed":true}],[":tests/communication-log.test.tsx",{"duration":0,"failed":true}],[":tests/ui/feedback/ProgressBar.test.tsx",{"duration":0,"failed":true}],[":tests/memory-graph-view.test.tsx",{"duration":0,"failed":true}],[":tests/ui/data/KeyValueList.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/Breadcrumbs.test.tsx",{"duration":0,"failed":true}],[":tests/hooks/useModal.test.tsx",{"duration":0,"failed":true}],[":tests/ui/navigation/NavLink.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/libraries.test.tsx",{"duration":616.263101,"failed":false}],[":tests/components/screenshot-ocr.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/ui/theme/DensityProvider.test.tsx",{"duration":74.80035999999996,"failed":false}],[":tests/ui/data/BarChart.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/Textarea.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/memory.test.tsx",{"duration":437.48786100000007,"failed":false}],[":src/web/v8/__tests__/activity.test.tsx",{"duration":255.81120499999997,"failed":false}],[":tests/ui/controls/Select.test.tsx",{"duration":0,"failed":true}],[":tests/event-log.test.tsx",{"duration":0,"failed":true}],[":tests/components/workspace-selector.test.tsx",{"duration":0,"failed":true}],[":tests/ui/data/Sparkline.test.tsx",{"duration":0,"failed":true}],[":tests/ui/navigation/NavGroup.test.tsx",{"duration":0,"failed":true}],[":src/web/v8/__tests__/AppShell.test.tsx",{"duration":1402.78397,"failed":false}],[":tests/dep-graph.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/RadioGroup.test.tsx",{"duration":0,"failed":true}],[":tests/quality-gates.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/NumberInput.test.tsx",{"duration":0,"failed":true}],[":tests/ui/data/EmptyState.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/Panel.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/ViewHeader.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/SearchInput.test.tsx",{"duration":0,"failed":true}],[":tests/ui/primitives/Box.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/Button.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/AppShell.test.tsx",{"duration":0,"failed":true}],[":tests/ui/data/ErrorState.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/Slider.test.tsx",{"duration":0,"failed":true}],[":tests/ui/feedback/StatusDot.test.tsx",{"duration":0,"failed":true}],[":tests/hooks/useToast.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/Topbar.test.tsx",{"duration":0,"failed":true}],[":tests/ui/data/LoadingState.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/TextInput.test.tsx",{"duration":0,"failed":true}],[":tests/lib/i18n.test.ts",{"duration":0,"failed":true}],[":tests/ui/controls/Checkbox.test.tsx",{"duration":0,"failed":true}],[":tests/ui/feedback/Badge.test.tsx",{"duration":0,"failed":true}],[":tests/ui/primitives/Stack.test.tsx",{"duration":0,"failed":true}],[":tests/components/Button.test.tsx",{"duration":716.9471020000005,"failed":false}],[":tests/components/Card.test.tsx",{"duration":102.008374,"failed":false}],[":tests/components/StatusBadge.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/Toggle.test.tsx",{"duration":0,"failed":true}],[":tests/ui/primitives/Separator.test.tsx",{"duration":0,"failed":true}],[":tests/ui/primitives/Grid.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/IconButton.test.tsx",{"duration":0,"failed":true}],[":tests/ui/primitives/Inline.test.tsx",{"duration":0,"failed":true}],[":tests/ui/layout/PanelHeader.test.tsx",{"duration":0,"failed":true}],[":tests/ui/controls/Kbd.test.tsx",{"duration":0,"failed":true}],[":tests/components/Spinner.test.tsx",{"duration":0,"failed":true}],[":tests/ui/primitives/VisuallyHidden.test.tsx",{"duration":72.83180800000036,"failed":false}],[":src/web/v8/__tests__/cx.test.ts",{"duration":13.045886999999993,"failed":false}],[":src/web/v8/__tests__/PageSkeleton.test.tsx",{"duration":249.8022840000001,"failed":false}],[":src/web/v8/__tests__/useFetch.test.ts",{"duration":198.06161899999984,"failed":false}],[":src/web/v8/__tests__/useWebSocket.test.ts",{"duration":49.056260000000066,"failed":false}],[":tests/components/Dialog.test.tsx",{"duration":631.7408140000002,"failed":false}],[":src/web/v8/__tests__/control-plane.test.tsx",{"duration":1879.8391990000005,"failed":false}],[":src/web/v8/__tests__/changelog.test.tsx",{"duration":2071.3997769999996,"failed":true}],[":src/web/v8/__tests__/Topbar.test.tsx",{"duration":366.44297499999993,"failed":false}],[":src/web/v8/__tests__/NotificationsPopover.test.tsx",{"duration":832.8688509999997,"failed":false}],[":src/web/v8/__tests__/MemoryView.test.tsx",{"duration":1661.3879749999996,"failed":false}],[":src/web/v8/__tests__/SchedulesView.test.tsx",{"duration":1713.8426739999995,"failed":false}],[":src/web/v8/__tests__/BackgroundJobsView.test.tsx",{"duration":1497.7358789999994,"failed":false}],[":src/web/v8/__tests__/audit-fixes.test.tsx",{"duration":2765.021747999999,"failed":false}],[":src/web/v8/__tests__/new-views.test.tsx",{"duration":2885.066681,"failed":true}],[":src/web/v8/__tests__/chat-types.test.ts",{"duration":6.300498999999945,"failed":false}],[":src/web/v8/__tests__/chat-view.test.tsx",{"duration":781.1172539999998,"failed":false}],[":src/web/v8/__tests__/projects-view.test.tsx",{"duration":990.2306920000001,"failed":false}],[":src/web/v8/__tests__/claude-sessions-view.test.tsx",{"duration":1240.617349,"failed":false}],[":src/web/v8/__tests__/history-view.test.tsx",{"duration":464.7251550000001,"failed":false}],[":src/web/v8/__tests__/admin-view.test.tsx",{"duration":871.7101350000003,"failed":false}],[":src/web/v8/__tests__/auth-view.test.tsx",{"duration":487.1342199999999,"failed":false}],[":src/web/v8/__tests__/env-vars-view.test.tsx",{"duration":1135.995418,"failed":false}],[":src/web/v8/__tests__/config-view.test.tsx",{"duration":631.9487320000003,"failed":false}],[":src/web/v8/__tests__/dialogs-view.test.tsx",{"duration":597.4153740000002,"failed":false}],[":src/web/v8/__tests__/providers-view.test.tsx",{"duration":544.8824380000001,"failed":false}],[":src/web/v8/__tests__/mods-view.test.tsx",{"duration":1030.9307840000001,"failed":false}],[":src/web/v8/__tests__/update-view.test.tsx",{"duration":503.3900389999999,"failed":false}],[":src/web/v8/__tests__/voice-view.test.tsx",{"duration":551.9772950000001,"failed":false}],[":src/web/v8/__tests__/clipboard-view.test.tsx",{"duration":584.4868019999999,"failed":false}],[":src/web/v8/__tests__/lightrag-view.test.tsx",{"duration":636.3672799999999,"failed":false}],[":src/web/v8/__tests__/obsidian-view.test.tsx",{"duration":439.16762900000003,"failed":false}],[":src/web/v8/__tests__/misc-view.test.tsx",{"duration":370.5090879999998,"failed":false}],[":src/web/v8/__tests__/artifacts-view.test.tsx",{"duration":1782.791335,"failed":true}],[":src/web/v8/__tests__/agent-hierarchy.test.tsx",{"duration":673.7852400000002,"failed":false}],[":src/web/v8/__tests__/agent-card-metrics.test.tsx",{"duration":302.9642430000001,"failed":false}],[":src/web/v8/__tests__/_debug.test.tsx",{"duration":1094.799727,"failed":true}],[":src/web/v8/__tests__/agents-stuck-banner.test.tsx",{"duration":1432.620589,"failed":false}],[":src/web/v8/__tests__/agent-detail-tasks.test.tsx",{"duration":600.5352079999998,"failed":false}],[":src/web/v8/__tests__/overview-trends.test.tsx",{"duration":476.67796,"failed":false}],[":src/web/v8/__tests__/goals-cc-roundtrip.test.tsx",{"duration":534.5751959999998,"failed":false}]]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* src/server/routes/update.mjs
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* v10.3.0 — Dashboard update endpoints.
|
|
5
5
|
*
|
|
6
6
|
* GET /api/updates/status — installed package versions only
|
|
7
7
|
* GET /api/updates/check — installed + latest + hasUpdates
|
|
@@ -42,14 +42,15 @@ import { wrap } from './_shared.mjs';
|
|
|
42
42
|
|
|
43
43
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
44
44
|
|
|
45
|
-
//
|
|
45
|
+
// v10.3.0 — packages the dashboard knows how to update. Aligned with
|
|
46
46
|
// the Settings UI's "Installed / Latest" panels and the CLI's update
|
|
47
|
-
// flow.
|
|
48
|
-
//
|
|
47
|
+
// flow. The @polderlabs/bizar package bundles CLI + dashboard + plugin
|
|
48
|
+
// in one; the others are separate installable components.
|
|
49
49
|
const KNOWN_PACKAGES = [
|
|
50
|
-
{ id: 'bizar', npmName: '@polderlabs/bizar',
|
|
51
|
-
{ id: 'bizar-
|
|
52
|
-
{ id: '
|
|
50
|
+
{ id: 'bizar', npmName: '@polderlabs/bizar', label: 'Bizar CLI + Dashboard + Plugin' },
|
|
51
|
+
{ id: 'bizar-sdk', npmName: '@polderlabs/bizar-sdk', label: 'Bizar SDK (typed wrapper)' },
|
|
52
|
+
{ id: 'claude-agent', npmName: '@anthropic-ai/claude-agent-sdk', label: 'Claude Agent SDK (optional peer)' },
|
|
53
|
+
{ id: 'claude-code', npmName: '@anthropic-ai/claude-code', label: 'Claude Code CLI' },
|
|
53
54
|
];
|
|
54
55
|
|
|
55
56
|
const KNOWN_BY_ID = new Map(KNOWN_PACKAGES.map((p) => [p.id, p]));
|
|
@@ -126,6 +127,14 @@ export function resetUpdateCache() {
|
|
|
126
127
|
_latestCache.clear();
|
|
127
128
|
}
|
|
128
129
|
|
|
130
|
+
/**
|
|
131
|
+
* Reset the concurrency guard — exposed for tests so each case
|
|
132
|
+
* starts with a clean _activeRun state.
|
|
133
|
+
*/
|
|
134
|
+
export function resetConcurrencyGuard() {
|
|
135
|
+
_activeRun = null;
|
|
136
|
+
}
|
|
137
|
+
|
|
129
138
|
/**
|
|
130
139
|
* Compute the per-package installed map. For the dashboard package
|
|
131
140
|
* itself we use INSTALLED_BIZAR_VERSION (the @polderlabs/bizar version
|
|
@@ -135,13 +144,7 @@ export function resetUpdateCache() {
|
|
|
135
144
|
function currentVersions() {
|
|
136
145
|
const out = {};
|
|
137
146
|
for (const p of KNOWN_PACKAGES) {
|
|
138
|
-
|
|
139
|
-
out[p.id] = INSTALLED_BIZAR_VERSION;
|
|
140
|
-
} else {
|
|
141
|
-
// Deprecated standalone packages — fall back to running dashboard
|
|
142
|
-
// version as a sane default so the row isn't permanently "—".
|
|
143
|
-
out[p.id] = INSTALLED_BIZAR_VERSION;
|
|
144
|
-
}
|
|
147
|
+
out[p.id] = INSTALLED_BIZAR_VERSION;
|
|
145
148
|
}
|
|
146
149
|
return out;
|
|
147
150
|
}
|
|
@@ -150,9 +153,12 @@ function currentVersions() {
|
|
|
150
153
|
* Compute latest map and hasUpdates flag. Iterates KNOWN_PACKAGES so
|
|
151
154
|
* the UI gets a stable order and predictable keys even when one of the
|
|
152
155
|
* `npm view` calls fails (those resolve to null).
|
|
156
|
+
* @param {Record<string, string|null>} current
|
|
157
|
+
* @returns {{ latest: Record<string,string|null>, hasUpdates: boolean, available: Record<string,string|null> }}
|
|
153
158
|
*/
|
|
154
159
|
function latestVersionsAndFlag(current) {
|
|
155
160
|
const latest = {};
|
|
161
|
+
const available = { stable: null, beta: null };
|
|
156
162
|
let hasUpdates = false;
|
|
157
163
|
for (const p of KNOWN_PACKAGES) {
|
|
158
164
|
const lat = fetchLatestVersion(p.npmName);
|
|
@@ -160,7 +166,22 @@ function latestVersionsAndFlag(current) {
|
|
|
160
166
|
const cur = current[p.id];
|
|
161
167
|
if (cur && lat && cur !== lat) hasUpdates = true;
|
|
162
168
|
}
|
|
163
|
-
|
|
169
|
+
// For the primary bizar package, also fetch beta dist-tag
|
|
170
|
+
const bizarPkg = KNOWN_BY_ID.get('bizar');
|
|
171
|
+
if (bizarPkg) {
|
|
172
|
+
available.stable = fetchLatestVersion(bizarPkg.npmName);
|
|
173
|
+
try {
|
|
174
|
+
const betaVer = execFileSync(
|
|
175
|
+
'npm',
|
|
176
|
+
['view', bizarPkg.npmName, 'dist-tags', 'beta'],
|
|
177
|
+
{ stdio: ['ignore', 'pipe', 'ignore'], timeout: 15000 },
|
|
178
|
+
).toString().trim();
|
|
179
|
+
available.beta = betaVer || null;
|
|
180
|
+
} catch {
|
|
181
|
+
available.beta = null;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return { latest, hasUpdates, available };
|
|
164
185
|
}
|
|
165
186
|
|
|
166
187
|
// ─── Apply concurrency guard ───────────────────────────────────────────────
|
|
@@ -298,17 +319,19 @@ export function createUpdateRouter({ broadcast = () => {} } = {}) {
|
|
|
298
319
|
*/
|
|
299
320
|
router.get('/updates/status', wrap(async (_req, res) => {
|
|
300
321
|
const current = currentVersions();
|
|
301
|
-
res.json({ current });
|
|
322
|
+
res.json({ installed: current });
|
|
302
323
|
}));
|
|
303
324
|
|
|
304
325
|
/**
|
|
305
326
|
* GET /api/updates/check
|
|
306
|
-
*
|
|
327
|
+
* GET /api/updates/check?channel=stable|beta
|
|
328
|
+
* Installed + latest + hasUpdates + available per channel. Calls `npm view` (cached).
|
|
307
329
|
*/
|
|
308
|
-
router.get('/updates/check', wrap(async (
|
|
330
|
+
router.get('/updates/check', wrap(async (req, res) => {
|
|
331
|
+
const channel = req.query.channel === 'beta' ? 'beta' : 'stable';
|
|
309
332
|
const current = currentVersions();
|
|
310
|
-
const { latest, hasUpdates } = latestVersionsAndFlag(current);
|
|
311
|
-
res.json({ current,
|
|
333
|
+
const { latest, hasUpdates, available } = latestVersionsAndFlag(current);
|
|
334
|
+
res.json({ installed: current, available, hasUpdates, channel });
|
|
312
335
|
}));
|
|
313
336
|
|
|
314
337
|
/**
|
|
@@ -319,7 +342,11 @@ export function createUpdateRouter({ broadcast = () => {} } = {}) {
|
|
|
319
342
|
*/
|
|
320
343
|
router.post('/updates/apply', wrap(async (req, res) => {
|
|
321
344
|
if (isRunning()) {
|
|
322
|
-
res.status(409).json({
|
|
345
|
+
res.status(409).json({
|
|
346
|
+
error: 'already_running',
|
|
347
|
+
message: 'an update is already running',
|
|
348
|
+
runningSince: _activeRun ? new Date(_activeRun.startedAt).toISOString() : null,
|
|
349
|
+
});
|
|
323
350
|
return;
|
|
324
351
|
}
|
|
325
352
|
const body = req.body || {};
|
|
@@ -47,7 +47,6 @@ import {
|
|
|
47
47
|
BarChart3,
|
|
48
48
|
Bell,
|
|
49
49
|
Terminal,
|
|
50
|
-
Network,
|
|
51
50
|
FlaskConical,
|
|
52
51
|
} from 'lucide-react';
|
|
53
52
|
|
|
@@ -131,8 +130,6 @@ function iconFor(id: string): LucideIcon {
|
|
|
131
130
|
return Bell;
|
|
132
131
|
case 'diagnostics':
|
|
133
132
|
return Terminal;
|
|
134
|
-
case 'headroom':
|
|
135
|
-
return Network;
|
|
136
133
|
case 'eval':
|
|
137
134
|
return FlaskConical;
|
|
138
135
|
default:
|
|
@@ -264,7 +261,6 @@ export function App(): JSX.Element {
|
|
|
264
261
|
{ id: 'backup', label: 'Backups', icon: iconFor('backup') },
|
|
265
262
|
{ id: 'notifications', label: 'Notifications', icon: iconFor('notifications') },
|
|
266
263
|
{ id: 'diagnostics', label: 'Diagnostics', icon: iconFor('diagnostics') },
|
|
267
|
-
{ id: 'headroom', label: 'Headroom', icon: iconFor('headroom') },
|
|
268
264
|
{ id: 'eval', label: 'Eval', icon: iconFor('eval') },
|
|
269
265
|
{ id: 'settings', label: 'Settings', icon: iconFor('settings') },
|
|
270
266
|
],
|