@polderlabs/bizar 10.3.0 → 10.4.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/bizar-dash/dist/assets/{ActivityFeed-xXiUCZLB.js → ActivityFeed-DtRtg-JN.js} +1 -1
- package/bizar-dash/dist/assets/{ActivityFeed-xXiUCZLB.js.map → ActivityFeed-DtRtg-JN.js.map} +1 -1
- package/bizar-dash/dist/assets/{ActivityView-nOYhCp3h.js → ActivityView-CoTXDyU_.js} +1 -1
- package/bizar-dash/dist/assets/{ActivityView-nOYhCp3h.js.map → ActivityView-CoTXDyU_.js.map} +1 -1
- package/bizar-dash/dist/assets/{AdminView-Coi4V3sq.js → AdminView-DNc5Ll7L.js} +1 -1
- package/bizar-dash/dist/assets/{AdminView-Coi4V3sq.js.map → AdminView-DNc5Ll7L.js.map} +1 -1
- package/bizar-dash/dist/assets/{AgentActivity-nEri4lbx.js → AgentActivity-CrX7LmQ6.js} +1 -1
- package/bizar-dash/dist/assets/{AgentActivity-nEri4lbx.js.map → AgentActivity-CrX7LmQ6.js.map} +1 -1
- package/bizar-dash/dist/assets/{AgentsView-ByiIJ0ej.js → AgentsView-Du-G_skK.js} +1 -1
- package/bizar-dash/dist/assets/{AgentsView-ByiIJ0ej.js.map → AgentsView-Du-G_skK.js.map} +1 -1
- package/bizar-dash/dist/assets/{Alert-Dg_Vwxh5.js → Alert-B6DjfRFI.js} +1 -1
- package/bizar-dash/dist/assets/{Alert-Dg_Vwxh5.js.map → Alert-B6DjfRFI.js.map} +1 -1
- package/bizar-dash/dist/assets/{ArtifactsView-CGclRNnz.js → ArtifactsView-znhN8GTR.js} +1 -1
- package/bizar-dash/dist/assets/{ArtifactsView-CGclRNnz.js.map → ArtifactsView-znhN8GTR.js.map} +1 -1
- package/bizar-dash/dist/assets/{AuthView-utVm6M3D.js → AuthView-Rk8eKUPr.js} +1 -1
- package/bizar-dash/dist/assets/{AuthView-utVm6M3D.js.map → AuthView-Rk8eKUPr.js.map} +1 -1
- package/bizar-dash/dist/assets/{Avatar-CXDZdKy4.js → Avatar-B41upSD1.js} +1 -1
- package/bizar-dash/dist/assets/{Avatar-CXDZdKy4.js.map → Avatar-B41upSD1.js.map} +1 -1
- package/bizar-dash/dist/assets/{BackgroundJobsView-j603pz6o.js → BackgroundJobsView-BLWuN9qz.js} +1 -1
- package/bizar-dash/dist/assets/{BackgroundJobsView-j603pz6o.js.map → BackgroundJobsView-BLWuN9qz.js.map} +1 -1
- package/bizar-dash/dist/assets/{BackupView-DgvnntTE.js → BackupView-CqbtcnuQ.js} +1 -1
- package/bizar-dash/dist/assets/{BackupView-DgvnntTE.js.map → BackupView-CqbtcnuQ.js.map} +1 -1
- package/bizar-dash/dist/assets/{Card-D9019JOD.js → Card-rF59wHiO.js} +1 -1
- package/bizar-dash/dist/assets/{Card-D9019JOD.js.map → Card-rF59wHiO.js.map} +1 -1
- package/bizar-dash/dist/assets/{ChatView-C0cTgj5d.js → ChatView-CUriVEgU.js} +1 -1
- package/bizar-dash/dist/assets/{ChatView-C0cTgj5d.js.map → ChatView-CUriVEgU.js.map} +1 -1
- package/bizar-dash/dist/assets/{Chip-DQtalZ4y.js → Chip-Dc2KmeWl.js} +1 -1
- package/bizar-dash/dist/assets/{Chip-DQtalZ4y.js.map → Chip-Dc2KmeWl.js.map} +1 -1
- package/bizar-dash/dist/assets/{ClaudeSessionsView-H3Bqjo6b.js → ClaudeSessionsView-CiaHQdDZ.js} +1 -1
- package/bizar-dash/dist/assets/{ClaudeSessionsView-H3Bqjo6b.js.map → ClaudeSessionsView-CiaHQdDZ.js.map} +1 -1
- package/bizar-dash/dist/assets/{ClipboardView-BAguaKbx.js → ClipboardView-DdP6aVso.js} +1 -1
- package/bizar-dash/dist/assets/{ClipboardView-BAguaKbx.js.map → ClipboardView-DdP6aVso.js.map} +1 -1
- package/bizar-dash/dist/assets/{ConfigView-DWHJgoe8.js → ConfigView-B2ysnTZU.js} +1 -1
- package/bizar-dash/dist/assets/{ConfigView-DWHJgoe8.js.map → ConfigView-B2ysnTZU.js.map} +1 -1
- package/bizar-dash/dist/assets/{DiagnosticsView-oCT624hk.js → DiagnosticsView-88OZ5k0f.js} +1 -1
- package/bizar-dash/dist/assets/{DiagnosticsView-oCT624hk.js.map → DiagnosticsView-88OZ5k0f.js.map} +1 -1
- package/bizar-dash/dist/assets/{DialogsView-CqHNals_.js → DialogsView-BcqDDCZQ.js} +1 -1
- package/bizar-dash/dist/assets/{DialogsView-CqHNals_.js.map → DialogsView-BcqDDCZQ.js.map} +1 -1
- package/bizar-dash/dist/assets/{DoctorView-6kfQq_Mx.js → DoctorView-BQwqvMAh.js} +1 -1
- package/bizar-dash/dist/assets/{DoctorView-6kfQq_Mx.js.map → DoctorView-BQwqvMAh.js.map} +1 -1
- package/bizar-dash/dist/assets/{EmptyState-DLmtBX_6.js → EmptyState-D65J5FQN.js} +1 -1
- package/bizar-dash/dist/assets/{EmptyState-DLmtBX_6.js.map → EmptyState-D65J5FQN.js.map} +1 -1
- package/bizar-dash/dist/assets/{EnvVarsView-DySOXlP1.js → EnvVarsView-DX-3oGH-.js} +1 -1
- package/bizar-dash/dist/assets/{EnvVarsView-DySOXlP1.js.map → EnvVarsView-DX-3oGH-.js.map} +1 -1
- package/bizar-dash/dist/assets/{ErrorState-Bump8diE.js → ErrorState-DULZnttJ.js} +1 -1
- package/bizar-dash/dist/assets/{ErrorState-Bump8diE.js.map → ErrorState-DULZnttJ.js.map} +1 -1
- package/bizar-dash/dist/assets/{EvalView-FnZ5d93z.js → EvalView-CpdFu_ID.js} +1 -1
- package/bizar-dash/dist/assets/{EvalView-FnZ5d93z.js.map → EvalView-CpdFu_ID.js.map} +1 -1
- package/bizar-dash/dist/assets/{GoalsView-C4m1WnVv.js → GoalsView-Br8oPPfb.js} +1 -1
- package/bizar-dash/dist/assets/{GoalsView-C4m1WnVv.js.map → GoalsView-Br8oPPfb.js.map} +1 -1
- package/bizar-dash/dist/assets/{Grid-dEnoGGws.js → Grid-BSXhsCPC.js} +1 -1
- package/bizar-dash/dist/assets/{Grid-dEnoGGws.js.map → Grid-BSXhsCPC.js.map} +1 -1
- package/bizar-dash/dist/assets/{HistoryView-xdRybjZ2.js → HistoryView-D0J3aoZF.js} +1 -1
- package/bizar-dash/dist/assets/{HistoryView-xdRybjZ2.js.map → HistoryView-D0J3aoZF.js.map} +1 -1
- package/bizar-dash/dist/assets/{Input-BSa3lh_-.js → Input-CZmRw5QX.js} +1 -1
- package/bizar-dash/dist/assets/{Input-BSa3lh_-.js.map → Input-CZmRw5QX.js.map} +1 -1
- package/bizar-dash/dist/assets/{LibrariesView-1zR04Eci.js → LibrariesView-B1YX9wzp.js} +1 -1
- package/bizar-dash/dist/assets/{LibrariesView-1zR04Eci.js.map → LibrariesView-B1YX9wzp.js.map} +1 -1
- package/bizar-dash/dist/assets/{LightRAGView-PubmA9oL.js → LightRAGView-CykR0t9y.js} +1 -1
- package/bizar-dash/dist/assets/{LightRAGView-PubmA9oL.js.map → LightRAGView-CykR0t9y.js.map} +1 -1
- package/bizar-dash/dist/assets/{ListHeader-Ak9WJd39.js → ListHeader-Dpun-r36.js} +1 -1
- package/bizar-dash/dist/assets/{ListHeader-Ak9WJd39.js.map → ListHeader-Dpun-r36.js.map} +1 -1
- package/bizar-dash/dist/assets/{MemoryView-DBGpuETw.js → MemoryView-BbER5ZKt.js} +1 -1
- package/bizar-dash/dist/assets/{MemoryView-DBGpuETw.js.map → MemoryView-BbER5ZKt.js.map} +1 -1
- package/bizar-dash/dist/assets/{MiscView-DufqBHkX.js → MiscView-DLNEGdML.js} +1 -1
- package/bizar-dash/dist/assets/{MiscView-DufqBHkX.js.map → MiscView-DLNEGdML.js.map} +1 -1
- package/bizar-dash/dist/assets/{ModsView-DcX6eVU2.js → ModsView-P7gDeNHM.js} +1 -1
- package/bizar-dash/dist/assets/{ModsView-DcX6eVU2.js.map → ModsView-P7gDeNHM.js.map} +1 -1
- package/bizar-dash/dist/assets/{NotificationsView-B8IhHRQC.js → NotificationsView-DAm2O0yf.js} +1 -1
- package/bizar-dash/dist/assets/{NotificationsView-B8IhHRQC.js.map → NotificationsView-DAm2O0yf.js.map} +1 -1
- package/bizar-dash/dist/assets/{ObsidianView-DEuk65zS.js → ObsidianView-Ci80gnwS.js} +1 -1
- package/bizar-dash/dist/assets/{ObsidianView-DEuk65zS.js.map → ObsidianView-Ci80gnwS.js.map} +1 -1
- package/bizar-dash/dist/assets/{OverviewView-CTI2spTd.js → OverviewView-rriw1GjA.js} +1 -1
- package/bizar-dash/dist/assets/{OverviewView-CTI2spTd.js.map → OverviewView-rriw1GjA.js.map} +1 -1
- package/bizar-dash/dist/assets/{ProgressBar-D3lkz42E.js → ProgressBar-BahmeJhP.js} +1 -1
- package/bizar-dash/dist/assets/{ProgressBar-D3lkz42E.js.map → ProgressBar-BahmeJhP.js.map} +1 -1
- package/bizar-dash/dist/assets/{ProjectsView-Du0LzE7A.js → ProjectsView-ChzM12bs.js} +1 -1
- package/bizar-dash/dist/assets/{ProjectsView-Du0LzE7A.js.map → ProjectsView-ChzM12bs.js.map} +1 -1
- package/bizar-dash/dist/assets/{ProvidersView-5bCgXwBo.js → ProvidersView-BftGn8Cr.js} +1 -1
- package/bizar-dash/dist/assets/{ProvidersView-5bCgXwBo.js.map → ProvidersView-BftGn8Cr.js.map} +1 -1
- package/bizar-dash/dist/assets/{SchedulesView-DFHdIz5P.js → SchedulesView-CtNxtzN6.js} +1 -1
- package/bizar-dash/dist/assets/{SchedulesView-DFHdIz5P.js.map → SchedulesView-CtNxtzN6.js.map} +1 -1
- package/bizar-dash/dist/assets/{Select-C8EJj4NM.js → Select-0VcfTDeL.js} +1 -1
- package/bizar-dash/dist/assets/{Select-C8EJj4NM.js.map → Select-0VcfTDeL.js.map} +1 -1
- package/bizar-dash/dist/assets/{SettingsRow-BdOOmYMD.js → SettingsRow-BLic3DQl.js} +1 -1
- package/bizar-dash/dist/assets/{SettingsRow-BdOOmYMD.js.map → SettingsRow-BLic3DQl.js.map} +1 -1
- package/bizar-dash/dist/assets/{SettingsView-CqwQ6Knv.js → SettingsView-BjS3i4nr.js} +1 -1
- package/bizar-dash/dist/assets/{SettingsView-CqwQ6Knv.js.map → SettingsView-BjS3i4nr.js.map} +1 -1
- package/bizar-dash/dist/assets/{Sheet-Cztsvgse.js → Sheet-BOProMs2.js} +1 -1
- package/bizar-dash/dist/assets/{Sheet-Cztsvgse.js.map → Sheet-BOProMs2.js.map} +1 -1
- package/bizar-dash/dist/assets/{Slider-BexNfF6K.js → Slider-B0eLEEUt.js} +1 -1
- package/bizar-dash/dist/assets/{Slider-BexNfF6K.js.map → Slider-B0eLEEUt.js.map} +1 -1
- package/bizar-dash/dist/assets/{Sparkline-CLZBtvsN.js → Sparkline-SSrdgyW0.js} +1 -1
- package/bizar-dash/dist/assets/{Sparkline-CLZBtvsN.js.map → Sparkline-SSrdgyW0.js.map} +1 -1
- package/bizar-dash/dist/assets/{Switch-B1tiRwNK.js → Switch-B3EQzb_q.js} +1 -1
- package/bizar-dash/dist/assets/{Switch-B1tiRwNK.js.map → Switch-B3EQzb_q.js.map} +1 -1
- package/bizar-dash/dist/assets/{TasksView-CT0fPlos.js → TasksView-SWjF_ZUQ.js} +1 -1
- package/bizar-dash/dist/assets/{TasksView-CT0fPlos.js.map → TasksView-SWjF_ZUQ.js.map} +1 -1
- package/bizar-dash/dist/assets/{Textarea-D_TPpVMy.js → Textarea-QuofpMlq.js} +1 -1
- package/bizar-dash/dist/assets/{Textarea-D_TPpVMy.js.map → Textarea-QuofpMlq.js.map} +1 -1
- package/bizar-dash/dist/assets/{UpdateView-tD2q2OhW.js → UpdateView-CEHW2nd6.js} +1 -1
- package/bizar-dash/dist/assets/{UpdateView-tD2q2OhW.js.map → UpdateView-CEHW2nd6.js.map} +1 -1
- package/bizar-dash/dist/assets/{UsageView-B4BuAFKA.js → UsageView-BqOw6FBg.js} +1 -1
- package/bizar-dash/dist/assets/{UsageView-B4BuAFKA.js.map → UsageView-BqOw6FBg.js.map} +1 -1
- package/bizar-dash/dist/assets/{ViewHeader-V_SzbUpw.js → ViewHeader-B6P-C4GD.js} +1 -1
- package/bizar-dash/dist/assets/{ViewHeader-V_SzbUpw.js.map → ViewHeader-B6P-C4GD.js.map} +1 -1
- package/bizar-dash/dist/assets/{VoiceView-D3vb5OM2.js → VoiceView-CwrPwWgi.js} +1 -1
- package/bizar-dash/dist/assets/{VoiceView-D3vb5OM2.js.map → VoiceView-CwrPwWgi.js.map} +1 -1
- package/bizar-dash/dist/assets/{brain-BmfWcitQ.js → brain-CwZt9Kta.js} +1 -1
- package/bizar-dash/dist/assets/{brain-BmfWcitQ.js.map → brain-CwZt9Kta.js.map} +1 -1
- package/bizar-dash/dist/assets/{calendar-VntJUzFB.js → calendar-C5oK0_nM.js} +1 -1
- package/bizar-dash/dist/assets/{calendar-VntJUzFB.js.map → calendar-C5oK0_nM.js.map} +1 -1
- package/bizar-dash/dist/assets/{circle-KrQQySeK.js → circle-D1Lc_P2a.js} +1 -1
- package/bizar-dash/dist/assets/{circle-KrQQySeK.js.map → circle-D1Lc_P2a.js.map} +1 -1
- package/bizar-dash/dist/assets/{circle-alert-CQ9MLygI.js → circle-alert-HdHe7m8K.js} +1 -1
- package/bizar-dash/dist/assets/{circle-alert-CQ9MLygI.js.map → circle-alert-HdHe7m8K.js.map} +1 -1
- package/bizar-dash/dist/assets/{circle-check-COtVgsWw.js → circle-check-Cs-xoV7R.js} +1 -1
- package/bizar-dash/dist/assets/{circle-check-COtVgsWw.js.map → circle-check-Cs-xoV7R.js.map} +1 -1
- package/bizar-dash/dist/assets/{clock-C0GlM4qp.js → clock-DEIuPV60.js} +1 -1
- package/bizar-dash/dist/assets/{clock-C0GlM4qp.js.map → clock-DEIuPV60.js.map} +1 -1
- package/bizar-dash/dist/assets/{download-CW4DmtRe.js → download-Clkq90Ct.js} +1 -1
- package/bizar-dash/dist/assets/{download-CW4DmtRe.js.map → download-Clkq90Ct.js.map} +1 -1
- package/bizar-dash/dist/assets/{external-link-CAOnh_DH.js → external-link-D5tq2o_I.js} +1 -1
- package/bizar-dash/dist/assets/{external-link-CAOnh_DH.js.map → external-link-D5tq2o_I.js.map} +1 -1
- package/bizar-dash/dist/assets/{file-text-CS1jB_oV.js → file-text-CQ12t7Oc.js} +1 -1
- package/bizar-dash/dist/assets/{file-text-CS1jB_oV.js.map → file-text-CQ12t7Oc.js.map} +1 -1
- package/bizar-dash/dist/assets/{filter-DyQbml3L.js → filter-BcbE37wP.js} +1 -1
- package/bizar-dash/dist/assets/{filter-DyQbml3L.js.map → filter-BcbE37wP.js.map} +1 -1
- package/bizar-dash/dist/assets/{git-pull-request-Co6gYfba.js → git-pull-request-D1qNDRia.js} +1 -1
- package/bizar-dash/dist/assets/{git-pull-request-Co6gYfba.js.map → git-pull-request-D1qNDRia.js.map} +1 -1
- package/bizar-dash/dist/assets/{main-CyAIirBB.js → main-Cxeu4LhG.js} +2 -2
- package/bizar-dash/dist/assets/{main-CyAIirBB.js.map → main-Cxeu4LhG.js.map} +1 -1
- package/bizar-dash/dist/assets/{network-CDn43Gsj.js → network-DJdvVaHx.js} +1 -1
- package/bizar-dash/dist/assets/{network-CDn43Gsj.js.map → network-DJdvVaHx.js.map} +1 -1
- package/bizar-dash/dist/assets/{pause-CKYjSTGX.js → pause-DUn9L5PB.js} +1 -1
- package/bizar-dash/dist/assets/{pause-CKYjSTGX.js.map → pause-DUn9L5PB.js.map} +1 -1
- package/bizar-dash/dist/assets/{pencil-BUJ2DpWs.js → pencil-DVrBlYV3.js} +1 -1
- package/bizar-dash/dist/assets/{pencil-BUJ2DpWs.js.map → pencil-DVrBlYV3.js.map} +1 -1
- package/bizar-dash/dist/assets/{play-CGxZWqtW.js → play-CZjsr3XM.js} +1 -1
- package/bizar-dash/dist/assets/{play-CGxZWqtW.js.map → play-CZjsr3XM.js.map} +1 -1
- package/bizar-dash/dist/assets/{plug-CQYGgGSy.js → plug-BKuyIe5W.js} +1 -1
- package/bizar-dash/dist/assets/{plug-CQYGgGSy.js.map → plug-BKuyIe5W.js.map} +1 -1
- package/bizar-dash/dist/assets/{plus-fFxt-8z5.js → plus-77h62zZm.js} +1 -1
- package/bizar-dash/dist/assets/{plus-fFxt-8z5.js.map → plus-77h62zZm.js.map} +1 -1
- package/bizar-dash/dist/assets/{power-Cjgy2KsI.js → power-DLmx-gCP.js} +1 -1
- package/bizar-dash/dist/assets/{power-Cjgy2KsI.js.map → power-DLmx-gCP.js.map} +1 -1
- package/bizar-dash/dist/assets/{power-off-B81hLRah.js → power-off-BFKzHXic.js} +1 -1
- package/bizar-dash/dist/assets/{power-off-B81hLRah.js.map → power-off-BFKzHXic.js.map} +1 -1
- package/bizar-dash/dist/assets/{refresh-ccw-BCXx86xp.js → refresh-ccw-DenGBOcq.js} +1 -1
- package/bizar-dash/dist/assets/{refresh-ccw-BCXx86xp.js.map → refresh-ccw-DenGBOcq.js.map} +1 -1
- package/bizar-dash/dist/assets/{refresh-cw-COTg1nZo.js → refresh-cw-ENBVR8hW.js} +1 -1
- package/bizar-dash/dist/assets/{refresh-cw-COTg1nZo.js.map → refresh-cw-ENBVR8hW.js.map} +1 -1
- package/bizar-dash/dist/assets/{rotate-ccw-BZrEVc0Z.js → rotate-ccw-MxryaY7q.js} +1 -1
- package/bizar-dash/dist/assets/{rotate-ccw-BZrEVc0Z.js.map → rotate-ccw-MxryaY7q.js.map} +1 -1
- package/bizar-dash/dist/assets/{rotate-cw-CsTtaLV2.js → rotate-cw-CDOlRtUR.js} +1 -1
- package/bizar-dash/dist/assets/{rotate-cw-CsTtaLV2.js.map → rotate-cw-CDOlRtUR.js.map} +1 -1
- package/bizar-dash/dist/assets/{save-DtMTge1F.js → save-Db1b-1Uq.js} +1 -1
- package/bizar-dash/dist/assets/{save-DtMTge1F.js.map → save-Db1b-1Uq.js.map} +1 -1
- package/bizar-dash/dist/assets/{send-DyBhyk8t.js → send-yz6HFZM5.js} +1 -1
- package/bizar-dash/dist/assets/{send-DyBhyk8t.js.map → send-yz6HFZM5.js.map} +1 -1
- package/bizar-dash/dist/assets/{shield-alert-BPGJlRF8.js → shield-alert-DY6RAaC8.js} +1 -1
- package/bizar-dash/dist/assets/{shield-alert-BPGJlRF8.js.map → shield-alert-DY6RAaC8.js.map} +1 -1
- package/bizar-dash/dist/assets/{trash-2-2NsyTU8c.js → trash-2-Cv7U38jw.js} +1 -1
- package/bizar-dash/dist/assets/{trash-2-2NsyTU8c.js.map → trash-2-Cv7U38jw.js.map} +1 -1
- package/bizar-dash/dist/assets/{trending-up-BXwP23VK.js → trending-up-CRPNagyX.js} +1 -1
- package/bizar-dash/dist/assets/{trending-up-BXwP23VK.js.map → trending-up-CRPNagyX.js.map} +1 -1
- package/bizar-dash/dist/assets/{triangle-alert-DFmQ_RXN.js → triangle-alert-tUTXbcEP.js} +1 -1
- package/bizar-dash/dist/assets/{triangle-alert-DFmQ_RXN.js.map → triangle-alert-tUTXbcEP.js.map} +1 -1
- package/bizar-dash/dist/assets/{upload-Cj-HYRYV.js → upload-Cq7uTsrT.js} +1 -1
- package/bizar-dash/dist/assets/{upload-Cj-HYRYV.js.map → upload-Cq7uTsrT.js.map} +1 -1
- package/bizar-dash/dist/assets/{zap-BaOiybcl.js → zap-5lAQBAPX.js} +1 -1
- package/bizar-dash/dist/assets/{zap-BaOiybcl.js.map → zap-5lAQBAPX.js.map} +1 -1
- package/bizar-dash/dist/index.html +1 -1
- package/bizar-dash/src/server/api.mjs +5 -1
- package/bizar-dash/src/web/v8/shell/Sidebar.tsx +3 -3
- package/cli/doctor.mjs +1 -1
- package/package.json +1 -1
- package/packages/sdk/dist/mcp/server.js +41 -409
- package/packages/sdk/dist/router/q-learning-router.d.ts +3 -5
- package/packages/sdk/dist/router/q-learning-router.js +9 -5
- package/packages/sdk/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as f,j as e}from"./cmdk-DVxytz9i.js";import{c as x,g as m}from"./main-
|
|
1
|
+
import{r as f,j as e}from"./cmdk-DVxytz9i.js";import{c as x,g as m}from"./main-Cxeu4LhG.js";/**
|
|
2
2
|
* @license lucide-react v0.460.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewHeader-
|
|
1
|
+
{"version":3,"file":"ViewHeader-B6P-C4GD.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/chevron-right.js","../../src/web/v8/ui/data/ViewHeader.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst ChevronRight = createLucideIcon(\"ChevronRight\", [\n [\"path\", { d: \"m9 18 6-6-6-6\", key: \"mthhwq\" }]\n]);\n\nexport { ChevronRight as default };\n//# sourceMappingURL=chevron-right.js.map\n","import { forwardRef, type HTMLAttributes, type ReactNode } from 'react';\nimport { ChevronRight } from 'lucide-react';\nimport { cx } from '../utils/cx.js';\n\n/**\n * ViewHeader — page-level header pattern (title, description, breadcrumb, actions).\n *\n * Layout:\n * [Breadcrumb]\n * [Title] [Primary action]\n * [Description] [Secondary actions...]\n *\n * Use at the top of every view: Overview, Tasks, Goals, Agents, etc.\n */\n\nexport interface BreadcrumbItem {\n label: ReactNode;\n href?: string;\n onClick?: () => void;\n}\n\nexport interface ViewHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n title: ReactNode;\n description?: ReactNode;\n /** Optional breadcrumb trail rendered above the title. */\n breadcrumb?: readonly BreadcrumbItem[];\n /** Primary action (e.g. \"New task\"). */\n action?: ReactNode;\n /** Secondary actions (e.g. filter, export). */\n actions?: ReactNode;\n /** Optional metadata row below the description (e.g. status pills, counts). */\n meta?: ReactNode;\n}\n\nexport const ViewHeader = forwardRef<HTMLDivElement, ViewHeaderProps>(function ViewHeader(\n props,\n ref,\n) {\n const { title, description, breadcrumb, action, actions, meta, className, style, ...rest } = props;\n return (\n <header\n ref={ref}\n className={cx('v8-view-header', className)}\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: 'var(--space-2)',\n padding: 'var(--space-4) 0 var(--space-5)',\n borderBottom: '1px solid var(--border)',\n marginBottom: 'var(--space-5)',\n ...style,\n }}\n {...rest}\n >\n {breadcrumb !== undefined && breadcrumb.length > 0 && (\n <nav\n aria-label=\"Breadcrumb\"\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 4,\n fontSize: 'var(--fs-12)',\n color: 'var(--fg-subtle)',\n marginBottom: 'var(--space-1)',\n }}\n >\n {breadcrumb.map((item, i) => {\n const isLast = i === breadcrumb.length - 1;\n return (\n <span\n key={i}\n style={{ display: 'inline-flex', alignItems: 'center', gap: 4 }}\n >\n {item.onClick !== undefined ? (\n <button\n onClick={item.onClick}\n style={{\n background: 'transparent',\n border: 0,\n padding: 0,\n font: 'inherit',\n color: 'inherit',\n cursor: 'pointer',\n }}\n >\n {item.label}\n </button>\n ) : (\n <span style={{ color: isLast ? 'var(--fg)' : 'inherit' }}>{item.label}</span>\n )}\n {!isLast && (\n <ChevronRight size={12} aria-hidden=\"true\" style={{ color: 'var(--fg-subtle)' }} />\n )}\n </span>\n );\n })}\n </nav>\n )}\n <div style={{ display: 'flex', alignItems: 'flex-start', justifyContent: 'space-between', gap: 'var(--space-4)' }}>\n <div style={{ flex: 1, minWidth: 0 }}>\n <h1 style={{ fontSize: 'var(--fs-24)', lineHeight: 'var(--lh-tight)', fontWeight: 600, margin: 0, color: 'var(--fg)' }}>\n {title}\n </h1>\n {description !== undefined && (\n <div style={{ fontSize: 'var(--fs-13)', color: 'var(--fg-muted)', marginTop: 4 }}>\n {description}\n </div>\n )}\n </div>\n <div style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-2)', flexShrink: 0 }}>\n {actions}\n {action}\n </div>\n </div>\n {meta !== undefined && (\n <div style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-2)', flexWrap: 'wrap' }}>\n {meta}\n </div>\n )}\n </header>\n );\n});"],"names":["ChevronRight","createLucideIcon","ViewHeader","forwardRef","props","ref","title","description","breadcrumb","action","actions","meta","className","style","rest","jsxs","cx","jsx","item","isLast"],"mappings":"4FAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAeC,EAAiB,eAAgB,CACpD,CAAC,OAAQ,CAAE,EAAG,gBAAiB,IAAK,QAAQ,CAAE,CAChD,CAAC,ECuBYC,EAAaC,EAAAA,WAA4C,SACpEC,EACAC,EACA,CACA,KAAM,CAAE,MAAAC,EAAO,YAAAC,EAAa,WAAAC,EAAY,OAAAC,EAAQ,QAAAC,EAAS,KAAAC,EAAM,UAAAC,EAAW,MAAAC,EAAO,GAAGC,CAAA,EAASV,EAC7F,OACEW,EAAAA,KAAC,SAAA,CACC,IAAAV,EACA,UAAWW,EAAG,iBAAkBJ,CAAS,EACzC,MAAO,CACL,QAAS,OACT,cAAe,SACf,IAAK,iBACL,QAAS,kCACT,aAAc,0BACd,aAAc,iBACd,GAAGC,CAAA,EAEJ,GAAGC,EAEH,SAAA,CAAAN,IAAe,QAAaA,EAAW,OAAS,GAC/CS,EAAAA,IAAC,MAAA,CACC,aAAW,aACX,MAAO,CACL,QAAS,OACT,WAAY,SACZ,IAAK,EACL,SAAU,eACV,MAAO,mBACP,aAAc,gBAAA,EAGf,SAAAT,EAAW,IAAI,CAACU,EAAM,IAAM,CAC3B,MAAMC,EAAS,IAAMX,EAAW,OAAS,EACzC,OACEO,EAAAA,KAAC,OAAA,CAEC,MAAO,CAAE,QAAS,cAAe,WAAY,SAAU,IAAK,CAAA,EAE3D,SAAA,CAAAG,EAAK,UAAY,OAChBD,EAAAA,IAAC,SAAA,CACC,QAASC,EAAK,QACd,MAAO,CACL,WAAY,cACZ,OAAQ,EACR,QAAS,EACT,KAAM,UACN,MAAO,UACP,OAAQ,SAAA,EAGT,SAAAA,EAAK,KAAA,CAAA,EAGRD,EAAAA,IAAC,OAAA,CAAK,MAAO,CAAE,MAAOE,EAAS,YAAc,SAAA,EAAc,SAAAD,EAAK,KAAA,CAAM,EAEvE,CAACC,GACAF,EAAAA,IAACjB,EAAA,CAAa,KAAM,GAAI,cAAY,OAAO,MAAO,CAAE,MAAO,kBAAA,CAAmB,CAAG,CAAA,CAAA,EArB9E,CAAA,CAyBX,CAAC,CAAA,CAAA,EAGLe,EAAAA,KAAC,MAAA,CAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,aAAc,eAAgB,gBAAiB,IAAK,gBAAA,EAC7F,SAAA,CAAAA,OAAC,OAAI,MAAO,CAAE,KAAM,EAAG,SAAU,GAC/B,SAAA,CAAAE,EAAAA,IAAC,KAAA,CAAG,MAAO,CAAE,SAAU,eAAgB,WAAY,kBAAmB,WAAY,IAAK,OAAQ,EAAG,MAAO,aACtG,SAAAX,EACH,EACCC,IAAgB,QACfU,EAAAA,IAAC,MAAA,CAAI,MAAO,CAAE,SAAU,eAAgB,MAAO,kBAAmB,UAAW,CAAA,EAC1E,SAAAV,CAAA,CACH,CAAA,EAEJ,EACAQ,EAAAA,KAAC,MAAA,CAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,iBAAkB,WAAY,CAAA,EACrF,SAAA,CAAAL,EACAD,CAAA,CAAA,CACH,CAAA,EACF,EACCE,IAAS,QACRM,MAAC,MAAA,CAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,SAAU,IAAK,iBAAkB,SAAU,MAAA,EACnF,SAAAN,CAAA,CACH,CAAA,CAAA,CAAA,CAIR,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as i,j as e}from"./cmdk-DVxytz9i.js";import{u as m,S as h,I as u,d,h as j,Z as y,i as C,F as S}from"./main-
|
|
1
|
+
import{r as i,j as e}from"./cmdk-DVxytz9i.js";import{u as m,S as h,I as u,d,h as j,Z as y,i as C,F as S}from"./main-Cxeu4LhG.js";import{V as w}from"./ViewHeader-B6P-C4GD.js";import{C as b,b as k}from"./Card-rF59wHiO.js";import{S as E,a as U}from"./Sheet-BOProMs2.js";import{E as z}from"./EmptyState-D65J5FQN.js";import{R as $}from"./refresh-ccw-DenGBOcq.js";import{U as F}from"./upload-Cq7uTsrT.js";import{T as V}from"./trash-2-Cv7U38jw.js";function H(){const s=m("/api/voice/list"),[g,r]=i.useState(null),[v,o]=i.useState(!1),[c,p]=i.useState(null),l=i.useMemo(()=>{var a;return((a=s.data)==null?void 0:a.memos)??[]},[s.data]),n=i.useCallback(()=>{s.refetch()},[s]),f=async a=>{p(null);try{await C(`/api/voice/${a}`,{method:"DELETE"}),r(null),n()}catch(t){p((t instanceof S,t.message))}};return e.jsxs(h,{gap:4,"data-testid":"voice-view",children:[e.jsx(w,{title:"Voice",description:"Voice memos. Upload a recording; play it inline.",actions:e.jsxs(u,{align:"center",gap:2,children:[c!==null&&e.jsx("span",{role:"alert","data-testid":"voice-error",style:{color:"var(--danger)",fontSize:"var(--fs-12)"},children:c}),e.jsxs(d,{variant:"ghost",onClick:()=>void n(),"data-testid":"voice-refresh",children:[e.jsx($,{size:14,"aria-hidden":!0})," Refresh"]}),e.jsxs(d,{variant:"primary",onClick:()=>o(!0),"data-testid":"voice-upload",children:[e.jsx(F,{size:14,"aria-hidden":!0})," Upload"]})]})}),e.jsx(b,{variant:"default",children:e.jsx(k,{children:s.loading&&l.length===0?e.jsxs(h,{gap:1,children:[e.jsx(j,{style:{height:48}}),e.jsx(j,{style:{height:48}})]}):l.length===0?e.jsx(z,{icon:e.jsx(y,{size:28,"aria-hidden":!0}),title:"No voice memos",description:"Upload a recording to get started."}):e.jsx(h,{gap:1,children:l.map(a=>{const t=g===a.id;return e.jsxs("div",{"data-testid":`voice-row-${a.id}`,style:{padding:"var(--space-2)",border:"1px solid var(--border)",borderRadius:"var(--radius-sm)"},children:[e.jsxs(u,{align:"center",justify:"between",gap:2,children:[e.jsxs(h,{gap:0,style:{minWidth:0,flex:1},children:[e.jsxs(u,{align:"center",gap:2,children:[e.jsx("strong",{style:{fontSize:"var(--fs-13)"},children:a.filename||a.id}),a.durationMs!==void 0&&e.jsxs("span",{style:{fontSize:"var(--fs-12)",color:"var(--fg-muted)"},children:[(a.durationMs/1e3).toFixed(1),"s"]}),a.createdAt&&e.jsx("span",{style:{fontSize:"var(--fs-11)",color:"var(--fg-subtle)"},children:a.createdAt})]}),e.jsx("audio",{controls:!0,preload:"none","data-testid":`voice-audio-${a.id}`,src:`/api/voice/${a.id}/audio`,style:{width:"100%",maxWidth:480}})]}),e.jsx(d,{variant:"ghost",onClick:()=>r(x=>x===a.id?null:a.id),"data-testid":`voice-delete-${a.id}`,"aria-label":`Delete ${a.id}`,children:e.jsx(V,{size:14,"aria-hidden":!0})})]}),t&&e.jsxs(u,{gap:1,style:{marginTop:"var(--space-1)"},children:[e.jsx(d,{variant:"danger",onClick:()=>void f(a.id),"data-testid":`voice-confirm-delete-${a.id}`,children:"Confirm delete"}),e.jsx(d,{variant:"ghost",onClick:()=>r(null),children:"Cancel"})]})]},a.id)})})})}),e.jsx(E,{open:v,onOpenChange:o,children:e.jsx(U,{side:"right",title:"Upload voice memo",description:"Pick a .wav / .mp3 / .m4a file.",children:e.jsx(D,{onSubmit:async a=>{const t=new FormData;t.append("file",a);const x=await fetch("/api/voice/upload",{method:"POST",body:t});if(!x.ok)throw new Error(`upload failed: ${x.status}`);o(!1),n()},onCancel:()=>o(!1)})})})]})}function D({onSubmit:s,onCancel:g}){const[r,v]=i.useState(null),[o,c]=i.useState(!1),[p,l]=i.useState(null);return e.jsxs(h,{gap:3,style:{padding:"var(--space-4)"},children:[e.jsx("input",{type:"file",accept:"audio/*","data-testid":"voice-upload-input",onChange:n=>{var f;return v(((f=n.target.files)==null?void 0:f[0])??null)}}),p!==null&&e.jsx("span",{role:"alert",style:{color:"var(--danger)",fontSize:"var(--fs-12)"},children:p}),e.jsxs(u,{justify:"end",gap:2,children:[e.jsx(d,{variant:"ghost",onClick:g,children:"Cancel"}),e.jsx(d,{variant:"primary",disabled:o||!r,"data-testid":"voice-upload-submit",onClick:async()=>{if(r){c(!0),l(null);try{await s(r)}catch(n){l(n.message),c(!1)}}},children:o?"Uploading…":"Upload"})]})]})}export{H as VoiceView};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceView-D3vb5OM2.js","sources":["../../src/web/v8/views/Voice/VoiceView.tsx"],"sourcesContent":["/**\n * v8/views/Voice/VoiceView.tsx — Sprint S43, v9.3.0.\n *\n * Voice memo list (GET /api/voice/list), per-row audio player\n * (GET /api/voice/:id/audio) + inline-confirm Delete\n * (DELETE /api/voice/:id), and Upload Sheet that POSTs FormData to\n * /api/voice/upload.\n */\n\nimport { useCallback, useMemo, useState } from 'react';\nimport { Mic, Upload, Trash2, RefreshCcw } from 'lucide-react';\nimport { Stack } from '../../ui/primitives/Stack.js';\nimport { Inline } from '../../ui/primitives/Inline.js';\nimport { ViewHeader } from '../../ui/data/ViewHeader.js';\nimport { Card, CardBody } from '../../ui/data/Card.js';\nimport { Button } from '../../ui/controls/Button.js';\nimport { Sheet, SheetContent } from '../../ui/feedback/Sheet.js';\nimport { Skeleton } from '../../ui/feedback/Skeleton.js';\nimport { EmptyState } from '../../ui/feedback/EmptyState.js';\nimport { useFetch } from '../../data/useFetch.js';\nimport { fetchJson, FetchError } from '../../data/fetcher.js';\n\ninterface VoiceMemo {\n id: string;\n filename?: string;\n durationMs?: number;\n createdAt?: string;\n size?: number;\n contentType?: string;\n}\n\nexport function VoiceView(): JSX.Element {\n const payload = useFetch<{ memos: VoiceMemo[] }>('/api/voice/list');\n const [confirmDelete, setConfirmDelete] = useState<string | null>(null);\n const [uploading, setUploading] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n\n const memos = useMemo<VoiceMemo[]>(() => payload.data?.memos ?? [], [payload.data]);\n const refresh = useCallback(() => { void payload.refetch(); }, [payload]);\n\n const drop = async (id: string): Promise<void> => {\n setError(null);\n try {\n await fetchJson(`/api/voice/${id}`, { method: 'DELETE' });\n setConfirmDelete(null);\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : (err as Error).message);\n }\n };\n\n return (\n <Stack gap={4} data-testid=\"voice-view\">\n <ViewHeader\n title=\"Voice\"\n description=\"Voice memos. Upload a recording; play it inline.\"\n actions={\n <Inline align=\"center\" gap={2}>\n {error !== null && (\n <span role=\"alert\" data-testid=\"voice-error\" style={{ color: 'var(--danger)', fontSize: 'var(--fs-12)' }}>\n {error}\n </span>\n )}\n <Button variant=\"ghost\" onClick={() => void refresh()} data-testid=\"voice-refresh\">\n <RefreshCcw size={14} aria-hidden /> Refresh\n </Button>\n <Button variant=\"primary\" onClick={() => setUploading(true)} data-testid=\"voice-upload\">\n <Upload size={14} aria-hidden /> Upload\n </Button>\n </Inline>\n }\n />\n\n <Card variant=\"default\">\n <CardBody>\n {payload.loading && memos.length === 0 ? (\n <Stack gap={1}>\n <Skeleton style={{ height: 48 }} />\n <Skeleton style={{ height: 48 }} />\n </Stack>\n ) : memos.length === 0 ? (\n <EmptyState icon={<Mic size={28} aria-hidden />} title=\"No voice memos\" description=\"Upload a recording to get started.\" />\n ) : (\n <Stack gap={1}>\n {memos.map((m) => {\n const isConfirming = confirmDelete === m.id;\n return (\n <div\n key={m.id}\n data-testid={`voice-row-${m.id}`}\n style={{ padding: 'var(--space-2)', border: '1px solid var(--border)', borderRadius: 'var(--radius-sm)' }}\n >\n <Inline align=\"center\" justify=\"between\" gap={2}>\n <Stack gap={0} style={{ minWidth: 0, flex: 1 }}>\n <Inline align=\"center\" gap={2}>\n <strong style={{ fontSize: 'var(--fs-13)' }}>{m.filename || m.id}</strong>\n {m.durationMs !== undefined && (\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>\n {(m.durationMs / 1000).toFixed(1)}s\n </span>\n )}\n {m.createdAt && (\n <span style={{ fontSize: 'var(--fs-11)', color: 'var(--fg-subtle)' }}>{m.createdAt}</span>\n )}\n </Inline>\n <audio\n controls\n preload=\"none\"\n data-testid={`voice-audio-${m.id}`}\n src={`/api/voice/${m.id}/audio`}\n style={{ width: '100%', maxWidth: 480 }}\n />\n </Stack>\n <Button variant=\"ghost\" onClick={() => setConfirmDelete((cur) => (cur === m.id ? null : m.id))} data-testid={`voice-delete-${m.id}`} aria-label={`Delete ${m.id}`}>\n <Trash2 size={14} aria-hidden />\n </Button>\n </Inline>\n {isConfirming && (\n <Inline gap={1} style={{ marginTop: 'var(--space-1)' }}>\n <Button variant=\"danger\" onClick={() => void drop(m.id)} data-testid={`voice-confirm-delete-${m.id}`}>\n Confirm delete\n </Button>\n <Button variant=\"ghost\" onClick={() => setConfirmDelete(null)}>Cancel</Button>\n </Inline>\n )}\n </div>\n );\n })}\n </Stack>\n )}\n </CardBody>\n </Card>\n\n <Sheet open={uploading} onOpenChange={setUploading}>\n <SheetContent side=\"right\" title=\"Upload voice memo\" description=\"Pick a .wav / .mp3 / .m4a file.\">\n <UploadForm\n onSubmit={async (file) => {\n const fd = new FormData();\n fd.append('file', file);\n const r = await fetch('/api/voice/upload', { method: 'POST', body: fd });\n if (!r.ok) throw new Error(`upload failed: ${r.status}`);\n setUploading(false);\n refresh();\n }}\n onCancel={() => setUploading(false)}\n />\n </SheetContent>\n </Sheet>\n </Stack>\n );\n}\n\nfunction UploadForm({\n onSubmit,\n onCancel,\n}: {\n onSubmit: (file: File) => Promise<void>;\n onCancel: () => void;\n}): JSX.Element {\n const [file, setFile] = useState<File | null>(null);\n const [busy, setBusy] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n\n return (\n <Stack gap={3} style={{ padding: 'var(--space-4)' }}>\n <input\n type=\"file\"\n accept=\"audio/*\"\n data-testid=\"voice-upload-input\"\n onChange={(e) => setFile((e.target as HTMLInputElement).files?.[0] ?? null)}\n />\n {error !== null && <span role=\"alert\" style={{ color: 'var(--danger)', fontSize: 'var(--fs-12)' }}>{error}</span>}\n <Inline justify=\"end\" gap={2}>\n <Button variant=\"ghost\" onClick={onCancel}>Cancel</Button>\n <Button\n variant=\"primary\"\n disabled={busy || !file}\n data-testid=\"voice-upload-submit\"\n onClick={async () => {\n if (!file) return;\n setBusy(true);\n setError(null);\n try { await onSubmit(file); }\n catch (err) { setError((err as Error).message); setBusy(false); }\n }}\n >\n {busy ? 'Uploading…' : 'Upload'}\n </Button>\n </Inline>\n </Stack>\n );\n}"],"names":["VoiceView","payload","useFetch","confirmDelete","setConfirmDelete","useState","uploading","setUploading","error","setError","memos","useMemo","_a","refresh","useCallback","drop","id","fetchJson","err","FetchError","jsxs","Stack","jsx","ViewHeader","Inline","Button","RefreshCcw","Upload","Card","CardBody","Skeleton","EmptyState","Mic","m","isConfirming","cur","Trash2","Sheet","SheetContent","UploadForm","file","fd","r","onSubmit","onCancel","setFile","busy","setBusy","e"],"mappings":"ybA+BO,SAASA,GAAyB,CACvC,MAAMC,EAAUC,EAAiC,iBAAiB,EAC5D,CAACC,EAAeC,CAAgB,EAAIC,EAAAA,SAAwB,IAAI,EAChE,CAACC,EAAWC,CAAY,EAAIF,EAAAA,SAAkB,EAAK,EACnD,CAACG,EAAOC,CAAQ,EAAIJ,EAAAA,SAAwB,IAAI,EAEhDK,EAAQC,UAAqB,IAAA,OAAM,QAAAC,EAAAX,EAAQ,OAAR,YAAAW,EAAc,QAAS,IAAI,CAACX,EAAQ,IAAI,CAAC,EAC5EY,EAAUC,EAAAA,YAAY,IAAM,CAAOb,EAAQ,QAAA,CAAW,EAAG,CAACA,CAAO,CAAC,EAElEc,EAAO,MAAOC,GAA8B,CAChDP,EAAS,IAAI,EACb,GAAI,CACF,MAAMQ,EAAU,cAAcD,CAAE,GAAI,CAAE,OAAQ,SAAU,EACxDZ,EAAiB,IAAI,EACrBS,EAAA,CACF,OAASK,EAAK,CACZT,GAASS,aAAeC,EAAaD,EAAI,QAAgC,CAC3E,CACF,EAEA,OACEE,EAAAA,KAACC,EAAA,CAAM,IAAK,EAAG,cAAY,aACzB,SAAA,CAAAC,EAAAA,IAACC,EAAA,CACC,MAAM,QACN,YAAY,mDACZ,QACEH,EAAAA,KAACI,EAAA,CAAO,MAAM,SAAS,IAAK,EACzB,SAAA,CAAAhB,IAAU,MACTc,MAAC,OAAA,CAAK,KAAK,QAAQ,cAAY,cAAc,MAAO,CAAE,MAAO,gBAAiB,SAAU,gBACrF,SAAAd,EACH,EAEFY,EAAAA,KAACK,EAAA,CAAO,QAAQ,QAAQ,QAAS,IAAM,KAAKZ,EAAA,EAAW,cAAY,gBACjE,SAAA,CAAAS,EAAAA,IAACI,EAAA,CAAW,KAAM,GAAI,cAAW,GAAC,EAAE,UAAA,EACtC,EACAN,EAAAA,KAACK,EAAA,CAAO,QAAQ,UAAU,QAAS,IAAMlB,EAAa,EAAI,EAAG,cAAY,eACvE,SAAA,CAAAe,EAAAA,IAACK,EAAA,CAAO,KAAM,GAAI,cAAW,GAAC,EAAE,SAAA,CAAA,CAClC,CAAA,CAAA,CACF,CAAA,CAAA,EAIJL,MAACM,EAAA,CAAK,QAAQ,UACZ,eAACC,EAAA,CACE,SAAA5B,EAAQ,SAAWS,EAAM,SAAW,EACnCU,EAAAA,KAACC,EAAA,CAAM,IAAK,EACV,SAAA,CAAAC,EAAAA,IAACQ,EAAA,CAAS,MAAO,CAAE,OAAQ,IAAM,QAChCA,EAAA,CAAS,MAAO,CAAE,OAAQ,GAAG,CAAG,CAAA,CAAA,CACnC,EACEpB,EAAM,SAAW,EACnBY,EAAAA,IAACS,EAAA,CAAW,KAAMT,EAAAA,IAACU,EAAA,CAAI,KAAM,GAAI,cAAW,EAAA,CAAC,EAAI,MAAM,iBAAiB,YAAY,oCAAA,CAAqC,EAEzHV,EAAAA,IAACD,EAAA,CAAM,IAAK,EACT,SAAAX,EAAM,IAAKuB,GAAM,CAChB,MAAMC,EAAe/B,IAAkB8B,EAAE,GACzC,OACEb,EAAAA,KAAC,MAAA,CAEC,cAAa,aAAaa,EAAE,EAAE,GAC9B,MAAO,CAAE,QAAS,iBAAkB,OAAQ,0BAA2B,aAAc,kBAAA,EAErF,SAAA,CAAAb,OAACI,GAAO,MAAM,SAAS,QAAQ,UAAU,IAAK,EAC5C,SAAA,CAAAJ,EAAAA,KAACC,EAAA,CAAM,IAAK,EAAG,MAAO,CAAE,SAAU,EAAG,KAAM,CAAA,EACzC,SAAA,CAAAD,EAAAA,KAACI,EAAA,CAAO,MAAM,SAAS,IAAK,EAC1B,SAAA,CAAAF,EAAAA,IAAC,SAAA,CAAO,MAAO,CAAE,SAAU,gBAAmB,SAAAW,EAAE,UAAYA,EAAE,EAAA,CAAG,EAChEA,EAAE,aAAe,QAChBb,EAAAA,KAAC,OAAA,CAAK,MAAO,CAAE,SAAU,eAAgB,MAAO,iBAAA,EAC5C,SAAA,EAAAa,EAAE,WAAa,KAAM,QAAQ,CAAC,EAAE,GAAA,EACpC,EAEDA,EAAE,WACDX,EAAAA,IAAC,OAAA,CAAK,MAAO,CAAE,SAAU,eAAgB,MAAO,kBAAA,EAAuB,SAAAW,EAAE,SAAA,CAAU,CAAA,EAEvF,EACAX,EAAAA,IAAC,QAAA,CACC,SAAQ,GACR,QAAQ,OACR,cAAa,eAAeW,EAAE,EAAE,GAChC,IAAK,cAAcA,EAAE,EAAE,SACvB,MAAO,CAAE,MAAO,OAAQ,SAAU,GAAA,CAAI,CAAA,CACxC,EACF,EACAX,EAAAA,IAACG,EAAA,CAAO,QAAQ,QAAQ,QAAS,IAAMrB,EAAkB+B,GAASA,IAAQF,EAAE,GAAK,KAAOA,EAAE,EAAG,EAAG,cAAa,gBAAgBA,EAAE,EAAE,GAAI,aAAY,UAAUA,EAAE,EAAE,GAC7J,SAAAX,EAAAA,IAACc,EAAA,CAAO,KAAM,GAAI,cAAW,GAAC,CAAA,CAChC,CAAA,EACF,EACCF,UACEV,EAAA,CAAO,IAAK,EAAG,MAAO,CAAE,UAAW,gBAAA,EAClC,SAAA,CAAAF,EAAAA,IAACG,EAAA,CAAO,QAAQ,SAAS,QAAS,IAAM,KAAKV,EAAKkB,EAAE,EAAE,EAAG,cAAa,wBAAwBA,EAAE,EAAE,GAAI,SAAA,iBAEtG,EACAX,EAAAA,IAACG,GAAO,QAAQ,QAAQ,QAAS,IAAMrB,EAAiB,IAAI,EAAG,SAAA,QAAA,CAAM,CAAA,CAAA,CACvE,CAAA,CAAA,EAnCG6B,EAAE,EAAA,CAuCb,CAAC,CAAA,CACH,CAAA,CAEJ,EACF,EAEAX,EAAAA,IAACe,EAAA,CAAM,KAAM/B,EAAW,aAAcC,EACpC,SAAAe,EAAAA,IAACgB,EAAA,CAAa,KAAK,QAAQ,MAAM,oBAAoB,YAAY,kCAC/D,SAAAhB,EAAAA,IAACiB,EAAA,CACC,SAAU,MAAOC,GAAS,CACxB,MAAMC,EAAK,IAAI,SACfA,EAAG,OAAO,OAAQD,CAAI,EACtB,MAAME,EAAI,MAAM,MAAM,oBAAqB,CAAE,OAAQ,OAAQ,KAAMD,EAAI,EACvE,GAAI,CAACC,EAAE,GAAI,MAAM,IAAI,MAAM,kBAAkBA,EAAE,MAAM,EAAE,EACvDnC,EAAa,EAAK,EAClBM,EAAA,CACF,EACA,SAAU,IAAMN,EAAa,EAAK,CAAA,CAAA,EAEtC,CAAA,CACF,CAAA,EACF,CAEJ,CAEA,SAASgC,EAAW,CAClB,SAAAI,EACA,SAAAC,CACF,EAGgB,CACd,KAAM,CAACJ,EAAMK,CAAO,EAAIxC,EAAAA,SAAsB,IAAI,EAC5C,CAACyC,EAAMC,CAAO,EAAI1C,EAAAA,SAAkB,EAAK,EACzC,CAACG,EAAOC,CAAQ,EAAIJ,EAAAA,SAAwB,IAAI,EAEtD,OACEe,EAAAA,KAACC,GAAM,IAAK,EAAG,MAAO,CAAE,QAAS,kBAC/B,SAAA,CAAAC,EAAAA,IAAC,QAAA,CACC,KAAK,OACL,OAAO,UACP,cAAY,qBACZ,SAAW0B,GAAA,OAAM,OAAAH,IAASjC,EAAAoC,EAAE,OAA4B,QAA9B,YAAApC,EAAsC,KAAM,IAAI,EAAA,CAAA,EAE3EJ,IAAU,MAAQc,EAAAA,IAAC,OAAA,CAAK,KAAK,QAAQ,MAAO,CAAE,MAAO,gBAAiB,SAAU,cAAA,EAAmB,SAAAd,EAAM,EAC1GY,EAAAA,KAACI,EAAA,CAAO,QAAQ,MAAM,IAAK,EACzB,SAAA,CAAAF,MAACG,EAAA,CAAO,QAAQ,QAAQ,QAASmB,EAAU,SAAA,SAAM,EACjDtB,EAAAA,IAACG,EAAA,CACC,QAAQ,UACR,SAAUqB,GAAQ,CAACN,EACnB,cAAY,sBACZ,QAAS,SAAY,CACnB,GAAKA,EACL,CAAAO,EAAQ,EAAI,EACZtC,EAAS,IAAI,EACb,GAAI,CAAE,MAAMkC,EAASH,CAAI,CAAG,OACrBtB,EAAK,CAAET,EAAUS,EAAc,OAAO,EAAG6B,EAAQ,EAAK,CAAG,EAClE,EAEC,WAAO,aAAe,QAAA,CAAA,CACzB,CAAA,CACF,CAAA,EACF,CAEJ"}
|
|
1
|
+
{"version":3,"file":"VoiceView-CwrPwWgi.js","sources":["../../src/web/v8/views/Voice/VoiceView.tsx"],"sourcesContent":["/**\n * v8/views/Voice/VoiceView.tsx — Sprint S43, v9.3.0.\n *\n * Voice memo list (GET /api/voice/list), per-row audio player\n * (GET /api/voice/:id/audio) + inline-confirm Delete\n * (DELETE /api/voice/:id), and Upload Sheet that POSTs FormData to\n * /api/voice/upload.\n */\n\nimport { useCallback, useMemo, useState } from 'react';\nimport { Mic, Upload, Trash2, RefreshCcw } from 'lucide-react';\nimport { Stack } from '../../ui/primitives/Stack.js';\nimport { Inline } from '../../ui/primitives/Inline.js';\nimport { ViewHeader } from '../../ui/data/ViewHeader.js';\nimport { Card, CardBody } from '../../ui/data/Card.js';\nimport { Button } from '../../ui/controls/Button.js';\nimport { Sheet, SheetContent } from '../../ui/feedback/Sheet.js';\nimport { Skeleton } from '../../ui/feedback/Skeleton.js';\nimport { EmptyState } from '../../ui/feedback/EmptyState.js';\nimport { useFetch } from '../../data/useFetch.js';\nimport { fetchJson, FetchError } from '../../data/fetcher.js';\n\ninterface VoiceMemo {\n id: string;\n filename?: string;\n durationMs?: number;\n createdAt?: string;\n size?: number;\n contentType?: string;\n}\n\nexport function VoiceView(): JSX.Element {\n const payload = useFetch<{ memos: VoiceMemo[] }>('/api/voice/list');\n const [confirmDelete, setConfirmDelete] = useState<string | null>(null);\n const [uploading, setUploading] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n\n const memos = useMemo<VoiceMemo[]>(() => payload.data?.memos ?? [], [payload.data]);\n const refresh = useCallback(() => { void payload.refetch(); }, [payload]);\n\n const drop = async (id: string): Promise<void> => {\n setError(null);\n try {\n await fetchJson(`/api/voice/${id}`, { method: 'DELETE' });\n setConfirmDelete(null);\n refresh();\n } catch (err) {\n setError(err instanceof FetchError ? err.message : (err as Error).message);\n }\n };\n\n return (\n <Stack gap={4} data-testid=\"voice-view\">\n <ViewHeader\n title=\"Voice\"\n description=\"Voice memos. Upload a recording; play it inline.\"\n actions={\n <Inline align=\"center\" gap={2}>\n {error !== null && (\n <span role=\"alert\" data-testid=\"voice-error\" style={{ color: 'var(--danger)', fontSize: 'var(--fs-12)' }}>\n {error}\n </span>\n )}\n <Button variant=\"ghost\" onClick={() => void refresh()} data-testid=\"voice-refresh\">\n <RefreshCcw size={14} aria-hidden /> Refresh\n </Button>\n <Button variant=\"primary\" onClick={() => setUploading(true)} data-testid=\"voice-upload\">\n <Upload size={14} aria-hidden /> Upload\n </Button>\n </Inline>\n }\n />\n\n <Card variant=\"default\">\n <CardBody>\n {payload.loading && memos.length === 0 ? (\n <Stack gap={1}>\n <Skeleton style={{ height: 48 }} />\n <Skeleton style={{ height: 48 }} />\n </Stack>\n ) : memos.length === 0 ? (\n <EmptyState icon={<Mic size={28} aria-hidden />} title=\"No voice memos\" description=\"Upload a recording to get started.\" />\n ) : (\n <Stack gap={1}>\n {memos.map((m) => {\n const isConfirming = confirmDelete === m.id;\n return (\n <div\n key={m.id}\n data-testid={`voice-row-${m.id}`}\n style={{ padding: 'var(--space-2)', border: '1px solid var(--border)', borderRadius: 'var(--radius-sm)' }}\n >\n <Inline align=\"center\" justify=\"between\" gap={2}>\n <Stack gap={0} style={{ minWidth: 0, flex: 1 }}>\n <Inline align=\"center\" gap={2}>\n <strong style={{ fontSize: 'var(--fs-13)' }}>{m.filename || m.id}</strong>\n {m.durationMs !== undefined && (\n <span style={{ fontSize: 'var(--fs-12)', color: 'var(--fg-muted)' }}>\n {(m.durationMs / 1000).toFixed(1)}s\n </span>\n )}\n {m.createdAt && (\n <span style={{ fontSize: 'var(--fs-11)', color: 'var(--fg-subtle)' }}>{m.createdAt}</span>\n )}\n </Inline>\n <audio\n controls\n preload=\"none\"\n data-testid={`voice-audio-${m.id}`}\n src={`/api/voice/${m.id}/audio`}\n style={{ width: '100%', maxWidth: 480 }}\n />\n </Stack>\n <Button variant=\"ghost\" onClick={() => setConfirmDelete((cur) => (cur === m.id ? null : m.id))} data-testid={`voice-delete-${m.id}`} aria-label={`Delete ${m.id}`}>\n <Trash2 size={14} aria-hidden />\n </Button>\n </Inline>\n {isConfirming && (\n <Inline gap={1} style={{ marginTop: 'var(--space-1)' }}>\n <Button variant=\"danger\" onClick={() => void drop(m.id)} data-testid={`voice-confirm-delete-${m.id}`}>\n Confirm delete\n </Button>\n <Button variant=\"ghost\" onClick={() => setConfirmDelete(null)}>Cancel</Button>\n </Inline>\n )}\n </div>\n );\n })}\n </Stack>\n )}\n </CardBody>\n </Card>\n\n <Sheet open={uploading} onOpenChange={setUploading}>\n <SheetContent side=\"right\" title=\"Upload voice memo\" description=\"Pick a .wav / .mp3 / .m4a file.\">\n <UploadForm\n onSubmit={async (file) => {\n const fd = new FormData();\n fd.append('file', file);\n const r = await fetch('/api/voice/upload', { method: 'POST', body: fd });\n if (!r.ok) throw new Error(`upload failed: ${r.status}`);\n setUploading(false);\n refresh();\n }}\n onCancel={() => setUploading(false)}\n />\n </SheetContent>\n </Sheet>\n </Stack>\n );\n}\n\nfunction UploadForm({\n onSubmit,\n onCancel,\n}: {\n onSubmit: (file: File) => Promise<void>;\n onCancel: () => void;\n}): JSX.Element {\n const [file, setFile] = useState<File | null>(null);\n const [busy, setBusy] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n\n return (\n <Stack gap={3} style={{ padding: 'var(--space-4)' }}>\n <input\n type=\"file\"\n accept=\"audio/*\"\n data-testid=\"voice-upload-input\"\n onChange={(e) => setFile((e.target as HTMLInputElement).files?.[0] ?? null)}\n />\n {error !== null && <span role=\"alert\" style={{ color: 'var(--danger)', fontSize: 'var(--fs-12)' }}>{error}</span>}\n <Inline justify=\"end\" gap={2}>\n <Button variant=\"ghost\" onClick={onCancel}>Cancel</Button>\n <Button\n variant=\"primary\"\n disabled={busy || !file}\n data-testid=\"voice-upload-submit\"\n onClick={async () => {\n if (!file) return;\n setBusy(true);\n setError(null);\n try { await onSubmit(file); }\n catch (err) { setError((err as Error).message); setBusy(false); }\n }}\n >\n {busy ? 'Uploading…' : 'Upload'}\n </Button>\n </Inline>\n </Stack>\n );\n}"],"names":["VoiceView","payload","useFetch","confirmDelete","setConfirmDelete","useState","uploading","setUploading","error","setError","memos","useMemo","_a","refresh","useCallback","drop","id","fetchJson","err","FetchError","jsxs","Stack","jsx","ViewHeader","Inline","Button","RefreshCcw","Upload","Card","CardBody","Skeleton","EmptyState","Mic","m","isConfirming","cur","Trash2","Sheet","SheetContent","UploadForm","file","fd","r","onSubmit","onCancel","setFile","busy","setBusy","e"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brain-
|
|
1
|
+
{"version":3,"file":"brain-CwZt9Kta.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/brain.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 Brain = createLucideIcon(\"Brain\", [\n [\n \"path\",\n {\n d: \"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z\",\n key: \"l5xja\"\n }\n ],\n [\n \"path\",\n {\n d: \"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z\",\n key: \"ep3f8r\"\n }\n ],\n [\"path\", { d: \"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4\", key: \"1p4c4q\" }],\n [\"path\", { d: \"M17.599 6.5a3 3 0 0 0 .399-1.375\", key: \"tmeiqw\" }],\n [\"path\", { d: \"M6.003 5.125A3 3 0 0 0 6.401 6.5\", key: \"105sqy\" }],\n [\"path\", { d: \"M3.477 10.896a4 4 0 0 1 .585-.396\", key: \"ql3yin\" }],\n [\"path\", { d: \"M19.938 10.5a4 4 0 0 1 .585.396\", key: \"1qfode\" }],\n [\"path\", { d: \"M6 18a4 4 0 0 1-1.967-.516\", key: \"2e4loj\" }],\n [\"path\", { d: \"M19.967 17.484A4 4 0 0 1 18 18\", key: \"159ez6\" }]\n]);\n\nexport { Brain as default };\n//# sourceMappingURL=brain.js.map\n"],"names":["Brain","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAQC,EAAiB,QAAS,CACtC,CACE,OACA,CACE,EAAG,uFACH,IAAK,OACX,CACA,EACE,CACE,OACA,CACE,EAAG,uFACH,IAAK,QACX,CACA,EACE,CAAC,OAAQ,CAAE,EAAG,6CAA8C,IAAK,QAAQ,CAAE,EAC3E,CAAC,OAAQ,CAAE,EAAG,mCAAoC,IAAK,QAAQ,CAAE,EACjE,CAAC,OAAQ,CAAE,EAAG,mCAAoC,IAAK,QAAQ,CAAE,EACjE,CAAC,OAAQ,CAAE,EAAG,oCAAqC,IAAK,QAAQ,CAAE,EAClE,CAAC,OAAQ,CAAE,EAAG,kCAAmC,IAAK,QAAQ,CAAE,EAChE,CAAC,OAAQ,CAAE,EAAG,6BAA8B,IAAK,QAAQ,CAAE,EAC3D,CAAC,OAAQ,CAAE,EAAG,iCAAkC,IAAK,QAAQ,CAAE,CACjE,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-
|
|
1
|
+
{"version":3,"file":"calendar-C5oK0_nM.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/calendar.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 Calendar = createLucideIcon(\"Calendar\", [\n [\"path\", { d: \"M8 2v4\", key: \"1cmpym\" }],\n [\"path\", { d: \"M16 2v4\", key: \"4m81vk\" }],\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"4\", rx: \"2\", key: \"1hopcy\" }],\n [\"path\", { d: \"M3 10h18\", key: \"8toen8\" }]\n]);\n\nexport { Calendar as default };\n//# sourceMappingURL=calendar.js.map\n"],"names":["Calendar","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,WAAY,CAC5C,CAAC,OAAQ,CAAE,EAAG,SAAU,IAAK,QAAQ,CAAE,EACvC,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAQ,CAAE,EACxC,CAAC,OAAQ,CAAE,MAAO,KAAM,OAAQ,KAAM,EAAG,IAAK,EAAG,IAAK,GAAI,IAAK,IAAK,QAAQ,CAAE,EAC9E,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,QAAQ,CAAE,CAC3C,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circle-
|
|
1
|
+
{"version":3,"file":"circle-D1Lc_P2a.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/circle.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 Circle = createLucideIcon(\"Circle\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }]\n]);\n\nexport { Circle as default };\n//# sourceMappingURL=circle.js.map\n"],"names":["Circle","createLucideIcon"],"mappings":"kCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAASC,EAAiB,SAAU,CACxC,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,QAAQ,CAAE,CAC3D,CAAC","x_google_ignoreList":[0]}
|
package/bizar-dash/dist/assets/{circle-alert-CQ9MLygI.js.map → circle-alert-HdHe7m8K.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circle-alert-
|
|
1
|
+
{"version":3,"file":"circle-alert-HdHe7m8K.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/circle-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 CircleAlert = createLucideIcon(\"CircleAlert\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n]);\n\nexport { CircleAlert as default };\n//# sourceMappingURL=circle-alert.js.map\n"],"names":["CircleAlert","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAcC,EAAiB,cAAe,CAClD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,SAAU,EACzD,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,IAAK,GAAI,KAAM,IAAK,QAAQ,CAAE,EACjE,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,QAAS,GAAI,KAAM,GAAI,KAAM,IAAK,QAAQ,CAAE,CACvE,CAAC","x_google_ignoreList":[0]}
|
package/bizar-dash/dist/assets/{circle-check-COtVgsWw.js.map → circle-check-Cs-xoV7R.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circle-check-
|
|
1
|
+
{"version":3,"file":"circle-check-Cs-xoV7R.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/circle-check.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 CircleCheck = createLucideIcon(\"CircleCheck\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"m9 12 2 2 4-4\", key: \"dzmm74\" }]\n]);\n\nexport { CircleCheck as default };\n//# sourceMappingURL=circle-check.js.map\n"],"names":["CircleCheck","createLucideIcon"],"mappings":"kCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAcC,EAAiB,cAAe,CAClD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,SAAU,EACzD,CAAC,OAAQ,CAAE,EAAG,gBAAiB,IAAK,QAAQ,CAAE,CAChD,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clock-
|
|
1
|
+
{"version":3,"file":"clock-DEIuPV60.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/clock.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 Clock = createLucideIcon(\"Clock\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"polyline\", { points: \"12 6 12 12 16 14\", key: \"68esgv\" }]\n]);\n\nexport { Clock as default };\n//# sourceMappingURL=clock.js.map\n"],"names":["Clock","createLucideIcon"],"mappings":"kCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAQC,EAAiB,QAAS,CACtC,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,KAAM,IAAK,SAAU,EACzD,CAAC,WAAY,CAAE,OAAQ,mBAAoB,IAAK,QAAQ,CAAE,CAC5D,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download-
|
|
1
|
+
{"version":3,"file":"download-Clkq90Ct.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/download.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 Download = createLucideIcon(\"Download\", [\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }],\n [\"polyline\", { points: \"7 10 12 15 17 10\", key: \"2ggqvy\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"15\", y2: \"3\", key: \"1vk2je\" }]\n]);\n\nexport { Download as default };\n//# sourceMappingURL=download.js.map\n"],"names":["Download","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,WAAY,CAC5C,CAAC,OAAQ,CAAE,EAAG,4CAA6C,IAAK,QAAQ,CAAE,EAC1E,CAAC,WAAY,CAAE,OAAQ,mBAAoB,IAAK,QAAQ,CAAE,EAC1D,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,IAAK,IAAK,QAAQ,CAAE,CACnE,CAAC","x_google_ignoreList":[0]}
|
package/bizar-dash/dist/assets/{external-link-CAOnh_DH.js.map → external-link-D5tq2o_I.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-link-
|
|
1
|
+
{"version":3,"file":"external-link-D5tq2o_I.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/external-link.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 ExternalLink = createLucideIcon(\"ExternalLink\", [\n [\"path\", { d: \"M15 3h6v6\", key: \"1q9fwt\" }],\n [\"path\", { d: \"M10 14 21 3\", key: \"gplh6r\" }],\n [\"path\", { d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\", key: \"a6xqqp\" }]\n]);\n\nexport { ExternalLink as default };\n//# sourceMappingURL=external-link.js.map\n"],"names":["ExternalLink","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAeC,EAAiB,eAAgB,CACpD,CAAC,OAAQ,CAAE,EAAG,YAAa,IAAK,QAAQ,CAAE,EAC1C,CAAC,OAAQ,CAAE,EAAG,cAAe,IAAK,QAAQ,CAAE,EAC5C,CAAC,OAAQ,CAAE,EAAG,2DAA4D,IAAK,QAAQ,CAAE,CAC3F,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-text-
|
|
1
|
+
{"version":3,"file":"file-text-CQ12t7Oc.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/file-text.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 FileText = createLucideIcon(\"FileText\", [\n [\"path\", { d: \"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\", key: \"1rqfz7\" }],\n [\"path\", { d: \"M14 2v4a2 2 0 0 0 2 2h4\", key: \"tnqrlb\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n]);\n\nexport { FileText as default };\n//# sourceMappingURL=file-text.js.map\n"],"names":["FileText","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,WAAY,CAC5C,CAAC,OAAQ,CAAE,EAAG,6DAA8D,IAAK,QAAQ,CAAE,EAC3F,CAAC,OAAQ,CAAE,EAAG,0BAA2B,IAAK,QAAQ,CAAE,EACxD,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAQ,CAAE,EACxC,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":"filter-
|
|
1
|
+
{"version":3,"file":"filter-BcbE37wP.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/filter.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 Filter = createLucideIcon(\"Filter\", [\n [\"polygon\", { points: \"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\", key: \"1yg77f\" }]\n]);\n\nexport { Filter as default };\n//# sourceMappingURL=filter.js.map\n"],"names":["Filter","createLucideIcon"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAASC,EAAiB,SAAU,CACxC,CAAC,UAAW,CAAE,OAAQ,8CAA+C,IAAK,QAAQ,CAAE,CACtF,CAAC","x_google_ignoreList":[0]}
|
package/bizar-dash/dist/assets/{git-pull-request-Co6gYfba.js.map → git-pull-request-D1qNDRia.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-pull-request-
|
|
1
|
+
{"version":3,"file":"git-pull-request-D1qNDRia.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/git-merge.js","../../../node_modules/lucide-react/dist/esm/icons/git-pull-request.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 GitMerge = createLucideIcon(\"GitMerge\", [\n [\"circle\", { cx: \"18\", cy: \"18\", r: \"3\", key: \"1xkwt0\" }],\n [\"circle\", { cx: \"6\", cy: \"6\", r: \"3\", key: \"1lh9wr\" }],\n [\"path\", { d: \"M6 21V9a9 9 0 0 0 9 9\", key: \"7kw0sc\" }]\n]);\n\nexport { GitMerge as default };\n//# sourceMappingURL=git-merge.js.map\n","/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst GitPullRequest = createLucideIcon(\"GitPullRequest\", [\n [\"circle\", { cx: \"18\", cy: \"18\", r: \"3\", key: \"1xkwt0\" }],\n [\"circle\", { cx: \"6\", cy: \"6\", r: \"3\", key: \"1lh9wr\" }],\n [\"path\", { d: \"M13 6h3a2 2 0 0 1 2 2v7\", key: \"1yeb86\" }],\n [\"line\", { x1: \"6\", x2: \"6\", y1: \"9\", y2: \"21\", key: \"rroup\" }]\n]);\n\nexport { GitPullRequest as default };\n//# sourceMappingURL=git-pull-request.js.map\n"],"names":["GitMerge","createLucideIcon","GitPullRequest"],"mappings":"uCAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAWC,EAAiB,WAAY,CAC5C,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,IAAK,IAAK,SAAU,EACxD,CAAC,SAAU,CAAE,GAAI,IAAK,GAAI,IAAK,EAAG,IAAK,IAAK,SAAU,EACtD,CAAC,OAAQ,CAAE,EAAG,wBAAyB,IAAK,QAAQ,CAAE,CACxD,CAAC,ECbD;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACC,EAAiBD,EAAiB,iBAAkB,CACxD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,IAAK,IAAK,SAAU,EACxD,CAAC,SAAU,CAAE,GAAI,IAAK,GAAI,IAAK,EAAG,IAAK,IAAK,SAAU,EACtD,CAAC,OAAQ,CAAE,EAAG,0BAA2B,IAAK,QAAQ,CAAE,EACxD,CAAC,OAAQ,CAAE,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,KAAM,IAAK,OAAO,CAAE,CAChE,CAAC","x_google_ignoreList":[0,1]}
|