@lunora/studio 1.0.0-alpha.26 → 1.0.0-alpha.260
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/ai-usage-panel.mjs +1 -0
- package/dist/packem_chunks/analytics-panel.mjs +1 -0
- package/dist/packem_chunks/architecture-panel.mjs +1 -0
- package/dist/packem_chunks/auth-audit-panel.mjs +1 -0
- package/dist/packem_chunks/auth-config-panel.mjs +1 -0
- package/dist/packem_chunks/auth-sessions-panel.mjs +1 -0
- package/dist/packem_chunks/containers-panel.mjs +1 -0
- package/dist/packem_chunks/dashboards-panel.mjs +1 -0
- package/dist/packem_chunks/evals-panel.mjs +1 -0
- package/dist/packem_chunks/fanout-panel.mjs +1 -0
- package/dist/packem_chunks/flags-panel.mjs +1 -0
- package/dist/packem_chunks/issues-panel.mjs +1 -0
- package/dist/packem_chunks/kv-browser.mjs +1 -0
- package/dist/packem_chunks/log-drains-panel.mjs +4 -0
- package/dist/packem_chunks/migrations-route.mjs +1 -0
- package/dist/packem_chunks/organizations-panel.mjs +1 -0
- package/dist/packem_chunks/payments-panel.mjs +1 -0
- package/dist/packem_chunks/permissions-panel.mjs +1 -0
- package/dist/packem_chunks/queues-panel.mjs +1 -0
- package/dist/packem_chunks/reactors-panel.mjs +1 -0
- package/dist/packem_chunks/rls-panel.mjs +1 -0
- package/dist/packem_chunks/schedule-panel.mjs +1 -0
- package/dist/packem_chunks/sparkline.mjs +1 -0
- package/dist/packem_chunks/storage-rules-panel.mjs +1 -0
- package/dist/packem_chunks/subscriptions-panel.mjs +1 -0
- package/dist/packem_chunks/sync-client-panel.mjs +1 -0
- package/dist/packem_chunks/traces-panel.mjs +1 -0
- package/dist/packem_chunks/users-panel.mjs +1 -0
- package/dist/packem_chunks/vector-browser.mjs +1 -0
- package/dist/packem_chunks/workflows-panel.mjs +1 -0
- package/dist/packem_shared/ADMIN_FUNCTIONS-B8yyk5BX.mjs +1 -0
- package/dist/packem_shared/ApiDocsPanel-fhDlZGE4.mjs +2 -0
- package/dist/packem_shared/ApiReferencePanel-nAf8tNRr.mjs +1 -0
- package/dist/packem_shared/CommandPalette-D9ZY-qQd.mjs +1 -0
- package/dist/packem_shared/ConfirmButton-DU4p72Er.mjs +1 -0
- package/dist/packem_shared/ConnectionBadge-B8Hj5DaE.mjs +1 -0
- package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-DuULO4XM.mjs +1 -0
- package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-D5YMT0gM.mjs +1 -0
- package/dist/packem_shared/DEFAULT_LOCALE-A1Yg5ORA.mjs +1 -0
- package/dist/packem_shared/DataBrowser-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-C-g2umyB.mjs +1 -0
- package/dist/packem_shared/MigrationsPanel-CkVIwAbK.mjs +1 -0
- package/dist/packem_shared/OpenRpcReferencePanel-BxEr49D9.mjs +1 -0
- package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.mjs +1 -0
- package/dist/packem_shared/ScheduledJobs-BZNcYWBP.mjs +1 -0
- package/dist/packem_shared/ShardInput-C6mjgAh4.mjs +1 -0
- package/dist/packem_shared/Studio-D2BDkB20.mjs +1 -0
- package/dist/packem_shared/StudioApp-IeTX2moM.mjs +1 -0
- package/dist/packem_shared/StudioI18nProvider-fVsCSs5L.mjs +1 -0
- package/dist/packem_shared/advisor-view-DzI2RQhY.mjs +1 -0
- package/dist/packem_shared/aggregateMetrics-DKFJc-o5.mjs +1 -0
- package/dist/packem_shared/alert-PB5W11MM.mjs +1 -0
- package/dist/packem_shared/app.d-BIfsPhiH.d.mts +310 -0
- package/dist/packem_shared/app.d-BIfsPhiH.d.ts +310 -0
- package/dist/packem_shared/auth-pager-DiDnXsfe.mjs +1 -0
- package/dist/packem_shared/badge-r_5B4LHP.mjs +1 -0
- package/dist/packem_shared/bar-chart-BCsEIQoQ.mjs +6 -0
- package/dist/packem_shared/browser-storage-BH1MxLZs.mjs +1 -0
- package/dist/packem_shared/button-q0UYSmrn.mjs +1 -0
- package/dist/packem_shared/card-By2O8ULa.mjs +1 -0
- package/dist/packem_shared/cf-links-CBJ5SywP.mjs +1 -0
- package/dist/packem_shared/checkbox-CnS9cyCz.mjs +1 -0
- package/dist/packem_shared/control-button-BOZ5K-FC.mjs +1 -0
- package/dist/packem_shared/data-grid-DIiNmDR9.mjs +1 -0
- package/dist/packem_shared/data-view-params-DhYmAkcj.mjs +1 -0
- package/dist/packem_shared/diagram-export-panel-D5CVNJkp.mjs +2 -0
- package/dist/packem_shared/dropdown-menu-jLZenfWH.mjs +2 -0
- package/dist/packem_shared/empty-state-D7jEML_T.mjs +1 -0
- package/dist/packem_shared/error-alert-DueSEkt-.mjs +1 -0
- package/dist/packem_shared/grid-features-OVIMIQan.mjs +6 -0
- package/dist/packem_shared/grid-pagination-DgzyzfBh.mjs +1 -0
- package/dist/packem_shared/home-panel-DIaVZra4.mjs +3 -0
- package/dist/packem_shared/input-CXhxesPC.mjs +1 -0
- package/dist/packem_shared/internal-Df43vQI0.mjs +2 -0
- package/dist/packem_shared/label-DKFzyHq6.mjs +1 -0
- package/dist/packem_shared/live-status-BuJdUZFU.mjs +1 -0
- package/dist/packem_shared/log-fields-SBxKyBug.mjs +1 -0
- package/dist/packem_shared/log-line-BHWXobrl.mjs +1 -0
- package/dist/packem_shared/metrics-format-1sNGG47R.mjs +1 -0
- package/dist/packem_shared/modal-shell-CDztwLnv.mjs +1 -0
- package/dist/packem_shared/operation-console-provider-DoloEvon.mjs +1 -0
- package/dist/packem_shared/recording-client-CyFiAE2l.mjs +1 -0
- package/dist/packem_shared/reference-view-CIHyURU6.mjs +13 -0
- package/dist/packem_shared/schema-diagram-C5oilX7l.mjs +2 -0
- package/dist/packem_shared/scroll-area-CXCQH7VT.mjs +2 -0
- package/dist/packem_shared/select-DPyS18Vy.mjs +2 -0
- package/dist/packem_shared/shard-history-CaO3C4KQ.mjs +1 -0
- package/dist/packem_shared/shortcuts-B9gDaXmw.mjs +1 -0
- package/dist/packem_shared/skeleton-DX1gfixl.mjs +1 -0
- package/dist/packem_shared/sparkline-B_sPPO_8.mjs +1 -0
- package/dist/packem_shared/sql-result-table-DyK762_A.mjs +1 -0
- package/dist/packem_shared/stat-card-BAv73QtB.mjs +1 -0
- package/dist/packem_shared/storage-tier-C2mKwYRj.mjs +1 -0
- package/dist/packem_shared/studio-ySYj-BsV.mjs +2 -0
- package/dist/packem_shared/table-D0SBiDu-.mjs +2 -0
- package/dist/packem_shared/table-list-sidebar-DkPO_Qtz.mjs +1 -0
- package/dist/packem_shared/textarea--40GKAyz.mjs +1 -0
- package/dist/packem_shared/trace-handoff-BV3EWqy_.mjs +1 -0
- package/dist/packem_shared/use-admin-query-tlBof8Yg.mjs +1 -0
- package/dist/packem_shared/use-admin-spec-Bir7V68L.mjs +1 -0
- package/dist/packem_shared/use-async-submit-CZqCMTJ_.mjs +1 -0
- package/dist/packem_shared/use-auth-config-Z_n4ABCI.mjs +1 -0
- package/dist/packem_shared/use-mirrored-ref-CVDf2z1M.mjs +1 -0
- package/dist/packem_shared/use-open-trace-DMVhpnyG.mjs +1 -0
- package/dist/packem_shared/use-shard-key-BsP3o5wT.mjs +1 -0
- package/dist/packem_shared/use-sql-assistant-CZydTzd5.mjs +1 -0
- package/dist/packem_shared/useDebounced-DVeQ5-oW.mjs +1 -0
- package/dist/packem_shared/utils-bhneXptQ.mjs +1 -0
- package/dist/packem_shared/virtual-rect-D_j7aLxX.mjs +1 -0
- package/dist/packem_shared/wire-codec-Bk4XZGE4.mjs +1 -0
- package/dist/standalone/chunk-225VJ77I.js +1 -0
- package/dist/standalone/chunk-22BBGCHO.js +1 -0
- package/dist/standalone/chunk-236GHAHX.js +1 -0
- package/dist/standalone/chunk-35DM4JJG.js +1 -0
- package/dist/standalone/chunk-36SHCQOV.js +3 -0
- package/dist/standalone/chunk-3HLT7EQR.js +1 -0
- package/dist/standalone/chunk-3M5DIK2H.js +1 -0
- package/dist/standalone/chunk-3Q2P62UR.js +1 -0
- package/dist/standalone/chunk-44NITJRA.js +1 -0
- package/dist/standalone/chunk-4ALGJHGT.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-4S4HJOW4.js +1 -0
- package/dist/standalone/chunk-4ZEL6BYL.js +1 -0
- package/dist/standalone/chunk-55754F6H.js +1 -0
- package/dist/standalone/chunk-5JDWLCSH.js +1 -0
- package/dist/standalone/chunk-5KQPYU7I.js +1 -0
- package/dist/standalone/chunk-5WHNC53N.js +1 -0
- package/dist/standalone/chunk-5WJXVZMZ.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-6QA34EWC.js +3 -0
- package/dist/standalone/chunk-72GVG7ZA.js +1 -0
- package/dist/standalone/chunk-7IV6BZTQ.js +3 -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-BRIYEPXI.js +1 -0
- package/dist/standalone/chunk-C6P2S732.js +1 -0
- package/dist/standalone/chunk-CMA4PTV7.js +1 -0
- package/dist/standalone/chunk-CSUROWL2.js +1 -0
- package/dist/standalone/chunk-DMNR5ITO.js +1 -0
- package/dist/standalone/chunk-DTOAMMQF.js +1 -0
- package/dist/standalone/chunk-EA2JKR5D.js +1 -0
- package/dist/standalone/chunk-EGVOSH7K.js +9 -0
- package/dist/standalone/chunk-EIISOYGA.js +1 -0
- package/dist/standalone/chunk-EVTM6Q43.js +1 -0
- package/dist/standalone/chunk-EXOWNDCL.js +1 -0
- package/dist/standalone/chunk-FEWMAPNI.js +1 -0
- package/dist/standalone/chunk-FK4GW22X.js +1 -0
- package/dist/standalone/chunk-FKVZRPV5.js +1 -0
- package/dist/standalone/chunk-FSRSK4LY.js +1 -0
- package/dist/standalone/chunk-FUHBEF6J.js +1 -0
- package/dist/standalone/chunk-FZ7UOWAB.js +1 -0
- package/dist/standalone/chunk-G3CZ2FAC.js +1 -0
- package/dist/standalone/chunk-GFQSMB25.js +1 -0
- package/dist/standalone/chunk-GX2YM7MB.js +1 -0
- package/dist/standalone/chunk-H44HW3WV.js +1 -0
- package/dist/standalone/chunk-H6LZ3QM4.js +1 -0
- package/dist/standalone/chunk-H6WXBORU.js +1 -0
- package/dist/standalone/chunk-HCGXKDHF.js +15 -0
- package/dist/standalone/chunk-HEAQVSNS.js +1 -0
- package/dist/standalone/chunk-HEDS6FOP.js +1 -0
- package/dist/standalone/chunk-HPFN7S7N.js +1 -0
- package/dist/standalone/chunk-HVAGAMHZ.js +1 -0
- package/dist/standalone/chunk-HZQ627G2.js +1 -0
- package/dist/standalone/chunk-I7H22G4D.js +1 -0
- package/dist/standalone/chunk-IAL3CXYI.js +1 -0
- package/dist/standalone/chunk-IFJOYAEZ.js +1 -0
- package/dist/standalone/chunk-IGNYTJPT.js +1 -0
- package/dist/standalone/chunk-ILVYBIS4.js +1 -0
- package/dist/standalone/chunk-IMOHEGMV.js +1 -0
- package/dist/standalone/chunk-IPBXA3JQ.js +5 -0
- package/dist/standalone/chunk-IRQNBAYI.js +1 -0
- package/dist/standalone/chunk-IS6LVJ6L.js +1 -0
- package/dist/standalone/chunk-JOGSIIY2.js +1 -0
- package/dist/standalone/chunk-K7AJEMKE.js +1 -0
- package/dist/standalone/chunk-KGF3ZXRT.js +1 -0
- package/dist/standalone/chunk-LCRAEP3B.js +1 -0
- package/dist/standalone/chunk-LIOUCOP2.js +1 -0
- package/dist/standalone/chunk-LPT6MHEY.js +1 -0
- package/dist/standalone/chunk-M23RGNY6.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-N2U3OE4N.js +1 -0
- package/dist/standalone/chunk-N6NMLJ6R.js +1 -0
- package/dist/standalone/chunk-NCFRIHLB.js +1 -0
- package/dist/standalone/chunk-NESDGS7F.js +1 -0
- package/dist/standalone/chunk-NFS7FTAR.js +1 -0
- package/dist/standalone/chunk-NKZCEQJ7.js +59 -0
- package/dist/standalone/chunk-NSWDULEE.js +1 -0
- package/dist/standalone/chunk-NT2ZOFRF.js +1 -0
- package/dist/standalone/chunk-NYFJOVIA.js +1 -0
- package/dist/standalone/chunk-NYKWTNZX.js +1 -0
- package/dist/standalone/chunk-NZSVJLGE.js +2 -0
- package/dist/standalone/chunk-O3EVDJD5.js +1 -0
- package/dist/standalone/chunk-OCUJO2PM.js +4 -0
- package/dist/standalone/chunk-OGUKYRFM.js +1 -0
- package/dist/standalone/chunk-OJE7SI3H.js +1 -0
- package/dist/standalone/chunk-OKG3HWSJ.js +1 -0
- package/dist/standalone/chunk-OTH4FYM7.js +4 -0
- package/dist/standalone/chunk-PFIUSVS6.js +1 -0
- package/dist/standalone/chunk-PTZD7RUZ.js +19 -0
- package/dist/standalone/chunk-Q4CAKBWN.js +1 -0
- package/dist/standalone/chunk-QKEJLVC5.js +1 -0
- package/dist/standalone/chunk-QSIQCK3O.js +1 -0
- package/dist/standalone/chunk-RDL5WK55.js +15 -0
- package/dist/standalone/chunk-RJQMO2EF.js +1 -0
- package/dist/standalone/chunk-RKOBPURU.js +8 -0
- package/dist/standalone/chunk-RPQL45FL.js +1 -0
- package/dist/standalone/chunk-S3CRZLGS.js +1 -0
- package/dist/standalone/chunk-SRCY6GJN.js +1 -0
- package/dist/standalone/chunk-STF7K7PL.js +1 -0
- package/dist/standalone/chunk-T6JDEFHN.js +6 -0
- package/dist/standalone/chunk-TDXV3OT5.js +1 -0
- package/dist/standalone/chunk-TIYUHTB3.js +1 -0
- package/dist/standalone/chunk-U7E33WOM.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-V34AI5VV.js +1 -0
- package/dist/standalone/chunk-V3VJAA4D.js +1 -0
- package/dist/standalone/chunk-VNGJA3DB.js +1 -0
- package/dist/standalone/chunk-VUPEFCIO.js +1 -0
- package/dist/standalone/chunk-VVQ64OES.js +1 -0
- package/dist/standalone/chunk-WOY4G5ON.js +14 -0
- package/dist/standalone/chunk-XC734N2Q.js +1 -0
- package/dist/standalone/chunk-XXVOKVXV.js +1 -0
- package/dist/standalone/chunk-XZMOZFE6.js +1 -0
- package/dist/standalone/chunk-Y6CXU7T4.js +1 -0
- package/dist/standalone/chunk-YDLEJGBK.js +1 -0
- package/dist/standalone/chunk-YKXDMIHQ.js +1 -0
- package/dist/standalone/chunk-YLPFIPVU.js +1 -0
- package/dist/standalone/chunk-YOB2X3FZ.js +1 -0
- package/dist/standalone/chunk-YY67675G.js +1 -0
- package/dist/standalone/chunk-Z3S3I4CF.js +1 -0
- package/dist/standalone/chunk-Z5O2NQAV.js +1 -0
- package/dist/standalone/chunk-ZD2UXTLR.js +1 -0
- package/dist/standalone/chunk-ZFXRRVWV.js +1 -0
- package/dist/standalone/chunk-ZOBBA5XA.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-CkKjUl2u.js +0 -33
- package/dist/packem_shared/StudioApp-sRWTipvw.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-r7cJPJ__.js +0 -11535
- 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 @@
|
|
|
1
|
+
import{a as Ce,b as Ne}from"./chunk-DMNR5ITO.js";import{a as ye}from"./chunk-ILVYBIS4.js";import"./chunk-NKZCEQJ7.js";import"./chunk-5JDWLCSH.js";import"./chunk-EVTM6Q43.js";import{e as ke,g as we}from"./chunk-OKG3HWSJ.js";import"./chunk-Y6CXU7T4.js";import"./chunk-4L4WTGN5.js";import{a as X}from"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import"./chunk-225VJ77I.js";import{a as le}from"./chunk-ULIQFBZU.js";import{a as pe}from"./chunk-4ZEL6BYL.js";import"./chunk-ZD2UXTLR.js";import{f as he}from"./chunk-EGVOSH7K.js";import"./chunk-FSRSK4LY.js";import"./chunk-RDL5WK55.js";import{a as me}from"./chunk-FKVZRPV5.js";import"./chunk-HEAQVSNS.js";import{a as oe,b as ue,c as ge,e as ae}from"./chunk-N6NMLJ6R.js";import{d as te,f as ve,g as be,h as fe,o as xe,p as ne}from"./chunk-PTZD7RUZ.js";import{a as g,d as ie,e as Se,f as Ke,g as Le}from"./chunk-YKXDMIHQ.js";var Y=ie(Ke(),1),G=ie(Se(),1);var a=ie(Le(),1);var Me=ve(pe.runSql),qe=g((f,e)=>{let t=(0,Y.c)(11),n=he(),[l,d]=(0,G.useState)(void 0),[s,i]=(0,G.useState)(void 0),[h,x]=(0,G.useState)(!0),m;t[0]!==n||t[1]!==e||t[2]!==f?(m=g(async u=>{x(!0);try{let C=await n.query(Me,{sql:f},be(e));u.cancelled||(d(C),i(void 0))}catch(C){let k=C;u.cancelled||(d(void 0),i(fe(k)))}u.cancelled||x(!1)},"h"),t[0]=n,t[1]=e,t[2]=f,t[3]=m):m=t[3];let r=m,o,v;t[4]!==r?(o=g(()=>{let u={cancelled:!1};return ne(r(u)),()=>{u.cancelled=!0}},"l"),v=[r],t[4]=r,t[5]=o,t[6]=v):(o=t[5],v=t[6]),(0,G.useEffect)(o,v);let S;return t[7]!==s||t[8]!==h||t[9]!==l?(S={error:s,loading:h,result:l},t[7]=s,t[8]=h,t[9]=l,t[10]=S):S=t[10],S},"Le"),Ee=g(f=>{f.preventDefault()},"Me"),ce=g(f=>f.kind??"chart","le"),Re=g(f=>{let e=(0,Y.c)(80),{actions:t,children:n,draggedRef:l,first:d,last:s,onEdit:i,onMove:h,onRemove:x,onReorder:m,widget:r}=f,o=te(),v;e[0]!==h||e[1]!==r.id?(v=g(()=>{h(r.id,-1)},"g"),e[0]=h,e[1]=r.id,e[2]=v):v=e[2];let S=v,u;e[3]!==h||e[4]!==r.id?(u=g(()=>{h(r.id,1)},"f"),e[3]=h,e[4]=r.id,e[5]=u):u=e[5];let C=u,k;e[6]!==i||e[7]!==r.id?(k=g(()=>{i(r.id)},"x"),e[6]=i,e[7]=r.id,e[8]=k):k=e[8];let E=k,O;e[9]!==x||e[10]!==r.id?(O=g(()=>{x(r.id)},"O"),e[9]=x,e[10]=r.id,e[11]=O):O=e[11];let j=O,T;e[12]!==l||e[13]!==r.id?(T=g(()=>{l.current=r.id},"z"),e[12]=l,e[13]=r.id,e[14]=T):T=e[14];let w=T,K;e[15]!==l||e[16]!==m||e[17]!==r.id?(K=g(()=>{let de=l.current;l.current=null,de!==null&&de!==r.id&&m(de,r.id)},"K"),e[15]=l,e[16]=m,e[17]=r.id,e[18]=K):K=e[18];let _=K,R=`dashboards-widget-${r.id}`,y;e[19]!==r.title?(y=(0,a.jsx)(ge,{className:"min-w-0 cursor-grab truncate",title:r.title,children:r.title}),e[19]=r.title,e[20]=y):y=e[20];let N;e[21]!==o?(N=o("Move widget up"),e[21]=o,e[22]=N):N=e[22];let F=`dashboards-move-up-${r.id}`,H;e[23]!==o?(H=o("Move widget up"),e[23]=o,e[24]=H):H=e[24];let D;e[25]===Symbol.for("react.memo_cache_sentinel")?(D=(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"m6 15 6-6 6 6"})}),e[25]=D):D=e[25];let W;e[26]!==d||e[27]!==S||e[28]!==F||e[29]!==H||e[30]!==N?(W=(0,a.jsx)(X,{"aria-label":N,"data-testid":F,disabled:d,onClick:S,size:"icon-xs",title:H,type:"button",variant:"ghost",children:D}),e[26]=d,e[27]=S,e[28]=F,e[29]=H,e[30]=N,e[31]=W):W=e[31];let L;e[32]!==o?(L=o("Move widget down"),e[32]=o,e[33]=L):L=e[33];let $=`dashboards-move-down-${r.id}`,M;e[34]!==o?(M=o("Move widget down"),e[34]=o,e[35]=M):M=e[35];let z;e[36]===Symbol.for("react.memo_cache_sentinel")?(z=(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"m6 9 6 6 6-6"})}),e[36]=z):z=e[36];let q;e[37]!==s||e[38]!==C||e[39]!==L||e[40]!==$||e[41]!==M?(q=(0,a.jsx)(X,{"aria-label":L,"data-testid":$,disabled:s,onClick:C,size:"icon-xs",title:M,type:"button",variant:"ghost",children:z}),e[37]=s,e[38]=C,e[39]=L,e[40]=$,e[41]=M,e[42]=q):q=e[42];let B;e[43]!==o?(B=o("Edit widget"),e[43]=o,e[44]=B):B=e[44];let I=`dashboards-widget-edit-${r.id}`,A;e[45]!==o?(A=o("Edit widget"),e[45]=o,e[46]=A):A=e[46];let p;e[47]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M4 20h4L18 10l-4-4L4 16v4ZM14 6l4 4"})}),e[47]=p):p=e[47];let b;e[48]!==E||e[49]!==B||e[50]!==I||e[51]!==A?(b=(0,a.jsx)(X,{"aria-label":B,"data-testid":I,onClick:E,size:"icon-xs",title:A,type:"button",variant:"ghost",children:p}),e[48]=E,e[49]=B,e[50]=I,e[51]=A,e[52]=b):b=e[52];let c;e[53]!==o?(c=o("Remove widget"),e[53]=o,e[54]=c):c=e[54];let J=`dashboards-widget-remove-${r.id}`,V;e[55]!==o?(V=o("Remove widget"),e[55]=o,e[56]=V):V=e[56];let U;e[57]===Symbol.for("react.memo_cache_sentinel")?(U=(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M5 7h14M9 7V5h6v2m-1 0v12H10V7M7 7v13h10V7"})}),e[57]=U):U=e[57];let Q;e[58]!==j||e[59]!==c||e[60]!==J||e[61]!==V?(Q=(0,a.jsx)(X,{"aria-label":c,"data-testid":J,onClick:j,size:"icon-xs",title:V,type:"button",variant:"ghost",children:U}),e[58]=j,e[59]=c,e[60]=J,e[61]=V,e[62]=Q):Q=e[62];let Z;e[63]!==t||e[64]!==W||e[65]!==q||e[66]!==b||e[67]!==Q?(Z=(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[t,W,q,b,Q]}),e[63]=t,e[64]=W,e[65]=q,e[66]=b,e[67]=Q,e[68]=Z):Z=e[68];let P;e[69]!==Z||e[70]!==y?(P=(0,a.jsxs)(ue,{className:"flex flex-row items-start justify-between gap-2 border-b pb-3",children:[y,Z]}),e[69]=Z,e[70]=y,e[71]=P):P=e[71];let ee;e[72]!==n?(ee=(0,a.jsx)(ae,{className:"min-h-32 py-2",children:n}),e[72]=n,e[73]=ee):ee=e[73];let re;return e[74]!==w||e[75]!==_||e[76]!==P||e[77]!==ee||e[78]!==R?(re=(0,a.jsxs)(oe,{"data-testid":R,draggable:!0,onDragOver:Ee,onDragStart:w,onDrop:_,children:[P,ee]}),e[74]=w,e[75]=_,e[76]=P,e[77]=ee,e[78]=R,e[79]=re):re=e[79],re},"ce"),je=g(f=>{let e=(0,Y.c)(10),{result:t}=f,n=te(),l=t.columns[0],d=l===void 0?void 0:t.rows[0]?.[l],s;e[0]!==d||e[1]!==n?(s=d===void 0?n("\u2014"):xe(d),e[0]=d,e[1]=n,e[2]=s):s=e[2];let i;e[3]!==s?(i=(0,a.jsx)("p",{className:"truncate font-mono text-3xl font-semibold text-foreground",children:s}),e[3]=s,e[4]=i):i=e[4];let h;e[5]!==l?(h=l!==void 0&&(0,a.jsx)("p",{className:"truncate text-xs text-muted-foreground",children:l}),e[5]=l,e[6]=h):h=e[6];let x;return e[7]!==i||e[8]!==h?(x=(0,a.jsxs)("div",{className:"flex h-full flex-col justify-center gap-1 p-4","data-testid":"dashboards-kpi",children:[i,h]}),e[7]=i,e[8]=h,e[9]=x):x=e[9],x},"qe"),ze=g(f=>{let e=(0,Y.c)(12),{draggedRef:t,first:n,last:l,onEdit:d,onMove:s,onRemove:i,onReorder:h,widget:x}=f,m=x.text??"",r;e[0]!==m?(r=(0,a.jsx)("p",{className:"p-2 text-sm whitespace-pre-wrap text-muted-foreground","data-testid":"dashboards-text",children:m}),e[0]=m,e[1]=r):r=e[1];let o;return e[2]!==t||e[3]!==n||e[4]!==l||e[5]!==d||e[6]!==s||e[7]!==i||e[8]!==h||e[9]!==r||e[10]!==x?(o=(0,a.jsx)(Re,{draggedRef:t,first:n,last:l,onEdit:d,onMove:s,onRemove:i,onReorder:h,widget:x,children:r}),e[2]=t,e[3]=n,e[4]=l,e[5]=d,e[6]=s,e[7]=i,e[8]=h,e[9]=r,e[10]=x,e[11]=o):o=e[11],o},"Ee"),Ae=g(f=>{let e=(0,Y.c)(52),{draggedRef:t,first:n,inferring:l,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,onSuggest:m,widget:r}=f,o=te(),{error:v,loading:S,result:u}=qe(r.sql,r.shardKey??""),C;e[0]!==r?(C=ce(r),e[0]=r,e[1]=C):C=e[1];let k=C,E;e[2]!==m||e[3]!==u||e[4]!==r.id?(E=g(()=>{u!==void 0&&m?.(r.id,u)},"q"),e[2]=m,e[3]=u,e[4]=r.id,e[5]=E):E=e[5];let O=E,j;e[6]!==l||e[7]!==k||e[8]!==m||e[9]!==O||e[10]!==u||e[11]!==o||e[12]!==r.id?(j=k==="chart"&&m!==void 0&&u!==void 0?(0,a.jsx)(X,{"aria-label":o("Suggest chart"),"data-testid":`dashboards-widget-suggest-${r.id}`,disabled:l,onClick:O,size:"icon-xs",title:o(l?"Suggesting\u2026":"Suggest chart"),type:"button",variant:"ghost",children:(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"m12 3 1.9 4.6L18.5 9.5 13.9 11.4 12 16l-1.9-4.6L5.5 9.5l4.6-1.9L12 3ZM18 15l.9 2.1 2.1.9-2.1.9L18 21l-.9-2.1-2.1-.9 2.1-.9L18 15Z"})})}):void 0,e[6]=l,e[7]=k,e[8]=m,e[9]=O,e[10]=u,e[11]=o,e[12]=r.id,e[13]=j):j=e[13];let T=j,w;e[14]!==v||e[15]!==r.id?(w=v!==void 0&&(0,a.jsx)(le,{className:"font-mono text-xs",testId:`dashboards-widget-error-${r.id}`,variant:"destructive",children:v}),e[14]=v,e[15]=r.id,e[16]=w):w=e[16];let K;e[17]!==v||e[18]!==S||e[19]!==u||e[20]!==o||e[21]!==r.id?(K=v===void 0&&S&&u===void 0&&(0,a.jsx)("p",{className:"p-4 text-sm text-muted-foreground","data-testid":`dashboards-widget-loading-${r.id}`,children:o("Running\u2026")}),e[17]=v,e[18]=S,e[19]=u,e[20]=o,e[21]=r.id,e[22]=K):K=e[22];let _;e[23]!==v||e[24]!==k||e[25]!==u||e[26]!==r.chartAxes||e[27]!==r.chartKind?(_=v===void 0&&u!==void 0&&k==="chart"&&(0,a.jsx)(Ce,{axes:r.chartAxes,kind:r.chartKind,result:u}),e[23]=v,e[24]=k,e[25]=u,e[26]=r.chartAxes,e[27]=r.chartKind,e[28]=_):_=e[28];let R;e[29]!==v||e[30]!==k||e[31]!==u?(R=v===void 0&&u!==void 0&&k==="kpi"&&(0,a.jsx)(je,{result:u}),e[29]=v,e[30]=k,e[31]=u,e[32]=R):R=e[32];let y;e[33]!==v||e[34]!==k||e[35]!==u?(y=v===void 0&&u!==void 0&&k==="table"&&(0,a.jsx)("div",{className:"max-h-72 overflow-auto",children:(0,a.jsx)(Ne,{result:u})}),e[33]=v,e[34]=k,e[35]=u,e[36]=y):y=e[36];let N;return e[37]!==t||e[38]!==n||e[39]!==d||e[40]!==s||e[41]!==i||e[42]!==h||e[43]!==x||e[44]!==T||e[45]!==w||e[46]!==K||e[47]!==_||e[48]!==R||e[49]!==y||e[50]!==r?(N=(0,a.jsxs)(Re,{actions:T,draggedRef:t,first:n,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,widget:r,children:[w,K,_,R,y]}),e[37]=t,e[38]=n,e[39]=d,e[40]=s,e[41]=i,e[42]=h,e[43]=x,e[44]=T,e[45]=w,e[46]=K,e[47]=_,e[48]=R,e[49]=y,e[50]=r,e[51]=N):N=e[51],N},"Ae"),_e=g(f=>{let e=(0,Y.c)(11),{draggedRef:t,first:n,inferring:l,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,onSuggest:m,widget:r}=f,o;return e[0]!==t||e[1]!==n||e[2]!==l||e[3]!==d||e[4]!==s||e[5]!==i||e[6]!==h||e[7]!==x||e[8]!==m||e[9]!==r?(o=ce(r)==="text"?(0,a.jsx)(ze,{draggedRef:t,first:n,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,widget:r}):(0,a.jsx)(Ae,{draggedRef:t,first:n,inferring:l,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,onSuggest:m,widget:r}),e[0]=t,e[1]=n,e[2]=l,e[3]=d,e[4]=s,e[5]=i,e[6]=h,e[7]=x,e[8]=m,e[9]=r,e[10]=o):o=e[10],o},"Te"),We=["bar","line","area"],$e=["chart","kpi","table","text"],Be="lunora-studio-dashboards",se={chartKind:"bar",kind:"chart",shardKey:"",sql:"",text:"",title:""},Ie=g((f,e)=>t=>t.map(n=>n.id===f?{...n,chartAxes:e,chartKind:e.kind}:n),"De"),Te=g((f,e)=>t=>{let n=t.find(s=>s.id===f),l=t.filter(s=>s.id!==f),d=l.findIndex(s=>s.id===e);return n===void 0||d===-1?t:[...l.slice(0,d),n,...l.slice(d)]},"je"),De=g((f,e)=>e(f==="line"?"Line":f==="area"?"Area":"Bar"),"ze"),Oe=g((f,e)=>e(f==="kpi"?"Single value":f==="table"?"Table":f==="text"?"Text":"Chart"),"Be"),Fe=g(f=>{let e=(0,Y.c)(82),{draft:t,editing:n,onCancel:l,onChange:d,onSubmit:s}=f,i=te(),h;e[0]!==t||e[1]!==d?(h=g(c=>{d({...t,title:c.target.value})},"c"),e[0]=t,e[1]=d,e[2]=h):h=e[2];let x=h,m;e[3]!==t||e[4]!==d?(m=g(c=>{d({...t,sql:c.target.value})},"h"),e[3]=t,e[4]=d,e[5]=m):m=e[5];let r=m,o;e[6]!==t||e[7]!==d?(o=g(c=>{d({...t,text:c.target.value})},"l"),e[6]=t,e[7]=d,e[8]=o):o=e[8];let v=o,S;e[9]!==t||e[10]!==d?(S=g(c=>{d({...t,shardKey:c.target.value})},"N"),e[9]=t,e[10]=d,e[11]=S):S=e[11];let u=S,C;e[12]!==t||e[13]!==d?(C=g(c=>{d({...t,chartKind:c.target.value})},"y"),e[12]=t,e[13]=d,e[14]=C):C=e[14];let k=C,E;e[15]!==t||e[16]!==d?(E=g(c=>{d({...t,kind:c.target.value})},"q"),e[15]=t,e[16]=d,e[17]=E):E=e[17];let O=E,j;e[18]!==s?(j=g(()=>{s()},"E"),e[18]=s,e[19]=j):j=e[19];let T=j,w=t.kind==="text",K;e[20]!==t.sql||e[21]!==t.text||e[22]!==t.title||e[23]!==w?(K=t.title.trim()!==""&&(w?t.text.trim()!=="":t.sql.trim()!==""),e[20]=t.sql,e[21]=t.text,e[22]=t.title,e[23]=w,e[24]=K):K=e[24];let _=K,R;e[25]!==i?(R=i("Widget title"),e[25]=i,e[26]=R):R=e[26];let y;e[27]!==i?(y=i("Widget title"),e[27]=i,e[28]=y):y=e[28];let N;e[29]!==t.title||e[30]!==x||e[31]!==y||e[32]!==R?(N=(0,a.jsx)("input",{"aria-label":R,className:"h-8 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"dashboards-form-title",onChange:x,placeholder:y,type:"text",value:t.title}),e[29]=t.title,e[30]=x,e[31]=y,e[32]=R,e[33]=N):N=e[33];let F;e[34]!==i?(F=i("Widget type"),e[34]=i,e[35]=F):F=e[35];let H=t.kind,D;e[36]!==i?(D=$e.map(c=>(0,a.jsx)("option",{value:c,children:Oe(c,i)},c)),e[36]=i,e[37]=D):D=e[37];let W;e[38]!==t.kind||e[39]!==O||e[40]!==F||e[41]!==D?(W=(0,a.jsx)("select",{"aria-label":F,className:"h-8 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"dashboards-form-widget-kind",onChange:O,value:H,children:D}),e[38]=t.kind,e[39]=O,e[40]=F,e[41]=D,e[42]=W):W=e[42];let L;e[43]!==t.sql||e[44]!==t.text||e[45]!==w||e[46]!==r||e[47]!==v||e[48]!==i?(L=w?(0,a.jsx)("textarea",{"aria-label":i("Text"),className:"min-h-24 resize-y rounded-md border border-border bg-background p-2 text-xs leading-5 outline-none focus-visible:border-ring","data-testid":"dashboards-form-text",onChange:v,placeholder:i("Notes for whoever reads this dashboard."),value:t.text}):(0,a.jsx)("textarea",{"aria-label":i("SQL query"),className:"min-h-24 resize-y rounded-md border border-border bg-background p-2 font-mono text-xs leading-5 outline-none focus-visible:border-ring","data-testid":"dashboards-form-sql",onChange:r,placeholder:"SELECT author, COUNT(*) AS messages FROM \u2026",spellCheck:!1,value:t.sql}),e[43]=t.sql,e[44]=t.text,e[45]=w,e[46]=r,e[47]=v,e[48]=i,e[49]=L):L=e[49];let $;e[50]!==t.chartKind||e[51]!==t.kind||e[52]!==k||e[53]!==i?($=t.kind==="chart"&&(0,a.jsx)("select",{"aria-label":i("Chart type"),className:"h-8 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"dashboards-form-kind",onChange:k,value:t.chartKind,children:We.map(c=>(0,a.jsx)("option",{value:c,children:De(c,i)},c))}),e[50]=t.chartKind,e[51]=t.kind,e[52]=k,e[53]=i,e[54]=$):$=e[54];let M;e[55]!==t.shardKey||e[56]!==w||e[57]!==u||e[58]!==i?(M=!w&&(0,a.jsx)("input",{"aria-label":i("Shard key (optional)"),className:"h-8 rounded-md border border-border bg-background px-2 font-mono text-xs outline-none focus-visible:border-ring","data-testid":"dashboards-form-shard",onChange:u,placeholder:i("Shard key (optional)"),type:"text",value:t.shardKey}),e[55]=t.shardKey,e[56]=w,e[57]=u,e[58]=i,e[59]=M):M=e[59];let z;e[60]!==i?(z=i("Cancel"),e[60]=i,e[61]=z):z=e[61];let q;e[62]!==l||e[63]!==z?(q=(0,a.jsx)(X,{"data-testid":"dashboards-form-cancel",onClick:l,size:"sm",type:"button",variant:"outline",children:z}),e[62]=l,e[63]=z,e[64]=q):q=e[64];let B=!_,I;e[65]!==n||e[66]!==i?(I=i(n?"Save widget":"Add widget"),e[65]=n,e[66]=i,e[67]=I):I=e[67];let A;e[68]!==T||e[69]!==B||e[70]!==I?(A=(0,a.jsx)(X,{"data-testid":"dashboards-form-save",disabled:B,onClick:T,size:"sm",type:"button",children:I}),e[68]=T,e[69]=B,e[70]=I,e[71]=A):A=e[71];let p;e[72]!==q||e[73]!==A?(p=(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[q,A]}),e[72]=q,e[73]=A,e[74]=p):p=e[74];let b;return e[75]!==N||e[76]!==W||e[77]!==L||e[78]!==$||e[79]!==M||e[80]!==p?(b=(0,a.jsx)(oe,{"data-testid":"dashboards-form",children:(0,a.jsxs)(ae,{className:"flex flex-col gap-3 py-4",children:[N,W,L,$,M,p]})}),e[75]=N,e[76]=W,e[77]=L,e[78]=$,e[79]=M,e[80]=p,e[81]=b):b=e[81],b},"Fe"),tt=g(f=>{let e=(0,Y.c)(53),{initialShardKey:t}=f,n=te(),[l,d]=ke(Be),[s,i]=(0,G.useState)(se),[h,x]=(0,G.useState)(null),[m,r]=(0,G.useState)(!1),o=ye(t??""),[v,S]=(0,G.useState)(null),u=(0,G.useRef)(null),C;e[0]!==t?(C=g(()=>{x(null),i({...se,shardKey:t??""}),r(!0)},"y"),e[0]=t,e[1]=C):C=e[1];let k=C,E;e[2]===Symbol.for("react.memo_cache_sentinel")?(E=g(()=>{r(!1),x(null),i(se)},"q"),e[2]=E):E=e[2];let O=E,j;e[3]!==l?(j=g(p=>{let b=l.find(c=>c.id===p);b!==void 0&&(x(p),i({chartKind:b.chartKind??"bar",kind:ce(b),shardKey:b.shardKey??"",sql:b.sql,text:b.text??"",title:b.title}),r(!0))},"E"),e[3]=l,e[4]=j):j=e[4];let T=j,w;e[5]!==o||e[6]!==d?(w=g((p,b)=>{S(p),ne((async()=>{let c=await o.inferChart({columns:b.columns,rowCount:b.rowCount});c!==void 0&&d(Ie(p,c))})().finally(()=>{S(c=>c===p?null:c)}))},"C"),e[5]=o,e[6]=d,e[7]=w):w=e[7];let K=w,_;e[8]!==d?(_=g(p=>{d(b=>b.filter(c=>c.id!==p))},"W"),e[8]=d,e[9]=_):_=e[9];let R=_,y;e[10]!==d?(y=g((p,b)=>{d(Te(p,b))},"k"),e[10]=d,e[11]=y):y=e[11];let N=y,F;e[12]!==d?(F=g((p,b)=>{d(c=>{let J=c.findIndex(P=>P.id===p),V=J+b;if(J===-1||V<0||V>=c.length)return c;let U=[...c],Q=U[J],Z=U[V];return Q===void 0||Z===void 0?c:(U[J]=Z,U[V]=Q,U)})},"_"),e[12]=d,e[13]=F):F=e[13];let H=F,D;e[14]!==s||e[15]!==h||e[16]!==d?(D=g(()=>{let p=s.title.trim(),b=s.sql.trim(),c=s.text.trim(),{chartKind:J,kind:V}=s;if(p===""||(V==="text"?c==="":b===""))return;let U={chartKind:J,kind:V,shardKey:s.shardKey.trim(),sql:b,text:c,title:p};d(h===null?Q=>[...Q,{...U,id:we("w")}]:Q=>Q.map(Z=>Z.id===h?{...Z,...U}:Z)),O()},"B"),e[14]=s,e[15]=h,e[16]=d,e[17]=D):D=e[17];let W=D,L;e[18]!==n?(L=n("Charts, values, tables, and notes. Drag a tile to reorder."),e[18]=n,e[19]=L):L=e[19];let $;e[20]!==L?($=(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:L}),e[20]=L,e[21]=$):$=e[21];let M;e[22]!==m||e[23]!==k||e[24]!==n?(M=!m&&(0,a.jsx)(X,{"data-testid":"dashboards-add",onClick:k,size:"sm",type:"button",children:n("Add widget")}),e[22]=m,e[23]=k,e[24]=n,e[25]=M):M=e[25];let z;e[26]!==$||e[27]!==M?(z=(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[$,M]}),e[26]=$,e[27]=M,e[28]=z):z=e[28];let q;e[29]!==o||e[30]!==n?(q=o.reason("chart")!==void 0&&(0,a.jsx)(le,{className:"text-xs",testId:"dashboards-suggest-error",variant:"destructive",children:n("Could not suggest a chart for that result.")}),e[29]=o,e[30]=n,e[31]=q):q=e[31];let B;e[32]!==s||e[33]!==h||e[34]!==m||e[35]!==W?(B=m&&(0,a.jsx)(Fe,{draft:s,editing:h!==null,onCancel:O,onChange:i,onSubmit:W}),e[32]=s,e[33]=h,e[34]=m,e[35]=W,e[36]=B):B=e[36];let I;e[37]!==o.unavailable||e[38]!==m||e[39]!==v||e[40]!==T||e[41]!==H||e[42]!==R||e[43]!==N||e[44]!==K||e[45]!==n||e[46]!==l?(I=l.length===0&&!m?(0,a.jsx)(me,{description:n("Add a chart, a single value, a table, or a note. Everything is saved on this browser."),testId:"dashboards-empty",title:n("No widgets yet")}):(0,a.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3","data-testid":"dashboards-grid",children:l.map((p,b)=>(0,a.jsx)(_e,{draggedRef:u,first:b===0,inferring:v===p.id,last:b===l.length-1,onEdit:T,onMove:H,onRemove:R,onReorder:N,onSuggest:o.unavailable?void 0:K,widget:p},p.id))}),e[37]=o.unavailable,e[38]=m,e[39]=v,e[40]=T,e[41]=H,e[42]=R,e[43]=N,e[44]=K,e[45]=n,e[46]=l,e[47]=I):I=e[47];let A;return e[48]!==z||e[49]!==q||e[50]!==B||e[51]!==I?(A=(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-dashboards",children:[z,q,B,I]}),e[48]=z,e[49]=q,e[50]=B,e[51]=I,e[52]=A):A=e[52],A},"it");export{tt as default};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import{a as ct,b as dt}from"./chunk-DMNR5ITO.js";import{c as at}from"./chunk-T6JDEFHN.js";import{a as it}from"./chunk-ILVYBIS4.js";import"./chunk-NESDGS7F.js";import"./chunk-XXVOKVXV.js";import"./chunk-MU3P2FI7.js";import"./chunk-XZMOZFE6.js";import"./chunk-GX2YM7MB.js";import"./chunk-IFJOYAEZ.js";import"./chunk-3Q2P62UR.js";import{a as lt}from"./chunk-QKEJLVC5.js";import"./chunk-AWHXPIXU.js";import"./chunk-V3VJAA4D.js";import"./chunk-NKZCEQJ7.js";import"./chunk-5JDWLCSH.js";import"./chunk-EVTM6Q43.js";import"./chunk-NFS7FTAR.js";import{a as rt}from"./chunk-LIOUCOP2.js";import{b as ot}from"./chunk-OGUKYRFM.js";import{c as nt,d as Ne,e as De,f as Ae,g as Ke}from"./chunk-OKG3HWSJ.js";import{i as Qe}from"./chunk-6QA34EWC.js";import"./chunk-TDXV3OT5.js";import"./chunk-Y6CXU7T4.js";import"./chunk-4L4WTGN5.js";import"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import"./chunk-225VJ77I.js";import{a as st}from"./chunk-ULIQFBZU.js";import{a as ke}from"./chunk-4ZEL6BYL.js";import"./chunk-ZD2UXTLR.js";import{f as _e}from"./chunk-EGVOSH7K.js";import"./chunk-FSRSK4LY.js";import"./chunk-RDL5WK55.js";import"./chunk-HEAQVSNS.js";import{d as ae,f as Se,g as Ce,h as tt,p as me}from"./chunk-PTZD7RUZ.js";import{a,d as Fe,e as Lt,f as Rt,g as _t,i as ue}from"./chunk-YKXDMIHQ.js";var Z=Fe(Rt(),1);var B=Fe(Lt(),1);var u=Fe(_t(),1);var qe=class{static{a(this,"Diff")}diff(e,n,t={}){let r;typeof t=="function"?(r=t,t={}):"callback"in t&&(r=t.callback);let o=this.castInput(e,t),l=this.castInput(n,t),i=this.removeEmpty(this.tokenize(o,t)),c=this.removeEmpty(this.tokenize(l,t));return this.diffWithOptionsObj(i,c,t,r)}diffWithOptionsObj(e,n,t,r){var o;let l=a(p=>{if(p=this.postProcess(p,t),r){setTimeout(function(){r(p)},0);return}else return p},"done"),i=n.length,c=e.length,d=1,m=i+c;t.maxEditLength!=null&&(m=Math.min(m,t.maxEditLength));let x=(o=t.timeout)!==null&&o!==void 0?o:1/0,h=Date.now()+x,v=[{oldPos:-1,lastComponent:void 0}],f=this.extractCommon(v[0],n,e,0,t);if(v[0].oldPos+1>=c&&f+1>=i)return l(this.buildValues(v[0].lastComponent,n,e));let N=-1/0,b=1/0,w=a(()=>{for(let p=Math.max(N,-d);p<=Math.min(b,d);p+=2){let S,y=v[p-1],g=v[p+1];y&&(v[p-1]=void 0);let C=!1;if(g){let q=g.oldPos-p;C=g&&0<=q&&q<i}let k=y&&y.oldPos+1<c;if(!C&&!k){v[p]=void 0;continue}if(!k||C&&y.oldPos<g.oldPos?S=this.addToPath(g,!0,!1,0,t):S=this.addToPath(y,!1,!0,1,t),f=this.extractCommon(S,n,e,p,t),S.oldPos+1>=c&&f+1>=i)return l(this.buildValues(S.lastComponent,n,e))||!0;v[p]=S,S.oldPos+1>=c&&(b=Math.min(b,p-1)),f+1>=i&&(N=Math.max(N,p+1))}d++},"execEditLength");if(r)a(function p(){setTimeout(function(){if(d>m||Date.now()>h)return r(void 0);w()||p()},0)},"exec")();else for(;d<=m&&Date.now()<=h;){let p=w();if(p)return p}}addToPath(e,n,t,r,o){let l=e.lastComponent;return l&&!o.oneChangePerToken&&l.added===n&&l.removed===t?{oldPos:e.oldPos+r,lastComponent:{count:l.count+1,added:n,removed:t,previousComponent:l.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:n,removed:t,previousComponent:l}}}extractCommon(e,n,t,r,o){let l=n.length,i=t.length,c=e.oldPos,d=c-r,m=0;for(;d+1<l&&c+1<i&&this.equals(t[c+1],n[d+1],o);)d++,c++,m++,o.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return m&&!o.oneChangePerToken&&(e.lastComponent={count:m,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=c,d}equals(e,n,t){return t.comparator?t.comparator(e,n):e===n||!!t.ignoreCase&&e.toLowerCase()===n.toLowerCase()}removeEmpty(e){let n=[];for(let t=0;t<e.length;t++)e[t]&&n.push(e[t]);return n}castInput(e,n){return e}tokenize(e,n){return Array.from(e)}join(e){return e.join("")}postProcess(e,n){return e}get useLongestToken(){return!1}buildValues(e,n,t){let r=[],o;for(;e;)r.push(e),o=e.previousComponent,delete e.previousComponent,e=o;r.reverse();let l=r.length,i=0,c=0,d=0;for(;i<l;i++){let m=r[i];if(m.removed)m.value=this.join(t.slice(d,d+m.count)),d+=m.count;else{if(!m.added&&this.useLongestToken){let x=n.slice(c,c+m.count);x=x.map(function(h,v){let f=t[d+v];return f.length>h.length?f:h}),m.value=this.join(x)}else m.value=this.join(n.slice(c,c+m.count));c+=m.count,m.added||(d+=m.count)}}return r}};var Ue=class extends qe{static{a(this,"LineDiff")}constructor(){super(...arguments),this.tokenize=Dt}equals(e,n,t){return t.ignoreWhitespace?((!t.newlineIsToken||!e.includes(`
|
|
2
|
+
`))&&(e=e.trim()),(!t.newlineIsToken||!n.includes(`
|
|
3
|
+
`))&&(n=n.trim())):t.ignoreNewlineAtEof&&!t.newlineIsToken&&(e.endsWith(`
|
|
4
|
+
`)&&(e=e.slice(0,-1)),n.endsWith(`
|
|
5
|
+
`)&&(n=n.slice(0,-1))),super.equals(e,n,t)}},ut=new Ue;function Ge(s,e,n){return ut.diff(s,e,n)}a(Ge,"diffLines");function Dt(s,e){e.stripTrailingCr&&(s=s.replace(/\r\n/g,`
|
|
6
|
+
`));let n=[],t=s.split(/(\n|\r\n)/);t[t.length-1]||t.pop();for(let r=0;r<t.length;r++){let o=t[r];r%2&&!e.newlineIsToken?n[n.length-1]+=o:n.push(o)}return n}a(Dt,"tokenize");var At="x",mt=" ",Mt={'"':'"',"'":"'","[":"]","`":"`"},gt=a((s,e)=>{let n=e+2;for(;n<s.length&&s[n]!==`
|
|
7
|
+
`;)n+=1;return n},"rt"),xt=a((s,e)=>{let n=s.indexOf("*/",e+2);return n===-1?-1:n+2},"it"),vt=a(s=>{let e=s.split(""),n=0;for(;n<s.length;){let t=s[n]??"",r=Mt[t];if(t==="-"&&s[n+1]==="-"){let o=gt(s,n);e.fill(mt,n,o),n=o}else if(t==="/"&&s[n+1]==="*"){let o=xt(s,n);if(o===-1)return;e.fill(mt,n,o),n=o}else if(r!==void 0){let o=n+1;for(;o<s.length;)if(s[o]!==r)o+=1;else if(r!=="]"&&s[o+1]===r)o+=2;else break;if(o>=s.length)return;e.fill(At,n,o+1),n=o+1}else n+=1}for(let t=0;t<s.length;t+=1)s[t]===`
|
|
8
|
+
`&&(e[t]=`
|
|
9
|
+
`);return e.join("")},"at"),Ot=/^(?:explain\s+(?:query\s+plan\s+)?)?(?:select|with)\b/iu,Pt=/\b(?:alter|attach|create|delete|detach|drop|insert|pragma|reindex|truncate|update|vacuum)\b|\breplace\b(?!\s*\()/iu,$t=/^\w+/u,jt=/;\s*$/u,zt=/\s/u,yt=a(s=>{let e=0;for(;e<s.length;){let n=s[e];if(n!==void 0&&zt.test(n))e+=1;else if(n==="-"&&s[e+1]==="-")e=gt(s,e);else if(n==="/"&&s[e+1]==="*"){let t=xt(s,e);if(t===-1)break;e=t}else break}return e},"ct"),Ht=a(s=>{let e=yt(s),n=s.slice(e).trimEnd();if(n==="")return{code:"SQL_EMPTY",message:"the query is empty"};let t=(vt(n)??n).replace(jt,""),r=n.slice(0,t.length),o=t.indexOf(";");if(o!==-1)return{code:"SQL_MULTIPLE_STATEMENTS",length:1,message:"only a single statement may be run",offset:e+o};let l="the SQL editor is read-only \u2014 only SELECT / WITH / EXPLAIN queries are allowed";if(!Ot.test(r))return{code:"SQL_NOT_READONLY",length:$t.exec(r)?.[0].length??1,message:l,offset:e};let i=Pt.exec(r);if(i!==null)return{code:"SQL_NOT_READONLY",length:i[0].length,message:`${l} (\`${i[0].toUpperCase()}\` is not allowed)`,offset:e+i.index}},"Ht"),Wt=/^explain\b/iu,Bt=a(s=>Wt.test(s.slice(yt(s)))?s:`EXPLAIN QUERY PLAN ${s}`,"Ft"),Ye=a((s,e)=>{let n=s.trim();if(n==="")return[];let t=e+s.indexOf(n),r=Ht(n);return r?.code==="SQL_EMPTY"?[]:[r===void 0?{offset:t,sql:n}:{offset:t,rejection:r,sql:n}]},"ze"),wt=a(s=>{let e=vt(s);if(e===void 0)return Ye(s,0);let n=[],t=0;for(let r=0;r<=e.length;r+=1)r!==e.length&&e[r]!==";"||(n.push(...Ye(s.slice(t,r),t)),t=r+1);return n},"dt"),Ft=["ORDER BY","GROUP BY","LEFT JOIN","RIGHT JOIN","INNER JOIN","OUTER JOIN","CROSS JOIN","EXPLAIN QUERY PLAN","SELECT","DISTINCT","FROM","WHERE","HAVING","LIMIT","OFFSET","JOIN","ON","AND","OR","AS","ASC","DESC","WITH","UNION","EXPLAIN"],Qt=["FROM","WHERE","ORDER BY","GROUP BY","HAVING","LIMIT","OFFSET","UNION","JOIN","LEFT JOIN","RIGHT JOIN","INNER JOIN","OUTER JOIN","CROSS JOIN"],$e=String.fromCodePoint(0),Kt=new RegExp(`${$e}${String.raw`(\d+)`}${$e}`,"gu"),Ut=Ft.map(s=>({pattern:new RegExp(String.raw`\b${s.replaceAll(" ",String.raw`\s+`)}\b`,"giu"),replacement:s})),Gt=Qt.map(s=>({pattern:new RegExp(String.raw`\s+${s.replaceAll(" ",String.raw`\s+`)}\b`,"gu"),replacement:`
|
|
10
|
+
${s}`})),Jt=a(s=>{let e=[],n=s.replaceAll(/'(?:[^']|'')*'/gu,t=>(e.push(t),`${$e}${(e.length-1).toString()}${$e}`)).replaceAll(/\s+/gu," ").trim();for(let{pattern:t,replacement:r}of Ut)n=n.replaceAll(t,r);for(let{pattern:t,replacement:r}of Gt)n=n.replaceAll(t,r);return n=n.replaceAll(Kt,(t,r)=>e[Number(r)]??""),n},"jt"),Yt=/\b(?:from|join)\s+([a-z_][\w$]*)(?:\s+(?:as\s+)?([a-z_][\w$]*))?/giu,Vt=/(?:\bwith\s+(?:recursive\s+)?|,\s*)([a-z_][\w$]*)\s+as\s*\(/giu,Xt=new Set(["cross","full","group","having","inner","join","left","limit","offset","on","order","right","union","using","where","window"]),Zt=/[^\n]/gu,en=a((s,e)=>{let n=s[e];if(n==="'"){let t=e+1;for(;t<s.length&&s[t]!=="'";)t+=1;return Math.min(t+1,s.length)}if(n==="-"&&s[e+1]==="-"){let t=s.indexOf(`
|
|
11
|
+
`,e);return t===-1?s.length:t}if(n==="/"&&s[e+1]==="*"){let t=s.indexOf("*/",e+2);return t===-1?s.length:t+2}return-1},"Xt"),tn=a(s=>{let e="",n=0;for(;n<s.length;){let t=en(s,n);t===-1?(e+=s.slice(n,n+1),n+=1):(e+=s.slice(n,t).replaceAll(Zt," "),n=t)}return e},"Zt"),nn=a(s=>{let e=new Set;for(let n of s.matchAll(Vt))e.add((n[1]??"").toLowerCase());return e},"en"),on=a((s,e)=>{let n=new Map;for(let t of s.matchAll(Yt)){let r=(t[1]??"").toLowerCase(),o=(t[2]??"").toLowerCase();e.has(r)&&(n.set(r,r),o!==""&&!Xt.has(o)&&n.set(o,r))}return n},"tn"),St=a((s,e)=>{let n=tn(s),t=new Set(e.map(r=>r.toLowerCase()));return{ctes:nn(n),masked:n,targets:on(n,t)}},"ut"),rn=/^(?:__lunora|sqlite_)/iu,sn=/\b(?:from|join)\s+([a-z_][\w$]*)/giu,ln=/\b([a-z_][\w$]*)\.([a-z_][\w$]*)/giu,an=new Set(["cross","full","group","having","inner","join","lateral","left","limit","offset","order","right","select","union","where","window"]),cn=a((s,e,n)=>{let t=[];for(let r of s.matchAll(sn)){let o=r[1]??"",l=o.toLowerCase();!e.has(l)&&!n.has(l)&&!an.has(l)&&!rn.test(o)&&t.push({length:o.length,message:`unknown table \`${o}\``,offset:r.index+r[0].length-o.length,severity:"error",source:"schema"})}return t},"rn"),dn=a((s,e,n)=>{let t=[],r=new Map;for(let[o,l]of Object.entries(e.columns))r.set(o.toLowerCase(),new Set(l.map(i=>i.toLowerCase())));for(let o of s.matchAll(ln)){let l=(o[1]??"").toLowerCase(),i=o[2]??"",c=n.get(l),d=c===void 0?void 0:r.get(c);d!==void 0&&!d.has(i.toLowerCase())&&t.push({length:i.length,message:`\`${c??""}\` has no column \`${i}\``,offset:o.index+o[0].length-i.length,severity:"error",source:"schema"})}return t},"an"),un=/(?<![\w$."])(?:"([a-z_][\w$]*)"|([a-z_][\w$]*))(?![.(])/giu,mn=/\bas\s+"?([a-z_][\w$]*)"?/giu,fn=a((s,e,n,t)=>{let r=[...new Set(n.values())],o=new Map,l=new Set;for(let d of r){for(let m of e.columns[d]??[])l.add(m.toLowerCase());for(let m of e.docFields?.[d]??[])o.set(m.toLowerCase(),m)}if(o.size===0)return[];let i=new Set([...s.matchAll(mn)].map(d=>(d[1]??"").toLowerCase())),c=[];for(let d of s.matchAll(un)){let m=d[1],x=m??d[2]??"",h=x.toLowerCase(),v=o.get(h);v===void 0||l.has(h)||i.has(h)||t.has(h)||n.has(h)||c.push({length:x.length,message:`\`${v}\` is a \`__doc__\` field, not a column \u2014 use \`json_extract(__doc__, '$.${v}')\``,offset:d.index+(m===void 0?0:1),severity:"error",source:"schema"})}return c},"un"),hn=a((s,e)=>{if(s.trim()==="")return[];let n=wt(s),t=new Set(e.tables.map(o=>o.toLowerCase())),r=[];for(let o of n){let{offset:l,rejection:i}=o;if(i!==void 0){r.push({length:i.length,message:i.message,offset:i.offset===void 0?l:l+i.offset,severity:"error",source:"gate"});continue}let{ctes:c,masked:d,targets:m}=St(o.sql,e.tables);r.push(...[...cn(d,t,c),...dn(d,e,m),...fn(d,e,m,c)].map(x=>({...x,offset:x.offset===void 0?l:l+x.offset})))}return r},"fn"),pn=Se(ke.lintSql),bn=600,gn=a((s,e,n)=>{let t=_e(),[r,o]=(0,B.useState)([]),l=(0,B.useMemo)(()=>hn(s,e),[s,e]),i=lt(s,bn),c=l.some(x=>x.source==="gate")||i.trim()==="",d=(0,B.useCallback)(async x=>{try{let h=await t.query(pn,{sql:i},Ce(n));x.cancelled||o(h.diagnostics??[])}catch{x.cancelled||o([])}},[t,i,n]);(0,B.useEffect)(()=>{if(c){o([]);return}let x={cancelled:!1};return me(d(x)),()=>{x.cancelled=!0}},[d,c]);let m=i===s;return(0,B.useMemo)(()=>m?[...l,...r]:l,[l,r,m])},"hn"),Me=8,xn=["AND","ASC","AS","BY","COUNT","DESC","DISTINCT","EXPLAIN","FROM","GROUP","HAVING","INNER","JOIN","LEFT","LIKE","LIMIT","NOT","NULL","OFFSET","ON","ORDER","OR","QUERY","SELECT","WHERE","WITH"],vn=new Set(["AND","BY","HAVING","ON","OR","SELECT","WHERE"]),yn=/[\w$]/,Ct=a(s=>s!==void 0&&yn.test(s),"ft"),kt=a(s=>{let e=s.length;for(;e>0&&Ct(s[e-1]);)e-=1;return s.slice(e)},"mt"),Nt=a((s,e)=>{let n=e;for(;n>0&&Ct(s[n-1]);)n-=1;return{end:e,start:n,text:s.slice(n,e)}},"pt"),ft=a((s,e)=>{let n=s.slice(0,e).trimEnd();return n.endsWith(".")||vn.has(kt(n).toUpperCase())},"et"),wn=a((s,e,n)=>{let t=s.slice(0,e);if(!t.endsWith("."))return;let r=kt(t.slice(0,-1));if(r!=="")return St(s,n).targets.get(r.toLowerCase())??r},"yn"),Ve=a((s,e)=>s.toLowerCase().startsWith(e.toLowerCase()),"Ye"),ht=a((s,e,n,t)=>{let r=[];for(let o of s)if(Ve(o,e)&&(r.push(t(o)),r.length>=n))break;return r},"tt"),Sn=a((s,e,n)=>{let t=new Map;for(let[r,o]of Object.entries(s.columns))for(let l of o)if(Ve(l,e)&&!t.has(l)&&(t.set(l,r),t.size>=n))return[...t].map(([i,c])=>({detail:c,kind:"column",label:i}));return[...t].map(([r,o])=>({detail:o,kind:"column",label:r}))},"vn"),Cn=a((s,e,n)=>{let t=Nt(s,e),r=wn(s,t.start,n.tables);if(r!==void 0){let c=n.columns[r]??n.columns[r.toLowerCase()]??[];return ht(c,t.text,Me,d=>({detail:r,kind:"column",label:d}))}if(t.text===""&&!ft(s,t.start))return[];let o=ht(n.tables,t.text,Me,c=>({kind:"table",label:c})),l=Sn(n,t.text,Me),i=xn.flatMap(c=>t.text!==""&&Ve(c,t.text)&&c.toLowerCase()!==t.text.toLowerCase()?[{kind:"keyword",label:c}]:[]);return(ft(s,t.start)?[...l,...o,...i]:[...o,...l,...i]).slice(0,Me)},"Sn"),kn=a((s,e,n)=>{let t=Nt(s,e),r=s.slice(0,t.start)+n.label+s.slice(t.end);return{caret:t.start+n.label.length,value:r}},"wn"),Nn=["boxSizing","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textTransform","width","wordSpacing"],qn=a((s,e)=>{let n=globalThis.getComputedStyle(s),t=globalThis.document.createElement("div"),{style:r}=t;r.position="absolute",r.visibility="hidden",r.whiteSpace="pre-wrap",r.overflowWrap="break-word";for(let c of Nn)r[c]=n[c];t.textContent=s.value.slice(0,Math.max(0,e));let o=globalThis.document.createElement("span");o.textContent=s.value.slice(Math.max(0,e))||".",t.append(o),globalThis.document.body.append(t);let l=o.offsetLeft-s.scrollLeft,i=o.offsetTop-s.scrollTop;return t.remove(),{left:l,top:i}},"En"),En=a((s,e,n)=>{let t=(0,Z.c)(16),[r,o]=(0,B.useState)(null),l;t[0]!==s||t[1]!==e?(l=a((w,p)=>{let S=Cn(w,p,s);if(S.length===0){o(null);return}let y=e.current,{left:g,top:C}=y===null?{left:0,top:0}:qn(y,p);o(k=>k!==null&&k.active===0&&k.left===g&&k.top===C&&k.suggestions.length===S.length&&k.suggestions.every((q,E)=>{let T=S.at(E);return q.kind===T?.kind&&q.label===T.label&&q.detail===T.detail})?k:{active:0,left:g,suggestions:S,top:C})},"r"),t[0]=s,t[1]=e,t[2]=l):l=t[2];let i=l,c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=a(()=>{o(null)},"c"),t[3]=c):c=t[3];let d=c,m;t[4]===Symbol.for("react.memo_cache_sentinel")?(m=a(w=>{o(p=>{if(p===null)return p;let S=p.suggestions.length,y=(p.active+w+S)%S;return{...p,active:y}})},"f"),t[4]=m):m=t[4];let x=m,h;t[5]!==n||t[6]!==r||t[7]!==e?(h=a(w=>{let p=e.current;if(r===null||p===null)return!1;let S=r.suggestions[w??r.active];if(S===void 0)return!1;let y=kn(p.value,p.selectionStart,S);return n(y.value),o(null),requestAnimationFrame(()=>{let g=e.current;g!==null&&(g.focus(),g.setSelectionRange(y.caret,y.caret))}),!0},"u"),t[5]=n,t[6]=r,t[7]=e,t[8]=h):h=t[8];let v=h,f;t[9]!==v?(f=a(()=>v(),"d"),t[9]=v,t[10]=f):f=t[10];let N=f,b;return t[11]!==N||t[12]!==v||t[13]!==i||t[14]!==r?(b={close:d,commit:N,commitAt:v,move:x,refresh:i,state:r},t[11]=N,t[12]=v,t[13]=i,t[14]=r,t[15]=b):b=t[15],b},"Nn"),Tn={column:"column",keyword:"keyword",table:"table"},In=20,Ln=a(s=>{let e=(0,Z.c)(17),{listboxId:n,onPick:t,state:r}=s,o=ae(),l;e[0]!==r?(l=r===null?void 0:{left:r.left,top:r.top+In},e[0]=r,e[1]=l):l=e[1];let i=l;if(r===null)return null;let c;if(e[2]!==n||e[3]!==t||e[4]!==r.active||e[5]!==r.suggestions||e[6]!==o){let m;e[8]!==n||e[9]!==t||e[10]!==r.active||e[11]!==o?(m=a((x,h)=>(0,u.jsxs)("li",{"aria-selected":h===r.active,className:ue("flex cursor-pointer items-center gap-2 px-2 py-1 text-[13px]",h===r.active?"bg-accent text-accent-foreground":"text-foreground"),"data-testid":"sql-autocomplete-item",id:`${n}-opt-${h.toString()}`,onMouseDown:a(v=>{v.preventDefault(),t(h)},"onMouseDown"),role:"option",children:[(0,u.jsx)("span",{className:"truncate font-mono",children:x.label}),x.detail!==void 0&&(0,u.jsx)("span",{className:"ms-auto truncate text-xs text-muted-foreground",children:x.detail}),(0,u.jsx)("span",{className:"shrink-0 font-mono text-[10px] tracking-wide text-muted-foreground/70 uppercase",children:o(Tn[x.kind])})]},`${x.kind}:${x.label}`),"f"),e[8]=n,e[9]=t,e[10]=r.active,e[11]=o,e[12]=m):m=e[12],c=r.suggestions.map(m),e[2]=n,e[3]=t,e[4]=r.active,e[5]=r.suggestions,e[6]=o,e[7]=c}else c=e[7];let d;return e[13]!==n||e[14]!==i||e[15]!==c?(d=(0,u.jsx)("ul",{className:"absolute z-30 max-h-56 w-72 overflow-auto rounded-md border border-border bg-popover py-1 text-popover-foreground shadow-md","data-testid":"sql-autocomplete",id:n,role:"listbox",style:i,children:c}),e[13]=n,e[14]=i,e[15]=c,e[16]=d):d=e[16],d},"Rn"),Rn=Se(ke.listTables),_n=Se(ke.readTablePage),Dn=a(s=>{let e=(0,Z.c)(18),n=_e(),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],e[0]=t):t=e[0];let[r,o]=(0,B.useState)(t),l;e[1]===Symbol.for("react.memo_cache_sentinel")?(l={},e[1]=l):l=e[1];let[i,c]=(0,B.useState)(l),d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d={},e[2]=d):d=e[2];let[m,x]=(0,B.useState)(d),h;e[3]===Symbol.for("react.memo_cache_sentinel")?(h=new Set,e[3]=h):h=e[3];let v=(0,B.useRef)(h),f,N;e[4]!==n||e[5]!==s?(f=a(()=>{let g={cancelled:!1};return me((async()=>{try{let C=await n.query(Rn,{},Ce(s));g.cancelled||(o(C.map(Mn)),c({}),x({}),v.current=new Set)}catch{g.cancelled||(o([]),c({}),x({}),v.current=new Set)}})()),()=>{g.cancelled=!0}},"d"),N=[n,s],e[4]=n,e[5]=s,e[6]=f,e[7]=N):(f=e[6],N=e[7]),(0,B.useEffect)(f,N);let b;e[8]!==n||e[9]!==s?(b=a(g=>{v.current.has(g)||(v.current.add(g),me((async()=>{try{let C=await n.query(_n,{limit:1,offset:0,table:g},Ce(s)),{sqlColumns:k}=C;if(k===void 0){v.current.delete(g);return}let q=new Set(k),E=C.columns.filter(T=>!q.has(T));c(T=>({...T,[g]:k})),x(T=>({...T,[g]:E}))}catch{v.current.delete(g)}})()))},"m"),e[8]=n,e[9]=s,e[10]=b):b=e[10];let w=b,p;e[11]!==i||e[12]!==m||e[13]!==r?(p={columns:i,docFields:m,tables:r},e[11]=i,e[12]=m,e[13]=r,e[14]=p):p=e[14];let S=p,y;return e[15]!==w||e[16]!==S?(y={probe:w,schema:S},e[15]=w,e[16]=S,e[17]=y):y=e[17],y},"_n"),Je=/\b(?:from|join|update|into)\s+([a-z_][\w$]*)|\b([a-z_][\w$]*)\s*\./gi,An=a(s=>{let e=new Set;Je.lastIndex=0;let n=Je.exec(s);for(;n!==null;)e.add(n[1]??n[2]),n=Je.exec(s);return[...e]},"An");function Mn(s){return s.name}a(Mn,"qn");var On=a(s=>(s.metaKey||s.ctrlKey)&&!s.shiftKey&&!s.altKey&&s.key.toLowerCase()==="i","Dn"),Pn=a(s=>{let e=(0,Z.c)(44),{inlineEditEnabled:n,onSubmit:t,probe:r,schema:o,setDraft:l}=s,i=(0,B.useId)(),[c,d]=(0,B.useState)(null),m=(0,B.useRef)(null),x=(0,B.useRef)(null),h=(0,B.useRef)(null),v=En(o,h,l),{close:f,commit:N,commitAt:b,move:w,refresh:p,state:S}=v,y;e[0]!==b?(y=a(A=>{b(A)},"v"),e[0]=b,e[1]=y):y=e[1];let g=y,C;e[2]!==p?(C=a(()=>{let A=h.current;A!==null&&A===document.activeElement&&p(A.value,A.selectionStart)},"E"),e[2]=p,e[3]=C):C=e[3];let k;e[4]!==p||e[5]!==o?(k=[p,o],e[4]=p,e[5]=o,e[6]=k):k=e[6],(0,B.useEffect)(C,k);let q;e[7]!==r||e[8]!==p||e[9]!==l?(q=a(A=>{let{selectionStart:U,value:G}=A.target;l(G),d(null);for(let Y of An(G))r(Y);p(G,U)},"T"),e[7]=r,e[8]=p,e[9]=l,e[10]=q):q=e[10];let E=q,T;e[11]!==p?(T=a(A=>{let U=A.currentTarget;p(U.value,U.selectionStart)},"R"),e[11]=p,e[12]=T):T=e[12];let I=T,D;e[13]!==f||e[14]!==N||e[15]!==w?(D=a(A=>A.key==="ArrowDown"?(A.preventDefault(),w(1),!0):A.key==="ArrowUp"?(A.preventDefault(),w(-1),!0):A.key==="Escape"?(A.preventDefault(),f(),!0):(A.key==="Enter"||A.key==="Tab")&&!A.metaKey&&!A.ctrlKey&&N()?(A.preventDefault(),!0):!1,"_"),e[13]=f,e[14]=N,e[15]=w,e[16]=D):D=e[16];let R=D,_;e[17]!==S||e[18]!==f||e[19]!==n||e[20]!==R||e[21]!==t?(_=a(A=>{if(!(S!==null&&R(A))){if((A.metaKey||A.ctrlKey)&&A.key==="Enter"){A.preventDefault(),t();return}if(n&&On(A)){A.preventDefault(),f();let{selectionEnd:U,selectionStart:G,value:Y}=A.currentTarget,[O,oe]=G===U?[0,Y.length]:[G,U];d({end:oe,start:O,text:Y.slice(O,oe)})}}},"L"),e[17]=S,e[18]=f,e[19]=n,e[20]=R,e[21]=t,e[22]=_):_=e[22];let Q=_,j;e[23]!==f?(j=a(()=>{requestAnimationFrame(()=>{f()})},"B"),e[23]=f,e[24]=j):j=e[24];let K=j,P;e[25]===Symbol.for("react.memo_cache_sentinel")?(P=a(A=>{let{scrollLeft:U,scrollTop:G}=A.currentTarget;m.current!==null&&(m.current.scrollTop=G),x.current!==null&&(x.current.scrollTop=G,x.current.scrollLeft=U)},"M"),e[25]=P):P=e[25];let W=P,F;e[26]===Symbol.for("react.memo_cache_sentinel")?(F=a(A=>{let U=h.current;U===null||A.offset===void 0||(U.focus(),U.setSelectionRange(A.offset,A.offset+(A.length??0)))},"Q"),e[26]=F):F=e[26];let L=F,M;e[27]===Symbol.for("react.memo_cache_sentinel")?(M=a(()=>{d(null),h.current?.focus()},"D"),e[27]=M):M=e[27];let z=M,$;e[28]!==c||e[29]!==l?($=a(A=>{let U=h.current;if(c===null||U===null)return;let{end:G,start:Y,text:O}=c;if(U.value.slice(Y,G)!==O){z();return}l(U.value.slice(0,Y)+A+U.value.slice(G)),d(null),U.focus(),requestAnimationFrame(()=>{U.setSelectionRange(Y,Y+A.length)})},"$"),e[28]=c,e[29]=l,e[30]=$):$=e[30];let te=$,V;e[31]!==E||e[32]!==K||e[33]!==Q||e[34]!==I?(V={onBlur:K,onChange:E,onKeyDown:Q,onScroll:W,onSelect:I},e[31]=E,e[32]=K,e[33]=Q,e[34]=I,e[35]=V):V=e[35];let ee;return e[36]!==te||e[37]!==S||e[38]!==f||e[39]!==c||e[40]!==i||e[41]!==g||e[42]!==V?(ee={acceptInlineEdit:te,autocompleteState:S,closeAutocomplete:f,closeInlineEdit:z,inlineEdit:c,handlers:V,listboxId:i,onPickSuggestion:g,editorRef:h,gutterRef:m,overlayRef:x,revealDiagnostic:L},e[36]=te,e[37]=S,e[38]=f,e[39]=c,e[40]=i,e[41]=g,e[42]=V,e[43]=ee):ee=e[43],ee},"On"),$n="lunora-studio-sql-tabs",jn="lunora-studio-sql-active-tab",Xe=12,Ee=a((s="",e="")=>({activeId:null,id:Ke("tab"),name:e,sql:s}),"Ee"),zn=a(()=>Ae(jn,""),"Bn"),Hn=a(s=>{let e=(0,Z.c)(16),[n,t]=De($n),[r,o]=zn(),[l]=(0,B.useState)(s),i,c;e[0]!==l||e[1]!==t||e[2]!==n.length?(i=a(()=>{n.length===0&&t([l])},"i"),c=[l,t,n.length],e[0]=l,e[1]=t,e[2]=n.length,e[3]=i,e[4]=c):(i=e[3],c=e[4]),(0,B.useEffect)(i,c);let d;e[5]!==l||e[6]!==n?(d=n.length===0?[l]:n,e[5]=l,e[6]=n,e[7]=d):d=e[7];let m=d,x;e[8]!==r||e[9]!==m?(x=m.some(f=>f.id===r)?r:m[0]?.id??"",e[8]=r,e[9]=m,e[10]=x):x=e[10];let h=x,v;return e[11]!==h||e[12]!==o||e[13]!==t||e[14]!==m?(v={activeId:h,setActiveId:o,setTabs:t,tabs:m},e[11]=h,e[12]=o,e[13]=t,e[14]=m,e[15]=v):v=e[15],v},"Hn"),qt=a(s=>s.activeId===null&&s.sql.trim()!=="","ht"),Wn=a((s,e)=>[...s,e].slice(-Xe),"Pn"),Bn=a((s,e,n)=>{let t=s.findIndex(o=>o.id===e);if(t===-1)return{activeId:s[0]?.id??"",tabs:[...s]};let r=s.filter(o=>o.id!==e);if(r.length===0){let o=n();return{activeId:o.id,tabs:[o]}}return{activeId:r[Math.min(t,r.length-1)].id,tabs:r}},"Fn"),Fn=a((s,e)=>{let n=s.filter(t=>t.id===e);return n.length===0?{activeId:s[0]?.id??"",tabs:[...s]}:{activeId:e,tabs:n}},"Wn"),Qn=a((s,e,n)=>{let t=s.findIndex(o=>o.id===e);if(t===-1)return{activeId:n,tabs:[...s]};let r=s.slice(0,t+1);return{activeId:r.some(o=>o.id===n)?n:e,tabs:r}},"Kn"),Kn=a(s=>{let e=s();return{activeId:e.id,tabs:[e]}},"Qn"),Un=a((s,e,n)=>{if(s==="others")return e.filter(t=>t.id!==n);if(s==="right"){let t=e.findIndex(r=>r.id===n);return t===-1?[]:e.slice(t+1)}return[...e]},"zn"),pt={error:null,pane:"results",result:null,running:!1},Gn=a(s=>{let e=(0,Z.c)(66),{activeId:n,setActiveId:t,setTabs:r,tabs:o}=Hn(s),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l={},e[0]=l):l=e[0];let[i,c]=(0,B.useState)(l),[d,m]=(0,B.useState)(null),[x,h]=(0,B.useState)(null),v;e[1]!==n||e[2]!==o?(v=o.find(H=>H.id===n)??o[0]??Ee(),e[1]=n,e[2]=o,e[3]=v):v=e[3];let f=v,N=i[f.id]??pt,b;e[4]!==f.id||e[5]!==r?(b=a(H=>{r(J=>J.map(X=>X.id===f.id?{...X,...H}:X))},"m"),e[4]=f.id,e[5]=r,e[6]=b):b=e[6];let w=b,p;e[7]!==f.id?(p=a(H=>{c(J=>{let X=J[f.id]??pt;return{...J,[f.id]:{...X,...H}}})},"b"),e[7]=f.id,e[8]=p):p=e[8];let S=p,y;e[9]!==t||e[10]!==r||e[11]!==o.length?(y=a(()=>{if(o.length>=Xe)return;let H=Ee();r(J=>Wn(J,H)),t(H.id)},"v"),e[9]=t,e[10]=r,e[11]=o.length,e[12]=y):y=e[12];let g=y,C;e[13]!==t||e[14]!==r?(C=a(H=>{m(null),h(null),r(H.tabs),t(H.activeId);let J=new Set(H.tabs.map(Jn));c(X=>Object.fromEntries(Object.entries(X).filter(re=>{let[fe]=re;return J.has(fe)})))},"E"),e[13]=t,e[14]=r,e[15]=C):C=e[15];let k=C,q;e[16]!==k||e[17]!==o?(q=a(H=>{k(Bn(o,H,Ee))},"T"),e[16]=k,e[17]=o,e[18]=q):q=e[18];let E=q,T;e[19]!==n||e[20]!==k||e[21]!==o?(T=a((H,J)=>{k(H==="others"?Fn(o,J):H==="right"?Qn(o,J,n):Kn(Ee))},"R"),e[19]=n,e[20]=k,e[21]=o,e[22]=T):T=e[22];let I=T,D;e[23]!==I||e[24]!==d||e[25]!==o?(D=a(H=>{d!==null&&(Un(H,o,d.id).some(Yn)?h(H):I(H,d.id))},"_"),e[23]=I,e[24]=d,e[25]=o,e[26]=D):D=e[26];let R=D,_;e[27]===Symbol.for("react.memo_cache_sentinel")?(_=a((H,J)=>{J.preventDefault(),h(null),m({id:H,x:J.clientX,y:J.clientY})},"L"),e[27]=_):_=e[27];let Q=_,j;e[28]===Symbol.for("react.memo_cache_sentinel")?(j=a(()=>{m(null),h(null)},"B"),e[28]=j):j=e[28];let K=j,P;e[29]===Symbol.for("react.memo_cache_sentinel")?(P=a(H=>{H.preventDefault(),m(null),h(null)},"M"),e[29]=P):P=e[29];let W=P,F;e[30]!==R?(F=a(()=>{R("others")},"Q"),e[30]=R,e[31]=F):F=e[31];let L=F,M;e[32]!==R?(M=a(()=>{R("right")},"D"),e[32]=R,e[33]=M):M=e[33];let z=M,$;e[34]!==R?($=a(()=>{R("all")},"$"),e[34]=R,e[35]=$):$=e[35];let te=$,V;e[36]!==I||e[37]!==x||e[38]!==d?(V=a(()=>{d!==null&&x!==null&&I(x,d.id),h(null)},"J"),e[36]=I,e[37]=x,e[38]=d,e[39]=V):V=e[39];let ee=V,A;e[40]===Symbol.for("react.memo_cache_sentinel")?(A=a(()=>{h(null)},"q"),e[40]=A):A=e[40];let U=A,G;e[41]!==d?(G=d===null?void 0:{left:d.x,top:d.y},e[41]=d,e[42]=G):G=e[42];let Y=G,O;e[43]!==r?(O=a(H=>{r(J=>J.map(X=>X.activeId===H?{...X,activeId:null}:X))},"O"),e[43]=r,e[44]=O):O=e[44];let oe=O,se;e[45]!==r?(se=a((H,J)=>{r(X=>X.map(re=>re.id===H?{...re,name:J}:re))},"re"),e[45]=r,e[46]=se):se=e[46];let le=se,ie;return e[47]!==f||e[48]!==n||e[49]!==g||e[50]!==E||e[51]!==ee||e[52]!==te||e[53]!==L||e[54]!==z||e[55]!==N||e[56]!==S||e[57]!==w||e[58]!==x||e[59]!==le||e[60]!==t||e[61]!==d||e[62]!==Y||e[63]!==o||e[64]!==oe?(ie={activeTab:f,activeTabId:n,addEditorTab:g,cancelBulk:U,closeEditorTab:E,closeTabMenu:K,confirmBulk:ee,menuStyle:Y,onBackdropContextMenu:W,onCloseAll:te,onCloseOthers:L,onCloseToRight:z,openTabMenu:Q,output:N,patchActiveOutput:S,patchActiveTab:w,pendingBulk:x,renameTab:le,setActiveTabId:t,tabMenu:d,tabs:o,unlinkQuery:oe},e[47]=f,e[48]=n,e[49]=g,e[50]=E,e[51]=ee,e[52]=te,e[53]=L,e[54]=z,e[55]=N,e[56]=S,e[57]=w,e[58]=x,e[59]=le,e[60]=t,e[61]=d,e[62]=Y,e[63]=o,e[64]=oe,e[65]=ie):ie=e[65],ie},"Un");function Jn(s){return s.id}a(Jn,"jn");function Yn(s){return qt(s)}a(Yn,"Yn");var Vn="lunora-studio-sql-queries",we="lunora-studio-sql-history",Xn="lunora-studio-sql-remember-history",Zn=25,eo=a(s=>{let e=(0,Z.c)(41),{loadIntoActiveTab:n,unlinkQuery:t}=s,r=ae(),[o,l]=De(Vn),[i,c]=Ae(Xn,!1),[d,m]=De(we,i?"local":"session"),x,h;e[0]!==i?(x=a(()=>{i||Ne(we,"local")},"g"),h=[i],e[0]=i,e[1]=x,e[2]=h):(x=e[1],h=e[2]),(0,B.useEffect)(x,h);let[v,f]=(0,B.useState)(""),N=(0,B.useRef)(null),b;e[3]!==m?(b=a(L=>{m(M=>M[0]?.sql===L?M:[{at:Date.now(),sql:L},...M.filter(z=>z.sql!==L)].slice(0,Zn))},"m"),e[3]=m,e[4]=b):b=e[4];let w=b,p;e[5]!==n||e[6]!==l||e[7]!==r?(p=a(()=>{let L={id:Ke("q"),name:r("Untitled query"),sql:""};l(M=>[L,...M]),n("",L.id)},"b"),e[5]=n,e[6]=l,e[7]=r,e[8]=p):p=e[8];let S=p,y;e[9]!==n||e[10]!==o?(y=a(L=>{let M=o.find(z=>z.id===L);M!==void 0&&(n(M.sql,L),N.current?.querySelector(`[data-testid="sql-query-${L}"]`)?.scrollIntoView({block:"nearest"}))},"v"),e[9]=n,e[10]=o,e[11]=y):y=e[11];let g=y,C;e[12]!==l||e[13]!==t?(C=a(L=>{l(M=>M.filter(z=>z.id!==L)),t(L)},"E"),e[12]=l,e[13]=t,e[14]=C):C=e[14];let k=C,q;e[15]!==n?(q=a(L=>{n(L.currentTarget.dataset.sql??"",null)},"T"),e[15]=n,e[16]=q):q=e[16];let E=q,T;e[17]!==n?(T=a(L=>{n(L.currentTarget.dataset.sql??"",null)},"R"),e[17]=n,e[18]=T):T=e[18];let I=T,D;e[19]!==m?(D=a(()=>{m([]),Ne(we,"local"),Ne(we,"session")},"_"),e[19]=m,e[20]=D):D=e[20];let R=D,_;e[21]!==d||e[22]!==c?(_=a(L=>{nt(we,d,L?"local":"session"),L||Ne(we,"local"),c(L)},"L"),e[21]=d,e[22]=c,e[23]=_):_=e[23];let Q=_,j;e[24]===Symbol.for("react.memo_cache_sentinel")?(j=a(L=>{f(L.target.value)},"B"),e[24]=j):j=e[24];let K=j,P;e[25]!==l?(P=a((L,M)=>{l(z=>z.map($=>$.id===L?{...$,sql:M}:$))},"M"),e[25]=l,e[26]=P):P=e[26];let W=P,F;return e[27]!==R||e[28]!==k||e[29]!==d||e[30]!==I||e[31]!==E||e[32]!==S||e[33]!==o||e[34]!==w||e[35]!==i||e[36]!==v||e[37]!==g||e[38]!==Q||e[39]!==W?(F={clearHistory:R,deleteQuery:k,history:d,listRef:N,loadFromHistory:I,loadTemplate:E,newQuery:S,onSearchChange:K,queries:o,recordHistory:w,rememberHistory:i,search:v,selectQuery:g,setRememberHistory:Q,updateQuerySql:W},e[27]=R,e[28]=k,e[29]=d,e[30]=I,e[31]=E,e[32]=S,e[33]=o,e[34]=w,e[35]=i,e[36]=v,e[37]=g,e[38]=Q,e[39]=W,e[40]=F):F=e[40],F},"Xn"),Ze="p-3 font-mono text-xs leading-5 whitespace-pre-wrap break-words",to=a((s,e)=>{let n=[];for(let r of s){if(r.offset===void 0||r.length===void 0||r.length<=0)continue;let o=Math.max(0,Math.min(r.offset,e)),l=Math.max(o,Math.min(r.offset+r.length,e));o!==l&&n.push({end:l,severity:r.severity,start:o})}n.sort((r,o)=>r.start-o.start);let t=[];for(let r of n)r.start>=(t.at(-1)?.end??0)&&t.push(r);return t},"Zn"),Et=a((s,e)=>e(s==="unsafe-response"?"The model returned a statement that is not read-only, so it was discarded.":s==="too-long"?"The statement is too long to rewrite. Select a shorter part of it.":s==="empty-response"?"The model returned nothing usable.":"The model could not be reached."),"bt"),no=a(s=>{let e=(0,Z.c)(51),{assistant:n,failed:t,onGenerated:r}=s,o=ae(),[l,i]=(0,B.useState)("");if(n.unavailable)return null;let c;e[0]!==n?(c=n.pending("sql"),e[0]=n,e[1]=c):c=e[1];let d=c,m;if(e[2]!==n||e[3]!==t||e[4]!==r||e[5]!==d||e[6]!==l||e[7]!==o){let x=n.reason("sql"),h;e[9]!==n||e[10]!==t||e[11]!==r||e[12]!==l?(h=a(I=>{let D=l.trim();D===""&&!I||me((async()=>{let R=await n.generate(D===""?"fix the failing statement":D,I?t:void 0);R!==void 0&&r(R)})())},"u"),e[9]=n,e[10]=t,e[11]=r,e[12]=l,e[13]=h):h=e[13];let v=h,f;e[14]!==o?(f=o("Describe the query you want"),e[14]=o,e[15]=f):f=e[15];let N;e[16]===Symbol.for("react.memo_cache_sentinel")?(N=a(I=>{i(I.target.value)},"N"),e[16]=N):N=e[16];let b;e[17]!==v?(b=a(I=>{I.key==="Enter"&&(I.preventDefault(),v(!1))},"m"),e[17]=v,e[18]=b):b=e[18];let w;e[19]!==o?(w=o("Describe the query you want"),e[19]=o,e[20]=w):w=e[20];let p;e[21]!==d||e[22]!==l||e[23]!==f||e[24]!==b||e[25]!==w?(p=(0,u.jsx)(Qe,{"aria-label":f,className:"h-7 flex-1 text-xs","data-testid":"sql-assistant-prompt",disabled:d,onChange:N,onKeyDown:b,placeholder:w,value:l}),e[21]=d,e[22]=l,e[23]=f,e[24]=b,e[25]=w,e[26]=p):p=e[26];let S=d&&"opacity-60",y;e[27]!==S?(y=ue("rounded-md border border-border px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent",S),e[27]=S,e[28]=y):y=e[28];let g;e[29]!==d||e[30]!==l?(g=d||l.trim()==="",e[29]=d,e[30]=l,e[31]=g):g=e[31];let C;e[32]!==v?(C=a(()=>{v(!1)},"E"),e[32]=v,e[33]=C):C=e[33];let k;e[34]!==d||e[35]!==o?(k=o(d?"Thinking\u2026":"Draft SQL"),e[34]=d,e[35]=o,e[36]=k):k=e[36];let q;e[37]!==y||e[38]!==g||e[39]!==C||e[40]!==k?(q=(0,u.jsx)("button",{className:y,"data-testid":"sql-assistant-generate",disabled:g,onClick:C,type:"button",children:k}),e[37]=y,e[38]=g,e[39]=C,e[40]=k,e[41]=q):q=e[41];let E;e[42]!==t||e[43]!==d||e[44]!==v||e[45]!==o?(E=t!==void 0&&(0,u.jsx)("button",{className:"rounded-md border border-border px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"sql-assistant-fix",disabled:d,onClick:a(()=>{v(!0)},"onClick"),type:"button",children:o("Fix this")}),e[42]=t,e[43]=d,e[44]=v,e[45]=o,e[46]=E):E=e[46];let T;e[47]!==q||e[48]!==E||e[49]!==p?(T=(0,u.jsxs)("div",{className:"flex items-center gap-2",children:[p,q,E]}),e[47]=q,e[48]=E,e[49]=p,e[50]=T):T=e[50],m=(0,u.jsxs)("div",{className:"flex flex-col gap-1 border-b border-border px-3 py-2","data-testid":"sql-assistant",children:[T,x!==void 0&&(0,u.jsx)("p",{className:"text-[11px] text-muted-foreground","data-testid":"sql-assistant-reason",role:"status",children:Et(x,o)})]}),e[2]=n,e[3]=t,e[4]=r,e[5]=d,e[6]=l,e[7]=o,e[8]=m}else m=e[8];return m},"es"),oo=a(s=>{let e=(0,Z.c)(8),{diagnostics:n,draft:t,scrollRef:r}=s,o,l;if(e[0]!==n||e[1]!==t){l=Symbol.for("react.early_return_sentinel");e:{let d=to(n,t.length);if(d.length===0){l=null;break e}o=[];let m=0;for(let[x,h]of d.entries())h.start>m&&o.push(t.slice(m,h.start)),o.push((0,u.jsx)("span",{className:ue("decoration-wavy underline underline-offset-4",h.severity==="error"?"decoration-destructive":"decoration-amber-500"),children:t.slice(h.start,h.end)},`${h.start.toString()}-${x.toString()}`)),m=h.end;o.push(t.slice(m))}e[0]=n,e[1]=t,e[2]=o,e[3]=l}else o=e[2],l=e[3];if(l!==Symbol.for("react.early_return_sentinel"))return l;let i;e[4]===Symbol.for("react.memo_cache_sentinel")?(i=ue("pointer-events-none absolute inset-0 overflow-hidden text-transparent",Ze),e[4]=i):i=e[4];let c;return e[5]!==o||e[6]!==r?(c=(0,u.jsx)("div",{"aria-hidden":"true",className:i,"data-testid":"sql-diagnostics-overlay",ref:r,children:o}),e[5]=o,e[6]=r,e[7]=c):c=e[7],c},"ts"),ro={gate:"read-only",plan:"plan",schema:"schema",syntax:"syntax"},so=a(s=>{let e=(0,Z.c)(10),{diagnostics:n,onSelect:t}=s,r=ae();if(n.length===0)return null;let o;e[0]!==r?(o=r("SQL problems"),e[0]=r,e[1]=o):o=e[1];let l;if(e[2]!==n||e[3]!==t){let c;e[5]!==t?(c=a((d,m)=>(0,u.jsx)("li",{children:(0,u.jsxs)("button",{className:"flex w-full items-start gap-2 px-3 py-1 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-problem",onClick:a(()=>{t(d)},"onClick"),type:"button",children:[(0,u.jsx)("span",{className:ue("mt-px shrink-0 rounded px-1 font-mono text-[10px] uppercase",d.severity==="error"?"bg-destructive/15 text-destructive":"bg-amber-500/15 text-amber-600"),children:ro[d.source]}),(0,u.jsx)("span",{className:"min-w-0 text-muted-foreground",children:d.message})]})},`${d.source}-${(d.offset??m).toString()}-${m.toString()}`),"c"),e[5]=t,e[6]=c):c=e[6],l=n.map(c),e[2]=n,e[3]=t,e[4]=l}else l=e[4];let i;return e[7]!==o||e[8]!==l?(i=(0,u.jsx)("ul",{"aria-label":o,className:"max-h-24 shrink-0 overflow-y-auto border-t border-border bg-muted/30","data-testid":"sql-problems",children:l}),e[7]=o,e[8]=l,e[9]=i):i=e[9],i},"ss"),lo=a(s=>(s.endsWith(`
|
|
12
|
+
`)?s.slice(0,-1):s).split(`
|
|
13
|
+
`),"os"),io=a((s,e)=>{let n=[],t=1,r=1;for(let o of Ge(s,e,{ignoreNewlineAtEof:!0}))for(let l of lo(o.value))o.added?(n.push({after:r,kind:"added",text:l}),r+=1):o.removed?(n.push({before:t,kind:"removed",text:l}),t+=1):(n.push({after:r,before:t,kind:"context",text:l}),t+=1,r+=1);return n},"ls"),ao={added:"bg-emerald-500/10 text-emerald-700 dark:text-emerald-400",context:"text-muted-foreground",removed:"bg-destructive/10 text-destructive"},co={added:"+",context:" ",removed:"-"},uo=a(s=>{let e=(0,Z.c)(11),{lines:n}=s,t=ae(),r;e[0]!==t?(r=t("Proposed edit"),e[0]=t,e[1]=r):r=e[1];let o;e[2]===Symbol.for("react.memo_cache_sentinel")?(o=ue("max-h-48 overflow-auto rounded-md border border-border bg-background",Ze),e[2]=o):o=e[2];let l;if(e[3]!==n||e[4]!==t){let c;e[6]!==t?(c=a(d=>(0,u.jsxs)("li",{className:ue("flex gap-2",ao[d.kind]),"data-kind":d.kind,children:[(0,u.jsx)("span",{"aria-hidden":"true",className:"shrink-0 select-none opacity-60",children:co[d.kind]}),d.kind!=="context"&&(0,u.jsx)("span",{className:"sr-only",children:d.kind==="added"?t("Added"):t("Removed")}),(0,u.jsx)("span",{className:"min-w-0",children:d.text===""?"\xA0":d.text})]},`${String(d.before)}:${String(d.after)}`),"c"),e[6]=t,e[7]=c):c=e[7],l=n.map(c),e[3]=n,e[4]=t,e[5]=l}else l=e[5];let i;return e[8]!==r||e[9]!==l?(i=(0,u.jsx)("ul",{"aria-label":r,className:o,"data-testid":"sql-inline-diff",children:l}),e[8]=r,e[9]=l,e[10]=i):i=e[10],i},"as"),Oe="rounded-md border border-border px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent",mo=a(s=>{let e=(0,Z.c)(41),{onAccept:n,onCancel:t,rpc:r,source:o,whole:l}=s,i=ae(),c=(0,B.useRef)(null),d=(0,B.useRef)(null),[m,x]=(0,B.useState)(""),[h,v]=(0,B.useState)(null),f,N;if(e[0]!==h?(f=a(()=>{h===null?c.current?.focus():d.current?.focus()},"d"),N=[h],e[0]=h,e[1]=f,e[2]=N):(f=e[1],N=e[2]),(0,B.useEffect)(f,N),r.unavailable)return null;let b;e[3]!==r?(b=r.pending("sql"),e[3]=r,e[4]=b):b=e[4];let w=b,p;if(e[5]!==m||e[6]!==n||e[7]!==t||e[8]!==w||e[9]!==h||e[10]!==r||e[11]!==o||e[12]!==i||e[13]!==l){let S=r.reason("sql"),y;e[15]!==m||e[16]!==r||e[17]!==o?(y=a(()=>{let R=m.trim();R===""||o.trim()===""||me((async()=>{let _=await r.rewrite(R,o);_!==void 0&&v(_)})())},"v"),e[15]=m,e[16]=r,e[17]=o,e[18]=y):y=e[18];let g=y,C;e[19]!==t?(C=a(R=>{R.key==="Escape"&&(R.preventDefault(),t())},"E"),e[19]=t,e[20]=C):C=e[20];let k=C,q;e[21]!==i||e[22]!==l?(q=i(l?"Whole query":"Selection"),e[21]=i,e[22]=l,e[23]=q):q=e[23];let E;e[24]!==q?(E=(0,u.jsx)("span",{className:"shrink-0 rounded bg-muted px-1 font-mono text-[10px] uppercase text-muted-foreground","data-testid":"sql-inline-edit-scope",children:q}),e[24]=q,e[25]=E):E=e[25];let T;e[26]!==m||e[27]!==n||e[28]!==t||e[29]!==k||e[30]!==w||e[31]!==h||e[32]!==g||e[33]!==i?(T=h===null?(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Qe,{"aria-label":i("Tell the model what to change"),className:"h-7 flex-1 text-xs","data-testid":"sql-inline-edit-prompt",disabled:w,onChange:a(R=>{x(R.target.value)},"onChange"),onKeyDown:a(R=>{if(R.key==="Enter"){R.preventDefault(),g();return}k(R)},"onKeyDown"),placeholder:i("Tell the model what to change"),ref:c,value:m}),(0,u.jsx)("button",{className:ue(Oe,w&&"opacity-60"),"data-testid":"sql-inline-edit-submit",disabled:w||m.trim()==="",onClick:g,onKeyDown:k,type:"button",children:i(w?"Thinking\u2026":"Rewrite")}),(0,u.jsx)("button",{className:Oe,"data-testid":"sql-inline-edit-cancel",onClick:t,onKeyDown:k,type:"button",children:i("Cancel")})]}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("span",{className:"flex-1 text-xs text-muted-foreground",children:i("Proposed edit")}),(0,u.jsx)("button",{className:Oe,"data-testid":"sql-inline-edit-accept",onClick:a(()=>{n(h)},"onClick"),onKeyDown:k,ref:d,type:"button",children:i("Accept")}),(0,u.jsx)("button",{className:Oe,"data-testid":"sql-inline-edit-reject",onClick:a(()=>{v(null)},"onClick"),onKeyDown:k,type:"button",children:i("Reject")})]}),e[26]=m,e[27]=n,e[28]=t,e[29]=k,e[30]=w,e[31]=h,e[32]=g,e[33]=i,e[34]=T):T=e[34];let I;e[35]!==E||e[36]!==T?(I=(0,u.jsxs)("div",{className:"flex items-center gap-2",children:[E,T]}),e[35]=E,e[36]=T,e[37]=I):I=e[37];let D;e[38]!==h||e[39]!==o?(D=h!==null&&(0,u.jsx)(uo,{lines:io(o,h)}),e[38]=h,e[39]=o,e[40]=D):D=e[40],p=(0,u.jsxs)("div",{className:"flex flex-col gap-1 border-b border-border bg-muted/20 px-3 py-2","data-testid":"sql-inline-edit",children:[I,D,S!==void 0&&(0,u.jsx)("p",{className:"text-[11px] text-muted-foreground","data-testid":"sql-inline-edit-reason",role:"status",children:Et(S,i)})]}),e[5]=m,e[6]=n,e[7]=t,e[8]=w,e[9]=h,e[10]=r,e[11]=o,e[12]=i,e[13]=l,e[14]=p}else p=e[14];return p},"cs"),fo={minWidth:"2.75rem",paddingInline:"0.5rem"},ho=a(s=>{let e=(0,Z.c)(75),{assistant:n,autocomplete:t,diagnostics:r,draft:o,failed:l,handlers:i,editorRef:c,gutterRef:d,inlineEdit:m,listboxId:x,onAcceptInlineEdit:h,onCancelInlineEdit:v,onGenerated:f,onPickSuggestion:N,onRevealDiagnostic:b,overlayRef:w}=s,p=ae(),S,y,g,C,k,q,E,T,I;if(e[0]!==n||e[1]!==o||e[2]!==l||e[3]!==d||e[4]!==m||e[5]!==h||e[6]!==v||e[7]!==f){let $=o.split(`
|
|
14
|
+
`).length;E="flex min-h-0 min-w-0 flex-1 flex-col",e[17]!==n||e[18]!==l||e[19]!==f?(T=(0,u.jsx)(no,{assistant:n,failed:l,onGenerated:f}),e[17]=n,e[18]=l,e[19]=f,e[20]=T):T=e[20],e[21]!==n||e[22]!==o.length||e[23]!==m||e[24]!==h||e[25]!==v?(I=m!==null&&(0,u.jsx)(mo,{onAccept:h,onCancel:v,rpc:n,source:m.text,whole:m.start===0&&m.end===o.length},`${m.start.toString()}-${m.end.toString()}`),e[21]=n,e[22]=o.length,e[23]=m,e[24]=h,e[25]=v,e[26]=I):I=e[26],q="flex min-h-0 min-w-0 flex-1",S="true",y="shrink-0 select-none overflow-hidden border-e border-border bg-muted/30 py-3 text-end font-mono text-xs leading-5 text-muted-foreground/60",g=d,C=fo,k=Array.from({length:$},po),e[0]=n,e[1]=o,e[2]=l,e[3]=d,e[4]=m,e[5]=h,e[6]=v,e[7]=f,e[8]=S,e[9]=y,e[10]=g,e[11]=C,e[12]=k,e[13]=q,e[14]=E,e[15]=T,e[16]=I}else S=e[8],y=e[9],g=e[10],C=e[11],k=e[12],q=e[13],E=e[14],T=e[15],I=e[16];let D;e[27]!==S||e[28]!==y||e[29]!==g||e[30]!==C||e[31]!==k?(D=(0,u.jsx)("div",{"aria-hidden":S,className:y,ref:g,style:C,children:k}),e[27]=S,e[28]=y,e[29]=g,e[30]=C,e[31]=k,e[32]=D):D=e[32];let R;e[33]!==r||e[34]!==o||e[35]!==w?(R=(0,u.jsx)(oo,{diagnostics:r,draft:o,scrollRef:w}),e[33]=r,e[34]=o,e[35]=w,e[36]=R):R=e[36];let _;e[37]!==t||e[38]!==x?(_=t===null?void 0:`${x}-opt-${t.active.toString()}`,e[37]=t,e[38]=x,e[39]=_):_=e[39];let Q=t===null?void 0:x,j=t!==null,K;e[40]!==p?(K=p("SQL query"),e[40]=p,e[41]=K):K=e[41];let P;e[42]!==o||e[43]!==c||e[44]!==i.onBlur||e[45]!==i.onChange||e[46]!==i.onKeyDown||e[47]!==i.onScroll||e[48]!==i.onSelect||e[49]!==_||e[50]!==Q||e[51]!==j||e[52]!==K?(P=(0,u.jsx)("textarea",{"aria-activedescendant":_,"aria-autocomplete":"list","aria-controls":Q,"aria-expanded":j,"aria-label":K,className:`relative size-full resize-none bg-transparent outline-none ${Ze}`,"data-testid":"sql-input",onBlur:i.onBlur,onChange:i.onChange,onKeyDown:i.onKeyDown,onScroll:i.onScroll,onSelect:i.onSelect,placeholder:"SELECT * FROM \u2026",ref:c,role:"combobox",spellCheck:!1,value:o}),e[42]=o,e[43]=c,e[44]=i.onBlur,e[45]=i.onChange,e[46]=i.onKeyDown,e[47]=i.onScroll,e[48]=i.onSelect,e[49]=_,e[50]=Q,e[51]=j,e[52]=K,e[53]=P):P=e[53];let W;e[54]!==t||e[55]!==x||e[56]!==N?(W=(0,u.jsx)(Ln,{listboxId:x,onPick:N,state:t}),e[54]=t,e[55]=x,e[56]=N,e[57]=W):W=e[57];let F;e[58]!==R||e[59]!==P||e[60]!==W?(F=(0,u.jsxs)("div",{className:"relative min-w-0 flex-1 bg-background",children:[R,P,W]}),e[58]=R,e[59]=P,e[60]=W,e[61]=F):F=e[61];let L;e[62]!==D||e[63]!==F||e[64]!==q?(L=(0,u.jsxs)("div",{className:q,children:[D,F]}),e[62]=D,e[63]=F,e[64]=q,e[65]=L):L=e[65];let M;e[66]!==r||e[67]!==b?(M=(0,u.jsx)(so,{diagnostics:r,onSelect:b}),e[66]=r,e[67]=b,e[68]=M):M=e[68];let z;return e[69]!==L||e[70]!==M||e[71]!==E||e[72]!==T||e[73]!==I?(z=(0,u.jsxs)("div",{className:E,children:[T,I,L,M]}),e[69]=L,e[70]=M,e[71]=E,e[72]=T,e[73]=I,e[74]=z):z=e[74],z},"us");function po(s,e){return(0,u.jsx)("div",{children:e+1},e)}a(po,"fs");var Tt=[{label:"List tables",sql:"SELECT name FROM sqlite_master WHERE type = 'table' ORDER BY name;"},{label:"Table row count",sql:"SELECT COUNT(*) AS rows FROM messages;"},{label:"Recent rows",sql:"SELECT id, _creationTime, __doc__ FROM messages ORDER BY _creationTime DESC LIMIT 50;"},{label:"Index list",sql:"SELECT name, tbl_name FROM sqlite_master WHERE type = 'index' ORDER BY tbl_name;"}],bo=a(s=>{let e=(0,Z.c)(29),{active:n,onDelete:t,onSelect:r,query:o}=s,l=ae(),i;e[0]!==r||e[1]!==o.id?(i=a(()=>{r(o.id)},"i"),e[0]=r,e[1]=o.id,e[2]=i):i=e[2];let c=i,d;e[3]!==t||e[4]!==o.id?(d=a(C=>{C.stopPropagation(),t(o.id)},"a"),e[3]=t,e[4]=o.id,e[5]=d):d=e[5];let m=d,x=n?"bg-sidebar-accent font-medium text-foreground":"text-muted-foreground",h;e[6]!==x?(h=ue("flex min-w-0 flex-1 items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] outline-none transition-colors hover:bg-sidebar-accent focus-visible:bg-sidebar-accent",x),e[6]=x,e[7]=h):h=e[7];let v=`sql-query-${o.id}`,f;e[8]===Symbol.for("react.memo_cache_sentinel")?(f=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M4 6h16M4 12h10M4 18h7"})}),e[8]=f):f=e[8];let N;e[9]!==o.name?(N=(0,u.jsx)("span",{className:"truncate",children:o.name}),e[9]=o.name,e[10]=N):N=e[10];let b;e[11]!==n||e[12]!==c||e[13]!==h||e[14]!==v||e[15]!==N?(b=(0,u.jsxs)("button",{"aria-pressed":n,className:h,"data-testid":v,onClick:c,type:"button",children:[f,N]}),e[11]=n,e[12]=c,e[13]=h,e[14]=v,e[15]=N,e[16]=b):b=e[16];let w;e[17]!==l?(w=l("Delete query"),e[17]=l,e[18]=w):w=e[18];let p;e[19]!==l?(p=l("Delete query"),e[19]=l,e[20]=p):p=e[20];let S;e[21]===Symbol.for("react.memo_cache_sentinel")?(S=(0,u.jsx)("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:(0,u.jsx)("path",{d:"M5 7h14M9 7V5h6v2m-1 0v12H10V7M7 7v13h10V7"})}),e[21]=S):S=e[21];let y;e[22]!==m||e[23]!==p||e[24]!==w?(y=(0,u.jsx)("button",{"aria-label":w,className:"me-1 hidden size-6 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-destructive/10 hover:text-destructive group-hover/q:flex",onClick:m,title:p,type:"button",children:S}),e[22]=m,e[23]=p,e[24]=w,e[25]=y):y=e[25];let g;return e[26]!==y||e[27]!==b?(g=(0,u.jsxs)("li",{className:"group/q flex items-center",children:[b,y]}),e[26]=y,e[27]=b,e[28]=g):g=e[28],g},"ms"),bt="sql-history-remember",go=a((s,e)=>{let n=e.trim().toLowerCase();return n===""?[...s]:s.filter(t=>t.name.toLowerCase().includes(n))},"ps"),xo=a(s=>{let e=(0,Z.c)(66),{activeId:n,history:t,listRef:r,onClearHistory:o,onDelete:l,onLoadHistory:i,onLoadTemplate:c,onNew:d,onSearchChange:m,onSelect:x,onToggleRememberHistory:h,queries:v,rememberHistory:f,search:N}=s,b=ae(),w,p,S,y,g;if(e[0]!==n||e[1]!==r||e[2]!==l||e[3]!==d||e[4]!==m||e[5]!==x||e[6]!==h||e[7]!==v||e[8]!==N||e[9]!==b){let _=go(v,N),Q;e[15]!==h?(Q=a($=>{h($.target.checked)},"F"),e[15]=h,e[16]=Q):Q=e[16],w=Q,S="flex h-full w-64 shrink-0 flex-col border-e border-border bg-sidebar";let j;e[17]!==b?(j=b("Search queries\u2026"),e[17]=b,e[18]=j):j=e[18];let K;e[19]!==m||e[20]!==N||e[21]!==j?(K=(0,u.jsx)("input",{className:"h-8 min-w-0 flex-1 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"sql-search",onChange:m,placeholder:j,type:"text",value:N}),e[19]=m,e[20]=N,e[21]=j,e[22]=K):K=e[22];let P;e[23]!==b?(P=b("New query"),e[23]=b,e[24]=P):P=e[24];let W;e[25]!==b?(W=b("New query"),e[25]=b,e[26]=W):W=e[26];let F;e[27]===Symbol.for("react.memo_cache_sentinel")?(F=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[27]=F):F=e[27];let L;e[28]!==d||e[29]!==P||e[30]!==W?(L=(0,u.jsx)("button",{"aria-label":P,className:"flex size-8 shrink-0 items-center justify-center rounded-md border border-border text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"sql-new",onClick:d,title:W,type:"button",children:F}),e[28]=d,e[29]=P,e[30]=W,e[31]=L):L=e[31],e[32]!==L||e[33]!==K?(y=(0,u.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border p-2",children:[K,L]}),e[32]=L,e[33]=K,e[34]=y):y=e[34],p="flex flex-1 flex-col gap-4 overflow-y-auto p-2";let M;e[35]!==b?(M=b("Private"),e[35]=b,e[36]=M):M=e[36];let z;e[37]!==M?(z=(0,u.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:M}),e[37]=M,e[38]=z):z=e[38],g=(0,u.jsxs)("div",{children:[z,_.length===0?(0,u.jsx)("p",{className:"px-1 py-2 text-xs text-muted-foreground","data-testid":"sql-private-empty",children:b("No saved queries yet \u2014 they save to this browser as you type.")}):(0,u.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-private",ref:r,children:_.map($=>(0,u.jsx)(bo,{active:n===$.id,onDelete:l,onSelect:x,query:$},$.id))})]}),e[0]=n,e[1]=r,e[2]=l,e[3]=d,e[4]=m,e[5]=x,e[6]=h,e[7]=v,e[8]=N,e[9]=b,e[10]=w,e[11]=p,e[12]=S,e[13]=y,e[14]=g}else w=e[10],p=e[11],S=e[12],y=e[13],g=e[14];let C;e[39]!==b?(C=b("Reference"),e[39]=b,e[40]=C):C=e[40];let k;e[41]!==C?(k=(0,u.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:C}),e[41]=C,e[42]=k):k=e[42];let q;e[43]!==c?(q=Tt.map(_=>(0,u.jsx)("li",{children:(0,u.jsxs)("button",{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-foreground focus-visible:bg-sidebar-accent","data-sql":_.sql,onClick:c,type:"button",children:[(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M7 4h7l4 4v12H7zM14 4v4h4"})}),_.label]})},_.label)),e[43]=c,e[44]=q):q=e[44];let E;e[45]!==q?(E=(0,u.jsx)("ul",{className:"flex flex-col gap-px",children:q}),e[45]=q,e[46]=E):E=e[46];let T;e[47]!==k||e[48]!==E?(T=(0,u.jsxs)("div",{children:[k,E]}),e[47]=k,e[48]=E,e[49]=T):T=e[49];let I;e[50]!==t||e[51]!==o||e[52]!==i||e[53]!==w||e[54]!==f||e[55]!==b?(I=t.length>0&&(0,u.jsxs)("div",{children:[(0,u.jsxs)("div",{className:"flex items-center justify-between px-1 pb-1",children:[(0,u.jsx)("p",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:b("History")}),(0,u.jsx)("button",{className:"rounded px-1 text-[11px] text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:text-foreground","data-testid":"sql-history-clear",onClick:o,type:"button",children:b("Clear history")})]}),(0,u.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 px-1 pb-1.5 text-[11px] text-muted-foreground",htmlFor:bt,children:[(0,u.jsx)("input",{checked:f,"data-testid":"sql-history-remember",id:bt,onChange:w,type:"checkbox"}),b("Keep history on this browser")]}),(0,u.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-history",children:t.map(_=>(0,u.jsx)("li",{children:(0,u.jsxs)("button",{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-foreground focus-visible:bg-sidebar-accent","data-sql":_.sql,"data-testid":"sql-history-item",onClick:i,title:_.sql,type:"button",children:[(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M12 8v4l3 2M12 21a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z"})}),(0,u.jsx)("span",{className:"truncate font-mono",children:_.sql})]})},`${_.at.toString()}:${_.sql}`))})]}),e[50]=t,e[51]=o,e[52]=i,e[53]=w,e[54]=f,e[55]=b,e[56]=I):I=e[56];let D;e[57]!==p||e[58]!==I||e[59]!==g||e[60]!==T?(D=(0,u.jsxs)("div",{className:p,children:[g,T,I]}),e[57]=p,e[58]=I,e[59]=g,e[60]=T,e[61]=D):D=e[61];let R;return e[62]!==D||e[63]!==S||e[64]!==y?(R=(0,u.jsxs)("aside",{className:S,children:[y,D]}),e[62]=D,e[63]=S,e[64]=y,e[65]=R):R=e[65],R},"hs"),Pe=a(s=>`border-b-2 px-3 py-2 text-sm outline-none transition-colors ${s?"border-foreground font-medium text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,"qe"),vo=a(s=>{let e=(0,Z.c)(96),{assistant:n,chart:t,className:r,error:o,onFormat:l,onInferChart:i,onRun:c,onSelectStatement:d,onShardKeyChange:m,onShowChart:x,onShowExplain:h,onShowResults:v,onToggleSplit:f,pane:N,result:b,running:w,script:p,shardKey:S,splitView:y}=s,g=ae(),C=N==="results",k;e[0]!==C?(k=Pe(C),e[0]=C,e[1]=k):k=e[1];let q;e[2]!==g?(q=g("Results"),e[2]=g,e[3]=q):q=e[3];let E;e[4]!==v||e[5]!==k||e[6]!==q?(E=(0,u.jsx)("button",{className:k,"data-testid":"sql-tab-results",onClick:v,type:"button",children:q}),e[4]=v,e[5]=k,e[6]=q,e[7]=E):E=e[7];let T=N==="chart",I;e[8]!==T?(I=Pe(T),e[8]=T,e[9]=I):I=e[9];let D;e[10]!==g?(D=g("Chart"),e[10]=g,e[11]=D):D=e[11];let R;e[12]!==x||e[13]!==I||e[14]!==D?(R=(0,u.jsx)("button",{className:I,"data-testid":"sql-tab-chart",onClick:x,type:"button",children:D}),e[12]=x,e[13]=I,e[14]=D,e[15]=R):R=e[15];let _;e[16]!==n||e[17]!==i||e[18]!==N||e[19]!==b||e[20]!==g?(_=!n.unavailable&&N==="chart"&&b!==null&&(0,u.jsx)("button",{className:Pe(!1),"data-testid":"sql-infer-chart",disabled:n.pending("chart"),onClick:i,type:"button",children:n.pending("chart")?g("Thinking\u2026"):g("Suggest chart")}),e[16]=n,e[17]=i,e[18]=N,e[19]=b,e[20]=g,e[21]=_):_=e[21];let Q=N==="explain",j;e[22]!==Q?(j=Pe(Q),e[22]=Q,e[23]=j):j=e[23];let K;e[24]!==g?(K=g("Explain"),e[24]=g,e[25]=K):K=e[25];let P;e[26]!==h||e[27]!==j||e[28]!==K?(P=(0,u.jsx)("button",{className:j,"data-testid":"sql-tab-explain",onClick:h,type:"button",children:K}),e[26]=h,e[27]=j,e[28]=K,e[29]=P):P=e[29];let W;e[30]!==g?(W=g("Split editor and results"),e[30]=g,e[31]=W):W=e[31];let F=`inline-flex items-center rounded-md border border-border px-2 py-1.5 outline-none transition-colors hover:bg-accent focus-visible:bg-accent ${y?"bg-accent text-foreground":"text-muted-foreground"}`,L;e[32]!==g?(L=g("Split editor and results"),e[32]=g,e[33]=L):L=e[33];let M;e[34]===Symbol.for("react.memo_cache_sentinel")?(M=(0,u.jsxs)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:[(0,u.jsx)("rect",{height:"16",rx:"2",width:"18",x:"3",y:"4"}),(0,u.jsx)("path",{d:"M12 4v16"})]}),e[34]=M):M=e[34];let z;e[35]!==f||e[36]!==y||e[37]!==W||e[38]!==F||e[39]!==L?(z=(0,u.jsx)("button",{"aria-label":W,"aria-pressed":y,className:F,"data-testid":"sql-split-toggle",onClick:f,title:L,type:"button",children:M}),e[35]=f,e[36]=y,e[37]=W,e[38]=F,e[39]=L,e[40]=z):z=e[40];let $;e[41]!==b?($=b!==null&&b.columns.length>0&&(0,u.jsx)(at,{columns:b.columns,name:"query-result",rows:b.rows}),e[41]=b,e[42]=$):$=e[42];let te;e[43]!==g?(te=g("Format"),e[43]=g,e[44]=te):te=e[44];let V;e[45]!==l||e[46]!==w||e[47]!==te?(V=(0,u.jsx)("button",{className:"inline-flex items-center rounded-md border border-border px-3 py-1.5 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50","data-testid":"sql-format",disabled:w,onClick:l,type:"button",children:te}),e[45]=l,e[46]=w,e[47]=te,e[48]=V):V=e[48];let ee;e[49]!==m||e[50]!==S?(ee=(0,u.jsx)(rt,{onChange:m,testId:"sql-shard-input",value:S}),e[49]=m,e[50]=S,e[51]=ee):ee=e[51];let A;e[52]!==w||e[53]!==g?(A=g(w?"Running\u2026":"Run"),e[52]=w,e[53]=g,e[54]=A):A=e[54];let U;e[55]===Symbol.for("react.memo_cache_sentinel")?(U=(0,u.jsx)("kbd",{className:"rounded border border-primary-foreground/30 px-1 font-sans text-[10px]",children:"\u2318\u21B5"}),e[55]=U):U=e[55];let G;e[56]!==c||e[57]!==w||e[58]!==A?(G=(0,u.jsxs)("button",{className:"inline-flex items-center gap-1.5 rounded-md bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground outline-none transition-colors hover:bg-primary/90 focus-visible:bg-primary/90 disabled:pointer-events-none disabled:opacity-50","data-testid":"sql-run",disabled:w,onClick:c,type:"button",children:[A,U]}),e[56]=c,e[57]=w,e[58]=A,e[59]=G):G=e[59];let Y;e[60]!==z||e[61]!==$||e[62]!==V||e[63]!==ee||e[64]!==G?(Y=(0,u.jsxs)("div",{className:"ms-auto flex items-center gap-2",children:[z,$,V,ee,G]}),e[60]=z,e[61]=$,e[62]=V,e[63]=ee,e[64]=G,e[65]=Y):Y=e[65];let O;e[66]!==P||e[67]!==Y||e[68]!==E||e[69]!==R||e[70]!==_?(O=(0,u.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border pe-2",children:[E,R,_,P,Y]}),e[66]=P,e[67]=Y,e[68]=E,e[69]=R,e[70]=_,e[71]=O):O=e[71];let oe;e[72]!==d||e[73]!==p?(oe=p!==void 0&&(0,u.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-1 border-b border-border px-3 py-1.5","data-testid":"sql-statements",children:p.runs.map((X,re)=>(0,u.jsx)("button",{"aria-pressed":re===p.selected,className:`rounded-md border px-2 py-0.5 font-mono text-[11px] outline-none transition-colors ${re===p.selected?"border-foreground text-foreground":"border-border text-muted-foreground hover:text-foreground"} ${X.error===null?"":"border-destructive/50 text-destructive"}`,"data-testid":`sql-statement-${re.toString()}`,onClick:a(()=>{d(re)},"onClick"),title:X.sql,type:"button",children:re+1},`${re.toString()}:${X.sql}`))}),e[72]=d,e[73]=p,e[74]=oe):oe=e[74];let se;e[75]!==o?(se=o!==null&&(0,u.jsx)(st,{className:"m-3 font-mono text-xs",testId:"sql-error",variant:"destructive",children:o}),e[75]=o,e[76]=se):se=e[76];let le;e[77]!==o||e[78]!==b||e[79]!==g?(le=o===null&&b===null&&(0,u.jsx)("p",{className:"p-4 text-sm text-muted-foreground","data-testid":"sql-empty",children:g("Click Run to execute your query.")}),e[77]=o,e[78]=b,e[79]=g,e[80]=le):le=e[80];let ie;e[81]!==t||e[82]!==o||e[83]!==N||e[84]!==b||e[85]!==g?(ie=o===null&&b!==null&&(0,u.jsxs)("div",{"data-testid":"sql-result",children:[N==="chart"?(0,u.jsx)(ct,{axes:t,result:b}):(0,u.jsx)(dt,{result:b}),(0,u.jsx)("p",{className:"border-t border-border px-3 py-1.5 text-xs text-muted-foreground","data-testid":"sql-count",children:b.truncated?g("Showing the first {max} of {count} rows.",{count:b.rowCount,max:b.rows.length}):g("{count} rows",{count:b.rowCount})})]}),e[81]=t,e[82]=o,e[83]=N,e[84]=b,e[85]=g,e[86]=ie):ie=e[86];let H;e[87]!==se||e[88]!==le||e[89]!==ie?(H=(0,u.jsxs)("div",{className:"min-h-0 flex-1 overflow-auto",children:[se,le,ie]}),e[87]=se,e[88]=le,e[89]=ie,e[90]=H):H=e[90];let J;return e[91]!==r||e[92]!==O||e[93]!==oe||e[94]!==H?(J=(0,u.jsxs)("div",{className:r,children:[O,oe,H]}),e[91]=r,e[92]=O,e[93]=oe,e[94]=H,e[95]=J):J=e[95],J},"bs"),yo=a((s,e)=>s.trim()===""?e:(s.split(`
|
|
15
|
+
`)[0]??s).slice(0,24),"gs"),wo=a(s=>{s?.focus(),s?.select()},"xs"),So=a(s=>{let e=(0,Z.c)(14),{initial:n,onCancel:t,onCommit:r,placeholder:o,testId:l}=s,i=ae(),c;e[0]!==r?(c=a(f=>{r(f.currentTarget.value.trim())},"c"),e[0]=r,e[1]=c):c=e[1];let d=c,m;e[2]!==t||e[3]!==r?(m=a(f=>{f.key==="Enter"?r(f.currentTarget.value.trim()):f.key==="Escape"&&t()},"f"),e[2]=t,e[3]=r,e[4]=m):m=e[4];let x=m,h;e[5]!==i?(h=i("Tab title"),e[5]=i,e[6]=h):h=e[6];let v;return e[7]!==n||e[8]!==d||e[9]!==x||e[10]!==o||e[11]!==h||e[12]!==l?(v=(0,u.jsx)("input",{"aria-label":h,className:"w-40 rounded border border-ring bg-background px-1 py-0.5 text-xs outline-none","data-testid":l,defaultValue:n,onBlur:d,onKeyDown:x,placeholder:o,ref:wo,type:"text"}),e[7]=n,e[8]=d,e[9]=x,e[10]=o,e[11]=h,e[12]=l,e[13]=v):v=e[13],v},"ys"),Co=a(s=>{let e=(0,Z.c)(29),{idBase:n,onDiscard:t,onKeep:r}=s,o=ae(),l=`sql-tab-close-prompt-${n}`,i;e[0]!==o?(i=o("Discard?"),e[0]=o,e[1]=i):i=e[1];let c;e[2]!==i?(c=(0,u.jsx)("span",{className:"text-[11px] text-muted-foreground",children:i}),e[2]=i,e[3]=c):c=e[3];let d;e[4]!==o?(d=o("Discard changes"),e[4]=o,e[5]=d):d=e[5];let m=`sql-tab-close-confirm-${n}`,x;e[6]!==o?(x=o("Discard changes"),e[6]=o,e[7]=x):x=e[7];let h;e[8]===Symbol.for("react.memo_cache_sentinel")?(h=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.4,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M5 13l4 4L19 7"})}),e[8]=h):h=e[8];let v;e[9]!==t||e[10]!==d||e[11]!==m||e[12]!==x?(v=(0,u.jsx)("button",{"aria-label":d,className:"flex size-5 items-center justify-center rounded text-destructive hover:bg-destructive/10","data-testid":m,onClick:t,title:x,type:"button",children:h}),e[9]=t,e[10]=d,e[11]=m,e[12]=x,e[13]=v):v=e[13];let f;e[14]!==o?(f=o("Keep editing"),e[14]=o,e[15]=f):f=e[15];let N=`sql-tab-close-cancel-${n}`,b;e[16]!==o?(b=o("Keep editing"),e[16]=o,e[17]=b):b=e[17];let w;e[18]===Symbol.for("react.memo_cache_sentinel")?(w=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.4,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})}),e[18]=w):w=e[18];let p;e[19]!==r||e[20]!==N||e[21]!==b||e[22]!==f?(p=(0,u.jsx)("button",{"aria-label":f,className:"flex size-5 items-center justify-center rounded text-muted-foreground hover:bg-accent","data-testid":N,onClick:r,title:b,type:"button",children:w}),e[19]=r,e[20]=N,e[21]=b,e[22]=f,e[23]=p):p=e[23];let S;return e[24]!==l||e[25]!==p||e[26]!==c||e[27]!==v?(S=(0,u.jsxs)("span",{className:"flex shrink-0 items-center gap-1","data-testid":l,role:"group",children:[c,v,p]}),e[24]=l,e[25]=p,e[26]=c,e[27]=v,e[28]=S):S=e[28],S},"vs"),ko=a(s=>{let e=(0,Z.c)(47),{active:n,canClose:t,onClose:r,onMenu:o,onRename:l,onSelect:i,tab:c}=s,d=ae(),[m,x]=(0,B.useState)(!1),[h,v]=(0,B.useState)(!1),f;e[0]!==o||e[1]!==c.id?(f=a($=>{o(c.id,$)},"d"),e[0]=o,e[1]=c.id,e[2]=f):f=e[2];let N=f,b;e[3]!==i||e[4]!==c.id?(b=a(()=>{i(c.id)},"m"),e[3]=i,e[4]=c.id,e[5]=b):b=e[5];let w=b,p;e[6]===Symbol.for("react.memo_cache_sentinel")?(p=a(()=>{x(!0)},"b"),e[6]=p):p=e[6];let S=p,y;e[7]!==r||e[8]!==c?(y=a($=>{$.stopPropagation(),qt(c)?v(!0):r(c.id)},"v"),e[7]=r,e[8]=c,e[9]=y):y=e[9];let g=y,C;e[10]!==r||e[11]!==c.id?(C=a($=>{$.stopPropagation(),v(!1),r(c.id)},"E"),e[10]=r,e[11]=c.id,e[12]=C):C=e[12];let k=C,q;e[13]===Symbol.for("react.memo_cache_sentinel")?(q=a($=>{$.stopPropagation(),v(!1)},"T"),e[13]=q):q=e[13];let E=q,T;e[14]!==l||e[15]!==c.id?(T=a($=>{l(c.id,$),x(!1)},"R"),e[14]=l,e[15]=c.id,e[16]=T):T=e[16];let I=T,D;e[17]===Symbol.for("react.memo_cache_sentinel")?(D=a(()=>{x(!1)},"_"),e[17]=D):D=e[17];let R=D,_;e[18]!==c.name?(_=c.name.trim(),e[18]=c.name,e[19]=_):_=e[19];let Q=_,j;e[20]!==d||e[21]!==c.sql?(j=yo(c.sql,d("Untitled")),e[20]=d,e[21]=c.sql,e[22]=j):j=e[22];let K=j,P=n?"bg-background text-foreground":"bg-muted/40 text-muted-foreground hover:text-foreground",W;e[23]!==P?(W=ue("group/tab flex shrink-0 items-center gap-1 border-e border-border ps-3 pe-1.5 text-xs",P),e[23]=P,e[24]=W):W=e[24];let F=`sql-tab-${c.id}`,L;e[25]!==n||e[26]!==I||e[27]!==Q||e[28]!==K||e[29]!==m||e[30]!==w||e[31]!==d||e[32]!==c.id?(L=m?(0,u.jsx)(So,{initial:Q,onCancel:R,onCommit:I,placeholder:K,testId:`sql-tab-rename-${c.id}`}):(0,u.jsx)("button",{"aria-pressed":n,className:"max-w-40 truncate py-1.5 outline-none","data-testid":`sql-tab-select-${c.id}`,onClick:w,onDoubleClick:S,title:d("Double-click to rename"),type:"button",children:Q===""?K:Q}),e[25]=n,e[26]=I,e[27]=Q,e[28]=K,e[29]=m,e[30]=w,e[31]=d,e[32]=c.id,e[33]=L):L=e[33];let M;e[34]!==t||e[35]!==k||e[36]!==h||e[37]!==g||e[38]!==d||e[39]!==c.id?(M=t&&(h?(0,u.jsx)(Co,{idBase:c.id,onDiscard:k,onKeep:E}):(0,u.jsx)("button",{"aria-label":d("Close tab"),className:"flex size-5 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-destructive/10 hover:text-destructive","data-testid":`sql-tab-close-${c.id}`,onClick:g,title:d("Close tab"),type:"button",children:(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})})})),e[34]=t,e[35]=k,e[36]=h,e[37]=g,e[38]=d,e[39]=c.id,e[40]=M):M=e[40];let z;return e[41]!==N||e[42]!==W||e[43]!==F||e[44]!==L||e[45]!==M?(z=(0,u.jsxs)("div",{className:W,"data-testid":F,onContextMenu:N,children:[L,M]}),e[41]=N,e[42]=W,e[43]=F,e[44]=L,e[45]=M,e[46]=z):z=e[46],z},"Ss"),No=a(s=>{let e=(0,Z.c)(43),{model:n,onSelect:t}=s,r=ae(),{activeTab:o,addEditorTab:l,cancelBulk:i,closeEditorTab:c,closeTabMenu:d,confirmBulk:m,menuStyle:x,onBackdropContextMenu:h,onCloseAll:v,onCloseOthers:f,onCloseToRight:N,openTabMenu:b,pendingBulk:w,renameTab:p,tabMenu:S,tabs:y}=n,g;if(e[0]!==o||e[1]!==c||e[2]!==t||e[3]!==b||e[4]!==p||e[5]!==y){let _;e[7]!==o||e[8]!==c||e[9]!==t||e[10]!==b||e[11]!==p||e[12]!==y.length?(_=a(Q=>(0,u.jsx)(ko,{active:Q.id===o.id,canClose:y.length>1,onClose:c,onMenu:b,onRename:p,onSelect:t,tab:Q},Q.id),"L"),e[7]=o,e[8]=c,e[9]=t,e[10]=b,e[11]=p,e[12]=y.length,e[13]=_):_=e[13],g=y.map(_),e[0]=o,e[1]=c,e[2]=t,e[3]=b,e[4]=p,e[5]=y,e[6]=g}else g=e[6];let C;e[14]!==r?(C=r("New tab"),e[14]=r,e[15]=C):C=e[15];let k=y.length>=Xe,q;e[16]!==r?(q=r("New tab"),e[16]=r,e[17]=q):q=e[17];let E;e[18]===Symbol.for("react.memo_cache_sentinel")?(E=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[18]=E):E=e[18];let T;e[19]!==l||e[20]!==C||e[21]!==k||e[22]!==q?(T=(0,u.jsx)("button",{"aria-label":C,className:"flex size-8 shrink-0 items-center justify-center text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-add",disabled:k,onClick:l,title:q,type:"button",children:E}),e[19]=l,e[20]=C,e[21]=k,e[22]=q,e[23]=T):T=e[23];let I;e[24]!==g||e[25]!==T?(I=(0,u.jsxs)("div",{className:"flex shrink-0 items-stretch overflow-x-auto border-b border-border bg-muted/30","data-testid":"sql-tab-strip",role:"tablist",children:[g,T]}),e[24]=g,e[25]=T,e[26]=I):I=e[26];let D;e[27]!==i||e[28]!==d||e[29]!==m||e[30]!==x||e[31]!==h||e[32]!==v||e[33]!==f||e[34]!==N||e[35]!==w||e[36]!==r||e[37]!==S||e[38]!==y?(D=S!==null&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("div",{className:"fixed inset-0 z-40","data-testid":"sql-tab-menu-backdrop",onClick:d,onContextMenu:h,role:"presentation"}),(0,u.jsx)("div",{className:"fixed z-50 min-w-44 rounded-md border border-border bg-popover py-1 text-popover-foreground shadow-md","data-testid":"sql-tab-menu",role:"menu",style:x,children:w===null?(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-menu-close-others",disabled:y.length<=1,onClick:f,role:"menuitem",type:"button",children:r("Close other tabs")}),(0,u.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-menu-close-right",disabled:y.findIndex(_=>_.id===S.id)>=y.length-1,onClick:N,role:"menuitem",type:"button",children:r("Close tabs to the right")}),(0,u.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-tab-menu-close-all",onClick:v,role:"menuitem",type:"button",children:r("Close all tabs")})]}):(0,u.jsxs)("div",{className:"px-3 py-1.5","data-testid":"sql-tab-menu-confirm",children:[(0,u.jsx)("p",{className:"pb-1.5 text-xs text-muted-foreground",children:r("Discard unsaved tabs?")}),(0,u.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,u.jsx)("button",{className:"rounded px-2 py-1 text-xs font-medium text-destructive outline-none hover:bg-destructive/10 focus-visible:bg-destructive/10","data-testid":"sql-tab-menu-confirm-discard",onClick:m,type:"button",children:r("Discard")}),(0,u.jsx)("button",{className:"rounded px-2 py-1 text-xs text-muted-foreground outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-tab-menu-confirm-cancel",onClick:i,type:"button",children:r("Cancel")})]})]})})]}),e[27]=i,e[28]=d,e[29]=m,e[30]=x,e[31]=h,e[32]=v,e[33]=f,e[34]=N,e[35]=w,e[36]=r,e[37]=S,e[38]=y,e[39]=D):D=e[39];let R;return e[40]!==I||e[41]!==D?(R=(0,u.jsxs)(u.Fragment,{children:[I,D]}),e[40]=I,e[41]=D,e[42]=R):R=e[42],R},"ws"),qo=Se(ke.runSql),Eo="lunora-studio-sql-split-view",To=a(()=>Ee(Tt[0]?.sql??""),"Ns"),Xo=a(s=>{let e=(0,Z.c)(117),{initialShardKey:n}=s,t=_e(),r=Gn(To),{activeTab:o,output:l,patchActiveOutput:i,patchActiveTab:c,setActiveTabId:d,unlinkQuery:m}=r,x;e[0]!==i||e[1]!==c?(x=a((ne,ce)=>{c({activeId:ce,sql:ne}),i({chart:void 0,error:null,failed:void 0,result:null,script:void 0})},"g"),e[0]=i,e[1]=c,e[2]=x):x=e[2];let h=x,v;e[3]!==h||e[4]!==m?(v={loadIntoActiveTab:h,unlinkQuery:m},e[3]=h,e[4]=m,e[5]=v):v=e[5];let f=eo(v),{recordHistory:N,updateQuerySql:b}=f,w=o.sql,{activeId:p}=o,{chart:S,error:y,failed:g,result:C,running:k}=l,q=l.pane,[E,T]=(0,B.useState)(n??""),[I,D]=Ae(Eo,!1),{probe:R,schema:_}=Dn(E),Q;e[6]!==p||e[7]!==c||e[8]!==b?(Q=a(ne=>{c({sql:ne}),p!==null&&b(p,ne)},"F"),e[6]=p,e[7]=c,e[8]=b,e[9]=Q):Q=e[9];let j=Q,K=gn(w,_,E),P=it(E),W;e[10]!==P||e[11]!==i||e[12]!==C?(W=a(()=>{C!==null&&me((async()=>{let ne=await P.inferChart({columns:C.columns,rowCount:C.rowCount,types:Object.fromEntries(C.columns.map(ce=>[ce,typeof(C.rows[0]?.[ce]??"")]))});i({chart:ne})})())},"W"),e[10]=P,e[11]=i,e[12]=C,e[13]=W):W=e[13];let F=W,L;e[14]!==t||e[15]!==N||e[16]!==E?(L=a(async ne=>{try{let ce=await t.query(qo,{sql:ne},Ce(E));return N(ne),{error:null,result:ce,sql:ne}}catch(ce){return{error:tt(ce),result:null,sql:ne}}},"I"),e[14]=t,e[15]=N,e[16]=E,e[17]=L):L=e[17];let M=L,z;e[18]!==w||e[19]!==i||e[20]!==M||e[21]!==E?(z=a(async ne=>{if(w.trim()==="")return;i({running:!0});let ce=ne==="explain"?Ye(Bt(w),0):wt(w),de=[];for(let Re of ce){let It={error:Re.rejection?.message??"",result:null,sql:Re.sql};de.push(Re.rejection===void 0?await M(Re.sql):It)}ot(E);let et=Math.max(de.length-1,0),ye=de[et];i({chart:void 0,error:ye?.error??null,failed:ye?.error===null||ye===void 0?void 0:{error:ye.error,sql:ye.sql},pane:ne,result:ye?.result??null,running:!1,script:de.length>1?{runs:de,selected:et}:void 0})},"K"),e[18]=w,e[19]=i,e[20]=M,e[21]=E,e[22]=z):z=e[22];let $=z,te;e[23]!==l.script?.runs||e[24]!==i?(te=a(ne=>{let ce=l.script?.runs,de=ce?.[ne];ce===void 0||de===void 0||i({chart:void 0,error:de.error,failed:de.error===null?void 0:{error:de.error,sql:de.sql},result:de.result,script:{runs:ce,selected:ne}})},"ee"),e[23]=l.script?.runs,e[24]=i,e[25]=te):te=e[25];let V=te,ee;e[26]!==$?(ee=a(()=>{me($("results"))},"Z"),e[26]=$,e[27]=ee):ee=e[27];let A=ee,U=!P.unavailable,G;e[28]!==l.pane||e[29]!==$?(G=a(()=>{me($(l.pane))},"j"),e[28]=l.pane,e[29]=$,e[30]=G):G=e[30];let Y;e[31]!==R||e[32]!==_||e[33]!==j||e[34]!==G||e[35]!==U?(Y={inlineEditEnabled:U,onSubmit:G,probe:R,schema:_,setDraft:j},e[31]=R,e[32]=_,e[33]=j,e[34]=G,e[35]=U,e[36]=Y):Y=e[36];let O=Pn(Y),{closeAutocomplete:oe,closeInlineEdit:se}=O,le;e[37]!==w||e[38]!==j?(le=a(()=>{j(Jt(w))},"ie"),e[37]=w,e[38]=j,e[39]=le):le=e[39];let ie=le,H;e[40]!==oe||e[41]!==se||e[42]!==d?(H=a(ne=>{oe(),se(),d(ne)},"P"),e[40]=oe,e[41]=se,e[42]=d,e[43]=H):H=e[43];let J=H,X;e[44]!==i?(X=a(()=>{i({pane:"results"})},"V"),e[44]=i,e[45]=X):X=e[45];let re=X,fe;e[46]!==$?(fe=a(()=>{me($("explain"))},"pe"),e[46]=$,e[47]=fe):fe=e[47];let je=fe,Te;e[48]!==i?(Te=a(()=>{i({pane:"chart"})},"ke"),e[48]=i,e[49]=Te):Te=e[49];let ze=Te,Ie;e[50]!==D||e[51]!==I?(Ie=a(()=>{D(!I)},"Te"),e[50]=D,e[51]=I,e[52]=Ie):Ie=e[52];let He=Ie,We=I?"flex min-h-0 flex-1 flex-row":"flex min-h-0 flex-1 flex-col",Be=I?"flex w-2/5 min-h-0 min-w-0 shrink-0 flex-col border-s border-border":"flex h-2/5 min-h-0 shrink-0 flex-col border-t border-border",he;e[53]!==p||e[54]!==f.clearHistory||e[55]!==f.deleteQuery||e[56]!==f.history||e[57]!==f.listRef||e[58]!==f.loadFromHistory||e[59]!==f.loadTemplate||e[60]!==f.newQuery||e[61]!==f.onSearchChange||e[62]!==f.queries||e[63]!==f.rememberHistory||e[64]!==f.search||e[65]!==f.selectQuery||e[66]!==f.setRememberHistory?(he=(0,u.jsx)(xo,{activeId:p,history:f.history,listRef:f.listRef,onClearHistory:f.clearHistory,onDelete:f.deleteQuery,onLoadHistory:f.loadFromHistory,onLoadTemplate:f.loadTemplate,onNew:f.newQuery,onSearchChange:f.onSearchChange,onSelect:f.selectQuery,onToggleRememberHistory:f.setRememberHistory,queries:f.queries,rememberHistory:f.rememberHistory,search:f.search}),e[53]=p,e[54]=f.clearHistory,e[55]=f.deleteQuery,e[56]=f.history,e[57]=f.listRef,e[58]=f.loadFromHistory,e[59]=f.loadTemplate,e[60]=f.newQuery,e[61]=f.onSearchChange,e[62]=f.queries,e[63]=f.rememberHistory,e[64]=f.search,e[65]=f.selectQuery,e[66]=f.setRememberHistory,e[67]=he):he=e[67];let pe;e[68]!==r||e[69]!==J?(pe=(0,u.jsx)(No,{model:r,onSelect:J}),e[68]=r,e[69]=J,e[70]=pe):pe=e[70];let be;e[71]!==P||e[72]!==K||e[73]!==w||e[74]!==g||e[75]!==j||e[76]!==O.acceptInlineEdit||e[77]!==O.autocompleteState||e[78]!==O.closeInlineEdit||e[79]!==O.editorRef||e[80]!==O.gutterRef||e[81]!==O.handlers||e[82]!==O.inlineEdit||e[83]!==O.listboxId||e[84]!==O.onPickSuggestion||e[85]!==O.overlayRef||e[86]!==O.revealDiagnostic?(be=(0,u.jsx)(ho,{assistant:P,autocomplete:O.autocompleteState,diagnostics:K,draft:w,editorRef:O.editorRef,failed:g,gutterRef:O.gutterRef,handlers:O.handlers,inlineEdit:O.inlineEdit,listboxId:O.listboxId,onAcceptInlineEdit:O.acceptInlineEdit,onCancelInlineEdit:O.closeInlineEdit,onGenerated:j,onPickSuggestion:O.onPickSuggestion,onRevealDiagnostic:O.revealDiagnostic,overlayRef:O.overlayRef}),e[71]=P,e[72]=K,e[73]=w,e[74]=g,e[75]=j,e[76]=O.acceptInlineEdit,e[77]=O.autocompleteState,e[78]=O.closeInlineEdit,e[79]=O.editorRef,e[80]=O.gutterRef,e[81]=O.handlers,e[82]=O.inlineEdit,e[83]=O.listboxId,e[84]=O.onPickSuggestion,e[85]=O.overlayRef,e[86]=O.revealDiagnostic,e[87]=be):be=e[87];let ge;e[88]!==P||e[89]!==y||e[90]!==ie||e[91]!==F||e[92]!==S||e[93]!==A||e[94]!==V||e[95]!==l.script||e[96]!==C||e[97]!==Be||e[98]!==k||e[99]!==E||e[100]!==ze||e[101]!==je||e[102]!==re||e[103]!==I||e[104]!==q||e[105]!==He?(ge=(0,u.jsx)(vo,{assistant:P,chart:S,className:Be,error:y,onFormat:ie,onInferChart:F,onRun:A,onSelectStatement:V,onShardKeyChange:T,onShowChart:ze,onShowExplain:je,onShowResults:re,onToggleSplit:He,pane:q,result:C,running:k,script:l.script,shardKey:E,splitView:I}),e[88]=P,e[89]=y,e[90]=ie,e[91]=F,e[92]=S,e[93]=A,e[94]=V,e[95]=l.script,e[96]=C,e[97]=Be,e[98]=k,e[99]=E,e[100]=ze,e[101]=je,e[102]=re,e[103]=I,e[104]=q,e[105]=He,e[106]=ge):ge=e[106];let xe;e[107]!==be||e[108]!==ge||e[109]!==We?(xe=(0,u.jsxs)("div",{className:We,children:[be,ge]}),e[107]=be,e[108]=ge,e[109]=We,e[110]=xe):xe=e[110];let ve;e[111]!==pe||e[112]!==xe?(ve=(0,u.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[pe,xe]}),e[111]=pe,e[112]=xe,e[113]=ve):ve=e[113];let Le;return e[114]!==he||e[115]!==ve?(Le=(0,u.jsxs)("div",{className:"flex h-full min-w-0","data-testid":"lunora-sql-editor",children:[he,ve]}),e[114]=he,e[115]=ve,e[116]=Le):Le=e[116],Le},"Qs");export{Xo as SqlEditorPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as c,d as b,f as m,g as i,i as d}from"./chunk-YKXDMIHQ.js";var n=b(m(),1);var o=b(i(),1);function p(r){let e=(0,n.c)(8),t,a;e[0]!==r?({className:t,...a}=r,e[0]=r,e[1]=t,e[2]=a):(t=e[1],a=e[2]);let l;e[3]!==t?(l=d("w-full caption-bottom text-xs",t),e[3]=t,e[4]=l):l=e[4];let s;return e[5]!==a||e[6]!==l?(s=(0,o.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto overflow-y-clip",children:(0,o.jsx)("table",{"data-slot":"table",className:l,...a})}),e[5]=a,e[6]=l,e[7]=s):s=e[7],s}c(p,"f");function f(r){let e=(0,n.c)(8),t,a;e[0]!==r?({className:t,...a}=r,e[0]=r,e[1]=t,e[2]=a):(t=e[1],a=e[2]);let l;e[3]!==t?(l=d("bg-muted/50 [&_tr]:border-b",t),e[3]=t,e[4]=l):l=e[4];let s;return e[5]!==a||e[6]!==l?(s=(0,o.jsx)("thead",{"data-slot":"table-header",className:l,...a}),e[5]=a,e[6]=l,e[7]=s):s=e[7],s}c(f,"p");function h(r){let e=(0,n.c)(8),t,a;e[0]!==r?({className:t,...a}=r,e[0]=r,e[1]=t,e[2]=a):(t=e[1],a=e[2]);let l;e[3]!==t?(l=d("[&_tr:last-child]:border-0",t),e[3]=t,e[4]=l):l=e[4];let s;return e[5]!==a||e[6]!==l?(s=(0,o.jsx)("tbody",{"data-slot":"table-body",className:l,...a}),e[5]=a,e[6]=l,e[7]=s):s=e[7],s}c(h,"m");function x(r){let e=(0,n.c)(8),t,a;e[0]!==r?({className:t,...a}=r,e[0]=r,e[1]=t,e[2]=a):(t=e[1],a=e[2]);let l;e[3]!==t?(l=d("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]=l):l=e[4];let s;return e[5]!==a||e[6]!==l?(s=(0,o.jsx)("tr",{"data-slot":"table-row",className:l,...a}),e[5]=a,e[6]=l,e[7]=s):s=e[7],s}c(x,"u");function N(r){let e=(0,n.c)(8),t,a;e[0]!==r?({className:t,...a}=r,e[0]=r,e[1]=t,e[2]=a):(t=e[1],a=e[2]);let l;e[3]!==t?(l=d("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]=l):l=e[4];let s;return e[5]!==a||e[6]!==l?(s=(0,o.jsx)("th",{"data-slot":"table-head",className:l,...a}),e[5]=a,e[6]=l,e[7]=s):s=e[7],s}c(N,"h");function w(r){let e=(0,n.c)(8),t,a;e[0]!==r?({className:t,...a}=r,e[0]=r,e[1]=t,e[2]=a):(t=e[1],a=e[2]);let l;e[3]!==t?(l=d("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]=l):l=e[4];let s;return e[5]!==a||e[6]!==l?(s=(0,o.jsx)("td",{"data-slot":"table-cell",className:l,...a}),e[5]=a,e[6]=l,e[7]=s):s=e[7],s}c(w,"x");export{p as a,f as b,h as c,x as d,N as e,w as f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as Z}from"./chunk-S3CRZLGS.js";import{a as te}from"./chunk-NFS7FTAR.js";import{a as Y}from"./chunk-LIOUCOP2.js";import{b as X}from"./chunk-OGUKYRFM.js";import{a as W}from"./chunk-K7AJEMKE.js";import"./chunk-OKG3HWSJ.js";import{e as G}from"./chunk-6D6Z2KXU.js";import"./chunk-6QA34EWC.js";import"./chunk-TDXV3OT5.js";import"./chunk-Y6CXU7T4.js";import"./chunk-4L4WTGN5.js";import{b as ae,c as ne}from"./chunk-FZ7UOWAB.js";import{a as q,b as ee}from"./chunk-VUPEFCIO.js";import{a as Q}from"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import"./chunk-225VJ77I.js";import"./chunk-YLPFIPVU.js";import"./chunk-ULIQFBZU.js";import"./chunk-XC734N2Q.js";import"./chunk-35DM4JJG.js";import{a as I}from"./chunk-4ZEL6BYL.js";import{c as _}from"./chunk-ZD2UXTLR.js";import{f as D}from"./chunk-EGVOSH7K.js";import"./chunk-FSRSK4LY.js";import"./chunk-RDL5WK55.js";import"./chunk-HEAQVSNS.js";import"./chunk-N6NMLJ6R.js";import{d as M,f as C,g as A,l as V,p as N}from"./chunk-PTZD7RUZ.js";import{a as l,d as j,e as he,f as me,g as pe}from"./chunk-YKXDMIHQ.js";var E=j(me(),1);var c=j(he(),1);var S=j(pe(),1);var ge=l(t=>{let{suggestedIndex:e,table:i}=t;if(typeof i!="string"||i.length===0||typeof e!="object"||e===null)return!1;let{fields:a,name:n}=e;return!Array.isArray(a)||a.length===0||a.some(s=>typeof s!="string"||s.length===0)?!1:typeof n=="string"&&n.length>0},"ye"),be=l((t,e)=>`.index(${JSON.stringify(t)}, [${e.map(i=>JSON.stringify(i)).join(", ")}])`,"ge"),ye=l(t=>{let e=(0,E.c)(19),{fields:i,indexName:a,table:n,testId:s}=t,u=M(),[h,f]=(0,c.useState)(null),m;e[0]!==i||e[1]!==a?(m=l(()=>{let b=be(a,i),$="navigator"in globalThis?globalThis.navigator.clipboard:void 0;if($===void 0){f({copied:!1,declaration:b});return}N($.writeText(b).then(()=>(f({copied:!0,declaration:b}),!0)),()=>{f({copied:!1,declaration:b})})},"m"),e[0]=i,e[1]=a,e[2]=m):m=e[2];let x=m;if(h!==null){let b;return e[3]!==h.copied||e[4]!==h.declaration||e[5]!==u||e[6]!==n||e[7]!==s?(b=h.copied?(0,S.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":`${s}-applied`,children:u("Index declaration copied \u2014 add it to {table} in lunora/schema.ts.",{table:n})}):(0,S.jsxs)("span",{className:"flex flex-col gap-1 text-xs text-muted-foreground","data-testid":`${s}-manual`,children:[u("Could not reach the clipboard \u2014 add this to {table} in lunora/schema.ts:",{table:n}),(0,S.jsx)("code",{className:"font-mono break-all select-all",children:h.declaration})]}),e[3]=h.copied,e[4]=h.declaration,e[5]=u,e[6]=n,e[7]=s,e[8]=b):b=e[8],b}let T;e[9]!==u?(T=u("Copy?"),e[9]=u,e[10]=T):T=e[10];let p;e[11]!==u||e[12]!==n?(p=u("Copy index declaration for {table}",{table:n}),e[11]=u,e[12]=n,e[13]=p):p=e[13];let w;return e[14]!==x||e[15]!==T||e[16]!==p||e[17]!==s?(w=(0,S.jsx)(te,{confirmLabel:T,onConfirm:x,testId:s,children:p}),e[14]=x,e[15]=T,e[16]=p,e[17]=s,e[18]=w):w=e[18],w},"ve"),xe=l((t,e)=>{let i=new Map;for(let a of e){let n=`${a.table} ${a.index}`;i.set(n,(i.get(n)??0)+a.reads)}return t.map(a=>({index:a.index,reads:i.get(`${a.table} ${a.index}`)??0,table:a.table}))},"Se"),ve=l(t=>{let e=new Map;for(let i of t)for(let a of i.scannedTables??[])e.set(a.table,(e.get(a.table)??0)+a.scans);return[...e].map(([i,a])=>({scans:a,table:i}))},"Te"),ie=l((t,e)=>e.map(i=>({index:i.name,table:t})),"P"),we=l(t=>{let e=xe(t.declaredIndexes??[],t.indexHits??[]),i=ve(t.functions??[]),a=t.shardTraffic??[],n=t.analyticsMetrics,s=n&&n.indexHits.length>0?n.indexHits:e,u=n&&n.tableScans.length>0?n.tableScans:i,h=n&&n.shardTraffic.length>0?n.shardTraffic:a,f=ne({indexHits:s,schema:{tables:[]},shardTraffic:h,tableScans:u},{lints:ae,source:"runtime"}),m=t.suppressHotScanTables;return(m===void 0?f:f.filter(x=>!(x.metadata.kind==="hot_scan"&&typeof x.metadata.table=="string"&&m.has(x.metadata.table)))).map(x=>q(x))},"we"),Se=C(I.listTables),Te=C(I.listTableIndexes),Ie=C(I.listTablesIndexes),B=l(t=>`${(t*100).toFixed(1)}%`,"L"),re=l(t=>`${(t/1e3).toFixed(2)}s`,"V"),$e=l(t=>{if(t.length<=1)return t[0]??"";let e=t[t.length-1]??"";return`${t.slice(0,-1).join(", ")} and ${e}`},"Ne"),ke=l((t,e)=>({"high-error-rate":t("High error rate"),"high-evictions":t("High cache eviction rate"),"high-write-contention":t("High write contention"),"low-cache-hit-rate":t("Low cache hit rate"),"missing-index":t("Missing index"),"slow-function":t("Slow function"),"storage-headroom":t("Storage headroom")})[e.kind],"ke"),se=l((t,e)=>({"high-error-rate":t("{rate} of calls failed.",{rate:B(e.value)}),"high-evictions":t("{count} entries evicted recently.",{count:e.value}),"high-write-contention":t("{rate} of calls hit a write conflict \u2014 consider sharding to cut contention.",{rate:B(e.value)}),"low-cache-hit-rate":t("{rate} hit rate over recent traffic.",{rate:B(e.value)}),"missing-index":t("Slowest call took {duration} \u2014 it full-scanned {tables} with no index.",{duration:re(e.value),tables:$e(e.tables??[])}),"slow-function":t("Slowest call took {duration}.",{duration:re(e.value)}),"storage-headroom":t("{size} of the 10 GiB per-shard ceiling \u2014 plan a .shardBy() migration while it still has runway.",{size:V(e.value)})})[e.kind],"U"),Ne=l(t=>{let e=(0,E.c)(10),{onJump:i,table:a}=t,n=M(),s;e[0]!==i||e[1]!==a?(s=l(()=>{i(a)},"i"),e[0]=i,e[1]=a,e[2]=s):s=e[2];let u=s,h=`in-add-index-${a}`,f;e[3]!==n||e[4]!==a?(f=n("Add index on {table}",{table:a}),e[3]=n,e[4]=a,e[5]=f):f=e[5];let m;return e[6]!==u||e[7]!==h||e[8]!==f?(m=(0,S.jsx)(Q,{"data-testid":h,onClick:u,size:"sm",type:"button",variant:"outline",children:f}),e[6]=u,e[7]=h,e[8]=f,e[9]=m):m=e[9],m},"Be"),ze=l(({initialShardKey:t,loadShardTraffic:e})=>{let i=D(),a=G(),n=M(),{queryShardKey:s,setShardKey:u,shardKey:h}=Z(t),[f,m]=(0,c.useState)(null),[x,T]=(0,c.useState)(null),p=(0,c.useRef)(""),w=_(I.getMetrics,{},{live:!0,shardKey:s}),b=_(I.getFunctionStats,{},{live:!0,shardKey:s}),$=_(I.getAdvisories,{},{live:!0,shardKey:s}),L=w.data??null,H=b.data?.functions??null,F=$.data?.advisories??null,J=w.data?.indexHits??null,O=w.error!==null&&b.error!==null?w.error:null,oe=e??(r=>i.shardTraffic(r)),le=l(async(r,y)=>{let o=r[0];if(o===void 0||o===""){p.current===y&&T(null);return}try{let g=await oe(o);if(p.current!==y)return;let d=new Map;for(let v of g.shards)d.has(v.shardKey)||d.set(v.shardKey,{requests:v.requests,shardKey:v.shardKey});T([...d.values()])}catch{p.current===y&&T(null)}},"Y"),de=l(async(r,y)=>{let o=await Promise.allSettled(r.map(async d=>[d,await i.query(Te,{table:d},A(y))])),g=[];for(let d of o)if(d.status==="fulfilled"){let[v,k]=d.value;g.push(...ie(v,k.indexes))}return g},"Z"),z=(0,c.useEffectEvent)(async r=>{p.current=r;let y=[];try{let o=await i.query(Se,{},A(r));if(p.current!==r)return;X(r),y=o.map(d=>d.name);let g=[];if(y.length>0)try{let d=await i.query(Ie,{tables:y},A(r));if(p.current!==r)return;for(let[v,k]of Object.entries(d.indexesByTable))g.push(...ie(v,k))}catch{if(g=await de(y,r),p.current!==r)return}m(g)}catch{p.current===r&&m(null)}await le(y,r)});(0,c.useEffect)(()=>{N(z(s))},[s]);let ce=(0,c.useEffectEvent)(()=>{w.refetch(),b.refetch(),$.refetch(),N(z(s))});(0,c.useEffect)(()=>{let r=l(()=>{document.visibilityState==="visible"&&ce()},"r");return document.addEventListener("visibilitychange",r),()=>{document.removeEventListener("visibilitychange",r)}},[]);let U=(0,c.useCallback)(r=>{N(a({search:{table:r},to:"/schema"}))},[a]),K=(0,c.useMemo)(()=>W(L,H),[H,L]),P=(0,c.useMemo)(()=>new Set(K.filter(r=>r.kind==="missing-index").flatMap(r=>r.tables??[])),[K]),R=(0,c.useMemo)(()=>we({declaredIndexes:f??[],functions:H,indexHits:J,shardTraffic:x,suppressHotScanTables:P}),[f,H,J,P,x]),ue=(0,c.useMemo)(()=>{let r=K.map(o=>{let g=o.kind==="missing-index"?o.tables??[]:[];return{action:g.length>0?g.map(d=>(0,S.jsx)(Ne,{onJump:U,table:d},d)):void 0,description:o.message===void 0?se(n,o):`${se(n,o)} \u2014 ${o.message}`,entity:o.fn,issueType:ke(n,o),key:`${o.kind}:${o.fn??""}`,level:o.severity}}),y=new Set(["unindexed_foreign_key","unindexed_relation_target"]);return[...(F??[]).map(o=>{let g=q(o);if(y.has(o.name)&&ge(o.metadata)){let{table:d,suggestedIndex:v}=o.metadata,k=`in-apply-index-${d}-${v.name}`;return{...g,action:(0,S.jsx)(ye,{fields:v.fields,indexName:v.name,table:d,testId:k})}}return g}),...R,...r]},[F,K,U,R,n]),fe=(0,S.jsx)(Y,{onChange:u,testId:"in-shard-input",value:h});return(0,S.jsx)(ee,{error:O,errorSource:O===null?void 0:w.errorSource,rows:ue,testId:"lunora-insights",toolbar:fe})},"Ue");export{ze as InsightsPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as 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{D as gt,b as ie,c as fe,e as Lt,f as ue}from"./chunk-TDXV3OT5.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-PFIUSVS6.js";import{a as k}from"./chunk-B2HYHTIX.js";import"./chunk-4GTO7FL5.js";import"./chunk-NKZCEQJ7.js";import"./chunk-5JDWLCSH.js";import"./chunk-EVTM6Q43.js";import{a as A}from"./chunk-S3CRZLGS.js";import{a as $}from"./chunk-LIOUCOP2.js";import"./chunk-OGUKYRFM.js";import"./chunk-OKG3HWSJ.js";import"./chunk-6D6Z2KXU.js";import"./chunk-6QA34EWC.js";import"./chunk-TDXV3OT5.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-YLPFIPVU.js";import"./chunk-ULIQFBZU.js";import"./chunk-XC734N2Q.js";import"./chunk-35DM4JJG.js";import{a as T}from"./chunk-4ZEL6BYL.js";import{c as S}from"./chunk-ZD2UXTLR.js";import"./chunk-EGVOSH7K.js";import"./chunk-FSRSK4LY.js";import"./chunk-RDL5WK55.js";import{a as O}from"./chunk-FKVZRPV5.js";import{a as j,e as w}from"./chunk-N6NMLJ6R.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 H}from"./chunk-LCRAEP3B.js";import"./chunk-UXXDN6Z3.js";import{a as F}from"./chunk-66UGPQVC.js";import{a as I}from"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import"./chunk-225VJ77I.js";import{b as $}from"./chunk-ZD2UXTLR.js";import{f as S}from"./chunk-EGVOSH7K.js";import"./chunk-FSRSK4LY.js";import"./chunk-RDL5WK55.js";import{a as B}from"./chunk-FKVZRPV5.js";import{a as L,b as O,c as E,d as k,e as n,f as l}from"./chunk-HEAQVSNS.js";import{a as j,e as z}from"./chunk-N6NMLJ6R.js";import{d as C,p as R,t as T}from"./chunk-PTZD7RUZ.js";import{a as f,d as y,e as D,f as G,g as J}from"./chunk-YKXDMIHQ.js";var P=y(G(),1);var Q=y(D(),1);var s=y(J(),1);var w=200,se=f(()=>{let e=(0,P.c)(28),d=S(),a=C(),[i,q]=(0,Q.useState)(0),p;e[0]!==i?(p=["lunora-auth-sessions",w,i],e[0]=i,e[1]=p):p=e[1];let x;e[2]!==d||e[3]!==i?(x=f(()=>d.listAuthSessions({limit:w,offset:i}),"p"),e[2]=d,e[3]=i,e[4]=x):x=e[4];let r=$(p,x),{error:g}=r,t=r.data?.rows??null,N;e[5]!==r?(N=f(()=>{r.refetch()},"b"),e[5]=r,e[6]=N):N=e[6],F(N,!0);let v;e[7]!==d||e[8]!==r?(v=f(o=>{R((async()=>{await d.revokeAuthSession({sessionId:o}),r.refetch()})())},"g"),e[7]=d,e[8]=r,e[9]=v):v=e[9];let b=v,c;e[10]!==g?(c=g!==null&&(0,s.jsx)("p",{className:"text-sm text-destructive","data-testid":"auth-sessions-error",role:"alert",children:g}),e[10]=g,e[11]=c):c=e[11];let m;e[12]!==t||e[13]!==a?(m=t!==null&&t.length===0&&(0,s.jsx)(B,{testId:"auth-sessions-empty",title:a("No active sessions.")}),e[12]=t,e[13]=a,e[14]=m):m=e[14];let h;e[15]!==b||e[16]!==t||e[17]!==a?(h=t!==null&&t.length>0&&(0,s.jsx)(j,{className:"overflow-hidden py-0",children:(0,s.jsx)(z,{className:"px-0",children:(0,s.jsxs)(L,{"data-testid":"auth-sessions-table",children:[(0,s.jsx)(O,{children:(0,s.jsxs)(k,{children:[(0,s.jsx)(n,{children:a("user")}),(0,s.jsx)(n,{children:a("expires")}),(0,s.jsx)(n,{children:a("ip")}),(0,s.jsx)(n,{children:a("user agent")}),(0,s.jsx)(n,{children:a("impersonated by")}),(0,s.jsx)(n,{"aria-label":a("Actions")})]})}),(0,s.jsx)(E,{children:t.map(o=>(0,s.jsxs)(k,{"data-testid":`auth-session-${o.id}`,children:[(0,s.jsx)(l,{className:"font-mono text-xs",children:o.userId}),(0,s.jsx)(l,{className:"text-muted-foreground tabular-nums",children:T(o.expiresAt)}),(0,s.jsx)(l,{children:o.ipAddress??""}),(0,s.jsx)(l,{className:"max-w-40 truncate",children:o.userAgent??""}),(0,s.jsx)(l,{className:"font-mono text-xs",children:o.impersonatedBy??""}),(0,s.jsx)(l,{children:(0,s.jsx)(I,{"data-testid":`auth-session-revoke-${o.id}`,onClick:f(()=>{b(o.id)},"onClick"),size:"xs",type:"button",variant:"ghost",children:a("Revoke")})})]},o.id))})]})})}),e[15]=b,e[16]=t,e[17]=a,e[18]=h):h=e[18];let u;e[19]!==i||e[20]!==t||e[21]!==r.data?.total?(u=t!==null&&(0,s.jsx)(H,{count:t.length,offset:i,onOffsetChange:q,pageSize:w,prefix:"auth-sessions",total:r.data?.total}),e[19]=i,e[20]=t,e[21]=r.data?.total,e[22]=u):u=e[22];let A;return e[23]!==c||e[24]!==m||e[25]!==h||e[26]!==u?(A=(0,s.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"auth-sessions",children:[c,m,h,u]}),e[23]=c,e[24]=m,e[25]=h,e[26]=u,e[27]=A):A=e[27],A},"ee");export{se as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as se}from"./chunk-EA2JKR5D.js";import{i as ae}from"./chunk-6QA34EWC.js";import"./chunk-TDXV3OT5.js";import"./chunk-4L4WTGN5.js";import{a as W}from"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import"./chunk-225VJ77I.js";import{a as G}from"./chunk-4ZEL6BYL.js";import{c as ne}from"./chunk-ZD2UXTLR.js";import{f as V}from"./chunk-EGVOSH7K.js";import"./chunk-FSRSK4LY.js";import"./chunk-RDL5WK55.js";import{a as B}from"./chunk-FKVZRPV5.js";import{a as j,b as D,c as F,d as x,e as i,f as d}from"./chunk-HEAQVSNS.js";import{a as R,e as _}from"./chunk-N6NMLJ6R.js";import{d as X,f as Y,g as Z,h as $,m as ee,p as A}from"./chunk-PTZD7RUZ.js";import{a as s,d as re,e as oe,g as le}from"./chunk-YKXDMIHQ.js";var l=re(oe(),1);var e=re(le(),1);var ie=["queued","running","paused","waiting","complete","errored","terminated"],de=["pause","resume","terminate"],ce="WORKFLOWS_NOT_CONFIGURED",ue=s(o=>typeof o=="object"&&o!==null&&o.code===ce,"ce"),me=s(o=>{let a=o.error??o.output;if(a===void 0)return"\u2014";try{return JSON.stringify(a,ee)}catch{return"(unserializable)"}},"ue"),fe=s(({loadDetail:o,loadInstances:a,readOnly:g,runAction:J,workflowName:k})=>{let T=V(),n=X(),[N,v]=(0,l.useState)(null),[C,I]=(0,l.useState)(null),[b,z]=(0,l.useState)(""),[y,p]=(0,l.useState)(null),[L,O]=(0,l.useState)(!1),[P,U]=(0,l.useState)(null),f=(0,l.useRef)(0),h=(0,l.useRef)(0),w=(0,l.useRef)(0),q=o??(r=>T.getWorkflowInstance(r)),E=g?void 0:J??(a===void 0?r=>T.setWorkflowInstanceStatus(r):void 0),K=s(async()=>{h.current+=1;let r=h.current;p(null),O(!1);let c=b===""?void 0:b;try{if(a===void 0){let u=await T.listWorkflowInstances({name:k,status:c});if(r!==h.current)return;if(u.configured===!1){v(null),O(!0);return}v(u.instances);return}let t=await a({name:k,status:c});r===h.current&&v(t)}catch(t){if(r!==h.current)return;v(null),ue(t)?O(!0):p($(t))}},"P");(0,l.useEffect)(()=>{f.current+=1,w.current+=1,I(null),A(K())},[k,b]);let M=s(async r=>{w.current+=1;let c=w.current;p(null);try{let t=await q({id:r,name:k});c===w.current&&I(t)}catch(t){c===w.current&&p($(t))}},"J"),H=s(()=>{w.current+=1,I(null)},"B"),Q=s(async(r,c)=>{if(E===void 0)return;let t=f.current;U(r),p(null);try{await E({action:c,id:r,name:k}),t===f.current&&await K()}catch(u){p($(u))}U(null)},"K");return(0,e.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-workflow-instances",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,e.jsx)("h3",{className:"text-sm font-medium",children:n("Instance history")}),(0,e.jsxs)("select",{"aria-label":n("Filter by status"),className:"h-8 rounded-md border border-input bg-transparent px-2.5 py-1 text-xs outline-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50","data-testid":"workflow-instances-filter",onChange:s(r=>{z(r.target.value)},"onChange"),value:b,children:[(0,e.jsx)("option",{value:"",children:n("All statuses")}),ie.map(r=>(0,e.jsx)("option",{value:r,children:r},r))]})]}),y!==null&&(0,e.jsx)("p",{className:"text-sm text-destructive","data-testid":"workflow-instances-error",role:"alert",children:y}),L&&(0,e.jsx)(B,{description:n("Set CLOUDFLARE_ACCOUNT_ID and CLOUDFLARE_API_TOKEN in your .dev.vars to enable workflow instance history."),testId:"workflow-instances-unconfigured",title:n("Workflow inspection not configured")}),!L&&N!==null&&N.length===0&&(0,e.jsx)(B,{description:n("No instances match this filter for the selected workflow."),testId:"workflow-instances-empty",title:n("No instances")}),N!==null&&N.length>0&&(0,e.jsx)(R,{className:"overflow-hidden py-0",children:(0,e.jsx)(_,{className:"px-0",children:(0,e.jsxs)(j,{"data-testid":"workflow-instances-table",children:[(0,e.jsx)(D,{children:(0,e.jsxs)(x,{children:[(0,e.jsx)(i,{children:n("Instance id")}),(0,e.jsx)(i,{children:n("Status")}),(0,e.jsx)(i,{children:n("Created")}),(0,e.jsx)(i,{children:n("Ended")}),(0,e.jsx)(i,{"aria-label":n("Actions")})]})}),(0,e.jsx)(F,{children:N.map(r=>(0,e.jsxs)(x,{"data-testid":`workflow-instance-${r.id}`,children:[(0,e.jsx)(d,{className:"font-mono text-xs",children:r.id}),(0,e.jsx)(d,{className:"font-mono text-xs",children:r.status}),(0,e.jsx)(d,{className:"text-muted-foreground tabular-nums",children:r.createdOn??"\u2014"}),(0,e.jsx)(d,{className:"text-muted-foreground tabular-nums",children:r.endedOn??"\u2014"}),(0,e.jsx)(d,{className:"text-right",children:(0,e.jsxs)("div",{className:"flex justify-end gap-1.5",children:[(0,e.jsx)(W,{"data-testid":`workflow-instance-steps-${r.id}`,onClick:s(()=>{A(M(r.id))},"onClick"),size:"sm",type:"button",variant:"outline",children:n("Steps")}),E!==void 0&&de.map(c=>(0,e.jsx)(W,{"data-testid":`workflow-instance-${c}-${r.id}`,disabled:P===r.id,onClick:s(()=>{A(Q(r.id,c))},"onClick"),size:"sm",type:"button",variant:"ghost",children:n(c)},c))]})})]},r.id))})]})})}),C!==null&&(0,e.jsx)(R,{className:"overflow-hidden py-0","data-testid":"workflow-instance-detail",children:(0,e.jsxs)(_,{className:"flex flex-col gap-2 px-4 py-3",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between",children:[(0,e.jsxs)("span",{className:"font-mono text-xs",children:[n("Steps")," \xB7 ",C.id]}),(0,e.jsx)(W,{"data-testid":"workflow-instance-detail-close",onClick:H,size:"xs",type:"button",variant:"ghost",children:n("Close")})]}),C.steps.length===0?(0,e.jsx)("p",{className:"text-xs text-muted-foreground",children:n("This instance has no recorded steps yet.")}):(0,e.jsxs)(j,{"data-testid":"workflow-instance-steps",children:[(0,e.jsx)(D,{children:(0,e.jsxs)(x,{children:[(0,e.jsx)(i,{children:n("Step")}),(0,e.jsx)(i,{children:n("Type")}),(0,e.jsx)(i,{children:n("Attempts")}),(0,e.jsx)(i,{children:n("Started")}),(0,e.jsx)(i,{children:n("Output")})]})}),(0,e.jsx)(F,{children:C.steps.map((r,c)=>(0,e.jsxs)(x,{"data-testid":`workflow-step-${String(c)}`,children:[(0,e.jsx)(d,{className:"font-mono text-xs",children:r.name}),(0,e.jsx)(d,{className:"text-xs text-muted-foreground",children:r.type??"\u2014"}),(0,e.jsx)(d,{className:"tabular-nums",children:r.attempts??"\u2014"}),(0,e.jsx)(d,{className:"text-muted-foreground tabular-nums",children:r.start??"\u2014"}),(0,e.jsx)(d,{className:"font-mono text-xs text-muted-foreground",children:me(r)})]},`${r.name}:${String(c)}`))})]})]})})]})},"me"),he=Y(G.createWorkflowInstance),pe=Y(G.getWorkflowInstanceStatus),we=s(o=>{if(o.error)return`${o.error.name}: ${o.error.message}`;if(o.output===void 0)return"\u2014";try{return JSON.stringify(o.output,ee)}catch{return"(unserializable)"}},"pe"),xe=s((o,a)=>o.some(g=>g.exportName===a)?a:o[0]?.exportName??"","xe"),$e=s(()=>{let o=V(),a=X(),{data:g,error:J}=ne(G.listWorkflows,{}),[k,T]=(0,l.useState)(""),[n,N]=(0,l.useState)(""),[v,C]=(0,l.useState)(""),[I,b]=(0,l.useState)(!1),[z,y]=(0,l.useState)(null),[p,L]=(0,l.useState)([]),[O,P]=(0,l.useState)(null),U=g!==void 0,f=Array.isArray(g?.workflows)?[...g.workflows].toSorted((t,u)=>t.exportName.localeCompare(u.exportName)):[],h=xe(f,k),w=f.find(t=>t.exportName===h),q=s(t=>{L(u=>{let m=u.filter(S=>!(S.exportName===t.exportName&&S.id===t.id));return[t,...m]})},"D"),E=s(async()=>{let t=h;if(t==="")return;let u,m=v.trim();if(m!=="")try{u=JSON.parse(m)}catch{y(a("Params must be valid JSON"));return}b(!0),y(null);try{let S=n.trim(),te=await o.query(he,{exportName:t,id:S===""?void 0:S,params:u},Z(""));q({exportName:t,id:te.id,status:te.status}),N("")}catch(S){y($(S))}b(!1)},"Q"),K=s(()=>{A(E())},"V"),M=s(async(t,u)=>{P(u);try{let m=await o.query(pe,{exportName:t,id:u},Z(""));q({error:m.error,exportName:t,id:m.id,output:m.output,status:m.status})}catch(m){y($(m))}P(null)},"O"),H=s(t=>{T(t.target.value)},"P"),Q=s(t=>{N(t.target.value)},"J"),r=s(t=>{C(t.target.value)},"B"),c=s(t=>{let{export:u,id:m}=t.currentTarget.dataset;u!==void 0&&m!==void 0&&A(M(u,m))},"K");return(0,e.jsxs)("div",{className:"flex flex-col gap-6","data-testid":"lunora-workflows-panel",children:[J!==null&&(0,e.jsx)("p",{className:"text-sm text-destructive","data-testid":"workflows-error",role:"alert",children:J}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:a("Workflows are declared in code with defineWorkflow and run as durable Cloudflare Workflows. Start an instance and observe its status below.")}),U&&f.length===0?(0,e.jsx)(B,{description:a("No defineWorkflow is declared in lunora/workflows.ts in this deployment. Add one to run a durable, multi-step workflow."),testId:"workflows-empty",title:a("No workflows defined")}):(0,e.jsx)(R,{className:"overflow-hidden py-0",children:(0,e.jsx)(_,{className:"px-0",children:(0,e.jsxs)(j,{"data-testid":"workflows-table",children:[(0,e.jsx)(D,{children:(0,e.jsxs)(x,{children:[(0,e.jsx)(i,{children:a("Export")}),(0,e.jsx)(i,{children:a("Name")}),(0,e.jsx)(i,{children:a("Class")})]})}),(0,e.jsx)(F,{children:f.map(t=>(0,e.jsxs)(x,{"data-testid":`workflows-row-${t.exportName}`,children:[(0,e.jsx)(d,{className:"font-mono text-xs",children:t.exportName}),(0,e.jsx)(d,{className:"font-mono text-xs text-muted-foreground",children:t.name}),(0,e.jsx)(d,{className:"font-mono text-xs text-muted-foreground",children:t.className})]},t.exportName))})]})})}),f.length>0&&(0,e.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"workflows-start",children:[(0,e.jsx)("h3",{className:"text-sm font-medium",children:a("Start instance")}),z!==null&&(0,e.jsx)("p",{className:"text-sm text-destructive","data-testid":"workflows-start-error",role:"alert",children:z}),(0,e.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,e.jsx)("select",{"aria-label":a("Workflow"),className:"h-8 rounded-md border border-input bg-transparent px-2.5 py-1 text-xs outline-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50","data-testid":"workflows-start-select",onChange:H,value:h,children:f.map(t=>(0,e.jsx)("option",{value:t.exportName,children:t.exportName},t.exportName))}),(0,e.jsx)(ae,{"aria-label":a("Instance id (optional)"),className:"max-w-48","data-testid":"workflows-start-id",onChange:Q,placeholder:a("Instance id (optional)"),value:n}),(0,e.jsx)(W,{"data-testid":"workflows-start-button",disabled:I||h==="",onClick:K,children:a(I?"Starting\u2026":"Start instance")})]}),(0,e.jsx)(se,{"aria-label":a("Params (JSON)"),className:"font-mono","data-testid":"workflows-start-params",onChange:r,placeholder:a("Params (JSON, optional)"),value:v})]}),p.length>0&&(0,e.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"workflows-instances",children:[(0,e.jsx)("h3",{className:"text-sm font-medium",children:a("Instances")}),(0,e.jsx)(R,{className:"overflow-hidden py-0",children:(0,e.jsx)(_,{className:"px-0",children:(0,e.jsxs)(j,{"data-testid":"workflows-instances-table",children:[(0,e.jsx)(D,{children:(0,e.jsxs)(x,{children:[(0,e.jsx)(i,{children:a("Workflow")}),(0,e.jsx)(i,{children:a("Instance id")}),(0,e.jsx)(i,{children:a("Status")}),(0,e.jsx)(i,{children:a("Output")}),(0,e.jsx)(i,{})]})}),(0,e.jsx)(F,{children:p.map(t=>(0,e.jsxs)(x,{"data-testid":`workflows-instance-${t.id}`,children:[(0,e.jsx)(d,{className:"font-mono text-xs",children:t.exportName}),(0,e.jsx)(d,{className:"font-mono text-xs text-muted-foreground",children:t.id}),(0,e.jsx)(d,{className:"font-mono text-xs",children:t.status}),(0,e.jsx)(d,{className:"font-mono text-xs text-muted-foreground",children:we(t)}),(0,e.jsx)(d,{children:(0,e.jsx)(W,{"data-export":t.exportName,"data-id":t.id,"data-testid":`workflows-instance-refresh-${t.id}`,disabled:O===t.id,onClick:c,size:"xs",variant:"outline",children:O===t.id?a("Refreshing\u2026"):a("Refresh")})})]},`${t.exportName}:${t.id}`))})]})})})]}),w!==void 0&&(0,e.jsx)(fe,{workflowName:w.name})]})},"We");export{$e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as Me}from"./chunk-EIISOYGA.js";import{a as ve}from"./chunk-RPQL45FL.js";import{b as ye,c as we}from"./chunk-4GTO7FL5.js";import{a as xe}from"./chunk-BRIYEPXI.js";import{a as Ne}from"./chunk-Z5O2NQAV.js";import"./chunk-AWHXPIXU.js";import"./chunk-V3VJAA4D.js";import{a as be}from"./chunk-S3CRZLGS.js";import{a as fe}from"./chunk-LIOUCOP2.js";import{b as he}from"./chunk-OGUKYRFM.js";import"./chunk-OKG3HWSJ.js";import{i as me}from"./chunk-6QA34EWC.js";import"./chunk-TDXV3OT5.js";import"./chunk-4L4WTGN5.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import{b as oe}from"./chunk-FEWMAPNI.js";import"./chunk-225VJ77I.js";import{a as ge}from"./chunk-YLPFIPVU.js";import"./chunk-ULIQFBZU.js";import"./chunk-XC734N2Q.js";import"./chunk-35DM4JJG.js";import{a as ce}from"./chunk-4ZEL6BYL.js";import{c as ie}from"./chunk-ZD2UXTLR.js";import"./chunk-EGVOSH7K.js";import"./chunk-FSRSK4LY.js";import"./chunk-RDL5WK55.js";import{a as ue}from"./chunk-FKVZRPV5.js";import{d as U,m as pe,t as de}from"./chunk-PTZD7RUZ.js";import{a as m,d as le,e as Ce,f as Le,g as Te,i as te}from"./chunk-YKXDMIHQ.js";var O=le(Le(),1),A=le(Ce(),1);var s=le(Te(),1);var Pe=.5,Ie=4,Se=m(n=>Math.min(100,Math.max(0,n)),"ce"),Ke=m((n,e)=>{if(!Number.isFinite(e)||e<=0)return{leftPercent:0,widthPercent:100};let t=Se(n.offsetMs/e*100),a=n.durationMs/e*100,l=Math.max(Pe,Math.min(Se(a),100-t));return{leftPercent:t,widthPercent:l}},"Ce"),De=m((n,e,t=!1)=>{let a=e.trim().toLowerCase(),l=t?n.filter(r=>!r.ok):n;return a===""?[...l]:l.filter(r=>r.rootName.toLowerCase().includes(a)||r.functionPath.toLowerCase().includes(a)||r.traceId.toLowerCase().includes(a)||r.spans.some(o=>o.name.toLowerCase().includes(a)||o.spanId.toLowerCase().includes(a)))},"Ee"),G=m(n=>Number.isFinite(n)?n>0&&n<1?`${n.toFixed(2)}ms`:`${String(Math.round(n))}ms`:"\u2014","q"),je=m(n=>!Number.isFinite(n)||n<=0?[]:Array.from({length:Ie},(e,t)=>{let a=(t+1)/Ie;return{label:G(n*a),percent:a*100}}),"Pe"),ke=m(n=>{if(typeof n=="string")return n;try{return JSON.stringify(n,pe)}catch{return String(n)}},"ue"),ee=m(n=>{let e=(0,O.c)(7),{label:t,value:a}=n,l;e[0]!==t?(l=(0,s.jsx)("dt",{className:"w-40 shrink-0 text-muted-foreground",children:t}),e[0]=t,e[1]=l):l=e[1];let r;e[2]!==a?(r=(0,s.jsx)("dd",{className:"min-w-0 break-all",children:a}),e[2]=a,e[3]=r):r=e[3];let o;return e[4]!==l||e[5]!==r?(o=(0,s.jsxs)("div",{className:"flex gap-2",children:[l,r]}),e[4]=l,e[5]=r,e[6]=o):o=e[6],o},"Y"),Fe=m(n=>{let e=(0,O.c)(68),{span:t}=n,a=U(),l,r,o,d,i,u;if(e[0]!==t.attributes||e[1]!==t.durationMs||e[2]!==t.error||e[3]!==t.events||e[4]!==t.kind||e[5]!==t.offsetMs||e[6]!==t.parentSpanId||e[7]!==t.spanId||e[8]!==a){let $=Object.entries(t.attributes??{}),_;e[15]!==t.events?(_=t.events??[],e[15]=t.events,e[16]=_):_=e[16],l=_,r="border-t border-border bg-background/60 px-3 py-2 font-mono text-xs",o="tr-span-detail";let y;e[17]!==a?(y=a("Span ID"),e[17]=a,e[18]=y):y=e[18];let w;e[19]!==t.spanId||e[20]!==y?(w=(0,s.jsx)(ee,{label:y,value:t.spanId}),e[19]=t.spanId,e[20]=y,e[21]=w):w=e[21];let M;e[22]!==a?(M=a("Parent span ID"),e[22]=a,e[23]=M):M=e[23];let p;e[24]!==t.parentSpanId||e[25]!==a?(p=t.parentSpanId===""?a("\u2014 (trace root)"):t.parentSpanId,e[24]=t.parentSpanId,e[25]=a,e[26]=p):p=e[26];let h;e[27]!==p||e[28]!==M?(h=(0,s.jsx)(ee,{label:M,value:p}),e[27]=p,e[28]=M,e[29]=h):h=e[29];let b;e[30]!==a?(b=a("Kind"),e[30]=a,e[31]=b):b=e[31];let C=t.kind??"internal",S;e[32]!==b||e[33]!==C?(S=(0,s.jsx)(ee,{label:b,value:C}),e[32]=b,e[33]=C,e[34]=S):S=e[34];let I;e[35]!==a?(I=a("Started at"),e[35]=a,e[36]=I):I=e[36];let g;e[37]!==t.offsetMs||e[38]!==a?(g=a("+{offset}",{offset:G(t.offsetMs)}),e[37]=t.offsetMs,e[38]=a,e[39]=g):g=e[39];let x;e[40]!==I||e[41]!==g?(x=(0,s.jsx)(ee,{label:I,value:g}),e[40]=I,e[41]=g,e[42]=x):x=e[42];let k;e[43]!==a?(k=a("Duration"),e[43]=a,e[44]=k):k=e[44];let f;e[45]!==t.durationMs?(f=G(t.durationMs),e[45]=t.durationMs,e[46]=f):f=e[46];let N;e[47]!==k||e[48]!==f?(N=(0,s.jsx)(ee,{label:k,value:f}),e[47]=k,e[48]=f,e[49]=N):N=e[49],e[50]!==h||e[51]!==S||e[52]!==x||e[53]!==N||e[54]!==w?(d=(0,s.jsxs)("dl",{className:"flex flex-col gap-1",children:[w,h,S,x,N]}),e[50]=h,e[51]=S,e[52]=x,e[53]=N,e[54]=w,e[55]=d):d=e[55],e[56]!==t.error?(i=t.error!==void 0&&(0,s.jsxs)("div",{className:"mt-2 rounded-md border border-destructive/40 bg-destructive/10 px-2 py-1.5","data-testid":"tr-detail-error",children:[(0,s.jsx)("span",{className:"font-semibold text-destructive",children:t.error.type}),(0,s.jsx)("p",{className:"whitespace-pre-wrap break-all text-destructive",children:t.error.message})]}),e[56]=t.error,e[57]=i):i=e[57],u=$.length>0&&(0,s.jsxs)("div",{className:"mt-2","data-testid":"tr-detail-attributes",children:[(0,s.jsx)("p",{className:"mb-1 text-muted-foreground",children:a("Attributes")}),(0,s.jsx)("dl",{className:"flex flex-col gap-1",children:$.map(Ee)})]}),e[0]=t.attributes,e[1]=t.durationMs,e[2]=t.error,e[3]=t.events,e[4]=t.kind,e[5]=t.offsetMs,e[6]=t.parentSpanId,e[7]=t.spanId,e[8]=a,e[9]=l,e[10]=r,e[11]=o,e[12]=d,e[13]=i,e[14]=u}else l=e[9],r=e[10],o=e[11],d=e[12],i=e[13],u=e[14];let c;e[58]!==l||e[59]!==a?(c=l.length>0&&(0,s.jsxs)("div",{className:"mt-2","data-testid":"tr-detail-events",children:[(0,s.jsx)("p",{className:"mb-1 text-muted-foreground",children:a("Events")}),(0,s.jsx)("ul",{className:"flex flex-col gap-1",children:l.map(Oe)})]}),e[58]=l,e[59]=a,e[60]=c):c=e[60];let v;return e[61]!==r||e[62]!==o||e[63]!==d||e[64]!==i||e[65]!==u||e[66]!==c?(v=(0,s.jsxs)("div",{className:r,"data-testid":o,children:[d,i,u,c]}),e[61]=r,e[62]=o,e[63]=d,e[64]=i,e[65]=u,e[66]=c,e[67]=v):v=e[67],v},"Fe");function Ee(n){let[e,t]=n;return(0,s.jsx)(ee,{label:e,value:ke(t)},e)}m(Ee,"Ke");function Ae(n){let[e,t]=n;return`${e}=${ke(t)}`}m(Ae,"Re");function Oe(n){return(0,s.jsxs)("li",{className:"flex gap-2",children:[(0,s.jsx)("span",{className:"shrink-0 tabular-nums text-muted-foreground",children:de(n.ts)}),(0,s.jsx)(oe,{variant:"secondary",children:n.name}),(0,s.jsx)("span",{className:"min-w-0 break-all text-muted-foreground",children:Object.entries(n.attributes??{}).map(Ae).join(" ")})]},`${n.name}:${String(n.ts)}`)}m(Oe,"Ae");var Be=14,_e="grid grid-cols-[14rem_1fr_4rem_16rem_16rem] items-center gap-2 px-3",We=m(n=>{let e=(0,O.c)(17),{traceDurationMs:t}=n,a,l,r,o,d,i;if(e[0]!==t){i=Symbol.for("react.early_return_sentinel");e:{let v=je(t);if(v.length===0){i=null;break e}e[7]===Symbol.for("react.memo_cache_sentinel")?(r=te(_e,"border-b border-border py-1 font-mono text-[10px] text-muted-foreground"),e[7]=r):r=e[7],o="tr-ruler",e[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsx)("span",{}),e[8]=d):d=e[8],a="relative h-3",l=v.map(Je)}e[0]=t,e[1]=a,e[2]=l,e[3]=r,e[4]=o,e[5]=d,e[6]=i}else a=e[1],l=e[2],r=e[3],o=e[4],d=e[5],i=e[6];if(i!==Symbol.for("react.early_return_sentinel"))return i;let u;e[9]!==a||e[10]!==l?(u=(0,s.jsx)("span",{className:a,children:l}),e[9]=a,e[10]=l,e[11]=u):u=e[11];let c;return e[12]!==r||e[13]!==o||e[14]!==d||e[15]!==u?(c=(0,s.jsxs)("div",{className:r,"data-testid":o,children:[d,u]}),e[12]=r,e[13]=o,e[14]=d,e[15]=u,e[16]=c):c=e[16],c},"je"),qe=m(n=>{let e=(0,O.c)(60),{span:t,traceDurationMs:a}=n,l=U(),[r,o]=(0,A.useState)(!1),d;e[0]!==t||e[1]!==a?(d=Ke(t,a),e[0]=t,e[1]=a,e[2]=d):d=e[2];let{leftPercent:i,widthPercent:u}=d,c;e[3]!==t.attributes?(c=ve(t.attributes),e[3]=t.attributes,e[4]=c):c=e[4];let v=c,$=t.depth*Be,_;e[5]!==$?(_={paddingLeft:$},e[5]=$,e[6]=_):_=e[6];let y=_,w=`${String(i)}%`,M=`${String(u)}%`,p;e[7]!==w||e[8]!==M?(p={left:w,width:M},e[7]=w,e[8]=M,e[9]=p):p=e[9];let h=p,b;e[10]===Symbol.for("react.memo_cache_sentinel")?(b=m(()=>{o(Ue)},"h"),e[10]=b):b=e[10];let C=b,S=t.depth,I=`tr-span-detail-${t.spanId}`,g;e[11]!==t.durationMs||e[12]!==t.error||e[13]!==t.name||e[14]!==t.offsetMs||e[15]!==l?(g=l("{name}, {duration}, starts {offset} in{failure}",{duration:G(t.durationMs),failure:t.error===void 0?"":l(", failed: {message}",{message:t.error.message}),name:t.name,offset:G(t.offsetMs)}),e[11]=t.durationMs,e[12]=t.error,e[13]=t.name,e[14]=t.offsetMs,e[15]=l,e[16]=g):g=e[16];let x;e[17]===Symbol.for("react.memo_cache_sentinel")?(x=te(_e,"w-full border-b border-border py-1.5 text-left font-mono text-xs hover:bg-muted/50"),e[17]=x):x=e[17];let k=`tr-span-toggle-${t.spanId}`,f;e[18]!==t.ok?(f=t.ok?null:(0,s.jsx)("span",{"aria-hidden":"true",className:"mr-1 text-destructive","data-testid":"tr-span-error",children:"\u25CF"}),e[18]=t.ok,e[19]=f):f=e[19];let N;e[20]!==y||e[21]!==t.name||e[22]!==f?(N=(0,s.jsxs)("span",{className:"truncate",style:y,title:t.name,children:[f,t.name]}),e[20]=y,e[21]=t.name,e[22]=f,e[23]=N):N=e[23];let B=t.ok?"bg-primary/70":"bg-destructive",L;e[24]!==B?(L=te("absolute inset-y-0 rounded-sm",B),e[24]=B,e[25]=L):L=e[25];let E;e[26]!==h||e[27]!==i||e[28]!==L||e[29]!==u?(E=(0,s.jsx)("span",{"aria-hidden":"true",className:"relative h-3 overflow-hidden rounded-sm bg-muted",children:(0,s.jsx)("span",{className:L,"data-left":i,"data-testid":"tr-span-bar","data-width":u,style:h})}),e[26]=h,e[27]=i,e[28]=L,e[29]=u,e[30]=E):E=e[30];let W;e[31]!==t.durationMs?(W=G(t.durationMs),e[31]=t.durationMs,e[32]=W):W=e[32];let D;e[33]!==W?(D=(0,s.jsx)("span",{className:"text-right tabular-nums text-muted-foreground",children:W}),e[33]=W,e[34]=D):D=e[34];let q;e[35]!==t.error?(q=t.error===void 0?null:(0,s.jsx)("span",{className:"text-destructive","data-testid":"tr-span-error-message",title:t.error.message,children:`${t.error.type}: ${t.error.message}`}),e[35]=t.error,e[36]=q):q=e[36];let T;e[37]!==q?(T=(0,s.jsx)("span",{className:"truncate text-muted-foreground",children:q}),e[37]=q,e[38]=T):T=e[38];let z;e[39]!==v?(z=v===""?null:(0,s.jsx)("span",{"data-testid":"tr-span-attributes",title:v,children:v}),e[39]=v,e[40]=z):z=e[40];let P;e[41]!==z?(P=(0,s.jsx)("span",{className:"truncate text-muted-foreground",children:z}),e[41]=z,e[42]=P):P=e[42];let J;e[43]!==r||e[44]!==I||e[45]!==g||e[46]!==k||e[47]!==N||e[48]!==E||e[49]!==D||e[50]!==T||e[51]!==P?(J=(0,s.jsxs)("button",{"aria-controls":I,"aria-expanded":r,"aria-label":g,className:x,"data-testid":k,onClick:C,type:"button",children:[N,E,D,T,P]}),e[43]=r,e[44]=I,e[45]=g,e[46]=k,e[47]=N,e[48]=E,e[49]=D,e[50]=T,e[51]=P,e[52]=J):J=e[52];let j;e[53]!==r||e[54]!==t?(j=r&&(0,s.jsx)("div",{id:`tr-span-detail-${t.spanId}`,children:(0,s.jsx)(Fe,{span:t})}),e[53]=r,e[54]=t,e[55]=j):j=e[55];let K;return e[56]!==t.depth||e[57]!==J||e[58]!==j?(K=(0,s.jsxs)("li",{"data-depth":S,"data-testid":"tr-span-row",children:[J,j]}),e[56]=t.depth,e[57]=J,e[58]=j,e[59]=K):K=e[59],K},"Be"),ze=m(n=>{let e=(0,O.c)(15),{durationMs:t,spans:a}=n,l=U(),r;e[0]!==t?(r=(0,s.jsx)(We,{traceDurationMs:t}),e[0]=t,e[1]=r):r=e[1];let o;e[2]!==l?(o=l("Trace waterfall"),e[2]=l,e[3]=o):o=e[3];let d;if(e[4]!==t||e[5]!==a){let c;e[7]!==t?(c=m(v=>(0,s.jsx)(qe,{span:v,traceDurationMs:t},v.spanId),"c"),e[7]=t,e[8]=c):c=e[8],d=a.map(c),e[4]=t,e[5]=a,e[6]=d}else d=e[6];let i;e[9]!==o||e[10]!==d?(i=(0,s.jsx)("ul",{"aria-label":o,children:d}),e[9]=o,e[10]=d,e[11]=i):i=e[11];let u;return e[12]!==r||e[13]!==i?(u=(0,s.jsxs)(s.Fragment,{children:[r,i]}),e[12]=r,e[13]=i,e[14]=u):u=e[14],u},"Oe");function Je(n){return(0,s.jsx)("span",{className:te("absolute inset-y-0 border-l border-border/70",n.percent===100?"-translate-x-full pr-1":"pl-1"),style:{left:`${String(n.percent)}%`},children:n.label},n.percent)}m(Je,"We");function Ue(n){return!n}m(Ue,"Ue");var Ge=m(n=>Array.isArray(n?.traces)?n.traces:[],"qe"),He=m(n=>{let e=(0,O.c)(12),{entries:t}=n,a=U(),l;e[0]!==t.length||e[1]!==a?(l=a("Logs ({count})",{count:t.length}),e[0]=t.length,e[1]=a,e[2]=l):l=e[2];let r;e[3]!==l?(r=(0,s.jsx)("p",{className:"mb-1 font-mono text-xs text-muted-foreground",children:l}),e[3]=l,e[4]=r):r=e[4];let o;e[5]!==t?(o=t.map(Ve),e[5]=t,e[6]=o):o=e[6];let d;e[7]!==o?(d=(0,s.jsx)("div",{role:"grid",children:o}),e[7]=o,e[8]=d):d=e[8];let i;return e[9]!==r||e[10]!==d?(i=(0,s.jsxs)("div",{className:"border-t border-border px-3 py-2","data-testid":"tr-logs",children:[r,d]}),e[9]=r,e[10]=d,e[11]=i):i=e[11],i},"ze"),Qe=m(n=>{let e=(0,O.c)(50),{expanded:t,logs:a,onToggle:l,trace:r}=n,o=U(),d;e[0]!==l||e[1]!==r.traceId?(d=m(()=>{l(r.traceId)},"i"),e[0]=l,e[1]=r.traceId,e[2]=d):d=e[2];let i=d,u=`tr-row-${r.traceId}`,c=`tr-waterfall-${r.traceId}`,v=`tr-toggle-${r.traceId}`,$=t?"\u25BE":"\u25B8",_;e[3]!==$?(_=(0,s.jsx)("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-xs text-muted-foreground",children:$}),e[3]=$,e[4]=_):_=e[4];let y;e[5]!==r.rootName?(y=(0,s.jsx)("span",{className:"w-56 shrink-0 truncate text-sm font-medium",title:r.rootName,children:r.rootName}),e[5]=r.rootName,e[6]=y):y=e[6];let w;e[7]!==r.functionPath?(w=(0,s.jsx)("span",{className:"w-48 shrink-0 truncate font-mono text-xs text-muted-foreground",title:r.functionPath,children:r.functionPath}),e[7]=r.functionPath,e[8]=w):w=e[8];let M;e[9]!==r.durationMs?(M=G(r.durationMs),e[9]=r.durationMs,e[10]=M):M=e[10];let p;e[11]!==M?(p=(0,s.jsx)("span",{className:"w-20 shrink-0 text-right font-mono text-xs tabular-nums text-muted-foreground",children:M}),e[11]=M,e[12]=p):p=e[12];let h;e[13]!==o||e[14]!==r.spans.length?(h=o("{count} spans",{count:r.spans.length}),e[13]=o,e[14]=r.spans.length,e[15]=h):h=e[15];let b;e[16]!==h?(b=(0,s.jsx)("span",{className:"w-20 shrink-0 text-right font-mono text-xs tabular-nums text-muted-foreground",children:h}),e[16]=h,e[17]=b):b=e[17];let C=r.ok?"secondary":"destructive",S;e[18]!==o||e[19]!==r.ok?(S=r.ok?o("ok"):o("error"),e[18]=o,e[19]=r.ok,e[20]=S):S=e[20];let I;e[21]!==C||e[22]!==S?(I=(0,s.jsx)("span",{className:"shrink-0",children:(0,s.jsx)(oe,{variant:C,children:S})}),e[21]=C,e[22]=S,e[23]=I):I=e[23];let g;e[24]!==r.startTs?(g=de(r.startTs),e[24]=r.startTs,e[25]=g):g=e[25];let x;e[26]!==g?(x=(0,s.jsx)("span",{className:"flex-1 truncate text-right font-mono text-xs tabular-nums text-muted-foreground",children:g}),e[26]=g,e[27]=x):x=e[27];let k;e[28]!==t||e[29]!==i||e[30]!==p||e[31]!==b||e[32]!==I||e[33]!==x||e[34]!==c||e[35]!==v||e[36]!==_||e[37]!==y||e[38]!==w?(k=(0,s.jsxs)("button",{"aria-controls":c,"aria-expanded":t,className:"flex w-full items-center gap-3 px-3 py-2 text-left hover:bg-muted/50","data-testid":v,onClick:i,type:"button",children:[_,y,w,p,b,I,x]}),e[28]=t,e[29]=i,e[30]=p,e[31]=b,e[32]=I,e[33]=x,e[34]=c,e[35]=v,e[36]=_,e[37]=y,e[38]=w,e[39]=k):k=e[39];let f;e[40]!==t||e[41]!==a||e[42]!==r.durationMs||e[43]!==r.spans||e[44]!==r.traceId?(f=t&&(0,s.jsxs)("div",{className:"bg-muted/20","data-testid":`tr-waterfall-${r.traceId}`,id:`tr-waterfall-${r.traceId}`,children:[(0,s.jsx)(ze,{durationMs:r.durationMs,spans:r.spans}),a.length>0&&(0,s.jsx)(He,{entries:a})]}),e[40]=t,e[41]=a,e[42]=r.durationMs,e[43]=r.spans,e[44]=r.traceId,e[45]=f):f=e[45];let N;return e[46]!==k||e[47]!==f||e[48]!==u?(N=(0,s.jsxs)("div",{className:"border-b border-border last:border-b-0","data-testid":u,children:[k,f]}),e[46]=k,e[47]=f,e[48]=u,e[49]=N):N=e[49],N},"Ge"),bt=m(n=>{let e=(0,O.c)(58),{initialShardKey:t}=n,a=U(),[l]=(0,A.useState)(ye),{queryShardKey:r,setShardKey:o,shardKey:d}=be(l?.shardKey!==void 0&&l.shardKey!==""?l.shardKey:t??""),[i,u]=(0,A.useState)(l?.traceId??""),[c,v]=(0,A.useState)(!1),[$,_]=(0,A.useState)(Xe),y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=[],e[0]=y):y=e[0],(0,A.useEffect)(Ye,y);let w;e[1]===Symbol.for("react.memo_cache_sentinel")?(w={},e[1]=w):w=e[1];let M;e[2]!==r?(M={live:!0,shardKey:r},e[2]=r,e[3]=M):M=e[3];let{data:p,error:h,errorSource:b,isLoading:C,liveError:S}=ie(ce.getTraces,w,M),I;e[4]===Symbol.for("react.memo_cache_sentinel")?(I={},e[4]=I):I=e[4];let g=$.size>0,x;e[5]!==r||e[6]!==g?(x={enabled:g,live:!0,shardKey:r},e[5]=r,e[6]=g,e[7]=x):x=e[7];let{data:k}=ie(ce.getLogs,I,x),f,N;e[8]!==p||e[9]!==r?(f=m(()=>{p!==void 0&&he(r)},"p"),N=[p,r],e[8]=p,e[9]=r,e[10]=f,e[11]=N):(f=e[10],N=e[11]),(0,A.useEffect)(f,N);let B;if(e[12]!==p||e[13]!==h||e[14]!==b||e[15]!==$||e[16]!==C||e[17]!==S||e[18]!==k?.entries||e[19]!==c||e[20]!==i||e[21]!==o||e[22]!==d||e[23]!==a){let L=Ge(p),E=p?.total??L.length,W=E>L.length,D=De(L,i,c),q=Map.groupBy((k?.entries??[]).toReversed(),Ze),T;e[25]===Symbol.for("react.memo_cache_sentinel")?(T=m(F=>{u(F.target.value)},"C"),e[25]=T):T=e[25];let z=T,P;e[26]===Symbol.for("react.memo_cache_sentinel")?(P=m(F=>{_($e=>{let ne=new Set($e);return ne.has(F)?ne.delete(F):ne.add(F),ne})},"E"),e[26]=P):P=e[26];let J=P,j=h===null&&D.length===0&&!C,K;e[27]!==o||e[28]!==d?(K=(0,s.jsx)(fe,{onChange:o,testId:"tr-shard-input",value:d}),e[27]=o,e[28]=d,e[29]=K):K=e[29];let H;e[30]!==a?(H=a("Search traces"),e[30]=a,e[31]=H):H=e[31];let Q;e[32]!==a?(Q=a("search trace, span, or function"),e[32]=a,e[33]=Q):Q=e[33];let V;e[34]!==i||e[35]!==H||e[36]!==Q?(V=(0,s.jsx)(me,{"aria-label":H,className:"h-8 w-56","data-testid":"tr-search",onChange:z,placeholder:Q,value:i}),e[34]=i,e[35]=H,e[36]=Q,e[37]=V):V=e[37];let X;e[38]!==c?(X=(0,s.jsx)(xe,{checked:c,"data-testid":"tr-only-errors",id:"tr-only-errors",onCheckedChange:v}),e[38]=c,e[39]=X):X=e[39];let Y;e[40]!==a?(Y=a("Errors only"),e[40]=a,e[41]=Y):Y=e[41];let Z;e[42]!==X||e[43]!==Y?(Z=(0,s.jsxs)("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",htmlFor:"tr-only-errors",children:[X,Y]}),e[42]=X,e[43]=Y,e[44]=Z):Z=e[44];let R;e[45]!==S?(R=(0,s.jsx)(Ne,{message:S,prefix:"tr"}),e[45]=S,e[46]=R):R=e[46];let re;e[47]!==K||e[48]!==V||e[49]!==Z||e[50]!==R?(re=(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[K,V,Z,R]}),e[47]=K,e[48]=V,e[49]=Z,e[50]=R,e[51]=re):re=e[51];let ae;e[52]!==h||e[53]!==b?(ae=h!==null&&(0,s.jsx)(ge,{error:b,testId:"tr-error"}),e[52]=h,e[53]=b,e[54]=ae):ae=e[54];let se;e[55]!==j||e[56]!==a?(se=j&&(0,s.jsx)(ue,{description:a("Traces recorded with ctx.trace show up here as your app handles traffic. The span buffer resets when the shard hibernates."),icon:(0,s.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,s.jsx)("path",{d:"M4 6h10M7 12h13M10 18h7"})}),testId:"tr-empty",title:a("No traces")}),e[55]=j,e[56]=a,e[57]=se):se=e[57],B=(0,s.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-traces-panel",children:[re,ae,se,h===null&&W&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"tr-truncated",children:a("Showing the {shown} most recent of {total} traces in the buffer.",{shown:L.length,total:E})}),h===null&&D.length>0&&(0,s.jsx)("div",{"aria-label":a("Recent traces"),className:"overflow-hidden rounded-xl border border-border shadow-xs","data-testid":"tr-list",children:D.map(F=>(0,s.jsx)(Qe,{expanded:$.has(F.traceId),logs:q.get(F.traceId)??[],onToggle:J,trace:F},F.traceId))})]}),e[12]=p,e[13]=h,e[14]=b,e[15]=$,e[16]=C,e[17]=S,e[18]=k?.entries,e[19]=c,e[20]=i,e[21]=o,e[22]=d,e[23]=a,e[24]=B}else B=e[24];return B},"bt");function Ve(n,e){return(0,s.jsx)("div",{className:"flex items-center border-b border-border py-1 font-mono text-xs last:border-b-0","data-testid":"tr-log-row",role:"row",children:(0,s.jsx)(Me,{entry:n})},`${String(e)}:${String(n.timestamp)}`)}m(Ve,"He");function Xe(){return new Set}m(Xe,"Je");function Ye(){we()}m(Ye,"Qe");function Ze(n){return n.traceId}m(Ze,"Ve");export{bt as default};
|