@lunora/studio 1.0.0-alpha.24 → 1.0.0-alpha.241
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 +976 -803
- 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/analytics-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-CHoHM5ME.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-B-jVLGCS.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-fJZRA0b0.mjs +1 -0
- package/dist/packem_shared/MigrationsPanel-QjQ4Gp9s.mjs +1 -0
- package/dist/packem_shared/OpenRpcReferencePanel-C8ctFJVm.mjs +1 -0
- package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.mjs +1 -0
- package/dist/packem_shared/ScheduledJobs-nPx7NmOE.mjs +1 -0
- package/dist/packem_shared/ShardInput-C6mjgAh4.mjs +1 -0
- package/dist/packem_shared/Studio-DQq17PO6.mjs +1 -0
- package/dist/packem_shared/StudioApp-DikgPBVJ.mjs +1 -0
- package/dist/packem_shared/StudioI18nProvider-fVsCSs5L.mjs +1 -0
- package/dist/packem_shared/advisor-view-BzzJg9D_.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-BbmO2HA2.d.mts +301 -0
- package/dist/packem_shared/app.d-BbmO2HA2.d.ts +301 -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--2hKx4L2.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/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-DBSHjxil.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-SBxKyBug.mjs +1 -0
- package/dist/packem_shared/log-line-BHWXobrl.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-DSeKRrUU.mjs +13 -0
- package/dist/packem_shared/schema-diagram-CQ4vn0CN.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-D0Fe04cX.mjs +1 -0
- package/dist/packem_shared/storage-tier-C2mKwYRj.mjs +1 -0
- package/dist/packem_shared/studio-ajWxPNfI.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-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-Bk4XZGE4.mjs +1 -0
- package/dist/standalone/chunk-225VJ77I.js +1 -0
- package/dist/standalone/chunk-2J55YJ2E.js +1 -0
- package/dist/standalone/chunk-2QEZHNYN.js +1 -0
- package/dist/standalone/chunk-2QSGCPIS.js +1 -0
- package/dist/standalone/chunk-2URQKGWU.js +1 -0
- package/dist/standalone/chunk-34NWQW5I.js +1 -0
- package/dist/standalone/chunk-35DM4JJG.js +1 -0
- package/dist/standalone/chunk-3CKNGJM2.js +1 -0
- package/dist/standalone/chunk-3EYROC6C.js +4 -0
- package/dist/standalone/chunk-3FBLWUXD.js +1 -0
- package/dist/standalone/chunk-3FRJI6NR.js +8 -0
- package/dist/standalone/chunk-3Q2P62UR.js +1 -0
- package/dist/standalone/chunk-44JBWMGP.js +1 -0
- package/dist/standalone/chunk-4GTO7FL5.js +1 -0
- package/dist/standalone/chunk-4JLGLPWV.js +1 -0
- package/dist/standalone/chunk-4L4WTGN5.js +1 -0
- package/dist/standalone/chunk-4MCQC7BJ.js +1 -0
- package/dist/standalone/chunk-4REGPZ4H.js +1 -0
- package/dist/standalone/chunk-4XEY3TRX.js +1 -0
- package/dist/standalone/chunk-4ZEL6BYL.js +1 -0
- package/dist/standalone/chunk-55754F6H.js +1 -0
- package/dist/standalone/chunk-57L4KVGF.js +1 -0
- package/dist/standalone/chunk-5EBY4EMG.js +1 -0
- package/dist/standalone/chunk-5EKU6J7E.js +5 -0
- package/dist/standalone/chunk-5JDWLCSH.js +1 -0
- package/dist/standalone/chunk-5NVDRSFP.js +1 -0
- package/dist/standalone/chunk-5WJXVZMZ.js +1 -0
- package/dist/standalone/chunk-5XPSGVCH.js +1 -0
- package/dist/standalone/chunk-66UGPQVC.js +1 -0
- package/dist/standalone/chunk-6D6Z2KXU.js +1 -0
- package/dist/standalone/chunk-6DAD3RFX.js +1 -0
- package/dist/standalone/chunk-6HMCWDDT.js +3 -0
- package/dist/standalone/chunk-6MQFFSKJ.js +1 -0
- package/dist/standalone/chunk-72GVG7ZA.js +1 -0
- package/dist/standalone/chunk-76QJJLPM.js +59 -0
- package/dist/standalone/chunk-7G7ISHLL.js +1 -0
- package/dist/standalone/chunk-7HAPF2LE.js +1 -0
- package/dist/standalone/chunk-7Z77NNDU.js +1 -0
- package/dist/standalone/chunk-AANB526D.js +6 -0
- package/dist/standalone/chunk-AAVLPU5Q.js +1 -0
- package/dist/standalone/chunk-AWHXPIXU.js +1 -0
- package/dist/standalone/chunk-B2HYHTIX.js +1 -0
- package/dist/standalone/chunk-BCGDH443.js +1 -0
- package/dist/standalone/chunk-BDITYO6M.js +14 -0
- package/dist/standalone/chunk-C5AOTUZH.js +1 -0
- package/dist/standalone/chunk-CMA4PTV7.js +1 -0
- package/dist/standalone/chunk-CSUROWL2.js +1 -0
- package/dist/standalone/chunk-CZ266IR3.js +1 -0
- package/dist/standalone/chunk-CZMVDPDO.js +1 -0
- package/dist/standalone/chunk-DXVAAESF.js +1 -0
- package/dist/standalone/chunk-EA2JKR5D.js +1 -0
- package/dist/standalone/chunk-EBVHCQDJ.js +1 -0
- package/dist/standalone/chunk-EIISOYGA.js +1 -0
- package/dist/standalone/chunk-EJSI4PMU.js +1 -0
- package/dist/standalone/chunk-EKI5NWS5.js +1 -0
- package/dist/standalone/chunk-ES7C5MLI.js +3 -0
- package/dist/standalone/chunk-EVTM6Q43.js +1 -0
- package/dist/standalone/chunk-F7UC63UN.js +1 -0
- package/dist/standalone/chunk-FEWMAPNI.js +1 -0
- package/dist/standalone/chunk-FHG2QEL4.js +1 -0
- package/dist/standalone/chunk-FKVZRPV5.js +1 -0
- package/dist/standalone/chunk-FSRSK4LY.js +1 -0
- package/dist/standalone/chunk-FXOLFSG4.js +1 -0
- package/dist/standalone/chunk-G7FODHE4.js +1 -0
- package/dist/standalone/chunk-GMS77BZD.js +1 -0
- package/dist/standalone/chunk-HEAQVSNS.js +1 -0
- package/dist/standalone/chunk-I7XX4RBG.js +1 -0
- package/dist/standalone/chunk-IHMGCHAA.js +1 -0
- package/dist/standalone/chunk-IMOHEGMV.js +1 -0
- package/dist/standalone/chunk-IS6LVJ6L.js +1 -0
- package/dist/standalone/chunk-IZTVQDA3.js +1 -0
- package/dist/standalone/chunk-JOVONUS6.js +1 -0
- package/dist/standalone/chunk-K7AJEMKE.js +1 -0
- package/dist/standalone/chunk-LCRAEP3B.js +1 -0
- package/dist/standalone/chunk-M5UWPXQ3.js +1 -0
- package/dist/standalone/chunk-MRAMNVDG.js +1 -0
- package/dist/standalone/chunk-MU3P2FI7.js +1 -0
- package/dist/standalone/chunk-MXLAOCAN.js +1 -0
- package/dist/standalone/chunk-N5WACH4X.js +15 -0
- package/dist/standalone/chunk-NCFRIHLB.js +1 -0
- package/dist/standalone/chunk-NFS7FTAR.js +1 -0
- package/dist/standalone/chunk-NPF3GY2E.js +15 -0
- package/dist/standalone/chunk-NT2KYUYG.js +1 -0
- package/dist/standalone/chunk-NVIFBILD.js +1 -0
- package/dist/standalone/chunk-OGUKYRFM.js +1 -0
- package/dist/standalone/chunk-OKG3HWSJ.js +1 -0
- package/dist/standalone/chunk-OOTQQBVC.js +1 -0
- package/dist/standalone/chunk-PDSH4NPA.js +1 -0
- package/dist/standalone/chunk-PLHA3OWK.js +3 -0
- package/dist/standalone/chunk-PTZD7RUZ.js +19 -0
- package/dist/standalone/chunk-PW5YXLOU.js +2 -0
- package/dist/standalone/chunk-Q3LDA6LU.js +1 -0
- package/dist/standalone/chunk-Q4CAKBWN.js +1 -0
- package/dist/standalone/chunk-QKEJLVC5.js +1 -0
- package/dist/standalone/chunk-RFNGDE33.js +1 -0
- package/dist/standalone/chunk-RPJEAHAZ.js +1 -0
- package/dist/standalone/chunk-RPQL45FL.js +1 -0
- package/dist/standalone/chunk-S3CRZLGS.js +1 -0
- package/dist/standalone/chunk-S5JZR7QX.js +1 -0
- package/dist/standalone/chunk-SJVMPGAR.js +4 -0
- package/dist/standalone/chunk-SPGA4XL7.js +1 -0
- package/dist/standalone/chunk-SS2DZEKJ.js +1 -0
- package/dist/standalone/chunk-SXGQQHMD.js +1 -0
- package/dist/standalone/chunk-TI33XMKX.js +9 -0
- package/dist/standalone/chunk-TIYNL2DI.js +1 -0
- package/dist/standalone/chunk-TNFY5M3M.js +1 -0
- package/dist/standalone/chunk-U3N3BHO4.js +1 -0
- package/dist/standalone/chunk-ULIQFBZU.js +1 -0
- package/dist/standalone/chunk-UXXDN6Z3.js +1 -0
- package/dist/standalone/chunk-UYEZR3BI.js +1 -0
- package/dist/standalone/chunk-V3CZW3JB.js +1 -0
- package/dist/standalone/chunk-V3VJAA4D.js +1 -0
- package/dist/standalone/chunk-VL2YOLHO.js +1 -0
- package/dist/standalone/chunk-WDVLOAJ4.js +1 -0
- package/dist/standalone/chunk-WUWBZPUK.js +1 -0
- package/dist/standalone/chunk-X3LPHVDL.js +1 -0
- package/dist/standalone/chunk-XZMOZFE6.js +1 -0
- package/dist/standalone/chunk-Y6CXU7T4.js +1 -0
- package/dist/standalone/chunk-YEKI5KIW.js +1 -0
- package/dist/standalone/chunk-YERR37A2.js +1 -0
- package/dist/standalone/chunk-YKXDMIHQ.js +1 -0
- package/dist/standalone/chunk-YOB2X3FZ.js +1 -0
- package/dist/standalone/chunk-YPRQLCKF.js +1 -0
- package/dist/standalone/chunk-Z5O2NQAV.js +1 -0
- package/dist/standalone/chunk-ZCBZMZ7W.js +1 -0
- package/dist/standalone/chunk-ZFC65NB2.js +1 -0
- package/dist/standalone/chunk-ZGHK6YA6.js +1 -0
- package/dist/standalone/studio.js +9 -378
- package/dist/styles.css +2 -2
- package/package.json +24 -20
- 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-BgrN4kml.js +0 -842
- package/dist/packem_shared/ApiReferencePanel-1vubqG5s.js +0 -229
- package/dist/packem_shared/ApiTab-CHkX49o_.js +0 -251
- package/dist/packem_shared/AuditPanel-CP9HM9nq.js +0 -200
- package/dist/packem_shared/CommandPalette-BtgkBzZI.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-Bb1gTQ6c.js +0 -4475
- package/dist/packem_shared/DataFilters-FNquMaiu.js +0 -249
- package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
- package/dist/packem_shared/ExportImportPanel-Dj87tRa5.js +0 -197
- package/dist/packem_shared/FileBrowser-CWvxp_is.js +0 -2932
- package/dist/packem_shared/FunctionRunner-DlWApMCH.js +0 -343
- package/dist/packem_shared/FunctionStatsPanel-CuO2Tmw-.js +0 -375
- package/dist/packem_shared/GlobalDataBrowser-3X9uRfdO.js +0 -289
- package/dist/packem_shared/HealthPanel-Dj0GRo5P.js +0 -648
- package/dist/packem_shared/HomePanel-BewOCuag.js +0 -1334
- package/dist/packem_shared/InsightsPanel-y_Q-xdPY.js +0 -461
- package/dist/packem_shared/LogsPanel-C7crgYoS.js +0 -827
- package/dist/packem_shared/MailPanel-PILidruz.js +0 -440
- package/dist/packem_shared/MetricsPanel-DioILzgf.js +0 -1611
- package/dist/packem_shared/MigrationsPanel-DkIcRoE5.js +0 -239
- package/dist/packem_shared/OpenRpcReferencePanel-vbcYbv3V.js +0 -191
- package/dist/packem_shared/PitrPanel-yKJ1JPPk.js +0 -252
- package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
- package/dist/packem_shared/ScheduledJobs-BWNwIN3I.js +0 -262
- package/dist/packem_shared/SchemaViewer-CNr8Wame.js +0 -2512
- package/dist/packem_shared/SecurityAdvisorPanel-BBzv7L3c.js +0 -92
- package/dist/packem_shared/SettingsPanel-BKSKl8tl.js +0 -390
- package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
- package/dist/packem_shared/SqlEditorPanel-CkemCQvy.js +0 -13
- package/dist/packem_shared/Studio-QkOjc2NS.js +0 -33
- package/dist/packem_shared/StudioApp-TEElspKL.js +0 -657
- package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
- package/dist/packem_shared/TableEditor-JS3sXYgS.js +0 -11
- package/dist/packem_shared/advisor-view-CGcfMiPq.js +0 -159
- package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
- package/dist/packem_shared/app.d-Cnij4Zp5.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-B5CaV3wS.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-CzUfqgsM.js +0 -840
- package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
- package/dist/packem_shared/internal-rXJEAhXS.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/reference-view-B4E49Lip.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-CUJoYF1Z.js +0 -2562
- package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
- package/dist/packem_shared/studio-c5Vf7kSh.js +0 -11532
- package/dist/packem_shared/table-_RzNvy3R.js +0 -246
- package/dist/packem_shared/table-editor-9fhJ4hMJ.js +0 -407
- package/dist/packem_shared/table-list-sidebar-Bg7uzbvC.js +0 -832
- package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
- package/dist/packem_shared/use-admin-query-BkbdNFNz.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,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{c as N}from"react/compiler-runtime";import{createRootRoute as as,createRoute as _t,createBrowserHistory as os,createMemoryHistory as ns,createRouter as rs,useNavigate as Et,useSearch as is,RouterProvider as ls,useRouterState as ds,Outlet as cs}from"@tanstack/react-router";import*as it from"react";import{use as St,createContext as $t,useState as ct,useEffect as lt,useSyncExternalStore as us,lazy as A,Suspense as fs}from"react";import{c as _}from"./utils-bhneXptQ.mjs";import{jsx as n,jsxs as w,Fragment as Ht}from"react/jsx-runtime";import{ErrorBoundary as ms}from"./ErrorBoundary-BWNF98VF.mjs";import{O as hs,u as ps}from"./operation-console-provider-DoloEvon.mjs";import{useT as te}from"./DEFAULT_LOCALE-A1Yg5ORA.mjs";import{LunoraError as Bt}from"@lunora/errors";import{B as ut}from"./badge-r_5B4LHP.mjs";import{I as Vt}from"./input-CXhxesPC.mjs";import{Popover as dt}from"@base-ui/react/popover";import{Cancel01Icon as gs,SidebarLeftIcon as bs}from"@hugeicons/core-free-icons";import{HugeiconsIcon as zt}from"@hugeicons/react";import{mergeProps as Dt}from"@base-ui/react/merge-props";import{useRender as Ot}from"@base-ui/react/use-render";import{cva as vs}from"class-variance-authority";import{B as Zt}from"./button-q0UYSmrn.mjs";import{Dialog as oe}from"@base-ui/react/dialog";import{Tooltip as ae}from"@base-ui/react/tooltip";import{S as yt}from"./skeleton-DX1gfixl.mjs";import{H as xs,u as ys}from"./home-panel-DBSHjxil.mjs";import{g as ws,f as Nt}from"./internal-Df43vQI0.mjs";import{o as pt}from"./use-admin-query-tlBof8Yg.mjs";import{StudioI18nProvider as ks}from"./StudioI18nProvider-fVsCSs5L.mjs";import{v as Ns,a as Ms}from"./data-view-params-DhYmAkcj.mjs";import{CommandPalette as Ss,openCommandPalette as Cs}from"./CommandPalette-D9ZY-qQd.mjs";import{motion as Ps}from"motion/react";import{E as _s}from"./empty-state-D7jEML_T.mjs";import{u as Ts}from"./shortcuts-B9gDaXmw.mjs";const Ft="(prefers-color-scheme: dark)",qt=()=>{try{return globalThis.localStorage}catch{return}},Ls=t=>t==="system"||t==="light"||t==="dark",Wt=()=>globalThis.matchMedia,jt="lunora-studio-theme",wt=["system","light","dark"],As=(t="system")=>{try{const e=qt()?.getItem(jt);return Ls(e)?e:t}catch{return t}},Tt=t=>{const e=qt();if(e!==void 0)try{e.setItem(jt,t)}catch{}},Is=()=>{try{return Wt()?.(Ft).matches?"dark":"light"}catch{return"light"}},Rs=(t,e)=>t==="system"?e:t,Es=t=>{let e;try{e=Wt()?.(Ft)}catch{e=void 0}if(e===void 0)return()=>{};const s=a=>{t(a.matches?"dark":"light")};return e.addEventListener("change",s),()=>{e.removeEventListener("change",s)}},Ct=$t(null),$s=({children:t,defaultTheme:e="system"})=>{const[s,a]=ct(()=>As(e)),[o,r]=ct(()=>Is());lt(()=>Es(r),[]);const i=u=>{Tt(u),a(u)},d={cycleTheme:()=>{a(u=>{const c=wt[(wt.indexOf(u)+1)%wt.length]??u;return Tt(c),c})},resolvedTheme:Rs(s,o),setTheme:i,systemTheme:o,theme:s};return n(Ct,{value:d,children:t})},Hs=t=>{const e=N(3),{children:s}=t,a=St(Ct);let o;return e[0]!==s||e[1]!==a?(o=a===null?n($s,{children:s}):s,e[0]=s,e[1]=a,e[2]=o):o=e[2],o},Bs=()=>{const t=St(Ct);if(t===null)throw new Bt("INTERNAL","useTheme must be used within a <ThemeProvider>");return t};function Pn({delay:t=0,...e}){return n(ae.Provider,{"data-slot":"tooltip-provider",delay:t,...e})}function Vs(t){const e=N(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let a;return e[2]!==s?(a=n(ae.Root,{"data-slot":"tooltip",...s}),e[2]=s,e[3]=a):a=e[3],a}function zs(t){const e=N(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let a;return e[2]!==s?(a=n(ae.Trigger,{"data-slot":"tooltip-trigger",...s}),e[2]=s,e[3]=a):a=e[3],a}function Ds({className:t,side:e="top",sideOffset:s=4,align:a="center",alignOffset:o=0,children:r,...i}){return n(ae.Portal,{children:n(ae.Positioner,{align:a,alignOffset:o,side:e,sideOffset:s,className:"isolate z-50",children:w(ae.Popup,{"data-slot":"tooltip-content",className:_("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),...i,children:[r,n(ae.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"})]})})})}const Os=t=>{const e=N(5),{className:s}=t;let a;e[0]!==s?(a=_("h-full w-full text-foreground",s),e[0]=s,e[1]=a):a=e[1];let o;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=n("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]=o):o=e[2];let r;return e[3]!==a?(r=n("svg",{"aria-hidden":"true",className:a,fill:"currentColor",viewBox:"0 0 543 446",children:o}),e[3]=a,e[4]=r):r=e[4],r},Gt="lunora.studio.rulesBannerDismissed",Zs=()=>{try{return globalThis.localStorage.getItem(Gt)==="1"}catch{return!1}},Fs=()=>{try{globalThis.localStorage.setItem(Gt,"1")}catch{}},qs=()=>{const t=N(18),e=te(),[s,a]=ct(Ws);let o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=()=>{a(!0),Fs()},t[0]=o):o=t[0];const r=o;if(s)return null;let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=n("span",{"aria-hidden":"true",className:"text-warning",children:"⚠"}),t[1]=i):i=t[1];let l;t[2]!==e?(l=e("Lunora AI rules aren't installed."),t[2]=e,t[3]=l):l=t[3];let d;t[4]===Symbol.for("react.memo_cache_sentinel")?(d=n("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px]",children:"lunora rules install"}),t[4]=d):d=t[4];let u;t[5]!==e?(u=e("lets your coding agent use Lunora correctly."),t[5]=e,t[6]=u):u=t[6];let c;t[7]!==l||t[8]!==u?(c=w("span",{children:[l," ",d," ",u]}),t[7]=l,t[8]=u,t[9]=c):c=t[9];let m;t[10]!==e?(m=e("Dismiss"),t[10]=e,t[11]=m):m=t[11];let h;t[12]===Symbol.for("react.memo_cache_sentinel")?(h=n("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:n("path",{d:"M18 6 6 18M6 6l12 12"})}),t[12]=h):h=t[12];let f;t[13]!==m?(f=n("button",{"aria-label":m,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:r,type:"button",children:h}),t[13]=m,t[14]=f):f=t[14];let g;return t[15]!==c||t[16]!==f?(g=w("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:[i,c,f]}),t[15]=c,t[16]=f,t[17]=g):g=t[17],g};function Ws(){return Zs()}function Ut(t){const e=N(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let a;return e[2]!==s?(a=n(dt.Root,{"data-slot":"popover",...s}),e[2]=s,e[3]=a):a=e[3],a}function Kt(t){const e=N(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let a;return e[2]!==s?(a=n(dt.Trigger,{"data-slot":"popover-trigger",...s}),e[2]=s,e[3]=a):a=e[3],a}function Qt({align:t="end",alignOffset:e=0,className:s,keepMounted:a=!1,side:o="bottom",sideOffset:r=6,...i}){return n(dt.Portal,{keepMounted:a,children:n(dt.Positioner,{align:t,alignOffset:e,className:"isolate z-50 outline-none",side:o,sideOffset:r,children:n(dt.Popup,{className:_("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",s),"data-slot":"popover-content",...i})})})}const kt=768;function js(){const t=N(2),[e,s]=ct(void 0);let a,o;return t[0]===Symbol.for("react.memo_cache_sentinel")?(a=()=>{const r=globalThis.matchMedia(`(max-width: ${kt-1}px)`),i=()=>{s(globalThis.innerWidth<kt)};return r.addEventListener("change",i),s(globalThis.innerWidth<kt),()=>{r.removeEventListener("change",i)}},o=[],t[0]=a,t[1]=o):(a=t[0],o=t[1]),lt(a,o),!!e}function Gs(t){const e=N(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let a;return e[2]!==s?(a=n(oe.Root,{"data-slot":"sheet",...s}),e[2]=s,e[3]=a):a=e[3],a}function Us(t){const e=N(4);let s;e[0]!==t?({...s}=t,e[0]=t,e[1]=s):s=e[1];let a;return e[2]!==s?(a=n(oe.Portal,{"data-slot":"sheet-portal",...s}),e[2]=s,e[3]=a):a=e[3],a}function Ks(t){const e=N(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("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:",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n(oe.Backdrop,{"data-slot":"sheet-overlay",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function Qs({className:t,children:e,side:s="right",showCloseButton:a=!0,...o}){return w(Us,{children:[n(Ks,{}),w(oe.Popup,{"data-slot":"sheet-content","data-side":s,className:_("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),...o,children:[e,a&&w(oe.Close,{"data-slot":"sheet-close",render:n(Zt,{variant:"ghost",className:"absolute top-3 end-3",size:"icon-sm"}),children:[n(zt,{icon:gs,strokeWidth:2}),n("span",{className:"sr-only",children:"Close"})]})]})]})}function Ys(t){const e=N(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("flex flex-col gap-0.5 p-4",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("div",{"data-slot":"sheet-header",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function Js(t){const e=N(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("text-sm font-medium text-foreground",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n(oe.Title,{"data-slot":"sheet-title",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function Xs(t){const e=N(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("text-xs/relaxed text-muted-foreground",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n(oe.Description,{"data-slot":"sheet-description",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}const ea="sidebar_state",ta=3600*24*7,sa="16rem",aa="18rem",oa="3rem",na="b",Yt=it.createContext(null);function gt(){const t=it.useContext(Yt);if(!t)throw new Bt("INTERNAL","useSidebar must be used within a SidebarProvider.");return t}function ra({defaultOpen:t=!0,open:e,onOpenChange:s,className:a,style:o,children:r,...i}){const l=js(),[d,u]=it.useState(!1),[c,m]=it.useState(t),h=e??c,f=p=>{const x=typeof p=="function"?p(h):p;s?s(x):m(x),document.cookie=`${ea}=${x}; path=/; max-age=${ta}`},g=()=>l?u(p=>!p):f(p=>!p),v=it.useEffectEvent(()=>{g()});it.useEffect(()=>{const p=x=>{x.key===na&&(x.metaKey||x.ctrlKey)&&(x.preventDefault(),v())};return globalThis.addEventListener("keydown",p),()=>globalThis.removeEventListener("keydown",p)},[]);const b={state:h?"expanded":"collapsed",open:h,setOpen:f,isMobile:l,openMobile:d,setOpenMobile:u,toggleSidebar:g};return n(Yt.Provider,{value:b,children:n("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":sa,"--sidebar-width-icon":oa,...o},className:_("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",a),...i,children:r})})}function ia({side:t="left",variant:e="sidebar",collapsible:s="offcanvas",className:a,children:o,dir:r,...i}){const{isMobile:l,state:d,openMobile:u,setOpenMobile:c}=gt();return s==="none"?n("div",{"data-slot":"sidebar",className:_("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",a),...i,children:o}):l?n(Gs,{open:u,onOpenChange:c,...i,children:w(Qs,{dir:r,"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":aa},side:t,children:[w(Ys,{className:"sr-only",children:[n(Js,{children:"Sidebar"}),n(Xs,{children:"Displays the mobile sidebar."})]}),n("div",{className:"flex h-full w-full flex-col",children:o})]})}):w("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":d,"data-collapsible":d==="collapsed"?s:"","data-variant":e,"data-side":t,"data-slot":"sidebar",children:[n("div",{"data-slot":"sidebar-gap",className:_("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)")}),n("div",{"data-slot":"sidebar-container","data-side":t,className:_("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",a),...i,children:n("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:o})})]})}function la(t){const e=N(15);let s,a,o;e[0]!==t?({className:s,onClick:a,...o}=t,e[0]=t,e[1]=s,e[2]=a,e[3]=o):(s=e[1],a=e[2],o=e[3]);const{toggleSidebar:r}=gt();let i;e[4]!==s?(i=_(s),e[4]=s,e[5]=i):i=e[5];let l;e[6]!==a||e[7]!==r?(l=m=>{a?.(m),r()},e[6]=a,e[7]=r,e[8]=l):l=e[8];let d,u;e[9]===Symbol.for("react.memo_cache_sentinel")?(d=n(zt,{icon:bs,strokeWidth:2,className:"rtl:rotate-180"}),u=n("span",{className:"sr-only",children:"Toggle Sidebar"}),e[9]=d,e[10]=u):(d=e[9],u=e[10]);let c;return e[11]!==o||e[12]!==i||e[13]!==l?(c=w(Zt,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon-sm",className:i,onClick:l,...o,children:[d,u]}),e[11]=o,e[12]=i,e[13]=l,e[14]=c):c=e[14],c}function da(t){const e=N(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("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",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("main",{"data-slot":"sidebar-inset",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function ca(t){const e=N(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("flex flex-col gap-2 p-2",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function ua(t){const e=N(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("flex flex-col gap-2 p-2",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function fa(t){const e=N(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("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",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function ma(t){const e=N(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("relative flex w-full min-w-0 flex-col p-2",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function ha(t){const e=N(10);let s,a,o,r;if(e[0]!==t){const{className:d,render:u,...c}=t;s=u,r=Ot,a="div",o=Dt({className:_("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",d)},c),e[0]=t,e[1]=s,e[2]=a,e[3]=o,e[4]=r}else s=e[1],a=e[2],o=e[3],r=e[4];let i;e[5]===Symbol.for("react.memo_cache_sentinel")?(i={slot:"sidebar-group-label",sidebar:"group-label"},e[5]=i):i=e[5];let l;return e[6]!==s||e[7]!==a||e[8]!==o?(l={defaultTagName:a,props:o,render:s,state:i},e[6]=s,e[7]=a,e[8]=o,e[9]=l):l=e[9],r(l)}function pa(t){const e=N(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("w-full text-xs",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function Lt(t){const e=N(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("flex w-full min-w-0 flex-col gap-0",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}function At(t){const e=N(8);let s,a;e[0]!==t?({className:s,...a}=t,e[0]=t,e[1]=s,e[2]=a):(s=e[1],a=e[2]);let o;e[3]!==s?(o=_("group/menu-item relative",s),e[3]=s,e[4]=o):o=e[4];let r;return e[5]!==a||e[6]!==o?(r=n("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:o,...a}),e[5]=a,e[6]=o,e[7]=r):r=e[7],r}const ga=vs("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 Jt({render:t,isActive:e=!1,variant:s="default",size:a="default",tooltip:o,className:r,...i}){const{isMobile:l,state:d}=gt(),u=Ot({defaultTagName:"button",props:Dt({className:_(ga({variant:s,size:a}),r)},i),render:o?n(zs,{render:t}):t,state:{slot:"sidebar-menu-button",sidebar:"menu-button",size:a,active:e}});return o?(typeof o=="string"&&(o={children:o}),w(Vs,{children:[u,n(Ds,{side:"right",align:"center",hidden:d!=="collapsed"||l,...o})]})):u}const ba=t=>t.replace("__lunora_admin__:",""),va=()=>us(pt.subscribe,pt.getSnapshot,pt.getSnapshot),xa=t=>t==="error"?"destructive":t==="pending"?"secondary":"default",ya=t=>{const e=N(56),{entry:s,focused:a}=t,o=te();let r;e[0]!==a?(r=O=>{O!==null&&a&&O.scrollIntoView({block:"nearest"})},e[0]=a,e[1]=r):r=e[1];const i=r;let l;e[2]!==s.functionPath||e[3]!==s.shardKey||e[4]!==s.summary?(l=()=>{ws(`${s.functionPath} ${s.summary}${s.shardKey===""?"":` (shard ${s.shardKey})`}`)},e[2]=s.functionPath,e[3]=s.shardKey,e[4]=s.summary,e[5]=l):l=e[5];const d=l,u=a&&"bg-accent ring-1 ring-inset ring-primary/40";let c;e[6]!==u?(c=_("border-b border-border/60 last:border-b-0",u),e[6]=u,e[7]=c):c=e[7];let m;e[8]!==s.status?(m=xa(s.status),e[8]=s.status,e[9]=m):m=e[9];const h=s.status==="pending"?"…":s.status;let f;e[10]!==m||e[11]!==h?(f=n(ut,{className:"mt-px shrink-0",variant:m,children:h}),e[10]=m,e[11]=h,e[12]=f):f=e[12];let g;e[13]!==s.functionPath?(g=ba(s.functionPath),e[13]=s.functionPath,e[14]=g):g=e[14];let v;e[15]!==g?(v=n("span",{className:"shrink-0 font-mono text-[11px] text-foreground",children:g}),e[15]=g,e[16]=v):v=e[16];let y;e[17]!==s.kind||e[18]!==o?(y=s.kind==="subscription"&&n(ut,{className:"shrink-0",variant:"outline",children:o("live")}),e[17]=s.kind,e[18]=o,e[19]=y):y=e[19];let b;e[20]!==s.summary?(b=s.summary!==""&&n("span",{className:"min-w-0 truncate text-muted-foreground",children:s.summary}),e[20]=s.summary,e[21]=b):b=e[21];let p;e[22]!==s.shardKey?(p=s.shardKey!==""&&n("span",{className:"font-mono",children:s.shardKey}),e[22]=s.shardKey,e[23]=p):p=e[23];let x;e[24]!==s.resultCount||e[25]!==o?(x=s.resultCount!==void 0&&n("span",{children:o("{count} rows",{count:s.resultCount})}),e[24]=s.resultCount,e[25]=o,e[26]=x):x=e[26];let k;e[27]!==s.pushes||e[28]!==o?(k=s.pushes!==void 0&&s.pushes>0&&n("span",{children:o("{count} pushes",{count:s.pushes})}),e[27]=s.pushes,e[28]=o,e[29]=k):k=e[29];let P;e[30]!==s.durationMs?(P=s.durationMs!==void 0&&w("span",{children:[s.durationMs,"ms"]}),e[30]=s.durationMs,e[31]=P):P=e[31];let C;e[32]!==o?(C=o("Copy"),e[32]=o,e[33]=C):C=e[33];let S;e[34]!==d||e[35]!==C?(S=n("button",{"aria-label":C,className:"rounded px-1 outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"oc-copy",onClick:d,type:"button",children:"⧉"}),e[34]=d,e[35]=C,e[36]=S):S=e[36];let M;e[37]!==p||e[38]!==x||e[39]!==k||e[40]!==P||e[41]!==S?(M=w("span",{className:"ms-auto flex shrink-0 items-center gap-2 text-[11px] text-muted-foreground",children:[p,x,k,P,S]}),e[37]=p,e[38]=x,e[39]=k,e[40]=P,e[41]=S,e[42]=M):M=e[42];let T;e[43]!==y||e[44]!==b||e[45]!==M||e[46]!==f||e[47]!==v?(T=w("div",{className:"flex items-start gap-2 px-3 py-1.5 text-xs",children:[f,v,y,b,M]}),e[43]=y,e[44]=b,e[45]=M,e[46]=f,e[47]=v,e[48]=T):T=e[48];let L;e[49]!==s.error?(L=s.error!==void 0&&n("p",{className:"px-3 pb-1.5 font-mono text-[11px] text-destructive","data-testid":"oc-error",children:s.error}),e[49]=s.error,e[50]=L):L=e[50];let I;return e[51]!==i||e[52]!==T||e[53]!==L||e[54]!==c?(I=w("li",{className:c,"data-testid":"oc-row",ref:i,children:[T,L]}),e[51]=i,e[52]=T,e[53]=L,e[54]=c,e[55]=I):I=e[55],I},wa=t=>{const e=N(62),{focusSeq:s,onClose:a,onShownChange:o,shown:r}=t,i=te(),l=va(),[d,u]=ct("");let c;if(e[0]!==l||e[1]!==s||e[2]!==d||e[3]!==a||e[4]!==o||e[5]!==r||e[6]!==i){const m=d.trim().toLowerCase(),h=l.filter(E=>(r==="errors"?E.status==="error":!0)&&(m===""||`${E.functionPath} ${E.summary} ${E.shardKey}`.toLowerCase().includes(m))).toReversed();let f;e[8]!==l?(f=l.filter(ka),e[8]=l,e[9]=f):f=e[9];const g=f.length;let v;e[10]!==i?(v=i("Operation console"),e[10]=i,e[11]=v):v=e[11];let y;e[12]!==i?(y=i("Operation console"),e[12]=i,e[13]=y):y=e[13];let b;e[14]!==y?(b=n("span",{className:"text-xs font-medium",children:y}),e[14]=y,e[15]=b):b=e[15];let p;e[16]!==l.length||e[17]!==i?(p=i("{count} calls",{count:l.length}),e[16]=l.length,e[17]=i,e[18]=p):p=e[18];let x;e[19]!==p?(x=n(ut,{variant:"secondary",children:p}),e[19]=p,e[20]=x):x=e[20];let k;e[21]!==g||e[22]!==i?(k=g>0&&n(ut,{variant:"destructive",children:i("{count} failed",{count:g})}),e[21]=g,e[22]=i,e[23]=k):k=e[23];const P=r==="errors",C=r==="errors"&&"bg-accent";let S;e[24]!==C?(S=_("rounded px-2 py-0.5 text-xs outline-none hover:bg-accent focus-visible:bg-accent",C),e[24]=C,e[25]=S):S=e[25];let M;e[26]!==o||e[27]!==r?(M=()=>{o(r==="errors"?"all":"errors")},e[26]=o,e[27]=r,e[28]=M):M=e[28];let T;e[29]!==i?(T=i("Errors"),e[29]=i,e[30]=T):T=e[30];let L;e[31]!==S||e[32]!==M||e[33]!==T||e[34]!==P?(L=n("button",{"aria-pressed":P,className:S,"data-testid":"oc-filter-errors",onClick:M,type:"button",children:T}),e[31]=S,e[32]=M,e[33]=T,e[34]=P,e[35]=L):L=e[35];let I;e[36]!==i?(I=i("Filter"),e[36]=i,e[37]=I):I=e[37];let O;e[38]===Symbol.for("react.memo_cache_sentinel")?(O=E=>{u(E.target.value)},e[38]=O):O=e[38];let B;e[39]!==i?(B=i("Filter"),e[39]=i,e[40]=B):B=e[40];let V;e[41]!==d||e[42]!==I||e[43]!==B?(V=n(Vt,{"aria-label":I,className:"h-7 w-40 text-xs","data-testid":"oc-search",onChange:O,placeholder:B,value:d}),e[41]=d,e[42]=I,e[43]=B,e[44]=V):V=e[44];let z;e[45]!==i?(z=i("Clear"),e[45]=i,e[46]=z):z=e[46];let $;e[47]!==z?($=n("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:Na,type:"button",children:z}),e[47]=z,e[48]=$):$=e[48];let H;e[49]!==i?(H=i("Hide"),e[49]=i,e[50]=H):H=e[50];let D;e[51]!==a||e[52]!==H?(D=n("button",{"aria-label":H,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:a,type:"button",children:"✕"}),e[51]=a,e[52]=H,e[53]=D):D=e[53];let Z;e[54]!==L||e[55]!==V||e[56]!==$||e[57]!==D||e[58]!==b||e[59]!==x||e[60]!==k?(Z=w("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-3 py-1.5",children:[b,x,k,L,V,$,D]}),e[54]=L,e[55]=V,e[56]=$,e[57]=D,e[58]=b,e[59]=x,e[60]=k,e[61]=Z):Z=e[61],c=w("section",{"aria-label":v,className:"flex max-h-80 flex-col border-t border-border bg-card","data-testid":"lunora-operation-console",children:[Z,h.length===0?n("p",{className:"p-3 text-xs text-muted-foreground","data-testid":"oc-empty",children:i("Every admin call this studio makes is recorded here.")}):n("ul",{className:"min-h-0 flex-1 overflow-y-auto","data-testid":"oc-rows",children:h.map(E=>n(ya,{entry:E,focused:E.seq===s},E.seq))})]}),e[0]=l,e[1]=s,e[2]=d,e[3]=a,e[4]=o,e[5]=r,e[6]=i,e[7]=c}else c=e[7];return c};function ka(t){return t.status==="error"}function Na(){pt.clear()}const Ma=()=>{const t=N(316),e=te();let s;t[0]!==e?(s=e("Health score"),t[0]=e,t[1]=s):s=t[1];let a;t[2]!==e?(a=e("Agents"),t[2]=e,t[3]=a):a=t[3];let o;t[4]!==e?(o=e("Evals"),t[4]=e,t[5]=o):o=t[5];let r;t[6]!==e?(r=e("Analytics"),t[6]=e,t[7]=r):r=t[7];let i;t[8]!==e?(i=e("API"),t[8]=e,t[9]=i):i=t[9];let l;t[10]!==e?(l=e("Audit"),t[10]=e,t[11]=l):l=t[11];let d;t[12]!==e?(d=e("Auth audit"),t[12]=e,t[13]=d):d=t[13];let u;t[14]!==e?(u=e("Configuration"),t[14]=e,t[15]=u):u=t[15];let c;t[16]!==e?(c=e("Sessions"),t[16]=e,t[17]=c):c=t[17];let m;t[18]!==e?(m=e("Containers"),t[18]=e,t[19]=m):m=t[19];let h;t[20]!==e?(h=e("Dashboards"),t[20]=e,t[21]=h):h=t[21];let f;t[22]!==e?(f=e("Data"),t[22]=e,t[23]=f):f=t[23];let g;t[24]!==e?(g=e("Deployment health"),t[24]=e,t[25]=g):g=t[25];let v;t[26]!==e?(v=e("Log drains"),t[26]=e,t[27]=v):v=t[27];let y;t[28]!==e?(y=e("Export / Import"),t[28]=e,t[29]=y):y=t[29];let b;t[30]!==e?(b=e("Fan-out"),t[30]=e,t[31]=b):b=t[31];let p;t[32]!==e?(p=e("Files"),t[32]=e,t[33]=p):p=t[33];let x;t[34]!==e?(x=e("Flags"),t[34]=e,t[35]=x):x=t[35];let k;t[36]!==e?(k=e("Functions"),t[36]=e,t[37]=k):k=t[37];let P;t[38]!==e?(P=e("Health"),t[38]=e,t[39]=P):P=t[39];let C;t[40]!==e?(C=e("Home"),t[40]=e,t[41]=C):C=t[41];let S;t[42]!==e?(S=e("Performance"),t[42]=e,t[43]=S):S=t[43];let M;t[44]!==e?(M=e("Issues"),t[44]=e,t[45]=M):M=t[45];let T;t[46]!==e?(T=e("KV"),t[46]=e,t[47]=T):T=t[47];let L;t[48]!==e?(L=e("Logs"),t[48]=e,t[49]=L):L=t[49];let I;t[50]!==e?(I=e("Metrics"),t[50]=e,t[51]=I):I=t[51];let O;t[52]!==e?(O=e("Migrations"),t[52]=e,t[53]=O):O=t[53];let B;t[54]!==e?(B=e("Notifications"),t[54]=e,t[55]=B):B=t[55];let V;t[56]!==e?(V=e("Organizations"),t[56]=e,t[57]=V):V=t[57];let z;t[58]!==e?(z=e("Time Travel"),t[58]=e,t[59]=z):z=t[59];let $;t[60]!==e?($=e("Mail"),t[60]=e,t[61]=$):$=t[61];let H;t[62]!==e?(H=e("Payments"),t[62]=e,t[63]=H):H=t[63];let D;t[64]!==e?(D=e("Permissions"),t[64]=e,t[65]=D):D=t[65];let Z;t[66]!==e?(Z=e("Queues"),t[66]=e,t[67]=Z):Z=t[67];let E;t[68]!==e?(E=e("Reactors"),t[68]=e,t[69]=E):E=t[69];let F;t[70]!==e?(F=e("Realtime"),t[70]=e,t[71]=F):F=t[71];let X;t[72]!==e?(X=e("RLS Policies"),t[72]=e,t[73]=X):X=t[73];let q;t[74]!==e?(q=e("Scheduled"),t[74]=e,t[75]=q):q=t[75];let Y;t[76]!==e?(Y=e("Schema"),t[76]=e,t[77]=Y):Y=t[77];let ee;t[78]!==e?(ee=e("Security"),t[78]=e,t[79]=ee):ee=t[79];let W;t[80]!==e?(W=e("Settings"),t[80]=e,t[81]=W):W=t[81];let j;t[82]!==e?(j=e("SQL editor"),t[82]=e,t[83]=j):j=t[83];let G;t[84]!==e?(G=e("Traces"),t[84]=e,t[85]=G):G=t[85];let U;t[86]!==e?(U=e("Access Rules"),t[86]=e,t[87]=U):U=t[87];let K;t[88]!==e?(K=e("Users"),t[88]=e,t[89]=K):K=t[89];let J;t[90]!==e?(J=e("Vectors"),t[90]=e,t[91]=J):J=t[91];let Q;t[92]!==e?(Q=e("Workflows"),t[92]=e,t[93]=Q):Q=t[93];let se;t[94]!==s||t[95]!==a||t[96]!==h||t[97]!==f||t[98]!==g||t[99]!==v||t[100]!==y||t[101]!==b||t[102]!==p||t[103]!==x||t[104]!==k||t[105]!==P||t[106]!==o||t[107]!==C||t[108]!==S||t[109]!==M||t[110]!==T||t[111]!==L||t[112]!==I||t[113]!==O||t[114]!==B||t[115]!==V||t[116]!==z||t[117]!==r||t[118]!==$||t[119]!==H||t[120]!==D||t[121]!==Z||t[122]!==E||t[123]!==F||t[124]!==X||t[125]!==q||t[126]!==Y||t[127]!==ee||t[128]!==i||t[129]!==W||t[130]!==j||t[131]!==G||t[132]!==U||t[133]!==K||t[134]!==J||t[135]!==Q||t[136]!==l||t[137]!==d||t[138]!==u||t[139]!==c||t[140]!==m?(se={advisorHealth:s,agents:a,evals:o,analytics:r,api:i,audit:l,authAudit:d,authConfig:u,authSessions:c,containers:m,dashboards:h,data:f,deploymentHealth:g,drains:v,export:y,fanout:b,files:p,flags:x,functions:k,health:P,home:C,insights:S,issues:M,kv:T,logs:L,metrics:I,migrations:O,notifications:B,organizations:V,pitr:z,mail:$,payments:H,permissions:D,queues:Z,reactors:E,realtime:F,rls:X,schedule:q,schema:Y,security:ee,settings:W,sql:j,traces:G,storageRules:U,users:K,vectors:J,workflows:Q},t[94]=s,t[95]=a,t[96]=h,t[97]=f,t[98]=g,t[99]=v,t[100]=y,t[101]=b,t[102]=p,t[103]=x,t[104]=k,t[105]=P,t[106]=o,t[107]=C,t[108]=S,t[109]=M,t[110]=T,t[111]=L,t[112]=I,t[113]=O,t[114]=B,t[115]=V,t[116]=z,t[117]=r,t[118]=$,t[119]=H,t[120]=D,t[121]=Z,t[122]=E,t[123]=F,t[124]=X,t[125]=q,t[126]=Y,t[127]=ee,t[128]=i,t[129]=W,t[130]=j,t[131]=G,t[132]=U,t[133]=K,t[134]=J,t[135]=Q,t[136]=l,t[137]=d,t[138]=u,t[139]=c,t[140]=m,t[141]=se):se=t[141];const bt=se;let ne;t[142]!==e?(ne=e("Advisors"),t[142]=e,t[143]=ne):ne=t[143];let re;t[144]!==e?(re=e("Auth"),t[144]=e,t[145]=re):re=t[145];let ie;t[146]!==e?(ie=e("Database"),t[146]=e,t[147]=ie):ie=t[147];let le;t[148]!==e?(le=e("Functions"),t[148]=e,t[149]=le):le=t[149];let de;t[150]!==e?(de=e("Observability"),t[150]=e,t[151]=de):de=t[151];let ce;t[152]!==e?(ce=e("Operations"),t[152]=e,t[153]=ce):ce=t[153];let ue;t[154]!==e?(ue=e("Overview"),t[154]=e,t[155]=ue):ue=t[155];let fe;t[156]!==e?(fe=e("Settings"),t[156]=e,t[157]=fe):fe=t[157];let me;t[158]!==e?(me=e("Storage"),t[158]=e,t[159]=me):me=t[159];let ft;t[160]!==ne||t[161]!==re||t[162]!==ie||t[163]!==le||t[164]!==de||t[165]!==ce||t[166]!==ue||t[167]!==fe||t[168]!==me?(ft={advisors:ne,auth:re,database:ie,functions:le,observability:de,operations:ce,overview:ue,settings:fe,storage:me},t[160]=ne,t[161]=re,t[162]=ie,t[163]=le,t[164]=de,t[165]=ce,t[166]=ue,t[167]=fe,t[168]=me,t[169]=ft):ft=t[169];const vt=ft;let he;t[170]!==e?(he=e("Score your app's advisor findings: a grade, the coverage split, and every procedure ranked worst-first."),t[170]=e,t[171]=he):he=t[171];let pe;t[172]!==e?(pe=e("Inspect agent threads, message timelines, tool calls, and token usage."),t[172]=e,t[173]=pe):pe=t[173];let ge;t[174]!==e?(ge=e("Scores recorded by recordEvaluation — the latest verdict per eval, its trend, and the graded runs behind it."),t[174]=e,t[175]=ge):ge=t[175];let be;t[176]!==e?(be=e("Usage and latency from Analytics Engine — request volume, p50/p95, and hot shards."),t[176]=e,t[177]=be):be=t[177];let ve;t[178]!==e?(ve=e("Interactive OpenAPI reference and copy-paste snippets for your functions."),t[178]=e,t[179]=ve):ve=t[179];let xe;t[180]!==e?(xe=e("A durable log of admin state-changing operations."),t[180]=e,t[181]=xe):xe=t[181];let ye;t[182]!==e?(ye=e("Authentication and security events — sign-ins, MFA, and session changes."),t[182]=e,t[183]=ye):ye=t[183];let we;t[184]!==e?(we=e("Enabled plugins and session config (read-only)."),t[184]=e,t[185]=we):we=t[185];let ke;t[186]!==e?(ke=e("Browse and revoke active sessions across all users."),t[186]=e,t[187]=ke):ke=t[187];let Ne;t[188]!==e?(Ne=e("Live Cloudflare Containers — current lifecycle state per instance from the log stream."),t[188]=e,t[189]=Ne):Ne=t[189];let Me;t[190]!==e?(Me=e("Chart widgets backed by saved read-only SQL queries."),t[190]=e,t[191]=Me):Me=t[191];let Se;t[192]!==e?(Se=e("Browse and edit rows across your shard and global tables."),t[192]=e,t[193]=Se):Se=t[193];let Ce;t[194]!==e?(Ce=e("Live liveness, readiness, and per-binding health from the deployment's /_lunora/health endpoint."),t[194]=e,t[195]=Ce):Ce=t[195];let Pe;t[196]!==e?(Pe=e("Forward logs to Logpush, Tail Workers, or a webhook collector."),t[196]=e,t[197]=Pe):Pe=t[197];let _e;t[198]!==e?(_e=e("Export a shard to NDJSON, or import rows from it."),t[198]=e,t[199]=_e):_e=t[199];let Te;t[200]!==e?(Te=e("Realtime fan-out cost and per-topic subscriber counts for this shard."),t[200]=e,t[201]=Te):Te=t[201];let Le;t[202]!==e?(Le=e("Browse objects in your R2 storage buckets."),t[202]=e,t[203]=Le):Le=t[203];let Ae;t[204]!==e?(Ae=e("Inspect feature flags and their live evaluation under a targeting context."),t[204]=e,t[205]=Ae):Ae=t[205];let Ie;t[206]!==e?(Ie=e("Run registered queries, mutations, and actions."),t[206]=e,t[207]=Ie):Ie=t[207];let Re;t[208]!==e?(Re=e("At-a-glance connection, error, and shard signals."),t[208]=e,t[209]=Re):Re=t[209];let Ee;t[210]!==e?(Ee=e("Connection, health, and advisor summary for your deployment."),t[210]=e,t[211]=Ee):Ee=t[211];let $e;t[212]!==e?($e=e("Surface slow functions, error spikes, and cache problems."),t[212]=e,t[213]=$e):$e=t[213];let He;t[214]!==e?(He=e("Grouped error triage — Worker throws and container crashes folded by fingerprint."),t[214]=e,t[215]=He):He=t[215];let Be;t[216]!==e?(Be=e("A live stream of recent function logs."),t[216]=e,t[217]=Be):Be=t[217];let Ve;t[218]!==e?(Ve=e("Per-shard health and aggregate metrics."),t[218]=e,t[219]=Ve):Ve=t[219];let ze;t[220]!==e?(ze=e("Review migration status and run them."),t[220]=e,t[221]=ze):ze=t[221];let De;t[222]!==e?(De=e("Registered push devices — endpoint, kind, last-send status, and delivery errors."),t[222]=e,t[223]=De):De=t[223];let Oe;t[224]!==e?(Oe=e("Browse and manage organizations, members, and invitations."),t[224]=e,t[225]=Oe):Oe=t[225];let Ze;t[226]!==e?(Ze=e("Restore a shard to a point in the last 30 days."),t[226]=e,t[227]=Ze):Ze=t[227];let Fe;t[228]!==e?(Fe=e("Email your app sent, captured in dev."),t[228]=e,t[229]=Fe):Fe=t[229];let qe;t[230]!==e?(qe=e("Synced customers, subscriptions, and webhook events."),t[230]=e,t[231]=qe):qe=t[231];let We;t[232]!==e?(We=e("Inspect access policies per table, and probe a function as any identity."),t[232]=e,t[233]=We):We=t[233];let je;t[234]!==e?(je=e("Inspect declared Cloudflare Queues — their producer bindings, consumer mode, and dead-letter queue."),t[234]=e,t[235]=je):je=t[235];let Ge;t[236]!==e?(Ge=e("Server-side onQueryChange reactors: what has run, what was suppressed, and what is failing."),t[236]=e,t[237]=Ge):Ge=t[237];let Ue;t[238]!==e?(Ue=e("Active WebSocket subscriptions on this shard."),t[238]=e,t[239]=Ue):Ue=t[239];let Ke;t[240]!==e?(Ke=e("Inspect row-level-security policies and roles, per table."),t[240]=e,t[241]=Ke):Ke=t[241];let Qe;t[242]!==e?(Qe=e("Inspect and cancel scheduled jobs."),t[242]=e,t[243]=Qe):Qe=t[243];let Ye;t[244]!==e?(Ye=e("Inspect each table and its columns."),t[244]=e,t[245]=Ye):Ye=t[245];let Je;t[246]!==e?(Je=e("Review admin gates, credentials, and log redaction."),t[246]=e,t[247]=Je):Je=t[247];let Xe;t[248]!==e?(Xe=e("Read-only deployment config — vars, secrets, and bindings."),t[248]=e,t[249]=Xe):Xe=t[249];let et;t[250]!==e?(et=e("Run read-only SQL against a shard."),t[250]=e,t[251]=et):et=t[251];let tt;t[252]!==e?(tt=e("Browse and edit key-value pairs in your Workers KV namespaces."),t[252]=e,t[253]=tt):tt=t[253];let st;t[254]!==e?(st=e("Inspect storage access rules — per bucket, operation, and key prefix."),t[254]=e,t[255]=st):st=t[255];let at;t[256]!==e?(at=e("Recent ctx.trace waterfalls for this shard — the drill-down from a log line."),t[256]=e,t[257]=at):at=t[257];let ot;t[258]!==e?(ot=e("Manage auth users — roles, bans, sessions, and identity."),t[258]=e,t[259]=ot):ot=t[259];let nt;t[260]!==e?(nt=e("Browse Vectorize indexes and run similarity searches."),t[260]=e,t[261]=nt):nt=t[261];let rt;t[262]!==e?(rt=e("Inspect declared Cloudflare Workflows and their bindings."),t[262]=e,t[263]=rt):rt=t[263];let mt;t[264]!==st||t[265]!==at||t[266]!==ot||t[267]!==nt||t[268]!==rt||t[269]!==he||t[270]!==pe||t[271]!==ge||t[272]!==be||t[273]!==ve||t[274]!==xe||t[275]!==ye||t[276]!==we||t[277]!==ke||t[278]!==Ne||t[279]!==Me||t[280]!==Se||t[281]!==Ce||t[282]!==Pe||t[283]!==_e||t[284]!==Te||t[285]!==Le||t[286]!==Ae||t[287]!==Ie||t[288]!==Re||t[289]!==Ee||t[290]!==$e||t[291]!==He||t[292]!==Be||t[293]!==Ve||t[294]!==ze||t[295]!==De||t[296]!==Oe||t[297]!==Ze||t[298]!==Fe||t[299]!==qe||t[300]!==We||t[301]!==je||t[302]!==Ge||t[303]!==Ue||t[304]!==Ke||t[305]!==Qe||t[306]!==Ye||t[307]!==Je||t[308]!==Xe||t[309]!==et||t[310]!==tt?(mt={advisorHealth:he,agents:pe,evals:ge,analytics:be,api:ve,audit:xe,authAudit:ye,authConfig:we,authSessions:ke,containers:Ne,dashboards:Me,data:Se,deploymentHealth:Ce,drains:Pe,export:_e,fanout:Te,files:Le,flags:Ae,functions:Ie,health:Re,home:Ee,insights:$e,issues:He,logs:Be,metrics:Ve,migrations:ze,notifications:De,organizations:Oe,pitr:Ze,mail:Fe,payments:qe,permissions:We,queues:je,reactors:Ge,realtime:Ue,rls:Ke,schedule:Qe,schema:Ye,security:Je,settings:Xe,sql:et,kv:tt,storageRules:st,traces:at,users:ot,vectors:nt,workflows:rt},t[264]=st,t[265]=at,t[266]=ot,t[267]=nt,t[268]=rt,t[269]=he,t[270]=pe,t[271]=ge,t[272]=be,t[273]=ve,t[274]=xe,t[275]=ye,t[276]=we,t[277]=ke,t[278]=Ne,t[279]=Me,t[280]=Se,t[281]=Ce,t[282]=Pe,t[283]=_e,t[284]=Te,t[285]=Le,t[286]=Ae,t[287]=Ie,t[288]=Re,t[289]=Ee,t[290]=$e,t[291]=He,t[292]=Be,t[293]=Ve,t[294]=ze,t[295]=De,t[296]=Oe,t[297]=Ze,t[298]=Fe,t[299]=qe,t[300]=We,t[301]=je,t[302]=Ge,t[303]=Ue,t[304]=Ke,t[305]=Qe,t[306]=Ye,t[307]=Je,t[308]=Xe,t[309]=et,t[310]=tt,t[311]=mt):mt=t[311];const xt=mt;let ht;return t[312]!==vt||t[313]!==xt||t[314]!==bt?(ht={groupLabel:vt,tabDescription:xt,tabLabel:bt},t[312]=vt,t[313]=xt,t[314]=bt,t[315]=ht):ht=t[315],ht},Sa=()=>{const t=N(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=w("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:[n("rect",{height:"14",rx:"2",width:"20",x:"2",y:"3"}),n("path",{d:"M8 21h8M12 17v4"})]}),t[0]=e):e=t[0],e},Ca=()=>{const t=N(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=w("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:[n("circle",{cx:"12",cy:"12",r:"4"}),n("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},Pa=()=>{const t=N(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n("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:n("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},_a=[{Icon:Sa,value:"system"},{Icon:Ca,value:"light"},{Icon:Pa,value:"dark"}],Ta=()=>{const t=N(19),{theme:e,setTheme:s}=Bs(),a=te();let o;t[0]!==a?(o=a("Dark theme"),t[0]=a,t[1]=o):o=t[1];let r;t[2]!==a?(r=a("Light theme"),t[2]=a,t[3]=r):r=t[3];let i;t[4]!==a?(i=a("System theme"),t[4]=a,t[5]=i):i=t[5];let l;t[6]!==o||t[7]!==r||t[8]!==i?(l={dark:o,light:r,system:i},t[6]=o,t[7]=r,t[8]=i,t[9]=l):l=t[9];const d=l;let u;t[10]!==a?(u=a("Theme"),t[10]=a,t[11]=u):u=t[11];let c;t[12]!==d||t[13]!==s||t[14]!==e?(c=_a.map(h=>{const{Icon:f,value:g}=h,v=e===g;return w("button",{"aria-checked":v,"aria-label":d[g],className:_("relative flex size-7 cursor-pointer items-center justify-center rounded-md outline-none transition-colors focus-visible:bg-accent",v?"text-foreground":"text-muted-foreground hover:text-foreground"),"data-testid":`dash-app-theme-${g}`,onClick:()=>{s(g)},role:"radio",title:d[g],type:"button",children:[v&&n(Ps.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"}}),n("span",{className:"relative",children:n(f,{})})]},g)}),t[12]=d,t[13]=s,t[14]=e,t[15]=c):c=t[15];let m;return t[16]!==u||t[17]!==c?(m=n("div",{"aria-label":u,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:c}),t[16]=u,t[17]=c,t[18]=m):m=t[18],m},La=t=>{const e=N(23),{domain:s,onOpenCommandPalette:a,page:o}=t,r=te();let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=n(la,{className:"-ms-1"}),e[0]=i):i=e[0];let l;e[1]!==r?(l=r("Breadcrumb"),e[1]=r,e[2]=l):l=e[2];let d;e[3]!==s?(d=n("span",{className:"text-muted-foreground",children:s}),e[3]=s,e[4]=d):d=e[4];let u;e[5]===Symbol.for("react.memo_cache_sentinel")?(u=n("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:n("path",{d:"m9 6 6 6-6 6",strokeLinecap:"round",strokeLinejoin:"round"})}),e[5]=u):u=e[5];let c;e[6]!==o?(c=n("span",{className:"font-medium text-foreground",children:o}),e[6]=o,e[7]=c):c=e[7];let m;e[8]!==l||e[9]!==d||e[10]!==c?(m=w("nav",{"aria-label":l,className:"flex items-center gap-1.5 text-[13px]",children:[d,u,c]}),e[8]=l,e[9]=d,e[10]=c,e[11]=m):m=e[11];let h;e[12]===Symbol.for("react.memo_cache_sentinel")?(h=w("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:1.8,viewBox:"0 0 24 24",children:[n("circle",{cx:"11",cy:"11",r:"7"}),n("path",{d:"m21 21-4.3-4.3",strokeLinecap:"round"})]}),e[12]=h):h=e[12];let f;e[13]!==r?(f=r("Search…"),e[13]=r,e[14]=f):f=e[14];let g;e[15]===Symbol.for("react.memo_cache_sentinel")?(g=n("kbd",{className:"ms-auto rounded border border-border bg-background px-1 font-sans text-[10px] text-muted-foreground",children:"⌘K"}),e[15]=g):g=e[15];let v;e[16]!==a||e[17]!==f?(v=w("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:a,type:"button",children:[h,f,g]}),e[16]=a,e[17]=f,e[18]=v):v=e[18];let y;e[19]===Symbol.for("react.memo_cache_sentinel")?(y=n("div",{className:"ms-auto flex items-center gap-1.5 md:ms-0",children:n(Ta,{})}),e[19]=y):y=e[19];let b;return e[20]!==v||e[21]!==m?(b=w("header",{className:"flex h-11 shrink-0 items-center gap-2 border-b border-border px-4","data-testid":"dash-app-header",children:[i,m,v,y]}),e[20]=v,e[21]=m,e[22]=b):b=e[22],b},Aa={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"}},Ia={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"},Ra={kind:"hidden"},It={kind:"ok"},Ea={kind:"pending"},Xt=(t,e,s)=>{const a=Aa[t];return a?.feature!==void 0&&!e[a.feature]?Ra:a?.capability===void 0?It:e.settled?e.platform?.unsupported.includes(a.capability)===!0?{kind:"unavailable",reason:s("{capability} is not supported on {platform}.",{capability:s(Ia[a.capability]),platform:e.platform.name})}:It:Ea},$a=(t,e,s)=>{const a={},o=[];for(const r of t){const i=[];for(const l of r.tabs){const d=Xt(l,e,s);d.kind!=="hidden"&&i.push(l),d.kind==="unavailable"&&(a[l]=d.reason)}i.length>0&&o.push({...r,tabs:i})}return{unavailable:a,visibleGroups:o}},Ha=t=>{const e=N(3),{reason:s,title:a}=t;let o;return e[0]!==s||e[1]!==a?(o=n(_s,{description:s,testId:"dash-unsupported",title:a}),e[0]=s,e[1]=a,e[2]=o):o=e[2],o},Ba=t=>{const e=N(4),{console:s}=Ts();let a,o;e[0]!==s||e[1]!==t?(a=()=>{if(t===void 0)return;const r=i=>{if(!i.ctrlKey||i.metaKey||i.altKey||i.shiftKey||i.repeat||i.key.toLowerCase()!==s)return;const{target:l}=i;l instanceof HTMLElement&&(l.isContentEditable||["INPUT","SELECT","TEXTAREA"].includes(l.tagName))||(i.preventDefault(),t())};return globalThis.addEventListener("keydown",r),()=>{globalThis.removeEventListener("keydown",r)}},o=[s,t],e[0]=s,e[1]=t,e[2]=a,e[3]=o):(a=e[2],o=e[3]),lt(a,o)},R=(t,e)=>A(()=>t().then(s=>({default:s[e]}))),Va=R(()=>import("../packem_chunks/InsightsPanel.mjs"),"InsightsPanel"),za=A(()=>import("../packem_chunks/rls-panel.mjs")),Da=A(()=>import("../packem_chunks/AdvisorHealthPanel.mjs")),Oa=A(()=>import("../packem_chunks/SecurityAdvisorPanel.mjs")),Za=A(()=>import("../packem_chunks/agents-panel.mjs")),Fa=R(()=>import("../packem_chunks/analytics-panel.mjs"),"AnalyticsPanel"),qa=A(()=>import("../packem_chunks/ApiTab.mjs")),Wa=A(()=>import("../packem_chunks/auth-audit-panel.mjs")),ja=A(()=>import("../packem_chunks/auth-config-panel.mjs")),Ga=A(()=>import("../packem_chunks/auth-sessions-panel.mjs")),Ua=A(()=>import("../packem_chunks/organizations-panel.mjs")),Ka=R(()=>import("../packem_chunks/users-panel.mjs"),"UsersPanel"),Qa=A(()=>import("../packem_chunks/containers-panel.mjs")),Ya=R(()=>import("../packem_chunks/DeploymentHealthPanel.mjs"),"DeploymentHealthPanel"),Ja=R(()=>import("../packem_chunks/TableEditor.mjs"),"TableEditor"),Xa=R(()=>import("../packem_chunks/ExportImportPanel.mjs"),"ExportImportPanel"),eo=A(()=>import("../packem_chunks/migrations-route.mjs")),to={data:Ms,migrations:Ns},so=R(()=>import("../packem_chunks/PitrPanel.mjs"),"PitrPanel"),ao=A(()=>import("../packem_chunks/flags-panel.mjs")),oo=A(()=>import("../packem_chunks/reactors-panel.mjs")),no=R(()=>import("../packem_chunks/FunctionRunner.mjs"),"FunctionRunner"),ro=R(()=>import("../packem_chunks/FunctionStatsPanel.mjs"),"FunctionStatsPanel"),io=A(()=>import("../packem_chunks/issues-panel.mjs")),lo=R(()=>import("../packem_chunks/AuditPanel.mjs"),"AuditPanel"),co=A(()=>import("../packem_chunks/log-drains-panel.mjs")),uo=A(()=>import("../packem_chunks/LogsPanel.mjs").then(t=>({default:t.LogsPanel}))),fo=R(()=>import("../packem_chunks/MailPanel.mjs"),"MailPanel"),mo=R(()=>import("../packem_chunks/schedule-panel.mjs"),"SchedulePanel"),ho=A(()=>import("../packem_chunks/subscriptions-panel.mjs")),po=A(()=>import("../packem_chunks/sync-client-panel.mjs")),go=R(()=>import("../packem_chunks/kv-browser.mjs"),"KvBrowser"),bo=A(()=>import("../packem_chunks/NotificationsPanel.mjs")),vo=R(()=>import("../packem_chunks/payments-panel.mjs"),"PaymentsPanel"),xo=R(()=>import("../packem_chunks/permissions-panel.mjs"),"PermissionsPanel"),yo=A(()=>import("../packem_chunks/queues-panel.mjs")),wo=A(()=>import("../packem_chunks/dashboards-panel.mjs")),ko=A(()=>import("../packem_chunks/fanout-panel.mjs")),No=R(()=>import("../packem_chunks/HealthPanel.mjs"),"HealthPanel"),Mo=R(()=>import("../packem_chunks/MetricsPanel.mjs"),"MetricsPanel"),So=R(()=>import("../packem_chunks/SchemaViewer.mjs"),"SchemaViewer"),Co=R(()=>import("../packem_chunks/SettingsPanel.mjs"),"SettingsPanel"),Po=R(()=>import("../packem_chunks/SqlEditorPanel.mjs"),"SqlEditorPanel"),_o=R(()=>import("../packem_chunks/FileBrowser.mjs"),"FileBrowser"),To=A(()=>import("../packem_chunks/storage-rules-panel.mjs")),Lo=A(()=>import("../packem_chunks/traces-panel.mjs")),Ao=A(()=>import("../packem_chunks/evals-panel.mjs")),Io=R(()=>import("../packem_chunks/vector-browser.mjs"),"VectorBrowser"),Ro=A(()=>import("../packem_chunks/workflows-panel.mjs")),es=$t(null),Eo={analytics:n("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"}),api:n("path",{d:"m9 8-4 4 4 4m6-8 4 4-4 4M13 5l-2 14"}),audit:n("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:n("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:n("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:n("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:n("path",{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-13.5V12l4 2"}),containers:n("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:n("path",{d:"M4 5h7v6H4V5Zm9 0h7v4h-7V5ZM4 14h7v5H4v-5Zm9-1h7v6h-7v-6Z"}),deploymentHealth:n("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:n("path",{d:"M5 5h14M7 5v6a5 5 0 0 0 10 0V5M10 16h4v3h-4zM12 19v2"}),data:n("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:n("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:n("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:n("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:n("path",{d:"M6 21V4m0 0h11l-2 3 2 3H6"}),functions:n("path",{d:"m9 8-4 4 4 4m6-8 4 4-4 4"}),evals:n("path",{d:"M4 19V5m0 14h16M8 15l3-4 3 3 4-6M8 15v.01"}),health:n("path",{d:"M3 12h4l2 6 4-14 2 8h6"}),home:n("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:n("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:n("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:n("path",{d:"M5 5h14v4H5V5Zm0 5h14v4H5v-4Zm0 5h14v4H5v-4Z"}),logs:n("path",{d:"M5 6h14M5 10h14M5 14h9M5 18h11"}),mail:n("path",{d:"M4 5h16v14H4V5Zm0 1.5 8 6 8-6"}),payments:n("path",{d:"M3 7h18v10H3V7Zm0 3h18M7 14h4"}),metrics:n("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"}),migrations:n("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:n("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:n("path",{d:"M3 21V8l6-4 6 4v13M9 21v-5h2v5M15 11h6v10M18 14v.01M18 17v.01M6 9v.01M6 12v.01M6 15v.01"}),permissions:n("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:n("path",{d:"M12 21a9 9 0 1 0-9-9M12 7.5V12l3 2M3 12l-2-2m2 2 2-2"}),queues:n("path",{d:"M4 6h16M4 10h16M4 14h10M4 18h10m4-2 3 2-3 2v-4Z"}),reactors:n("path",{d:"M4 4v6h6M20 20v-6h-6M20 9a8 8 0 0 0-14.7-3M4 15a8 8 0 0 0 14.7 3"}),realtime:n("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:n("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:n("path",{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-13.5V12l4 2"}),schema:n("path",{d:"M4 5h16v14H4V5Zm0 5h16M10 10v9M4 14.5h16"}),sql:n("path",{d:"M4 5h16v14H4V5Zm3 4 3 3-3 3m6 0h4"}),storageRules:n("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:n("path",{d:"M3 12h4l2-5 3 10 2-5h5"}),security:n("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:n("path",{d:"M3 6h9M6 12h12M10 18h7"}),settings:n("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:n("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:n("path",{d:"M4 7l8-4 8 4-8 4-8-4Zm0 5 8 4 8-4M4 17l8 4 8-4"}),workflows:n("path",{d:"M5 5h5v5H5V5Zm9 9h5v5h-5v-5ZM7.5 10v2a2 2 0 0 0 2 2H14m2.5-4V8a2 2 0 0 0-2-2H10"})},Rt=[{key:"overview",tabs:["home","dashboards"]},{key:"database",tabs:["data","sql","schema","migrations","vectors","pitr","export"]},{key:"functions",tabs:["functions","api","workflows","agents","queues"]},{key:"auth",tabs:["users","organizations","authSessions","authAudit","authConfig"]},{key:"storage",tabs:["files","storageRules","kv"]},{key:"observability",tabs:["issues","logs","traces","evals","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"]}],Mt=t=>{const e=N(2),{tab:s}=t,a=Eo[s];let o;return e[0]!==a?(o=n("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:a}),e[0]=a,e[1]=o):o=e[1],o},$o=t=>t,ts=$o(["home","data","sql","functions","api","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","reactors","realtime","fanout","mail","notifications","payments","audit","schedule","drains","flags","settings"]),Ho=new Set(["api","data","migrations","sql"]),Bo=t=>{const e=t.split("/").findLast(Boolean)??"";return ts.includes(e)?e:"home"},Vo=t=>{const e=N(19),{chrome:s,connected:a}=t,o=te();let r;e[0]!==o?(r=o("admin token"),e[0]=o,e[1]=r):r=e[1];let i;e[2]!==r?(i=n("label",{className:"text-xs font-medium text-foreground",htmlFor:"dash-app-token",children:r}),e[2]=r,e[3]=i):i=e[3];let l;e[4]!==s.onTokenChange||e[5]!==s.token?(l=n(Vt,{className:"h-8","data-testid":"dash-app-token",id:"dash-app-token",onChange:s.onTokenChange,placeholder:"LUNORA_ADMIN_TOKEN",type:"password",value:s.token}),e[4]=s.onTokenChange,e[5]=s.token,e[6]=l):l=e[6];let d;e[7]!==a||e[8]!==o?(d=a&&w("p",{className:"flex items-start gap-1.5 text-[11px] text-muted-foreground","data-testid":"dash-app-token-warning",role:"note",children:[n("span",{"aria-hidden":"true",className:"text-warning",children:"⚠"}),o("Token rides the WebSocket URL — it can surface in browser DevTools and server logs. Use a dev-only token.")]}),e[7]=a,e[8]=o,e[9]=d):d=e[9];let u;e[10]!==s.clearToken||e[11]!==a||e[12]!==o?(u=a&&n("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:s.clearToken,type:"button",children:o("Clear")}),e[10]=s.clearToken,e[11]=a,e[12]=o,e[13]=u):u=e[13];let c;return e[14]!==i||e[15]!==l||e[16]!==d||e[17]!==u?(c=w("div",{className:"flex flex-col gap-2",children:[i,l,d,u]}),e[14]=i,e[15]=l,e[16]=d,e[17]=u,e[18]=c):c=e[18],c},ss="opacity-50",zo=t=>{const e=N(27),{current:s,group:a,groupLabel:o,selectTab:r,tabDescription:i,tabLabel:l,unavailable:d}=t,u=a.tabs.includes(s)?"page":void 0,c=o[a.key],m=a.tabs[0];let h;e[0]!==m?(h=n(Mt,{tab:m}),e[0]=m,e[1]=h):h=e[1];let f;e[2]!==u||e[3]!==c||e[4]!==h?(f=n(Kt,{"aria-current":u,"aria-label":c,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]=u,e[3]=c,e[4]=h,e[5]=f):f=e[5];const g=o[a.key];let v;e[6]!==g?(v=n("div",{className:"px-2 py-1.5 text-[11px] font-medium tracking-wider text-muted-foreground uppercase",children:g}),e[6]=g,e[7]=v):v=e[7];let y;if(e[8]!==s||e[9]!==a.tabs||e[10]!==r||e[11]!==i||e[12]!==l||e[13]!==d){let x;e[15]!==s||e[16]!==r||e[17]!==i||e[18]!==l||e[19]!==d?(x=k=>w("button",{"aria-current":s===k?"page":void 0,className:_("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",d[k]!==void 0&&ss),"data-tab":k,"data-testid":`dash-tab-${k}`,"data-unsupported":d[k]===void 0?void 0:"true",onClick:r,title:i[k],type:"button",children:[n(Mt,{tab:k}),n("span",{children:l[k]})]},k),e[15]=s,e[16]=r,e[17]=i,e[18]=l,e[19]=d,e[20]=x):x=e[20],y=a.tabs.map(x),e[8]=s,e[9]=a.tabs,e[10]=r,e[11]=i,e[12]=l,e[13]=d,e[14]=y}else y=e[14];let b;e[21]!==v||e[22]!==y?(b=w(Qt,{align:"start",className:"w-56 p-1",side:"right",sideOffset:8,children:[v,y]}),e[21]=v,e[22]=y,e[23]=b):b=e[23];let p;return e[24]!==f||e[25]!==b?(p=w(Ut,{children:[f,b]}),e[24]=f,e[25]=b,e[26]=p):p=e[26],p},Do=t=>{const e=N(45),{chrome:s,collapsed:a,connected:o}=t,r=te();if(s===null){let x;e[0]!==r?(x=r("Admin"),e[0]=r,e[1]=x):x=e[1];let k;e[2]===Symbol.for("react.memo_cache_sentinel")?(k=n("span",{className:"flex size-8 items-center justify-center rounded-full bg-sidebar-accent text-[11px] font-medium",children:"C"}),e[2]=k):k=e[2];let P;e[3]!==r?(P=r("Admin"),e[3]=r,e[4]=P):P=e[4];let C;e[5]!==P?(C=n("span",{className:"truncate text-[13px] font-medium",children:P}),e[5]=P,e[6]=C):C=e[6];let S;e[7]!==r?(S=r("Studio"),e[7]=r,e[8]=S):S=e[8];let M;e[9]!==S?(M=n("span",{className:"truncate text-[11px] text-muted-foreground",children:S}),e[9]=S,e[10]=M):M=e[10];let T;e[11]!==C||e[12]!==M?(T=w("span",{className:"grid flex-1 text-start leading-tight",children:[C,M]}),e[11]=C,e[12]=M,e[13]=T):T=e[13];let L;return e[14]!==x||e[15]!==T?(L=w(Jt,{className:"data-active:bg-transparent",size:"lg",tooltip:x,children:[k,T]}),e[14]=x,e[15]=T,e[16]=L):L=e[16],L}const i=a?"mx-auto size-8 justify-center":"w-full p-2";let l;e[17]!==i?(l=_("flex items-center gap-2 rounded-md text-start outline-none transition-colors hover:bg-sidebar-accent focus-visible:bg-sidebar-accent",i),e[17]=i,e[18]=l):l=e[18];let d;e[19]!==o||e[20]!==r?(d=r(o?"Connected":"Not connected"),e[19]=o,e[20]=r,e[21]=d):d=e[21];const u=o?"bg-success":"bg-muted-foreground/50";let c;e[22]!==u?(c=_("absolute -end-0.5 -bottom-0.5 size-2.5 rounded-full border-2 border-sidebar",u),e[22]=u,e[23]=c):c=e[23];let m;e[24]!==c?(m=w("span",{className:"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-sidebar-accent text-[11px] font-medium",children:["C",n("span",{"aria-hidden":"true",className:c})]}),e[24]=c,e[25]=m):m=e[25];let h;e[26]!==a||e[27]!==o||e[28]!==r?(h=!a&&w(Ht,{children:[w("span",{className:"grid flex-1 text-start leading-tight",children:[n("span",{className:"truncate text-[13px] font-medium",children:r("Admin")}),n("span",{className:"truncate text-[11px] text-muted-foreground",children:r(o?"Connected":"Not connected")})]}),n("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeWidth:1.7,viewBox:"0 0 24 24",children:n("path",{d:"m8 9 4-4 4 4M8 15l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"})})]}),e[26]=a,e[27]=o,e[28]=r,e[29]=h):h=e[29];let f;e[30]!==l||e[31]!==d||e[32]!==m||e[33]!==h?(f=w(Kt,{className:l,"data-testid":"dash-app-connect",title:d,children:[m,h]}),e[30]=l,e[31]=d,e[32]=m,e[33]=h,e[34]=f):f=e[34];const g=a?"end":"start",v=a?"right":"top";let y;e[35]!==s||e[36]!==o?(y=n(Vo,{chrome:s,connected:o}),e[35]=s,e[36]=o,e[37]=y):y=e[37];let b;e[38]!==v||e[39]!==y||e[40]!==g?(b=n(Qt,{align:g,keepMounted:!0,side:v,children:y}),e[38]=v,e[39]=y,e[40]=g,e[41]=b):b=e[41];let p;return e[42]!==b||e[43]!==f?(p=w(Ut,{children:[f,b]}),e[42]=b,e[43]=f,e[44]=p):p=e[44],p},Oo=t=>{const e=N(29),{chrome:s,connected:a,current:o,groupLabel:r,groups:i,selectTab:l,tabDescription:d,tabLabel:u,unavailable:c}=t,m=te(),{state:h}=gt(),f=h==="collapsed",g=f&&"justify-center px-0";let v;e[0]!==g?(v=_("flex items-center gap-2.5 px-1.5 py-1",g),e[0]=g,e[1]=v):v=e[1];let y;e[2]===Symbol.for("react.memo_cache_sentinel")?(y=n(Os,{className:"size-9 shrink-0 text-foreground"}),e[2]=y):y=e[2];let b;e[3]!==f||e[4]!==a||e[5]!==m?(b=!f&&w(Ht,{children:[w("span",{className:"grid flex-1 leading-tight",children:[n("span",{className:"truncate text-sm font-semibold text-foreground",children:"lunora"}),n("span",{className:"truncate text-[11px] text-muted-foreground",children:m("Studio")})]}),n(ut,{className:"px-1.5 text-[10px] tracking-wider uppercase",variant:"secondary",children:m(a?"Live":"Local")})]}),e[3]=f,e[4]=a,e[5]=m,e[6]=b):b=e[6];let p;e[7]!==v||e[8]!==b?(p=n(ca,{children:w("div",{className:v,children:[y,b]})}),e[7]=v,e[8]=b,e[9]=p):p=e[9];let x;e[10]!==f||e[11]!==o||e[12]!==r||e[13]!==i||e[14]!==l||e[15]!==d||e[16]!==u||e[17]!==c?(x=f?i.map(S=>n(zo,{current:o,group:S,groupLabel:r,selectTab:l,tabDescription:d,tabLabel:u,unavailable:c},S.key)):i.map(S=>w(ma,{children:[n(ha,{className:"text-[11px] font-medium tracking-wider uppercase",children:r[S.key]}),n(pa,{children:n(Lt,{children:S.tabs.map(M=>n(At,{children:w(Jt,{className:_("data-active:text-foreground dark:data-active:text-royal-amethyst data-active:shadow-[inset_2px_0_0_0_var(--royal-amethyst)]",c[M]!==void 0&&ss),"data-tab":M,"data-testid":`dash-tab-${M}`,"data-unsupported":c[M]===void 0?void 0:"true",isActive:o===M,onClick:l,title:d[M],tooltip:d[M],children:[n(Mt,{tab:M}),n("span",{children:u[M]})]})},M))})})]},S.key)),e[10]=f,e[11]=o,e[12]=r,e[13]=i,e[14]=l,e[15]=d,e[16]=u,e[17]=c,e[18]=x):x=e[18];let k;e[19]!==x?(k=n(fa,{children:x}),e[19]=x,e[20]=k):k=e[20];let P;e[21]!==s||e[22]!==f||e[23]!==a?(P=n(ua,{children:n(Lt,{children:n(At,{children:n(Do,{chrome:s,collapsed:f,connected:a})})})}),e[21]=s,e[22]=f,e[23]=a,e[24]=P):P=e[24];let C;return e[25]!==p||e[26]!==k||e[27]!==P?(C=w(ia,{collapsible:"icon",variant:"inset",children:[p,k,P]}),e[25]=p,e[26]=k,e[27]=P,e[28]=C):C=e[28],C},Pt=()=>{const t=N(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=w("div",{className:"flex flex-col gap-4","data-testid":"dash-pending",children:[w("div",{className:"flex items-center gap-2",children:[n(yt,{className:"h-8 w-40"}),n(yt,{className:"h-8 w-24"})]}),n(yt,{className:"h-72 w-full"})]}),t[0]=e):e=t[0],e},Zo=t=>{const e=N(5),{title:s,verdict:a}=t;if(a.kind==="pending"){let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=n(Pt,{}),e[0]=r):r=e[0],r}if(a.kind==="unavailable"){let r;return e[1]!==s||e[2]!==a.reason?(r=n(Ha,{reason:a.reason,title:s}),e[1]=s,e[2]=a.reason,e[3]=r):r=e[3],r}let o;return e[4]===Symbol.for("react.memo_cache_sentinel")?(o=n(cs,{}),e[4]=o):o=e[4],o},Fo=()=>{const t=N(46),e=te(),s=Et();let a;t[0]===Symbol.for("react.memo_cache_sentinel")?(a={select:Ko},t[0]=a):a=t[0];const o=ds(a),r=Bo(o),i=Ho.has(r),l=ps(),d=l?.toggle;Ba(d);const u=ys(),{groupLabel:c,tabDescription:m,tabLabel:h}=Ma(),{unavailable:f,visibleGroups:g}=$a(Rt,u,e),v={...m,...f},y=Xt(r,u,e),b=y.kind==="hidden";let p,x;t[1]!==b||t[2]!==s?(p=()=>{b&&Nt(s({replace:!0,to:"/home"}))},x=[b,s],t[1]=b,t[2]=s,t[3]=p,t[4]=x):(p=t[3],x=t[4]),lt(p,x);let k;t[5]!==s?(k=Q=>{Nt(s({to:`/${Q.currentTarget.dataset.tab??""}`}))},t[5]=s,t[6]=k):k=t[6];const P=k;let C,S;t[7]!==r||t[8]!==h?(C=()=>{typeof document<"u"&&(document.title=`${h[r]} · lunora`)},S=[r,h],t[7]=r,t[8]=h,t[9]=C,t[10]=S):(C=t[9],S=t[10]),lt(C,S);const M=g.find(Q=>Q.tabs.includes(r))??Rt[0],T=g.flatMap(Q=>Q.tabs.filter(se=>f[se]===void 0).map(se=>({group:c[Q.key],label:h[se],to:`/${se}`}))),L=d===void 0?T:[...T,{group:e("Operations"),label:e("Toggle operation console"),run:d}],I=St(es),O=I!==null&&I.token!=="";let B;t[11]!==L?(B=n(Ss,{items:L}),t[11]=L,t[12]=B):B=t[12];const V=c[M.key],z=h[r];let $;t[13]!==V||t[14]!==z?($=n(La,{domain:V,onOpenCommandPalette:Cs,page:z}),t[13]=V,t[14]=z,t[15]=$):$=t[15];let H;t[16]!==I?.rulesInstalled?(H=I?.rulesInstalled===!1&&n(qs,{}),t[16]=I?.rulesInstalled,t[17]=H):H=t[17];const D=`dash-tab-${r}`,Z=i?"flex min-w-0 flex-1 flex-col overflow-hidden":"min-w-0 flex-1 overflow-auto p-6",E=h[r];let F;t[18]!==e||t[19]!==E?(F=e("{title} failed",{title:E}),t[18]=e,t[19]=E,t[20]=F):F=t[20];const X=h[r];let q;t[21]!==e?(q=e("Try again"),t[21]=e,t[22]=q):q=t[22];let Y;t[23]===Symbol.for("react.memo_cache_sentinel")?(Y=n(Pt,{}),t[23]=Y):Y=t[23];const ee=h[r];let W;t[24]!==ee||t[25]!==y?(W=n(fs,{fallback:Y,children:n(Zo,{title:ee,verdict:y})}),t[24]=ee,t[25]=y,t[26]=W):W=t[26];let j;t[27]!==r||t[28]!==F||t[29]!==X||t[30]!==q||t[31]!==W?(j=n(ms,{fallbackTitle:F,label:X,retryLabel:q,children:W},r),t[27]=r,t[28]=F,t[29]=X,t[30]=q,t[31]=W,t[32]=j):j=t[32];let G;t[33]!==Z||t[34]!==j?(G=n("div",{className:Z,children:j}),t[33]=Z,t[34]=j,t[35]=G):G=t[35];let U;t[36]!==l?(U=l?.open===!0&&n(wa,{focusSeq:l.focusSeq,onClose:l.close,onShownChange:l.setShown,shown:l.shown}),t[36]=l,t[37]=U):U=t[37];let K;t[38]!==D||t[39]!==G||t[40]!==U?(K=w("div",{"aria-labelledby":D,className:"flex min-w-0 flex-1 flex-col overflow-hidden","data-testid":"dash-panel",id:"dash-panel",role:"tabpanel",children:[G,U]}),t[38]=D,t[39]=G,t[40]=U,t[41]=K):K=t[41];let J;return t[42]!==H||t[43]!==K||t[44]!==$?(J=w(da,{className:"overflow-hidden md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",children:[$,H,K]}),t[42]=H,t[43]=K,t[44]=$,t[45]=J):J=t[45],w(ra,{className:"min-h-0 flex-1","data-platform":u.platform?.id,"data-testid":"lunora-studio",children:[B,n(Oo,{chrome:I,connected:O,current:r,groupLabel:c,groups:g,selectTab:P,tabDescription:v,tabLabel:h,unavailable:f}),J]})},qo=()=>{const t=N(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=n(hs,{children:n(Fo,{})}),t[0]=e):e=t[0],e},Wo=t=>{const e=N(5),{initialShardKey:s,schemaEditable:a}=t;let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o={strict:!1},e[0]=o):o=e[0];const r=is(o),{table:i}=r,l=typeof i=="string"?i:void 0;let d;return e[1]!==s||e[2]!==l||e[3]!==a?(d=n(So,{initialShardKey:s,initialTable:l,schemaEditable:a}),e[1]=s,e[2]=l,e[3]=a,e[4]=d):d=e[4],d},jo=()=>{const t=N(3),e=Et();let s,a;return t[0]!==e?(s=()=>{Nt(e({replace:!0,to:"/home"}))},a=[e],t[0]=e,t[1]=s,t[2]=a):(s=t[1],a=t[2]),lt(s,a),null},Go=({analyticsQuery:t,basePath:e,dataEditable:s=!1,functions:a,initialShardKey:o,openApiSpec:r,openRpcSpec:i,runAsIdentity:l=!1,schemaEditable:d=!1,scheduledCancel:u,scheduledCron:c,scheduledLoad:m})=>{const h=as({component:qo}),f={agents:n(Za,{initialShardKey:o}),analytics:n(Fa,{runQuery:t}),api:n(qa,{functions:a,initialShardKey:o,openApiSpec:r,openRpcSpec:i}),audit:n(lo,{initialShardKey:o}),authAudit:n(Wa,{}),authConfig:n(ja,{}),authSessions:n(Ga,{}),containers:n(Qa,{}),dashboards:n(wo,{initialShardKey:o}),data:n(Ja,{canGenerateRows:s&&d,editable:s,initialShardKey:o}),deploymentHealth:n(Ya,{}),drains:n(co,{}),export:n(Xa,{initialShardKey:o}),fanout:n(ko,{initialShardKey:o}),files:n(_o,{}),kv:n(go,{}),flags:n(ao,{initialShardKey:o}),reactors:n(oo,{initialShardKey:o}),functions:w("div",{className:"flex flex-col gap-8",children:[n(ro,{functions:a,initialShardKey:o}),n(no,{functions:a,runAsIdentity:l})]}),health:n(No,{initialShardKey:o}),home:n(xs,{initialShardKey:o}),insights:n(Va,{initialShardKey:o}),issues:n(io,{initialShardKey:o}),logs:n(uo,{initialShardKey:o}),traces:n(Lo,{initialShardKey:o}),evals:n(Ao,{initialShardKey:o}),metrics:n(Mo,{initialShardKey:o}),migrations:n(eo,{initialShardKey:o}),notifications:n(bo,{}),organizations:n(Ua,{}),permissions:n(xo,{functions:a,runAsIdentity:l,schemaEditable:d}),pitr:n(so,{initialShardKey:o}),mail:n(fo,{}),payments:n(vo,{}),queues:n(yo,{}),realtime:w("div",{className:"flex flex-col gap-8",children:[n(ho,{initialShardKey:o}),n(po,{})]}),rls:n(za,{}),schedule:n(mo,{loadCronJobs:c,scheduledCancel:u,scheduledLoad:m}),schema:n(Wo,{initialShardKey:o,schemaEditable:d}),advisorHealth:n(Da,{}),security:n(Oa,{}),settings:n(Co,{initialShardKey:o}),sql:n(Po,{initialShardKey:o}),storageRules:n(To,{}),users:n(Ka,{}),vectors:n(Io,{}),workflows:n(Ro,{})},g=_t({component:()=>f.home,getParentRoute:()=>h,path:"/"}),v=ts.map(p=>_t({component:()=>f[p],getParentRoute:()=>h,path:`/${p}`,validateSearch:to[p]})),y=h.addChildren([g,...v]),b="window"in globalThis?os():ns({initialEntries:["/home"]});return rs({...e===void 0||e==="/"?{}:{basepath:e},defaultNotFoundComponent:jo,defaultPendingComponent:Pt,defaultPendingMinMs:0,defaultPendingMs:0,history:b,routeTree:y})},Uo=t=>{const e=N(18),{analyticsQuery:s,basePath:a,chrome:o,dataEditable:r,functions:i,initialShardKey:l,openApiSpec:d,openRpcSpec:u,runAsIdentity:c,schemaEditable:m,scheduledCancel:h,scheduledCron:f,scheduledLoad:g}=t;let v;e[0]!==s||e[1]!==a||e[2]!==r||e[3]!==i||e[4]!==l||e[5]!==d||e[6]!==u||e[7]!==c||e[8]!==h||e[9]!==f||e[10]!==g||e[11]!==m?(v=Go({analyticsQuery:s,basePath:a,dataEditable:r,functions:i,initialShardKey:l,openApiSpec:d,openRpcSpec:u,runAsIdentity:c,schemaEditable:m,scheduledCancel:h,scheduledCron:f,scheduledLoad:g}),e[0]=s,e[1]=a,e[2]=r,e[3]=i,e[4]=l,e[5]=d,e[6]=u,e[7]=c,e[8]=h,e[9]=f,e[10]=g,e[11]=m,e[12]=v):v=e[12];const y=v,b=o??null;let p;e[13]!==y?(p=n(ls,{router:y}),e[13]=y,e[14]=p):p=e[14];let x;return e[15]!==b||e[16]!==p?(x=n(es,{value:b,children:p}),e[15]=b,e[16]=p,e[17]=x):x=e[17],x},_n=t=>{const e=N(10);let s,a,o;e[0]!==t?({i18n:s,locale:a,...o}=t,e[0]=t,e[1]=s,e[2]=a,e[3]=o):(s=e[1],a=e[2],o=e[3]);let r;e[4]!==o?(r=n(Hs,{children:n(Uo,{...o})}),e[4]=o,e[5]=r):r=e[5];const i=r;if(s===void 0&&a===void 0)return i;let l;return e[6]!==s||e[7]!==a||e[8]!==i?(l=n(ks,{i18n:s,locale:a,children:i}),e[6]=s,e[7]=a,e[8]=i,e[9]=l):l=e[9],l};function Ko(t){return t.location.pathname}export{Os as B,_n as S,$s as T,Pn as a,Gs as b,Qs as c,Ys as d,Js as e,Bs as u};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{c as d}from"react/compiler-runtime";import{c as i}from"./utils-bhneXptQ.mjs";import{jsx as r}from"react/jsx-runtime";function f(o){const e=d(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=i("w-full caption-bottom text-xs",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=r("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto overflow-y-clip",children:r("table",{"data-slot":"table",className:a,...l})}),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}function p(o){const e=d(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=i("bg-muted/50 [&_tr]:border-b",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=r("thead",{"data-slot":"table-header",className:a,...l}),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}function m(o){const e=d(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=i("[&_tr:last-child]:border-0",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=r("tbody",{"data-slot":"table-body",className:a,...l}),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}function u(o){const e=d(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=i("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=r("tr",{"data-slot":"table-row",className:a,...l}),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}function h(o){const e=d(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=i("h-9 border-e border-border px-3 text-start align-middle font-mono text-[11px] font-medium tracking-wide whitespace-nowrap text-muted-foreground uppercase last:border-e-0 [&:has([role=checkbox])]:pe-0",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=r("th",{"data-slot":"table-head",className:a,...l}),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}function x(o){const e=d(8);let t,l;e[0]!==o?({className:t,...l}=o,e[0]=o,e[1]=t,e[2]=l):(t=e[1],l=e[2]);let a;e[3]!==t?(a=i("border-e border-border px-3 py-1.5 align-middle whitespace-nowrap last:border-e-0 [&:has([role=checkbox])]:pe-0",t),e[3]=t,e[4]=a):a=e[4];let s;return e[5]!==l||e[6]!==a?(s=r("td",{"data-slot":"table-cell",className:a,...l}),e[5]=l,e[6]=a,e[7]=s):s=e[7],s}export{f as T,p as a,u as b,h as c,m as d,x as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as $}from"react/compiler-runtime";import{useT as O}from"./DEFAULT_LOCALE-A1Yg5ORA.mjs";import{k as H,f as L,b as Q}from"./internal-Df43vQI0.mjs";import{jsx as p,jsxs as S}from"react/jsx-runtime";import{useState as E,useRef as U,useMemo as Y}from"react";import{u as G}from"./use-mirrored-ref-CVDf2z1M.mjs";import{u as J}from"./use-admin-query-tlBof8Yg.mjs";import{ADMIN_FUNCTIONS as K}from"./ADMIN_FUNCTIONS-B8yyk5BX.mjs";import{useVirtualizer as Z}from"@tanstack/react-virtual";import{c as X}from"./utils-bhneXptQ.mjs";import{f as ee}from"./virtual-rect-D_j7aLxX.mjs";const te=2166136261,re=16777619,I=(s,e=te)=>{let t=e;for(let r=0;r<s.length;r+=1)t^=s.charCodeAt(r),t=Math.imul(t,re);return(t>>>0).toString(16).padStart(8,"0")},se=/([a-z\d])([A-Z])/gu,ne=/[\s_-]+/u,oe=new Set(["access_token","api_key","apikey","card_number","client_secret","credit_card","cvv","passwd","password","private_key","pwd","refresh_token","secret","ssn","token"]),le=s=>{const e=s.replaceAll(se,"$1 $2").split(ne).map(r=>r.toLowerCase()).filter(r=>r.length>0),t=new Set(e);for(let r=0;r<e.length-1;r+=1){const n=e[r],u=e[r+1];n===void 0||u===void 0||(t.add(`${n}${u}`),t.add(`${n}_${u}`))}return[...t]},V="•••",W=(s,e)=>{try{return e==="redact"?null:e==="hash"?s==null?s:I(typeof s=="bigint"?s.toString():typeof s=="string"?s:JSON.stringify(s)):V}catch{return V}},j=(s,e)=>{const t=new Map;for(const r of s)r.table===e&&t.set(r.column,r.strategy);return t},ae=s=>{for(const e of le(s))if(oe.has(e))return!0;return!1},z=(s,e)=>{const t=e.filter(n=>!s.has(n)&&ae(n));if(t.length===0)return s;const r=new Map(s);for(const n of t)r.set(n,"redact");return r},Ce=(s,e,t)=>{if(!t.enabled)return s;const r=t.columns.get(e);return r===void 0?s:W(s,r)},ce=(s,e)=>{if(!e.enabled||e.columns.size===0)return s;const t={...s};for(const[r,n]of e.columns)r in t&&(t[r]=W(t[r],n));return t},Fe=(s,e)=>!e.enabled||e.columns.size===0?s:s.map(t=>ce(t,e)),B=s=>s==null?"∅":s===""?"(empty)":H(s),ie=s=>{const e=$(32),{column:t,onFacetFilter:r,state:n}=s,u=O();let x;e[0]!==t||e[1]!==r||e[2]!==n.result?.values?(x=c=>{const m=Number(c.currentTarget.dataset.index),k=n.result?.values[m];k!==void 0&&r(t,k.value)},e[0]=t,e[1]=r,e[2]=n.result?.values,e[3]=x):x=e[3];const g=x,o=`db-facet-${t}`;let d;e[4]!==t?(d=p("span",{className:"font-medium text-foreground",children:t}),e[4]=t,e[5]=d):d=e[5];let a;e[6]!==n.loading||e[7]!==n.result||e[8]!==u?(a=n.loading&&n.result===null&&p("span",{className:"text-muted-foreground",children:u("Loading…")}),e[6]=n.loading,e[7]=n.result,e[8]=u,e[9]=a):a=e[9];let l;e[10]!==n.error?(l=n.error!==null&&p("span",{className:"text-destructive",role:"alert",children:n.error}),e[10]=n.error,e[11]=l):l=e[11];let i;e[12]!==n.result?.values?(i=n.result?.values??[],e[12]=n.result?.values,e[13]=i):i=e[13];let f;if(e[14]!==t||e[15]!==g||e[16]!==i){let c;e[18]!==t||e[19]!==g?(c=(m,k)=>S("button",{className:"flex items-center justify-between gap-2 rounded px-1 py-0.5 text-left text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground","data-index":k,"data-testid":`db-facet-value-${t}`,onClick:g,type:"button",children:[p("span",{className:"truncate",children:B(m.value)}),p("span",{className:"shrink-0 tabular-nums text-foreground/70",children:m.count})]},B(m.value)),e[18]=t,e[19]=g,e[20]=c):c=e[20],f=i.map(c),e[14]=t,e[15]=g,e[16]=i,e[17]=f}else f=e[17];let b;e[21]!==t||e[22]!==n.result||e[23]!==u?(b=n.result?.truncated===!0&&p("span",{className:"text-muted-foreground","data-testid":`db-facet-truncated-${t}`,children:u("Showing the {n} most common values.",{n:n.result.values.length})}),e[21]=t,e[22]=n.result,e[23]=u,e[24]=b):b=e[24];let h;return e[25]!==o||e[26]!==d||e[27]!==a||e[28]!==l||e[29]!==f||e[30]!==b?(h=S("section",{className:"flex flex-col gap-1","data-testid":o,children:[d,a,l,f,b]}),e[25]=o,e[26]=d,e[27]=a,e[28]=l,e[29]=f,e[30]=b,e[31]=h):h=e[31],h},_e=s=>{const e=$(44),{columns:t,facets:r,mask:n,onFacetFilter:u,onToggleFacet:x}=s,g=O();let o;e[0]!==x?(o=y=>{const{column:v}=y.currentTarget.dataset;v!==void 0&&x(v)},e[0]=x,e[1]=o):o=e[1];const d=o;let a;e[2]!==n?(a=y=>n.enabled&&n.columns.has(y),e[2]=n,e[3]=a):a=e[3];const l=a;let i,f,b,h,c,m,k,w;if(e[4]!==t||e[5]!==r||e[6]!==l||e[7]!==g||e[8]!==d){w=Symbol.for("react.early_return_sentinel");e:{let y;e[17]!==l?(y=N=>!l(N),e[17]=l,e[18]=y):y=e[18];const v=t.filter(y);let M;if(e[19]!==r||e[20]!==l?(M=Object.entries(r).filter(N=>{const[q]=N;return!l(q)}),e[19]=r,e[20]=l,e[21]=M):M=e[21],i=M,v.length===0){w=null;break e}m="flex w-56 shrink-0 flex-col gap-3 overflow-auto border-l border-border p-3 text-xs",k="db-facets",h="flex flex-col gap-1.5";let T;e[22]!==g?(T=g("Facets"),e[22]=g,e[23]=T):T=e[23],e[24]!==T?(c=p("span",{className:"font-mono text-[11px] tracking-wide uppercase text-muted-foreground",children:T}),e[24]=T,e[25]=c):c=e[25],f="flex flex-wrap gap-1";let A;e[26]!==r||e[27]!==d?(A=N=>p("button",{"aria-pressed":N in r,className:"rounded border border-border px-1.5 py-0.5 text-muted-foreground transition-colors hover:bg-accent aria-pressed:bg-accent aria-pressed:text-accent-foreground","data-column":N,"data-testid":`db-facet-toggle-${N}`,onClick:d,type:"button",children:N},N),e[26]=r,e[27]=d,e[28]=A):A=e[28],b=v.map(A)}e[4]=t,e[5]=r,e[6]=l,e[7]=g,e[8]=d,e[9]=i,e[10]=f,e[11]=b,e[12]=h,e[13]=c,e[14]=m,e[15]=k,e[16]=w}else i=e[9],f=e[10],b=e[11],h=e[12],c=e[13],m=e[14],k=e[15],w=e[16];if(w!==Symbol.for("react.early_return_sentinel"))return w;let C;e[29]!==f||e[30]!==b?(C=p("div",{className:f,children:b}),e[29]=f,e[30]=b,e[31]=C):C=e[31];let F;e[32]!==C||e[33]!==h||e[34]!==c?(F=S("div",{className:h,children:[c,C]}),e[32]=C,e[33]=h,e[34]=c,e[35]=F):F=e[35];let _;e[36]!==u||e[37]!==i?(_=i.map(y=>{const[v,M]=y;return p(ie,{column:v,onFacetFilter:u,state:M},v)}),e[36]=u,e[37]=i,e[38]=_):_=e[38];let R;return e[39]!==F||e[40]!==_||e[41]!==m||e[42]!==k?(R=S("aside",{className:m,"data-testid":k,children:[F,_]}),e[39]=F,e[40]=_,e[41]=m,e[42]=k,e[43]=R):R=e[43],R},Me=()=>{const[s,e]=E({}),t=G(s),r=U({}),n=async(o,d)=>{const a=(r.current[o]??0)+1;r.current[o]=a,e(l=>o in l?{...l,[o]:{error:null,loading:!0,result:l[o]?.result??null}}:l);try{const l=await d(o);if(r.current[o]!==a)return;e(i=>o in i?{...i,[o]:{error:null,loading:!1,result:l}}:i)}catch(l){if(r.current[o]!==a)return;e(i=>o in i?{...i,[o]:{error:Q(l),loading:!1,result:null}}:i)}};return{clearFacets:()=>{e({})},facets:s,facetsRef:t,refetchFacets:o=>{for(const d of Object.keys(t.current))L(n(d,o))},toggleFacet:(o,d)=>{if(o in t.current){e(a=>Object.fromEntries(Object.entries(a).filter(([l])=>l!==o)));return}e(a=>({...a,[o]:{error:null,loading:!0,result:null}})),d!==null&&L(n(o,d))}}},ue=[],de=()=>{const s=$(1);let e;s[0]===Symbol.for("react.memo_cache_sentinel")?(e={},s[0]=e):e=s[0];const{data:t}=J(K.maskPolicies,e);return Array.isArray(t?.columns)?t.columns:ue},Te=s=>{const e=$(16),{columns:t,selectedTable:r}=s,n=de(),[u,x]=E(!0);let g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=()=>{x(fe)},e[0]=g):g=e[0];const o=g;let d;if(e[1]!==t||e[2]!==n||e[3]!==r){const h=j(n,r??"");d=z(h,t),e[1]=t,e[2]=n,e[3]=r,e[4]=d}else d=e[4];const a=d;let l;e[5]!==u||e[6]!==n?(l=(h,c)=>({columns:z(j(n,h),c),enabled:u}),e[5]=u,e[6]=n,e[7]=l):l=e[7];const i=l;let f;e[8]!==a||e[9]!==u?(f={columns:a,enabled:u},e[8]=a,e[9]=u,e[10]=f):f=e[10];let b;return e[11]!==a||e[12]!==u||e[13]!==i||e[14]!==f?(b={maskColumns:a,maskOn:u,maskView:f,maskViewFor:i,onToggleMask:o},e[11]=a,e[12]=u,e[13]=i,e[14]=f,e[15]=b):b=e[15],b};function fe(s){return!s}const P=34,D=600,me=s=>{const e=$(21),{item:t,onSelect:r,prefix:n,selected:u,start:x}=s;let g;e[0]!==t.name||e[1]!==r?(g=()=>{r(t.name)},e[0]=t.name,e[1]=r,e[2]=g):g=e[2];const o=g,d=`translateY(${String(x)}px)`;let a;e[3]!==d?(a={insetInline:0,position:"absolute",top:0,transform:d},e[3]=d,e[4]=a):a=e[4];const l=a,i=u?"bg-accent font-medium text-accent-foreground":"text-foreground";let f;e[5]!==i?(f=X("flex w-full items-center justify-between gap-2 rounded-md px-2 py-1.5 text-start text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent",i),e[5]=i,e[6]=f):f=e[6];const b=`${n}-table-${t.name}`;let h;e[7]!==t.name?(h=p("span",{className:"truncate",children:t.name}),e[7]=t.name,e[8]=h):h=e[8];let c;e[9]!==t.rowCount?(c=p("span",{className:"shrink-0 rounded bg-muted px-1.5 text-xs tabular-nums text-muted-foreground",children:t.rowCount}),e[9]=t.rowCount,e[10]=c):c=e[10];let m;e[11]!==o||e[12]!==u||e[13]!==f||e[14]!==b||e[15]!==h||e[16]!==c?(m=S("button",{"aria-pressed":u,className:f,"data-testid":b,onClick:o,type:"button",children:[h,c]}),e[11]=o,e[12]=u,e[13]=f,e[14]=b,e[15]=h,e[16]=c,e[17]=m):m=e[17];let k;return e[18]!==l||e[19]!==m?(k=p("li",{style:l,children:m}),e[18]=l,e[19]=m,e[20]=k):k=e[20],k},$e=({header:s,onReload:e,onSelect:t,prefix:r,reloadLabel:n,selected:u,tables:x})=>{const g=O(),[o,d]=E(""),a=U(null),l=c=>{d(c.target.value)},i=Y(()=>{const c=o.trim().toLowerCase();return c===""?x:x.filter(m=>m.name.toLowerCase().includes(c))},[o,x]),b=Z({count:i.length,estimateSize:()=>P,getScrollElement:()=>a.current,initialRect:{height:D,width:240},observeElementRect:(c,m)=>ee(c,m,D),overscan:12}).getVirtualItems(),h={height:i.length*P};return S("aside",{className:"flex h-full w-60 shrink-0 flex-col border-e border-border bg-sidebar","data-testid":`${r}-table-list`,children:[s,S("div",{className:"flex h-9 shrink-0 items-center justify-between gap-2 border-b border-border px-3",children:[p("span",{className:"font-mono text-[11px] tracking-wide uppercase text-muted-foreground",children:g("Tables")}),e!==void 0&&p("button",{"aria-label":n??g("Refresh"),className:"flex size-6 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent","data-testid":`${r}-load-tables`,onClick:e,title:n??g("Refresh"),type:"button",children:p("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:p("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"})})})]}),p("div",{className:"shrink-0 border-b border-border p-2",children:p("input",{className:"h-7 w-full rounded-md border border-border bg-background px-2 text-xs outline-none placeholder:text-muted-foreground focus-visible:border-ring","data-testid":`${r}-table-search`,onChange:l,placeholder:g("search table…"),type:"search",value:o})}),S("ul",{className:"relative flex-1 overflow-y-auto p-1.5","data-testid":`${r}-table-list-rows`,ref:a,children:[p("li",{"aria-hidden":"true",style:h}),b.map(c=>{const m=i[c.index];return m===void 0?null:p(me,{item:m,onSelect:t,prefix:r,selected:u===m.name,start:c.start},m.name)})]})]})};export{_e as D,$e as T,Te as a,ce as b,Fe as c,Ce as m,Me as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as n}from"react/compiler-runtime";import{c as s}from"./utils-bhneXptQ.mjs";import{jsx as o}from"react/jsx-runtime";function b(d){const e=n(8);let i,r;e[0]!==d?({className:i,...r}=d,e[0]=d,e[1]=i,e[2]=r):(i=e[1],r=e[2]);let t;e[3]!==i?(t=s("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-2.5 py-2 text-xs transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 md:text-xs dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",i),e[3]=i,e[4]=t):t=e[4];let a;return e[5]!==r||e[6]!==t?(a=o("textarea",{"data-slot":"textarea",className:t,...r}),e[5]=r,e[6]=t,e[7]=a):a=e[7],a}export{b as T};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as n,s as a}from"./browser-storage-BH1MxLZs.mjs";const t="lunora:traces:pending-filter",i=e=>{a(t,e,"session")},c=()=>{const e=n("session");if(e!==void 0)try{const s=e.getItem(t);if(s===null)return;const r=JSON.parse(s);return typeof r.traceId!="string"?void 0:{traceId:r.traceId,...typeof r.shardKey=="string"?{shardKey:r.shardKey}:{}}}catch{return}},d=()=>{try{n("session")?.removeItem(t)}catch{}};export{d as c,c as p,i as w};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as $}from"react/compiler-runtime";import{useLunora as w}from"@lunora/react";import{useQueryClient as k,useQuery as L,keepPreviousData as P}from"@tanstack/react-query";import{useState as Q,useEffect as T}from"react";import{c as b,d as v,f as I,b as _}from"./internal-Df43vQI0.mjs";const S=300,a=e=>typeof e=="string"?e===""?void 0:e:typeof e=="number"||typeof e=="boolean"?String(e):void 0,c=e=>e.filter(t=>t!==void 0).join(" "),q=e=>{const t=Array.isArray(e.filters)?e.filters.length:0,r=typeof e.search=="string"&&e.search!=="";return t===0&&!r?"no predicate":c([t===0?void 0:`${String(t)} filters`,r?"search":void 0])},C={clearTable:e=>c([a(e.table),"whole table"]),deleteRows:e=>c([a(e.table),q(e)]),facetColumn:e=>c([a(e.table),a(e.column)]),importShard:e=>{if(!Array.isArray(e.rows))return"";const t=[...new Set(e.rows.filter(r=>typeof r=="object"&&r!==null).map(r=>r.table).filter(r=>typeof r=="string"))].toSorted((r,i)=>r.localeCompare(i));return c([`${String(e.rows.length)} rows`,t.length===0?void 0:`into ${t.join(", ")}`])},lintSql:()=>"sql",patchRows:e=>c([a(e.table),typeof e.doc=="object"&&e.doc!==null?`set ${Object.keys(e.doc).join(", ")}`:void 0,q(e)]),pitrRestore:e=>c([a(e.time)===void 0?void 0:`to ${String(e.time)}`,typeof e.bookmark=="string"&&e.bookmark!==""?"from bookmark":void 0,e.restart===!0?"restart now":void 0]),readTablePage:e=>c([a(e.table),Array.isArray(e.filters)&&e.filters.length>0?`${String(e.filters.length)} filters`:void 0,typeof e.search=="string"&&e.search!==""?"search":void 0,typeof e.limit=="number"?`limit ${String(e.limit)}`:void 0]),runMigration:e=>c([a(e.id),a(e.direction),e.dryRun===!0?"dry-run":void 0]),runSql:e=>typeof e.sql=="string"?`${String(e.sql.length)} chars`:"",schemaVersion:e=>typeof e.hash=="string"?e.hash.slice(0,8):"",writeRow:e=>c([a(e.table),"1 row"])},A="__lunora_admin__:",M=(e,t)=>{const r=e.startsWith(A)?e.slice(A.length):e,i=C[r];if(i!==void 0)return i(t);const s=Object.keys(t);return s.length===0?"":s.join(", ")},K=e=>{if(Array.isArray(e))return e.length;if(!(typeof e!="object"||e===null)){for(const t of Object.values(e))if(Array.isArray(t))return t.length}};class x{entries=[];listeners=new Set;nextSeq=1;getSnapshot=()=>this.entries;subscribe=t=>(this.listeners.add(t),()=>{this.listeners.delete(t)});start(t,r,i){return this.append(t,r,i,"call","pending")}startSubscription(t,r,i){return this.append(t,r,i,"subscription","live")}recordPush(t){if(this.listeners.size===0){const r=this.entries.find(i=>i.seq===t);r!==void 0&&(r.pushes=(r.pushes??0)+1);return}this.patch(t,r=>({...r,pushes:(r.pushes??0)+1}))}failSubscription(t,r){this.patch(t,i=>({...i,error:r,status:"error"}))}endSubscription(t){this.patch(t,r=>r.status==="error"?r:{...r,durationMs:Date.now()-r.startedAt,status:"closed"})}lastErrorSeq(){return this.entries.findLast(t=>t.status==="error")?.seq}settle(t,r){this.patch(t,i=>({...i,durationMs:Date.now()-i.startedAt,...r.error===void 0?{resultCount:K(r.result),status:"ok"}:{error:r.error,status:"error"}}))}clear(){this.entries=[],this.emit()}append(t,r,i,s,n){const l=this.nextSeq;this.nextSeq+=1;const d={functionPath:t,kind:s,seq:l,shardKey:i,startedAt:Date.now(),status:n,summary:M(t,r),...s==="subscription"?{pushes:0}:{}},o=[...this.entries,d];return this.entries=o.length>S?o.slice(o.length-S):o,this.emit(),l}patch(t,r){const i=this.entries.findIndex(s=>s.seq===t);i!==-1&&(this.entries=this.entries.with(i,r(this.entries[i])),this.emit())}emit(){for(const t of this.listeners)t()}}const f=new x,j=(e,t,r)=>["lunora-admin",e,t,r.trim()],E=(e,t)=>[...e,t];function F(e,t,r={}){const i=w(),{enabled:s=!0,keepPreviousData:n=!1,staleTime:l=0}=r,d=E(e,i.clientIdentifier()),u=L({enabled:s,queryFn:t,placeholderData:n?P:void 0,queryKey:d,staleTime:l});return{data:u.data,error:u.error?_(u.error):u.error,errorSource:u.error??void 0,isLoading:u.isLoading,liveError:void 0,refetch:()=>{I(u.refetch())}}}function U(e,t,r={}){const i=w(),s=k(),{enabled:n=!0,keepPreviousData:l=!1,live:d=!1,shardKey:o="",staleTime:u}=r,p=j(e,t,o),R=F(p,()=>i.query(b(e),t,v(o)),{enabled:n,keepPreviousData:l,staleTime:u??(d?Number.POSITIVE_INFINITY:0)}),[g,y]=Q(void 0),D=JSON.stringify(p);return T(()=>{if(!n||!d)return;y(void 0);const m=f.startSubscription(e,t,o),O=i.subscribe(b(e),t,h=>{f.recordPush(m),y(void 0),s.setQueryData(E(p,i.clientIdentifier()),h)},{...v(o),onError:h=>{f.failSubscription(m,h.message),y(h.message)}});return()=>{f.endSubscription(m),O()}},[i,D,n,d]),{...R,liveError:n&&d?g:void 0}}const W=()=>{const e=$(2),t=k();let r;return e[0]!==t?(r=(i,s,n)=>{const l=s===void 0?["lunora-admin",i]:j(i,s,n??"");I(t.invalidateQueries({queryKey:l}))},e[0]=t,e[1]=r):r=e[1],r};export{W as a,F as b,f as o,U as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as m}from"react/compiler-runtime";import{useState as a}from"react";import{f as i,b as y}from"./internal-Df43vQI0.mjs";const g=()=>{const r=m(4),[s,n]=a(!1),[o,c]=a(null);let e;r[0]===Symbol.for("react.memo_cache_sentinel")?(e=u=>{i((async()=>{n(!0),c(null);try{await u()}catch(f){c(y(f))}n(!1)})())},r[0]=e):e=r[0];const l=e;let t;return r[1]!==s||r[2]!==o?(t={busy:s,error:o,run:l},r[1]=s,r[2]=o,r[3]=t):t=r[3],t};export{g as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as f}from"react/compiler-runtime";import{useLunora as c}from"@lunora/react";import{b as u}from"./use-admin-query-tlBof8Yg.mjs";const m={capabilities:{accounts:!0,admin:!0,inviteOnly:!1,organization:!1,passkey:!1,twoFactor:!1},emailAndPassword:!1,organization:{enabled:!1,roles:!1,teams:!1},plugins:[],rateLimit:{enabled:!1},session:{},socialProviders:[],userFields:[]},b=()=>{const e=f(6),o=c();let s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=["lunora-auth-config"],e[0]=s):s=e[0];let t;e[1]!==o?(t=()=>o.getAuthConfig(),e[1]=o,e[2]=t):t=e[2];const{data:l,isLoading:r}=u(s,t),i=l??m,n=!r;let a;return e[3]!==i||e[4]!==n?(a={config:i,ready:n},e[3]=i,e[4]=n,e[5]=a):a=e[5],a};export{b as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as o}from"react/compiler-runtime";import{useRef as s,useEffect as c}from"react";function m(r){const e=o(2),f=s(r);let t;return e[0]!==r?(t=()=>{f.current=r},e[0]=r,e[1]=t):t=e[1],c(t),f}export{m as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as n}from"react/compiler-runtime";import{useNavigate as a}from"@tanstack/react-router";import{f as m}from"./internal-Df43vQI0.mjs";import{w as s}from"./trace-handoff-BV3EWqy_.mjs";const u=r=>{const t=n(3),o=a();let e;return t[0]!==o||t[1]!==r?(e=i=>{s({shardKey:r,traceId:i}),m(o({to:"/traces"}))},t[0]=o,t[1]=r,t[2]=e):e=t[2],e};export{u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useState as n,useRef as S,useEffect as a}from"react";const f=(e,s=400)=>{const t=(e??"").trim(),[o,u]=n(t),[y,c]=n(t),d=S(e);d.current!==e&&(d.current=e,u(t),c(t));const m=o.trim();return a(()=>{const r=setTimeout(()=>{c(m)},s);return()=>{clearTimeout(r)}},[m,s]),{queryShardKey:y,setShardKey:r=>{u(r)},shardKey:o}};export{f as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useLunora as h}from"@lunora/react";import{useState as c}from"react";import{u as T}from"./use-admin-query-tlBof8Yg.mjs";import{ADMIN_FUNCTIONS as s}from"./ADMIN_FUNCTIONS-B8yyk5BX.mjs";import{d,c as l}from"./internal-Df43vQI0.mjs";const S={},_=l(s.aiGenerateSql),b=l(s.aiTableFilter),C=l(s.aiChartConfig),Q=n=>{const o=h(),[v,u]=c({}),[m,g]=c({}),p=T(s.aiAvailable,S,{shardKey:n}),[y,q]=c(!1),A=y||p.data?.available===!1,i=e=>{u(r=>({...r,[e]:!0})),g(r=>({...r,[e]:void 0}))},a=(e,r)=>{u(t=>({...t,[e]:!1})),r!==void 0&&g(t=>({...t,[e]:r})),r==="no-ai-binding"&&q(!0)},f=async e=>{i("sql");try{const{result:r}=await o.query(_,e,d(n));return a("sql",r.degraded?r.reason:void 0),r.degraded?void 0:r.sql}catch{a("sql","ai-error");return}};return{generate:async(e,r)=>f({failedError:r?.error,failedSql:r?.sql,prompt:e}),inferChart:async e=>{i("chart");try{const{result:r}=await o.query(C,e,d(n));return a("chart",r.degraded?r.reason:void 0),r.degraded?void 0:r.chart}catch{a("chart","ai-error");return}},pending:e=>v[e]===!0,reason:e=>m[e],rewrite:async(e,r)=>f({editSql:r,prompt:e}),suggestFilter:async(e,r)=>{i("filter");try{const{result:t}=await o.query(b,{prompt:e,table:r},d(n));return a("filter",t.degraded?t.reason:void 0),t.degraded?void 0:t.clauses}catch{a("filter","ai-error");return}},unavailable:A}};export{Q as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as p}from"react/compiler-runtime";import{useState as f,useEffect as D}from"react";const T=function(t,n,o){const e=p(4),s=n===void 0?300:n,[r,i]=f(t),[u,m]=f(o);o!==void 0&&o!==u&&(m(o),i(t));let c,d;return e[0]!==s||e[1]!==t?(c=()=>{const b=setTimeout(()=>{i(t)},s);return()=>{clearTimeout(b)}},d=[t,s],e[0]=s,e[1]=t,e[2]=c,e[3]=d):(c=e[2],d=e[3]),D(c,d),r};export{T as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{clsx as o}from"clsx";import{twMerge as t}from"tailwind-merge";function m(...r){return t(o(r))}export{m as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{observeElementRect as i}from"@tanstack/react-virtual";const s=(t,o,h)=>i(t,e=>{o(e.height>0?e:{height:h,width:e.width})});export{s as f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const m=e=>{let t="";for(let o=0;o<e.length;o+=32768)t+=String.fromCharCode(...e.subarray(o,o+32768));return btoa(t)},A=e=>{const t=atob(e),y=new Uint8Array(t.length);for(let o=0;o<t.length;o+=1)y[o]=t.codePointAt(o)??0;return y},i="$lunora.wire$";const w="__proto__",g={BigInt64Array,BigUint64Array,Float32Array,Float64Array,Int8Array,Int16Array,Int32Array,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array},p={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError},l=e=>{if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype},b=(e,t=0)=>{if(t>64)throw new RangeError("wire-codec: value nesting exceeds the 64-level limit");if(e===void 0)return[i,"undefined"];if(e===null)return null;const y=typeof e;if(y==="bigint")return[i,"bigint",e.toString()];if(y==="number"){const r=e;return Number.isNaN(r)?[i,"nan"]:r===1/0?[i,"inf"]:r===-1/0?[i,"-inf"]:r}if(y!=="object")return e;if(e instanceof Date)return[i,"date",b(e.getTime(),t+1)];if(e instanceof Error){const r=e,n={};for(const c of Object.keys(r)){if(r[c]===void 0)continue;const u=b(r[c],t+1);c===w?Object.defineProperty(n,c,{configurable:!0,enumerable:!0,value:u,writable:!0}):n[c]=u}const s=[i,"error",String(r.name),String(r.message),n];return r.cause!==void 0&&s.push(b(r.cause,t+1)),s}if(e instanceof URL)return[i,"url",e.href];if(e instanceof Map)return[i,"map",[...e.entries()].map(([r,n])=>[b(r,t+1),b(n,t+1)])];if(e instanceof Set)return[i,"set",[...e].map(r=>b(r,t+1))];if(e instanceof ArrayBuffer)return[i,"bytes",m(new Uint8Array(e)),"ArrayBuffer"];if(ArrayBuffer.isView(e)){const r=e,n=r.constructor.name,s=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);return n==="Uint8Array"?[i,"bytes",m(s)]:[i,"bytes",m(s),n]}if(Array.isArray(e)){const r=e.map(n=>b(n,t+1));return r.length>0&&r[0]===i?[i,"arr",r]:r}if(!l(e)){const r=e.constructor?.name??"value";throw new TypeError(`wire-codec: cannot encode a ${r} over the Lunora wire — only plain objects, arrays, and the supported built-ins (Date, Error, URL, Map, Set, ArrayBuffer/typed arrays, bigint) round-trip`)}const o=e,a={};for(const r of Object.keys(o)){const n=o[r];if(n===void 0)continue;const s=b(n,t+1);r===w?Object.defineProperty(a,r,{configurable:!0,enumerable:!0,value:s,writable:!0}):a[r]=s}return a},f=(e,t=0)=>{if(t>64)throw new RangeError("wire-codec: value nesting exceeds the 64-level limit");if(e===null||typeof e!="object")return e;if(Array.isArray(e)){if(e[0]===i)switch(e[1]){case"-inf":return-1/0;case"arr":return e[2].map(r=>f(r,t+1));case"bigint":{const r=e[2];if(typeof r!="string"||r.length>1024||!/^-?\d+$/.test(r))throw new RangeError("wire-codec: invalid or over-long bigint (max 1024 digits)");return BigInt(r)}case"date":{const r=f(e[2],t+1);if(typeof r!="number")throw new TypeError("wire-codec: malformed date — epoch must be a number");return new Date(r)}case"map":{const r=e[2];return new Map(r.map(n=>{if(!Array.isArray(n)||n.length!==2)throw new TypeError("wire-codec: malformed map entry — expected a [key, value] pair");return[f(n[0],t+1),f(n[1],t+1)]}))}case"set":return new Set(e[2].map(r=>f(r,t+1)));case"url":{const r=e[2];if(typeof r!="string")throw new TypeError("wire-codec: malformed url — href must be a string");return new URL(r)}case"error":{const r=e[2],n=e[3];if(typeof r!="string"||typeof n!="string")throw new TypeError("wire-codec: malformed error — name and message must be strings");const s=(Object.hasOwn(p,r)?p[r]:void 0)??Error,c=new s(n);c.name!==r&&Object.defineProperty(c,"name",{configurable:!0,value:r,writable:!0});const u=f(e[4],t+1);if(u===null||typeof u!="object"||Array.isArray(u))throw new TypeError("wire-codec: malformed error — props must be an object");for(const d of Object.keys(u))d===w?Object.defineProperty(c,d,{configurable:!0,enumerable:!0,value:u[d],writable:!0}):c[d]=u[d];return e.length>5&&Object.defineProperty(c,"cause",{configurable:!0,value:f(e[5],t+1),writable:!0}),c}case"bytes":{const r=e[2];if(typeof r!="string")throw new TypeError("wire-codec: malformed bytes — payload must be a base64 string");const n=A(r);if(m(n)!==r)throw new TypeError("wire-codec: malformed bytes — payload must be canonical padded base64");const s=e[3]??"Uint8Array";if(s==="ArrayBuffer")return n.buffer.byteLength===n.byteLength?n.buffer:n.slice().buffer;const c=Object.hasOwn(g,s)?g[s]:void 0;return c?new c(n.slice().buffer):n}case"inf":return 1/0;case"nan":return Number.NaN;case"undefined":return;default:return e.map(r=>f(r,t+1))}return e.map(a=>f(a,t+1))}const y=e,o={};for(const a of Object.keys(y)){const r=f(y[a],t+1);a===w?Object.defineProperty(o,a,{configurable:!0,enumerable:!0,value:r,writable:!0}):o[a]=r}return o},E=e=>{try{const t=f(JSON.parse(e));return l(t)?t:void 0}catch{return}};export{E as a,f as d,b as e,l as i};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as r,d as p,e as m}from"./chunk-YKXDMIHQ.js";function d(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}r(d,"mergeObjects");var y={};function h(e,t,n,o,i){if(!n&&!o&&!i&&!e)return R(t);let c=R(e);return t&&(c=E(c,t)),n&&(c=E(c,n)),o&&(c=E(c,o)),i&&(c=E(c,i)),c}r(h,"mergeProps");function x(e){if(e.length===0)return y;if(e.length===1)return R(e[0]);let t=R(e[0]);for(let n=1;n<e.length;n+=1)t=E(t,e[n]);return t}r(x,"mergePropsN");function R(e){return b(e)?{...T(e,y)}:J(e)}r(R,"createInitialMergedProps");function E(e,t){return b(t)?T(t,e):q(e,t)}r(E,"mergeInto");function J(e){let t={...e};for(let n in t){let o=t[n];O(n,o)&&(t[n]=k(o))}return t}r(J,"copyInitialProps");function q(e,t){if(!t)return e;for(let n in t){let o=t[n];switch(n){case"style":{e[n]=d(e.style,o);break}case"className":{e[n]=g(e.className,o);break}default:O(n,o)?e[n]=K(e[n],o):e[n]=o}}return e}r(q,"mutablyMergeInto");function O(e,t){let n=e.charCodeAt(0),o=e.charCodeAt(1),i=e.charCodeAt(2);return n===111&&o===110&&i>=65&&i<=90&&(typeof t=="function"||typeof t>"u")}r(O,"isEventHandler");function b(e){return typeof e=="function"}r(b,"isPropsGetter");function T(e,t){return b(e)?e(t):e??y}r(T,"resolvePropsGetter");function K(e,t){return t?e?(...n)=>{let o=n[0];if(_(o)){let c=o;M(c);let s=t(...n);return c.baseUIHandlerPrevented||e?.(...n),s}let i=t(...n);return e?.(...n),i}:k(t):e}r(K,"mergeEventHandlers");function k(e){return e&&((...t)=>{let n=t[0];return _(n)&&M(n),e(...t)})}r(k,"wrapEventHandler");function M(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}r(M,"makeEventPreventable");function g(e,t){return t?e?t+" "+e:t:e}r(g,"mergeClassNames");function _(e){return e!=null&&typeof e=="object"&&"nativeEvent"in e}r(_,"isSyntheticEvent");function Q(e,t){return r(function(o,...i){let c=new URL(e);return c.searchParams.set("code",o.toString()),i.forEach(s=>c.searchParams.append("args[]",s)),`${t} error #${o}; visit ${c} for the full message.`},"formatErrorMessage")}r(Q,"createFormatErrorMessage");var X=Q("https://base-ui.com/production-error","Base UI"),L=X;var a=p(m(),1);var j=p(m(),1);var V={};function v(e,t){let n=j.useRef(V);return n.current===V&&(n.current=e(t)),n}r(v,"useRefWithInit");function A(e,t,n,o){let i=v(S).current;return ee(i,e,t,n,o)&&$(i,[e,t,n,o]),i.callback}r(A,"useMergedRefs");function U(e){let t=v(S).current;return te(t,e)&&$(t,e),t.callback}r(U,"useMergedRefsN");function S(){return{callback:null,cleanup:null,refs:[]}}r(S,"createForkRef");function ee(e,t,n,o,i){return e.refs[0]!==t||e.refs[1]!==n||e.refs[2]!==o||e.refs[3]!==i}r(ee,"didChange");function te(e,t){return e.refs.length!==t.length||e.refs.some((n,o)=>n!==t[o])}r(te,"didChangeN");function $(e,t){if(e.refs=t,t.every(n=>n==null)){e.callback=null;return}e.callback=n=>{if(e.cleanup&&(e.cleanup(),e.cleanup=null),n!=null){let o=Array(t.length).fill(null);for(let i=0;i<t.length;i+=1){let c=t[i];if(c!=null)switch(typeof c){case"function":{let s=c(n);typeof s=="function"&&(o[i]=s);break}case"object":{c.current=n;break}default:}}e.cleanup=()=>{for(let i=0;i<t.length;i+=1){let c=t[i];if(c!=null)switch(typeof c){case"function":{let s=o[i];typeof s=="function"?s():c(null);break}case"object":{c.current=null;break}default:}}}}}}r($,"update");var z=p(m(),1);var B=p(m(),1);var ne=parseInt(B.version,10);function Y(e){return ne>=e}r(Y,"isReactVersionAtLeast");function N(e){if(!z.isValidElement(e))return null;let t=e,n=t.props;return(Y(19)?n?.ref:t.ref)??null}r(N,"getReactElementRef");function we(){}r(we,"NOOP");var Ce=Object.freeze([]),l=Object.freeze({});function D(e,t){let n={};for(let o in e){let i=e[o];if(t?.hasOwnProperty(o)){let c=t[o](i);c!=null&&Object.assign(n,c);continue}i===!0?n[`data-${o.toLowerCase()}`]="":i&&(n[`data-${o.toLowerCase()}`]=i.toString())}return n}r(D,"getStateAttributesProps");function F(e,t){return typeof e=="function"?e(t):e}r(F,"resolveClassName");function W(e,t){return typeof e=="function"?e(t):e}r(W,"resolveStyle");var P=p(m(),1);function We(e,t,n={}){let o=t.render;n.enabled!==!1&&(o=ce(o));let i=re(t,n,o);if(n.enabled===!1)return null;let c=n.state??l;return se(e,o,i,c)}r(We,"useRenderElement");function re(e,t,n){let{className:o,style:i}=e,{state:c=l,ref:s,props:I,stateAttributesMapping:Z,enabled:f=!0}=t,w=f?F(o,c):void 0,C=f?W(i,c):void 0,G=f?D(c,Z):l,H=f&&I?oe(I):void 0,u=f?d(G,H)??{}:l;return typeof document<"u"&&(f?Array.isArray(s)?u.ref=U([u.ref,N(n),...s]):u.ref=A(u.ref,N(n),s):A(null,null)),f?(w!==void 0&&(u.className=g(u.className,w)),C!==void 0&&(u.style=d(u.style,C)),u):l}r(re,"useRenderElementProps");function oe(e){return Array.isArray(e)?x(e):h(void 0,e)}r(oe,"resolveRenderFunctionProps");var ie=Symbol.for("react.lazy");function ce(e){if(e?.$$typeof!==ie)return e;let t=a.Children.toArray(e)[0];return a.isValidElement(t)?t:e}r(ce,"unwrapLazyRenderProp");function se(e,t,n,o){if(t){if(typeof t=="function")return t(n,o);let i=h(n,t.props);return i.ref=n.ref,a.cloneElement(t,i)}if(e&&typeof e=="string")return ue(e,n);throw new Error(L(8))}r(se,"evaluateRenderProp");function ue(e,t){return e==="button"?(0,P.createElement)("button",{type:"button",...t,key:t.key}):e==="img"?(0,P.createElement)("img",{alt:"",...t,key:t.key}):a.createElement(e,t)}r(ue,"renderTag");export{h as a,M as b,L as c,v as d,A as e,Y as f,we as g,Ce as h,l as i,We as j};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Ze}from"./chunk-3FBLWUXD.js";import{a as qe}from"./chunk-YERR37A2.js";import{a as Ke}from"./chunk-MRAMNVDG.js";import{a as He}from"./chunk-XZMOZFE6.js";import{a as O}from"./chunk-IMOHEGMV.js";import{a as Je}from"./chunk-LCRAEP3B.js";import"./chunk-UXXDN6Z3.js";import{a as We}from"./chunk-66UGPQVC.js";import{a as Xe}from"./chunk-QKEJLVC5.js";import"./chunk-AWHXPIXU.js";import"./chunk-V3VJAA4D.js";import{W as T}from"./chunk-PLHA3OWK.js";import"./chunk-4L4WTGN5.js";import{a as _}from"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import{b as D}from"./chunk-FEWMAPNI.js";import"./chunk-225VJ77I.js";import{b as De}from"./chunk-RPJEAHAZ.js";import{f as J}from"./chunk-TI33XMKX.js";import"./chunk-FSRSK4LY.js";import"./chunk-NPF3GY2E.js";import{a as Ve}from"./chunk-FKVZRPV5.js";import{a as ze,b as _e,c as Pe,d as q,e as U,f as z}from"./chunk-HEAQVSNS.js";import{a as K,e as X}from"./chunk-WUWBZPUK.js";import{d as Q,h as Ee,o as Ue,p as Z,r as Qe,t as te}from"./chunk-PTZD7RUZ.js";import{a as s,d as Me,e as at,f as lt,g as nt}from"./chunk-YKXDMIHQ.js";var C=Me(at(),1);var W=Me(lt(),1);var t=Me(nt(),1);var it=s(()=>{let h=(0,W.c)(3),{config:e,ready:n}=qe(),l;return h[0]!==e.capabilities||h[1]!==n?(l={capabilities:e.capabilities,ready:n},h[0]=e.capabilities,h[1]=n,h[2]=l):l=h[2],l},"nt"),st=s((h,e)=>typeof h.acceptedAt=="number"?"spent":typeof h.expiresAt=="number"&&h.expiresAt<=e?"expired":"pending","lt"),et=500,rt=s((h,e)=>{if(!URL.canParse(h.trim()))return null;let n=new URL(h.trim());return n.searchParams.set("email",e.email),n.searchParams.set("invite",e.token),n.toString()},"at"),dt=s(h=>{let e=(0,W.c)(34),{issued:n,onSignUpPageChange:l,signUpPage:o}=h,a=Q(),[p,i]=(0,C.useState)(null),u;e[0]!==n||e[1]!==o?(u=rt(o,n),e[0]=n,e[1]=o,e[2]=u):u=e[2];let c=u,y;e[3]!==c?(y=s(()=>{let $="navigator"in globalThis?globalThis.navigator.clipboard:void 0;c===null||$===void 0||Z($.writeText(c).then(()=>(i(c),!0)))},"y"),e[3]=c,e[4]=y):y=e[4];let w=y,g;e[5]!==a?(g=a("Send this link to the invitee. It is shown once and cannot be recovered."),e[5]=a,e[6]=g):g=e[6];let I;e[7]!==g?(I=(0,t.jsx)("p",{className:"text-sm",children:g}),e[7]=g,e[8]=I):I=e[8];let k=c===null,v;e[9]!==a?(v=a("Your app's sign-up page"),e[9]=a,e[10]=v):v=e[10];let d;e[11]!==l?(d=s($=>{l($.target.value)},"r"),e[11]=l,e[12]=d):d=e[12];let m;e[13]!==o||e[14]!==k||e[15]!==v||e[16]!==d?(m=(0,t.jsx)(T,{"aria-invalid":k,"aria-label":v,"data-testid":"sign-up-invitation-page",onChange:d,value:o}),e[13]=o,e[14]=k,e[15]=v,e[16]=d,e[17]=m):m=e[17];let b=c??"",x;e[18]!==b?(x=(0,t.jsx)(T,{"data-testid":"sign-up-invitation-link",readOnly:!0,value:b}),e[18]=b,e[19]=x):x=e[19];let N;e[20]!==p||e[21]!==c||e[22]!==a?(N=a(p!==null&&p===c?"Copied":"Copy"),e[20]=p,e[21]=c,e[22]=a,e[23]=N):N=e[23];let f;e[24]!==w||e[25]!==N?(f=(0,t.jsx)(_,{"data-testid":"sign-up-invitation-copy",onClick:w,type:"button",children:N}),e[24]=w,e[25]=N,e[26]=f):f=e[26];let r;e[27]!==x||e[28]!==f?(r=(0,t.jsxs)("div",{className:"flex gap-2",children:[x,f]}),e[27]=x,e[28]=f,e[29]=r):r=e[29];let S;return e[30]!==r||e[31]!==I||e[32]!==m?(S=(0,t.jsx)(K,{children:(0,t.jsxs)(X,{className:"flex flex-col gap-2 p-4",children:[I,m,r]})}),e[30]=r,e[31]=I,e[32]=m,e[33]=S):S=e[33],S},"it"),ot=s(()=>{let h=J(),e=Q(),[n,l]=(0,C.useState)(""),[o,a]=(0,C.useState)(null),[p,i]=(0,C.useState)(null),[u,c]=(0,C.useState)(()=>`${Qe(h.url)}/sign-up`),y=De(["lunora-auth-sign-up-invitations",et],()=>h.listAuthSignUpInvitations({limit:et})),w=y.data?.rows??null,g=y.data?.total??0,I=s(()=>{let v=n.trim();v!==""&&(a(null),Z((async()=>{try{let d=await h.createAuthSignUpInvitation({email:v}),m=typeof d.token=="string"?d.token:void 0;i(m===void 0?null:{email:v,token:m}),l(""),y.refetch()}catch(d){a(d instanceof Error?d.message:String(d))}})()))},"w"),k=s(v=>{a(null),Z((async()=>{try{await h.revokeAuthSignUpInvitation({email:v}),y.refetch()}catch(d){a(d instanceof Error?d.message:String(d))}})())},"k");return(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"sign-up-invitations",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-base font-medium",children:e("Sign-up invitations")}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("Only invited addresses can create an account. Nothing is emailed \u2014 send the invitee the one-time link yourself.")})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(T,{"aria-label":e("Email address to invite"),"data-testid":"sign-up-invitation-email",onChange:s(v=>{l(v.target.value)},"onChange"),placeholder:e("ada@example.com"),type:"email",value:n}),(0,t.jsx)(_,{"data-testid":"sign-up-invitation-submit",onClick:I,type:"button",children:e("Invite")})]}),p!==null&&(0,t.jsx)(dt,{issued:p,onSignUpPageChange:c,signUpPage:u},p.token),(o??y.error)!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"sign-up-invitations-error",role:"alert",children:o??y.error}),w!==null&&w.length===0&&(0,t.jsx)(Ve,{testId:"sign-up-invitations-empty",title:e("Nobody has been invited yet.")}),w!==null&&g>w.length&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"sign-up-invitations-truncated",children:e("Showing the most recent invitations. Query the signUpInvitation table directly to see the rest.")}),w!==null&&w.length>0&&(0,t.jsx)(K,{children:(0,t.jsx)(X,{className:"p-0",children:(0,t.jsxs)(ze,{children:[(0,t.jsx)(_e,{children:(0,t.jsxs)(q,{children:[(0,t.jsx)(U,{children:e("Email")}),(0,t.jsx)(U,{children:e("Status")}),(0,t.jsx)(U,{children:e("Expires")}),(0,t.jsx)(U,{children:e("Invited by")}),(0,t.jsx)(U,{})]})}),(0,t.jsx)(Pe,{children:w.map(v=>{let d=st(v,Date.now()),m=v.email??"";return(0,t.jsxs)(q,{"data-testid":`sign-up-invitation-${m}`,children:[(0,t.jsx)(z,{children:m}),(0,t.jsxs)(z,{"data-testid":`sign-up-invitation-status-${m}`,children:[d==="spent"&&e("Accepted"),d==="expired"&&e("Expired"),d==="pending"&&e("Pending")]}),(0,t.jsx)(z,{children:typeof v.expiresAt=="number"?te(v.expiresAt):"\u2014"}),(0,t.jsx)(z,{children:v.invitedBy??"\u2014"}),(0,t.jsx)(z,{className:"text-right",children:(0,t.jsx)(_,{onClick:s(()=>{k(m)},"onClick"),type:"button",variant:"ghost",children:e("Revoke")})})]},v.id)})})]})})})]})},"rt"),ct={boolean:"checkbox",date:"datetime-local",number:"number",string:"text"},ut=s((h,e)=>h.type==="boolean"?!0:typeof e!="string"||e.trim()===""?!1:h.type!=="number"||!Number.isNaN(Number(e.trim())),"dt"),mt=s((h,e)=>{if(h.type==="boolean")return e===!0?{value:!0}:h.required?{value:!1}:void 0;let n=typeof e=="string"?e.trim():"";if(n!==""){if(h.type==="number"){let l=Number(n);return Number.isNaN(l)?void 0:{value:l}}return{value:n}}},"ct"),ht=s(h=>{let e=(0,W.c)(105),{onClose:n,onCreated:l}=h,o=J(),a=Q(),{config:p}=qe(),{busy:i,error:u,run:c}=Ke(),[y,w]=(0,C.useState)(""),[g,I]=(0,C.useState)(""),[k,v]=(0,C.useState)(""),[d,m]=(0,C.useState)(""),b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b={},e[0]=b):b=e[0];let[x,N]=(0,C.useState)(b),f;e[1]===Symbol.for("react.memo_cache_sentinel")?(f=s(A=>{w(A.target.value)},"p"),e[1]=f):f=e[1];let r=f,S;e[2]===Symbol.for("react.memo_cache_sentinel")?(S=s(A=>{I(A.target.value)},"I"),e[2]=S):S=e[2];let $=S,j;e[3]===Symbol.for("react.memo_cache_sentinel")?(j=s(A=>{v(A.target.value)},"z"),e[3]=j):j=e[3];let H=j,M;e[4]===Symbol.for("react.memo_cache_sentinel")?(M=s(A=>{m(A.target.value)},"M"),e[4]=M):M=e[4];let Y=M,B;e[5]===Symbol.for("react.memo_cache_sentinel")?(B=s((A,R)=>{N(ee=>({...ee,[A]:R}))},"L"),e[5]=B):B=e[5];let V=B,G;e[6]!==x?(G=s(A=>x[A.name]??(A.type==="boolean"?!1:""),"Y"),e[6]=x,e[7]=G):G=e[7];let P=G,L;if(e[8]!==p.userFields||e[9]!==P){let A;e[11]!==P?(A=s(R=>!R.required||ut(R,P(R)),"A"),e[11]=P,e[12]=A):A=e[12],L=p.userFields.every(A),e[8]=p.userFields,e[9]=P,e[10]=L}else L=e[10];let F=L,E;e[13]!==i||e[14]!==y||e[15]!==g||e[16]!==F?(E=!i&&y.trim()!==""&&g.trim()!==""&&F,e[13]=i,e[14]=y,e[15]=g,e[16]=F,e[17]=E):E=e[17];let $e=E,ae;e[18]!==p.userFields||e[19]!==P?(ae=s(()=>{let A={};for(let R of p.userFields){let ee=mt(R,P(R));ee!==void 0&&(A[R.name]=ee.value)}return Object.keys(A).length===0?void 0:A},"te"),e[18]=p.userFields,e[19]=P,e[20]=ae):ae=e[20];let je=ae,Re;e[21]!==je||e[22]!==o||e[23]!==y||e[24]!==g||e[25]!==n||e[26]!==l||e[27]!==k||e[28]!==d||e[29]!==c?(Re=s(()=>{c(async()=>{await o.createAuthUser({data:je(),email:y.trim(),name:g.trim(),password:k===""?void 0:k,role:d.trim()===""?void 0:d.trim()}),l(),n()})},"De"),e[21]=je,e[22]=o,e[23]=y,e[24]=g,e[25]=n,e[26]=l,e[27]=k,e[28]=d,e[29]=c,e[30]=Re):Re=e[30];let Be=Re,le;e[31]!==a?(le=a("Create user"),e[31]=a,e[32]=le):le=e[32];let ne;e[33]!==a?(ne=a("Create user"),e[33]=a,e[34]=ne):ne=e[34];let ie;e[35]!==ne?(ie=(0,t.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:ne}),e[35]=ne,e[36]=ie):ie=e[36];let se;e[37]!==a?(se=a("email"),e[37]=a,e[38]=se):se=e[38];let re;e[39]!==se?(re=(0,t.jsx)(O,{htmlFor:"uc-email",children:se}),e[39]=se,e[40]=re):re=e[40];let de;e[41]!==y?(de=(0,t.jsx)(T,{"data-testid":"uc-email",id:"uc-email",onChange:r,type:"email",value:y}),e[41]=y,e[42]=de):de=e[42];let oe;e[43]!==re||e[44]!==de?(oe=(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[re,de]}),e[43]=re,e[44]=de,e[45]=oe):oe=e[45];let ce;e[46]!==a?(ce=a("name"),e[46]=a,e[47]=ce):ce=e[47];let ue;e[48]!==ce?(ue=(0,t.jsx)(O,{htmlFor:"uc-name",children:ce}),e[48]=ce,e[49]=ue):ue=e[49];let me;e[50]!==g?(me=(0,t.jsx)(T,{"data-testid":"uc-name",id:"uc-name",onChange:$,value:g}),e[50]=g,e[51]=me):me=e[51];let he;e[52]!==ue||e[53]!==me?(he=(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[ue,me]}),e[52]=ue,e[53]=me,e[54]=he):he=e[54];let pe;e[55]!==a?(pe=a("Password (optional)"),e[55]=a,e[56]=pe):pe=e[56];let fe;e[57]!==pe?(fe=(0,t.jsx)(O,{htmlFor:"uc-password",children:pe}),e[57]=pe,e[58]=fe):fe=e[58];let ve;e[59]!==k?(ve=(0,t.jsx)(T,{"data-testid":"uc-password",id:"uc-password",onChange:H,type:"password",value:k}),e[59]=k,e[60]=ve):ve=e[60];let ge;e[61]!==fe||e[62]!==ve?(ge=(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[fe,ve]}),e[61]=fe,e[62]=ve,e[63]=ge):ge=e[63];let be;e[64]!==a?(be=a("Role (optional)"),e[64]=a,e[65]=be):be=e[65];let xe;e[66]!==be?(xe=(0,t.jsx)(O,{htmlFor:"uc-role",children:be}),e[66]=be,e[67]=xe):xe=e[67];let ye;e[68]!==d?(ye=(0,t.jsx)(T,{"data-testid":"uc-role",id:"uc-role",onChange:Y,value:d}),e[68]=d,e[69]=ye):ye=e[69];let Ne;e[70]!==xe||e[71]!==ye?(Ne=(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[xe,ye]}),e[70]=xe,e[71]=ye,e[72]=Ne):Ne=e[72];let ke;e[73]!==p.userFields||e[74]!==P||e[75]!==a?(ke=p.userFields.length>0&&(0,t.jsxs)("div",{className:"flex flex-col gap-3 border-t border-border pt-3","data-testid":"uc-plugin-fields",children:[(0,t.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:a("Plugin fields")}),p.userFields.map(A=>{let R=`uc-field-${A.name}`,ee=A.required?"":` (${a("optional")})`;if(A.type==="boolean"){let Oe=P(A)===!0;return(0,t.jsxs)("label",{className:"flex items-center gap-2",htmlFor:R,children:[(0,t.jsx)(Ze,{checked:Oe,"data-testid":R,id:R,onCheckedChange:s(tt=>{V(A.name,tt)},"onCheckedChange")}),(0,t.jsxs)("span",{className:"text-sm",children:[A.name,ee]})]},A.name)}let Ge=P(A);return(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsxs)(O,{htmlFor:R,children:[A.name,ee]}),(0,t.jsx)(T,{"data-testid":R,id:R,onChange:s(Oe=>{V(A.name,Oe.target.value)},"onChange"),type:ct[A.type],value:typeof Ge=="string"?Ge:""})]},A.name)})]}),e[73]=p.userFields,e[74]=P,e[75]=a,e[76]=ke):ke=e[76];let we;e[77]!==u?(we=u!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"uc-error",role:"alert",children:u}),e[77]=u,e[78]=we):we=e[78];let Ce;e[79]!==a?(Ce=a("Cancel"),e[79]=a,e[80]=Ce):Ce=e[80];let Ie;e[81]!==n||e[82]!==Ce?(Ie=(0,t.jsx)(_,{"data-testid":"uc-cancel",onClick:n,size:"sm",type:"button",variant:"outline",children:Ce}),e[81]=n,e[82]=Ce,e[83]=Ie):Ie=e[83];let Le=!$e,Ae;e[84]!==i||e[85]!==a?(Ae=a(i?"Creating\u2026":"Create"),e[84]=i,e[85]=a,e[86]=Ae):Ae=e[86];let Se;e[87]!==Be||e[88]!==Le||e[89]!==Ae?(Se=(0,t.jsx)(_,{"data-testid":"uc-submit",disabled:Le,onClick:Be,size:"sm",type:"button",children:Ae}),e[87]=Be,e[88]=Le,e[89]=Ae,e[90]=Se):Se=e[90];let Fe;e[91]!==Ie||e[92]!==Se?(Fe=(0,t.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[Ie,Se]}),e[91]=Ie,e[92]=Se,e[93]=Fe):Fe=e[93];let Te;return e[94]!==n||e[95]!==le||e[96]!==ie||e[97]!==oe||e[98]!==he||e[99]!==ge||e[100]!==Ne||e[101]!==ke||e[102]!==we||e[103]!==Fe?(Te=(0,t.jsxs)(He,{label:le,onClose:n,panelTestId:"uc-dialog",testId:"uc-overlay",variant:"dialog",children:[ie,oe,he,ge,Ne,ke,we,Fe]}),e[94]=n,e[95]=le,e[96]=ie,e[97]=oe,e[98]=he,e[99]=ge,e[100]=Ne,e[101]=ke,e[102]=we,e[103]=Fe,e[104]=Te):Te=e[104],Te},"ut"),Ye=s(h=>{let e=(0,W.c)(2),{children:n}=h,l;return e[0]!==n?(l=(0,t.jsx)("h3",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:n}),e[0]=n,e[1]=l):l=e[1],l},"_e"),pt=s(h=>{let e=(0,W.c)(29),{busy:n,runAction:l,userId:o,version:a}=h,p=J(),i=Q(),[u,c]=(0,C.useState)(null),[y,w]=(0,C.useState)(null),g;e[0]!==p||e[1]!==o?(g=s(()=>{Z((async()=>{w(null);try{let r=await p.listAuthSessions({limit:50,userId:o});c(r.rows)}catch(r){let S=r;c(null),w(Ee(S))}})())},"g"),e[0]=p,e[1]=o,e[2]=g):g=e[2];let I;e[3]!==p||e[4]!==o||e[5]!==a?(I=[p,o,a],e[3]=p,e[4]=o,e[5]=a,e[6]=I):I=e[6],(0,C.useEffect)(g,I);let k;e[7]!==p||e[8]!==l?(k=s(r=>{l(()=>p.revokeAuthSession({sessionId:r}))},"k"),e[7]=p,e[8]=l,e[9]=k):k=e[9];let v=k,d;e[10]!==i?(d=i("Sessions"),e[10]=i,e[11]=d):d=e[11];let m;e[12]!==d?(m=(0,t.jsx)(Ye,{children:d}),e[12]=d,e[13]=m):m=e[13];let b;e[14]!==y?(b=y!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"ud-sessions-error",role:"alert",children:y}),e[14]=y,e[15]=b):b=e[15];let x;e[16]!==u||e[17]!==i?(x=u!==null&&u.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"ud-sessions-empty",children:i("No active sessions.")}),e[16]=u,e[17]=i,e[18]=x):x=e[18];let N;e[19]!==n||e[20]!==v||e[21]!==u||e[22]!==i?(N=u!==null&&u.length>0&&(0,t.jsx)(K,{className:"overflow-hidden py-0",children:(0,t.jsx)(X,{className:"px-0",children:(0,t.jsxs)(ze,{"data-testid":"ud-sessions-table",children:[(0,t.jsx)(_e,{children:(0,t.jsxs)(q,{children:[(0,t.jsx)(U,{children:i("expires")}),(0,t.jsx)(U,{children:i("ip")}),(0,t.jsx)(U,{children:i("user agent")}),(0,t.jsx)(U,{"aria-label":i("Actions")})]})}),(0,t.jsx)(Pe,{children:u.map(r=>(0,t.jsxs)(q,{"data-testid":`ud-session-${r.id}`,children:[(0,t.jsx)(z,{className:"text-muted-foreground tabular-nums",children:te(r.expiresAt)}),(0,t.jsx)(z,{children:r.ipAddress??""}),(0,t.jsx)(z,{className:"max-w-40 truncate",children:r.userAgent??""}),(0,t.jsx)(z,{children:(0,t.jsx)(_,{"data-testid":`ud-revoke-${r.id}`,disabled:n,onClick:s(()=>{v(r.id)},"onClick"),size:"xs",type:"button",variant:"ghost",children:i("Revoke")})})]},r.id))})]})})}),e[19]=n,e[20]=v,e[21]=u,e[22]=i,e[23]=N):N=e[23];let f;return e[24]!==m||e[25]!==b||e[26]!==x||e[27]!==N?(f=(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"ud-sessions",children:[m,b,x,N]}),e[24]=m,e[25]=b,e[26]=x,e[27]=N,e[28]=f):f=e[28],f},"mt"),ft=s(h=>{let e=(0,W.c)(30),{busy:n,runAction:l,userId:o,version:a}=h,p=J(),i=Q(),[u,c]=(0,C.useState)(null),[y,w]=(0,C.useState)(null),g;e[0]!==p||e[1]!==o?(g=s(()=>{Z((async()=>{w(null);try{c(await p.listAuthAccounts({userId:o}))}catch(r){let S=r;c(null),w(Ee(S))}})())},"g"),e[0]=p,e[1]=o,e[2]=g):g=e[2];let I;e[3]!==p||e[4]!==o||e[5]!==a?(I=[p,o,a],e[3]=p,e[4]=o,e[5]=a,e[6]=I):I=e[6],(0,C.useEffect)(g,I);let k;e[7]!==p||e[8]!==l||e[9]!==o?(k=s(r=>{l(()=>p.unlinkAuthAccount({accountId:r,userId:o}))},"k"),e[7]=p,e[8]=l,e[9]=o,e[10]=k):k=e[10];let v=k,d;e[11]!==i?(d=i("Linked accounts"),e[11]=i,e[12]=d):d=e[12];let m;e[13]!==d?(m=(0,t.jsx)(Ye,{children:d}),e[13]=d,e[14]=m):m=e[14];let b;e[15]!==y?(b=y!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive",role:"alert",children:y}),e[15]=y,e[16]=b):b=e[16];let x;e[17]!==u||e[18]!==i?(x=u!==null&&u.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:i("No linked accounts.")}),e[17]=u,e[18]=i,e[19]=x):x=e[19];let N;e[20]!==u||e[21]!==n||e[22]!==v||e[23]!==i?(N=u!==null&&u.length>0&&(0,t.jsx)(K,{className:"overflow-hidden py-0",children:(0,t.jsx)(X,{className:"px-0",children:(0,t.jsxs)(ze,{"data-testid":"ud-accounts-table",children:[(0,t.jsx)(_e,{children:(0,t.jsxs)(q,{children:[(0,t.jsx)(U,{children:i("provider")}),(0,t.jsx)(U,{children:i("created")}),(0,t.jsx)(U,{"aria-label":i("Actions")})]})}),(0,t.jsx)(Pe,{children:u.map(r=>{let S=Ue(r.id);return(0,t.jsxs)(q,{"data-testid":`ud-account-${S}`,children:[(0,t.jsx)(z,{children:Ue(r.providerId)}),(0,t.jsx)(z,{className:"text-muted-foreground tabular-nums",children:te(r.createdAt)}),(0,t.jsx)(z,{children:(0,t.jsx)(_,{"data-testid":`ud-unlink-${S}`,disabled:n,onClick:s(()=>{v(S)},"onClick"),size:"xs",type:"button",variant:"ghost",children:i("Unlink")})})]},S)})})]})})}),e[20]=u,e[21]=n,e[22]=v,e[23]=i,e[24]=N):N=e[24];let f;return e[25]!==m||e[26]!==b||e[27]!==x||e[28]!==N?(f=(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"ud-accounts",children:[m,b,x,N]}),e[25]=m,e[26]=b,e[27]=x,e[28]=N,e[29]=f):f=e[29],f},"ht"),vt=s(h=>{let e=(0,W.c)(40),{busy:n,capabilities:l,runAction:o,userId:a,version:p}=h,i=J(),u=Q(),[c,y]=(0,C.useState)(null),w;e[0]!==l.passkey||e[1]!==i||e[2]!==a?(w=s(()=>{l.passkey&&Z((async()=>{try{y(await i.listAuthPasskeys({userId:a}))}catch{y(null)}})())},"C"),e[0]=l.passkey,e[1]=i,e[2]=a,e[3]=w):w=e[3];let g;e[4]!==l.passkey||e[5]!==i||e[6]!==a||e[7]!==p?(g=[l.passkey,i,a,p],e[4]=l.passkey,e[5]=i,e[6]=a,e[7]=p,e[8]=g):g=e[8],(0,C.useEffect)(w,g);let I;e[9]!==i||e[10]!==o||e[11]!==a?(I=s(()=>{o(()=>i.disableAuthTwoFactor({userId:a}))},"w"),e[9]=i,e[10]=o,e[11]=a,e[12]=I):I=e[12];let k=I,v;e[13]!==i||e[14]!==o?(v=s(S=>{o(()=>i.deleteAuthPasskey({passkeyId:S}))},"v"),e[13]=i,e[14]=o,e[15]=v):v=e[15];let d=v,m;e[16]!==u?(m=u("Security"),e[16]=u,e[17]=m):m=e[17];let b;e[18]!==m?(b=(0,t.jsx)(Ye,{children:m}),e[18]=m,e[19]=b):b=e[19];let x;e[20]!==n||e[21]!==l.twoFactor||e[22]!==k||e[23]!==u?(x=l.twoFactor&&(0,t.jsx)(_,{"data-testid":"ud-disable-2fa",disabled:n,onClick:k,size:"sm",type:"button",variant:"outline",children:u("Disable two-factor")}),e[20]=n,e[21]=l.twoFactor,e[22]=k,e[23]=u,e[24]=x):x=e[24];let N;e[25]!==l.passkey||e[26]!==c||e[27]!==u?(N=l.passkey&&c!==null&&c.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:u("No passkeys.")}),e[25]=l.passkey,e[26]=c,e[27]=u,e[28]=N):N=e[28];let f;e[29]!==n||e[30]!==l.passkey||e[31]!==d||e[32]!==c||e[33]!==u?(f=l.passkey&&c!==null&&c.length>0&&(0,t.jsx)(K,{className:"overflow-hidden py-0",children:(0,t.jsx)(X,{className:"px-0",children:(0,t.jsxs)(ze,{"data-testid":"ud-passkeys-table",children:[(0,t.jsx)(_e,{children:(0,t.jsxs)(q,{children:[(0,t.jsx)(U,{children:u("name")}),(0,t.jsx)(U,{children:u("created")}),(0,t.jsx)(U,{"aria-label":u("Actions")})]})}),(0,t.jsx)(Pe,{children:c.map(S=>{let $=Ue(S.id);return(0,t.jsxs)(q,{"data-testid":`ud-passkey-${$}`,children:[(0,t.jsx)(z,{children:Ue(S.name)||$}),(0,t.jsx)(z,{className:"text-muted-foreground tabular-nums",children:te(S.createdAt)}),(0,t.jsx)(z,{children:(0,t.jsx)(_,{"data-testid":`ud-delete-passkey-${$}`,disabled:n,onClick:s(()=>{d($)},"onClick"),size:"xs",type:"button",variant:"ghost",children:u("Delete")})})]},$)})})]})})}),e[29]=n,e[30]=l.passkey,e[31]=d,e[32]=c,e[33]=u,e[34]=f):f=e[34];let r;return e[35]!==b||e[36]!==x||e[37]!==N||e[38]!==f?(r=(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"ud-security",children:[b,x,N,f]}),e[35]=b,e[36]=x,e[37]=N,e[38]=f,e[39]=r):r=e[39],r},"ft"),gt=/(?:at|expires)$/iu,bt=/^[1-9]\d*$/u,xt=new Set(["banExpires","banned","banReason","email","emailVerified","id","name","role"]),yt=s(h=>{let e=(0,W.c)(51),{busy:n,onBan:l}=h,o=Q(),[a,p]=(0,C.useState)(""),[i,u]=(0,C.useState)(""),[c,y]=(0,C.useState)(!1),w;e[0]!==i?(w=bt.test(i.trim())&&Number.isSafeInteger(Number(i.trim())*86400)?Number(i.trim()):void 0,e[0]=i,e[1]=w):w=e[1];let g=w,I=c||g!==void 0,k;e[2]!==l||e[3]!==c||e[4]!==a||e[5]!==g?(k=s(()=>{l({expiresInSeconds:c||g===void 0?void 0:g*86400,reason:a.trim()===""?void 0:a.trim()})},"k"),e[2]=l,e[3]=c,e[4]=a,e[5]=g,e[6]=k):k=e[6];let v=k,d;e[7]!==o?(d=o("Ban reason (optional)"),e[7]=o,e[8]=d):d=e[8];let m;e[9]!==d?(m=(0,t.jsx)(O,{htmlFor:"ud-ban-reason",children:d}),e[9]=d,e[10]=m):m=e[10];let b;e[11]===Symbol.for("react.memo_cache_sentinel")?(b=s(E=>{p(E.target.value)},"b"),e[11]=b):b=e[11];let x;e[12]!==a?(x=(0,t.jsx)(T,{"data-testid":"ud-ban-reason",id:"ud-ban-reason",onChange:b,value:a}),e[12]=a,e[13]=x):x=e[13];let N;e[14]!==m||e[15]!==x?(N=(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-1",children:[m,x]}),e[14]=m,e[15]=x,e[16]=N):N=e[16];let f;e[17]!==o?(f=o("Days"),e[17]=o,e[18]=f):f=e[18];let r;e[19]!==f?(r=(0,t.jsx)(O,{htmlFor:"ud-ban-days",children:f}),e[19]=f,e[20]=r):r=e[20];let S;e[21]!==i||e[22]!==g?(S=i.trim()!==""&&g===void 0,e[21]=i,e[22]=g,e[23]=S):S=e[23];let $;e[24]===Symbol.for("react.memo_cache_sentinel")?($=s(E=>{u(E.target.value)},"T"),e[24]=$):$=e[24];let j;e[25]!==i||e[26]!==c||e[27]!==S?(j=(0,t.jsx)(T,{"aria-invalid":S,"data-testid":"ud-ban-days",disabled:c,id:"ud-ban-days",min:1,onChange:$,step:1,type:"number",value:i}),e[25]=i,e[26]=c,e[27]=S,e[28]=j):j=e[28];let H;e[29]!==j||e[30]!==r?(H=(0,t.jsxs)("div",{className:"flex w-24 flex-col gap-1",children:[r,j]}),e[29]=j,e[30]=r,e[31]=H):H=e[31];let M;e[32]===Symbol.for("react.memo_cache_sentinel")?(M=s(E=>{y(E.target.checked)},"M"),e[32]=M):M=e[32];let Y;e[33]!==c?(Y=(0,t.jsx)("input",{checked:c,className:"size-4 accent-destructive","data-testid":"ud-ban-permanent",id:"ud-ban-permanent",onChange:M,type:"checkbox"}),e[33]=c,e[34]=Y):Y=e[34];let B;e[35]!==o?(B=o("Permanent"),e[35]=o,e[36]=B):B=e[36];let V;e[37]!==Y||e[38]!==B?(V=(0,t.jsxs)(O,{className:"flex items-center gap-1.5 pb-2 text-xs font-normal",htmlFor:"ud-ban-permanent",children:[Y,B]}),e[37]=Y,e[38]=B,e[39]=V):V=e[39];let G=n||!I,P;e[40]!==o?(P=o("Ban user"),e[40]=o,e[41]=P):P=e[41];let L;e[42]!==v||e[43]!==G||e[44]!==P?(L=(0,t.jsx)(_,{"data-testid":"ud-ban",disabled:G,onClick:v,size:"sm",type:"button",variant:"destructive",children:P}),e[42]=v,e[43]=G,e[44]=P,e[45]=L):L=e[45];let F;return e[46]!==H||e[47]!==V||e[48]!==L||e[49]!==N?(F=(0,t.jsxs)("div",{className:"flex items-end gap-2",children:[N,H,V,L]}),e[46]=H,e[47]=V,e[48]=L,e[49]=N,e[50]=F):F=e[50],F},"bt"),Nt=s((h,e)=>typeof e=="number"&>.test(h)?te(e):Ue(e),"xt"),kt=s(({capabilities:h,onChanged:e,onClose:n,user:l})=>{let o=J(),a=Q(),p=l.banned===!0,[i,u]=(0,C.useState)(null),[c,y]=(0,C.useState)(!1),[w,g]=(0,C.useState)(0),[I,k]=(0,C.useState)(typeof l.role=="string"?l.role:""),[v,d]=(0,C.useState)(""),[m,b]=(0,C.useState)(null),[x,N]=(0,C.useState)(!1),f=s((F,E)=>{Z((async()=>{y(!0),u(null);try{let $e=await F();E?.refresh!==!1&&(g(ae=>ae+1),e()),E?.onResult?.($e)}catch($e){u(Ee($e))}y(!1)})())},"p"),r=s(F=>{k(F.target.value)},"i"),S=s(F=>{d(F.target.value)},"I"),$=s(()=>{let F=I.trim();F!==""&&f(async()=>{await o.setAuthUserRole({role:F,userId:l.id})})},"T"),j=s(F=>{f(async()=>{await o.banAuthUser({...F,userId:l.id})})},"z"),H=s(()=>{f(async()=>{await o.unbanAuthUser({userId:l.id})})},"j"),M=s(()=>{f(async()=>{await o.setAuthUserPassword({newPassword:v,userId:l.id}),d("")})},"M"),Y=s(()=>{f(()=>o.impersonateAuthUser({userId:l.id}),{onResult:s(F=>{b(F.token)},"onResult"),refresh:!1})},"H"),B=s(()=>{f(async()=>{await o.revokeAuthUserSessions({userId:l.id})})},"L"),V=s(()=>{f(async()=>{await o.removeAuthUser({userId:l.id}),n()})},"V"),G=s(()=>{N(!0)},"Y"),P=s(()=>{N(!1)},"E"),L=Object.entries(l).filter(([F])=>!xt.has(F));return(0,t.jsxs)(He,{label:a("User details"),onClose:n,panelTestId:"ud-panel",testId:"ud-overlay",variant:"drawer",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:l.name??l.email??l.id}),(0,t.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:l.id}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 pt-1",children:[typeof l.role=="string"&&l.role!==""&&(0,t.jsx)(D,{variant:"secondary",children:l.role}),p?(0,t.jsx)(D,{variant:"destructive",children:a("Banned")}):(0,t.jsx)(D,{variant:"outline",children:a("Active")}),l.emailVerified===!0?(0,t.jsx)(D,{variant:"secondary",children:a("verified")}):(0,t.jsx)(D,{variant:"outline",children:a("unverified")})]})]}),(0,t.jsx)(_,{"data-testid":"ud-close",onClick:n,size:"sm",type:"button",variant:"ghost",children:a("Close")})]}),i!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"ud-action-error",role:"alert",children:i}),h.admin&&(0,t.jsxs)(K,{className:"gap-0 py-0",children:[(0,t.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,t.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:a("Actions")})}),(0,t.jsxs)(X,{className:"flex flex-col gap-3 p-3",children:[(0,t.jsxs)("div",{className:"flex items-end gap-2",children:[(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-1",children:[(0,t.jsx)(O,{htmlFor:"ud-role",children:a("Role")}),(0,t.jsx)(T,{"data-testid":"ud-role-input",id:"ud-role",onChange:r,value:I})]}),(0,t.jsx)(_,{"data-testid":"ud-set-role",disabled:c||I.trim()==="",onClick:$,size:"sm",type:"button",variant:"outline",children:a("Set role")})]}),p?(0,t.jsx)(_,{"data-testid":"ud-unban",disabled:c,onClick:H,size:"sm",type:"button",variant:"outline",children:a("Unban")}):(0,t.jsx)(yt,{busy:c,onBan:j}),(0,t.jsxs)("div",{className:"flex items-end gap-2",children:[(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-1",children:[(0,t.jsx)(O,{htmlFor:"ud-password",children:a("New password")}),(0,t.jsx)(T,{"data-testid":"ud-password",id:"ud-password",onChange:S,type:"password",value:v})]}),(0,t.jsx)(_,{"data-testid":"ud-set-password",disabled:c||v==="",onClick:M,size:"sm",type:"button",variant:"outline",children:a("Set password")})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(_,{"data-testid":"ud-impersonate",disabled:c,onClick:Y,size:"sm",type:"button",variant:"outline",children:a("Impersonate")}),(0,t.jsx)(_,{"data-testid":"ud-revoke-all",disabled:c,onClick:B,size:"sm",type:"button",variant:"outline",children:a("Revoke all sessions")}),x?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(_,{"data-testid":"ud-delete-confirm",disabled:c,onClick:V,size:"sm",type:"button",variant:"destructive",children:a("Confirm delete")}),(0,t.jsx)(_,{"data-testid":"ud-delete-cancel",onClick:P,size:"sm",type:"button",variant:"ghost",children:a("Cancel")})]}):(0,t.jsx)(_,{"data-testid":"ud-delete",disabled:c,onClick:G,size:"sm",type:"button",variant:"destructive",children:a("Delete user")})]}),m!==null&&(0,t.jsxs)("div",{className:"flex flex-col gap-1","data-testid":"ud-impersonation",children:[(0,t.jsx)(O,{htmlFor:"ud-token",children:a("Impersonation token")}),(0,t.jsx)(T,{"data-testid":"ud-token",id:"ud-token",readOnly:!0,value:m})]})]})]}),(0,t.jsx)(pt,{busy:c,runAction:f,userId:l.id,version:w}),h.accounts&&(0,t.jsx)(ft,{busy:c,runAction:f,userId:l.id,version:w}),(h.twoFactor||h.passkey)&&(0,t.jsx)(vt,{busy:c,capabilities:h,runAction:f,userId:l.id,version:w}),(0,t.jsxs)("div",{className:"flex flex-col gap-1","data-testid":"ud-fields",children:[(0,t.jsx)("h3",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:a("Fields")}),(0,t.jsx)("dl",{className:"flex flex-col",children:L.map(([F,E])=>(0,t.jsxs)("div",{className:"flex flex-col border-t border-border py-1.5",children:[(0,t.jsx)("dt",{className:"text-xs font-semibold text-muted-foreground",children:F}),(0,t.jsx)("dd",{className:"m-0 font-mono text-xs break-words",children:Nt(F,E)})]},F))})]})]})},"yt"),wt=50,Vt=s(({pageSize:h=wt}={})=>{let e=J(),n=Q(),[l,o]=(0,C.useState)(""),[a,p]=(0,C.useState)(""),[i,u]=(0,C.useState)(0),c=Xe(l),[y,w]=(0,C.useState)(null),[g,I]=(0,C.useState)(!1),{capabilities:k}=it(),v=c.trim(),d=a.trim(),m=De(["lunora-auth-users",v,d,h,i],()=>e.listAuthUsers({filterField:d===""?void 0:"role",filterValue:d===""?void 0:d,limit:h,offset:i,search:v===""?void 0:v}).then(r=>({...r,offset:i})),{keepPreviousData:!0}),b=m.data?.rows??null,x=m.error,N=s(()=>{m.refetch()},"N");We(()=>{m.refetch()},!0);let f=y===null?null:b?.find(r=>r.id===y)??null;return(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-users",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(T,{"aria-label":n("Search users"),className:"w-56","data-testid":"us-search",onChange:s(r=>{o(r.target.value),u(0)},"onChange"),placeholder:n("Search by email or name\u2026"),value:l}),(0,t.jsx)(T,{"aria-label":n("Filter by role"),className:"w-40","data-testid":"us-role-filter",onChange:s(r=>{p(r.target.value),u(0)},"onChange"),placeholder:n("Filter by role"),value:a}),(0,t.jsx)(_,{"data-testid":"us-new",onClick:s(()=>{I(!0)},"onClick"),size:"sm",type:"button",children:n("New user")})]}),x!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"us-users-error",role:"alert",children:x}),b!==null&&b.length===0&&(0,t.jsx)(Ve,{description:n("Users who sign up to your app will appear here."),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:"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.85"})}),testId:"us-empty",title:n("No users.")}),b!==null&&b.length>0&&(0,t.jsx)(K,{className:"overflow-hidden py-0",children:(0,t.jsx)(X,{className:"px-0",children:(0,t.jsxs)(ze,{"data-testid":"us-table",children:[(0,t.jsx)(_e,{children:(0,t.jsxs)(q,{children:[(0,t.jsx)(U,{children:n("id")}),(0,t.jsx)(U,{children:n("email")}),(0,t.jsx)(U,{children:n("name")}),(0,t.jsx)(U,{children:n("role")}),(0,t.jsx)(U,{children:n("status")}),(0,t.jsx)(U,{children:n("verified")}),(0,t.jsx)(U,{children:n("created")}),(0,t.jsx)(U,{"aria-label":n("Actions")})]})}),(0,t.jsx)(Pe,{children:b.map(r=>(0,t.jsxs)(q,{"data-testid":`us-row-${r.id}`,children:[(0,t.jsx)(z,{className:"font-mono text-xs",children:r.id}),(0,t.jsx)(z,{children:r.email??""}),(0,t.jsx)(z,{children:r.name??""}),(0,t.jsx)(z,{children:typeof r.role=="string"&&r.role!==""?(0,t.jsx)(D,{variant:"secondary",children:r.role}):""}),(0,t.jsx)(z,{children:r.banned===!0?(0,t.jsx)(D,{variant:"destructive",children:n("Banned")}):(0,t.jsx)(D,{variant:"success",children:n("Active")})}),(0,t.jsx)(z,{children:r.emailVerified===!0?(0,t.jsx)(D,{variant:"success",children:n("yes")}):(0,t.jsx)(D,{variant:"outline",children:n("no")})}),(0,t.jsx)(z,{className:"text-muted-foreground tabular-nums",children:te(r.createdAt)}),(0,t.jsx)(z,{children:(0,t.jsx)(_,{"data-testid":`us-manage-${r.id}`,onClick:s(()=>{w(r.id)},"onClick"),size:"xs",type:"button",variant:"ghost",children:n("Manage")})})]},r.id))})]})})}),b!==null&&(0,t.jsx)(Je,{count:b.length,offset:m.data?.offset??0,onOffsetChange:u,pageSize:h,prefix:"us",total:m.data?.total}),f!==null&&(0,t.jsx)(kt,{capabilities:k,onChanged:N,onClose:s(()=>{w(null)},"onClose"),user:f}),g&&(0,t.jsx)(ht,{onClose:s(()=>{I(!1)},"onClose"),onCreated:N}),k.inviteOnly&&(0,t.jsx)(ot,{})]})},"jt");export{Vt as UsersPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as Ce}from"./chunk-YOB2X3FZ.js";import{a as Pe}from"./chunk-EA2JKR5D.js";import{a as $}from"./chunk-IMOHEGMV.js";import{a as Se}from"./chunk-Z5O2NQAV.js";import{a as be}from"./chunk-EJSI4PMU.js";import"./chunk-OGUKYRFM.js";import"./chunk-OKG3HWSJ.js";import{W as M}from"./chunk-PLHA3OWK.js";import"./chunk-4L4WTGN5.js";import{a as E}from"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import{b as F}from"./chunk-FEWMAPNI.js";import"./chunk-225VJ77I.js";import{a as ve}from"./chunk-JOVONUS6.js";import"./chunk-ULIQFBZU.js";import"./chunk-YEKI5KIW.js";import"./chunk-35DM4JJG.js";import{a as X}from"./chunk-4ZEL6BYL.js";import{c as ae}from"./chunk-RPJEAHAZ.js";import{f as oe}from"./chunk-TI33XMKX.js";import"./chunk-FSRSK4LY.js";import"./chunk-NPF3GY2E.js";import{a as de}from"./chunk-FKVZRPV5.js";import{a as Ne,b as ke,c as we,d as ce,e as re,f as le}from"./chunk-HEAQVSNS.js";import{a as se,b as me,c as fe,d as ue,e as ne}from"./chunk-WUWBZPUK.js";import{d as V,f as he,g as xe,h as ye,m as ge,p as te}from"./chunk-PTZD7RUZ.js";import{a as n,d as ie,e as Re,f as Te,g as Fe}from"./chunk-YKXDMIHQ.js";var f=ie(Re(),1);var pe=ie(Te(),1);var t=ie(Fe(),1);var Ie=["read","insert","update","delete"],Ee=n((e,a)=>({delete:e("Delete"),insert:e("Insert"),read:e("Read"),update:e("Update")})[a],"Ie"),$e=n(e=>e.file===""?e.procedure:`${e.file}:${e.procedure}`,"Re"),ze=n(e=>{let a=new Set;for(let i of e?.advisories??[])if(i.name==="rls_uncovered_table"){let{table:d}=i.metadata;typeof d=="string"&&d!==""&&a.add(d)}return a},"Fe"),De=n((e,a,i)=>{let d=new Map,r=n(s=>{let o=d.get(s);if(o!==void 0)return o;let m={cells:{delete:{},insert:{},read:{},update:{}},maskedColumns:new Set,table:s,uncovered:i.has(s)};return d.set(s,m),m},"r");for(let s of e)r(s.table).cells[s.on]={path:$e(s),procedure:s.procedure};for(let s of a)r(s.table).maskedColumns.add(s.column);for(let s of i)r(s);return[...d.values()].toSorted((s,o)=>s.table.localeCompare(o.table))},"Oe"),Oe=n(e=>{let a=(0,pe.c)(17),i;a[0]!==e?(i=e===void 0?{}:e,a[0]=e,a[1]=i):i=a[1];let{onProbe:d}=i,r=V(),s,o;a[2]===Symbol.for("react.memo_cache_sentinel")?(s={},o={live:!0},a[2]=s,a[3]=o):(s=a[2],o=a[3]);let m=ae(X.rlsPolicies,s,o),l;a[4]===Symbol.for("react.memo_cache_sentinel")?(l={},a[4]=l):l=a[4];let g=ae(X.maskPolicies,l),h;a[5]===Symbol.for("react.memo_cache_sentinel")?(h={},a[5]=h):h=a[5];let b=ae(X.getAdvisories,h),v;if(a[6]!==b.data||a[7]!==g.data||a[8]!==d||a[9]!==m||a[10]!==r){let N=null;m.data!==void 0&&(N=Array.isArray(m.data.policies)?m.data.policies:[]);let z=Array.isArray(g.data?.columns)?g.data.columns:[],j=b.data??null,{error:C,errorSource:k,liveError:I}=m,R=N===null?[]:De(N,z,ze(j)),w;a[12]!==I?(w=(0,t.jsx)("div",{className:"flex items-center justify-end",children:(0,t.jsx)(Se,{message:I,prefix:"pm"})}),a[12]=I,a[13]=w):w=a[13];let u;a[14]!==C||a[15]!==k?(u=C!==null&&(0,t.jsx)(ve,{error:k,testId:"pm-error"}),a[14]=C,a[15]=k,a[16]=u):u=a[16],v=(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-permissions-matrix",children:[w,u,N!==null&&R.length===0?(0,t.jsx)(de,{description:r("Add a `definePolicy` and wire it through `.use(rls(...))` to populate this matrix."),testId:"pm-empty",title:r("No policy")}):(0,t.jsxs)(Ne,{"data-testid":"pm-table",children:[(0,t.jsx)(ke,{children:(0,t.jsxs)(ce,{children:[(0,t.jsx)(re,{children:r("Table")}),Ie.map(p=>(0,t.jsx)(re,{children:Ee(r,p)},p)),(0,t.jsx)(re,{children:r("Masked columns")})]})}),(0,t.jsx)(we,{children:R.map(p=>(0,t.jsxs)(ce,{"data-testid":`pm-row-${p.table}`,children:[(0,t.jsx)(le,{className:"font-mono text-xs",children:(0,t.jsxs)("span",{className:"flex items-center gap-1.5",children:[p.table,p.uncovered&&(0,t.jsx)(F,{"data-testid":`pm-uncovered-${p.table}`,title:r("Uncovered \u2014 reachable without a policy"),variant:"destructive",children:r("Uncovered \u2014 reachable without a policy")})]})}),Ie.map(_=>{let x=p.cells[_];return(0,t.jsx)(le,{"data-testid":`pm-cell-${p.table}-${_}`,children:x.procedure===void 0?(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:r("No policy")}):(0,t.jsxs)("span",{className:"flex flex-col gap-1",children:[(0,t.jsx)(F,{variant:"secondary",children:r("Covered by {procedure}",{procedure:x.procedure})}),d!==void 0&&(0,t.jsx)(E,{className:"h-auto justify-start p-0 text-[11px]","data-testid":`pm-probe-${p.table}-${_}`,onClick:n(()=>{d(p.table,_,x.path??"")},"onClick"),size:"xs",type:"button",variant:"ghost",children:r("Probe this")})]})},_)}),(0,t.jsx)(le,{children:p.maskedColumns.size===0?(0,t.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"}):(0,t.jsx)("span",{className:"flex flex-wrap gap-1",children:[...p.maskedColumns].map(Le)})})]},p.table))})]})]}),a[6]=b.data,a[7]=g.data,a[8]=d,a[9]=m,a[10]=r,a[11]=v}else v=a[11];return v},"De");function Le(e){return(0,t.jsx)(F,{variant:"outline",children:e},e)}n(Le,"Le");var je=he(X.runAs),Me=new Set(["FORBIDDEN","RLS_REQUIRED","UNAUTHORIZED"]),Ue=n(e=>{let a=e?.code;return typeof a=="string"?a:void 0},"Me"),qe=n(()=>{let e=oe();return async({args:a,functionPath:i,shardKey:d="",userId:r})=>{if(r.trim()==="")return{kind:"invalid",message:"No identity to probe: enter the userId whose access you want to test."};let s=je;try{return{kind:"allowed",value:await e.query(s,{args:a,functionPath:i,userId:r},xe(d))}}catch(o){let m=o instanceof Error?o.message:String(o),l=Ue(o);return l!==void 0&&Me.has(l)?{kind:"denied",message:m}:{kind:"errored",message:m}}}},"ze"),Je=n(e=>e===void 0?"undefined":JSON.stringify(e,ge,2),"je"),We=n(({functions:e,prefill:a,runAsIdentity:i=!1}={})=>{let d=oe(),r=V(),s=qe(),[o,m]=(0,f.useState)(null),[l,g]=(0,f.useState)(null),h=e??o??[],[b,v]=(0,f.useState)(""),[N,z]=(0,f.useState)("{}"),[j,C]=(0,f.useState)(""),[k,I]=(0,f.useState)(""),[R,w]=(0,f.useState)(!1),[u,p]=(0,f.useState)(null),[_,x]=(0,f.useState)(null),T=(0,f.useRef)(-1),P=(0,f.useRef)(0);(0,f.useEffect)(()=>{if(e!==void 0)return;let c=!1;return d.listFunctions().then(y=>(c||m(y),y)).catch(y=>{c||g(ye(y))}),()=>{c=!0}},[d,e]),(0,f.useEffect)(()=>{if(a===void 0||T.current===a.nonce)return;T.current=a.nonce,P.current+=1;let c=a.functionPath;queueMicrotask(()=>{v(c),p(null)})},[a]);let S=b===""?h[0]?.path??"":b,D=n(async()=>{if(S==="")return;let c;try{c=N.trim()===""?{}:Ce(JSON.parse(N))}catch(A){x(r("Invalid JSON args: {message}",{message:A.message})),p(null);return}P.current+=1;let y=P.current;x(null),w(!0);try{let A=await s({args:c,functionPath:S,shardKey:j.trim(),userId:k.trim()});y===P.current&&p(A)}finally{w(!1)}},"F"),Q=n(()=>{te(D())},"K"),O=n(c=>{v(c.target.value)},"O"),L=n(c=>{z(c.target.value)},"D"),G=n(c=>{I(c.target.value)},"Y");return(0,t.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-permissions-playground",children:[l!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"pp-discover-error",role:"alert",children:l}),!i&&(0,t.jsx)(de,{description:r("Dev only: runs the selected function as this user over the admin gate so you can test auth and RLS."),testId:"pp-gate",title:r("Set `runAsIdentity` to forge an identity and probe access.")}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 rounded-md border border-border p-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)($,{htmlFor:"pp-function",children:r("Function")}),(0,t.jsx)("select",{"aria-label":r("Function"),className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","data-testid":"pp-function",id:"pp-function",onChange:O,value:S,children:h.map(c=>(0,t.jsxs)("option",{value:c.path,children:[c.path," (",c.kind,")"]},c.path))})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)($,{htmlFor:"pp-args",children:r("Arguments")}),(0,t.jsx)(Pe,{"aria-label":r("Arguments"),className:"font-mono text-xs","data-testid":"pp-args",id:"pp-args",onChange:L,value:N})]}),(0,t.jsx)(be,{onChange:C,testId:"pp-shard",value:j}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)($,{htmlFor:"pp-user",children:r("Run as (userId)")}),(0,t.jsx)(M,{"aria-label":r("Identity (userId) to run as"),className:"font-mono text-xs","data-testid":"pp-user",id:"pp-user",onChange:G,placeholder:r("Required \u2014 the identity to probe as"),value:k})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(E,{"data-testid":"pp-run",disabled:!i||R||S==="",onClick:Q,type:"button",children:r(R?"Probing\u2026":"Run probe")}),k.trim()!==""&&(0,t.jsx)(F,{"data-testid":"pp-as-badge",variant:"secondary",children:r("as {userId}",{userId:k.trim()})})]})]}),_!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"pp-args-error",role:"alert",children:_}),u!==null&&u.kind==="allowed"&&(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-allowed",children:[(0,t.jsx)(F,{variant:"secondary",children:r("Allowed")}),(0,t.jsx)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs","data-testid":"pp-result",children:Je(u.value)})]}),u!==null&&u.kind==="invalid"&&(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-invalid",children:[(0,t.jsx)(F,{variant:"outline",children:r("Not run")}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"pp-invalid",role:"status",children:u.message})]}),u!==null&&u.kind==="errored"&&(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-errored",children:[(0,t.jsx)(F,{variant:"outline",children:r("Errored")}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:r("The call failed for a reason that is not an access verdict, so it says nothing about the policy.")}),(0,t.jsx)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs","data-testid":"pp-errored",role:"alert",children:u.message})]}),u!==null&&u.kind==="denied"&&(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-denied",children:[(0,t.jsx)(F,{variant:"destructive",children:r("Denied")}),(0,t.jsx)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs text-destructive","data-testid":"pp-denied",role:"alert",children:u.message})]})]})},"qe"),Be="/__lunora/policy-scaffold",He={"already-wired":"That procedure already has an rls(...) policy wired in.","file-exists":"A policy file with that name already exists \u2014 pick another name or edit it by hand.","invalid-identifier":"Name, table, and policy-set must be plain identifiers (letters, digits, _ or $).","unknown-procedure":"No exported procedure was found at that file path.","unsupported-procedure-shape":"That procedure uses the bare query({\u2026}) form \u2014 convert it to the builder form (c.use(\u2026).query(\u2026)) before wiring RLS."},Ke=n(async e=>{let a=await fetch(Be,{body:JSON.stringify(e),headers:{"Content-Type":"application/json"},method:"POST"}),i=await a.json();if(i.needsManualEdit===!0)return{kind:"needs-manual-edit",message:i.message??"This change must be made by hand."};if(a.ok)return{diagnostics:i.diagnostics??[],kind:"ok",label:i.fileName??i.exportName??""};let d=i.error;return{kind:"error",message:d===void 0?`policy scaffold failed (${String(a.status)})`:He[d]??d}},"Qe"),_e={exportName:"",filePath:"",policyName:"",policies:"",tableName:""},Qe=n(()=>{let e=(0,pe.c)(69),a=V(),[i,d]=(0,f.useState)(null),[r,s]=(0,f.useState)(!1),[o,m]=(0,f.useState)(null),[l,g]=(0,f.useState)(_e),h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=n(ee=>{let K=ee.target.name,{value:Y}=ee.target;g(Ae=>({...Ae,[K]:Y}))},"u"),e[0]=h):h=e[0];let b=h,v;e[1]===Symbol.for("react.memo_cache_sentinel")?(v=n(()=>{d(null),g(_e)},"v"),e[1]=v):v=e[1];let N=v,z;e[2]===Symbol.for("react.memo_cache_sentinel")?(z=n(async ee=>{s(!0),m(null);try{let K=await Ke(ee);m(K),K.kind==="ok"&&N()}catch(K){let Y=K;m({kind:"error",message:Y instanceof Error?Y.message:String(Y)})}s(!1)},"R"),e[2]=z):z=e[2];let j=z,C;e[3]!==l.policyName||e[4]!==l.tableName?(C=n(()=>{te(j({kind:"scaffoldPolicy",name:l.policyName.trim(),table:l.tableName.trim()}))},"P"),e[3]=l.policyName,e[4]=l.tableName,e[5]=C):C=e[5];let k=C,I;e[6]!==l.exportName||e[7]!==l.filePath||e[8]!==l.policies?(I=n(()=>{te(j({exportName:l.exportName.trim(),filePath:l.filePath.trim(),kind:"wireRls",policies:l.policies.trim()}))},"A"),e[6]=l.exportName,e[7]=l.filePath,e[8]=l.policies,e[9]=I):I=e[9];let R=I,w;e[10]===Symbol.for("react.memo_cache_sentinel")?(w=n(()=>{m(null),d("scaffold")},"S"),e[10]=w):w=e[10];let u=w,p;e[11]===Symbol.for("react.memo_cache_sentinel")?(p=n(()=>{m(null),d("wire")},"m"),e[11]=p):p=e[11];let _=p,x;e[12]!==a?(x=a("Scaffold access rules"),e[12]=a,e[13]=x):x=e[13];let T;e[14]!==x?(T=(0,t.jsx)(fe,{children:x}),e[14]=x,e[15]=T):T=e[15];let P;e[16]!==a?(P=a("Writes a new deny-by-default policy file under lunora/, or wires one into a procedure, then reruns codegen. Local dev only."),e[16]=a,e[17]=P):P=e[17];let S;e[18]!==P?(S=(0,t.jsx)(ue,{children:P}),e[18]=P,e[19]=S):S=e[19];let D;e[20]!==S||e[21]!==T?(D=(0,t.jsxs)(me,{children:[T,S]}),e[20]=S,e[21]=T,e[22]=D):D=e[22];let Q=i==="scaffold"?"default":"outline",O;e[23]!==a?(O=a("New policy file"),e[23]=a,e[24]=O):O=e[24];let L;e[25]!==Q||e[26]!==O?(L=(0,t.jsx)(E,{"data-testid":"policy-scaffolder-new",onClick:u,size:"xs",type:"button",variant:Q,children:O}),e[25]=Q,e[26]=O,e[27]=L):L=e[27];let G=i==="wire"?"default":"outline",c;e[28]!==a?(c=a("Wire into a procedure"),e[28]=a,e[29]=c):c=e[29];let y;e[30]!==G||e[31]!==c?(y=(0,t.jsx)(E,{"data-testid":"policy-scaffolder-wire",onClick:_,size:"xs",type:"button",variant:G,children:c}),e[30]=G,e[31]=c,e[32]=y):y=e[32];let A;e[33]!==L||e[34]!==y?(A=(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[L,y]}),e[33]=L,e[34]=y,e[35]=A):A=e[35];let U;e[36]!==r||e[37]!==l.policyName||e[38]!==l.tableName||e[39]!==i||e[40]!==k||e[41]!==a?(U=i==="scaffold"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"policy-scaffolder-new-form",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)($,{htmlFor:"policy-scaffolder-name",children:a("Policy name")}),(0,t.jsx)(M,{"data-testid":"policy-scaffolder-name",id:"policy-scaffolder-name",name:"policyName",onChange:b,value:l.policyName})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)($,{htmlFor:"policy-scaffolder-table",children:a("Table name")}),(0,t.jsx)(M,{"data-testid":"policy-scaffolder-table",id:"policy-scaffolder-table",name:"tableName",onChange:b,value:l.tableName})]}),(0,t.jsx)(E,{"data-testid":"policy-scaffolder-create",disabled:r||l.policyName.trim()===""||l.tableName.trim()==="",onClick:k,size:"xs",type:"button",children:a(r?"Creating\u2026":"Create policy file")}),(0,t.jsx)(E,{onClick:N,size:"xs",type:"button",variant:"ghost",children:a("Cancel")})]}),e[36]=r,e[37]=l.policyName,e[38]=l.tableName,e[39]=i,e[40]=k,e[41]=a,e[42]=U):U=e[42];let q;e[43]!==r||e[44]!==l.exportName||e[45]!==l.filePath||e[46]!==l.policies||e[47]!==i||e[48]!==R||e[49]!==a?(q=i==="wire"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"policy-scaffolder-wire-form",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)($,{htmlFor:"policy-scaffolder-file",children:a("Procedure file path")}),(0,t.jsx)(M,{"data-testid":"policy-scaffolder-file",id:"policy-scaffolder-file",name:"filePath",onChange:b,value:l.filePath})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)($,{htmlFor:"policy-scaffolder-export",children:a("Exported procedure")}),(0,t.jsx)(M,{"data-testid":"policy-scaffolder-export",id:"policy-scaffolder-export",name:"exportName",onChange:b,value:l.exportName})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)($,{htmlFor:"policy-scaffolder-policies",children:a("Policy set identifier")}),(0,t.jsx)(M,{"data-testid":"policy-scaffolder-policies",id:"policy-scaffolder-policies",name:"policies",onChange:b,value:l.policies})]}),(0,t.jsx)(E,{"data-testid":"policy-scaffolder-apply",disabled:r||l.filePath.trim()===""||l.exportName.trim()===""||l.policies.trim()==="",onClick:R,size:"xs",type:"button",children:a(r?"Wiring\u2026":"Wire RLS")}),(0,t.jsx)(E,{onClick:N,size:"xs",type:"button",variant:"ghost",children:a("Cancel")})]}),e[43]=r,e[44]=l.exportName,e[45]=l.filePath,e[46]=l.policies,e[47]=i,e[48]=R,e[49]=a,e[50]=q):q=e[50];let J;e[51]!==o?(J=o?.kind==="error"&&(0,t.jsx)("p",{className:"mt-3 text-sm text-destructive","data-testid":"policy-scaffolder-error",role:"alert",children:o.message}),e[51]=o,e[52]=J):J=e[52];let W;e[53]!==o?.kind||e[54]!==a?(W=o?.kind==="needs-manual-edit"&&(0,t.jsx)("p",{className:"mt-3 text-sm text-amber-600 dark:text-amber-500","data-testid":"policy-scaffolder-manual",role:"alert",children:a("This change must be made by hand \u2014 the scaffolder only adds new, deny-by-default rules.")}),e[53]=o?.kind,e[54]=a,e[55]=W):W=e[55];let B;e[56]!==o||e[57]!==a?(B=o?.kind==="ok"&&(0,t.jsxs)("div",{className:"mt-3 flex flex-col gap-1","data-testid":"policy-scaffolder-ok",children:[(0,t.jsx)("p",{className:"text-sm text-emerald-600 dark:text-emerald-500",children:a("Scaffolded {label} and reran codegen. Fill in the `when` predicates before relying on it.",{label:o.label})}),o.diagnostics.length>0&&(0,t.jsx)("ul",{className:"flex flex-col gap-0.5","data-testid":"policy-scaffolder-diagnostics",children:o.diagnostics.map(Ge)})]}),e[56]=o,e[57]=a,e[58]=B):B=e[58];let H;e[59]!==A||e[60]!==U||e[61]!==q||e[62]!==J||e[63]!==W||e[64]!==B?(H=(0,t.jsxs)(ne,{children:[A,U,q,J,W,B]}),e[59]=A,e[60]=U,e[61]=q,e[62]=J,e[63]=W,e[64]=B,e[65]=H):H=e[65];let Z;return e[66]!==D||e[67]!==H?(Z=(0,t.jsxs)(se,{"data-testid":"policy-scaffolder",size:"sm",children:[D,H]}),e[66]=D,e[67]=H,e[68]=Z):Z=e[68],Z},"He");function Ge(e){return(0,t.jsx)("li",{className:"font-mono text-[11px] text-destructive",children:e},e)}n(Ge,"Je");var ft=n(({functions:e,runAsIdentity:a=!1,schemaEditable:i=!1}={})=>{let d=V(),[r,s]=(0,f.useState)(void 0),o=n((m,l,g)=>{g!==""&&s(h=>({functionPath:g,nonce:(h?.nonce??0)+1}))},"o");return(0,t.jsxs)("div",{className:"flex flex-col gap-8","data-testid":"lunora-permissions",children:[(0,t.jsxs)("section",{className:"flex flex-col gap-3",children:[(0,t.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,t.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:d("Permissions")})}),(0,t.jsx)(Oe,{onProbe:o})]}),(0,t.jsx)("section",{className:"flex flex-col gap-3",children:(0,t.jsxs)(se,{className:"gap-0 py-0",children:[(0,t.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,t.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:d("Probe")})}),(0,t.jsxs)(ne,{className:"px-4 py-4",children:[(0,t.jsx)("p",{className:"mb-3 text-sm text-muted-foreground",children:d("Pick a function and an identity, then run it to see the access outcome.")}),(0,t.jsx)(We,{functions:e,prefill:r,runAsIdentity:a})]})]})}),i&&(0,t.jsx)("section",{className:"flex flex-col gap-2",children:(0,t.jsx)(Qe,{})})]})},"ut");export{ft as PermissionsPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as A}from"./chunk-FKVZRPV5.js";import{a as N,b as v,c as I,d as k,e as M,f as O}from"./chunk-HEAQVSNS.js";import{a as R}from"./chunk-WUWBZPUK.js";import{d as E,h as L,o as w,p as C}from"./chunk-PTZD7RUZ.js";import{a as d,d as g,e as _,f as D,g as W}from"./chunk-YKXDMIHQ.js";var q=g(D(),1),y=g(_(),1);var l=g(W(),1);var P="ANALYTICS",T=[{key:"volume",sql:d(r=>`SELECT blob2 AS fn, count() AS calls FROM ${r} WHERE blob1 = 'function_call' GROUP BY fn ORDER BY calls DESC LIMIT 25`,"sql"),title:"Request volume per function"},{key:"latency",sql:d(r=>`SELECT blob2 AS fn, quantileWeighted(0.50)(double1, _sample_interval) AS p50, quantileWeighted(0.95)(double1, _sample_interval) AS p95 FROM ${r} WHERE blob1 = 'function_call' GROUP BY fn ORDER BY p95 DESC LIMIT 25`,"sql"),title:"Latency p50 / p95 per function"},{key:"hotShards",sql:d(r=>`SELECT blob3 AS shard, count() AS calls FROM ${r} WHERE blob1 = 'function_call' GROUP BY shard ORDER BY calls DESC LIMIT 25`,"sql"),title:"Hot shards"}],H={error:null,loading:!0,result:null},$=d(r=>{let e=(0,q.c)(27),{state:x,title:u}=r,s=E(),{error:a,loading:n,result:t}=x,i=`analytics-panel-${u}`,o;e[0]!==s||e[1]!==u?(o=s(u),e[0]=s,e[1]=u,e[2]=o):o=e[2];let c;e[3]!==o?(c=(0,l.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,l.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:o})}),e[3]=o,e[4]=c):c=e[4];let p;e[5]!==n||e[6]!==s?(p=n&&(0,l.jsx)("p",{className:"px-4 py-8 text-center text-sm text-muted-foreground","data-testid":"analytics-loading",children:s("Loading\u2026")}),e[5]=n,e[6]=s,e[7]=p):p=e[7];let m;e[8]!==a||e[9]!==n?(m=!n&&a!==null&&(0,l.jsx)("p",{className:"px-4 py-8 text-center text-sm text-destructive","data-testid":"analytics-error",role:"alert",children:a}),e[8]=a,e[9]=n,e[10]=m):m=e[10];let h;e[11]!==a||e[12]!==n||e[13]!==t||e[14]!==s?(h=!n&&a===null&&t!==null&&t.rows.length===0&&(0,l.jsx)("p",{className:"px-4 py-8 text-center text-sm text-muted-foreground","data-testid":"analytics-empty-rows",children:s("No data points yet.")}),e[11]=a,e[12]=n,e[13]=t,e[14]=s,e[15]=h):h=e[15];let f;e[16]!==a||e[17]!==n||e[18]!==t?(f=!n&&a===null&&t!==null&&t.rows.length>0&&(0,l.jsxs)(N,{children:[(0,l.jsx)(v,{children:(0,l.jsx)(k,{children:t.columns.map(j)})}),(0,l.jsx)(I,{children:t.rows.map((B,Y)=>(0,l.jsx)(k,{children:t.columns.map(S=>(0,l.jsx)(O,{className:"font-mono text-xs",children:w(B[S.name])},S.name))},Y))})]}),e[16]=a,e[17]=n,e[18]=t,e[19]=f):f=e[19];let b;return e[20]!==i||e[21]!==c||e[22]!==p||e[23]!==m||e[24]!==h||e[25]!==f?(b=(0,l.jsxs)(R,{className:"gap-0 py-0","data-testid":i,children:[c,p,m,h,f]}),e[20]=i,e[21]=c,e[22]=p,e[23]=m,e[24]=h,e[25]=f,e[26]=b):b=e[26],b},"H"),J=d(({dataset:r=P,runQuery:e}={})=>{let x=E(),[u,s]=(0,y.useState)({}),a=e??null,n=(0,y.useCallback)(async t=>{if(a!==null)for(let i of T){if(t.cancelled)return;s(o=>({...o,[i.key]:{error:null,loading:!0,result:null}}));try{let o=await a(i.sql(r));t.cancelled||s(c=>({...c,[i.key]:{error:null,loading:!1,result:o}}))}catch(o){t.cancelled||s(c=>({...c,[i.key]:{error:L(o),loading:!1,result:null}}))}}},[a,r]);return(0,y.useEffect)(()=>{let t={cancelled:!1};return C(n(t)),()=>{t.cancelled=!0}},[n]),a===null?(0,l.jsx)(A,{description:x("Analytics Engine reads need an account-scoped Cloudflare API token, which cannot be shipped to a browser. The host must pass studio.analyticsQuery \u2014 a runner that proxies the SQL through your worker \u2014 to enable these panels."),icon:(0,l.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,l.jsx)("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"})}),testId:"analytics-not-configured",title:x("Analytics usage panels are not wired up.")}):(0,l.jsx)("div",{className:"flex flex-col gap-4","data-testid":"lunora-analytics-panel",children:T.map(t=>(0,l.jsx)($,{state:u[t.key]??H,title:t.title},t.key))})},"J");function j(r){return(0,l.jsx)(M,{children:r.name},r.name)}d(j,"W");export{J as AnalyticsPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as pe,d as ne,e as kt,f as me}from"./chunk-4JLGLPWV.js";import{a as de,b as Ut}from"./chunk-3Q2P62UR.js";import{J as gt,e as ie,h as fe,j as Lt,k as ue}from"./chunk-PLHA3OWK.js";import{a as ht,c as lt}from"./chunk-AAVLPU5Q.js";import{c as At,j as X}from"./chunk-225VJ77I.js";import{a as o,c as Ge,d as O,e as Q,f as Ke,g as _t,i as oe}from"./chunk-YKXDMIHQ.js";var je=O(Ke(),1);var at={};Ge(at,{Content:()=>Le,Corner:()=>Fe,Root:()=>ye,Scrollbar:()=>_e,Thumb:()=>ke,Viewport:()=>We});var s=O(Q(),1);var $t=O(Q(),1);var le=$t.createContext(void 0);function j(){let e=$t.useContext(le);if(e===void 0)throw new Error(At(53));return e}o(j,"useScrollAreaRootContext");function I(e,t,l){if(!e)return 0;let v=getComputedStyle(e),g=`${t}${l==="x"?"Inline":"Block"}`,p=parseFloat(v[`${g}Start`]);return l==="x"&&t==="margin"?p*2:p+parseFloat(v[`${g}End`])}o(I,"getOffset");var he="data-has-overflow-x",Se="data-has-overflow-y",xe="data-overflow-x-start",be="data-overflow-x-end",Re="data-overflow-y-start",we="data-overflow-y-end";var Et=o(e=>t=>t?{[e]:""}:null,"attr"),st={hasOverflowX:Et(he),hasOverflowY:Et(Se),overflowXStart:Et(xe),overflowXEnd:Et(be),overflowYStart:Et(Re),overflowYEnd:Et(we),cornerHidden:o(()=>null,"cornerHidden")};var Ft="--scroll-area-corner-height",jt="--scroll-area-corner-width";var Ae="data-orientation";var Ee=O(_t(),1);var Je={x:0,y:0},ge={width:0,height:0},Qe={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},tr={x:!0,y:!0,corner:!0},ye=s.forwardRef(o(function(t,l){let{render:v,className:g,overflowEdgeThreshold:p,style:x,...c}=t,{xStart:m,xEnd:b,yStart:E,yEnd:P}=er(p),_=ie(),y=gt(),T=gt(),{nonce:L,disableStyleElements:U}=me(),[it,k]=s.useState(!1),[B,tt]=s.useState(!1),[et,rt]=s.useState(!1),[ft,M]=s.useState(!1),[xt,d]=s.useState(!1),[$,G]=s.useState(ge),[bt,ut]=s.useState(ge),[R,ot]=s.useState(Qe),[H,h]=s.useState(tr),K=s.useRef(null),n=s.useRef(null),a=s.useRef(null),f=s.useRef(null),u=s.useRef(null),S=s.useRef(null),F=s.useRef(null),A=s.useRef(null),C=s.useRef(0),N=s.useRef(0),Z=s.useRef(0),dt=s.useRef(0),D=s.useRef("vertical"),Y=s.useRef(Je),W=s.useRef(null);function z(r){let i=r?rt:tt,w=r?y:T;i(!0),w.start(500,()=>{i(!1)})}o(z,"startScrolling");let q=lt(r=>{let i=r.x-Y.current.x,w=r.y-Y.current.y;Y.current=r,w!==0&&z(!0),i!==0&&z(!1)}),J=lt(()=>{let r=n.current;r&&W.current===null&&(W.current=r.style.scrollSnapType,r.style.scrollSnapType="none")}),Mt=lt(r=>{if(r.button!==0||A.current!==null&&(D.current==="vertical"?u.current:S.current)?.hasPointerCapture(A.current))return;A.current=r.pointerId,C.current=r.clientY,N.current=r.clientX,D.current=r.currentTarget.getAttribute(Ae);let i=n.current;i&&(Z.current=i.scrollTop,dt.current=i.scrollLeft,J()),(D.current==="vertical"?u.current:S.current)?.setPointerCapture(r.pointerId)}),yt=lt(r=>{if(r.pointerId!==A.current)return;A.current=null,(D.current==="vertical"?rt:tt)(!1),W.current!==null&&(n.current&&(n.current.style.scrollSnapType=W.current),W.current=null);let i=D.current==="vertical"?u.current:S.current;i?.hasPointerCapture(r.pointerId)&&i.releasePointerCapture(r.pointerId)}),Rt=lt(r=>{if(r.pointerId!==A.current)return;if(r.buttons%2===0){yt(r);return}let i=n.current;if(!i)return;let w=D.current==="vertical",nt=w?u.current:S.current,vt=w?a.current:f.current;if(!nt||!vt)return;let Dt=w?"y":"x",Yt=I(vt,"padding",Dt),Xt=I(nt,"margin",Dt),Pt=w?nt.offsetHeight:nt.offsetWidth,Ot=(w?vt.offsetHeight:vt.offsetWidth)-Pt-Yt-Xt,Wt=w?r.clientY-C.current:r.clientX-N.current,ee=Ot<=0?0:Wt/Ot,re=w?i.scrollHeight:i.scrollWidth,Tt=w?i.clientHeight:i.clientWidth,It=(w?Z.current:dt.current)+ee*(re-Tt);w?i.scrollTop=It:i.scrollLeft=It,r.preventDefault(),z(w)});function wt(r){M(r.pointerType==="touch")}o(wt,"handleTouchModalityChange");function pt(r){if(wt(r),r.pointerType!=="touch"){let i=Lt(K.current,r.target);k(i)}}o(pt,"handlePointerEnterOrMove");let mt=s.useMemo(()=>({scrolling:B||et,hasOverflowX:!H.x,hasOverflowY:!H.y,overflowXStart:R.xStart,overflowXEnd:R.xEnd,overflowYStart:R.yStart,overflowYEnd:R.yEnd,cornerHidden:H.corner}),[B,et,H.x,H.y,H.corner,R]),Ct={role:"presentation",onPointerEnter:pt,onPointerMove:pt,onPointerDown:wt,onPointerLeave(){k(!1)},style:{position:"relative",[Ft]:`${$.height}px`,[jt]:`${$.width}px`}},Ht=X("div",t,{state:mt,ref:[l,K],props:[Ct,c],stateAttributesMapping:st}),Qt=s.useMemo(()=>({handlePointerDown:Mt,handlePointerMove:Rt,handlePointerUp:yt,handleScroll:q,disableViewportSnap:J,cornerSize:$,setCornerSize:G,thumbSize:bt,setThumbSize:ut,hasMeasuredScrollbar:xt,setHasMeasuredScrollbar:d,touchModality:ft,cornerRef:F,scrollingX:B,scrollingY:et,hovering:it,setHovering:k,viewportRef:n,scrollbarYRef:a,scrollbarXRef:f,thumbYRef:u,thumbXRef:S,rootId:_,hiddenState:H,setHiddenState:h,overflowEdges:R,setOverflowEdges:ot,viewportState:mt,overflowEdgeThreshold:{xStart:m,xEnd:b,yStart:E,yEnd:P}}),[Mt,Rt,yt,q,J,$,bt,xt,ft,B,et,it,_,H,R,mt,m,b,E,P]);return(0,Ee.jsxs)(le.Provider,{value:Qt,children:[!U&&kt.getElement(L),Ht]})},"ScrollAreaRoot"));function er(e){let t=typeof e=="number"?{xStart:e,xEnd:e,yStart:e,yEnd:e}:e;return{xStart:Math.max(0,t?.xStart||0),xEnd:Math.max(0,t?.xEnd||0),yStart:Math.max(0,t?.yStart||0),yEnd:Math.max(0,t?.yEnd||0)}}o(er,"normalizeOverflowEdgeThreshold");var St=O(Q(),1);var Bt=O(Q(),1);var se=Bt.createContext(void 0);function Ce(){let e=Bt.useContext(se);if(e===void 0)throw new Error(At(55));return e}o(Ce,"useScrollAreaViewportContext");var Oe="--scroll-area-overflow-x-start",Te="--scroll-area-overflow-x-end",Ne="--scroll-area-overflow-y-start",Ve="--scroll-area-overflow-y-end";var Gt="--scroll-area-thumb-height",Kt="--scroll-area-thumb-width";var Xe=O(_t(),1);var Pe=[Oe,Te,Ne,Ve],De=!1;function or(){De||fe.engine.webkit||(typeof CSS<"u"&&"registerProperty"in CSS&&Pe.forEach(e=>{try{CSS.registerProperty({name:e,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch{}}),De=!0)}o(or,"removeCSSVariableInheritance");var We=St.forwardRef(o(function(t,l){let{render:v,className:g,style:p,...x}=t,{viewportRef:c,scrollbarYRef:m,scrollbarXRef:b,thumbYRef:E,thumbXRef:P,cornerRef:_,cornerSize:y,setCornerSize:T,setThumbSize:L,rootId:U,setHiddenState:it,hiddenState:k,setHasMeasuredScrollbar:B,handleScroll:tt,touchModality:et,setHovering:rt,setOverflowEdges:ft,overflowEdgeThreshold:M,viewportState:xt}=j(),d=Ut(),$=St.useRef(!0),G=St.useRef([NaN,NaN,NaN,NaN]),bt=gt(),ut=gt(),R=lt(()=>{let n=c.current,a=m.current,f=b.current,u=E.current,S=P.current,F=_.current;if(!n)return;let A=n.scrollHeight,C=n.scrollWidth,N=n.clientHeight,Z=n.clientWidth,dt=n.scrollTop,D=n.scrollLeft,Y=G.current,W=Number.isNaN(Y[0]);if(Y[0]=N,Y[1]=A,Y[2]=Z,Y[3]=C,W&&B(!0),A===0||C===0)return;let z=nr(n),q=z.y,J=z.x,Mt=Z/C,yt=N/A,Rt=Math.max(0,C-Z),wt=Math.max(0,A-N),pt=0,mt=0;J||(pt=ne(d==="rtl"?-D:D,Rt),mt=Rt-pt);let Ct=q?0:ne(dt,wt),Ht=q?0:wt-Ct,Qt=J?0:Z,r=q?0:N,i=0,w=0;!J&&!q&&(i=a?.offsetWidth||0,w=f?.offsetHeight||0);let nt=y.width===0&&y.height===0,vt=nt?i:0,Dt=nt?w:0,Yt=I(f,"padding","x"),Xt=I(a,"padding","y"),Pt=I(S,"margin","x"),te=I(u,"margin","y"),Ot=Qt-Yt-Pt,Wt=r-Xt-te,ee=f?Math.min(f.offsetWidth-vt,Ot):Ot,re=a?Math.min(a.offsetHeight-Dt,Wt):Wt,Tt=Math.max(16,ee*Mt),zt=Math.max(16,re*yt);if(L(V=>Zt(V,{width:Tt,height:zt})),a&&u){let V=a.offsetHeight-zt-Xt-te,Nt=Ye(u,Gt,dt,wt,A,zt,V);u.style.transform=`translate3d(0,${Nt}px,0)`}if(f&&S){let V=f.offsetWidth-Tt-Yt-Pt,Nt=d==="rtl"?-D:D,ce=Ye(S,Kt,Nt,Rt,C,Tt,V);S.style.transform=`translate3d(${d==="rtl"?-ce:ce}px,0,0)`}let It=[pt,mt,Ct,Ht];Pe.forEach((V,Nt)=>{n.style.setProperty(V,`${It[Nt]}px`)}),F&&T(V=>Zt(V,{width:i,height:w})),it(V=>Zt(V,z));let Be={xStart:!J&&pt>M.xStart,xEnd:!J&&mt>M.xEnd,yStart:!q&&Ct>M.yStart,yEnd:!q&&Ht>M.yEnd};ft(V=>Zt(V,Be))});ht(()=>{or()},[]),ht(()=>{queueMicrotask(R)},[R,k,d,M.xStart,M.xEnd,M.yStart,M.yEnd]),ht(()=>{c.current?.matches(":hover")&&rt(!0)},[c,rt]),ht(()=>{let n=c.current;if(typeof ResizeObserver>"u"||!n)return;let a=!1,f=new ResizeObserver(()=>{if(!a){a=!0;let u=G.current;if(u[0]===n.clientHeight&&u[1]===n.scrollHeight&&u[2]===n.clientWidth&&u[3]===n.scrollWidth)return}R()});return f.observe(n),ut.start(0,()=>{let u=n.getAnimations({subtree:!0});u.length!==0&&Promise.allSettled(u.map(S=>S.finished)).then(R).catch(()=>{})}),()=>{f.disconnect(),ut.clear()}},[R,c,ut]);function ot(){$.current=!1}o(ot,"handleUserInteraction");let H={role:"presentation",...U&&{"data-id":`${U}-viewport`},tabIndex:k.x&&k.y?-1:0,className:kt.className,style:{overflow:"scroll"},onScroll(){c.current&&(R(),(et||!$.current)&&tt({x:c.current.scrollLeft,y:c.current.scrollTop}),bt.start(100,()=>{$.current=!0}))},onWheel:ot,onPointerMove:ot,onPointerEnter:ot,onKeyDown:ot},h=X("div",t,{ref:[l,c],state:xt,props:[H,x],stateAttributesMapping:st}),K=St.useMemo(()=>({computeThumbPosition:R}),[R]);return(0,Xe.jsx)(se.Provider,{value:K,children:h})},"ScrollAreaViewport"));function nr(e){let t=e.clientHeight>=e.scrollHeight,l=e.clientWidth>=e.scrollWidth;return{y:t,x:l,corner:t||l}}o(nr,"getHiddenState");function Zt(e,t){for(let l in t)if(e[l]!==t[l])return t;return e}o(Zt,"pickState");function Ye(e,t,l,v,g,p,x){let c=pe(l,0,v),m=l-c,b=Math.max(16,p*g/(g+Math.abs(m)));return e.style.setProperty(t,m?`${b}px`:""),(v?c/v*x:0)+(m>0?p-b:0)}o(Ye,"applyOverscrollThumb");var Jt=O(Q(),1);var qt=O(Q(),1);var ae=qt.createContext(void 0);function ze(){let e=qt.useContext(ae);if(e===void 0)throw new Error(At(54));return e}o(ze,"useScrollAreaScrollbarContext");var Ie=O(_t(),1);var _e=Jt.forwardRef(o(function(t,l){let{render:v,className:g,orientation:p="vertical",keepMounted:x=!1,style:c,...m}=t,{hovering:b,scrollingX:E,scrollingY:P,hiddenState:_,scrollbarYRef:y,scrollbarXRef:T,viewportRef:L,thumbYRef:U,thumbXRef:it,handlePointerDown:k,handlePointerUp:B,handleScroll:tt,disableViewportSnap:et,rootId:rt,thumbSize:ft,hasMeasuredScrollbar:M,viewportState:xt}=j(),d=p==="vertical",$={...xt,hovering:b,scrolling:d?P:E,orientation:p},G=Ut(),bt=!M&&!x,ut=d?_.y:_.x,R=x||!ut;Jt.useEffect(()=>{if(!R)return;let h=L.current,K=d?y.current:T.current;if(!K)return;function n(a){if(!h||a.ctrlKey)return;let f=!d,u=f?"scrollLeft":"scrollTop",S=f?a.deltaX:a.deltaY;if(S===0)return;let F=f?h.scrollWidth-h.clientWidth:h.scrollHeight-h.clientHeight,A=f&&G==="rtl"?-F:0,C=f&&G==="rtl"?0:F,N=h[u];N<=A&&S<0||N>=C&&S>0||(a.preventDefault(),h[u]=Math.min(C,Math.max(A,N+S)),tt({x:h.scrollLeft,y:h.scrollTop}))}return o(n,"handleWheel"),de(K,"wheel",n,{passive:!1})},[G,tt,d,T,y,R,L]);let ot={...rt&&{"data-id":`${rt}-scrollbar`},"aria-hidden":!0,onPointerDown(h){if(h.button!==0)return;let K=ue(h.nativeEvent),n=d?U.current:it.current;if(n&&Lt(n,K))return;let a=L.current;if(!a)return;let f=d?y.current:T.current;if(!n||!f)return;let u=d?"y":"x",S=I(n,"margin",u),F=I(f,"padding",u),A=d?n.offsetHeight:n.offsetWidth,C=f.getBoundingClientRect(),N=d?h.clientY-C.top-A/2-F+S/2:h.clientX-C.left-A/2-F+S/2,Z=d?a.scrollHeight:a.scrollWidth,dt=d?a.clientHeight:a.clientWidth,Y=(d?f.offsetHeight:f.offsetWidth)-A-F-S;if(Y<=0)return;let W=N/Y,z=Z-dt;et(),d?a.scrollTop=W*z:G==="rtl"?a.scrollLeft=-(1-W)*z:a.scrollLeft=W*z,tt({x:a.scrollLeft,y:a.scrollTop}),k(h)},onMouseDown(h){h.preventDefault()},onPointerUp:B,onPointerCancel:B,style:{position:"absolute",touchAction:"none",WebkitUserSelect:"none",userSelect:"none",visibility:bt?"hidden":void 0,...d?{top:0,bottom:`var(${Ft})`,insetInlineEnd:0,[Gt]:`${ft.height}px`}:{insetInlineStart:0,insetInlineEnd:`var(${jt})`,bottom:0,[Kt]:`${ft.width}px`}}},H=X("div",t,{ref:[l,d?y:T],state:$,props:[ot,m],stateAttributesMapping:st});return R?(0,Ie.jsx)(ae.Provider,{value:p,children:H}):null},"ScrollAreaScrollbar"));var Vt=O(Q(),1);var Le=Vt.forwardRef(o(function(t,l){let{render:v,className:g,style:p,...x}=t,{computeThumbPosition:c}=Ce(),{hasMeasuredScrollbar:m,viewportState:b}=j(),E=Vt.useRef(null),P=Vt.useRef(m);return ht(()=>{if(typeof ResizeObserver>"u")return;let y=!1,T=new ResizeObserver(()=>{!y&&(y=!0,!P.current)||c()});return E.current&&T.observe(E.current),()=>{T.disconnect()}},[c]),X("div",t,{ref:[l,E],state:b,stateAttributesMapping:st,props:[{role:"presentation",style:{minWidth:"fit-content"}},x]})},"ScrollAreaContent"));var Ue=O(Q(),1);var ke=Ue.forwardRef(o(function(t,l){let{render:v,className:g,style:p,...x}=t,{thumbYRef:c,thumbXRef:m,handlePointerDown:b,handlePointerMove:E,handlePointerUp:P,scrollingX:_,scrollingY:y,hasMeasuredScrollbar:T}=j(),L=ze(),U=L==="vertical";return X("div",t,{ref:[l,U?c:m],state:{scrolling:U?y:_,orientation:L},props:[{onPointerDown:b,onPointerMove:E,onPointerUp:P,onPointerCancel:P,style:{visibility:T?void 0:"hidden",...U?{height:"var(--scroll-area-thumb-height)"}:{width:"var(--scroll-area-thumb-width)"}}},x]})},"ScrollAreaThumb"));var $e=O(Q(),1);var Fe=$e.forwardRef(o(function(t,l){let{render:v,className:g,style:p,...x}=t,{cornerRef:c,cornerSize:m,hiddenState:b}=j(),E=X("div",t,{ref:[l,c],props:[{"aria-hidden":!0,style:{position:"absolute",bottom:0,insetInlineEnd:0,width:m.width,height:m.height}},x]});return b.corner?null:E},"ScrollAreaCorner"));var ct=O(_t(),1);function No(e){let t=(0,je.c)(14),l,v,g;t[0]!==e?({className:v,children:l,...g}=e,t[0]=e,t[1]=l,t[2]=v,t[3]=g):(l=t[1],v=t[2],g=t[3]);let p;t[4]!==v?(p=oe("relative",v),t[4]=v,t[5]=p):p=t[5];let x;t[6]!==l?(x=(0,ct.jsx)(at.Viewport,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",children:l}),t[6]=l,t[7]=x):x=t[7];let c,m;t[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,ct.jsx)(lr,{}),m=(0,ct.jsx)(at.Corner,{}),t[8]=c,t[9]=m):(c=t[8],m=t[9]);let b;return t[10]!==g||t[11]!==p||t[12]!==x?(b=(0,ct.jsxs)(at.Root,{"data-slot":"scroll-area",className:p,...g,children:[x,c,m]}),t[10]=g,t[11]=p,t[12]=x,t[13]=b):b=t[13],b}o(No,"z");function lr({className:e,orientation:t="vertical",...l}){return(0,ct.jsx)(at.Scrollbar,{"data-slot":"scroll-area-scrollbar","data-orientation":t,orientation:t,className:oe("flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-s data-vertical:border-s-transparent",e),...l,children:(0,ct.jsx)(at.Thumb,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-md bg-border"})})}o(lr,"h");export{No as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as q}from"./chunk-X3LPHVDL.js";import{a as k}from"./chunk-B2HYHTIX.js";import"./chunk-4GTO7FL5.js";import"./chunk-76QJJLPM.js";import"./chunk-5JDWLCSH.js";import"./chunk-EVTM6Q43.js";import{a as A}from"./chunk-S3CRZLGS.js";import{a as $}from"./chunk-EJSI4PMU.js";import"./chunk-OGUKYRFM.js";import"./chunk-6D6Z2KXU.js";import"./chunk-OKG3HWSJ.js";import"./chunk-PLHA3OWK.js";import"./chunk-Y6CXU7T4.js";import"./chunk-4L4WTGN5.js";import"./chunk-AAVLPU5Q.js";import{b as K}from"./chunk-FEWMAPNI.js";import"./chunk-225VJ77I.js";import{a as F}from"./chunk-JOVONUS6.js";import"./chunk-ULIQFBZU.js";import"./chunk-YEKI5KIW.js";import"./chunk-35DM4JJG.js";import{a as T}from"./chunk-4ZEL6BYL.js";import{c as S}from"./chunk-RPJEAHAZ.js";import"./chunk-TI33XMKX.js";import"./chunk-FSRSK4LY.js";import"./chunk-NPF3GY2E.js";import{a as O}from"./chunk-FKVZRPV5.js";import{a as j,e as w}from"./chunk-WUWBZPUK.js";import{d as I,t as E}from"./chunk-PTZD7RUZ.js";import{a as p,d as C,f as D,g as H}from"./chunk-YKXDMIHQ.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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,d as m,e as _,f as v,g as y}from"./chunk-YKXDMIHQ.js";var S=m(v(),1),s=m(_(),1),w=m(y(),1);var q=(0,s.createContext)(void 0),C=e(t=>{let o=(0,S.c)(10),{children:p}=t,r;o[0]===Symbol.for("react.memo_cache_sentinel")?(r={focusSeq:void 0,open:!1,shown:"all"},o[0]=r):r=o[0];let[n,c]=(0,s.useState)(r),l;o[1]===Symbol.for("react.memo_cache_sentinel")?(l=e(()=>({close:e(()=>{c(b)},"close"),openConsole:e(f=>{c({focusSeq:f?.seq,open:!0,shown:f?.errorsOnly===!0?"errors":"all"})},"openConsole"),setShown:e(f=>{c(d=>({...d,shown:f}))},"setShown"),toggle:e(()=>{c(x)},"toggle")}),"r"),o[1]=l):l=o[1];let[h]=(0,s.useState)(l),u;o[2]!==h||o[3]!==n.focusSeq||o[4]!==n.open||o[5]!==n.shown?(u={...h,focusSeq:n.focusSeq,open:n.open,shown:n.shown},o[2]=h,o[3]=n.focusSeq,o[4]=n.open,o[5]=n.shown,o[6]=u):u=o[6];let i=u,a;return o[7]!==p||o[8]!==i?(a=(0,w.jsx)(q,{value:i,children:p}),o[7]=p,o[8]=i,o[9]=a):a=o[9],a},"y"),g=e(()=>(0,s.use)(q),"b");function b(t){return{...t,open:!1}}e(b,"_");function x(t){return{focusSeq:void 0,open:!t.open,shown:"all"}}e(x,"d");export{C as a,g as b};
|