@lunora/studio 1.0.0-alpha.20 → 1.0.0-alpha.201
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +6 -0
- package/README.md +1 -1
- package/dist/index.d.mts +1566 -0
- package/dist/index.d.ts +961 -803
- package/dist/index.mjs +1 -0
- package/dist/mount.d.mts +22 -0
- package/dist/mount.d.ts +11 -10
- package/dist/mount.mjs +1 -0
- package/dist/packem_chunks/AdvisorHealthPanel.mjs +1 -0
- package/dist/packem_chunks/ApiTab.mjs +1 -0
- package/dist/packem_chunks/AuditPanel.mjs +1 -0
- package/dist/packem_chunks/DeploymentHealthPanel.mjs +1 -0
- package/dist/packem_chunks/ExportImportPanel.mjs +3 -0
- package/dist/packem_chunks/FileBrowser.mjs +4 -0
- package/dist/packem_chunks/FunctionRunner.mjs +1 -0
- package/dist/packem_chunks/FunctionStatsPanel.mjs +1 -0
- package/dist/packem_chunks/HealthPanel.mjs +1 -0
- package/dist/packem_chunks/InsightsPanel.mjs +1 -0
- package/dist/packem_chunks/LogsPanel.mjs +1 -0
- package/dist/packem_chunks/MailPanel.mjs +2 -0
- package/dist/packem_chunks/MetricsPanel.mjs +1 -0
- package/dist/packem_chunks/NotificationsPanel.mjs +1 -0
- package/dist/packem_chunks/PitrPanel.mjs +1 -0
- package/dist/packem_chunks/SchemaViewer.mjs +1 -0
- package/dist/packem_chunks/SecurityAdvisorPanel.mjs +1 -0
- package/dist/packem_chunks/SettingsPanel.mjs +1 -0
- package/dist/packem_chunks/SqlEditorPanel.mjs +8 -0
- package/dist/packem_chunks/TableEditor.mjs +1 -0
- package/dist/packem_chunks/agents-panel.mjs +1 -0
- package/dist/packem_chunks/analytics-panel.mjs +1 -0
- package/dist/packem_chunks/auth-audit-panel.mjs +1 -0
- package/dist/packem_chunks/auth-config-panel.mjs +1 -0
- package/dist/packem_chunks/auth-sessions-panel.mjs +1 -0
- package/dist/packem_chunks/containers-panel.mjs +1 -0
- package/dist/packem_chunks/dashboards-panel.mjs +1 -0
- package/dist/packem_chunks/evals-panel.mjs +1 -0
- package/dist/packem_chunks/fanout-panel.mjs +1 -0
- package/dist/packem_chunks/flags-panel.mjs +1 -0
- package/dist/packem_chunks/issues-panel.mjs +1 -0
- package/dist/packem_chunks/kv-browser.mjs +1 -0
- package/dist/packem_chunks/log-drains-panel.mjs +4 -0
- package/dist/packem_chunks/migrations-route.mjs +1 -0
- package/dist/packem_chunks/organizations-panel.mjs +1 -0
- package/dist/packem_chunks/payments-panel.mjs +1 -0
- package/dist/packem_chunks/permissions-panel.mjs +1 -0
- package/dist/packem_chunks/queues-panel.mjs +1 -0
- package/dist/packem_chunks/reactors-panel.mjs +1 -0
- package/dist/packem_chunks/rls-panel.mjs +1 -0
- package/dist/packem_chunks/schedule-panel.mjs +1 -0
- package/dist/packem_chunks/sparkline.mjs +1 -0
- package/dist/packem_chunks/storage-rules-panel.mjs +1 -0
- package/dist/packem_chunks/subscriptions-panel.mjs +1 -0
- package/dist/packem_chunks/sync-client-panel.mjs +1 -0
- package/dist/packem_chunks/traces-panel.mjs +1 -0
- package/dist/packem_chunks/users-panel.mjs +1 -0
- package/dist/packem_chunks/vector-browser.mjs +1 -0
- package/dist/packem_chunks/workflows-panel.mjs +1 -0
- package/dist/packem_shared/ADMIN_FUNCTIONS-B8yyk5BX.mjs +1 -0
- package/dist/packem_shared/ApiDocsPanel-BImfQhyJ.mjs +2 -0
- package/dist/packem_shared/ApiReferencePanel-CigvHhCa.mjs +1 -0
- package/dist/packem_shared/CommandPalette-CSdz9zax.mjs +1 -0
- package/dist/packem_shared/ConfirmButton-DU4p72Er.mjs +1 -0
- package/dist/packem_shared/ConnectionBadge-B8Hj5DaE.mjs +1 -0
- package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-DuULO4XM.mjs +1 -0
- package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-D5YMT0gM.mjs +1 -0
- package/dist/packem_shared/DEFAULT_LOCALE-A1Yg5ORA.mjs +1 -0
- package/dist/packem_shared/DataBrowser-DLRa1EYq.mjs +4 -0
- package/dist/packem_shared/DataFilters-Cocu-WWE.mjs +1 -0
- package/dist/packem_shared/ErrorBoundary-BWNF98VF.mjs +1 -0
- package/dist/packem_shared/GlobalDataBrowser-BTbqR6Wc.mjs +1 -0
- package/dist/packem_shared/HomePanel-_BwLI4TQ.mjs +1 -0
- package/dist/packem_shared/MigrationsPanel-BPWzFdxC.mjs +1 -0
- package/dist/packem_shared/OpenRpcReferencePanel-C6CM791D.mjs +1 -0
- package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.mjs +1 -0
- package/dist/packem_shared/ScheduledJobs-B4DPADwk.mjs +1 -0
- package/dist/packem_shared/ShardInput-C6mjgAh4.mjs +1 -0
- package/dist/packem_shared/Studio-CcWQdYrV.mjs +1 -0
- package/dist/packem_shared/StudioApp-fYFz6zZQ.mjs +1 -0
- package/dist/packem_shared/StudioI18nProvider-fVsCSs5L.mjs +1 -0
- package/dist/packem_shared/advisor-view-CPgOok_h.mjs +1 -0
- package/dist/packem_shared/aggregateMetrics-CY05xrYU.mjs +1 -0
- package/dist/packem_shared/alert-PB5W11MM.mjs +1 -0
- package/dist/packem_shared/app.d-BbmO2HA2.d.mts +301 -0
- package/dist/packem_shared/app.d-BbmO2HA2.d.ts +301 -0
- package/dist/packem_shared/badge-r_5B4LHP.mjs +1 -0
- package/dist/packem_shared/bar-chart-BCsEIQoQ.mjs +6 -0
- package/dist/packem_shared/browser-storage-BH1MxLZs.mjs +1 -0
- package/dist/packem_shared/button-q0UYSmrn.mjs +1 -0
- package/dist/packem_shared/card--2hKx4L2.mjs +1 -0
- package/dist/packem_shared/cf-links-CBJ5SywP.mjs +1 -0
- package/dist/packem_shared/checkbox-CnS9cyCz.mjs +1 -0
- package/dist/packem_shared/control-button-BOZ5K-FC.mjs +1 -0
- package/dist/packem_shared/data-grid-DTBAKZlm.mjs +1 -0
- package/dist/packem_shared/data-view-params-qoSTqjAj.mjs +1 -0
- package/dist/packem_shared/dropdown-menu-jLZenfWH.mjs +2 -0
- package/dist/packem_shared/empty-state-D7jEML_T.mjs +1 -0
- package/dist/packem_shared/error-alert-tf5zvSLV.mjs +1 -0
- package/dist/packem_shared/grid-features-Dm80ngyR.mjs +6 -0
- package/dist/packem_shared/home-panel-DCUKd8Uk.mjs +3 -0
- package/dist/packem_shared/input-CXhxesPC.mjs +1 -0
- package/dist/packem_shared/internal-B6haJbiP.mjs +2 -0
- package/dist/packem_shared/label-DKFzyHq6.mjs +1 -0
- package/dist/packem_shared/live-status-BuJdUZFU.mjs +1 -0
- package/dist/packem_shared/log-fields-SBxKyBug.mjs +1 -0
- package/dist/packem_shared/log-line-BoObzuue.mjs +1 -0
- package/dist/packem_shared/modal-shell-CDztwLnv.mjs +1 -0
- package/dist/packem_shared/operation-console-provider-DoloEvon.mjs +1 -0
- package/dist/packem_shared/recording-client-BXUIyBL4.mjs +1 -0
- package/dist/packem_shared/reference-view-DiikOols.mjs +13 -0
- package/dist/packem_shared/schema-diagram-CDj_69jF.mjs +2 -0
- package/dist/packem_shared/scroll-area-CXCQH7VT.mjs +2 -0
- package/dist/packem_shared/select-DPyS18Vy.mjs +2 -0
- package/dist/packem_shared/shard-history-CaO3C4KQ.mjs +1 -0
- package/dist/packem_shared/shortcuts-B9gDaXmw.mjs +1 -0
- package/dist/packem_shared/skeleton-DX1gfixl.mjs +1 -0
- package/dist/packem_shared/sparkline-B_sPPO_8.mjs +1 -0
- package/dist/packem_shared/sql-result-table-C5y0jwaK.mjs +1 -0
- package/dist/packem_shared/stat-card-D0Fe04cX.mjs +1 -0
- package/dist/packem_shared/storage-tier-C2mKwYRj.mjs +1 -0
- package/dist/packem_shared/studio-OqNyRY1N.mjs +2 -0
- package/dist/packem_shared/table-D0SBiDu-.mjs +2 -0
- package/dist/packem_shared/table-list-sidebar-DHG1UJC4.mjs +1 -0
- package/dist/packem_shared/textarea--40GKAyz.mjs +1 -0
- package/dist/packem_shared/trace-handoff-BV3EWqy_.mjs +1 -0
- package/dist/packem_shared/use-admin-query-BKXiqLci.mjs +1 -0
- package/dist/packem_shared/use-async-submit-BTr3w2-K.mjs +1 -0
- package/dist/packem_shared/use-auth-config-CuM3eJZz.mjs +1 -0
- package/dist/packem_shared/use-open-trace-BCW0c9qq.mjs +1 -0
- package/dist/packem_shared/use-shard-key-BsP3o5wT.mjs +1 -0
- package/dist/packem_shared/use-sql-assistant-BhIMDQHV.mjs +1 -0
- package/dist/packem_shared/useDebounced-DVeQ5-oW.mjs +1 -0
- package/dist/packem_shared/utils-bhneXptQ.mjs +1 -0
- package/dist/packem_shared/virtual-rect-D_j7aLxX.mjs +1 -0
- package/dist/packem_shared/wire-codec-Bk4XZGE4.mjs +1 -0
- package/dist/standalone/chunk-225VJ77I.js +1 -0
- package/dist/standalone/chunk-2DX5MROH.js +1 -0
- package/dist/standalone/chunk-2KN4I7HE.js +1 -0
- package/dist/standalone/chunk-2URQKGWU.js +1 -0
- package/dist/standalone/chunk-35DM4JJG.js +1 -0
- package/dist/standalone/chunk-3FBLWUXD.js +1 -0
- package/dist/standalone/chunk-3Q2P62UR.js +1 -0
- package/dist/standalone/chunk-3SSNMKL6.js +1 -0
- package/dist/standalone/chunk-3XMMUGIH.js +1 -0
- package/dist/standalone/chunk-3ZQEIVTV.js +1 -0
- package/dist/standalone/chunk-4GTO7FL5.js +1 -0
- package/dist/standalone/chunk-4JLGLPWV.js +1 -0
- package/dist/standalone/chunk-4L4WTGN5.js +1 -0
- package/dist/standalone/chunk-4ZEL6BYL.js +1 -0
- package/dist/standalone/chunk-55754F6H.js +1 -0
- package/dist/standalone/chunk-56Y26MOD.js +2 -0
- package/dist/standalone/chunk-576LE6SL.js +14 -0
- package/dist/standalone/chunk-5CEAO2OT.js +15 -0
- package/dist/standalone/chunk-5FG7IYMP.js +1 -0
- package/dist/standalone/chunk-5JDWLCSH.js +1 -0
- package/dist/standalone/chunk-5MPUGVON.js +1 -0
- package/dist/standalone/chunk-5SCR3S7R.js +3 -0
- package/dist/standalone/chunk-5WJXVZMZ.js +1 -0
- package/dist/standalone/chunk-66UGPQVC.js +1 -0
- package/dist/standalone/chunk-6D6Z2KXU.js +1 -0
- package/dist/standalone/chunk-6TN5UDKA.js +1 -0
- package/dist/standalone/chunk-6VAKPAHP.js +1 -0
- package/dist/standalone/chunk-6XNP2NTT.js +1 -0
- package/dist/standalone/chunk-7HLP4FYY.js +1 -0
- package/dist/standalone/chunk-7UP3YP2W.js +1 -0
- package/dist/standalone/chunk-AAVLPU5Q.js +1 -0
- package/dist/standalone/chunk-AWHXPIXU.js +1 -0
- package/dist/standalone/chunk-AWJTTLN3.js +1 -0
- package/dist/standalone/chunk-AWWI2VYF.js +1 -0
- package/dist/standalone/chunk-B6TFVYOB.js +1 -0
- package/dist/standalone/chunk-BDO4YYBB.js +6 -0
- package/dist/standalone/chunk-BI7C76FR.js +1 -0
- package/dist/standalone/chunk-BOTGXX4H.js +1 -0
- package/dist/standalone/chunk-C3CSNZEU.js +8 -0
- package/dist/standalone/chunk-CMA4PTV7.js +1 -0
- package/dist/standalone/chunk-CSAYVVS7.js +1 -0
- package/dist/standalone/chunk-CSUROWL2.js +1 -0
- package/dist/standalone/chunk-DX6FAHR2.js +1 -0
- package/dist/standalone/chunk-DYG4U5PH.js +1 -0
- package/dist/standalone/chunk-E7TOMONS.js +4 -0
- package/dist/standalone/chunk-EA2JKR5D.js +1 -0
- package/dist/standalone/chunk-EHW7NMV7.js +1 -0
- package/dist/standalone/chunk-EVTM6Q43.js +1 -0
- package/dist/standalone/chunk-F7I3C4I6.js +1 -0
- package/dist/standalone/chunk-F7UC63UN.js +1 -0
- package/dist/standalone/chunk-FEWMAPNI.js +1 -0
- package/dist/standalone/chunk-FKVZRPV5.js +1 -0
- package/dist/standalone/chunk-FODLDLE2.js +19 -0
- package/dist/standalone/chunk-FSRSK4LY.js +1 -0
- package/dist/standalone/chunk-GGPSI4ZR.js +1 -0
- package/dist/standalone/chunk-GMS77BZD.js +1 -0
- package/dist/standalone/chunk-GXRFTRVN.js +1 -0
- package/dist/standalone/chunk-HE4J46G2.js +1 -0
- package/dist/standalone/chunk-HE5HTGOF.js +1 -0
- package/dist/standalone/chunk-HEAQVSNS.js +1 -0
- package/dist/standalone/chunk-IAA25OZH.js +1 -0
- package/dist/standalone/chunk-IHMGCHAA.js +1 -0
- package/dist/standalone/chunk-IJZT6UQS.js +1 -0
- package/dist/standalone/chunk-IMOHEGMV.js +1 -0
- package/dist/standalone/chunk-IS6LVJ6L.js +1 -0
- package/dist/standalone/chunk-JNREG6BJ.js +1 -0
- package/dist/standalone/chunk-JZBD2LVF.js +1 -0
- package/dist/standalone/chunk-K7AJEMKE.js +1 -0
- package/dist/standalone/chunk-KC5F2JH4.js +1 -0
- package/dist/standalone/chunk-KKJDR66W.js +1 -0
- package/dist/standalone/chunk-LBMSRD6N.js +1 -0
- package/dist/standalone/chunk-ML7GYWXD.js +11 -0
- package/dist/standalone/chunk-MU3P2FI7.js +1 -0
- package/dist/standalone/chunk-MXLAOCAN.js +1 -0
- package/dist/standalone/chunk-NO22645L.js +1 -0
- package/dist/standalone/chunk-OGUKYRFM.js +1 -0
- package/dist/standalone/chunk-OKG3HWSJ.js +1 -0
- package/dist/standalone/chunk-PD2GWOPN.js +1 -0
- package/dist/standalone/chunk-PD6WIDY6.js +1 -0
- package/dist/standalone/chunk-PLHA3OWK.js +3 -0
- package/dist/standalone/chunk-POP5A2JQ.js +1 -0
- package/dist/standalone/chunk-PRYJEMYP.js +8 -0
- package/dist/standalone/chunk-PTBWRF5A.js +1 -0
- package/dist/standalone/chunk-Q4CAKBWN.js +1 -0
- package/dist/standalone/chunk-QDVYJS6Q.js +1 -0
- package/dist/standalone/chunk-QH245NVY.js +5 -0
- package/dist/standalone/chunk-QKEJLVC5.js +1 -0
- package/dist/standalone/chunk-QNIA4ZS7.js +1 -0
- package/dist/standalone/chunk-QP2FHSXU.js +3 -0
- package/dist/standalone/chunk-QPYWFVDD.js +1 -0
- package/dist/standalone/chunk-QVNTRTB2.js +1 -0
- package/dist/standalone/chunk-QXOGCZWM.js +1 -0
- package/dist/standalone/chunk-RAQNNV2D.js +59 -0
- package/dist/standalone/chunk-RFEU2YRN.js +1 -0
- package/dist/standalone/chunk-RFNGDE33.js +1 -0
- package/dist/standalone/chunk-RLLKECZT.js +1 -0
- package/dist/standalone/chunk-RPQL45FL.js +1 -0
- package/dist/standalone/chunk-S3CRZLGS.js +1 -0
- package/dist/standalone/chunk-SUDJTC4S.js +1 -0
- package/dist/standalone/chunk-TIUMFAN2.js +1 -0
- package/dist/standalone/chunk-U6XZFNKM.js +1 -0
- package/dist/standalone/chunk-UAV4RDNG.js +1 -0
- package/dist/standalone/chunk-ULIQFBZU.js +1 -0
- package/dist/standalone/chunk-UYEZR3BI.js +1 -0
- package/dist/standalone/chunk-V3CZW3JB.js +1 -0
- package/dist/standalone/chunk-V3VJAA4D.js +1 -0
- package/dist/standalone/chunk-V7VNQHEY.js +1 -0
- package/dist/standalone/chunk-VMBF4JUM.js +1 -0
- package/dist/standalone/chunk-VVZAPXUZ.js +1 -0
- package/dist/standalone/chunk-W5DFMJJW.js +1 -0
- package/dist/standalone/chunk-W6PEAF4Z.js +4 -0
- package/dist/standalone/chunk-WG44WM7I.js +1 -0
- package/dist/standalone/chunk-WUWBZPUK.js +1 -0
- package/dist/standalone/chunk-XFXYDKOW.js +1 -0
- package/dist/standalone/chunk-XMCWOQ4I.js +1 -0
- package/dist/standalone/chunk-XZMOZFE6.js +1 -0
- package/dist/standalone/chunk-Y6CXU7T4.js +1 -0
- package/dist/standalone/chunk-YKXDMIHQ.js +1 -0
- package/dist/standalone/chunk-YLEFHYPD.js +1 -0
- package/dist/standalone/chunk-YOB2X3FZ.js +1 -0
- package/dist/standalone/chunk-YPRQLCKF.js +1 -0
- package/dist/standalone/chunk-ZIXQNRYF.js +1 -0
- package/dist/standalone/chunk-ZJZ4RRQL.js +1 -0
- package/dist/standalone/chunk-ZMKTNBHL.js +1 -0
- package/dist/standalone/studio.js +9 -378
- package/dist/styles.css +2 -2
- package/package.json +23 -20
- package/dist/index.js +0 -41
- package/dist/mount.js +0 -26
- package/dist/packem_shared/ADMIN_FUNCTIONS-CdaxLGkE.js +0 -48
- package/dist/packem_shared/ApiDocsPanel-BgrN4kml.js +0 -842
- package/dist/packem_shared/ApiReferencePanel-1vubqG5s.js +0 -229
- package/dist/packem_shared/ApiTab-CHkX49o_.js +0 -251
- package/dist/packem_shared/AuditPanel-CP9HM9nq.js +0 -200
- package/dist/packem_shared/CommandPalette-BtgkBzZI.js +0 -373
- package/dist/packem_shared/ConfirmButton-C2eVi2Qv.js +0 -59
- package/dist/packem_shared/ConnectionBadge-B2DDM2Tn.js +0 -111
- package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js +0 -50
- package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js +0 -89
- package/dist/packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js +0 -27
- package/dist/packem_shared/DataBrowser-Bb1gTQ6c.js +0 -4475
- package/dist/packem_shared/DataFilters-FNquMaiu.js +0 -249
- package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
- package/dist/packem_shared/ExportImportPanel-Dj87tRa5.js +0 -197
- package/dist/packem_shared/FileBrowser-CWvxp_is.js +0 -2932
- package/dist/packem_shared/FunctionRunner-DlWApMCH.js +0 -343
- package/dist/packem_shared/FunctionStatsPanel-CuO2Tmw-.js +0 -375
- package/dist/packem_shared/GlobalDataBrowser-3X9uRfdO.js +0 -289
- package/dist/packem_shared/HealthPanel-Dj0GRo5P.js +0 -648
- package/dist/packem_shared/HomePanel-BewOCuag.js +0 -1334
- package/dist/packem_shared/InsightsPanel-y_Q-xdPY.js +0 -461
- package/dist/packem_shared/LogsPanel-C7crgYoS.js +0 -827
- package/dist/packem_shared/MailPanel-PILidruz.js +0 -440
- package/dist/packem_shared/MetricsPanel-DioILzgf.js +0 -1611
- package/dist/packem_shared/MigrationsPanel-DkIcRoE5.js +0 -239
- package/dist/packem_shared/OpenRpcReferencePanel-vbcYbv3V.js +0 -191
- package/dist/packem_shared/PitrPanel-yKJ1JPPk.js +0 -252
- package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
- package/dist/packem_shared/ScheduledJobs-BWNwIN3I.js +0 -262
- package/dist/packem_shared/SchemaViewer-CNr8Wame.js +0 -2512
- package/dist/packem_shared/SecurityAdvisorPanel-BBzv7L3c.js +0 -92
- package/dist/packem_shared/SettingsPanel-BKSKl8tl.js +0 -390
- package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
- package/dist/packem_shared/SqlEditorPanel-CkemCQvy.js +0 -13
- package/dist/packem_shared/Studio-QkOjc2NS.js +0 -33
- package/dist/packem_shared/StudioApp-TEElspKL.js +0 -657
- package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
- package/dist/packem_shared/TableEditor-JS3sXYgS.js +0 -11
- package/dist/packem_shared/advisor-view-CGcfMiPq.js +0 -159
- package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
- package/dist/packem_shared/app.d-Cnij4Zp5.d.ts +0 -300
- package/dist/packem_shared/badge-B2PKA1-5.js +0 -49
- package/dist/packem_shared/bar-chart-CzJAgqkp.js +0 -3245
- package/dist/packem_shared/button-BhsN2uZH.js +0 -49
- package/dist/packem_shared/card-DURq3ElK.js +0 -175
- package/dist/packem_shared/cf-links-2cktDedA.js +0 -8
- package/dist/packem_shared/checkbox-UNkzAxl-.js +0 -63
- package/dist/packem_shared/data-grid-B5CaV3wS.js +0 -183
- package/dist/packem_shared/dropdown-menu-WY4B_eJO.js +0 -280
- package/dist/packem_shared/empty-state-DY_oe0k6.js +0 -98
- package/dist/packem_shared/grid-features-CzUfqgsM.js +0 -840
- package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
- package/dist/packem_shared/internal-rXJEAhXS.js +0 -68
- package/dist/packem_shared/label-D8ykjn5J.js +0 -46
- package/dist/packem_shared/live-status-FZ0psC1z.js +0 -44
- package/dist/packem_shared/reference-view-B4E49Lip.js +0 -2180
- package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
- package/dist/packem_shared/sparkline-10dG-_f0.js +0 -93
- package/dist/packem_shared/sql-editor-panel-CUJoYF1Z.js +0 -2562
- package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
- package/dist/packem_shared/studio-c5Vf7kSh.js +0 -11532
- package/dist/packem_shared/table-_RzNvy3R.js +0 -246
- package/dist/packem_shared/table-editor-9fhJ4hMJ.js +0 -407
- package/dist/packem_shared/table-list-sidebar-Bg7uzbvC.js +0 -832
- package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
- package/dist/packem_shared/use-admin-query-BkbdNFNz.js +0 -105
- package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
- package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
- package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{a as nt,b as rt}from"./chunk-HE4J46G2.js";import{c as tt}from"./chunk-BDO4YYBB.js";import{a as et}from"./chunk-V7VNQHEY.js";import"./chunk-RFNGDE33.js";import"./chunk-V3CZW3JB.js";import"./chunk-MU3P2FI7.js";import"./chunk-XZMOZFE6.js";import"./chunk-YPRQLCKF.js";import"./chunk-GMS77BZD.js";import"./chunk-3Q2P62UR.js";import{a as Ze}from"./chunk-QKEJLVC5.js";import"./chunk-AWHXPIXU.js";import"./chunk-V3VJAA4D.js";import"./chunk-RAQNNV2D.js";import"./chunk-5JDWLCSH.js";import"./chunk-EVTM6Q43.js";import"./chunk-PD6WIDY6.js";import{a as Xe}from"./chunk-2DX5MROH.js";import{b as Ve}from"./chunk-OGUKYRFM.js";import{c as Ke,d as Ce,e as Ee,f as Le,g as He}from"./chunk-OKG3HWSJ.js";import{W as Ye}from"./chunk-PLHA3OWK.js";import"./chunk-Y6CXU7T4.js";import"./chunk-4L4WTGN5.js";import"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import"./chunk-225VJ77I.js";import{a as Je}from"./chunk-ULIQFBZU.js";import{a as qe}from"./chunk-4ZEL6BYL.js";import"./chunk-AWWI2VYF.js";import{f as Ie}from"./chunk-ML7GYWXD.js";import"./chunk-FSRSK4LY.js";import"./chunk-5CEAO2OT.js";import"./chunk-HEAQVSNS.js";import{d as ce,f as Se,g as Ne,h as Ge,o as ue}from"./chunk-FODLDLE2.js";import{a as l,d as Be,e as St,f as Nt,g as qt,i as me}from"./chunk-YKXDMIHQ.js";var G=Be(Nt(),1);var j=Be(St(),1);var u=Be(qt(),1);var Ct="x",ot=" ",kt={'"':'"',"'":"'","[":"]","`":"`"},ct=l((s,e)=>{let n=e+2;for(;n<s.length&&s[n]!==`
|
|
2
|
+
`;)n+=1;return n},"tt"),dt=l((s,e)=>{let n=s.indexOf("*/",e+2);return n===-1?-1:n+2},"nt"),ut=l(s=>{let e=s.split(""),n=0;for(;n<s.length;){let t=s[n]??"",o=kt[t];if(t==="-"&&s[n+1]==="-"){let r=ct(s,n);e.fill(ot,n,r),n=r}else if(t==="/"&&s[n+1]==="*"){let r=dt(s,n);if(r===-1)return;e.fill(ot,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(Ct,n,r+1),n=r+1}else n+=1}for(let t=0;t<s.length;t+=1)s[t]===`
|
|
3
|
+
`&&(e[t]=`
|
|
4
|
+
`);return e.join("")},"st"),Tt=/^(?:explain\s+(?:query\s+plan\s+)?)?(?:select|with)\b/iu,Rt=/\b(?:alter|attach|create|delete|detach|drop|insert|pragma|reindex|truncate|update|vacuum)\b|\breplace\b(?!\s*\()/iu,_t=/^\w+/u,It=/;\s*$/u,Et=/\s/u,mt=l(s=>{let e=0;for(;e<s.length;){let n=s[e];if(n!==void 0&&Et.test(n))e+=1;else if(n==="-"&&s[e+1]==="-")e=ct(s,e);else if(n==="/"&&s[e+1]==="*"){let t=dt(s,e);if(t===-1)break;e=t}else break}return e},"ot"),Lt=l(s=>{let e=mt(s),n=s.slice(e).trimEnd();if(n==="")return{code:"SQL_EMPTY",message:"the query is empty"};let t=(ut(n)??n).replace(It,""),o=n.slice(0,t.length),r=t.indexOf(";");if(r!==-1)return{code:"SQL_MULTIPLE_STATEMENTS",length:1,message:"only a single statement may be run",offset:e+r};let a="the SQL editor is read-only \u2014 only SELECT / WITH / EXPLAIN queries are allowed";if(!Tt.test(o))return{code:"SQL_NOT_READONLY",length:_t.exec(o)?.[0].length??1,message:a,offset:e};let c=Rt.exec(o);if(c!==null)return{code:"SQL_NOT_READONLY",length:c[0].length,message:`${a} (\`${c[0].toUpperCase()}\` is not allowed)`,offset:e+c.index}},"Ot"),Ot=/^explain\b/iu,At=l(s=>Ot.test(s.slice(mt(s)))?s:`EXPLAIN QUERY PLAN ${s}`,"Mt"),Qe=l((s,e)=>{let n=s.trim();if(n==="")return[];let t=e+s.indexOf(n),o=Lt(n);return o?.code==="SQL_EMPTY"?[]:[o===void 0?{offset:t,sql:n}:{offset:t,rejection:o,sql:n}]},"We"),ft=l(s=>{let e=ut(s);if(e===void 0)return Qe(s,0);let n=[],t=0;for(let o=0;o<=e.length;o+=1)o!==e.length&&e[o]!==";"||(n.push(...Qe(s.slice(t,o),t)),t=o+1);return n},"lt"),Dt=["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"],Mt=["FROM","WHERE","ORDER BY","GROUP BY","HAVING","LIMIT","OFFSET","UNION","JOIN","LEFT JOIN","RIGHT JOIN","INNER JOIN","OUTER JOIN","CROSS JOIN"],De=String.fromCodePoint(0),$t=new RegExp(`${De}${String.raw`(\d+)`}${De}`,"gu"),Ft=Dt.map(s=>({pattern:new RegExp(String.raw`\b${s.replaceAll(" ",String.raw`\s+`)}\b`,"giu"),replacement:s})),zt=Mt.map(s=>({pattern:new RegExp(String.raw`\s+${s.replaceAll(" ",String.raw`\s+`)}\b`,"gu"),replacement:`
|
|
5
|
+
${s}`})),Bt=l(s=>{let e=[],n=s.replaceAll(/'(?:[^']|'')*'/gu,t=>(e.push(t),`${De}${(e.length-1).toString()}${De}`)).replaceAll(/\s+/gu," ").trim();for(let{pattern:t,replacement:o}of Ft)n=n.replaceAll(t,o);for(let{pattern:t,replacement:o}of zt)n=n.replaceAll(t,o);return n=n.replaceAll($t,(t,o)=>e[Number(o)]??""),n},"Wt"),Ht=/\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,Qt=new Set(["cross","full","group","having","inner","join","left","limit","offset","on","order","right","union","using","where","window"]),jt=/[^\n]/gu,Wt=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(`
|
|
6
|
+
`,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},"Yt"),Ut=l(s=>{let e="",n=0;for(;n<s.length;){let t=Wt(s,n);t===-1?(e+=s.slice(n,n+1),n+=1):(e+=s.slice(n,t).replaceAll(jt," "),n=t)}return e},"Kt"),Yt=l(s=>{let e=new Set;for(let n of s.matchAll(Pt))e.add((n[1]??"").toLowerCase());return e},"Gt"),Gt=l((s,e)=>{let n=new Map;for(let t of s.matchAll(Ht)){let o=(t[1]??"").toLowerCase(),r=(t[2]??"").toLowerCase();e.has(o)&&(n.set(o,o),r!==""&&!Qt.has(r)&&n.set(r,o))}return n},"Jt"),ht=l((s,e)=>{let n=Ut(s),t=new Set(e.map(o=>o.toLowerCase()));return{ctes:Yt(n),masked:n,targets:Gt(n,t)}},"rt"),Kt=/^(?:__lunora|sqlite_)/iu,Vt=/\b(?:from|join)\s+([a-z_][\w$]*)/giu,Xt=/\b([a-z_][\w$]*)\.([a-z_][\w$]*)/giu,Jt=new Set(["cross","full","group","having","inner","join","lateral","left","limit","offset","order","right","select","union","where","window"]),Zt=l((s,e,n)=>{let t=[];for(let o of s.matchAll(Vt)){let r=o[1]??"",a=r.toLowerCase();!e.has(a)&&!n.has(a)&&!Jt.has(a)&&!Kt.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},"tn"),en=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(c=>c.toLowerCase())));for(let r of s.matchAll(Xt)){let a=(r[1]??"").toLowerCase(),c=r[2]??"",i=n.get(a),d=i===void 0?void 0:o.get(i);d!==void 0&&!d.has(c.toLowerCase())&&t.push({length:c.length,message:`\`${i??""}\` has no column \`${c}\``,offset:r.index+r[0].length-c.length,severity:"error",source:"schema"})}return t},"nn"),tn=/(?<![\w$."])(?:"([a-z_][\w$]*)"|([a-z_][\w$]*))(?![.(])/giu,nn=/\bas\s+"?([a-z_][\w$]*)"?/giu,rn=l((s,e,n,t)=>{let o=[...new Set(n.values())],r=new Map,a=new Set;for(let d of o){for(let h of e.columns[d]??[])a.add(h.toLowerCase());for(let h of e.docFields?.[d]??[])r.set(h.toLowerCase(),h)}if(r.size===0)return[];let c=new Set([...s.matchAll(nn)].map(d=>(d[1]??"").toLowerCase())),i=[];for(let d of s.matchAll(tn)){let h=d[1],b=h??d[2]??"",g=b.toLowerCase(),v=r.get(g);v===void 0||a.has(g)||c.has(g)||t.has(g)||n.has(g)||i.push({length:b.length,message:`\`${v}\` is a \`__doc__\` field, not a column \u2014 use \`json_extract(__doc__, '$.${v}')\``,offset:d.index+(h===void 0?0:1),severity:"error",source:"schema"})}return i},"ln"),on=l((s,e)=>{if(s.trim()==="")return[];let n=ft(s),t=new Set(e.tables.map(r=>r.toLowerCase())),o=[];for(let r of n){let{offset:a,rejection:c}=r;if(c!==void 0){o.push({length:c.length,message:c.message,offset:c.offset===void 0?a:a+c.offset,severity:"error",source:"gate"});continue}let{ctes:i,masked:d,targets:h}=ht(r.sql,e.tables);o.push(...[...Zt(d,t,i),...en(d,e,h),...rn(d,e,h,i)].map(b=>({...b,offset:b.offset===void 0?a:a+b.offset})))}return o},"rn"),sn=Se(qe.lintSql),ln=600,an=l((s,e,n)=>{let t=Ie(),[o,r]=(0,j.useState)([]),a=(0,j.useMemo)(()=>on(s,e),[s,e]),c=Ze(s,ln),i=a.some(b=>b.source==="gate")||c.trim()==="",d=(0,j.useCallback)(async b=>{try{let g=await t.query(sn,{sql:c},Ne(n));b.cancelled||r(g.diagnostics??[])}catch{b.cancelled||r([])}},[t,c,n]);(0,j.useEffect)(()=>{if(i){r([]);return}let b={cancelled:!1};return ue(d(b)),()=>{b.cancelled=!0}},[d,i]);let h=c===s;return(0,j.useMemo)(()=>h?[...a,...o]:a,[a,o,h])},"dn"),Oe=8,cn=["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"],dn=new Set(["AND","BY","HAVING","ON","OR","SELECT","WHERE"]),un=/[\w$]/,pt=l(s=>s!==void 0&&un.test(s),"it"),bt=l(s=>{let e=s.length;for(;e>0&&pt(s[e-1]);)e-=1;return s.slice(e)},"at"),gt=l((s,e)=>{let n=e;for(;n>0&&pt(s[n-1]);)n-=1;return{end:e,start:n,text:s.slice(n,e)}},"ct"),st=l((s,e)=>{let n=s.slice(0,e).trimEnd();return n.endsWith(".")||dn.has(bt(n).toUpperCase())},"Je"),mn=l((s,e,n)=>{let t=s.slice(0,e);if(!t.endsWith("."))return;let o=bt(t.slice(0,-1));if(o!=="")return ht(s,n).targets.get(o.toLowerCase())??o},"hn"),je=l((s,e)=>s.toLowerCase().startsWith(e.toLowerCase()),"Ue"),lt=l((s,e,n,t)=>{let o=[];for(let r of s)if(je(r,e)&&(o.push(t(r)),o.length>=n))break;return o},"Ve"),fn=l((s,e,n)=>{let t=new Map;for(let[o,r]of Object.entries(s.columns))for(let a of r)if(je(a,e)&&!t.has(a)&&(t.set(a,o),t.size>=n))return[...t].map(([c,i])=>({detail:i,kind:"column",label:c}));return[...t].map(([o,r])=>({detail:r,kind:"column",label:o}))},"pn"),hn=l((s,e,n)=>{let t=gt(s,e),o=mn(s,t.start,n.tables);if(o!==void 0){let i=n.columns[o]??n.columns[o.toLowerCase()]??[];return lt(i,t.text,Oe,d=>({detail:o,kind:"column",label:d}))}if(t.text===""&&!st(s,t.start))return[];let r=lt(n.tables,t.text,Oe,i=>({kind:"table",label:i})),a=fn(n,t.text,Oe),c=cn.flatMap(i=>t.text!==""&&je(i,t.text)&&i.toLowerCase()!==t.text.toLowerCase()?[{kind:"keyword",label:i}]:[]);return(st(s,t.start)?[...a,...r,...c]:[...r,...a,...c]).slice(0,Oe)},"bn"),pn=l((s,e,n)=>{let t=gt(s,e),o=s.slice(0,t.start)+n.label+s.slice(t.end);return{caret:t.start+n.label.length,value:o}},"gn"),bn=["boxSizing","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textTransform","width","wordSpacing"],gn=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 bn)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,c=r.offsetTop-s.scrollTop;return t.remove(),{left:a,top:c}},"vn"),xn=l((s,e,n)=>{let t=(0,G.c)(16),[o,r]=(0,j.useState)(null),a;t[0]!==s||t[1]!==e?(a=l((y,x)=>{let q=hn(y,x,s);if(q.length===0){r(null);return}let w=e.current,{left:p,top:N}=w===null?{left:0,top:0}:gn(w,x);r(k=>k!==null&&k.active===0&&k.left===p&&k.top===N&&k.suggestions.length===q.length&&k.suggestions.every((R,T)=>{let E=q.at(T);return R.kind===E?.kind&&R.label===E.label&&R.detail===E.detail})?k:{active:0,left:p,suggestions:q,top:N})},"r"),t[0]=s,t[1]=e,t[2]=a):a=t[2];let c=a,i;t[3]===Symbol.for("react.memo_cache_sentinel")?(i=l(()=>{r(null)},"a"),t[3]=i):i=t[3];let d=i,h;t[4]===Symbol.for("react.memo_cache_sentinel")?(h=l(y=>{r(x=>{if(x===null)return x;let q=x.suggestions.length,w=(x.active+y+q)%q;return{...x,active:w}})},"f"),t[4]=h):h=t[4];let b=h,g;t[5]!==n||t[6]!==o||t[7]!==e?(g=l(y=>{let x=e.current;if(o===null||x===null)return!1;let q=o.suggestions[y??o.active];if(q===void 0)return!1;let w=pn(x.value,x.selectionStart,q);return n(w.value),r(null),requestAnimationFrame(()=>{let p=e.current;p!==null&&(p.focus(),p.setSelectionRange(w.caret,w.caret))}),!0},"m"),t[5]=n,t[6]=o,t[7]=e,t[8]=g):g=t[8];let v=g,m;t[9]!==v?(m=l(()=>v(),"d"),t[9]=v,t[10]=m):m=t[10];let S=m,f;return t[11]!==S||t[12]!==v||t[13]!==c||t[14]!==o?(f={close:d,commit:S,commitAt:v,move:b,refresh:c,state:o},t[11]=S,t[12]=v,t[13]=c,t[14]=o,t[15]=f):f=t[15],f},"yn"),vn={column:"column",keyword:"keyword",table:"table"},yn=20,wn=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+yn},e[0]=o,e[1]=a):a=e[1];let c=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 h;e[8]!==n||e[9]!==t||e[10]!==o.active||e[11]!==r?(h=l((b,g)=>(0,u.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(v=>{v.preventDefault(),t(g)},"onMouseDown"),role:"option",children:[(0,u.jsx)("span",{className:"truncate font-mono",children:b.label}),b.detail!==void 0&&(0,u.jsx)("span",{className:"ms-auto truncate text-xs text-muted-foreground",children:b.detail}),(0,u.jsx)("span",{className:"shrink-0 font-mono text-[10px] tracking-wide text-muted-foreground/70 uppercase",children:r(vn[b.kind])})]},`${b.kind}:${b.label}`),"f"),e[8]=n,e[9]=t,e[10]=o.active,e[11]=r,e[12]=h):h=e[12],i=o.suggestions.map(h),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 d;return e[13]!==n||e[14]!==c||e[15]!==i?(d=(0,u.jsx)("ul",{className:"absolute z-30 max-h-56 w-72 overflow-auto rounded-md border border-border bg-popover py-1 text-popover-foreground shadow-md","data-testid":"sql-autocomplete",id:n,role:"listbox",style:c,children:i}),e[13]=n,e[14]=c,e[15]=i,e[16]=d):d=e[16],d},"Cn"),Sn=Se(qe.listTables),Nn=Se(qe.readTablePage),qn=l(s=>{let e=(0,G.c)(18),n=Ie(),t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],e[0]=t):t=e[0];let[o,r]=(0,j.useState)(t),a;e[1]===Symbol.for("react.memo_cache_sentinel")?(a={},e[1]=a):a=e[1];let[c,i]=(0,j.useState)(a),d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d={},e[2]=d):d=e[2];let[h,b]=(0,j.useState)(d),g;e[3]===Symbol.for("react.memo_cache_sentinel")?(g=new Set,e[3]=g):g=e[3];let v=(0,j.useRef)(g),m,S;e[4]!==n||e[5]!==s?(m=l(()=>{let p={cancelled:!1};return ue((async()=>{try{let N=await n.query(Sn,{},Ne(s));p.cancelled||(r(N.map(kn)),i({}),b({}),v.current=new Set)}catch{p.cancelled||(r([]),i({}),b({}),v.current=new Set)}})()),()=>{p.cancelled=!0}},"d"),S=[n,s],e[4]=n,e[5]=s,e[6]=m,e[7]=S):(m=e[6],S=e[7]),(0,j.useEffect)(m,S);let f;e[8]!==n||e[9]!==s?(f=l(p=>{v.current.has(p)||(v.current.add(p),ue((async()=>{try{let N=await n.query(Nn,{limit:1,offset:0,table:p},Ne(s)),{sqlColumns:k}=N;if(k===void 0){v.current.delete(p);return}let R=new Set(k),T=N.columns.filter(E=>!R.has(E));i(E=>({...E,[p]:k})),b(E=>({...E,[p]:T}))}catch{v.current.delete(p)}})()))},"u"),e[8]=n,e[9]=s,e[10]=f):f=e[10];let y=f,x;e[11]!==c||e[12]!==h||e[13]!==o?(x={columns:c,docFields:h,tables:o},e[11]=c,e[12]=h,e[13]=o,e[14]=x):x=e[14];let q=x,w;return e[15]!==y||e[16]!==q?(w={probe:y,schema:q},e[15]=y,e[16]=q,e[17]=w):w=e[17],w},"En"),Pe=/\b(?:from|join|update|into)\s+([a-z_][\w$]*)|\b([a-z_][\w$]*)\s*\./gi,Cn=l(s=>{let e=new Set;Pe.lastIndex=0;let n=Pe.exec(s);for(;n!==null;)e.add(n[1]??n[2]),n=Pe.exec(s);return[...e]},"Tn");function kn(s){return s.name}l(kn,"Rn");var Tn=l(s=>{let e=(0,G.c)(34),{onSubmit:n,probe:t,schema:o,setDraft:r}=s,a=(0,j.useId)(),c=(0,j.useRef)(null),i=(0,j.useRef)(null),d=(0,j.useRef)(null),h=xn(o,d,r),{close:b,commit:g,commitAt:v,move:m,refresh:S,state:f}=h,y;e[0]!==v?(y=l(C=>{v(C)},"v"),e[0]=v,e[1]=y):y=e[1];let x=y,q;e[2]!==S?(q=l(()=>{let C=d.current;C!==null&&C===document.activeElement&&S(C.value,C.selectionStart)},"N"),e[2]=S,e[3]=q):q=e[3];let w;e[4]!==S||e[5]!==o?(w=[S,o],e[4]=S,e[5]=o,e[6]=w):w=e[6],(0,j.useEffect)(q,w);let p;e[7]!==t||e[8]!==S||e[9]!==r?(p=l(C=>{let{selectionStart:P,value:_}=C.target;r(_);for(let $ of Cn(_))t($);S(_,P)},"h"),e[7]=t,e[8]=S,e[9]=r,e[10]=p):p=e[10];let N=p,k;e[11]!==S?(k=l(C=>{let P=C.currentTarget;S(P.value,P.selectionStart)},"w"),e[11]=S,e[12]=k):k=e[12];let R=k,T;e[13]!==f||e[14]!==b||e[15]!==g||e[16]!==m||e[17]!==n?(T=l(C=>{if(f!==null){if(C.key==="ArrowDown"){C.preventDefault(),m(1);return}if(C.key==="ArrowUp"){C.preventDefault(),m(-1);return}if(C.key==="Escape"){C.preventDefault(),b();return}if((C.key==="Enter"||C.key==="Tab")&&!C.metaKey&&!C.ctrlKey&&g()){C.preventDefault();return}}(C.metaKey||C.ctrlKey)&&C.key==="Enter"&&(C.preventDefault(),n())},"T"),e[13]=f,e[14]=b,e[15]=g,e[16]=m,e[17]=n,e[18]=T):T=e[18];let E=T,I;e[19]!==b?(I=l(()=>{requestAnimationFrame(()=>{b()})},"C"),e[19]=b,e[20]=I):I=e[20];let O=I,A;e[21]===Symbol.for("react.memo_cache_sentinel")?(A=l(C=>{let{scrollLeft:P,scrollTop:_}=C.currentTarget;c.current!==null&&(c.current.scrollTop=_),i.current!==null&&(i.current.scrollTop=_,i.current.scrollLeft=P)},"q"),e[21]=A):A=e[21];let L=A,F;e[22]===Symbol.for("react.memo_cache_sentinel")?(F=l(C=>{let P=d.current;P===null||C.offset===void 0||(P.focus(),P.setSelectionRange(C.offset,C.offset+(C.length??0)))},"B"),e[22]=F):F=e[22];let M=F,H;e[23]!==N||e[24]!==O||e[25]!==E||e[26]!==R?(H={onBlur:O,onChange:N,onKeyDown:E,onScroll:L,onSelect:R},e[23]=N,e[24]=O,e[25]=E,e[26]=R,e[27]=H):H=e[27];let D;return e[28]!==f||e[29]!==b||e[30]!==a||e[31]!==x||e[32]!==H?(D={autocompleteState:f,closeAutocomplete:b,handlers:H,listboxId:a,onPickSuggestion:x,editorRef:d,gutterRef:c,overlayRef:i,revealDiagnostic:M},e[28]=f,e[29]=b,e[30]=a,e[31]=x,e[32]=H,e[33]=D):D=e[33],D},"Ln"),Rn="lunora-studio-sql-tabs",_n="lunora-studio-sql-active-tab",We=12,ke=l((s="",e="")=>({activeId:null,id:He("tab"),name:e,sql:s}),"we"),In=l(()=>Le(_n,""),"An"),En=l(s=>{let e=(0,G.c)(16),[n,t]=Ee(Rn),[o,r]=In(),[a]=(0,j.useState)(s),c,i;e[0]!==a||e[1]!==t||e[2]!==n.length?(c=l(()=>{n.length===0&&t([a])},"c"),i=[a,t,n.length],e[0]=a,e[1]=t,e[2]=n.length,e[3]=c,e[4]=i):(c=e[3],i=e[4]),(0,j.useEffect)(c,i);let d;e[5]!==a||e[6]!==n?(d=n.length===0?[a]:n,e[5]=a,e[6]=n,e[7]=d):d=e[7];let h=d,b;e[8]!==o||e[9]!==h?(b=h.some(m=>m.id===o)?o:h[0]?.id??"",e[8]=o,e[9]=h,e[10]=b):b=e[10];let g=b,v;return e[11]!==g||e[12]!==r||e[13]!==t||e[14]!==h?(v={activeId:g,setActiveId:r,setTabs:t,tabs:h},e[11]=g,e[12]=r,e[13]=t,e[14]=h,e[15]=v):v=e[15],v},"qn"),xt=l(s=>s.activeId===null&&s.sql.trim()!=="","dt"),Ln=l((s,e)=>[...s,e].slice(-We),"On"),On=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}},"Dn"),An=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}},"Mn"),Dn=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"),Mn=l(s=>{let e=s();return{activeId:e.id,tabs:[e]}},"Bn"),$n=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]},"Hn"),at={error:null,pane:"results",result:null,running:!1},Fn=l(s=>{let e=(0,G.c)(66),{activeId:n,setActiveId:t,setTabs:o,tabs:r}=En(s),a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={},e[0]=a):a=e[0];let[c,i]=(0,j.useState)(a),[d,h]=(0,j.useState)(null),[b,g]=(0,j.useState)(null),v;e[1]!==n||e[2]!==r?(v=r.find(B=>B.id===n)??r[0]??ke(),e[1]=n,e[2]=r,e[3]=v):v=e[3];let m=v,S=c[m.id]??at,f;e[4]!==m.id||e[5]!==o?(f=l(B=>{o(U=>U.map(Y=>Y.id===m.id?{...Y,...B}:Y))},"u"),e[4]=m.id,e[5]=o,e[6]=f):f=e[6];let y=f,x;e[7]!==m.id?(x=l(B=>{i(U=>{let Y=U[m.id]??at;return{...U,[m.id]:{...Y,...B}}})},"g"),e[7]=m.id,e[8]=x):x=e[8];let q=x,w;e[9]!==t||e[10]!==o||e[11]!==r.length?(w=l(()=>{if(r.length>=We)return;let B=ke();o(U=>Ln(U,B)),t(B.id)},"y"),e[9]=t,e[10]=o,e[11]=r.length,e[12]=w):w=e[12];let p=w,N;e[13]!==t||e[14]!==o?(N=l(B=>{h(null),g(null),o(B.tabs),t(B.activeId);let U=new Set(B.tabs.map(zn));i(Y=>Object.fromEntries(Object.entries(Y).filter(X=>{let[fe]=X;return U.has(fe)})))},"E"),e[13]=t,e[14]=o,e[15]=N):N=e[15];let k=N,R;e[16]!==k||e[17]!==r?(R=l(B=>{k(On(r,B,ke))},"R"),e[16]=k,e[17]=r,e[18]=R):R=e[18];let T=R,E;e[19]!==n||e[20]!==k||e[21]!==r?(E=l((B,U)=>{k(B==="others"?An(r,U):B==="right"?Dn(r,U,n):Mn(ke))},"_"),e[19]=n,e[20]=k,e[21]=r,e[22]=E):E=e[22];let I=E,O;e[23]!==I||e[24]!==d||e[25]!==r?(O=l(B=>{d!==null&&($n(B,r,d.id).some(Bn)?g(B):I(B,d.id))},"A"),e[23]=I,e[24]=d,e[25]=r,e[26]=O):O=e[26];let A=O,L;e[27]===Symbol.for("react.memo_cache_sentinel")?(L=l((B,U)=>{U.preventDefault(),g(null),h({id:B,x:U.clientX,y:U.clientY})},"I"),e[27]=L):L=e[27];let F=L,M;e[28]===Symbol.for("react.memo_cache_sentinel")?(M=l(()=>{h(null),g(null)},"D"),e[28]=M):M=e[28];let H=M,D;e[29]===Symbol.for("react.memo_cache_sentinel")?(D=l(B=>{B.preventDefault(),h(null),g(null)},"O"),e[29]=D):D=e[29];let C=D,P;e[30]!==A?(P=l(()=>{A("others")},"F"),e[30]=A,e[31]=P):P=e[31];let _=P,$;e[32]!==A?($=l(()=>{A("right")},"M"),e[32]=A,e[33]=$):$=e[33];let W=$,z;e[34]!==A?(z=l(()=>{A("all")},"$"),e[34]=A,e[35]=z):z=e[35];let J=z,Z;e[36]!==I||e[37]!==b||e[38]!==d?(Z=l(()=>{d!==null&&b!==null&&I(b,d.id),g(null)},"Z"),e[36]=I,e[37]=b,e[38]=d,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]!==d?(V=d===null?void 0:{left:d.x,top:d.y},e[41]=d,e[42]=V):V=e[42];let Q=V,ne;e[43]!==o?(ne=l(B=>{o(U=>U.map(Y=>Y.activeId===B?{...Y,activeId:null}:Y))},"ne"),e[43]=o,e[44]=ne):ne=e[44];let re=ne,oe;e[45]!==o?(oe=l((B,U)=>{o(Y=>Y.map(X=>X.id===B?{...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]!==p||e[50]!==T||e[51]!==ee||e[52]!==J||e[53]!==_||e[54]!==W||e[55]!==S||e[56]!==q||e[57]!==y||e[58]!==b||e[59]!==se||e[60]!==t||e[61]!==d||e[62]!==Q||e[63]!==r||e[64]!==re?(le={activeTab:m,activeTabId:n,addEditorTab:p,cancelBulk:ie,closeEditorTab:T,closeTabMenu:H,confirmBulk:ee,menuStyle:Q,onBackdropContextMenu:C,onCloseAll:J,onCloseOthers:_,onCloseToRight:W,openTabMenu:F,output:S,patchActiveOutput:q,patchActiveTab:y,pendingBulk:b,renameTab:se,setActiveTabId:t,tabMenu:d,tabs:r,unlinkQuery:re},e[47]=m,e[48]=n,e[49]=p,e[50]=T,e[51]=ee,e[52]=J,e[53]=_,e[54]=W,e[55]=S,e[56]=q,e[57]=y,e[58]=b,e[59]=se,e[60]=t,e[61]=d,e[62]=Q,e[63]=r,e[64]=re,e[65]=le):le=e[65],le},"Pn");function zn(s){return s.id}l(zn,"Fn");function Bn(s){return xt(s)}l(Bn,"Wn");var Hn="lunora-studio-sql-queries",we="lunora-studio-sql-history",Pn="lunora-studio-sql-remember-history",Qn=25,jn=l(s=>{let e=(0,G.c)(41),{loadIntoActiveTab:n,unlinkQuery:t}=s,o=ce(),[r,a]=Ee(Hn),[c,i]=Le(Pn,!1),[d,h]=Ee(we,c?"local":"session"),b,g;e[0]!==c?(b=l(()=>{c||Ce(we,"local")},"p"),g=[c],e[0]=c,e[1]=b,e[2]=g):(b=e[1],g=e[2]),(0,j.useEffect)(b,g);let[v,m]=(0,j.useState)(""),S=(0,j.useRef)(null),f;e[3]!==h?(f=l(_=>{h($=>$[0]?.sql===_?$:[{at:Date.now(),sql:_},...$.filter(W=>W.sql!==_)].slice(0,Qn))},"u"),e[3]=h,e[4]=f):f=e[4];let y=f,x;e[5]!==n||e[6]!==a||e[7]!==o?(x=l(()=>{let _={id:He("q"),name:o("Untitled query"),sql:""};a($=>[_,...$]),n("",_.id)},"g"),e[5]=n,e[6]=a,e[7]=o,e[8]=x):x=e[8];let q=x,w;e[9]!==n||e[10]!==r?(w=l(_=>{let $=r.find(W=>W.id===_);$!==void 0&&(n($.sql,_),S.current?.querySelector(`[data-testid="sql-query-${_}"]`)?.scrollIntoView({block:"nearest"}))},"y"),e[9]=n,e[10]=r,e[11]=w):w=e[11];let p=w,N;e[12]!==a||e[13]!==t?(N=l(_=>{a($=>$.filter(W=>W.id!==_)),t(_)},"E"),e[12]=a,e[13]=t,e[14]=N):N=e[14];let k=N,R;e[15]!==n?(R=l(_=>{n(_.currentTarget.dataset.sql??"",null)},"R"),e[15]=n,e[16]=R):R=e[16];let T=R,E;e[17]!==n?(E=l(_=>{n(_.currentTarget.dataset.sql??"",null)},"_"),e[17]=n,e[18]=E):E=e[18];let I=E,O;e[19]!==h?(O=l(()=>{h([]),Ce(we,"local"),Ce(we,"session")},"A"),e[19]=h,e[20]=O):O=e[20];let A=O,L;e[21]!==d||e[22]!==i?(L=l(_=>{Ke(we,d,_?"local":"session"),_||Ce(we,"local"),i(_)},"I"),e[21]=d,e[22]=i,e[23]=L):L=e[23];let F=L,M;e[24]===Symbol.for("react.memo_cache_sentinel")?(M=l(_=>{m(_.target.value)},"D"),e[24]=M):M=e[24];let H=M,D;e[25]!==a?(D=l((_,$)=>{a(W=>W.map(z=>z.id===_?{...z,sql:$}:z))},"O"),e[25]=a,e[26]=D):D=e[26];let C=D,P;return e[27]!==A||e[28]!==k||e[29]!==d||e[30]!==I||e[31]!==T||e[32]!==q||e[33]!==r||e[34]!==y||e[35]!==c||e[36]!==v||e[37]!==p||e[38]!==F||e[39]!==C?(P={clearHistory:A,deleteQuery:k,history:d,listRef:S,loadFromHistory:I,loadTemplate:T,newQuery:q,onSearchChange:H,queries:r,recordHistory:y,rememberHistory:c,search:v,selectQuery:p,setRememberHistory:F,updateQuerySql:C},e[27]=A,e[28]=k,e[29]=d,e[30]=I,e[31]=T,e[32]=q,e[33]=r,e[34]=y,e[35]=c,e[36]=v,e[37]=p,e[38]=F,e[39]=C,e[40]=P):P=e[40],P},"jn"),vt="p-3 font-mono text-xs leading-5 whitespace-pre-wrap break-words",Wn=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},"Yn"),Un=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.","Kn"),Yn=l(s=>{let e=(0,G.c)(51),{assistant:n,failed:t,onGenerated:o}=s,r=ce(),[a,c]=(0,j.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 d=i,h;if(e[2]!==n||e[3]!==t||e[4]!==o||e[5]!==d||e[6]!==a||e[7]!==r){let b=n.reason("sql"),g;e[9]!==n||e[10]!==t||e[11]!==o||e[12]!==a?(g=l(I=>{let O=a.trim();O===""&&!I||ue((async()=>{let A=await n.generate(O===""?"fix the failing statement":O,I?t:void 0);A!==void 0&&o(A)})())},"m"),e[9]=n,e[10]=t,e[11]=o,e[12]=a,e[13]=g):g=e[13];let v=g,m;e[14]!==r?(m=r("Describe the query you want"),e[14]=r,e[15]=m):m=e[15];let S;e[16]===Symbol.for("react.memo_cache_sentinel")?(S=l(I=>{c(I.target.value)},"S"),e[16]=S):S=e[16];let f;e[17]!==v?(f=l(I=>{I.key==="Enter"&&(I.preventDefault(),v(!1))},"u"),e[17]=v,e[18]=f):f=e[18];let y;e[19]!==r?(y=r("Describe the query you want"),e[19]=r,e[20]=y):y=e[20];let x;e[21]!==d||e[22]!==a||e[23]!==m||e[24]!==f||e[25]!==y?(x=(0,u.jsx)(Ye,{"aria-label":m,className:"h-7 flex-1 text-xs","data-testid":"sql-assistant-prompt",disabled:d,onChange:S,onKeyDown:f,placeholder:y,value:a}),e[21]=d,e[22]=a,e[23]=m,e[24]=f,e[25]=y,e[26]=x):x=e[26];let q=d&&"opacity-60",w;e[27]!==q?(w=me("rounded-md border border-border px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent",q),e[27]=q,e[28]=w):w=e[28];let p;e[29]!==d||e[30]!==a?(p=d||a.trim()==="",e[29]=d,e[30]=a,e[31]=p):p=e[31];let N;e[32]!==v?(N=l(()=>{v(!1)},"E"),e[32]=v,e[33]=N):N=e[33];let k;e[34]!==d||e[35]!==r?(k=r(d?"Thinking\u2026":"Draft SQL"),e[34]=d,e[35]=r,e[36]=k):k=e[36];let R;e[37]!==w||e[38]!==p||e[39]!==N||e[40]!==k?(R=(0,u.jsx)("button",{className:w,"data-testid":"sql-assistant-generate",disabled:p,onClick:N,type:"button",children:k}),e[37]=w,e[38]=p,e[39]=N,e[40]=k,e[41]=R):R=e[41];let T;e[42]!==t||e[43]!==d||e[44]!==v||e[45]!==r?(T=t!==void 0&&(0,u.jsx)("button",{className:"rounded-md border border-border px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"sql-assistant-fix",disabled:d,onClick:l(()=>{v(!0)},"onClick"),type:"button",children:r("Fix this")}),e[42]=t,e[43]=d,e[44]=v,e[45]=r,e[46]=T):T=e[46];let E;e[47]!==R||e[48]!==T||e[49]!==x?(E=(0,u.jsxs)("div",{className:"flex items-center gap-2",children:[x,R,T]}),e[47]=R,e[48]=T,e[49]=x,e[50]=E):E=e[50],h=(0,u.jsxs)("div",{className:"flex flex-col gap-1 border-b border-border px-3 py-2","data-testid":"sql-assistant",children:[E,b!==void 0&&(0,u.jsx)("p",{className:"text-[11px] text-muted-foreground","data-testid":"sql-assistant-reason",role:"status",children:Un(b)})]}),e[2]=n,e[3]=t,e[4]=o,e[5]=d,e[6]=a,e[7]=r,e[8]=h}else h=e[8];return h},"Gn"),Gn=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 d=Wn(n,t.length);if(d.length===0){a=null;break e}r=[];let h=0;for(let[b,g]of d.entries())g.start>h&&r.push(t.slice(h,g.start)),r.push((0,u.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()}-${b.toString()}`)),h=g.end;r.push(t.slice(h))}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 c;e[4]===Symbol.for("react.memo_cache_sentinel")?(c=me("pointer-events-none absolute inset-0 overflow-hidden text-transparent",vt),e[4]=c):c=e[4];let i;return e[5]!==r||e[6]!==o?(i=(0,u.jsx)("div",{"aria-hidden":"true",className:c,"data-testid":"sql-diagnostics-overlay",ref:o,children:r}),e[5]=r,e[6]=o,e[7]=i):i=e[7],i},"Jn"),Kn={gate:"read-only",plan:"plan",schema:"schema",syntax:"syntax"},Vn=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((d,h)=>(0,u.jsx)("li",{children:(0,u.jsxs)("button",{className:"flex w-full items-start gap-2 px-3 py-1 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-problem",onClick:l(()=>{t(d)},"onClick"),type:"button",children:[(0,u.jsx)("span",{className:me("mt-px shrink-0 rounded px-1 font-mono text-[10px] uppercase",d.severity==="error"?"bg-destructive/15 text-destructive":"bg-amber-500/15 text-amber-600"),children:Kn[d.source]}),(0,u.jsx)("span",{className:"min-w-0 text-muted-foreground",children:d.message})]})},`${d.source}-${(d.offset??h).toString()}-${h.toString()}`),"a"),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 c;return e[7]!==r||e[8]!==a?(c=(0,u.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]=c):c=e[9],c},"Xn"),Xn={minWidth:"2.75rem",paddingInline:"0.5rem"},Jn=l(s=>{let e=(0,G.c)(64),{assistant:n,autocomplete:t,diagnostics:o,draft:r,failed:a,handlers:c,editorRef:i,gutterRef:d,listboxId:h,onGenerated:b,onPickSuggestion:g,onRevealDiagnostic:v,overlayRef:m}=s,S=ce(),f,y,x,q,w,p,N,k;if(e[0]!==n||e[1]!==r||e[2]!==a||e[3]!==d||e[4]!==b){let P=r.split(`
|
|
7
|
+
`).length;N="flex min-h-0 min-w-0 flex-1 flex-col",e[13]!==n||e[14]!==a||e[15]!==b?(k=(0,u.jsx)(Yn,{assistant:n,failed:a,onGenerated:b}),e[13]=n,e[14]=a,e[15]=b,e[16]=k):k=e[16],p="flex min-h-0 min-w-0 flex-1",f="true",y="shrink-0 select-none overflow-hidden border-e border-border bg-muted/30 py-3 text-end font-mono text-xs leading-5 text-muted-foreground/60",x=d,q=Xn,w=Array.from({length:P},Zn),e[0]=n,e[1]=r,e[2]=a,e[3]=d,e[4]=b,e[5]=f,e[6]=y,e[7]=x,e[8]=q,e[9]=w,e[10]=p,e[11]=N,e[12]=k}else f=e[5],y=e[6],x=e[7],q=e[8],w=e[9],p=e[10],N=e[11],k=e[12];let R;e[17]!==f||e[18]!==y||e[19]!==x||e[20]!==q||e[21]!==w?(R=(0,u.jsx)("div",{"aria-hidden":f,className:y,ref:x,style:q,children:w}),e[17]=f,e[18]=y,e[19]=x,e[20]=q,e[21]=w,e[22]=R):R=e[22];let T;e[23]!==o||e[24]!==r||e[25]!==m?(T=(0,u.jsx)(Gn,{diagnostics:o,draft:r,scrollRef:m}),e[23]=o,e[24]=r,e[25]=m,e[26]=T):T=e[26];let E;e[27]!==t||e[28]!==h?(E=t===null?void 0:`${h}-opt-${t.active.toString()}`,e[27]=t,e[28]=h,e[29]=E):E=e[29];let I=t===null?void 0:h,O=t!==null,A;e[30]!==S?(A=S("SQL query"),e[30]=S,e[31]=A):A=e[31];let L;e[32]!==r||e[33]!==i||e[34]!==c.onBlur||e[35]!==c.onChange||e[36]!==c.onKeyDown||e[37]!==c.onScroll||e[38]!==c.onSelect||e[39]!==E||e[40]!==I||e[41]!==O||e[42]!==A?(L=(0,u.jsx)("textarea",{"aria-activedescendant":E,"aria-autocomplete":"list","aria-controls":I,"aria-expanded":O,"aria-label":A,className:`relative size-full resize-none bg-transparent outline-none ${vt}`,"data-testid":"sql-input",onBlur:c.onBlur,onChange:c.onChange,onKeyDown:c.onKeyDown,onScroll:c.onScroll,onSelect:c.onSelect,placeholder:"SELECT * FROM \u2026",ref:i,role:"combobox",spellCheck:!1,value:r}),e[32]=r,e[33]=i,e[34]=c.onBlur,e[35]=c.onChange,e[36]=c.onKeyDown,e[37]=c.onScroll,e[38]=c.onSelect,e[39]=E,e[40]=I,e[41]=O,e[42]=A,e[43]=L):L=e[43];let F;e[44]!==t||e[45]!==h||e[46]!==g?(F=(0,u.jsx)(wn,{listboxId:h,onPick:g,state:t}),e[44]=t,e[45]=h,e[46]=g,e[47]=F):F=e[47];let M;e[48]!==T||e[49]!==L||e[50]!==F?(M=(0,u.jsxs)("div",{className:"relative min-w-0 flex-1 bg-background",children:[T,L,F]}),e[48]=T,e[49]=L,e[50]=F,e[51]=M):M=e[51];let H;e[52]!==M||e[53]!==p||e[54]!==R?(H=(0,u.jsxs)("div",{className:p,children:[R,M]}),e[52]=M,e[53]=p,e[54]=R,e[55]=H):H=e[55];let D;e[56]!==o||e[57]!==v?(D=(0,u.jsx)(Vn,{diagnostics:o,onSelect:v}),e[56]=o,e[57]=v,e[58]=D):D=e[58];let C;return e[59]!==H||e[60]!==D||e[61]!==N||e[62]!==k?(C=(0,u.jsxs)("div",{className:N,children:[k,H,D]}),e[59]=H,e[60]=D,e[61]=N,e[62]=k,e[63]=C):C=e[63],C},"es");function Zn(s,e){return(0,u.jsx)("div",{children:e+1},e)}l(Zn,"ts");var yt=[{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;"}],er=l(s=>{let e=(0,G.c)(29),{active:n,onDelete:t,onSelect:o,query:r}=s,a=ce(),c;e[0]!==o||e[1]!==r.id?(c=l(()=>{o(r.id)},"c"),e[0]=o,e[1]=r.id,e[2]=c):c=e[2];let i=c,d;e[3]!==t||e[4]!==r.id?(d=l(N=>{N.stopPropagation(),t(r.id)},"i"),e[3]=t,e[4]=r.id,e[5]=d):d=e[5];let h=d,b=n?"bg-sidebar-accent font-medium text-foreground":"text-muted-foreground",g;e[6]!==b?(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",b),e[6]=b,e[7]=g):g=e[7];let v=`sql-query-${r.id}`,m;e[8]===Symbol.for("react.memo_cache_sentinel")?(m=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M4 6h16M4 12h10M4 18h7"})}),e[8]=m):m=e[8];let S;e[9]!==r.name?(S=(0,u.jsx)("span",{className:"truncate",children:r.name}),e[9]=r.name,e[10]=S):S=e[10];let f;e[11]!==n||e[12]!==i||e[13]!==g||e[14]!==v||e[15]!==S?(f=(0,u.jsxs)("button",{"aria-pressed":n,className:g,"data-testid":v,onClick:i,type:"button",children:[m,S]}),e[11]=n,e[12]=i,e[13]=g,e[14]=v,e[15]=S,e[16]=f):f=e[16];let y;e[17]!==a?(y=a("Delete query"),e[17]=a,e[18]=y):y=e[18];let x;e[19]!==a?(x=a("Delete query"),e[19]=a,e[20]=x):x=e[20];let q;e[21]===Symbol.for("react.memo_cache_sentinel")?(q=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M5 7h14M9 7V5h6v2m-1 0v12H10V7M7 7v13h10V7"})}),e[21]=q):q=e[21];let w;e[22]!==h||e[23]!==x||e[24]!==y?(w=(0,u.jsx)("button",{"aria-label":y,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:h,title:x,type:"button",children:q}),e[22]=h,e[23]=x,e[24]=y,e[25]=w):w=e[25];let p;return e[26]!==w||e[27]!==f?(p=(0,u.jsxs)("li",{className:"group/q flex items-center",children:[f,w]}),e[26]=w,e[27]=f,e[28]=p):p=e[28],p},"ns"),it="sql-history-remember",tr=l((s,e)=>{let n=e.trim().toLowerCase();return n===""?[...s]:s.filter(t=>t.name.toLowerCase().includes(n))},"ss"),nr=l(s=>{let e=(0,G.c)(66),{activeId:n,history:t,listRef:o,onClearHistory:r,onDelete:a,onLoadHistory:c,onLoadTemplate:i,onNew:d,onSearchChange:h,onSelect:b,onToggleRememberHistory:g,queries:v,rememberHistory:m,search:S}=s,f=ce(),y,x,q,w,p;if(e[0]!==n||e[1]!==o||e[2]!==a||e[3]!==d||e[4]!==h||e[5]!==b||e[6]!==g||e[7]!==v||e[8]!==S||e[9]!==f){let L=tr(v,S),F;e[15]!==g?(F=l(z=>{g(z.target.checked)},"B"),e[15]=g,e[16]=F):F=e[16],y=F,q="flex h-full w-64 shrink-0 flex-col border-e border-border bg-sidebar";let M;e[17]!==f?(M=f("Search queries\u2026"),e[17]=f,e[18]=M):M=e[18];let H;e[19]!==h||e[20]!==S||e[21]!==M?(H=(0,u.jsx)("input",{className:"h-8 min-w-0 flex-1 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"sql-search",onChange:h,placeholder:M,type:"text",value:S}),e[19]=h,e[20]=S,e[21]=M,e[22]=H):H=e[22];let D;e[23]!==f?(D=f("New query"),e[23]=f,e[24]=D):D=e[24];let C;e[25]!==f?(C=f("New query"),e[25]=f,e[26]=C):C=e[26];let P;e[27]===Symbol.for("react.memo_cache_sentinel")?(P=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[27]=P):P=e[27];let _;e[28]!==d||e[29]!==D||e[30]!==C?(_=(0,u.jsx)("button",{"aria-label":D,className:"flex size-8 shrink-0 items-center justify-center rounded-md border border-border text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"sql-new",onClick:d,title:C,type:"button",children:P}),e[28]=d,e[29]=D,e[30]=C,e[31]=_):_=e[31],e[32]!==_||e[33]!==H?(w=(0,u.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border p-2",children:[H,_]}),e[32]=_,e[33]=H,e[34]=w):w=e[34],x="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 W;e[37]!==$?(W=(0,u.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:$}),e[37]=$,e[38]=W):W=e[38],p=(0,u.jsxs)("div",{children:[W,L.length===0?(0,u.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,u.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-private",ref:o,children:L.map(z=>(0,u.jsx)(er,{active:n===z.id,onDelete:a,onSelect:b,query:z},z.id))})]}),e[0]=n,e[1]=o,e[2]=a,e[3]=d,e[4]=h,e[5]=b,e[6]=g,e[7]=v,e[8]=S,e[9]=f,e[10]=y,e[11]=x,e[12]=q,e[13]=w,e[14]=p}else y=e[10],x=e[11],q=e[12],w=e[13],p=e[14];let N;e[39]!==f?(N=f("Reference"),e[39]=f,e[40]=N):N=e[40];let k;e[41]!==N?(k=(0,u.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:N}),e[41]=N,e[42]=k):k=e[42];let R;e[43]!==i?(R=yt.map(L=>(0,u.jsx)("li",{children:(0,u.jsxs)("button",{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-foreground focus-visible:bg-sidebar-accent","data-sql":L.sql,onClick:i,type:"button",children:[(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M7 4h7l4 4v12H7zM14 4v4h4"})}),L.label]})},L.label)),e[43]=i,e[44]=R):R=e[44];let T;e[45]!==R?(T=(0,u.jsx)("ul",{className:"flex flex-col gap-px",children:R}),e[45]=R,e[46]=T):T=e[46];let E;e[47]!==k||e[48]!==T?(E=(0,u.jsxs)("div",{children:[k,T]}),e[47]=k,e[48]=T,e[49]=E):E=e[49];let I;e[50]!==t||e[51]!==r||e[52]!==c||e[53]!==y||e[54]!==m||e[55]!==f?(I=t.length>0&&(0,u.jsxs)("div",{children:[(0,u.jsxs)("div",{className:"flex items-center justify-between px-1 pb-1",children:[(0,u.jsx)("p",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:f("History")}),(0,u.jsx)("button",{className:"rounded px-1 text-[11px] text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:text-foreground","data-testid":"sql-history-clear",onClick:r,type:"button",children:f("Clear history")})]}),(0,u.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 px-1 pb-1.5 text-[11px] text-muted-foreground",htmlFor:it,children:[(0,u.jsx)("input",{checked:m,"data-testid":"sql-history-remember",id:it,onChange:y,type:"checkbox"}),f("Keep history on this browser")]}),(0,u.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-history",children:t.map(L=>(0,u.jsx)("li",{children:(0,u.jsxs)("button",{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-foreground focus-visible:bg-sidebar-accent","data-sql":L.sql,"data-testid":"sql-history-item",onClick:c,title:L.sql,type:"button",children:[(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M12 8v4l3 2M12 21a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z"})}),(0,u.jsx)("span",{className:"truncate font-mono",children:L.sql})]})},`${L.at.toString()}:${L.sql}`))})]}),e[50]=t,e[51]=r,e[52]=c,e[53]=y,e[54]=m,e[55]=f,e[56]=I):I=e[56];let O;e[57]!==x||e[58]!==I||e[59]!==p||e[60]!==E?(O=(0,u.jsxs)("div",{className:x,children:[p,E,I]}),e[57]=x,e[58]=I,e[59]=p,e[60]=E,e[61]=O):O=e[61];let A;return e[62]!==O||e[63]!==q||e[64]!==w?(A=(0,u.jsxs)("aside",{className:q,children:[w,O]}),e[62]=O,e[63]=q,e[64]=w,e[65]=A):A=e[65],A},"os"),Ae=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"),rr=l(s=>{let e=(0,G.c)(96),{assistant:n,chart:t,className:o,error:r,onFormat:a,onInferChart:c,onRun:i,onSelectStatement:d,onShardKeyChange:h,onShowChart:b,onShowExplain:g,onShowResults:v,onToggleSplit:m,pane:S,result:f,running:y,script:x,shardKey:q,splitView:w}=s,p=ce(),N=S==="results",k;e[0]!==N?(k=Ae(N),e[0]=N,e[1]=k):k=e[1];let R;e[2]!==p?(R=p("Results"),e[2]=p,e[3]=R):R=e[3];let T;e[4]!==v||e[5]!==k||e[6]!==R?(T=(0,u.jsx)("button",{className:k,"data-testid":"sql-tab-results",onClick:v,type:"button",children:R}),e[4]=v,e[5]=k,e[6]=R,e[7]=T):T=e[7];let E=S==="chart",I;e[8]!==E?(I=Ae(E),e[8]=E,e[9]=I):I=e[9];let O;e[10]!==p?(O=p("Chart"),e[10]=p,e[11]=O):O=e[11];let A;e[12]!==b||e[13]!==I||e[14]!==O?(A=(0,u.jsx)("button",{className:I,"data-testid":"sql-tab-chart",onClick:b,type:"button",children:O}),e[12]=b,e[13]=I,e[14]=O,e[15]=A):A=e[15];let L;e[16]!==n||e[17]!==c||e[18]!==S||e[19]!==f||e[20]!==p?(L=!n.unavailable&&S==="chart"&&f!==null&&(0,u.jsx)("button",{className:Ae(!1),"data-testid":"sql-infer-chart",disabled:n.pending("chart"),onClick:c,type:"button",children:n.pending("chart")?p("Thinking\u2026"):p("Suggest chart")}),e[16]=n,e[17]=c,e[18]=S,e[19]=f,e[20]=p,e[21]=L):L=e[21];let F=S==="explain",M;e[22]!==F?(M=Ae(F),e[22]=F,e[23]=M):M=e[23];let H;e[24]!==p?(H=p("Explain"),e[24]=p,e[25]=H):H=e[25];let D;e[26]!==g||e[27]!==M||e[28]!==H?(D=(0,u.jsx)("button",{className:M,"data-testid":"sql-tab-explain",onClick:g,type:"button",children:H}),e[26]=g,e[27]=M,e[28]=H,e[29]=D):D=e[29];let C;e[30]!==p?(C=p("Split editor and results"),e[30]=p,e[31]=C):C=e[31];let P=`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 ${w?"bg-accent text-foreground":"text-muted-foreground"}`,_;e[32]!==p?(_=p("Split editor and results"),e[32]=p,e[33]=_):_=e[33];let $;e[34]===Symbol.for("react.memo_cache_sentinel")?($=(0,u.jsxs)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:[(0,u.jsx)("rect",{height:"16",rx:"2",width:"18",x:"3",y:"4"}),(0,u.jsx)("path",{d:"M12 4v16"})]}),e[34]=$):$=e[34];let W;e[35]!==m||e[36]!==w||e[37]!==C||e[38]!==P||e[39]!==_?(W=(0,u.jsx)("button",{"aria-label":C,"aria-pressed":w,className:P,"data-testid":"sql-split-toggle",onClick:m,title:_,type:"button",children:$}),e[35]=m,e[36]=w,e[37]=C,e[38]=P,e[39]=_,e[40]=W):W=e[40];let z;e[41]!==f?(z=f!==null&&f.columns.length>0&&(0,u.jsx)(tt,{columns:f.columns,name:"query-result",rows:f.rows}),e[41]=f,e[42]=z):z=e[42];let J;e[43]!==p?(J=p("Format"),e[43]=p,e[44]=J):J=e[44];let Z;e[45]!==a||e[46]!==y||e[47]!==J?(Z=(0,u.jsx)("button",{className:"inline-flex items-center rounded-md border border-border px-3 py-1.5 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50","data-testid":"sql-format",disabled:y,onClick:a,type:"button",children:J}),e[45]=a,e[46]=y,e[47]=J,e[48]=Z):Z=e[48];let ee;e[49]!==h||e[50]!==q?(ee=(0,u.jsx)(Xe,{onChange:h,testId:"sql-shard-input",value:q}),e[49]=h,e[50]=q,e[51]=ee):ee=e[51];let te;e[52]!==y||e[53]!==p?(te=p(y?"Running\u2026":"Run"),e[52]=y,e[53]=p,e[54]=te):te=e[54];let ie;e[55]===Symbol.for("react.memo_cache_sentinel")?(ie=(0,u.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]!==y||e[58]!==te?(V=(0,u.jsxs)("button",{className:"inline-flex items-center gap-1.5 rounded-md bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground outline-none transition-colors hover:bg-primary/90 focus-visible:bg-primary/90 disabled:pointer-events-none disabled:opacity-50","data-testid":"sql-run",disabled:y,onClick:i,type:"button",children:[te,ie]}),e[56]=i,e[57]=y,e[58]=te,e[59]=V):V=e[59];let Q;e[60]!==W||e[61]!==z||e[62]!==Z||e[63]!==ee||e[64]!==V?(Q=(0,u.jsxs)("div",{className:"ms-auto flex items-center gap-2",children:[W,z,Z,ee,V]}),e[60]=W,e[61]=z,e[62]=Z,e[63]=ee,e[64]=V,e[65]=Q):Q=e[65];let ne;e[66]!==D||e[67]!==Q||e[68]!==T||e[69]!==A||e[70]!==L?(ne=(0,u.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border pe-2",children:[T,A,L,D,Q]}),e[66]=D,e[67]=Q,e[68]=T,e[69]=A,e[70]=L,e[71]=ne):ne=e[71];let re;e[72]!==d||e[73]!==x?(re=x!==void 0&&(0,u.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-1 border-b border-border px-3 py-1.5","data-testid":"sql-statements",children:x.runs.map((Y,X)=>(0,u.jsx)("button",{"aria-pressed":X===x.selected,className:`rounded-md border px-2 py-0.5 font-mono text-[11px] outline-none transition-colors ${X===x.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(()=>{d(X)},"onClick"),title:Y.sql,type:"button",children:X+1},`${X.toString()}:${Y.sql}`))}),e[72]=d,e[73]=x,e[74]=re):re=e[74];let oe;e[75]!==r?(oe=r!==null&&(0,u.jsx)(Je,{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]!==p?(se=r===null&&f===null&&(0,u.jsx)("p",{className:"p-4 text-sm text-muted-foreground","data-testid":"sql-empty",children:p("Click Run to execute your query.")}),e[77]=r,e[78]=f,e[79]=p,e[80]=se):se=e[80];let le;e[81]!==t||e[82]!==r||e[83]!==S||e[84]!==f||e[85]!==p?(le=r===null&&f!==null&&(0,u.jsxs)("div",{"data-testid":"sql-result",children:[S==="chart"?(0,u.jsx)(nt,{axes:t,result:f}):(0,u.jsx)(rt,{result:f}),(0,u.jsx)("p",{className:"border-t border-border px-3 py-1.5 text-xs text-muted-foreground","data-testid":"sql-count",children:f.truncated?p("Showing the first {max} of {count} rows.",{count:f.rowCount,max:f.rows.length}):p("{count} rows",{count:f.rowCount})})]}),e[81]=t,e[82]=r,e[83]=S,e[84]=f,e[85]=p,e[86]=le):le=e[86];let B;e[87]!==oe||e[88]!==se||e[89]!==le?(B=(0,u.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]=B):B=e[90];let U;return e[91]!==o||e[92]!==ne||e[93]!==re||e[94]!==B?(U=(0,u.jsxs)("div",{className:o,children:[ne,re,B]}),e[91]=o,e[92]=ne,e[93]=re,e[94]=B,e[95]=U):U=e[95],U},"ls"),or=l((s,e)=>s.trim()===""?e:(s.split(`
|
|
8
|
+
`)[0]??s).slice(0,24),"rs"),sr=l(s=>{s?.focus(),s?.select()},"is"),lr=l(s=>{let e=(0,G.c)(14),{initial:n,onCancel:t,onCommit:o,placeholder:r,testId:a}=s,c=ce(),i;e[0]!==o?(i=l(m=>{o(m.currentTarget.value.trim())},"a"),e[0]=o,e[1]=i):i=e[1];let d=i,h;e[2]!==t||e[3]!==o?(h=l(m=>{m.key==="Enter"?o(m.currentTarget.value.trim()):m.key==="Escape"&&t()},"f"),e[2]=t,e[3]=o,e[4]=h):h=e[4];let b=h,g;e[5]!==c?(g=c("Tab title"),e[5]=c,e[6]=g):g=e[6];let v;return e[7]!==n||e[8]!==d||e[9]!==b||e[10]!==r||e[11]!==g||e[12]!==a?(v=(0,u.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:d,onKeyDown:b,placeholder:r,ref:sr,type:"text"}),e[7]=n,e[8]=d,e[9]=b,e[10]=r,e[11]=g,e[12]=a,e[13]=v):v=e[13],v},"as"),ar=l(s=>{let e=(0,G.c)(29),{idBase:n,onDiscard:t,onKeep:o}=s,r=ce(),a=`sql-tab-close-prompt-${n}`,c;e[0]!==r?(c=r("Discard?"),e[0]=r,e[1]=c):c=e[1];let i;e[2]!==c?(i=(0,u.jsx)("span",{className:"text-[11px] text-muted-foreground",children:c}),e[2]=c,e[3]=i):i=e[3];let d;e[4]!==r?(d=r("Discard changes"),e[4]=r,e[5]=d):d=e[5];let h=`sql-tab-close-confirm-${n}`,b;e[6]!==r?(b=r("Discard changes"),e[6]=r,e[7]=b):b=e[7];let g;e[8]===Symbol.for("react.memo_cache_sentinel")?(g=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.4,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M5 13l4 4L19 7"})}),e[8]=g):g=e[8];let v;e[9]!==t||e[10]!==d||e[11]!==h||e[12]!==b?(v=(0,u.jsx)("button",{"aria-label":d,className:"flex size-5 items-center justify-center rounded text-destructive hover:bg-destructive/10","data-testid":h,onClick:t,title:b,type:"button",children:g}),e[9]=t,e[10]=d,e[11]=h,e[12]=b,e[13]=v):v=e[13];let m;e[14]!==r?(m=r("Keep editing"),e[14]=r,e[15]=m):m=e[15];let S=`sql-tab-close-cancel-${n}`,f;e[16]!==r?(f=r("Keep editing"),e[16]=r,e[17]=f):f=e[17];let y;e[18]===Symbol.for("react.memo_cache_sentinel")?(y=(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.4,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})}),e[18]=y):y=e[18];let x;e[19]!==o||e[20]!==S||e[21]!==f||e[22]!==m?(x=(0,u.jsx)("button",{"aria-label":m,className:"flex size-5 items-center justify-center rounded text-muted-foreground hover:bg-accent","data-testid":S,onClick:o,title:f,type:"button",children:y}),e[19]=o,e[20]=S,e[21]=f,e[22]=m,e[23]=x):x=e[23];let q;return e[24]!==a||e[25]!==x||e[26]!==i||e[27]!==v?(q=(0,u.jsxs)("span",{className:"flex shrink-0 items-center gap-1","data-testid":a,role:"group",children:[i,v,x]}),e[24]=a,e[25]=x,e[26]=i,e[27]=v,e[28]=q):q=e[28],q},"cs"),ir=l(s=>{let e=(0,G.c)(47),{active:n,canClose:t,onClose:o,onMenu:r,onRename:a,onSelect:c,tab:i}=s,d=ce(),[h,b]=(0,j.useState)(!1),[g,v]=(0,j.useState)(!1),m;e[0]!==r||e[1]!==i.id?(m=l(z=>{r(i.id,z)},"d"),e[0]=r,e[1]=i.id,e[2]=m):m=e[2];let S=m,f;e[3]!==c||e[4]!==i.id?(f=l(()=>{c(i.id)},"u"),e[3]=c,e[4]=i.id,e[5]=f):f=e[5];let y=f,x;e[6]===Symbol.for("react.memo_cache_sentinel")?(x=l(()=>{b(!0)},"g"),e[6]=x):x=e[6];let q=x,w;e[7]!==o||e[8]!==i?(w=l(z=>{z.stopPropagation(),xt(i)?v(!0):o(i.id)},"y"),e[7]=o,e[8]=i,e[9]=w):w=e[9];let p=w,N;e[10]!==o||e[11]!==i.id?(N=l(z=>{z.stopPropagation(),v(!1),o(i.id)},"E"),e[10]=o,e[11]=i.id,e[12]=N):N=e[12];let k=N,R;e[13]===Symbol.for("react.memo_cache_sentinel")?(R=l(z=>{z.stopPropagation(),v(!1)},"R"),e[13]=R):R=e[13];let T=R,E;e[14]!==a||e[15]!==i.id?(E=l(z=>{a(i.id,z),b(!1)},"_"),e[14]=a,e[15]=i.id,e[16]=E):E=e[16];let I=E,O;e[17]===Symbol.for("react.memo_cache_sentinel")?(O=l(()=>{b(!1)},"A"),e[17]=O):O=e[17];let A=O,L;e[18]!==i.name?(L=i.name.trim(),e[18]=i.name,e[19]=L):L=e[19];let F=L,M;e[20]!==d||e[21]!==i.sql?(M=or(i.sql,d("Untitled")),e[20]=d,e[21]=i.sql,e[22]=M):M=e[22];let H=M,D=n?"bg-background text-foreground":"bg-muted/40 text-muted-foreground hover:text-foreground",C;e[23]!==D?(C=me("group/tab flex shrink-0 items-center gap-1 border-e border-border ps-3 pe-1.5 text-xs",D),e[23]=D,e[24]=C):C=e[24];let P=`sql-tab-${i.id}`,_;e[25]!==n||e[26]!==I||e[27]!==F||e[28]!==H||e[29]!==h||e[30]!==y||e[31]!==d||e[32]!==i.id?(_=h?(0,u.jsx)(lr,{initial:F,onCancel:A,onCommit:I,placeholder:H,testId:`sql-tab-rename-${i.id}`}):(0,u.jsx)("button",{"aria-pressed":n,className:"max-w-40 truncate py-1.5 outline-none","data-testid":`sql-tab-select-${i.id}`,onClick:y,onDoubleClick:q,title:d("Double-click to rename"),type:"button",children:F===""?H:F}),e[25]=n,e[26]=I,e[27]=F,e[28]=H,e[29]=h,e[30]=y,e[31]=d,e[32]=i.id,e[33]=_):_=e[33];let $;e[34]!==t||e[35]!==k||e[36]!==g||e[37]!==p||e[38]!==d||e[39]!==i.id?($=t&&(g?(0,u.jsx)(ar,{idBase:i.id,onDiscard:k,onKeep:T}):(0,u.jsx)("button",{"aria-label":d("Close tab"),className:"flex size-5 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-destructive/10 hover:text-destructive","data-testid":`sql-tab-close-${i.id}`,onClick:p,title:d("Close tab"),type:"button",children:(0,u.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})})})),e[34]=t,e[35]=k,e[36]=g,e[37]=p,e[38]=d,e[39]=i.id,e[40]=$):$=e[40];let W;return e[41]!==S||e[42]!==C||e[43]!==P||e[44]!==_||e[45]!==$?(W=(0,u.jsxs)("div",{className:C,"data-testid":P,onContextMenu:S,children:[_,$]}),e[41]=S,e[42]=C,e[43]=P,e[44]=_,e[45]=$,e[46]=W):W=e[46],W},"ds"),cr=l(s=>{let e=(0,G.c)(43),{model:n,onSelect:t}=s,o=ce(),{activeTab:r,addEditorTab:a,cancelBulk:c,closeEditorTab:i,closeTabMenu:d,confirmBulk:h,menuStyle:b,onBackdropContextMenu:g,onCloseAll:v,onCloseOthers:m,onCloseToRight:S,openTabMenu:f,pendingBulk:y,renameTab:x,tabMenu:q,tabs:w}=n,p;if(e[0]!==r||e[1]!==i||e[2]!==t||e[3]!==f||e[4]!==x||e[5]!==w){let L;e[7]!==r||e[8]!==i||e[9]!==t||e[10]!==f||e[11]!==x||e[12]!==w.length?(L=l(F=>(0,u.jsx)(ir,{active:F.id===r.id,canClose:w.length>1,onClose:i,onMenu:f,onRename:x,onSelect:t,tab:F},F.id),"I"),e[7]=r,e[8]=i,e[9]=t,e[10]=f,e[11]=x,e[12]=w.length,e[13]=L):L=e[13],p=w.map(L),e[0]=r,e[1]=i,e[2]=t,e[3]=f,e[4]=x,e[5]=w,e[6]=p}else p=e[6];let N;e[14]!==o?(N=o("New tab"),e[14]=o,e[15]=N):N=e[15];let k=w.length>=We,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,u.jsx)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,u.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[18]=T):T=e[18];let E;e[19]!==a||e[20]!==N||e[21]!==k||e[22]!==R?(E=(0,u.jsx)("button",{"aria-label":N,className:"flex size-8 shrink-0 items-center justify-center text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-add",disabled:k,onClick:a,title:R,type:"button",children:T}),e[19]=a,e[20]=N,e[21]=k,e[22]=R,e[23]=E):E=e[23];let I;e[24]!==p||e[25]!==E?(I=(0,u.jsxs)("div",{className:"flex shrink-0 items-stretch overflow-x-auto border-b border-border bg-muted/30","data-testid":"sql-tab-strip",role:"tablist",children:[p,E]}),e[24]=p,e[25]=E,e[26]=I):I=e[26];let O;e[27]!==c||e[28]!==d||e[29]!==h||e[30]!==b||e[31]!==g||e[32]!==v||e[33]!==m||e[34]!==S||e[35]!==y||e[36]!==o||e[37]!==q||e[38]!==w?(O=q!==null&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("div",{className:"fixed inset-0 z-40","data-testid":"sql-tab-menu-backdrop",onClick:d,onContextMenu:g,role:"presentation"}),(0,u.jsx)("div",{className:"fixed z-50 min-w-44 rounded-md border border-border bg-popover py-1 text-popover-foreground shadow-md","data-testid":"sql-tab-menu",role:"menu",style:b,children:y===null?(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-menu-close-others",disabled:w.length<=1,onClick:m,role:"menuitem",type:"button",children:o("Close other tabs")}),(0,u.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-menu-close-right",disabled:w.findIndex(L=>L.id===q.id)>=w.length-1,onClick:S,role:"menuitem",type:"button",children:o("Close tabs to the right")}),(0,u.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-tab-menu-close-all",onClick:v,role:"menuitem",type:"button",children:o("Close all tabs")})]}):(0,u.jsxs)("div",{className:"px-3 py-1.5","data-testid":"sql-tab-menu-confirm",children:[(0,u.jsx)("p",{className:"pb-1.5 text-xs text-muted-foreground",children:o("Discard unsaved tabs?")}),(0,u.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,u.jsx)("button",{className:"rounded px-2 py-1 text-xs font-medium text-destructive outline-none hover:bg-destructive/10 focus-visible:bg-destructive/10","data-testid":"sql-tab-menu-confirm-discard",onClick:h,type:"button",children:o("Discard")}),(0,u.jsx)("button",{className:"rounded px-2 py-1 text-xs text-muted-foreground outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-tab-menu-confirm-cancel",onClick:c,type:"button",children:o("Cancel")})]})]})})]}),e[27]=c,e[28]=d,e[29]=h,e[30]=b,e[31]=g,e[32]=v,e[33]=m,e[34]=S,e[35]=y,e[36]=o,e[37]=q,e[38]=w,e[39]=O):O=e[39];let A;return e[40]!==I||e[41]!==O?(A=(0,u.jsxs)(u.Fragment,{children:[I,O]}),e[40]=I,e[41]=O,e[42]=A):A=e[42],A},"us"),dr=Se(qe.runSql),ur="lunora-studio-sql-split-view",mr=l(()=>ke(yt[0]?.sql??""),"hs"),Tr=l(s=>{let e=(0,G.c)(112),{initialShardKey:n}=s,t=Ie(),o=Fn(mr),{activeTab:r,output:a,patchActiveOutput:c,patchActiveTab:i,setActiveTabId:d,unlinkQuery:h}=o,b;e[0]!==c||e[1]!==i?(b=l((K,ae)=>{i({activeId:ae,sql:K}),c({chart:void 0,error:null,failed:void 0,result:null,script:void 0})},"p"),e[0]=c,e[1]=i,e[2]=b):b=e[2];let g=b,v;e[3]!==g||e[4]!==h?(v={loadIntoActiveTab:g,unlinkQuery:h},e[3]=g,e[4]=h,e[5]=v):v=e[5];let m=jn(v),{recordHistory:S,updateQuerySql:f}=m,y=r.sql,{activeId:x}=r,{chart:q,error:w,failed:p,result:N,running:k}=a,R=a.pane,[T,E]=(0,j.useState)(n??""),[I,O]=Le(ur,!1),{probe:A,schema:L}=qn(T),F;e[6]!==x||e[7]!==i||e[8]!==f?(F=l(K=>{i({sql:K}),x!==null&&f(x,K)},"B"),e[6]=x,e[7]=i,e[8]=f,e[9]=F):F=e[9];let M=F,H=an(y,L,T),D=et(T),C;e[10]!==D||e[11]!==c||e[12]!==N?(C=l(()=>{N!==null&&ue((async()=>{let K=await D.inferChart({columns:N.columns,rowCount:N.rowCount,types:Object.fromEntries(N.columns.map(ae=>[ae,typeof(N.rows[0]?.[ae]??"")]))});c({chart:K})})())},"k"),e[10]=D,e[11]=c,e[12]=N,e[13]=C):C=e[13];let P=C,_;e[14]!==t||e[15]!==S||e[16]!==T?(_=l(async K=>{try{let ae=await t.query(dr,{sql:K},Ne(T));return S(K),{error:null,result:ae,sql:K}}catch(ae){return{error:Ge(ae),result:null,sql:K}}},"L"),e[14]=t,e[15]=S,e[16]=T,e[17]=_):_=e[17];let $=_,W;e[18]!==y||e[19]!==c||e[20]!==$||e[21]!==T?(W=l(async K=>{if(y.trim()==="")return;c({running:!0});let ae=K==="explain"?Qe(At(y),0):ft(y),de=[];for(let _e of ae){let wt={error:_e.rejection?.message??"",result:null,sql:_e.sql};de.push(_e.rejection===void 0?await $(_e.sql):wt)}Ve(T);let Ue=Math.max(de.length-1,0),ye=de[Ue];c({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:Ue}:void 0})},"z"),e[18]=y,e[19]=c,e[20]=$,e[21]=T,e[22]=W):W=e[22];let z=W,J;e[23]!==a.script?.runs||e[24]!==c?(J=l(K=>{let ae=a.script?.runs,de=ae?.[K];ae===void 0||de===void 0||c({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]=c,e[25]=J):J=e[25];let Z=J,ee;e[26]!==z?(ee=l(()=>{ue(z("results"))},"ee"),e[26]=z,e[27]=ee):ee=e[27];let te=ee,ie;e[28]!==a.pane||e[29]!==z?(ie=l(()=>{ue(z(a.pane))},"ae"),e[28]=a.pane,e[29]=z,e[30]=ie):ie=e[30];let V;e[31]!==A||e[32]!==L||e[33]!==M||e[34]!==ie?(V={onSubmit:ie,probe:A,schema:L,setDraft:M},e[31]=A,e[32]=L,e[33]=M,e[34]=ie,e[35]=V):V=e[35];let Q=Tn(V),{closeAutocomplete:ne}=Q,re;e[36]!==y||e[37]!==M?(re=l(()=>{M(Bt(y))},"se"),e[36]=y,e[37]=M,e[38]=re):re=e[38];let oe=re,se;e[39]!==ne||e[40]!==d?(se=l(K=>{ne(),d(K)},"le"),e[39]=ne,e[40]=d,e[41]=se):se=e[41];let le=se,B;e[42]!==c?(B=l(()=>{c({pane:"results"})},"H"),e[42]=c,e[43]=B):B=e[43];let U=B,Y;e[44]!==z?(Y=l(()=>{ue(z("explain"))},"j"),e[44]=z,e[45]=Y):Y=e[45];let X=Y,fe;e[46]!==c?(fe=l(()=>{c({pane:"chart"})},"me"),e[46]=c,e[47]=fe):fe=e[47];let Me=fe,Te;e[48]!==O||e[49]!==I?(Te=l(()=>{O(!I)},"ke"),e[48]=O,e[49]=I,e[50]=Te):Te=e[50];let $e=Te,Fe=I?"flex min-h-0 flex-1 flex-row":"flex min-h-0 flex-1 flex-col",ze=I?"flex w-2/5 min-h-0 min-w-0 shrink-0 flex-col border-s border-border":"flex h-2/5 min-h-0 shrink-0 flex-col border-t border-border",he;e[51]!==x||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,u.jsx)(nr,{activeId:x,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]=x,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,u.jsx)(cr,{model:o,onSelect:le}),e[66]=o,e[67]=le,e[68]=pe):pe=e[68];let be;e[69]!==D||e[70]!==H||e[71]!==y||e[72]!==p||e[73]!==M||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,u.jsx)(Jn,{assistant:D,autocomplete:Q.autocompleteState,diagnostics:H,draft:y,editorRef:Q.editorRef,failed:p,gutterRef:Q.gutterRef,handlers:Q.handlers,listboxId:Q.listboxId,onGenerated:M,onPickSuggestion:Q.onPickSuggestion,onRevealDiagnostic:Q.revealDiagnostic,overlayRef:Q.overlayRef}),e[69]=D,e[70]=H,e[71]=y,e[72]=p,e[73]=M,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]!==D||e[84]!==w||e[85]!==oe||e[86]!==P||e[87]!==q||e[88]!==te||e[89]!==Z||e[90]!==a.script||e[91]!==N||e[92]!==ze||e[93]!==k||e[94]!==T||e[95]!==Me||e[96]!==X||e[97]!==U||e[98]!==I||e[99]!==R||e[100]!==$e?(ge=(0,u.jsx)(rr,{assistant:D,chart:q,className:ze,error:w,onFormat:oe,onInferChart:P,onRun:te,onSelectStatement:Z,onShardKeyChange:E,onShowChart:Me,onShowExplain:X,onShowResults:U,onToggleSplit:$e,pane:R,result:N,running:k,script:a.script,shardKey:T,splitView:I}),e[83]=D,e[84]=w,e[85]=oe,e[86]=P,e[87]=q,e[88]=te,e[89]=Z,e[90]=a.script,e[91]=N,e[92]=ze,e[93]=k,e[94]=T,e[95]=Me,e[96]=X,e[97]=U,e[98]=I,e[99]=R,e[100]=$e,e[101]=ge):ge=e[101];let xe;e[102]!==be||e[103]!==ge||e[104]!==Fe?(xe=(0,u.jsxs)("div",{className:Fe,children:[be,ge]}),e[102]=be,e[103]=ge,e[104]=Fe,e[105]=xe):xe=e[105];let ve;e[106]!==pe||e[107]!==xe?(ve=(0,u.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 Re;return e[109]!==he||e[110]!==ve?(Re=(0,u.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]=Re):Re=e[111],Re},"As");export{Tr as SqlEditorPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as G}from"./chunk-4L4WTGN5.js";import{a as u,d as N,e as Y}from"./chunk-YKXDMIHQ.js";function K(l,a,t){let e=new Array(l);return new Proxy(e,{get(s,n,o){if(typeof n=="string"){let i=n.charCodeAt(0);if(i>=48&&i<=57){let r=+n;if(Number.isInteger(r)&&r>=0&&r<l){let d=s[r];if(!d){let h=a[r*2];d=s[r]={index:r,key:t(r),start:h,size:a[r*2+1],end:h+a[r*2+1],lane:0}}return d}}if(n==="length")return l}return Reflect.get(s,n,o)}})}u(K,"createLazyMeasurementsView");function _(l,a,t){let e=t.initialDeps??[],s,n=!0;function o(){var i;let d=0,h=l();if(!(h.length!==e.length||h.some((p,S)=>e[S]!==p)))return s;e=h;let c=0;return s=a(...h),t?.onChange&&!(n&&t.skipInitialOnChange)&&t.onChange(s),n=!1,s}return u(o,"memoizedFunction"),o.updateDeps=i=>{e=i},o}u(_,"memo");function W(l,a){if(l===void 0)throw new Error(`Unexpected undefined${a?`: ${a}`:""}`);return l}u(W,"notUndefined");var P=u((l,a)=>Math.abs(l-a)<1.01,"approxEqual"),B=u((l,a,t)=>{let e;return Object.assign(function(...s){l.clearTimeout(e),e=l.setTimeout(()=>a.apply(this,s),t)},{cancel:u(()=>{l.clearTimeout(e)},"cancel")})},"debounce");var A,j=u(()=>{if(A!==void 0)return A;if(typeof navigator>"u")return A=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return A=!0;let l=navigator.maxTouchPoints;return A=navigator.platform==="MacIntel"&&l!==void 0&&l>0},"isIOSWebKit");var $=u(l=>{let{offsetWidth:a,offsetHeight:t}=l;return{width:a,height:t}},"getRect"),Q=u(l=>l,"defaultKeyExtractor"),Z=u(l=>{let a=Math.max(l.startIndex-l.overscan,0),e=Math.min(l.endIndex+l.overscan,l.count-1)-a+1,s=new Array(e);for(let n=0;n<e;n++)s[n]=a+n;return s},"defaultRangeExtractor"),H=u((l,a)=>{let t=l.scrollElement;if(!t)return;let e=l.targetWindow;if(!e)return;let s=u(o=>{let{width:i,height:r}=o;a({width:Math.round(i),height:Math.round(r)})},"handler");if(s($(t)),!e.ResizeObserver)return()=>{};let n=new e.ResizeObserver(o=>{let i=u(()=>{let r=o[0];if(r?.borderBoxSize){let d=r.borderBoxSize[0];if(d){s({width:d.inlineSize,height:d.blockSize});return}}s($(t))},"run");l.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i()});return n.observe(t,{box:"border-box"}),()=>{n.unobserve(t)}},"observeElementRect"),R={passive:!0};var tt=typeof window>"u"?!0:"onscrollend"in window,et=u((l,a,t)=>{let e=l.scrollElement;if(!e)return;let s=l.targetWindow;if(!s)return;let n=l.options.useScrollendEvent&&tt,o=0,i=n?null:B(s,()=>a(o,!1),l.options.isScrollingResetDelay),r=u(f=>()=>{o=t(e),i?.(),a(o,f)},"createHandler"),d=r(!0),h=r(!1);return e.addEventListener("scroll",d,R),n&&e.addEventListener("scrollend",h,R),()=>{e.removeEventListener("scroll",d),n&&e.removeEventListener("scrollend",h),i?.cancel()}},"observeOffset"),J=u((l,a)=>et(l,a,t=>{let{horizontal:e,isRtl:s}=l.options;return e?t.scrollLeft*(s&&-1||1):t.scrollTop}),"observeElementOffset");var st=u((l,a,t)=>{if(t.options.useCachedMeasurements){let e=t.indexFromElement(l),s=t.options.getItemKey(e);return t.itemSizeCache.get(s)??t.options.estimateSize(e)}if(a?.borderBoxSize){let e=a.borderBoxSize[0];if(e)return Math.round(e[t.options.horizontal?"inlineSize":"blockSize"])}if(!a){let e=t.indexFromElement(l),s=t.options.getItemKey(e),n=t.itemSizeCache.get(s);if(n!==void 0)return n}return l[t.options.horizontal?"offsetWidth":"offsetHeight"]},"measureElement"),nt=u((l,{adjustments:a=0,behavior:t},e)=>{var s,n;(n=(s=e.scrollElement)==null?void 0:s.scrollTo)==null||n.call(s,{[e.options.horizontal?"left":"top"]:l+a,behavior:t})},"scrollWithAdjustments");var q=nt,F=class{static{u(this,"Virtualizer")}constructor(a){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var t,e,s;return((s=(e=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:e.now)==null?void 0:s.call(e))??Date.now()},this.observer=(()=>{let t=null,e=u(()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(s=>{s.forEach(n=>{let o=u(()=>{let i=n.target,r=this.indexFromElement(i);if(!i.isConnected){this.observer.unobserve(i);for(let[d,h]of this.elementsCache)if(h===i){this.elementsCache.delete(d);break}return}this.isIndexInRange(r)&&this.shouldMeasureDuringScroll(r)&&this.resizeItem(r,this.options.measureElement(i,n,this))},"run");this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()})})),"get");return{disconnect:u(()=>{var s;(s=e())==null||s.disconnect(),t=null},"disconnect"),observe:u(s=>{var n;return(n=e())==null?void 0:n.observe(s,{box:"border-box"})},"observe"),unobserve:u(s=>{var n;return(n=e())==null?void 0:n.unobserve(s)},"unobserve")}})(),this.range=null,this.setOptions=t=>{var e,s;let n={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Q,rangeExtractor:Z,onChange:u(()=>{},"onChange"),measureElement:st,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(let c in t){let p=t[c];p!==void 0&&(n[c]=p)}let o=this.options,i=null,r=null,d=!1;if(o!==void 0&&o.enabled&&n.enabled&&n.anchorTo==="end"&&this.scrollElement!==null){let c=o.count,p=n.count,S=this.getMeasurements(),v=c>0?((e=S[0])==null?void 0:e.key)??o.getItemKey(0):null,b=c>0?((s=S[c-1])==null?void 0:s.key)??o.getItemKey(c-1):null;if(p!==c||c>0&&p>0&&(n.getItemKey(0)!==v||n.getItemKey(p-1)!==b)){d=!0;let E=c>0?this.getVirtualItemForOffset(this.getScrollOffset())??S[0]:null;E&&(i=[E.key,this.getScrollOffset()-E.start]);let x=n.followOnAppend===!0?"auto":n.followOnAppend||null;x&&p>c&&this.isAtEnd(o.scrollEndThreshold)&&(c===0||n.getItemKey(p-1)!==b)&&(r=x)}}this.options=n,d&&(this.pendingMin=0,this.itemSizeCacheVersion++);let h=!1,f=0;if(i&&this.scrollOffset!==null){let[c,p]=i,S=this.getMeasurements(),{count:v,getItemKey:b}=this.options,m=0;for(;m<v&&b(m)!==c;)m++;if(m<v){let g=S[m];if(g){let E=Math.max(0,g.start+p);E!==this.scrollOffset&&(f=E-this.scrollOffset,this.scrollOffset=E,h=!0)}}}(h||r)&&(this.pendingScrollAnchor=[h?i[0]:null,h?i[1]:0,r,f])},this.notify=t=>{var e,s;(s=(e=this.options).onChange)==null||s.call(e,this,t)},this.maybeNotify=_(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:u(()=>this.options.debug,"debug"),initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(n=>{this.observer.observe(n)}),this.unsubs.push(this.options.observeElementRect(this,n=>{this.scrollRect=n,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(n,o)=>{if(o&&this._intendedScrollOffset===null&&n===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(n-this._intendedScrollOffset)<1.5&&(n=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let i=this.getScrollOffset();this.scrollDirection=o?i===n?this.scrollDirection:i<n?"forward":"backward":null,this.scrollOffset=n,this.isScrolling=o,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){let n=this.scrollElement,o=u(()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},"onTouchStart"),i=u(()=>{this._iosTouching=!1,!(!j()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))},"onTouchEnd");n.addEventListener("touchstart",o,R),n.addEventListener("touchend",i,R),this.unsubs.push(()=>{n.removeEventListener("touchstart",o),n.removeEventListener("touchend",i),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){let[n,o,i,r]=s;n!==null&&!i&&(j()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?r!==0&&(this._iosDeferredAdjustment+=r):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),i&&this.scrollToEnd({behavior:i})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let t=this.getScrollOffset(),e=this.getMaxScrollOffset();if(t<0||t>e)return;if(this._iosDeferredAdjustment<0&&t>=e-1){this._iosDeferredAdjustment=0;return}let s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=s,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=_(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(t,e,s,n,o,i,r,d)=>(this.prevLanes!==void 0&&this.prevLanes!==i&&(this.lanesChangedFlag=!0),this.prevLanes=i,this.pendingMin=null,{count:t,paddingStart:e,scrollMargin:s,getItemKey:n,enabled:o,lanes:i,laneAssignmentMode:r,gap:d}),{key:!1}),this.isIndexInRange=t=>t>=0&&t<this.options.count,this.getMeasurements=_(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:e,scrollMargin:s,getItemKey:n,enabled:o,lanes:i,laneAssignmentMode:r,gap:d},h)=>{let f=this.itemSizeCache;if(!o)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(let m of this.laneAssignments.keys())m>=t&&this.laneAssignments.delete(m);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(m=>{this.itemSizeCache.set(m.key,m.size)}));let c=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),i===1){let m=t*2,g=this._flatMeasurements;if(!g||g.length<m){let O=new Float64Array(m);g&&c>0&&O.set(g.subarray(0,c*2)),g=O,this._flatMeasurements=g}let E;if(c===0)E=e+s;else{let O=c-1;E=g[O*2]+g[O*2+1]+d}for(let O=c;O<t;O++){let C=n(O),y=f.get(C),T=typeof y=="number"?y:this.options.estimateSize(O);g[O*2]=E,g[O*2+1]=T,E+=T+d}let x=K(t,g,n);return this.measurementsCache=x,x}let p=this.measurementsCache.slice(0,c),S=new Array(i).fill(void 0),v=new Float64Array(i),b=0;for(let m=0;m<c;m++){let g=p[m];g&&(S[g.lane]===void 0&&b++,S[g.lane]=m,v[g.lane]=g.end)}for(let m=c;m<t;m++){let g=n(m),E=this.laneAssignments.get(m),x,O,C=r==="estimate"||f.has(g);if(E!==void 0&&this.options.lanes>1){x=E;let M=S[x],w=M!==void 0?p[M]:void 0;O=w?w.end+d:e+s}else if(b===i){let M=0,w=v[0],V=S[0];for(let z=1;z<i;z++){let D=v[z];(D<w||D===w&&S[z]<V)&&(M=z,w=D,V=S[z])}x=M,O=w+d,C&&this.laneAssignments.set(m,x)}else x=m%this.options.lanes,O=e+s,C&&this.laneAssignments.set(m,x);let y=f.get(g),T=typeof y=="number"?y:this.options.estimateSize(m),L=O+T;p[m]={index:m,start:O,size:T,end:L,key:g,lane:x},S[x]===void 0&&b++,S[x]=m,v[x]=L}return this.measurementsCache=p,p},{key:!1,debug:u(()=>this.options.debug,"debug")}),this.calculateRange=_(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,e,s,n)=>t.length===0||e===0?(this.range=null,null):(this.range=ot(t,e,s,n,n===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:u(()=>this.options.debug,"debug")}),this.getVirtualIndexes=_(()=>{let t=null,e=null,s=this.calculateRange();return s&&(t=s.startIndex,e=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,e]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,e]},(t,e,s,n,o)=>n===null||o===null?[]:t({startIndex:n,endIndex:o,overscan:e,count:s}),{key:!1,debug:u(()=>this.options.debug,"debug")}),this.indexFromElement=t=>{let e=this.options.indexAttribute,s=t.getAttribute(e);return s?parseInt(s,10):(console.warn(`Missing attribute name '${e}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var e;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;let s=this.scrollState.index??((e=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:e.index);if(s!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),o=Math.max(0,s-n),i=Math.min(this.options.count-1,s+n);return t>=o&&t<=i}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((o,i)=>{o.isConnected||(this.observer.unobserve(o),this.elementsCache.delete(i))});return}let e=this.indexFromElement(t);if(!this.isIndexInRange(e))return;let s=this.options.getItemKey(e),n=this.elementsCache.get(s);n!==t&&(n&&this.observer.unobserve(n),this.observer.observe(t),this.elementsCache.set(s,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(e)&&this.resizeItem(e,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,e)=>{var s,n;if(!this.isIndexInRange(t))return;let o,i,r,d=this._flatMeasurements;if(this.options.lanes===1&&d!==null)r=this.options.getItemKey(t),i=d[t*2],o=d[t*2+1];else{let c=this.measurementsCache[t];if(!c)return;r=c.key,i=c.start,o=c.size}let h=this.itemSizeCache.get(r)??o,f=e-h;if(f!==0){let c=this.options.anchorTo==="end"&&((s=this.scrollState)==null?void 0:s.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,p=c?this.getTotalSize():0,S=this.getScrollOffset()+this.scrollAdjustments,b=!this.itemSizeCache.has(r)?i<S:i+h<=S&&this.scrollDirection!=="backward",m=((n=this.scrollState)==null?void 0:n.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:r,start:i,size:o,end:i+o,lane:0},f,this):b);(this.pendingMin===null||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(r,e),this.itemSizeCacheVersion++;let g=!1;c?g=this.applyScrollAdjustment(this.getTotalSize()-p):m&&(g=this.applyScrollAdjustment(f)),this.notify(g)}},this.getVirtualItems=_(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,e)=>{let s=[];for(let n=0,o=t.length;n<o;n++){let i=t[n],r=e[i];s.push(r)}return s},{key:!1,debug:u(()=>this.options.debug,"debug")}),this.getVirtualItemForOffset=t=>{let e=this.getMeasurements();if(e.length===0)return;let s=this._flatMeasurements,n=this.options.lanes===1&&s!=null,o=U(0,e.length-1,n?i=>s[i*2]:i=>W(e[i]).start,t);return W(e[o])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(t=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=t,this.getOffsetForAlignment=(t,e,s=0)=>{if(!this.scrollElement)return 0;let n=this.getSize(),o=this.getScrollOffset();e==="auto"&&(e=t>=o+n?"end":"start"),e==="center"?t+=(s-n)/2:e==="end"&&(t-=n);let i=this.getMaxScrollOffset();return Math.max(Math.min(i,t),0)},this.getOffsetForIndex=(t,e="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));let s=this.getSize(),n=this.getScrollOffset(),o=this.measurementsCache[t];if(!o)return;if(e==="auto")if(o.end>=n+s-this.options.scrollPaddingEnd)e="end";else if(o.start<=n+this.options.scrollPaddingStart)e="start";else return[n,e];if(e==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),e];let i=e==="end"?o.end+this.options.scrollPaddingEnd:o.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(i,e,o.size),e]},this.scrollToOffset=(t,{align:e="start",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0;let n=this.getOffsetForAlignment(t,e),o=this.now();this.scrollState={index:null,align:e,behavior:s,startedAt:o,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:e="auto",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0,t=Math.max(0,Math.min(t,this.options.count-1));let n=this.getOffsetForIndex(t,e);if(!n)return;let[o,i]=n,r=this.now();this.scrollState={index:t,align:i,behavior:s,startedAt:r,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:e="auto"}={})=>{let s=this.getScrollOffset()+t,n=this.now();this.scrollState={index:null,align:"start",behavior:e,startedAt:n,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:t="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:t});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:t})},this.getTotalSize=()=>{var t;let e=this.getMeasurements(),s;if(e.length===0)s=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,o=this._flatMeasurements;o!=null?s=o[n*2]+o[n*2+1]:s=((t=e[n])==null?void 0:t.end)??0}else{let n=Array(this.options.lanes).fill(null),o=e.length-1;for(;o>=0&&n.some(i=>i===null);){let i=e[o];n[i.lane]===null&&(n[i.lane]=i.end),o--}s=Math.max(...n.filter(i=>i!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let t=[];if(this.itemSizeCache.size===0)return t;let e=this.getMeasurements();for(let s of e)s&&this.itemSizeCache.has(s.key)&&t.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return t},this._scrollToOffset=(t,{adjustments:e,behavior:s})=>{this._intendedScrollOffset=t+(e??0),this.options.scrollToFn(t,{behavior:s,adjustments:e},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(a)}applyScrollAdjustment(a,t){return a===0?!1:j()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?(this._iosDeferredAdjustment+=a,!1):(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=a,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=e?e[0]:this.scrollState.lastTargetOffset,n=1,o=s!==this.scrollState.lastTargetOffset;if(!o&&P(s,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=n){this.getScrollOffset()!==s&&this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,o){let i=this.getSize()||600,r=Math.abs(s-this.getScrollOffset()),d=this.scrollState.behavior==="smooth"&&r>i;this.scrollState.lastTargetOffset=s,d||(this.scrollState.behavior="auto"),this._scrollToOffset(s,{adjustments:void 0,behavior:d?"smooth":"auto"})}this.scheduleScrollReconcile()}},U=u((l,a,t,e)=>{for(;l<=a;){let s=(l+a)/2|0,n=t(s);if(n<e)l=s+1;else if(n>e)a=s-1;else return s}return l>0?l-1:0},"findNearestBinarySearch");function it(l,a,t){let e=0;for(;e<=a;){let s=(e+a)/2|0,n=l[s*2];if(n<t)e=s+1;else if(n>t)a=s-1;else return s}return e>0?e-1:0}u(it,"findNearestBinarySearchFlat");function ot(l,a,t,e,s){let n=l.length-1;if(l.length<=e)return{startIndex:0,endIndex:n};if(e===1&&s!==null){let d=it(s,n,t),h=d,f=t+a;for(;h<n&&s[h*2]+s[h*2+1]<f;)h++;return{startIndex:d,endIndex:h}}let i=U(0,n,u(d=>l[d].start,"getStart"),t),r=i;if(e===1)for(;r<n&&l[r].end<t+a;)r++;else if(e>1){let d=Array(e).fill(0);for(;r<n&&d.some(f=>f<t+a);){let f=l[r];d[f.lane]=f.end,r++}let h=Array(e).fill(t+a);for(;i>=0&&h.some(f=>f>=t);){let f=l[i];h[f.lane]=f.start,i--}i=Math.max(0,i-i%e),r=Math.min(n,r+(e-1-r%e))}return{startIndex:i,endIndex:r}}u(ot,"calculateRangeImpl");var I=N(Y(),1),X=N(G(),1);var k=typeof document<"u"?I.useLayoutEffect:I.useEffect;function lt({useFlushSync:l=!0,directDomUpdates:a=!1,directDomUpdatesMode:t="transform",...e}){let s=I.useReducer(h=>h+1,0)[1],n=I.useRef({enabled:a,mode:t,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});n.current.enabled=a,n.current.mode=t;let o=u(h=>{let f=n.current;if(!f.enabled||!f.container)return;let c=h.getTotalSize();if(c!==f.lastSize){f.lastSize=c;let p=h.options.horizontal?"width":"height";f.container.style[p]=`${c}px`}},"applyContainerSize"),i=u(h=>{let f=n.current;if(!f.enabled||!f.container)return;o(h);let c=!!h.options.horizontal,p=f.mode==="transform",S=c?"left":"top",v=h.options.scrollMargin,b=h.getVirtualItems();for(let m of b){let g=m.start-v,E=h.elementsCache.get(m.key);E&&f.lastPositions.get(E)!==g&&(f.lastPositions.set(E,g),p?E.style.transform=c?`translate3d(${g}px, 0, 0)`:`translate3d(0, ${g}px, 0)`:E.style[S]=`${g}px`)}},"applyDirectStyles"),r={...e,onChange:u((h,f)=>{var c;let p=n.current,S=!0;if(p.enabled){i(h);let v=h.range,b=p.prevRange;S=!b||b.isScrolling!==h.isScrolling||b.startIndex!==v?.startIndex||b.endIndex!==v?.endIndex,S&&(p.prevRange=v?{startIndex:v.startIndex,endIndex:v.endIndex,isScrolling:h.isScrolling}:null)}S&&(l&&f?(0,X.flushSync)(s):s()),(c=e.onChange)==null||c.call(e,h,f)},"onChange")},[d]=I.useState(()=>{let h=new F(r);return Object.assign(h,{containerRef:u(f=>{let c=n.current;if(c.container=f,c.lastSize=null,f&&c.enabled){let p=h.getTotalSize();c.lastSize=p;let S=h.options.horizontal?"width":"height";f.style[S]=`${p}px`}},"containerRef")})});return d.setOptions(r),k(()=>d._didMount(),[]),k(()=>(o(d),d._willUpdate())),k(()=>{i(d)}),d}u(lt,"useVirtualizerBase");function Et(l){return lt({observeElementRect:H,observeElementOffset:J,scrollToFn:q,...l})}u(Et,"useVirtualizer");export{H as a,Et as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{W as k}from"./chunk-PLHA3OWK.js";import"./chunk-4L4WTGN5.js";import{a as q}from"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import{b as j}from"./chunk-FEWMAPNI.js";import"./chunk-225VJ77I.js";import{a as U}from"./chunk-U6XZFNKM.js";import"./chunk-ULIQFBZU.js";import"./chunk-XFXYDKOW.js";import"./chunk-35DM4JJG.js";import{a as R}from"./chunk-4ZEL6BYL.js";import{c as P}from"./chunk-AWWI2VYF.js";import"./chunk-ML7GYWXD.js";import"./chunk-FSRSK4LY.js";import"./chunk-5CEAO2OT.js";import{a as M}from"./chunk-FKVZRPV5.js";import{a as G,b as H,c as J,d as B,e as x,f as N}from"./chunk-HEAQVSNS.js";import{a as z,e as D}from"./chunk-WUWBZPUK.js";import{d as F,r as O}from"./chunk-FODLDLE2.js";import{a as A,d as T,e as $,f as X,g as Y}from"./chunk-YKXDMIHQ.js";var K=T(X(),1),Q=T($(),1);var t=T(Y(),1);var de=A(()=>{let e=(0,K.c)(39),a=F(),[s,V]=(0,Q.useState)(""),y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y={},e[0]=y):y=e[0];let{data:C,error:l,errorSource:S,isLoading:E,refetch:_}=P(R.getAuthAuditLog,y),I;if(e[1]!==C?.entries||e[2]!==s){let r=C?.entries??[],v=s.trim().toLowerCase();I=v===""?r:r.filter(w=>w.event.toLowerCase().includes(v)||(w.actorId??"").toLowerCase().includes(v)||(w.actorEmail??"").toLowerCase().includes(v)||(w.ip??"").toLowerCase().includes(v)||w.outcome.toLowerCase().includes(v)),e[1]=C?.entries,e[2]=s,e[3]=I}else I=e[3];let o=I,L;e[4]===Symbol.for("react.memo_cache_sentinel")?(L=A(r=>{V(r.target.value)},"I"),e[4]=L):L=e[4];let W=L,i;e[5]!==a?(i=a("Filter security events"),e[5]=a,e[6]=i):i=e[6];let n;e[7]!==a?(n=a("filter event, actor, IP"),e[7]=a,e[8]=n):n=e[8];let c;e[9]!==s||e[10]!==i||e[11]!==n?(c=(0,t.jsx)(k,{"aria-label":i,className:"h-8 w-56","data-testid":"aa-search",onChange:W,placeholder:n,value:s}),e[9]=s,e[10]=i,e[11]=n,e[12]=c):c=e[12];let d;e[13]!==_?(d=A(()=>{_()},"m"),e[13]=_,e[14]=d):d=e[14];let m;e[15]!==a?(m=a("Refresh"),e[15]=a,e[16]=m):m=e[16];let u;e[17]!==d||e[18]!==m?(u=(0,t.jsx)(q,{"data-testid":"aa-refresh",onClick:d,size:"xs",type:"button",variant:"ghost",children:m}),e[17]=d,e[18]=m,e[19]=u):u=e[19];let h;e[20]!==c||e[21]!==u?(h=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,u]}),e[20]=c,e[21]=u,e[22]=h):h=e[22];let f;e[23]!==l||e[24]!==S?(f=l!==null&&(0,t.jsx)(U,{error:S,testId:"aa-error"}),e[23]=l,e[24]=S,e[25]=f):f=e[25];let p;e[26]!==l||e[27]!==o.length||e[28]!==E||e[29]!==a?(p=l===null&&!E&&o.length===0&&(0,t.jsx)(M,{description:a("Authentication and security events are recorded here."),testId:"aa-empty",title:a("No security events.")}),e[26]=l,e[27]=o.length,e[28]=E,e[29]=a,e[30]=p):p=e[30];let g;e[31]!==o||e[32]!==a?(g=o.length>0&&(0,t.jsx)(z,{className:"overflow-hidden py-0",children:(0,t.jsx)(D,{className:"max-h-[30rem] overflow-auto px-0",children:(0,t.jsxs)(G,{"data-testid":"aa-table",children:[(0,t.jsx)(H,{children:(0,t.jsxs)(B,{children:[(0,t.jsx)(x,{children:a("time")}),(0,t.jsx)(x,{children:a("event")}),(0,t.jsx)(x,{children:a("actor")}),(0,t.jsx)(x,{children:a("ip / user agent")}),(0,t.jsx)(x,{children:a("outcome")})]})}),(0,t.jsx)(J,{children:o.map(r=>(0,t.jsxs)(B,{"data-testid":"aa-row",children:[(0,t.jsx)(N,{className:"text-muted-foreground tabular-nums",children:O(r.ts,"\u2014")}),(0,t.jsx)(N,{children:(0,t.jsx)(j,{variant:"secondary",children:r.event})}),(0,t.jsx)(N,{className:"max-w-[24ch] truncate font-mono text-xs",title:r.actorId??void 0,children:r.actorEmail??r.actorId??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})}),(0,t.jsxs)(N,{className:"max-w-[28ch] truncate text-xs text-muted-foreground",title:r.userAgent??void 0,children:[r.ip??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}),r.userAgent!==void 0&&(0,t.jsxs)("span",{className:"ml-1 opacity-70",children:["\xB7 ",r.userAgent]})]}),(0,t.jsx)(N,{children:(0,t.jsx)(j,{variant:r.outcome==="failure"?"destructive":"outline",children:a(r.outcome)})})]},r.seq))})]})})}),e[31]=o,e[32]=a,e[33]=g):g=e[33];let b;return e[34]!==f||e[35]!==p||e[36]!==g||e[37]!==h?(b=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-auth-audit",children:[h,f,p,g]}),e[34]=f,e[35]=p,e[36]=g,e[37]=h,e[38]=b):b=e[38],b},"ne");export{de as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as d,d as n,f as c,g as p}from"./chunk-YKXDMIHQ.js";var b=n(c(),1),s=n(p(),1);var y={alignItems:"center",border:"1px solid",borderRadius:4,display:"inline-flex",fontFamily:"var(--font-mono, ui-monospace, monospace)",fontSize:11,fontWeight:400,gap:6,letterSpacing:"0.06em",lineHeight:1.4,padding:"1px 8px",textTransform:"uppercase"},g={borderRadius:"50%",display:"inline-block",height:7,width:7},h=d((l,e,t,a)=>({badgeStyle:{...y,borderColor:l,color:l},color:l,dotStyle:{...g,backgroundColor:l},hint:a,label:e,title:t}),"i"),S={global:h("var(--royal-amethyst)","Global \xB7 D1","Global table \u2014 a single D1 table shared across all shards","Declared .global() and stored once in Cloudflare D1, shared across every shard and tenant. Auth tables (user, session, \u2026) live here too."),shard:h("var(--sky-sapphire)","Shard-local","Shard-local table \u2014 per-shard SQLite inside a Durable Object","Stored per shard key in a Durable Object's SQLite (.shardBy(...)). You are viewing one shard at a time \u2014 change the shard key to inspect another.")},m=d(l=>{let e=(0,b.c)(9),{tier:t}=l,a=S[t],i=`storage-tier-${t}`,r;e[0]!==a.dotStyle?(r=(0,s.jsx)("span",{"aria-hidden":"true",style:a.dotStyle}),e[0]=a.dotStyle,e[1]=r):r=e[1];let o;return e[2]!==a.badgeStyle||e[3]!==a.label||e[4]!==a.title||e[5]!==i||e[6]!==r||e[7]!==t?(o=(0,s.jsxs)("span",{"data-testid":i,"data-tier":t,style:a.badgeStyle,title:a.title,children:[r,a.label]}),e[2]=a.badgeStyle,e[3]=a.label,e[4]=a.title,e[5]=i,e[6]=r,e[7]=t,e[8]=o):o=e[8],o},"y");export{S as a,m as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as A}from"./chunk-FKVZRPV5.js";import{a as N,b as v,c as I,d as S,e as M,f as O}from"./chunk-HEAQVSNS.js";import{a as R}from"./chunk-WUWBZPUK.js";import{d as E,h as L,n as w,o as C}from"./chunk-FODLDLE2.js";import{a as d,d as g,e as _,f as D,g as W}from"./chunk-YKXDMIHQ.js";var q=g(D(),1),y=g(_(),1);var l=g(W(),1);var P="ANALYTICS",T=[{key:"volume",sql:d(r=>`SELECT blob2 AS fn, count() AS calls FROM ${r} WHERE blob1 = 'function_call' GROUP BY fn ORDER BY calls DESC LIMIT 25`,"sql"),title:"Request volume per function"},{key:"latency",sql:d(r=>`SELECT blob2 AS fn, quantileWeighted(0.50)(double1, _sample_interval) AS p50, quantileWeighted(0.95)(double1, _sample_interval) AS p95 FROM ${r} WHERE blob1 = 'function_call' GROUP BY fn ORDER BY p95 DESC LIMIT 25`,"sql"),title:"Latency p50 / p95 per function"},{key:"hotShards",sql:d(r=>`SELECT blob3 AS shard, count() AS calls FROM ${r} WHERE blob1 = 'function_call' GROUP BY shard ORDER BY calls DESC LIMIT 25`,"sql"),title:"Hot shards"}],H={error:null,loading:!0,result:null},$=d(r=>{let e=(0,q.c)(27),{state:x,title:u}=r,s=E(),{error:a,loading:n,result:t}=x,i=`analytics-panel-${u}`,o;e[0]!==s||e[1]!==u?(o=s(u),e[0]=s,e[1]=u,e[2]=o):o=e[2];let c;e[3]!==o?(c=(0,l.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,l.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:o})}),e[3]=o,e[4]=c):c=e[4];let p;e[5]!==n||e[6]!==s?(p=n&&(0,l.jsx)("p",{className:"px-4 py-8 text-center text-sm text-muted-foreground","data-testid":"analytics-loading",children:s("Loading\u2026")}),e[5]=n,e[6]=s,e[7]=p):p=e[7];let m;e[8]!==a||e[9]!==n?(m=!n&&a!==null&&(0,l.jsx)("p",{className:"px-4 py-8 text-center text-sm text-destructive","data-testid":"analytics-error",role:"alert",children:a}),e[8]=a,e[9]=n,e[10]=m):m=e[10];let h;e[11]!==a||e[12]!==n||e[13]!==t||e[14]!==s?(h=!n&&a===null&&t!==null&&t.rows.length===0&&(0,l.jsx)("p",{className:"px-4 py-8 text-center text-sm text-muted-foreground","data-testid":"analytics-empty-rows",children:s("No data points yet.")}),e[11]=a,e[12]=n,e[13]=t,e[14]=s,e[15]=h):h=e[15];let f;e[16]!==a||e[17]!==n||e[18]!==t?(f=!n&&a===null&&t!==null&&t.rows.length>0&&(0,l.jsxs)(N,{children:[(0,l.jsx)(v,{children:(0,l.jsx)(S,{children:t.columns.map(j)})}),(0,l.jsx)(I,{children:t.rows.map((B,Y)=>(0,l.jsx)(S,{children:t.columns.map(k=>(0,l.jsx)(O,{className:"font-mono text-xs",children:w(B[k.name])},k.name))},Y))})]}),e[16]=a,e[17]=n,e[18]=t,e[19]=f):f=e[19];let b;return e[20]!==i||e[21]!==c||e[22]!==p||e[23]!==m||e[24]!==h||e[25]!==f?(b=(0,l.jsxs)(R,{className:"gap-0 py-0","data-testid":i,children:[c,p,m,h,f]}),e[20]=i,e[21]=c,e[22]=p,e[23]=m,e[24]=h,e[25]=f,e[26]=b):b=e[26],b},"H"),J=d(({dataset:r=P,runQuery:e}={})=>{let x=E(),[u,s]=(0,y.useState)({}),a=e??null,n=(0,y.useCallback)(async t=>{if(a!==null)for(let i of T){if(t.cancelled)return;s(o=>({...o,[i.key]:{error:null,loading:!0,result:null}}));try{let o=await a(i.sql(r));t.cancelled||s(c=>({...c,[i.key]:{error:null,loading:!1,result:o}}))}catch(o){t.cancelled||s(c=>({...c,[i.key]:{error:L(o),loading:!1,result:null}}))}}},[a,r]);return(0,y.useEffect)(()=>{let t={cancelled:!1};return C(n(t)),()=>{t.cancelled=!0}},[n]),a===null?(0,l.jsx)(A,{description:x("Analytics Engine reads need an account-scoped Cloudflare API token, which cannot be shipped to a browser. The host must pass studio.analyticsQuery \u2014 a runner that proxies the SQL through your worker \u2014 to enable these panels."),icon:(0,l.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,l.jsx)("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"})}),testId:"analytics-not-configured",title:x("Analytics usage panels are not wired up.")}):(0,l.jsx)("div",{className:"flex flex-col gap-4","data-testid":"lunora-analytics-panel",children:T.map(t=>(0,l.jsx)($,{state:u[t.key]??H,title:t.title},t.key))})},"J");function j(r){return(0,l.jsx)(M,{children:r.name},r.name)}d(j,"W");export{J as AnalyticsPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as C}from"./chunk-FEWMAPNI.js";import"./chunk-225VJ77I.js";import{a as J}from"./chunk-U6XZFNKM.js";import"./chunk-ULIQFBZU.js";import"./chunk-XFXYDKOW.js";import"./chunk-35DM4JJG.js";import{a as H}from"./chunk-4ZEL6BYL.js";import{c as z}from"./chunk-AWWI2VYF.js";import"./chunk-ML7GYWXD.js";import"./chunk-FSRSK4LY.js";import"./chunk-5CEAO2OT.js";import{a as E}from"./chunk-FKVZRPV5.js";import{a as G,b as M,c as U,d as P,e as d,f as c}from"./chunk-HEAQVSNS.js";import{a as D,e as _}from"./chunk-WUWBZPUK.js";import{d as q}from"./chunk-FODLDLE2.js";import{a as S,d as O,f as Q,g as V}from"./chunk-YKXDMIHQ.js";var L=O(Q(),1);var r=O(V(),1);var K=["read","insert","update","delete"],B=S((e,s)=>({delete:e("Delete"),insert:e("Insert"),read:e("Read"),update:e("Update")})[s],"z"),W=S(e=>{let s=new Map;for(let a of e){let t=s.get(a.table)??{operations:new Set,procedures:new Set,table:a.table};t.operations.add(a.on),t.procedures.add(a.procedure),s.set(a.table,t)}return[...s.values()].toSorted((a,t)=>a.table.localeCompare(t.table))},"J"),ie=S(()=>{let e=(0,L.c)(49),s=q(),a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a={},e[0]=a):a=e[0];let{data:t,error:R,errorSource:k}=z(H.rlsPolicies,a),p=t!==void 0,m,n,h,l,f,u,x,b,o;if(e[1]!==t||e[2]!==R||e[3]!==k||e[4]!==p||e[5]!==s){let $=W(Array.isArray(t?.policies)?t.policies:[]),j;e[15]!==t?(j=Array.isArray(t?.roles)?t.roles:[],e[15]=t,e[16]=j):j=e[16],n=j,x="flex flex-col gap-6",b="lunora-rls-panel",e[17]!==R||e[18]!==k?(o=R!==null&&(0,r.jsx)(J,{error:k,testId:"rls-error"}),e[17]=R,e[18]=k,e[19]=o):o=e[19],u="flex flex-col gap-2",m=D,h="overflow-hidden py-0";let I;e[20]!==s?(I=s("Policies"),e[20]=s,e[21]=I):I=e[21],e[22]!==I?(l=(0,r.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,r.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:I})}),e[22]=I,e[23]=l):l=e[23],f=p&&$.length===0?(0,r.jsx)(E,{description:s("No `definePolicy` is wired through `.use(rls(...))` in this deployment. Add one to guard a table's rows."),testId:"rls-policies-empty",title:s("No policies defined")}):(0,r.jsx)(_,{className:"px-0",children:(0,r.jsxs)(G,{"data-testid":"rls-policies-table",children:[(0,r.jsx)(M,{children:(0,r.jsxs)(P,{children:[(0,r.jsx)(d,{children:s("Table")}),K.map(i=>(0,r.jsx)(d,{children:B(s,i)},i)),(0,r.jsx)(d,{children:s("Guarded by")})]})}),(0,r.jsx)(U,{children:$.map(i=>(0,r.jsxs)(P,{"data-testid":`rls-table-${i.table}`,children:[(0,r.jsx)(c,{className:"font-mono text-xs",children:i.table}),K.map(F=>(0,r.jsx)(c,{children:i.operations.has(F)?(0,r.jsx)(C,{variant:"secondary",children:s("Guarded")}):(0,r.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"})},F)),(0,r.jsx)(c,{className:"font-mono text-xs text-muted-foreground",children:[...i.procedures].join(", ")})]},i.table))})]})}),e[1]=t,e[2]=R,e[3]=k,e[4]=p,e[5]=s,e[6]=m,e[7]=n,e[8]=h,e[9]=l,e[10]=f,e[11]=u,e[12]=x,e[13]=b,e[14]=o}else m=e[6],n=e[7],h=e[8],l=e[9],f=e[10],u=e[11],x=e[12],b=e[13],o=e[14];let N;e[24]!==m||e[25]!==h||e[26]!==l||e[27]!==f?(N=(0,r.jsxs)(m,{className:h,children:[l,f]}),e[24]=m,e[25]=h,e[26]=l,e[27]=f,e[28]=N):N=e[28];let g;e[29]!==u||e[30]!==N?(g=(0,r.jsx)("section",{className:u,children:N}),e[29]=u,e[30]=N,e[31]=g):g=e[31];let y;e[32]!==s?(y=s("Roles"),e[32]=s,e[33]=y):y=e[33];let w;e[34]!==y?(w=(0,r.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,r.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:y})}),e[34]=y,e[35]=w):w=e[35];let v;e[36]!==p||e[37]!==n||e[38]!==s?(v=p&&n.length===0?(0,r.jsx)(E,{description:s("No `defineRole` is registered via `rls(policies, { roles })`. Roles back `ctx.auth.can(...)` permission checks."),testId:"rls-roles-empty",title:s("No roles defined")}):(0,r.jsx)(_,{className:"px-0",children:(0,r.jsxs)(G,{"data-testid":"rls-roles-table",children:[(0,r.jsx)(M,{children:(0,r.jsxs)(P,{children:[(0,r.jsx)(d,{children:s("Role")}),(0,r.jsx)(d,{children:s("Description")}),(0,r.jsx)(d,{children:s("Permissions")})]})}),(0,r.jsx)(U,{children:n.map(Y)})]})}),e[36]=p,e[37]=n,e[38]=s,e[39]=v):v=e[39];let A;e[40]!==w||e[41]!==v?(A=(0,r.jsx)("section",{className:"flex flex-col gap-2",children:(0,r.jsxs)(D,{className:"overflow-hidden py-0",children:[w,v]})}),e[40]=w,e[41]=v,e[42]=A):A=e[42];let T;return e[43]!==A||e[44]!==x||e[45]!==b||e[46]!==o||e[47]!==g?(T=(0,r.jsxs)("div",{className:x,"data-testid":b,children:[o,g,A]}),e[43]=A,e[44]=x,e[45]=b,e[46]=o,e[47]=g,e[48]=T):T=e[48],T},"oe");function X(e){return(0,r.jsx)(C,{variant:"outline",children:e},e)}S(X,"K");function Y(e){return(0,r.jsxs)(P,{"data-testid":`rls-role-${e.name}`,children:[(0,r.jsx)(c,{className:"font-mono text-xs",children:e.name}),(0,r.jsx)(c,{className:"text-muted-foreground",children:e.description??""}),(0,r.jsx)(c,{children:e.permissions.length===0?(0,r.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"}):(0,r.jsx)("span",{className:"flex flex-wrap gap-1",children:e.permissions.map(X)})})]},e.name)}S(Y,"V");export{ie as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as me}from"./chunk-UYEZR3BI.js";import{W as ne}from"./chunk-PLHA3OWK.js";import"./chunk-4L4WTGN5.js";import{a as ee}from"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import"./chunk-225VJ77I.js";import"./chunk-FSRSK4LY.js";import{a as te,e as se}from"./chunk-WUWBZPUK.js";import{d as Z,h as ie,o as de,q as ce}from"./chunk-FODLDLE2.js";import{a as h,d as Y,e as ge,f as xe,g as ye}from"./chunk-YKXDMIHQ.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 d,d as o,f as c,g as b,i as s}from"./chunk-YKXDMIHQ.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{a as $}from"./chunk-IJZT6UQS.js";import{a as b}from"./chunk-U6XZFNKM.js";import"./chunk-ULIQFBZU.js";import"./chunk-XFXYDKOW.js";import"./chunk-35DM4JJG.js";import{a as u}from"./chunk-4ZEL6BYL.js";import{c as p}from"./chunk-AWWI2VYF.js";import"./chunk-ML7GYWXD.js";import"./chunk-FSRSK4LY.js";import"./chunk-5CEAO2OT.js";import{a as y,b as w,c as j,d as h,e as c,f as i}from"./chunk-HEAQVSNS.js";import{a as d,e as l}from"./chunk-WUWBZPUK.js";import{d as k}from"./chunk-FODLDLE2.js";import{a as o,d as I,g as T,i as x}from"./chunk-YKXDMIHQ.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};
|