@lunora/studio 1.0.0-alpha.28 → 1.0.0-alpha.280
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/LICENSE.md +6 -0
- package/README.md +1 -1
- package/dist/index.d.mts +1581 -0
- package/dist/index.d.ts +974 -806
- package/dist/index.mjs +1 -0
- package/dist/mount.d.mts +22 -0
- package/dist/mount.d.ts +11 -10
- package/dist/mount.mjs +1 -0
- package/dist/packem_chunks/AdvisorHealthPanel.mjs +1 -0
- package/dist/packem_chunks/ApiTab.mjs +1 -0
- package/dist/packem_chunks/AuditPanel.mjs +1 -0
- package/dist/packem_chunks/DeploymentHealthPanel.mjs +1 -0
- package/dist/packem_chunks/ExportImportPanel.mjs +3 -0
- package/dist/packem_chunks/FileBrowser.mjs +4 -0
- package/dist/packem_chunks/FunctionRunner.mjs +1 -0
- package/dist/packem_chunks/FunctionStatsPanel.mjs +1 -0
- package/dist/packem_chunks/HealthPanel.mjs +1 -0
- package/dist/packem_chunks/InsightsPanel.mjs +1 -0
- package/dist/packem_chunks/LogsPanel.mjs +1 -0
- package/dist/packem_chunks/MailPanel.mjs +2 -0
- package/dist/packem_chunks/MetricsPanel.mjs +1 -0
- package/dist/packem_chunks/NotificationsPanel.mjs +1 -0
- package/dist/packem_chunks/PitrPanel.mjs +1 -0
- package/dist/packem_chunks/SchemaViewer.mjs +1 -0
- package/dist/packem_chunks/SecurityAdvisorPanel.mjs +1 -0
- package/dist/packem_chunks/SettingsPanel.mjs +1 -0
- package/dist/packem_chunks/SqlEditorPanel.mjs +10 -0
- package/dist/packem_chunks/TableEditor.mjs +1 -0
- package/dist/packem_chunks/agents-panel.mjs +1 -0
- package/dist/packem_chunks/ai-usage-panel.mjs +1 -0
- package/dist/packem_chunks/analytics-panel.mjs +1 -0
- package/dist/packem_chunks/architecture-panel.mjs +1 -0
- package/dist/packem_chunks/auth-audit-panel.mjs +1 -0
- package/dist/packem_chunks/auth-config-panel.mjs +1 -0
- package/dist/packem_chunks/auth-sessions-panel.mjs +1 -0
- package/dist/packem_chunks/containers-panel.mjs +1 -0
- package/dist/packem_chunks/dashboards-panel.mjs +1 -0
- package/dist/packem_chunks/evals-panel.mjs +1 -0
- package/dist/packem_chunks/fanout-panel.mjs +1 -0
- package/dist/packem_chunks/flags-panel.mjs +1 -0
- package/dist/packem_chunks/issues-panel.mjs +1 -0
- package/dist/packem_chunks/kv-browser.mjs +1 -0
- package/dist/packem_chunks/log-drains-panel.mjs +4 -0
- package/dist/packem_chunks/migrations-route.mjs +1 -0
- package/dist/packem_chunks/organizations-panel.mjs +1 -0
- package/dist/packem_chunks/payments-panel.mjs +1 -0
- package/dist/packem_chunks/permissions-panel.mjs +1 -0
- package/dist/packem_chunks/queues-panel.mjs +1 -0
- package/dist/packem_chunks/reactors-panel.mjs +1 -0
- package/dist/packem_chunks/rls-panel.mjs +1 -0
- package/dist/packem_chunks/schedule-panel.mjs +1 -0
- package/dist/packem_chunks/sparkline.mjs +1 -0
- package/dist/packem_chunks/storage-rules-panel.mjs +1 -0
- package/dist/packem_chunks/subscriptions-panel.mjs +1 -0
- package/dist/packem_chunks/sync-client-panel.mjs +1 -0
- package/dist/packem_chunks/traces-panel.mjs +1 -0
- package/dist/packem_chunks/users-panel.mjs +1 -0
- package/dist/packem_chunks/vector-browser.mjs +1 -0
- package/dist/packem_chunks/workflows-panel.mjs +1 -0
- package/dist/packem_shared/ADMIN_FUNCTIONS-B8yyk5BX.mjs +1 -0
- package/dist/packem_shared/ApiDocsPanel-fhDlZGE4.mjs +2 -0
- package/dist/packem_shared/ApiReferencePanel-nAf8tNRr.mjs +1 -0
- package/dist/packem_shared/CommandPalette-D9ZY-qQd.mjs +1 -0
- package/dist/packem_shared/ConfirmButton-DU4p72Er.mjs +1 -0
- package/dist/packem_shared/ConnectionBadge-B8Hj5DaE.mjs +1 -0
- package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-DuULO4XM.mjs +1 -0
- package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-D5YMT0gM.mjs +1 -0
- package/dist/packem_shared/DEFAULT_LOCALE-A1Yg5ORA.mjs +1 -0
- package/dist/packem_shared/DataBrowser-C14aRmmR.mjs +4 -0
- package/dist/packem_shared/DataFilters-CYZFt2EK.mjs +1 -0
- package/dist/packem_shared/ErrorBoundary-BWNF98VF.mjs +1 -0
- package/dist/packem_shared/GlobalDataBrowser-DhObcZDY.mjs +1 -0
- package/dist/packem_shared/HomePanel-C-g2umyB.mjs +1 -0
- package/dist/packem_shared/MigrationsPanel-CkVIwAbK.mjs +1 -0
- package/dist/packem_shared/OpenRpcReferencePanel-BxEr49D9.mjs +1 -0
- package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.mjs +1 -0
- package/dist/packem_shared/ScheduledJobs-BZNcYWBP.mjs +1 -0
- package/dist/packem_shared/ShardInput-C6mjgAh4.mjs +1 -0
- package/dist/packem_shared/Studio-D2BDkB20.mjs +1 -0
- package/dist/packem_shared/StudioApp-IeTX2moM.mjs +1 -0
- package/dist/packem_shared/StudioI18nProvider-fVsCSs5L.mjs +1 -0
- package/dist/packem_shared/advisor-view-DzI2RQhY.mjs +1 -0
- package/dist/packem_shared/aggregateMetrics-DKFJc-o5.mjs +1 -0
- package/dist/packem_shared/alert-PB5W11MM.mjs +1 -0
- package/dist/packem_shared/app.d-BIfsPhiH.d.mts +310 -0
- package/dist/packem_shared/app.d-BIfsPhiH.d.ts +310 -0
- package/dist/packem_shared/auth-pager-DiDnXsfe.mjs +1 -0
- package/dist/packem_shared/badge-r_5B4LHP.mjs +1 -0
- package/dist/packem_shared/bar-chart-BCsEIQoQ.mjs +6 -0
- package/dist/packem_shared/browser-storage-BH1MxLZs.mjs +1 -0
- package/dist/packem_shared/button-q0UYSmrn.mjs +1 -0
- package/dist/packem_shared/card-By2O8ULa.mjs +1 -0
- package/dist/packem_shared/cf-links-CBJ5SywP.mjs +1 -0
- package/dist/packem_shared/checkbox-CnS9cyCz.mjs +1 -0
- package/dist/packem_shared/control-button-BOZ5K-FC.mjs +1 -0
- package/dist/packem_shared/data-grid-DIiNmDR9.mjs +1 -0
- package/dist/packem_shared/data-view-params-DhYmAkcj.mjs +1 -0
- package/dist/packem_shared/diagram-export-panel-D5CVNJkp.mjs +2 -0
- package/dist/packem_shared/dropdown-menu-jLZenfWH.mjs +2 -0
- package/dist/packem_shared/empty-state-D7jEML_T.mjs +1 -0
- package/dist/packem_shared/error-alert-DueSEkt-.mjs +1 -0
- package/dist/packem_shared/grid-features-OVIMIQan.mjs +6 -0
- package/dist/packem_shared/grid-pagination-DgzyzfBh.mjs +1 -0
- package/dist/packem_shared/home-panel-DIaVZra4.mjs +3 -0
- package/dist/packem_shared/input-CXhxesPC.mjs +1 -0
- package/dist/packem_shared/internal-Df43vQI0.mjs +2 -0
- package/dist/packem_shared/label-DKFzyHq6.mjs +1 -0
- package/dist/packem_shared/live-status-BuJdUZFU.mjs +1 -0
- package/dist/packem_shared/log-fields-BolUoZ9g.mjs +1 -0
- package/dist/packem_shared/log-line-CICyJ_kc.mjs +1 -0
- package/dist/packem_shared/metrics-format-1sNGG47R.mjs +1 -0
- package/dist/packem_shared/modal-shell-CDztwLnv.mjs +1 -0
- package/dist/packem_shared/operation-console-provider-DoloEvon.mjs +1 -0
- package/dist/packem_shared/recording-client-CyFiAE2l.mjs +1 -0
- package/dist/packem_shared/reference-view-CIHyURU6.mjs +13 -0
- package/dist/packem_shared/schema-diagram-C5oilX7l.mjs +2 -0
- package/dist/packem_shared/scroll-area-CXCQH7VT.mjs +2 -0
- package/dist/packem_shared/select-DPyS18Vy.mjs +2 -0
- package/dist/packem_shared/shard-history-CaO3C4KQ.mjs +1 -0
- package/dist/packem_shared/shortcuts-B9gDaXmw.mjs +1 -0
- package/dist/packem_shared/skeleton-DX1gfixl.mjs +1 -0
- package/dist/packem_shared/sparkline-B_sPPO_8.mjs +1 -0
- package/dist/packem_shared/sql-result-table-DyK762_A.mjs +1 -0
- package/dist/packem_shared/stat-card-BAv73QtB.mjs +1 -0
- package/dist/packem_shared/storage-tier-C2mKwYRj.mjs +1 -0
- package/dist/packem_shared/studio-ySYj-BsV.mjs +2 -0
- package/dist/packem_shared/table-D0SBiDu-.mjs +2 -0
- package/dist/packem_shared/table-list-sidebar-DkPO_Qtz.mjs +1 -0
- package/dist/packem_shared/textarea--40GKAyz.mjs +1 -0
- package/dist/packem_shared/trace-handoff-BV3EWqy_.mjs +1 -0
- package/dist/packem_shared/use-admin-query-tlBof8Yg.mjs +1 -0
- package/dist/packem_shared/use-admin-spec-Bir7V68L.mjs +1 -0
- package/dist/packem_shared/use-async-submit-CZqCMTJ_.mjs +1 -0
- package/dist/packem_shared/use-auth-config-Z_n4ABCI.mjs +1 -0
- package/dist/packem_shared/use-mirrored-ref-CVDf2z1M.mjs +1 -0
- package/dist/packem_shared/use-open-trace-DMVhpnyG.mjs +1 -0
- package/dist/packem_shared/use-shard-key-BsP3o5wT.mjs +1 -0
- package/dist/packem_shared/use-sql-assistant-CZydTzd5.mjs +1 -0
- package/dist/packem_shared/useDebounced-DVeQ5-oW.mjs +1 -0
- package/dist/packem_shared/utils-bhneXptQ.mjs +1 -0
- package/dist/packem_shared/virtual-rect-D_j7aLxX.mjs +1 -0
- package/dist/packem_shared/wire-codec-B2DgCbKt.mjs +1 -0
- package/dist/standalone/chunk-253UHWDX.js +1 -0
- package/dist/standalone/chunk-2C2CK4OP.js +1 -0
- package/dist/standalone/chunk-2I4NHEKA.js +1 -0
- package/dist/standalone/chunk-2IKDEUCX.js +1 -0
- package/dist/standalone/chunk-2QRQ47DY.js +1 -0
- package/dist/standalone/chunk-2VA5S3IA.js +1 -0
- package/dist/standalone/chunk-2XM43DQY.js +1 -0
- package/dist/standalone/chunk-37WYCOQ2.js +1 -0
- package/dist/standalone/chunk-3INQBLUL.js +15 -0
- package/dist/standalone/chunk-3JIBSDYD.js +1 -0
- package/dist/standalone/chunk-3YXASVTP.js +1 -0
- package/dist/standalone/chunk-4A4QVEIO.js +14 -0
- package/dist/standalone/chunk-4TSESMZM.js +1 -0
- package/dist/standalone/chunk-4WD4XGC3.js +1 -0
- package/dist/standalone/chunk-4XY6P6O2.js +1 -0
- package/dist/standalone/chunk-4ZEL6BYL.js +1 -0
- package/dist/standalone/chunk-55UGUCQ6.js +1 -0
- package/dist/standalone/chunk-5B2RTXBS.js +1 -0
- package/dist/standalone/chunk-5D4HDDZA.js +1 -0
- package/dist/standalone/chunk-5KP5IU5E.js +1 -0
- package/dist/standalone/chunk-5QR2SQIS.js +1 -0
- package/dist/standalone/chunk-6HLARDYO.js +1 -0
- package/dist/standalone/chunk-6QTAHSDD.js +1 -0
- package/dist/standalone/chunk-6UECMMYG.js +1 -0
- package/dist/standalone/chunk-7D5NHCBE.js +3 -0
- package/dist/standalone/chunk-7G4Z6Q7X.js +1 -0
- package/dist/standalone/chunk-7RKB5KS7.js +1 -0
- package/dist/standalone/chunk-7Y3SY37W.js +1 -0
- package/dist/standalone/chunk-A6SCRA33.js +1 -0
- package/dist/standalone/chunk-ADAFJBAB.js +1 -0
- package/dist/standalone/chunk-AFSCX4L2.js +1 -0
- package/dist/standalone/chunk-AUAECCXB.js +1 -0
- package/dist/standalone/chunk-AUGKHAMQ.js +1 -0
- package/dist/standalone/chunk-B3K4TPMS.js +1 -0
- package/dist/standalone/chunk-BHDKS2I4.js +1 -0
- package/dist/standalone/chunk-BOMPSVRC.js +1 -0
- package/dist/standalone/chunk-BR6TAX5O.js +1 -0
- package/dist/standalone/chunk-CCDX5RYT.js +1 -0
- package/dist/standalone/chunk-CGQMJYCW.js +1 -0
- package/dist/standalone/chunk-CVXNHIQW.js +1 -0
- package/dist/standalone/chunk-E4PXACVL.js +3 -0
- package/dist/standalone/chunk-ECY2JC5F.js +1 -0
- package/dist/standalone/chunk-ENSF4SFQ.js +1 -0
- package/dist/standalone/chunk-FKYCRYXM.js +1 -0
- package/dist/standalone/chunk-FPI7AMQJ.js +1 -0
- package/dist/standalone/chunk-FUYEZFBP.js +1 -0
- package/dist/standalone/chunk-GHQ2VDI2.js +1 -0
- package/dist/standalone/chunk-GVED235U.js +1 -0
- package/dist/standalone/chunk-HCTJKP5J.js +1 -0
- package/dist/standalone/chunk-HJHSQPHW.js +19 -0
- package/dist/standalone/chunk-I26MS5PJ.js +1 -0
- package/dist/standalone/chunk-IA4I6I6M.js +1 -0
- package/dist/standalone/chunk-IENIP4IW.js +1 -0
- package/dist/standalone/chunk-IWZ7GVQO.js +1 -0
- package/dist/standalone/chunk-J3HF2D46.js +1 -0
- package/dist/standalone/chunk-JHIDJTHX.js +1 -0
- package/dist/standalone/chunk-JLZ2PI6F.js +1 -0
- package/dist/standalone/chunk-JQXA2OYK.js +1 -0
- package/dist/standalone/chunk-JTPQGMK5.js +1 -0
- package/dist/standalone/chunk-JZGTSH2C.js +4 -0
- package/dist/standalone/chunk-KDTQ2KSC.js +1 -0
- package/dist/standalone/chunk-KL26TJN3.js +9 -0
- package/dist/standalone/chunk-KLHSMDVW.js +1 -0
- package/dist/standalone/chunk-LM2KKPPN.js +1 -0
- package/dist/standalone/chunk-M4BJ3P5W.js +1 -0
- package/dist/standalone/chunk-MBH2ZRBW.js +1 -0
- package/dist/standalone/chunk-MCHHNGVN.js +1 -0
- package/dist/standalone/chunk-MH42XT6B.js +1 -0
- package/dist/standalone/chunk-MMJF6WFU.js +1 -0
- package/dist/standalone/chunk-MNHPOCDO.js +59 -0
- package/dist/standalone/chunk-MRMVWGKS.js +3 -0
- package/dist/standalone/chunk-MRQMB65H.js +1 -0
- package/dist/standalone/chunk-MVWZMWPD.js +1 -0
- package/dist/standalone/chunk-MYFJH57W.js +1 -0
- package/dist/standalone/chunk-N2NNEOPR.js +1 -0
- package/dist/standalone/chunk-NCPW7WHO.js +1 -0
- package/dist/standalone/chunk-NDTQTKDX.js +6 -0
- package/dist/standalone/chunk-NGVP66OH.js +1 -0
- package/dist/standalone/chunk-NQZALRU3.js +1 -0
- package/dist/standalone/chunk-NRP22GKC.js +1 -0
- package/dist/standalone/chunk-NW4XO52E.js +1 -0
- package/dist/standalone/chunk-NXQW5E6W.js +1 -0
- package/dist/standalone/chunk-OACO7GME.js +15 -0
- package/dist/standalone/chunk-OB7U2YW6.js +8 -0
- package/dist/standalone/chunk-OPM7ESDV.js +1 -0
- package/dist/standalone/chunk-OQ6I6OXT.js +2 -0
- package/dist/standalone/chunk-OSGXNEFA.js +1 -0
- package/dist/standalone/chunk-OV6S2DI2.js +1 -0
- package/dist/standalone/chunk-OYCUPD3Q.js +1 -0
- package/dist/standalone/chunk-P43E42JJ.js +5 -0
- package/dist/standalone/chunk-PIMTWCRD.js +1 -0
- package/dist/standalone/chunk-Q6ED4KUL.js +1 -0
- package/dist/standalone/chunk-Q6IT6ZD7.js +1 -0
- package/dist/standalone/chunk-QAQDMS6R.js +1 -0
- package/dist/standalone/chunk-QJLHH3ET.js +1 -0
- package/dist/standalone/chunk-R6U22RSY.js +1 -0
- package/dist/standalone/chunk-RDHCHWRR.js +4 -0
- package/dist/standalone/chunk-RGMVGZV4.js +1 -0
- package/dist/standalone/chunk-RNVKILOD.js +1 -0
- package/dist/standalone/chunk-RWVIV3U7.js +1 -0
- package/dist/standalone/chunk-S4Z7K55A.js +1 -0
- package/dist/standalone/chunk-SA2OGF3F.js +1 -0
- package/dist/standalone/chunk-SJQERRSZ.js +1 -0
- package/dist/standalone/chunk-SM5CYYUT.js +1 -0
- package/dist/standalone/chunk-SMLHZVKH.js +1 -0
- package/dist/standalone/chunk-SV764LKQ.js +1 -0
- package/dist/standalone/chunk-TOIWQ6LA.js +1 -0
- package/dist/standalone/chunk-TWWVNOAL.js +1 -0
- package/dist/standalone/chunk-U6MPCRR7.js +1 -0
- package/dist/standalone/chunk-UBX37H3F.js +1 -0
- package/dist/standalone/chunk-UC7MNI2F.js +1 -0
- package/dist/standalone/chunk-UQQK4I2D.js +1 -0
- package/dist/standalone/chunk-UUPMVJHZ.js +2 -0
- package/dist/standalone/chunk-UXPWK6IB.js +1 -0
- package/dist/standalone/chunk-UYEZR3BI.js +1 -0
- package/dist/standalone/chunk-V57XANBV.js +1 -0
- package/dist/standalone/chunk-VCFEO3RI.js +1 -0
- package/dist/standalone/chunk-VESGIGMQ.js +1 -0
- package/dist/standalone/chunk-VKDK5EWH.js +1 -0
- package/dist/standalone/chunk-VKPTDZGY.js +1 -0
- package/dist/standalone/chunk-WJRYEML4.js +1 -0
- package/dist/standalone/chunk-XGCIDUJF.js +1 -0
- package/dist/standalone/chunk-XHRKNCCI.js +1 -0
- package/dist/standalone/chunk-XVXRQ6HL.js +1 -0
- package/dist/standalone/chunk-Y3AYVFTK.js +1 -0
- package/dist/standalone/chunk-YEJ47BXF.js +1 -0
- package/dist/standalone/chunk-YVBS5GE4.js +1 -0
- package/dist/standalone/chunk-YVR4SEPU.js +1 -0
- package/dist/standalone/chunk-Z22BDS6N.js +1 -0
- package/dist/standalone/chunk-ZG4KF3SJ.js +1 -0
- package/dist/standalone/chunk-ZKJS6EBE.js +1 -0
- package/dist/standalone/chunk-ZPCQTBZW.js +1 -0
- package/dist/standalone/chunk-ZWK2KMDB.js +1 -0
- package/dist/standalone/studio.js +9 -378
- package/dist/styles.css +2 -2
- package/package.json +25 -21
- package/dist/index.js +0 -41
- package/dist/mount.js +0 -26
- package/dist/packem_shared/ADMIN_FUNCTIONS-CdaxLGkE.js +0 -48
- package/dist/packem_shared/ApiDocsPanel-BSSgtcVf.js +0 -842
- package/dist/packem_shared/ApiReferencePanel-D24xOjCw.js +0 -229
- package/dist/packem_shared/ApiTab-vo8uhE29.js +0 -251
- package/dist/packem_shared/AuditPanel-CBjYR6S5.js +0 -200
- package/dist/packem_shared/CommandPalette-L-CuSRUc.js +0 -373
- package/dist/packem_shared/ConfirmButton-C2eVi2Qv.js +0 -59
- package/dist/packem_shared/ConnectionBadge-B2DDM2Tn.js +0 -111
- package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js +0 -50
- package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js +0 -89
- package/dist/packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js +0 -27
- package/dist/packem_shared/DataBrowser-DBKOIVKS.js +0 -4492
- package/dist/packem_shared/DataFilters-FNquMaiu.js +0 -249
- package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
- package/dist/packem_shared/ExportImportPanel-DtDEy4OD.js +0 -197
- package/dist/packem_shared/FileBrowser-DqLRjqsM.js +0 -2932
- package/dist/packem_shared/FunctionRunner-BmRkCvT4.js +0 -343
- package/dist/packem_shared/FunctionStatsPanel-Bi3kyQvu.js +0 -375
- package/dist/packem_shared/GlobalDataBrowser-DOjhvhKa.js +0 -289
- package/dist/packem_shared/HealthPanel-C7IPO6Ts.js +0 -648
- package/dist/packem_shared/HomePanel-dJIkHY_i.js +0 -14
- package/dist/packem_shared/InsightsPanel-BD29GXXd.js +0 -461
- package/dist/packem_shared/LogsPanel-2JhE1qep.js +0 -827
- package/dist/packem_shared/MailPanel-DwNsuFJC.js +0 -440
- package/dist/packem_shared/MetricsPanel-CRa4ITlq.js +0 -19
- package/dist/packem_shared/MigrationsPanel-Z1DmSSzf.js +0 -239
- package/dist/packem_shared/OpenRpcReferencePanel-Dq0yyVWz.js +0 -191
- package/dist/packem_shared/PitrPanel-3mec0LTF.js +0 -252
- package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
- package/dist/packem_shared/ScheduledJobs--Z9GTmKb.js +0 -262
- package/dist/packem_shared/SchemaViewer-nxDV7dZJ.js +0 -2512
- package/dist/packem_shared/SecurityAdvisorPanel-5tYrJdvn.js +0 -92
- package/dist/packem_shared/SettingsPanel-SijRekVc.js +0 -390
- package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
- package/dist/packem_shared/SqlEditorPanel-DI4obotI.js +0 -13
- package/dist/packem_shared/Studio-B_L5Q2-X.js +0 -33
- package/dist/packem_shared/StudioApp-wxioPfiP.js +0 -657
- package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
- package/dist/packem_shared/TableEditor-1T-5KYtr.js +0 -11
- package/dist/packem_shared/advisor-view-DzqyvUU3.js +0 -159
- package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
- package/dist/packem_shared/app.d-B6MyY_al.d.ts +0 -300
- package/dist/packem_shared/badge-B2PKA1-5.js +0 -49
- package/dist/packem_shared/bar-chart-CzJAgqkp.js +0 -3245
- package/dist/packem_shared/button-BhsN2uZH.js +0 -49
- package/dist/packem_shared/card-DURq3ElK.js +0 -175
- package/dist/packem_shared/cf-links-2cktDedA.js +0 -8
- package/dist/packem_shared/checkbox-UNkzAxl-.js +0 -63
- package/dist/packem_shared/data-grid-CrapHxR-.js +0 -183
- package/dist/packem_shared/dropdown-menu-WY4B_eJO.js +0 -280
- package/dist/packem_shared/empty-state-DY_oe0k6.js +0 -98
- package/dist/packem_shared/grid-features-DnTbXXNb.js +0 -840
- package/dist/packem_shared/home-panel-VdQI_8oX.js +0 -1700
- package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
- package/dist/packem_shared/internal-CvMZCVd6.js +0 -68
- package/dist/packem_shared/label-D8ykjn5J.js +0 -46
- package/dist/packem_shared/live-status-FZ0psC1z.js +0 -44
- package/dist/packem_shared/metrics-panel-3FSfzgEX.js +0 -1611
- package/dist/packem_shared/reference-view-DVyk5kXj.js +0 -2180
- package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
- package/dist/packem_shared/sparkline-10dG-_f0.js +0 -93
- package/dist/packem_shared/sql-editor-panel-DBuIpCXk.js +0 -2562
- package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
- package/dist/packem_shared/studio-Dm6H5DHS.js +0 -13388
- package/dist/packem_shared/table-DsCa9Qp9.js +0 -246
- package/dist/packem_shared/table-editor-7iSgi3te.js +0 -407
- package/dist/packem_shared/table-list-sidebar-BbSgfLJ2.js +0 -832
- package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
- package/dist/packem_shared/use-admin-query-CFl5GUg_.js +0 -105
- package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
- package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
- package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{d as Ie}from"./chunk-NDTQTKDX.js";import{c as Re}from"./chunk-UYEZR3BI.js";import"./chunk-NQZALRU3.js";import"./chunk-OPM7ESDV.js";import"./chunk-Y3AYVFTK.js";import{a as ve}from"./chunk-7RKB5KS7.js";import"./chunk-QJLHH3ET.js";import{a as Be}from"./chunk-JQXA2OYK.js";import"./chunk-OYCUPD3Q.js";import"./chunk-NXQW5E6W.js";import"./chunk-UC7MNI2F.js";import"./chunk-NGVP66OH.js";import"./chunk-GHQ2VDI2.js";import{a as Le}from"./chunk-XHRKNCCI.js";import{a as Ke}from"./chunk-YVR4SEPU.js";import"./chunk-ZKJS6EBE.js";import"./chunk-RGMVGZV4.js";import{i as ze}from"./chunk-E4PXACVL.js";import"./chunk-MVWZMWPD.js";import"./chunk-SJQERRSZ.js";import"./chunk-7Y3SY37W.js";import{a as ee}from"./chunk-7G4Z6Q7X.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import{b as ae}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{a as xe}from"./chunk-4ZEL6BYL.js";import{f as Ce}from"./chunk-KL26TJN3.js";import"./chunk-QAQDMS6R.js";import"./chunk-OACO7GME.js";import{a as ge}from"./chunk-RWVIV3U7.js";import{a as Fe,b as Oe,c as Ee,d as de,e as te,f as Y}from"./chunk-HCTJKP5J.js";import{a as De,e as Te}from"./chunk-2IKDEUCX.js";import{d as je,f as pe,g as be,h as oe,l as ye,p as H,s as $e}from"./chunk-HJHSQPHW.js";import{a as h,d as me,e as pt,f as bt,g as yt}from"./chunk-I26MS5PJ.js";var M=me(bt(),1),z=me(pt(),1);var o=me(yt(),1);var Pe=h((d,e,t)=>{let{onCopy:r,onDelete:l,onDownload:n,onToggleSelect:c}=t,i=h(()=>{r(d.key)},"c"),s=h(()=>{n(d.key)},"o"),u=h(()=>{l(d.key)},"f"),m=h(()=>{c(d.key)},"h");return{copy:i,download:s,name:d.key.slice(e.length),remove:u,toggle:m}},"Fe"),Ae=h(d=>{let e=(0,M.c)(31),{busy:t,buttonClassName:r,copied:l,objectKey:n,onCopy:c,onDelete:i,onDownload:s,t:u}=d,m=`storage-copy-${n}`,f;e[0]!==l||e[1]!==u?(f=u(l?"Copied":"Copy URL"),e[0]=l,e[1]=u,e[2]=f):f=e[2];let g;e[3]!==t||e[4]!==r||e[5]!==c||e[6]!==m||e[7]!==f?(g=(0,o.jsx)(ee,{className:r,"data-testid":m,disabled:t,onClick:c,size:"sm",type:"button",variant:"ghost",children:f}),e[3]=t,e[4]=r,e[5]=c,e[6]=m,e[7]=f,e[8]=g):g=e[8];let w=`storage-download-${n}`,a;e[9]!==u?(a=u("Download"),e[9]=u,e[10]=a):a=e[10];let k;e[11]!==t||e[12]!==r||e[13]!==s||e[14]!==w||e[15]!==a?(k=(0,o.jsx)(ee,{className:r,"data-testid":w,disabled:t,onClick:s,size:"sm",type:"button",variant:"ghost",children:a}),e[11]=t,e[12]=r,e[13]=s,e[14]=w,e[15]=a,e[16]=k):k=e[16];let S;e[17]!==u?(S=u("Delete object?"),e[17]=u,e[18]=S):S=e[18];let x=`storage-delete-${n}`,b;e[19]!==u?(b=u("Delete"),e[19]=u,e[20]=b):b=e[20];let y;e[21]!==t||e[22]!==i||e[23]!==S||e[24]!==x||e[25]!==b?(y=(0,o.jsx)(Le,{confirmLabel:S,disabled:t,onConfirm:i,testId:x,children:b}),e[21]=t,e[22]=i,e[23]=S,e[24]=x,e[25]=b,e[26]=y):y=e[26];let v;return e[27]!==y||e[28]!==g||e[29]!==k?(v=(0,o.jsxs)(o.Fragment,{children:[g,k,y]}),e[27]=y,e[28]=g,e[29]=k,e[30]=v):v=e[30],v},"Re"),We=h(d=>{let e=(0,M.c)(14),{objectKey:t,references:r,t:l}=d;if(r===void 0)return null;if(r.length===0){let m=`storage-orphan-${t}`,f;e[0]!==l?(f=l("Orphan"),e[0]=l,e[1]=f):f=e[1];let g;return e[2]!==m||e[3]!==f?(g=(0,o.jsx)(ae,{"data-testid":m,variant:"warning",children:f}),e[2]=m,e[3]=f,e[4]=g):g=e[4],g}let n;e[5]!==r?(n=r.map(xt).join(`
|
|
2
|
+
`),e[5]=r,e[6]=n):n=e[6];let c=n,i=`storage-refs-${t}`,s;e[7]!==r.length||e[8]!==l?(s=r.length===1?l("1 record"):l("{count} records",{count:r.length}),e[7]=r.length,e[8]=l,e[9]=s):s=e[9];let u;return e[10]!==c||e[11]!==i||e[12]!==s?(u=(0,o.jsx)(ae,{"data-testid":i,title:c,variant:"secondary",children:s}),e[10]=c,e[11]=i,e[12]=s,e[13]=u):u=e[13],u},"ze"),He=h(d=>{let e=(0,M.c)(7),{objectKey:t,onToggle:r,selected:l,t:n}=d,c;e[0]!==n?(c=n("Select row"),e[0]=n,e[1]=c):c=e[1];let i=`storage-select-${t}`,s;return e[2]!==r||e[3]!==l||e[4]!==c||e[5]!==i?(s=(0,o.jsx)(ve,{"aria-label":c,checked:l,"data-testid":i,onCheckedChange:r}),e[2]=r,e[3]=l,e[4]=c,e[5]=i,e[6]=s):s=e[6],s},"De");function xt(d){return`${d.table}\xB7${d.id}`}h(xt,"vt");var vt=h(d=>{let e=(0,M.c)(10),{colSpan:t,name:r,onEnter:l}=d,n;e[0]!==r||e[1]!==l?(n=h(()=>{l(r)},"l"),e[0]=r,e[1]=l,e[2]=n):n=e[2];let c=n,i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=(0,o.jsx)("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,o.jsx)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z"})}),e[3]=i):i=e[3];let s;e[4]!==c||e[5]!==r?(s=(0,o.jsxs)("button",{className:"inline-flex items-center gap-2 font-mono text-xs outline-none hover:text-foreground focus-visible:text-foreground","data-testid":"fb-folder",onClick:c,type:"button",children:[i,r]}),e[4]=c,e[5]=r,e[6]=s):s=e[6];let u;return e[7]!==t||e[8]!==s?(u=(0,o.jsx)(de,{children:(0,o.jsx)(Y,{colSpan:t,children:s})}),e[7]=t,e[8]=s,e[9]=u):u=e[9],u},"kt"),kt=h(d=>{let e=(0,M.c)(37),{busy:t,copiedKey:r,handlers:l,object:n,prefix:c,references:i,selected:s,showReferences:u,t:m}=d,f;e[0]!==l||e[1]!==n||e[2]!==c?(f=Pe(n,c,l),e[0]=l,e[1]=n,e[2]=c,e[3]=f):f=e[3];let{copy:g,download:w,name:a,remove:k,toggle:S}=f,x;e[4]!==n.key||e[5]!==s||e[6]!==m||e[7]!==S?(x=(0,o.jsx)(Y,{className:"w-8",children:(0,o.jsx)(He,{objectKey:n.key,onToggle:S,selected:s,t:m})}),e[4]=n.key,e[5]=s,e[6]=m,e[7]=S,e[8]=x):x=e[8];let b;e[9]!==a?(b=(0,o.jsx)(Y,{className:"font-mono text-xs",children:a}),e[9]=a,e[10]=b):b=e[10];let y;e[11]!==n.size?(y=ye(n.size),e[11]=n.size,e[12]=y):y=e[12];let v;e[13]!==y?(v=(0,o.jsx)(Y,{className:"tabular-nums text-muted-foreground",children:y}),e[13]=y,e[14]=v):v=e[14];let j=n.httpMetadata?.contentType??"",N;e[15]!==j?(N=(0,o.jsx)(Y,{children:j}),e[15]=j,e[16]=N):N=e[16];let C;e[17]!==n.key||e[18]!==i||e[19]!==u||e[20]!==m?(C=u&&(0,o.jsx)(Y,{children:(0,o.jsx)(We,{objectKey:n.key,references:i,t:m})}),e[17]=n.key,e[18]=i,e[19]=u,e[20]=m,e[21]=C):C=e[21];let T=r===n.key,D;e[22]!==t||e[23]!==g||e[24]!==w||e[25]!==n.key||e[26]!==k||e[27]!==m||e[28]!==T?(D=(0,o.jsx)(Y,{className:"text-right",children:(0,o.jsx)("span",{className:"inline-flex items-center gap-1",children:(0,o.jsx)(Ae,{busy:t,copied:T,objectKey:n.key,onCopy:g,onDelete:k,onDownload:w,t:m})})}),e[22]=t,e[23]=g,e[24]=w,e[25]=n.key,e[26]=k,e[27]=m,e[28]=T,e[29]=D):D=e[29];let F;return e[30]!==D||e[31]!==x||e[32]!==b||e[33]!==v||e[34]!==N||e[35]!==C?(F=(0,o.jsxs)(de,{"data-testid":"fb-row",children:[x,b,v,N,C,D]}),e[30]=D,e[31]=x,e[32]=b,e[33]=v,e[34]=N,e[35]=C,e[36]=F):F=e[36],F},"St"),wt=h(d=>{let e=(0,M.c)(65),{allSelected:t,busy:r,copiedKey:l,files:n,folders:c,handlers:i,onEnterFolder:s,prefix:u,references:m,selected:f,showReferences:g,someSelected:w,t:a,toggleSelectAll:k}=d,S;e[0]!==a?(S=a("Select all rows"),e[0]=a,e[1]=S):S=e[1];let x;e[2]!==t||e[3]!==w||e[4]!==S||e[5]!==k?(x=(0,o.jsx)(te,{className:"w-8",children:(0,o.jsx)(ve,{"aria-label":S,checked:t,"data-testid":"storage-select-all",indeterminate:w,onCheckedChange:k})}),e[2]=t,e[3]=w,e[4]=S,e[5]=k,e[6]=x):x=e[6];let b;e[7]!==a?(b=a("key"),e[7]=a,e[8]=b):b=e[8];let y;e[9]!==b?(y=(0,o.jsx)(te,{children:b}),e[9]=b,e[10]=y):y=e[10];let v;e[11]!==a?(v=a("size"),e[11]=a,e[12]=v):v=e[12];let j;e[13]!==v?(j=(0,o.jsx)(te,{children:v}),e[13]=v,e[14]=j):j=e[14];let N;e[15]!==a?(N=a("content-type"),e[15]=a,e[16]=N):N=e[16];let C;e[17]!==N?(C=(0,o.jsx)(te,{children:N}),e[17]=N,e[18]=C):C=e[18];let T;e[19]!==g||e[20]!==a?(T=g&&(0,o.jsx)(te,{children:a("used by")}),e[19]=g,e[20]=a,e[21]=T):T=e[21];let D;e[22]!==a?(D=a("Actions"),e[22]=a,e[23]=D):D=e[23];let F;e[24]!==D?(F=(0,o.jsx)(te,{"aria-label":D}),e[24]=D,e[25]=F):F=e[25];let $;e[26]!==F||e[27]!==x||e[28]!==y||e[29]!==j||e[30]!==C||e[31]!==T?($=(0,o.jsx)(Oe,{children:(0,o.jsxs)(de,{children:[x,y,j,C,T,F]})}),e[26]=F,e[27]=x,e[28]=y,e[29]=j,e[30]=C,e[31]=T,e[32]=$):$=e[32];let O;if(e[33]!==c||e[34]!==s||e[35]!==g){let E;e[37]!==s||e[38]!==g?(E=h(B=>(0,o.jsx)(vt,{colSpan:g?6:5,name:B,onEnter:s},B),"D"),e[37]=s,e[38]=g,e[39]=E):E=e[39],O=c.map(E),e[33]=c,e[34]=s,e[35]=g,e[36]=O}else O=e[36];let I;if(e[40]!==r||e[41]!==l||e[42]!==n||e[43]!==i||e[44]!==u||e[45]!==m||e[46]!==f||e[47]!==g||e[48]!==a){let E;e[50]!==r||e[51]!==l||e[52]!==i||e[53]!==u||e[54]!==m||e[55]!==f||e[56]!==g||e[57]!==a?(E=h(B=>(0,o.jsx)(kt,{busy:r,copiedKey:l,handlers:i,object:B,prefix:u,references:m[B.key],selected:f.has(B.key),showReferences:g,t:a},B.key),"D"),e[50]=r,e[51]=l,e[52]=i,e[53]=u,e[54]=m,e[55]=f,e[56]=g,e[57]=a,e[58]=E):E=e[58],I=n.map(E),e[40]=r,e[41]=l,e[42]=n,e[43]=i,e[44]=u,e[45]=m,e[46]=f,e[47]=g,e[48]=a,e[49]=I}else I=e[49];let L;e[59]!==O||e[60]!==I?(L=(0,o.jsxs)(Ee,{children:[O,I]}),e[59]=O,e[60]=I,e[61]=L):L=e[61];let R;return e[62]!==$||e[63]!==L?(R=(0,o.jsx)(De,{className:"overflow-hidden py-0",children:(0,o.jsx)(Te,{className:"px-0",children:(0,o.jsxs)(Fe,{"data-testid":"fb-table",children:[$,L]})})}),e[62]=$,e[63]=L,e[64]=R):R=e[64],R},"wt"),St=[{label:"15m",seconds:900},{label:"1h",seconds:3600},{label:"24h",seconds:86400},{label:"7d",seconds:604800}],Nt=3600,_e=h((d,e)=>{if(e==="size")return d.size;if(e==="type")return d.httpMetadata?.contentType??"";if(e==="date"){if(d.uploaded===void 0)return 0;let t=new Date(d.uploaded).getTime();return Number.isNaN(t)?0:t}return e.startsWith("tag:")?d.customMetadata?.[e.slice(4)]??"":d.key},"Se"),Ct=h((d,e,t)=>{let r=t==="desc"?-1:1;return d.toSorted((l,n)=>{let c=_e(l,e),i=_e(n,e);return(typeof c=="number"&&typeof i=="number"?c-i:String(c).localeCompare(String(i)))*r})},"Tt"),jt=h((d,e)=>{let t=new Set,r=[];for(let l of d){let n=l.key.slice(e.length),c=n.indexOf("/");c===-1?r.push(l):t.add(n.slice(0,c+1))}return{files:r,folders:[...t].toSorted((l,n)=>l.localeCompare(n))}},"Et"),zt=h(d=>{let e=(0,M.c)(59),{bucket:t,buckets:r,busy:l,draftPrefix:n,expiry:c,fileInputRef:i,onBucketChange:s,onExpiryChange:u,onFileChange:m,onList:f,onPrefixChange:g,onUploadClick:w,t:a}=d,k;e[0]!==g?(k=h(A=>{g(A.target.value)},"v"),e[0]=g,e[1]=k):k=e[1];let S=k,x;e[2]!==s?(x=h(A=>{s(A.target.value)},"y"),e[2]=s,e[3]=x):x=e[3];let b=x,y;e[4]!==u?(y=h(A=>{u(Number.parseInt(A.target.value,10))},"b"),e[4]=u,e[5]=y):y=e[5];let v=y,j;e[6]!==t||e[7]!==r||e[8]!==b||e[9]!==a?(j=r.length>0&&(0,o.jsx)("select",{"aria-label":a("Bucket"),className:"h-8 rounded-md border border-border bg-background px-1 outline-none focus-visible:border-ring","data-testid":"fb-bucket",onChange:b,value:t,children:r.map(Tt)}),e[6]=t,e[7]=r,e[8]=b,e[9]=a,e[10]=j):j=e[10];let N;e[11]!==a?(N=a("Key prefix"),e[11]=a,e[12]=N):N=e[12];let C;e[13]!==a?(C=a("key prefix (optional)"),e[13]=a,e[14]=C):C=e[14];let T;e[15]!==n||e[16]!==S||e[17]!==N||e[18]!==C?(T=(0,o.jsx)(ze,{"aria-label":N,className:"h-8 w-64 max-w-full","data-testid":"fb-prefix-input",onChange:S,placeholder:C,value:n}),e[15]=n,e[16]=S,e[17]=N,e[18]=C,e[19]=T):T=e[19];let D;e[20]!==a?(D=a("List"),e[20]=a,e[21]=D):D=e[21];let F;e[22]!==l||e[23]!==f||e[24]!==D?(F=(0,o.jsx)(ee,{"data-testid":"fb-list",disabled:l,onClick:f,size:"sm",type:"button",children:D}),e[22]=l,e[23]=f,e[24]=D,e[25]=F):F=e[25];let $;e[26]!==l||e[27]!==a?($=a(l?"Uploading\u2026":"Upload"),e[26]=l,e[27]=a,e[28]=$):$=e[28];let O;e[29]!==l||e[30]!==w||e[31]!==$?(O=(0,o.jsx)(ee,{"data-testid":"storage-upload",disabled:l,onClick:w,size:"sm",type:"button",variant:"outline",children:$}),e[29]=l,e[30]=w,e[31]=$,e[32]=O):O=e[32];let I;e[33]!==i||e[34]!==m?(I=(0,o.jsx)("input",{className:"hidden","data-testid":"storage-file-input",onChange:m,ref:i,type:"file"}),e[33]=i,e[34]=m,e[35]=I):I=e[35];let L;e[36]!==a?(L=a("Link expiry"),e[36]=a,e[37]=L):L=e[37];let R;e[38]!==a?(R=St.map(A=>(0,o.jsx)("option",{value:A.seconds,children:a(A.label)},A.seconds)),e[38]=a,e[39]=R):R=e[39];let E;e[40]!==c||e[41]!==v||e[42]!==R?(E=(0,o.jsx)("select",{className:"h-8 rounded-md border border-border bg-background px-1 tabular-nums outline-none focus-visible:border-ring","data-testid":"storage-expiry",id:"storage-expiry",onChange:v,value:c,children:R}),e[40]=c,e[41]=v,e[42]=R,e[43]=E):E=e[43];let B;e[44]!==L||e[45]!==E?(B=(0,o.jsxs)("label",{className:"ml-auto flex items-center gap-1.5 text-xs text-muted-foreground",htmlFor:"storage-expiry",children:[L,E]}),e[44]=L,e[45]=E,e[46]=B):B=e[46];let U;e[47]!==a?(U=a("Open in Cloudflare"),e[47]=a,e[48]=U):U=e[48];let P;e[49]!==U?(P=(0,o.jsx)("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"fb-cf-link",href:Re,rel:"noreferrer",target:"_blank",children:U}),e[49]=U,e[50]=P):P=e[50];let W;return e[51]!==O||e[52]!==I||e[53]!==B||e[54]!==P||e[55]!==j||e[56]!==T||e[57]!==F?(W=(0,o.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[j,T,F,O,I,B,P]}),e[51]=O,e[52]=I,e[53]=B,e[54]=P,e[55]=j,e[56]=T,e[57]=F,e[58]=W):W=e[58],W},"_t"),Dt=h(d=>{let e=(0,M.c)(66),{onSortKeyChange:t,onThumbSizeChange:r,showGrid:l,showList:n,sortDirection:c,sortKey:i,t:s,tagKeys:u,thumbSize:m,toggleSortDirection:f,view:g}=d,w;e[0]!==t?(w=h(G=>{t(G.target.value)},"k"),e[0]=t,e[1]=w):w=e[1];let a=w,k;e[2]!==r?(k=h(G=>{r(Number.parseInt(G.target.value,10))},"v"),e[2]=r,e[3]=k):k=e[3];let S=k,x=g==="list",b;e[4]!==s?(b=s("List"),e[4]=s,e[5]=b):b=e[5];let y;e[6]!==n||e[7]!==x||e[8]!==b?(y=(0,o.jsx)("button",{"aria-pressed":x,className:"px-2 py-1 outline-none transition-colors hover:bg-accent aria-pressed:bg-accent aria-pressed:text-accent-foreground","data-testid":"fb-view-list",onClick:n,type:"button",children:b}),e[6]=n,e[7]=x,e[8]=b,e[9]=y):y=e[9];let v=g==="grid",j;e[10]!==s?(j=s("Grid"),e[10]=s,e[11]=j):j=e[11];let N;e[12]!==l||e[13]!==v||e[14]!==j?(N=(0,o.jsx)("button",{"aria-pressed":v,className:"border-s border-border px-2 py-1 outline-none transition-colors hover:bg-accent aria-pressed:bg-accent aria-pressed:text-accent-foreground","data-testid":"fb-view-grid",onClick:l,type:"button",children:j}),e[12]=l,e[13]=v,e[14]=j,e[15]=N):N=e[15];let C;e[16]!==y||e[17]!==N?(C=(0,o.jsxs)("div",{className:"inline-flex overflow-hidden rounded-md border border-border",children:[y,N]}),e[16]=y,e[17]=N,e[18]=C):C=e[18];let T;e[19]!==s?(T=s("Sort"),e[19]=s,e[20]=T):T=e[20];let D;e[21]!==s?(D=s("Name"),e[21]=s,e[22]=D):D=e[22];let F;e[23]!==D?(F=(0,o.jsx)("option",{value:"name",children:D}),e[23]=D,e[24]=F):F=e[24];let $;e[25]!==s?($=s("size"),e[25]=s,e[26]=$):$=e[26];let O;e[27]!==$?(O=(0,o.jsx)("option",{value:"size",children:$}),e[27]=$,e[28]=O):O=e[28];let I;e[29]!==s?(I=s("Type"),e[29]=s,e[30]=I):I=e[30];let L;e[31]!==I?(L=(0,o.jsx)("option",{value:"type",children:I}),e[31]=I,e[32]=L):L=e[32];let R;e[33]!==s?(R=s("Modified"),e[33]=s,e[34]=R):R=e[34];let E;e[35]!==R?(E=(0,o.jsx)("option",{value:"date",children:R}),e[35]=R,e[36]=E):E=e[36];let B;e[37]!==u?(B=u.map($t),e[37]=u,e[38]=B):B=e[38];let U;e[39]!==a||e[40]!==i||e[41]!==F||e[42]!==O||e[43]!==L||e[44]!==E||e[45]!==B?(U=(0,o.jsxs)("select",{className:"h-8 rounded-md border border-border bg-background px-1 outline-none focus-visible:border-ring","data-testid":"fb-sort",id:"fb-sort",onChange:a,value:i,children:[F,O,L,E,B]}),e[39]=a,e[40]=i,e[41]=F,e[42]=O,e[43]=L,e[44]=E,e[45]=B,e[46]=U):U=e[46];let P;e[47]!==T||e[48]!==U?(P=(0,o.jsxs)("label",{className:"flex items-center gap-1.5 text-muted-foreground",htmlFor:"fb-sort",children:[T,U]}),e[47]=T,e[48]=U,e[49]=P):P=e[49];let W;e[50]!==s?(W=s("Toggle sort direction"),e[50]=s,e[51]=W):W=e[51];let A=c==="asc"?"\u2191":"\u2193",q;e[52]!==W||e[53]!==A||e[54]!==f?(q=(0,o.jsx)("button",{"aria-label":W,className:"flex size-8 items-center justify-center rounded-md border border-border tabular-nums outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"fb-sort-dir",onClick:f,type:"button",children:A}),e[52]=W,e[53]=A,e[54]=f,e[55]=q):q=e[55];let X;e[56]!==S||e[57]!==s||e[58]!==m||e[59]!==g?(X=g==="grid"&&(0,o.jsxs)("label",{className:"ml-auto flex items-center gap-1.5 text-muted-foreground",htmlFor:"fb-thumb-size",children:[s("Thumbnail size"),(0,o.jsx)("input",{className:"accent-primary","data-testid":"fb-thumb-size",id:"fb-thumb-size",max:240,min:80,onChange:S,step:8,type:"range",value:m})]}),e[56]=S,e[57]=s,e[58]=m,e[59]=g,e[60]=X):X=e[60];let re;return e[61]!==P||e[62]!==q||e[63]!==X||e[64]!==C?(re=(0,o.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs","data-testid":"fb-controls",children:[C,P,q,X]}),e[61]=P,e[62]=q,e[63]=X,e[64]=C,e[65]=re):re=e[65],re},"$t");function Tt(d){return(0,o.jsx)("option",{value:d,children:d},d)}h(Tt,"Ft");function $t(d){return(0,o.jsx)("option",{value:`tag:${d}`,children:d},d)}h($t,"Rt");var Kt=/\.(?:avif|bmp|gif|ico|jpe?g|png|svg|webp)$/iu,Ft=h(d=>(d.httpMetadata?.contentType??"").startsWith("image/")||Kt.test(d.key),"Dt"),Ot=h(()=>{let d=(0,M.c)(1),e;return d[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,o.jsx)("svg",{"aria-hidden":"true",className:"size-8 text-muted-foreground/60",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.4,viewBox:"0 0 24 24",children:(0,o.jsx)("path",{d:"M7 3h7l5 5v13a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Zm7 0v5h5"})}),d[0]=e):e=d[0],e},"jt"),Et=h(d=>{let e=(0,M.c)(13),{object:t,resolveUrl:r}=d,[l,n]=(0,z.useState)(null),[c,i]=(0,z.useState)(!1),s;e[0]!==t?(s=Ft(t),e[0]=t,e[1]=s):s=e[1];let u=s,m,f;e[2]!==u||e[3]!==t.key||e[4]!==r?(m=h(()=>{if(!u)return;let k={cancelled:!1};return H((async()=>{try{let S=await r(t.key);k.cancelled||n(S)}catch{k.cancelled||i(!0)}})()),()=>{k.cancelled=!0}},"h"),f=[u,t.key,r],e[2]=u,e[3]=t.key,e[4]=r,e[5]=m,e[6]=f):(m=e[5],f=e[6]),(0,z.useEffect)(m,f);let g;e[7]===Symbol.for("react.memo_cache_sentinel")?(g=h(()=>{i(!0)},"m"),e[7]=g):g=e[7];let w=g,a;return e[8]!==c||e[9]!==u||e[10]!==t.key||e[11]!==l?(a=(0,o.jsx)("div",{className:"flex aspect-square w-full items-center justify-center overflow-hidden rounded-md border border-border bg-muted/30",children:u&&l!==null&&!c?(0,o.jsx)("img",{alt:t.key,className:"size-full object-cover",loading:"lazy",onError:w,src:l}):(0,o.jsx)(Ot,{})}),e[8]=c,e[9]=u,e[10]=t.key,e[11]=l,e[12]=a):a=e[12],a},"Kt"),Lt=h(d=>{let e=(0,M.c)(42),{busy:t,copiedKey:r,handlers:l,object:n,prefix:c,references:i,resolveUrl:s,selected:u,showReferences:m,t:f}=d,g;e[0]!==l||e[1]!==n||e[2]!==c?(g=Pe(n,c,l),e[0]=l,e[1]=n,e[2]=c,e[3]=g):g=e[3];let{copy:w,download:a,name:k,remove:S,toggle:x}=g,b;e[4]!==n||e[5]!==s?(b=(0,o.jsx)(Et,{object:n,resolveUrl:s}),e[4]=n,e[5]=s,e[6]=b):b=e[6];let y;e[7]!==n.key||e[8]!==u||e[9]!==f||e[10]!==x?(y=(0,o.jsx)("span",{className:"absolute left-1.5 top-1.5 rounded bg-background/80 p-0.5",children:(0,o.jsx)(He,{objectKey:n.key,onToggle:x,selected:u,t:f})}),e[7]=n.key,e[8]=u,e[9]=f,e[10]=x,e[11]=y):y=e[11];let v;e[12]!==b||e[13]!==y?(v=(0,o.jsxs)("div",{className:"relative",children:[b,y]}),e[12]=b,e[13]=y,e[14]=v):v=e[14];let j;e[15]!==k?(j=(0,o.jsx)("p",{className:"truncate font-mono text-xs",title:k,children:k}),e[15]=k,e[16]=j):j=e[16];let N;e[17]!==n.size?(N=ye(n.size),e[17]=n.size,e[18]=N):N=e[18];let C;e[19]!==N?(C=(0,o.jsx)("p",{className:"text-[11px] tabular-nums text-muted-foreground",children:N}),e[19]=N,e[20]=C):C=e[20];let T;e[21]!==n.key||e[22]!==i||e[23]!==m||e[24]!==f?(T=m&&(0,o.jsx)("div",{className:"mt-1",children:(0,o.jsx)(We,{objectKey:n.key,references:i,t:f})}),e[21]=n.key,e[22]=i,e[23]=m,e[24]=f,e[25]=T):T=e[25];let D;e[26]!==j||e[27]!==C||e[28]!==T?(D=(0,o.jsxs)("div",{className:"min-w-0",children:[j,C,T]}),e[26]=j,e[27]=C,e[28]=T,e[29]=D):D=e[29];let F=r===n.key,$;e[30]!==t||e[31]!==w||e[32]!==a||e[33]!==n.key||e[34]!==S||e[35]!==f||e[36]!==F?($=(0,o.jsx)("div",{className:"flex items-center gap-1",children:(0,o.jsx)(Ae,{busy:t,buttonClassName:"h-7 px-2 text-xs",copied:F,objectKey:n.key,onCopy:w,onDelete:S,onDownload:a,t:f})}),e[30]=t,e[31]=w,e[32]=a,e[33]=n.key,e[34]=S,e[35]=f,e[36]=F,e[37]=$):$=e[37];let O;return e[38]!==$||e[39]!==v||e[40]!==D?(O=(0,o.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"fb-tile",children:[v,D,$]}),e[38]=$,e[39]=v,e[40]=D,e[41]=O):O=e[41],O},"Lt"),Bt=h(d=>{let e=(0,M.c)(9),{name:t,onEnter:r}=d,l;e[0]!==t||e[1]!==r?(l=h(()=>{r(t)},"n"),e[0]=t,e[1]=r,e[2]=l):l=e[2];let n=l,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)("span",{className:"flex aspect-square w-full items-center justify-center rounded-md border border-border bg-muted/30 transition-colors hover:bg-accent",children:(0,o.jsx)("svg",{"aria-hidden":"true",className:"size-10 text-muted-foreground",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.4,viewBox:"0 0 24 24",children:(0,o.jsx)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z"})})}),e[3]=c):c=e[3];let i;e[4]!==t?(i=(0,o.jsx)("span",{className:"truncate font-mono text-xs",title:t,children:t}),e[4]=t,e[5]=i):i=e[5];let s;return e[6]!==n||e[7]!==i?(s=(0,o.jsxs)("button",{className:"flex flex-col gap-1.5 text-left outline-none","data-testid":"fb-folder",onClick:n,type:"button",children:[c,i]}),e[6]=n,e[7]=i,e[8]=s):s=e[8],s},"Bt"),It=h(d=>{let e=(0,M.c)(34),{busy:t,copiedKey:r,files:l,folders:n,handlers:c,onEnterFolder:i,prefix:s,references:u,resolveUrl:m,selected:f,showReferences:g,size:w,t:a}=d,k;e[0]!==w?(k=w.toString(),e[0]=w,e[1]=k):k=e[1];let S=`repeat(auto-fill, minmax(${k}px, 1fr))`,x;e[2]!==S?(x={gridTemplateColumns:S},e[2]=S,e[3]=x):x=e[3];let b=x,y;if(e[4]!==n||e[5]!==i){let N;e[7]!==i?(N=h(C=>(0,o.jsx)(Bt,{name:C,onEnter:i},C),"w"),e[7]=i,e[8]=N):N=e[8],y=n.map(N),e[4]=n,e[5]=i,e[6]=y}else y=e[6];let v;if(e[9]!==t||e[10]!==r||e[11]!==l||e[12]!==c||e[13]!==s||e[14]!==u||e[15]!==m||e[16]!==f||e[17]!==g||e[18]!==a){let N;e[20]!==t||e[21]!==r||e[22]!==c||e[23]!==s||e[24]!==u||e[25]!==m||e[26]!==f||e[27]!==g||e[28]!==a?(N=h(C=>(0,o.jsx)(Lt,{busy:t,copiedKey:r,handlers:c,object:C,prefix:s,references:u[C.key],resolveUrl:m,selected:f.has(C.key),showReferences:g,t:a},C.key),"w"),e[20]=t,e[21]=r,e[22]=c,e[23]=s,e[24]=u,e[25]=m,e[26]=f,e[27]=g,e[28]=a,e[29]=N):N=e[29],v=l.map(N),e[9]=t,e[10]=r,e[11]=l,e[12]=c,e[13]=s,e[14]=u,e[15]=m,e[16]=f,e[17]=g,e[18]=a,e[19]=v}else v=e[19];let j;return e[30]!==b||e[31]!==y||e[32]!==v?(j=(0,o.jsxs)("div",{className:"grid gap-4","data-testid":"fb-gallery",style:b,children:[y,v]}),e[30]=b,e[31]=y,e[32]=v,e[33]=j):j=e[33],j},"It"),Rt=h(d=>{let e=(0,M.c)(23),{reference:t,t:r}=d,l=`fb-dangling-${t.table}-${t.id}-${t.column}`,n=`${t.table}\xB7${t.id}`,c;e[0]!==n?(c=(0,o.jsx)(ae,{variant:"secondary",children:n}),e[0]=n,e[1]=c):c=e[1];let i;e[2]!==t.column?(i=(0,o.jsx)("span",{className:"text-muted-foreground",children:t.column}),e[2]=t.column,e[3]=i):i=e[3];let s;e[4]!==r?(s=r("\u2192"),e[4]=r,e[5]=s):s=e[5];let u;e[6]!==s?(u=(0,o.jsx)("span",{className:"text-muted-foreground/60",children:s}),e[6]=s,e[7]=u):u=e[7];let m;e[8]!==t.key?(m=(0,o.jsx)("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-foreground",children:t.key}),e[8]=t.key,e[9]=m):m=e[9];let f;e[10]!==c||e[11]!==i||e[12]!==u||e[13]!==m?(f=(0,o.jsxs)("span",{className:"flex flex-wrap items-center gap-1.5",children:[c,i,u,m]}),e[10]=c,e[11]=i,e[12]=u,e[13]=m,e[14]=f):f=e[14];let g;e[15]!==r?(g=r("Missing object"),e[15]=r,e[16]=g):g=e[16];let w;e[17]!==g?(w=(0,o.jsx)(ae,{className:"border-destructive/40 text-destructive",variant:"outline",children:g}),e[17]=g,e[18]=w):w=e[18];let a;return e[19]!==l||e[20]!==w||e[21]!==f?(a=(0,o.jsxs)("li",{className:"flex flex-wrap items-center justify-between gap-2 rounded-md border border-border/60 px-3 py-2 text-xs","data-testid":l,children:[f,w]}),e[19]=l,e[20]=w,e[21]=f,e[22]=a):a=e[22],a},"Ot"),_t=h(d=>{let e=(0,M.c)(42),{busy:t,onCheck:r,references:l,t:n,truncated:c}=d,i;e[0]!==n?(i=n("Integrity"),e[0]=n,e[1]=i):i=e[1];let s;e[2]!==i?(s=(0,o.jsx)("span",{className:"font-mono text-[11px] uppercase tracking-wide text-muted-foreground",children:i}),e[2]=i,e[3]=s):s=e[3];let u;e[4]!==n?(u=n("Orphaned objects"),e[4]=n,e[5]=u):u=e[5];let m;e[6]!==u?(m=(0,o.jsx)("span",{className:"text-sm font-medium text-foreground",children:u}),e[6]=u,e[7]=m):m=e[7];let f;e[8]!==n?(f=n("Find records whose file reference points at an object the bucket no longer has."),e[8]=n,e[9]=f):f=e[9];let g;e[10]!==f?(g=(0,o.jsx)("span",{className:"text-xs text-muted-foreground",children:f}),e[10]=f,e[11]=g):g=e[11];let w;e[12]!==s||e[13]!==m||e[14]!==g?(w=(0,o.jsxs)("div",{className:"flex flex-col gap-1",children:[s,m,g]}),e[12]=s,e[13]=m,e[14]=g,e[15]=w):w=e[15];let a;e[16]!==t||e[17]!==n?(a=n(t?"Checking\u2026":"Check for orphans"),e[16]=t,e[17]=n,e[18]=a):a=e[18];let k;e[19]!==t||e[20]!==r||e[21]!==a?(k=(0,o.jsx)(ee,{"data-testid":"fb-orphans-check",disabled:t,onClick:r,size:"sm",type:"button",variant:"outline",children:a}),e[19]=t,e[20]=r,e[21]=a,e[22]=k):k=e[22];let S;e[23]!==w||e[24]!==k?(S=(0,o.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[w,k]}),e[23]=w,e[24]=k,e[25]=S):S=e[25];let x;e[26]!==l||e[27]!==n||e[28]!==c?(x=c&&(0,o.jsx)("p",{className:"text-xs text-warning","data-testid":"fb-orphans-truncated",children:l===void 0||l.length===0?n("The bucket is larger than the scan's key limit, so dangling references could not be checked."):n("Showing the first {count} dangling references \u2014 the scan was truncated.",{count:l.length})}),e[26]=l,e[27]=n,e[28]=c,e[29]=x):x=e[29];let b;e[30]!==l?.length||e[31]!==n||e[32]!==c?(b=l?.length===0&&!c&&(0,o.jsx)(ge,{description:n("Every record's file reference points at an object that exists in the bucket."),testId:"fb-orphans-empty",title:n("No dangling references.")}),e[30]=l?.length,e[31]=n,e[32]=c,e[33]=b):b=e[33];let y;e[34]!==l||e[35]!==n?(y=l!==void 0&&l.length>0&&(0,o.jsx)("ul",{className:"flex flex-col gap-1.5","data-testid":"fb-orphans-list",children:l.map(j=>(0,o.jsx)(Rt,{reference:j,t:n},`${j.table}\xB7${j.id}\xB7${j.column}`))}),e[34]=l,e[35]=n,e[36]=y):y=e[36];let v;return e[37]!==S||e[38]!==x||e[39]!==b||e[40]!==y?(v=(0,o.jsxs)("section",{className:"flex flex-col gap-2 rounded-lg border border-border/60 p-3","data-testid":"fb-orphans",children:[S,x,b,y]}),e[37]=S,e[38]=x,e[39]=b,e[40]=y,e[41]=v):v=e[41],v},"At"),Ut=h(function(d,e){let t=(0,M.c)(18),r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=new Set,t[0]=r):r=t[0];let[l,n]=(0,z.useState)(r),c;t[1]===Symbol.for("react.memo_cache_sentinel")?(c=h(x=>{n(b=>{let y=new Set(b);return y.has(x)?y.delete(x):y.add(x),y})},"a"),t[1]=c):c=t[1];let i=c,s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=h(()=>{n(new Set)},"o"),t[2]=s):s=t[2];let u=s,m,f,g;if(t[3]!==d||t[4]!==e||t[5]!==l){let x;t[9]!==e?(x=h(b=>e(b),"y"),t[9]=e,t[10]=x):x=t[10],f=d.map(x),m=f.length>0&&f.every(b=>l.has(b)),g=!m&&f.some(b=>l.has(b)),t[3]=d,t[4]=e,t[5]=l,t[6]=m,t[7]=f,t[8]=g}else m=t[6],f=t[7],g=t[8];let w=g,a;t[11]!==f?(a=h(()=>{n(x=>f.every(b=>x.has(b))?new Set:new Set(f))},"i"),t[11]=f,t[12]=a):a=t[12];let k=a,S;return t[13]!==m||t[14]!==l||t[15]!==w||t[16]!==k?(S={allSelected:m,clear:u,selected:l,someSelected:w,toggle:i,toggleAll:k},t[13]=m,t[14]=l,t[15]=w,t[16]=k,t[17]=S):S=t[17],S},"Ut"),Mt=pe(xe.storageReferences),Pt=pe(xe.storageOrphans),Ue=1e4,At=1e3,Wt=h(async d=>{let e=[],t,r=!0,l=!1;for(;r&&e.length<Ue;){let n=await d.list({cursor:t,limit:At}),c=Ue-e.length;for(let i of n.objects.slice(0,c))e.push(i.key);l||=n.objects.length>c,t=n.cursor,r=t!==void 0}return{liveKeys:e,truncated:l||r}},"Pt"),Ht=3600,qt=h((d,e)=>{if(!("document"in globalThis))return;let t=globalThis.document.createElement("a");t.href=d,t.download=e,t.rel="noopener",globalThis.document.body.append(t),t.click(),t.remove()},"Wt"),Gt=h(d=>d.key,"Vt"),Vt=h(({initialPrefix:d,pageSize:e})=>{let t=Ce(),[r,l]=(0,z.useState)(d??""),[n,c]=(0,z.useState)(d??""),[i,s]=(0,z.useState)(Nt),[u,m]=(0,z.useState)("list"),[f,g]=(0,z.useState)(128),[w,a]=(0,z.useState)("name"),[k,S]=(0,z.useState)("asc"),[x,b]=(0,z.useState)(void 0),[y,v]=(0,z.useState)(void 0),[j,N]=(0,z.useState)(!1),[C,T]=(0,z.useState)(void 0),[D,F]=(0,z.useState)(void 0),[$,O]=(0,z.useState)(""),[I,L]=(0,z.useState)({}),[R,E]=(0,z.useState)(!1),[B,U]=(0,z.useState)(void 0),[P,W]=(0,z.useState)(!1),[A,q]=(0,z.useState)(!1),[X,re]=(0,z.useState)([]),[G,ke]=(0,z.useState)(""),ne=(0,z.useRef)(0),J=(0,z.useRef)(0),ce=(0,z.useRef)(0);(0,z.useEffect)(()=>{let p={cancelled:!1};return H((async()=>{try{let K=await t.listStorageBuckets();if(!p.cancelled){re(K);let[_]=K;_!==void 0&&ke(Z=>Z===""?_:Z)}}catch{}})()),()=>{p.cancelled=!0}},[t]);let V=(0,z.useMemo)(()=>({list:h(p=>t.listStorageObjects({...p,bucket:G}),"list"),remove:h(p=>t.deleteStorageObject(p,{bucket:G}),"remove"),signedUrl:h((p,K)=>t.signedStorageUrl(p,{...K,bucket:G}),"signedUrl"),upload:h(p=>t.uploadStorageObject({...p,bucket:G}),"upload")}),[G,t]),Q=(0,z.useCallback)(async(p,K,_)=>{ne.current+=1;let Z=ne.current;v(void 0),N(!0);try{let se=await V.list({cursor:K,limit:e,prefix:p});if(Z!==ne.current)return;b(Ne=>_&&Ne!==void 0?[...Ne,...se.objects]:se.objects),F(se.cursor)}catch(se){if(Z!==ne.current)return;_||b(void 0),v(oe(se))}finally{Z===ne.current&&N(!1)}},[e,V]);(0,z.useEffect)(()=>{H(Q(d??"",void 0,!1))},[Q,d]);let qe=(x?.length??0)<=e;Be(()=>{H(Q(r,void 0,!1))},qe);let{files:ue,folders:Ge}=jt(x??[],r),Ve=(0,z.useMemo)(()=>{let p=new Set;for(let K of ue)for(let _ of Object.keys(K.customMetadata??{}))p.add(_);return[...p].toSorted((K,_)=>K.localeCompare(_))},[ue]),ie=Ct(ue,w,k),fe=(0,z.useMemo)(()=>[...new Set(ie.map(p=>p.key))].toSorted((p,K)=>p.localeCompare(K)).join(`
|
|
3
|
+
`),[ie]);(0,z.useEffect)(()=>{let p=fe===""?[]:fe.split(`
|
|
4
|
+
`);if(p.length===0){L({});return}let K={current:!0};return H((async()=>{try{let _=await t.query(Mt,{keys:p},be($));K.current&&(L(_.references??{}),E(Object.keys(_.storageColumns??{}).length>0))}catch{K.current&&(L({}),E(!1))}})()),()=>{K.current=!1}},[t,fe,$]);let{allSelected:Ze,clear:le,selected:we,someSelected:Xe,toggle:Je,toggleAll:Ye}=Ut(ie,Gt),Qe=h(()=>{l(n),le(),H(Q(n,void 0,!1))},"Ue"),et=h(()=>{H(Q(r,D,!0))},"Me"),Se=h(p=>{l(p),c(p),le(),H(Q(p,void 0,!1))},"xe"),tt=h(p=>{Se(`${r}${p}`)},"Ge"),rt=h(p=>V.signedUrl(p,{expiresInSeconds:Ht}),"He"),nt=h(()=>{m("list")},"Pe"),ot=h(()=>{m("grid")},"qe"),lt=h(p=>{a(p)},"We"),st=h(()=>{S(p=>p==="asc"?"desc":"asc")},"Ve"),at=h(p=>{g(p)},"Ze"),ct=h(p=>{s(p)},"Xe"),he=h(p=>{let K=ce.current;v(void 0),N(!0),H((async()=>{try{await p(),K===ce.current&&await Q(r,void 0,!1)}catch(_){v(oe(_))}K===ce.current&&N(!1)})())},"me"),it=h(()=>{he(async()=>{for(let p of we)await V.remove(p);le()})},"Ye"),dt=h(p=>{v(void 0),H((async()=>{try{let K=await V.signedUrl(p,{expiresInSeconds:i});$e(K)&&T(p)}catch(K){v(oe(K))}})())},"Je"),ut=h(p=>{v(void 0),H((async()=>{try{let K=await V.signedUrl(p,{expiresInSeconds:i}),_=p.slice(p.lastIndexOf("/")+1)||p;qt(K,_)}catch(K){v(oe(K))}})())},"Qe");(0,z.useEffect)(()=>{if(C===void 0)return;let p=globalThis.setTimeout(()=>{T(void 0)},2e3);return()=>{globalThis.clearTimeout(p)}},[C]);let ft=h(p=>{he(async()=>{await V.remove(p)})},"et"),ht=h(p=>{let K=`${r}${p.name}`;he(async()=>{let _=await p.arrayBuffer();await V.upload({body:_,contentType:p.type===""?void 0:p.type,key:K})})},"tt");(0,z.useEffect)(()=>{J.current+=1,U(void 0),q(!1)},[$]);let mt=h(()=>{J.current+=1;let p=J.current;v(void 0),W(!0),H((async()=>{try{let{liveKeys:K,truncated:_}=await Wt(V);if(_)p===J.current&&(U(void 0),q(!0));else{let Z=await t.query(Pt,{liveKeys:K},be($));p===J.current&&(U(Z.references??[]),q(Z.truncated===!0))}}catch(K){p===J.current&&(U(void 0),q(!1),v(oe(K)))}p===J.current&&W(!1)})())},"st"),gt=h(p=>{ne.current+=1,J.current+=1,ce.current+=1,ke(p),l(d??""),c(d??""),b(void 0),U(void 0),q(!1),le()},"lt");return{allSelected:Ze,bucket:G,buckets:X,bulkDelete:it,busy:j,checkOrphans:mt,clearSelection:le,copiedKey:C,danglingBusy:P,danglingReferences:B,danglingTruncated:A,draftPrefix:n,enterFolder:tt,error:y,expiry:i,files:ie,folders:Ge,hasObjects:x!==void 0&&x.length>0,hasStorageColumns:R,listFirst:Qe,loaded:x!==void 0,loadMore:et,navigate:Se,nextCursor:D,onCopy:dt,onDelete:ft,onDownload:ut,onExpiryChange:ct,onFile:ht,onSortKeyChange:lt,onThumbSizeChange:at,prefix:r,referenceShard:$,references:I,resolveUrl:rt,selectBucket:gt,selected:we,setDraftPrefix:c,setReferenceShard:O,showGrid:ot,showList:nt,someSelected:Xe,sortDirection:k,sortKey:w,tagKeys:Ve,thumbSize:f,toggleSelect:Je,toggleSelectAll:Ye,toggleSortDirection:st,view:u}},"Zt"),Zt=100,Me=h(d=>{let e=(0,M.c)(6),{label:t,onNavigate:r,target:l}=d,n;e[0]!==r||e[1]!==l?(n=h(()=>{r(l)},"l"),e[0]=r,e[1]=l,e[2]=n):n=e[2];let c=n,i;return e[3]!==c||e[4]!==t?(i=(0,o.jsx)("button",{className:"rounded px-1 text-muted-foreground outline-none hover:text-foreground focus-visible:text-foreground",onClick:c,type:"button",children:t}),e[3]=c,e[4]=t,e[5]=i):i=e[5],i},"Ce"),Xt=h(d=>{let e=(0,M.c)(11),{onNavigate:t,prefix:r,t:l}=d,n;if(e[0]!==t||e[1]!==r||e[2]!==l){let c=r.split("/").filter(Jt),i;e[4]!==l?(i=l("Folder path"),e[4]=l,e[5]=i):i=e[5];let s;e[6]!==l?(s=l("root"),e[6]=l,e[7]=s):s=e[7];let u;e[8]!==t||e[9]!==s?(u=(0,o.jsx)(Me,{label:s,onNavigate:t,target:""}),e[8]=t,e[9]=s,e[10]=u):u=e[10],n=(0,o.jsxs)("nav",{"aria-label":i,className:"flex flex-wrap items-center gap-0.5 text-xs","data-testid":"fb-breadcrumbs",children:[u,c.map((m,f)=>(0,o.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,o.jsx)("span",{className:"text-muted-foreground/50",children:"/"}),(0,o.jsx)(Me,{label:m,onNavigate:t,target:`${c.slice(0,f+1).join("/")}/`})]},`${m}-${f.toString()}`))]}),e[0]=t,e[1]=r,e[2]=l,e[3]=n}else n=e[3];return n},"Yt"),mr=h(({initialPrefix:d,pageSize:e=Zt})=>{let t=je(),r=Vt({initialPrefix:d,pageSize:e}),l=(0,z.useRef)(null),{onCopy:n,onDelete:c,onDownload:i,onFile:s,toggleSelect:u}=r,m={onCopy:n,onDelete:c,onDownload:i,onToggleSelect:u},f=h(()=>{l.current?.click()},"u"),g=h(a=>{let k=a.target,S=k.files?.[0];k.value="",S&&s(S)},"m"),w=r.loaded&&!r.hasObjects;return(0,o.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-file-browser",children:[(0,o.jsx)(zt,{bucket:r.bucket,buckets:r.buckets,busy:r.busy,draftPrefix:r.draftPrefix,expiry:r.expiry,fileInputRef:l,onBucketChange:r.selectBucket,onExpiryChange:r.onExpiryChange,onFileChange:g,onList:r.listFirst,onPrefixChange:r.setDraftPrefix,onUploadClick:f,t}),r.loaded&&(0,o.jsx)(Xt,{onNavigate:r.navigate,prefix:r.prefix,t}),r.hasObjects&&(0,o.jsx)(Dt,{onSortKeyChange:r.onSortKeyChange,onThumbSizeChange:r.onThumbSizeChange,showGrid:r.showGrid,showList:r.showList,sortDirection:r.sortDirection,sortKey:r.sortKey,t,tagKeys:r.tagKeys,thumbSize:r.thumbSize,toggleSortDirection:r.toggleSortDirection,view:r.view}),r.hasStorageColumns&&(0,o.jsxs)("div",{className:"flex flex-wrap items-center gap-2","data-testid":"fb-references-shard",children:[(0,o.jsx)("label",{className:"text-xs text-muted-foreground",htmlFor:"fb-reference-shard-input",children:t("References shard")}),(0,o.jsx)(Ke,{id:"fb-reference-shard-input",onChange:r.setReferenceShard,testId:"fb-reference-shard-input",value:r.referenceShard}),(0,o.jsx)("span",{className:"text-xs text-muted-foreground",children:t("Which shard's records are checked for references to these files. Empty = root shard.")})]}),r.hasStorageColumns&&(0,o.jsx)(_t,{busy:r.danglingBusy,onCheck:r.checkOrphans,references:r.danglingReferences,t,truncated:r.danglingTruncated}),r.selected.size>0&&(0,o.jsx)(Ie,{count:r.selected.size,editable:!0,onClear:r.clearSelection,onDelete:r.bulkDelete}),r.error!==void 0&&(0,o.jsx)("p",{className:"text-sm text-destructive","data-testid":"storage-error",role:"alert",children:r.error}),w&&(0,o.jsx)(ge,{description:t("Objects you upload to your R2 buckets will appear here."),icon:(0,o.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,o.jsx)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z"}),(0,o.jsx)("path",{d:"M12 11v5m-2.5-2.5h5"})]}),testId:"fb-empty",title:t("No objects.")}),r.hasObjects&&r.view==="list"&&(0,o.jsx)(wt,{allSelected:r.allSelected,busy:r.busy,copiedKey:r.copiedKey,files:r.files,folders:r.folders,handlers:m,onEnterFolder:r.enterFolder,prefix:r.prefix,references:r.references,selected:r.selected,showReferences:r.hasStorageColumns,someSelected:r.someSelected,t,toggleSelectAll:r.toggleSelectAll}),r.hasObjects&&r.view==="grid"&&(0,o.jsx)(It,{busy:r.busy,copiedKey:r.copiedKey,files:r.files,folders:r.folders,handlers:m,onEnterFolder:r.enterFolder,prefix:r.prefix,references:r.references,resolveUrl:r.resolveUrl,selected:r.selected,showReferences:r.hasStorageColumns,size:r.thumbSize,t}),r.nextCursor!==void 0&&(0,o.jsx)("div",{children:(0,o.jsx)(ee,{"data-testid":"fb-next",disabled:r.busy,onClick:r.loadMore,size:"sm",type:"button",variant:"outline",children:t("Load more")})})]})},"ys");function Jt(d){return d!==""}h(Jt,"Jt");export{mr as FileBrowser};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as c,d as p,e as b,f as v}from"./chunk-I26MS5PJ.js";var h=p(v(),1),g=p(b(),1);var y=c((a="local")=>{try{return a==="local"?globalThis.localStorage:globalThis.sessionStorage}catch{return}},"d"),S=c(function(a,s="local"){try{let r=y(s)?.getItem(a)??void 0,t=r===void 0?[]:JSON.parse(r);return Array.isArray(t)?t:[]}catch{return[]}},"g"),I=c((a,s,r="local")=>{let t=y(r);if(t!==void 0)try{t.setItem(a,JSON.stringify(s))}catch{}},"I"),A=c((a,s="local")=>{try{y(s)?.removeItem(a)}catch{}},"A"),T=c(function(a,s){let r=(0,h.c)(10),t=s===void 0?"local":s,u;r[0]!==a||r[1]!==t?(u=c(()=>S(a,t),"i"),r[0]=a,r[1]=t,r[2]=u):u=r[2];let[n,f]=(0,g.useState)(u),i=(0,g.useRef)(`${t}:${a}`),e,l;r[3]!==a||r[4]!==t||r[5]!==n?(e=c(()=>{let m=`${t}:${a}`;if(i.current!==m){i.current=m,f(S(a,t));return}I(a,n,t)},"c"),l=[a,t,n],r[3]=a,r[4]=t,r[5]=n,r[6]=e,r[7]=l):(e=r[6],l=r[7]),(0,g.useEffect)(e,l);let o;return r[8]!==n?(o=[n,f],r[8]=n,r[9]=o):o=r[9],o},"J"),J=c(function(a,s,r){let t=(0,h.c)(6),u="local",[n,f]=T(a,u),i;t[0]!==s||t[1]!==f?(i=c(m=>{f($=>{let d=$[0]??s;return[typeof m=="function"?m(d):m]})},"a"),t[0]=s,t[1]=f,t[2]=i):i=t[2];let e=i,l=n[0]??s,o;return t[3]!==e||t[4]!==l?(o=[l,e],t[3]=e,t[4]=l,t[5]=o):o=t[5],o},"O"),O=c(a=>globalThis.crypto?.randomUUID?.()??`${a}-${globalThis.performance.now().toString(36)}`,"V");export{y as a,S as b,I as c,A as d,T as e,J as f,O as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as h}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{b as A}from"./chunk-2XM43DQY.js";import{f as k}from"./chunk-KL26TJN3.js";import"./chunk-QAQDMS6R.js";import"./chunk-OACO7GME.js";import{a as y,e as S}from"./chunk-2IKDEUCX.js";import{d as I}from"./chunk-HJHSQPHW.js";import{a as u,d as w,f as z,g as P}from"./chunk-I26MS5PJ.js";var N=w(z(),1);var a=w(P(),1);var j=[{key:"accounts",label:"Accounts"},{key:"admin",label:"Admin"},{key:"organization",label:"Organizations"},{key:"passkey",label:"Passkeys"},{key:"twoFactor",label:"Two-factor"}],v=u(e=>{if(e===void 0)return"\u2014";let i=[[86400,"d"],[3600,"h"],[60,"m"]];for(let[t,d]of i)if(e>=t&&e%t===0)return`${String(e/t)}${d}`;return`${String(e)}s`},"v"),p=u(e=>{let i=(0,N.c)(8),{children:t,heading:d,testId:n}=e,l;i[0]!==d?(l=(0,a.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,a.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:d})}),i[0]=d,i[1]=l):l=i[1];let s;i[2]!==t?(s=(0,a.jsx)(S,{className:"p-3",children:t}),i[2]=t,i[3]=s):s=i[3];let c;return i[4]!==l||i[5]!==s||i[6]!==n?(c=(0,a.jsxs)(y,{className:"gap-0 py-0","data-testid":n,children:[l,s]}),i[4]=l,i[5]=s,i[6]=n,i[7]=c):c=i[7],c},"h"),o=u(e=>{let i=(0,N.c)(7),{label:t,value:d}=e,n;i[0]!==t?(n=(0,a.jsx)("span",{className:"text-sm",children:t}),i[0]=t,i[1]=n):n=i[1];let l;i[2]!==d?(l=(0,a.jsx)("span",{className:"text-sm text-muted-foreground tabular-nums",children:d}),i[2]=d,i[3]=l):l=i[3];let s;return i[4]!==n||i[5]!==l?(s=(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 rounded-xl border border-border bg-card p-2 shadow-xs",children:[n,l]}),i[4]=n,i[5]=l,i[6]=s):s=i[6],s},"c"),M=u(()=>{let e=(0,N.c)(20),i=k(),t=I(),d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=["lunora-auth-config"],e[0]=d):d=e[0];let n;e[1]!==i?(n=u(()=>i.getAuthConfig(),"r"),e[1]=i,e[2]=n):n=e[2];let{data:l,error:s}=A(d,n),c;e[3]!==t?(c=u(r=>(0,a.jsx)(h,{variant:r?"success":"outline",children:t(r?"Enabled":"Disabled")}),"u"),e[3]=t,e[4]=c):c=e[4];let m=c,g;e[5]!==s?(g=s!==null&&(0,a.jsx)("p",{className:"px-4 py-8 text-center text-sm text-destructive","data-testid":"auth-config-error",role:"alert",children:s}),e[5]=s,e[6]=g):g=e[6];let f;e[7]!==l||e[8]!==s||e[9]!==t?(f=s===null&&l===void 0&&(0,a.jsx)("p",{className:"px-4 py-8 text-center text-sm text-muted-foreground","data-testid":"auth-config-loading",children:t("Loading auth configuration\u2026")}),e[7]=l,e[8]=s,e[9]=t,e[10]=f):f=e[10];let x;e[11]!==l||e[12]!==s||e[13]!==m||e[14]!==t?(x=s===null&&l!==void 0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p,{heading:t("Enabled capabilities"),testId:"auth-config-capabilities",children:(0,a.jsx)("ul",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:j.map(r=>{let $=l.capabilities[r.key];return(0,a.jsxs)("li",{className:"flex items-center justify-between gap-2 rounded-xl border border-border bg-card p-2 shadow-xs","data-testid":`auth-config-cap-${r.key}`,children:[(0,a.jsx)("span",{className:"text-sm",children:t(r.label)}),m($)]},r.key)})})}),(0,a.jsx)(p,{heading:t("Plugins"),testId:"auth-config-plugins",children:l.plugins.length===0?(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:t("No plugins enabled.")}):(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:l.plugins.map(C)})}),(0,a.jsx)(p,{heading:t("Sign-in methods"),testId:"auth-config-signin",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(o,{label:t("Email & password"),value:m(l.emailAndPassword)}),(0,a.jsx)(o,{label:t("Social providers"),value:l.socialProviders.length===0?t("None"):(0,a.jsx)("span",{className:"flex flex-wrap justify-end gap-1",children:l.socialProviders.map(L)})})]})}),l.organization.enabled&&(0,a.jsx)(p,{heading:t("Organizations"),testId:"auth-config-org",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(o,{label:t("Teams"),value:m(l.organization.teams)}),(0,a.jsx)(o,{label:t("Custom roles"),value:m(l.organization.roles)})]})}),(0,a.jsx)(p,{heading:t("Session policy"),testId:"auth-config-session",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(o,{label:t("Expires in"),value:v(l.session.expiresIn)}),(0,a.jsx)(o,{label:t("Refresh after"),value:v(l.session.updateAge)}),(0,a.jsx)(o,{label:t("Fresh window"),value:v(l.session.freshAge)}),(0,a.jsx)(o,{label:t("Cookie cache"),value:m(l.session.cookieCache===!0)})]})}),(0,a.jsx)(p,{heading:t("Rate limit"),testId:"auth-config-ratelimit",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(o,{label:t("Status"),value:m(l.rateLimit.enabled)}),l.rateLimit.enabled&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o,{label:t("Max requests"),value:l.rateLimit.max??"\u2014"}),(0,a.jsx)(o,{label:t("Window"),value:v(l.rateLimit.window)})]})]})}),l.userFields.length>0&&(0,a.jsx)(p,{heading:t("Plugin user fields"),testId:"auth-config-user-fields",children:(0,a.jsx)("ul",{className:"flex flex-col gap-2",children:l.userFields.map(r=>(0,a.jsxs)("li",{className:"flex items-center justify-between gap-2 rounded-xl border border-border bg-card p-2 shadow-xs","data-testid":`auth-config-user-field-${r.name}`,children:[(0,a.jsxs)("span",{className:"flex flex-col",children:[(0,a.jsx)("span",{className:"font-mono text-xs",children:r.name}),r.plugin!==void 0&&(0,a.jsx)("span",{className:"text-[11px] text-muted-foreground",children:r.plugin})]}),(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(h,{variant:"outline",children:r.type}),r.required&&(0,a.jsx)(h,{variant:"secondary",children:t("required")}),r.unique&&(0,a.jsx)(h,{variant:"secondary",children:t("unique")})]})]},r.name))})}),(0,a.jsx)(y,{className:"gap-0 py-0",children:(0,a.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground","data-testid":"auth-config-note",children:t("OAuth providers, email templates, and rate limits are configured at deploy time in the better-auth setup and aren't editable here. See the Mail tab for email output.")})})]}),e[11]=l,e[12]=s,e[13]=m,e[14]=t,e[15]=x):x=e[15];let b;return e[16]!==g||e[17]!==f||e[18]!==x?(b=(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"auth-config",children:[g,f,x]}),e[16]=g,e[17]=f,e[18]=x,e[19]=b):b=e[19],b},"O");function C(e){return(0,a.jsx)(h,{"data-testid":`auth-config-plugin-${e}`,variant:"outline",children:e},e)}u(C,"P");function L(e){return(0,a.jsx)(h,{"data-testid":`auth-config-provider-${e}`,variant:"outline",children:e},e)}u(L,"z");export{M as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as u,d as g,f as b,g as j,i as h}from"./chunk-I26MS5PJ.js";var v=g(b(),1);var t=g(j(),1);var z=u(N=>{let e=(0,v.c)(19),{action:a,className:x,description:c,icon:m,testId:f,title:p}=N,s;e[0]!==x?(s=h("flex flex-col items-center justify-center gap-3 rounded-lg border border-dashed border-border px-6 py-14 text-center",x),e[0]=x,e[1]=s):s=e[1];let r;e[2]!==m?(r=m!==void 0&&(0,t.jsx)("span",{className:"flex size-10 items-center justify-center rounded-lg bg-muted text-muted-foreground [&_svg]:size-5",children:m}),e[2]=m,e[3]=r):r=e[3];let d;e[4]!==p?(d=(0,t.jsx)("p",{className:"text-sm font-medium text-foreground",children:p}),e[4]=p,e[5]=d):d=e[5];let l;e[6]!==c?(l=c!==void 0&&(0,t.jsx)("p",{className:"max-w-sm text-sm text-muted-foreground",children:c}),e[6]=c,e[7]=l):l=e[7];let o;e[8]!==d||e[9]!==l?(o=(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[d,l]}),e[8]=d,e[9]=l,e[10]=o):o=e[10];let i;e[11]!==a?(i=a!==void 0&&(0,t.jsx)("div",{className:"mt-1 flex items-center gap-2",children:a}),e[11]=a,e[12]=i):i=e[12];let n;return e[13]!==s||e[14]!==r||e[15]!==o||e[16]!==i||e[17]!==f?(n=(0,t.jsxs)("div",{className:s,"data-testid":f,children:[r,o,i]}),e[13]=s,e[14]=r,e[15]=o,e[16]=i,e[17]=f,e[18]=n):n=e[18],n},"y");export{z as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as h}from"./chunk-5B2RTXBS.js";import{a as e}from"./chunk-I26MS5PJ.js";var m=e((i,o,s)=>h(i,t=>{o(t.height>0?t:{height:s,width:t.width})}),"s");export{m as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as l,d as m,f as d,g as p,i}from"./chunk-I26MS5PJ.js";var n=m(d(),1);var c=m(p(),1);function f(r){let t=(0,n.c)(8),e,s;t[0]!==r?({className:e,...s}=r,t[0]=r,t[1]=e,t[2]=s):(e=t[1],s=t[2]);let a;t[3]!==e?(a=i("animate-pulse rounded-md bg-muted",e),t[3]=e,t[4]=a):a=t[4];let o;return t[5]!==s||t[6]!==a?(o=(0,c.jsx)("div",{"data-slot":"skeleton",className:a,...s}),t[5]=s,t[6]=a,t[7]=o):o=t[7],o}l(f,"p");export{f as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as s,b as m,e as V}from"./chunk-I26MS5PJ.js";var h=m(w=>{"use strict";var a=V();function z(e,u){return e===u&&(e!==0||1/e===1/u)||e!==e&&u!==u}s(z,"is");var I=typeof Object.is=="function"?Object.is:z,M=a.useState,_=a.useEffect,g=a.useLayoutEffect,G=a.useDebugValue;function L(e,u){var t=u(),i=M({inst:{value:t,getSnapshot:u}}),r=i[0].inst,n=i[1];return g(function(){r.value=t,r.getSnapshot=u,y(r)&&n({inst:r})},[e,t,u]),_(function(){return y(r)&&n({inst:r}),e(function(){y(r)&&n({inst:r})})},[e]),G(t),t}s(L,"useSyncExternalStore$2");function y(e){var u=e.getSnapshot;e=e.value;try{var t=u();return!I(e,t)}catch{return!0}}s(y,"checkIfSnapshotChanged");function $(e,u){return u()}s($,"useSyncExternalStore$1");var k=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?$:L;w.useSyncExternalStore=a.useSyncExternalStore!==void 0?a.useSyncExternalStore:k});var O=m((T,D)=>{"use strict";D.exports=h()});var N=m(R=>{"use strict";var E=V(),C=O();function U(e,u){return e===u&&(e!==0||1/e===1/u)||e!==e&&u!==u}s(U,"is");var W=typeof Object.is=="function"?Object.is:U,A=C.useSyncExternalStore,B=E.useRef,F=E.useEffect,H=E.useMemo,J=E.useDebugValue;R.useSyncExternalStoreWithSelector=function(e,u,t,i,r){var n=B(null);if(n.current===null){var c={hasValue:!1,value:null};n.current=c}else c=n.current;n=H(function(){function j(o){if(!S){if(S=!0,v=o,o=i(o),r!==void 0&&c.hasValue){var f=c.value;if(r(f,o))return d=f}return d=o}if(f=d,W(v,o))return f;var p=i(o);return r!==void 0&&r(f,p)?(v=o,f):(v=o,d=p)}s(j,"memoizedSelector");var S=!1,v,d,b=t===void 0?null:t;return[function(){return j(u())},b===null?void 0:function(){return j(b())}]},[u,t,i,r]);var l=A(e,n[0],n[1]);return F(function(){c.hasValue=!0,c.value=l},[l]),J(l),l}});var K=m((Z,q)=>{"use strict";q.exports=N()});export{O as a,K as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Z}from"./chunk-R6U22RSY.js";import{a as te}from"./chunk-XHRKNCCI.js";import{a as Y}from"./chunk-YVR4SEPU.js";import{b as X}from"./chunk-ZKJS6EBE.js";import{a as W}from"./chunk-FUYEZFBP.js";import"./chunk-RGMVGZV4.js";import{i as G}from"./chunk-OQ6I6OXT.js";import"./chunk-E4PXACVL.js";import"./chunk-MVWZMWPD.js";import"./chunk-SJQERRSZ.js";import"./chunk-7Y3SY37W.js";import{b as ae,c as ne}from"./chunk-ZPCQTBZW.js";import{a as q,b as ee}from"./chunk-V57XANBV.js";import{a as Q}from"./chunk-7G4Z6Q7X.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import"./chunk-BOMPSVRC.js";import"./chunk-N2NNEOPR.js";import"./chunk-NCPW7WHO.js";import"./chunk-MCHHNGVN.js";import"./chunk-55UGUCQ6.js";import{a as I}from"./chunk-4ZEL6BYL.js";import{c as _}from"./chunk-2XM43DQY.js";import{f as D}from"./chunk-KL26TJN3.js";import"./chunk-QAQDMS6R.js";import"./chunk-OACO7GME.js";import"./chunk-HCTJKP5J.js";import"./chunk-2IKDEUCX.js";import{d as M,f as C,g as A,l as V,p as N}from"./chunk-HJHSQPHW.js";import{a as l,d as j,e as he,f as me,g as pe}from"./chunk-I26MS5PJ.js";var E=j(me(),1);var c=j(he(),1);var S=j(pe(),1);var ge=l(t=>{let{suggestedIndex:e,table:i}=t;if(typeof i!="string"||i.length===0||typeof e!="object"||e===null)return!1;let{fields:a,name:n}=e;return!Array.isArray(a)||a.length===0||a.some(s=>typeof s!="string"||s.length===0)?!1:typeof n=="string"&&n.length>0},"ye"),be=l((t,e)=>`.index(${JSON.stringify(t)}, [${e.map(i=>JSON.stringify(i)).join(", ")}])`,"ge"),ye=l(t=>{let e=(0,E.c)(19),{fields:i,indexName:a,table:n,testId:s}=t,u=M(),[h,f]=(0,c.useState)(null),m;e[0]!==i||e[1]!==a?(m=l(()=>{let b=be(a,i),$="navigator"in globalThis?globalThis.navigator.clipboard:void 0;if($===void 0){f({copied:!1,declaration:b});return}N($.writeText(b).then(()=>(f({copied:!0,declaration:b}),!0)),()=>{f({copied:!1,declaration:b})})},"m"),e[0]=i,e[1]=a,e[2]=m):m=e[2];let x=m;if(h!==null){let b;return e[3]!==h.copied||e[4]!==h.declaration||e[5]!==u||e[6]!==n||e[7]!==s?(b=h.copied?(0,S.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":`${s}-applied`,children:u("Index declaration copied \u2014 add it to {table} in lunora/schema.ts.",{table:n})}):(0,S.jsxs)("span",{className:"flex flex-col gap-1 text-xs text-muted-foreground","data-testid":`${s}-manual`,children:[u("Could not reach the clipboard \u2014 add this to {table} in lunora/schema.ts:",{table:n}),(0,S.jsx)("code",{className:"font-mono break-all select-all",children:h.declaration})]}),e[3]=h.copied,e[4]=h.declaration,e[5]=u,e[6]=n,e[7]=s,e[8]=b):b=e[8],b}let T;e[9]!==u?(T=u("Copy?"),e[9]=u,e[10]=T):T=e[10];let p;e[11]!==u||e[12]!==n?(p=u("Copy index declaration for {table}",{table:n}),e[11]=u,e[12]=n,e[13]=p):p=e[13];let w;return e[14]!==x||e[15]!==T||e[16]!==p||e[17]!==s?(w=(0,S.jsx)(te,{confirmLabel:T,onConfirm:x,testId:s,children:p}),e[14]=x,e[15]=T,e[16]=p,e[17]=s,e[18]=w):w=e[18],w},"ve"),xe=l((t,e)=>{let i=new Map;for(let a of e){let n=`${a.table} ${a.index}`;i.set(n,(i.get(n)??0)+a.reads)}return t.map(a=>({index:a.index,reads:i.get(`${a.table} ${a.index}`)??0,table:a.table}))},"Se"),ve=l(t=>{let e=new Map;for(let i of t)for(let a of i.scannedTables??[])e.set(a.table,(e.get(a.table)??0)+a.scans);return[...e].map(([i,a])=>({scans:a,table:i}))},"Te"),ie=l((t,e)=>e.map(i=>({index:i.name,table:t})),"P"),we=l(t=>{let e=xe(t.declaredIndexes??[],t.indexHits??[]),i=ve(t.functions??[]),a=t.shardTraffic??[],n=t.analyticsMetrics,s=n&&n.indexHits.length>0?n.indexHits:e,u=n&&n.tableScans.length>0?n.tableScans:i,h=n&&n.shardTraffic.length>0?n.shardTraffic:a,f=ne({indexHits:s,schema:{tables:[]},shardTraffic:h,tableScans:u},{lints:ae,source:"runtime"}),m=t.suppressHotScanTables;return(m===void 0?f:f.filter(x=>!(x.metadata.kind==="hot_scan"&&typeof x.metadata.table=="string"&&m.has(x.metadata.table)))).map(x=>q(x))},"we"),Se=C(I.listTables),Te=C(I.listTableIndexes),Ie=C(I.listTablesIndexes),B=l(t=>`${(t*100).toFixed(1)}%`,"L"),re=l(t=>`${(t/1e3).toFixed(2)}s`,"V"),$e=l(t=>{if(t.length<=1)return t[0]??"";let e=t[t.length-1]??"";return`${t.slice(0,-1).join(", ")} and ${e}`},"Ne"),ke=l((t,e)=>({"high-error-rate":t("High error rate"),"high-evictions":t("High cache eviction rate"),"high-write-contention":t("High write contention"),"low-cache-hit-rate":t("Low cache hit rate"),"missing-index":t("Missing index"),"slow-function":t("Slow function"),"storage-headroom":t("Storage headroom")})[e.kind],"ke"),se=l((t,e)=>({"high-error-rate":t("{rate} of calls failed.",{rate:B(e.value)}),"high-evictions":t("{count} entries evicted recently.",{count:e.value}),"high-write-contention":t("{rate} of calls hit a write conflict \u2014 consider sharding to cut contention.",{rate:B(e.value)}),"low-cache-hit-rate":t("{rate} hit rate over recent traffic.",{rate:B(e.value)}),"missing-index":t("Slowest call took {duration} \u2014 it full-scanned {tables} with no index.",{duration:re(e.value),tables:$e(e.tables??[])}),"slow-function":t("Slowest call took {duration}.",{duration:re(e.value)}),"storage-headroom":t("{size} of the 10 GiB per-shard ceiling \u2014 plan a .shardBy() migration while it still has runway.",{size:V(e.value)})})[e.kind],"U"),Ne=l(t=>{let e=(0,E.c)(10),{onJump:i,table:a}=t,n=M(),s;e[0]!==i||e[1]!==a?(s=l(()=>{i(a)},"i"),e[0]=i,e[1]=a,e[2]=s):s=e[2];let u=s,h=`in-add-index-${a}`,f;e[3]!==n||e[4]!==a?(f=n("Add index on {table}",{table:a}),e[3]=n,e[4]=a,e[5]=f):f=e[5];let m;return e[6]!==u||e[7]!==h||e[8]!==f?(m=(0,S.jsx)(Q,{"data-testid":h,onClick:u,size:"sm",type:"button",variant:"outline",children:f}),e[6]=u,e[7]=h,e[8]=f,e[9]=m):m=e[9],m},"Be"),ze=l(({initialShardKey:t,loadShardTraffic:e})=>{let i=D(),a=G(),n=M(),{queryShardKey:s,setShardKey:u,shardKey:h}=Z(t),[f,m]=(0,c.useState)(null),[x,T]=(0,c.useState)(null),p=(0,c.useRef)(""),w=_(I.getMetrics,{},{live:!0,shardKey:s}),b=_(I.getFunctionStats,{},{live:!0,shardKey:s}),$=_(I.getAdvisories,{},{live:!0,shardKey:s}),L=w.data??null,H=b.data?.functions??null,F=$.data?.advisories??null,J=w.data?.indexHits??null,O=w.error!==null&&b.error!==null?w.error:null,oe=e??(r=>i.shardTraffic(r)),le=l(async(r,y)=>{let o=r[0];if(o===void 0||o===""){p.current===y&&T(null);return}try{let g=await oe(o);if(p.current!==y)return;let d=new Map;for(let v of g.shards)d.has(v.shardKey)||d.set(v.shardKey,{requests:v.requests,shardKey:v.shardKey});T([...d.values()])}catch{p.current===y&&T(null)}},"Y"),de=l(async(r,y)=>{let o=await Promise.allSettled(r.map(async d=>[d,await i.query(Te,{table:d},A(y))])),g=[];for(let d of o)if(d.status==="fulfilled"){let[v,k]=d.value;g.push(...ie(v,k.indexes))}return g},"Z"),z=(0,c.useEffectEvent)(async r=>{p.current=r;let y=[];try{let o=await i.query(Se,{},A(r));if(p.current!==r)return;X(r),y=o.map(d=>d.name);let g=[];if(y.length>0)try{let d=await i.query(Ie,{tables:y},A(r));if(p.current!==r)return;for(let[v,k]of Object.entries(d.indexesByTable))g.push(...ie(v,k))}catch{if(g=await de(y,r),p.current!==r)return}m(g)}catch{p.current===r&&m(null)}await le(y,r)});(0,c.useEffect)(()=>{N(z(s))},[s]);let ce=(0,c.useEffectEvent)(()=>{w.refetch(),b.refetch(),$.refetch(),N(z(s))});(0,c.useEffect)(()=>{let r=l(()=>{document.visibilityState==="visible"&&ce()},"r");return document.addEventListener("visibilitychange",r),()=>{document.removeEventListener("visibilitychange",r)}},[]);let U=(0,c.useCallback)(r=>{N(a({search:{table:r},to:"/schema"}))},[a]),K=(0,c.useMemo)(()=>W(L,H),[H,L]),P=(0,c.useMemo)(()=>new Set(K.filter(r=>r.kind==="missing-index").flatMap(r=>r.tables??[])),[K]),R=(0,c.useMemo)(()=>we({declaredIndexes:f??[],functions:H,indexHits:J,shardTraffic:x,suppressHotScanTables:P}),[f,H,J,P,x]),ue=(0,c.useMemo)(()=>{let r=K.map(o=>{let g=o.kind==="missing-index"?o.tables??[]:[];return{action:g.length>0?g.map(d=>(0,S.jsx)(Ne,{onJump:U,table:d},d)):void 0,description:o.message===void 0?se(n,o):`${se(n,o)} \u2014 ${o.message}`,entity:o.fn,issueType:ke(n,o),key:`${o.kind}:${o.fn??""}`,level:o.severity}}),y=new Set(["unindexed_foreign_key","unindexed_relation_target"]);return[...(F??[]).map(o=>{let g=q(o);if(y.has(o.name)&&ge(o.metadata)){let{table:d,suggestedIndex:v}=o.metadata,k=`in-apply-index-${d}-${v.name}`;return{...g,action:(0,S.jsx)(ye,{fields:v.fields,indexName:v.name,table:d,testId:k})}}return g}),...R,...r]},[F,K,U,R,n]),fe=(0,S.jsx)(Y,{onChange:u,testId:"in-shard-input",value:h});return(0,S.jsx)(ee,{error:O,errorSource:O===null?void 0:w.errorSource,rows:ue,testId:"lunora-insights",toolbar:fe})},"Ue");export{ze as InsightsPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Wo}from"./chunk-XGCIDUJF.js";import{a as Kn,b as Un}from"./chunk-MRMVWGKS.js";import{a as Zn,d as Wn}from"./chunk-CCDX5RYT.js";import{a as jt,b as Qt,c as Yt,d as Jt,e as Xt,f as _n,g as Ko,h as Uo}from"./chunk-OYCUPD3Q.js";import{$ as _o,A as En,B as Eo,C as ko,D as kn,E as Ft,G as zt,J as Kt,K as Oo,L as Ut,M as Zt,O as Do,P as On,Q as Dn,R as Wt,S as qt,T as $t,U as Gt,V as Mo,W as Re,Y as Mn,Z as In,_ as Io,b as vn,ca as Ao,da as Vo,fa as Lo,j as Ht,k as Bt,l as Pn,la as Ho,m as Cn,ma as Bo,n as Sn,na as Fo,o as Rn,oa as jo,p as Sr,pa as An,q as To,qa as Vn,ra as zo,s as No,sa as Ln,t as Tn,u as wo,y as Nn,z as wn}from"./chunk-NXQW5E6W.js";import{a as Zo}from"./chunk-SA2OGF3F.js";import{c as Hn,h as Bn,k as Rr}from"./chunk-GHQ2VDI2.js";import{b as zn}from"./chunk-WJRYEML4.js";import{a as Gr,b as Qr,h as Yr,i as ao,j as yr,k as Jr,l as Xr,m as en,n as tn,o as on}from"./chunk-OQ6I6OXT.js";import{i as Cr}from"./chunk-E4PXACVL.js";import{C as bn,D as xn,H as yn,I as Lt,M as K,N as re,b as me,e as lo,f as mn,l as fn,m as co,o as At,p as gn,q as Vt,r as we,s as hn}from"./chunk-MVWZMWPD.js";import{a as $r}from"./chunk-7Y3SY37W.js";import{a as Tr}from"./chunk-7G4Z6Q7X.js";import{c as Ee}from"./chunk-3YXASVTP.js";import{a as ye,c as pn,h as Ro,i as un}from"./chunk-AUAECCXB.js";import{a as Pr,b as _t}from"./chunk-Q6ED4KUL.js";import{a as so,c as Q,g as io,i as cn,j as B}from"./chunk-BOMPSVRC.js";import{a as rn,b as nn}from"./chunk-55UGUCQ6.js";import{a as po}from"./chunk-2XM43DQY.js";import{a as dn}from"./chunk-QAQDMS6R.js";import{d as br}from"./chunk-OACO7GME.js";import{a as Fn}from"./chunk-RWVIV3U7.js";import{a as an,b as sn,c as ln,d as fe,p as eo,s as jn}from"./chunk-HJHSQPHW.js";import{a as s,c as vr,d as T,e as A,f as xr,g as se,i as U}from"./chunk-I26MS5PJ.js";var I=T(xr(),1);var xe=T(A(),1),O=T(A(),1);var a=T(se(),1);var qn=T(A(),1),Te=T(se(),1);var $s={border:"1px solid var(--destructive)",color:"var(--destructive)",padding:12},Gs={overflow:"auto",whiteSpace:"pre-wrap"},qo=class extends qn.Component{static{s(this,"g")}static getDerivedStateFromError(e){return{error:e}}state={error:null};componentDidCatch(e,o){console.error("[lunora-studio] panel error",e,o.componentStack)}reset=s(()=>{this.setState({error:null})},"reset");render(){let{children:e,fallbackTitle:o,label:r,retryLabel:n}=this.props,{error:i}=this.state;if(i===null)return(0,Te.jsx)(Te.Fragment,{children:e});let l=o??(r===void 0?"Something went wrong":`${r} failed`);return(0,Te.jsxs)("div",{"data-testid":"dash-error-boundary",role:"alert",style:$s,children:[(0,Te.jsx)("strong",{children:l}),(0,Te.jsx)("pre",{"data-testid":"dash-error-message",style:Gs,children:i.message}),(0,Te.jsx)("button",{"data-testid":"dash-error-retry",onClick:this.reset,type:"button",children:n??"Try again"})]})}};var De={};vr(De,{Arrow:()=>pa,Backdrop:()=>ma,Close:()=>xa,Description:()=>va,Handle:()=>go,Popup:()=>ca,Portal:()=>na,Positioner:()=>aa,Root:()=>ea,Title:()=>ga,Trigger:()=>ta,Viewport:()=>Pa,createHandle:()=>Ca});var uo=T(A(),1);var $o=T(A(),1);var Nr=$o.createContext(void 0);function Y(t){let e=$o.useContext(Nr);if(e===void 0&&!t)throw new Error(Q(47));return e}s(Y,"usePopoverRootContext");var Go=T(A(),1),$n=T($r(),1);var Gn={...Yt,disabled:s(t=>t.disabled,"disabled"),instantType:s(t=>t.instantType,"instantType"),openMethod:s(t=>t.openMethod,"openMethod"),openChangeReason:s(t=>t.openChangeReason,"openChangeReason"),modal:s(t=>t.modal,"modal"),focusManagerModal:s(t=>t.focusManagerModal,"focusManagerModal"),stickIfOpen:s(t=>t.stickIfOpen,"stickIfOpen"),titleElementId:s(t=>t.titleElementId,"titleElementId"),descriptionElementId:s(t=>t.descriptionElementId,"descriptionElementId"),openOnHover:s(t=>t.openOnHover,"openOnHover"),closeDelay:s(t=>t.closeDelay,"closeDelay"),adaptiveOrigin:s(t=>t.adaptiveOrigin,"adaptiveOrigin")},Qo=class extends zt{static{s(this,"PopoverStore")}constructor(e,o,r){let n=new Re;super(Yn(e,n,o,r),Jn(n),Gn)}setOpen=s((e,o)=>{let r=o.reason===K.triggerHover,n=o.reason===K.triggerPress&&o.event.detail===0,i=!e&&(o.reason===K.escapeKey||o.reason==null),l=On(o),c=this.select("activeTriggerId");if(!e&&o.reason===K.closePress&&o.trigger==null&&c!=null&&(o.trigger=this.context.triggerElements.getById(c)??this.select("activeTriggerElement")??void 0),this.context.onOpenChange?.(e,o),o.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,o);let p=s(()=>{let u=Do(this.state,e,o.trigger,l());u.openChangeReason=o.reason,this.update(u)},"changeState");r?(this.set("stickIfOpen",!0),this.context.stickIfOpenTimeout.start(500,()=>{this.set("stickIfOpen",!1)}),$n.flushSync(p)):p();let d;n?d="click":i?d="dismiss":o.reason===K.focusOut&&(d="focus"),this.set("instantType",d)},"setOpen")};function Qn(){let t=new Re,e=new Xt(Object.freeze(Yn(void 0,t)),Object.freeze(Jn(t)),Gn);return Object.assign(e,{setOpen:io})}s(Qn,"createNullPopoverStore");function Yn(t,e,o,r=!1){let n={...Qt(e,o,r),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,openOnHover:!1,closeDelay:0,adaptiveOrigin:void 0,...t};return n.open&&t?.mounted===void 0&&(n.mounted=!0),n}s(Yn,"createInitialState");function Jn(t){return{popupRef:Go.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:Go.createRef(),beforeContentFocusGuardRef:Go.createRef(),stickIfOpenTimeout:new bn,triggerElements:t}}s(Jn,"createInitialContext");var ke=T(se(),1);var Xn=Ht(s(function({props:e}){let{children:o,open:r,defaultOpen:n=!1,onOpenChange:i,onOpenChangeComplete:l,modal:c=!1,handle:p,triggerId:d,defaultTriggerId:u=null}=e,f=Qs(p,{modal:c,open:n,openProp:r,activeTriggerId:u,triggerIdProp:d});f.useControlledProp("openProp",r),f.useControlledProp("triggerIdProp",d);let h=f.useState("open"),g=f.useState("mounted"),m=f.useState("payload");f.useContextCallback("onOpenChange",i),f.useContextCallback("onOpenChangeComplete",l),Mo(f,h),qt(f);let{forceUnmount:x}=$t(h,f,()=>{f.update({stickIfOpen:!0,openChangeReason:null})});f.useSyncedValues({modal:c}),uo.useEffect(()=>{h||f.context.stickIfOpenTimeout.clear()},[f,h]),uo.useImperativeHandle(e.actionsRef,()=>({unmount:x,close:s(()=>f.setOpen(!1,re(K.imperativeAction)),"close")}),[x,f]);let v=h||g;return(0,ke.jsxs)(Nr.Provider,{value:f,children:[p&&(0,ke.jsx)(Zt,{handle:p,store:f}),v&&(0,ke.jsx)(Ys,{store:f,modal:c}),typeof o=="function"?o({payload:m}):o]})},"PopoverRootComponent"));function ea(t){return Y(!0)?(0,ke.jsx)(Xn,{props:t}):(0,ke.jsx)(En,{children:(0,ke.jsx)(Xn,{props:t})})}s(ea,"PopoverRoot");function Qs(t,e){let o=Ut((r,n)=>new Qo(e,r,n));return uo.useEffect(()=>o.context.stickIfOpenTimeout.disposeEffect(),[o]),o}s(Qs,"usePopoverRootStore");function Ys({store:t,modal:e}){let o=t.useState("floatingRootContext"),r=Ft(o,{outsidePressEvent:{mouse:e==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}}),n=r.reference,i=r.floating;return Gt(t,{activeTriggerProps:n,inactiveTriggerProps:n,popupProps:i}),null}s(Ys,"PopoverInteractions");var mo=T(A(),1);var to=T(se(),1);var ta=Bt(s(function(e,o){let{render:r,className:n,style:i,disabled:l=!1,nativeButton:c=!0,handle:p,payload:d,openOnHover:u=!1,delay:f=300,closeDelay:h=0,id:g,...m}=e,x=Y(!0),b=Jt(p)??x;if(!b)throw new Error(Q(74));let P=me(g),y=b.useState("isTriggerActive",P),S=b.useState("floatingRootContext"),C=b.useState("isOpenedByTrigger",P),w=b.useState("triggerPopupId",P),R=mo.useRef(null),{registerTrigger:N,isMountedByThisTrigger:E}=Wt(P,R,b,{payload:d,disabled:l,openOnHover:u,closeDelay:h}),k=b.useState("openChangeReason"),M=b.useState("stickIfOpen"),L=b.useState("openMethod"),_=b.useState("focusManagerModal"),j=_o(S,{enabled:!l&&u&&(L!=="touch"||k!==K.triggerPress),mouseOnly:!0,move:!1,handleClose:Ao(),restMs:f,delay:{close:h},triggerElementRef:R,isActiveTrigger:y,isClosing:s(()=>b.select("transitionStatus")==="ending","isClosing")}),z=ko(S,{stickIfOpen:M}),H=Vo(()=>b.select("open"),$=>{b.set("openMethod",$)}),F=b.useState("triggerProps",E),{getButtonProps:Z,buttonRef:D}=Ee({disabled:l,native:c}),V={open($){return $&&k===K.triggerPress?gn.open($):At.open($)}},{preFocusGuardRef:q,handlePreFocusGuardFocus:G,handleFocusTargetFocus:ee}=_n(b,R),te=B("button",e,{state:{disabled:l,open:C},ref:[D,o,N,R],props:[z.reference,j,F,H,{[To]:"",id:P,"aria-haspopup":"dialog","aria-expanded":C,"aria-controls":w},m,Z],stateAttributesMapping:V}),X=(0,to.jsx)(mo.Fragment,{children:te},P);return E&&!_?(0,to.jsxs)(mo.Fragment,{children:[(0,to.jsx)(Sr,{ref:q,onFocus:G}),X,(0,to.jsx)(Sr,{ref:b.context.triggerFocusTargetRef,onFocus:ee})]}):X},"PopoverTrigger"));var ra=T(A(),1);var Yo=T(A(),1);var wr=Yo.createContext(void 0);function oa(){let t=Yo.useContext(wr);if(t===void 0)throw new Error(Q(45));return t}s(oa,"usePopoverPortalContext");var Er=T(se(),1);var na=ra.forwardRef(s(function(e,o){let{keepMounted:r=!1,...n}=e;return Y().useState("mounted")||r?(0,Er.jsx)(wr.Provider,{value:r,children:(0,Er.jsx)(wo,{ref:o,...n})}):null},"PopoverPortal"));var Xo=T(A(),1);var Jo=T(A(),1);var kr=Jo.createContext(void 0);function oo(){let t=Jo.useContext(kr);if(!t)throw new Error(Q(46));return t}s(oo,"usePopoverPositionerContext");var fo=T(se(),1);var aa=Xo.forwardRef(s(function(e,o){let{render:r,className:n,style:i,anchor:l,positionMethod:c,side:p,align:d,sideOffset:u,alignOffset:f,collisionBoundary:h="clipping-ancestors",collisionPadding:g,arrowPadding:m,sticky:x,disableAnchorTracking:v=!1,collisionAvoidance:b=No,...P}=e,y=Y(),S=oa(),C=Nn(),w=y.useState("floatingRootContext"),R=y.useState("mounted"),N=y.useState("open"),E=y.useState("openChangeReason"),k=y.useState("activeTriggerElement"),M=y.useState("modal"),L=y.useState("openMethod"),_=y.useState("positionerElement"),j=y.useState("instantType"),z=y.useState("transitionStatus"),H=y.useState("adaptiveOrigin"),F=Xo.useRef(null),Z=yn(_),D=Ho({anchor:l,floatingRootContext:w,positionMethod:c,mounted:R,side:p,sideOffset:u,align:d,alignOffset:f,arrowPadding:m,collisionBoundary:h,collisionPadding:g,sticky:x,disableAnchorTracking:v,keepMounted:S,nodeId:C,collisionAvoidance:b,adaptiveOrigin:H}),V=w.useState("domReferenceElement");ye(()=>{let te=V,X=F.current;if(te&&(F.current=te),X&&te&&te!==X){y.set("instantType",void 0);let $=new AbortController;return Z(()=>{y.set("instantType","trigger-change")},$.signal),()=>{$.abort()}}},[V,Z,y]);let q=M===!0&&E!==K.triggerHover;Vn(N&&q,L==="touch",_,k);let G=y.useStateSetter("positionerElement"),ee={open:N,side:D.side,align:D.align,anchorHidden:D.anchorHidden,instant:j},ae=jo(e,ee,{styles:D.positionerStyles,transitionStatus:z,props:P,refs:[o,G],hidden:!R,inert:!N});return(0,fo.jsxs)(kr.Provider,{value:D,children:[R&&q&&(0,fo.jsx)(Bo,{inert:Lo(!N),cutout:k}),(0,fo.jsx)(wn,{id:C,children:ae})]})},"PopoverPositioner"));var la=T(A(),1);var Oe=T(A(),1);var Or=Oe.createContext(void 0);function sa(){let[t,e]=Oe.useState(0),o=pn(()=>(e(n=>n+1),()=>{e(n=>Math.max(0,n-1))}));return{context:Oe.useMemo(()=>({register:o}),[o]),hasClosePart:t>0}}s(sa,"useClosePartCount");function ia(){let t=Oe.useContext(Or);ye(()=>t?.register(),[t])}s(ia,"useClosePartRegistration");var Dr=T(se(),1);var ca=la.forwardRef(s(function(e,o){let{render:r,className:n,style:i,initialFocus:l,finalFocus:c,...p}=e,d=Y(),u=oo(),f=Ln(!0)!=null,{context:h,hasClosePart:g}=sa(),m=d.useState("open"),x=d.useState("openMethod"),v=d.useState("instantType"),b=d.useState("transitionStatus"),P=d.useState("popupProps"),y=d.useState("titleElementId"),S=d.useState("descriptionElementId"),C=d.useState("modal"),w=d.useState("mounted"),R=d.useState("openChangeReason"),N=d.useState("activeTriggerElement"),E=d.useState("floatingRootContext"),k=E.useState("floatingId"),M=d.useState("disabled"),L=d.useState("openOnHover"),_=d.useState("closeDelay");Lt({open:m,ref:d.context.popupRef,onComplete(){m&&d.context.onOpenChangeComplete?.(!0)}}),Io(E,{enabled:L&&!M,closeDelay:_});let j=l===void 0?Oo(d.context.popupRef):l,z=C!==!1&&g;d.useSyncedValue("focusManagerModal",z);let H=d.useStateSetter("popupElement"),F={open:m,side:u.side,align:u.align,instant:v,transitionStatus:b},Z=B("div",e,{state:F,ref:[o,d.context.popupRef,H],props:[P,{id:k,role:"dialog",...Kt,"aria-labelledby":y,"aria-describedby":S,onKeyDown(D){f&&zo.has(D.key)&&D.stopPropagation()}},Fo(b),p],stateAttributesMapping:we});return(0,Dr.jsx)(Eo,{context:E,openInteractionType:x,modal:z,disabled:!w||R===K.triggerHover,initialFocus:j,returnFocus:c,restoreFocus:"popup",previousFocusableElement:un(N)?N:void 0,nextFocusableElement:d.context.triggerFocusTargetRef,beforeContentFocusGuardRef:d.context.beforeContentFocusGuardRef,children:(0,Dr.jsx)(Or.Provider,{value:h,children:Z})})},"PopoverPopup"));var da=T(A(),1);var pa=da.forwardRef(s(function(e,o){let{render:r,className:n,style:i,...l}=e,p=Y().useState("open"),{arrowRef:d,side:u,align:f,arrowUncentered:h,arrowStyles:g}=oo();return B("div",e,{state:{open:p,side:u,align:f,uncentered:h},ref:[o,d],props:[{style:g,"aria-hidden":!0},l],stateAttributesMapping:Vt})},"PopoverArrow"));var ua=T(A(),1);var ma=ua.forwardRef(s(function(e,o){let{render:r,className:n,style:i,...l}=e,c=Y(),p=c.useState("open"),d=c.useState("mounted"),u=c.useState("transitionStatus"),f=c.useState("openChangeReason");return B("div",e,{state:{open:p,transitionStatus:u},ref:o,props:[{role:"presentation",hidden:!d,style:{pointerEvents:f===K.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},l],stateAttributesMapping:we})},"PopoverBackdrop"));var fa=T(A(),1);var ga=fa.forwardRef(s(function(e,o){let{render:r,className:n,style:i,...l}=e,c=Y(),p=me(l.id);return c.useSyncedValueWithCleanup("titleElementId",p),B("h2",e,{ref:o,props:[{id:p},l]})},"PopoverTitle"));var ha=T(A(),1);var va=ha.forwardRef(s(function(e,o){let{render:r,className:n,style:i,...l}=e,c=Y(),p=me(l.id);return c.useSyncedValueWithCleanup("descriptionElementId",p),B("p",e,{ref:o,props:[{id:p},l]})},"PopoverDescription"));var ba=T(A(),1);var xa=ba.forwardRef(s(function(e,o){let{render:r,className:n,style:i,disabled:l=!1,nativeButton:c=!0,...p}=e,{buttonRef:d,getButtonProps:u}=Ee({disabled:l,focusableWhenDisabled:!1,native:c}),f=Y();return ia(),B("button",e,{ref:[o,d],props:[{onClick(g){f.setOpen(!1,re(K.closePress,g.nativeEvent))}},p,u]})},"PopoverClose"));var ya=T(A(),1);var Pa=ya.forwardRef(s(function(e,o){let{render:r,className:n,style:i,children:l,...c}=e,p=Y(),{side:d}=oo(),u=p.useState("instantType"),{children:f,state:h}=Uo({store:p,side:d,children:l}),g={activationDirection:h.activationDirection,transitioning:h.transitioning,instant:u};return B("div",e,{state:g,ref:o,props:[c,{children:f}],stateAttributesMapping:Ko})},"PopoverViewport"));var go=class extends jt{static{s(this,"PopoverHandle")}constructor(){super(Qn(),"Popover")}open(e){this.openByTrigger(e)}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}};function Ca(){return new go}s(Ca,"createPopoverHandle");var le={};vr(le,{Backdrop:()=>Ra,Close:()=>Na,Description:()=>Ea,Handle:()=>bo,Popup:()=>Ia,Portal:()=>Aa,Root:()=>Ka,Title:()=>qa,Trigger:()=>Ga,Viewport:()=>Za,createHandle:()=>Qa});var Sa=T(A(),1);var er=T(A(),1);var Mr=er.createContext(void 0);function ne(t){let e=er.useContext(Mr);if(!t&&e===void 0)throw new Error(Q(27));return e}s(ne,"useDialogRootContext");var Ra=Sa.forwardRef(s(function(e,o){let{render:r,className:n,style:i,forceRender:l=!1,...c}=e,p=ne(),d=p.useState("open"),u=p.useState("nested"),f=p.useState("mounted"),h=p.useState("transitionStatus");return B("div",e,{state:{open:d,transitionStatus:h},ref:[p.context.backdropRef,o],stateAttributesMapping:we,props:[{role:"presentation",hidden:!f,style:{userSelect:"none",WebkitUserSelect:"none"}},c],enabled:l||!u})},"DialogBackdrop"));var Ta=T(A(),1);var Na=Ta.forwardRef(s(function(e,o){let{render:r,className:n,style:i,disabled:l=!1,nativeButton:c=!0,...p}=e,d=ne(),u=d.useState("open"),{getButtonProps:f,buttonRef:h}=Ee({disabled:l,native:c}),g={disabled:l};function m(x){u&&d.setOpen(!1,re(K.closePress,x.nativeEvent))}return s(m,"handleClick"),B("button",e,{state:g,ref:[o,h],props:[{onClick:m},p,f]})},"DialogClose"));var wa=T(A(),1);var Ea=wa.forwardRef(s(function(e,o){let{render:r,className:n,style:i,id:l,...c}=e,p=ne(),d=me(l);return p.useSyncedValueWithCleanup("descriptionElementId",d),B("p",e,{ref:o,props:[{id:d},c]})},"DialogDescription"));var Da=T(A(),1);var tr=T(A(),1);var Ir=tr.createContext(void 0);function or(){let t=tr.useContext(Ir);if(t===void 0)throw new Error(Q(26));return t}s(or,"useDialogPortalContext");var ka="--nested-dialogs";var Nu=co.open,wu=co.closed,Eu=co.startingStyle,ku=co.endingStyle;var Oa="data-nested-dialog-open";var rr={...Vt,...fn,nestedDialogOpen(t){return t?{[Oa]:""}:null}};var Ma=T(se(),1);var Ia=Da.forwardRef(s(function(e,o){let{render:r,className:n,style:i,finalFocus:l,initialFocus:c,...p}=e,d=ne(),u=d.useState("descriptionElementId"),f=d.useState("disablePointerDismissal"),h=d.useState("floatingRootContext"),g=d.useState("popupProps"),m=d.useState("modal"),x=d.useState("mounted"),v=d.useState("nested"),b=d.useState("nestedOpenDialogCount"),P=d.useState("open"),y=d.useState("openMethod"),S=d.useState("titleElementId"),C=d.useState("transitionStatus"),w=d.useState("role"),R=h.useState("floatingId");or(),Lt({open:P,ref:d.context.popupRef,onComplete(){P&&d.context.onOpenChangeComplete?.(!0)}});let N=c===void 0?Oo(d.context.popupRef):c,E=b>0,k=d.useStateSetter("popupElement"),L=B("div",e,{state:{open:P,nested:v,transitionStatus:C,nestedDialogOpen:E},props:[g,{id:R,"aria-labelledby":S,"aria-describedby":u,role:w,...Kt,hidden:!x,onKeyDown(_){zo.has(_.key)&&_.stopPropagation()},style:{[ka]:b}},p],ref:[o,d.context.popupRef,k],stateAttributesMapping:rr});return(0,Ma.jsx)(Eo,{context:h,openInteractionType:y,disabled:!x,closeOnFocusOut:!f,initialFocus:N,returnFocus:l,modal:m!==!1,restoreFocus:"popup",children:L})},"DialogPopup"));var _a=T(A(),1);var ho=T(se(),1);var Aa=_a.forwardRef(s(function(e,o){let{keepMounted:r=!1,...n}=e,i=ne(),l=i.useState("mounted"),c=i.useState("modal"),p=i.useState("open");return l||r?(0,ho.jsx)(Ir.Provider,{value:r,children:(0,ho.jsxs)(wo,{ref:o,...n,children:[l&&c===!0&&(0,ho.jsx)(Bo,{ref:i.context.internalBackdropRef,inert:Lo(!p)}),e.children]})}):null},"DialogPortal"));var ja=T(A(),1);var _r=T(A(),1);function Va({store:t,parentContext:e,isDrawer:o}){let r=t.useState("open"),n=t.useState("disablePointerDismissal"),i=t.useState("modal"),l=t.useState("popupElement"),c=t.useState("floatingRootContext"),[p,d]=_r.useState(0),[u,f]=_r.useState(0),h=p===0,g=Ft(c,{outsidePressEvent(){return t.context.internalBackdropRef.current||t.context.backdropRef.current?"intentional":{mouse:i==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}},outsidePress(m){if(!t.context.outsidePressEnabledRef.current||"button"in m&&m.button!==0)return!1;if("touches"in m){if(m.type==="touchend"){if(m.changedTouches.length!==1||m.touches.length!==0)return!1}else if(m.touches.length!==1)return!1}let x=mn(m);if(h&&!n){if(i){let v=t.context.internalBackdropRef.current,b=t.context.backdropRef.current;return v||b?v===x||b===x||lo(x,l)&&!x?.hasAttribute("data-base-ui-portal"):!0}return!0}return!1},escapeKey:h});return An(r&&i===!0,l),t.useContextCallback("onNestedDialogOpen",(m,x)=>{d(m),f(x)}),ye(()=>(e?.onNestedDialogOpen&&(r?e.onNestedDialogOpen(p+1,u+(o?1:0)):e.onNestedDialogOpen(0,0)),()=>{e?.onNestedDialogOpen&&r&&e.onNestedDialogOpen(0,0)}),[o,r,p,u,e]),Gt(t,{activeTriggerProps:g.reference,inactiveTriggerProps:g.trigger,popupProps:g.floating,nestedOpenDialogCount:p,nestedOpenDrawerCount:u}),null}s(Va,"DialogInteractions");var nr=T(A(),1);var La={...Yt,modal:s(t=>t.modal,"modal"),nested:s(t=>t.nested,"nested"),nestedOpenDialogCount:s(t=>t.nestedOpenDialogCount,"nestedOpenDialogCount"),nestedOpenDrawerCount:s(t=>t.nestedOpenDrawerCount,"nestedOpenDrawerCount"),disablePointerDismissal:s(t=>t.disablePointerDismissal,"disablePointerDismissal"),openMethod:s(t=>t.openMethod,"openMethod"),descriptionElementId:s(t=>t.descriptionElementId,"descriptionElementId"),titleElementId:s(t=>t.titleElementId,"titleElementId"),viewportElement:s(t=>t.viewportElement,"viewportElement"),role:s(t=>t.role,"role")},ar=class extends zt{static{s(this,"DialogStore")}constructor(e,o,r){let n=new Re,i=Ba(e,n,o,r);super(i,Fa(n),La)}setOpen=s((e,o)=>{o.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},!e&&o.trigger==null&&this.state.activeTriggerId!=null&&(o.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,o),!o.isCanceled&&(this.state.floatingRootContext.dispatchOpenChange(e,o),this.update(Do(this.state,e,o.trigger)))},"setOpen")};function Ha(){let t=new Re;return new Xt(Object.freeze(Ba(void 0,t)),Object.freeze(Fa(t)),La)}s(Ha,"createNullDialogStore");function Ba(t,e,o,r=!1){return{...Qt(e,o,r),modal:!0,disablePointerDismissal:!1,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:"dialog",...t}}s(Ba,"createInitialState");function Fa(t){return{popupRef:nr.createRef(),backdropRef:nr.createRef(),internalBackdropRef:nr.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:t,onOpenChange:void 0,onOpenChangeComplete:void 0}}s(Fa,"createInitialContext");var vo=T(se(),1);function za(t,e){let{children:o,open:r,defaultOpen:n=!1,onOpenChange:i,onOpenChangeComplete:l,disablePointerDismissal:c=!1,modal:p=!0,actionsRef:d,handle:u,triggerId:f,defaultTriggerId:h=null}=e,g=t==="drawer",m=t==="alert-dialog",x=m?!0:p,v=m||c,b=m?"alertdialog":"dialog",P=ne(!0),y=P!=null,S={modal:x,disablePointerDismissal:v,nested:y,role:b},C=Ut((M,L)=>new ar({open:n,openProp:r,activeTriggerId:h,triggerIdProp:f,...S},M,L),!0);C.useControlledProp("openProp",r),C.useControlledProp("triggerIdProp",f),C.useSyncedValues(S),C.useContextCallback("onOpenChange",i),C.useContextCallback("onOpenChangeComplete",l);let w=C.useState("open"),R=C.useState("mounted"),N=C.useState("payload");Mo(C,w),qt(C);let{forceUnmount:E}=$t(w,C);ja.useImperativeHandle(d,()=>({unmount:E,close:s(()=>C.setOpen(!1,re(K.imperativeAction)),"close")}),[E,C]);let k=w||R;return(0,vo.jsxs)(Mr.Provider,{value:C,children:[u&&(0,vo.jsx)(Zt,{handle:u,store:C}),k&&(0,vo.jsx)(Va,{store:C,parentContext:P?.context,isDrawer:g}),typeof o=="function"?o({payload:N}):o]})}s(za,"useRenderDialogRoot");var Ka=Ht(s(function(e){return za("dialog",e)},"DialogRoot"));var Ua=T(A(),1);var Za=Ua.forwardRef(s(function(e,o){let{render:r,className:n,style:i,children:l,...c}=e,p=or(),d=ne(),u=d.useState("open"),f=d.useState("nested"),h=d.useState("transitionStatus"),g=d.useState("nestedOpenDialogCount"),m=d.useState("mounted"),x=d.useStateSetter("viewportElement"),v=g>0;return B("div",e,{enabled:p||m,state:{open:u,nested:f,transitionStatus:h,nestedDialogOpen:v},ref:[o,x],stateAttributesMapping:rr,props:[{role:"presentation",hidden:!m,style:{pointerEvents:u?void 0:"none"},children:l},c]})},"DialogViewport"));var Wa=T(A(),1);var qa=Wa.forwardRef(s(function(e,o){let{render:r,className:n,style:i,id:l,...c}=e,p=ne(),d=me(l);return p.useSyncedValueWithCleanup("titleElementId",d),B("h2",e,{ref:o,props:[{id:d},c]})},"DialogTitle"));var $a=T(A(),1);var Ga=Bt(s(function(e,o){let{render:r,className:n,style:i,disabled:l=!1,nativeButton:c=!0,id:p,payload:d,handle:u,...f}=e,h=ne(!0),m=Jt(u)??h;if(!m)throw new Error(Q(79));let x=me(p),v=m.useState("floatingRootContext"),b=m.useState("isOpenedByTrigger",x),P=m.useState("triggerPopupId",x),y=$a.useRef(null),{registerTrigger:S,isMountedByThisTrigger:C}=Wt(x,y,m,{payload:d}),{getButtonProps:w,buttonRef:R}=Ee({disabled:l,native:c}),N=ko(v),E=Vo(()=>m.select("open"),L=>{m.set("openMethod",L)}),k={disabled:l,open:b},M=m.useState("triggerProps",C);return B("button",e,{state:k,ref:[R,o,S,y],props:[N.reference,M,E,{[To]:"",id:x,"aria-haspopup":"dialog","aria-expanded":b,"aria-controls":P},f,w],stateAttributesMapping:At})},"DialogTrigger"));var bo=class extends jt{static{s(this,"DialogHandle")}constructor(){super(Ha(),"Dialog",!1)}open(e){this.openByTrigger(e)}openWithPayload(e){let o=this.attachedStore;o!==null&&(o.set("payload",e),o.setOpen(!0,re(K.imperativeAction)))}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}};function Qa(){return new bo}s(Qa,"createDialogHandle");var Pe={};vr(Pe,{Arrow:()=>bs,Handle:()=>yo,Popup:()=>hs,Portal:()=>us,Positioner:()=>fs,Provider:()=>ys,Root:()=>os,Trigger:()=>ss,Viewport:()=>Cs,createHandle:()=>Ss});var ro=T(A(),1);var sr=T(A(),1);var Ar=sr.createContext(void 0);function ve(t){let e=sr.useContext(Ar);if(e===void 0&&!t)throw new Error(Q(72));return e}s(ve,"useTooltipRootContext");var Ya=T(A(),1);var Ja={...Yt,disabled:s(t=>t.disabled,"disabled"),instantType:s(t=>t.instantType,"instantType"),isInstantPhase:s(t=>t.isInstantPhase,"isInstantPhase"),trackCursorAxis:s(t=>t.trackCursorAxis,"trackCursorAxis"),disableHoverablePopup:s(t=>t.disableHoverablePopup,"disableHoverablePopup"),lastOpenChangeReason:s(t=>t.openChangeReason,"lastOpenChangeReason"),closeOnClick:s(t=>t.closeOnClick,"closeOnClick"),closeDelay:s(t=>t.closeDelay,"closeDelay"),adaptiveOrigin:s(t=>t.adaptiveOrigin,"adaptiveOrigin")},ir=class extends zt{static{s(this,"TooltipStore")}constructor(e,o,r){let n=new Re;super(es(e,n,o,r),ts(n),Ja)}setOpen=s((e,o)=>{Dn(this,e,o,{extraState:{openChangeReason:o.reason}})},"setOpen");cancelPendingOpen(e){this.state.floatingRootContext.dispatchOpenChange(!1,re(K.triggerPress,e))}};function Xa(){let t=new Re,e=new Xt(Object.freeze(es(void 0,t)),Object.freeze(ts(t)),Ja);return Object.assign(e,{setOpen:io,cancelPendingOpen:io})}s(Xa,"createNullTooltipStore");function es(t,e,o,r=!1){return{...Qt(e,o,r),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:"none",disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,adaptiveOrigin:void 0,...t}}s(es,"createInitialState");function ts(t){return{popupRef:Ya.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:t}}s(ts,"createInitialContext");var xo=T(se(),1);var os=Ht(s(function(e){let{disabled:o=!1,defaultOpen:r=!1,open:n,disableHoverablePopup:i=!1,trackCursorAxis:l="none",actionsRef:c,onOpenChange:p,onOpenChangeComplete:d,handle:u,triggerId:f,defaultTriggerId:h=null,children:g}=e,m=Ut((M,L)=>new ir({open:r,openProp:n,activeTriggerId:h,triggerIdProp:f},M,L));m.useControlledProp("openProp",n),m.useControlledProp("triggerIdProp",f),m.useContextCallback("onOpenChange",p),m.useContextCallback("onOpenChangeComplete",d);let x=m.useState("open"),v=!o&&x,b=m.useState("activeTriggerId"),P=m.useState("mounted"),y=m.useState("payload");m.useSyncedValues({trackCursorAxis:l,disableHoverablePopup:i,disabled:o}),qt(m,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:S,transitionStatus:C}=$t(v,m),w=m.useState("isInstantPhase"),R=m.useState("instantType"),N=m.useState("lastOpenChangeReason"),E=ro.useRef(null);ye(()=>{x&&o&&m.setOpen(!1,re(K.disabled))},[x,o,m]),ye(()=>{C==="ending"&&N===K.none||C!=="ending"&&w?(R!=="delay"&&(E.current=R),m.set("instantType","delay")):E.current!==null&&(m.set("instantType",E.current),E.current=null)},[C,w,N,R,m]),ye(()=>{v&&b==null&&m.set("payload",void 0)},[m,b,v]),ro.useImperativeHandle(c,()=>({unmount:S,close:s(()=>m.setOpen(!1,re(K.imperativeAction)),"close")}),[S,m]);let k=v||P||!o&&l!=="none";return(0,xo.jsxs)(Ar.Provider,{value:m,children:[u&&(0,xo.jsx)(Zt,{handle:u,store:m}),k&&(0,xo.jsx)(ei,{store:m,disabled:o,trackCursorAxis:l}),typeof g=="function"?g({payload:y}):g]})},"TooltipRoot"));function ei({store:t,disabled:e,trackCursorAxis:o}){let r=t.useState("floatingRootContext"),n=Ft(r,{enabled:!e,referencePress:s(()=>t.select("closeOnClick"),"referencePress")}),i=kn(r,{enabled:!e&&o!=="none",axis:o==="none"?void 0:o}),l=ro.useMemo(()=>so(i.reference,n.reference),[i.reference,n.reference]);return Gt(t,{activeTriggerProps:l,inactiveTriggerProps:l,popupProps:n.floating??cn}),null}s(ei,"TooltipInteractions");var cr=T(A(),1);var lr=T(A(),1);var Vr=lr.createContext(void 0);function rs(){return lr.useContext(Vr)}s(rs,"useTooltipProviderContext");var as="data-base-ui-tooltip-trigger";function ns(t){if("composedPath"in t){let o=t.composedPath();for(let r=0;r<o.length;r+=1){let n=o[r];if(Ro(n))return n}}let e=t.target;return Ro(e)?e:null}s(ns,"getTargetElement");function ti(t){let e=t;for(;e;){let o=e.closest(`[${as}]`);if(o)return o;let r=e.getRootNode();e="host"in r&&Ro(r.host)?r.host:null}return null}s(ti,"closestEnabledTooltipTrigger");var ss=Bt(s(function(e,o){let{render:r,className:n,style:i,handle:l,payload:c,disabled:p,delay:d,closeOnClick:u=!0,closeDelay:f,id:h,...g}=e,m=ve(!0),v=Jt(l)??m;if(!v)throw new Error(Q(82));let b=me(h),P=v.useState("isTriggerActive",b),y=v.useState("isOpenedByTrigger",b),S=v.useState("floatingRootContext"),C=cr.useRef(null),w=f??0,{registerTrigger:R,isMountedByThisTrigger:N}=Wt(b,C,v,{payload:c,closeOnClick:u,closeDelay:w}),E=rs(),{activeIdRef:k,delayRef:M,isInstantPhase:L,hasProvider:_}=Sn(S,{open:y}),j=In(S);v.useSyncedValue("isInstantPhase",L);let z=v.useState("disabled"),H=p??z,F=Rn(H),Z=v.useState("trackCursorAxis"),D=v.useState("disableHoverablePopup"),V=cr.useRef(!1),q=xn(),G=cr.useRef(void 0);function ee(){return _&&k.current!=null?0:d??E??600}s(ee,"getOpenDelay");function ae(W){let ie=C.current;if(!ie||!W)return!1;let he=ti(W);return he!==null&&he!==ie&&lo(ie,he)}s(ae,"isEnabledNestedTriggerTarget");function te(W){let ie=ae(W);return V.current=ie,ie&&(j.openChangeTimeout.clear(),j.restTimeout.clear(),j.restTimeoutPending=!1,q.clear()),ie}s(te,"detectNestedTriggerHover");let X=_o(S,{enabled:!H,mouseOnly:!0,move:!1,handleClose:!D&&Z!=="both"?Ao():null,restMs:ee,delay(){return f==null&&_?{close:Pn(M.current,"close")}:{close:w}},triggerElementRef:C,isActiveTrigger:P,isClosing:s(()=>v.select("transitionStatus")==="ending","isClosing"),shouldOpen(){return!V.current}}),$=Mn(S,{enabled:!H}).reference,ce=s(W=>{let ie=V.current,he=ns(W),Ie=te(he),be=C.current,Ne=be&&he&&lo(be,he);if(Ie&&v.select("open")&&v.select("lastOpenChangeReason")===K.triggerHover){v.setOpen(!1,re(K.triggerHover,W));return}if(ie&&!Ie&&Ne&&!F.current&&!v.select("open")&&be&&vn(G.current)){let Ce=s(()=>{!V.current&&!F.current&&!v.select("open")&&v.setOpen(!0,re(K.triggerHover,W,be))},"open"),Se=ee();Se===0?(q.clear(),Ce()):q.start(Se,Ce)}},"handleNestedTriggerHover"),de=v.useState("triggerProps",N);return B("button",e,{state:{open:y},ref:[o,R,C],props:[X,$,N||Z!=="none"?de:void 0,{onMouseOver(W){ce(W.nativeEvent)},onFocus(W){ae(ns(W.nativeEvent))&&W.preventBaseUIHandler()},onMouseLeave(){V.current=!1,q.clear(),G.current=void 0},onPointerEnter(W){G.current=W.pointerType},onPointerDown(W){G.current=W.pointerType,v.set("closeOnClick",u),u&&!v.select("open")&&v.cancelPendingOpen(W.nativeEvent)},onClick(W){u&&!v.select("open")&&v.cancelPendingOpen(W.nativeEvent)},id:b,[hn]:H?"":void 0,[as]:H?void 0:""},g],stateAttributesMapping:At})},"TooltipTrigger"));var ps=T(A(),1);var dr=T(A(),1);var Lr=dr.createContext(void 0);function is(){let t=dr.useContext(Lr);if(t===void 0)throw new Error(Q(70));return t}s(is,"useTooltipPortalContext");var pr=T(A(),1),ls=T($r(),1);var cs=T(se(),1);var ds=pr.forwardRef(s(function(e,o){let{children:r,container:n,className:i,render:l,style:c,...p}=e,{node:d,subtree:u}=Tn({container:n,ref:o,componentProps:e,elementProps:p});return!u&&!d?null:(0,cs.jsxs)(pr.Fragment,{children:[u,d&&ls.createPortal(r,d)]})},"FloatingPortalLite"));var Hr=T(se(),1);var us=ps.forwardRef(s(function(e,o){let{keepMounted:r=!1,...n}=e;return ve().useState("mounted")||r?(0,Hr.jsx)(Lr.Provider,{value:r,children:(0,Hr.jsx)(ds,{ref:o,...n})}):null},"TooltipPortal"));var mr=T(A(),1);var ur=T(A(),1);var Br=ur.createContext(void 0);function no(){let t=ur.useContext(Br);if(t===void 0)throw new Error(Q(71));return t}s(no,"useTooltipPositionerContext");var ms=T(se(),1);var fs=mr.forwardRef(s(function(e,o){let{render:r,className:n,anchor:i,positionMethod:l="absolute",side:c="top",align:p="center",sideOffset:d=0,alignOffset:u=0,collisionBoundary:f="clipping-ancestors",collisionPadding:h=5,arrowPadding:g=5,sticky:m=!1,disableAnchorTracking:x=!1,collisionAvoidance:v=No,style:b,...P}=e,y=ve(),S=is(),C=y.useState("open"),w=y.useState("mounted"),R=y.useState("trackCursorAxis"),N=y.useState("disableHoverablePopup"),E=y.useState("floatingRootContext"),k=y.useState("instantType"),M=y.useState("transitionStatus"),L=y.useState("adaptiveOrigin"),_=Ho({anchor:i,positionMethod:l,floatingRootContext:E,mounted:w,side:c,sideOffset:d,align:p,alignOffset:u,collisionBoundary:f,collisionPadding:h,sticky:m,arrowPadding:g,disableAnchorTracking:x,keepMounted:S,collisionAvoidance:v,adaptiveOrigin:L}),j=mr.useMemo(()=>({open:C,side:_.side,align:_.align,anchorHidden:_.anchorHidden,instant:R!=="none"?"tracking-cursor":k}),[C,_.side,_.align,_.anchorHidden,R,k]),z=jo(e,j,{styles:_.positionerStyles,transitionStatus:M,props:P,refs:[o,y.useStateSetter("positionerElement")],hidden:!w,inert:!C||R==="both"||N});return(0,ms.jsx)(Br.Provider,{value:_,children:z})},"TooltipPositioner"));var gs=T(A(),1);var hs=gs.forwardRef(s(function(e,o){let{render:r,className:n,style:i,...l}=e,c=ve(),{side:p,align:d}=no(),u=c.useState("open"),f=c.useState("instantType"),h=c.useState("transitionStatus"),g=c.useState("popupProps"),m=c.useState("floatingRootContext"),x=c.useState("disabled"),v=c.useState("closeDelay");Lt({open:u,ref:c.context.popupRef,onComplete(){u&&c.context.onOpenChangeComplete?.(!0)}}),Io(m,{enabled:!x,closeDelay:v});let b=c.useStateSetter("popupElement");return B("div",e,{state:{open:u,side:p,align:d,instant:f,transitionStatus:h},ref:[o,c.context.popupRef,b],props:[Kt,g,Fo(h),l],stateAttributesMapping:we})},"TooltipPopup"));var vs=T(A(),1);var bs=vs.forwardRef(s(function(e,o){let{render:r,className:n,style:i,...l}=e,c=ve(),{arrowRef:p,side:d,align:u,arrowUncentered:f,arrowStyles:h}=no(),g=c.useState("open"),m=c.useState("instantType");return B("div",e,{state:{open:g,side:d,align:u,uncentered:f,instant:m},ref:[o,p],props:[{style:h,"aria-hidden":!0},l],stateAttributesMapping:Vt})},"TooltipArrow"));var xs=T(A(),1);var Fr=T(se(),1);var ys=s(function(e){let{delay:o,closeDelay:r,timeout:n=400}=e,i=xs.useMemo(()=>({open:o,close:r}),[o,r]);return(0,Fr.jsx)(Vr.Provider,{value:o,children:(0,Fr.jsx)(Cn,{delay:i,timeoutMs:n,children:e.children})})},"TooltipProvider");var Ps=T(A(),1);var Cs=Ps.forwardRef(s(function(e,o){let{render:r,className:n,style:i,children:l,...c}=e,p=ve(),d=no(),u=p.useState("instantType"),{children:f,state:h}=Uo({store:p,side:d.side,children:l}),g={activationDirection:h.activationDirection,transitioning:h.transitioning,instant:u};return B("div",e,{state:g,ref:o,props:[c,{children:f}],stateAttributesMapping:Ko})},"TooltipViewport"));var yo=class extends jt{static{s(this,"TooltipHandle")}constructor(){super(Xa(),"Tooltip")}open(e){this.openByTrigger(e)}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}};function Ss(){return new yo}s(Ss,"createTooltipHandle");var Rs=T(xr(),1);var Ts=T(se(),1);var oi=s((t,e,o)=>t!==void 0?t:e===void 0&&o===void 0?sn:an(e,o),"I"),Ns=s(t=>{let e=(0,Rs.c)(7),{catalogs:o,children:r,i18n:n,locale:i}=t,l;e[0]!==o||e[1]!==n||e[2]!==i?(l=oi(n,i,o),e[0]=o,e[1]=n,e[2]=i,e[3]=l):l=e[3];let c=l,p;return e[4]!==r||e[5]!==c?(p=(0,Ts.jsx)(ln,{value:c,children:r}),e[4]=r,e[5]=c,e[6]=p):p=e[6],p},"S");var zr=T(xr(),1);var Me=T(A(),1);var oe=T(se(),1);var jr="lunora:command-palette",ws=s(()=>{"window"in globalThis&&globalThis.dispatchEvent(new Event(jr))},"ce"),ri=s(t=>{let e=(0,zr.c)(18),{active:o,index:r,item:n,onActivate:i,onSelect:l}=t,c;e[0]!==n||e[1]!==l?(c=s(()=>{l(n)},"g"),e[0]=n,e[1]=l,e[2]=c):c=e[2];let p=c,d;e[3]!==r||e[4]!==i?(d=s(()=>{i(r)},"x"),e[3]=r,e[4]=i,e[5]=d):d=e[5];let u=d,f=o?"bg-accent text-accent-foreground":"text-foreground",h;e[6]!==f?(h=U("flex w-full items-center justify-between gap-3 rounded-md px-3 py-2 text-start text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground",f),e[6]=f,e[7]=h):h=e[7];let g;e[8]!==n.label?(g=(0,oe.jsx)("span",{children:n.label}),e[8]=n.label,e[9]=g):g=e[9];let m;e[10]!==n.group?(m=(0,oe.jsx)("span",{className:"text-xs text-muted-foreground",children:n.group}),e[10]=n.group,e[11]=m):m=e[11];let x;return e[12]!==p||e[13]!==u||e[14]!==h||e[15]!==g||e[16]!==m?(x=(0,oe.jsx)("li",{children:(0,oe.jsxs)("button",{className:h,onClick:p,onMouseEnter:u,type:"button",children:[g,m]})}),e[12]=p,e[13]=u,e[14]=h,e[15]=g,e[16]=m,e[17]=x):x=e[17],x},"Y"),ni=s((t,e)=>{let o=e.trim().toLowerCase();return o===""?t:t.filter(r=>r.label.toLowerCase().includes(o)||r.group.toLowerCase().includes(o))},"Z"),Es=s(t=>{let e=(0,zr.c)(40),{items:o}=t,r=fe(),n=ao(),{palette:i}=Wo(),[l,c]=(0,Me.useState)(!1),[p,d]=(0,Me.useState)(""),[u,f]=(0,Me.useState)(0),h=(0,Me.useRef)(null),g,m;e[0]!==i?(g=s(()=>{let D=s(q=>{if(!(q.metaKey||q.ctrlKey)||q.key.toLowerCase()!==i)return;let{target:G}=q;G instanceof HTMLElement&&(G.isContentEditable||["INPUT","SELECT","TEXTAREA"].includes(G.tagName))||(q.preventDefault(),c(!0))},"t"),V=s(()=>{c(!0)},"l");return globalThis.addEventListener("keydown",D),globalThis.addEventListener(jr,V),()=>{globalThis.removeEventListener("keydown",D),globalThis.removeEventListener(jr,V)}},"s"),m=[i],e[0]=i,e[1]=g,e[2]=m):(g=e[1],m=e[2]),(0,Me.useEffect)(g,m);let x;e[3]!==o||e[4]!==p?(x=ni(o,p),e[3]=o,e[4]=p,e[5]=x):x=e[5];let v=x,b;e[6]===Symbol.for("react.memo_cache_sentinel")?(b=s(D=>{c(D),D||(d(""),f(0))},"I"),e[6]=b):b=e[6];let P=b,y;e[7]!==n?(y=s(D=>{if(P(!1),D.run!==void 0){D.run();return}D.to!==void 0&&eo(n({to:D.to}))},"K"),e[7]=n,e[8]=y):y=e[8];let S=y,C;e[9]===Symbol.for("react.memo_cache_sentinel")?(C=s(D=>{d(D.target.value),f(0)},"P"),e[9]=C):C=e[9];let w=C,R;e[10]!==u||e[11]!==v||e[12]!==S?(R=s(D=>{e:switch(D.key){case"ArrowDown":{D.preventDefault(),f(V=>v.length===0?0:(V+1)%v.length);break e}case"ArrowUp":{D.preventDefault(),f(V=>v.length===0?0:(V-1+v.length)%v.length);break e}case"Enter":{D.preventDefault();let V=v[u];V!==void 0&&S(V);break e}}},"z"),e[10]=u,e[11]=v,e[12]=S,e[13]=R):R=e[13];let N=R,E;e[14]===Symbol.for("react.memo_cache_sentinel")?(E=(0,oe.jsx)(le.Backdrop,{className:"fixed inset-0 z-50 bg-black/40 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0"}),e[14]=E):E=e[14];let k;e[15]!==r?(k=r("Command palette"),e[15]=r,e[16]=k):k=e[16];let M;e[17]!==k?(M=(0,oe.jsx)(le.Title,{className:"sr-only",children:k}),e[17]=k,e[18]=M):M=e[18];let L;e[19]===Symbol.for("react.memo_cache_sentinel")?(L=(0,oe.jsxs)("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeWidth:1.8,viewBox:"0 0 24 24",children:[(0,oe.jsx)("circle",{cx:"11",cy:"11",r:"7"}),(0,oe.jsx)("path",{d:"m21 21-4.3-4.3",strokeLinecap:"round"})]}),e[19]=L):L=e[19];let _;e[20]!==r?(_=r("Search\u2026"),e[20]=r,e[21]=_):_=e[21];let j;e[22]!==N||e[23]!==p||e[24]!==_?(j=(0,oe.jsxs)("div",{className:"flex items-center gap-2 border-b border-border px-3",children:[L,(0,oe.jsx)("input",{className:"h-11 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground","data-testid":"dash-command-input",onChange:w,onKeyDown:N,placeholder:_,ref:h,type:"text",value:p})]}),e[22]=N,e[23]=p,e[24]=_,e[25]=j):j=e[25];let z;e[26]!==u||e[27]!==v||e[28]!==S||e[29]!==r?(z=v.length===0?(0,oe.jsx)("li",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:r("No results.")}):v.map((D,V)=>(0,oe.jsx)(ri,{active:V===u,index:V,item:D,onActivate:f,onSelect:S},D.to??`${D.group}:${D.label}`)),e[26]=u,e[27]=v,e[28]=S,e[29]=r,e[30]=z):z=e[30];let H;e[31]!==z?(H=(0,oe.jsx)("ul",{className:"max-h-80 overflow-y-auto p-1.5","data-testid":"dash-command-list",children:z}),e[31]=z,e[32]=H):H=e[32];let F;e[33]!==M||e[34]!==j||e[35]!==H?(F=(0,oe.jsxs)(le.Portal,{children:[E,(0,oe.jsxs)(le.Popup,{className:"fixed start-1/2 top-24 z-50 w-[36rem] max-w-[90vw] -translate-x-1/2 overflow-hidden rounded-lg border border-border bg-popover text-popover-foreground shadow-lg outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95","data-testid":"dash-command-palette",initialFocus:h,children:[M,j,H]})]}),e[33]=M,e[34]=j,e[35]=H,e[36]=F):F=e[36];let Z;return e[37]!==l||e[38]!==F?(Z=(0,oe.jsx)(le.Root,{onOpenChange:P,open:l,children:F}),e[37]=l,e[38]=F,e[39]=Z):Z=e[39],Z},"de");var _s="(prefers-color-scheme: dark)",As=s(()=>{try{return globalThis.localStorage}catch{return}},"Gt"),ai=s(t=>t==="system"||t==="light"||t==="dark","Es"),Vs=s(()=>globalThis.matchMedia,"Kt"),Ls="lunora-studio-theme",Kr=["system","light","dark"],si=s((t="system")=>{try{let e=As()?.getItem(Ls);return ai(e)?e:t}catch{return t}},"$s"),ks=s(t=>{let e=As();if(e!==void 0)try{e.setItem(Ls,t)}catch{}},"Rt"),ii=s(()=>{try{return Vs()?.(_s).matches?"dark":"light"}catch{return"light"}},"Hs"),li=s((t,e)=>t==="system"?e:t,"Bs"),ci=s(t=>{let e;try{e=Vs()?.(_s)}catch{e=void 0}if(e===void 0)return()=>{};let o=s(r=>{t(r.matches?"dark":"light")},"s");return e.addEventListener("change",o),()=>{e.removeEventListener("change",o)}},"Vs"),Wr=(0,O.createContext)(null),di=s(({children:t,defaultTheme:e="system"})=>{let[o,r]=(0,O.useState)(()=>si(e)),[n,i]=(0,O.useState)(()=>ii());(0,O.useEffect)(()=>ci(i),[]);let l=s(p=>{ks(p),r(p)},"i"),c={cycleTheme:s(()=>{r(p=>{let d=Kr[(Kr.indexOf(p)+1)%Kr.length]??p;return ks(d),d})},"cycleTheme"),resolvedTheme:li(o,n),setTheme:l,systemTheme:n,theme:o};return(0,a.jsx)(Wr,{value:c,children:t})},"zs"),pi=s(t=>{let e=(0,I.c)(3),{children:o}=t,r=(0,O.use)(Wr),n;return e[0]!==o||e[1]!==r?(n=r===null?(0,a.jsx)(di,{children:o}):o,e[0]=o,e[1]=r,e[2]=n):n=e[2],n},"Ds"),ui=s(()=>{let t=(0,O.use)(Wr);if(t===null)throw new br("INTERNAL","useTheme must be used within a <ThemeProvider>");return t},"Os");function qg({delay:t=0,...e}){return(0,a.jsx)(Pe.Provider,{"data-slot":"tooltip-provider",delay:t,...e})}s(qg,"Rn");function mi(t){let e=(0,I.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let r;return e[2]!==o?(r=(0,a.jsx)(Pe.Root,{"data-slot":"tooltip",...o}),e[2]=o,e[3]=r):r=e[3],r}s(mi,"Zs");function fi(t){let e=(0,I.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let r;return e[2]!==o?(r=(0,a.jsx)(Pe.Trigger,{"data-slot":"tooltip-trigger",...o}),e[2]=o,e[3]=r):r=e[3],r}s(fi,"qs");function gi({className:t,side:e="top",sideOffset:o=4,align:r="center",alignOffset:n=0,children:i,...l}){return(0,a.jsx)(Pe.Portal,{children:(0,a.jsx)(Pe.Positioner,{align:r,alignOffset:n,side:e,sideOffset:o,className:"isolate z-50",children:(0,a.jsxs)(Pe.Popup,{"data-slot":"tooltip-content",className:U("z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pe-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-md data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",t),...l,children:[i,(0,a.jsx)(Pe.Arrow,{className:"z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-md bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-start-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-end-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5"})]})})})}s(gi,"Fs");var hi=s(t=>{let e=(0,I.c)(5),{className:o}=t,r;e[0]!==o?(r=U("h-full w-full text-foreground",o),e[0]=o,e[1]=r):r=e[1];let n;e[2]===Symbol.for("react.memo_cache_sentinel")?(n=(0,a.jsx)("path",{d:"M 259.500 10.552 C 220.080 15.859, 182.424 32.566, 152.500 58.025 C 110.179 94.031, 85.380 137.183, 77.518 188.500 C 75.410 202.255, 74.569 225.677, 75.796 236.466 C 76.757 244.917, 76.683 245.692, 74.518 249.966 C 63.118 272.466, 53.141 303.876, 51.382 322.799 L 50.718 329.943 71.960 320.471 C 83.643 315.262, 93.326 311, 93.478 311 C 93.630 311, 96.547 316.063, 99.959 322.250 C 103.371 328.438, 107.249 334.850, 108.577 336.500 L 110.990 339.500 110.981 336 C 110.977 334.075, 111.499 324.991, 112.143 315.813 L 113.312 299.127 121.406 293.336 C 132.495 285.403, 149.593 271.554, 161 261.268 C 171.556 251.748, 189.116 235, 188.540 235 C 188.337 235, 183.069 238.648, 176.835 243.106 C 142.318 267.789, 68.537 314, 63.646 314 C 61.843 314, 72.791 281.179, 80.905 262.259 C 92.233 235.845, 107.473 212.389, 132.106 183.453 L 138.451 176 148.268 176 C 176.192 176, 197.512 187.154, 212.868 209.797 C 216.470 215.108, 217.035 216.595, 216.477 219.297 C 211.386 243.968, 202.359 274.496, 193.797 296 C 183.898 320.861, 167.147 352.101, 152.395 373.215 L 147.004 380.930 152.891 385.830 C 161.400 392.911, 165.563 396, 166.594 395.998 C 167.092 395.998, 168.772 391.641, 170.327 386.317 C 176.279 365.934, 188.422 338.749, 200.942 317.778 C 223.060 280.731, 256.432 244.369, 294.500 215.836 C 309.956 204.252, 313.937 201.603, 314.719 202.385 C 315.116 202.783, 315.449 213.096, 315.460 225.304 C 315.474 241.855, 315.021 250.405, 313.680 258.924 C 307.009 301.272, 291.175 336.677, 263.112 372 C 255.259 381.883, 227.182 410.673, 218.516 417.727 L 213.532 421.783 223.439 424.880 C 281.705 443.093, 349.165 436.018, 398.616 406.508 C 446.728 377.797, 483.322 331.466, 497.366 281.481 C 503.381 260.075, 504.480 250.741, 504.491 221 C 504.501 191.997, 503.598 184.047, 497.987 163.732 C 484.768 115.871, 452.505 72.708, 407.718 42.964 C 381.051 25.254, 352.818 14.828, 319.695 10.460 C 305.932 8.645, 273.298 8.695, 259.500 10.552",fillRule:"evenodd"}),e[2]=n):n=e[2];let i;return e[3]!==r?(i=(0,a.jsx)("svg",{"aria-hidden":"true",className:r,fill:"currentColor",viewBox:"0 0 543 446",children:n}),e[3]=r,e[4]=i):i=e[4],i},"Ws"),Hs="lunora.studio.rulesBannerDismissed",vi=s(()=>{try{return globalThis.localStorage.getItem(Hs)==="1"}catch{return!1}},"Us"),bi=s(()=>{try{globalThis.localStorage.setItem(Hs,"1")}catch{}},"js"),xi=s(()=>{let t=(0,I.c)(18),e=fe(),[o,r]=(0,O.useState)(yi),n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=s(()=>{r(!0),bi()},"o"),t[0]=n):n=t[0];let i=n;if(o)return null;let l;t[1]===Symbol.for("react.memo_cache_sentinel")?(l=(0,a.jsx)("span",{"aria-hidden":"true",className:"text-warning",children:"\u26A0"}),t[1]=l):l=t[1];let c;t[2]!==e?(c=e("Lunora AI rules aren't installed."),t[2]=e,t[3]=c):c=t[3];let p;t[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px]",children:"lunora rules install"}),t[4]=p):p=t[4];let d;t[5]!==e?(d=e("lets your coding agent use Lunora correctly."),t[5]=e,t[6]=d):d=t[6];let u;t[7]!==c||t[8]!==d?(u=(0,a.jsxs)("span",{children:[c," ",p," ",d]}),t[7]=c,t[8]=d,t[9]=u):u=t[9];let f;t[10]!==e?(f=e("Dismiss"),t[10]=e,t[11]=f):f=t[11];let h;t[12]===Symbol.for("react.memo_cache_sentinel")?(h=(0,a.jsx)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M18 6 6 18M6 6l12 12"})}),t[12]=h):h=t[12];let g;t[13]!==f?(g=(0,a.jsx)("button",{"aria-label":f,className:"ms-auto flex size-5 items-center justify-center rounded text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent","data-testid":"dash-app-rules-banner-dismiss",onClick:i,type:"button",children:h}),t[13]=f,t[14]=g):g=t[14];let m;return t[15]!==u||t[16]!==g?(m=(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-warning/30 bg-warning/10 px-6 py-2 text-[12px] text-foreground","data-testid":"dash-app-rules-banner",role:"note",children:[l,u,g]}),t[15]=u,t[16]=g,t[17]=m):m=t[17],m},"Gs");function yi(){return vi()}s(yi,"Ks");function Bs(t){let e=(0,I.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let r;return e[2]!==o?(r=(0,a.jsx)(De.Root,{"data-slot":"popover",...o}),e[2]=o,e[3]=r):r=e[3],r}s(Bs,"Jt");function Fs(t){let e=(0,I.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let r;return e[2]!==o?(r=(0,a.jsx)(De.Trigger,{"data-slot":"popover-trigger",...o}),e[2]=o,e[3]=r):r=e[3],r}s(Fs,"Xt");function js({align:t="end",alignOffset:e=0,className:o,keepMounted:r=!1,side:n="bottom",sideOffset:i=6,...l}){return(0,a.jsx)(De.Portal,{keepMounted:r,children:(0,a.jsx)(De.Positioner,{align:t,alignOffset:e,className:"isolate z-50 outline-none",side:n,sideOffset:i,children:(0,a.jsx)(De.Popup,{className:U("z-50 w-72 origin-(--transform-origin) rounded-lg border border-border bg-popover p-3 text-popover-foreground shadow-md outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",o),"data-slot":"popover-content",...l})})})}s(js,"es");var Ur=768;function Pi(){let t=(0,I.c)(2),[e,o]=(0,O.useState)(void 0),r,n;return t[0]===Symbol.for("react.memo_cache_sentinel")?(r=s(()=>{let i=globalThis.matchMedia(`(max-width: ${Ur-1}px)`),l=s(()=>{o(globalThis.innerWidth<Ur)},"i");return i.addEventListener("change",l),o(globalThis.innerWidth<Ur),()=>{i.removeEventListener("change",l)}},"a"),n=[],t[0]=r,t[1]=n):(r=t[0],n=t[1]),(0,O.useEffect)(r,n),!!e}s(Pi,"Qs");function Ci(t){let e=(0,I.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let r;return e[2]!==o?(r=(0,a.jsx)(le.Root,{"data-slot":"sheet",...o}),e[2]=o,e[3]=r):r=e[3],r}s(Ci,"Ys");function Si(t){let e=(0,I.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let r;return e[2]!==o?(r=(0,a.jsx)(le.Portal,{"data-slot":"sheet-portal",...o}),e[2]=o,e[3]=r):r=e[3],r}s(Si,"Js");function Ri(t){let e=(0,I.c)(8),o,r;e[0]!==t?({className:o,...r}=t,e[0]=t,e[1]=o,e[2]=r):(o=e[1],r=e[2]);let n;e[3]!==o?(n=U("fixed inset-0 z-50 bg-black/10 text-xs/relaxed transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:",o),e[3]=o,e[4]=n):n=e[4];let i;return e[5]!==r||e[6]!==n?(i=(0,a.jsx)(le.Backdrop,{"data-slot":"sheet-overlay",className:n,...r}),e[5]=r,e[6]=n,e[7]=i):i=e[7],i}s(Ri,"Xs");function Ti({className:t,children:e,side:o="right",showCloseButton:r=!0,...n}){return(0,a.jsxs)(Si,{children:[(0,a.jsx)(Ri,{}),(0,a.jsxs)(le.Popup,{"data-slot":"sheet-content","data-side":o,className:U("fixed z-50 flex flex-col bg-popover bg-clip-padding text-xs/relaxed text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-e data-[side=left]:data-ending-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-ending-style:-translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-starting-style:-translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-s data-[side=right]:data-ending-style:translate-x-[2.5rem] rtl:data-[side=right]:data-ending-style:-translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] rtl:data-[side=right]:data-starting-style:-translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",t),...n,children:[e,r&&(0,a.jsxs)(le.Close,{"data-slot":"sheet-close",render:(0,a.jsx)(Tr,{variant:"ghost",className:"absolute top-3 end-3",size:"icon-sm"}),children:[(0,a.jsx)(Rr,{icon:Hn,strokeWidth:2}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}s(Ti,"ea");function Ni(t){let e=(0,I.c)(8),o,r;e[0]!==t?({className:o,...r}=t,e[0]=t,e[1]=o,e[2]=r):(o=e[1],r=e[2]);let n;e[3]!==o?(n=U("flex flex-col gap-0.5 p-4",o),e[3]=o,e[4]=n):n=e[4];let i;return e[5]!==r||e[6]!==n?(i=(0,a.jsx)("div",{"data-slot":"sheet-header",className:n,...r}),e[5]=r,e[6]=n,e[7]=i):i=e[7],i}s(Ni,"ta");function wi(t){let e=(0,I.c)(8),o,r;e[0]!==t?({className:o,...r}=t,e[0]=t,e[1]=o,e[2]=r):(o=e[1],r=e[2]);let n;e[3]!==o?(n=U("text-sm font-medium text-foreground",o),e[3]=o,e[4]=n):n=e[4];let i;return e[5]!==r||e[6]!==n?(i=(0,a.jsx)(le.Title,{"data-slot":"sheet-title",className:n,...r}),e[5]=r,e[6]=n,e[7]=i):i=e[7],i}s(wi,"sa");function Ei(t){let e=(0,I.c)(8),o,r;e[0]!==t?({className:o,...r}=t,e[0]=t,e[1]=o,e[2]=r):(o=e[1],r=e[2]);let n;e[3]!==o?(n=U("text-xs/relaxed text-muted-foreground",o),e[3]=o,e[4]=n):n=e[4];let i;return e[5]!==r||e[6]!==n?(i=(0,a.jsx)(le.Description,{"data-slot":"sheet-description",className:n,...r}),e[5]=r,e[6]=n,e[7]=i):i=e[7],i}s(Ei,"aa");var ki="sidebar_state",Oi=3600*24*7,Di="16rem",Mi="18rem",Ii="3rem",_i="b",zs=xe.createContext(null);function fr(){let t=xe.useContext(zs);if(!t)throw new br("INTERNAL","useSidebar must be used within a SidebarProvider.");return t}s(fr,"yt");function Ai({defaultOpen:t=!0,open:e,onOpenChange:o,className:r,style:n,children:i,...l}){let c=Pi(),[p,d]=xe.useState(!1),[u,f]=xe.useState(t),h=e??u,g=s(b=>{let P=typeof b=="function"?b(h):b;o?o(P):f(P),document.cookie=`${ki}=${P}; path=/; max-age=${Oi}`},"f"),m=s(()=>c?d(b=>!b):g(b=>!b),"g"),x=xe.useEffectEvent(()=>{m()});xe.useEffect(()=>{let b=s(P=>{P.key===_i&&(P.metaKey||P.ctrlKey)&&(P.preventDefault(),x())},"p");return globalThis.addEventListener("keydown",b),()=>globalThis.removeEventListener("keydown",b)},[]);let v={state:h?"expanded":"collapsed",open:h,setOpen:g,isMobile:c,openMobile:p,setOpenMobile:d,toggleSidebar:m};return(0,a.jsx)(zs.Provider,{value:v,children:(0,a.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":Di,"--sidebar-width-icon":Ii,...n},className:U("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",r),...l,children:i})})}s(Ai,"ca");function Vi({side:t="left",variant:e="sidebar",collapsible:o="offcanvas",className:r,children:n,dir:i,...l}){let{isMobile:c,state:p,openMobile:d,setOpenMobile:u}=fr();return o==="none"?(0,a.jsx)("div",{"data-slot":"sidebar",className:U("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",r),...l,children:n}):c?(0,a.jsx)(Ci,{open:d,onOpenChange:u,...l,children:(0,a.jsxs)(Ti,{dir:i,"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":Mi},side:t,children:[(0,a.jsxs)(Ni,{className:"sr-only",children:[(0,a.jsx)(wi,{children:"Sidebar"}),(0,a.jsx)(Ei,{children:"Displays the mobile sidebar."})]}),(0,a.jsx)("div",{className:"flex h-full w-full flex-col",children:n})]})}):(0,a.jsxs)("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":p,"data-collapsible":p==="collapsed"?o:"","data-variant":e,"data-side":t,"data-slot":"sidebar",children:[(0,a.jsx)("div",{"data-slot":"sidebar-gap",className:U("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,a.jsx)("div",{"data-slot":"sidebar-container","data-side":t,className:U("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex",e==="floating"||e==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-e group-data-[side=right]:border-s",r),...l,children:(0,a.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-none group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border",children:n})})]})}s(Vi,"ua");function Li(t){let e=(0,I.c)(15),o,r,n;e[0]!==t?({className:o,onClick:r,...n}=t,e[0]=t,e[1]=o,e[2]=r,e[3]=n):(o=e[1],r=e[2],n=e[3]);let{toggleSidebar:i}=fr(),l;e[4]!==o?(l=U(o),e[4]=o,e[5]=l):l=e[5];let c;e[6]!==r||e[7]!==i?(c=s(f=>{r?.(f),i()},"l"),e[6]=r,e[7]=i,e[8]=c):c=e[8];let p,d;e[9]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)(Rr,{icon:Bn,strokeWidth:2,className:"rtl:rotate-180"}),d=(0,a.jsx)("span",{className:"sr-only",children:"Toggle Sidebar"}),e[9]=p,e[10]=d):(p=e[9],d=e[10]);let u;return e[11]!==n||e[12]!==l||e[13]!==c?(u=(0,a.jsxs)(Tr,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon-sm",className:l,onClick:c,...n,children:[p,d]}),e[11]=n,e[12]=l,e[13]=c,e[14]=u):u=e[14],u}s(Li,"fa");function Hi(t){let e=(0,I.c)(8),o,r;e[0]!==t?({className:o,...r}=t,e[0]=t,e[1]=o,e[2]=r):(o=e[1],r=e[2]);let n;e[3]!==o?(n=U("relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ms-0 md:peer-data-[variant=inset]:rounded-none md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ms-2",o),e[3]=o,e[4]=n):n=e[4];let i;return e[5]!==r||e[6]!==n?(i=(0,a.jsx)("main",{"data-slot":"sidebar-inset",className:n,...r}),e[5]=r,e[6]=n,e[7]=i):i=e[7],i}s(Hi,"ma");function Bi(t){let e=(0,I.c)(8),o,r;e[0]!==t?({className:o,...r}=t,e[0]=t,e[1]=o,e[2]=r):(o=e[1],r=e[2]);let n;e[3]!==o?(n=U("flex flex-col gap-2 p-2",o),e[3]=o,e[4]=n):n=e[4];let i;return e[5]!==r||e[6]!==n?(i=(0,a.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:n,...r}),e[5]=r,e[6]=n,e[7]=i):i=e[7],i}s(Bi,"ha");function Fi(t){let e=(0,I.c)(8),o,r;e[0]!==t?({className:o,...r}=t,e[0]=t,e[1]=o,e[2]=r):(o=e[1],r=e[2]);let n;e[3]!==o?(n=U("flex flex-col gap-2 p-2",o),e[3]=o,e[4]=n):n=e[4];let i;return e[5]!==r||e[6]!==n?(i=(0,a.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:n,...r}),e[5]=r,e[6]=n,e[7]=i):i=e[7],i}s(Fi,"pa");function ji(t){let e=(0,I.c)(8),o,r;e[0]!==t?({className:o,...r}=t,e[0]=t,e[1]=o,e[2]=r):(o=e[1],r=e[2]);let n;e[3]!==o?(n=U("flex min-h-0 flex-1 flex-col gap-0 overflow-x-hidden overflow-y-auto [scrollbar-color:color-mix(in_oklch,var(--muted-foreground)_25%,transparent)_transparent] [scrollbar-width:thin] [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-muted-foreground/25 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar]:w-1.5 hover:[scrollbar-color:color-mix(in_oklch,var(--muted-foreground)_50%,transparent)_transparent] hover:[&::-webkit-scrollbar-thumb]:bg-muted-foreground/50",o),e[3]=o,e[4]=n):n=e[4];let i;return e[5]!==r||e[6]!==n?(i=(0,a.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:n,...r}),e[5]=r,e[6]=n,e[7]=i):i=e[7],i}s(ji,"ga");function zi(t){let e=(0,I.c)(8),o,r;e[0]!==t?({className:o,...r}=t,e[0]=t,e[1]=o,e[2]=r):(o=e[1],r=e[2]);let n;e[3]!==o?(n=U("relative flex w-full min-w-0 flex-col p-2",o),e[3]=o,e[4]=n):n=e[4];let i;return e[5]!==r||e[6]!==n?(i=(0,a.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:n,...r}),e[5]=r,e[6]=n,e[7]=i):i=e[7],i}s(zi,"ba");function Ki(t){let e=(0,I.c)(10),o,r,n,i;if(e[0]!==t){let{className:p,render:d,...u}=t;o=d,i=Pr,r="div",n=so({className:U("flex h-8 shrink-0 items-center rounded-none px-2 text-xs text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",p)},u),e[0]=t,e[1]=o,e[2]=r,e[3]=n,e[4]=i}else o=e[1],r=e[2],n=e[3],i=e[4];let l;e[5]===Symbol.for("react.memo_cache_sentinel")?(l={slot:"sidebar-group-label",sidebar:"group-label"},e[5]=l):l=e[5];let c;return e[6]!==o||e[7]!==r||e[8]!==n?(c={defaultTagName:r,props:n,render:o,state:l},e[6]=o,e[7]=r,e[8]=n,e[9]=c):c=e[9],i(c)}s(Ki,"va");function Ui(t){let e=(0,I.c)(8),o,r;e[0]!==t?({className:o,...r}=t,e[0]=t,e[1]=o,e[2]=r):(o=e[1],r=e[2]);let n;e[3]!==o?(n=U("w-full text-xs",o),e[3]=o,e[4]=n):n=e[4];let i;return e[5]!==r||e[6]!==n?(i=(0,a.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:n,...r}),e[5]=r,e[6]=n,e[7]=i):i=e[7],i}s(Ui,"xa");function Os(t){let e=(0,I.c)(8),o,r;e[0]!==t?({className:o,...r}=t,e[0]=t,e[1]=o,e[2]=r):(o=e[1],r=e[2]);let n;e[3]!==o?(n=U("flex w-full min-w-0 flex-col gap-0",o),e[3]=o,e[4]=n):n=e[4];let i;return e[5]!==r||e[6]!==n?(i=(0,a.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:n,...r}),e[5]=r,e[6]=n,e[7]=i):i=e[7],i}s(Os,"Et");function Ds(t){let e=(0,I.c)(8),o,r;e[0]!==t?({className:o,...r}=t,e[0]=t,e[1]=o,e[2]=r):(o=e[1],r=e[2]);let n;e[3]!==o?(n=U("group/menu-item relative",o),e[3]=o,e[4]=n):n=e[4];let i;return e[5]!==r||e[6]!==n?(i=(0,a.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:n,...r}),e[5]=r,e[6]=n,e[7]=i):i=e[7],i}s(Ds,"$t");var Zi=dn("peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-none p-2 text-start text-xs ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pe-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"},size:{default:"h-8 text-xs",sm:"h-7 text-xs",lg:"h-12 text-xs group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function Ks({render:t,isActive:e=!1,variant:o="default",size:r="default",tooltip:n,className:i,...l}){let{isMobile:c,state:p}=fr(),d=Pr({defaultTagName:"button",props:so({className:U(Zi({variant:o,size:r}),i)},l),render:n?(0,a.jsx)(fi,{render:t}):t,state:{slot:"sidebar-menu-button",sidebar:"menu-button",size:r,active:e}});return n?(typeof n=="string"&&(n={children:n}),(0,a.jsxs)(mi,{children:[d,(0,a.jsx)(gi,{side:"right",align:"center",hidden:p!=="collapsed"||c,...n})]})):d}s(Ks,"ss");var Wi=s(t=>t.replace("__lunora_admin__:",""),"wa"),qi=s(()=>(0,O.useSyncExternalStore)(po.subscribe,po.getSnapshot,po.getSnapshot),"ka"),$i=s(t=>t==="error"?"destructive":t==="pending"?"secondary":"default","Ma"),Gi=s(t=>{let e=(0,I.c)(56),{entry:o,focused:r}=t,n=fe(),i;e[0]!==r?(i=s(L=>{L!==null&&r&&L.scrollIntoView({block:"nearest"})},"r"),e[0]=r,e[1]=i):i=e[1];let l=i,c;e[2]!==o.functionPath||e[3]!==o.shardKey||e[4]!==o.summary?(c=s(()=>{jn(`${o.functionPath} ${o.summary}${o.shardKey===""?"":` (shard ${o.shardKey})`}`)},"l"),e[2]=o.functionPath,e[3]=o.shardKey,e[4]=o.summary,e[5]=c):c=e[5];let p=c,d=r&&"bg-accent ring-1 ring-inset ring-primary/40",u;e[6]!==d?(u=U("border-b border-border/60 last:border-b-0",d),e[6]=d,e[7]=u):u=e[7];let f;e[8]!==o.status?(f=$i(o.status),e[8]=o.status,e[9]=f):f=e[9];let h=o.status==="pending"?"\u2026":o.status,g;e[10]!==f||e[11]!==h?(g=(0,a.jsx)(_t,{className:"mt-px shrink-0",variant:f,children:h}),e[10]=f,e[11]=h,e[12]=g):g=e[12];let m;e[13]!==o.functionPath?(m=Wi(o.functionPath),e[13]=o.functionPath,e[14]=m):m=e[14];let x;e[15]!==m?(x=(0,a.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-foreground",children:m}),e[15]=m,e[16]=x):x=e[16];let v;e[17]!==o.kind||e[18]!==n?(v=o.kind==="subscription"&&(0,a.jsx)(_t,{className:"shrink-0",variant:"outline",children:n("live")}),e[17]=o.kind,e[18]=n,e[19]=v):v=e[19];let b;e[20]!==o.summary?(b=o.summary!==""&&(0,a.jsx)("span",{className:"min-w-0 truncate text-muted-foreground",children:o.summary}),e[20]=o.summary,e[21]=b):b=e[21];let P;e[22]!==o.shardKey?(P=o.shardKey!==""&&(0,a.jsx)("span",{className:"font-mono",children:o.shardKey}),e[22]=o.shardKey,e[23]=P):P=e[23];let y;e[24]!==o.resultCount||e[25]!==n?(y=o.resultCount!==void 0&&(0,a.jsx)("span",{children:n("{count} rows",{count:o.resultCount})}),e[24]=o.resultCount,e[25]=n,e[26]=y):y=e[26];let S;e[27]!==o.pushes||e[28]!==n?(S=o.pushes!==void 0&&o.pushes>0&&(0,a.jsx)("span",{children:n("{count} pushes",{count:o.pushes})}),e[27]=o.pushes,e[28]=n,e[29]=S):S=e[29];let C;e[30]!==o.durationMs?(C=o.durationMs!==void 0&&(0,a.jsxs)("span",{children:[o.durationMs,"ms"]}),e[30]=o.durationMs,e[31]=C):C=e[31];let w;e[32]!==n?(w=n("Copy"),e[32]=n,e[33]=w):w=e[33];let R;e[34]!==p||e[35]!==w?(R=(0,a.jsx)("button",{"aria-label":w,className:"rounded px-1 outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"oc-copy",onClick:p,type:"button",children:"\u29C9"}),e[34]=p,e[35]=w,e[36]=R):R=e[36];let N;e[37]!==P||e[38]!==y||e[39]!==S||e[40]!==C||e[41]!==R?(N=(0,a.jsxs)("span",{className:"ms-auto flex shrink-0 items-center gap-2 text-[11px] text-muted-foreground",children:[P,y,S,C,R]}),e[37]=P,e[38]=y,e[39]=S,e[40]=C,e[41]=R,e[42]=N):N=e[42];let E;e[43]!==v||e[44]!==b||e[45]!==N||e[46]!==g||e[47]!==x?(E=(0,a.jsxs)("div",{className:"flex items-start gap-2 px-3 py-1.5 text-xs",children:[g,x,v,b,N]}),e[43]=v,e[44]=b,e[45]=N,e[46]=g,e[47]=x,e[48]=E):E=e[48];let k;e[49]!==o.error?(k=o.error!==void 0&&(0,a.jsx)("p",{className:"px-3 pb-1.5 font-mono text-[11px] text-destructive","data-testid":"oc-error",children:o.error}),e[49]=o.error,e[50]=k):k=e[50];let M;return e[51]!==l||e[52]!==E||e[53]!==k||e[54]!==u?(M=(0,a.jsxs)("li",{className:u,"data-testid":"oc-row",ref:l,children:[E,k]}),e[51]=l,e[52]=E,e[53]=k,e[54]=u,e[55]=M):M=e[55],M},"Na"),Qi=s(t=>{let e=(0,I.c)(62),{focusSeq:o,onClose:r,onShownChange:n,shown:i}=t,l=fe(),c=qi(),[p,d]=(0,O.useState)(""),u;if(e[0]!==c||e[1]!==o||e[2]!==p||e[3]!==r||e[4]!==n||e[5]!==i||e[6]!==l){let f=p.trim().toLowerCase(),h=c.filter(V=>(i==="errors"?V.status==="error":!0)&&(f===""||`${V.functionPath} ${V.summary} ${V.shardKey}`.toLowerCase().includes(f))).toReversed(),g;e[8]!==c?(g=c.filter(Yi),e[8]=c,e[9]=g):g=e[9];let m=g.length,x;e[10]!==l?(x=l("Operation console"),e[10]=l,e[11]=x):x=e[11];let v;e[12]!==l?(v=l("Operation console"),e[12]=l,e[13]=v):v=e[13];let b;e[14]!==v?(b=(0,a.jsx)("span",{className:"text-xs font-medium",children:v}),e[14]=v,e[15]=b):b=e[15];let P;e[16]!==c.length||e[17]!==l?(P=l("{count} calls",{count:c.length}),e[16]=c.length,e[17]=l,e[18]=P):P=e[18];let y;e[19]!==P?(y=(0,a.jsx)(_t,{variant:"secondary",children:P}),e[19]=P,e[20]=y):y=e[20];let S;e[21]!==m||e[22]!==l?(S=m>0&&(0,a.jsx)(_t,{variant:"destructive",children:l("{count} failed",{count:m})}),e[21]=m,e[22]=l,e[23]=S):S=e[23];let C=i==="errors",w=i==="errors"&&"bg-accent",R;e[24]!==w?(R=U("rounded px-2 py-0.5 text-xs outline-none hover:bg-accent focus-visible:bg-accent",w),e[24]=w,e[25]=R):R=e[25];let N;e[26]!==n||e[27]!==i?(N=s(()=>{n(i==="errors"?"all":"errors")},"N"),e[26]=n,e[27]=i,e[28]=N):N=e[28];let E;e[29]!==l?(E=l("Errors"),e[29]=l,e[30]=E):E=e[30];let k;e[31]!==R||e[32]!==N||e[33]!==E||e[34]!==C?(k=(0,a.jsx)("button",{"aria-pressed":C,className:R,"data-testid":"oc-filter-errors",onClick:N,type:"button",children:E}),e[31]=R,e[32]=N,e[33]=E,e[34]=C,e[35]=k):k=e[35];let M;e[36]!==l?(M=l("Filter"),e[36]=l,e[37]=M):M=e[37];let L;e[38]===Symbol.for("react.memo_cache_sentinel")?(L=s(V=>{d(V.target.value)},"O"),e[38]=L):L=e[38];let _;e[39]!==l?(_=l("Filter"),e[39]=l,e[40]=_):_=e[40];let j;e[41]!==p||e[42]!==M||e[43]!==_?(j=(0,a.jsx)(Cr,{"aria-label":M,className:"h-7 w-40 text-xs","data-testid":"oc-search",onChange:L,placeholder:_,value:p}),e[41]=p,e[42]=M,e[43]=_,e[44]=j):j=e[44];let z;e[45]!==l?(z=l("Clear"),e[45]=l,e[46]=z):z=e[46];let H;e[47]!==z?(H=(0,a.jsx)("button",{className:"ms-auto rounded px-2 py-0.5 text-xs text-muted-foreground outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"oc-clear",onClick:Ji,type:"button",children:z}),e[47]=z,e[48]=H):H=e[48];let F;e[49]!==l?(F=l("Hide"),e[49]=l,e[50]=F):F=e[50];let Z;e[51]!==r||e[52]!==F?(Z=(0,a.jsx)("button",{"aria-label":F,className:"rounded px-2 py-0.5 text-xs text-muted-foreground outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"oc-close",onClick:r,type:"button",children:"\u2715"}),e[51]=r,e[52]=F,e[53]=Z):Z=e[53];let D;e[54]!==k||e[55]!==j||e[56]!==H||e[57]!==Z||e[58]!==b||e[59]!==y||e[60]!==S?(D=(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-3 py-1.5",children:[b,y,S,k,j,H,Z]}),e[54]=k,e[55]=j,e[56]=H,e[57]=Z,e[58]=b,e[59]=y,e[60]=S,e[61]=D):D=e[61],u=(0,a.jsxs)("section",{"aria-label":x,className:"flex max-h-80 flex-col border-t border-border bg-card","data-testid":"lunora-operation-console",children:[D,h.length===0?(0,a.jsx)("p",{className:"p-3 text-xs text-muted-foreground","data-testid":"oc-empty",children:l("Every admin call this studio makes is recorded here.")}):(0,a.jsx)("ul",{className:"min-h-0 flex-1 overflow-y-auto","data-testid":"oc-rows",children:h.map(V=>(0,a.jsx)(Gi,{entry:V,focused:V.seq===o},V.seq))})]}),e[0]=c,e[1]=o,e[2]=p,e[3]=r,e[4]=n,e[5]=i,e[6]=l,e[7]=u}else u=e[7];return u},"Sa");function Yi(t){return t.status==="error"}s(Yi,"Ca");function Ji(){po.clear()}s(Ji,"Pa");var Xi=s(()=>{let t=(0,I.c)(328),e=fe(),o;t[0]!==e?(o=e("Health score"),t[0]=e,t[1]=o):o=t[1];let r;t[2]!==e?(r=e("Agents"),t[2]=e,t[3]=r):r=t[3];let n;t[4]!==e?(n=e("Evals"),t[4]=e,t[5]=n):n=t[5];let i;t[6]!==e?(i=e("AI usage"),t[6]=e,t[7]=i):i=t[7];let l;t[8]!==e?(l=e("Analytics"),t[8]=e,t[9]=l):l=t[9];let c;t[10]!==e?(c=e("API"),t[10]=e,t[11]=c):c=t[11];let p;t[12]!==e?(p=e("Architecture"),t[12]=e,t[13]=p):p=t[13];let d;t[14]!==e?(d=e("Audit"),t[14]=e,t[15]=d):d=t[15];let u;t[16]!==e?(u=e("Auth audit"),t[16]=e,t[17]=u):u=t[17];let f;t[18]!==e?(f=e("Configuration"),t[18]=e,t[19]=f):f=t[19];let h;t[20]!==e?(h=e("Sessions"),t[20]=e,t[21]=h):h=t[21];let g;t[22]!==e?(g=e("Containers"),t[22]=e,t[23]=g):g=t[23];let m;t[24]!==e?(m=e("Dashboards"),t[24]=e,t[25]=m):m=t[25];let x;t[26]!==e?(x=e("Data"),t[26]=e,t[27]=x):x=t[27];let v;t[28]!==e?(v=e("Deployment health"),t[28]=e,t[29]=v):v=t[29];let b;t[30]!==e?(b=e("Log drains"),t[30]=e,t[31]=b):b=t[31];let P;t[32]!==e?(P=e("Export / Import"),t[32]=e,t[33]=P):P=t[33];let y;t[34]!==e?(y=e("Fan-out"),t[34]=e,t[35]=y):y=t[35];let S;t[36]!==e?(S=e("Files"),t[36]=e,t[37]=S):S=t[37];let C;t[38]!==e?(C=e("Flags"),t[38]=e,t[39]=C):C=t[39];let w;t[40]!==e?(w=e("Functions"),t[40]=e,t[41]=w):w=t[41];let R;t[42]!==e?(R=e("Health"),t[42]=e,t[43]=R):R=t[43];let N;t[44]!==e?(N=e("Home"),t[44]=e,t[45]=N):N=t[45];let E;t[46]!==e?(E=e("Performance"),t[46]=e,t[47]=E):E=t[47];let k;t[48]!==e?(k=e("Issues"),t[48]=e,t[49]=k):k=t[49];let M;t[50]!==e?(M=e("KV"),t[50]=e,t[51]=M):M=t[51];let L;t[52]!==e?(L=e("Logs"),t[52]=e,t[53]=L):L=t[53];let _;t[54]!==e?(_=e("Metrics"),t[54]=e,t[55]=_):_=t[55];let j;t[56]!==e?(j=e("Migrations"),t[56]=e,t[57]=j):j=t[57];let z;t[58]!==e?(z=e("Notifications"),t[58]=e,t[59]=z):z=t[59];let H;t[60]!==e?(H=e("Organizations"),t[60]=e,t[61]=H):H=t[61];let F;t[62]!==e?(F=e("Time Travel"),t[62]=e,t[63]=F):F=t[63];let Z;t[64]!==e?(Z=e("Mail"),t[64]=e,t[65]=Z):Z=t[65];let D;t[66]!==e?(D=e("Payments"),t[66]=e,t[67]=D):D=t[67];let V;t[68]!==e?(V=e("Permissions"),t[68]=e,t[69]=V):V=t[69];let q;t[70]!==e?(q=e("Queues"),t[70]=e,t[71]=q):q=t[71];let G;t[72]!==e?(G=e("Reactors"),t[72]=e,t[73]=G):G=t[73];let ee;t[74]!==e?(ee=e("Realtime"),t[74]=e,t[75]=ee):ee=t[75];let ae;t[76]!==e?(ae=e("RLS Policies"),t[76]=e,t[77]=ae):ae=t[77];let te;t[78]!==e?(te=e("Scheduled"),t[78]=e,t[79]=te):te=t[79];let X;t[80]!==e?(X=e("Schema"),t[80]=e,t[81]=X):X=t[81];let $;t[82]!==e?($=e("Security"),t[82]=e,t[83]=$):$=t[83];let ce;t[84]!==e?(ce=e("Settings"),t[84]=e,t[85]=ce):ce=t[85];let de;t[86]!==e?(de=e("SQL editor"),t[86]=e,t[87]=de):de=t[87];let pe;t[88]!==e?(pe=e("Traces"),t[88]=e,t[89]=pe):pe=t[89];let ge;t[90]!==e?(ge=e("Access Rules"),t[90]=e,t[91]=ge):ge=t[91];let ue;t[92]!==e?(ue=e("Users"),t[92]=e,t[93]=ue):ue=t[93];let W;t[94]!==e?(W=e("Vectors"),t[94]=e,t[95]=W):W=t[95];let ie;t[96]!==e?(ie=e("Workflows"),t[96]=e,t[97]=ie):ie=t[97];let he;t[98]!==o||t[99]!==r||t[100]!==h||t[101]!==g||t[102]!==m||t[103]!==x||t[104]!==v||t[105]!==b||t[106]!==P||t[107]!==y||t[108]!==S||t[109]!==C||t[110]!==n||t[111]!==w||t[112]!==R||t[113]!==N||t[114]!==E||t[115]!==k||t[116]!==M||t[117]!==L||t[118]!==_||t[119]!==j||t[120]!==z||t[121]!==i||t[122]!==H||t[123]!==F||t[124]!==Z||t[125]!==D||t[126]!==V||t[127]!==q||t[128]!==G||t[129]!==ee||t[130]!==ae||t[131]!==te||t[132]!==l||t[133]!==X||t[134]!==$||t[135]!==ce||t[136]!==de||t[137]!==pe||t[138]!==ge||t[139]!==ue||t[140]!==W||t[141]!==ie||t[142]!==c||t[143]!==p||t[144]!==d||t[145]!==u||t[146]!==f?(he={advisorHealth:o,agents:r,evals:n,aiUsage:i,analytics:l,api:c,architecture:p,audit:d,authAudit:u,authConfig:f,authSessions:h,containers:g,dashboards:m,data:x,deploymentHealth:v,drains:b,export:P,fanout:y,files:S,flags:C,functions:w,health:R,home:N,insights:E,issues:k,kv:M,logs:L,metrics:_,migrations:j,notifications:z,organizations:H,pitr:F,mail:Z,payments:D,permissions:V,queues:q,reactors:G,realtime:ee,rls:ae,schedule:te,schema:X,security:$,settings:ce,sql:de,traces:pe,storageRules:ge,users:ue,vectors:W,workflows:ie},t[98]=o,t[99]=r,t[100]=h,t[101]=g,t[102]=m,t[103]=x,t[104]=v,t[105]=b,t[106]=P,t[107]=y,t[108]=S,t[109]=C,t[110]=n,t[111]=w,t[112]=R,t[113]=N,t[114]=E,t[115]=k,t[116]=M,t[117]=L,t[118]=_,t[119]=j,t[120]=z,t[121]=i,t[122]=H,t[123]=F,t[124]=Z,t[125]=D,t[126]=V,t[127]=q,t[128]=G,t[129]=ee,t[130]=ae,t[131]=te,t[132]=l,t[133]=X,t[134]=$,t[135]=ce,t[136]=de,t[137]=pe,t[138]=ge,t[139]=ue,t[140]=W,t[141]=ie,t[142]=c,t[143]=p,t[144]=d,t[145]=u,t[146]=f,t[147]=he):he=t[147];let Ie=he,be;t[148]!==e?(be=e("Advisors"),t[148]=e,t[149]=be):be=t[149];let Ne;t[150]!==e?(Ne=e("Auth"),t[150]=e,t[151]=Ne):Ne=t[151];let Ce;t[152]!==e?(Ce=e("Database"),t[152]=e,t[153]=Ce):Ce=t[153];let Se;t[154]!==e?(Se=e("Functions"),t[154]=e,t[155]=Se):Se=t[155];let _e;t[156]!==e?(_e=e("Observability"),t[156]=e,t[157]=_e):_e=t[157];let Ae;t[158]!==e?(Ae=e("Operations"),t[158]=e,t[159]=Ae):Ae=t[159];let Ve;t[160]!==e?(Ve=e("Overview"),t[160]=e,t[161]=Ve):Ve=t[161];let Le;t[162]!==e?(Le=e("Settings"),t[162]=e,t[163]=Le):Le=t[163];let He;t[164]!==e?(He=e("Storage"),t[164]=e,t[165]=He):He=t[165];let Po;t[166]!==be||t[167]!==Ne||t[168]!==Ce||t[169]!==Se||t[170]!==_e||t[171]!==Ae||t[172]!==Ve||t[173]!==Le||t[174]!==He?(Po={advisors:be,auth:Ne,database:Ce,functions:Se,observability:_e,operations:Ae,overview:Ve,settings:Le,storage:He},t[166]=be,t[167]=Ne,t[168]=Ce,t[169]=Se,t[170]=_e,t[171]=Ae,t[172]=Ve,t[173]=Le,t[174]=He,t[175]=Po):Po=t[175];let gr=Po,Be;t[176]!==e?(Be=e("Score your app's advisor findings: a grade, the coverage split, and every procedure ranked worst-first."),t[176]=e,t[177]=Be):Be=t[177];let Fe;t[178]!==e?(Fe=e("Inspect agent threads, message timelines, tool calls, and token usage."),t[178]=e,t[179]=Fe):Fe=t[179];let je;t[180]!==e?(je=e("Scores recorded by recordEvaluation \u2014 the latest verdict per eval, its trend, and the graded runs behind it."),t[180]=e,t[181]=je):je=t[181];let ze;t[182]!==e?(ze=e("Tokens and spend from ctx.ai.model calls \u2014 totals, per function and per model, and the recent calls behind them."),t[182]=e,t[183]=ze):ze=t[183];let Ke;t[184]!==e?(Ke=e("Usage and latency from Analytics Engine \u2014 request volume, p50/p95, and hot shards."),t[184]=e,t[185]=Ke):Ke=t[185];let Ue;t[186]!==e?(Ue=e("Interactive OpenAPI reference and copy-paste snippets for your functions."),t[186]=e,t[187]=Ue):Ue=t[187];let Ze;t[188]!==e?(Ze=e("A durable log of admin state-changing operations."),t[188]=e,t[189]=Ze):Ze=t[189];let We;t[190]!==e?(We=e("Authentication and security events \u2014 sign-ins, MFA, and session changes."),t[190]=e,t[191]=We):We=t[191];let qe;t[192]!==e?(qe=e("Enabled plugins and session config (read-only)."),t[192]=e,t[193]=qe):qe=t[193];let $e;t[194]!==e?($e=e("Your modules, and the calls, reads, writes and hand-offs between them, from codegen."),t[194]=e,t[195]=$e):$e=t[195];let Ge;t[196]!==e?(Ge=e("Browse and revoke active sessions across all users."),t[196]=e,t[197]=Ge):Ge=t[197];let Qe;t[198]!==e?(Qe=e("Live Cloudflare Containers \u2014 current lifecycle state per instance from the log stream."),t[198]=e,t[199]=Qe):Qe=t[199];let Ye;t[200]!==e?(Ye=e("Chart widgets backed by saved read-only SQL queries."),t[200]=e,t[201]=Ye):Ye=t[201];let Je;t[202]!==e?(Je=e("Browse and edit rows across your shard and global tables."),t[202]=e,t[203]=Je):Je=t[203];let Xe;t[204]!==e?(Xe=e("Live liveness, readiness, and per-binding health from the deployment's /_lunora/health endpoint."),t[204]=e,t[205]=Xe):Xe=t[205];let et;t[206]!==e?(et=e("Forward logs to Logpush, Tail Workers, or a webhook collector."),t[206]=e,t[207]=et):et=t[207];let tt;t[208]!==e?(tt=e("Export a shard to NDJSON, or import rows from it."),t[208]=e,t[209]=tt):tt=t[209];let ot;t[210]!==e?(ot=e("Realtime fan-out cost and per-topic subscriber counts for this shard."),t[210]=e,t[211]=ot):ot=t[211];let rt;t[212]!==e?(rt=e("Browse objects in your R2 storage buckets."),t[212]=e,t[213]=rt):rt=t[213];let nt;t[214]!==e?(nt=e("Inspect feature flags and their live evaluation under a targeting context."),t[214]=e,t[215]=nt):nt=t[215];let at;t[216]!==e?(at=e("Run registered queries, mutations, and actions."),t[216]=e,t[217]=at):at=t[217];let st;t[218]!==e?(st=e("At-a-glance connection, error, and shard signals."),t[218]=e,t[219]=st):st=t[219];let it;t[220]!==e?(it=e("Connection, health, and advisor summary for your deployment."),t[220]=e,t[221]=it):it=t[221];let lt;t[222]!==e?(lt=e("Surface slow functions, error spikes, and cache problems."),t[222]=e,t[223]=lt):lt=t[223];let ct;t[224]!==e?(ct=e("Grouped error triage \u2014 Worker throws and container crashes folded by fingerprint."),t[224]=e,t[225]=ct):ct=t[225];let dt;t[226]!==e?(dt=e("A live stream of recent function logs."),t[226]=e,t[227]=dt):dt=t[227];let pt;t[228]!==e?(pt=e("Per-shard health and aggregate metrics."),t[228]=e,t[229]=pt):pt=t[229];let ut;t[230]!==e?(ut=e("Review migration status and run them."),t[230]=e,t[231]=ut):ut=t[231];let mt;t[232]!==e?(mt=e("Registered push devices \u2014 endpoint, kind, last-send status, and delivery errors."),t[232]=e,t[233]=mt):mt=t[233];let ft;t[234]!==e?(ft=e("Browse and manage organizations, members, and invitations."),t[234]=e,t[235]=ft):ft=t[235];let gt;t[236]!==e?(gt=e("Restore a shard to a point in the last 30 days."),t[236]=e,t[237]=gt):gt=t[237];let ht;t[238]!==e?(ht=e("Email your app sent, captured in dev."),t[238]=e,t[239]=ht):ht=t[239];let vt;t[240]!==e?(vt=e("Synced customers, subscriptions, and webhook events."),t[240]=e,t[241]=vt):vt=t[241];let bt;t[242]!==e?(bt=e("Inspect access policies per table, and probe a function as any identity."),t[242]=e,t[243]=bt):bt=t[243];let xt;t[244]!==e?(xt=e("Inspect declared Cloudflare Queues \u2014 their producer bindings, consumer mode, and dead-letter queue."),t[244]=e,t[245]=xt):xt=t[245];let yt;t[246]!==e?(yt=e("Server-side onQueryChange reactors: what has run, what was suppressed, and what is failing."),t[246]=e,t[247]=yt):yt=t[247];let Pt;t[248]!==e?(Pt=e("Active WebSocket subscriptions on this shard."),t[248]=e,t[249]=Pt):Pt=t[249];let Ct;t[250]!==e?(Ct=e("Inspect row-level-security policies and roles, per table."),t[250]=e,t[251]=Ct):Ct=t[251];let St;t[252]!==e?(St=e("Inspect and cancel scheduled jobs."),t[252]=e,t[253]=St):St=t[253];let Rt;t[254]!==e?(Rt=e("Inspect each table and its columns."),t[254]=e,t[255]=Rt):Rt=t[255];let Tt;t[256]!==e?(Tt=e("Review admin gates, credentials, and log redaction."),t[256]=e,t[257]=Tt):Tt=t[257];let Nt;t[258]!==e?(Nt=e("Read-only deployment config \u2014 vars, secrets, and bindings."),t[258]=e,t[259]=Nt):Nt=t[259];let wt;t[260]!==e?(wt=e("Run read-only SQL against a shard."),t[260]=e,t[261]=wt):wt=t[261];let Et;t[262]!==e?(Et=e("Browse and edit key-value pairs in your Workers KV namespaces."),t[262]=e,t[263]=Et):Et=t[263];let kt;t[264]!==e?(kt=e("Inspect storage access rules \u2014 per bucket, operation, and key prefix."),t[264]=e,t[265]=kt):kt=t[265];let Ot;t[266]!==e?(Ot=e("Recent ctx.trace waterfalls for this shard \u2014 the drill-down from a log line."),t[266]=e,t[267]=Ot):Ot=t[267];let Dt;t[268]!==e?(Dt=e("Manage auth users \u2014 roles, bans, sessions, and identity."),t[268]=e,t[269]=Dt):Dt=t[269];let Mt;t[270]!==e?(Mt=e("Browse Vectorize indexes and run similarity searches."),t[270]=e,t[271]=Mt):Mt=t[271];let It;t[272]!==e?(It=e("Inspect declared Cloudflare Workflows and their bindings."),t[272]=e,t[273]=It):It=t[273];let Co;t[274]!==Tt||t[275]!==Nt||t[276]!==wt||t[277]!==Et||t[278]!==kt||t[279]!==Ot||t[280]!==Dt||t[281]!==Mt||t[282]!==It||t[283]!==Be||t[284]!==Fe||t[285]!==je||t[286]!==ze||t[287]!==Ke||t[288]!==Ue||t[289]!==Ze||t[290]!==We||t[291]!==qe||t[292]!==$e||t[293]!==Ge||t[294]!==Qe||t[295]!==Ye||t[296]!==Je||t[297]!==Xe||t[298]!==et||t[299]!==tt||t[300]!==ot||t[301]!==rt||t[302]!==nt||t[303]!==at||t[304]!==st||t[305]!==it||t[306]!==lt||t[307]!==ct||t[308]!==dt||t[309]!==pt||t[310]!==ut||t[311]!==mt||t[312]!==ft||t[313]!==gt||t[314]!==ht||t[315]!==vt||t[316]!==bt||t[317]!==xt||t[318]!==yt||t[319]!==Pt||t[320]!==Ct||t[321]!==St||t[322]!==Rt?(Co={advisorHealth:Be,agents:Fe,evals:je,aiUsage:ze,analytics:Ke,api:Ue,audit:Ze,authAudit:We,authConfig:qe,architecture:$e,authSessions:Ge,containers:Qe,dashboards:Ye,data:Je,deploymentHealth:Xe,drains:et,export:tt,fanout:ot,files:rt,flags:nt,functions:at,health:st,home:it,insights:lt,issues:ct,logs:dt,metrics:pt,migrations:ut,notifications:mt,organizations:ft,pitr:gt,mail:ht,payments:vt,permissions:bt,queues:xt,reactors:yt,realtime:Pt,rls:Ct,schedule:St,schema:Rt,security:Tt,settings:Nt,sql:wt,kv:Et,storageRules:kt,traces:Ot,users:Dt,vectors:Mt,workflows:It},t[274]=Tt,t[275]=Nt,t[276]=wt,t[277]=Et,t[278]=kt,t[279]=Ot,t[280]=Dt,t[281]=Mt,t[282]=It,t[283]=Be,t[284]=Fe,t[285]=je,t[286]=ze,t[287]=Ke,t[288]=Ue,t[289]=Ze,t[290]=We,t[291]=qe,t[292]=$e,t[293]=Ge,t[294]=Qe,t[295]=Ye,t[296]=Je,t[297]=Xe,t[298]=et,t[299]=tt,t[300]=ot,t[301]=rt,t[302]=nt,t[303]=at,t[304]=st,t[305]=it,t[306]=lt,t[307]=ct,t[308]=dt,t[309]=pt,t[310]=ut,t[311]=mt,t[312]=ft,t[313]=gt,t[314]=ht,t[315]=vt,t[316]=bt,t[317]=xt,t[318]=yt,t[319]=Pt,t[320]=Ct,t[321]=St,t[322]=Rt,t[323]=Co):Co=t[323];let hr=Co,So;return t[324]!==gr||t[325]!==hr||t[326]!==Ie?(So={groupLabel:gr,tabDescription:hr,tabLabel:Ie},t[324]=gr,t[325]=hr,t[326]=Ie,t[327]=So):So=t[327],So},"_a"),el=s(()=>{let t=(0,I.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,a.jsxs)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:[(0,a.jsx)("rect",{height:"14",rx:"2",width:"20",x:"2",y:"3"}),(0,a.jsx)("path",{d:"M8 21h8M12 17v4"})]}),t[0]=e):e=t[0],e},"Ta"),tl=s(()=>{let t=(0,I.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,a.jsxs)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"4"}),(0,a.jsx)("path",{d:"M12 2v2m0 16v2M4.9 4.9l1.4 1.4m11.4 11.4 1.4 1.4M2 12h2m16 0h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]}),t[0]=e):e=t[0],e},"Aa"),ol=s(()=>{let t=(0,I.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,a.jsx)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z"})}),t[0]=e):e=t[0],e},"La"),rl=[{Icon:el,value:"system"},{Icon:tl,value:"light"},{Icon:ol,value:"dark"}],nl=s(()=>{let t=(0,I.c)(19),{theme:e,setTheme:o}=ui(),r=fe(),n;t[0]!==r?(n=r("Dark theme"),t[0]=r,t[1]=n):n=t[1];let i;t[2]!==r?(i=r("Light theme"),t[2]=r,t[3]=i):i=t[3];let l;t[4]!==r?(l=r("System theme"),t[4]=r,t[5]=l):l=t[5];let c;t[6]!==n||t[7]!==i||t[8]!==l?(c={dark:n,light:i,system:l},t[6]=n,t[7]=i,t[8]=l,t[9]=c):c=t[9];let p=c,d;t[10]!==r?(d=r("Theme"),t[10]=r,t[11]=d):d=t[11];let u;t[12]!==p||t[13]!==o||t[14]!==e?(u=rl.map(h=>{let{Icon:g,value:m}=h,x=e===m;return(0,a.jsxs)("button",{"aria-checked":x,"aria-label":p[m],className:U("relative flex size-7 cursor-pointer items-center justify-center rounded-md outline-none transition-colors focus-visible:bg-accent",x?"text-foreground":"text-muted-foreground hover:text-foreground"),"data-testid":`dash-app-theme-${m}`,onClick:s(()=>{o(m)},"onClick"),role:"radio",title:p[m],type:"button",children:[x&&(0,a.jsx)(zn.span,{className:"absolute inset-0 rounded-md border border-muted-foreground/40 bg-background/40",layoutId:"studio-theme-active",transition:{bounce:.1,duration:.45,type:"spring"}}),(0,a.jsx)("span",{className:"relative",children:(0,a.jsx)(g,{})})]},m)}),t[12]=p,t[13]=o,t[14]=e,t[15]=u):u=t[15];let f;return t[16]!==d||t[17]!==u?(f=(0,a.jsx)("div",{"aria-label":d,className:"inline-flex items-center gap-0.5 overflow-hidden rounded-md border border-border bg-muted/60 p-0.5","data-testid":"dash-app-theme",role:"radiogroup",children:u}),t[16]=d,t[17]=u,t[18]=f):f=t[18],f},"Ra"),al=s(t=>{let e=(0,I.c)(23),{domain:o,onOpenCommandPalette:r,page:n}=t,i=fe(),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=(0,a.jsx)(Li,{className:"-ms-1"}),e[0]=l):l=e[0];let c;e[1]!==i?(c=i("Breadcrumb"),e[1]=i,e[2]=c):c=e[2];let p;e[3]!==o?(p=(0,a.jsx)("span",{className:"text-muted-foreground",children:o}),e[3]=o,e[4]=p):p=e[4];let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=(0,a.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 text-muted-foreground/60",fill:"none",stroke:"currentColor",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"m9 6 6 6-6 6",strokeLinecap:"round",strokeLinejoin:"round"})}),e[5]=d):d=e[5];let u;e[6]!==n?(u=(0,a.jsx)("span",{className:"font-medium text-foreground",children:n}),e[6]=n,e[7]=u):u=e[7];let f;e[8]!==c||e[9]!==p||e[10]!==u?(f=(0,a.jsxs)("nav",{"aria-label":c,className:"flex items-center gap-1.5 text-[13px]",children:[p,d,u]}),e[8]=c,e[9]=p,e[10]=u,e[11]=f):f=e[11];let h;e[12]===Symbol.for("react.memo_cache_sentinel")?(h=(0,a.jsxs)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:1.8,viewBox:"0 0 24 24",children:[(0,a.jsx)("circle",{cx:"11",cy:"11",r:"7"}),(0,a.jsx)("path",{d:"m21 21-4.3-4.3",strokeLinecap:"round"})]}),e[12]=h):h=e[12];let g;e[13]!==i?(g=i("Search\u2026"),e[13]=i,e[14]=g):g=e[14];let m;e[15]===Symbol.for("react.memo_cache_sentinel")?(m=(0,a.jsx)("kbd",{className:"ms-auto rounded border border-border bg-background px-1 font-sans text-[10px] text-muted-foreground",children:"\u2318K"}),e[15]=m):m=e[15];let x;e[16]!==r||e[17]!==g?(x=(0,a.jsxs)("button",{className:"mx-auto hidden h-8 w-72 items-center gap-2 rounded-lg border border-border bg-muted/40 px-3 text-xs text-muted-foreground transition-colors hover:bg-muted md:flex","data-testid":"dash-app-search",onClick:r,type:"button",children:[h,g,m]}),e[16]=r,e[17]=g,e[18]=x):x=e[18];let v;e[19]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)("div",{className:"ms-auto flex items-center gap-1.5 md:ms-0",children:(0,a.jsx)(nl,{})}),e[19]=v):v=e[19];let b;return e[20]!==x||e[21]!==f?(b=(0,a.jsxs)("header",{className:"flex h-11 shrink-0 items-center gap-2 border-b border-border px-4","data-testid":"dash-app-header",children:[l,f,x,v]}),e[20]=x,e[21]=f,e[22]=b):b=e[22],b},"Ea"),sl={agents:{capability:"agents"},analytics:{capability:"analytics",feature:"analytics"},authAudit:{feature:"auth"},authConfig:{feature:"auth"},authSessions:{feature:"auth"},containers:{capability:"containers",feature:"containers"},fanout:{capability:"crossShardFanout"},files:{capability:"objectStorage",feature:"storage"},flags:{feature:"flags"},kv:{capability:"keyValueStore",feature:"kv"},mail:{capability:"mail",feature:"mail"},notifications:{feature:"notifications"},organizations:{feature:"auth"},payments:{feature:"payments"},pitr:{capability:"pointInTimeRecovery"},queues:{capability:"queues",feature:"queues"},reactors:{capability:"serverReactors"},schedule:{capability:"scheduler",feature:"scheduler"},storageRules:{feature:"storage"},users:{feature:"auth"},vectors:{capability:"vectorStore",feature:"vectors"},workflows:{capability:"workflows",feature:"workflows"}},il={agents:"Durable agents",analytics:"Analytics",containers:"Containers",crossShardFanout:"Cross-shard fan-out",keyValueStore:"Key-value storage",mail:"Mail delivery",objectStorage:"Object storage",pointInTimeRecovery:"Point-in-time recovery",queues:"Queues",scheduler:"Scheduling",serverReactors:"Server reactors",vectorStore:"Vector search",workflows:"Workflows"},ll={kind:"hidden"},Ms={kind:"ok"},cl={kind:"pending"},Us=s((t,e,o)=>{let r=sl[t];return r?.feature!==void 0&&!e[r.feature]?ll:r?.capability===void 0?Ms:e.settled?e.platform?.unsupported.includes(r.capability)===!0?{kind:"unavailable",reason:o("{capability} is not supported on {platform}.",{capability:o(il[r.capability]),platform:e.platform.name})}:Ms:cl},"as"),dl=s((t,e,o)=>{let r={},n=[];for(let i of t){let l=[];for(let c of i.tabs){let p=Us(c,e,o);p.kind!=="hidden"&&l.push(c),p.kind==="unavailable"&&(r[c]=p.reason)}l.length>0&&n.push({...i,tabs:l})}return{unavailable:r,visibleGroups:n}},"za"),pl=s(t=>{let e=(0,I.c)(3),{reason:o,title:r}=t,n;return e[0]!==o||e[1]!==r?(n=(0,a.jsx)(Fn,{description:o,testId:"dash-unsupported",title:r}),e[0]=o,e[1]=r,e[2]=n):n=e[2],n},"Da"),ul=s(t=>{let e=(0,I.c)(4),{console:o}=Wo(),r,n;e[0]!==o||e[1]!==t?(r=s(()=>{if(t===void 0)return;let i=s(l=>{if(!l.ctrlKey||l.metaKey||l.altKey||l.shiftKey||l.repeat||l.key.toLowerCase()!==o)return;let{target:c}=l;c instanceof HTMLElement&&(c.isContentEditable||["INPUT","SELECT","TEXTAREA"].includes(c.tagName))||(l.preventDefault(),t())},"r");return globalThis.addEventListener("keydown",i),()=>{globalThis.removeEventListener("keydown",i)}},"a"),n=[o,t],e[0]=o,e[1]=t,e[2]=r,e[3]=n):(r=e[2],n=e[3]),(0,O.useEffect)(r,n)},"Oa"),J=s((t,e)=>(0,O.lazy)(()=>t().then(o=>({default:o[e]}))),"R"),ml=J(()=>import("./chunk-SM5CYYUT.js"),"InsightsPanel"),fl=(0,O.lazy)(()=>import("./chunk-5KP5IU5E.js")),gl=(0,O.lazy)(()=>import("./chunk-YVBS5GE4.js")),hl=(0,O.lazy)(()=>import("./chunk-UQQK4I2D.js")),vl=(0,O.lazy)(()=>import("./chunk-UXPWK6IB.js")),bl=J(()=>import("./chunk-PIMTWCRD.js"),"AnalyticsPanel"),xl=(0,O.lazy)(()=>import("./chunk-4A4QVEIO.js")),yl=(0,O.lazy)(()=>import("./chunk-4XY6P6O2.js")),Pl=(0,O.lazy)(()=>import("./chunk-KDTQ2KSC.js")),Cl=(0,O.lazy)(()=>import("./chunk-RNVKILOD.js")),Sl=(0,O.lazy)(()=>import("./chunk-BHDKS2I4.js")),Rl=(0,O.lazy)(()=>import("./chunk-LM2KKPPN.js")),Tl=J(()=>import("./chunk-JLZ2PI6F.js"),"UsersPanel"),Nl=(0,O.lazy)(()=>import("./chunk-5D4HDDZA.js")),wl=J(()=>import("./chunk-BR6TAX5O.js"),"DeploymentHealthPanel"),El=J(()=>import("./chunk-P43E42JJ.js"),"TableEditor"),kl=J(()=>import("./chunk-7D5NHCBE.js"),"ExportImportPanel"),Ol=(0,O.lazy)(()=>import("./chunk-MMJF6WFU.js")),Dl={data:Zn,migrations:Wn},Ml=J(()=>import("./chunk-NW4XO52E.js"),"PitrPanel"),Il=(0,O.lazy)(()=>import("./chunk-ADAFJBAB.js")),_l=(0,O.lazy)(()=>import("./chunk-2C2CK4OP.js")),Al=J(()=>import("./chunk-M4BJ3P5W.js"),"FunctionRunner"),Vl=J(()=>import("./chunk-IENIP4IW.js"),"FunctionStatsPanel"),Ll=(0,O.lazy)(()=>import("./chunk-VKPTDZGY.js")),Hl=J(()=>import("./chunk-JHIDJTHX.js"),"AuditPanel"),Bl=(0,O.lazy)(()=>import("./chunk-JZGTSH2C.js")),Fl=(0,O.lazy)(()=>import("./chunk-MRQMB65H.js").then(t=>({default:t.LogsPanel}))),jl=J(()=>import("./chunk-UUPMVJHZ.js"),"MailPanel"),zl=J(()=>import("./chunk-TOIWQ6LA.js"),"SchedulePanel"),Kl=(0,O.lazy)(()=>import("./chunk-TWWVNOAL.js")),Ul=(0,O.lazy)(()=>import("./chunk-MH42XT6B.js")),Zl=J(()=>import("./chunk-J3HF2D46.js"),"KvBrowser"),Wl=(0,O.lazy)(()=>import("./chunk-4TSESMZM.js")),ql=J(()=>import("./chunk-6UECMMYG.js"),"PaymentsPanel"),$l=J(()=>import("./chunk-MBH2ZRBW.js"),"PermissionsPanel"),Gl=(0,O.lazy)(()=>import("./chunk-MYFJH57W.js")),Ql=(0,O.lazy)(()=>import("./chunk-VKDK5EWH.js")),Yl=(0,O.lazy)(()=>import("./chunk-KLHSMDVW.js")),Jl=J(()=>import("./chunk-FKYCRYXM.js"),"HealthPanel"),Xl=J(()=>import("./chunk-YEJ47BXF.js"),"MetricsPanel"),ec=J(()=>import("./chunk-JTPQGMK5.js"),"SchemaViewer"),tc=J(()=>import("./chunk-XVXRQ6HL.js"),"SettingsPanel"),oc=J(()=>import("./chunk-3INQBLUL.js"),"SqlEditorPanel"),rc=J(()=>import("./chunk-RDHCHWRR.js"),"FileBrowser"),nc=(0,O.lazy)(()=>import("./chunk-OV6S2DI2.js")),ac=(0,O.lazy)(()=>import("./chunk-2QRQ47DY.js")),sc=(0,O.lazy)(()=>import("./chunk-U6MPCRR7.js")),ic=(0,O.lazy)(()=>import("./chunk-A6SCRA33.js")),lc=J(()=>import("./chunk-UBX37H3F.js"),"VectorBrowser"),cc=(0,O.lazy)(()=>import("./chunk-ENSF4SFQ.js")),Zs=(0,O.createContext)(null),dc={analytics:(0,a.jsx)("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"}),api:(0,a.jsx)("path",{d:"m9 8-4 4 4 4m6-8 4 4-4 4M13 5l-2 14"}),architecture:(0,a.jsx)("path",{d:"M4 4h6v5H4V4Zm10 0h6v5h-6V4ZM9 15h6v5H9v-5ZM7 9v3h10V9M12 12v3"}),audit:(0,a.jsx)("path",{d:"M7 4h7l4 4v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1Zm6 0v5h5M9 13h6M9 16h6M9 10h2"}),authAudit:(0,a.jsx)("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-3 8h6m-6 3h6"}),authConfig:(0,a.jsx)("path",{d:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7.4-3a7.4 7.4 0 0 0-.1-1.2l2-1.6-2-3.4-2.4 1a7.3 7.3 0 0 0-2-1.2l-.4-2.6h-3.6l-.4 2.6a7.3 7.3 0 0 0-2 1.2l-2.4-1-2 3.4 2 1.6a7.4 7.4 0 0 0 0 2.4l-2 1.6 2 3.4 2.4-1a7.3 7.3 0 0 0 2 1.2l.4 2.6h3.6l.4-2.6a7.3 7.3 0 0 0 2-1.2l2.4 1 2-3.4-2-1.6a7.4 7.4 0 0 0 .1-1.2Z"}),agents:(0,a.jsx)("path",{d:"M12 8V5m0 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM6 8h12a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2Zm3 5h.01M15 13h.01M9 21h6"}),authSessions:(0,a.jsx)("path",{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-13.5V12l4 2"}),containers:(0,a.jsx)("path",{d:"M3 7.5 12 3l9 4.5v9L12 21l-9-4.5v-9Zm0 0 9 4.5m0 0 9-4.5m-9 4.5V21"}),dashboards:(0,a.jsx)("path",{d:"M4 5h7v6H4V5Zm9 0h7v4h-7V5ZM4 14h7v5H4v-5Zm9-1h7v6h-7v-6Z"}),deploymentHealth:(0,a.jsx)("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-3 8 2 3 4-5"}),drains:(0,a.jsx)("path",{d:"M5 5h14M7 5v6a5 5 0 0 0 10 0V5M10 16h4v3h-4zM12 19v2"}),data:(0,a.jsx)("path",{d:"M5 6c0-1.4 3.1-2.5 7-2.5s7 1.1 7 2.5-3.1 2.5-7 2.5S5 7.4 5 6Zm0 0v12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5V6M5 12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5"}),export:(0,a.jsx)("path",{d:"M12 3v11m0 0 4-4m-4 4-4-4M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"}),fanout:(0,a.jsx)("path",{d:"M12 5a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-7 16a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm14 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM12 7v3.5M12 10.5 6 17m6-6.5 6 6.5"}),files:(0,a.jsx)("path",{d:"M4 7a2 2 0 0 1 2-2h3l2 2.5h7a2 2 0 0 1 2 2V18a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7Z"}),flags:(0,a.jsx)("path",{d:"M6 21V4m0 0h11l-2 3 2 3H6"}),functions:(0,a.jsx)("path",{d:"m9 8-4 4 4 4m6-8 4 4-4 4"}),evals:(0,a.jsx)("path",{d:"M4 19V5m0 14h16M8 15l3-4 3 3 4-6M8 15v.01"}),aiUsage:(0,a.jsx)("path",{d:"M12 3v3m0 12v3M5.6 5.6l2.1 2.1m8.6 8.6 2.1 2.1M3 12h3m12 0h3M5.6 18.4l2.1-2.1m8.6-8.6 2.1-2.1M12 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z"}),health:(0,a.jsx)("path",{d:"M3 12h4l2 6 4-14 2 8h6"}),home:(0,a.jsx)("path",{d:"M3 11.5 12 4l9 7.5M5 10v9a1 1 0 0 0 1 1h4v-6h4v6h4a1 1 0 0 0 1-1v-9"}),insights:(0,a.jsx)("path",{d:"M12 3a6 6 0 0 0-3.6 10.8c.5.4.8.9.9 1.5l.2 1.2h5l.2-1.2c.1-.6.4-1.1.9-1.5A6 6 0 0 0 12 3ZM9.5 20.5h5M10 18h4"}),issues:(0,a.jsx)("path",{d:"M10.3 4.3 2.5 18a2 2 0 0 0 1.7 3h15.6a2 2 0 0 0 1.7-3L13.7 4.3a2 2 0 0 0-3.4 0ZM12 9v4m0 3v.01"}),kv:(0,a.jsx)("path",{d:"M5 5h14v4H5V5Zm0 5h14v4H5v-4Zm0 5h14v4H5v-4Z"}),logs:(0,a.jsx)("path",{d:"M5 6h14M5 10h14M5 14h9M5 18h11"}),mail:(0,a.jsx)("path",{d:"M4 5h16v14H4V5Zm0 1.5 8 6 8-6"}),payments:(0,a.jsx)("path",{d:"M3 7h18v10H3V7Zm0 3h18M7 14h4"}),metrics:(0,a.jsx)("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"}),migrations:(0,a.jsx)("path",{d:"M4 12a8 8 0 0 1 13.7-5.6L20 8M20 4v4h-4M20 12a8 8 0 0 1-13.7 5.6L4 16m0 4v-4h4"}),notifications:(0,a.jsx)("path",{d:"M15 17h5l-1.4-1.4A2 2 0 0 1 18 14.2V11a6 6 0 0 0-4-5.7V5a2 2 0 1 0-4 0v.3A6 6 0 0 0 6 11v3.2a2 2 0 0 1-.6 1.4L4 17h5m6 0v1a3 3 0 1 1-6 0v-1m6 0H9"}),organizations:(0,a.jsx)("path",{d:"M3 21V8l6-4 6 4v13M9 21v-5h2v5M15 11h6v10M18 14v.01M18 17v.01M6 9v.01M6 12v.01M6 15v.01"}),permissions:(0,a.jsx)("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-3 8 2.2 2.2L15 9.5M8.5 16h7"}),pitr:(0,a.jsx)("path",{d:"M12 21a9 9 0 1 0-9-9M12 7.5V12l3 2M3 12l-2-2m2 2 2-2"}),queues:(0,a.jsx)("path",{d:"M4 6h16M4 10h16M4 14h10M4 18h10m4-2 3 2-3 2v-4Z"}),reactors:(0,a.jsx)("path",{d:"M4 4v6h6M20 20v-6h-6M20 9a8 8 0 0 0-14.7-3M4 15a8 8 0 0 0 14.7 3"}),realtime:(0,a.jsx)("path",{d:"M5 12a7 7 0 0 1 14 0M8 12a4 4 0 0 1 8 0M12 12v8m0-8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"}),rls:(0,a.jsx)("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3ZM8.5 10h7M8.5 13h7"}),schedule:(0,a.jsx)("path",{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-13.5V12l4 2"}),schema:(0,a.jsx)("path",{d:"M4 5h16v14H4V5Zm0 5h16M10 10v9M4 14.5h16"}),sql:(0,a.jsx)("path",{d:"M4 5h16v14H4V5Zm3 4 3 3-3 3m6 0h4"}),storageRules:(0,a.jsx)("path",{d:"M7 10V7a5 5 0 0 1 10 0v3m-11 0h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1Zm6 4v2"}),advisorHealth:(0,a.jsx)("path",{d:"M3 12h4l2-5 3 10 2-5h5"}),security:(0,a.jsx)("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-2.5 8.5 2 2 4-4"}),traces:(0,a.jsx)("path",{d:"M3 6h9M6 12h12M10 18h7"}),settings:(0,a.jsx)("path",{d:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7.4-3a7.4 7.4 0 0 0-.1-1.2l2-1.6-2-3.4-2.4 1a7.3 7.3 0 0 0-2-1.2l-.4-2.6H10.5l-.4 2.6a7.3 7.3 0 0 0-2 1.2l-2.4-1-2 3.4 2 1.6a7.4 7.4 0 0 0 0 2.4l-2 1.6 2 3.4 2.4-1a7.3 7.3 0 0 0 2 1.2l.4 2.6h3.6l.4-2.6a7.3 7.3 0 0 0 2-1.2l2.4 1 2-3.4-2-1.6a7.4 7.4 0 0 0 .1-1.2Z"}),users:(0,a.jsx)("path",{d:"M16 20v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2M9.5 10a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm11.5 10v-2a4 4 0 0 0-3-3.85M16 3.13A4 4 0 0 1 16 11"}),vectors:(0,a.jsx)("path",{d:"M4 7l8-4 8 4-8 4-8-4Zm0 5 8 4 8-4M4 17l8 4 8-4"}),workflows:(0,a.jsx)("path",{d:"M5 5h5v5H5V5Zm9 9h5v5h-5v-5ZM7.5 10v2a2 2 0 0 0 2 2H14m2.5-4V8a2 2 0 0 0-2-2H10"})},Is=[{key:"overview",tabs:["home","dashboards"]},{key:"database",tabs:["data","sql","schema","migrations","vectors","pitr","export"]},{key:"functions",tabs:["functions","api","architecture","workflows","agents","queues"]},{key:"auth",tabs:["users","organizations","authSessions","authAudit","authConfig"]},{key:"storage",tabs:["files","storageRules","kv"]},{key:"observability",tabs:["issues","logs","traces","evals","aiUsage","audit","realtime","reactors","fanout","containers","metrics","analytics","health","deploymentHealth"]},{key:"advisors",tabs:["advisorHealth","security","rls","permissions","insights"]},{key:"operations",tabs:["schedule","mail","drains","notifications","payments","flags"]},{key:"settings",tabs:["settings"]}],Zr=s(t=>{let e=(0,I.c)(2),{tab:o}=t,r=dc[o],n;return e[0]!==r?(n=(0,a.jsx)("svg",{"aria-hidden":"true",className:"size-4 shrink-0",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:r}),e[0]=r,e[1]=n):n=e[1],n},"_t"),pc=s(t=>t,"Oo"),Ws=pc(["home","data","sql","functions","api","architecture","workflows","agents","queues","containers","schema","migrations","vectors","export","pitr","users","organizations","authSessions","authAudit","authConfig","files","storageRules","kv","dashboards","metrics","analytics","health","deploymentHealth","advisorHealth","security","rls","permissions","insights","issues","logs","traces","evals","aiUsage","reactors","realtime","fanout","mail","notifications","payments","audit","schedule","drains","flags","settings"]),uc=new Set(["api","data","migrations","sql"]),mc=s(t=>{let e=t.split("/").findLast(Boolean)??"";return Ws.includes(e)?e:"home"},"qo"),fc=s(t=>{let e=(0,I.c)(19),{chrome:o,connected:r}=t,n=fe(),i;e[0]!==n?(i=n("admin token"),e[0]=n,e[1]=i):i=e[1];let l;e[2]!==i?(l=(0,a.jsx)("label",{className:"text-xs font-medium text-foreground",htmlFor:"dash-app-token",children:i}),e[2]=i,e[3]=l):l=e[3];let c;e[4]!==o.onTokenChange||e[5]!==o.token?(c=(0,a.jsx)(Cr,{className:"h-8","data-testid":"dash-app-token",id:"dash-app-token",onChange:o.onTokenChange,placeholder:"LUNORA_ADMIN_TOKEN",type:"password",value:o.token}),e[4]=o.onTokenChange,e[5]=o.token,e[6]=c):c=e[6];let p;e[7]!==r||e[8]!==n?(p=r&&(0,a.jsxs)("p",{className:"flex items-start gap-1.5 text-[11px] text-muted-foreground","data-testid":"dash-app-token-warning",role:"note",children:[(0,a.jsx)("span",{"aria-hidden":"true",className:"text-warning",children:"\u26A0"}),n("Token rides the WebSocket URL \u2014 it can surface in browser DevTools and server logs. Use a dev-only token.")]}),e[7]=r,e[8]=n,e[9]=p):p=e[9];let d;e[10]!==o.clearToken||e[11]!==r||e[12]!==n?(d=r&&(0,a.jsx)("button",{className:"self-start rounded-md border border-border px-2.5 py-1 text-xs font-medium outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"dash-app-clear-token",onClick:o.clearToken,type:"button",children:n("Clear")}),e[10]=o.clearToken,e[11]=r,e[12]=n,e[13]=d):d=e[13];let u;return e[14]!==l||e[15]!==c||e[16]!==p||e[17]!==d?(u=(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[l,c,p,d]}),e[14]=l,e[15]=c,e[16]=p,e[17]=d,e[18]=u):u=e[18],u},"Fo"),qs="opacity-50",gc=s(t=>{let e=(0,I.c)(27),{current:o,group:r,groupLabel:n,selectTab:i,tabDescription:l,tabLabel:c,unavailable:p}=t,d=r.tabs.includes(o)?"page":void 0,u=n[r.key],f=r.tabs[0],h;e[0]!==f?(h=(0,a.jsx)(Zr,{tab:f}),e[0]=f,e[1]=h):h=e[1];let g;e[2]!==d||e[3]!==u||e[4]!==h?(g=(0,a.jsx)(Fs,{"aria-current":d,"aria-label":u,className:"mx-auto flex size-8 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:bg-sidebar-accent data-[popup-open]:bg-sidebar-accent data-[popup-open]:text-sidebar-accent-foreground data-[popup-open]:shadow-xs aria-[current=page]:bg-sidebar-accent aria-[current=page]:text-sidebar-accent-foreground aria-[current=page]:shadow-xs",delay:120,openOnHover:!0,children:h}),e[2]=d,e[3]=u,e[4]=h,e[5]=g):g=e[5];let m=n[r.key],x;e[6]!==m?(x=(0,a.jsx)("div",{className:"px-2 py-1.5 text-[11px] font-medium tracking-wider text-muted-foreground uppercase",children:m}),e[6]=m,e[7]=x):x=e[7];let v;if(e[8]!==o||e[9]!==r.tabs||e[10]!==i||e[11]!==l||e[12]!==c||e[13]!==p){let y;e[15]!==o||e[16]!==i||e[17]!==l||e[18]!==c||e[19]!==p?(y=s(S=>(0,a.jsxs)("button",{"aria-current":o===S?"page":void 0,className:U("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent aria-[current=page]:bg-accent aria-[current=page]:font-medium [&_svg]:opacity-70 aria-[current=page]:[&_svg]:opacity-100",p[S]!==void 0&&qs),"data-tab":S,"data-testid":`dash-tab-${S}`,"data-unsupported":p[S]===void 0?void 0:"true",onClick:i,title:l[S],type:"button",children:[(0,a.jsx)(Zr,{tab:S}),(0,a.jsx)("span",{children:c[S]})]},S),"x"),e[15]=o,e[16]=i,e[17]=l,e[18]=c,e[19]=p,e[20]=y):y=e[20],v=r.tabs.map(y),e[8]=o,e[9]=r.tabs,e[10]=i,e[11]=l,e[12]=c,e[13]=p,e[14]=v}else v=e[14];let b;e[21]!==x||e[22]!==v?(b=(0,a.jsxs)(js,{align:"start",className:"w-56 p-1",side:"right",sideOffset:8,children:[x,v]}),e[21]=x,e[22]=v,e[23]=b):b=e[23];let P;return e[24]!==g||e[25]!==b?(P=(0,a.jsxs)(Bs,{children:[g,b]}),e[24]=g,e[25]=b,e[26]=P):P=e[26],P},"Wo"),hc=s(t=>{let e=(0,I.c)(45),{chrome:o,collapsed:r,connected:n}=t,i=fe();if(o===null){let y;e[0]!==i?(y=i("Admin"),e[0]=i,e[1]=y):y=e[1];let S;e[2]===Symbol.for("react.memo_cache_sentinel")?(S=(0,a.jsx)("span",{className:"flex size-8 items-center justify-center rounded-full bg-sidebar-accent text-[11px] font-medium",children:"C"}),e[2]=S):S=e[2];let C;e[3]!==i?(C=i("Admin"),e[3]=i,e[4]=C):C=e[4];let w;e[5]!==C?(w=(0,a.jsx)("span",{className:"truncate text-[13px] font-medium",children:C}),e[5]=C,e[6]=w):w=e[6];let R;e[7]!==i?(R=i("Studio"),e[7]=i,e[8]=R):R=e[8];let N;e[9]!==R?(N=(0,a.jsx)("span",{className:"truncate text-[11px] text-muted-foreground",children:R}),e[9]=R,e[10]=N):N=e[10];let E;e[11]!==w||e[12]!==N?(E=(0,a.jsxs)("span",{className:"grid flex-1 text-start leading-tight",children:[w,N]}),e[11]=w,e[12]=N,e[13]=E):E=e[13];let k;return e[14]!==y||e[15]!==E?(k=(0,a.jsxs)(Ks,{className:"data-active:bg-transparent",size:"lg",tooltip:y,children:[S,E]}),e[14]=y,e[15]=E,e[16]=k):k=e[16],k}let l=r?"mx-auto size-8 justify-center":"w-full p-2",c;e[17]!==l?(c=U("flex items-center gap-2 rounded-md text-start outline-none transition-colors hover:bg-sidebar-accent focus-visible:bg-sidebar-accent",l),e[17]=l,e[18]=c):c=e[18];let p;e[19]!==n||e[20]!==i?(p=i(n?"Connected":"Not connected"),e[19]=n,e[20]=i,e[21]=p):p=e[21];let d=n?"bg-success":"bg-muted-foreground/50",u;e[22]!==d?(u=U("absolute -end-0.5 -bottom-0.5 size-2.5 rounded-full border-2 border-sidebar",d),e[22]=d,e[23]=u):u=e[23];let f;e[24]!==u?(f=(0,a.jsxs)("span",{className:"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-sidebar-accent text-[11px] font-medium",children:["C",(0,a.jsx)("span",{"aria-hidden":"true",className:u})]}),e[24]=u,e[25]=f):f=e[25];let h;e[26]!==r||e[27]!==n||e[28]!==i?(h=!r&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("span",{className:"grid flex-1 text-start leading-tight",children:[(0,a.jsx)("span",{className:"truncate text-[13px] font-medium",children:i("Admin")}),(0,a.jsx)("span",{className:"truncate text-[11px] text-muted-foreground",children:i(n?"Connected":"Not connected")})]}),(0,a.jsx)("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"m8 9 4-4 4 4M8 15l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"})})]}),e[26]=r,e[27]=n,e[28]=i,e[29]=h):h=e[29];let g;e[30]!==c||e[31]!==p||e[32]!==f||e[33]!==h?(g=(0,a.jsxs)(Fs,{className:c,"data-testid":"dash-app-connect",title:p,children:[f,h]}),e[30]=c,e[31]=p,e[32]=f,e[33]=h,e[34]=g):g=e[34];let m=r?"end":"start",x=r?"right":"top",v;e[35]!==o||e[36]!==n?(v=(0,a.jsx)(fc,{chrome:o,connected:n}),e[35]=o,e[36]=n,e[37]=v):v=e[37];let b;e[38]!==x||e[39]!==v||e[40]!==m?(b=(0,a.jsx)(js,{align:m,keepMounted:!0,side:x,children:v}),e[38]=x,e[39]=v,e[40]=m,e[41]=b):b=e[41];let P;return e[42]!==b||e[43]!==g?(P=(0,a.jsxs)(Bs,{children:[g,b]}),e[42]=b,e[43]=g,e[44]=P):P=e[44],P},"Uo"),vc=s(t=>{let e=(0,I.c)(29),{chrome:o,connected:r,current:n,groupLabel:i,groups:l,selectTab:c,tabDescription:p,tabLabel:d,unavailable:u}=t,f=fe(),{state:h}=fr(),g=h==="collapsed",m=g&&"justify-center px-0",x;e[0]!==m?(x=U("flex items-center gap-2.5 px-1.5 py-1",m),e[0]=m,e[1]=x):x=e[1];let v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,a.jsx)(hi,{className:"size-9 shrink-0 text-foreground"}),e[2]=v):v=e[2];let b;e[3]!==g||e[4]!==r||e[5]!==f?(b=!g&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("span",{className:"grid flex-1 leading-tight",children:[(0,a.jsx)("span",{className:"truncate text-sm font-semibold text-foreground",children:"lunora"}),(0,a.jsx)("span",{className:"truncate text-[11px] text-muted-foreground",children:f("Studio")})]}),(0,a.jsx)(_t,{className:"px-1.5 text-[10px] tracking-wider uppercase",variant:"secondary",children:f(r?"Live":"Local")})]}),e[3]=g,e[4]=r,e[5]=f,e[6]=b):b=e[6];let P;e[7]!==x||e[8]!==b?(P=(0,a.jsx)(Bi,{children:(0,a.jsxs)("div",{className:x,children:[v,b]})}),e[7]=x,e[8]=b,e[9]=P):P=e[9];let y;e[10]!==g||e[11]!==n||e[12]!==i||e[13]!==l||e[14]!==c||e[15]!==p||e[16]!==d||e[17]!==u?(y=g?l.map(R=>(0,a.jsx)(gc,{current:n,group:R,groupLabel:i,selectTab:c,tabDescription:p,tabLabel:d,unavailable:u},R.key)):l.map(R=>(0,a.jsxs)(zi,{children:[(0,a.jsx)(Ki,{className:"text-[11px] font-medium tracking-wider uppercase",children:i[R.key]}),(0,a.jsx)(Ui,{children:(0,a.jsx)(Os,{children:R.tabs.map(N=>(0,a.jsx)(Ds,{children:(0,a.jsxs)(Ks,{className:U("data-active:text-foreground dark:data-active:text-royal-amethyst data-active:shadow-[inset_2px_0_0_0_var(--royal-amethyst)]",u[N]!==void 0&&qs),"data-tab":N,"data-testid":`dash-tab-${N}`,"data-unsupported":u[N]===void 0?void 0:"true",isActive:n===N,onClick:c,title:p[N],tooltip:p[N],children:[(0,a.jsx)(Zr,{tab:N}),(0,a.jsx)("span",{children:d[N]})]})},N))})})]},R.key)),e[10]=g,e[11]=n,e[12]=i,e[13]=l,e[14]=c,e[15]=p,e[16]=d,e[17]=u,e[18]=y):y=e[18];let S;e[19]!==y?(S=(0,a.jsx)(ji,{children:y}),e[19]=y,e[20]=S):S=e[20];let C;e[21]!==o||e[22]!==g||e[23]!==r?(C=(0,a.jsx)(Fi,{children:(0,a.jsx)(Os,{children:(0,a.jsx)(Ds,{children:(0,a.jsx)(hc,{chrome:o,collapsed:g,connected:r})})})}),e[21]=o,e[22]=g,e[23]=r,e[24]=C):C=e[24];let w;return e[25]!==P||e[26]!==S||e[27]!==C?(w=(0,a.jsxs)(Vi,{collapsible:"icon",variant:"inset",children:[P,S,C]}),e[25]=P,e[26]=S,e[27]=C,e[28]=w):w=e[28],w},"jo"),qr=s(()=>{let t=(0,I.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"dash-pending",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(Zo,{className:"h-8 w-40"}),(0,a.jsx)(Zo,{className:"h-8 w-24"})]}),(0,a.jsx)(Zo,{className:"h-72 w-full"})]}),t[0]=e):e=t[0],e},"Lt"),bc=s(t=>{let e=(0,I.c)(5),{title:o,verdict:r}=t;if(r.kind==="pending"){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=(0,a.jsx)(qr,{}),e[0]=i):i=e[0],i}if(r.kind==="unavailable"){let i;return e[1]!==o||e[2]!==r.reason?(i=(0,a.jsx)(pl,{reason:r.reason,title:o}),e[1]=o,e[2]=r.reason,e[3]=i):i=e[3],i}let n;return e[4]===Symbol.for("react.memo_cache_sentinel")?(n=(0,a.jsx)(Xr,{}),e[4]=n):n=e[4],n},"Go"),xc=s(()=>{let t=(0,I.c)(46),e=fe(),o=ao(),r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r={select:Tc},t[0]=r):r=t[0];let n=on(r),i=mc(n),l=uc.has(i),c=nn(),p=c?.toggle;ul(p);let d=Kn(),{groupLabel:u,tabDescription:f,tabLabel:h}=Xi(),{unavailable:g,visibleGroups:m}=dl(Is,d,e),x={...f,...g},v=Us(i,d,e),b=v.kind==="hidden",P,y;t[1]!==b||t[2]!==o?(P=s(()=>{b&&eo(o({replace:!0,to:"/home"}))},"p"),y=[b,o],t[1]=b,t[2]=o,t[3]=P,t[4]=y):(P=t[3],y=t[4]),(0,O.useEffect)(P,y);let S;t[5]!==o?(S=s(ue=>{eo(o({to:`/${ue.currentTarget.dataset.tab??""}`}))},"k"),t[5]=o,t[6]=S):S=t[6];let C=S,w,R;t[7]!==i||t[8]!==h?(w=s(()=>{typeof document<"u"&&(document.title=`${h[i]} \xB7 lunora`)},"C"),R=[i,h],t[7]=i,t[8]=h,t[9]=w,t[10]=R):(w=t[9],R=t[10]),(0,O.useEffect)(w,R);let N=m.find(ue=>ue.tabs.includes(i))??Is[0],E=m.flatMap(ue=>ue.tabs.filter(W=>g[W]===void 0).map(W=>({group:u[ue.key],label:h[W],to:`/${W}`}))),k=p===void 0?E:[...E,{group:e("Operations"),label:e("Toggle operation console"),run:p}],M=(0,O.use)(Zs),L=M!==null&&M.token!=="",_;t[11]!==k?(_=(0,a.jsx)(Es,{items:k}),t[11]=k,t[12]=_):_=t[12];let j=u[N.key],z=h[i],H;t[13]!==j||t[14]!==z?(H=(0,a.jsx)(al,{domain:j,onOpenCommandPalette:ws,page:z}),t[13]=j,t[14]=z,t[15]=H):H=t[15];let F;t[16]!==M?.rulesInstalled?(F=M?.rulesInstalled===!1&&(0,a.jsx)(xi,{}),t[16]=M?.rulesInstalled,t[17]=F):F=t[17];let Z=`dash-tab-${i}`,D=l?"flex min-w-0 flex-1 flex-col overflow-hidden":"min-w-0 flex-1 overflow-auto p-6",V=h[i],q;t[18]!==e||t[19]!==V?(q=e("{title} failed",{title:V}),t[18]=e,t[19]=V,t[20]=q):q=t[20];let G=h[i],ee;t[21]!==e?(ee=e("Try again"),t[21]=e,t[22]=ee):ee=t[22];let ae;t[23]===Symbol.for("react.memo_cache_sentinel")?(ae=(0,a.jsx)(qr,{}),t[23]=ae):ae=t[23];let te=h[i],X;t[24]!==te||t[25]!==v?(X=(0,a.jsx)(O.Suspense,{fallback:ae,children:(0,a.jsx)(bc,{title:te,verdict:v})}),t[24]=te,t[25]=v,t[26]=X):X=t[26];let $;t[27]!==i||t[28]!==q||t[29]!==G||t[30]!==ee||t[31]!==X?($=(0,a.jsx)(qo,{fallbackTitle:q,label:G,retryLabel:ee,children:X},i),t[27]=i,t[28]=q,t[29]=G,t[30]=ee,t[31]=X,t[32]=$):$=t[32];let ce;t[33]!==D||t[34]!==$?(ce=(0,a.jsx)("div",{className:D,children:$}),t[33]=D,t[34]=$,t[35]=ce):ce=t[35];let de;t[36]!==c?(de=c?.open===!0&&(0,a.jsx)(Qi,{focusSeq:c.focusSeq,onClose:c.close,onShownChange:c.setShown,shown:c.shown}),t[36]=c,t[37]=de):de=t[37];let pe;t[38]!==Z||t[39]!==ce||t[40]!==de?(pe=(0,a.jsxs)("div",{"aria-labelledby":Z,className:"flex min-w-0 flex-1 flex-col overflow-hidden","data-testid":"dash-panel",id:"dash-panel",role:"tabpanel",children:[ce,de]}),t[38]=Z,t[39]=ce,t[40]=de,t[41]=pe):pe=t[41];let ge;return t[42]!==F||t[43]!==pe||t[44]!==H?(ge=(0,a.jsxs)(Hi,{className:"overflow-hidden md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",children:[H,F,pe]}),t[42]=F,t[43]=pe,t[44]=H,t[45]=ge):ge=t[45],(0,a.jsxs)(Ai,{className:"min-h-0 flex-1","data-platform":d.platform?.id,"data-testid":"lunora-studio",children:[_,(0,a.jsx)(vc,{chrome:M,connected:L,current:i,groupLabel:u,groups:m,selectTab:C,tabDescription:x,tabLabel:h,unavailable:g}),ge]})},"Ko"),yc=s(()=>{let t=(0,I.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,a.jsx)(rn,{children:(0,a.jsx)(xc,{})}),t[0]=e):e=t[0],e},"Qo"),Pc=s(t=>{let e=(0,I.c)(5),{initialShardKey:o,schemaEditable:r}=t,n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n={strict:!1},e[0]=n):n=e[0];let i=Yr(n),{table:l}=i,c=typeof l=="string"?l:void 0,p;return e[1]!==o||e[2]!==c||e[3]!==r?(p=(0,a.jsx)(ec,{initialShardKey:o,initialTable:c,schemaEditable:r}),e[1]=o,e[2]=c,e[3]=r,e[4]=p):p=e[4],p},"Yo"),Cc=s(()=>{let t=(0,I.c)(3),e=ao(),o,r;return t[0]!==e?(o=s(()=>{eo(e({replace:!0,to:"/home"}))},"s"),r=[e],t[0]=e,t[1]=o,t[2]=r):(o=t[1],r=t[2]),(0,O.useEffect)(o,r),null},"Jo"),Sc=s(({analyticsSqlQuery:t,basePath:e,dataEditable:o=!1,functions:r,initialShardKey:n,openApiSpec:i,openRpcSpec:l,runAsIdentity:c=!1,schemaEditable:p=!1,scheduledCancel:d,scheduledCron:u,scheduledLoad:f})=>{let h=Jr({component:yc}),g={agents:(0,a.jsx)(vl,{initialShardKey:n}),analytics:(0,a.jsx)(bl,{runQuery:t}),api:(0,a.jsx)(xl,{functions:r,initialShardKey:n,openApiSpec:i,openRpcSpec:l}),architecture:(0,a.jsx)(yl,{}),audit:(0,a.jsx)(Hl,{initialShardKey:n}),authAudit:(0,a.jsx)(Pl,{}),authConfig:(0,a.jsx)(Cl,{}),authSessions:(0,a.jsx)(Sl,{}),containers:(0,a.jsx)(Nl,{}),dashboards:(0,a.jsx)(Ql,{initialShardKey:n}),data:(0,a.jsx)(El,{canGenerateRows:o&&p,editable:o,initialShardKey:n}),deploymentHealth:(0,a.jsx)(wl,{}),drains:(0,a.jsx)(Bl,{}),export:(0,a.jsx)(kl,{initialShardKey:n}),fanout:(0,a.jsx)(Yl,{initialShardKey:n}),files:(0,a.jsx)(rc,{}),kv:(0,a.jsx)(Zl,{}),flags:(0,a.jsx)(Il,{initialShardKey:n}),reactors:(0,a.jsx)(_l,{initialShardKey:n}),functions:(0,a.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,a.jsx)(Vl,{functions:r,initialShardKey:n}),(0,a.jsx)(Al,{functions:r,runAsIdentity:c})]}),health:(0,a.jsx)(Jl,{initialShardKey:n}),home:(0,a.jsx)(Un,{initialShardKey:n}),insights:(0,a.jsx)(ml,{initialShardKey:n}),issues:(0,a.jsx)(Ll,{initialShardKey:n}),logs:(0,a.jsx)(Fl,{initialShardKey:n}),traces:(0,a.jsx)(ac,{initialShardKey:n}),evals:(0,a.jsx)(sc,{initialShardKey:n}),aiUsage:(0,a.jsx)(ic,{initialShardKey:n}),metrics:(0,a.jsx)(Xl,{initialShardKey:n}),migrations:(0,a.jsx)(Ol,{initialShardKey:n}),notifications:(0,a.jsx)(Wl,{}),organizations:(0,a.jsx)(Rl,{}),permissions:(0,a.jsx)($l,{functions:r,runAsIdentity:c,schemaEditable:p}),pitr:(0,a.jsx)(Ml,{initialShardKey:n}),mail:(0,a.jsx)(jl,{}),payments:(0,a.jsx)(ql,{}),queues:(0,a.jsx)(Gl,{}),realtime:(0,a.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,a.jsx)(Kl,{initialShardKey:n}),(0,a.jsx)(Ul,{})]}),rls:(0,a.jsx)(fl,{}),schedule:(0,a.jsx)(zl,{loadCronJobs:u,scheduledCancel:d,scheduledLoad:f}),schema:(0,a.jsx)(Pc,{initialShardKey:n,schemaEditable:p}),advisorHealth:(0,a.jsx)(gl,{}),security:(0,a.jsx)(hl,{}),settings:(0,a.jsx)(tc,{initialShardKey:n}),sql:(0,a.jsx)(oc,{initialShardKey:n}),storageRules:(0,a.jsx)(nc,{}),users:(0,a.jsx)(Tl,{}),vectors:(0,a.jsx)(lc,{}),workflows:(0,a.jsx)(cc,{})},m=yr({component:s(()=>g.home,"component"),getParentRoute:s(()=>h,"getParentRoute"),path:"/"}),x=Ws.map(P=>yr({component:s(()=>g[P],"component"),getParentRoute:s(()=>h,"getParentRoute"),path:`/${P}`,validateSearch:Dl[P]})),v=h.addChildren([m,...x]),b="window"in globalThis?Gr():Qr({initialEntries:["/home"]});return en({...e===void 0||e==="/"?{}:{basepath:e},defaultNotFoundComponent:Cc,defaultPendingComponent:qr,defaultPendingMinMs:0,defaultPendingMs:0,history:b,routeTree:v})},"Xo"),Rc=s(t=>{let e=(0,I.c)(18),{analyticsSqlQuery:o,basePath:r,chrome:n,dataEditable:i,functions:l,initialShardKey:c,openApiSpec:p,openRpcSpec:d,runAsIdentity:u,schemaEditable:f,scheduledCancel:h,scheduledCron:g,scheduledLoad:m}=t,x;e[0]!==o||e[1]!==r||e[2]!==i||e[3]!==l||e[4]!==c||e[5]!==p||e[6]!==d||e[7]!==u||e[8]!==h||e[9]!==g||e[10]!==m||e[11]!==f?(x=Sc({analyticsSqlQuery:o,basePath:r,dataEditable:i,functions:l,initialShardKey:c,openApiSpec:p,openRpcSpec:d,runAsIdentity:u,schemaEditable:f,scheduledCancel:h,scheduledCron:g,scheduledLoad:m}),e[0]=o,e[1]=r,e[2]=i,e[3]=l,e[4]=c,e[5]=p,e[6]=d,e[7]=u,e[8]=h,e[9]=g,e[10]=m,e[11]=f,e[12]=x):x=e[12];let v=x,b=n??null,P;e[13]!==v?(P=(0,a.jsx)(tn,{router:v}),e[13]=v,e[14]=P):P=e[14];let y;return e[15]!==b||e[16]!==P?(y=(0,a.jsx)(Zs,{value:b,children:P}),e[15]=b,e[16]=P,e[17]=y):y=e[17],y},"en"),$g=s(t=>{let e=(0,I.c)(10),o,r,n;e[0]!==t?({i18n:o,locale:r,...n}=t,e[0]=t,e[1]=o,e[2]=r,e[3]=n):(o=e[1],r=e[2],n=e[3]);let i;e[4]!==n?(i=(0,a.jsx)(pi,{children:(0,a.jsx)(Rc,{...n})}),e[4]=n,e[5]=i):i=e[5];let l=i;if(o===void 0&&r===void 0)return l;let c;return e[6]!==o||e[7]!==r||e[8]!==l?(c=(0,a.jsx)(Ns,{i18n:o,locale:r,children:l}),e[6]=o,e[7]=r,e[8]=l,e[9]=c):c=e[9],c},"En");function Tc(t){return t.location.pathname}s(Tc,"tn");export{qo as a,Ns as b,di as c,ui as d,qg as e,hi as f,Ci as g,Ti as h,Ni as i,wi as j,$g as k};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as p}from"./chunk-55UGUCQ6.js";import{d as f}from"./chunk-HJHSQPHW.js";import{a as v,d,f as g,g as h}from"./chunk-I26MS5PJ.js";var x=d(g(),1);var c=d(h(),1);var y=v(b=>{let e=(0,x.c)(14),{message:i,prefix:n}=b,r=f(),t=p(),l;e[0]!==t?(l=v(()=>{t?.openConsole({errorsOnly:!0})},"l"),e[0]=t,e[1]=l):l=e[1];let u=l;if(i===void 0)return null;let m=`${n}-live-error`,o;e[2]!==i||e[3]!==r?(o=r("Live unavailable: {liveError}",{liveError:i}),e[2]=i,e[3]=r,e[4]=o):o=e[4];let s;e[5]!==t||e[6]!==n||e[7]!==u||e[8]!==r?(s=t===void 0?null:(0,c.jsx)("button",{className:"underline outline-none focus-visible:ring-1 focus-visible:ring-ring","data-testid":`${n}-live-error-console`,onClick:u,type:"button",children:r("Show in console")}),e[5]=t,e[6]=n,e[7]=u,e[8]=r,e[9]=s):s=e[9];let a;return e[10]!==m||e[11]!==o||e[12]!==s?(a=(0,c.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-destructive","data-testid":m,role:"status",children:[o,s]}),e[10]=m,e[11]=o,e[12]=s,e[13]=a):a=e[13],a},"E");export{y as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as O}from"./chunk-JQXA2OYK.js";import{a as H}from"./chunk-XHRKNCCI.js";import{a as ee}from"./chunk-7G4Z6Q7X.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import{b as Z}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{b as E}from"./chunk-2XM43DQY.js";import{f as R}from"./chunk-KL26TJN3.js";import"./chunk-QAQDMS6R.js";import"./chunk-OACO7GME.js";import{a as _}from"./chunk-RWVIV3U7.js";import{a as K,b as V,c as z,d as F,e as u,f as p}from"./chunk-HCTJKP5J.js";import{a as A,e as T}from"./chunk-2IKDEUCX.js";import{d as M,h as G,p as W,t as X}from"./chunk-HJHSQPHW.js";import{a as c,d as P,e as oe,f as re,g as ae}from"./chunk-I26MS5PJ.js";var U=P(re(),1),Y=P(oe(),1);var t=P(ae(),1);var se=P(re(),1);var Q=P(oe(),1);var h=P(ae(),1);var ie=c(a=>Number.isFinite(a)?X(a,"\u2014"):"\u2014","X"),le=c(a=>a.toSorted((e,i)=>e.scheduledFor-i.scheduledFor),"F"),ce=c((a,e,i)=>e!==void 0?e:i===void 0?d=>a.cancelScheduledJob(d):void 0,"Y"),de=c(a=>{let e=(0,se.c)(16),{cancelJob:i,loadJobs:d}=a===void 0?{}:a,f=R(),r=M(),l=d===void 0,o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=["lunora-scheduled-jobs"],e[0]=o):o=e[0];let N=E(o,async()=>{let v=await(d??(()=>f.listScheduledJobs()))();return le(v)}),[x,n]=(0,Q.useState)(void 0),[s,m]=(0,Q.useState)(void 0),y,k;e[1]!==f||e[2]!==l?(y=c(()=>{if(l)return f.subscribeScheduledJobs(v=>{m(void 0),n(le(v))})},"v"),k=[l,f],e[1]=f,e[2]=l,e[3]=y,e[4]=k):(y=e[3],k=e[4]),(0,Q.useEffect)(y,k);let g;e[5]!==N?(g=c(()=>{N.refetch()},"y"),e[5]=N,e[6]=g):g=e[6],O(g,!l);let J=ce(f,i,d),b=x??N.data,j=s??N.error,I=c(async v=>{if(J!==void 0){m(void 0);try{await J(v),l||N.refetch()}catch(D){m(G(D))}}},"A"),q="flex flex-col gap-3",B="lunora-scheduled-jobs",S;e[7]!==j?(S=j!==null&&(0,h.jsx)("p",{className:"text-sm text-destructive","data-testid":"sj-error",role:"alert",children:j}),e[7]=j,e[8]=S):S=e[8];let L;e[9]!==b?.length||e[10]!==r?(L=b?.length===0&&(0,h.jsx)(_,{description:r("Jobs queued with runAfter / runAt will appear here."),icon:(0,h.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,h.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,h.jsx)("path",{d:"M12 7.5V12l4 2"})]}),testId:"sj-empty",title:r("No scheduled jobs.")}),e[9]=b?.length,e[10]=r,e[11]=L):L=e[11];let $=b!==void 0&&b.length>0&&(0,h.jsx)(A,{className:"overflow-hidden py-0",children:(0,h.jsx)(T,{className:"px-0",children:(0,h.jsxs)(K,{"data-testid":"sj-table",children:[(0,h.jsx)(V,{children:(0,h.jsxs)(F,{children:[(0,h.jsx)(u,{children:r("function")}),(0,h.jsx)(u,{children:r("scheduled for")}),(0,h.jsx)(u,{children:r("pool")}),(0,h.jsx)(u,{children:r("attempts")}),(0,h.jsx)(u,{children:r("shard")}),(0,h.jsx)(u,{children:r("id")}),J!==void 0&&(0,h.jsx)(u,{"aria-label":r("Actions")})]})}),(0,h.jsx)(z,{children:b.map(v=>(0,h.jsxs)(F,{"data-testid":`sj-row-${v.id}`,children:[(0,h.jsx)(p,{className:"font-mono text-xs",children:v.workflow??v.functionPath}),(0,h.jsx)(p,{className:"text-muted-foreground tabular-nums",children:ie(v.scheduledFor)}),(0,h.jsx)(p,{className:"font-mono text-xs",children:v.pool??""}),(0,h.jsx)(p,{className:"tabular-nums",children:v.attempts??0}),(0,h.jsx)(p,{children:v.shardKey??""}),(0,h.jsx)(p,{className:"font-mono text-xs",children:v.id}),J!==void 0&&(0,h.jsx)(p,{className:"text-right",children:(0,h.jsx)(H,{confirmLabel:r("Cancel job?"),onConfirm:c(()=>{W(I(v.id))},"onConfirm"),testId:`sj-cancel-${v.id}`,children:r("Cancel")})})]},v.id))})]})})}),w;return e[12]!==$||e[13]!==S||e[14]!==L?(w=(0,h.jsxs)("div",{className:q,"data-testid":B,children:[S,L,$]}),e[12]=$,e[13]=S,e[14]=L,e[15]=w):w=e[15],w},"he");var he={kind:"idle"},me=c((a,e,i)=>i!==void 0?i:e===void 0?d=>a.runCronJob(d):void 0,"re"),ue=c(({loadCronJobs:a,runCronJob:e}={})=>{let i=R(),d=M(),[f,r]=(0,Y.useState)({}),l=E(["lunora-cron-jobs",a?"custom":"default"],()=>(a??(()=>i.getCronJobs()))()),{data:o,error:N}=l,x=me(i,a,e),n=c(async s=>{if(x!==void 0){r(m=>({...m,[s]:{kind:"running"}}));try{await x(s),r(m=>({...m,[s]:{kind:"ok"}})),l.refetch()}catch(m){r(y=>({...y,[s]:{kind:"error",message:G(m)}}))}}},"i");return(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-cron-triggers",children:[N!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"cron-error",role:"alert",children:N}),o?.length===0&&(0,t.jsx)(_,{description:d("Triggers declared with the cronJobs() builder appear here."),icon:(0,t.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,t.jsx)("circle",{cx:"12",cy:"12",r:"9"}),(0,t.jsx)("path",{d:"M12 7.5V12l4 2"})]}),testId:"cron-empty",title:d("No cron triggers.")}),o!==void 0&&o.length>0&&(0,t.jsx)(A,{className:"overflow-hidden py-0",children:(0,t.jsx)(T,{className:"px-0",children:(0,t.jsxs)(K,{"data-testid":"cron-table",children:[(0,t.jsx)(V,{children:(0,t.jsxs)(F,{children:[(0,t.jsx)(u,{children:d("name")}),(0,t.jsx)(u,{children:d("schedule")}),(0,t.jsx)(u,{children:d("target")}),(0,t.jsx)(u,{children:d("shard")}),x!==void 0&&(0,t.jsx)(u,{"aria-label":d("Actions")})]})}),(0,t.jsx)(z,{children:o.map(s=>{let m=f[s.name]??he;return(0,t.jsxs)(F,{"data-testid":`cron-row-${s.name}`,children:[(0,t.jsx)(p,{children:s.name}),(0,t.jsx)(p,{className:"font-mono text-xs tabular-nums",children:s.cron}),(0,t.jsx)(p,{children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[s.workflow===void 0?(0,t.jsx)(Z,{variant:"outline",children:d("function")}):(0,t.jsx)(Z,{variant:"secondary",children:d("workflow")}),(0,t.jsx)("span",{className:"font-mono text-xs",children:s.workflow??s.functionPath})]})}),(0,t.jsx)(p,{children:s.shardKey??""}),x!==void 0&&(0,t.jsx)(p,{className:"text-right",children:(0,t.jsxs)("span",{className:"flex items-center justify-end gap-2",children:[m.kind==="ok"&&(0,t.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":`cron-ran-${s.name}`,children:d("ran")}),m.kind==="error"&&(0,t.jsx)("span",{className:"text-xs text-destructive","data-testid":`cron-run-error-${s.name}`,role:"alert",children:m.message}),(0,t.jsx)(H,{confirmLabel:d("Run now?"),disabled:m.kind==="running",onConfirm:c(()=>{W(n(s.name))},"onConfirm"),testId:`cron-run-${s.name}`,children:m.kind==="running"?d("Running\u2026"):d("Run now")})]})})]},`${s.cron}:${s.name}`)})})]})})})]})},"le"),pe=c(a=>Number.isFinite(a)?X(a,"\u2014"):"\u2014","se"),fe=c(a=>{let e=(0,U.c)(34),i;e[0]!==a?(i=a===void 0?{}:a,e[0]=a,e[1]=i):i=e[1];let{loadJobs:d,removeJob:f,retryJob:r}=i,l=R(),o=M(),N;e[2]===Symbol.for("react.memo_cache_sentinel")?(N=["lunora-dead-jobs"],e[2]=N):N=e[2];let x;e[3]!==l||e[4]!==d?(x=c(async()=>(await(d??(()=>l.listDeadJobs()))()).toSorted(be),"h"),e[3]=l,e[4]=d,e[5]=x):x=e[5];let n=E(N,x),s=n.data,[m,y]=(0,Y.useState)(void 0),k=n.error??m,g=d===void 0,J;e[6]!==l||e[7]!==g||e[8]!==r?(J=r??(g?C=>l.retryDeadJob(C):void 0),e[6]=l,e[7]=g,e[8]=r,e[9]=J):J=e[9];let b=J,j;e[10]!==l||e[11]!==g||e[12]!==f?(j=f??(g?C=>l.removeDeadJob(C):void 0),e[10]=l,e[11]=g,e[12]=f,e[13]=j):j=e[13];let I=j,q;e[14]!==n?(q=c(()=>{n.refetch()},"$"),e[14]=n,e[15]=q):q=e[15],O(q,!0);let B;e[16]!==n?(B=c(async C=>{y(void 0);try{await C,n.refetch()}catch(ne){y(G(ne))}},"I"),e[16]=n,e[17]=B):B=e[17];let S=B,L=b!==void 0||I!==void 0,$;e[18]!==k?($=k!==void 0&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"dlq-error",role:"alert",children:k}),e[18]=k,e[19]=$):$=e[19];let w;e[20]!==s?.length||e[21]!==o?(w=s?.length===0&&(0,t.jsx)(_,{description:o("Jobs that exhaust their retry budget are parked here instead of being dropped."),icon:(0,t.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M3 6h18M8 6V4h8v2M6 6l1 14h10l1-14"})}),testId:"dlq-empty",title:o("No dead-letter jobs.")}),e[20]=s?.length,e[21]=o,e[22]=w):w=e[22];let v;e[23]!==S||e[24]!==L||e[25]!==s||e[26]!==I||e[27]!==b||e[28]!==o?(v=s!==void 0&&s.length>0&&(0,t.jsx)(A,{className:"overflow-hidden py-0",children:(0,t.jsx)(T,{className:"px-0",children:(0,t.jsxs)(K,{"data-testid":"dlq-table",children:[(0,t.jsx)(V,{children:(0,t.jsxs)(F,{children:[(0,t.jsx)(u,{children:o("function")}),(0,t.jsx)(u,{children:o("attempts")}),(0,t.jsx)(u,{children:o("last tried")}),(0,t.jsx)(u,{children:o("pool")}),(0,t.jsx)(u,{children:o("shard")}),(0,t.jsx)(u,{children:o("id")}),L&&(0,t.jsx)(u,{"aria-label":o("Actions")})]})}),(0,t.jsx)(z,{children:s.map(C=>(0,t.jsxs)(F,{"data-testid":`dlq-row-${C.id}`,children:[(0,t.jsx)(p,{className:"font-mono text-xs",children:C.workflow??C.functionPath}),(0,t.jsx)(p,{className:"tabular-nums",children:C.attempts??0}),(0,t.jsx)(p,{className:"text-muted-foreground tabular-nums",children:pe(C.scheduledFor)}),(0,t.jsx)(p,{className:"font-mono text-xs",children:C.pool??""}),(0,t.jsx)(p,{children:C.shardKey??""}),(0,t.jsx)(p,{className:"font-mono text-xs",children:C.id}),L&&(0,t.jsx)(p,{className:"text-right",children:(0,t.jsxs)("div",{className:"flex justify-end gap-1.5",children:[b!==void 0&&(0,t.jsx)(ee,{"data-testid":`dlq-retry-${C.id}`,onClick:c(()=>{W(S(b(C.id)))},"onClick"),size:"sm",type:"button",variant:"outline",children:o("Retry")}),I!==void 0&&(0,t.jsx)(H,{confirmLabel:o("Drop job?"),onConfirm:c(()=>{W(S(I(C.id)))},"onConfirm"),testId:`dlq-remove-${C.id}`,children:o("Drop")})]})})]},C.id))})]})})}),e[23]=S,e[24]=L,e[25]=s,e[26]=I,e[27]=b,e[28]=o,e[29]=v):v=e[29];let D;return e[30]!==v||e[31]!==$||e[32]!==w?(D=(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-dead-letter",children:[$,w,v]}),e[30]=v,e[31]=$,e[32]=w,e[33]=D):D=e[33],D},"ne");function be(a,e){return(e.attempts??0)-(a.attempts??0)}c(be,"oe");var te=c(a=>{let e=(0,U.c)(8),{label:i,testId:d,value:f}=a,r;e[0]!==i?(r=(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:i}),e[0]=i,e[1]=r):r=e[1];let l;e[2]!==d||e[3]!==f?(l=(0,t.jsx)("span",{className:"text-2xl font-semibold tabular-nums","data-testid":d,children:f}),e[2]=d,e[3]=f,e[4]=l):l=e[4];let o;return e[5]!==r||e[6]!==l?(o=(0,t.jsx)(A,{className:"flex-1 py-0",children:(0,t.jsxs)(T,{className:"flex flex-col gap-1 p-4",children:[r,l]})}),e[5]=r,e[6]=l,e[7]=o):o=e[7],o},"E"),ve=c(a=>{let e=(0,U.c)(25),i;e[0]!==a?(i=a===void 0?{}:a,e[0]=a,e[1]=i):i=e[1];let{loadStatus:d}=i,f=R(),r=M(),l=d===void 0,o;e[2]!==l?(o=["lunora-scheduler-status",l],e[2]=l,e[3]=o):o=e[3];let N;e[4]!==f||e[5]!==d?(N=c(async()=>{let j=await(d??(()=>f.schedulerStatus()))();return{...j,pools:j.pools.toSorted(xe)}},"y"),e[4]=f,e[5]=d,e[6]=N):N=e[6];let x=E(o,N),{data:n,error:s}=x,m;e[7]!==x?(m=c(()=>{x.refetch()},"d"),e[7]=x,e[8]=m):m=e[8],O(m,!0);let y;e[9]!==s?(y=s!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"pools-error",role:"alert",children:s}),e[9]=s,e[10]=y):y=e[10];let k;e[11]!==n||e[12]!==r?(k=n!==void 0&&(0,t.jsxs)("div",{className:"flex gap-3","data-testid":"pools-totals",children:[(0,t.jsx)(te,{label:r("backlog"),testId:"pools-backlog",value:n.backlog}),(0,t.jsx)(te,{label:r("in flight"),testId:"pools-inflight",value:n.inFlight}),(0,t.jsx)(te,{label:r("pools"),testId:"pools-count",value:n.pools.length})]}),e[11]=n,e[12]=r,e[13]=k):k=e[13];let g;e[14]!==n?.pools.length||e[15]!==r?(g=n?.pools.length===0&&(0,t.jsx)(_,{description:r("Pools created with createWorkpool appear here once they have activity."),icon:(0,t.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M4 7h16M4 12h16M4 17h16"})}),testId:"pools-empty",title:r("No workpools.")}),e[14]=n?.pools.length,e[15]=r,e[16]=g):g=e[16];let J;e[17]!==n||e[18]!==r?(J=n!==void 0&&n.pools.length>0&&(0,t.jsx)(A,{className:"overflow-hidden py-0",children:(0,t.jsx)(T,{className:"px-0",children:(0,t.jsxs)(K,{"data-testid":"pools-table",children:[(0,t.jsx)(V,{children:(0,t.jsxs)(F,{children:[(0,t.jsx)(u,{children:r("pool")}),(0,t.jsx)(u,{children:r("queued")}),(0,t.jsx)(u,{children:r("in flight")}),(0,t.jsx)(u,{children:r("max concurrency")})]})}),(0,t.jsx)(z,{children:n.pools.map(ge)})]})})}),e[17]=n,e[18]=r,e[19]=J):J=e[19];let b;return e[20]!==y||e[21]!==k||e[22]!==g||e[23]!==J?(b=(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-scheduler-pools",children:[y,k,g,J]}),e[20]=y,e[21]=k,e[22]=g,e[23]=J,e[24]=b):b=e[24],b},"ae");function xe(a,e){return e.queued-a.queued}c(xe,"ie");function ge(a){return(0,t.jsxs)(F,{"data-testid":`pools-row-${a.name}`,children:[(0,t.jsx)(p,{className:"font-mono text-xs",children:a.name}),(0,t.jsx)(p,{className:"tabular-nums",children:a.queued}),(0,t.jsxs)(p,{className:"tabular-nums",children:[a.inFlight," / ",a.maxConcurrency]}),(0,t.jsx)(p,{className:"tabular-nums",children:a.maxConcurrency})]},a.name)}c(ge,"de");var Ne=["jobs","dead","pools","cron"],Ve=c(a=>{let e=(0,U.c)(41),i;e[0]!==a?(i=a===void 0?{}:a,e[0]=a,e[1]=i):i=e[1];let{loadCronJobs:d,scheduledCancel:f,scheduledLoad:r}=i,l=M(),[o,N]=(0,Y.useState)("jobs"),x;e[2]!==l?(x=l("Cron triggers"),e[2]=l,e[3]=x):x=e[3];let n;e[4]!==l?(n=l("Dead letter"),e[4]=l,e[5]=n):n=e[5];let s;e[6]!==l?(s=l("Scheduled jobs"),e[6]=l,e[7]=s):s=e[7];let m;e[8]!==l?(m=l("Pools"),e[8]=l,e[9]=m):m=e[9];let y;e[10]!==x||e[11]!==n||e[12]!==s||e[13]!==m?(y={cron:x,dead:n,jobs:s,pools:m},e[10]=x,e[11]=n,e[12]=s,e[13]=m,e[14]=y):y=e[14];let k=y,g;e[15]===Symbol.for("react.memo_cache_sentinel")?(g=c(w=>{N(w.currentTarget.dataset.view)},"f"),e[15]=g):g=e[15];let J=g,b;e[16]!==l?(b=l("Schedule view"),e[16]=l,e[17]=b):b=e[17];let j;e[18]!==o||e[19]!==k?(j=Ne.map(w=>(0,t.jsx)(ee,{"aria-selected":o===w,"data-testid":`schedule-view-${w}`,"data-view":w,onClick:J,role:"tab",size:"sm",type:"button",variant:o===w?"default":"outline",children:k[w]},w)),e[18]=o,e[19]=k,e[20]=j):j=e[20];let I;e[21]!==b||e[22]!==j?(I=(0,t.jsx)("div",{"aria-label":b,className:"flex gap-1.5","data-testid":"schedule-view-toggle",role:"tablist",children:j}),e[21]=b,e[22]=j,e[23]=I):I=e[23];let q;e[24]!==f||e[25]!==r||e[26]!==o?(q=o==="jobs"&&(0,t.jsx)(de,{cancelJob:f,loadJobs:r}),e[24]=f,e[25]=r,e[26]=o,e[27]=q):q=e[27];let B;e[28]!==o?(B=o==="dead"&&(0,t.jsx)(fe,{}),e[28]=o,e[29]=B):B=e[29];let S;e[30]!==o?(S=o==="pools"&&(0,t.jsx)(ve,{}),e[30]=o,e[31]=S):S=e[31];let L;e[32]!==d||e[33]!==o?(L=o==="cron"&&(0,t.jsx)(ue,{loadCronJobs:d}),e[32]=d,e[33]=o,e[34]=L):L=e[34];let $;return e[35]!==I||e[36]!==q||e[37]!==B||e[38]!==S||e[39]!==L?($=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-schedule",children:[I,q,B,S,L]}),e[35]=I,e[36]=q,e[37]=B,e[38]=S,e[39]=L,e[40]=$):$=e[40],$},"Ie");export{Ve as SchedulePanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as q}from"./chunk-JQXA2OYK.js";import{a as F}from"./chunk-R6U22RSY.js";import{a as D}from"./chunk-YVR4SEPU.js";import"./chunk-ZKJS6EBE.js";import"./chunk-RGMVGZV4.js";import"./chunk-E4PXACVL.js";import"./chunk-MVWZMWPD.js";import"./chunk-7Y3SY37W.js";import"./chunk-AUAECCXB.js";import{b as S}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{a as L}from"./chunk-N2NNEOPR.js";import"./chunk-NCPW7WHO.js";import"./chunk-MCHHNGVN.js";import"./chunk-55UGUCQ6.js";import{a as B}from"./chunk-4ZEL6BYL.js";import{c as _}from"./chunk-2XM43DQY.js";import"./chunk-KL26TJN3.js";import"./chunk-QAQDMS6R.js";import"./chunk-OACO7GME.js";import{a as $}from"./chunk-RWVIV3U7.js";import{a as O,b as P,c as W,d as C,e as h,f as p}from"./chunk-HCTJKP5J.js";import{a as M,e as T}from"./chunk-2IKDEUCX.js";import{d as A,m as E}from"./chunk-HJHSQPHW.js";import{a as N,d as j,f as H,g as U}from"./chunk-I26MS5PJ.js";var R=j(H(),1);var t=j(U(),1);var J=80,Z=N(a=>{if(a===void 0)return"";let e=JSON.stringify(a,E);return e.length>J?`${e.slice(0,J)}\u2026`:e},"G"),z=N(a=>{let e=[];for(let r of a){let n=r.id.toString();if(r.subscriptions.length===0){e.push({admin:r.admin,connectionId:r.id,key:`c${n}`,subscription:null});continue}r.subscriptions.forEach((l,i)=>{e.push({admin:r.admin,connectionId:r.id,key:`c${n}-s${i.toString()}`,subscription:l})})}return e},"J"),w=(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}),ce=N(a=>{let e=(0,R.c)(22),{initialShardKey:r}=a,n=A(),{queryShardKey:l,setShardKey:i,shardKey:m}=F(r),f;e[0]===Symbol.for("react.memo_cache_sentinel")?(f={},e[0]=f):f=e[0];let b;e[1]!==l?(b={keepPreviousData:!0,shardKey:l},e[1]=l,e[2]=b):b=e[2];let{data:s,error:o,errorSource:u,refetch:G}=_(B.listSubscriptions,f,b);q(G,!0);let x;if(e[3]!==o||e[4]!==u||e[5]!==s||e[6]!==i||e[7]!==m||e[8]!==n){let k=s===void 0?[]:z(s.connections),c;e[10]!==i||e[11]!==m?(c=(0,t.jsx)(D,{onChange:i,testId:"subs-shard-input",value:m}),e[10]=i,e[11]=m,e[12]=c):c=e[12];let d;e[13]!==s||e[14]!==n?(d=s!==void 0&&(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2 text-sm text-muted-foreground","data-testid":"subs-count",children:[(0,t.jsx)(S,{variant:"secondary",children:n("{count} connections",{count:s.totalConnections})}),(0,t.jsx)(S,{variant:"secondary",children:n("{count} subscriptions",{count:s.totalSubscriptions})})]}),e[13]=s,e[14]=n,e[15]=d):d=e[15];let g;e[16]!==c||e[17]!==d?(g=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,d]}),e[16]=c,e[17]=d,e[18]=g):g=e[18];let v;e[19]!==o||e[20]!==u?(v=o!==null&&(0,t.jsx)(L,{error:u,testId:"subs-error"}),e[19]=o,e[20]=u,e[21]=v):v=e[21],x=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"subs-panel",children:[g,v,o===null&&s!==void 0&&k.length===0&&(0,t.jsx)($,{description:n("Active WebSocket subscriptions on this shard."),icon:(0,t.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M5 12a7 7 0 0 1 14 0M8 12a4 4 0 0 1 8 0M12 12v8m0-8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"})}),testId:"subs-empty",title:n("No active subscriptions.")}),o===null&&k.length>0&&(0,t.jsx)(M,{className:"overflow-hidden py-0",children:(0,t.jsx)(T,{className:"px-0",children:(0,t.jsxs)(O,{"data-testid":"subs-table",children:[(0,t.jsx)(P,{children:(0,t.jsxs)(C,{children:[(0,t.jsx)(h,{children:n("Connection")}),(0,t.jsx)(h,{children:n("Function path")}),(0,t.jsx)(h,{children:n("Table")}),(0,t.jsx)(h,{children:n("Arguments")})]})}),(0,t.jsx)(W,{children:k.map(y=>{let{subscription:I}=y,K=Z(I?.args);return(0,t.jsxs)(C,{"data-testid":"subs-row",children:[(0,t.jsx)(p,{className:"font-medium tabular-nums",children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:["#",y.connectionId,y.admin&&(0,t.jsx)(S,{variant:"outline",children:n("admin")})]})}),(0,t.jsx)(p,{className:"font-mono text-xs",children:I?.functionPath??w}),(0,t.jsx)(p,{children:I?.table??w}),(0,t.jsx)(p,{className:"max-w-[32ch] truncate font-mono text-xs text-muted-foreground",title:K||void 0,children:K||w})]},y.key)})})]})})})]}),e[3]=o,e[4]=u,e[5]=s,e[6]=i,e[7]=m,e[8]=n,e[9]=x}else x=e[9];return x},"ae");export{ce as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as q}from"./chunk-ZWK2KMDB.js";import{a as k}from"./chunk-6QTAHSDD.js";import"./chunk-VESGIGMQ.js";import"./chunk-MNHPOCDO.js";import"./chunk-AUGKHAMQ.js";import"./chunk-WJRYEML4.js";import{a as A}from"./chunk-R6U22RSY.js";import{a as $}from"./chunk-YVR4SEPU.js";import"./chunk-ZKJS6EBE.js";import"./chunk-RGMVGZV4.js";import"./chunk-OQ6I6OXT.js";import"./chunk-E4PXACVL.js";import"./chunk-MVWZMWPD.js";import"./chunk-SJQERRSZ.js";import"./chunk-7Y3SY37W.js";import"./chunk-AUAECCXB.js";import{b as K}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{a as F}from"./chunk-N2NNEOPR.js";import"./chunk-NCPW7WHO.js";import"./chunk-MCHHNGVN.js";import"./chunk-55UGUCQ6.js";import{a as T}from"./chunk-4ZEL6BYL.js";import{c as S}from"./chunk-2XM43DQY.js";import"./chunk-KL26TJN3.js";import"./chunk-QAQDMS6R.js";import"./chunk-OACO7GME.js";import{a as O}from"./chunk-RWVIV3U7.js";import{a as j,e as w}from"./chunk-2IKDEUCX.js";import{d as I,t as E}from"./chunk-HJHSQPHW.js";import{a as p,d as C,f as D,g as H}from"./chunk-I26MS5PJ.js";var M=C(D(),1);var m=C(H(),1);var L=p(s=>s.length===0?void 0:{max:Math.max(...s),mean:s.reduce((e,t)=>e+t,0)/s.length,min:Math.min(...s)},"F"),B=/^gen_ai\.evaluation\.(.+)\.score$/u,P=p(s=>{let e=[];for(let t of s)for(let n of t.spans)for(let[a,l]of Object.entries(n.attributes??{})){let o=B.exec(a);if(!o||typeof l!="number")continue;let i=o[1],c=n.attributes?.[`gen_ai.evaluation.${i}.label`];e.push({...typeof c=="string"?{label:c}:{},name:i,score:l,spanName:n.name,startTs:t.startTs+n.offsetMs,traceId:t.traceId})}return e.toSorted((t,n)=>n.startTs-t.startTs)},"q"),Q=p(s=>{let e=[];for(let t of s?.series??[]){let n=B.exec(t.name);n&&e.push({name:n[1],points:t.points})}return e},"D"),R=p((s,e)=>{let t=new Set([...s.map(a=>a.name),...e.map(a=>a.name)]),n=[];for(let a of t){let l=s.filter(r=>r.name===a),o=e.find(r=>r.name===a)?.points??[],i=o.at(-1)?.last??l[0]?.score,c=o.length>0?{max:Math.max(...o.map(r=>r.max)),mean:o.reduce((r,d)=>r+d.sum,0)/o.reduce((r,d)=>r+d.count,0),min:Math.min(...o.map(r=>r.min))}:L(l.map(r=>r.score));n.push({...i===void 0?{}:{latest:i},...c,name:a,points:o,runs:l})}return n.toSorted((a,l)=>a.name.localeCompare(l.name))},"H"),U=p(s=>Array.isArray(s?.traces)?s.traces:[],"L"),N=p(s=>s===void 0?"\u2014":s.toFixed(2),"y"),z=p(s=>{let e=(0,M.c)(34),{card:t,onOpenTrace:n}=s,a=I(),l;e[0]!==t.name?(l=(0,m.jsx)("h3",{className:"font-mono text-sm font-semibold text-foreground","data-testid":"ev-name",children:t.name}),e[0]=t.name,e[1]=l):l=e[1];let o;e[2]!==t.latest?(o=N(t.latest),e[2]=t.latest,e[3]=o):o=e[3];let i;e[4]!==o?(i=(0,m.jsx)("span",{className:"font-mono text-lg text-foreground","data-testid":"ev-latest",children:o}),e[4]=o,e[5]=i):i=e[5];let c;e[6]!==l||e[7]!==i?(c=(0,m.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[l,i]}),e[6]=l,e[7]=i,e[8]=c):c=e[8];let r;e[9]!==t.max||e[10]!==t.mean||e[11]!==t.min||e[12]!==a?(r=a("min {min} \xB7 mean {mean} \xB7 max {max}",{max:N(t.max),mean:N(t.mean),min:N(t.min)}),e[9]=t.max,e[10]=t.mean,e[11]=t.min,e[12]=a,e[13]=r):r=e[13];let d;e[14]!==r?(d=(0,m.jsx)("p",{className:"font-mono text-xs text-muted-foreground","data-testid":"ev-summary",children:r}),e[14]=r,e[15]=d):d=e[15];let u;e[16]!==t.name||e[17]!==t.points||e[18]!==a?(u=t.points.length>1?(0,m.jsx)(q,{ariaLabel:a("Score trend for {name}",{name:t.name}),className:"h-10 w-full",series:t.points.map(G),testId:"ev-trend"}):(0,m.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"ev-no-trend",children:a("No durable history yet \u2014 pass ctx.metrics to recordEvaluation to chart a trend.")}),e[16]=t.name,e[17]=t.points,e[18]=a,e[19]=u):u=e[19];let h;if(e[20]!==t.runs||e[21]!==n||e[22]!==a){let v;e[24]!==n||e[25]!==a?(v=p(f=>(0,m.jsxs)("div",{className:"flex items-center justify-between gap-2 font-mono text-xs","data-testid":"ev-run",children:[(0,m.jsxs)("span",{className:"truncate text-muted-foreground",children:[E(f.startTs)," \xB7 ",f.spanName]}),(0,m.jsxs)("span",{className:"flex items-center gap-2",children:[f.label===void 0?null:(0,m.jsx)(K,{variant:"outline",children:f.label}),(0,m.jsx)("span",{className:"text-foreground",children:N(f.score)}),n===void 0?null:(0,m.jsx)("button",{className:"text-muted-foreground underline-offset-2 hover:underline",onClick:p(()=>{n(f.traceId)},"onClick"),title:a("Open the trace {trace}",{trace:f.traceId}),type:"button",children:f.traceId.slice(0,8)})]})]},`${f.traceId}:${f.spanName}`),"x"),e[24]=n,e[25]=a,e[26]=v):v=e[26],h=t.runs.slice(0,5).map(v),e[20]=t.runs,e[21]=n,e[22]=a,e[23]=h}else h=e[23];let x;e[27]!==h?(x=(0,m.jsx)("div",{className:"flex flex-col gap-1",children:h}),e[27]=h,e[28]=x):x=e[28];let g;return e[29]!==c||e[30]!==d||e[31]!==u||e[32]!==x?(g=(0,m.jsx)(j,{"data-testid":"ev-card",children:(0,m.jsxs)(w,{className:"flex flex-col gap-3 p-4",children:[c,d,u,x]})}),e[29]=c,e[30]=d,e[31]=u,e[32]=x,e[33]=g):g=e[33],g},"P"),oe=p(s=>{let e=(0,M.c)(19),{initialShardKey:t}=s,n=I(),{queryShardKey:a,setShardKey:l,shardKey:o}=A(t),i=k(a),c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c={},e[0]=c):c=e[0];let r;e[1]!==a?(r={live:!0,shardKey:a},e[1]=a,e[2]=r):r=e[2];let{data:d,error:u}=S(T.getTraces,c,r),h;e[3]===Symbol.for("react.memo_cache_sentinel")?(h={},e[3]=h):h=e[3];let x;e[4]!==a?(x={live:!0,shardKey:a},e[4]=a,e[5]=x):x=e[5];let{data:g}=S(T.getMetricHistory,h,x),v;if(e[6]!==d||e[7]!==u||e[8]!==g||e[9]!==i||e[10]!==l||e[11]!==o||e[12]!==n){let f=R(P(U(d)),Q(g)),y;e[14]!==l||e[15]!==o?(y=(0,m.jsx)($,{onChange:l,testId:"ev-shard-input",value:o}),e[14]=l,e[15]=o,e[16]=y):y=e[16];let b;e[17]!==u?(b=u===null?null:(0,m.jsx)(F,{error:u,testId:"ev-error"}),e[17]=u,e[18]=b):b=e[18],v=(0,m.jsxs)("section",{className:"flex flex-col gap-4","data-testid":"ev-panel",children:[y,b,f.length===0?(0,m.jsx)(O,{description:n("Call recordEvaluation from a graded run and its score shows up here."),testId:"ev-empty",title:n("No evals recorded")}):(0,m.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:f.map(_=>(0,m.jsx)(z,{card:_,onOpenTrace:i},_.name))})]}),e[6]=d,e[7]=u,e[8]=g,e[9]=i,e[10]=l,e[11]=o,e[12]=n,e[13]=v}else v=e[13];return v},"re");function G(s){return s.last}p(G,"Q");export{oe as default};
|