okengine 0.22.0 → 0.23.1
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/AGENTS.md +7 -0
- package/manifest.v1.schema.json +44 -0
- package/package.json +32 -19
- package/site/content/docs/ai/mcp.mdx +14 -10
- package/site/content/docs/ai/skills.mdx +1 -1
- package/site/content/docs/elements/ai/agents.mdx +61 -13
- package/site/content/docs/elements/ai/decide.mdx +536 -0
- package/site/content/docs/elements/ai/events.mdx +373 -0
- package/site/content/docs/elements/ai/index.mdx +9 -3
- package/site/content/docs/elements/ai/meta.json +1 -1
- package/site/content/docs/elements/ai/prompts.mdx +4 -2
- package/site/content/docs/elements/channel/index.mdx +4 -4
- package/site/content/docs/elements/channel/receipts.mdx +7 -5
- package/site/content/docs/elements/channel/sms.mdx +2 -1
- package/site/content/docs/elements/flow/index.mdx +22 -18
- package/site/content/docs/elements/gate/auth.mdx +4 -1
- package/site/content/docs/elements/signal/index.mdx +15 -14
- package/site/content/docs/elements/store/index.mdx +1 -1
- package/site/content/docs/elements/store/kv.mdx +5 -5
- package/site/content/docs/plugins/otp.mdx +3 -3
- package/site/content/docs/recipes/dragonfly.mdx +5 -5
- package/site/content/docs/recipes/index.mdx +6 -6
- package/site/content/docs/recipes/postgres.mdx +12 -8
- package/site/content/docs/recipes/redis.mdx +4 -4
- package/site/content/docs/reference/cli.mdx +2 -1
- package/site/content/docs/reference/configuration.mdx +9 -7
- package/site/content/docs/reference/fx.mdx +19 -10
- package/src/auth/api-key-sql.test.ts +44 -0
- package/src/auth/api-key-sql.ts +1 -0
- package/src/auth/api-keys.ts +30 -12
- package/src/auth/config.ts +6 -2
- package/src/auth/gate-auth.test.ts +20 -0
- package/src/auth/tenants.ts +17 -0
- package/src/cli/agents-md.test.ts +25 -0
- package/src/cli/ask-vault-gaps.test.ts +38 -1
- package/src/cli/ask-vault-gaps.ts +35 -2
- package/src/cli/decide.ts +174 -0
- package/src/cli/decision-lock-watch.test.ts +45 -0
- package/src/cli/decision-lock-watch.ts +51 -0
- package/src/cli/dev-app-runner.ts +34 -8
- package/src/cli/dev-auth-secret.test.ts +49 -0
- package/src/cli/dev-auth-secret.ts +49 -0
- package/src/cli/dev-hot.test.ts +41 -0
- package/src/cli/dev-hot.ts +48 -0
- package/src/cli/dev.test.ts +1 -1
- package/src/cli/dev.ts +24 -6
- package/src/cli/doctor-diff.test.ts +29 -1
- package/src/cli/doctor-diff.ts +35 -0
- package/src/cli/eval.ts +142 -1
- package/src/cli/index.ts +5 -0
- package/src/cli/load-config.images.test.ts +2 -2
- package/src/cli/load-config.ts +1 -1
- package/src/cli/manifest-pr-diff.ts +16 -0
- package/src/cli/mcp-from-console.ts +48 -0
- package/src/cli/registry.ts +35 -1
- package/src/client/agent.ts +307 -0
- package/src/client/transport.test.ts +20 -0
- package/src/client/transport.ts +2 -1
- package/src/client/types.ts +1 -1
- package/src/client-react/index.ts +7 -1
- package/src/client-react/use-agent-run.test.ts +271 -0
- package/src/client-react/use-agent-run.ts +193 -0
- package/src/compiler/ai-approval.test.ts +36 -0
- package/src/compiler/ai-repair.test.ts +22 -0
- package/src/compiler/decisions.extract.test.ts +164 -0
- package/src/compiler/effects-fetch.test.ts +77 -0
- package/src/compiler/effects-infer.ts +114 -17
- package/src/compiler/effects-join.test.ts +48 -0
- package/src/compiler/extract.test.ts +28 -0
- package/src/compiler/extract.ts +279 -13
- package/src/compiler/fx-index.ts +58 -4
- package/src/compiler/response.ts +35 -2
- package/src/config/index.ts +21 -3
- package/src/console/index.ts +1 -1
- package/src/console/server/ai-runs-flows.ts +269 -0
- package/src/console/server/ai-runs.test.ts +323 -0
- package/src/console/server/ai-runs.ts +562 -0
- package/src/console/server/ai.ts +12 -1
- package/src/console/server/app.ts +10 -1
- package/src/console/server/decisions-flows.ts +157 -0
- package/src/console/server/decisions.test.ts +66 -0
- package/src/console/server/decisions.ts +229 -0
- package/src/console/server/flows.ts +50 -2
- package/src/console/server/invoke-user-flow.ts +9 -0
- package/src/console/server/runs-ingest.ts +16 -0
- package/src/console/server/serve.ts +5 -0
- package/src/console/server/state.ts +25 -1
- package/src/console/server/store-stats.test.ts +47 -0
- package/src/console/server/store-stats.ts +92 -18
- package/src/console/ui-next/dist/assets/access-page-C_N4qvai.js +4 -0
- package/src/console/ui-next/dist/assets/{agent-disclosure-Bkohc_8X.js → agent-disclosure-Cq1TxniW.js} +1 -1
- package/src/console/ui-next/dist/assets/{cache-glyph-rL0lHxat.js → cache-glyph-BaI4uxZz.js} +1 -1
- package/src/console/ui-next/dist/assets/{call-pii-button-Deo4PP18.js → call-pii-button-DNyK7IIY.js} +1 -1
- package/src/console/ui-next/dist/assets/{collapsible-CoJ6amHf.js → collapsible-CRhBJMZR.js} +1 -1
- package/src/console/ui-next/dist/assets/confirm-sheet-DZfuJXP4.js +1 -0
- package/src/console/ui-next/dist/assets/copy-inline-button-BTjPVjRT.js +1 -0
- package/src/console/ui-next/dist/assets/decisions-page-D9twj8Xy.js +1 -0
- package/src/console/ui-next/dist/assets/detail-header-Dk5LipF6.js +1 -0
- package/src/console/ui-next/dist/assets/dropdown-menu-CRGrj5JU.js +1 -0
- package/src/console/ui-next/dist/assets/duration-tone-CsHWlVPU.js +9 -0
- package/src/console/ui-next/dist/assets/element-icons-C6t8Vlml.js +1 -0
- package/src/console/ui-next/dist/assets/explorer-chrome-Dslh2yE8.js +1 -0
- package/src/console/ui-next/dist/assets/explorer-empty-CIVg7Jgb.js +1 -0
- package/src/console/ui-next/dist/assets/flows-page-ZaTJAhR9.js +1 -0
- package/src/console/ui-next/dist/assets/{highlighted-json-CPYBzDh0.js → highlighted-json-DQ-EMAfz.js} +1 -1
- package/src/console/ui-next/dist/assets/{http-method-DTPevKmM.js → http-method-Cn_Fl79s.js} +1 -1
- package/src/console/ui-next/dist/assets/index-BlrN49Hs.css +2 -0
- package/src/console/ui-next/dist/assets/index-CmRFeWdT.js +58 -0
- package/src/console/ui-next/dist/assets/observability-page-Cn6R_dXz.js +8 -0
- package/src/console/ui-next/dist/assets/{replica-lag-BM27lXld.js → replica-lag-Bx6EZhSe.js} +7 -7
- package/src/console/ui-next/dist/assets/request-meta-DmdiUrfh.js +1 -0
- package/src/console/ui-next/dist/assets/shortcut-keys-DTE1sjTC.js +1 -0
- package/src/console/ui-next/dist/assets/store-page-8P6vGXnn.js +41 -0
- package/src/console/ui-next/dist/assets/trace-detail-sheet-BfGvpFSv.js +2 -0
- package/src/console/ui-next/dist/assets/tree-expand-toggle-CWdUHbc0.js +55 -0
- package/src/console/ui-next/dist/assets/units-page-CZOFZzay.js +1 -0
- package/src/console/ui-next/dist/assets/use-vault-list-BAyQG8Re.js +1 -0
- package/src/console/ui-next/dist/assets/vault-page-ki_ishmX.js +2 -0
- package/src/console/ui-next/dist/index.html +4 -3
- package/src/console/ui-next/seed-parked-approval.ts +126 -0
- package/src/console/ui-next/src/client.ts +224 -1
- package/src/console/ui-next/src/components/explorer/detail-header.tsx +9 -0
- package/src/console/ui-next/src/components/explorer/explorer-start-toggle.tsx +5 -1
- package/src/console/ui-next/src/components/ui/sheet-form.tsx +21 -12
- package/src/console/ui-next/src/features/flows/decisions/decisions-page.tsx +216 -0
- package/src/console/ui-next/src/features/flows/decisions/resolve.test.ts +48 -0
- package/src/console/ui-next/src/features/flows/decisions/resolve.ts +111 -0
- package/src/console/ui-next/src/features/flows/flows-page.tsx +10 -0
- package/src/console/ui-next/src/features/flows/graph/element-map.ts +1 -0
- package/src/console/ui-next/src/features/flows/traces/effect-kind.ts +6 -0
- package/src/console/ui-next/src/features/flows/traces/effect-summary.test.ts +24 -0
- package/src/console/ui-next/src/features/flows/traces/effect-summary.ts +24 -0
- package/src/console/ui-next/src/features/flows/traces/http-status.ts +58 -0
- package/src/console/ui-next/src/features/flows/traces/request-client-card.tsx +355 -0
- package/src/console/ui-next/src/features/flows/traces/request-client.test.ts +114 -0
- package/src/console/ui-next/src/features/flows/traces/request-client.ts +423 -0
- package/src/console/ui-next/src/features/flows/traces/request-input-view.test.ts +52 -6
- package/src/console/ui-next/src/features/flows/traces/request-input-view.ts +85 -19
- package/src/console/ui-next/src/features/flows/traces/trace-detail-sheet.tsx +505 -80
- package/src/console/ui-next/src/features/flows/traces/trace-lanes.test.ts +61 -0
- package/src/console/ui-next/src/features/flows/traces/trace-lanes.ts +78 -0
- package/src/console/ui-next/src/features/flows/traces/trace-nav.test.ts +48 -0
- package/src/console/ui-next/src/features/flows/traces/trace-nav.ts +57 -0
- package/src/console/ui-next/src/features/flows/traces/trace-request-section.tsx +275 -96
- package/src/console/ui-next/src/features/flows/traces/traces-pane.tsx +16 -2
- package/src/console/ui-next/src/features/observability/detail/ai-runs.tsx +369 -0
- package/src/console/ui-next/src/features/observability/observability-page.tsx +31 -1
- package/src/console/ui-next/src/features/observability/state/observability-selection.ts +18 -3
- package/src/console/ui-next/src/features/store/performance/kv-performance-panel.tsx +12 -1
- package/src/console/ui-next/src/features/store/performance/performance-panel.tsx +14 -1
- package/src/console/ui-next/src/features/units/call/call-api-panel.tsx +1 -1
- package/src/console/ui-next/src/features/units/detail/flow-contract-panel.tsx +6 -2
- package/src/console/ui-next/src/features/units/explorer/units-tree.tsx +73 -18
- package/src/console/ui-next/src/features/units/lib/unit-tree.test.ts +21 -0
- package/src/console/ui-next/src/features/units/lib/unit-tree.ts +82 -0
- package/src/console/ui-next/src/features/units/units-page.tsx +25 -7
- package/src/console/ui-next/src/router.tsx +17 -0
- package/src/console/ui-next/ui-next-seed-runs.ts +23 -0
- package/src/console/ui-next/vite-console-kernel-plugin.ts +43 -3
- package/src/console/ui-next/vite.config.ts +9 -0
- package/src/docker/recipes/dragonfly.ts +3 -2
- package/src/docker/recipes/redis.ts +1 -1
- package/src/drivers/ai-anthropic.ts +212 -21
- package/src/drivers/ai-mock.ts +34 -1
- package/src/drivers/ai-openai-compatible.ts +67 -26
- package/src/drivers/ai-preconnect.ts +18 -0
- package/src/drivers/ai-stream.test.ts +62 -0
- package/src/drivers/ai-types.ts +20 -0
- package/src/drivers/journal-postgres.test.ts +22 -1
- package/src/drivers/journal-postgres.ts +511 -13
- package/src/drivers/memory-ddl.test.ts +18 -0
- package/src/drivers/memory.ts +21 -1
- package/src/drivers/pg-rls.test.ts +31 -0
- package/src/drivers/pg-rls.ts +15 -0
- package/src/drivers/postgres.test.ts +9 -0
- package/src/drivers/postgres.ts +49 -11
- package/src/drivers/signal-compete.test.ts +234 -0
- package/src/drivers/signal-postgres.ts +39 -19
- package/src/drivers/signal-redis.ts +167 -11
- package/src/drivers/signal-types.ts +12 -0
- package/src/elements/ai/agent-event-slot.ts +27 -0
- package/src/elements/ai/approval-http.ts +207 -0
- package/src/elements/ai/approval.test.ts +741 -0
- package/src/elements/ai/approval.ts +228 -0
- package/src/elements/ai/decisions/bind.ts +163 -0
- package/src/elements/ai/decisions/certificate.test.ts +291 -0
- package/src/elements/ai/decisions/certificate.ts +377 -0
- package/src/elements/ai/decisions/certify.ts +314 -0
- package/src/elements/ai/decisions/decide.test.ts +953 -0
- package/src/elements/ai/decisions/e2e.test.ts +399 -0
- package/src/elements/ai/decisions/export.test.ts +120 -0
- package/src/elements/ai/decisions/export.ts +146 -0
- package/src/elements/ai/decisions/fixtures/openrouter-request.json +24 -0
- package/src/elements/ai/decisions/fixtures/openrouter-response.json +22 -0
- package/src/elements/ai/decisions/fixtures/typesafe-request.json +19 -0
- package/src/elements/ai/decisions/fixtures/typesafe-response.json +13 -0
- package/src/elements/ai/decisions/http.test.ts +154 -0
- package/src/elements/ai/decisions/http.ts +240 -0
- package/src/elements/ai/decisions/labels.test.ts +282 -0
- package/src/elements/ai/decisions/labels.ts +257 -0
- package/src/elements/ai/decisions/openrouter.live.test.ts +136 -0
- package/src/elements/ai/decisions/openrouter.ts +36 -0
- package/src/elements/ai/decisions/provider.ts +102 -0
- package/src/elements/ai/decisions/typesafe.ts +36 -0
- package/src/elements/ai/declare.ts +252 -1
- package/src/elements/ai/events.test.ts +379 -0
- package/src/elements/ai/events.ts +138 -0
- package/src/elements/ai/mcp-protocol.ts +5 -6
- package/src/elements/ai/run-events.test.ts +461 -0
- package/src/elements/ai/run-events.ts +522 -0
- package/src/elements/ai/runtime.ts +1187 -105
- package/src/elements/ai/stream-turn.ts +214 -0
- package/src/elements/ai/stream.live.test.ts +76 -0
- package/src/elements/ai/subagent.test.ts +136 -0
- package/src/elements/ai.test.ts +497 -3
- package/src/elements/ai.ts +16 -1
- package/src/elements/channel/runtime.ts +11 -0
- package/src/elements/channel/sql-ledger.ts +251 -0
- package/src/elements/clock/durable.ts +27 -1
- package/src/elements/signal/runtime.ts +9 -0
- package/src/elements/signal.test.ts +1 -0
- package/src/elements/store/cache.test.ts +120 -15
- package/src/elements/store/cache.ts +200 -39
- package/src/elements/store/prepare-row.test.ts +6 -2
- package/src/elements/store/sql-session.test.ts +53 -0
- package/src/elements/store/sql-session.ts +206 -10
- package/src/elements/store.ts +1 -0
- package/src/i18n/catalogs/ar.ts +5 -0
- package/src/i18n/catalogs/en.ts +5 -0
- package/src/index.ts +2 -0
- package/src/kernel/agent-event-store.ts +448 -0
- package/src/kernel/app.ts +135 -17
- package/src/kernel/auto-cache.test.ts +228 -0
- package/src/kernel/boot-bind/ai.ts +3 -0
- package/src/kernel/boot-bind/channel.ts +63 -2
- package/src/kernel/boot-bind/honor-config.test.ts +40 -10
- package/src/kernel/boot-bind/signal.ts +61 -25
- package/src/kernel/boot-bind/store.test.ts +26 -0
- package/src/kernel/boot-bind/store.ts +82 -6
- package/src/kernel/boot.ts +31 -6
- package/src/kernel/builtin-errors.ts +2 -0
- package/src/kernel/capability.ts +3 -0
- package/src/kernel/decision-label-store.ts +441 -0
- package/src/kernel/effects.test.ts +2 -1
- package/src/kernel/effects.ts +13 -1
- package/src/kernel/element-registries.ts +3 -0
- package/src/kernel/errors-compiler.ts +11 -0
- package/src/kernel/errors-text.ts +20 -0
- package/src/kernel/errors.ts +10 -0
- package/src/kernel/flow.test.ts +2 -3
- package/src/kernel/flow.ts +33 -3
- package/src/kernel/fx-call-types.test.ts +32 -0
- package/src/kernel/fx-decide.ts +765 -0
- package/src/kernel/fx-sql-handle.ts +46 -7
- package/src/kernel/fx.test.ts +13 -8
- package/src/kernel/fx.ts +339 -45
- package/src/kernel/http-frame.test.ts +94 -0
- package/src/kernel/http-frame.ts +203 -0
- package/src/kernel/idempotency.test.ts +2 -1
- package/src/kernel/journal.test.ts +114 -0
- package/src/kernel/journal.ts +471 -51
- package/src/kernel/json-result.ts +10 -0
- package/src/kernel/pipeline-tenant.ts +5 -1
- package/src/kernel/pipeline.test.ts +45 -0
- package/src/kernel/pipeline.ts +5 -0
- package/src/kernel/signal-tx.ts +28 -0
- package/src/kernel/sse-id.ts +32 -0
- package/src/kernel/store-transaction.test.ts +95 -0
- package/src/manifest/diff.ts +1 -0
- package/src/manifest/types.ts +29 -2
- package/src/mcp/ai-tools.test.ts +202 -0
- package/src/mcp/authorization.ts +66 -0
- package/src/mcp/docs-server.ts +19 -2
- package/src/mcp/mcp.test.ts +83 -0
- package/src/mcp/protocol.ts +8 -2
- package/src/mcp/server.ts +23 -2
- package/src/mcp/session.ts +3 -0
- package/src/mcp/tools.ts +168 -0
- package/src/mcp/versions.ts +60 -0
- package/src/plugins/index.ts +1 -0
- package/src/plugins/mena.ts +56 -0
- package/src/release/http-graph.test.ts +2 -0
- package/src/release/http-graph.ts +5 -0
- package/src/release/measure.ts +39 -14
- package/src/runs/collect.ts +4 -1
- package/src/runs/parquet.test.ts +27 -1
- package/src/runs/parquet.ts +19 -0
- package/src/runs/types.ts +31 -0
- package/src/runtime/json-code-block.test.ts +106 -47
- package/src/runtime/json-code-block.ts +1209 -46
- package/src/term.test.ts +13 -0
- package/src/term.ts +81 -49
- package/src/console/ui-next/dist/assets/PlusSignIcon-CwG3nxfu.js +0 -1
- package/src/console/ui-next/dist/assets/access-page-Ze6ckjdd.js +0 -4
- package/src/console/ui-next/dist/assets/copy-inline-button-CWG5_ZOh.js +0 -1
- package/src/console/ui-next/dist/assets/detail-header-b_ZzIsmU.js +0 -1
- package/src/console/ui-next/dist/assets/dropdown-menu-nwXEO1Ac.js +0 -1
- package/src/console/ui-next/dist/assets/duration-tone-BbQ_8z50.js +0 -9
- package/src/console/ui-next/dist/assets/element-icons-CwyLpVXz.js +0 -1
- package/src/console/ui-next/dist/assets/explorer-empty-C8sSCqYT.js +0 -1
- package/src/console/ui-next/dist/assets/flows-page-D2E7BtKK.js +0 -1
- package/src/console/ui-next/dist/assets/index-VxoEz295.css +0 -2
- package/src/console/ui-next/dist/assets/index-vTuwmeQz.js +0 -58
- package/src/console/ui-next/dist/assets/observability-page-SJTSzHFJ.js +0 -4
- package/src/console/ui-next/dist/assets/request-meta-BjFT7DNl.js +0 -1
- package/src/console/ui-next/dist/assets/shortcut-keys-CUNegEV4.js +0 -1
- package/src/console/ui-next/dist/assets/store-page-Qj9ThRE-.js +0 -41
- package/src/console/ui-next/dist/assets/trace-detail-sheet-Cmitq3da.js +0 -2
- package/src/console/ui-next/dist/assets/tree-expand-toggle-CbDIB-7x.js +0 -55
- package/src/console/ui-next/dist/assets/units-page-_PuYqFty.js +0 -1
- package/src/console/ui-next/dist/assets/use-vault-list-Cs45Czkt.js +0 -1
- package/src/console/ui-next/dist/assets/vault-page-BOMr0go9.js +0 -2
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{r as t}from"./react-dom-Ddte4I-Q.js";import{A as n}from"./xyflow-yApv7D4e.js";import{
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{r as t}from"./react-dom-Ddte4I-Q.js";import{A as n}from"./xyflow-yApv7D4e.js";import{$n as r,Qn as i,er as a,i as o,l as s,o as c,rr as l,s as u,t as d,u as f,x as p}from"./shortcut-keys-DTE1sjTC.js";import{C as m,S as h,vt as g,w as _,x as v}from"./explorer-chrome-Dslh2yE8.js";import{c as y,i as b,o as x}from"./call-pii-button-DNyK7IIY.js";import{b as ee,d as S,f as C,l as w,p as T,s as E,u as D}from"./element-icons-C6t8Vlml.js";import{a as O,o as te}from"./collapsible-CRhBJMZR.js";import{o as ne,s as k}from"./duration-tone-CsHWlVPU.js";import{t as A}from"./highlighted-json-DQ-EMAfz.js";import{t as j}from"./FileExportIcon-Ck-5od4R.js";import{c as re,l as ie,n as ae,st as oe}from"./index-CmRFeWdT.js";var se=[[`path`,{d:`M7.5 17.2196C7.44458 16.0292 6.62155 16 5.50505 16C3.78514 16 3.5 16.406 3.5 18V20C3.5 21.594 3.78514 22 5.50505 22C6.62154 22 7.44458 21.9708 7.5 20.7804M20.5 16L18.7229 20.6947C18.3935 21.5649 18.2288 22 17.968 22C17.7071 22 17.5424 21.5649 17.213 20.6947L15.4359 16M12.876 16H11.6951C11.2231 16 10.9872 16 10.8011 16.0761C10.1672 16.3354 10.1758 16.9448 10.1758 17.5C10.1758 18.0553 10.1672 18.6647 10.8011 18.9239C10.9872 19 11.2232 19 11.6951 19C12.167 19 12.4029 19 12.5891 19.0761C13.2229 19.3354 13.2143 19.9447 13.2143 20.5C13.2143 21.0553 13.2229 21.6647 12.5891 21.9239C12.4029 22 12.167 22 11.6951 22H10.4089`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M20 13V10.6569C20 9.83935 20 9.4306 19.8478 9.06306C19.6955 8.69552 19.4065 8.40649 18.8284 7.82843L14.0919 3.09188C13.593 2.593 13.3436 2.34355 13.0345 2.19575C12.9702 2.165 12.9044 2.13772 12.8372 2.11401C12.5141 2 12.1614 2 11.4558 2C8.21082 2 6.58831 2 5.48933 2.88607C5.26731 3.06508 5.06508 3.26731 4.88607 3.48933C4 4.58831 4 6.21082 4 9.45584V13M13 2.5V3C13 5.82843 13 7.24264 13.8787 8.12132C14.7574 9 16.1716 9 19 9H19.5`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}]],ce=[[`path`,{d:`M11 18.75C11.4142 18.75 11.75 18.4142 11.75 18C11.75 17.5858 11.4142 17.25 11 17.25V18V18.75ZM9 13.25C8.58579 13.25 8.25 13.5858 8.25 14C8.25 14.4142 8.58579 14.75 9 14.75V14V13.25ZM9 21.25C8.58579 21.25 8.25 21.5858 8.25 22C8.25 22.4142 8.58579 22.75 9 22.75V22V21.25ZM3 17.25C2.58579 17.25 2.25 17.5858 2.25 18C2.25 18.4142 2.58579 18.75 3 18.75V18V17.25ZM5 22.75C5.41421 22.75 5.75 22.4142 5.75 22C5.75 21.5858 5.41421 21.25 5 21.25V22V22.75ZM5 14.75C5.41421 14.75 5.75 14.4142 5.75 14C5.75 13.5858 5.41421 13.25 5 13.25V14V14.75ZM10 15H9.25V17H10H10.75V15H10ZM10 17H9.25C9.25 17.9665 10.0335 18.75 11 18.75V18V17.25C10.8619 17.25 10.75 17.1381 10.75 17H10ZM9 14V14.75C9.13807 14.75 9.25 14.8619 9.25 15H10H10.75C10.75 14.0335 9.9665 13.25 9 13.25V14ZM10 21H10.75V19H10H9.25V21H10ZM10 19H10.75C10.75 18.8619 10.8619 18.75 11 18.75V18V17.25C10.0335 17.25 9.25 18.0335 9.25 19H10ZM9 22V22.75C9.9665 22.75 10.75 21.9665 10.75 21H10H9.25C9.25 21.1381 9.13807 21.25 9 21.25V22ZM4 17H3.25C3.25 17.1381 3.13807 17.25 3 17.25V18V18.75C3.9665 18.75 4.75 17.9665 4.75 17H4ZM4 19H4.75C4.75 18.0335 3.9665 17.25 3 17.25V18V18.75C3.13807 18.75 3.25 18.8619 3.25 19H4ZM4 21H4.75V19H4H3.25V21H4ZM4 15H3.25V17H4H4.75V15H4ZM5 22V21.25C4.86193 21.25 4.75 21.1381 4.75 21H4H3.25C3.25 21.9665 4.0335 22.75 5 22.75V22ZM5 14V13.25C4.0335 13.25 3.25 14.0335 3.25 15H4H4.75C4.75 14.8619 4.86193 14.75 5 14.75V14Z`,fill:`currentColor`,key:`0`}],[`path`,{d:`M14 2.5V3C14 5.82843 14 7.24264 14.8787 8.12132C15.7574 9 17.1716 9 20 9H20.5`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}],[`path`,{d:`M14 21.9991C17.1143 21.99 18.7653 21.8915 19.8284 20.8284C21 19.6569 21 17.7712 21 14V10.6569C21 9.83935 21 9.4306 20.8478 9.06306C20.6955 8.69552 20.4065 8.40649 19.8284 7.82843L15.0919 3.09188C14.593 2.593 14.3436 2.34355 14.0345 2.19575C13.9702 2.165 13.9044 2.13772 13.8372 2.11401C13.5141 2 13.1614 2 12.4558 2C9.21082 2 7.58831 2 6.48933 2.88607C6.26731 3.06508 6.06508 3.26731 5.88607 3.48933C5 4.58831 5 6.21082 5 9.45584V10`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`2`}]],M=[`console.store.list`];function le(){return l({queryKey:M,queryFn:async()=>{let e=await g();if(e.error)throw Error(e.error.code);if(!e.data)throw Error(`Empty store list`);return e.data}})}var N=e(t(),1),P=/\b(?:SELECT|FROM|WHERE|LEFT\s+JOIN|RIGHT\s+JOIN|INNER\s+JOIN|FULL\s+JOIN|CROSS\s+JOIN|JOIN|GROUP\s+BY|ORDER\s+BY|HAVING|LIMIT|OFFSET|UNION(?:\s+ALL)?|EXCEPT|INTERSECT|RETURNING)\b/gi,F=/\b(?:AND|OR|ON)\b/gi;function I(e){let t=e.trim();if(t.length===0)return``;let n=L(t),r=[];for(let e of n){if(e.quoted){r.push(e.text);continue}let t=e.text.replace(/\s+/g,` `);t.length!==0&&r.push(t.replace(P,(e,t,n)=>t===0||n[t-1]===`
|
|
2
2
|
`?e.toUpperCase():`\n${e.toUpperCase()}`).replace(F,(e,t,n)=>t===0||n[t-1]===`
|
|
3
3
|
`?e.toUpperCase():`\n ${e.toUpperCase()}`))}return r.join(``).replace(/\n{3,}/g,`
|
|
4
4
|
|
|
5
5
|
`).replace(/[ \t]+\n/g,`
|
|
6
|
-
`).trim()}function
|
|
7
|
-
`&&(r+=1);return r}function
|
|
8
|
-
`,t-1)+1,i=e.slice(r,t);if(/^\s*(\/\/|#|--)/.test(i))return null;let a=Ee(e,t),o=a.prefix.toLowerCase(),s=e.slice(r,a.from).trim().toLowerCase(),c=[];if(s===`list`||s===`get`||s===`set`||s===`delete`||s===`ttl`||s===`set(`||s===`get(`||s===`list(`||s===`delete(`||s===`ttl(`){for(let e of n)U(e.name,o)&&c.push({kind:`namespace`,label:e.name,insert:`${e.name}:`,detail:`namespace`});return H(a.from,t,c)}if(s.length===0){for(let e of[`list`,`get`,`set`,`delete`,`ttl`])U(e,o)&&c.push({kind:`command`,label:e,insert:e===`set`?`set(`:`${e} `,detail:`command`});for(let e of n)U(e.name,o)&&c.push({kind:`namespace`,label:e.name,insert:e.name,detail:`namespace`})}return H(a.from,t,c)}function H(e,t,n){return n.length===0?null:(n.sort((e,t)=>{let n=we(e.kind)-we(t.kind);return n===0?e.label.localeCompare(t.label):n}),{from:e,to:t,items:n.slice(0,12)})}function we(e){return e===`table`||e===`namespace`?0:e===`column`||e===`command`?1:2}function Te(e,t){return{kind:`column`,label:e.name,insert:Ae(e.name),detail:e.type===`unknown`?t:`${t} · ${e.type}`,...e.pii===!0?{pii:!0}:{},...e.primaryKey===!0?{primaryKey:!0}:{},...e.references?{foreignKey:!0}:{}}}function Ee(e,t){let n=t;for(;n>0;){let t=e[n-1];if(t&&(be.test(t)||t===`"`)){--n;continue}break}let r=e.slice(n,t),i=null;if(n>0&&e[n-1]===`.`){let t=n-1,r=t;for(;r>0;){let t=e[r-1];if(t&&(be.test(t)||t===`"`)){--r;continue}break}i=je(e.slice(r,t))}return r.startsWith(`"`)&&(r=r.slice(1)),r.endsWith(`"`)&&(r=r.slice(0,-1)),{from:n,prefix:r,qualifier:i}}function De(e,t){let n=e.slice(0,t),r=null;for(let e of
|
|
6
|
+
`).trim()}function L(e){let t=[],n=0,r=null;for(let i=0;i<e.length;i+=1){let a=e[i];if(r){if(a===r){if(e[i+1]===r){i+=1;continue}t.push({quoted:!0,text:e.slice(n,i+1)}),n=i+1,r=null}continue}(a===`'`||a===`"`||a==="`")&&(i>n&&t.push({quoted:!1,text:e.slice(n,i)}),r=a,n=i)}return n<e.length&&t.push({quoted:r!==null,text:e.slice(n)}),t}function R(e){let t=L(e),n=[],r=0,i=0;for(let a of t){if(!a.quoted)for(let t=0;t<a.text.length;t+=1){if(a.text[t]!==`;`)continue;let o=i+t+1;me(n,e,r,o),r=o}i+=a.text.length}return me(n,e,r,e.length),n}function z(e,t){let n=R(e);if(n.length===0)return null;let r=Math.max(0,Math.min(t,e.length));for(let e of n)if(r>=e.start&&r<=e.end)return e;return n[n.length-1]??null}function ue(e,t,n,r){if(r===`all`)return R(e).map(e=>e.text);let i=Math.min(t,n),a=Math.max(t,n);if(a>i){let t=R(e.slice(i,a)).map(e=>e.text);if(t.length>0)return t}let o=z(e,i)?.text??e.trim();return o.length>0?[o]:[]}function B(e,t){let n=e.trim().replace(/;+\s*$/,``);return n.length===0||/^EXPLAIN\b/i.test(n)?n:t?`EXPLAIN ANALYZE ${n}`:`EXPLAIN ${n}`}var de=new Set([`INSERT`,`UPDATE`,`DELETE`,`DROP`,`ALTER`,`CREATE`,`TRUNCATE`,`REPLACE`,`GRANT`,`REVOKE`,`VACUUM`,`COMMENT`,`COPY`,`CALL`,`REFRESH`,`MERGE`]);function V(e){let t=e.trim().replace(/;+\s*$/,``),n=ge(t);return n===`EXPLAIN`?/\bANALYZE\b/i.test(t):n===`ANALYZE`||de.has(n)}function fe(e){let t=e.trim().replace(/;+\s*$/,``);if(t.length===0)return!1;let n=ge(t);if(n!==`SELECT`&&n!==`WITH`)return!1;for(let e of L(t))if(!e.quoted&&/\bLIMIT\b/i.test(e.text))return!1;return!0}function pe(e,t){let n=Math.max(0,Math.min(t,e.length)),r=1;for(let t=0;t<n;t+=1)e[t]===`
|
|
7
|
+
`&&(r+=1);return r}function me(e,t,n,r){let i=t.slice(n,r);if(i.replace(/[;\s]/g,``).length===0)return;let a=n+(i.match(/^\s*/)?.[0]?.length??0);e.push({text:i.trim(),start:n,end:r,startLine:pe(t,a)})}function he(e){let t=ge(e.trim().replace(/;+\s*$/,``));return t.length>0?t:`SQL`}function ge(e){return/^([A-Za-z]+)/.exec(e)?.[1]?.toUpperCase()??``}var _e=`SELECT.FROM.WHERE.JOIN.LEFT JOIN.INNER JOIN.RIGHT JOIN.FULL JOIN.ON.AND.OR.ORDER BY.GROUP BY.HAVING.LIMIT.OFFSET.UNION.INSERT INTO.VALUES.UPDATE.SET.DELETE FROM.CREATE TABLE.CREATE INDEX.ALTER TABLE.DROP TABLE.TRUNCATE.EXPLAIN.EXPLAIN ANALYZE.BEGIN.COMMIT.ROLLBACK.GRANT.AS.DISTINCT.COUNT.LIKE.ILIKE.IN.IS NULL.IS NOT NULL.NOT.ASC.DESC.WITH.RETURNING.CASE.WHEN.THEN.ELSE.END`.split(`.`),ve=new Set([`FROM`,`JOIN`,`INTO`,`UPDATE`,`TABLE`]),ye=new Set([`SELECT`,`WHERE`,`SET`,`ON`,`BY`,`HAVING`,`AND`,`OR`,`RETURNING`]),be=/[A-Za-z0-9_]/;function xe(e,t,n,r=`sql`){let i=Math.max(0,Math.min(t,e.length));return r===`kv`?Ce(e,i,n):Me(e,i)?null:Se(e,i,n)}function Se(e,t,n){let r=Ee(e,t),i=r.prefix.toLowerCase(),a=r.qualifier,o=De(e,r.from),s=z(e,t),c=s?Oe(s.text,n):[],l=[];if(a!==null){let e=ke(n,a);if(!e)return null;for(let t of e.columns)U(t.name,i)&&l.push(Te(t,e.name));return H(r.from,t,l)}let u=o!==null&&ve.has(o),d=o!==null&&ye.has(o);if(u||!d&&i.length>0)for(let e of n)U(e.name,i)&&l.push({kind:`table`,label:e.name,insert:Ae(e.name),detail:`table`});if(d||!u&&i.length>0){let e=c.length>0?c:n.map(e=>e.name),t=new Set;for(let r of e){let e=ke(n,r);if(e)for(let n of e.columns){let r=`${e.name}.${n.name}`;!t.has(r)&&U(n.name,i)&&(t.add(r),l.push(Te(n,e.name)))}}if(c.length>0&&i.length>0){for(let r of n)if(!e.includes(r.name))for(let e of r.columns){let n=`${r.name}.${e.name}`;!t.has(n)&&U(e.name,i)&&(t.add(n),l.push(Te(e,r.name)))}}}if(i.length>0)for(let e of _e)U(e,i)&&l.push({kind:`keyword`,label:e,insert:e,detail:`keyword`});return H(r.from,t,l)}function Ce(e,t,n){let r=e.lastIndexOf(`
|
|
8
|
+
`,t-1)+1,i=e.slice(r,t);if(/^\s*(\/\/|#|--)/.test(i))return null;let a=Ee(e,t),o=a.prefix.toLowerCase(),s=e.slice(r,a.from).trim().toLowerCase(),c=[];if(s===`list`||s===`get`||s===`set`||s===`delete`||s===`ttl`||s===`set(`||s===`get(`||s===`list(`||s===`delete(`||s===`ttl(`){for(let e of n)U(e.name,o)&&c.push({kind:`namespace`,label:e.name,insert:`${e.name}:`,detail:`namespace`});return H(a.from,t,c)}if(s.length===0){for(let e of[`list`,`get`,`set`,`delete`,`ttl`])U(e,o)&&c.push({kind:`command`,label:e,insert:e===`set`?`set(`:`${e} `,detail:`command`});for(let e of n)U(e.name,o)&&c.push({kind:`namespace`,label:e.name,insert:e.name,detail:`namespace`})}return H(a.from,t,c)}function H(e,t,n){return n.length===0?null:(n.sort((e,t)=>{let n=we(e.kind)-we(t.kind);return n===0?e.label.localeCompare(t.label):n}),{from:e,to:t,items:n.slice(0,12)})}function we(e){return e===`table`||e===`namespace`?0:e===`column`||e===`command`?1:2}function Te(e,t){return{kind:`column`,label:e.name,insert:Ae(e.name),detail:e.type===`unknown`?t:`${t} · ${e.type}`,...e.pii===!0?{pii:!0}:{},...e.primaryKey===!0?{primaryKey:!0}:{},...e.references?{foreignKey:!0}:{}}}function Ee(e,t){let n=t;for(;n>0;){let t=e[n-1];if(t&&(be.test(t)||t===`"`)){--n;continue}break}let r=e.slice(n,t),i=null;if(n>0&&e[n-1]===`.`){let t=n-1,r=t;for(;r>0;){let t=e[r-1];if(t&&(be.test(t)||t===`"`)){--r;continue}break}i=je(e.slice(r,t))}return r.startsWith(`"`)&&(r=r.slice(1)),r.endsWith(`"`)&&(r=r.slice(0,-1)),{from:n,prefix:r,qualifier:i}}function De(e,t){let n=e.slice(0,t),r=null;for(let e of L(n)){if(e.quoted)continue;let t=e.text.toUpperCase().match(/[A-Z]+/g);t&&(r=t[t.length-1]??r)}return r}function Oe(e,t){let n=new Set(t.map(e=>e.name.toLowerCase())),r=[];for(let t of L(e)){if(!t.quoted)continue;let e=je(t.text);n.has(e.toLowerCase())&&!r.includes(e)&&r.push(e)}let i=/\b(?:FROM|JOIN|INTO|UPDATE)\s+("?[A-Za-z_][A-Za-z0-9_]*"?)/gi,a;for(;a=i.exec(e);){let e=je(a[1]??``);n.has(e.toLowerCase())&&!r.includes(e)&&r.push(e)}return r}function ke(e,t){let n=t.toLowerCase();return e.find(e=>e.name.toLowerCase()===n)}function U(e,t){return t.length===0||e.toLowerCase().startsWith(t)}function Ae(e){return`"${e.replaceAll(`"`,`""`)}"`}function je(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith("`")&&t.endsWith("`")?t.slice(1,-1):t}function Me(e,t){let n=0;for(let r of L(e)){let e=n+r.text.length;if(t>n&&t<=e&&r.quoted&&r.text.startsWith(`'`))return!0;n=e}return!1}var W=n();function Ne({items:e,active:t,top:n,left:r,onHover:a,onPick:o}){return(0,W.jsx)(`ul`,{id:`store-query-complete`,role:`listbox`,"data-slot":`store-query-complete`,className:`cn-menu-translucent absolute z-20 max-h-56 min-w-52 overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10`,style:{top:n,left:r},children:e.map((e,n)=>(0,W.jsx)(`li`,{children:(0,W.jsxs)(`button`,{type:`button`,role:`option`,id:`store-query-complete-${n}`,"aria-selected":n===t,"data-slot":`store-query-complete-item`,onMouseEnter:()=>a(n),onMouseDown:e=>{e.preventDefault(),o(n)},className:i(`flex w-full items-center gap-2 rounded-md px-1.5 py-1 text-left`,n===t?`bg-accent text-accent-foreground`:`text-foreground hover:bg-muted/70`),children:[(0,W.jsx)(x,{primaryKey:e.primaryKey,foreignKey:e.foreignKey}),(0,W.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[11px]`,children:e.label}),e.pii?(0,W.jsx)(`span`,{className:`shrink-0 rounded border border-sky-500/30 px-1 font-mono text-[8px] text-sky-700 dark:text-sky-400`,children:`PII`}):null,(0,W.jsx)(`span`,{className:`shrink-0 font-mono text-[9px] tracking-wide text-muted-foreground/70 uppercase`,children:e.kind===`column`?e.detail??`col`:e.kind})]})},`${e.kind}:${e.label}:${e.detail??``}`))})}function Pe(e,t){let n=getComputedStyle(e),r=document.createElement(`div`),i=[`boxSizing`,`width`,`fontFamily`,`fontSize`,`fontWeight`,`fontStyle`,`letterSpacing`,`textTransform`,`wordSpacing`,`textIndent`,`whiteSpace`,`wordWrap`,`lineHeight`,`paddingTop`,`paddingRight`,`paddingBottom`,`paddingLeft`,`borderTopWidth`,`borderRightWidth`,`borderBottomWidth`,`borderLeftWidth`];r.style.position=`absolute`,r.style.visibility=`hidden`,r.style.overflow=`hidden`,r.style.whiteSpace=`pre-wrap`,r.style.wordWrap=`break-word`;for(let e of i)r.style[e]=n[e];r.style.width=`${e.clientWidth}px`,r.textContent=e.value.slice(0,t);let a=document.createElement(`span`);a.textContent=e.value.slice(t)||`.`,r.appendChild(a),document.body.appendChild(r);let o=a.offsetTop-e.scrollTop,s=a.offsetLeft-e.scrollLeft;return document.body.removeChild(r),{top:o,left:s}}var Fe=new Set(`ABORT.ADD.ALL.ALTER.ANALYZE.AND.ANY.AS.ASC.BETWEEN.BEGIN.BY.CASCADE.CASE.CAST.CHECK.COALESCE.COLUMN.COMMIT.CONFLICT.CONSTRAINT.CREATE.CROSS.CURRENT.DEFAULT.DELETE.DESC.DISTINCT.DO.DROP.ELSE.END.EXCEPT.EXISTS.EXPLAIN.FALSE.FOREIGN.FROM.FULL.GRANT.GROUP.HAVING.IF.ILIKE.IN.INDEX.INNER.INSERT.INTERSECT.INTO.IS.JOIN.KEY.LATERAL.LEFT.LIKE.LIMIT.MATERIALIZED.NATURAL.NOT.NULL.NULLIF.OFFSET.ON.ONLY.OR.ORDER.OUTER.OVER.PARTITION.PRIMARY.RECURSIVE.REFERENCES.RETURNING.RIGHT.ROLLBACK.SELECT.SET.TABLE.THEN.TRUE.TRUNCATE.UNION.UNIQUE.UPDATE.USING.VALUES.VIEW.WHEN.WHERE.WITH`.split(`.`)),Ie=new Set([`TRUE`,`FALSE`,`NULL`]),Le=new Set([`list`,`get`,`set`,`delete`,`ttl`]),Re=new Set([`true`,`false`,`null`,`value`]),G=/[A-Za-z_\u0080-\uFFFF]/,ze=/[A-Za-z0-9_\u0080-\uFFFF]/;function Be(e,t){return t===`kv`?He(e):Ve(e)}function Ve(e){let t=[],n=0;for(;n<e.length;){let r=e[n]??``,i=e[n+1]??``;if(r===`-`&&i===`-`){n=K(e,n,t);continue}if(r===`/`&&i===`*`){n=Ue(e,n,t);continue}if(r===`'`||r===`"`||r==="`"){n=We(e,n,r,t,r===`'`?`string`:`ident`);continue}if(q(r)||r===`.`&&q(i)){n=Ge(e,n,t);continue}if(G.test(r)){let r=n;for(n+=1;n<e.length&&ze.test(e[n]??``);)n+=1;let i=e.slice(r,n),a=i.toUpperCase();Ie.has(a)?t.push({kind:`atom`,text:i}):Fe.has(a)?t.push({kind:`keyword`,text:i}):t.push({kind:`text`,text:i});continue}if(Ye(r)){let r=n;for(n+=1;n<e.length&&Ye(e[n]??``);)n+=1;t.push({kind:`operator`,text:e.slice(r,n)});continue}if(J(r)){t.push({kind:`punct`,text:r}),n+=1;continue}n=qe(e,n,t,(t,n)=>!Xe(t,e,n))}return Je(t)}function He(e){let t=[],n=0;for(;n<e.length;){let r=e[n]??``,i=e[n+1]??``;if(r===`/`&&i===`/`){n=K(e,n,t);continue}if(r===`#`){n=K(e,n,t);continue}if(r===`-`&&i===`-`){n=K(e,n,t);continue}if(r===`'`||r===`"`){n=We(e,n,r,t,`string`);continue}if(q(r)){n=Ke(e,n,t);continue}if(G.test(r)){let r=n;for(n+=1;n<e.length&&ze.test(e[n]??``);)n+=1;let i=e.slice(r,n),a=i.toLowerCase();Le.has(a)?t.push({kind:`command`,text:i}):Re.has(a)?t.push({kind:`atom`,text:i}):t.push({kind:`ident`,text:i});continue}if(r===`:`){t.push({kind:`punct`,text:r}),n+=1;continue}if(J(r)||r===`{`||r===`}`||r===`[`||r===`]`){t.push({kind:`punct`,text:r}),n+=1;continue}n=qe(e,n,t,(t,n)=>!(t===`/`||t===`#`||t===`'`||t===`"`||t===`-`&&e[n+1]===`-`||q(t)||G.test(t)||J(t)||t===`{`||t===`}`||t===`[`||t===`]`||t===`:`))}return Je(t)}function K(e,t,n){let r=t;for(;r<e.length&&e[r]!==`
|
|
9
9
|
`;)r+=1;return n.push({kind:`comment`,text:e.slice(t,r)}),r}function Ue(e,t,n){let r=t+2;for(;r<e.length&&(e[r]!==`*`||e[r+1]!==`/`);)r+=1;return r<e.length&&(r+=2),n.push({kind:`comment`,text:e.slice(t,r)}),r}function We(e,t,n,r,i){let a=t+1;for(;a<e.length;){if(e[a]===n){if(e[a+1]===n){a+=2;continue}a+=1;break}if(e[a]===`\\`&&n===`'`){a+=2;continue}a+=1}return r.push({kind:i,text:e.slice(t,a)}),a}function Ge(e,t,n){let r=t;for(e[r]===`.`&&(r+=1);r<e.length&&q(e[r]??``);)r+=1;if(e[r]===`.`&&q(e[r+1]??``))for(r+=1;r<e.length&&q(e[r]??``);)r+=1;let i=e[r];if(i===`e`||i===`E`){let t=r+1;if((e[t]===`+`||e[t]===`-`)&&(t+=1),q(e[t]??``))for(r=t+1;r<e.length&&q(e[r]??``);)r+=1}return n.push({kind:`number`,text:e.slice(t,r)}),r}function Ke(e,t,n){let r=Ge(e,t,n),i=n[n.length-1];if(!i)return r;let a=e[r];return a&&/[smhd]/i.test(a)&&!ze.test(e[r+1]??``)?(n[n.length-1]={kind:`number`,text:`${i.text}${a}`},r+1):r}function qe(e,t,n,r){let i=t;for(;i<e.length&&r(e[i]??``,i);)i+=1;return i===t?(n.push({kind:`text`,text:e[t]??``}),t+1):(n.push({kind:`text`,text:e.slice(t,i)}),i)}function Je(e){let t=[];for(let n of e){let e=t[t.length-1];e&&e.kind===n.kind?t[t.length-1]={kind:e.kind,text:`${e.text}${n.text}`}:t.push(n)}return t}function q(e){return e>=`0`&&e<=`9`}function Ye(e){return`+-*/%=<>!&|^~`.includes(e)}function J(e){return`(),;.`.includes(e)}function Xe(e,t,n){return!!(e===`'`||e===`"`||e==="`"||e===`-`&&t[n+1]===`-`||e===`/`&&t[n+1]===`*`||q(e)||e===`.`&&q(t[n+1]??``)||G.test(e)||Ye(e)||J(e))}var Ze={text:`text-foreground/90`,comment:`italic text-muted-foreground/55`,keyword:`text-rose-600 dark:text-rose-400`,command:`text-amber-600 dark:text-amber-400`,string:`text-sky-700 dark:text-sky-300`,ident:`text-teal-700 dark:text-teal-300`,number:`text-violet-600 dark:text-violet-400`,punct:`text-muted-foreground/80`,operator:`text-fuchsia-600 dark:text-fuchsia-400`,atom:`text-amber-700 dark:text-amber-300`};function Qe({code:e,language:t,className:n}){let r=Be(e,t);return(0,W.jsx)(`pre`,{"aria-hidden":!0,"data-slot":`store-query-highlight`,"data-language":t,className:i(`m-0 overflow-visible whitespace-pre font-mono text-xs leading-5 text-foreground/90`,n),children:r.map((e,t)=>(0,W.jsx)(`span`,{className:Ze[e.kind],children:e.text},`${t}-${e.kind}`))})}function $e({value:e,onChange:t,language:n,onRun:a,onRunAll:o,label:s,className:c,runLines:l=[],onRunLine:u,onCursorChange:d,editorRef:f,tables:p=[],facet:m=`sql`}){let h=(0,N.useRef)(null),g=(0,N.useRef)(null),_=(0,N.useRef)(null),[v,b]=(0,N.useState)(null),x=Math.max(e.split(`
|
|
10
10
|
`).length,1),ee=e.endsWith(`
|
|
11
|
-
`)?e:`${e}\n`,S=new Set(l);(0,N.useImperativeHandle)(f,()=>({insert(n){let r=h.current;if(b(null),!r){t(`${e}${n}`);return}let i=r.selectionStart,a=r.selectionEnd;t(`${e.slice(0,i)}${n}${e.slice(a)}`),requestAnimationFrame(()=>{let e=i+n.length;r.focus(),r.selectionStart=r.selectionEnd=e,d?.(e,e)})},focus(){h.current?.focus()}}));let C=()=>{let e=h.current;e&&(g.current&&(g.current.scrollTop=e.scrollTop),_.current&&(_.current.scrollTop=e.scrollTop,_.current.scrollLeft=e.scrollLeft))},w=()=>{let e=h.current;e&&d?.(e.selectionStart,e.selectionEnd)},T=(e,t)=>{requestAnimationFrame(()=>{e.focus(),e.selectionStart=e.selectionEnd=t,d?.(t,t)})},E=(e,t)=>{if(p.length===0){b(null);return}let n=e.selectionStart,r=xe(t,n,p,m);if(!r){b(null);return}let i=Pe(e,n);b({result:r,active:0,top:Math.min(i.top+20,Math.max(8,e.clientHeight-48)),left:Math.min(Math.max(8,i.left),Math.max(8,e.clientWidth-220))})},D=n=>{let r=h.current;if(!r||!v)return;let i=v.result.items[n];if(!i)return;let a=`${e.slice(0,v.result.from)}${i.insert}${e.slice(v.result.to)}`,o=v.result.from+i.insert.length;t(a),b(null),T(r,o)};return(0,W.jsxs)(`div`,{className:i(`flex min-h-0 flex-1 overflow-hidden bg-background`,c),"data-slot":`store-query-editor`,children:[(0,W.jsx)(`div`,{ref:g,"aria-hidden":!0,className:`shrink-0 overflow-hidden border-r border-border/50 bg-muted/15 py-3 pr-1.5 pl-1.5 font-mono text-xs leading-5 text-muted-foreground/70`,children:Array.from({length:x},(e,t)=>{let n=t+1,i=S.has(n);return(0,W.jsxs)(`div`,{className:`group/line flex h-5 items-center justify-end gap-0.5`,children:[i&&u?(0,W.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-label":`Run statement on line ${n}`,"data-slot":`store-query-gutter-run`,onClick:()=>u(n),className:`flex size-4 items-center justify-center rounded-sm text-emerald-600 opacity-70 hover:bg-emerald-500/15 hover:opacity-100 dark:text-emerald-400`,children:(0,W.jsx)(r,{icon:y,className:`size-2.5`})}):(0,W.jsx)(`span`,{className:`size-4`}),(0,W.jsx)(`span`,{className:`min-w-4 text-right`,children:n})]},n)})}),(0,W.jsxs)(`div`,{className:`relative min-h-0 min-w-0 flex-1`,children:[(0,W.jsx)(`div`,{ref:_,className:`pointer-events-none absolute inset-0 overflow-hidden`,children:(0,W.jsx)(Qe,{code:ee,language:n,className:`px-3 py-3 text-xs leading-5`})}),(0,W.jsx)(`textarea`,{ref:h,value:e,onChange:e=>{t(e.target.value),d?.(e.target.selectionStart,e.target.selectionEnd),E(e.target,e.target.value)},onScroll:C,onKeyDown:n=>{if((n.metaKey||n.ctrlKey)&&n.key===`Enter`){n.preventDefault(),b(null),n.shiftKey&&o?o():a();return}if(v){if(n.key===`ArrowDown`){n.preventDefault(),b(e=>e&&{...e,active:(e.active+1)%e.result.items.length});return}if(n.key===`ArrowUp`){n.preventDefault(),b(e=>e&&{...e,active:(e.active-1+e.result.items.length)%e.result.items.length});return}if(n.key===`Enter`||n.key===`Tab`){n.preventDefault(),D(v.active);return}if(n.key===`Escape`){n.preventDefault(),b(null);return}(n.key===`ArrowLeft`||n.key===`ArrowRight`)&&b(null)}if(n.key===`Tab`){n.preventDefault();let r=n.currentTarget,i=r.selectionStart,a=r.selectionEnd;t(`${e.slice(0,i)} ${e.slice(a)}`),T(r,i+2);return}n.key===`Escape`&&b(null)},onKeyUp:w,onClick:()=>{b(null),w()},onSelect:w,onBlur:()=>b(null),spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`,"aria-label":s,"aria-autocomplete":`list`,"aria-expanded":v!==null,"aria-controls":v?`store-query-complete`:void 0,"aria-activedescendant":v?`store-query-complete-${v.active}`:void 0,"data-slot":`store-query-input`,className:`absolute inset-0 h-full w-full resize-none overflow-auto bg-transparent px-3 py-3 font-mono text-xs leading-5 text-transparent caret-foreground outline-none`}),v?(0,W.jsx)(Ne,{items:v.result.items,active:v.active,top:v.top,left:v.left,onHover:e=>b(t=>t&&{...t,active:e}),onPick:D}):null]})]})}function et({value:e,label:t,onChange:n,onFocus:r,onIdle:a,dirty:o=!1,autoFocus:s=!1,placeholder:c=`Empty`,className:l}){let[u,d]=(0,N.useState)(e),f=(0,N.useRef)(null);(0,N.useEffect)(()=>{d(e)},[e]),(0,N.useEffect)(()=>{if(!s)return;let e=f.current;e&&(e.focus(),e.select())},[s]);let p=()=>{u!==e&&n(u)},m=()=>{p(),a?.()};return(0,W.jsx)(`input`,{ref:f,value:u,"aria-label":t,size:1,"data-dirty":o?`true`:void 0,onFocus:r,onChange:e=>d(e.target.value),onBlur:m,onKeyDown:t=>{if(t.key===`Enter`&&(t.metaKey||t.ctrlKey)){m();return}t.key===`Enter`?(t.preventDefault(),t.currentTarget.blur()):t.key===`Escape`&&(t.preventDefault(),d(e),a?.(),t.currentTarget.blur())},placeholder:c,className:i(`h-full w-full min-w-0 appearance-none rounded-none border-0 bg-transparent p-0`,`shadow-none outline-none ring-0`,`focus:bg-transparent focus:shadow-none focus:ring-0 focus:outline-none`,`focus-visible:shadow-none focus-visible:ring-0 focus-visible:outline-none`,`placeholder:text-muted-foreground/40`,o?`text-[#9a5b12] dark:text-[#e8c48a]`:`text-foreground`,l)})}function tt(e){try{return new TextEncoder().encode(JSON.stringify(e??null)).length}catch{return 0}}function nt(e){if(typeof e==`string`){let t=e.trim();return t===``?`—`:t}return typeof e!=`number`||!Number.isFinite(e)?`—`:e<=0?`0s`:e<6e4?`${Math.max(1,Math.round(e/1e3))}s`:e<36e5?`${Math.round(e/6e4)}m`:e<864e5?`${Math.round(e/36e5)}h`:`${Math.round(e/864e5)}d`}function rt(e){let t=e.trim();if(t===``||t===`—`||t===`none`)return null;if(/^(\d+)(ms|s|m|h|d)$/.test(t))return t}function it(e){if(typeof e!=`number`||!Number.isFinite(e)||e<0)return`—`;if(e<1024)return`${Math.round(e)} B`;if(e<1048576){let t=e/1024;return t<10?`${t.toFixed(1)} KB`:`${Math.round(t)} KB`}let t=e/1048576;return t<10?`${t.toFixed(1)} MB`:`${Math.round(t)} MB`}function at(e){let{facet:t,data:n,piiColumns:r=[],columnTypes:i={},columnDescriptions:a={},primaryKeyColumns:o=[]}=e,s=b(r),c=new Set(o);if(t===`sql`){let e=n.rows??[];return{columns:(e.length>0?Object.keys(e[0]??{}):Object.keys(i)).map(e=>({key:e,type:i[e]===`integer`?`integer`:`string`,editable:e!==`id`,pii:s.has(e),...c.has(e)?{primaryKey:!0}:{},...a[e]===void 0?{}:{description:a[e]}})),rows:e.map(e=>({id:ct(e),cells:e})),deleteKind:`ids`,editable:!0}}if(t===`kv`)return{columns:[{key:`key`,type:`string`,editable:!1,pii:!1},{key:`value`,type:`json`,editable:!0,pii:!1},{key:`ttl`,type:`number`,editable:!0,pii:!1,format:`ttl`},{key:`size`,type:`number`,editable:!1,pii:!1,format:`bytes`}],rows:(n.keys??[]).map(e=>({id:e.key,cells:{key:e.key,value:e.value,ttl:e.ttlMs??null,size:e.sizeBytes??tt(e.value)}})),deleteKind:`keys`,editable:!0};if(t===`files`)return{columns:[{key:`key`,type:`string`,editable:!1,pii:!1},{key:`size`,type:`number`,editable:!1,pii:!1,format:`bytes`},{key:`warnings`,type:`string`,editable:!1,pii:!1}],rows:(n.keys??[]).map(e=>({id:e.key,cells:{key:e.key,size:e.sizeBytes??0,warnings:e.warnings?.map(e=>e.message).join(`; `)??``}})),deleteKind:`keys`,editable:!1};let l=n.hits??[],u=st(l);return{columns:[{key:`id`,type:`string`,editable:!1,pii:!1},...u.map(e=>({key:e,type:`string`,editable:!1,pii:!1})),{key:`score`,type:`number`,editable:!1,pii:!1},...u.length===0?[{key:`meta`,type:`json`,editable:!1,pii:!1}]:[]],rows:l.map(e=>({id:e.id,cells:{id:e.id,score:e.score,...u.length===0?{meta:e.meta}:{},...Object.fromEntries(u.map(t=>[t,e.meta?.[t]]))}})),deleteKind:`ids`,editable:!1}}var ot=[`identifier`,`title`,`description`];function st(e){let t=new Set;for(let n of e)for(let[e,r]of Object.entries(n.meta??{}))e===`id`||/^\d+$/.test(e)||typeof r==`object`&&r||t.add(e);let n=[...t].filter(e=>!ot.includes(e)).sort();return[...ot.filter(e=>t.has(e)),...n]}function ct(e){let t=e.id??e.Id??e.name;return typeof t==`string`||typeof t==`number`||typeof t==`boolean`?String(t):``}function Y(e){if(e==null)return`—`;if(e instanceof Date)return e.toISOString();if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`)return String(e);try{return JSON.stringify(e)}catch{return`[unserializable]`}}function lt(e){return/(?:^|_)(at|time|timestamp)$/i.test(e)||/(?:At|Time|Timestamp)$/.test(e)}function X(e,t){if(t==null)return null;if(t instanceof Date)return t.toISOString();if(typeof t==`string`){if(!lt(e))return null;let n=Date.parse(t);return Number.isNaN(n)?null:new Date(n).toISOString()}return typeof t==`number`&&Number.isFinite(t)&<(e)?t<0xe8d4a51000||t>0x9184e72a000?null:new Date(t).toISOString():null}function ut(e,t){if(e.format===`ttl`)return nt(t);if(e.format===`bytes`)return it(t);let n=X(e.key,t);return n===null?Y(t):n}function Z(e){if(e==null)return null;if(typeof e==`object`)return e;if(typeof e!=`string`)return null;let t=e.trim();if(!(t.startsWith(`{`)||t.startsWith(`[`)))return null;try{let e=JSON.parse(t);if(typeof e==`object`&&e)return e}catch{return null}return null}function dt(e){let t=Z(e);if(t!==null)return{ok:!0,value:t};let n=e.trim();if(n===``)return{ok:!1,error:`JSON is empty`};try{return JSON.parse(n),{ok:!1,error:`JSON must be an object or array`}}catch{return{ok:!1,error:`Invalid JSON`}}}function ft(e){let t=Z(e);return t===null?[]:xt(t,``)}function pt(e,t){if(t===`object`)return`{}`;if(t===`array`)return`[]`;if(e==null)return``;if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return String(e);try{return JSON.stringify(e)??``}catch{return``}}function mt(e,t){if(e===`string`)return t;let n=t.trim();if(e===`number`){if(n===``)return null;let e=Number(n);return Number.isFinite(e)?e:t}if(e===`boolean`)return n===`true`?!0:n===`false`?!1:n===``?null:t;if(e===`null`){if(n===``||n===`null`)return null;if(n===`true`)return!0;if(n===`false`)return!1;let e=Number(n);return Number.isFinite(e)&&n!==``?e:t}if(e===`object`||e===`array`){if(n===``)return e===`array`?[]:{};try{return JSON.parse(n)}catch{return t}}return t}function ht(e,t,n){let r=_t(t);if(r.length===0)return n;let i=structuredClone(e),a=i;for(let e=0;e<r.length-1;e++){let t=r[e];if(!t)return i;a=vt(a,t)}let o=r[r.length-1];return o&&yt(a,o,n),i}function gt(e,t){if(Object.is(e,t))return!0;try{return JSON.stringify(e)===JSON.stringify(t)}catch{return!1}}function _t(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r===`.`){n+=1;continue}if(r===`[`){let r=e.indexOf(`]`,n);if(r<0)break;t.push({type:`index`,index:Number(e.slice(n+1,r))}),n=r+1;continue}let i=n;for(;i<e.length&&e[i]!==`.`&&e[i]!==`[`;)i+=1;t.push({type:`key`,key:e.slice(n,i)}),n=i}return t}function vt(e,t){if(typeof e==`object`&&e)return t.type===`key`?e[t.key]:e[t.index]}function yt(e,t,n){if(typeof e==`object`&&e){if(t.type===`key`){e[t.key]=n;return}e[t.index]=n}}function bt(e){let t=Z(e);if(t!==null)try{return JSON.stringify(t,null,2)}catch{return`[unserializable]`}if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return`[unserializable]`}}function xt(e,t){if(typeof e==`object`&&e&&!Array.isArray(e)){let n=Object.entries(e);return n.length===0?t?[{path:t,value:e,kind:`object`}]:[]:n.flatMap(([e,n])=>xt(n,t?`${t}.${e}`:e))}return Array.isArray(e)?e.length===0?t?[{path:t,value:e,kind:`array`}]:[]:e.flatMap((e,n)=>xt(e,t?`${t}[${n}]`:`[${n}]`)):[{path:t||`(root)`,value:e,kind:St(e)}]}function St(e){return e===null?`null`:typeof e==`boolean`?`boolean`:typeof e==`number`?`number`:Array.isArray(e)?`array`:typeof e==`object`?`object`:`string`}var Ct=/[-ۿݐ-ݿࢠ-ࣿﭐ-﷿ﹰ-]/;function wt(e){return typeof e==`string`&&Ct.test(e)}function Tt({open:e,onOpenChange:t,rowId:n,column:o,storeRef:s,value:c,originalValue:h,editable:_=!1,onChange:v}){let[y,b]=(0,N.useState)(`table`),[x,S]=(0,N.useState)(!1),[C,w]=(0,N.useState)(``),[T,E]=(0,N.useState)(null),D=(0,N.useRef)(!1),O=_&&v!==void 0;(0,N.useEffect)(()=>{e&&(b(`table`),S(!1),E(null),D.current=!1)},[e,n,o]);let te=(0,N.useMemo)(()=>ft(c),[c]),ne=(0,N.useMemo)(()=>{let e=new Map;for(let t of ft(h??c))e.set(t.path,t.value);return e},[h,c]),k=(0,N.useMemo)(()=>bt(c),[c]),A=Z(c),j=te.length,re=Array.isArray(A),ae=C!==k;(0,N.useEffect)(()=>{D.current||(w(k),E(null))},[k]);let oe=(e,t)=>{v&&A!==null&&v(ht(A,e.path,mt(e.kind,t)))};return(0,W.jsx)(l,{open:e,onOpenChange:t,children:(0,W.jsxs)(d,{side:`right`,showOverlay:!1,className:`gap-0 p-0 data-[side=right]:sm:max-w-xl`,"data-slot":`json-value-sheet`,children:[(0,W.jsxs)(u,{className:`gap-2 border-b border-border/50`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-0.5 pr-8`,children:[(0,W.jsx)(m,{className:`text-sm`,children:(0,W.jsx)(`span`,{className:`font-mono`,children:n})}),(0,W.jsxs)(f,{className:`font-mono text-[11px]`,children:[s,(0,W.jsx)(`span`,{className:`text-border`,children:` · `}),o,j>0?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`text-border`,children:` · `}),j,` `,j===1?`field`:`fields`]}):null]})]}),(0,W.jsxs)(`div`,{className:`flex items-center gap-4`,role:`tablist`,"aria-label":`JSON value tabs`,children:[(0,W.jsx)(At,{active:y===`table`,onClick:()=>b(`table`),id:`table`,children:`Table`}),(0,W.jsx)(At,{active:y===`json`,onClick:()=>b(`json`),id:`json`,children:`JSON`})]})]}),(0,W.jsx)(`div`,{className:i(`flex min-h-0 flex-1 flex-col px-4 pb-2`,y===`json`?`overflow-hidden pt-3`:`overflow-y-auto`),children:y===`table`?j===0?(0,W.jsx)(`p`,{className:`px-1 py-8 text-center text-sm text-muted-foreground`,"data-slot":`json-value-empty`,children:re?`Empty array.`:`No fields.`}):(0,W.jsxs)(`table`,{className:`w-full table-fixed border-collapse`,"data-slot":`json-value-table`,children:[(0,W.jsxs)(`colgroup`,{children:[(0,W.jsx)(`col`,{className:`w-[30%]`}),(0,W.jsx)(`col`,{className:`w-12`}),(0,W.jsx)(`col`,{})]}),(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{className:`border-b border-border/60 text-left`,children:[(0,W.jsx)(`th`,{className:`sticky top-0 bg-popover py-2 pr-3 font-mono text-[10px] font-semibold tracking-[0.08em] text-muted-foreground uppercase`,children:`Field`}),(0,W.jsx)(`th`,{className:`sticky top-0 bg-popover py-2 pr-3 font-mono text-[10px] font-semibold tracking-[0.08em] text-muted-foreground uppercase`,children:`Type`}),(0,W.jsx)(`th`,{className:`sticky top-0 bg-popover py-2 font-mono text-[10px] font-semibold tracking-[0.08em] text-muted-foreground uppercase`,children:`Value`})]})}),(0,W.jsx)(`tbody`,{className:`divide-y divide-border/60`,children:te.map(e=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{className:`align-top py-1.5 pr-3`,children:(0,W.jsx)(`span`,{className:`block truncate font-mono text-[11px] font-medium text-muted-foreground`,title:e.path,children:e.path})}),(0,W.jsx)(`td`,{className:`align-top py-1.5 pr-3`,children:(0,W.jsx)(`span`,{className:`font-mono text-[9px] text-muted-foreground/60`,children:Ot(e.kind)})}),(0,W.jsx)(`td`,{className:i(`min-w-0 align-top py-1 font-mono text-[11px] break-words`,e.kind===`null`&&!O&&`text-muted-foreground/40`,e.kind===`number`&&`tabular-nums`,(e.kind===`object`||e.kind===`array`)&&!O&&`text-muted-foreground`),dir:wt(e.value)?`rtl`:`ltr`,children:O?(0,W.jsx)(et,{value:pt(e.value,e.kind),label:`Edit ${e.path}`,dirty:!gt(ne.get(e.path),e.value),onChange:t=>oe(e,t),className:`min-h-7 w-full px-0 font-mono text-[11px]`}):kt(e.value,e.kind)})]},e.path))})]}):(0,W.jsx)(Et,{pretty:k,draft:C,error:T,dirty:ae,editable:O,onDraftChange:e=>{w(e),T&&E(null)},onFocusChange:e=>{D.current=e},onCommit:()=>{if(!v)return;let e=dt(C);if(!e.ok){E(e.error);return}E(null),v(e.value)},onRevert:()=>{w(k),E(null)}})}),(0,W.jsxs)(`div`,{className:`mt-auto flex items-center justify-between gap-2 border-t border-border/50 px-4 py-2.5`,children:[O?(0,W.jsx)(`span`,{className:`inline-flex items-center gap-1.5 font-mono text-[10px] text-muted-foreground`,children:y===`json`?(0,W.jsxs)(W.Fragment,{children:[`Edit JSON · blur or`,(0,W.jsx)(p,{keys:ie(`↵`)}),`to apply`]}):`Click a value to edit · Changes to review`}):(0,W.jsx)(`span`,{}),(0,W.jsxs)(g,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{if(!navigator.clipboard)return;let e=y===`json`?C:k;navigator.clipboard.writeText(e).then(()=>{S(!0),window.setTimeout(()=>S(!1),1200)})},"data-slot":`json-value-copy`,children:[(0,W.jsx)(r,{icon:x?a:ee,className:`size-3.5`,"aria-hidden":!0}),x?`Copied`:`Copy JSON`]})]})]})})}function Et({pretty:e,draft:t,error:n,dirty:r,editable:a,onDraftChange:o,onFocusChange:s,onCommit:c,onRevert:l}){let u=(0,N.useRef)(null),d=(0,N.useRef)(null),f=(0,N.useRef)(null),p=(a?t:e).split(`
|
|
12
|
-
`);return(0,N.useEffect)(()=>{let e=d.current,t=f.current;e&&t!==null&&(e.selectionStart=e.selectionEnd=t,f.current=null)},[t]),(0,W.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-1.5`,"data-slot":`json-value-source`,children:[(0,W.jsx)(`div`,{className:i(`flex min-h-0 flex-1 overflow-hidden rounded-md border`,n?`border-destructive/50`:r?`border-amber-500/30`:`border-border/60`),children:a?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{ref:u,className:`shrink-0 overflow-hidden border-r border-border/40 bg-muted/30 px-1.5 py-2 text-right font-mono text-[10px] leading-5 text-muted-foreground/80`,"aria-hidden":!0,children:p.map((e,t)=>(0,W.jsx)(`div`,{children:t+1},t))}),(0,W.jsx)(`textarea`,{ref:d,value:t,spellCheck:!1,"aria-label":`JSON source`,"aria-invalid":n!==null,"data-slot":`json-value-editor`,onFocus:()=>s(!0),onBlur:()=>{s(!1),c()},onScroll:()=>{u.current&&d.current&&(u.current.scrollTop=d.current.scrollTop)},onChange:e=>o(e.target.value),onKeyDown:e=>{if(e.key===`Tab`){e.preventDefault();let n=e.currentTarget.selectionStart,r=e.currentTarget.selectionEnd;f.current=n+2,o(`${t.slice(0,n)} ${t.slice(r)}`);return}if(e.key===`Enter`&&(e.metaKey||e.ctrlKey)){e.preventDefault(),Dt(e.currentTarget);return}e.key===`Escape`&&(e.preventDefault(),l(),Dt(e.currentTarget))},className:i(`min-h-0 min-w-0 flex-1 resize-none bg-transparent px-2 py-2 font-mono text-[11px] leading-5`,`shadow-none outline-none ring-0 focus-visible:outline-none`,r?`text-[#9a5b12] dark:text-[#e8c48a]`:`text-foreground`)})]}):(0,W.jsx)(
|
|
11
|
+
`)?e:`${e}\n`,S=new Set(l);(0,N.useImperativeHandle)(f,()=>({insert(n){let r=h.current;if(b(null),!r){t(`${e}${n}`);return}let i=r.selectionStart,a=r.selectionEnd;t(`${e.slice(0,i)}${n}${e.slice(a)}`),requestAnimationFrame(()=>{let e=i+n.length;r.focus(),r.selectionStart=r.selectionEnd=e,d?.(e,e)})},focus(){h.current?.focus()}}));let C=()=>{let e=h.current;e&&(g.current&&(g.current.scrollTop=e.scrollTop),_.current&&(_.current.scrollTop=e.scrollTop,_.current.scrollLeft=e.scrollLeft))},w=()=>{let e=h.current;e&&d?.(e.selectionStart,e.selectionEnd)},T=(e,t)=>{requestAnimationFrame(()=>{e.focus(),e.selectionStart=e.selectionEnd=t,d?.(t,t)})},E=(e,t)=>{if(p.length===0){b(null);return}let n=e.selectionStart,r=xe(t,n,p,m);if(!r){b(null);return}let i=Pe(e,n);b({result:r,active:0,top:Math.min(i.top+20,Math.max(8,e.clientHeight-48)),left:Math.min(Math.max(8,i.left),Math.max(8,e.clientWidth-220))})},D=n=>{let r=h.current;if(!r||!v)return;let i=v.result.items[n];if(!i)return;let a=`${e.slice(0,v.result.from)}${i.insert}${e.slice(v.result.to)}`,o=v.result.from+i.insert.length;t(a),b(null),T(r,o)};return(0,W.jsxs)(`div`,{className:i(`flex min-h-0 flex-1 overflow-hidden bg-background`,c),"data-slot":`store-query-editor`,children:[(0,W.jsx)(`div`,{ref:g,"aria-hidden":!0,className:`shrink-0 overflow-hidden border-r border-border/50 bg-muted/15 py-3 pr-1.5 pl-1.5 font-mono text-xs leading-5 text-muted-foreground/70`,children:Array.from({length:x},(e,t)=>{let n=t+1,i=S.has(n);return(0,W.jsxs)(`div`,{className:`group/line flex h-5 items-center justify-end gap-0.5`,children:[i&&u?(0,W.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-label":`Run statement on line ${n}`,"data-slot":`store-query-gutter-run`,onClick:()=>u(n),className:`flex size-4 items-center justify-center rounded-sm text-emerald-600 opacity-70 hover:bg-emerald-500/15 hover:opacity-100 dark:text-emerald-400`,children:(0,W.jsx)(r,{icon:y,className:`size-2.5`})}):(0,W.jsx)(`span`,{className:`size-4`}),(0,W.jsx)(`span`,{className:`min-w-4 text-right`,children:n})]},n)})}),(0,W.jsxs)(`div`,{className:`relative min-h-0 min-w-0 flex-1`,children:[(0,W.jsx)(`div`,{ref:_,className:`pointer-events-none absolute inset-0 overflow-hidden`,children:(0,W.jsx)(Qe,{code:ee,language:n,className:`px-3 py-3 text-xs leading-5`})}),(0,W.jsx)(`textarea`,{ref:h,value:e,onChange:e=>{t(e.target.value),d?.(e.target.selectionStart,e.target.selectionEnd),E(e.target,e.target.value)},onScroll:C,onKeyDown:n=>{if((n.metaKey||n.ctrlKey)&&n.key===`Enter`){n.preventDefault(),b(null),n.shiftKey&&o?o():a();return}if(v){if(n.key===`ArrowDown`){n.preventDefault(),b(e=>e&&{...e,active:(e.active+1)%e.result.items.length});return}if(n.key===`ArrowUp`){n.preventDefault(),b(e=>e&&{...e,active:(e.active-1+e.result.items.length)%e.result.items.length});return}if(n.key===`Enter`||n.key===`Tab`){n.preventDefault(),D(v.active);return}if(n.key===`Escape`){n.preventDefault(),b(null);return}(n.key===`ArrowLeft`||n.key===`ArrowRight`)&&b(null)}if(n.key===`Tab`){n.preventDefault();let r=n.currentTarget,i=r.selectionStart,a=r.selectionEnd;t(`${e.slice(0,i)} ${e.slice(a)}`),T(r,i+2);return}n.key===`Escape`&&b(null)},onKeyUp:w,onClick:()=>{b(null),w()},onSelect:w,onBlur:()=>b(null),spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`,"aria-label":s,"aria-autocomplete":`list`,"aria-expanded":v!==null,"aria-controls":v?`store-query-complete`:void 0,"aria-activedescendant":v?`store-query-complete-${v.active}`:void 0,"data-slot":`store-query-input`,className:`absolute inset-0 h-full w-full resize-none overflow-auto bg-transparent px-3 py-3 font-mono text-xs leading-5 text-transparent caret-foreground outline-none`}),v?(0,W.jsx)(Ne,{items:v.result.items,active:v.active,top:v.top,left:v.left,onHover:e=>b(t=>t&&{...t,active:e}),onPick:D}):null]})]})}function et({value:e,label:t,onChange:n,onFocus:r,onIdle:a,dirty:o=!1,autoFocus:s=!1,placeholder:c=`Empty`,className:l}){let[u,d]=(0,N.useState)(e),f=(0,N.useRef)(null);(0,N.useEffect)(()=>{d(e)},[e]),(0,N.useEffect)(()=>{if(!s)return;let e=f.current;e&&(e.focus(),e.select())},[s]);let p=()=>{u!==e&&n(u)},m=()=>{p(),a?.()};return(0,W.jsx)(`input`,{ref:f,value:u,"aria-label":t,size:1,"data-dirty":o?`true`:void 0,onFocus:r,onChange:e=>d(e.target.value),onBlur:m,onKeyDown:t=>{if(t.key===`Enter`&&(t.metaKey||t.ctrlKey)){m();return}t.key===`Enter`?(t.preventDefault(),t.currentTarget.blur()):t.key===`Escape`&&(t.preventDefault(),d(e),a?.(),t.currentTarget.blur())},placeholder:c,className:i(`h-full w-full min-w-0 appearance-none rounded-none border-0 bg-transparent p-0`,`shadow-none outline-none ring-0`,`focus:bg-transparent focus:shadow-none focus:ring-0 focus:outline-none`,`focus-visible:shadow-none focus-visible:ring-0 focus-visible:outline-none`,`placeholder:text-muted-foreground/40`,o?`text-[#9a5b12] dark:text-[#e8c48a]`:`text-foreground`,l)})}function tt(e){try{return new TextEncoder().encode(JSON.stringify(e??null)).length}catch{return 0}}function nt(e){if(typeof e==`string`){let t=e.trim();return t===``?`—`:t}return typeof e!=`number`||!Number.isFinite(e)?`—`:e<=0?`0s`:e<6e4?`${Math.max(1,Math.round(e/1e3))}s`:e<36e5?`${Math.round(e/6e4)}m`:e<864e5?`${Math.round(e/36e5)}h`:`${Math.round(e/864e5)}d`}function rt(e){let t=e.trim();if(t===``||t===`—`||t===`none`)return null;if(/^(\d+)(ms|s|m|h|d)$/.test(t))return t}function it(e){if(typeof e!=`number`||!Number.isFinite(e)||e<0)return`—`;if(e<1024)return`${Math.round(e)} B`;if(e<1048576){let t=e/1024;return t<10?`${t.toFixed(1)} KB`:`${Math.round(t)} KB`}let t=e/1048576;return t<10?`${t.toFixed(1)} MB`:`${Math.round(t)} MB`}function at(e){let{facet:t,data:n,piiColumns:r=[],columnTypes:i={},columnDescriptions:a={},primaryKeyColumns:o=[]}=e,s=b(r),c=new Set(o);if(t===`sql`){let e=n.rows??[];return{columns:(e.length>0?Object.keys(e[0]??{}):Object.keys(i)).map(e=>({key:e,type:i[e]===`integer`?`integer`:`string`,editable:e!==`id`,pii:s.has(e),...c.has(e)?{primaryKey:!0}:{},...a[e]===void 0?{}:{description:a[e]}})),rows:e.map(e=>({id:ct(e),cells:e})),deleteKind:`ids`,editable:!0}}if(t===`kv`)return{columns:[{key:`key`,type:`string`,editable:!1,pii:!1},{key:`value`,type:`json`,editable:!0,pii:!1},{key:`ttl`,type:`number`,editable:!0,pii:!1,format:`ttl`},{key:`size`,type:`number`,editable:!1,pii:!1,format:`bytes`}],rows:(n.keys??[]).map(e=>({id:e.key,cells:{key:e.key,value:e.value,ttl:e.ttlMs??null,size:e.sizeBytes??tt(e.value)}})),deleteKind:`keys`,editable:!0};if(t===`files`)return{columns:[{key:`key`,type:`string`,editable:!1,pii:!1},{key:`size`,type:`number`,editable:!1,pii:!1,format:`bytes`},{key:`warnings`,type:`string`,editable:!1,pii:!1}],rows:(n.keys??[]).map(e=>({id:e.key,cells:{key:e.key,size:e.sizeBytes??0,warnings:e.warnings?.map(e=>e.message).join(`; `)??``}})),deleteKind:`keys`,editable:!1};let l=n.hits??[],u=st(l);return{columns:[{key:`id`,type:`string`,editable:!1,pii:!1},...u.map(e=>({key:e,type:`string`,editable:!1,pii:!1})),{key:`score`,type:`number`,editable:!1,pii:!1},...u.length===0?[{key:`meta`,type:`json`,editable:!1,pii:!1}]:[]],rows:l.map(e=>({id:e.id,cells:{id:e.id,score:e.score,...u.length===0?{meta:e.meta}:{},...Object.fromEntries(u.map(t=>[t,e.meta?.[t]]))}})),deleteKind:`ids`,editable:!1}}var ot=[`identifier`,`title`,`description`];function st(e){let t=new Set;for(let n of e)for(let[e,r]of Object.entries(n.meta??{}))e===`id`||/^\d+$/.test(e)||typeof r==`object`&&r||t.add(e);let n=[...t].filter(e=>!ot.includes(e)).sort();return[...ot.filter(e=>t.has(e)),...n]}function ct(e){let t=e.id??e.Id??e.name;return typeof t==`string`||typeof t==`number`||typeof t==`boolean`?String(t):``}function Y(e){if(e==null)return`—`;if(e instanceof Date)return e.toISOString();if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`)return String(e);try{return JSON.stringify(e)}catch{return`[unserializable]`}}function lt(e){return/(?:^|_)(at|time|timestamp)$/i.test(e)||/(?:At|Time|Timestamp)$/.test(e)}function X(e,t){if(t==null)return null;if(t instanceof Date)return t.toISOString();if(typeof t==`string`){if(!lt(e))return null;let n=Date.parse(t);return Number.isNaN(n)?null:new Date(n).toISOString()}return typeof t==`number`&&Number.isFinite(t)&<(e)?t<0xe8d4a51000||t>0x9184e72a000?null:new Date(t).toISOString():null}function ut(e,t){if(e.format===`ttl`)return nt(t);if(e.format===`bytes`)return it(t);let n=X(e.key,t);return n===null?Y(t):n}function Z(e){if(e==null)return null;if(typeof e==`object`)return e;if(typeof e!=`string`)return null;let t=e.trim();if(!(t.startsWith(`{`)||t.startsWith(`[`)))return null;try{let e=JSON.parse(t);if(typeof e==`object`&&e)return e}catch{return null}return null}function dt(e){let t=Z(e);if(t!==null)return{ok:!0,value:t};let n=e.trim();if(n===``)return{ok:!1,error:`JSON is empty`};try{return JSON.parse(n),{ok:!1,error:`JSON must be an object or array`}}catch{return{ok:!1,error:`Invalid JSON`}}}function ft(e){let t=Z(e);return t===null?[]:xt(t,``)}function pt(e,t){if(t===`object`)return`{}`;if(t===`array`)return`[]`;if(e==null)return``;if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return String(e);try{return JSON.stringify(e)??``}catch{return``}}function mt(e,t){if(e===`string`)return t;let n=t.trim();if(e===`number`){if(n===``)return null;let e=Number(n);return Number.isFinite(e)?e:t}if(e===`boolean`)return n===`true`?!0:n===`false`?!1:n===``?null:t;if(e===`null`){if(n===``||n===`null`)return null;if(n===`true`)return!0;if(n===`false`)return!1;let e=Number(n);return Number.isFinite(e)&&n!==``?e:t}if(e===`object`||e===`array`){if(n===``)return e===`array`?[]:{};try{return JSON.parse(n)}catch{return t}}return t}function ht(e,t,n){let r=_t(t);if(r.length===0)return n;let i=structuredClone(e),a=i;for(let e=0;e<r.length-1;e++){let t=r[e];if(!t)return i;a=vt(a,t)}let o=r[r.length-1];return o&&yt(a,o,n),i}function gt(e,t){if(Object.is(e,t))return!0;try{return JSON.stringify(e)===JSON.stringify(t)}catch{return!1}}function _t(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r===`.`){n+=1;continue}if(r===`[`){let r=e.indexOf(`]`,n);if(r<0)break;t.push({type:`index`,index:Number(e.slice(n+1,r))}),n=r+1;continue}let i=n;for(;i<e.length&&e[i]!==`.`&&e[i]!==`[`;)i+=1;t.push({type:`key`,key:e.slice(n,i)}),n=i}return t}function vt(e,t){if(typeof e==`object`&&e)return t.type===`key`?e[t.key]:e[t.index]}function yt(e,t,n){if(typeof e==`object`&&e){if(t.type===`key`){e[t.key]=n;return}e[t.index]=n}}function bt(e){let t=Z(e);if(t!==null)try{return JSON.stringify(t,null,2)}catch{return`[unserializable]`}if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return`[unserializable]`}}function xt(e,t){if(typeof e==`object`&&e&&!Array.isArray(e)){let n=Object.entries(e);return n.length===0?t?[{path:t,value:e,kind:`object`}]:[]:n.flatMap(([e,n])=>xt(n,t?`${t}.${e}`:e))}return Array.isArray(e)?e.length===0?t?[{path:t,value:e,kind:`array`}]:[]:e.flatMap((e,n)=>xt(e,t?`${t}[${n}]`:`[${n}]`)):[{path:t||`(root)`,value:e,kind:St(e)}]}function St(e){return e===null?`null`:typeof e==`boolean`?`boolean`:typeof e==`number`?`number`:Array.isArray(e)?`array`:typeof e==`object`?`object`:`string`}var Ct=/[-ۿݐ-ݿࢠ-ࣿﭐ-﷿ﹰ-]/;function wt(e){return typeof e==`string`&&Ct.test(e)}function Tt({open:e,onOpenChange:t,rowId:n,column:l,storeRef:m,value:h,originalValue:g,editable:_=!1,onChange:v}){let[y,b]=(0,N.useState)(`table`),[x,S]=(0,N.useState)(!1),[C,w]=(0,N.useState)(``),[T,E]=(0,N.useState)(null),D=(0,N.useRef)(!1),O=_&&v!==void 0;(0,N.useEffect)(()=>{e&&(b(`table`),S(!1),E(null),D.current=!1)},[e,n,l]);let te=(0,N.useMemo)(()=>ft(h),[h]),ne=(0,N.useMemo)(()=>{let e=new Map;for(let t of ft(g??h))e.set(t.path,t.value);return e},[g,h]),k=(0,N.useMemo)(()=>bt(h),[h]),A=Z(h),j=te.length,re=Array.isArray(A),ie=C!==k;(0,N.useEffect)(()=>{D.current||(w(k),E(null))},[k]);let oe=(e,t)=>{v&&A!==null&&v(ht(A,e.path,mt(e.kind,t)))};return(0,W.jsx)(o,{open:e,onOpenChange:t,children:(0,W.jsxs)(c,{side:`right`,showOverlay:!1,className:`gap-0 p-0 data-[side=right]:sm:max-w-xl`,"data-slot":`json-value-sheet`,children:[(0,W.jsxs)(s,{className:`gap-2 border-b border-border/50`,children:[(0,W.jsxs)(`div`,{className:`flex flex-col gap-0.5 pr-8`,children:[(0,W.jsx)(f,{className:`text-sm`,children:(0,W.jsx)(`span`,{className:`font-mono`,children:n})}),(0,W.jsxs)(u,{className:`font-mono text-[11px]`,children:[m,(0,W.jsx)(`span`,{className:`text-border`,children:` · `}),l,j>0?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`span`,{className:`text-border`,children:` · `}),j,` `,j===1?`field`:`fields`]}):null]})]}),(0,W.jsxs)(`div`,{className:`flex items-center gap-4`,role:`tablist`,"aria-label":`JSON value tabs`,children:[(0,W.jsx)(At,{active:y===`table`,onClick:()=>b(`table`),id:`table`,children:`Table`}),(0,W.jsx)(At,{active:y===`json`,onClick:()=>b(`json`),id:`json`,children:`JSON`})]})]}),(0,W.jsx)(`div`,{className:i(`flex min-h-0 flex-1 flex-col px-4 pb-2`,y===`json`?`overflow-hidden pt-3`:`overflow-y-auto`),children:y===`table`?j===0?(0,W.jsx)(`p`,{className:`px-1 py-8 text-center text-sm text-muted-foreground`,"data-slot":`json-value-empty`,children:re?`Empty array.`:`No fields.`}):(0,W.jsxs)(`table`,{className:`w-full table-fixed border-collapse`,"data-slot":`json-value-table`,children:[(0,W.jsxs)(`colgroup`,{children:[(0,W.jsx)(`col`,{className:`w-[30%]`}),(0,W.jsx)(`col`,{className:`w-12`}),(0,W.jsx)(`col`,{})]}),(0,W.jsx)(`thead`,{children:(0,W.jsxs)(`tr`,{className:`border-b border-border/60 text-left`,children:[(0,W.jsx)(`th`,{className:`sticky top-0 bg-popover py-2 pr-3 font-mono text-[10px] font-semibold tracking-[0.08em] text-muted-foreground uppercase`,children:`Field`}),(0,W.jsx)(`th`,{className:`sticky top-0 bg-popover py-2 pr-3 font-mono text-[10px] font-semibold tracking-[0.08em] text-muted-foreground uppercase`,children:`Type`}),(0,W.jsx)(`th`,{className:`sticky top-0 bg-popover py-2 font-mono text-[10px] font-semibold tracking-[0.08em] text-muted-foreground uppercase`,children:`Value`})]})}),(0,W.jsx)(`tbody`,{className:`divide-y divide-border/60`,children:te.map(e=>(0,W.jsxs)(`tr`,{children:[(0,W.jsx)(`td`,{className:`align-top py-1.5 pr-3`,children:(0,W.jsx)(`span`,{className:`block truncate font-mono text-[11px] font-medium text-muted-foreground`,title:e.path,children:e.path})}),(0,W.jsx)(`td`,{className:`align-top py-1.5 pr-3`,children:(0,W.jsx)(`span`,{className:`font-mono text-[9px] text-muted-foreground/60`,children:Ot(e.kind)})}),(0,W.jsx)(`td`,{className:i(`min-w-0 align-top py-1 font-mono text-[11px] break-words`,e.kind===`null`&&!O&&`text-muted-foreground/40`,e.kind===`number`&&`tabular-nums`,(e.kind===`object`||e.kind===`array`)&&!O&&`text-muted-foreground`),dir:wt(e.value)?`rtl`:`ltr`,children:O?(0,W.jsx)(et,{value:pt(e.value,e.kind),label:`Edit ${e.path}`,dirty:!gt(ne.get(e.path),e.value),onChange:t=>oe(e,t),className:`min-h-7 w-full px-0 font-mono text-[11px]`}):kt(e.value,e.kind)})]},e.path))})]}):(0,W.jsx)(Et,{pretty:k,draft:C,error:T,dirty:ie,editable:O,onDraftChange:e=>{w(e),T&&E(null)},onFocusChange:e=>{D.current=e},onCommit:()=>{if(!v)return;let e=dt(C);if(!e.ok){E(e.error);return}E(null),v(e.value)},onRevert:()=>{w(k),E(null)}})}),(0,W.jsxs)(`div`,{className:`mt-auto flex items-center justify-between gap-2 border-t border-border/50 px-4 py-2.5`,children:[O?(0,W.jsx)(`span`,{className:`inline-flex items-center gap-1.5 font-mono text-[10px] text-muted-foreground`,children:y===`json`?(0,W.jsxs)(W.Fragment,{children:[`Edit JSON · blur or`,(0,W.jsx)(d,{keys:ae(`↵`)}),`to apply`]}):`Click a value to edit · Changes to review`}):(0,W.jsx)(`span`,{}),(0,W.jsxs)(p,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>{if(!navigator.clipboard)return;let e=y===`json`?C:k;navigator.clipboard.writeText(e).then(()=>{S(!0),window.setTimeout(()=>S(!1),1200)})},"data-slot":`json-value-copy`,children:[(0,W.jsx)(r,{icon:x?a:ee,className:`size-3.5`,"aria-hidden":!0}),x?`Copied`:`Copy JSON`]})]})]})})}function Et({pretty:e,draft:t,error:n,dirty:r,editable:a,onDraftChange:o,onFocusChange:s,onCommit:c,onRevert:l}){let u=(0,N.useRef)(null),d=(0,N.useRef)(null),f=(0,N.useRef)(null),p=(a?t:e).split(`
|
|
12
|
+
`);return(0,N.useEffect)(()=>{let e=d.current,t=f.current;e&&t!==null&&(e.selectionStart=e.selectionEnd=t,f.current=null)},[t]),(0,W.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-1.5`,"data-slot":`json-value-source`,children:[(0,W.jsx)(`div`,{className:i(`flex min-h-0 flex-1 overflow-hidden rounded-md border`,n?`border-destructive/50`:r?`border-amber-500/30`:`border-border/60`),children:a?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`div`,{ref:u,className:`shrink-0 overflow-hidden border-r border-border/40 bg-muted/30 px-1.5 py-2 text-right font-mono text-[10px] leading-5 text-muted-foreground/80`,"aria-hidden":!0,children:p.map((e,t)=>(0,W.jsx)(`div`,{children:t+1},t))}),(0,W.jsx)(`textarea`,{ref:d,value:t,spellCheck:!1,"aria-label":`JSON source`,"aria-invalid":n!==null,"data-slot":`json-value-editor`,onFocus:()=>s(!0),onBlur:()=>{s(!1),c()},onScroll:()=>{u.current&&d.current&&(u.current.scrollTop=d.current.scrollTop)},onChange:e=>o(e.target.value),onKeyDown:e=>{if(e.key===`Tab`){e.preventDefault();let n=e.currentTarget.selectionStart,r=e.currentTarget.selectionEnd;f.current=n+2,o(`${t.slice(0,n)} ${t.slice(r)}`);return}if(e.key===`Enter`&&(e.metaKey||e.ctrlKey)){e.preventDefault(),Dt(e.currentTarget);return}e.key===`Escape`&&(e.preventDefault(),l(),Dt(e.currentTarget))},className:i(`min-h-0 min-w-0 flex-1 resize-none bg-transparent px-2 py-2 font-mono text-[11px] leading-5`,`shadow-none outline-none ring-0 focus-visible:outline-none`,r?`text-[#9a5b12] dark:text-[#e8c48a]`:`text-foreground`)})]}):(0,W.jsx)(A,{json:e,dataSlot:`json-value-highlight`,className:`flex min-h-0 flex-1 overflow-auto`})}),n?(0,W.jsx)(`p`,{className:`text-[11px] text-destructive`,role:`alert`,"data-slot":`json-value-error`,children:n}):null]})}function Dt(e){e.blur()}function Ot(e){switch(e){case`number`:return`123`;case`boolean`:return`0/1`;case`null`:return`∅`;case`object`:case`array`:return`{ }`;default:return`abc`}}function kt(e,t){return t===`object`?`{}`:t===`array`?`[]`:Y(e)}function At({active:e,onClick:t,id:n,children:r}){return(0,W.jsx)(`button`,{type:`button`,role:`tab`,id:`json-tab-${n}`,"aria-selected":e,onClick:t,className:i(`px-2 py-1.5 text-[10px] font-semibold tracking-[0.08em] uppercase transition-colors hover:bg-muted/50`,e?`text-foreground`:`text-muted-foreground hover:text-foreground`),"data-slot":`json-tab-${n}`,children:r})}var jt=`[redacted]`;function Mt(e){let t={};for(let[n,r]of Object.entries(e))r!==`[redacted]`&&(t[n]=r);return t}function Nt(e){return e===jt}function Pt(e,t){if(e===`boolean`){let e=t.trim().toLowerCase();return e===`true`||e===`1`||e===`yes`||e===`on`?!0:e===`false`||e===`0`||e===`no`||e===`off`||e===``?!1:t}if(e===`integer`){let e=Number(t);return Number.isFinite(e)?Math.trunc(e):t}if(e===`number`){let e=Number(t);return Number.isFinite(e)?e:t}if(e===`json`)try{return JSON.parse(t)}catch{return t}return t}function Ft(e){let t={};for(let n of e)t[n.key]=n.key===`id`?crypto.randomUUID():``;return`id`in t||(t.id=crypto.randomUUID()),t}function It(e){return e.some(e=>e.key===`id`)?[...e]:[{key:`id`,type:`string`},...e]}function Lt(e,t){let n={},r=new Set;for(let i of e){r.add(i.key);let e=t[i.key]??``;e.trim()!==``&&(n[i.key]=Pt(i.type,e))}if(!r.has(`id`)){let e=t.id??``;e.trim()!==``&&(n.id=e.trim())}let i=Mt(n),a=i.id;return(typeof a!=`string`||a.length===0)&&typeof a!=`number`?{ok:!1,error:`id is required`}:{ok:!0,patch:i}}function Q(e){return{minRow:Math.min(e.anchor.row,e.head.row),maxRow:Math.max(e.anchor.row,e.head.row),minCol:Math.min(e.anchor.col,e.head.col),maxCol:Math.max(e.anchor.col,e.head.col)}}function Rt(e,t,n){let r=Q(e);return t>=r.minRow&&t<=r.maxRow&&n>=r.minCol&&n<=r.maxCol}function zt(e){let t=Q(e);return(t.maxRow-t.minRow+1)*(t.maxCol-t.minCol+1)}function Bt(e){let t=Q(e),n=[];for(let e=t.minRow;e<=t.maxRow;e++)for(let r=t.minCol;r<=t.maxCol;r++)n.push({row:e,col:r});return n}function Vt(e){if(!e)return[];let t=e.replace(/\r\n/g,`
|
|
13
13
|
`).replace(/\r/g,`
|
|
14
14
|
`).split(`
|
|
15
15
|
`);return t.length>1&&t[t.length-1]===``&&t.pop(),t.map(e=>e.split(` `))}function Ht(e){return e.map(e=>e.map(e=>e.replace(/[\t\r\n]+/g,` `)).join(` `)).join(`
|
|
16
16
|
`)}var Ut=[`id`,`key`];function Wt(e){if(e==null)return``;if(typeof e==`string`)return e;if(typeof e==`number`||typeof e==`boolean`)return String(e);try{return JSON.stringify(e)}catch{return``}}function Gt(e){return/[",\r\n]/.test(e)?`"${e.replaceAll(`"`,`""`)}"`:e}function Kt(e,t){let n=[e.map(Gt).join(`,`)];for(let r of t)n.push(e.map((e,t)=>Gt(r[t]??``)).join(`,`));return n.join(`
|
|
17
17
|
`)}function qt(e){let t=e.replace(/^\uFEFF/,``),n=[],r=[],i=``,a=!1;for(let e=0;e<t.length;e++){let o=t[e];if(a){if(o===`"`){if(t[e+1]===`"`){i+=`"`,e+=1;continue}a=!1;continue}i+=o;continue}if(o===`"`){a=!0;continue}if(o===`,`){r.push(i),i=``;continue}if(o===`
|
|
18
|
-
`){r.push(i),i=``,n.push(r),r=[];continue}o!==`\r`&&(i+=o)}if(a)throw Error(`Unclosed CSV quote`);return(i.length>0||r.length>0)&&(r.push(i),n.push(r)),n}function Jt(e){let t=e[0];if(!t||t.length===0)return[];let n=[];for(let r of e.slice(1)){let e={},i=!1;for(let n=0;n<t.length;n++){let a=t[n]?.trim();a&&(e[a]=r[n]??``,i=!0)}i&&n.push(e)}return n}function Yt(e){let t=JSON.parse(e);if(!Array.isArray(t))throw Error(`JSON import must be an array of objects`);return t.map(e=>{if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`JSON import must be an array of objects`);let t={};for(let[n,r]of Object.entries(e))t[n]=Wt(r);return t})}function Xt(e){let t=e.trim();if(t.length===0)return[];if(t.startsWith(`[`)||t.startsWith(`{`))return Yt(t);let n=t.split(/\r?\n/,1)[0]??``;return n.includes(` `)&&!n.includes(`,`)?Jt(Vt(e)):Jt(qt(e))}function Zt(e){let t=0,n=[];for(let r of e.records){let i=Qt(r,e.rowIds);if(i===null){t+=1;continue}for(let[t,a]of Object.entries(r))Ut.includes(t)||a!==`[redacted]`&&e.writable(i,t)&&n.push({rowId:i,key:t,text:a})}return{hits:n,unmatched:t}}function Qt(e,t){for(let n of Ut){let r=e[n]?.trim();if(r&&t.has(r))return r}return null}function $t({rows:e,error:t,pending:n,meta:o,executed:
|
|
18
|
+
`){r.push(i),i=``,n.push(r),r=[];continue}o!==`\r`&&(i+=o)}if(a)throw Error(`Unclosed CSV quote`);return(i.length>0||r.length>0)&&(r.push(i),n.push(r)),n}function Jt(e){let t=e[0];if(!t||t.length===0)return[];let n=[];for(let r of e.slice(1)){let e={},i=!1;for(let n=0;n<t.length;n++){let a=t[n]?.trim();a&&(e[a]=r[n]??``,i=!0)}i&&n.push(e)}return n}function Yt(e){let t=JSON.parse(e);if(!Array.isArray(t))throw Error(`JSON import must be an array of objects`);return t.map(e=>{if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`JSON import must be an array of objects`);let t={};for(let[n,r]of Object.entries(e))t[n]=Wt(r);return t})}function Xt(e){let t=e.trim();if(t.length===0)return[];if(t.startsWith(`[`)||t.startsWith(`{`))return Yt(t);let n=t.split(/\r?\n/,1)[0]??``;return n.includes(` `)&&!n.includes(`,`)?Jt(Vt(e)):Jt(qt(e))}function Zt(e){let t=0,n=[];for(let r of e.records){let i=Qt(r,e.rowIds);if(i===null){t+=1;continue}for(let[t,a]of Object.entries(r))Ut.includes(t)||a!==`[redacted]`&&e.writable(i,t)&&n.push({rowId:i,key:t,text:a})}return{hits:n,unmatched:t}}function Qt(e,t){for(let n of Ut){let r=e[n]?.trim();if(r&&t.has(r))return r}return null}function $t({rows:e,error:t,pending:n,meta:o,executed:s,executedLanguage:c=`sql`,storeRef:l=`sql:query`,collapsed:u=!1,onToggleCollapse:d,sets:f=[],activeSet:p=0,onSelectSet:g}){let[b,x]=(0,N.useState)(`table`),[E,ae]=(0,N.useState)(null),[M,le]=(0,N.useState)(null),P=(0,N.useMemo)(()=>en(e??[]),[e]),F=(0,N.useMemo)(()=>JSON.stringify(e??[],null,2),[e]),I=(0,N.useMemo)(()=>!e||e.length===0?``:Kt(P,e.map(e=>P.map(t=>Wt(e[t])))),[e,P]),L=ie()??!1,R=(0,N.useRef)(n),[z,ue]=(0,N.useState)(0);(0,N.useEffect)(()=>{R.current&&!n&&ue(e=>e+1),R.current=n},[n]);let B=e=>{let t=e===`csv`?I:F;navigator.clipboard&&t.length!==0&&navigator.clipboard.writeText(t).then(()=>{ae(e),window.setTimeout(()=>ae(null),1200)})},de=e=>{let t=e===`csv`?I:F;if(t.length===0)return;let n=new Blob([t],{type:e===`csv`?`text/csv`:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=e===`csv`?`query-results.csv`:`query-results.json`,i.click(),URL.revokeObjectURL(r)},V=e!==null&&e.length>0;return(0,W.jsxs)(`div`,{className:i(`flex min-h-0 flex-col overflow-hidden`,u?`shrink-0`:`h-full`),"data-slot":`store-query-results`,children:[(0,W.jsxs)(`div`,{className:i(v,u&&`border-t border-b-0`),children:[f.length>1?f.map((e,t)=>(0,W.jsxs)(`button`,{type:`button`,"aria-pressed":t===p,onClick:()=>g?.(t),className:i(m,`font-mono`,t===p?h:_),children:[t+1,` `,e.label]},`${e.label}-${t}`)):null,(0,W.jsx)($,{label:`Table`,icon:ne,active:b===`table`,onClick:()=>x(`table`)}),(0,W.jsx)($,{label:`JSON`,icon:O,active:b===`json`,onClick:()=>x(`json`)}),(0,W.jsx)($,{label:`Executed statement`,icon:j,active:b===`raw`,onClick:()=>x(`raw`)}),(0,W.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center truncate px-2 text-[11px] text-muted-foreground`,children:t||(n?`Running…`:o??`No results yet. Run a query to see results here.`)}),(0,W.jsx)($,{label:E===`json`?`Copied`:`Copy JSON`,icon:E===`json`?a:ee,disabled:!V,onClick:()=>B(`json`)}),(0,W.jsx)($,{label:`Download JSON`,icon:ce,disabled:!V,onClick:()=>de(`json`)}),(0,W.jsx)($,{label:E===`csv`?`Copied`:`Copy CSV`,icon:E===`csv`?a:se,disabled:!V,onClick:()=>B(`csv`)}),d?(0,W.jsx)($,{label:u?`Expand results`:`Collapse results`,icon:u?k:te,expanded:!u,slot:`store-query-results-collapse`,onClick:d}):null]}),u?null:(0,W.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:n?(0,W.jsx)(`p`,{className:`px-3 py-8 text-center text-sm text-muted-foreground`,children:`Running…`}):(0,W.jsx)(re.div,{initial:z===0?!1:L?{opacity:0}:{opacity:0,transform:`translateY(4px)`},animate:L?{opacity:1}:{opacity:1,transform:`translateY(0px)`},transition:{duration:L?.12:.18,ease:oe},children:t?(0,W.jsx)(`p`,{className:`px-3 py-4 font-mono text-xs leading-relaxed text-destructive`,role:`alert`,children:t}):e===null&&b!==`raw`?(0,W.jsx)(w,{className:`h-full min-h-40 border-0`,children:(0,W.jsxs)(S,{children:[(0,W.jsx)(C,{variant:`icon`,children:(0,W.jsx)(r,{icon:y,className:`size-4`})}),(0,W.jsx)(T,{children:`No results yet`}),(0,W.jsx)(D,{children:`Run a query to see results here.`})]})}):b===`raw`?s?(0,W.jsx)(`div`,{className:`p-3`,"data-slot":`store-query-raw`,children:(0,W.jsx)(Qe,{code:s,language:c,className:`text-xs leading-5`})}):(0,W.jsx)(`p`,{className:`px-3 py-8 text-center text-sm text-muted-foreground`,children:`Nothing executed yet.`}):b===`json`?(0,W.jsx)(A,{json:F,dataSlot:`store-query-json`,className:`min-h-full p-3`}):e&&e.length===0?(0,W.jsx)(`p`,{className:`px-3 py-8 text-center text-sm text-muted-foreground`,children:`Query returned 0 rows.`}):(0,W.jsxs)(`table`,{className:`w-full min-w-max border-collapse text-left text-[12px]`,children:[(0,W.jsx)(`thead`,{className:`sticky top-0 z-10 bg-background`,children:(0,W.jsx)(`tr`,{children:P.map(e=>(0,W.jsx)(`th`,{scope:`col`,className:`border-b border-border/60 px-3 py-1.5 font-mono text-[10px] font-semibold tracking-[0.08em] text-muted-foreground uppercase`,children:e},e))})}),(0,W.jsx)(`tbody`,{children:(e??[]).map((e,t)=>(0,W.jsx)(`tr`,{className:`border-b border-border/60 hover:bg-muted/50`,children:P.map(n=>{let r=e[n],i=Z(r)!==null;return(0,W.jsx)(`td`,{className:`max-w-xs truncate px-3 py-1.5 font-mono text-foreground/90`,children:i?(0,W.jsx)(`button`,{type:`button`,className:`max-w-full truncate text-left underline decoration-border/70 underline-offset-2 hover:text-foreground`,onClick:()=>le({rowId:String(t),column:n,value:r}),children:X(n,r)??Y(r)}):X(n,r)??Y(r)},n)})},t))})]})},z)}),(0,W.jsx)(Tt,{open:M!==null,onOpenChange:e=>{e||le(null)},rowId:M?.rowId??``,column:M?.column??``,storeRef:l,value:M?.value,editable:!1})]})}function en(e){let t=[],n=new Set;for(let r of e)for(let e of Object.keys(r))n.has(e)||(n.add(e),t.push(e));return t}function $({label:e,icon:t,active:n=!1,disabled:a=!1,expanded:o,slot:s,onClick:c}){return(0,W.jsx)(E,{label:e,className:`flex self-stretch`,children:(0,W.jsx)(`button`,{type:`button`,"aria-label":e,"aria-pressed":n||void 0,"aria-expanded":o,disabled:a,"data-slot":s,onClick:c,className:i(m,n?h:_,a&&`pointer-events-none opacity-40`),children:(0,W.jsx)(r,{icon:t,className:`size-3.5`})})})}function tn(e,t){let n=-1/0,r=null;for(let i of e)i.replicaLagMs!=null&&i.effects.some(e=>t.has(e.resource))&&i.startedAt>=n&&(n=i.startedAt,r=i.replicaLagMs);return r}export{tt as A,B,dt as C,X as D,ut as E,V as F,M as H,fe as I,R as L,et as M,$e as N,it as O,Qe as P,ue as R,gt as S,Y as T,le as U,I as V,Pt as _,Xt as a,wt as b,zt as c,Bt as d,Vt as f,Nt as g,It as h,Zt as i,rt as j,nt as k,Q as l,Ft as m,$t as n,Kt as o,Lt as p,Wt as r,Ht as s,tn as t,Rt as u,Mt as v,at as w,Z as x,Tt as y,he as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e}from"./xyflow-yApv7D4e.js";import{$n as t,Qn as n}from"./shortcut-keys-DTE1sjTC.js";import{D as r,_ as i,c as a,f as o,x as s}from"./explorer-chrome-Dslh2yE8.js";import{o as c}from"./http-method-Cn_Fl79s.js";import{h as l,m as u,t as d}from"./element-icons-C6t8Vlml.js";import{d as f,i as p,u as m}from"./highlighted-json-DQ-EMAfz.js";import{t as h}from"./UserIcon-DaE2PB5_.js";import{t as g}from"./UnavailableIcon-D9cvHVPr.js";var _=[[`path`,{d:`M13.5 13L17 9M14 15C14 16.1046 13.1046 17 12 17C10.8954 17 10 16.1046 10 15C10 13.8954 10.8954 13 12 13C13.1046 13 14 13.8954 14 15Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M6 12C6 8.68629 8.68629 6 12 6C13.0929 6 14.1175 6.29218 15 6.80269`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`,key:`1`}],[`path`,{d:`M2.50006 12.0001C2.50006 7.52172 2.50006 5.28255 3.8913 3.8913C5.28255 2.50006 7.52172 2.50006 12.0001 2.50006C16.4784 2.50006 18.7176 2.50006 20.1088 3.8913C21.5001 5.28255 21.5001 7.52172 21.5001 12.0001C21.5001 16.4784 21.5001 18.7176 20.1088 20.1088C18.7176 21.5001 16.4784 21.5001 12.0001 21.5001C7.52172 21.5001 5.28255 21.5001 3.8913 20.1088C2.50006 18.7176 2.50006 16.4784 2.50006 12.0001Z`,stroke:`currentColor`,strokeWidth:`1.5`,key:`2`}]],v=[[`path`,{d:`M16 16L11.6667 21.6535C11.1282 22.356 10.1188 21.9188 10.1188 20.9829V14.0301C10.1188 13.4695 9.72302 13.015 9.23474 13.015H5.88582C5.12506 13.015 4.71954 11.9851 5.22212 11.3294L7.7741 8`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M10 5.72714L12.4969 2.35038C13.0221 1.63999 14.0067 2.08215 14.0067 3.02843V10.059C14.0067 10.6258 14.3928 11.0854 14.8691 11.0854H18.1359C18.878 11.0854 19.2736 12.1268 18.7833 12.7898L17.8885 14`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`1`}],[`path`,{d:`M2 2L22 22`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`,key:`2`}]],y=[[`path`,{d:`M5.22576 11.3294L12.224 2.34651C12.7713 1.64397 13.7972 2.08124 13.7972 3.01707V9.96994C13.7972 10.5305 14.1995 10.985 14.6958 10.985H18.0996C18.8729 10.985 19.2851 12.0149 18.7742 12.6706L11.776 21.6535C11.2287 22.356 10.2028 21.9188 10.2028 20.9829V14.0301C10.2028 13.4695 9.80048 13.015 9.3042 13.015H5.90035C5.12711 13.015 4.71494 11.9851 5.22576 11.3294Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}]],b=[[`path`,{d:`M8.5 15.5C8.63206 15.9782 8.89835 16.5 9.59365 16.5C10.7968 16.5 11.0976 15.5 12 12C12.9024 8.5 13.2032 7.5 14.4064 7.5C15.1016 7.5 15.3679 8.02179 15.5 8.5M10.5417 10.75H14.4064`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,key:`0`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`1.5`,key:`1`}]],x=[[`path`,{d:`M2 11.4C2 10.2417 2.24173 10 3.4 10H20.6C21.7583 10 22 10.2417 22 11.4V12.6C22 13.7583 21.7583 14 20.6 14H3.4C2.24173 14 2 13.7583 2 12.6V11.4Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`,key:`0`}],[`path`,{d:`M2 3.4C2 2.24173 2.24173 2 3.4 2H20.6C21.7583 2 22 2.24173 22 3.4V4.6C22 5.75827 21.7583 6 20.6 6H3.4C2.24173 6 2 5.75827 2 4.6V3.4Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`,key:`1`}],[`path`,{d:`M2 19.4C2 18.2417 2.24173 18 3.4 18H20.6C21.7583 18 22 18.2417 22 19.4V20.6C22 21.7583 21.7583 22 20.6 22H3.4C2.24173 22 2 21.7583 2 20.6V19.4Z`,stroke:`currentColor`,strokeLinecap:`round`,strokeWidth:`1.5`,key:`2`}]],S=e();function C(e){if(!e.startsWith(`mcp:`))return null;let t=e.slice(4),n=t.indexOf(`/`);return n<=0||n===t.length-1?null:{server:t.slice(0,n),tool:t.slice(n+1)}}function w(e){return`mcp:${e}`}var T={flow:{accent:`#38BDF8`,glow:`rgba(56, 189, 248, 0.45)`,well:`rgba(56, 189, 248, 0.14)`},signal:{accent:`#FBBF24`,glow:`rgba(251, 191, 36, 0.4)`,well:`rgba(251, 191, 36, 0.14)`},store:{accent:`#34D399`,glow:`rgba(52, 211, 153, 0.45)`,well:`rgba(52, 211, 153, 0.14)`},clock:{accent:`#818CF8`,glow:`rgba(129, 140, 248, 0.45)`,well:`rgba(129, 140, 248, 0.14)`},gate:{accent:`#A78BFA`,glow:`rgba(167, 139, 250, 0.45)`,well:`rgba(167, 139, 250, 0.14)`},vault:{accent:`#94A3B8`,glow:`rgba(148, 163, 184, 0.4)`,well:`rgba(148, 163, 184, 0.14)`},channel:{accent:`#C084FC`,glow:`rgba(192, 132, 252, 0.45)`,well:`rgba(192, 132, 252, 0.14)`},ai:{accent:`#FB7185`,glow:`rgba(251, 113, 133, 0.45)`,well:`rgba(251, 113, 133, 0.14)`}},E={reads:`#2DD4BF`,writes:`#FB923C`,emits:`#FBBF24`,calls:`#60A5FA`,asks:`#FB7185`,sends:`#C084FC`,secrets:`#94A3B8`,gates:`#A78BFA`,trigger:`#FBBF24`,couple:`#64748B`},D={flow:{width:188,height:52},store:{width:168,height:48},signal:{width:168,height:48},ai:{width:168,height:48},clock:{width:168,height:48},gate:{width:168,height:48},vault:{width:168,height:48},channel:{width:168,height:48}},O={law:{width:140,height:140},hub:{width:56,height:56},type:{width:64,height:26},unit:{width:128,height:40}},k={cx:900,cy:900,elementRing:280,typeRing:418,typeRow:88,spokeRing:840},A={headerH:26,padX:10,padBottom:10},j={edge:0,unit:1,leaf:2},M=[`http`,`signal`,`cron`,`every`,`cdc`,`internal`],N={http:{icon:c,label:`HTTP`,wellClass:`border-sky-500/35 bg-sky-500/10 text-sky-600 dark:text-sky-400`},signal:{icon:d.signal.icon,label:`Signal`,wellClass:`border-amber-500/35 bg-amber-500/10 text-amber-700 dark:text-amber-400`},cron:{icon:f,label:`Cron`,wellClass:`border-violet-500/35 bg-violet-500/10 text-violet-700 dark:text-violet-400`},every:{icon:m,label:`Every`,wellClass:`border-teal-500/35 bg-teal-500/10 text-teal-700 dark:text-teal-400`},cdc:{icon:d.store.icon,label:`CDC`,wellClass:`border-emerald-500/35 bg-emerald-500/10 text-emerald-700 dark:text-emerald-400`},internal:{icon:b,label:`Call-only`,wellClass:`border-zinc-500/35 bg-zinc-500/10 text-zinc-600 dark:text-zinc-400`}};function P(e){return e?.http?`http`:e?.signal?`signal`:e?.cron?`cron`:e?.every?`every`:e?.cdc?`cdc`:`internal`}function F(e){let t=P(e),n=N[t],r=null;return t===`http`&&e?.http?r=`${e.http.method} ${e.http.path}`:t===`signal`&&e?.signal?r=e.signal:t===`cron`&&e?.cron?r=e.cron:t===`every`&&e?.every?r=e.every:t===`cdc`&&e?.cdc&&(r=e.cdc.table),{kind:t,icon:n.icon,label:n.label,detail:r,wellClass:n.wellClass}}var ee={policy:u,scope:l,rate:_,public:h};function I(e,t,n){return t===`rate`||e.startsWith(`rate:`)?`rate`:e===`public`?`public`:(n?.length??0)>0?`scope`:t===`policy`||t===`all`?`policy`:null}function L(e){return e?ee[e]:u}function R(e,t){let n=t?.gates;return e.map(e=>{let t=n?.[e];return{name:e,kind:t?.kind??null,variant:I(e,t?.kind,t?.scopes),description:t?.description??null}})}var z=`#A78BFA`;function B({gate:e}){let n=e.variant??`undeclared`,r=[e.variant,e.description].filter(Boolean).join(` · `)||`undeclared`;return(0,S.jsxs)(`li`,{className:i,title:r,"data-slot":`trace-gate-row`,children:[(0,S.jsx)(t,{icon:L(e.variant),className:o,style:{color:z},"aria-hidden":!0}),(0,S.jsxs)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs`,children:[(0,S.jsx)(`span`,{className:`text-muted-foreground`,children:n}),(0,S.jsxs)(`span`,{className:`text-foreground/90`,children:[` `,e.name]})]})]})}function V({gates:e,heading:t=`Gates`}){return e.length===0?null:(0,S.jsxs)(`section`,{className:`flex flex-col`,"data-slot":`gate-list`,"aria-label":t,children:[(0,S.jsxs)(`div`,{className:s,children:[(0,S.jsx)(`h3`,{className:n(r,`flex items-center px-2`),children:t}),(0,S.jsx)(`span`,{className:n(a,`flex items-center`),children:e.length})]}),(0,S.jsx)(`ul`,{children:e.map(e=>(0,S.jsx)(B,{gate:e},e.name))})]})}var H={read:`Read`,write:`Write`,emit:`Emit`,send:`Send`,ask:`Ask`,embed:`Embed`,secret:`Secret`,call:`Call`,fetch:`Fetch`,decide:`Decide`};function U(e,t){return`${t} ${t===1?{read:`read`,write:`write`,emit:`emit`,send:`send`,ask:`ask`,embed:`embed`,secret:`secret`,call:`call`,fetch:`fetch`,decide:`decide`}[e]:{read:`reads`,write:`writes`,emit:`emits`,send:`sends`,ask:`asks`,embed:`embeds`,secret:`secrets`,call:`calls`,fetch:`fetches`,decide:`decides`}[e]}`}function W(e){switch(e){case`read`:return E.reads;case`write`:return E.writes;case`emit`:return E.emits;case`call`:return E.calls;case`ask`:case`embed`:return E.asks;case`send`:case`fetch`:return E.sends;case`decide`:return E.asks;case`secret`:return E.secrets}}function G(e,t){if(t&&C(t))return d.ai.icon;switch(e){case`read`:case`write`:return d.store.icon;case`emit`:return d.signal.icon;case`call`:return d.flow.icon;case`ask`:case`embed`:case`decide`:return d.ai.icon;case`send`:case`fetch`:return d.channel.icon;case`secret`:return d.vault.icon}}var K=[`read`,`write`,`emit`,`call`,`ask`,`embed`,`send`,`fetch`,`decide`,`secret`];function q(e){return e.startsWith(`sql:`)}function J(e){return e.startsWith(`computed:`)}function Y(e){let t=[{key:`duration`,label:p(e.durationMs),shortLabel:p(e.durationMs),variant:`duration`,detail:`Handler duration from the run ledger (${p(e.durationMs)}).`}];e.trigger===`http`&&t.push({key:`api`,label:`1 API call`,shortLabel:`1 API`,variant:`api`,detail:`HTTP trigger invocation for this run (not counted as an effect).`});let n=e.gates.length;n>0&&t.push({key:`gates`,label:`${n} ${n===1?`gate`:`gates`}`,shortLabel:`${n} gate${n===1?``:`s`}`,variant:`gate`,detail:`Evaluated on this run: ${e.gates.join(`, `)}.`});let r=e.effects.filter(e=>J(e.resource)).length;r>0&&t.push({key:`cache`,label:`${r} cache ${r===1?`read`:`reads`}`,shortLabel:`${r} cache`,variant:`cache`,detail:`${r} effect${r===1?``:`s`} targeting computed:… cache keys.`});let i=e.effects.filter(e=>q(e.resource)).length;i>0&&t.push({key:`db`,label:`${i} DB ${i===1?`query`:`queries`}`,shortLabel:`${i} DB`,variant:`db`,detail:`${i} effect${i===1?``:`s`} targeting sql:… store resources.`});let a=te(e.effects);for(let e of K){let n=a.get(e)??0;n!==0&&t.push({key:e,label:U(e,n),shortLabel:U(e,n),variant:e,detail:`${n} non-SQL ${e} effect${n===1?``:`s`} on the run ledger.`})}let o=e.logs.length;return o>0&&t.push({key:`logs`,label:`${o} log ${o===1?`line`:`lines`}`,shortLabel:`${o} log${o===1?``:`s`}`,variant:`logs`,detail:`${o} ${o===1?`entry`:`entries`} in run.logs.`}),t}function X(e){let t=C(e);return t?`Call ${t.server} → ${t.tool}`:null}function Z(e){return C(e)!==null}function Q(e,t){let n=e.resource.split(`@`)[0]??e.resource;return e.kind===`decide`?`/flows/decisions?decision=${encodeURIComponent(n)}`:e.kind===`ask`||e.kind===`call`&&t.has(n)?e.agentRunId?`/observability?view=ai&agentRun=${encodeURIComponent(e.agentRunId)}`:`/observability?view=ai&q=${encodeURIComponent(n)}`:null}function $(e){return J(e.resource)?`Cache read`:q(e.resource)?e.kind===`write`?`DB write`:`DB query`:e.kind===`call`&&Z(e.resource)?`MCP call`:{read:`Read`,write:`Write`,emit:`Emit`,send:`Send`,ask:`Ask`,embed:`Embed`,secret:`Secret`,call:`Call`,fetch:`Fetch`,decide:`Decide`}[e.kind]}function te(e){let t=new Map;for(let n of e)q(n.resource)||J(n.resource)||t.set(n.kind,(t.get(n.kind)??0)+1);return t}function ne(e){switch(e){case`hit`:return{icon:y,label:`Cache hit`,className:`text-sky-500 dark:text-sky-400`};case`miss`:return{icon:v,label:`Cache miss`,className:`text-amber-600 dark:text-amber-400`};case`none`:return{icon:g,label:`Cache not applicable`,className:`text-muted-foreground/40`}}}function re(e,t,n){let r=e?.flows?.[t],i=r?.trigger;return i?.http?{method:i.http.method,path:i.http.path,headline:`${i.http.method} ${i.http.path}`}:i?.signal?{method:null,path:null,headline:`Signal · ${i.signal}`}:i?.cron?{method:null,path:null,headline:`Cron · ${i.cron}`}:i?.every?{method:null,path:null,headline:`Every · ${i.every}`}:i?.cdc?{method:null,path:null,headline:`CDC · ${i.cdc.table}`}:n===`http`?{method:null,path:null,headline:`HTTP`}:n===`internal`||!r?.trigger?{method:null,path:null,headline:`Call-only`}:{method:null,path:null,headline:n}}export{w as C,y as E,A as S,x as T,j as _,Y as a,T as b,W as c,R as d,M as f,E as g,F as h,$ as i,G as l,P as m,ne as n,X as o,N as p,Q as r,H as s,re as t,V as u,k as v,C as w,D as x,O as y};
|