@lunora/studio 1.0.0-alpha.12 → 1.0.0-alpha.121
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/dist/index.d.ts +836 -786
- package/dist/index.js +1 -41
- package/dist/mount.d.ts +10 -10
- package/dist/mount.js +1 -26
- package/dist/packem_chunks/AdvisorHealthPanel.js +1 -0
- package/dist/packem_chunks/ApiTab.js +1 -0
- package/dist/packem_chunks/AuditPanel.js +1 -0
- package/dist/packem_chunks/DeploymentHealthPanel.js +1 -0
- package/dist/packem_chunks/ExportImportPanel.js +3 -0
- package/dist/packem_chunks/FileBrowser.js +4 -0
- package/dist/packem_chunks/FunctionRunner.js +1 -0
- package/dist/packem_chunks/FunctionStatsPanel.js +1 -0
- package/dist/packem_chunks/HealthPanel.js +1 -0
- package/dist/packem_chunks/InsightsPanel.js +1 -0
- package/dist/packem_chunks/LogsPanel.js +1 -0
- package/dist/packem_chunks/MailPanel.js +2 -0
- package/dist/packem_chunks/MetricsPanel.js +1 -0
- package/dist/packem_chunks/NotificationsPanel.js +1 -0
- package/dist/packem_chunks/PitrPanel.js +1 -0
- package/dist/packem_chunks/SchemaViewer.js +1 -0
- package/dist/packem_chunks/SecurityAdvisorPanel.js +1 -0
- package/dist/packem_chunks/SettingsPanel.js +1 -0
- package/dist/packem_chunks/SqlEditorPanel.js +9 -0
- package/dist/packem_chunks/TableEditor.js +1 -0
- package/dist/packem_chunks/agents-panel.js +1 -0
- package/dist/packem_chunks/analytics-panel.js +1 -0
- package/dist/packem_chunks/auth-audit-panel.js +1 -0
- package/dist/packem_chunks/auth-config-panel.js +1 -0
- package/dist/packem_chunks/auth-sessions-panel.js +1 -0
- package/dist/packem_chunks/containers-panel.js +1 -0
- package/dist/packem_chunks/dashboards-panel.js +1 -0
- package/dist/packem_chunks/evals-panel.js +1 -0
- package/dist/packem_chunks/fanout-panel.js +1 -0
- package/dist/packem_chunks/flags-panel.js +1 -0
- package/dist/packem_chunks/issues-panel.js +1 -0
- package/dist/packem_chunks/kv-browser.js +1 -0
- package/dist/packem_chunks/log-drains-panel.js +4 -0
- package/dist/packem_chunks/migrations-route.js +1 -0
- package/dist/packem_chunks/organizations-panel.js +1 -0
- package/dist/packem_chunks/payments-panel.js +1 -0
- package/dist/packem_chunks/permissions-panel.js +1 -0
- package/dist/packem_chunks/queues-panel.js +1 -0
- package/dist/packem_chunks/reactors-panel.js +1 -0
- package/dist/packem_chunks/rls-panel.js +1 -0
- package/dist/packem_chunks/schedule-panel.js +1 -0
- package/dist/packem_chunks/sparkline.js +1 -0
- package/dist/packem_chunks/storage-rules-panel.js +1 -0
- package/dist/packem_chunks/subscriptions-panel.js +1 -0
- package/dist/packem_chunks/sync-client-panel.js +1 -0
- package/dist/packem_chunks/traces-panel.js +1 -0
- package/dist/packem_chunks/users-panel.js +1 -0
- package/dist/packem_chunks/vector-browser.js +1 -0
- package/dist/packem_chunks/workflows-panel.js +1 -0
- package/dist/packem_shared/ADMIN_FUNCTIONS-B6z7VLYt.js +1 -0
- package/dist/packem_shared/ApiDocsPanel-BMzLPgvv.js +2 -0
- package/dist/packem_shared/ApiReferencePanel-CZDVN7zg.js +1 -0
- package/dist/packem_shared/CommandPalette-kQLn0xlS.js +1 -0
- package/dist/packem_shared/ConfirmButton-Cj2SOapE.js +1 -0
- package/dist/packem_shared/ConnectionBadge-Bh16X9-u.js +1 -0
- package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-DuULO4XM.js +1 -0
- package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-1Lrg55IV.js +1 -0
- package/dist/packem_shared/DEFAULT_LOCALE-A1Yg5ORA.js +1 -0
- package/dist/packem_shared/DataBrowser-C68K5QHO.js +4 -0
- package/dist/packem_shared/DataFilters-3nbW0uax.js +1 -0
- package/dist/packem_shared/ErrorBoundary-BWNF98VF.js +1 -0
- package/dist/packem_shared/GlobalDataBrowser-BHFgEqMl.js +1 -0
- package/dist/packem_shared/HomePanel-B-tcMcTZ.js +1 -0
- package/dist/packem_shared/MigrationsPanel-CLRWwPyL.js +1 -0
- package/dist/packem_shared/OpenRpcReferencePanel-XoYdKuMg.js +1 -0
- package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.js +1 -0
- package/dist/packem_shared/ScheduledJobs-DRmOKtDa.js +1 -0
- package/dist/packem_shared/ShardInput-CdawpUiS.js +1 -0
- package/dist/packem_shared/Studio-BYdUxnM5.js +1 -0
- package/dist/packem_shared/StudioApp-Bxmtp-Fi.js +1 -0
- package/dist/packem_shared/StudioI18nProvider-Bl547evf.js +1 -0
- package/dist/packem_shared/advisor-view-CqCG22DB.js +1 -0
- package/dist/packem_shared/aggregateMetrics-A-Y7OH6R.js +1 -0
- package/dist/packem_shared/alert-C2SEhYS9.js +1 -0
- package/dist/packem_shared/app.d-D1bPR8FO.d.ts +252 -0
- package/dist/packem_shared/badge-cAk9Di1Q.js +1 -0
- package/dist/packem_shared/bar-chart-B6gzp_f9.js +6 -0
- package/dist/packem_shared/browser-storage-BH1MxLZs.js +1 -0
- package/dist/packem_shared/button-BOPLD1un.js +1 -0
- package/dist/packem_shared/card-BGlQzQY-.js +1 -0
- package/dist/packem_shared/cf-links-CBJ5SywP.js +1 -0
- package/dist/packem_shared/checkbox-C5w53W-E.js +1 -0
- package/dist/packem_shared/data-grid-pjv4t5Yi.js +1 -0
- package/dist/packem_shared/data-view-params-qoSTqjAj.js +1 -0
- package/dist/packem_shared/dropdown-menu-U7Tjg1Nb.js +2 -0
- package/dist/packem_shared/empty-state-B939z6K2.js +1 -0
- package/dist/packem_shared/error-alert-CKqB2CiN.js +1 -0
- package/dist/packem_shared/grid-features-AzpmpR3Q.js +6 -0
- package/dist/packem_shared/home-panel-ecz6-nHV.js +3 -0
- package/dist/packem_shared/input-CY5W3wzv.js +1 -0
- package/dist/packem_shared/internal-7bgd8inO.js +2 -0
- package/dist/packem_shared/label-BOUo-DP0.js +1 -0
- package/dist/packem_shared/live-status-Bf7rR8o8.js +1 -0
- package/dist/packem_shared/log-fields-SBxKyBug.js +1 -0
- package/dist/packem_shared/log-line-D0XBZaDn.js +1 -0
- package/dist/packem_shared/modal-shell-wGW4CKEW.js +1 -0
- package/dist/packem_shared/operation-console-provider-DoloEvon.js +1 -0
- package/dist/packem_shared/recording-client-BPY8sYUl.js +1 -0
- package/dist/packem_shared/reference-view-DY3CaRxH.js +13 -0
- package/dist/packem_shared/schema-diagram-DLhppqVE.js +2 -0
- package/dist/packem_shared/scroll-area-DSJftwu_.js +2 -0
- package/dist/packem_shared/select-BPISLTcv.js +2 -0
- package/dist/packem_shared/shard-history-DU5b3QDI.js +1 -0
- package/dist/packem_shared/shortcuts-lH4Vaqjc.js +1 -0
- package/dist/packem_shared/skeleton-DFBBaJU6.js +1 -0
- package/dist/packem_shared/sparkline-CYbJzfA1.js +1 -0
- package/dist/packem_shared/sql-result-table-blxdNVJ0.js +1 -0
- package/dist/packem_shared/stat-card-B9uIvAHg.js +1 -0
- package/dist/packem_shared/storage-tier-C2mKwYRj.js +1 -0
- package/dist/packem_shared/studio-Cvdwfzxm.js +2 -0
- package/dist/packem_shared/table-BMsuYFhk.js +2 -0
- package/dist/packem_shared/table-list-sidebar-BCxqrZ0s.js +1 -0
- package/dist/packem_shared/textarea-DpO3i-Qo.js +1 -0
- package/dist/packem_shared/trace-handoff-z9sy89Ci.js +1 -0
- package/dist/packem_shared/use-admin-query-DV9xmFl8.js +1 -0
- package/dist/packem_shared/use-async-submit-C9xXjXWX.js +1 -0
- package/dist/packem_shared/use-auth-config-DIAyVsa3.js +1 -0
- package/dist/packem_shared/use-open-trace-ClAdPkGD.js +1 -0
- package/dist/packem_shared/use-shard-key-BsP3o5wT.js +1 -0
- package/dist/packem_shared/use-sql-assistant-CXgVX_PP.js +1 -0
- package/dist/packem_shared/useDebounced-DVeQ5-oW.js +1 -0
- package/dist/packem_shared/utils-bhneXptQ.js +1 -0
- package/dist/packem_shared/virtual-rect-D_j7aLxX.js +1 -0
- package/dist/packem_shared/wire-codec-Dl3VeNrd.js +1 -0
- package/dist/standalone/chunk-2AJMY73I.js +1 -0
- package/dist/standalone/chunk-2EJQ7SPV.js +1 -0
- package/dist/standalone/chunk-2EWSVBWG.js +1 -0
- package/dist/standalone/chunk-2FFV3NB7.js +1 -0
- package/dist/standalone/chunk-2HW5M4MK.js +2 -0
- package/dist/standalone/chunk-2SFSTQS4.js +1 -0
- package/dist/standalone/chunk-33TNFS73.js +1 -0
- package/dist/standalone/chunk-3K4F3B56.js +1 -0
- package/dist/standalone/chunk-3WFIPW6W.js +1 -0
- package/dist/standalone/chunk-4HWTEDVV.js +1 -0
- package/dist/standalone/chunk-4O7MEQMU.js +1 -0
- package/dist/standalone/chunk-4YTSKL4R.js +1 -0
- package/dist/standalone/chunk-57VX76PR.js +1 -0
- package/dist/standalone/chunk-5DEXJ766.js +1 -0
- package/dist/standalone/chunk-5JLIP2HH.js +1 -0
- package/dist/standalone/chunk-5QAT5NQ4.js +1 -0
- package/dist/standalone/chunk-5VKIJNHE.js +1 -0
- package/dist/standalone/chunk-5XMZP64Z.js +1 -0
- package/dist/standalone/chunk-6AJONHNM.js +1 -0
- package/dist/standalone/chunk-6UN4V2HB.js +1 -0
- package/dist/standalone/chunk-74ASA4WU.js +1 -0
- package/dist/standalone/chunk-7CVIN6KU.js +6 -0
- package/dist/standalone/chunk-7EOXUWAI.js +1 -0
- package/dist/standalone/chunk-7MO56FXL.js +1 -0
- package/dist/standalone/chunk-7PIHTTND.js +1 -0
- package/dist/standalone/chunk-7SROZWKL.js +1 -0
- package/dist/standalone/chunk-AFKLFS74.js +1 -0
- package/dist/standalone/chunk-AOAJGSYZ.js +2 -0
- package/dist/standalone/chunk-AVBUV42G.js +1 -0
- package/dist/standalone/chunk-B6YM5NAF.js +1 -0
- package/dist/standalone/chunk-BKM6PMSO.js +19 -0
- package/dist/standalone/chunk-BQK2C2Z4.js +1 -0
- package/dist/standalone/chunk-BWEXJENB.js +1 -0
- package/dist/standalone/chunk-CAOUXOL7.js +1 -0
- package/dist/standalone/chunk-CKTKI4IY.js +1 -0
- package/dist/standalone/chunk-CN2AINNY.js +1 -0
- package/dist/standalone/chunk-CP4ZFBVW.js +1 -0
- package/dist/standalone/chunk-CYX3OHJ3.js +1 -0
- package/dist/standalone/chunk-DKSLOJDQ.js +1 -0
- package/dist/standalone/chunk-DPNEFSEC.js +1 -0
- package/dist/standalone/chunk-DUDQV6XJ.js +1 -0
- package/dist/standalone/chunk-DXXXNZ3P.js +1 -0
- package/dist/standalone/chunk-DZGOHOOE.js +1 -0
- package/dist/standalone/chunk-E4RVRJHD.js +1 -0
- package/dist/standalone/chunk-E6P2ERQV.js +1 -0
- package/dist/standalone/chunk-EDHW2EEG.js +1 -0
- package/dist/standalone/chunk-EIWXXEVA.js +1 -0
- package/dist/standalone/chunk-EYGF6TQS.js +1 -0
- package/dist/standalone/chunk-F7JOSNAT.js +1 -0
- package/dist/standalone/chunk-FJ6G6FNE.js +1 -0
- package/dist/standalone/chunk-FKXX3Y2J.js +1 -0
- package/dist/standalone/chunk-FS7FGJOU.js +1 -0
- package/dist/standalone/chunk-GDC3W3DZ.js +1 -0
- package/dist/standalone/chunk-GISVVEPU.js +1 -0
- package/dist/standalone/chunk-GNN5HJ56.js +1 -0
- package/dist/standalone/chunk-ICQTVV6U.js +7 -0
- package/dist/standalone/chunk-INQICZYC.js +1 -0
- package/dist/standalone/chunk-IYWVSMAY.js +1 -0
- package/dist/standalone/chunk-JCSDJBBZ.js +1 -0
- package/dist/standalone/chunk-JUWOEHDD.js +1 -0
- package/dist/standalone/chunk-JV7KTJPY.js +1 -0
- package/dist/standalone/chunk-K3SXMDKL.js +1 -0
- package/dist/standalone/chunk-KJNDUIZG.js +1 -0
- package/dist/standalone/chunk-KNI5YDPT.js +9 -0
- package/dist/standalone/chunk-KR6SZXOI.js +1 -0
- package/dist/standalone/chunk-KTEVBZIV.js +1 -0
- package/dist/standalone/chunk-KVSQKUWD.js +1 -0
- package/dist/standalone/chunk-L4EZAHCD.js +1 -0
- package/dist/standalone/chunk-M3NNNOD5.js +1 -0
- package/dist/standalone/chunk-MCLM2QJI.js +1 -0
- package/dist/standalone/chunk-METRMDIQ.js +1 -0
- package/dist/standalone/chunk-MG7VPUFA.js +1 -0
- package/dist/standalone/chunk-MHB2TOAK.js +1 -0
- package/dist/standalone/chunk-MLYZZD5C.js +4 -0
- package/dist/standalone/chunk-MTGEDJQH.js +1 -0
- package/dist/standalone/chunk-N7PPYEHW.js +1 -0
- package/dist/standalone/chunk-NIUA7EHL.js +11 -0
- package/dist/standalone/chunk-NIX2QSSN.js +1 -0
- package/dist/standalone/chunk-NXXGISFB.js +1 -0
- package/dist/standalone/chunk-O4RQGUJ7.js +1 -0
- package/dist/standalone/chunk-OCZ2IP5A.js +1 -0
- package/dist/standalone/chunk-PAJQOSEU.js +1 -0
- package/dist/standalone/chunk-PGTCEMBA.js +1 -0
- package/dist/standalone/chunk-POD66K2Y.js +1 -0
- package/dist/standalone/chunk-PZ4QDWTI.js +1 -0
- package/dist/standalone/chunk-QBONDY5I.js +1 -0
- package/dist/standalone/chunk-R5ZTCHCE.js +1 -0
- package/dist/standalone/chunk-R7EV3YND.js +1 -0
- package/dist/standalone/chunk-RAFPVMXJ.js +1 -0
- package/dist/standalone/chunk-RCZTUWG3.js +1 -0
- package/dist/standalone/chunk-SPDZUX4P.js +1 -0
- package/dist/standalone/chunk-SQSMHFA7.js +1 -0
- package/dist/standalone/chunk-T7DJP5HM.js +1 -0
- package/dist/standalone/chunk-TCAX32PK.js +1 -0
- package/dist/standalone/chunk-TDH7K7E7.js +1 -0
- package/dist/standalone/chunk-TFMQSCGC.js +1 -0
- package/dist/standalone/chunk-THTL2KBP.js +1 -0
- package/dist/standalone/chunk-TI5RJJRX.js +1 -0
- package/dist/standalone/chunk-TKKRBSUB.js +1 -0
- package/dist/standalone/chunk-TNKECJW4.js +1 -0
- package/dist/standalone/chunk-TPAZM36C.js +1 -0
- package/dist/standalone/chunk-U2FRMJAN.js +1 -0
- package/dist/standalone/chunk-U32MMDFO.js +3 -0
- package/dist/standalone/chunk-UANVABQG.js +1 -0
- package/dist/standalone/chunk-UBT2FIU5.js +8 -0
- package/dist/standalone/chunk-UDCFI5NF.js +14 -0
- package/dist/standalone/chunk-UFUOW6UJ.js +3 -0
- package/dist/standalone/chunk-VJQAOU2U.js +1 -0
- package/dist/standalone/chunk-VR3UJA7B.js +1 -0
- package/dist/standalone/chunk-VTFMI4DC.js +4 -0
- package/dist/standalone/chunk-VYW2PAWC.js +15 -0
- package/dist/standalone/chunk-VZCS5GXZ.js +1 -0
- package/dist/standalone/chunk-W2JBKQNU.js +1 -0
- package/dist/standalone/chunk-WUW4ZHRL.js +1 -0
- package/dist/standalone/chunk-XJSWM47N.js +1 -0
- package/dist/standalone/chunk-XL2OT5WB.js +59 -0
- package/dist/standalone/chunk-XOA5TTRA.js +1 -0
- package/dist/standalone/chunk-XQS7KSHL.js +1 -0
- package/dist/standalone/chunk-XYWLXNTV.js +1 -0
- package/dist/standalone/chunk-YMVKAXBC.js +1 -0
- package/dist/standalone/chunk-ZHPDAJBM.js +1 -0
- package/dist/standalone/chunk-ZPGNTTQ3.js +1 -0
- package/dist/standalone/chunk-ZSOLGJFC.js +1 -0
- package/dist/standalone/chunk-ZWATJNSU.js +1 -0
- package/dist/standalone/studio.js +9 -378
- package/dist/styles.css +2 -2
- package/package.json +16 -15
- package/dist/packem_shared/ADMIN_FUNCTIONS-CZJCZ4c7.js +0 -47
- package/dist/packem_shared/ApiDocsPanel-yEz0fiof.js +0 -842
- package/dist/packem_shared/ApiReferencePanel-1vubqG5s.js +0 -229
- package/dist/packem_shared/ApiTab-DdubReQI.js +0 -251
- package/dist/packem_shared/AuditPanel-CE5ofjCc.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-DpL8U-Nf.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-ChsSUCYZ.js +0 -197
- package/dist/packem_shared/FileBrowser-DsRBnVhZ.js +0 -2932
- package/dist/packem_shared/FunctionRunner-D4cZ6fuA.js +0 -343
- package/dist/packem_shared/FunctionStatsPanel-BVelWgNv.js +0 -375
- package/dist/packem_shared/GlobalDataBrowser-3X9uRfdO.js +0 -289
- package/dist/packem_shared/HealthPanel-CxUVKfvo.js +0 -648
- package/dist/packem_shared/HomePanel-tfqpZxuu.js +0 -1334
- package/dist/packem_shared/InsightsPanel-DNg3K9XN.js +0 -461
- package/dist/packem_shared/LogsPanel-B4LoSRj0.js +0 -827
- package/dist/packem_shared/MailPanel-CcpdyWYs.js +0 -440
- package/dist/packem_shared/MetricsPanel-CxoyWbNb.js +0 -1611
- package/dist/packem_shared/MigrationsPanel-DGwJGWDA.js +0 -239
- package/dist/packem_shared/OpenRpcReferencePanel-vbcYbv3V.js +0 -191
- package/dist/packem_shared/PitrPanel-CKUzyyHi.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-RclXFo9Q.js +0 -2512
- package/dist/packem_shared/SecurityAdvisorPanel-Dqql1Z5O.js +0 -92
- package/dist/packem_shared/SettingsPanel-D5iTY0YE.js +0 -390
- package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
- package/dist/packem_shared/SqlEditorPanel-Dj-In-B3.js +0 -13
- package/dist/packem_shared/Studio-VWvKNOw4.js +0 -33
- package/dist/packem_shared/StudioApp-BhQ6T2pn.js +0 -657
- package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
- package/dist/packem_shared/TableEditor-BY8bTpCl.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-BVJFkXyj.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-CMdxstu5.js +0 -2562
- package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
- package/dist/packem_shared/studio-D8ry3tJR.js +0 -11043
- package/dist/packem_shared/table-_RzNvy3R.js +0 -246
- package/dist/packem_shared/table-editor-CWx68ZCg.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 G}from"./chunk-METRMDIQ.js";import{a as x}from"./chunk-NXXGISFB.js";import{a as U}from"./chunk-6UN4V2HB.js";import{b as M}from"./chunk-KVSQKUWD.js";import"./chunk-ZHPDAJBM.js";import{P as O}from"./chunk-AOAJGSYZ.js";import"./chunk-TFMQSCGC.js";import{a as h}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import{b as w}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as E}from"./chunk-DZGOHOOE.js";import{f as D}from"./chunk-NIUA7EHL.js";import"./chunk-RCZTUWG3.js";import{d as K,e as _,f as z,h as B,o as P,s as q}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as s,d as J,e as ie,g as oe}from"./chunk-R5ZTCHCE.js";var i=J(ie(),1);var e=J(oe(),1);var de=s(r=>r.kind==="id"?r.table===void 0?"id":`id<${r.table}>`:r.kind==="array"?r.element===void 0?"array":`${r.element}[]`:r.kind,"oe"),le=s(r=>r===void 0||r.length===0?"()":`(${r.map(o=>`${o.name}${o.optional?"?":""}: ${de(o)}`).join(", ")})`,"ie"),ce=s(r=>{switch(r){case"array":return[];case"bigint":case"number":return 0;case"boolean":return!1;case"object":case"record":return{};default:return""}},"de"),ue=s(r=>{let o={};for(let a of r??[])a.optional||(o[a.name]=ce(a.kind));return JSON.stringify(o,void 0,2)},"le"),me=z(E.runAs),fe=10,pe=s(r=>r===void 0?"undefined":JSON.stringify(r,null,2),"me"),Fe=s(({functions:r,runAsIdentity:o=!1}={})=>{let a=K(),u=D(),[H,Q]=(0,i.useState)(null),[k,V]=(0,i.useState)(null),g=r??H??[],[I,S]=(0,i.useState)(""),[m,b]=(0,i.useState)("{}"),[c,F]=(0,i.useState)(""),[f,W]=(0,i.useState)(""),[v,p]=(0,i.useState)("idle"),[X,y]=(0,i.useState)(void 0),[C,N]=(0,i.useState)(null),[$,Y]=(0,i.useState)([]);(0,i.useEffect)(()=>{if(r!==void 0)return;let t=!1;return u.listFunctions().then(d=>(t||Q(d),d)).catch(d=>{t||V(B(d))}),()=>{t=!0}},[u,r]);let A=I===""?g[0]?.path??"":I,n=g.find(t=>t.path===A),Z=s(async()=>{if(!n)return;let t;try{t=m.trim()===""?{}:JSON.parse(m)}catch(l){p("error"),y(void 0),N(a("Invalid JSON args: {message}",{message:l.message}));return}let d={__lunoraRef:n.path},R=c.trim()===""?{}:{shardKey:c.trim()},j=o?f.trim():"",L=s(l=>{Y(T=>[{argsText:m,at:Date.now(),id:(T[0]?.id??0)+1,kind:n.kind,path:n.path,shardKey:c,status:l},...T].slice(0,fe))},"$");p("running"),N(null);try{let l=j===""?await _(u,n.kind,d,t,R):await u.query(me,{args:t,functionPath:n.path,userId:j},R);M(c),y(l),p("success"),L("success")}catch(l){y(void 0),N(l.message),p("error"),L("error")}},"J"),ee=s(t=>{S(t.path),b(t.argsText),F(t.shardKey)},"M"),te=s(t=>{S(t.target.value)},"P"),re=s(t=>{b(t.target.value)},"z"),ae=s(t=>{W(t.target.value)},"q"),se=s(()=>{P(Z())},"H"),ne=s(()=>{b(ue(n?.args))},"V");return(0,e.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-function-runner",children:[k!==null&&(0,e.jsx)("p",{className:"text-sm text-destructive","data-testid":"function-discover-error",role:"alert",children:k}),(0,e.jsxs)("div",{className:"flex flex-col gap-4 rounded-xl border border-border bg-card p-4",children:[(0,e.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,e.jsx)(x,{htmlFor:"function-select",children:a("Function")}),(0,e.jsx)("select",{"aria-label":a("Function"),className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50","data-testid":"function-select",id:"function-select",onChange:te,value:A,children:g.map(t=>(0,e.jsxs)("option",{value:t.path,children:[t.path," (",t.kind,")"]},t.path))}),n!==void 0&&(0,e.jsxs)("p",{className:"text-xs text-muted-foreground",children:[(0,e.jsx)("span",{className:"mr-1.5 font-medium",children:a("Signature")}),(0,e.jsx)("code",{className:"font-mono","data-testid":"function-signature",children:le(n.args)})]})]}),(0,e.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,e.jsx)(x,{htmlFor:"args-input",children:a("Arguments")}),(0,e.jsx)(h,{"data-testid":"prefill-button",disabled:n===void 0,onClick:ne,size:"xs",type:"button",variant:"ghost",children:a("Prefill")})]}),(0,e.jsx)(G,{"aria-label":a("Arguments"),className:"font-mono text-xs","data-testid":"args-input",id:"args-input",onChange:re,value:m})]}),(0,e.jsx)(U,{onChange:F,testId:"shard-input",value:c}),o&&(0,e.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"run-as-field",children:[(0,e.jsx)(x,{htmlFor:"run-as-input",children:a("Run as identity (userId)")}),(0,e.jsx)(O,{"aria-label":a("Run as identity (userId)"),className:"font-mono text-xs","data-testid":"run-as-input",id:"run-as-input",onChange:ae,placeholder:a("Leave empty to run as admin"),value:f}),(0,e.jsx)("p",{className:"text-[11px] text-muted-foreground",children:a("Dev only: runs the function as this user so you can test auth and RLS. Forged over the admin gate.")})]}),(0,e.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,e.jsx)(h,{"data-testid":"run-button",disabled:v==="running"||n===void 0,onClick:se,type:"button",children:a("Run")}),n!==void 0&&(0,e.jsx)(w,{variant:"outline",children:n.kind}),o&&f.trim()!==""&&(0,e.jsx)(w,{"data-testid":"run-as-badge",variant:"secondary",children:a("as {userId}",{userId:f.trim()})})]})]}),v==="error"&&C!==null&&(0,e.jsx)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs text-destructive","data-testid":"error",role:"alert",children:C}),v==="success"&&(0,e.jsx)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs","data-testid":"result",children:pe(X)}),$.length>0&&(0,e.jsx)("ul",{className:"flex flex-col overflow-hidden rounded-xl border border-border","data-testid":"fn-history",children:$.map((t,d)=>(0,e.jsxs)("li",{className:"flex flex-wrap items-center gap-2 border-b border-border px-3 py-2 text-sm last:border-b-0","data-testid":"fn-history-row",children:[(0,e.jsx)("span",{className:t.status==="success"?"text-success":"text-destructive","data-testid":`fn-history-status-${d.toString()}`,children:t.status==="success"?"\u2713":"\u2717"})," ",(0,e.jsxs)("span",{className:"font-mono text-xs",children:[t.path," (",t.kind,")"]})," ",(0,e.jsx)("time",{className:"text-xs text-muted-foreground",children:q(t.at)})," ",(0,e.jsx)(h,{className:"ml-auto","data-testid":`fn-history-load-${d.toString()}`,onClick:s(()=>{ee(t)},"onClick"),size:"xs",type:"button",variant:"ghost",children:a("Load")})]},t.id))})]})},"Ae");export{Fe as FunctionRunner};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as re}from"./chunk-E6P2ERQV.js";import{a as X}from"./chunk-CKTKI4IY.js";import{a as V}from"./chunk-6UN4V2HB.js";import"./chunk-KVSQKUWD.js";import"./chunk-ZHPDAJBM.js";import"./chunk-AOAJGSYZ.js";import"./chunk-TFMQSCGC.js";import{a as R}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import{b as O}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as Y}from"./chunk-JCSDJBBZ.js";import"./chunk-PZ4QDWTI.js";import"./chunk-GDC3W3DZ.js";import"./chunk-F7JOSNAT.js";import{a as Q}from"./chunk-DZGOHOOE.js";import{c as J}from"./chunk-5DEXJ766.js";import"./chunk-NIUA7EHL.js";import"./chunk-RCZTUWG3.js";import{a as G}from"./chunk-UANVABQG.js";import{a as Z,b as ee,c as te,d as P,e as n,f as o}from"./chunk-L4EZAHCD.js";import{a as U,e as W}from"./chunk-IYWVSMAY.js";import{d as z,s as H}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as l,d as B,e as de,f as me,g as he,i as L}from"./chunk-R5ZTCHCE.js";var se=B(me(),1),le=B(de(),1);var t=B(he(),1);var ue={action:"outline",mutation:"default",query:"secondary"},ae=l(r=>r<1e3?`${r<10?r.toFixed(1):Math.round(r).toString()}ms`:`${(r/1e3).toFixed(2)}s`,"q"),fe=l(r=>r.calls===0?"\u2014":r.errors===0?"0":`${r.errors.toString()} (${(r.errors/r.calls*100).toFixed(1)}%)`,"de"),pe=l(r=>{let e=r.conflicts??0;return r.calls===0?"\u2014":e===0?"0":`${e.toString()} (${(e/r.calls*100).toFixed(1)}%)`},"me"),xe={calls:l((r,e)=>e.calls-r.calls,"calls"),recent:l((r,e)=>e.lastCalledAt-r.lastCalledAt,"recent"),slowest:l((r,e)=>e.maxDurationMs-r.maxDurationMs,"slowest")},Ee=l(r=>{let e=(0,se.c)(47),{functions:K,initialShardKey:ne}=r,s=z(),{queryShardKey:_,setShardKey:N,shardKey:v}=X(ne),[i,oe]=(0,le.useState)("recent"),w;e[0]===Symbol.for("react.memo_cache_sentinel")?(w={},e[0]=w):w=e[0];let C;e[1]!==_?(C={live:!0,shardKey:_},e[1]=_,e[2]=C):C=e[2];let{data:ie,error:c,errorSource:S,liveError:b}=J(Q.getFunctionStats,w,C),k=ie?.functions??null,$;e[3]!==K?($=new Map((K??[]).map(ge)),e[3]=K,e[4]=$):$=e[4];let T=$,F;e[5]===Symbol.for("react.memo_cache_sentinel")?(F=l(M=>{oe(M.currentTarget.dataset.sort)},"E"),e[5]=F):F=e[5];let ce=F,I;if(e[6]!==c||e[7]!==S||e[8]!==T||e[9]!==b||e[10]!==N||e[11]!==v||e[12]!==i||e[13]!==k||e[14]!==s){let M=k===null?[]:k.toSorted(xe[i]),d;e[16]!==s?(d=s("Recent"),e[16]=s,e[17]=d):d=e[17];let m;e[18]!==d?(m={key:"recent",label:d},e[18]=d,e[19]=m):m=e[19];let h;e[20]!==s?(h=s("Most called"),e[20]=s,e[21]=h):h=e[21];let u;e[22]!==h?(u={key:"calls",label:h},e[22]=h,e[23]=u):u=e[23];let f;e[24]!==s?(f=s("Slowest"),e[24]=s,e[25]=f):f=e[25];let p;e[26]!==f?(p={key:"slowest",label:f},e[26]=f,e[27]=p):p=e[27];let A;e[28]!==p||e[29]!==m||e[30]!==u?(A=[m,u,p],e[28]=p,e[29]=m,e[30]=u,e[31]=A):A=e[31];let j=A,x;e[32]!==N||e[33]!==v?(x=(0,t.jsx)(V,{onChange:N,testId:"fs-shard-input",value:v}),e[32]=N,e[33]=v,e[34]=x):x=e[34];let g;e[35]!==b?(g=(0,t.jsx)(re,{message:b,prefix:"fs"}),e[35]=b,e[36]=g):g=e[36];let y;e[37]!==j||e[38]!==i?(y=(0,t.jsx)("div",{className:"ml-auto flex items-center gap-1",role:"group",children:j.map(a=>(0,t.jsx)(R,{"data-sort":a.key,"data-testid":`fs-sort-${a.key}`,onClick:ce,size:"sm",type:"button",variant:i===a.key?"secondary":"ghost",children:a.label},a.key))}),e[37]=j,e[38]=i,e[39]=y):y=e[39];let D;e[40]!==x||e[41]!==g||e[42]!==y?(D=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[x,g,y]}),e[40]=x,e[41]=g,e[42]=y,e[43]=D):D=e[43];let E;e[44]!==c||e[45]!==S?(E=c!==null&&(0,t.jsx)(Y,{error:S,testId:"fs-error"}),e[44]=c,e[45]=S,e[46]=E):E=e[46],I=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-function-stats",children:[D,E,k!==null&&M.length===0&&c===null&&(0,t.jsx)(G,{description:s("Per-function call counts, error rates, and latency land here after your first request."),icon:(0,t.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{d:"M3 3v18h18"}),(0,t.jsx)("path",{d:"M7 14l4-4 3 3 5-6"})]}),testId:"fs-empty",title:s("No functions have run on this shard yet.")}),M.length>0&&(0,t.jsx)(U,{className:"overflow-hidden py-0",children:(0,t.jsx)(W,{className:"px-0",children:(0,t.jsxs)(Z,{"data-testid":"fs-table",children:[(0,t.jsx)(ee,{children:(0,t.jsxs)(P,{children:[(0,t.jsx)(n,{children:s("function")}),(0,t.jsx)(n,{children:s("kind")}),(0,t.jsx)(n,{className:"text-right",children:s("calls")}),(0,t.jsx)(n,{className:"text-right",children:s("errors")}),(0,t.jsx)(n,{className:"text-right",children:s("conflicts")}),(0,t.jsx)(n,{className:"text-right",children:s("avg")}),(0,t.jsx)(n,{className:"text-right",children:s("max")}),(0,t.jsx)(n,{children:s("last run")}),(0,t.jsx)(n,{children:s("last error")})]})}),(0,t.jsx)(te,{children:M.map(a=>{let q=T.get(a.path);return(0,t.jsxs)(P,{"data-testid":`fs-row-${a.path}`,children:[(0,t.jsx)(o,{className:"font-medium",children:a.path}),(0,t.jsx)(o,{children:q===void 0?(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}):(0,t.jsx)(O,{variant:ue[q],children:q})}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls}),(0,t.jsx)(o,{className:L("text-right tabular-nums",a.errors>0&&"text-destructive"),children:fe(a)}),(0,t.jsx)(o,{className:L("text-right tabular-nums",(a.conflicts??0)>0&&"text-warning"),children:pe(a)}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls===0?"\u2014":ae(a.totalDurationMs/a.calls)}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls===0?"\u2014":ae(a.maxDurationMs)}),(0,t.jsx)(o,{className:"text-muted-foreground",children:H(a.lastCalledAt,"\u2014")}),(0,t.jsx)(o,{className:"max-w-[24ch] truncate text-destructive",title:a.lastErrorMessage??void 0,children:a.lastErrorMessage??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})})]},a.path)})})]})})})]}),e[6]=c,e[7]=S,e[8]=T,e[9]=b,e[10]=N,e[11]=v,e[12]=i,e[13]=k,e[14]=s,e[15]=I}else I=e[15];return I},"Ae");function ge(r){return[r.path,r.kind]}l(ge,"fe");export{Ee as FunctionStatsPanel};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{a as rt,b as ot}from"./chunk-OCZ2IP5A.js";import{a as nt}from"./chunk-7CVIN6KU.js";import{a as tt}from"./chunk-4HWTEDVV.js";import"./chunk-FJ6G6FNE.js";import"./chunk-CP4ZFBVW.js";import"./chunk-CN2AINNY.js";import"./chunk-5JLIP2HH.js";import"./chunk-EDHW2EEG.js";import"./chunk-ZSOLGJFC.js";import"./chunk-DUDQV6XJ.js";import{a as et}from"./chunk-M3NNNOD5.js";import"./chunk-VZCS5GXZ.js";import"./chunk-DKSLOJDQ.js";import"./chunk-XL2OT5WB.js";import"./chunk-JV7KTJPY.js";import"./chunk-DPNEFSEC.js";import"./chunk-2EJQ7SPV.js";import{a as Je}from"./chunk-6UN4V2HB.js";import{b as Xe}from"./chunk-KVSQKUWD.js";import{c as Ve,d as qe,e as Le,f as _e,g as Pe}from"./chunk-ZHPDAJBM.js";import{P as Ge}from"./chunk-AOAJGSYZ.js";import"./chunk-INQICZYC.js";import"./chunk-TFMQSCGC.js";import"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import"./chunk-7PIHTTND.js";import{a as Ze}from"./chunk-PZ4QDWTI.js";import{a as Ne}from"./chunk-DZGOHOOE.js";import"./chunk-5DEXJ766.js";import{f as Ee}from"./chunk-NIUA7EHL.js";import"./chunk-RCZTUWG3.js";import"./chunk-L4EZAHCD.js";import{d as ce,f as we,g as ke,h as Ke,o as ue}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as l,d as We,e as vt,f as yt,g as St,i as me}from"./chunk-R5ZTCHCE.js";var G=We(yt(),1);var z=We(vt(),1);var c=We(St(),1);var wt=["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"],kt=["FROM","WHERE","ORDER BY","GROUP BY","HAVING","LIMIT","OFFSET","UNION","JOIN","LEFT JOIN","RIGHT JOIN","INNER JOIN","OUTER JOIN","CROSS JOIN"],Me=String.fromCodePoint(0),Nt=new RegExp(`${Me}${String.raw`(\d+)`}${Me}`,"gu"),qt=wt.map(s=>({pattern:new RegExp(String.raw`\b${s.replaceAll(" ",String.raw`\s+`)}\b`,"giu"),replacement:s})),Ct=kt.map(s=>({pattern:new RegExp(String.raw`\s+${s.replaceAll(" ",String.raw`\s+`)}\b`,"gu"),replacement:`
|
|
2
|
+
${s}`})),Tt=l(s=>{let e=[],n=s.replaceAll(/'(?:[^']|'')*'/gu,t=>(e.push(t),`${Me}${(e.length-1).toString()}${Me}`)).replaceAll(/\s+/gu," ").trim();for(let{pattern:t,replacement:o}of qt)n=n.replaceAll(t,o);for(let{pattern:t,replacement:o}of Ct)n=n.replaceAll(t,o);return n=n.replaceAll(Nt,(t,o)=>e[Number(o)]??""),n},"Lt"),je="x",It={'"':'"',"'":"'","[":"]","`":"`"},Rt=l((s,e)=>{let n=e+2;for(;n<s.length&&s[n]!==`
|
|
3
|
+
`;)n+=1;return n},"qt"),Et=l((s,e)=>{let n=s.indexOf("*/",e+2);return n===-1?-1:n+2},"At"),ct=l(s=>{let e=s.split(""),n=0;for(;n<s.length;){let t=s[n]??"",o=It[t];if(t==="-"&&s[n+1]==="-"){let r=Rt(s,n);e.fill(je,n,r),n=r}else if(t==="/"&&s[n+1]==="*"){let r=Et(s,n);if(r===-1)return;e.fill(je,n,r),n=r}else if(o!==void 0){let r=n+1;for(;r<s.length;)if(s[r]!==o)r+=1;else if(o!=="]"&&s[r+1]===o)r+=2;else break;if(r>=s.length)return;e.fill(je,n,r+1),n=r+1}else n+=1}for(let t=0;t<s.length;t+=1)s[t]===`
|
|
4
|
+
`&&(e[t]=`
|
|
5
|
+
`);return e.join("")},"tt"),Lt=/^(?:explain\s+(?:query\s+plan\s+)?)?(?:select|with)\b/iu,_t=/\b(?:alter|attach|create|delete|detach|drop|insert|pragma|reindex|replace|truncate|update|vacuum)\b/iu,Ot=/^\w+/u,Dt=/;\s*$/u,Mt=/\s/u,At=l((s,e)=>{let n=e+2;for(;n<s.length&&s[n]!==`
|
|
6
|
+
`;)n+=1;return n},"Bt"),$t=l((s,e)=>{let n=s.indexOf("*/",e+2);return n===-1?-1:n+2},"Ht"),Bt=l(s=>{let e=0;for(;e<s.length;){let n=s[e];if(n!==void 0&&Mt.test(n))e+=1;else if(n==="-"&&s[e+1]==="-")e=At(s,e);else if(n==="/"&&s[e+1]==="*"){let t=$t(s,e);if(t===-1)break;e=t}else break}return e},"Pt"),Ht=l(s=>{let e=Bt(s),n=s.slice(e).trimEnd();if(n==="")return{code:"SQL_EMPTY",message:"the query is empty"};let t=n.replace(Dt,""),o=(ct(t)??t).indexOf(";");if(o!==-1)return{code:"SQL_MULTIPLE_STATEMENTS",length:1,message:"only a single statement may be run",offset:e+o};let r="the SQL editor is read-only \u2014 only SELECT / WITH / EXPLAIN queries are allowed";if(!Lt.test(t))return{code:"SQL_NOT_READONLY",length:Ot.exec(t)?.[0].length??1,message:r,offset:e};let a=_t.exec(t);if(a!==null)return{code:"SQL_NOT_READONLY",length:a[0].length,message:`${r} (\`${a[0].toUpperCase()}\` is not allowed)`,offset:e+a.index}},"Wt"),Fe=l((s,e)=>{let n=s.trim();if(n==="")return[];let t=e+s.indexOf(n),o=Ht(n);return[o===void 0?{offset:t,sql:n}:{offset:t,rejection:o,sql:n}]},"Qe"),dt=l(s=>{let e=ct(s);if(e===void 0)return Fe(s,0);let n=[],t=0;for(let o=0;o<=e.length;o+=1)o!==e.length&&e[o]!==";"||(n.push(...Fe(s.slice(t,o),t)),t=o+1);return n},"nt"),Wt=/\b(?:from|join)\s+([a-z_][\w$]*)(?:\s+(?:as\s+)?([a-z_][\w$]*))?/giu,Pt=/(?:\bwith\s+(?:recursive\s+)?|,\s*)([a-z_][\w$]*)\s+as\s*\(/giu,jt=new Set(["cross","full","group","having","inner","join","left","limit","offset","on","order","right","union","using","where","window"]),Qt=/[^\n]/gu,Ft=l((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(`
|
|
7
|
+
`,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},"zt"),zt=l(s=>{let e="",n=0;for(;n<s.length;){let t=Ft(s,n);t===-1?(e+=s.slice(n,n+1),n+=1):(e+=s.slice(n,t).replaceAll(Qt," "),n=t)}return e},"Yt"),Ut=l(s=>{let e=new Set;for(let n of s.matchAll(Pt))e.add((n[1]??"").toLowerCase());return e},"Kt"),Yt=l((s,e)=>{let n=new Map;for(let t of s.matchAll(Wt)){let o=(t[1]??"").toLowerCase(),r=(t[2]??"").toLowerCase();e.has(o)&&(n.set(o,o),r!==""&&!jt.has(r)&&n.set(r,o))}return n},"Gt"),ut=l((s,e)=>{let n=zt(s),t=new Set(e.map(o=>o.toLowerCase()));return{ctes:Ut(n),masked:n,targets:Yt(n,t)}},"st"),Gt=/^(?:__lunora|sqlite_)/iu,Kt=/\b(?:from|join)\s+([a-z_][\w$]*)/giu,Vt=/\b([a-z_][\w$]*)\.([a-z_][\w$]*)/giu,Xt=new Set(["cross","full","group","having","inner","join","lateral","left","limit","offset","order","right","select","union","where","window"]),Jt=l((s,e,n)=>{let t=[];for(let o of s.matchAll(Kt)){let r=o[1]??"",a=r.toLowerCase();!e.has(a)&&!n.has(a)&&!Xt.has(a)&&!Gt.test(r)&&t.push({length:r.length,message:`unknown table \`${r}\``,offset:o.index+o[0].length-r.length,severity:"error",source:"schema"})}return t},"en"),Zt=l((s,e,n)=>{let t=[],o=new Map;for(let[r,a]of Object.entries(e.columns))o.set(r.toLowerCase(),new Set(a.map(d=>d.toLowerCase())));for(let r of s.matchAll(Vt)){let a=(r[1]??"").toLowerCase(),d=r[2]??"",i=n.get(a),u=i===void 0?void 0:o.get(i);u!==void 0&&!u.has(d.toLowerCase())&&t.push({length:d.length,message:`\`${i??""}\` has no column \`${d}\``,offset:r.index+r[0].length-d.length,severity:"error",source:"schema"})}return t},"tn"),en=l((s,e)=>{if(s.trim()==="")return[];let n=dt(s),t=new Set(e.tables.map(r=>r.toLowerCase())),o=[];for(let r of n){let{offset:a,rejection:d}=r;if(d!==void 0){d.code!=="SQL_EMPTY"&&o.push({length:d.length,message:d.message,offset:d.offset===void 0?a:a+d.offset,severity:"error",source:"gate"});continue}let{ctes:i,masked:u,targets:p}=ut(r.sql,e.tables);o.push(...[...Jt(u,t,i),...Zt(u,e,p)].map(h=>({...h,offset:h.offset===void 0?a:a+h.offset})))}return o},"nn"),tn=we(Ne.lintSql),nn=600,rn=l((s,e,n)=>{let t=Ee(),[o,r]=(0,z.useState)([]),a=(0,z.useMemo)(()=>en(s,e),[s,e]),d=et(s,nn),i=a.some(h=>h.source==="gate")||d.trim()==="",u=(0,z.useCallback)(async h=>{try{let g=await t.query(tn,{sql:d},ke(n));h.cancelled||r(g.diagnostics??[])}catch{h.cancelled||r([])}},[t,d,n]);(0,z.useEffect)(()=>{if(i){r([]);return}let h={cancelled:!1};return ue(u(h)),()=>{h.cancelled=!0}},[u,i]);let p=d===s;return(0,z.useMemo)(()=>p?[...a,...o]:a,[a,o,p])},"ln"),Oe=8,on=["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"],sn=new Set(["AND","BY","HAVING","ON","OR","SELECT","WHERE"]),ln=/[\w$]/,mt=l(s=>s!==void 0&&ln.test(s),"ot"),ft=l(s=>{let e=s.length;for(;e>0&&mt(s[e-1]);)e-=1;return s.slice(e)},"lt"),ht=l((s,e)=>{let n=e;for(;n>0&&mt(s[n-1]);)n-=1;return{end:e,start:n,text:s.slice(n,e)}},"rt"),st=l((s,e)=>{let n=s.slice(0,e).trimEnd();return n.endsWith(".")||sn.has(ft(n).toUpperCase())},"Je"),an=l((s,e,n)=>{let t=s.slice(0,e);if(!t.endsWith("."))return;let o=ft(t.slice(0,-1));if(o!=="")return ut(s,n).targets.get(o.toLowerCase())??o},"dn"),ze=l((s,e)=>s.toLowerCase().startsWith(e.toLowerCase()),"ze"),lt=l((s,e,n,t)=>{let o=[];for(let r of s)if(ze(r,e)&&(o.push(t(r)),o.length>=n))break;return o},"Ve"),cn=l((s,e,n)=>{let t=new Map;for(let[o,r]of Object.entries(s.columns))for(let a of r)if(ze(a,e)&&!t.has(a)&&(t.set(a,o),t.size>=n))return[...t].map(([d,i])=>({detail:i,kind:"column",label:d}));return[...t].map(([o,r])=>({detail:r,kind:"column",label:o}))},"un"),dn=l((s,e,n)=>{let t=ht(s,e),o=an(s,t.start,n.tables);if(o!==void 0){let i=n.columns[o]??n.columns[o.toLowerCase()]??[];return lt(i,t.text,Oe,u=>({detail:o,kind:"column",label:u}))}if(t.text===""&&!st(s,t.start))return[];let r=lt(n.tables,t.text,Oe,i=>({kind:"table",label:i})),a=cn(n,t.text,Oe),d=on.flatMap(i=>t.text!==""&&ze(i,t.text)&&i.toLowerCase()!==t.text.toLowerCase()?[{kind:"keyword",label:i}]:[]);return(st(s,t.start)?[...a,...r,...d]:[...r,...a,...d]).slice(0,Oe)},"fn"),un=l((s,e,n)=>{let t=ht(s,e),o=s.slice(0,t.start)+n.label+s.slice(t.end);return{caret:t.start+n.label.length,value:o}},"mn"),mn=["boxSizing","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textTransform","width","wordSpacing"],fn=l((s,e)=>{let n=globalThis.getComputedStyle(s),t=globalThis.document.createElement("div"),{style:o}=t;o.position="absolute",o.visibility="hidden",o.whiteSpace="pre-wrap",o.overflowWrap="break-word";for(let i of mn)o[i]=n[i];t.textContent=s.value.slice(0,Math.max(0,e));let r=globalThis.document.createElement("span");r.textContent=s.value.slice(Math.max(0,e))||".",t.append(r),globalThis.document.body.append(t);let a=r.offsetLeft-s.scrollLeft,d=r.offsetTop-s.scrollTop;return t.remove(),{left:a,top:d}},"pn"),hn=l((s,e,n)=>{let t=(0,G.c)(16),[o,r]=(0,z.useState)(null),a;t[0]!==s||t[1]!==e?(a=l((v,b)=>{let k=dn(v,b,s);if(k.length===0){r(null);return}let S=e.current,{left:x,top:q}=S===null?{left:0,top:0}:fn(S,b);r(C=>C!==null&&C.active===0&&C.left===x&&C.top===q&&C.suggestions.length===k.length&&C.suggestions.every((R,T)=>{let _=k.at(T);return R.kind===_?.kind&&R.label===_.label&&R.detail===_.detail})?C:{active:0,left:x,suggestions:k,top:q})},"r"),t[0]=s,t[1]=e,t[2]=a):a=t[2];let d=a,i;t[3]===Symbol.for("react.memo_cache_sentinel")?(i=l(()=>{r(null)},"c"),t[3]=i):i=t[3];let u=i,p;t[4]===Symbol.for("react.memo_cache_sentinel")?(p=l(v=>{r(b=>{if(b===null)return b;let k=b.suggestions.length,S=(b.active+v+k)%k;return{...b,active:S}})},"m"),t[4]=p):p=t[4];let h=p,g;t[5]!==n||t[6]!==o||t[7]!==e?(g=l(v=>{let b=e.current;if(o===null||b===null)return!1;let k=o.suggestions[v??o.active];if(k===void 0)return!1;let S=un(b.value,b.selectionStart,k);return n(S.value),r(null),requestAnimationFrame(()=>{let x=e.current;x!==null&&(x.focus(),x.setSelectionRange(S.caret,S.caret))}),!0},"f"),t[5]=n,t[6]=o,t[7]=e,t[8]=g):g=t[8];let y=g,m;t[9]!==y?(m=l(()=>y(),"d"),t[9]=y,t[10]=m):m=t[10];let w=m,f;return t[11]!==w||t[12]!==y||t[13]!==d||t[14]!==o?(f={close:u,commit:w,commitAt:y,move:h,refresh:d,state:o},t[11]=w,t[12]=y,t[13]=d,t[14]=o,t[15]=f):f=t[15],f},"bn"),pn={column:"column",keyword:"keyword",table:"table"},bn=20,gn=l(s=>{let e=(0,G.c)(17),{listboxId:n,onPick:t,state:o}=s,r=ce(),a;e[0]!==o?(a=o===null?void 0:{left:o.left,top:o.top+bn},e[0]=o,e[1]=a):a=e[1];let d=a;if(o===null)return null;let i;if(e[2]!==n||e[3]!==t||e[4]!==o.active||e[5]!==o.suggestions||e[6]!==r){let p;e[8]!==n||e[9]!==t||e[10]!==o.active||e[11]!==r?(p=l((h,g)=>(0,c.jsxs)("li",{"aria-selected":g===o.active,className:me("flex cursor-pointer items-center gap-2 px-2 py-1 text-[13px]",g===o.active?"bg-accent text-accent-foreground":"text-foreground"),"data-testid":"sql-autocomplete-item",id:`${n}-opt-${g.toString()}`,onMouseDown:l(y=>{y.preventDefault(),t(g)},"onMouseDown"),role:"option",children:[(0,c.jsx)("span",{className:"truncate font-mono",children:h.label}),h.detail!==void 0&&(0,c.jsx)("span",{className:"ms-auto truncate text-xs text-muted-foreground",children:h.detail}),(0,c.jsx)("span",{className:"shrink-0 font-mono text-[10px] tracking-wide text-muted-foreground/70 uppercase",children:r(pn[h.kind])})]},`${h.kind}:${h.label}`),"m"),e[8]=n,e[9]=t,e[10]=o.active,e[11]=r,e[12]=p):p=e[12],i=o.suggestions.map(p),e[2]=n,e[3]=t,e[4]=o.active,e[5]=o.suggestions,e[6]=r,e[7]=i}else i=e[7];let u;return e[13]!==n||e[14]!==d||e[15]!==i?(u=(0,c.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:d,children:i}),e[13]=n,e[14]=d,e[15]=i,e[16]=u):u=e[16],u},"yn"),xn=we(Ne.listTables),vn=we(Ne.readTablePage),yn=l(s=>{let e=(0,G.c)(16),n=Ee(),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],e[0]=t):t=e[0];let[o,r]=(0,z.useState)(t),a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a={},e[1]=a):a=e[1];let[d,i]=(0,z.useState)(a),u;e[2]===Symbol.for("react.memo_cache_sentinel")?(u=new Set,e[2]=u):u=e[2];let p=(0,z.useRef)(u),h,g;e[3]!==n||e[4]!==s?(h=l(()=>{let b={cancelled:!1};return ue((async()=>{try{let k=await n.query(xn,{},ke(s));b.cancelled||(r(k.map(wn)),i({}),p.current=new Set)}catch{b.cancelled||(r([]),i({}),p.current=new Set)}})()),()=>{b.cancelled=!0}},"g"),g=[n,s],e[3]=n,e[4]=s,e[5]=h,e[6]=g):(h=e[5],g=e[6]),(0,z.useEffect)(h,g);let y;e[7]!==n||e[8]!==s?(y=l(b=>{p.current.has(b)||(p.current.add(b),ue((async()=>{try{let k=await n.query(vn,{limit:1,offset:0,table:b},ke(s));i(S=>({...S,[b]:k.columns}))}catch{p.current.delete(b)}})()))},"y"),e[7]=n,e[8]=s,e[9]=y):y=e[9];let m=y,w;e[10]!==d||e[11]!==o?(w={columns:d,tables:o},e[10]=d,e[11]=o,e[12]=w):w=e[12];let f=w,v;return e[13]!==m||e[14]!==f?(v={probe:m,schema:f},e[13]=m,e[14]=f,e[15]=v):v=e[15],v},"wn"),Qe=/\b(?:from|join|update|into)\s+([a-z_][\w$]*)|\b([a-z_][\w$]*)\s*\./gi,Sn=l(s=>{let e=new Set;Qe.lastIndex=0;let n=Qe.exec(s);for(;n!==null;)e.add(n[1]??n[2]),n=Qe.exec(s);return[...e]},"Cn");function wn(s){return s.name}l(wn,"Nn");var kn=l(s=>{let e=(0,G.c)(34),{onSubmit:n,probe:t,schema:o,setDraft:r}=s,a=(0,z.useId)(),d=(0,z.useRef)(null),i=(0,z.useRef)(null),u=(0,z.useRef)(null),p=hn(o,u,r),{close:h,commit:g,commitAt:y,move:m,refresh:w,state:f}=p,v;e[0]!==y?(v=l(N=>{y(N)},"x"),e[0]=y,e[1]=v):v=e[1];let b=v,k;e[2]!==w?(k=l(()=>{let N=u.current;N!==null&&N===document.activeElement&&w(N.value,N.selectionStart)},"C"),e[2]=w,e[3]=k):k=e[3];let S;e[4]!==w||e[5]!==o?(S=[w,o],e[4]=w,e[5]=o,e[6]=S):S=e[6],(0,z.useEffect)(k,S);let x;e[7]!==t||e[8]!==w||e[9]!==r?(x=l(N=>{let{selectionStart:j,value:I}=N.target;r(I);for(let $ of Sn(I))t($);w(I,j)},"p"),e[7]=t,e[8]=w,e[9]=r,e[10]=x):x=e[10];let q=x,C;e[11]!==w?(C=l(N=>{let j=N.currentTarget;w(j.value,j.selectionStart)},"N"),e[11]=w,e[12]=C):C=e[12];let R=C,T;e[13]!==f||e[14]!==h||e[15]!==g||e[16]!==m||e[17]!==n?(T=l(N=>{if(f!==null){if(N.key==="ArrowDown"){N.preventDefault(),m(1);return}if(N.key==="ArrowUp"){N.preventDefault(),m(-1);return}if(N.key==="Escape"){N.preventDefault(),h();return}if((N.key==="Enter"||N.key==="Tab")&&!N.metaKey&&!N.ctrlKey&&g()){N.preventDefault();return}}(N.metaKey||N.ctrlKey)&&N.key==="Enter"&&(N.preventDefault(),n())},"E"),e[13]=f,e[14]=h,e[15]=g,e[16]=m,e[17]=n,e[18]=T):T=e[18];let _=T,E;e[19]!==h?(E=l(()=>{requestAnimationFrame(()=>{h()})},"T"),e[19]=h,e[20]=E):E=e[20];let O=E,D;e[21]===Symbol.for("react.memo_cache_sentinel")?(D=l(N=>{let{scrollLeft:j,scrollTop:I}=N.currentTarget;d.current!==null&&(d.current.scrollTop=I),i.current!==null&&(i.current.scrollTop=I,i.current.scrollLeft=j)},"_"),e[21]=D):D=e[21];let L=D,B;e[22]===Symbol.for("react.memo_cache_sentinel")?(B=l(N=>{let j=u.current;j===null||N.offset===void 0||(j.focus(),j.setSelectionRange(N.offset,N.offset+(N.length??0)))},"B"),e[22]=B):B=e[22];let A=B,P;e[23]!==q||e[24]!==O||e[25]!==_||e[26]!==R?(P={onBlur:O,onChange:q,onKeyDown:_,onScroll:L,onSelect:R},e[23]=q,e[24]=O,e[25]=_,e[26]=R,e[27]=P):P=e[27];let M;return e[28]!==f||e[29]!==h||e[30]!==a||e[31]!==b||e[32]!==P?(M={autocompleteState:f,closeAutocomplete:h,handlers:P,listboxId:a,onPickSuggestion:b,editorRef:u,gutterRef:d,overlayRef:i,revealDiagnostic:A},e[28]=f,e[29]=h,e[30]=a,e[31]=b,e[32]=P,e[33]=M):M=e[33],M},"kn"),Nn="lunora-studio-sql-tabs",qn="lunora-studio-sql-active-tab",Ue=12,Ce=l((s="",e="")=>({activeId:null,id:Pe("tab"),name:e,sql:s}),"we"),Cn=l(()=>_e(qn,""),"Rn"),Tn=l(s=>{let e=(0,G.c)(16),[n,t]=Le(Nn),[o,r]=Cn(),[a]=(0,z.useState)(s),d,i;e[0]!==a||e[1]!==t||e[2]!==n.length?(d=l(()=>{n.length===0&&t([a])},"i"),i=[a,t,n.length],e[0]=a,e[1]=t,e[2]=n.length,e[3]=d,e[4]=i):(d=e[3],i=e[4]),(0,z.useEffect)(d,i);let u;e[5]!==a||e[6]!==n?(u=n.length===0?[a]:n,e[5]=a,e[6]=n,e[7]=u):u=e[7];let p=u,h;e[8]!==o||e[9]!==p?(h=p.some(m=>m.id===o)?o:p[0]?.id??"",e[8]=o,e[9]=p,e[10]=h):h=e[10];let g=h,y;return e[11]!==g||e[12]!==r||e[13]!==t||e[14]!==p?(y={activeId:g,setActiveId:r,setTabs:t,tabs:p},e[11]=g,e[12]=r,e[13]=t,e[14]=p,e[15]=y):y=e[15],y},"Ln"),pt=l(s=>s.activeId===null&&s.sql.trim()!=="","it"),In=l((s,e)=>[...s,e].slice(-Ue),"In"),Rn=l((s,e,n)=>{let t=s.findIndex(r=>r.id===e);if(t===-1)return{activeId:s[0]?.id??"",tabs:[...s]};let o=s.filter(r=>r.id!==e);if(o.length===0){let r=n();return{activeId:r.id,tabs:[r]}}return{activeId:o[Math.min(t,o.length-1)].id,tabs:o}},"qn"),En=l((s,e)=>{let n=s.filter(t=>t.id===e);return n.length===0?{activeId:s[0]?.id??"",tabs:[...s]}:{activeId:e,tabs:n}},"An"),Ln=l((s,e,n)=>{let t=s.findIndex(r=>r.id===e);if(t===-1)return{activeId:n,tabs:[...s]};let o=s.slice(0,t+1);return{activeId:o.some(r=>r.id===n)?n:e,tabs:o}},"_n"),_n=l(s=>{let e=s();return{activeId:e.id,tabs:[e]}},"On"),On=l((s,e,n)=>{if(s==="others")return e.filter(t=>t.id!==n);if(s==="right"){let t=e.findIndex(o=>o.id===n);return t===-1?[]:e.slice(t+1)}return[...e]},"Dn"),at={error:null,pane:"results",result:null,running:!1},Dn=l(s=>{let e=(0,G.c)(66),{activeId:n,setActiveId:t,setTabs:o,tabs:r}=Tn(s),a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={},e[0]=a):a=e[0];let[d,i]=(0,z.useState)(a),[u,p]=(0,z.useState)(null),[h,g]=(0,z.useState)(null),y;e[1]!==n||e[2]!==r?(y=r.find(W=>W.id===n)??r[0]??Ce(),e[1]=n,e[2]=r,e[3]=y):y=e[3];let m=y,w=d[m.id]??at,f;e[4]!==m.id||e[5]!==o?(f=l(W=>{o(U=>U.map(Y=>Y.id===m.id?{...Y,...W}:Y))},"u"),e[4]=m.id,e[5]=o,e[6]=f):f=e[6];let v=f,b;e[7]!==m.id?(b=l(W=>{i(U=>{let Y=U[m.id]??at;return{...U,[m.id]:{...Y,...W}}})},"h"),e[7]=m.id,e[8]=b):b=e[8];let k=b,S;e[9]!==t||e[10]!==o||e[11]!==r.length?(S=l(()=>{if(r.length>=Ue)return;let W=Ce();o(U=>In(U,W)),t(W.id)},"v"),e[9]=t,e[10]=o,e[11]=r.length,e[12]=S):S=e[12];let x=S,q;e[13]!==t||e[14]!==o?(q=l(W=>{p(null),g(null),o(W.tabs),t(W.activeId);let U=new Set(W.tabs.map(Mn));i(Y=>Object.fromEntries(Object.entries(Y).filter(X=>{let[fe]=X;return U.has(fe)})))},"k"),e[13]=t,e[14]=o,e[15]=q):q=e[15];let C=q,R;e[16]!==C||e[17]!==r?(R=l(W=>{C(Rn(r,W,Ce))},"L"),e[16]=C,e[17]=r,e[18]=R):R=e[18];let T=R,_;e[19]!==n||e[20]!==C||e[21]!==r?(_=l((W,U)=>{C(W==="others"?En(r,U):W==="right"?Ln(r,U,n):_n(Ce))},"q"),e[19]=n,e[20]=C,e[21]=r,e[22]=_):_=e[22];let E=_,O;e[23]!==E||e[24]!==u||e[25]!==r?(O=l(W=>{u!==null&&(On(W,r,u.id).some(An)?g(W):E(W,u.id))},"A"),e[23]=E,e[24]=u,e[25]=r,e[26]=O):O=e[26];let D=O,L;e[27]===Symbol.for("react.memo_cache_sentinel")?(L=l((W,U)=>{U.preventDefault(),g(null),p({id:W,x:U.clientX,y:U.clientY})},"I"),e[27]=L):L=e[27];let B=L,A;e[28]===Symbol.for("react.memo_cache_sentinel")?(A=l(()=>{p(null),g(null)},"D"),e[28]=A):A=e[28];let P=A,M;e[29]===Symbol.for("react.memo_cache_sentinel")?(M=l(W=>{W.preventDefault(),p(null),g(null)},"O"),e[29]=M):M=e[29];let N=M,j;e[30]!==D?(j=l(()=>{D("others")},"W"),e[30]=D,e[31]=j):j=e[31];let I=j,$;e[32]!==D?($=l(()=>{D("right")},"M"),e[32]=D,e[33]=$):$=e[33];let F=$,H;e[34]!==D?(H=l(()=>{D("all")},"$"),e[34]=D,e[35]=H):H=e[35];let J=H,Z;e[36]!==E||e[37]!==h||e[38]!==u?(Z=l(()=>{u!==null&&h!==null&&E(h,u.id),g(null)},"Z"),e[36]=E,e[37]=h,e[38]=u,e[39]=Z):Z=e[39];let ee=Z,te;e[40]===Symbol.for("react.memo_cache_sentinel")?(te=l(()=>{g(null)},"te"),e[40]=te):te=e[40];let ie=te,V;e[41]!==u?(V=u===null?void 0:{left:u.x,top:u.y},e[41]=u,e[42]=V):V=e[42];let Q=V,ne;e[43]!==o?(ne=l(W=>{o(U=>U.map(Y=>Y.activeId===W?{...Y,activeId:null}:Y))},"ne"),e[43]=o,e[44]=ne):ne=e[44];let re=ne,oe;e[45]!==o?(oe=l((W,U)=>{o(Y=>Y.map(X=>X.id===W?{...X,name:U}:X))},"oe"),e[45]=o,e[46]=oe):oe=e[46];let se=oe,le;return e[47]!==m||e[48]!==n||e[49]!==x||e[50]!==T||e[51]!==ee||e[52]!==J||e[53]!==I||e[54]!==F||e[55]!==w||e[56]!==k||e[57]!==v||e[58]!==h||e[59]!==se||e[60]!==t||e[61]!==u||e[62]!==Q||e[63]!==r||e[64]!==re?(le={activeTab:m,activeTabId:n,addEditorTab:x,cancelBulk:ie,closeEditorTab:T,closeTabMenu:P,confirmBulk:ee,menuStyle:Q,onBackdropContextMenu:N,onCloseAll:J,onCloseOthers:I,onCloseToRight:F,openTabMenu:B,output:w,patchActiveOutput:k,patchActiveTab:v,pendingBulk:h,renameTab:se,setActiveTabId:t,tabMenu:u,tabs:r,unlinkQuery:re},e[47]=m,e[48]=n,e[49]=x,e[50]=T,e[51]=ee,e[52]=J,e[53]=I,e[54]=F,e[55]=w,e[56]=k,e[57]=v,e[58]=h,e[59]=se,e[60]=t,e[61]=u,e[62]=Q,e[63]=r,e[64]=re,e[65]=le):le=e[65],le},"Mn");function Mn(s){return s.id}l(Mn,"$n");function An(s){return pt(s)}l(An,"Bn");var $n="lunora-studio-sql-queries",Se="lunora-studio-sql-history",Bn="lunora-studio-sql-remember-history",Hn=25,Wn=l(s=>{let e=(0,G.c)(41),{loadIntoActiveTab:n,unlinkQuery:t}=s,o=ce(),[r,a]=Le($n),[d,i]=_e(Bn,!1),[u,p]=Le(Se,d?"local":"session"),h,g;e[0]!==d?(h=l(()=>{d||qe(Se,"local")},"g"),g=[d],e[0]=d,e[1]=h,e[2]=g):(h=e[1],g=e[2]),(0,z.useEffect)(h,g);let[y,m]=(0,z.useState)(""),w=(0,z.useRef)(null),f;e[3]!==p?(f=l(I=>{p($=>$[0]?.sql===I?$:[{at:Date.now(),sql:I},...$.filter(F=>F.sql!==I)].slice(0,Hn))},"u"),e[3]=p,e[4]=f):f=e[4];let v=f,b;e[5]!==n||e[6]!==a||e[7]!==o?(b=l(()=>{let I={id:Pe("q"),name:o("Untitled query"),sql:""};a($=>[I,...$]),n("",I.id)},"h"),e[5]=n,e[6]=a,e[7]=o,e[8]=b):b=e[8];let k=b,S;e[9]!==n||e[10]!==r?(S=l(I=>{let $=r.find(F=>F.id===I);$!==void 0&&(n($.sql,I),w.current?.querySelector(`[data-testid="sql-query-${I}"]`)?.scrollIntoView({block:"nearest"}))},"v"),e[9]=n,e[10]=r,e[11]=S):S=e[11];let x=S,q;e[12]!==a||e[13]!==t?(q=l(I=>{a($=>$.filter(F=>F.id!==I)),t(I)},"k"),e[12]=a,e[13]=t,e[14]=q):q=e[14];let C=q,R;e[15]!==n?(R=l(I=>{n(I.currentTarget.dataset.sql??"",null)},"L"),e[15]=n,e[16]=R):R=e[16];let T=R,_;e[17]!==n?(_=l(I=>{n(I.currentTarget.dataset.sql??"",null)},"q"),e[17]=n,e[18]=_):_=e[18];let E=_,O;e[19]!==p?(O=l(()=>{p([]),qe(Se,"local"),qe(Se,"session")},"A"),e[19]=p,e[20]=O):O=e[20];let D=O,L;e[21]!==u||e[22]!==i?(L=l(I=>{Ve(Se,u,I?"local":"session"),I||qe(Se,"local"),i(I)},"I"),e[21]=u,e[22]=i,e[23]=L):L=e[23];let B=L,A;e[24]===Symbol.for("react.memo_cache_sentinel")?(A=l(I=>{m(I.target.value)},"D"),e[24]=A):A=e[24];let P=A,M;e[25]!==a?(M=l((I,$)=>{a(F=>F.map(H=>H.id===I?{...H,sql:$}:H))},"O"),e[25]=a,e[26]=M):M=e[26];let N=M,j;return e[27]!==D||e[28]!==C||e[29]!==u||e[30]!==E||e[31]!==T||e[32]!==k||e[33]!==r||e[34]!==v||e[35]!==d||e[36]!==y||e[37]!==x||e[38]!==B||e[39]!==N?(j={clearHistory:D,deleteQuery:C,history:u,listRef:w,loadFromHistory:E,loadTemplate:T,newQuery:k,onSearchChange:P,queries:r,recordHistory:v,rememberHistory:d,search:y,selectQuery:x,setRememberHistory:B,updateQuerySql:N},e[27]=D,e[28]=C,e[29]=u,e[30]=E,e[31]=T,e[32]=k,e[33]=r,e[34]=v,e[35]=d,e[36]=y,e[37]=x,e[38]=B,e[39]=N,e[40]=j):j=e[40],j},"Fn"),bt="p-3 font-mono text-xs leading-5 whitespace-pre-wrap break-words",Pn=l((s,e)=>{let n=[];for(let o of s){if(o.offset===void 0||o.length===void 0||o.length<=0)continue;let r=Math.max(0,Math.min(o.offset,e)),a=Math.max(r,Math.min(o.offset+o.length,e));r!==a&&n.push({end:a,severity:o.severity,start:r})}n.sort((o,r)=>o.start-r.start);let t=[];for(let o of n)o.start>=(t.at(-1)?.end??0)&&t.push(o);return t},"Qn"),jn=l(s=>s==="unsafe-response"?"The model returned a statement that is not read-only, so it was discarded.":s==="empty-response"?"The model returned nothing usable.":"The model could not be reached.","Un"),Qn=l(s=>{let e=(0,G.c)(51),{assistant:n,failed:t,onGenerated:o}=s,r=ce(),[a,d]=(0,z.useState)("");if(n.unavailable)return null;let i;e[0]!==n?(i=n.pending("sql"),e[0]=n,e[1]=i):i=e[1];let u=i,p;if(e[2]!==n||e[3]!==t||e[4]!==o||e[5]!==u||e[6]!==a||e[7]!==r){let h=n.reason("sql"),g;e[9]!==n||e[10]!==t||e[11]!==o||e[12]!==a?(g=l(E=>{let O=a.trim();O===""&&!E||ue((async()=>{let D=await n.generate(O===""?"fix the failing statement":O,E?t:void 0);D!==void 0&&o(D)})())},"f"),e[9]=n,e[10]=t,e[11]=o,e[12]=a,e[13]=g):g=e[13];let y=g,m;e[14]!==r?(m=r("Describe the query you want"),e[14]=r,e[15]=m):m=e[15];let w;e[16]===Symbol.for("react.memo_cache_sentinel")?(w=l(E=>{d(E.target.value)},"S"),e[16]=w):w=e[16];let f;e[17]!==y?(f=l(E=>{E.key==="Enter"&&(E.preventDefault(),y(!1))},"u"),e[17]=y,e[18]=f):f=e[18];let v;e[19]!==r?(v=r("Describe the query you want"),e[19]=r,e[20]=v):v=e[20];let b;e[21]!==u||e[22]!==a||e[23]!==m||e[24]!==f||e[25]!==v?(b=(0,c.jsx)(Ge,{"aria-label":m,className:"h-7 flex-1 text-xs","data-testid":"sql-assistant-prompt",disabled:u,onChange:w,onKeyDown:f,placeholder:v,value:a}),e[21]=u,e[22]=a,e[23]=m,e[24]=f,e[25]=v,e[26]=b):b=e[26];let k=u&&"opacity-60",S;e[27]!==k?(S=me("rounded-md border border-border px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent",k),e[27]=k,e[28]=S):S=e[28];let x;e[29]!==u||e[30]!==a?(x=u||a.trim()==="",e[29]=u,e[30]=a,e[31]=x):x=e[31];let q;e[32]!==y?(q=l(()=>{y(!1)},"k"),e[32]=y,e[33]=q):q=e[33];let C;e[34]!==u||e[35]!==r?(C=r(u?"Thinking\u2026":"Draft SQL"),e[34]=u,e[35]=r,e[36]=C):C=e[36];let R;e[37]!==S||e[38]!==x||e[39]!==q||e[40]!==C?(R=(0,c.jsx)("button",{className:S,"data-testid":"sql-assistant-generate",disabled:x,onClick:q,type:"button",children:C}),e[37]=S,e[38]=x,e[39]=q,e[40]=C,e[41]=R):R=e[41];let T;e[42]!==t||e[43]!==u||e[44]!==y||e[45]!==r?(T=t!==void 0&&(0,c.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:u,onClick:l(()=>{y(!0)},"onClick"),type:"button",children:r("Fix this")}),e[42]=t,e[43]=u,e[44]=y,e[45]=r,e[46]=T):T=e[46];let _;e[47]!==R||e[48]!==T||e[49]!==b?(_=(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[b,R,T]}),e[47]=R,e[48]=T,e[49]=b,e[50]=_):_=e[50],p=(0,c.jsxs)("div",{className:"flex flex-col gap-1 border-b border-border px-3 py-2","data-testid":"sql-assistant",children:[_,h!==void 0&&(0,c.jsx)("p",{className:"text-[11px] text-muted-foreground","data-testid":"sql-assistant-reason",role:"status",children:jn(h)})]}),e[2]=n,e[3]=t,e[4]=o,e[5]=u,e[6]=a,e[7]=r,e[8]=p}else p=e[8];return p},"jn"),Fn=l(s=>{let e=(0,G.c)(8),{diagnostics:n,draft:t,scrollRef:o}=s,r,a;if(e[0]!==n||e[1]!==t){a=Symbol.for("react.early_return_sentinel");e:{let u=Pn(n,t.length);if(u.length===0){a=null;break e}r=[];let p=0;for(let[h,g]of u.entries())g.start>p&&r.push(t.slice(p,g.start)),r.push((0,c.jsx)("span",{className:me("decoration-wavy underline underline-offset-4",g.severity==="error"?"decoration-destructive":"decoration-amber-500"),children:t.slice(g.start,g.end)},`${g.start.toString()}-${h.toString()}`)),p=g.end;r.push(t.slice(p))}e[0]=n,e[1]=t,e[2]=r,e[3]=a}else r=e[2],a=e[3];if(a!==Symbol.for("react.early_return_sentinel"))return a;let d;e[4]===Symbol.for("react.memo_cache_sentinel")?(d=me("pointer-events-none absolute inset-0 overflow-hidden text-transparent",bt),e[4]=d):d=e[4];let i;return e[5]!==r||e[6]!==o?(i=(0,c.jsx)("div",{"aria-hidden":"true",className:d,"data-testid":"sql-diagnostics-overlay",ref:o,children:r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i},"zn"),zn={gate:"read-only",plan:"plan",schema:"schema",syntax:"syntax"},Un=l(s=>{let e=(0,G.c)(10),{diagnostics:n,onSelect:t}=s,o=ce();if(n.length===0)return null;let r;e[0]!==o?(r=o("SQL problems"),e[0]=o,e[1]=r):r=e[1];let a;if(e[2]!==n||e[3]!==t){let i;e[5]!==t?(i=l((u,p)=>(0,c.jsx)("li",{children:(0,c.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:l(()=>{t(u)},"onClick"),type:"button",children:[(0,c.jsx)("span",{className:me("mt-px shrink-0 rounded px-1 font-mono text-[10px] uppercase",u.severity==="error"?"bg-destructive/15 text-destructive":"bg-amber-500/15 text-amber-600"),children:zn[u.source]}),(0,c.jsx)("span",{className:"min-w-0 text-muted-foreground",children:u.message})]})},`${u.source}-${(u.offset??p).toString()}-${p.toString()}`),"c"),e[5]=t,e[6]=i):i=e[6],a=n.map(i),e[2]=n,e[3]=t,e[4]=a}else a=e[4];let d;return e[7]!==r||e[8]!==a?(d=(0,c.jsx)("ul",{"aria-label":r,className:"max-h-24 shrink-0 overflow-y-auto border-t border-border bg-muted/30","data-testid":"sql-problems",children:a}),e[7]=r,e[8]=a,e[9]=d):d=e[9],d},"Kn"),Yn={minWidth:"2.75rem",paddingInline:"0.5rem"},Gn=l(s=>{let e=(0,G.c)(64),{assistant:n,autocomplete:t,diagnostics:o,draft:r,failed:a,handlers:d,editorRef:i,gutterRef:u,listboxId:p,onGenerated:h,onPickSuggestion:g,onRevealDiagnostic:y,overlayRef:m}=s,w=ce(),f,v,b,k,S,x,q,C;if(e[0]!==n||e[1]!==r||e[2]!==a||e[3]!==u||e[4]!==h){let j=r.split(`
|
|
8
|
+
`).length;q="flex min-h-0 min-w-0 flex-1 flex-col",e[13]!==n||e[14]!==a||e[15]!==h?(C=(0,c.jsx)(Qn,{assistant:n,failed:a,onGenerated:h}),e[13]=n,e[14]=a,e[15]=h,e[16]=C):C=e[16],x="flex min-h-0 min-w-0 flex-1",f="true",v="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",b=u,k=Yn,S=Array.from({length:j},Kn),e[0]=n,e[1]=r,e[2]=a,e[3]=u,e[4]=h,e[5]=f,e[6]=v,e[7]=b,e[8]=k,e[9]=S,e[10]=x,e[11]=q,e[12]=C}else f=e[5],v=e[6],b=e[7],k=e[8],S=e[9],x=e[10],q=e[11],C=e[12];let R;e[17]!==f||e[18]!==v||e[19]!==b||e[20]!==k||e[21]!==S?(R=(0,c.jsx)("div",{"aria-hidden":f,className:v,ref:b,style:k,children:S}),e[17]=f,e[18]=v,e[19]=b,e[20]=k,e[21]=S,e[22]=R):R=e[22];let T;e[23]!==o||e[24]!==r||e[25]!==m?(T=(0,c.jsx)(Fn,{diagnostics:o,draft:r,scrollRef:m}),e[23]=o,e[24]=r,e[25]=m,e[26]=T):T=e[26];let _;e[27]!==t||e[28]!==p?(_=t===null?void 0:`${p}-opt-${t.active.toString()}`,e[27]=t,e[28]=p,e[29]=_):_=e[29];let E=t===null?void 0:p,O=t!==null,D;e[30]!==w?(D=w("SQL query"),e[30]=w,e[31]=D):D=e[31];let L;e[32]!==r||e[33]!==i||e[34]!==d.onBlur||e[35]!==d.onChange||e[36]!==d.onKeyDown||e[37]!==d.onScroll||e[38]!==d.onSelect||e[39]!==_||e[40]!==E||e[41]!==O||e[42]!==D?(L=(0,c.jsx)("textarea",{"aria-activedescendant":_,"aria-autocomplete":"list","aria-controls":E,"aria-expanded":O,"aria-label":D,className:`relative size-full resize-none bg-transparent outline-none ${bt}`,"data-testid":"sql-input",onBlur:d.onBlur,onChange:d.onChange,onKeyDown:d.onKeyDown,onScroll:d.onScroll,onSelect:d.onSelect,placeholder:"SELECT * FROM \u2026",ref:i,role:"combobox",spellCheck:!1,value:r}),e[32]=r,e[33]=i,e[34]=d.onBlur,e[35]=d.onChange,e[36]=d.onKeyDown,e[37]=d.onScroll,e[38]=d.onSelect,e[39]=_,e[40]=E,e[41]=O,e[42]=D,e[43]=L):L=e[43];let B;e[44]!==t||e[45]!==p||e[46]!==g?(B=(0,c.jsx)(gn,{listboxId:p,onPick:g,state:t}),e[44]=t,e[45]=p,e[46]=g,e[47]=B):B=e[47];let A;e[48]!==T||e[49]!==L||e[50]!==B?(A=(0,c.jsxs)("div",{className:"relative min-w-0 flex-1 bg-background",children:[T,L,B]}),e[48]=T,e[49]=L,e[50]=B,e[51]=A):A=e[51];let P;e[52]!==A||e[53]!==x||e[54]!==R?(P=(0,c.jsxs)("div",{className:x,children:[R,A]}),e[52]=A,e[53]=x,e[54]=R,e[55]=P):P=e[55];let M;e[56]!==o||e[57]!==y?(M=(0,c.jsx)(Un,{diagnostics:o,onSelect:y}),e[56]=o,e[57]=y,e[58]=M):M=e[58];let N;return e[59]!==P||e[60]!==M||e[61]!==q||e[62]!==C?(N=(0,c.jsxs)("div",{className:q,children:[C,P,M]}),e[59]=P,e[60]=M,e[61]=q,e[62]=C,e[63]=N):N=e[63],N},"Jn");function Kn(s,e){return(0,c.jsx)("div",{children:e+1},e)}l(Kn,"Vn");var gt=[{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;"}],Vn=l(s=>{let e=(0,G.c)(29),{active:n,onDelete:t,onSelect:o,query:r}=s,a=ce(),d;e[0]!==o||e[1]!==r.id?(d=l(()=>{o(r.id)},"i"),e[0]=o,e[1]=r.id,e[2]=d):d=e[2];let i=d,u;e[3]!==t||e[4]!==r.id?(u=l(q=>{q.stopPropagation(),t(r.id)},"a"),e[3]=t,e[4]=r.id,e[5]=u):u=e[5];let p=u,h=n?"bg-sidebar-accent font-medium text-foreground":"text-muted-foreground",g;e[6]!==h?(g=me("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",h),e[6]=h,e[7]=g):g=e[7];let y=`sql-query-${r.id}`,m;e[8]===Symbol.for("react.memo_cache_sentinel")?(m=(0,c.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,c.jsx)("path",{d:"M4 6h16M4 12h10M4 18h7"})}),e[8]=m):m=e[8];let w;e[9]!==r.name?(w=(0,c.jsx)("span",{className:"truncate",children:r.name}),e[9]=r.name,e[10]=w):w=e[10];let f;e[11]!==n||e[12]!==i||e[13]!==g||e[14]!==y||e[15]!==w?(f=(0,c.jsxs)("button",{"aria-pressed":n,className:g,"data-testid":y,onClick:i,type:"button",children:[m,w]}),e[11]=n,e[12]=i,e[13]=g,e[14]=y,e[15]=w,e[16]=f):f=e[16];let v;e[17]!==a?(v=a("Delete query"),e[17]=a,e[18]=v):v=e[18];let b;e[19]!==a?(b=a("Delete query"),e[19]=a,e[20]=b):b=e[20];let k;e[21]===Symbol.for("react.memo_cache_sentinel")?(k=(0,c.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,c.jsx)("path",{d:"M5 7h14M9 7V5h6v2m-1 0v12H10V7M7 7v13h10V7"})}),e[21]=k):k=e[21];let S;e[22]!==p||e[23]!==b||e[24]!==v?(S=(0,c.jsx)("button",{"aria-label":v,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:p,title:b,type:"button",children:k}),e[22]=p,e[23]=b,e[24]=v,e[25]=S):S=e[25];let x;return e[26]!==S||e[27]!==f?(x=(0,c.jsxs)("li",{className:"group/q flex items-center",children:[f,S]}),e[26]=S,e[27]=f,e[28]=x):x=e[28],x},"Xn"),it="sql-history-remember",Xn=l((s,e)=>{let n=e.trim().toLowerCase();return n===""?[...s]:s.filter(t=>t.name.toLowerCase().includes(n))},"Zn"),Jn=l(s=>{let e=(0,G.c)(66),{activeId:n,history:t,listRef:o,onClearHistory:r,onDelete:a,onLoadHistory:d,onLoadTemplate:i,onNew:u,onSearchChange:p,onSelect:h,onToggleRememberHistory:g,queries:y,rememberHistory:m,search:w}=s,f=ce(),v,b,k,S,x;if(e[0]!==n||e[1]!==o||e[2]!==a||e[3]!==u||e[4]!==p||e[5]!==h||e[6]!==g||e[7]!==y||e[8]!==w||e[9]!==f){let L=Xn(y,w),B;e[15]!==g?(B=l(H=>{g(H.target.checked)},"B"),e[15]=g,e[16]=B):B=e[16],v=B,k="flex h-full w-64 shrink-0 flex-col border-e border-border bg-sidebar";let A;e[17]!==f?(A=f("Search queries\u2026"),e[17]=f,e[18]=A):A=e[18];let P;e[19]!==p||e[20]!==w||e[21]!==A?(P=(0,c.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:p,placeholder:A,type:"text",value:w}),e[19]=p,e[20]=w,e[21]=A,e[22]=P):P=e[22];let M;e[23]!==f?(M=f("New query"),e[23]=f,e[24]=M):M=e[24];let N;e[25]!==f?(N=f("New query"),e[25]=f,e[26]=N):N=e[26];let j;e[27]===Symbol.for("react.memo_cache_sentinel")?(j=(0,c.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,c.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[27]=j):j=e[27];let I;e[28]!==u||e[29]!==M||e[30]!==N?(I=(0,c.jsx)("button",{"aria-label":M,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:u,title:N,type:"button",children:j}),e[28]=u,e[29]=M,e[30]=N,e[31]=I):I=e[31],e[32]!==I||e[33]!==P?(S=(0,c.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border p-2",children:[P,I]}),e[32]=I,e[33]=P,e[34]=S):S=e[34],b="flex flex-1 flex-col gap-4 overflow-y-auto p-2";let $;e[35]!==f?($=f("Private"),e[35]=f,e[36]=$):$=e[36];let F;e[37]!==$?(F=(0,c.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:$}),e[37]=$,e[38]=F):F=e[38],x=(0,c.jsxs)("div",{children:[F,L.length===0?(0,c.jsx)("p",{className:"px-1 py-2 text-xs text-muted-foreground","data-testid":"sql-private-empty",children:f("No saved queries yet \u2014 they save to this browser as you type.")}):(0,c.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-private",ref:o,children:L.map(H=>(0,c.jsx)(Vn,{active:n===H.id,onDelete:a,onSelect:h,query:H},H.id))})]}),e[0]=n,e[1]=o,e[2]=a,e[3]=u,e[4]=p,e[5]=h,e[6]=g,e[7]=y,e[8]=w,e[9]=f,e[10]=v,e[11]=b,e[12]=k,e[13]=S,e[14]=x}else v=e[10],b=e[11],k=e[12],S=e[13],x=e[14];let q;e[39]!==f?(q=f("Reference"),e[39]=f,e[40]=q):q=e[40];let C;e[41]!==q?(C=(0,c.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:q}),e[41]=q,e[42]=C):C=e[42];let R;e[43]!==i?(R=gt.map(L=>(0,c.jsx)("li",{children:(0,c.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":L.sql,onClick:i,type:"button",children:[(0,c.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,c.jsx)("path",{d:"M7 4h7l4 4v12H7zM14 4v4h4"})}),L.label]})},L.label)),e[43]=i,e[44]=R):R=e[44];let T;e[45]!==R?(T=(0,c.jsx)("ul",{className:"flex flex-col gap-px",children:R}),e[45]=R,e[46]=T):T=e[46];let _;e[47]!==C||e[48]!==T?(_=(0,c.jsxs)("div",{children:[C,T]}),e[47]=C,e[48]=T,e[49]=_):_=e[49];let E;e[50]!==t||e[51]!==r||e[52]!==d||e[53]!==v||e[54]!==m||e[55]!==f?(E=t.length>0&&(0,c.jsxs)("div",{children:[(0,c.jsxs)("div",{className:"flex items-center justify-between px-1 pb-1",children:[(0,c.jsx)("p",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:f("History")}),(0,c.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:r,type:"button",children:f("Clear history")})]}),(0,c.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 px-1 pb-1.5 text-[11px] text-muted-foreground",htmlFor:it,children:[(0,c.jsx)("input",{checked:m,"data-testid":"sql-history-remember",id:it,onChange:v,type:"checkbox"}),f("Keep history on this browser")]}),(0,c.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-history",children:t.map(L=>(0,c.jsx)("li",{children:(0,c.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":L.sql,"data-testid":"sql-history-item",onClick:d,title:L.sql,type:"button",children:[(0,c.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,c.jsx)("path",{d:"M12 8v4l3 2M12 21a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z"})}),(0,c.jsx)("span",{className:"truncate font-mono",children:L.sql})]})},`${L.at.toString()}:${L.sql}`))})]}),e[50]=t,e[51]=r,e[52]=d,e[53]=v,e[54]=m,e[55]=f,e[56]=E):E=e[56];let O;e[57]!==b||e[58]!==E||e[59]!==x||e[60]!==_?(O=(0,c.jsxs)("div",{className:b,children:[x,_,E]}),e[57]=b,e[58]=E,e[59]=x,e[60]=_,e[61]=O):O=e[61];let D;return e[62]!==O||e[63]!==k||e[64]!==S?(D=(0,c.jsxs)("aside",{className:k,children:[S,O]}),e[62]=O,e[63]=k,e[64]=S,e[65]=D):D=e[65],D},"es"),De=l(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"}`,"Ie"),Zn=l(s=>{let e=(0,G.c)(96),{assistant:n,chart:t,className:o,error:r,onFormat:a,onInferChart:d,onRun:i,onSelectStatement:u,onShardKeyChange:p,onShowChart:h,onShowExplain:g,onShowResults:y,onToggleSplit:m,pane:w,result:f,running:v,script:b,shardKey:k,splitView:S}=s,x=ce(),q=w==="results",C;e[0]!==q?(C=De(q),e[0]=q,e[1]=C):C=e[1];let R;e[2]!==x?(R=x("Results"),e[2]=x,e[3]=R):R=e[3];let T;e[4]!==y||e[5]!==C||e[6]!==R?(T=(0,c.jsx)("button",{className:C,"data-testid":"sql-tab-results",onClick:y,type:"button",children:R}),e[4]=y,e[5]=C,e[6]=R,e[7]=T):T=e[7];let _=w==="chart",E;e[8]!==_?(E=De(_),e[8]=_,e[9]=E):E=e[9];let O;e[10]!==x?(O=x("Chart"),e[10]=x,e[11]=O):O=e[11];let D;e[12]!==h||e[13]!==E||e[14]!==O?(D=(0,c.jsx)("button",{className:E,"data-testid":"sql-tab-chart",onClick:h,type:"button",children:O}),e[12]=h,e[13]=E,e[14]=O,e[15]=D):D=e[15];let L;e[16]!==n||e[17]!==d||e[18]!==w||e[19]!==f||e[20]!==x?(L=!n.unavailable&&w==="chart"&&f!==null&&(0,c.jsx)("button",{className:De(!1),"data-testid":"sql-infer-chart",disabled:n.pending("chart"),onClick:d,type:"button",children:n.pending("chart")?x("Thinking\u2026"):x("Suggest chart")}),e[16]=n,e[17]=d,e[18]=w,e[19]=f,e[20]=x,e[21]=L):L=e[21];let B=w==="explain",A;e[22]!==B?(A=De(B),e[22]=B,e[23]=A):A=e[23];let P;e[24]!==x?(P=x("Explain"),e[24]=x,e[25]=P):P=e[25];let M;e[26]!==g||e[27]!==A||e[28]!==P?(M=(0,c.jsx)("button",{className:A,"data-testid":"sql-tab-explain",onClick:g,type:"button",children:P}),e[26]=g,e[27]=A,e[28]=P,e[29]=M):M=e[29];let N;e[30]!==x?(N=x("Split editor and results"),e[30]=x,e[31]=N):N=e[31];let j=`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 ${S?"bg-accent text-foreground":"text-muted-foreground"}`,I;e[32]!==x?(I=x("Split editor and results"),e[32]=x,e[33]=I):I=e[33];let $;e[34]===Symbol.for("react.memo_cache_sentinel")?($=(0,c.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,c.jsx)("rect",{height:"16",rx:"2",width:"18",x:"3",y:"4"}),(0,c.jsx)("path",{d:"M12 4v16"})]}),e[34]=$):$=e[34];let F;e[35]!==m||e[36]!==S||e[37]!==N||e[38]!==j||e[39]!==I?(F=(0,c.jsx)("button",{"aria-label":N,"aria-pressed":S,className:j,"data-testid":"sql-split-toggle",onClick:m,title:I,type:"button",children:$}),e[35]=m,e[36]=S,e[37]=N,e[38]=j,e[39]=I,e[40]=F):F=e[40];let H;e[41]!==f?(H=f!==null&&f.columns.length>0&&(0,c.jsx)(nt,{columns:f.columns,name:"query-result",rows:f.rows}),e[41]=f,e[42]=H):H=e[42];let J;e[43]!==x?(J=x("Format"),e[43]=x,e[44]=J):J=e[44];let Z;e[45]!==a||e[46]!==v||e[47]!==J?(Z=(0,c.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:v,onClick:a,type:"button",children:J}),e[45]=a,e[46]=v,e[47]=J,e[48]=Z):Z=e[48];let ee;e[49]!==p||e[50]!==k?(ee=(0,c.jsx)(Je,{onChange:p,testId:"sql-shard-input",value:k}),e[49]=p,e[50]=k,e[51]=ee):ee=e[51];let te;e[52]!==v||e[53]!==x?(te=x(v?"Running\u2026":"Run"),e[52]=v,e[53]=x,e[54]=te):te=e[54];let ie;e[55]===Symbol.for("react.memo_cache_sentinel")?(ie=(0,c.jsx)("kbd",{className:"rounded border border-primary-foreground/30 px-1 font-sans text-[10px]",children:"\u2318\u21B5"}),e[55]=ie):ie=e[55];let V;e[56]!==i||e[57]!==v||e[58]!==te?(V=(0,c.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:v,onClick:i,type:"button",children:[te,ie]}),e[56]=i,e[57]=v,e[58]=te,e[59]=V):V=e[59];let Q;e[60]!==F||e[61]!==H||e[62]!==Z||e[63]!==ee||e[64]!==V?(Q=(0,c.jsxs)("div",{className:"ms-auto flex items-center gap-2",children:[F,H,Z,ee,V]}),e[60]=F,e[61]=H,e[62]=Z,e[63]=ee,e[64]=V,e[65]=Q):Q=e[65];let ne;e[66]!==M||e[67]!==Q||e[68]!==T||e[69]!==D||e[70]!==L?(ne=(0,c.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border pe-2",children:[T,D,L,M,Q]}),e[66]=M,e[67]=Q,e[68]=T,e[69]=D,e[70]=L,e[71]=ne):ne=e[71];let re;e[72]!==u||e[73]!==b?(re=b!==void 0&&(0,c.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:b.runs.map((Y,X)=>(0,c.jsx)("button",{"aria-pressed":X===b.selected,className:`rounded-md border px-2 py-0.5 font-mono text-[11px] outline-none transition-colors ${X===b.selected?"border-foreground text-foreground":"border-border text-muted-foreground hover:text-foreground"} ${Y.error===null?"":"border-destructive/50 text-destructive"}`,"data-testid":`sql-statement-${X.toString()}`,onClick:l(()=>{u(X)},"onClick"),title:Y.sql,type:"button",children:X+1},`${X.toString()}:${Y.sql}`))}),e[72]=u,e[73]=b,e[74]=re):re=e[74];let oe;e[75]!==r?(oe=r!==null&&(0,c.jsx)(Ze,{className:"m-3 font-mono text-xs",testId:"sql-error",variant:"destructive",children:r}),e[75]=r,e[76]=oe):oe=e[76];let se;e[77]!==r||e[78]!==f||e[79]!==x?(se=r===null&&f===null&&(0,c.jsx)("p",{className:"p-4 text-sm text-muted-foreground","data-testid":"sql-empty",children:x("Click Run to execute your query.")}),e[77]=r,e[78]=f,e[79]=x,e[80]=se):se=e[80];let le;e[81]!==t||e[82]!==r||e[83]!==w||e[84]!==f||e[85]!==x?(le=r===null&&f!==null&&(0,c.jsxs)("div",{"data-testid":"sql-result",children:[w==="chart"?(0,c.jsx)(rt,{axes:t,result:f}):(0,c.jsx)(ot,{result:f}),(0,c.jsx)("p",{className:"border-t border-border px-3 py-1.5 text-xs text-muted-foreground","data-testid":"sql-count",children:f.truncated?x("Showing the first {max} of {count} rows.",{count:f.rowCount,max:f.rows.length}):x("{count} rows",{count:f.rowCount})})]}),e[81]=t,e[82]=r,e[83]=w,e[84]=f,e[85]=x,e[86]=le):le=e[86];let W;e[87]!==oe||e[88]!==se||e[89]!==le?(W=(0,c.jsxs)("div",{className:"min-h-0 flex-1 overflow-auto",children:[oe,se,le]}),e[87]=oe,e[88]=se,e[89]=le,e[90]=W):W=e[90];let U;return e[91]!==o||e[92]!==ne||e[93]!==re||e[94]!==W?(U=(0,c.jsxs)("div",{className:o,children:[ne,re,W]}),e[91]=o,e[92]=ne,e[93]=re,e[94]=W,e[95]=U):U=e[95],U},"ts"),er=l((s,e)=>s.trim()===""?e:(s.split(`
|
|
9
|
+
`)[0]??s).slice(0,24),"ns"),tr=l(s=>{s?.focus(),s?.select()},"ss"),nr=l(s=>{let e=(0,G.c)(14),{initial:n,onCancel:t,onCommit:o,placeholder:r,testId:a}=s,d=ce(),i;e[0]!==o?(i=l(m=>{o(m.currentTarget.value.trim())},"c"),e[0]=o,e[1]=i):i=e[1];let u=i,p;e[2]!==t||e[3]!==o?(p=l(m=>{m.key==="Enter"?o(m.currentTarget.value.trim()):m.key==="Escape"&&t()},"m"),e[2]=t,e[3]=o,e[4]=p):p=e[4];let h=p,g;e[5]!==d?(g=d("Tab title"),e[5]=d,e[6]=g):g=e[6];let y;return e[7]!==n||e[8]!==u||e[9]!==h||e[10]!==r||e[11]!==g||e[12]!==a?(y=(0,c.jsx)("input",{"aria-label":g,className:"w-40 rounded border border-ring bg-background px-1 py-0.5 text-xs outline-none","data-testid":a,defaultValue:n,onBlur:u,onKeyDown:h,placeholder:r,ref:tr,type:"text"}),e[7]=n,e[8]=u,e[9]=h,e[10]=r,e[11]=g,e[12]=a,e[13]=y):y=e[13],y},"os"),rr=l(s=>{let e=(0,G.c)(29),{idBase:n,onDiscard:t,onKeep:o}=s,r=ce(),a=`sql-tab-close-prompt-${n}`,d;e[0]!==r?(d=r("Discard?"),e[0]=r,e[1]=d):d=e[1];let i;e[2]!==d?(i=(0,c.jsx)("span",{className:"text-[11px] text-muted-foreground",children:d}),e[2]=d,e[3]=i):i=e[3];let u;e[4]!==r?(u=r("Discard changes"),e[4]=r,e[5]=u):u=e[5];let p=`sql-tab-close-confirm-${n}`,h;e[6]!==r?(h=r("Discard changes"),e[6]=r,e[7]=h):h=e[7];let g;e[8]===Symbol.for("react.memo_cache_sentinel")?(g=(0,c.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,c.jsx)("path",{d:"M5 13l4 4L19 7"})}),e[8]=g):g=e[8];let y;e[9]!==t||e[10]!==u||e[11]!==p||e[12]!==h?(y=(0,c.jsx)("button",{"aria-label":u,className:"flex size-5 items-center justify-center rounded text-destructive hover:bg-destructive/10","data-testid":p,onClick:t,title:h,type:"button",children:g}),e[9]=t,e[10]=u,e[11]=p,e[12]=h,e[13]=y):y=e[13];let m;e[14]!==r?(m=r("Keep editing"),e[14]=r,e[15]=m):m=e[15];let w=`sql-tab-close-cancel-${n}`,f;e[16]!==r?(f=r("Keep editing"),e[16]=r,e[17]=f):f=e[17];let v;e[18]===Symbol.for("react.memo_cache_sentinel")?(v=(0,c.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,c.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})}),e[18]=v):v=e[18];let b;e[19]!==o||e[20]!==w||e[21]!==f||e[22]!==m?(b=(0,c.jsx)("button",{"aria-label":m,className:"flex size-5 items-center justify-center rounded text-muted-foreground hover:bg-accent","data-testid":w,onClick:o,title:f,type:"button",children:v}),e[19]=o,e[20]=w,e[21]=f,e[22]=m,e[23]=b):b=e[23];let k;return e[24]!==a||e[25]!==b||e[26]!==i||e[27]!==y?(k=(0,c.jsxs)("span",{className:"flex shrink-0 items-center gap-1","data-testid":a,role:"group",children:[i,y,b]}),e[24]=a,e[25]=b,e[26]=i,e[27]=y,e[28]=k):k=e[28],k},"ls"),or=l(s=>{let e=(0,G.c)(47),{active:n,canClose:t,onClose:o,onMenu:r,onRename:a,onSelect:d,tab:i}=s,u=ce(),[p,h]=(0,z.useState)(!1),[g,y]=(0,z.useState)(!1),m;e[0]!==r||e[1]!==i.id?(m=l(H=>{r(i.id,H)},"d"),e[0]=r,e[1]=i.id,e[2]=m):m=e[2];let w=m,f;e[3]!==d||e[4]!==i.id?(f=l(()=>{d(i.id)},"u"),e[3]=d,e[4]=i.id,e[5]=f):f=e[5];let v=f,b;e[6]===Symbol.for("react.memo_cache_sentinel")?(b=l(()=>{h(!0)},"h"),e[6]=b):b=e[6];let k=b,S;e[7]!==o||e[8]!==i?(S=l(H=>{H.stopPropagation(),pt(i)?y(!0):o(i.id)},"v"),e[7]=o,e[8]=i,e[9]=S):S=e[9];let x=S,q;e[10]!==o||e[11]!==i.id?(q=l(H=>{H.stopPropagation(),y(!1),o(i.id)},"k"),e[10]=o,e[11]=i.id,e[12]=q):q=e[12];let C=q,R;e[13]===Symbol.for("react.memo_cache_sentinel")?(R=l(H=>{H.stopPropagation(),y(!1)},"L"),e[13]=R):R=e[13];let T=R,_;e[14]!==a||e[15]!==i.id?(_=l(H=>{a(i.id,H),h(!1)},"q"),e[14]=a,e[15]=i.id,e[16]=_):_=e[16];let E=_,O;e[17]===Symbol.for("react.memo_cache_sentinel")?(O=l(()=>{h(!1)},"A"),e[17]=O):O=e[17];let D=O,L;e[18]!==i.name?(L=i.name.trim(),e[18]=i.name,e[19]=L):L=e[19];let B=L,A;e[20]!==u||e[21]!==i.sql?(A=er(i.sql,u("Untitled")),e[20]=u,e[21]=i.sql,e[22]=A):A=e[22];let P=A,M=n?"bg-background text-foreground":"bg-muted/40 text-muted-foreground hover:text-foreground",N;e[23]!==M?(N=me("group/tab flex shrink-0 items-center gap-1 border-e border-border ps-3 pe-1.5 text-xs",M),e[23]=M,e[24]=N):N=e[24];let j=`sql-tab-${i.id}`,I;e[25]!==n||e[26]!==E||e[27]!==B||e[28]!==P||e[29]!==p||e[30]!==v||e[31]!==u||e[32]!==i.id?(I=p?(0,c.jsx)(nr,{initial:B,onCancel:D,onCommit:E,placeholder:P,testId:`sql-tab-rename-${i.id}`}):(0,c.jsx)("button",{"aria-pressed":n,className:"max-w-40 truncate py-1.5 outline-none","data-testid":`sql-tab-select-${i.id}`,onClick:v,onDoubleClick:k,title:u("Double-click to rename"),type:"button",children:B===""?P:B}),e[25]=n,e[26]=E,e[27]=B,e[28]=P,e[29]=p,e[30]=v,e[31]=u,e[32]=i.id,e[33]=I):I=e[33];let $;e[34]!==t||e[35]!==C||e[36]!==g||e[37]!==x||e[38]!==u||e[39]!==i.id?($=t&&(g?(0,c.jsx)(rr,{idBase:i.id,onDiscard:C,onKeep:T}):(0,c.jsx)("button",{"aria-label":u("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-${i.id}`,onClick:x,title:u("Close tab"),type:"button",children:(0,c.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,c.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})})})),e[34]=t,e[35]=C,e[36]=g,e[37]=x,e[38]=u,e[39]=i.id,e[40]=$):$=e[40];let F;return e[41]!==w||e[42]!==N||e[43]!==j||e[44]!==I||e[45]!==$?(F=(0,c.jsxs)("div",{className:N,"data-testid":j,onContextMenu:w,children:[I,$]}),e[41]=w,e[42]=N,e[43]=j,e[44]=I,e[45]=$,e[46]=F):F=e[46],F},"rs"),sr=l(s=>{let e=(0,G.c)(43),{model:n,onSelect:t}=s,o=ce(),{activeTab:r,addEditorTab:a,cancelBulk:d,closeEditorTab:i,closeTabMenu:u,confirmBulk:p,menuStyle:h,onBackdropContextMenu:g,onCloseAll:y,onCloseOthers:m,onCloseToRight:w,openTabMenu:f,pendingBulk:v,renameTab:b,tabMenu:k,tabs:S}=n,x;if(e[0]!==r||e[1]!==i||e[2]!==t||e[3]!==f||e[4]!==b||e[5]!==S){let L;e[7]!==r||e[8]!==i||e[9]!==t||e[10]!==f||e[11]!==b||e[12]!==S.length?(L=l(B=>(0,c.jsx)(or,{active:B.id===r.id,canClose:S.length>1,onClose:i,onMenu:f,onRename:b,onSelect:t,tab:B},B.id),"I"),e[7]=r,e[8]=i,e[9]=t,e[10]=f,e[11]=b,e[12]=S.length,e[13]=L):L=e[13],x=S.map(L),e[0]=r,e[1]=i,e[2]=t,e[3]=f,e[4]=b,e[5]=S,e[6]=x}else x=e[6];let q;e[14]!==o?(q=o("New tab"),e[14]=o,e[15]=q):q=e[15];let C=S.length>=Ue,R;e[16]!==o?(R=o("New tab"),e[16]=o,e[17]=R):R=e[17];let T;e[18]===Symbol.for("react.memo_cache_sentinel")?(T=(0,c.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,c.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[18]=T):T=e[18];let _;e[19]!==a||e[20]!==q||e[21]!==C||e[22]!==R?(_=(0,c.jsx)("button",{"aria-label":q,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:C,onClick:a,title:R,type:"button",children:T}),e[19]=a,e[20]=q,e[21]=C,e[22]=R,e[23]=_):_=e[23];let E;e[24]!==x||e[25]!==_?(E=(0,c.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:[x,_]}),e[24]=x,e[25]=_,e[26]=E):E=e[26];let O;e[27]!==d||e[28]!==u||e[29]!==p||e[30]!==h||e[31]!==g||e[32]!==y||e[33]!==m||e[34]!==w||e[35]!==v||e[36]!==o||e[37]!==k||e[38]!==S?(O=k!==null&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)("div",{className:"fixed inset-0 z-40","data-testid":"sql-tab-menu-backdrop",onClick:u,onContextMenu:g,role:"presentation"}),(0,c.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:h,children:v===null?(0,c.jsxs)(c.Fragment,{children:[(0,c.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:S.length<=1,onClick:m,role:"menuitem",type:"button",children:o("Close other tabs")}),(0,c.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:S.findIndex(L=>L.id===k.id)>=S.length-1,onClick:w,role:"menuitem",type:"button",children:o("Close tabs to the right")}),(0,c.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:y,role:"menuitem",type:"button",children:o("Close all tabs")})]}):(0,c.jsxs)("div",{className:"px-3 py-1.5","data-testid":"sql-tab-menu-confirm",children:[(0,c.jsx)("p",{className:"pb-1.5 text-xs text-muted-foreground",children:o("Discard unsaved tabs?")}),(0,c.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,c.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:p,type:"button",children:o("Discard")}),(0,c.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:d,type:"button",children:o("Cancel")})]})]})})]}),e[27]=d,e[28]=u,e[29]=p,e[30]=h,e[31]=g,e[32]=y,e[33]=m,e[34]=w,e[35]=v,e[36]=o,e[37]=k,e[38]=S,e[39]=O):O=e[39];let D;return e[40]!==E||e[41]!==O?(D=(0,c.jsxs)(c.Fragment,{children:[E,O]}),e[40]=E,e[41]=O,e[42]=D):D=e[42],D},"is"),lr=we(Ne.runSql),ar="lunora-studio-sql-split-view",ir=l(()=>Ce(gt[0]?.sql??""),"ds"),kr=l(s=>{let e=(0,G.c)(112),{initialShardKey:n}=s,t=Ee(),o=Dn(ir),{activeTab:r,output:a,patchActiveOutput:d,patchActiveTab:i,setActiveTabId:u,unlinkQuery:p}=o,h;e[0]!==d||e[1]!==i?(h=l((K,ae)=>{i({activeId:ae,sql:K}),d({chart:void 0,error:null,failed:void 0,result:null,script:void 0})},"g"),e[0]=d,e[1]=i,e[2]=h):h=e[2];let g=h,y;e[3]!==g||e[4]!==p?(y={loadIntoActiveTab:g,unlinkQuery:p},e[3]=g,e[4]=p,e[5]=y):y=e[5];let m=Wn(y),{recordHistory:w,updateQuerySql:f}=m,v=r.sql,{activeId:b}=r,{chart:k,error:S,failed:x,result:q,running:C}=a,R=a.pane,[T,_]=(0,z.useState)(n??""),[E,O]=_e(ar,!1),{probe:D,schema:L}=yn(T),B;e[6]!==b||e[7]!==i||e[8]!==f?(B=l(K=>{i({sql:K}),b!==null&&f(b,K)},"B"),e[6]=b,e[7]=i,e[8]=f,e[9]=B):B=e[9];let A=B,P=rn(v,L,T),M=tt(T),N;e[10]!==M||e[11]!==d||e[12]!==q?(N=l(()=>{q!==null&&ue((async()=>{let K=await M.inferChart({columns:q.columns,rowCount:q.rowCount,types:Object.fromEntries(q.columns.map(ae=>[ae,typeof(q.rows[0]?.[ae]??"")]))});d({chart:K})})())},"w"),e[10]=M,e[11]=d,e[12]=q,e[13]=N):N=e[13];let j=N,I;e[14]!==t||e[15]!==w||e[16]!==T?(I=l(async K=>{try{let ae=await t.query(lr,{sql:K},ke(T));return w(K),{error:null,result:ae,sql:K}}catch(ae){return{error:Ke(ae),result:null,sql:K}}},"R"),e[14]=t,e[15]=w,e[16]=T,e[17]=I):I=e[17];let $=I,F;e[18]!==v||e[19]!==d||e[20]!==$||e[21]!==T?(F=l(async K=>{if(v.trim()==="")return;d({running:!0});let ae=K==="explain"?Fe(`EXPLAIN QUERY PLAN ${v}`,0):dt(v),de=[];for(let Re of ae){let xt={error:Re.rejection?.message??"",result:null,sql:Re.sql};de.push(Re.rejection===void 0?await $(Re.sql):xt)}Xe(T);let Ye=Math.max(de.length-1,0),ye=de[Ye];d({chart:void 0,error:ye?.error??null,failed:ye?.error===null||ye===void 0?void 0:{error:ye.error,sql:ye.sql},pane:K,result:ye?.result??null,running:!1,script:de.length>1?{runs:de,selected:Ye}:void 0})},"U"),e[18]=v,e[19]=d,e[20]=$,e[21]=T,e[22]=F):F=e[22];let H=F,J;e[23]!==a.script?.runs||e[24]!==d?(J=l(K=>{let ae=a.script?.runs,de=ae?.[K];ae===void 0||de===void 0||d({chart:void 0,error:de.error,failed:de.error===null?void 0:{error:de.error,sql:de.sql},result:de.result,script:{runs:ae,selected:K}})},"X"),e[23]=a.script?.runs,e[24]=d,e[25]=J):J=e[25];let Z=J,ee;e[26]!==H?(ee=l(()=>{ue(H("results"))},"ee"),e[26]=H,e[27]=ee):ee=e[27];let te=ee,ie;e[28]!==a.pane||e[29]!==H?(ie=l(()=>{ue(H(a.pane))},"ie"),e[28]=a.pane,e[29]=H,e[30]=ie):ie=e[30];let V;e[31]!==D||e[32]!==L||e[33]!==A||e[34]!==ie?(V={onSubmit:ie,probe:D,schema:L,setDraft:A},e[31]=D,e[32]=L,e[33]=A,e[34]=ie,e[35]=V):V=e[35];let Q=kn(V),{closeAutocomplete:ne}=Q,re;e[36]!==v||e[37]!==A?(re=l(()=>{A(Tt(v))},"se"),e[36]=v,e[37]=A,e[38]=re):re=e[38];let oe=re,se;e[39]!==ne||e[40]!==u?(se=l(K=>{ne(),u(K)},"le"),e[39]=ne,e[40]=u,e[41]=se):se=e[41];let le=se,W;e[42]!==d?(W=l(()=>{d({pane:"results"})},"H"),e[42]=d,e[43]=W):W=e[43];let U=W,Y;e[44]!==H?(Y=l(()=>{ue(H("explain"))},"z"),e[44]=H,e[45]=Y):Y=e[45];let X=Y,fe;e[46]!==d?(fe=l(()=>{d({pane:"chart"})},"me"),e[46]=d,e[47]=fe):fe=e[47];let Ae=fe,Te;e[48]!==O||e[49]!==E?(Te=l(()=>{O(!E)},"ke"),e[48]=O,e[49]=E,e[50]=Te):Te=e[50];let $e=Te,Be=E?"flex min-h-0 flex-1 flex-row":"flex min-h-0 flex-1 flex-col",He=E?"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[51]!==b||e[52]!==m.clearHistory||e[53]!==m.deleteQuery||e[54]!==m.history||e[55]!==m.listRef||e[56]!==m.loadFromHistory||e[57]!==m.loadTemplate||e[58]!==m.newQuery||e[59]!==m.onSearchChange||e[60]!==m.queries||e[61]!==m.rememberHistory||e[62]!==m.search||e[63]!==m.selectQuery||e[64]!==m.setRememberHistory?(he=(0,c.jsx)(Jn,{activeId:b,history:m.history,listRef:m.listRef,onClearHistory:m.clearHistory,onDelete:m.deleteQuery,onLoadHistory:m.loadFromHistory,onLoadTemplate:m.loadTemplate,onNew:m.newQuery,onSearchChange:m.onSearchChange,onSelect:m.selectQuery,onToggleRememberHistory:m.setRememberHistory,queries:m.queries,rememberHistory:m.rememberHistory,search:m.search}),e[51]=b,e[52]=m.clearHistory,e[53]=m.deleteQuery,e[54]=m.history,e[55]=m.listRef,e[56]=m.loadFromHistory,e[57]=m.loadTemplate,e[58]=m.newQuery,e[59]=m.onSearchChange,e[60]=m.queries,e[61]=m.rememberHistory,e[62]=m.search,e[63]=m.selectQuery,e[64]=m.setRememberHistory,e[65]=he):he=e[65];let pe;e[66]!==o||e[67]!==le?(pe=(0,c.jsx)(sr,{model:o,onSelect:le}),e[66]=o,e[67]=le,e[68]=pe):pe=e[68];let be;e[69]!==M||e[70]!==P||e[71]!==v||e[72]!==x||e[73]!==A||e[74]!==Q.autocompleteState||e[75]!==Q.editorRef||e[76]!==Q.gutterRef||e[77]!==Q.handlers||e[78]!==Q.listboxId||e[79]!==Q.onPickSuggestion||e[80]!==Q.overlayRef||e[81]!==Q.revealDiagnostic?(be=(0,c.jsx)(Gn,{assistant:M,autocomplete:Q.autocompleteState,diagnostics:P,draft:v,editorRef:Q.editorRef,failed:x,gutterRef:Q.gutterRef,handlers:Q.handlers,listboxId:Q.listboxId,onGenerated:A,onPickSuggestion:Q.onPickSuggestion,onRevealDiagnostic:Q.revealDiagnostic,overlayRef:Q.overlayRef}),e[69]=M,e[70]=P,e[71]=v,e[72]=x,e[73]=A,e[74]=Q.autocompleteState,e[75]=Q.editorRef,e[76]=Q.gutterRef,e[77]=Q.handlers,e[78]=Q.listboxId,e[79]=Q.onPickSuggestion,e[80]=Q.overlayRef,e[81]=Q.revealDiagnostic,e[82]=be):be=e[82];let ge;e[83]!==M||e[84]!==S||e[85]!==oe||e[86]!==j||e[87]!==k||e[88]!==te||e[89]!==Z||e[90]!==a.script||e[91]!==q||e[92]!==He||e[93]!==C||e[94]!==T||e[95]!==Ae||e[96]!==X||e[97]!==U||e[98]!==E||e[99]!==R||e[100]!==$e?(ge=(0,c.jsx)(Zn,{assistant:M,chart:k,className:He,error:S,onFormat:oe,onInferChart:j,onRun:te,onSelectStatement:Z,onShardKeyChange:_,onShowChart:Ae,onShowExplain:X,onShowResults:U,onToggleSplit:$e,pane:R,result:q,running:C,script:a.script,shardKey:T,splitView:E}),e[83]=M,e[84]=S,e[85]=oe,e[86]=j,e[87]=k,e[88]=te,e[89]=Z,e[90]=a.script,e[91]=q,e[92]=He,e[93]=C,e[94]=T,e[95]=Ae,e[96]=X,e[97]=U,e[98]=E,e[99]=R,e[100]=$e,e[101]=ge):ge=e[101];let xe;e[102]!==be||e[103]!==ge||e[104]!==Be?(xe=(0,c.jsxs)("div",{className:Be,children:[be,ge]}),e[102]=be,e[103]=ge,e[104]=Be,e[105]=xe):xe=e[105];let ve;e[106]!==pe||e[107]!==xe?(ve=(0,c.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[pe,xe]}),e[106]=pe,e[107]=xe,e[108]=ve):ve=e[108];let Ie;return e[109]!==he||e[110]!==ve?(Ie=(0,c.jsxs)("div",{className:"flex h-full min-w-0","data-testid":"lunora-sql-editor",children:[he,ve]}),e[109]=he,e[110]=ve,e[111]=Ie):Ie=e[111],Ie},"Rs");export{kr as SqlEditorPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as $}from"./chunk-5QAT5NQ4.js";import{a as b}from"./chunk-JCSDJBBZ.js";import"./chunk-PZ4QDWTI.js";import"./chunk-GDC3W3DZ.js";import"./chunk-F7JOSNAT.js";import{a as u}from"./chunk-DZGOHOOE.js";import{c as p}from"./chunk-5DEXJ766.js";import"./chunk-NIUA7EHL.js";import"./chunk-RCZTUWG3.js";import{a as y,b as w,c as j,d as h,e as c,f as i}from"./chunk-L4EZAHCD.js";import{a as d,e as l}from"./chunk-IYWVSMAY.js";import{d as k}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as o,d as I,g as T,i as x}from"./chunk-R5ZTCHCE.js";var e=I(T(),1);var m={clean:"text-emerald-600 dark:text-emerald-400",exempt:"text-muted-foreground",failing:"text-red-600 dark:text-red-400",warned:"text-amber-600 dark:text-amber-400"},A={"at-risk":"text-red-600 dark:text-red-400",excellent:"text-emerald-600 dark:text-emerald-400",good:"text-emerald-600 dark:text-emerald-400","needs-work":"text-amber-600 dark:text-amber-400"},C=o((r,a)=>`exempt: ${r.exemptReason===void 0||r.exemptReason===""?a:r.exemptReason}`,"E"),E=o(r=>r.toSorted((a,n)=>a.coverage==="clean"&&n.coverage!=="clean"?1:n.coverage==="clean"&&a.coverage!=="clean"?-1:a.score-n.score),"S"),Y=o(({testId:r="advisor-health"})=>{let a=k(),n=p(u.getAdvisories,{},{live:!0}),g=p(u.getAdvisorProcedures,{},{live:!0}),f=n.data?.advisories??null,N=g.data?.procedures??null,t=f===null||N===null?null:$(N,f),v=g.error??n.error;if(v!==null)return(0,e.jsx)(b,{error:v,testId:`${r}-error`});if(t===null)return(0,e.jsx)(d,{children:(0,e.jsx)(l,{className:"py-8 text-center text-muted-foreground","data-testid":`${r}-loading`,children:a("Loading\u2026")})});let R=E(t.procedures);return(0,e.jsxs)("div",{className:"space-y-4","data-testid":r,children:[(0,e.jsx)(d,{children:(0,e.jsxs)(l,{className:"flex flex-wrap items-baseline gap-x-6 gap-y-2 py-6",children:[(0,e.jsxs)("div",{children:[(0,e.jsx)("span",{className:x("text-4xl font-semibold tabular-nums",A[t.grade]),"data-testid":`${r}-score`,children:t.score}),(0,e.jsx)("span",{className:"text-muted-foreground text-lg",children:"/100"})]}),(0,e.jsx)("span",{className:x("text-sm font-medium uppercase tracking-wide",A[t.grade]),"data-testid":`${r}-grade`,children:t.grade}),(0,e.jsxs)("div",{className:"text-muted-foreground flex gap-4 text-sm tabular-nums","data-testid":`${r}-summary`,children:[(0,e.jsxs)("span",{className:m.clean,children:[t.summary.clean," ",a("clean")]}),(0,e.jsxs)("span",{className:m.warned,children:[t.summary.warned," ",a("warned")]}),(0,e.jsxs)("span",{className:m.failing,children:[t.summary.failing," ",a("failing")]}),(0,e.jsxs)("span",{className:m.exempt,children:[t.summary.exempt," ",a("exempt")]})]})]})}),t.project.checks.length>0&&(0,e.jsx)(d,{children:(0,e.jsxs)(l,{className:"py-4 text-sm","data-testid":`${r}-project`,children:[(0,e.jsxs)("span",{className:"font-medium",children:[a("Schema & config")," ",t.project.score,"/100"]}),(0,e.jsxs)("span",{className:"text-muted-foreground",children:[" \u2014 ",t.project.checks.map(s=>s.name).join(", ")]})]})}),(0,e.jsx)(d,{children:(0,e.jsx)(l,{className:"p-0",children:(0,e.jsxs)(y,{children:[(0,e.jsx)(w,{children:(0,e.jsxs)(h,{children:[(0,e.jsx)(c,{className:"w-20",children:a("Score")}),(0,e.jsx)(c,{children:a("Procedure")}),(0,e.jsx)(c,{className:"w-32",children:a("Kind")}),(0,e.jsx)(c,{children:a("Rules fired")})]})}),(0,e.jsx)(j,{children:R.map(s=>(0,e.jsxs)(h,{"data-testid":`${r}-row`,children:[(0,e.jsx)(i,{className:x("tabular-nums font-medium",m[s.coverage]),children:s.coverage==="exempt"?"\u2014":s.score}),(0,e.jsx)(i,{className:"font-mono text-xs",children:s.id}),(0,e.jsxs)(i,{className:"text-muted-foreground text-xs",children:[s.visibility," ",s.kind,s.sensitivity.level==="high"&&(0,e.jsx)("span",{className:"ml-1 text-amber-600 dark:text-amber-400",children:a("sensitive")})]}),(0,e.jsx)(i,{className:"text-muted-foreground text-xs",children:s.coverage==="exempt"?C(s,a("no reason given")):s.checks.map(S=>S.name).join(", ")})]},s.id))})]})})})]})},"Y");export{Y as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as me}from"./chunk-ZPGNTTQ3.js";import{a as Lt,b as At,c as Kt,d as Ot}from"./chunk-EYGF6TQS.js";import{a as it}from"./chunk-YMVKAXBC.js";import{a as Ct,b as It,c as Tt,d as Rt,e as Pe}from"./chunk-VR3UJA7B.js";import{a as Ft}from"./chunk-CAOUXOL7.js";import{a as zt}from"./chunk-T7DJP5HM.js";import"./chunk-2SFSTQS4.js";import"./chunk-AFKLFS74.js";import{e as _t}from"./chunk-W2JBKQNU.js";import"./chunk-CP4ZFBVW.js";import{a as Mt}from"./chunk-E6P2ERQV.js";import"./chunk-ZSOLGJFC.js";import"./chunk-DUDQV6XJ.js";import"./chunk-VZCS5GXZ.js";import"./chunk-DKSLOJDQ.js";import{a as Ze,b as et,c as tt,d as vt,e as yt,f as rt,g as at,h as Nt,i as St}from"./chunk-XL2OT5WB.js";import"./chunk-JV7KTJPY.js";import"./chunk-DPNEFSEC.js";import{a as $t}from"./chunk-CKTKI4IY.js";import{a as kt}from"./chunk-6UN4V2HB.js";import{a as wt,b as qt}from"./chunk-KVSQKUWD.js";import"./chunk-4YTSKL4R.js";import"./chunk-ZHPDAJBM.js";import"./chunk-AOAJGSYZ.js";import"./chunk-INQICZYC.js";import"./chunk-TFMQSCGC.js";import{a as Ye}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import{b as Be}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import"./chunk-F7JOSNAT.js";import{a as Ae}from"./chunk-DZGOHOOE.js";import{c as Ee}from"./chunk-5DEXJ766.js";import{f as dt}from"./chunk-NIUA7EHL.js";import"./chunk-RCZTUWG3.js";import{a as ht}from"./chunk-UANVABQG.js";import{a as st,b as lt,c as nt,d as De,e as de,f as U}from"./chunk-L4EZAHCD.js";import{a as fe,b as Ke,c as Oe,d as ut,e as pe}from"./chunk-IYWVSMAY.js";import{d as ge,f as gt,g as ft,h as pt,i as xt,l as We,o as bt}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as o,d as Xe,e as jt,f as Qt,g as Jt,i as mt}from"./chunk-R5ZTCHCE.js";var P=Xe(jt(),1);var xe=Xe(Qt(),1);var t=Xe(Jt(),1);var Ht=o((s,e)=>s<e?-1:s>e?1:0,"Ht"),ct=o(s=>{if(s===void 0)return"null";if(typeof s=="bigint")throw new TypeError("stableStringify: cannot use a bigint in a stable JSON cache key \u2014 pass it as a string, or use stableWireKey");if(typeof s=="number"){if(Number.isNaN(s))return"nan";if(s===1/0)return"inf";if(s===-1/0)return"-inf";if(Object.is(s,-0))return"-0"}if(s===null||typeof s!="object")return JSON.stringify(s);if(Array.isArray(s))return`[${s.map(d=>ct(d)).join(",")}]`;let e=Object.getPrototypeOf(s);if(e!==null&&e!==Object.prototype){let d=s.constructor?.name??"value";throw new TypeError(`stableStringify: cannot use a ${d} in a stable JSON cache key \u2014 only plain objects, arrays, and JSON primitives are supported (wire-typed values key via stableWireKey)`)}let l=s,a=Object.keys(l).toSorted(Ht),r=[];for(let d of a){let i=l[d];i!==void 0&&r.push(`${JSON.stringify(d)}:${ct(i)}`)}return`{${r.join(",")}}`},"Ze"),Dt=o((s,e,l)=>`${s}:${e}:${ct(l??{})}`,"ft"),Pt=o((s,e)=>s==="gauge"?e.last:s==="histogram"?e.sum/Math.max(1,e.count):e.sum,"ht"),Ut=o((s,e)=>Pt(s,e),"Ut"),Bt=o(s=>Pt(s.kind,s),"Jt"),ot=o(s=>Number.isInteger(s)?s.toLocaleString():s.toLocaleString(void 0,{maximumFractionDigits:2}),"We"),Wt=o(s=>Array.isArray(s?.series)?s.series:[],"Vt"),Gt="FUNCTION_NOT_FOUND",Vt=o(s=>{let e=new Map;if(!Array.isArray(s?.series))return e;for(let l of s.series)e.set(Dt(l.kind,l.name,l.attributes),l.points);return e},"Wt"),Xt={counter:"secondary",gauge:"default",histogram:"outline"},Yt=o(s=>{let e=(0,xe.c)(18),{name:l,onOpenTrace:a,traceId:r}=s,d=ge();if(r===void 0){let m;return e[0]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}),e[0]=m):m=e[0],m}let i;e[1]!==r?(i=r.slice(0,8),e[1]=r,e[2]=i):i=e[2];let n=i;if(a===void 0){let m=`mt-instrument-trace-${l}`,g;return e[3]!==n||e[4]!==m||e[5]!==r?(g=(0,t.jsx)("span",{className:"text-muted-foreground","data-testid":m,title:r,children:n}),e[3]=n,e[4]=m,e[5]=r,e[6]=g):g=e[6],g}let S=`mt-instrument-trace-${l}`,v;e[7]!==a||e[8]!==r?(v=o(()=>{a(r)},"y"),e[7]=a,e[8]=r,e[9]=v):v=e[9];let w;e[10]!==d||e[11]!==r?(w=d("Open the exemplar trace {trace}",{trace:r}),e[10]=d,e[11]=r,e[12]=w):w=e[12];let h;return e[13]!==n||e[14]!==S||e[15]!==v||e[16]!==w?(h=(0,t.jsx)("button",{className:"text-primary underline-offset-4 hover:underline","data-testid":S,onClick:v,title:w,type:"button",children:n}),e[13]=n,e[14]=S,e[15]=v,e[16]=w,e[17]=h):h=e[17],h},"Yt"),Zt=o(s=>{let e=(0,xe.c)(105),{onOpenTrace:l,shardKey:a}=s,r=ge(),d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d={},e[0]=d):d=e[0];let i;e[1]!==a?(i={live:!0,shardKey:a},e[1]=a,e[2]=i):i=e[2];let{data:n,error:S,errorSource:v}=Ee(Ae.getMetricSeries,d,i),w;e[3]===Symbol.for("react.memo_cache_sentinel")?(w={},e[3]=w):w=e[3];let h;e[4]!==a?(h={live:!0,shardKey:a},e[4]=a,e[5]=h):h=e[5];let{data:m}=Ee(Ae.getMetricHistory,w,h),g,y,q,M,c,p,f,x,k,_,N,I,C;if(e[6]!==n||e[7]!==S||e[8]!==v||e[9]!==m||e[10]!==l||e[11]!==r){x=Symbol.for("react.early_return_sentinel");e:{let A=Wt(n),O=xt(v)===Gt;if(S!==null&&!O){let u;e[25]!==r?(u=r("Instruments"),e[25]=r,e[26]=u):u=e[26];let D;e[27]!==u?(D=(0,t.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:u}),e[27]=u,e[28]=D):D=e[28];let Q;e[29]!==S||e[30]!==r?(Q=r("Instruments unavailable: {error}",{error:S}),e[29]=S,e[30]=r,e[31]=Q):Q=e[31];let J;e[32]!==Q?(J=(0,t.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":"mt-instruments-error",role:"status",children:Q}),e[32]=Q,e[33]=J):J=e[33];let ce;e[34]!==D||e[35]!==J?(ce=(0,t.jsxs)("section",{className:"flex flex-col gap-2","data-testid":"mt-instruments",children:[D,J]}),e[34]=D,e[35]=J,e[36]=ce):ce=e[36],x=ce;break e}if(A.length===0){x=null;break e}let L=Vt(m),E;e[37]!==r?(E=o(u=>r(u==="counter"?"Counter":u==="gauge"?"Gauge":"Histogram"),"z"),e[37]=r,e[38]=E):E=e[38];let j=E;c="flex flex-col gap-2",p="mt-instruments";let K;e[39]!==r?(K=r("Instruments"),e[39]=r,e[40]=K):K=e[40],e[41]!==K?(f=(0,t.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:K}),e[41]=K,e[42]=f):f=e[42],M=fe,C="overflow-hidden py-0",q=pe,I="px-0",y=st,_="mt-instruments-table";let B;e[43]!==r?(B=r("name"),e[43]=r,e[44]=B):B=e[44];let W;e[45]!==B?(W=(0,t.jsx)(de,{children:B}),e[45]=B,e[46]=W):W=e[46];let G;e[47]!==r?(G=r("kind"),e[47]=r,e[48]=G):G=e[48];let V;e[49]!==G?(V=(0,t.jsx)(de,{children:G}),e[49]=G,e[50]=V):V=e[50];let X;e[51]!==r?(X=r("value"),e[51]=r,e[52]=X):X=e[52];let Y;e[53]!==X?(Y=(0,t.jsx)(de,{className:"text-right",children:X}),e[53]=X,e[54]=Y):Y=e[54];let Z;e[55]!==r?(Z=r("count"),e[55]=r,e[56]=Z):Z=e[56];let ee;e[57]!==Z?(ee=(0,t.jsx)(de,{className:"text-right",children:Z}),e[57]=Z,e[58]=ee):ee=e[58];let te;e[59]!==r?(te=r("range"),e[59]=r,e[60]=te):te=e[60];let re;e[61]!==te?(re=(0,t.jsx)(de,{className:"text-right",children:te}),e[61]=te,e[62]=re):re=e[62];let ae;e[63]!==r?(ae=r("trend"),e[63]=r,e[64]=ae):ae=e[64];let se;e[65]!==ae?(se=(0,t.jsx)(de,{children:ae}),e[65]=ae,e[66]=se):se=e[66];let le;e[67]!==r?(le=r("trace"),e[67]=r,e[68]=le):le=e[68];let ne;e[69]!==le?(ne=(0,t.jsx)(de,{children:le}),e[69]=le,e[70]=ne):ne=e[70];let ie;e[71]!==r?(ie=r("dimensions"),e[71]=r,e[72]=ie):ie=e[72];let oe;e[73]!==ie?(oe=(0,t.jsx)(de,{children:ie}),e[73]=ie,e[74]=oe):oe=e[74],e[75]!==W||e[76]!==V||e[77]!==Y||e[78]!==ee||e[79]!==re||e[80]!==se||e[81]!==ne||e[82]!==oe?(N=(0,t.jsx)(lt,{children:(0,t.jsxs)(De,{children:[W,V,Y,ee,re,se,ne,oe]})}),e[75]=W,e[76]=V,e[77]=Y,e[78]=ee,e[79]=re,e[80]=se,e[81]=ne,e[82]=oe,e[83]=N):N=e[83],g=nt,k=A.map(u=>{let D=Ft(u.attributes),Q=Dt(u.kind,u.name,u.attributes),J=(L.get(Q)??[]).map(ce=>Ut(u.kind,ce));return(0,t.jsxs)(De,{"data-testid":`mt-instrument-${u.name}`,children:[(0,t.jsx)(U,{className:"font-mono text-xs",title:u.functionPath,children:u.name}),(0,t.jsx)(U,{children:(0,t.jsx)(Be,{variant:Xt[u.kind],children:j(u.kind)})}),(0,t.jsx)(U,{className:"text-right font-mono tabular-nums","data-testid":`mt-instrument-value-${u.name}`,children:ot(Bt(u))}),(0,t.jsx)(U,{className:"text-right tabular-nums text-muted-foreground",children:u.count.toLocaleString()}),(0,t.jsx)(U,{className:"text-right font-mono text-xs tabular-nums text-muted-foreground",children:u.min===u.max?"\u2014":`${ot(u.min)}\u2013${ot(u.max)}`}),(0,t.jsx)(U,{children:J.length>=2?(0,t.jsx)(it,{ariaLabel:r("{name} trend",{name:u.name}),className:"h-6 w-24 text-foreground",series:J,testId:`mt-instrument-trend-${u.name}`}):(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"\u2014"})}),(0,t.jsx)(U,{className:"font-mono text-xs",children:(0,t.jsx)(Yt,{name:u.name,onOpenTrace:l,traceId:u.exemplarTraceId})}),(0,t.jsx)(U,{className:"max-w-64 truncate font-mono text-xs text-muted-foreground",title:D,children:D===""?"\u2014":D})]},Q)})}e[6]=n,e[7]=S,e[8]=v,e[9]=m,e[10]=l,e[11]=r,e[12]=g,e[13]=y,e[14]=q,e[15]=M,e[16]=c,e[17]=p,e[18]=f,e[19]=x,e[20]=k,e[21]=_,e[22]=N,e[23]=I,e[24]=C}else g=e[12],y=e[13],q=e[14],M=e[15],c=e[16],p=e[17],f=e[18],x=e[19],k=e[20],_=e[21],N=e[22],I=e[23],C=e[24];if(x!==Symbol.for("react.early_return_sentinel"))return x;let T;e[84]!==g||e[85]!==k?(T=(0,t.jsx)(g,{children:k}),e[84]=g,e[85]=k,e[86]=T):T=e[86];let $;e[87]!==y||e[88]!==T||e[89]!==_||e[90]!==N?($=(0,t.jsxs)(y,{"data-testid":_,children:[N,T]}),e[87]=y,e[88]=T,e[89]=_,e[90]=N,e[91]=$):$=e[91];let b;e[92]!==q||e[93]!==$||e[94]!==I?(b=(0,t.jsx)(q,{className:I,children:$}),e[92]=q,e[93]=$,e[94]=I,e[95]=b):b=e[95];let R;e[96]!==M||e[97]!==b||e[98]!==C?(R=(0,t.jsx)(M,{className:C,children:b}),e[96]=M,e[97]=b,e[98]=C,e[99]=R):R=e[99];let z;return e[100]!==c||e[101]!==p||e[102]!==f||e[103]!==R?(z=(0,t.jsxs)("section",{className:c,"data-testid":p,children:[f,R]}),e[100]=c,e[101]=p,e[102]=f,e[103]=R,e[104]=z):z=e[104],z},"Zt"),er=o(s=>{let e=(0,xe.c)(74),{aggregate:l,shardResults:a}=s,r=ge(),d;e[0]!==r?(d=r("Shards"),e[0]=r,e[1]=d):d=e[1];let i;e[2]!==l.failed||e[3]!==l.reachable||e[4]!==r?(i=l.failed>0?r("{reachable} reachable, {failed} unreachable",{failed:l.failed,reachable:l.reachable}):r("{reachable} reachable",{reachable:l.reachable}),e[2]=l.failed,e[3]=l.reachable,e[4]=r,e[5]=i):i=e[5];let n;e[6]!==d||e[7]!==i?(n=(0,t.jsx)(me,{label:d,testId:"mt-agg-shards",value:i}),e[6]=d,e[7]=i,e[8]=n):n=e[8];let S;e[9]!==r?(S=r("Total requests"),e[9]=r,e[10]=S):S=e[10];let v;e[11]!==l.totalRequests||e[12]!==S?(v=(0,t.jsx)(me,{label:S,testId:"mt-agg-requests",value:l.totalRequests}),e[11]=l.totalRequests,e[12]=S,e[13]=v):v=e[13];let w;e[14]!==r?(w=r("Total errors"),e[14]=r,e[15]=w):w=e[15];let h;e[16]!==l.totalErrors||e[17]!==w?(h=(0,t.jsx)(me,{label:w,testId:"mt-agg-errors",value:l.totalErrors}),e[16]=l.totalErrors,e[17]=w,e[18]=h):h=e[18];let m;e[19]!==r?(m=r("Total database size"),e[19]=r,e[20]=m):m=e[20];let g;e[21]!==l.totalDatabaseSize?(g=We(l.totalDatabaseSize),e[21]=l.totalDatabaseSize,e[22]=g):g=e[22];let y;e[23]!==m||e[24]!==g?(y=(0,t.jsx)(me,{label:m,testId:"mt-agg-db-size",value:g}),e[23]=m,e[24]=g,e[25]=y):y=e[25];let q;e[26]!==r?(q=r("Combined cache hit rate"),e[26]=r,e[27]=q):q=e[27];let M;e[28]!==l.hitRate||e[29]!==r?(M=l.hitRate===null?r("no cache configured"):`${(l.hitRate*100).toFixed(1)}%`,e[28]=l.hitRate,e[29]=r,e[30]=M):M=e[30];let c;e[31]!==q||e[32]!==M?(c=(0,t.jsx)(me,{label:q,testId:"mt-agg-cache",value:M}),e[31]=q,e[32]=M,e[33]=c):c=e[33];let p;e[34]!==y||e[35]!==c||e[36]!==n||e[37]!==v||e[38]!==h?(p=(0,t.jsxs)("dl",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3","data-testid":"mt-aggregate-stats",children:[n,v,h,y,c]}),e[34]=y,e[35]=c,e[36]=n,e[37]=v,e[38]=h,e[39]=p):p=e[39];let f;e[40]!==r?(f=r("shard"),e[40]=r,e[41]=f):f=e[41];let x;e[42]!==f?(x=(0,t.jsx)(de,{children:f}),e[42]=f,e[43]=x):x=e[43];let k;e[44]!==r?(k=r("requests"),e[44]=r,e[45]=k):k=e[45];let _;e[46]!==k?(_=(0,t.jsx)(de,{children:k}),e[46]=k,e[47]=_):_=e[47];let N;e[48]!==r?(N=r("errors"),e[48]=r,e[49]=N):N=e[49];let I;e[50]!==N?(I=(0,t.jsx)(de,{children:N}),e[50]=N,e[51]=I):I=e[51];let C;e[52]!==r?(C=r("db size"),e[52]=r,e[53]=C):C=e[53];let T;e[54]!==C?(T=(0,t.jsx)(de,{children:C}),e[54]=C,e[55]=T):T=e[55];let $;e[56]!==x||e[57]!==_||e[58]!==I||e[59]!==T?($=(0,t.jsx)(lt,{children:(0,t.jsxs)(De,{children:[x,_,I,T]})}),e[56]=x,e[57]=_,e[58]=I,e[59]=T,e[60]=$):$=e[60];let b;if(e[61]!==a||e[62]!==r){let O;e[64]!==r?(O=o(L=>(0,t.jsxs)(De,{"data-testid":`mt-agg-row-${L.shard}`,children:[(0,t.jsx)(U,{children:L.shard}),L.metrics===null?(0,t.jsx)(U,{className:"text-destructive",colSpan:3,children:L.error??r("unreachable")}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(U,{className:"tabular-nums",children:L.metrics.requests}),(0,t.jsx)(U,{className:"tabular-nums",children:L.metrics.errors}),(0,t.jsx)(U,{className:"tabular-nums",children:We(L.metrics.databaseSize)})]})]},L.shard),"L"),e[64]=r,e[65]=O):O=e[65],b=a.map(O),e[61]=a,e[62]=r,e[63]=b}else b=e[63];let R;e[66]!==b?(R=(0,t.jsx)(nt,{children:b}),e[66]=b,e[67]=R):R=e[67];let z;e[68]!==$||e[69]!==R?(z=(0,t.jsx)(fe,{className:"overflow-hidden py-0",children:(0,t.jsx)(pe,{className:"px-0",children:(0,t.jsxs)(st,{"data-testid":"mt-agg-table",children:[$,R]})})}),e[68]=$,e[69]=R,e[70]=z):z=e[70];let A;return e[71]!==p||e[72]!==z?(A=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"mt-aggregate-view",children:[p,z]}),e[71]=p,e[72]=z,e[73]=A):A=e[73],A},"er"),tr=o(s=>{let e=Math.floor(s/1e3),l=Math.floor(e/3600),a=Math.floor(e%3600/60),r=e%60;return l>0?`${l.toString()}h ${a.toString()}m`:a>0?`${a.toString()}m ${r.toString()}s`:`${r.toString()}s`},"tr"),rr=o((s,e)=>{let l=s+e;return l===0?"\u2014":`${(s/l*100).toFixed(1)}%`},"rr"),Et=o(s=>s<=0?"\u2014":s<1?`${(s*1e3).toFixed(0)}\u03BCs`:s<1e3?`${s.toFixed(1)}ms`:`${(s/1e3).toFixed(2)}s`,"ot"),ar=o(s=>{let e=(0,xe.c)(75),{currentDelta:l,errorRate:a,history:r,latencyPercentiles:d,metrics:i}=s,n=ge(),S;e[0]!==r||e[1]!==n?(S=r.length>=2?(0,t.jsx)(it,{ariaLabel:n("Requests per interval over time"),className:"h-7 w-24 text-foreground",series:r,testId:"mt-sparkline"}):void 0,e[0]=r,e[1]=n,e[2]=S):S=e[2];let v;e[3]!==l||e[4]!==r.length||e[5]!==n?(v=r.length>=2?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"font-semibold text-foreground",children:`+${l.toLocaleString()}`})," ",n("last interval")]}):(0,t.jsx)("span",{"data-testid":"mt-sparkline-empty",children:n("collecting samples\u2026")}),e[3]=l,e[4]=r.length,e[5]=n,e[6]=v):v=e[6];let w;e[7]!==n?(w=n("Requests"),e[7]=n,e[8]=w):w=e[8];let h;e[9]!==i.requests||e[10]!==S||e[11]!==v||e[12]!==w?(h=(0,t.jsx)(me,{chart:S,footer:v,label:w,testId:"mt-requests",value:i.requests}),e[9]=i.requests,e[10]=S,e[11]=v,e[12]=w,e[13]=h):h=e[13];let m;e[14]!==a||e[15]!==n?(m=n("{rate} error rate",{rate:a}),e[14]=a,e[15]=n,e[16]=m):m=e[16];let g;e[17]!==n?(g=n("Errors"),e[17]=n,e[18]=g):g=e[18];let y;e[19]!==a||e[20]!==i.errors?(y=(0,t.jsxs)(t.Fragment,{children:[i.errors," (",a,")"]}),e[19]=a,e[20]=i.errors,e[21]=y):y=e[21];let q;e[22]!==m||e[23]!==g||e[24]!==y?(q=(0,t.jsx)(me,{footer:m,label:g,testId:"mt-errors",value:y}),e[22]=m,e[23]=g,e[24]=y,e[25]=q):q=e[25];let M;e[26]!==d.p90?(M=d.p90>0?`P90 ${Et(d.p90)}`:void 0,e[26]=d.p90,e[27]=M):M=e[27];let c;e[28]!==n?(c=n("P95 latency"),e[28]=n,e[29]=c):c=e[29];let p;e[30]!==d.p95?(p=d.p95>0?Et(d.p95):"\u2014",e[30]=d.p95,e[31]=p):p=e[31];let f;e[32]!==c||e[33]!==p||e[34]!==M?(f=(0,t.jsx)(me,{footer:M,label:c,testId:"mt-p95",value:p}),e[32]=c,e[33]=p,e[34]=M,e[35]=f):f=e[35];let x;e[36]!==i.cache||e[37]!==n?(x=i.cache===null?void 0:`${i.cache.entries.toLocaleString()} ${n("cache entries")}`,e[36]=i.cache,e[37]=n,e[38]=x):x=e[38];let k;e[39]!==n?(k=n("Database size"),e[39]=n,e[40]=k):k=e[40];let _;e[41]!==i.databaseSize?(_=We(i.databaseSize),e[41]=i.databaseSize,e[42]=_):_=e[42];let N;e[43]!==x||e[44]!==k||e[45]!==_?(N=(0,t.jsx)(me,{footer:x,label:k,testId:"mt-db-size",value:_}),e[43]=x,e[44]=k,e[45]=_,e[46]=N):N=e[46];let I;e[47]!==n?(I=n("Shard"),e[47]=n,e[48]=I):I=e[48];let C;e[49]!==i.shard||e[50]!==I?(C=(0,t.jsx)(me,{label:I,testId:"mt-shard",value:i.shard}),e[49]=i.shard,e[50]=I,e[51]=C):C=e[51];let T;e[52]!==n?(T=n("Uptime"),e[52]=n,e[53]=T):T=e[53];let $;e[54]!==i.uptimeMs?($=tr(i.uptimeMs),e[54]=i.uptimeMs,e[55]=$):$=e[55];let b;e[56]!==T||e[57]!==$?(b=(0,t.jsx)(me,{label:T,testId:"mt-uptime",value:$}),e[56]=T,e[57]=$,e[58]=b):b=e[58];let R;e[59]!==n?(R=n("Cache hit rate"),e[59]=n,e[60]=R):R=e[60];let z;e[61]!==i.cache||e[62]!==n?(z=i.cache===null?n("no cache configured"):n("{rate} ({count} entries)",{count:i.cache.entries,rate:rr(i.cache.hits,i.cache.misses)}),e[61]=i.cache,e[62]=n,e[63]=z):z=e[63];let A;e[64]!==R||e[65]!==z?(A=(0,t.jsx)(me,{label:R,testId:"mt-cache",value:z}),e[64]=R,e[65]=z,e[66]=A):A=e[66];let O;return e[67]!==f||e[68]!==N||e[69]!==C||e[70]!==b||e[71]!==A||e[72]!==h||e[73]!==q?(O=(0,t.jsxs)("dl",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4","data-testid":"mt-stats",children:[h,q,f,N,C,b,A]}),e[67]=f,e[68]=N,e[69]=C,e[70]=b,e[71]=A,e[72]=h,e[73]=q,e[74]=O):O=e[74],O},"sr"),Ve=o(s=>s>=100?"critical":s>=50?"warning":"good","Ve"),je=o(s=>s<1?`${(s*1e3).toFixed(0)}\u03BCs`:s<1e3?`${s.toFixed(1)}ms`:`${(s/1e3).toFixed(2)}s`,"Ee"),Ge=o(s=>s>=1e9?`${(s/1e9).toFixed(1)}B`:s>=1e6?`${(s/1e6).toFixed(1)}M`:s>=1e3?`${(s/1e3).toFixed(1)}K`:s.toLocaleString(),"He"),sr=o(s=>{let e=(0,xe.c)(3),{level:l}=s;if(l==="critical"){let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,t.jsx)(Be,{variant:"destructive",children:"Slow"}),e[0]=r):r=e[0],r}if(l==="warning"){let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-md border border-transparent bg-warning/10 px-2 py-0.5 text-xs font-medium text-warning",children:"Moderate"}),e[1]=r):r=e[1],r}let a;return e[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-md border border-transparent bg-success/10 px-2 py-0.5 text-xs font-medium text-success",children:"Fast"}),e[2]=a):a=e[2],a},"lr"),lr=o((s,e)=>{let l=[...s];return l.sort((a,r)=>{switch(e){case"avgTime":return r.avgDurationMs-a.avgDurationMs;case"execCount":return r.execCount-a.execCount;case"rowsRead":return r.rowsRead-a.rowsRead;default:return r.totalDurationMs-a.totalDurationMs}}),l},"ar"),nr=o(s=>{let e=(0,xe.c)(161),{queryStats:l}=s,a=ge(),[r,d]=(0,P.useState)("totalTime"),i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=new Set,e[0]=i):i=e[0];let[n,S]=(0,P.useState)(i),v;e[1]===Symbol.for("react.memo_cache_sentinel")?(v=o(C=>{C!==null&&d(C)},"y"),e[1]=v):v=e[1];let w=v,h,m,g,y,q,M,c,p,f,x;if(e[2]!==n||e[3]!==l||e[4]!==r||e[5]!==a){g=Symbol.for("react.early_return_sentinel");e:{let C=lr(l,r),T;e[16]!==l?(T=l.filter(ir),e[16]=l,e[17]=T):T=e[17];let $=T.length,b;e[18]!==l?(b=l.filter(or),e[18]=l,e[19]=b):b=e[19];let R=b.length,z;e[20]!==l?(z=l.filter(cr),e[20]=l,e[21]=z):z=e[21];let A=z.length,O;e[22]===Symbol.for("react.memo_cache_sentinel")?(O=o(F=>{S(ue=>{let H=new Set(ue);return H.has(F)?H.delete(F):H.add(F),H})},"L"),e[22]=O):O=e[22];let L=O;if(l.length===0){let F;e[23]!==a?(F=a("No query insights yet"),e[23]=a,e[24]=F):F=e[24];let ue;e[25]!==F?(ue=(0,t.jsx)("p",{className:"text-lg font-medium","data-testid":"qi-empty",children:F}),e[25]=F,e[26]=ue):ue=e[26];let H;e[27]!==a?(H=a("Query insights appear once statements are executed against this shard."),e[27]=a,e[28]=H):H=e[28];let he;e[29]!==H?(he=(0,t.jsx)("p",{className:"mt-1 text-sm",children:H}),e[29]=H,e[30]=he):he=e[30];let Ue;e[31]!==ue||e[32]!==he?(Ue=(0,t.jsx)(fe,{children:(0,t.jsx)(pe,{className:"py-12",children:(0,t.jsxs)("div",{className:"text-center text-muted-foreground",children:[ue,he]})})}),e[31]=ue,e[32]=he,e[33]=Ue):Ue=e[33],g=Ue;break e}c="space-y-4",p="qi-root";let E;e[34]!==a?(E=a("Critical queries"),e[34]=a,e[35]=E):E=e[35];let j;e[36]!==E?(j=(0,t.jsx)(Ke,{className:"pb-2",children:(0,t.jsx)(Oe,{className:"text-sm font-medium",children:E})}),e[36]=E,e[37]=j):j=e[37];let K;e[38]!==$?(K=(0,t.jsx)("div",{className:"text-2xl font-bold text-destructive","data-testid":"qi-critical",children:$}),e[38]=$,e[39]=K):K=e[39];let B;e[40]!==a?(B=a(">100ms avg execution"),e[40]=a,e[41]=B):B=e[41];let W;e[42]!==B?(W=(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:B}),e[42]=B,e[43]=W):W=e[43];let G;e[44]!==K||e[45]!==W?(G=(0,t.jsxs)(pe,{children:[K,W]}),e[44]=K,e[45]=W,e[46]=G):G=e[46];let V;e[47]!==j||e[48]!==G?(V=(0,t.jsxs)(fe,{children:[j,G]}),e[47]=j,e[48]=G,e[49]=V):V=e[49];let X;e[50]!==a?(X=a("Moderate queries"),e[50]=a,e[51]=X):X=e[51];let Y;e[52]!==X?(Y=(0,t.jsx)(Ke,{className:"pb-2",children:(0,t.jsx)(Oe,{className:"text-sm font-medium",children:X})}),e[52]=X,e[53]=Y):Y=e[53];let Z;e[54]!==R?(Z=(0,t.jsx)("div",{className:"text-2xl font-bold text-warning","data-testid":"qi-moderate",children:R}),e[54]=R,e[55]=Z):Z=e[55];let ee;e[56]!==a?(ee=a("50\u2013100ms avg execution"),e[56]=a,e[57]=ee):ee=e[57];let te;e[58]!==ee?(te=(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:ee}),e[58]=ee,e[59]=te):te=e[59];let re;e[60]!==Z||e[61]!==te?(re=(0,t.jsxs)(pe,{children:[Z,te]}),e[60]=Z,e[61]=te,e[62]=re):re=e[62];let ae;e[63]!==Y||e[64]!==re?(ae=(0,t.jsxs)(fe,{children:[Y,re]}),e[63]=Y,e[64]=re,e[65]=ae):ae=e[65];let se;e[66]!==a?(se=a("Fast queries"),e[66]=a,e[67]=se):se=e[67];let le;e[68]!==se?(le=(0,t.jsx)(Ke,{className:"pb-2",children:(0,t.jsx)(Oe,{className:"text-sm font-medium",children:se})}),e[68]=se,e[69]=le):le=e[69];let ne;e[70]!==A?(ne=(0,t.jsx)("div",{className:"text-2xl font-bold text-success","data-testid":"qi-fast",children:A}),e[70]=A,e[71]=ne):ne=e[71];let ie;e[72]!==a?(ie=a("<50ms avg execution"),e[72]=a,e[73]=ie):ie=e[73];let oe;e[74]!==ie?(oe=(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:ie}),e[74]=ie,e[75]=oe):oe=e[75];let u;e[76]!==ne||e[77]!==oe?(u=(0,t.jsxs)(pe,{children:[ne,oe]}),e[76]=ne,e[77]=oe,e[78]=u):u=e[78];let D;e[79]!==le||e[80]!==u?(D=(0,t.jsxs)(fe,{children:[le,u]}),e[79]=le,e[80]=u,e[81]=D):D=e[81],e[82]!==V||e[83]!==ae||e[84]!==D?(f=(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[V,ae,D]}),e[82]=V,e[83]=ae,e[84]=D,e[85]=f):f=e[85];let Q;e[86]!==a?(Q=a("Query leaderboard"),e[86]=a,e[87]=Q):Q=e[87];let J;e[88]!==Q?(J=(0,t.jsx)("h3",{className:"text-lg font-semibold",children:Q}),e[88]=Q,e[89]=J):J=e[89];let ce;e[90]!==r||e[91]!==a?(ce=a("Slow queries sorted by {sortField}",{sortField:a(r)}),e[90]=r,e[91]=a,e[92]=ce):ce=e[92];let be;e[93]!==ce?(be=(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:ce}),e[93]=ce,e[94]=be):be=e[94];let ve;e[95]!==J||e[96]!==be?(ve=(0,t.jsxs)("div",{children:[J,be]}),e[95]=J,e[96]=be,e[97]=ve):ve=e[97];let ye;e[98]!==a?(ye=a("Sort by"),e[98]=a,e[99]=ye):ye=e[99];let Ne;e[100]!==ye?(Ne=(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:ye}),e[100]=ye,e[101]=Ne):Ne=e[101];let Se;e[102]!==a?(Se=a("Sort queries by"),e[102]=a,e[103]=Se):Se=e[103];let Qe;e[104]===Symbol.for("react.memo_cache_sentinel")?(Qe=(0,t.jsx)(It,{}),e[104]=Qe):Qe=e[104];let we;e[105]!==Se?(we=(0,t.jsx)(Tt,{"aria-label":Se,className:"w-[140px]","data-testid":"qi-sort",children:Qe}),e[105]=Se,e[106]=we):we=e[106];let qe;e[107]!==a?(qe=a("Total time"),e[107]=a,e[108]=qe):qe=e[108];let ke;e[109]!==qe?(ke=(0,t.jsx)(Pe,{value:"totalTime",children:qe}),e[109]=qe,e[110]=ke):ke=e[110];let $e;e[111]!==a?($e=a("Avg time"),e[111]=a,e[112]=$e):$e=e[112];let Me;e[113]!==$e?(Me=(0,t.jsx)(Pe,{value:"avgTime",children:$e}),e[113]=$e,e[114]=Me):Me=e[114];let _e;e[115]!==a?(_e=a("Execution count"),e[115]=a,e[116]=_e):_e=e[116];let Ce;e[117]!==_e?(Ce=(0,t.jsx)(Pe,{value:"execCount",children:_e}),e[117]=_e,e[118]=Ce):Ce=e[118];let Ie;e[119]!==a?(Ie=a("Rows read"),e[119]=a,e[120]=Ie):Ie=e[120];let Te;e[121]!==Ie?(Te=(0,t.jsx)(Pe,{value:"rowsRead",children:Ie}),e[121]=Ie,e[122]=Te):Te=e[122];let Re;e[123]!==ke||e[124]!==Me||e[125]!==Ce||e[126]!==Te?(Re=(0,t.jsxs)(Rt,{children:[ke,Me,Ce,Te]}),e[123]=ke,e[124]=Me,e[125]=Ce,e[126]=Te,e[127]=Re):Re=e[127];let Fe;e[128]!==r||e[129]!==we||e[130]!==Re?(Fe=(0,t.jsxs)(Ct,{onValueChange:w,value:r,children:[we,Re]}),e[128]=r,e[129]=we,e[130]=Re,e[131]=Fe):Fe=e[131];let ze;e[132]!==Ne||e[133]!==Fe?(ze=(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[Ne,Fe]}),e[132]=Ne,e[133]=Fe,e[134]=ze):ze=e[134],e[135]!==ve||e[136]!==ze?(x=(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[ve,ze]}),e[135]=ve,e[136]=ze,e[137]=x):x=e[137],m=fe;let Le;e[138]!==a?(Le=a("Statements"),e[138]=a,e[139]=Le):Le=e[139];let Je;e[140]!==Le?(Je=(0,t.jsx)(Oe,{children:Le}),e[140]=Le,e[141]=Je):Je=e[141],M=(0,t.jsxs)(Ke,{children:[Je,(0,t.jsx)(ut,{children:a("{count} tracked statements",{count:C.length})})]}),h=pe,y="space-y-2";let He;e[142]!==n||e[143]!==a?(He=o(F=>{let ue=F.normalizedSql,H=n.has(ue),he=Ve(F.avgDurationMs);return(0,t.jsxs)("div",{className:"overflow-hidden rounded-lg border","data-testid":"qi-row",children:[(0,t.jsxs)("button",{"aria-expanded":H,className:"flex w-full items-center justify-between p-3 text-left transition-colors hover:bg-muted/50",onClick:o(()=>{L(ue)},"onClick"),type:"button",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)(sr,{level:he}),(0,t.jsx)("span",{className:"max-w-[300px] truncate font-mono text-sm lg:max-w-[500px]",children:F.normalizedSql})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-4",children:[(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:je(F.totalDurationMs)}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:a("total")})]}),(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:je(F.avgDurationMs)}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:a("avg")})]}),F.p95DurationMs!==void 0&&(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:je(F.p95DurationMs)}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:a("p95")})]}),(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:Ge(F.execCount)}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:a("calls")})]})]})]}),H&&(0,t.jsxs)("div",{className:"space-y-3 border-t bg-muted/30 p-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-2 text-sm font-medium",children:a("Full statement")}),(0,t.jsx)("pre",{className:"overflow-x-auto rounded-md bg-muted p-3 font-mono text-sm whitespace-pre-wrap break-all",children:F.normalizedSql})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4 text-sm md:grid-cols-4",children:[F.p50DurationMs!==void 0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:a("p50")}),(0,t.jsx)("span",{className:"block font-medium tabular-nums",children:je(F.p50DurationMs)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:a("Exec count")}),(0,t.jsx)("span",{className:"block font-medium tabular-nums",children:Ge(F.execCount)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:a("Total time")}),(0,t.jsx)("span",{className:"block font-medium tabular-nums",children:je(F.totalDurationMs)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:a("Rows read")}),(0,t.jsx)("span",{className:"block font-medium tabular-nums",children:Ge(F.rowsRead)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:a("Rows written")}),(0,t.jsx)("span",{className:"block font-medium tabular-nums",children:Ge(F.rowsWritten)})]})]})]})]},ue)},"Ke"),e[142]=n,e[143]=a,e[144]=He):He=e[144],q=C.map(He)}e[2]=n,e[3]=l,e[4]=r,e[5]=a,e[6]=h,e[7]=m,e[8]=g,e[9]=y,e[10]=q,e[11]=M,e[12]=c,e[13]=p,e[14]=f,e[15]=x}else h=e[6],m=e[7],g=e[8],y=e[9],q=e[10],M=e[11],c=e[12],p=e[13],f=e[14],x=e[15];if(g!==Symbol.for("react.early_return_sentinel"))return g;let k;e[145]!==y||e[146]!==q?(k=(0,t.jsx)("div",{className:y,children:q}),e[145]=y,e[146]=q,e[147]=k):k=e[147];let _;e[148]!==h||e[149]!==k?(_=(0,t.jsx)(h,{children:k}),e[148]=h,e[149]=k,e[150]=_):_=e[150];let N;e[151]!==m||e[152]!==_||e[153]!==M?(N=(0,t.jsxs)(m,{children:[M,_]}),e[151]=m,e[152]=_,e[153]=M,e[154]=N):N=e[154];let I;return e[155]!==N||e[156]!==c||e[157]!==p||e[158]!==f||e[159]!==x?(I=(0,t.jsxs)("div",{className:c,"data-testid":p,children:[f,x,N]}),e[155]=N,e[156]=c,e[157]=p,e[158]=f,e[159]=x,e[160]=I):I=e[160],I},"ir");function ir(s){return Ve(s.avgDurationMs)==="critical"}o(ir,"nr");function or(s){return Ve(s.avgDurationMs)==="warning"}o(or,"or");function cr(s){return Ve(s.avgDurationMs)==="good"}o(cr,"cr");var dr=["1m","5m","15m","1h"],mr=o(s=>new Date(s).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}),"mr"),ur=o(s=>s.map(e=>({avg:Math.round(e.avgDurationMs*100)/100,execs:e.execCount,label:mr(e.bucketMs)})),"ur"),hr=o(({shardKey:s=""})=>{let e=ge(),[l,a]=(0,P.useState)("15m"),r=Ee(Ae.getQueryInsights,{range:l},{live:!0,shardKey:s}).data,d=ur(r?.buckets??[]);return(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"qi-range",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("div",{className:"flex gap-1 rounded-lg border border-border p-0.5","data-testid":"qi-ranges",role:"group",children:dr.map(i=>(0,t.jsx)("button",{"aria-pressed":i===l,className:mt("rounded px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent",i===l&&"bg-accent font-medium text-foreground"),"data-testid":`qi-range-${i}`,onClick:o(()=>{a(i)},"onClick"),type:"button",children:i},i))}),r?.capped===!0&&(0,t.jsx)(Be,{"data-testid":"qi-capped",variant:"secondary",children:e("showing a capped set")})]}),d.length===0?(0,t.jsx)(ht,{description:e("Statements executed in the selected window appear here, with throughput and latency over time."),testId:"qi-empty",title:e("No queries in this window.")}):(0,t.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,t.jsxs)("figure",{className:"rounded-xl border border-border p-3","data-testid":"qi-throughput",children:[(0,t.jsx)("figcaption",{className:"mb-2 text-xs font-medium text-muted-foreground",children:e("Throughput")}),(0,t.jsx)(Ze,{height:140,width:"100%",children:(0,t.jsxs)(St,{data:d,children:[(0,t.jsx)(tt,{strokeDasharray:"3 3",vertical:!1}),(0,t.jsx)(rt,{dataKey:"label",fontSize:10,tickLine:!1}),(0,t.jsx)(at,{allowDecimals:!1,fontSize:10,tickLine:!1,width:32}),(0,t.jsx)(et,{}),(0,t.jsx)(yt,{dataKey:"execs",fill:"var(--color-primary)",fillOpacity:.15,stroke:"var(--color-primary)",type:"monotone"})]})})]}),(0,t.jsxs)("figure",{className:"rounded-xl border border-border p-3","data-testid":"qi-latency",children:[(0,t.jsx)("figcaption",{className:"mb-2 text-xs font-medium text-muted-foreground",children:e("Mean latency (ms)")}),(0,t.jsx)(Ze,{height:140,width:"100%",children:(0,t.jsxs)(Nt,{data:d,children:[(0,t.jsx)(tt,{strokeDasharray:"3 3",vertical:!1}),(0,t.jsx)(rt,{dataKey:"label",fontSize:10,tickLine:!1}),(0,t.jsx)(at,{fontSize:10,tickLine:!1,width:32}),(0,t.jsx)(et,{}),(0,t.jsx)(vt,{dataKey:"avg",dot:!1,stroke:"var(--color-destructive)",type:"monotone"})]})})]})]}),(0,t.jsx)(nr,{queryStats:r?.entries??[]})]})},"fr"),gr=gt(Ae.getMetrics),fr=o((s,e)=>s?e:"overview","gr"),Er=o(({initialShardKey:s})=>{let e=dt(),l=ge(),{queryShardKey:a,setShardKey:r,shardKey:d}=$t(s),[i,n]=(0,P.useState)("overview"),[S,v]=(0,P.useState)([]),w=(0,P.useRef)(null),h=(0,P.useRef)(null),m=(0,P.useRef)(!0);(0,P.useEffect)(()=>(m.current=!0,()=>{m.current=!1}),[]);let g=zt(a),{data:y,error:q,liveError:M}=Ee(Ae.getMetrics,{},{live:!0,shardKey:a}),c=y??null;(0,P.useEffect)(()=>{if(y===void 0)return;qt(a);let L=y,E=w.current,j=h.current!==null&&h.current!==L.shard;if(h.current=L.shard,w.current=L.requests,j){v([]);return}E!==null&&L.requests>=E&&v(K=>[...K,L.requests-E].slice(-30))},[y,a]);let[p,f]=(0,P.useState)(null),[x,k]=(0,P.useState)(!1),_=o(async()=>{k(!0);let L=At(d,wt());try{let E=await Promise.all(L.map(async j=>{try{let K=await e.query(gr,{},ft(j));return{error:null,metrics:K,shard:j===""?K.shard:j}}catch(K){return{error:pt(K),metrics:null,shard:j===""?"__root__":j}}}));m.current&&f(E)}finally{m.current&&k(!1)}},"C"),N=p===null?null:Lt(p),I=c===null||c.requests===0?"\u2014":`${(c.errors/c.requests*100).toFixed(1)}%`,C=S.length>0?S.at(-1):0,T=c?Kt(c):{p90:0,p95:0},$=(0,P.useMemo)(()=>{if(!c||!("queryStats"in c))return;let L=c.queryStats;if(!(!L||!Array.isArray(L)))return Ot(L)},[c]),b=fr($!==void 0,i),R=o(()=>{bt(_())},"I"),z=o(()=>{f(null)},"A"),A=o(()=>{n("overview")},"E"),O=o(()=>{n("query-insights")},"L");return(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-metrics",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(kt,{onChange:r,testId:"mt-shard-input",value:d}),(0,t.jsx)(Mt,{message:M,prefix:"mt"}),(0,t.jsx)(Ye,{"data-testid":"mt-aggregate",disabled:x,onClick:R,size:"sm",type:"button",variant:"secondary",children:l(x?"Aggregating\u2026":"All shards")}),p!==null&&(0,t.jsx)(Ye,{"data-testid":"mt-aggregate-clear",onClick:z,size:"sm",type:"button",variant:"ghost",children:l("Hide")}),(0,t.jsx)("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"mt-cf-link",href:_t,rel:"noreferrer",target:"_blank",children:l("Open in Cloudflare")})]}),q!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"mt-error",role:"alert",children:q}),$!==void 0&&(0,t.jsxs)("div",{className:"flex gap-2 border-b","data-testid":"mt-tabs",children:[(0,t.jsx)("button",{className:`pb-2 text-sm font-medium transition-colors ${b==="overview"?"border-b-2 border-primary text-foreground":"text-muted-foreground hover:text-foreground"}`,"data-testid":"mt-tab-overview",onClick:A,type:"button",children:l("Overview")}),(0,t.jsxs)("button",{className:`pb-2 text-sm font-medium transition-colors ${b==="query-insights"?"border-b-2 border-primary text-foreground":"text-muted-foreground hover:text-foreground"}`,"data-testid":"mt-tab-query-insights",onClick:O,type:"button",children:[l("Query insights"),$.length>0&&(0,t.jsx)("span",{className:"ml-1.5 rounded-full bg-primary/10 px-1.5 py-0.5 text-xs text-primary",children:$.length})]})]}),b==="query-insights"&&$!==void 0&&(0,t.jsx)(hr,{shardKey:a}),b==="overview"&&c!==null&&(0,t.jsx)(ar,{currentDelta:C,errorRate:I,history:S,latencyPercentiles:T,metrics:c}),b==="overview"&&c===null&&null,b==="overview"&&(0,t.jsx)(Zt,{onOpenTrace:g,shardKey:a}),b==="overview"&&N!==null&&p!==null&&(0,t.jsx)(er,{aggregate:N,shardResults:p})]})},"Pr");export{Er as MetricsPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as o,c as i}from"./chunk-ZHPDAJBM.js";import{a as t}from"./chunk-R5ZTCHCE.js";var a="lunora-studio-recent-shards",c=10,n=t(()=>o(a,"session").filter(s=>typeof s=="string"),"o"),u=t(s=>{let r=s.trim();if(r==="")return n();let e=[r,...n().filter(l=>l!==r)].slice(0,c);return i(a,e,"session"),e},"l");export{n as a,u as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as c,d as b,f as m,g as i,i as d}from"./chunk-R5ZTCHCE.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 i,d as m,e as v,f as b}from"./chunk-R5ZTCHCE.js";var n=m(b(),1),r=m(v(),1);var x=i(function(t,a,s){let e=(0,n.c)(4),o=a===void 0?300:a,[d,f]=(0,r.useState)(t),[p,l]=(0,r.useState)(s);s!==void 0&&s!==p&&(l(s),f(t));let u,c;return e[0]!==o||e[1]!==t?(u=i(()=>{let T=setTimeout(()=>{f(t)},o);return()=>{clearTimeout(T)}},"c"),c=[t,o],e[0]=o,e[1]=t,e[2]=u,e[3]=c):(u=e[2],c=e[3]),(0,r.useEffect)(u,c),d},"T");export{x as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as l,d as m,f as d,g as p,i}from"./chunk-R5ZTCHCE.js";var n=m(d(),1);var c=m(p(),1);function f(r){let t=(0,n.c)(8),e,s;t[0]!==r?({className:e,...s}=r,t[0]=r,t[1]=e,t[2]=s):(e=t[1],s=t[2]);let a;t[3]!==e?(a=i("animate-pulse rounded-md bg-muted",e),t[3]=e,t[4]=a):a=t[4];let o;return t[5]!==s||t[6]!==a?(o=(0,c.jsx)("div",{"data-slot":"skeleton",className:a,...s}),t[5]=s,t[6]=a,t[7]=o):o=t[7],o}l(f,"p");export{f as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as d,d as o,f as c,g as b,i as s}from"./chunk-R5ZTCHCE.js";var l=o(c(),1);var u=o(b(),1);function p(n){let i=(0,l.c)(8),r,e;i[0]!==n?({className:r,...e}=n,i[0]=n,i[1]=r,i[2]=e):(r=i[1],e=i[2]);let t;i[3]!==r?(t=s("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-2.5 py-2 text-xs transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 md:text-xs dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",r),i[3]=r,i[4]=t):t=i[4];let a;return i[5]!==e||i[6]!==t?(a=(0,u.jsx)("textarea",{"data-slot":"textarea",className:t,...e}),i[5]=e,i[6]=t,i[7]=a):a=i[7],a}d(p,"b");export{p as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as u,o as f}from"./chunk-BKM6PMSO.js";import{a as s,d as l,e as h,f as S}from"./chunk-R5ZTCHCE.js";var i=l(S(),1),c=l(h(),1);var g=s(()=>{let t=(0,i.c)(4),[a,n]=(0,c.useState)(!1),[e,m]=(0,c.useState)(null),r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=s(p=>{f((async()=>{n(!0),m(null);try{await p()}catch(b){m(u(b))}n(!1)})())},"e"),t[0]=r):r=t[0];let y=r,o;return t[1]!==a||t[2]!==e?(o={busy:a,error:e,run:y},t[1]=a,t[2]=e,t[3]=o):o=t[3],o},"g");export{g as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as et}from"./chunk-UBT2FIU5.js";import"./chunk-7SROZWKL.js";import"./chunk-FJ6G6FNE.js";import"./chunk-CP4ZFBVW.js";import"./chunk-CN2AINNY.js";import{a as Me}from"./chunk-NXXGISFB.js";import{a as Ze}from"./chunk-E6P2ERQV.js";import"./chunk-EDHW2EEG.js";import"./chunk-ZSOLGJFC.js";import"./chunk-DUDQV6XJ.js";import"./chunk-VZCS5GXZ.js";import"./chunk-DKSLOJDQ.js";import"./chunk-JV7KTJPY.js";import{a as Ye}from"./chunk-2EJQ7SPV.js";import{a as Ve}from"./chunk-CKTKI4IY.js";import{a as He}from"./chunk-6UN4V2HB.js";import{b as ze}from"./chunk-KVSQKUWD.js";import{d as Fe,e as _e}from"./chunk-4YTSKL4R.js";import"./chunk-ZHPDAJBM.js";import{P as Ae}from"./chunk-AOAJGSYZ.js";import"./chunk-INQICZYC.js";import"./chunk-TFMQSCGC.js";import{a as Le}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import{b as Ee}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as we}from"./chunk-JCSDJBBZ.js";import"./chunk-PZ4QDWTI.js";import"./chunk-GDC3W3DZ.js";import"./chunk-F7JOSNAT.js";import{a as C}from"./chunk-DZGOHOOE.js";import{c as de}from"./chunk-5DEXJ766.js";import{f as De}from"./chunk-NIUA7EHL.js";import"./chunk-RCZTUWG3.js";import{a as ye}from"./chunk-UANVABQG.js";import{a as Ge,b as Qe,c as Xe,d as Ie,e as O,f as I}from"./chunk-L4EZAHCD.js";import{a as Je,e as Be}from"./chunk-IYWVSMAY.js";import{d as oe,f as Pe,g as Ue,h as We,o as ke,s as Ne}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as m,d as ie,e as Ce,f as Ke,g as Te,i as se}from"./chunk-R5ZTCHCE.js";var me=ie(Ke(),1),ce=ie(Ce(),1);var tt=ie(Ke(),1);var S=ie(Ce(),1);var l=ie(Te(),1);var mt=Pe(C.runMigration),at=m(a=>{let e=(0,tt.c)(98),{initialShardKey:r}=a,n=De(),t=oe(),{queryShardKey:d,setShardKey:i,shardKey:s}=Ve(r),[h,b]=(0,S.useState)(""),[u,v]=(0,S.useState)("up"),[p,g]=(0,S.useState)(!0),[f,y]=(0,S.useState)(!1),[x,c]=(0,S.useState)(null),[N,k]=(0,S.useState)(null),K;e[0]!==s?(K=s.trim(),e[0]=s,e[1]=K):K=e[1];let M=K===d,j;e[2]===Symbol.for("react.memo_cache_sentinel")?(j={},e[2]=j):j=e[2];let R;e[3]!==d?(R={live:!0,shardKey:d},e[3]=d,e[4]=R):R=e[4];let w=de(C.migrationStatus,j,R),$=w.data?.migrations??null,$e=w.error,{errorSource:Se,liveError:je}=w,he,ue;e[5]!==d||e[6]!==w.data?(he=m(()=>{w.data!==void 0&&ze(d)},"W"),ue=[w.data,d],e[5]=d,e[6]=w.data,e[7]=he,e[8]=ue):(he=e[7],ue=e[8]),(0,S.useEffect)(he,ue);let pe;if(e[9]!==n||e[10]!==u||e[11]!==p||e[12]!==h||e[13]!==s||e[14]!==w||e[15]!==t){let q=m(async()=>{let qe=h.trim();if(qe===""){k(t("Enter a migration id")),c(null);return}y(!0),k(null);try{let Oe=await n.query(mt,{direction:u,dryRun:p,id:qe},Ue(s));c(Oe),w.refetch()}catch(Oe){let ct=Oe;c(null),k(We(ct))}y(!1)},"m");pe=m(()=>{ke(q())},"V"),e[9]=n,e[10]=u,e[11]=p,e[12]=h,e[13]=s,e[14]=w,e[15]=t,e[16]=pe}else pe=e[16];let fe=pe,ge;e[17]===Symbol.for("react.memo_cache_sentinel")?(ge=m(q=>{b(q.target.value)},"Y"),e[17]=ge):ge=e[17];let ot=ge,be;e[18]===Symbol.for("react.memo_cache_sentinel")?(be=m(q=>{v(q.target.value==="down"?"down":"up")},"Z"),e[18]=be):be=e[18];let dt=be,ve;e[19]===Symbol.for("react.memo_cache_sentinel")?(ve=m(q=>{g(q.target.checked)},"ee"),e[19]=ve):ve=e[19];let lt=ve,T;e[20]!==i||e[21]!==s?(T=(0,l.jsx)(He,{onChange:i,testId:"mg-shard-input",value:s}),e[20]=i,e[21]=s,e[22]=T):T=e[22];let D;e[23]!==je?(D=(0,l.jsx)(Ze,{message:je,prefix:"mg"}),e[23]=je,e[24]=D):D=e[24];let F;e[25]!==T||e[26]!==D?(F=(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[T,D]}),e[25]=T,e[26]=D,e[27]=F):F=e[27];let _;e[28]!==$e||e[29]!==Se?(_=$e!==null&&(0,l.jsx)(we,{error:Se,testId:"mg-status-error"}),e[28]=$e,e[29]=Se,e[30]=_):_=e[30];let E;e[31]!==$||e[32]!==t?(E=$!==null&&$.length===0&&(0,l.jsx)(ye,{description:t("Data migrations you run against this shard will be tracked here."),icon:(0,l.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,l.jsx)("path",{d:"M4 12a8 8 0 0 1 13.7-5.6L20 8M20 4v4h-4M20 12a8 8 0 0 1-13.7 5.6L4 16m0 4v-4h4"})}),testId:"mg-empty",title:t("No migrations have run on this shard.")}),e[31]=$,e[32]=t,e[33]=E):E=e[33];let A;e[34]!==$||e[35]!==t?(A=$!==null&&$.length>0&&(0,l.jsx)(Je,{className:"overflow-hidden py-0",children:(0,l.jsx)(Be,{className:"px-0",children:(0,l.jsxs)(Ge,{"data-testid":"mg-table",children:[(0,l.jsx)(Qe,{children:(0,l.jsxs)(Ie,{children:[(0,l.jsx)(O,{children:t("id")}),(0,l.jsx)(O,{children:t("direction")}),(0,l.jsx)(O,{children:t("status")}),(0,l.jsx)(O,{children:t("processed")}),(0,l.jsx)(O,{children:t("changed")}),(0,l.jsx)(O,{children:t("updated")}),(0,l.jsx)(O,{children:t("error")})]})}),(0,l.jsx)(Xe,{children:$.map(ht)})]})})}),e[34]=$,e[35]=t,e[36]=A):A=e[36];let L;e[37]!==t?(L=t("Run migration"),e[37]=t,e[38]=L):L=e[38];let J;e[39]!==L?(J=(0,l.jsx)(Me,{children:L}),e[39]=L,e[40]=J):J=e[40];let B;e[41]!==t?(B=t("Migration id"),e[41]=t,e[42]=B):B=e[42];let P;e[43]!==t?(P=t("migration id"),e[43]=t,e[44]=P):P=e[44];let U;e[45]!==h||e[46]!==B||e[47]!==P?(U=(0,l.jsx)(Ae,{"aria-label":B,className:"w-auto","data-testid":"mg-id-input",onChange:ot,placeholder:P,value:h}),e[45]=h,e[46]=B,e[47]=P,e[48]=U):U=e[48];let W;e[49]!==t?(W=t("Direction"),e[49]=t,e[50]=W):W=e[50];let z;e[51]!==t?(z=t("up"),e[51]=t,e[52]=z):z=e[52];let H;e[53]!==z?(H=(0,l.jsx)("option",{value:"up",children:z}),e[53]=z,e[54]=H):H=e[54];let V;e[55]!==t?(V=t("down"),e[55]=t,e[56]=V):V=e[56];let G;e[57]!==V?(G=(0,l.jsx)("option",{value:"down",children:V}),e[57]=V,e[58]=G):G=e[58];let Q;e[59]!==u||e[60]!==W||e[61]!==H||e[62]!==G?(Q=(0,l.jsxs)("select",{"aria-label":W,className:"flex h-8 rounded-md border border-input bg-transparent px-2.5 py-1 text-xs transition-colors outline-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 dark:bg-input/30","data-testid":"mg-direction",onChange:dt,value:u,children:[H,G]}),e[59]=u,e[60]=W,e[61]=H,e[62]=G,e[63]=Q):Q=e[63];let X;e[64]!==p?(X=(0,l.jsx)("input",{checked:p,className:"size-4 accent-primary","data-testid":"mg-dry-run",id:"mg-dry-run",onChange:lt,type:"checkbox"}),e[64]=p,e[65]=X):X=e[65];let Y;e[66]!==t?(Y=t("Dry run"),e[66]=t,e[67]=Y):Y=e[67];let Z;e[68]!==X||e[69]!==Y?(Z=(0,l.jsxs)(Me,{className:"flex items-center gap-1.5",htmlFor:"mg-dry-run",children:[X,Y]}),e[68]=X,e[69]=Y,e[70]=Z):Z=e[70];let ee;e[71]!==p||e[72]!==fe||e[73]!==f||e[74]!==M||e[75]!==t?(ee=p?(0,l.jsx)(Le,{"data-testid":"mg-run",disabled:f||!M,onClick:fe,type:"button",children:t(f?"Running\u2026":"Run")}):(0,l.jsx)(Ye,{confirmLabel:t(f?"Running\u2026":"Run migration?"),disabled:f||!M,onConfirm:fe,testId:"mg-run",children:t("Run")}),e[71]=p,e[72]=fe,e[73]=f,e[74]=M,e[75]=t,e[76]=ee):ee=e[76];let te;e[77]!==U||e[78]!==Q||e[79]!==Z||e[80]!==ee?(te=(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[U,Q,Z,ee]}),e[77]=U,e[78]=Q,e[79]=Z,e[80]=ee,e[81]=te):te=e[81];let ae;e[82]!==J||e[83]!==te?(ae=(0,l.jsxs)("div",{className:"flex flex-col gap-2 rounded-xl border border-border bg-card p-3 shadow-xs",children:[J,te]}),e[82]=J,e[83]=te,e[84]=ae):ae=e[84];let re;e[85]!==N?(re=N!==null&&(0,l.jsx)("pre",{className:"text-sm text-destructive whitespace-pre-wrap","data-testid":"mg-run-error",role:"alert",children:N}),e[85]=N,e[86]=re):re=e[86];let ne;e[87]!==x||e[88]!==t?(ne=x!==null&&(0,l.jsxs)("p",{className:"text-sm text-muted-foreground","data-testid":"mg-run-result",children:[x.dryRun?t("Dry run: "):"",t("{status} \u2014 processed",{status:x.status}),x.processed,t(", changed"),x.changed]}),e[87]=x,e[88]=t,e[89]=ne):ne=e[89];let xe;return e[90]!==F||e[91]!==_||e[92]!==E||e[93]!==A||e[94]!==ae||e[95]!==re||e[96]!==ne?(xe=(0,l.jsxs)("div",{className:"flex flex-col gap-3 pt-4","data-testid":"lunora-migrations",children:[F,_,E,A,ae,re,ne]}),e[90]=F,e[91]=_,e[92]=E,e[93]=A,e[94]=ae,e[95]=re,e[96]=ne,e[97]=xe):xe=e[97],xe},"yt");function ht(a){return(0,l.jsxs)(Ie,{"data-testid":`mg-row-${a.id}`,children:[(0,l.jsx)(I,{children:a.id}),(0,l.jsx)(I,{children:a.direction}),(0,l.jsx)(I,{children:(0,l.jsx)(Ee,{variant:"secondary",children:a.status})}),(0,l.jsx)(I,{children:a.processed}),(0,l.jsx)(I,{children:a.changed}),(0,l.jsx)(I,{children:Ne(a.updatedAt)}),(0,l.jsx)(I,{children:a.error??""})]},a.id)}m(ht,"Je");var o=ie(Te(),1);var Re=1,le=m(a=>typeof a=="object"&&a!==null,"$"),ut=m(a=>le(a)&&le(a.fields)&&le(a.indexes)&&le(a.relations)&&typeof a.shardMode=="string","L"),pt=m(a=>{if(a===void 0||a.trim()==="")return{status:"absent"};let e;try{e=JSON.parse(a)}catch(r){return{error:`baseline is not valid JSON: ${r instanceof Error?r.message:String(r)}`,status:"invalid"}}if(!le(e)||e.version!==Re||!le(e.tables))return{error:`baseline is malformed or written by an incompatible version (expected version ${String(Re)})`,status:"invalid"};for(let[r,n]of Object.entries(e.tables))if(!ut(n))return{error:`baseline table "${r}" has an invalid structure`,status:"invalid"};return{snapshot:{jurisdiction:typeof e.jurisdiction=="string"?e.jurisdiction:void 0,migrationIds:Array.isArray(e.migrationIds)?e.migrationIds:[],tables:e.tables,version:Re},status:"ok"}},"W"),ft=m((a,e)=>a.unique===e.unique&&a.fields.length===e.fields.length&&a.fields.every((r,n)=>r===e.fields[n]),"z"),gt=m((a,e,r,n)=>{let t=[];return r.kind!==n.kind&&t.push({severity:"breaking",summary:`field ${a}.${e} changed type: ${r.kind} \u2192 ${n.kind} \u2014 add a data migration to convert existing values`,table:a,scope:"table",type:"changedFieldKind"}),r.optional&&!n.optional?t.push({severity:"breaking",summary:`field ${a}.${e} became required \u2014 rows missing it would be invalid; add a data migration to backfill it`,table:a,scope:"table",type:"fieldOptionalToRequired"}):!r.optional&&n.optional&&t.push({scope:"table",severity:"safe",summary:`field ${a}.${e} became optional`,table:a,type:"fieldRequiredToOptional"}),t},"X"),bt=m((a,e,r)=>r.optional?{scope:"table",severity:"safe",summary:`added optional field ${a}.${e}`,table:a,type:"addedOptionalField"}:{severity:"breaking",summary:`added required field ${a}.${e} \u2014 existing rows have no value; add a data migration to backfill it`,table:a,scope:"table",type:"addedRequiredField"},"Y"),vt=m((a,e,r,n)=>{for(let[t,d]of Object.entries(r.fields)){let i=e.fields[t];i===void 0?n.push(bt(a,t,d)):n.push(...gt(a,t,i,d))}for(let t of Object.keys(e.fields))r.fields[t]===void 0&&n.push({severity:"breaking",summary:`removed field ${a}.${t} \u2014 add a data migration if stored data must be cleaned up`,table:a,scope:"table",type:"removedField"})},"Z"),xt=m((a,e,r,n)=>{for(let[t,d]of Object.entries(r.indexes)){let i=e.indexes[t];if(i===void 0){n.push({scope:"table",severity:"safe",summary:`added index ${t} on ${a}`,table:a,type:"addedIndex"});continue}ft(i,d)||n.push({severity:"breaking",summary:`index ${t} on ${a} changed shape \u2014 a query may have relied on the old index`,table:a,scope:"table",type:"changedIndex"})}for(let t of Object.keys(e.indexes))r.indexes[t]===void 0&&n.push({severity:"breaking",summary:`removed index ${t} on ${a} \u2014 a query that used \`.withIndex("${t}")\` would break`,table:a,scope:"table",type:"removedIndex"})},"ee"),yt=m((a,e,r,n)=>{for(let t of Object.keys(r.relations))e.relations[t]===void 0&&n.push({scope:"schema",severity:"safe",summary:`added relation ${a}.${t}`,table:a,type:"addedRelation"});for(let t of Object.keys(e.relations))r.relations[t]===void 0&&n.push({scope:"schema",severity:"breaking",summary:`removed relation ${a}.${t}`,table:a,type:"removedRelation"})},"te"),kt=m((a,e,r,n)=>{e.shardMode!==r.shardMode&&n.push({severity:"breaking",summary:`table ${a} changed shard mode: ${e.shardMode} \u2192 ${r.shardMode} \u2014 its physical storage moves; add a data migration / re-shard plan`,table:a,scope:"table",type:"changedShardMode"}),vt(a,e,r,n),xt(a,e,r,n),yt(a,e,r,n)},"se"),Nt=m((a,e)=>{let r=[],n=a?.tables??{};for(let[t,d]of Object.entries(e.tables)){let i=n[t];if(i===void 0){r.push({scope:"table",severity:"safe",summary:`added table ${t}`,table:t,type:"addedTable"});continue}kt(t,i,d,r)}for(let t of Object.keys(n))e.tables[t]===void 0&&r.push({scope:"table",severity:"breaking",summary:`removed table ${t} \u2014 add a data migration if its data must be archived/cleaned up`,table:t,type:"removedTable"});if(a!==void 0&&a.jurisdiction!==e.jurisdiction){let t=a.jurisdiction??"(none)",d=e.jurisdiction??"(none)";r.push({scope:"schema",severity:"breaking",summary:`Durable Object jurisdiction changed from ${t} to ${d} \u2014 this re-homes every DO and strands all existing shard, scheduler, and session-DO data in the old region (no in-place migration; export then import to move it). Revert the change, or override the gate to proceed intentionally.`,type:"changedJurisdiction"})}return{changes:r}},"ne"),rt=m(a=>Object.entries(a.fields).map(([e,r])=>({name:e,optional:r.optional,ref:Object.values(a.relations).find(n=>n.field===e&&n.kind==="one")?.table,type:r.kind})),"A"),nt=m((a,e)=>{let r={},n=a?.fields??{},t=e?.fields??{};for(let[d,i]of Object.entries(t)){let s=n[d];s===void 0?r[d]=a===void 0?"unchanged":"added":r[d]=s.kind===i.kind&&s.optional===i.optional?"unchanged":"changed"}for(let d of Object.keys(n))t[d]===void 0&&(r[d]="removed");return r},"C"),wt=m((a,e)=>{let{changes:r}=Nt(a,e),n=new Set(r.filter(i=>i.scope==="table"&&i.table!==void 0).map(i=>i.table)),t=[],d=m((i,s)=>i?"added":n.has(s)?"changed":"context","o");for(let[i,s]of Object.entries(e.tables)){let h=a?.tables[i],b=d(h===void 0,i);t.push({columns:rt(s),fieldStatus:nt(h,s),name:i,shardMode:s.shardMode,status:b})}for(let[i,s]of Object.entries(a?.tables??{}))e.tables[i]===void 0&&t.push({columns:rt(s),fieldStatus:nt(s,void 0),name:i,shardMode:s.shardMode,status:"removed"});return t.sort((i,s)=>i.name.localeCompare(s.name)),{breakingCount:r.filter(i=>i.severity==="breaking").length,changes:r,tables:t}},"ae"),it=m(a=>{let e=pt(a);return e.status==="ok"?e.snapshot:void 0},"E"),$t={added:"ring-2 ring-emerald-500/60",changed:"ring-2 ring-amber-500/70",context:"opacity-55",removed:"opacity-70 ring-2 ring-destructive/60"},St=m(a=>a==="global"?"global":"shard","oe"),jt=m(a=>{let e=(0,me.c)(24),{appliedAt:r,hash:n,onSelect:t,selected:d,seq:i}=a,s=d?"border-s-primary bg-accent/60 text-foreground":"border-s-transparent text-muted-foreground hover:bg-accent/30 hover:text-foreground",h;e[0]!==s?(h=se("flex w-full flex-col items-start gap-1 border-s-2 px-4 py-3 text-start outline-none transition-colors",s),e[0]=s,e[1]=h):h=e[1];let b=`sh-version-${n}`,u;e[2]!==n||e[3]!==t?(u=m(()=>{t(n)},"h"),e[2]=n,e[3]=t,e[4]=u):u=e[4];let v;e[5]!==i?(v=(0,o.jsxs)("span",{className:"font-mono text-[13px] tabular-nums",children:["v",i]}),e[5]=i,e[6]=v):v=e[6];let p;e[7]!==n?(p=n.slice(0,7),e[7]=n,e[8]=p):p=e[8];let g;e[9]!==p?(g=(0,o.jsx)("span",{className:"ms-auto font-mono text-[10px] tracking-wider text-muted-foreground/70 uppercase",children:p}),e[9]=p,e[10]=g):g=e[10];let f;e[11]!==v||e[12]!==g?(f=(0,o.jsxs)("span",{className:"flex w-full items-baseline gap-2",children:[v,g]}),e[11]=v,e[12]=g,e[13]=f):f=e[13];let y;e[14]!==r?(y=Ne(r),e[14]=r,e[15]=y):y=e[15];let x;e[16]!==y?(x=(0,o.jsx)("span",{className:"font-mono text-[10px] tracking-wide text-muted-foreground/70",children:y}),e[16]=y,e[17]=x):x=e[17];let c;return e[18]!==x||e[19]!==h||e[20]!==b||e[21]!==u||e[22]!==f?(c=(0,o.jsx)("li",{children:(0,o.jsxs)("button",{className:h,"data-testid":b,onClick:u,type:"button",children:[f,x]})}),e[18]=x,e[19]=h,e[20]=b,e[21]=u,e[22]=f,e[23]=c):c=e[23],c},"re"),Ot=m(a=>{let e=(0,me.c)(26),{breaking:r,count:n,first:t}=a,d=oe();if(t){let g;e[0]!==n?(g=(0,o.jsx)("span",{className:"text-3xl leading-none font-light tracking-tight tabular-nums",children:n}),e[0]=n,e[1]=g):g=e[1];let f;e[2]!==d?(f=d("tables"),e[2]=d,e[3]=f):f=e[3];let y;e[4]!==f?(y=(0,o.jsx)("span",{className:"font-mono text-[11px] tracking-widest text-muted-foreground uppercase",children:f}),e[4]=f,e[5]=y):y=e[5];let x;return e[6]!==g||e[7]!==y?(x=(0,o.jsxs)("div",{className:"flex items-baseline gap-3","data-testid":"sh-summary",children:[g,y]}),e[6]=g,e[7]=y,e[8]=x):x=e[8],x}let i=r>0&&"text-destructive",s;e[9]!==i?(s=se("text-3xl leading-none font-light tracking-tight tabular-nums",i),e[9]=i,e[10]=s):s=e[10];let h;e[11]!==n||e[12]!==s?(h=(0,o.jsx)("span",{className:s,children:n}),e[11]=n,e[12]=s,e[13]=h):h=e[13];let b;e[14]!==n||e[15]!==d?(b=d(n===1?"change":"changes"),e[14]=n,e[15]=d,e[16]=b):b=e[16];let u;e[17]!==b?(u=(0,o.jsx)("span",{className:"font-mono text-[11px] tracking-widest text-muted-foreground uppercase",children:b}),e[17]=b,e[18]=u):u=e[18];let v;e[19]!==r||e[20]!==d?(v=r>0&&(0,o.jsxs)("span",{className:"font-mono text-[11px] tracking-widest text-destructive uppercase",children:["\xB7 ",d("{count} breaking",{count:r})]}),e[19]=r,e[20]=d,e[21]=v):v=e[21];let p;return e[22]!==h||e[23]!==u||e[24]!==v?(p=(0,o.jsxs)("div",{className:"flex items-baseline gap-3","data-testid":"sh-summary",children:[h,u,v]}),e[22]=h,e[23]=u,e[24]=v,e[25]=p):p=e[25],p},"de"),st={addedIndex:{action:"added",kind:"index"},addedOptionalField:{action:"added",kind:"field?"},addedRelation:{action:"added",kind:"relation"},addedRequiredField:{action:"added",kind:"field"},addedTable:{action:"added",kind:"table"},changedFieldKind:{action:"changed",kind:"field kind"},changedIndex:{action:"changed",kind:"index"},changedJurisdiction:{action:"changed",kind:"jurisdiction"},changedShardMode:{action:"changed",kind:"shard mode"},fieldOptionalToRequired:{action:"changed",kind:"field \u2192 required"},fieldRequiredToOptional:{action:"changed",kind:"field \u2192 optional"},removedField:{action:"removed",kind:"field"},removedIndex:{action:"removed",kind:"index"},removedRelation:{action:"removed",kind:"relation"},removedTable:{action:"removed",kind:"table"}},It=m((a,e)=>{let r=`${st[a.type].action} ${e} `;return a.summary.startsWith(r)?a.summary.slice(r.length):a.summary},"le"),Mt=m(a=>{let e=new Map;for(let n of a){let t=n.table??"",d=e.get(t);d===void 0?e.set(t,[n]):d.push(n)}let r=[...e].map(([n,t])=>({changes:t,table:n}));return[...r.filter(n=>n.table!==""),...r.filter(n=>n.table==="")]},"ce"),Rt=m(a=>{let e=(0,me.c)(2),{children:r}=a,n;return e[0]!==r?(n=(0,o.jsx)("div",{className:"px-4 pt-4 pb-2 font-mono text-[10px] tracking-widest text-muted-foreground/70 uppercase",children:r}),e[0]=r,e[1]=n):n=e[1],n},"me"),qt=m(({pane:a,shardKey:e=""})=>{let r=oe(),n=_e(),t=Fe({strict:!1}).version,d=m(c=>{ke(n({search:{version:c},to:"/migrations"}))},"i"),i=de(C.schemaHistory,{},{shardKey:e}),s=i.data?.versions??[],h=t!==void 0&&s.some(c=>c.hash===t)?t:s[0]?.hash,b=s.findIndex(c=>c.hash===h),u=b===-1?void 0:s[b+1]?.hash,v=de(C.schemaVersion,{hash:h??""},{enabled:h!==void 0,shardKey:e}),p=de(C.schemaVersion,{hash:u??""},{enabled:u!==void 0,shardKey:e}),g=(0,ce.useMemo)(()=>{let c=it(v.data?.version?.snapshotJson);if(c!==void 0)return wt(it(p.data?.version?.snapshotJson),c)},[v.data,p.data]),f=(0,ce.useMemo)(()=>(g?.tables??[]).map(c=>({columns:c.columns,name:c.name,tier:St(c.shardMode)})),[g]),y=(0,ce.useMemo)(()=>{let c={};for(let N of g?.tables??[])c[N.name]=$t[N.status];return c},[g]);if(i.error!==null)return(0,o.jsx)(we,{error:i.errorSource,testId:"sh-error"});if(s.length===0)return(0,o.jsx)(ye,{description:r("Each distinct schema shape this shard runs is recorded here, so you can see what changed and when."),testId:"sh-empty",title:r("No schema versions recorded yet.")});let x=g?.changes??[];return(0,o.jsxs)("div",{className:"flex min-h-0 flex-1 gap-4","data-testid":"lunora-schema-history",children:[(0,o.jsxs)("nav",{className:"flex w-56 shrink-0 flex-col overflow-hidden border-e border-border","data-testid":"sh-timeline-rail",children:[(0,o.jsx)(Rt,{children:r("Schema versions")}),(0,o.jsx)("ul",{className:"min-h-0 flex-1 overflow-y-auto","data-testid":"sh-timeline",children:s.map(c=>(0,o.jsx)(jt,{appliedAt:c.appliedAt,hash:c.hash,onSelect:d,selected:c.hash===h,seq:c.seq},c.hash))})]}),(0,o.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col gap-4 pe-1 pt-4",children:[(0,o.jsx)(Ot,{breaking:g?.breakingCount??0,count:u===void 0?f.length:x.length,first:u===void 0}),a==="diagram"?(0,o.jsx)("div",{className:"flex min-h-0 flex-1 flex-col",children:(0,o.jsx)(et,{fill:!0,nodeClasses:y,tables:f,testIdPrefix:"sh"})}):(0,o.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto","data-testid":"sh-changes",children:Mt(x).map(c=>{let N=(g?.tables??[]).find(k=>k.name===c.table);return(0,o.jsxs)("section",{className:"mb-6",children:[(0,o.jsxs)("div",{className:"flex items-baseline gap-3 border-b border-border/60 pb-1.5",children:[(0,o.jsx)("span",{className:"font-mono text-[13px] text-foreground",children:c.table===""?r("schema"):c.table}),N!==void 0&&(0,o.jsx)("span",{className:"font-mono text-[10px] tracking-widest text-muted-foreground/70 tabular-nums uppercase",children:r("{count} columns",{count:N.columns.length})}),c.changes.length>1&&(0,o.jsx)("span",{className:"ms-auto font-mono text-[10px] tracking-widest text-muted-foreground/70 tabular-nums",children:c.changes.length})]}),(0,o.jsx)("ul",{children:c.changes.map(k=>{let{action:K,kind:M}=st[k.type],j=k.severity==="breaking",R=It(k,M);return(0,o.jsxs)("li",{className:"flex items-baseline gap-4 border-s-2 py-1.5 ps-3 transition-colors hover:bg-accent/30",children:[(0,o.jsx)("span",{"aria-hidden":"true",className:se("-ms-3 h-3 w-0.5 shrink-0 self-center",j?"bg-destructive":"bg-transparent")}),(0,o.jsxs)("span",{className:"w-44 shrink-0 font-mono text-[10px] tracking-widest text-muted-foreground/70 uppercase",children:[r(K)," ",M]}),R!==c.table&&(0,o.jsx)("span",{className:se("min-w-0 font-mono text-[13px]",j?"text-destructive":"text-foreground"),children:R}),j&&(0,o.jsx)("span",{className:"ms-auto shrink-0 font-mono text-[10px] tracking-widest text-destructive uppercase",children:r("breaking")})]},`${k.type}-${k.summary}`)})})]},c.table)})})]})]})},"fe"),Ct=m(a=>se("-mb-px border-b-2 px-3 py-2.5 font-mono text-[11px] tracking-wider uppercase transition-colors outline-none","hover:bg-accent/40 focus-visible:bg-accent/40",a?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),"ue"),la=m(a=>{let e=(0,me.c)(11),{initialShardKey:r}=a,n=oe(),[t,d]=(0,ce.useState)("diagram"),i;e[0]!==t?(i=m((v,p,g,f)=>(0,o.jsxs)("button",{"aria-selected":t===v,className:Ct(t===v),"data-testid":g,onClick:m(()=>{d(v)},"onClick"),role:"tab",type:"button",children:[p,f!==void 0&&(0,o.jsx)("span",{className:"ms-2 tabular-nums text-muted-foreground/70",children:f})]}),"i"),e[0]=t,e[1]=i):i=e[1];let s=i,h;e[2]!==n||e[3]!==s?(h=(0,o.jsxs)("div",{className:"flex shrink-0 items-center gap-1 border-b border-border px-3","data-testid":"mg-panes",role:"tablist",children:[s("diagram",n("Diagram"),"mg-pane-diagram"),s("changes",n("Changes"),"mg-pane-changes"),s("data",n("Data migrations"),"mg-pane-data")]}),e[2]=n,e[3]=s,e[4]=h):h=e[4];let b;e[5]!==r||e[6]!==t?(b=(0,o.jsx)("div",{className:"flex min-h-0 flex-1 flex-col",children:t==="data"?(0,o.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4",children:(0,o.jsx)(at,{initialShardKey:r})}):(0,o.jsx)(qt,{pane:t,shardKey:r})}),e[5]=r,e[6]=t,e[7]=b):b=e[7];let u;return e[8]!==h||e[9]!==b?(u=(0,o.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col pt-4","data-testid":"lunora-migrations-route",children:[h,b]}),e[8]=h,e[9]=b,e[10]=u):u=e[10],u},"Ne");export{la as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as me}from"./chunk-W2JBKQNU.js";import{P as ne}from"./chunk-AOAJGSYZ.js";import"./chunk-TFMQSCGC.js";import{a as ee}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import"./chunk-7PIHTTND.js";import"./chunk-RCZTUWG3.js";import{a as te,e as se}from"./chunk-IYWVSMAY.js";import{d as Z,h as ie,o as de,q as ce}from"./chunk-BKM6PMSO.js";import{a as h,d as Y,e as ge,f as xe,g as ye}from"./chunk-R5ZTCHCE.js";var re=Y(xe(),1),H=Y(ge(),1);var s=Y(ye(),1);var be=h(e=>{let t=(0,re.c)(23),{destination:r}=e,f=Z(),g;t[0]!==r.snippet?(g=h(()=>{ce(r.snippet)},"g"),t[0]=r.snippet,t[1]=g):g=t[1];let m=g,a;t[2]!==r.title?(a=(0,s.jsx)("h4",{className:"text-sm font-semibold",children:r.title}),t[2]=r.title,t[3]=a):a=t[3];let o;t[4]!==r.description?(o=(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:r.description}),t[4]=r.description,t[5]=o):o=t[5];let d;t[6]!==a||t[7]!==o?(d=(0,s.jsxs)("div",{children:[a,o]}),t[6]=a,t[7]=o,t[8]=d):d=t[8];let E=`drain-copy-${r.id}`,l;t[9]!==f?(l=f("Copy"),t[9]=f,t[10]=l):l=t[10];let n;t[11]!==m||t[12]!==E||t[13]!==l?(n=(0,s.jsx)(ee,{"data-testid":E,onClick:m,size:"sm",variant:"outline",children:l}),t[11]=m,t[12]=E,t[13]=l,t[14]=n):n=t[14];let i;t[15]!==d||t[16]!==n?(i=(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[d,n]}),t[15]=d,t[16]=n,t[17]=i):i=t[17];let c;t[18]!==r.snippet?(c=(0,s.jsx)("pre",{className:"mt-2 overflow-x-auto rounded bg-muted p-2 font-mono text-xs",children:r.snippet}),t[18]=r.snippet,t[19]=c):c=t[19];let x;return t[20]!==i||t[21]!==c?(x=(0,s.jsx)(te,{className:"py-0","data-testid":"drain-card",children:(0,s.jsxs)(se,{className:"p-3",children:[i,c]})}),t[20]=i,t[21]=c,t[22]=x):x=t[22],x},"he"),Te=h(()=>{let e=(0,re.c)(88),t=Z(),r;e[0]!==t?(r=t("Stream every request log to R2, a SIEM, or a third-party log service."),e[0]=t,e[1]=r):r=e[1];let f;e[2]===Symbol.for("react.memo_cache_sentinel")?(f=["{",' "logpush": true',"}"],e[2]=f):f=e[2];let g=f.join(`
|
|
2
|
+
`),m;e[3]!==t?(m=t("Logpush"),e[3]=t,e[4]=m):m=e[4];let a;e[5]!==r||e[6]!==m?(a={description:r,id:"logpush",snippet:g,title:m},e[5]=r,e[6]=m,e[7]=a):a=e[7];let o;e[8]!==t?(o=t("Send logs programmatically to a Worker for custom capture and forwarding."),e[8]=t,e[9]=o):o=e[9];let d;e[10]===Symbol.for("react.memo_cache_sentinel")?(d=["{",' "tail_consumers": [{ "service": "my-log-forwarder" }]',"}"],e[10]=d):d=e[10];let E=d.join(`
|
|
3
|
+
`),l;e[11]!==t?(l=t("Tail Workers"),e[11]=t,e[12]=l):l=e[12];let n;e[13]!==o||e[14]!==l?(n={description:o,id:"tail-worker",snippet:E,title:l},e[13]=o,e[14]=l,e[15]=n):n=e[15];let i;e[16]!==t?(i=t("Retain and query recent request logs directly in Cloudflare's dashboard."),e[16]=t,e[17]=i):i=e[17];let c;e[18]===Symbol.for("react.memo_cache_sentinel")?(c=["{",' "observability": { "enabled": true }',"}"],e[18]=c):c=e[18];let x=c.join(`
|
|
4
|
+
`),y;e[19]!==t?(y=t("Workers Logs"),e[19]=t,e[20]=y):y=e[20];let b;e[21]!==i||e[22]!==y?(b={description:i,id:"workers-logs",snippet:x,title:y},e[21]=i,e[22]=y,e[23]=b):b=e[23];let J;e[24]!==b||e[25]!==a||e[26]!==n?(J=[a,n,b],e[24]=b,e[25]=a,e[26]=n,e[27]=J):J=e[27];let Q=J,[p,pe]=(0,H.useState)(""),[k,ae]=(0,H.useState)(!1),[u,K]=(0,H.useState)(null),$;if(e[28]!==t||e[29]!==p){let V=h(async()=>{let oe=p.trim();if(oe==="")return;let le="fetch"in globalThis?globalThis.fetch:void 0;if(le===void 0){K({kind:"error",message:t("fetch is unavailable in this environment.")});return}let fe={durationMs:12,function:"messages:list",outcome:"ok",shard:"root",source:"lunora",tablesRead:["messages"],tablesWritten:[],ts:new Date().toISOString(),type:"request"};ae(!0),K(null);let he=performance.now();try{let X=await le(oe,{body:JSON.stringify(fe),headers:{"Content-Type":"application/json"},method:"POST"});K({kind:"success",latencyMs:Math.round(performance.now()-he),status:X.status})}catch(X){K({kind:"error",message:ie(X)})}ae(!1)},"H");$=h(()=>{de(V())},"z"),e[28]=t,e[29]=p,e[30]=$}else $=e[30];let U=$,A;e[31]===Symbol.for("react.memo_cache_sentinel")?(A=h(V=>{pe(V.target.value)},"J"),e[31]=A):A=e[31];let ue=A,v;e[32]!==t?(v=t("Open in Cloudflare"),e[32]=t,e[33]=v):v=e[33];let w;e[34]!==v?(w=(0,s.jsx)("div",{className:"flex flex-wrap items-center gap-3",children:(0,s.jsx)("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"drain-cf-link",href:me,rel:"noreferrer",target:"_blank",children:v})}),e[34]=v,e[35]=w):w=e[35];let N;e[36]!==t?(N=t("Lunora does not ship logs itself \u2014 forwarding is handled by Cloudflare. Configure a destination below, then test your collector."),e[36]=t,e[37]=N):N=e[37];let S;e[38]!==N?(S=(0,s.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"drain-readonly-note",children:N}),e[38]=N,e[39]=S):S=e[39];let C;e[40]!==t?(C=t("Cloudflare destinations"),e[40]=t,e[41]=C):C=e[41];let _;e[42]!==C?(_=(0,s.jsx)("h3",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:C}),e[42]=C,e[43]=_):_=e[43];let T;e[44]!==Q?(T=Q.map(ke),e[44]=Q,e[45]=T):T=e[45];let j;e[46]!==_||e[47]!==T?(j=(0,s.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"drain-destinations",children:[_,T]}),e[46]=_,e[47]=T,e[48]=j):j=e[48];let q;e[49]!==t?(q=t("Webhook test"),e[49]=t,e[50]=q):q=e[50];let M;e[51]!==q?(M=(0,s.jsx)("h3",{className:"mb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:q}),e[51]=q,e[52]=M):M=e[52];let O;e[53]!==t?(O=t("POST a sample Lunora request-log envelope to your collector to confirm it is reachable."),e[53]=t,e[54]=O):O=e[54];let W;e[55]!==O?(W=(0,s.jsx)("p",{className:"mb-2 text-sm text-muted-foreground",children:O}),e[55]=O,e[56]=W):W=e[56];let L;e[57]!==t?(L=t("https://example.com/logs"),e[57]=t,e[58]=L):L=e[58];let I;e[59]!==L||e[60]!==p?(I=(0,s.jsx)(ne,{className:"min-w-[20rem] flex-1","data-testid":"drain-webhook-url",onChange:ue,placeholder:L,type:"url",value:p}),e[59]=L,e[60]=p,e[61]=I):I=e[61];let R;e[62]!==k||e[63]!==p?(R=k||p.trim()==="",e[62]=k,e[63]=p,e[64]=R):R=e[64];let D;e[65]!==k||e[66]!==t?(D=t(k?"Sending\u2026":"Send test event"),e[65]=k,e[66]=t,e[67]=D):D=e[67];let F;e[68]!==U||e[69]!==R||e[70]!==D?(F=(0,s.jsx)(ee,{"data-testid":"drain-webhook-test",disabled:R,onClick:U,children:D}),e[68]=U,e[69]=R,e[70]=D,e[71]=F):F=e[71];let P;e[72]!==I||e[73]!==F?(P=(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[I,F]}),e[72]=I,e[73]=F,e[74]=P):P=e[74];let z;e[75]!==u||e[76]!==t?(z=u!==null&&(0,s.jsx)("p",{className:u.kind==="success"?"mt-2 text-sm text-muted-foreground":"mt-2 text-sm text-destructive","data-testid":"drain-webhook-result",role:u.kind==="error"?"alert":void 0,children:u.kind==="success"?t("Delivered \u2014 status {status} in {latency}ms",{latency:u.latencyMs,status:u.status}):t("Failed: {message}",{message:u.message})}),e[75]=u,e[76]=t,e[77]=z):z=e[77];let B;e[78]!==M||e[79]!==W||e[80]!==P||e[81]!==z?(B=(0,s.jsx)(te,{className:"py-0",children:(0,s.jsx)(se,{className:"p-3",children:(0,s.jsxs)("section",{"data-testid":"drain-webhook",children:[M,W,P,z]})})}),e[78]=M,e[79]=W,e[80]=P,e[81]=z,e[82]=B):B=e[82];let G;return e[83]!==w||e[84]!==S||e[85]!==j||e[86]!==B?(G=(0,s.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"log-drains",children:[w,S,j,B]}),e[83]=w,e[84]=S,e[85]=j,e[86]=B,e[87]=G):G=e[87],G},"Te");function ke(e){return(0,s.jsx)(be,{destination:e},e.id)}h(ke,"ge");export{Te as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as yt}from"./chunk-METRMDIQ.js";import{b as Nt}from"./chunk-AVBUV42G.js";import{a as ne}from"./chunk-MG7VPUFA.js";import{a as St}from"./chunk-5JLIP2HH.js";import{a as zt}from"./chunk-NXXGISFB.js";import{a as Ct}from"./chunk-WUW4ZHRL.js";import{P as Z}from"./chunk-AOAJGSYZ.js";import"./chunk-TFMQSCGC.js";import{a as L}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import"./chunk-7PIHTTND.js";import{b as ue}from"./chunk-5DEXJ766.js";import{f as re}from"./chunk-NIUA7EHL.js";import"./chunk-RCZTUWG3.js";import{a as ce}from"./chunk-UANVABQG.js";import{a as ft,b as pt,c as vt,d as Ze,e as se,f as me}from"./chunk-L4EZAHCD.js";import{a as ht,e as bt}from"./chunk-IYWVSMAY.js";import{d as q,h as xt,m as S,o as wt,s as kt}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as c,d as gt,e as Rt,f as $t,g as Ft}from"./chunk-R5ZTCHCE.js";var U=gt($t(),1);var j=gt(Rt(),1);var a=gt(Ft(),1);var Ot=c(t=>{let e=JSON.parse(t);if(typeof e!="object"||e===null||Array.isArray(e))throw new TypeError("Expected a JSON object");return e},"Dt"),Et=c(t=>{let e=Ot(t),r={};for(let[d,h]of Object.entries(e)){if(!Array.isArray(h)||h.some(i=>typeof i!="string"))throw new TypeError(`"${d}" must map to an array of action strings`);r[d]=h}return r},"Mt"),Tt=c(t=>t==null||t===""?"":typeof t=="string"?t:JSON.stringify(t,null,2),"St"),X=c(t=>{let e=(0,U.c)(6),{children:r,htmlFor:d,label:h}=t,i;e[0]!==d||e[1]!==h?(i=(0,a.jsx)(zt,{htmlFor:d,children:h}),e[0]=d,e[1]=h,e[2]=i):i=e[2];let o;return e[3]!==r||e[4]!==i?(o=(0,a.jsxs)("div",{className:"flex flex-col gap-1",children:[i,r]}),e[3]=r,e[4]=i,e[5]=o):o=e[5],o},"G"),de=c(({busy:t,canSubmit:e,children:r,destructive:d=!1,error:h,onClose:i,onSubmit:o,submitLabel:l,testId:n,title:s})=>{let m=q();return(0,a.jsxs)(St,{label:s,onClose:i,panelTestId:`${n}-panel`,testId:`${n}-overlay`,variant:"dialog",children:[(0,a.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:s}),r,h!==null&&(0,a.jsx)("p",{className:"text-sm text-destructive","data-testid":`${n}-error`,role:"alert",children:h}),(0,a.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[(0,a.jsx)(L,{"data-testid":`${n}-cancel`,onClick:i,size:"sm",type:"button",variant:"outline",children:m("Cancel")}),(0,a.jsx)(L,{"data-testid":`${n}-submit`,disabled:t||!e,onClick:o,size:"sm",type:"button",variant:d?"destructive":"default",children:t?m("Saving\u2026"):l})]})]})},"ae"),Dt=c(t=>{let e=(0,U.c)(79),{mode:r,onClose:d,onDone:h,org:i}=t,o=re(),l=q(),{busy:n,error:s,run:m}=ne(),b;e[0]!==i?(b=i?S(i.name):"",e[0]=i,e[1]=b):b=e[1];let[u,g]=(0,j.useState)(b),p;e[2]!==i?(p=i?S(i.slug):"",e[2]=i,e[3]=p):p=e[3];let[f,y]=(0,j.useState)(p),k;e[4]!==i?(k=i?S(i.logo):"",e[4]=i,e[5]=k):k=e[5];let[v,I]=(0,j.useState)(k),[C,z]=(0,j.useState)(""),x;e[6]!==r||e[7]!==i?.metadata?(x=r==="edit"?Tt(i?.metadata):"",e[6]=r,e[7]=i?.metadata,e[8]=x):x=e[8];let[w,N]=(0,j.useState)(x),O;e[9]!==o||e[10]!==v||e[11]!==w||e[12]!==r||e[13]!==u||e[14]!==d||e[15]!==h||e[16]!==i?.id||e[17]!==C||e[18]!==m||e[19]!==f?(O=c(()=>{m(async()=>{let F=w.trim()===""?void 0:Ot(w);r==="create"?await o.createAuthOrganization({logo:v.trim()===""?void 0:v.trim(),metadata:F,name:u.trim(),ownerId:C.trim()===""?void 0:C.trim(),slug:f.trim()===""?void 0:f.trim()}):await o.updateAuthOrganization({logo:v.trim()===""?void 0:v.trim(),metadata:F,name:u.trim()===""?void 0:u.trim(),organizationId:S(i?.id),slug:f.trim()===""?void 0:f.trim()}),h(),d()})},"_"),e[9]=o,e[10]=v,e[11]=w,e[12]=r,e[13]=u,e[14]=d,e[15]=h,e[16]=i?.id,e[17]=C,e[18]=m,e[19]=f,e[20]=O):O=e[20];let A=O,D;e[21]!==r||e[22]!==u?(D=u.trim()!==""||r==="edit",e[21]=r,e[22]=u,e[23]=D):D=e[23];let T;e[24]!==r||e[25]!==l?(T=l(r==="create"?"Create":"Save"),e[24]=r,e[25]=l,e[26]=T):T=e[26];let M;e[27]!==r||e[28]!==l?(M=l(r==="create"?"New organization":"Edit organization"),e[27]=r,e[28]=l,e[29]=M):M=e[29];let P;e[30]!==l?(P=l("name"),e[30]=l,e[31]=P):P=e[31];let Q;e[32]===Symbol.for("react.memo_cache_sentinel")?(Q=c(F=>{g(F.target.value)},"q"),e[32]=Q):Q=e[32];let B;e[33]!==u?(B=(0,a.jsx)(Z,{"data-testid":"org-form-name",id:"org-form-name",onChange:Q,value:u}),e[33]=u,e[34]=B):B=e[34];let E;e[35]!==B||e[36]!==P?(E=(0,a.jsx)(X,{htmlFor:"org-form-name",label:P,children:B}),e[35]=B,e[36]=P,e[37]=E):E=e[37];let J;e[38]!==l?(J=l("Slug (optional \u2014 derived from name)"),e[38]=l,e[39]=J):J=e[39];let Y;e[40]===Symbol.for("react.memo_cache_sentinel")?(Y=c(F=>{y(F.target.value)},"K"),e[40]=Y):Y=e[40];let R;e[41]!==f?(R=(0,a.jsx)(Z,{"data-testid":"org-form-slug",id:"org-form-slug",onChange:Y,value:f}),e[41]=f,e[42]=R):R=e[42];let $;e[43]!==J||e[44]!==R?($=(0,a.jsx)(X,{htmlFor:"org-form-slug",label:J,children:R}),e[43]=J,e[44]=R,e[45]=$):$=e[45];let K;e[46]!==l?(K=l("Logo URL (optional)"),e[46]=l,e[47]=K):K=e[47];let ie;e[48]===Symbol.for("react.memo_cache_sentinel")?(ie=c(F=>{I(F.target.value)},"ne"),e[48]=ie):ie=e[48];let H;e[49]!==v?(H=(0,a.jsx)(Z,{"data-testid":"org-form-logo",id:"org-form-logo",onChange:ie,value:v}),e[49]=v,e[50]=H):H=e[50];let ee;e[51]!==K||e[52]!==H?(ee=(0,a.jsx)(X,{htmlFor:"org-form-logo",label:K,children:H}),e[51]=K,e[52]=H,e[53]=ee):ee=e[53];let W;e[54]!==r||e[55]!==C||e[56]!==l?(W=r==="create"&&(0,a.jsx)(X,{htmlFor:"org-form-owner",label:l("Owner user id (optional)"),children:(0,a.jsx)(Z,{"data-testid":"org-form-owner",id:"org-form-owner",onChange:c(F=>{z(F.target.value)},"onChange"),value:C})}),e[54]=r,e[55]=C,e[56]=l,e[57]=W):W=e[57];let te;e[58]!==l?(te=l("Metadata (JSON, optional)"),e[58]=l,e[59]=te):te=e[59];let oe;e[60]===Symbol.for("react.memo_cache_sentinel")?(oe=c(F=>{N(F.target.value)},"le"),e[60]=oe):oe=e[60];let V;e[61]!==w?(V=(0,a.jsx)(yt,{"data-testid":"org-form-metadata",id:"org-form-metadata",onChange:oe,value:w}),e[61]=w,e[62]=V):V=e[62];let _;e[63]!==te||e[64]!==V?(_=(0,a.jsx)(X,{htmlFor:"org-form-metadata",label:te,children:V}),e[63]=te,e[64]=V,e[65]=_):_=e[65];let ae;return e[66]!==n||e[67]!==s||e[68]!==d||e[69]!==A||e[70]!==E||e[71]!==$||e[72]!==ee||e[73]!==W||e[74]!==_||e[75]!==D||e[76]!==T||e[77]!==M?(ae=(0,a.jsxs)(de,{busy:n,canSubmit:D,error:s,onClose:d,onSubmit:A,submitLabel:T,testId:"org-form",title:M,children:[E,$,ee,W,_]}),e[66]=n,e[67]=s,e[68]=d,e[69]=A,e[70]=E,e[71]=$,e[72]=ee,e[73]=W,e[74]=_,e[75]=D,e[76]=T,e[77]=M,e[78]=ae):ae=e[78],ae},"ht"),Lt=c(t=>{let e=(0,U.c)(40),{onClose:r,onDone:d,organizationId:h}=t,i=re(),o=q(),{busy:l,error:n,run:s}=ne(),[m,b]=(0,j.useState)(""),[u,g]=(0,j.useState)(""),p;e[0]!==i||e[1]!==r||e[2]!==d||e[3]!==h||e[4]!==u||e[5]!==s||e[6]!==m?(p=c(()=>{s(async()=>{await i.addAuthOrgMember({organizationId:h,role:u.trim()===""?void 0:u.trim(),userId:m.trim()}),d(),r()})},"b"),e[0]=i,e[1]=r,e[2]=d,e[3]=h,e[4]=u,e[5]=s,e[6]=m,e[7]=p):p=e[7];let f=p,y;e[8]!==m?(y=m.trim(),e[8]=m,e[9]=y):y=e[9];let k=y!=="",v;e[10]!==o?(v=o("Add member"),e[10]=o,e[11]=v):v=e[11];let I;e[12]!==o?(I=o("Add member"),e[12]=o,e[13]=I):I=e[13];let C;e[14]!==o?(C=o("User id"),e[14]=o,e[15]=C):C=e[15];let z;e[16]===Symbol.for("react.memo_cache_sentinel")?(z=c(M=>{b(M.target.value)},"w"),e[16]=z):z=e[16];let x;e[17]!==m?(x=(0,a.jsx)(Z,{"data-testid":"org-add-member-user",id:"org-add-member-user",onChange:z,value:m}),e[17]=m,e[18]=x):x=e[18];let w;e[19]!==C||e[20]!==x?(w=(0,a.jsx)(X,{htmlFor:"org-add-member-user",label:C,children:x}),e[19]=C,e[20]=x,e[21]=w):w=e[21];let N;e[22]!==o?(N=o("Role (optional)"),e[22]=o,e[23]=N):N=e[23];let O;e[24]===Symbol.for("react.memo_cache_sentinel")?(O=c(M=>{g(M.target.value)},"_"),e[24]=O):O=e[24];let A;e[25]!==u?(A=(0,a.jsx)(Z,{"data-testid":"org-add-member-role",id:"org-add-member-role",onChange:O,value:u}),e[25]=u,e[26]=A):A=e[26];let D;e[27]!==N||e[28]!==A?(D=(0,a.jsx)(X,{htmlFor:"org-add-member-role",label:N,children:A}),e[27]=N,e[28]=A,e[29]=D):D=e[29];let T;return e[30]!==l||e[31]!==n||e[32]!==r||e[33]!==f||e[34]!==D||e[35]!==k||e[36]!==v||e[37]!==I||e[38]!==w?(T=(0,a.jsxs)(de,{busy:l,canSubmit:k,error:n,onClose:r,onSubmit:f,submitLabel:v,testId:"org-add-member",title:I,children:[w,D]}),e[30]=l,e[31]=n,e[32]=r,e[33]=f,e[34]=D,e[35]=k,e[36]=v,e[37]=I,e[38]=w,e[39]=T):T=e[39],T},"Rt"),jt=c(t=>{let e=(0,U.c)(40),{onClose:r,onDone:d,organizationId:h}=t,i=re(),o=q(),{busy:l,error:n,run:s}=ne(),[m,b]=(0,j.useState)(""),[u,g]=(0,j.useState)(""),p;e[0]!==i||e[1]!==m||e[2]!==r||e[3]!==d||e[4]!==h||e[5]!==u||e[6]!==s?(p=c(()=>{s(async()=>{await i.inviteAuthOrgMember({email:m.trim(),organizationId:h,role:u.trim()===""?void 0:u.trim()}),d(),r()})},"b"),e[0]=i,e[1]=m,e[2]=r,e[3]=d,e[4]=h,e[5]=u,e[6]=s,e[7]=p):p=e[7];let f=p,y;e[8]!==m?(y=m.trim(),e[8]=m,e[9]=y):y=e[9];let k=y!=="",v;e[10]!==o?(v=o("Send invitation"),e[10]=o,e[11]=v):v=e[11];let I;e[12]!==o?(I=o("Invite member"),e[12]=o,e[13]=I):I=e[13];let C;e[14]!==o?(C=o("email"),e[14]=o,e[15]=C):C=e[15];let z;e[16]===Symbol.for("react.memo_cache_sentinel")?(z=c(M=>{b(M.target.value)},"w"),e[16]=z):z=e[16];let x;e[17]!==m?(x=(0,a.jsx)(Z,{"data-testid":"org-invite-member-email",id:"org-invite-member-email",onChange:z,type:"email",value:m}),e[17]=m,e[18]=x):x=e[18];let w;e[19]!==C||e[20]!==x?(w=(0,a.jsx)(X,{htmlFor:"org-invite-member-email",label:C,children:x}),e[19]=C,e[20]=x,e[21]=w):w=e[21];let N;e[22]!==o?(N=o("Role (optional)"),e[22]=o,e[23]=N):N=e[23];let O;e[24]===Symbol.for("react.memo_cache_sentinel")?(O=c(M=>{g(M.target.value)},"_"),e[24]=O):O=e[24];let A;e[25]!==u?(A=(0,a.jsx)(Z,{"data-testid":"org-invite-member-role",id:"org-invite-member-role",onChange:O,value:u}),e[25]=u,e[26]=A):A=e[26];let D;e[27]!==N||e[28]!==A?(D=(0,a.jsx)(X,{htmlFor:"org-invite-member-role",label:N,children:A}),e[27]=N,e[28]=A,e[29]=D):D=e[29];let T;return e[30]!==l||e[31]!==n||e[32]!==r||e[33]!==f||e[34]!==D||e[35]!==k||e[36]!==v||e[37]!==I||e[38]!==w?(T=(0,a.jsxs)(de,{busy:l,canSubmit:k,error:n,onClose:r,onSubmit:f,submitLabel:v,testId:"org-invite-member",title:I,children:[w,D]}),e[30]=l,e[31]=n,e[32]=r,e[33]=f,e[34]=D,e[35]=k,e[36]=v,e[37]=I,e[38]=w,e[39]=T):T=e[39],T},"Ft"),Pt=c(t=>{let e=(0,U.c)(32),{member:r,onClose:d,onDone:h}=t,i=re(),o=q(),{busy:l,error:n,run:s}=ne(),m;e[0]!==r.role?(m=c(()=>S(r.role),"m"),e[0]=r.role,e[1]=m):m=e[1];let[b,u]=(0,j.useState)(m),g;e[2]!==i||e[3]!==r.id||e[4]!==d||e[5]!==h||e[6]!==b||e[7]!==s?(g=c(()=>{s(async()=>{await i.setAuthOrgMemberRole({memberId:S(r.id),role:b.trim()}),h(),d()})},"f"),e[2]=i,e[3]=r.id,e[4]=d,e[5]=h,e[6]=b,e[7]=s,e[8]=g):g=e[8];let p=g,f;e[9]!==b?(f=b.trim(),e[9]=b,e[10]=f):f=e[10];let y=f!=="",k;e[11]!==o?(k=o("Save"),e[11]=o,e[12]=k):k=e[12];let v;e[13]!==o?(v=o("Change member role"),e[13]=o,e[14]=v):v=e[14];let I;e[15]!==o?(I=o("Role"),e[15]=o,e[16]=I):I=e[16];let C;e[17]===Symbol.for("react.memo_cache_sentinel")?(C=c(N=>{u(N.target.value)},"y"),e[17]=C):C=e[17];let z;e[18]!==b?(z=(0,a.jsx)(Z,{"data-testid":"org-member-role-value",id:"org-member-role-value",onChange:C,value:b}),e[18]=b,e[19]=z):z=e[19];let x;e[20]!==I||e[21]!==z?(x=(0,a.jsx)(X,{htmlFor:"org-member-role-value",label:I,children:z}),e[20]=I,e[21]=z,e[22]=x):x=e[22];let w;return e[23]!==l||e[24]!==n||e[25]!==d||e[26]!==p||e[27]!==x||e[28]!==y||e[29]!==k||e[30]!==v?(w=(0,a.jsx)(de,{busy:l,canSubmit:y,error:n,onClose:d,onSubmit:p,submitLabel:k,testId:"org-member-role",title:v,children:x}),e[23]=l,e[24]=n,e[25]=d,e[26]=p,e[27]=x,e[28]=y,e[29]=k,e[30]=v,e[31]=w):w=e[31],w},"Et"),At=c(t=>{let e=(0,U.c)(36),{mode:r,onClose:d,onDone:h,organizationId:i,team:o}=t,l=re(),n=q(),{busy:s,error:m,run:b}=ne(),u;e[0]!==o?(u=o?S(o.name):"",e[0]=o,e[1]=u):u=e[1];let[g,p]=(0,j.useState)(u),f;e[2]!==l||e[3]!==r||e[4]!==g||e[5]!==d||e[6]!==h||e[7]!==i||e[8]!==b||e[9]!==o?.id?(f=c(()=>{b(async()=>{await(r==="create"?l.createAuthOrgTeam({name:g.trim(),organizationId:i}):l.updateAuthOrgTeam({name:g.trim(),teamId:S(o?.id)})),h(),d()})},"h"),e[2]=l,e[3]=r,e[4]=g,e[5]=d,e[6]=h,e[7]=i,e[8]=b,e[9]=o?.id,e[10]=f):f=e[10];let y=f,k;e[11]!==g?(k=g.trim(),e[11]=g,e[12]=k):k=e[12];let v=k!=="",I;e[13]!==r||e[14]!==n?(I=n(r==="create"?"Create":"Save"),e[13]=r,e[14]=n,e[15]=I):I=e[15];let C;e[16]!==r||e[17]!==n?(C=n(r==="create"?"New team":"Rename team"),e[16]=r,e[17]=n,e[18]=C):C=e[18];let z;e[19]!==n?(z=n("name"),e[19]=n,e[20]=z):z=e[20];let x;e[21]===Symbol.for("react.memo_cache_sentinel")?(x=c(A=>{p(A.target.value)},"x"),e[21]=x):x=e[21];let w;e[22]!==g?(w=(0,a.jsx)(Z,{"data-testid":"org-team-form-name",id:"org-team-form-name",onChange:x,value:g}),e[22]=g,e[23]=w):w=e[23];let N;e[24]!==z||e[25]!==w?(N=(0,a.jsx)(X,{htmlFor:"org-team-form-name",label:z,children:w}),e[24]=z,e[25]=w,e[26]=N):N=e[26];let O;return e[27]!==s||e[28]!==m||e[29]!==d||e[30]!==y||e[31]!==N||e[32]!==v||e[33]!==I||e[34]!==C?(O=(0,a.jsx)(de,{busy:s,canSubmit:v,error:m,onClose:d,onSubmit:y,submitLabel:I,testId:"org-team-form",title:C,children:N}),e[27]=s,e[28]=m,e[29]=d,e[30]=y,e[31]=N,e[32]=v,e[33]=I,e[34]=C,e[35]=O):O=e[35],O},"bt"),Bt=c(t=>{let e=(0,U.c)(30),{onClose:r,onDone:d,teamId:h}=t,i=re(),o=q(),{busy:l,error:n,run:s}=ne(),[m,b]=(0,j.useState)(""),u;e[0]!==i||e[1]!==r||e[2]!==d||e[3]!==s||e[4]!==h||e[5]!==m?(u=c(()=>{s(async()=>{await i.addAuthOrgTeamMember({teamId:h,userId:m.trim()}),d(),r()})},"c"),e[0]=i,e[1]=r,e[2]=d,e[3]=s,e[4]=h,e[5]=m,e[6]=u):u=e[6];let g=u,p;e[7]!==m?(p=m.trim(),e[7]=m,e[8]=p):p=e[8];let f=p!=="",y;e[9]!==o?(y=o("Add member"),e[9]=o,e[10]=y):y=e[10];let k;e[11]!==o?(k=o("Add team member"),e[11]=o,e[12]=k):k=e[12];let v;e[13]!==o?(v=o("User id"),e[13]=o,e[14]=v):v=e[14];let I;e[15]===Symbol.for("react.memo_cache_sentinel")?(I=c(w=>{b(w.target.value)},"C"),e[15]=I):I=e[15];let C;e[16]!==m?(C=(0,a.jsx)(Z,{"data-testid":"org-team-add-member-user",id:"org-team-add-member-user",onChange:I,value:m}),e[16]=m,e[17]=C):C=e[17];let z;e[18]!==v||e[19]!==C?(z=(0,a.jsx)(X,{htmlFor:"org-team-add-member-user",label:v,children:C}),e[18]=v,e[19]=C,e[20]=z):z=e[20];let x;return e[21]!==l||e[22]!==n||e[23]!==r||e[24]!==g||e[25]!==f||e[26]!==y||e[27]!==k||e[28]!==z?(x=(0,a.jsx)(de,{busy:l,canSubmit:f,error:n,onClose:r,onSubmit:g,submitLabel:y,testId:"org-team-add-member",title:k,children:z}),e[21]=l,e[22]=n,e[23]=r,e[24]=g,e[25]=f,e[26]=y,e[27]=k,e[28]=z,e[29]=x):x=e[29],x},"jt"),_t=c(t=>{let e=(0,U.c)(47),{mode:r,onClose:d,onDone:h,organizationId:i,role:o}=t,l=re(),n=q(),{busy:s,error:m,run:b}=ne(),u;e[0]!==o?(u=o?S(o.role):"",e[0]=o,e[1]=u):u=e[1];let[g,p]=(0,j.useState)(u),f;e[2]!==r||e[3]!==o?.permission?(f=r==="edit"?Tt(o?.permission):"",e[2]=r,e[3]=o?.permission,e[4]=f):f=e[4];let[y,k]=(0,j.useState)(f),v;e[5]!==l||e[6]!==r||e[7]!==g||e[8]!==d||e[9]!==h||e[10]!==i||e[11]!==y||e[12]!==o?.id||e[13]!==b?(v=c(()=>{b(async()=>{let M=Et(y);await(r==="create"?l.createAuthOrgRole({organizationId:i,permission:M,role:g.trim()}):l.updateAuthOrgRole({permission:M,roleId:S(o?.id)})),h(),d()})},"p"),e[5]=l,e[6]=r,e[7]=g,e[8]=d,e[9]=h,e[10]=i,e[11]=y,e[12]=o?.id,e[13]=b,e[14]=v):v=e[14];let I=v,C;e[15]!==r||e[16]!==g||e[17]!==y?(C=y.trim()!==""&&(r==="edit"||g.trim()!==""),e[15]=r,e[16]=g,e[17]=y,e[18]=C):C=e[18];let z;e[19]!==r||e[20]!==n?(z=n(r==="create"?"Create":"Save"),e[19]=r,e[20]=n,e[21]=z):z=e[21];let x;e[22]!==r||e[23]!==n?(x=n(r==="create"?"New role":"Edit role"),e[22]=r,e[23]=n,e[24]=x):x=e[24];let w;e[25]!==r||e[26]!==g||e[27]!==n?(w=r==="create"&&(0,a.jsx)(X,{htmlFor:"org-role-form-name",label:n("Role name"),children:(0,a.jsx)(Z,{"data-testid":"org-role-form-name",id:"org-role-form-name",onChange:c(M=>{p(M.target.value)},"onChange"),value:g})}),e[25]=r,e[26]=g,e[27]=n,e[28]=w):w=e[28];let N;e[29]!==n?(N=n('Permission (JSON, e.g. {"project":["create","update"]})'),e[29]=n,e[30]=N):N=e[30];let O;e[31]===Symbol.for("react.memo_cache_sentinel")?(O=c(M=>{k(M.target.value)},"_"),e[31]=O):O=e[31];let A;e[32]!==y?(A=(0,a.jsx)(yt,{"data-testid":"org-role-form-permission",id:"org-role-form-permission",onChange:O,value:y}),e[32]=y,e[33]=A):A=e[33];let D;e[34]!==A||e[35]!==N?(D=(0,a.jsx)(X,{htmlFor:"org-role-form-permission",label:N,children:A}),e[34]=A,e[35]=N,e[36]=D):D=e[36];let T;return e[37]!==s||e[38]!==m||e[39]!==d||e[40]!==I||e[41]!==D||e[42]!==C||e[43]!==z||e[44]!==x||e[45]!==w?(T=(0,a.jsxs)(de,{busy:s,canSubmit:C,error:m,onClose:d,onSubmit:I,submitLabel:z,testId:"org-role-form",title:x,children:[w,D]}),e[37]=s,e[38]=m,e[39]=d,e[40]=I,e[41]=D,e[42]=C,e[43]=z,e[44]=x,e[45]=w,e[46]=T):T=e[46],T},"pt"),Mt=c(t=>{let e=(0,U.c)(18),{action:r,message:d,onClose:h,onDone:i,testId:o,title:l}=t,n=q(),{busy:s,error:m,run:b}=ne(),u;e[0]!==r||e[1]!==h||e[2]!==i||e[3]!==b?(u=c(()=>{b(async()=>{await r(),i(),h()})},"c"),e[0]=r,e[1]=h,e[2]=i,e[3]=b,e[4]=u):u=e[4];let g=u,p;e[5]!==n?(p=n("Delete"),e[5]=n,e[6]=p):p=e[6];let f;e[7]!==d?(f=(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:d}),e[7]=d,e[8]=f):f=e[8];let y;return e[9]!==s||e[10]!==m||e[11]!==h||e[12]!==g||e[13]!==p||e[14]!==f||e[15]!==o||e[16]!==l?(y=(0,a.jsx)(de,{busy:s,canSubmit:!0,destructive:!0,error:m,onClose:h,onSubmit:g,submitLabel:p,testId:o,title:l,children:f}),e[9]=s,e[10]=m,e[11]=h,e[12]=g,e[13]=p,e[14]=f,e[15]=o,e[16]=l,e[17]=y):y=e[17],y},"zt"),Ge=c(t=>{let e=(0,U.c)(13),{action:r,children:d,heading:h,testId:i}=t,o;e[0]!==h?(o=(0,a.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:h}),e[0]=h,e[1]=o):o=e[1];let l;e[2]!==r?(l=r!==void 0&&(0,a.jsx)("div",{className:"flex items-center gap-2",children:r}),e[2]=r,e[3]=l):l=e[3];let n;e[4]!==o||e[5]!==l?(n=(0,a.jsxs)("header",{className:"flex items-center justify-between gap-2 border-b border-border px-4 py-3",children:[o,l]}),e[4]=o,e[5]=l,e[6]=n):n=e[6];let s;e[7]!==d?(s=(0,a.jsx)(bt,{className:"px-0",children:d}),e[7]=d,e[8]=s):s=e[8];let m;return e[9]!==n||e[10]!==s||e[11]!==i?(m=(0,a.jsxs)(ht,{className:"overflow-hidden py-0","data-testid":i,children:[n,s]}),e[9]=n,e[10]=s,e[11]=i,e[12]=m):m=e[12],m},"Ve"),He=c(t=>{let e=(0,U.c)(23),{columns:r,rowActions:d,rowPrefix:h,rows:i}=t,o=q(),l;e[0]!==r?(l=r.map(Jt),e[0]=r,e[1]=l):l=e[1];let n;e[2]!==o?(n=o("Actions"),e[2]=o,e[3]=n):n=e[3];let s;e[4]!==n?(s=(0,a.jsx)(se,{"aria-label":n}),e[4]=n,e[5]=s):s=e[5];let m;e[6]!==l||e[7]!==s?(m=(0,a.jsx)(pt,{children:(0,a.jsxs)(Ze,{children:[l,s]})}),e[6]=l,e[7]=s,e[8]=m):m=e[8];let b;if(e[9]!==r||e[10]!==d||e[11]!==h||e[12]!==i){let p;e[14]!==r||e[15]!==d||e[16]!==h?(p=c((f,y)=>{let k=S(f.id),v=k===""?`index-${y.toString()}`:k;return(0,a.jsxs)(Ze,{"data-testid":`${h}-${v}`,children:[r.map(I=>(0,a.jsx)(me,{className:I.className,children:I.render(f)},I.head)),(0,a.jsx)(me,{children:(0,a.jsx)("div",{className:"flex justify-end gap-1",children:d(f)})})]},v)},"b"),e[14]=r,e[15]=d,e[16]=h,e[17]=p):p=e[17],b=i.map(p),e[9]=r,e[10]=d,e[11]=h,e[12]=i,e[13]=b}else b=e[13];let u;e[18]!==b?(u=(0,a.jsx)(vt,{children:b}),e[18]=b,e[19]=u):u=e[19];let g;return e[20]!==m||e[21]!==u?(g=(0,a.jsxs)(ft,{children:[m,u]}),e[20]=m,e[21]=u,e[22]=g):g=e[22],g},"We");function Jt(t){return(0,a.jsx)(se,{children:t.head},t.head)}c(Jt,"Lt");var Ut=c(t=>{let e=(0,U.c)(30),{actionBusy:r,onRemoveMember:d,memberColumns:h,members:i,onDialog:o}=t,l=q(),n;e[0]!==o?(n=c(()=>{o({kind:"add-member"})},"r"),e[0]=o,e[1]=n):n=e[1];let s;e[2]!==l?(s=l("Add member"),e[2]=l,e[3]=s):s=e[3];let m;e[4]!==n||e[5]!==s?(m=(0,a.jsx)(L,{"data-testid":"org-open-add-member",onClick:n,size:"xs",type:"button",variant:"outline",children:s}),e[4]=n,e[5]=s,e[6]=m):m=e[6];let b;e[7]!==o?(b=c(()=>{o({kind:"invite-member"})},"g"),e[7]=o,e[8]=b):b=e[8];let u;e[9]!==l?(u=l("Invite member"),e[9]=l,e[10]=u):u=e[10];let g;e[11]!==b||e[12]!==u?(g=(0,a.jsx)(L,{"data-testid":"org-open-invite-member",onClick:b,size:"xs",type:"button",variant:"outline",children:u}),e[11]=b,e[12]=u,e[13]=g):g=e[13];let p;e[14]!==m||e[15]!==g?(p=(0,a.jsxs)(a.Fragment,{children:[m,g]}),e[14]=m,e[15]=g,e[16]=p):p=e[16];let f;e[17]!==l?(f=l("Members"),e[17]=l,e[18]=f):f=e[18];let y;e[19]!==r||e[20]!==h||e[21]!==i||e[22]!==o||e[23]!==d||e[24]!==l?(y=i.length===0?(0,a.jsx)("div",{className:"p-3",children:(0,a.jsx)(ce,{testId:"org-members-empty",title:l("No members.")})}):(0,a.jsx)(He,{columns:h,rowActions:c(v=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(L,{"data-testid":`org-member-role-${S(v.id)}`,onClick:c(()=>{o({kind:"member-role",member:v})},"onClick"),size:"xs",type:"button",variant:"ghost",children:l("Change role")}),(0,a.jsx)(L,{"data-testid":`org-remove-member-${S(v.id)}`,disabled:r,onClick:c(()=>{d(S(v.id))},"onClick"),size:"xs",type:"button",variant:"ghost",children:l("Remove")})]}),"rowActions"),rowPrefix:"org-member",rows:i}),e[19]=r,e[20]=h,e[21]=i,e[22]=o,e[23]=d,e[24]=l,e[25]=y):y=e[25];let k;return e[26]!==p||e[27]!==f||e[28]!==y?(k=(0,a.jsx)(Ge,{action:p,heading:f,testId:"org-members",children:y}),e[26]=p,e[27]=f,e[28]=y,e[29]=k):k=e[29],k},"Pt"),qt=c(t=>{let e=(0,U.c)(21),{onConfirmDeleteTeam:r,onDialog:d,onSelectTeam:h,selectedTeam:i,teamColumns:o,teams:l}=t,n=q(),s;e[0]!==d?(s=c(()=>{d({kind:"team-create"})},"a"),e[0]=d,e[1]=s):s=e[1];let m;e[2]!==n?(m=n("New team"),e[2]=n,e[3]=m):m=e[3];let b;e[4]!==s||e[5]!==m?(b=(0,a.jsx)(L,{"data-testid":"org-open-create-team",onClick:s,size:"xs",type:"button",variant:"outline",children:m}),e[4]=s,e[5]=m,e[6]=b):b=e[6];let u;e[7]!==n?(u=n("Teams"),e[7]=n,e[8]=u):u=e[8];let g;e[9]!==r||e[10]!==d||e[11]!==h||e[12]!==i||e[13]!==n||e[14]!==o||e[15]!==l?(g=l.length===0?(0,a.jsx)("div",{className:"p-3",children:(0,a.jsx)(ce,{testId:"org-teams-empty",title:n("No teams.")})}):(0,a.jsx)(He,{columns:o,rowActions:c(f=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(L,{"aria-pressed":i===S(f.id),"data-testid":`org-team-select-${S(f.id)}`,onClick:c(()=>{h(S(f.id))},"onClick"),size:"xs",type:"button",variant:"ghost",children:n("Members")}),(0,a.jsx)(L,{"data-testid":`org-team-rename-${S(f.id)}`,onClick:c(()=>{d({kind:"team-rename",team:f})},"onClick"),size:"xs",type:"button",variant:"ghost",children:n("Rename")}),(0,a.jsx)(L,{"data-testid":`org-team-delete-${S(f.id)}`,onClick:c(()=>{r(f)},"onClick"),size:"xs",type:"button",variant:"ghost",children:n("Delete")})]}),"rowActions"),rowPrefix:"org-team",rows:l}),e[9]=r,e[10]=d,e[11]=h,e[12]=i,e[13]=n,e[14]=o,e[15]=l,e[16]=g):g=e[16];let p;return e[17]!==b||e[18]!==u||e[19]!==g?(p=(0,a.jsx)(Ge,{action:b,heading:u,testId:"org-teams",children:g}),e[17]=b,e[18]=u,e[19]=g,e[20]=p):p=e[20],p},"Bt"),Kt=c(t=>{let e=(0,U.c)(20),{actionBusy:r,onRemoveTeamMember:d,onDialog:h,selectedTeam:i,teamMemberColumns:o,teamMembers:l}=t,n=q(),s;e[0]!==h||e[1]!==i?(s=c(()=>{h({kind:"team-add-member",teamId:i})},"a"),e[0]=h,e[1]=i,e[2]=s):s=e[2];let m;e[3]!==n?(m=n("Add member"),e[3]=n,e[4]=m):m=e[4];let b;e[5]!==s||e[6]!==m?(b=(0,a.jsx)(L,{"data-testid":"org-open-add-team-member",onClick:s,size:"xs",type:"button",variant:"outline",children:m}),e[5]=s,e[6]=m,e[7]=b):b=e[7];let u;e[8]!==n?(u=n("Team members"),e[8]=n,e[9]=u):u=e[9];let g;e[10]!==r||e[11]!==d||e[12]!==n||e[13]!==o||e[14]!==l?(g=l.length===0?(0,a.jsx)("div",{className:"p-3",children:(0,a.jsx)(ce,{testId:"org-team-members-empty",title:n("No team members.")})}):(0,a.jsx)(He,{columns:o,rowActions:c(f=>(0,a.jsx)(L,{"data-testid":`org-team-remove-member-${S(f.id)}`,disabled:r,onClick:c(()=>{d(S(f.id))},"onClick"),size:"xs",type:"button",variant:"ghost",children:n("Remove")}),"rowActions"),rowPrefix:"org-team-member",rows:l}),e[10]=r,e[11]=d,e[12]=n,e[13]=o,e[14]=l,e[15]=g):g=e[15];let p;return e[16]!==b||e[17]!==u||e[18]!==g?(p=(0,a.jsx)(Ge,{action:b,heading:u,testId:"org-team-members",children:g}),e[16]=b,e[17]=u,e[18]=g,e[19]=p):p=e[19],p},"Qt"),Qt=c(t=>{let e=(0,U.c)(19),{onConfirmDeleteRole:r,onDialog:d,roleColumns:h,roles:i}=t,o=q(),l;e[0]!==d?(l=c(()=>{d({kind:"role-create"})},"o"),e[0]=d,e[1]=l):l=e[1];let n;e[2]!==o?(n=o("New role"),e[2]=o,e[3]=n):n=e[3];let s;e[4]!==l||e[5]!==n?(s=(0,a.jsx)(L,{"data-testid":"org-open-create-role",onClick:l,size:"xs",type:"button",variant:"outline",children:n}),e[4]=l,e[5]=n,e[6]=s):s=e[6];let m;e[7]!==o?(m=o("Roles"),e[7]=o,e[8]=m):m=e[8];let b;e[9]!==r||e[10]!==d||e[11]!==h||e[12]!==i||e[13]!==o?(b=i.length===0?(0,a.jsx)("div",{className:"p-3",children:(0,a.jsx)(ce,{testId:"org-roles-empty",title:o("No custom roles.")})}):(0,a.jsx)(He,{columns:h,rowActions:c(g=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(L,{"data-testid":`org-role-edit-${S(g.id)}`,onClick:c(()=>{d({kind:"role-edit",role:g})},"onClick"),size:"xs",type:"button",variant:"ghost",children:o("Edit")}),(0,a.jsx)(L,{"data-testid":`org-role-delete-${S(g.id)}`,onClick:c(()=>{r(S(g.id))},"onClick"),size:"xs",type:"button",variant:"ghost",children:o("Delete")})]}),"rowActions"),rowPrefix:"org-role",rows:i}),e[9]=r,e[10]=d,e[11]=h,e[12]=i,e[13]=o,e[14]=b):b=e[14];let u;return e[15]!==s||e[16]!==m||e[17]!==b?(u=(0,a.jsx)(Ge,{action:s,heading:m,testId:"org-roles",children:b}),e[15]=s,e[16]=m,e[17]=b,e[18]=u):u=e[18],u},"Jt"),Xt=c(t=>{let e=(0,U.c)(199),{organizationId:r,rolesEnabled:d,teamsEnabled:h}=t,i=re(),o=q(),[l,n]=(0,j.useState)(null),[s,m]=(0,j.useState)(null),[b,u]=(0,j.useState)(!1),[g,p]=(0,j.useState)(null),f;e[0]!==r?(f=["lunora-auth-org-members",r],e[0]=r,e[1]=f):f=e[1];let y;e[2]!==i||e[3]!==r?(y=c(()=>i.listAuthOrgMembers({limit:200,organizationId:r}),"v"),e[2]=i,e[3]=r,e[4]=y):y=e[4];let k=ue(f,y),v;e[5]!==r?(v=["lunora-auth-org-invitations",r],e[5]=r,e[6]=v):v=e[6];let I;e[7]!==i||e[8]!==r?(I=c(()=>i.listAuthOrgInvitations({limit:200,organizationId:r}),"C"),e[7]=i,e[8]=r,e[9]=I):I=e[9];let C=ue(v,I),z;e[10]!==r?(z=["lunora-auth-org-teams",r],e[10]=r,e[11]=z):z=e[11];let x;e[12]!==i||e[13]!==r?(x=c(()=>i.listAuthOrgTeams({limit:200,organizationId:r}),"x"),e[12]=i,e[13]=r,e[14]=x):x=e[14];let w;e[15]!==h?(w={enabled:h},e[15]=h,e[16]=w):w=e[16];let N=ue(z,x,w),O;e[17]!==r?(O=["lunora-auth-org-roles",r],e[17]=r,e[18]=O):O=e[18];let A;e[19]!==i||e[20]!==r?(A=c(()=>i.listAuthOrgRoles({limit:200,organizationId:r}),"N"),e[19]=i,e[20]=r,e[21]=A):A=e[21];let D;e[22]!==d?(D={enabled:d},e[22]=d,e[23]=D):D=e[23];let T=ue(O,A,D),M;e[24]!==s?(M=["lunora-auth-org-team-members",s],e[24]=s,e[25]=M):M=e[25];let P;e[26]!==i||e[27]!==s?(P=c(()=>i.listAuthOrgTeamMembers({limit:200,teamId:s??""}),"P"),e[26]=i,e[27]=s,e[28]=P):P=e[28];let Q=s!==null,B;e[29]!==Q?(B={enabled:Q},e[29]=Q,e[30]=B):B=e[30];let E=ue(M,P,B),J;e[31]!==k.data?.rows?(J=k.data?.rows??[],e[31]=k.data?.rows,e[32]=J):J=e[32];let Y=J,R;e[33]!==C.data?.rows?(R=C.data?.rows??[],e[33]=C.data?.rows,e[34]=R):R=e[34];let $=R,K;e[35]!==N.data?.rows?(K=N.data?.rows??[],e[35]=N.data?.rows,e[36]=K):K=e[36];let ie=K,H;e[37]!==T.data?.rows?(H=T.data?.rows??[],e[37]=T.data?.rows,e[38]=H):H=e[38];let ee=H,W;e[39]!==s||e[40]!==E?(W=s===null?[]:E.data?.rows??[],e[39]=s,e[40]=E,e[41]=W):W=e[41];let te=W,oe=k.error??C.error??N.error??T.error??E.error,V;e[42]!==C||e[43]!==k||e[44]!==d||e[45]!==T||e[46]!==s||e[47]!==E||e[48]!==h||e[49]!==N?(V=c(()=>{k.refetch(),C.refetch(),h&&N.refetch(),d&&T.refetch(),s!==null&&E.refetch()},"Z"),e[42]=C,e[43]=k,e[44]=d,e[45]=T,e[46]=s,e[47]=E,e[48]=h,e[49]=N,e[50]=V):V=e[50];let _=V;Ct(_,!0);let ae;e[51]===Symbol.for("react.memo_cache_sentinel")?(ae=c(()=>{n(null)},"ie"),e[51]=ae):ae=e[51];let F=ae,We;e[52]!==_?(We=c(G=>{wt((async()=>{u(!0),p(null);try{await G(),_(),u(!1)}catch(nt){p(xt(nt)),u(!1)}})())},"Xe"),e[52]=_,e[53]=We):We=e[53];let le=We,Ve;e[54]!==i||e[55]!==o?(Ve=c(G=>{let nt=S(G.id);n({action:c(async()=>{await i.removeAuthOrgTeam({teamId:nt}),m(It=>It===nt?null:It)},"action"),kind:"confirm",message:o("Delete this team and its memberships? This cannot be undone."),testId:"org-team-delete",title:o("Delete team")})},"Ye"),e[54]=i,e[55]=o,e[56]=Ve):Ve=e[56];let it=Ve,ge;e[57]!==o?(ge=o("userId"),e[57]=o,e[58]=ge):ge=e[58];let he;e[59]!==ge?(he={head:ge,render:Yt},e[59]=ge,e[60]=he):he=e[60];let be;e[61]!==o?(be=o("role"),e[61]=o,e[62]=be):be=e[62];let fe;e[63]!==be?(fe={head:be,render:Zt},e[63]=be,e[64]=fe):fe=e[64];let et;e[65]!==he||e[66]!==fe?(et=[he,fe],e[65]=he,e[66]=fe,e[67]=et):et=e[67];let st=et,pe;e[68]!==o?(pe=o("email"),e[68]=o,e[69]=pe):pe=e[69];let ve;e[70]!==pe?(ve={head:pe,render:Gt},e[70]=pe,e[71]=ve):ve=e[71];let ye;e[72]!==o?(ye=o("role"),e[72]=o,e[73]=ye):ye=e[73];let Ce;e[74]!==ye?(Ce={head:ye,render:Ht},e[74]=ye,e[75]=Ce):Ce=e[75];let Ie;e[76]!==o?(Ie=o("status"),e[76]=o,e[77]=Ie):Ie=e[77];let xe;e[78]!==Ie?(xe={head:Ie,render:Wt},e[78]=Ie,e[79]=xe):xe=e[79];let tt;e[80]!==ve||e[81]!==Ce||e[82]!==xe?(tt=[ve,Ce,xe],e[80]=ve,e[81]=Ce,e[82]=xe,e[83]=tt):tt=e[83];let mt=tt,we;e[84]!==o?(we=o("id"),e[84]=o,e[85]=we):we=e[85];let ke;e[86]!==we?(ke={className:"font-mono text-xs",head:we,render:Vt},e[86]=we,e[87]=ke):ke=e[87];let ze;e[88]!==o?(ze=o("name"),e[88]=o,e[89]=ze):ze=e[89];let Ne;e[90]!==ze?(Ne={head:ze,render:er},e[90]=ze,e[91]=Ne):Ne=e[91];let rt;e[92]!==ke||e[93]!==Ne?(rt=[ke,Ne],e[92]=ke,e[93]=Ne,e[94]=rt):rt=e[94];let dt=rt,Se;e[95]!==o?(Se=o("userId"),e[95]=o,e[96]=Se):Se=e[96];let ot;e[97]!==Se?(ot=[{head:Se,render:tr}],e[97]=Se,e[98]=ot):ot=e[98];let ct=ot,De;e[99]!==o?(De=o("role"),e[99]=o,e[100]=De):De=e[100];let Ae;e[101]!==De?(Ae={head:De,render:rr},e[101]=De,e[102]=Ae):Ae=e[102];let _e;e[103]!==o?(_e=o("Permission"),e[103]=o,e[104]=_e):_e=e[104];let Oe;e[105]!==_e?(Oe={className:"font-mono text-xs whitespace-pre-wrap",head:_e,render:or},e[105]=_e,e[106]=Oe):Oe=e[106];let at;e[107]!==Ae||e[108]!==Oe?(at=[Ae,Oe],e[107]=Ae,e[108]=Oe,e[109]=at):at=e[109];let ut=at,Te;e[110]!==oe?(Te=oe!==null&&(0,a.jsx)("p",{className:"text-sm text-destructive","data-testid":"org-detail-error",role:"alert",children:oe}),e[110]=oe,e[111]=Te):Te=e[111];let Me;e[112]!==g?(Me=g!==null&&(0,a.jsx)("p",{className:"text-sm text-destructive","data-testid":"org-action-error",role:"alert",children:g}),e[112]=g,e[113]=Me):Me=e[113];let Re;e[114]!==i||e[115]!==le?(Re=c(G=>{le(()=>i.removeAuthOrgMember({memberId:G}))},"Te"),e[114]=i,e[115]=le,e[116]=Re):Re=e[116];let $e;e[117]!==b||e[118]!==st||e[119]!==Y||e[120]!==Re?($e=(0,a.jsx)(Ut,{actionBusy:b,memberColumns:st,members:Y,onDialog:n,onRemoveMember:Re}),e[117]=b,e[118]=st,e[119]=Y,e[120]=Re,e[121]=$e):$e=e[121];let Fe;e[122]!==b||e[123]!==i||e[124]!==mt||e[125]!==$||e[126]!==le||e[127]!==o?(Fe=$.length>0&&(0,a.jsx)(Ge,{heading:o("Invitations"),testId:"org-invitations",children:(0,a.jsx)(He,{columns:mt,rowActions:c(G=>(0,a.jsx)(L,{"data-testid":`org-cancel-invitation-${S(G.id)}`,disabled:b,onClick:c(()=>{le(()=>i.cancelAuthOrgInvitation({invitationId:S(G.id)}))},"onClick"),size:"xs",type:"button",variant:"ghost",children:o("Cancel")}),"rowActions"),rowPrefix:"org-invitation",rows:$})}),e[122]=b,e[123]=i,e[124]=mt,e[125]=$,e[126]=le,e[127]=o,e[128]=Fe):Fe=e[128];let Ee;e[129]!==it||e[130]!==s||e[131]!==dt||e[132]!==ie||e[133]!==h?(Ee=h&&(0,a.jsx)(qt,{onConfirmDeleteTeam:it,onDialog:n,onSelectTeam:m,selectedTeam:s,teamColumns:dt,teams:ie}),e[129]=it,e[130]=s,e[131]=dt,e[132]=ie,e[133]=h,e[134]=Ee):Ee=e[134];let Le;e[135]!==b||e[136]!==i||e[137]!==le||e[138]!==s||e[139]!==ct||e[140]!==te||e[141]!==h?(Le=h&&s!==null&&(0,a.jsx)(Kt,{actionBusy:b,onDialog:n,onRemoveTeamMember:c(G=>{le(()=>i.removeAuthOrgTeamMember({teamMemberId:G}))},"onRemoveTeamMember"),selectedTeam:s,teamMemberColumns:ct,teamMembers:te}),e[135]=b,e[136]=i,e[137]=le,e[138]=s,e[139]=ct,e[140]=te,e[141]=h,e[142]=Le):Le=e[142];let je;e[143]!==i||e[144]!==ut||e[145]!==ee||e[146]!==d||e[147]!==o?(je=d&&(0,a.jsx)(Qt,{onConfirmDeleteRole:c(G=>{n({action:c(()=>i.deleteAuthOrgRole({roleId:G}),"action"),kind:"confirm",message:o("Delete this custom role? Members keeping it will lose its grants."),testId:"org-role-delete",title:o("Delete role")})},"onConfirmDeleteRole"),onDialog:n,roleColumns:ut,roles:ee}),e[143]=i,e[144]=ut,e[145]=ee,e[146]=d,e[147]=o,e[148]=je):je=e[148];let Pe;e[149]!==l?.kind||e[150]!==r||e[151]!==_?(Pe=l?.kind==="add-member"&&(0,a.jsx)(Lt,{onClose:F,onDone:_,organizationId:r}),e[149]=l?.kind,e[150]=r,e[151]=_,e[152]=Pe):Pe=e[152];let Be;e[153]!==l?.kind||e[154]!==r||e[155]!==_?(Be=l?.kind==="invite-member"&&(0,a.jsx)(jt,{onClose:F,onDone:_,organizationId:r}),e[153]=l?.kind,e[154]=r,e[155]=_,e[156]=Be):Be=e[156];let Je;e[157]!==l||e[158]!==_?(Je=l?.kind==="member-role"&&(0,a.jsx)(Pt,{member:l.member,onClose:F,onDone:_}),e[157]=l,e[158]=_,e[159]=Je):Je=e[159];let Ue;e[160]!==l?.kind||e[161]!==r||e[162]!==_?(Ue=l?.kind==="team-create"&&(0,a.jsx)(At,{mode:"create",onClose:F,onDone:_,organizationId:r}),e[160]=l?.kind,e[161]=r,e[162]=_,e[163]=Ue):Ue=e[163];let qe;e[164]!==l||e[165]!==r||e[166]!==_?(qe=l?.kind==="team-rename"&&(0,a.jsx)(At,{mode:"edit",onClose:F,onDone:_,organizationId:r,team:l.team}),e[164]=l,e[165]=r,e[166]=_,e[167]=qe):qe=e[167];let Ke;e[168]!==l||e[169]!==_?(Ke=l?.kind==="team-add-member"&&(0,a.jsx)(Bt,{onClose:F,onDone:_,teamId:l.teamId}),e[168]=l,e[169]=_,e[170]=Ke):Ke=e[170];let Qe;e[171]!==l?.kind||e[172]!==r||e[173]!==_?(Qe=l?.kind==="role-create"&&(0,a.jsx)(_t,{mode:"create",onClose:F,onDone:_,organizationId:r}),e[171]=l?.kind,e[172]=r,e[173]=_,e[174]=Qe):Qe=e[174];let Xe;e[175]!==l||e[176]!==r||e[177]!==_?(Xe=l?.kind==="role-edit"&&(0,a.jsx)(_t,{mode:"edit",onClose:F,onDone:_,organizationId:r,role:l.role}),e[175]=l,e[176]=r,e[177]=_,e[178]=Xe):Xe=e[178];let Ye;e[179]!==l||e[180]!==_?(Ye=l?.kind==="confirm"&&(0,a.jsx)(Mt,{action:l.action,message:l.message,onClose:F,onDone:_,testId:l.testId,title:l.title}),e[179]=l,e[180]=_,e[181]=Ye):Ye=e[181];let lt;return e[182]!==Te||e[183]!==Me||e[184]!==$e||e[185]!==Fe||e[186]!==Ee||e[187]!==Le||e[188]!==je||e[189]!==Pe||e[190]!==Be||e[191]!==Je||e[192]!==Ue||e[193]!==qe||e[194]!==Ke||e[195]!==Qe||e[196]!==Xe||e[197]!==Ye?(lt=(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"org-detail",children:[Te,Me,$e,Fe,Ee,Le,je,Pe,Be,Je,Ue,qe,Ke,Qe,Xe,Ye]}),e[182]=Te,e[183]=Me,e[184]=$e,e[185]=Fe,e[186]=Ee,e[187]=Le,e[188]=je,e[189]=Pe,e[190]=Be,e[191]=Je,e[192]=Ue,e[193]=qe,e[194]=Ke,e[195]=Qe,e[196]=Xe,e[197]=Ye,e[198]=lt):lt=e[198],lt},"Ut");function Yt(t){return(0,a.jsx)("span",{className:"font-mono text-xs",children:S(t.userId)})}c(Yt,"Ht");function Zt(t){return S(t.role)}c(Zt,"qt");function Gt(t){return S(t.email)}c(Gt,"Gt");function Ht(t){return S(t.role)}c(Ht,"Kt");function Wt(t){return S(t.status)}c(Wt,"Vt");function Vt(t){return S(t.id)}c(Vt,"Wt");function er(t){return S(t.name)}c(er,"Xt");function tr(t){return(0,a.jsx)("span",{className:"font-mono text-xs",children:S(t.userId)})}c(tr,"Yt");function rr(t){return S(t.role)}c(rr,"Zt");function or(t){return S(t.permission)}c(or,"el");var yr=c(()=>{let t=(0,U.c)(62),e=re(),r=q(),{config:d,ready:h}=Nt(),i=d.capabilities.organization,[o,l]=(0,j.useState)(null),[n,s]=(0,j.useState)(null),m;t[0]===Symbol.for("react.memo_cache_sentinel")?(m=["lunora-auth-orgs"],t[0]=m):m=t[0];let b;t[1]!==e?(b=c(()=>e.listAuthOrganizations({limit:100}),"g"),t[1]=e,t[2]=b):b=t[2];let u;t[3]!==i?(u={enabled:i},t[3]=i,t[4]=u):u=t[4];let g=ue(m,b,u),p=g.data?.rows??null,f;t[5]!==g?(f=c(()=>{g.refetch()},"h"),t[5]=g,t[6]=f):f=t[6],Ct(f,i);let y;t[7]===Symbol.for("react.memo_cache_sentinel")?(y=c(()=>{s(null)},"v"),t[7]=y):y=t[7];let k=y,v;t[8]!==g?(v=c(()=>{g.refetch()},"p"),t[8]=g,t[9]=v):v=t[9];let I=v,C;t[10]===Symbol.for("react.memo_cache_sentinel")?(C=c(R=>{l(R)},"y"),t[10]=C):C=t[10];let z=C;if(h&&!i){let R;t[11]!==r?(R=r("Enable the organization() plugin in your auth config to manage organizations here."),t[11]=r,t[12]=R):R=t[12];let $;t[13]!==r?($=r("Organizations are not enabled."),t[13]=r,t[14]=$):$=t[14];let K;return t[15]!==R||t[16]!==$?(K=(0,a.jsx)(ce,{description:R,testId:"org-disabled",title:$}),t[15]=R,t[16]=$,t[17]=K):K=t[17],K}let x;t[18]!==r?(x=r("Organizations"),t[18]=r,t[19]=x):x=t[19];let w;t[20]!==x?(w=(0,a.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:x}),t[20]=x,t[21]=w):w=t[21];let N;t[22]===Symbol.for("react.memo_cache_sentinel")?(N=c(()=>{s({kind:"create"})},"D"),t[22]=N):N=t[22];let O;t[23]!==r?(O=r("New organization"),t[23]=r,t[24]=O):O=t[24];let A;t[25]!==O?(A=(0,a.jsx)(L,{"data-testid":"org-new",onClick:N,size:"sm",type:"button",children:O}),t[25]=O,t[26]=A):A=t[26];let D;t[27]!==A||t[28]!==w?(D=(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[w,A]}),t[27]=A,t[28]=w,t[29]=D):D=t[29];let T;t[30]!==g.error?(T=g.error!==null&&(0,a.jsx)("p",{className:"text-sm text-destructive","data-testid":"org-error",role:"alert",children:g.error}),t[30]=g.error,t[31]=T):T=t[31];let M;t[32]!==p||t[33]!==r?(M=p!==null&&p.length===0&&(0,a.jsx)(ce,{testId:"org-empty",title:r("No organizations.")}),t[32]=p,t[33]=r,t[34]=M):M=t[34];let P;t[35]!==p||t[36]!==o||t[37]!==r?(P=p!==null&&p.length>0&&(0,a.jsx)(ht,{className:"overflow-hidden py-0",children:(0,a.jsx)(bt,{className:"px-0",children:(0,a.jsxs)(ft,{"data-testid":"org-table",children:[(0,a.jsx)(pt,{children:(0,a.jsxs)(Ze,{children:[(0,a.jsx)(se,{children:r("id")}),(0,a.jsx)(se,{children:r("name")}),(0,a.jsx)(se,{children:r("slug")}),(0,a.jsx)(se,{children:r("created")}),(0,a.jsx)(se,{"aria-label":r("Actions")})]})}),(0,a.jsx)(vt,{children:p.map(R=>{let $=S(R.id);return(0,a.jsxs)(Ze,{"data-testid":`org-row-${$}`,children:[(0,a.jsx)(me,{className:"font-mono text-xs",children:$}),(0,a.jsx)(me,{children:S(R.name)}),(0,a.jsx)(me,{children:S(R.slug)}),(0,a.jsx)(me,{className:"text-muted-foreground tabular-nums",children:kt(R.createdAt)}),(0,a.jsx)(me,{children:(0,a.jsxs)("div",{className:"flex justify-end gap-1",children:[(0,a.jsx)(L,{"aria-pressed":o===$,"data-testid":`org-select-${$}`,onClick:c(()=>{z($)},"onClick"),size:"xs",type:"button",variant:"ghost",children:r("Manage")}),(0,a.jsx)(L,{"data-testid":`org-edit-${$}`,onClick:c(()=>{s({kind:"edit",org:R})},"onClick"),size:"xs",type:"button",variant:"ghost",children:r("Edit")}),(0,a.jsx)(L,{"data-testid":`org-delete-${$}`,onClick:c(()=>{s({kind:"delete",org:R})},"onClick"),size:"xs",type:"button",variant:"ghost",children:r("Delete")})]})})]},$)})})]})})}),t[35]=p,t[36]=o,t[37]=r,t[38]=P):P=t[38];let Q;t[39]!==d.organization||t[40]!==o?(Q=o!==null&&(0,a.jsx)(Xt,{organizationId:o,rolesEnabled:d.organization.roles,teamsEnabled:d.organization.teams}),t[39]=d.organization,t[40]=o,t[41]=Q):Q=t[41];let B;t[42]!==n?.kind||t[43]!==I?(B=n?.kind==="create"&&(0,a.jsx)(Dt,{mode:"create",onClose:k,onDone:I}),t[42]=n?.kind,t[43]=I,t[44]=B):B=t[44];let E;t[45]!==n||t[46]!==I?(E=n?.kind==="edit"&&(0,a.jsx)(Dt,{mode:"edit",onClose:k,onDone:I,org:n.org}),t[45]=n,t[46]=I,t[47]=E):E=t[47];let J;t[48]!==e||t[49]!==n||t[50]!==I||t[51]!==r?(J=n?.kind==="delete"&&(0,a.jsx)(Mt,{action:c(async()=>{let R=S(n.org.id);await e.deleteAuthOrganization({organizationId:R}),l($=>$===R?null:$)},"action"),message:r("Delete this organization? Its members, invitations, teams, and custom roles are removed. This cannot be undone."),onClose:k,onDone:I,testId:"org-delete",title:r("Delete organization")}),t[48]=e,t[49]=n,t[50]=I,t[51]=r,t[52]=J):J=t[52];let Y;return t[53]!==D||t[54]!==T||t[55]!==M||t[56]!==P||t[57]!==Q||t[58]!==B||t[59]!==E||t[60]!==J?(Y=(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-organizations",children:[D,T,M,P,Q,B,E,J]}),t[53]=D,t[54]=T,t[55]=M,t[56]=P,t[57]=Q,t[58]=B,t[59]=E,t[60]=J,t[61]=Y):Y=t[61],Y},"yl");export{yr as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{P as R}from"./chunk-AOAJGSYZ.js";import"./chunk-TFMQSCGC.js";import{a as B}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import{b as S}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as q}from"./chunk-JCSDJBBZ.js";import"./chunk-PZ4QDWTI.js";import"./chunk-GDC3W3DZ.js";import"./chunk-F7JOSNAT.js";import{a as U}from"./chunk-DZGOHOOE.js";import{c as O}from"./chunk-5DEXJ766.js";import"./chunk-NIUA7EHL.js";import"./chunk-RCZTUWG3.js";import{a as D}from"./chunk-UANVABQG.js";import{a as G,b as J,c as K,d as F,e as s,f as o}from"./chunk-L4EZAHCD.js";import{a as V,e as W}from"./chunk-IYWVSMAY.js";import{d as P,s as H}from"./chunk-BKM6PMSO.js";import"./chunk-VYW2PAWC.js";import{a as n,d as j,e as re,f as ae,g as ie}from"./chunk-R5ZTCHCE.js";var X=j(ae(),1),M=j(re(),1);var t=j(ie(),1);var ne=n(e=>e==="ok"?"success":e==="failed"?"destructive":e==="expired"?"warning":"secondary","te"),Q=n(e=>e.endpoint??e.id,"M"),ve=n(()=>{let e=(0,X.c)(38),r=P(),[i,Y]=(0,M.useState)("all"),[l,Z]=(0,M.useState)(""),g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g={},e[0]=g):g=e[0];let{data:I,error:d,errorSource:x,isLoading:_,refetch:v}=O(U.listPushSubscriptions,g),N;if(e[1]!==I?.subscriptions||e[2]!==d||e[3]!==x||e[4]!==_||e[5]!==i||e[6]!==v||e[7]!==l||e[8]!==r){let L=I?.subscriptions??[],T=l.trim().toLowerCase(),A=L.filter(a=>i!=="all"&&a.kind!==i?!1:T===""?!0:`${Q(a)} ${a.userId??""}`.toLowerCase().includes(T)),b;e[10]===Symbol.for("react.memo_cache_sentinel")?(b=n(a=>{Z(a.target.value)},"w"),e[10]=b):b=e[10];let ee=b,w;e[11]!==v?(w=n(()=>{v()},"y"),e[11]=v,e[12]=w):w=e[12];let E=w,k;e[13]===Symbol.for("react.memo_cache_sentinel")?(k=["all","web-push","fcm"],e[13]=k):k=e[13];let te=k,c;e[14]!==i||e[15]!==r?(c=(0,t.jsx)("div",{className:"flex items-center gap-1","data-testid":"nt-kind-filter",role:"tablist",children:te.map(a=>(0,t.jsx)(B,{"aria-selected":i===a,"data-testid":`nt-kind-${a}`,onClick:n(()=>{Y(a)},"onClick"),role:"tab",size:"sm",type:"button",variant:i===a?"secondary":"ghost",children:a==="all"?r("All"):a},a))}),e[14]=i,e[15]=r,e[16]=c):c=e[16];let m;e[17]!==r?(m=r("Filter devices"),e[17]=r,e[18]=m):m=e[18];let h;e[19]!==r?(h=r("filter endpoint, user"),e[19]=r,e[20]=h):h=e[20];let u;e[21]!==l||e[22]!==m||e[23]!==h?(u=(0,t.jsx)(R,{"aria-label":m,className:"h-8 w-56","data-testid":"nt-search",onChange:ee,placeholder:h,value:l}),e[21]=l,e[22]=m,e[23]=h,e[24]=u):u=e[24];let f;e[25]!==r?(f=r("Refresh"),e[25]=r,e[26]=f):f=e[26];let p;e[27]!==E||e[28]!==f?(p=(0,t.jsx)(B,{className:"ml-auto","data-testid":"nt-refresh",onClick:E,size:"sm",type:"button",variant:"outline",children:f}),e[27]=E,e[28]=f,e[29]=p):p=e[29];let $=L.length>0&&(0,t.jsx)(S,{"data-testid":"nt-count",variant:"secondary",children:r("{count} devices",{count:L.length})}),y;e[30]!==p||e[31]!==$||e[32]!==c||e[33]!==u?(y=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,u,p,$]}),e[30]=p,e[31]=$,e[32]=c,e[33]=u,e[34]=y):y=e[34];let C;e[35]!==d||e[36]!==x?(C=d!==null&&(0,t.jsx)(q,{error:x,testId:"nt-error"}),e[35]=d,e[36]=x,e[37]=C):C=e[37],N=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-notifications",children:[y,C,d===null&&!_&&A.length===0&&(0,t.jsx)(D,{description:r("Registered Web Push / FCM devices appear here. Configure lunora/notify.ts with defineNotify({ store }) and register a device with ctx.push.register(...)."),icon:(0,t.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M15 17h5l-1.4-1.4A2 2 0 0 1 18 14.2V11a6 6 0 0 0-4-5.7V5a2 2 0 1 0-4 0v.3A6 6 0 0 0 6 11v3.2a2 2 0 0 1-.6 1.4L4 17h5m6 0v1a3 3 0 1 1-6 0v-1m6 0H9"})}),testId:"nt-empty",title:r("No registered devices.")}),A.length>0&&(0,t.jsx)(V,{className:"overflow-hidden py-0",children:(0,t.jsx)(W,{className:"max-h-[30rem] overflow-auto px-0",children:(0,t.jsxs)(G,{"data-testid":"nt-table",children:[(0,t.jsx)(J,{children:(0,t.jsxs)(F,{children:[(0,t.jsx)(s,{children:r("kind")}),(0,t.jsx)(s,{children:r("endpoint")}),(0,t.jsx)(s,{children:r("user")}),(0,t.jsx)(s,{children:r("last seen")}),(0,t.jsx)(s,{children:r("status")}),(0,t.jsx)(s,{children:r("error")})]})}),(0,t.jsx)(K,{children:A.map(a=>{let z=Q(a);return(0,t.jsxs)(F,{"data-testid":"nt-row",children:[(0,t.jsx)(o,{children:(0,t.jsx)(S,{variant:"outline",children:a.kind})}),(0,t.jsx)(o,{className:"max-w-[28ch] truncate font-mono text-xs",title:z,children:z}),(0,t.jsx)(o,{className:"max-w-[16ch] truncate font-mono text-xs",children:a.userId??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})}),(0,t.jsx)(o,{className:"text-muted-foreground tabular-nums",children:H(a.lastSeenAt,"\u2014")}),(0,t.jsx)(o,{children:(0,t.jsx)(S,{"data-testid":`nt-status-${a.id}`,variant:ne(a.lastStatus),children:a.lastStatus??r("n/a")})}),(0,t.jsx)(o,{className:"max-w-[28ch] truncate font-mono text-xs text-muted-foreground",title:a.lastError??void 0,children:a.lastError??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})})]},a.id)})})]})})})]}),e[1]=I?.subscriptions,e[2]=d,e[3]=x,e[4]=_,e[5]=i,e[6]=v,e[7]=l,e[8]=r,e[9]=N}else N=e[9];return N},"ge");export{ve as default};
|