elanous 0.2.17 → 0.2.18
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/apps/pwa/out/404/index.html +1 -1
- package/apps/pwa/out/404.html +1 -1
- package/apps/pwa/out/_next/static/P6YTVgzuZz5oTZhY4Din_/_buildManifest.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{1307-aac7332576c4d6fc.js → 1307-30dff22c9e1f3073.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/195-fb1d7690bf30bab4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1986-33e13d648a9df765.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2537-6c289376caa88ca1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2699-325cc923ba7b8631.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3857-4f936cdb30322aa6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4554-5761612531d0146b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4565-3d7e3fdeb43686a8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5977-a11f37254196b659.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6158.9c0449a9a8d0064b.js → 6158.af2e93b7adff709b.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/6877-74399f69c7da1433.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7797-df5aa0381fdc078f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8401-8615a660c84cdb03.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8695-846034ce44852c70.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/approvals/{page-3143b07a817d1da9.js → page-d92f7ee3994e84c7.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/autopilot/{page-17ba086ef82d339b.js → page-4733c967b56a4277.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/board/{page-7eb661ff23af7da2.js → page-d22fd849cc22f104.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-bb742f995c6769e7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/bots/{page-6e5c3a867557298b.js → page-02b073a2ac793b83.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-60c3da708f9a0ccc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/page-8a9b3594bc23289b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/consult/{page-5e77cd1802567c89.js → page-a0eb02638b1e6f31.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/control/page-308111abadf35670.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/decisions/page-6eaf7bac37830c21.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/design-check/{page-4187666132fc98c4.js → page-5d97b2901e0d1ea6.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/editor/{page-09328d499162bae4.js → page-c39554c321576982.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/exec/{page-29ff3a8f84f03b6a.js → page-8c3d8e63ae2e1c98.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/field/{page-80ec7401bc83f511.js → page-9b72a07d424701c6.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/inside/page-bd5d586429167fea.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/intake/{page-fc7d86467291ae38.js → page-a572f58cd3ca5864.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-59b7834d497c2255.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live/page-be5ea965a07fbc41.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/loops/{page-0e2d6985fb42cd2f.js → page-c130b63862437814.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/market/{page-13e4108999f58d13.js → page-fa244bd146a00ae8.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/{page-e8296ee284aa1293.js → page-44d56d6391965a6a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/morning/{page-043a9111e74f6b24.js → page-83a700d4c754d802.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/{not-found-23a4601ceb7f452e.js → not-found-7b3170f374f77b9d.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-5f23d0c66a3b4793.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/{page-10d958605a77b3bd.js → page-a3c58f5c72a5f3f9.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/release/page-a2c4625596f8d69c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-0e9099531d239f11.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/outputs/{page-7a1d85e121065cc8.js → page-e8e1ecaea7cd71d2.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/page-a1b7ffed710a93e0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/reflection/{page-12916918988ac97e.js → page-1467047104141297.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/scheduler/{page-d8a3347a9d0c3f4a.js → page-2da6f9b8a38c6978.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-102310930791197a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-f331e38fefc00393.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/page-6ed0b73bae8351d8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/done/{page-1d824510df025d18.js → page-44d5f767491692bf.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/page-43336055451f6e37.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/share/{page-7f49fe645d5132f7.js → page-3cc47dca0922ab9a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-a77ee355a2304ff0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/tasks/{page-27d71f131acd9320.js → page-b17cd46cf0e9b8cf.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/term/page-61553851aa606146.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/today/page-a1f585e154e61c59.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/trace/{page-424659bacfb8cdd7.js → page-7bf54c9bb9274af8.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-5150ef17b5383a57.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-b9d8ce70792c1672.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-a5a3de231f2cc7d5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workspace/{page-5d4fef9ccd7d406b.js → page-134da468538baf48.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-31ac4afa2dcd915c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{webpack-539cde99554be20f.js → webpack-c2782b330447ffb6.js} +1 -1
- package/apps/pwa/out/_next/static/css/7fa358fec7da7c47.css +1 -0
- package/apps/pwa/out/approvals/index.html +1 -1
- package/apps/pwa/out/approvals/index.txt +14 -14
- package/apps/pwa/out/autopilot/index.html +1 -1
- package/apps/pwa/out/autopilot/index.txt +14 -14
- package/apps/pwa/out/board/index.html +1 -1
- package/apps/pwa/out/board/index.txt +14 -14
- package/apps/pwa/out/botlab/index.html +1 -1
- package/apps/pwa/out/botlab/index.txt +14 -14
- package/apps/pwa/out/bots/index.html +1 -1
- package/apps/pwa/out/bots/index.txt +14 -14
- package/apps/pwa/out/ceo/index.html +1 -1
- package/apps/pwa/out/ceo/index.txt +14 -14
- package/apps/pwa/out/chat/index.html +1 -1
- package/apps/pwa/out/chat/index.txt +14 -14
- package/apps/pwa/out/consult/index.html +1 -1
- package/apps/pwa/out/consult/index.txt +14 -14
- package/apps/pwa/out/control/index.html +1 -1
- package/apps/pwa/out/control/index.txt +14 -14
- package/apps/pwa/out/decisions/index.html +1 -0
- package/apps/pwa/out/decisions/index.txt +30 -0
- package/apps/pwa/out/design-check/index.html +1 -1
- package/apps/pwa/out/design-check/index.txt +14 -14
- package/apps/pwa/out/editor/index.html +1 -1
- package/apps/pwa/out/editor/index.txt +14 -14
- package/apps/pwa/out/exec/index.html +1 -1
- package/apps/pwa/out/exec/index.txt +14 -14
- package/apps/pwa/out/field/index.html +1 -1
- package/apps/pwa/out/field/index.txt +14 -14
- package/apps/pwa/out/healthz +1 -1
- package/apps/pwa/out/index.html +1 -1
- package/apps/pwa/out/index.txt +14 -14
- package/apps/pwa/out/inside/index.html +1 -1
- package/apps/pwa/out/inside/index.txt +14 -14
- package/apps/pwa/out/intake/index.html +1 -1
- package/apps/pwa/out/intake/index.txt +14 -14
- package/apps/pwa/out/live/index.html +1 -1
- package/apps/pwa/out/live/index.txt +14 -14
- package/apps/pwa/out/loops/index.html +1 -1
- package/apps/pwa/out/loops/index.txt +14 -14
- package/apps/pwa/out/market/index.html +1 -1
- package/apps/pwa/out/market/index.txt +14 -14
- package/apps/pwa/out/missions/placeholder/index.html +1 -1
- package/apps/pwa/out/missions/placeholder/index.txt +14 -14
- package/apps/pwa/out/morning/index.html +1 -1
- package/apps/pwa/out/morning/index.txt +14 -14
- package/apps/pwa/out/observatory/index.html +1 -1
- package/apps/pwa/out/observatory/index.txt +14 -14
- package/apps/pwa/out/ops/checklist/index.html +1 -1
- package/apps/pwa/out/ops/checklist/index.txt +14 -14
- package/apps/pwa/out/ops/release/index.html +1 -1
- package/apps/pwa/out/ops/release/index.txt +14 -14
- package/apps/pwa/out/ops/seats/index.html +1 -1
- package/apps/pwa/out/ops/seats/index.txt +14 -14
- package/apps/pwa/out/outputs/index.html +1 -1
- package/apps/pwa/out/outputs/index.txt +14 -14
- package/apps/pwa/out/reflection/index.html +1 -1
- package/apps/pwa/out/reflection/index.txt +15 -15
- package/apps/pwa/out/scheduler/index.html +1 -1
- package/apps/pwa/out/scheduler/index.txt +14 -14
- package/apps/pwa/out/sessions/index.html +1 -1
- package/apps/pwa/out/sessions/index.txt +14 -14
- package/apps/pwa/out/settings/devices/index.html +1 -1
- package/apps/pwa/out/settings/devices/index.txt +14 -14
- package/apps/pwa/out/settings/index.html +1 -1
- package/apps/pwa/out/settings/index.txt +14 -14
- package/apps/pwa/out/setup/done/index.html +1 -1
- package/apps/pwa/out/setup/done/index.txt +14 -14
- package/apps/pwa/out/setup/index.html +1 -1
- package/apps/pwa/out/setup/index.txt +14 -14
- package/apps/pwa/out/share/index.html +1 -1
- package/apps/pwa/out/share/index.txt +14 -14
- package/apps/pwa/out/showroom/index.html +1 -1
- package/apps/pwa/out/showroom/index.txt +14 -14
- package/apps/pwa/out/tasks/index.html +1 -1
- package/apps/pwa/out/tasks/index.txt +14 -14
- package/apps/pwa/out/term/index.html +1 -1
- package/apps/pwa/out/term/index.txt +14 -14
- package/apps/pwa/out/today/index.html +1 -1
- package/apps/pwa/out/today/index.txt +14 -14
- package/apps/pwa/out/trace/index.html +1 -1
- package/apps/pwa/out/trace/index.txt +14 -14
- package/apps/pwa/out/vault/index.html +1 -1
- package/apps/pwa/out/vault/index.txt +14 -14
- package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
- package/apps/pwa/out/workflows/chat-ui/index.txt +14 -14
- package/apps/pwa/out/workflows/index.html +1 -1
- package/apps/pwa/out/workflows/index.txt +14 -14
- package/apps/pwa/out/workspace/index.html +1 -1
- package/apps/pwa/out/workspace/index.txt +14 -14
- package/apps/pwa/out/worktrees/index.html +1 -1
- package/apps/pwa/out/worktrees/index.txt +14 -14
- package/package.json +2 -1
- package/samples/workflows/templates/approval-gated-deploy.yaml +30 -0
- package/samples/workflows/templates/chat-driven-research.yaml +35 -0
- package/samples/workflows/templates/discord-listen-and-respond.yaml +29 -0
- package/samples/workflows/templates/http-poll-then-alert.yaml +30 -0
- package/samples/workflows/templates/manual-quickstart.yaml +21 -0
- package/samples/workflows/templates/scheduled-daily-digest.yaml +30 -0
- package/samples/workflows/templates/webhook-deploy-hook.yaml +27 -0
- package/scripts/ci-public-export-import-gate.ts +7 -2
- package/scripts/ci-typecheck-changed.ts +21 -6
- package/scripts/discord-seat-probe.ts +3 -2
- package/scripts/docs/generate-cli-anatomy.ts +162 -0
- package/scripts/goals/authoring-metrics.ts +73 -0
- package/scripts/landing-heal/must-fix-match.ts +7 -7
- package/scripts/landing-heal/run-mission.ts +3 -2
- package/scripts/public-export-test-run.ts +37 -2
- package/scripts/release-loop/checklist-gate-node.ts +13 -11
- package/scripts/release-loop/cut-branch.ts +2 -1
- package/scripts/release-loop/cutoff.ts +4 -2
- package/scripts/release-loop/docs-land-node.ts +8 -1
- package/scripts/release-loop/docs-node.ts +1 -1
- package/scripts/release-loop/gate-node.ts +99 -14
- package/scripts/release-loop/node-verdict.ts +2 -1
- package/scripts/release-loop/npm-publish-node.ts +11 -7
- package/scripts/release-loop/ops-upgrade-node.ts +8 -1
- package/scripts/release-loop/preflight.ts +246 -0
- package/scripts/release-loop/publish-node.ts +8 -1
- package/scripts/release-loop/release-readiness.ts +11 -6
- package/scripts/release-loop/release-version.ts +48 -0
- package/scripts/release-loop/resume-release.ts +115 -0
- package/scripts/release-loop/unattended-release.ts +43 -7
- package/scripts/release-loop/version-node.ts +145 -40
- package/scripts/rhythm/daily.ts +25 -4
- package/scripts/skills/public-check.ts +62 -12
- package/scripts/test-deterministic.ts +51 -33
- package/scripts/test-diet/effectiveness.ts +62 -1
- package/scripts/test-diet/lib.ts +1 -1
- package/scripts/test-diet/node.ts +8 -1
- package/src/agent-mission/review-loop.ts +4 -3
- package/src/agent-substrate/pr-comment-meta.ts +20 -0
- package/src/autopilot/build/llm-conflict-merge.ts +28 -8
- package/src/briefing/brief-items.ts +86 -17
- package/src/cli/autopilot-cli.ts +30 -11
- package/src/cli/brief-cli.ts +36 -2
- package/src/cli/freeze-cli.ts +3 -2
- package/src/cli/intake-cli.ts +73 -1
- package/src/cli/notify-cli.ts +75 -0
- package/src/cli/provider-cli.ts +12 -2
- package/src/cli/release-cli.ts +101 -17
- package/src/cli/tasks-cli.ts +309 -3
- package/src/context-bus/condense.ts +19 -3
- package/src/context-bus/context-day.ts +77 -24
- package/src/context-bus/context-first.ts +33 -0
- package/src/discord-self-message.ts +20 -2
- package/src/discord-slash-wire.ts +1 -0
- package/src/domains/outbound-alert.ts +200 -27
- package/src/domains/outbound-log-probe.ts +16 -1
- package/src/domains/release-tool.ts +2 -2
- package/src/execution-loop/gates.ts +11 -2
- package/src/flow-loop/split.ts +8 -4
- package/src/git-fs/worktree.ts +23 -3
- package/src/harness/harness-cli-command.ts +10 -2
- package/src/harness/harness-queue.ts +388 -33
- package/src/harness/helper-scan.ts +10 -3
- package/src/hq/seats.ts +369 -0
- package/src/index.ts +133 -15
- package/src/intake-plane/adopt-gate.ts +49 -0
- package/src/intake-plane/check.ts +3 -0
- package/src/intake-plane/collect-github.ts +57 -25
- package/src/intake-plane/discord-seat-work.ts +8 -2
- package/src/intake-plane/requirement-funnel.ts +316 -0
- package/src/knowledge/know-find.ts +10 -1
- package/src/loops/budget.ts +36 -0
- package/src/loops/orchestrator/finish-rate.ts +73 -1
- package/src/loops/orchestrator/grid-place.ts +11 -0
- package/src/loops/orchestrator/tick.ts +295 -20
- package/src/maturity/feature-maturity.ts +3 -2
- package/src/nexus/api/decisions-route.ts +11 -1
- package/src/nexus/api/loop-edges.ts +69 -13
- package/src/nexus/api/ops-seats-sources.ts +2 -2
- package/src/nexus/api/workflow-templates.ts +3 -0
- package/src/oauth/codex.ts +38 -0
- package/src/onboarding/first-chat-gate.ts +29 -0
- package/src/release-loop/checklist.ts +104 -6
- package/src/release-loop/feature-store.ts +10 -9
- package/src/release-loop/landing-freeze.ts +6 -4
- package/src/release-loop/placement.ts +13 -3
- package/src/release-loop/rubric.ts +80 -0
- package/src/seat-dispatch/seat-ask.ts +79 -16
- package/src/seat-loop/seat-loop.ts +12 -6
- package/src/self-dev/ask-launch-flow.ts +24 -3
- package/src/self-dev/ask-path-candidates.ts +68 -0
- package/src/self-dev/dev-pipeline.ts +4 -0
- package/src/self-dev/draft-triage-rules.ts +1 -1
- package/src/self-dev/orchestrate-cli.ts +22 -0
- package/src/self-dev/round-pr-supersede.ts +244 -0
- package/src/self-dev/run-supervisor.ts +14 -0
- package/src/self-implement/follow-up-goals.ts +2 -2
- package/src/self-implement/gate-remote.ts +427 -0
- package/src/self-implement/goal-author.ts +8 -3
- package/src/self-implement/l8-merge-queue.ts +29 -5
- package/src/self-implement/orchestrator.ts +59 -12
- package/src/self-implement/prior-draft-findings.ts +4 -3
- package/src/skills/skill-feedback.ts +76 -0
- package/src/task-agent/actions.ts +39 -6
- package/src/task-agent/judge.ts +31 -5
- package/src/task-agent/mission.ts +423 -0
- package/src/task-agent/shadow.ts +90 -0
- package/src/task-agent/task-hand.ts +235 -0
- package/src/task-orchestrator/surfaces/pod-failure-reason.ts +10 -0
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +86 -18
- package/src/telegram-loops-command.ts +1 -1
- package/src/telegram.ts +5 -20
- package/src/user-config.ts +63 -3
- package/src/version/packed-revision.json +1 -1
- package/apps/pwa/out/_next/static/chunks/2699-63b73fa4d3bcf6ff.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4554-3565eea1f1495ba7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4614-21403aac730d4586.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5135-44008fe8b1f2aa41.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5233-bf28bd6bd7a32099.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5977-c952712c87a1f757.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6877-fe94e76a5841ee9b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7395-164e238f471b5d7b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7787-02a1c0b04e25e811.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8401-4ce1c42c8d89903f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8949-ecb4128a0858b911.js +0 -1
- package/apps/pwa/out/_next/static/chunks/899-f41be85e8a680651.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-6b8444914da74ca6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-7110f732f45bf944.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/chat/page-9a41d65355fc25b9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/control/page-41afec0b255ed2bb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/inside/page-ab93b240f687d69a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-de43a186e5ba5683.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live/page-8b08cafad27759c9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-1ed1324b1dc36754.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/release/page-166745e51ac0c7b0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-a04260b8ccc968d4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/page-1f50e3d4e13435f4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-a9117d2cd3093d36.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-5a64cb5208c6a8fd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-1407ec83ea64c1f9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/page-6e878ebbe1737d00.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-81a4e7f8dbfe74cb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/term/page-3ab59d19913b200e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/today/page-bf85b2f5bf077925.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-ab32a8f522a60371.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-fc2df261f8a2c7df.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-09461366af82ef13.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-ea90a8ac73ce2749.js +0 -1
- package/apps/pwa/out/_next/static/css/001d5fbaee388a25.css +0 -1
- package/apps/pwa/out/_next/static/yRA5ur6DcPl0YHSRheH2O/_buildManifest.js +0 -1
- /package/apps/pwa/out/_next/static/{yRA5ur6DcPl0YHSRheH2O → P6YTVgzuZz5oTZhY4Din_}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5233],{245:(e,t,n)=>{n.d(t,{V:()=>E});var r=n(46124),o=n(10517),l=n(55504),i=n(20990),a=n(56992),u=n(14764),s=n(50491),c=n(93395);let d=function(e){return e.orientation="data-orientation",e.hovering="data-hovering",e.scrolling="data-scrolling",e.hasOverflowX="data-has-overflow-x",e.hasOverflowY="data-has-overflow-y",e.overflowXStart="data-overflow-x-start",e.overflowXEnd="data-overflow-x-end",e.overflowYStart="data-overflow-y-start",e.overflowYEnd="data-overflow-y-end",e}({});var f=n(13736),p=n(75796),h=n(20747),v=n(59957);let g=r.createContext(void 0),m={disableStyleElements:!1};var y=n(55539);let b={x:0,y:0},x={width:0,height:0},S={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},w={x:!0,y:!0,corner:!0},E=r.forwardRef(function(e,t){var n;let{render:E,className:R,overflowEdgeThreshold:k,style:A,...C}=e,M=function(e){if("number"==typeof e){let t=Math.max(0,e);return{xStart:t,xEnd:t,yStart:t,yEnd:t}}return{xStart:Math.max(0,(null==e?void 0:e.xStart)||0),xEnd:Math.max(0,(null==e?void 0:e.xEnd)||0),yStart:Math.max(0,(null==e?void 0:e.yStart)||0),yEnd:Math.max(0,(null==e?void 0:e.yEnd)||0)}}(k),O=(0,p.e)(),T=(0,l.Z)(),P=(0,l.Z)(),{nonce:q,disableStyleElements:I}=null!=(n=r.useContext(g))?n:m,[W,j]=r.useState(!1),[X,D]=r.useState(!1),[H,Y]=r.useState(!1),[F,N]=r.useState(!1),[K,z]=r.useState(!1),[V,B]=r.useState(x),[L,$]=r.useState(x),[U,_]=r.useState(S),[G,Z]=r.useState(w),J=r.useRef(null),Q=r.useRef(null),ee=r.useRef(null),et=r.useRef(null),en=r.useRef(null),er=r.useRef(null),eo=r.useRef(null),el=r.useRef(!1),ei=r.useRef(0),ea=r.useRef(0),eu=r.useRef(0),es=r.useRef(0),ec=r.useRef("vertical"),ed=r.useRef(b),ef=(0,o.K)(e=>{let t=e.x-ed.current.x,n=e.y-ed.current.y;ed.current=e,0!==n&&(Y(!0),T.start(s.u,()=>{Y(!1)})),0!==t&&(D(!0),P.start(s.u,()=>{D(!1)}))}),ep=(0,o.K)(e=>{0===e.button&&(el.current=!0,ei.current=e.clientY,ea.current=e.clientX,ec.current=e.currentTarget.getAttribute(d.orientation),Q.current&&(eu.current=Q.current.scrollTop,es.current=Q.current.scrollLeft),en.current&&"vertical"===ec.current&&en.current.setPointerCapture(e.pointerId),er.current&&"horizontal"===ec.current&&er.current.setPointerCapture(e.pointerId))}),eh=(0,o.K)(e=>{if(!el.current)return;let t=e.clientY-ei.current,n=e.clientX-ea.current;if(Q.current){let r=Q.current.scrollHeight,o=Q.current.clientHeight,l=Q.current.scrollWidth,i=Q.current.clientWidth;if(en.current&&ee.current&&"vertical"===ec.current){let n=(0,c.A)(ee.current,"padding","y"),l=(0,c.A)(en.current,"margin","y"),i=en.current.offsetHeight,a=ee.current.offsetHeight-i-n-l;Q.current.scrollTop=eu.current+t/a*(r-o),e.preventDefault(),Y(!0),T.start(s.u,()=>{Y(!1)})}if(er.current&&et.current&&"horizontal"===ec.current){let t=(0,c.A)(et.current,"padding","x"),r=(0,c.A)(er.current,"margin","x"),o=er.current.offsetWidth,a=et.current.offsetWidth-o-t-r;Q.current.scrollLeft=es.current+n/a*(l-i),e.preventDefault(),D(!0),P.start(s.u,()=>{D(!1)})}}}),ev=(0,o.K)(e=>{el.current=!1,en.current&&"vertical"===ec.current&&en.current.releasePointerCapture(e.pointerId),er.current&&"horizontal"===ec.current&&er.current.releasePointerCapture(e.pointerId)});function eg(e){N("touch"===e.pointerType)}function em(e){eg(e),"touch"!==e.pointerType&&j((0,v.gR)(J.current,e.target))}let ey=r.useMemo(()=>({scrolling:X||H,hasOverflowX:!G.x,hasOverflowY:!G.y,overflowXStart:U.xStart,overflowXEnd:U.xEnd,overflowYStart:U.yStart,overflowYEnd:U.yEnd,cornerHidden:G.corner}),[X,H,G.x,G.y,G.corner,U]),eb={role:"presentation",onPointerEnter:em,onPointerMove:em,onPointerDown:eg,onPointerLeave(){j(!1)},style:{position:"relative",[u.I.scrollAreaCornerHeight]:"".concat(V.height,"px"),[u.I.scrollAreaCornerWidth]:"".concat(V.width,"px")}},ex=(0,a.o)("div",e,{state:ey,ref:[t,J],props:[eb,C],stateAttributesMapping:h.r}),eS=r.useMemo(()=>({handlePointerDown:ep,handlePointerMove:eh,handlePointerUp:ev,handleScroll:ef,cornerSize:V,setCornerSize:B,thumbSize:L,setThumbSize:$,hasMeasuredScrollbar:K,setHasMeasuredScrollbar:z,touchModality:F,cornerRef:eo,scrollingX:X,setScrollingX:D,scrollingY:H,setScrollingY:Y,hovering:W,setHovering:j,viewportRef:Q,rootRef:J,scrollbarYRef:ee,scrollbarXRef:et,thumbYRef:en,thumbXRef:er,rootId:O,hiddenState:G,setHiddenState:Z,overflowEdges:U,setOverflowEdges:_,viewportState:ey,overflowEdgeThreshold:M}),[ep,eh,ev,ef,V,L,K,F,X,D,H,Y,W,j,O,G,U,ey,M]);return(0,y.jsxs)(i.a.Provider,{value:eS,children:[!I&&f.E.getElement(q),ex]})})},3180:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]])},3456:(e,t,n)=>{n.d(t,{H:()=>s});var r=n(46124),o=n(41977),l=n(56992),i=n(38956),a=n(61034),u=n(3448);let s=r.forwardRef(function(e,t){let{render:n,className:r,disabled:s=!1,nativeButton:c=!0,style:d,...f}=e,{store:p}=(0,o.P)(),h=p.useState("open"),{getButtonProps:v,buttonRef:g}=(0,i.s)({disabled:s,native:c});return(0,l.o)("button",e,{state:{disabled:s},ref:[t,g],props:[{onClick:function(e){h&&p.setOpen(!1,(0,a.d)(u.SR,e.nativeEvent))}},f,v]})})},4333:(e,t,n)=>{n.d(t,{l:()=>u});var r=n(46124),o=n(20990),l=n(83276),i=n(93158),a=n(56992);let u=r.forwardRef(function(e,t){let{render:n,className:r,style:u,...s}=e,{thumbYRef:c,thumbXRef:d,handlePointerDown:f,handlePointerMove:p,handlePointerUp:h,setScrollingX:v,setScrollingY:g,hasMeasuredScrollbar:m}=(0,o.p)(),{orientation:y}=(0,l.r)();return(0,a.o)("div",e,{ref:[t,"vertical"===y?c:d],state:{orientation:y},props:[{onPointerDown:f,onPointerMove:p,onPointerUp(e){"vertical"===y&&g(!1),"horizontal"===y&&v(!1),h(e)},style:{visibility:m?void 0:"hidden",..."vertical"===y&&{height:"var(".concat(i.q.scrollAreaThumbHeight,")")},..."horizontal"===y&&{width:"var(".concat(i.q.scrollAreaThumbWidth,")")}}},s]})})},4719:(e,t,n)=>{n.d(t,{q:()=>r});function r(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}},4963:(e,t,n)=>{n.d(t,{XF:()=>E,vB:()=>S});var r=n(46124),o=n(72765),l=n(94205),i=n(4719),a=n(14427),u=n(47150),s=n(7169),c=n(10517),d=n(31491),f=n(81482),p=n(56131),h=n(61034),v=n(3448),g=n(38180),m=n(56992),y=n(48596),b=n(55539);let x=r.createContext(null),S=()=>r.useContext(x),w=(0,g.F)("portal"),E=r.forwardRef(function(e,t){let{children:n,container:g,className:E,render:R,renderGuards:k,style:A,...C}=e,{portalNode:M,portalSubtree:O}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{ref:t,container:n,componentProps:i=d.t0,elementProps:a}=e,f=(0,u.B)(),p=S(),h=null==p?void 0:p.portalNode,[v,g]=r.useState(null),[y,b]=r.useState(null),x=(0,c.K)(e=>{null!==e&&b(e)}),E=r.useRef(null);(0,s.g)(()=>{var e,t;if(null===n){E.current&&(E.current=null,b(null),g(null));return}if(null==f)return;let r=null!=(t=null!=(e=n&&((0,l.Ll)(n)?n:n.current))?e:h)?t:document.body;if(null==r){E.current&&(E.current=null,b(null),g(null));return}E.current!==r&&(E.current=r,b(null),g(r))},[n,h,f]);let R=(0,m.o)("div",i,{ref:[t,x],props:[{id:f,[w]:""},a]});return{portalNode:y,portalSubtree:v&&R?o.createPortal(R,v):null}}({container:g,ref:t,componentProps:e,elementProps:C}),T=r.useRef(null),P=r.useRef(null),q=r.useRef(null),I=r.useRef(null),[W,j]=r.useState(null),X=r.useRef(!1),D=null==W?void 0:W.modal,H=null==W?void 0:W.open,Y="boolean"==typeof k?k:!!W&&!W.modal&&W.open&&!!M;r.useEffect(()=>{if(M&&!D)return(0,a.g)((0,i.q)(M,"focusin",e,!0),(0,i.q)(M,"focusout",e,!0));function e(e){M&&e.relatedTarget&&(0,p.Qp)(e)&&("focusin"===e.type?X.current&&((0,p.yV)(M),X.current=!1):((0,p.N)(M),X.current=!0))}},[M,D]),r.useEffect(()=>{M&&!1===H&&((0,p.yV)(M),X.current=!1)},[H,M]);let F=r.useMemo(()=>({beforeOutsideRef:T,afterOutsideRef:P,beforeInsideRef:q,afterInsideRef:I,portalNode:M,setFocusManagerState:j}),[M]);return(0,b.jsxs)(r.Fragment,{children:[O,(0,b.jsxs)(x.Provider,{value:F,children:[Y&&M&&(0,b.jsx)(f.U,{"data-type":"outside",ref:T,onFocus:e=>{if((0,p.Qp)(e,M)){var t;null==(t=q.current)||t.focus()}else{let e=W?W.domReference:null,t=(0,p.XJ)(e);null==t||t.focus()}}}),Y&&M&&(0,b.jsx)("span",{"aria-owns":M.id,style:y.z_}),M&&o.createPortal(n,M),Y&&M&&(0,b.jsx)(f.U,{"data-type":"outside",ref:P,onFocus:e=>{if((0,p.Qp)(e,M)){var t;null==(t=I.current)||t.focus()}else{let t=W?W.domReference:null,n=(0,p.vF)(t);null==n||n.focus(),(null==W?void 0:W.closeOnFocusOut)&&(null==W||W.onOpenChange(!1,(0,h.d)(v.Xn,e.nativeEvent)))}}})]})]})})},5358:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("camera",[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]])},6239:(e,t,n)=>{n.d(t,{q:()=>r});function r(e){return null==e?e:"current"in e?e.current:e}},6405:(e,t,n)=>{e.exports=n(19472)},13736:(e,t,n)=>{n.d(t,{E:()=>l});var r=n(55539);let o="base-ui-disable-scrollbar",l={className:o,getElement:e=>(0,r.jsx)("style",{nonce:e,href:o,precedence:"base-ui:low",children:`.${o}{scrollbar-width:none}.${o}::-webkit-scrollbar{display:none}`})}},14222:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("volume-x",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]])},14427:(e,t,n)=>{n.d(t,{g:()=>r});function r(...e){return()=>{for(let t=0;t<e.length;t+=1){let n=e[t];n&&n()}}}},14764:(e,t,n)=>{n.d(t,{I:()=>r});let r=function(e){return e.scrollAreaCornerHeight="--scroll-area-corner-height",e.scrollAreaCornerWidth="--scroll-area-corner-width",e}({})},14879:(e,t,n)=>{n.d(t,{KT:()=>d,Tc:()=>a,m0:()=>c,nr:()=>s,un:()=>u});let r="undefined"!=typeof navigator,o=function(){if(!r)return{platform:"",maxTouchPoints:-1};let e=navigator.userAgentData;return e?.platform?{platform:e.platform,maxTouchPoints:navigator.maxTouchPoints}:{platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??-1}}(),l=function(){if(!r)return"";let e=navigator.userAgentData;return e?.platform?e.platform:navigator.platform??""}(),i=function(){if(!r)return"";let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(({brand:e,version:t})=>`${e}/${t}`).join(" "):navigator.userAgent}(),a="undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter:none"),u="MacIntel"===o.platform&&o.maxTouchPoints>1||/iP(hone|ad|od)|iOS/.test(o.platform);r&&/firefox/i.test(i);let s=r&&/apple/i.test(navigator.vendor);r&&/Edg/i.test(i);let c=r&&/android/i.test(l)||/android/i.test(i);r&&l.toLowerCase().startsWith("mac")&&navigator.maxTouchPoints;let d=i.includes("jsdom/")},16190:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("mic-off",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33",key:"1gzdoj"}],["path",{d:"M16.95 16.95A7 7 0 0 1 5 12v-2",key:"cqa7eg"}],["path",{d:"M18.89 13.23A7 7 0 0 0 19 12v-2",key:"16hl24"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12",key:"r2i35w"}]])},16199:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},19472:(e,t,n)=>{var r=n(46124),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},l=r.useState,i=r.useEffect,a=r.useLayoutEffect,u=r.useDebugValue;function s(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!o(e,n)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=l({inst:{value:n,getSnapshot:t}}),o=r[0].inst,c=r[1];return a(function(){o.value=n,o.getSnapshot=t,s(o)&&c({inst:o})},[e,n,t]),i(function(){return s(o)&&c({inst:o}),e(function(){s(o)&&c({inst:o})})},[e]),u(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:c},20747:(e,t,n)=>{n.d(t,{r:()=>o});let r=function(e){return e.scrolling="data-scrolling",e.hasOverflowX="data-has-overflow-x",e.hasOverflowY="data-has-overflow-y",e.overflowXStart="data-overflow-x-start",e.overflowXEnd="data-overflow-x-end",e.overflowYStart="data-overflow-y-start",e.overflowYEnd="data-overflow-y-end",e}({}),o={hasOverflowX:e=>e?{[r.hasOverflowX]:""}:null,hasOverflowY:e=>e?{[r.hasOverflowY]:""}:null,overflowXStart:e=>e?{[r.overflowXStart]:""}:null,overflowXEnd:e=>e?{[r.overflowXEnd]:""}:null,overflowYStart:e=>e?{[r.overflowYStart]:""}:null,overflowYEnd:e=>e?{[r.overflowYEnd]:""}:null,cornerHidden:()=>null}},20990:(e,t,n)=>{n.d(t,{a:()=>l,p:()=>i});var r=n(20892),o=n(46124);let l=o.createContext(void 0);function i(){let e=o.useContext(l);if(void 0===e)throw Error((0,r.A)(53));return e}},25735:(e,t,n)=>{n.d(t,{v:()=>s});var r=n(46124),o=n(10517),l=n(72765),i=n(36726),a=n(6239),u=n(38197);function s(e){let{enabled:t=!0,open:n,ref:s,onComplete:c}=e,d=(0,o.K)(c),f=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2)||void 0===arguments[2]||arguments[2],r=(0,i.N)();return(0,o.K)(function(o){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;r.cancel();let s=(0,a.q)(e);if(null==s)return;let c=()=>{l.flushSync(o)};if("function"!=typeof s.getAnimations||globalThis.BASE_UI_ANIMATIONS_DISABLED)return void o();function d(){Promise.all(s.getAnimations().map(e=>e.finished)).then(()=>{(null==i?void 0:i.aborted)||c()}).catch(()=>{if(n){(null==i?void 0:i.aborted)||c();return}let e=s.getAnimations();!(null==i?void 0:i.aborted)&&e.length>0&&e.some(e=>e.pending||"finished"!==e.playState)&&d()})}if(t){let e=u.T.startingStyle;if(!s.hasAttribute(e))return void r.request(d);let t=new MutationObserver(()=>{s.hasAttribute(e)||(t.disconnect(),d())});return t.observe(s,{attributes:!0,attributeFilter:[e]}),void(null==i||i.addEventListener("abort",()=>t.disconnect(),{once:!0}))}r.request(d)})}(s,n,!1);r.useEffect(()=>{if(!t)return;let e=new AbortController;return f(d,e.signal),()=>{e.abort()}},[t,n,d,f])}},26741:(e,t,n)=>{n.d(t,{y:()=>l});var r=n(46124);let o=[];function l(e){r.useEffect(e,o)}},34312:(e,t,n)=>{n.d(t,{Ev:()=>u,O_:()=>l,Pg:()=>a,YF:()=>i,jo:()=>o});var r=n(14879);function o(e){e.preventDefault(),e.stopPropagation()}function l(e){return"nativeEvent"in e}function i(e){return""===e.pointerType&&!!e.isTrusted||(r.m0&&e.pointerType?"click"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType)}function a(e){return!r.KT&&(!r.m0&&0===e.width&&0===e.height||r.m0&&1===e.width&&1===e.height&&0===e.pressure&&0===e.detail&&"mouse"===e.pointerType||e.width<1&&e.height<1&&0===e.pressure&&0===e.detail&&"touch"===e.pointerType)}function u(e){let t=e.type;return"click"===t||"mousedown"===t||"keydown"===t||"keyup"===t}},36485:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},36726:(e,t,n)=>{n.d(t,{K:()=>a,N:()=>u});var r=n(74264),o=n(26741);globalThis.requestAnimationFrame;class l{request(e){let t=this.nextId;return this.nextId+=1,this.callbacks.push(e),this.callbacksCount+=1,this.isScheduled||(requestAnimationFrame(this.tick),this.isScheduled=!0),t}cancel(e){let t=e-this.startId;t<0||t>=this.callbacks.length||(this.callbacks[t]=null,this.callbacksCount-=1)}constructor(){this.callbacks=[],this.callbacksCount=0,this.nextId=1,this.startId=1,this.isScheduled=!1,this.tick=e=>{this.isScheduled=!1;let t=this.callbacks,n=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,n>0)for(let n=0;n<t.length;n+=1){var r;null==(r=t[n])||r.call(t,e)}}}}let i=new l;class a{static create(){return new a}static request(e){return i.request(e)}static cancel(e){return i.cancel(e)}request(e){this.cancel(),this.currentId=i.request(()=>{this.currentId=null,e()})}constructor(){this.currentId=null,this.cancel=()=>{null!==this.currentId&&(i.cancel(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.cancel}}function u(){let e=(0,r.j)(a.create).current;return(0,o.y)(e.disposeEffect),e}},38180:(e,t,n)=>{n.d(t,{F:()=>r});function r(e){return`data-base-ui-${e}`}},38197:(e,t,n)=>{n.d(t,{G:()=>i,T:()=>r});let r=function(e){return e.startingStyle="data-starting-style",e.endingStyle="data-ending-style",e}({}),o={[r.startingStyle]:""},l={[r.endingStyle]:""},i={transitionStatus:e=>"starting"===e?o:"ending"===e?l:null}},39692:(e,t,n)=>{n.d(t,{L:()=>a});var r=n(46124),o=n(41977),l=n(56992),i=n(75796);let a=r.forwardRef(function(e,t){let{render:n,className:r,style:a,id:u,...s}=e,{store:c}=(0,o.P)(),d=(0,i.e)(u);return c.useSyncedValueWithCleanup("titleElementId",d),(0,l.o)("h2",e,{ref:t,props:[{id:d},s]})})},39841:(e,t,n)=>{n.d(t,{m:()=>l,p:()=>i});var r=n(20892),o=n(46124);let l=o.createContext(void 0);function i(){let e=o.useContext(l);if(void 0===e)throw Error((0,r.A)(26));return e}},41863:(e,t,n)=>{var r=n(46124),o=n(6405),l="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=o.useSyncExternalStore,a=r.useRef,u=r.useEffect,s=r.useMemo,c=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var d=a(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var p=i(e,(d=s(function(){function e(e){if(!u){if(u=!0,i=e,e=r(e),void 0!==o&&f.hasValue){var t=f.value;if(o(t,e))return a=t}return a=e}if(t=a,l(i,e))return t;var n=r(e);return void 0!==o&&o(t,n)?(i=e,t):(i=e,a=n)}var i,a,u=!1,s=void 0===n?null:n;return[function(){return e(t())},null===s?void 0:function(){return e(s())}]},[t,n,r,o]))[0],d[1]);return u(function(){f.hasValue=!0,f.value=p},[p]),c(p),p}},41977:(e,t,n)=>{n.d(t,{P:()=>i,a:()=>l});var r=n(20892),o=n(46124);let l=o.createContext(void 0);function i(e){let t=o.useContext(l);if(!1===e&&void 0===t)throw Error((0,r.A)(27));return t}},43926:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},44974:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(46124),o=n(92451),l=n(4963),i=n(41977),a=n(39841),u=n(55539);let s=r.forwardRef(function(e,t){let n,{cutout:r,...o}=e;if(r){let e=r.getBoundingClientRect();n=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${e.left}px ${e.top}px,${e.left}px ${e.bottom}px,${e.right}px ${e.bottom}px,${e.right}px ${e.top}px,${e.left}px ${e.top}px)`}return(0,u.jsx)("div",{ref:t,role:"presentation","data-base-ui-inert":"",...o,style:{position:"fixed",inset:0,userSelect:"none",WebkitUserSelect:"none",clipPath:n}})}),c=r.forwardRef(function(e,t){var n;let{keepMounted:r=!1,...c}=e,{store:d}=(0,i.P)(),f=d.useState("mounted"),p=d.useState("modal"),h=d.useState("open");return f||r?(0,u.jsx)(a.m.Provider,{value:r,children:(0,u.jsxs)(l.XF,{ref:t,...c,children:[f&&!0===p&&(0,u.jsx)(s,{ref:d.context.internalBackdropRef,inert:(n=!h,(0,o._)(19)?n:n?"true":void 0)}),e.children]})}):null})},45876:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},48105:(e,t,n)=>{n.d(t,{B:()=>S});var r=n(46124),o=n(10517),l=n(7169),i=n(14879),a=n(55504),u=n(20990);let s=r.createContext(void 0);var c=n(56992),d=n(85667),f=n(93395),p=n(50491);function h(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}var v=n(13736),g=n(20747);let m=function(e){return e.scrollAreaOverflowXStart="--scroll-area-overflow-x-start",e.scrollAreaOverflowXEnd="--scroll-area-overflow-x-end",e.scrollAreaOverflowYStart="--scroll-area-overflow-y-start",e.scrollAreaOverflowYEnd="--scroll-area-overflow-y-end",e}({});function y(e,t){if(t<=0)return 0;let n=h(e,0,t),r=t-n,o=n<=1,l=r<=1;return o&&l?n<=r?0:t:o?0:l?t:n}var b=n(55539);let x=!1,S=r.forwardRef(function(e,t){let{render:n,className:S,style:w,...E}=e,{viewportRef:R,scrollbarYRef:k,scrollbarXRef:A,thumbYRef:C,thumbXRef:M,cornerRef:O,cornerSize:T,setCornerSize:P,setThumbSize:q,rootId:I,setHiddenState:W,hiddenState:j,setHasMeasuredScrollbar:X,handleScroll:D,setHovering:H,setOverflowEdges:Y,overflowEdges:F,overflowEdgeThreshold:N,scrollingX:K,scrollingY:z}=(0,u.p)(),V=(0,d.j)(),B=r.useRef(!0),L=r.useRef([NaN,NaN,NaN,NaN]),$=(0,a.Z)(),U=(0,a.Z)(),_=(0,o.K)(()=>{let e=R.current,t=k.current,n=A.current,r=C.current,o=M.current,l=O.current;if(!e)return;let i=e.scrollHeight,a=e.scrollWidth,u=e.clientHeight,s=e.clientWidth,c=e.scrollTop,d=e.scrollLeft,v=L.current,g=Number.isNaN(v[0]);if(v[0]=u,v[1]=i,v[2]=s,v[3]=a,g&&X(!0),0===i||0===a)return;let b=function(e){let t=e.clientHeight>=e.scrollHeight,n=e.clientWidth>=e.scrollWidth;return{y:t,x:n,corner:t||n}}(e),x=b.y,S=b.x,w=s/a,E=u/i,I=Math.max(0,a-s),j=Math.max(0,i-u),D=0,H=0;!S&&(D=y("rtl"===V?h(-d,0,I):h(d,0,I),I),H=I-D);let F=x?0:h(c,0,j),K=x?0:y(F,j),z=x?0:j-K,B=S?0:s,$=x?0:u,U=0,_=0;S||x||(U=(null==t?void 0:t.offsetWidth)||0,_=(null==n?void 0:n.offsetHeight)||0);let G=0===T.width&&0===T.height,Z=G?U:0,J=G?_:0,Q=(0,f.A)(n,"padding","x"),ee=(0,f.A)(t,"padding","y"),et=(0,f.A)(o,"margin","x"),en=(0,f.A)(r,"margin","y"),er=B-Q-et,eo=$-ee-en,el=n?Math.min(n.offsetWidth-Z,er):er,ei=t?Math.min(t.offsetHeight-J,eo):eo,ea=Math.max(p.i,el*w),eu=Math.max(p.i,ei*E);if(q(e=>e.height===eu&&e.width===ea?e:{width:ea,height:eu}),t&&r){let e=t.offsetHeight-eu-ee-en,n=i-u,o=Math.min(e,Math.max(0,(0===n?0:c/n)*e));r.style.transform="translate3d(0,".concat(o,"px,0)")}if(n&&o){let e=n.offsetWidth-ea-Q-et,t=a-s,r=0===t?0:d/t,l="rtl"===V?h(r*e,-e,0):h(r*e,0,e);o.style.transform="translate3d(".concat(l,"px,0,0)")}for(let[t,n]of[[m.scrollAreaOverflowXStart,D],[m.scrollAreaOverflowXEnd,H],[m.scrollAreaOverflowYStart,K],[m.scrollAreaOverflowYEnd,z]])e.style.setProperty(t,"".concat(n,"px"));l&&(S||x?P({width:0,height:0}):S||x||P({width:U,height:_})),W(e=>{var t,n;return t=e,n=b,t.y===n.y&&t.x===n.x&&t.corner===n.corner?t:n});let es={xStart:!S&&D>N.xStart,xEnd:!S&&H>N.xEnd,yStart:!x&&K>N.yStart,yEnd:!x&&z>N.yEnd};Y(e=>e.xStart===es.xStart&&e.xEnd===es.xEnd&&e.yStart===es.yStart&&e.yEnd===es.yEnd?e:es)});function G(){B.current=!1}(0,l.g)(()=>{R.current&&(x||i.Tc||("undefined"!=typeof CSS&&"registerProperty"in CSS&&[m.scrollAreaOverflowXStart,m.scrollAreaOverflowXEnd,m.scrollAreaOverflowYStart,m.scrollAreaOverflowYEnd].forEach(e=>{try{CSS.registerProperty({name:e,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch(e){}}),x=!0))},[R]),(0,l.g)(()=>{queueMicrotask(_)},[_,j,V]),(0,l.g)(()=>{var e;(null==(e=R.current)?void 0:e.matches(":hover"))&&H(!0)},[R,H]),r.useEffect(()=>{let e=R.current;if("undefined"==typeof ResizeObserver||!e)return;let t=!1,n=new ResizeObserver(()=>{if(!t){t=!0;let n=L.current;if(n[0]===e.clientHeight&&n[1]===e.scrollHeight&&n[2]===e.clientWidth&&n[3]===e.scrollWidth)return}_()});return n.observe(e),U.start(0,()=>{let t=e.getAnimations({subtree:!0});0!==t.length&&Promise.allSettled(t.map(e=>e.finished)).then(_).catch(()=>{})}),()=>{n.disconnect(),U.clear()}},[_,R,U]);let Z={role:"presentation",...I&&{"data-id":"".concat(I,"-viewport")},tabIndex:j.x&&j.y?-1:0,className:v.E.className,style:{overflow:"scroll"},onScroll(){R.current&&(_(),B.current||D({x:R.current.scrollLeft,y:R.current.scrollTop}),$.start(100,()=>{B.current=!0}))},onWheel:G,onTouchMove:G,onPointerMove:G,onPointerEnter:G,onKeyDown:G},J=r.useMemo(()=>({scrolling:K||z,hasOverflowX:!j.x,hasOverflowY:!j.y,overflowXStart:F.xStart,overflowXEnd:F.xEnd,overflowYStart:F.yStart,overflowYEnd:F.yEnd,cornerHidden:j.corner}),[K,z,j.x,j.y,j.corner,F]),Q=(0,c.o)("div",e,{ref:[t,R],state:J,props:[Z,E],stateAttributesMapping:g.r}),ee=r.useMemo(()=>({computeThumbPosition:_}),[_]);return(0,b.jsx)(s.Provider,{value:ee,children:Q})})},48596:(e,t,n)=>{n.d(t,{Kd:()=>r,z_:()=>o});let r="data-base-ui-click-trigger",o={clipPath:"inset(50%)",position:"fixed",top:0,left:0}},50491:(e,t,n)=>{n.d(t,{i:()=>o,u:()=>r});let r=500,o=16},50837:(e,t,n)=>{n.d(t,{$4:()=>r,CM:()=>function e(t,n,r=!0){return t.filter(e=>e.parentId===n).flatMap(n=>[...!r||n.context?.open?[n]:[],...e(t,n.id,r)])}});function r(e,t){let n=[],r=e.find(e=>e.id===t)?.parentId;for(;r;){let t=e.find(e=>e.id===r);r=t?.parentId,t&&(n=n.concat(t))}return n}},51221:(e,t,n)=>{n.d(t,{R1:()=>i,cq:()=>a});var r=n(46124);n(55539);let o=r.createContext(null),l=r.createContext(null),i=()=>{var e;return(null==(e=r.useContext(o))?void 0:e.id)||null},a=e=>{let t=r.useContext(l);return null!=e?e:t}},52537:(e,t,n)=>{let r;n.d(t,{D:()=>Q});var o=n(46124),l=n(94205),i=n(4719),a=n(14879),u=n(24541),s=n(7169),c=n(55504),d=n(36726),f=n(31491);let p={},h={},v="";class g{acquire(e){return this.lockCount+=1,1===this.lockCount&&null===this.restore&&this.timeoutLock.start(0,()=>this.lock(e)),this.release}lock(e){if(0===this.lockCount||null!==this.restore)return;let t=(0,u.R)(e).documentElement,n=(0,l.zk)(t).getComputedStyle(t).overflowY;if("hidden"===n||"clip"===n){this.restore=f.tE;return}let r=a.un||!function(e){if("undefined"==typeof document)return!1;let t=(0,u.R)(e);return(0,l.zk)(t).innerWidth-t.documentElement.clientWidth>0}(e);this.restore=r?function(e){let t=(0,u.R)(e),n=t.documentElement,r=t.body,o=(0,l.ZU)(n)?n:r,i={overflowY:o.style.overflowY,overflowX:o.style.overflowX};return Object.assign(o.style,{overflowY:"hidden",overflowX:"hidden"}),()=>{Object.assign(o.style,i)}}(e):function(e){var t,n;let r=(0,u.R)(e),o=r.documentElement,s=r.body,c=(0,l.zk)(o),f=0,g=0,m=!1,y=d.K.create();if(a.Tc&&(null!=(n=null==(t=c.visualViewport)?void 0:t.scale)?n:1)!==1)return()=>{};function b(){let t=c.getComputedStyle(o),n=c.getComputedStyle(s),r=(t.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";f=o.scrollTop,g=o.scrollLeft,p={scrollbarGutter:o.style.scrollbarGutter,overflowY:o.style.overflowY,overflowX:o.style.overflowX},v=o.style.scrollBehavior,h={position:s.style.position,height:s.style.height,width:s.style.width,boxSizing:s.style.boxSizing,overflowY:s.style.overflowY,overflowX:s.style.overflowX,scrollBehavior:s.style.scrollBehavior};let i=o.scrollHeight>o.clientHeight,a=o.scrollWidth>o.clientWidth,d="scroll"===t.overflowY||"scroll"===n.overflowY,y="scroll"===t.overflowX||"scroll"===n.overflowX,b=Math.max(0,c.innerWidth-s.clientWidth),x=Math.max(0,c.innerHeight-s.clientHeight),S=parseFloat(n.marginTop)+parseFloat(n.marginBottom),w=parseFloat(n.marginLeft)+parseFloat(n.marginRight),E=(0,l.ZU)(o)?o:s;if(m=function(e){if(!("undefined"!=typeof CSS&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||"undefined"==typeof document)return!1;let t=(0,u.R)(e),n=t.documentElement,r=t.body,o=(0,l.ZU)(n)?n:r,i=o.style.overflowY,a=n.style.scrollbarGutter;n.style.scrollbarGutter="stable",o.style.overflowY="scroll";let s=o.offsetWidth;o.style.overflowY="hidden";let c=o.offsetWidth;return o.style.overflowY=i,n.style.scrollbarGutter=a,s===c}(e)){o.style.scrollbarGutter=r,E.style.overflowY="hidden",E.style.overflowX="hidden";return}Object.assign(o.style,{scrollbarGutter:r,overflowY:"hidden",overflowX:"hidden"}),(i||d)&&(o.style.overflowY="scroll"),(a||y)&&(o.style.overflowX="scroll"),Object.assign(s.style,{position:"relative",height:S||x?"calc(100dvh - ".concat(S+x,"px)"):"100dvh",width:w||b?"calc(100vw - ".concat(w+b,"px)"):"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),s.scrollTop=f,s.scrollLeft=g,o.setAttribute("data-base-ui-scroll-locked",""),o.style.scrollBehavior="unset"}function x(){Object.assign(o.style,p),Object.assign(s.style,h),m||(o.scrollTop=f,o.scrollLeft=g,o.removeAttribute("data-base-ui-scroll-locked"),o.style.scrollBehavior=v)}b();let S=(0,i.q)(c,"resize",function(){x(),y.request(b)});return()=>{y.cancel(),x(),"function"==typeof c.removeEventListener&&S()}}(e)}constructor(){this.lockCount=0,this.restore=null,this.timeoutLock=c.E.create(),this.timeoutUnlock=c.E.create(),this.release=()=>{this.lockCount-=1,0===this.lockCount&&this.restore&&this.timeoutUnlock.start(0,this.unlock)},this.unlock=()=>{if(0===this.lockCount&&this.restore){var e;null==(e=this.restore)||e.call(this),this.restore=null}}}}let m=new g;var y=n(47150),b=n(74264),x=n(51221),S=n(20892);let w=(e,t,n,r,o,l,...i)=>{let a;if(i.length>0)throw Error((0,S.A)(1));if(e&&t&&n&&r&&o&&l)a=(i,a,u,s)=>{let c=e(i,a,u,s),d=t(i,a,u,s),f=n(i,a,u,s);return l(c,d,f,r(i,a,u,s),o(i,a,u,s),a,u,s)};else if(e&&t&&n&&r&&o)a=(l,i,a,u)=>{let s=e(l,i,a,u),c=t(l,i,a,u);return o(s,c,n(l,i,a,u),r(l,i,a,u),i,a,u)};else if(e&&t&&n&&r)a=(o,l,i,a)=>{let u=e(o,l,i,a);return r(u,t(o,l,i,a),n(o,l,i,a),l,i,a)};else if(e&&t&&n)a=(r,o,l,i)=>n(e(r,o,l,i),t(r,o,l,i),o,l,i);else if(e&&t)a=(n,r,o,l)=>t(e(n,r,o,l),r,o,l);else if(e)a=e;else throw Error("Missing arguments");return a};var E=n(6405),R=n(71791);let k=(0,n(92451)._)(19)?function(e,t,n,l,i){let a;if(!r){let r=o.useCallback(()=>t(e.getSnapshot(),n,l,i),[e,t,n,l,i]);return(0,E.useSyncExternalStore)(e.subscribe,r,r)}let u=r.syncIndex;return r.syncIndex+=1,r.didInitialize?(a=r.syncHooks[u]).store===e&&a.selector===t&&Object.is(a.a1,n)&&Object.is(a.a2,l)&&Object.is(a.a3,i)||(a.store!==e&&(r.didChangeStore=!0),a.store=e,a.selector=t,a.a1=n,a.a2=l,a.a3=i,a.didChange=!0):(a={store:e,selector:t,a1:n,a2:l,a3:i,value:t(e.getSnapshot(),n,l,i),didChange:!1},r.syncHooks.push(a)),a.value}:function(e,t,n,r,o){return(0,R.useSyncExternalStoreWithSelector)(e.subscribe,e.getSnapshot,e.getSnapshot,e=>t(e,n,r,o))};[].push({before(e){e.syncIndex=0,e.didInitialize||(e.syncTick=1,e.syncHooks=[],e.didChangeStore=!0,e.getSnapshot=()=>{let t=!1;for(let n=0;n<e.syncHooks.length;n+=1){let r=e.syncHooks[n],o=r.selector(r.store.state,r.a1,r.a2,r.a3);(r.didChange||!Object.is(r.value,o))&&(t=!0,r.value=o,r.didChange=!1)}return t&&(e.syncTick+=1),e.syncTick})},after(e){e.syncHooks.length>0&&(e.didChangeStore&&(e.didChangeStore=!1,e.subscribe=t=>{let n=new Set;for(let t of e.syncHooks)n.add(t.store);let r=[];for(let e of n)r.push(e.subscribe(t));return()=>{for(let e of r)e()}}),(0,E.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot))}});class A{constructor(e){this.state=e,this.listeners=new Set,this.updateTick=0}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});getSnapshot=()=>this.state;setState(e){if(this.state===e)return;this.state=e,this.updateTick+=1;let t=this.updateTick;for(let n of this.listeners){if(t!==this.updateTick)return;n(e)}}update(e){for(let t in e)if(!Object.is(this.state[t],e[t]))return void this.setState({...this.state,...e})}set(e,t){Object.is(this.state[e],t)||this.setState({...this.state,[e]:t})}notifyAll(){let e={...this.state};this.setState(e)}use(e,t,n,r){return k(this,e,t,n,r)}}var C=n(10517);class M extends A{useSyncedValue(e,t){o.useDebugValue(e),(0,s.g)(()=>{this.state[e]!==t&&this.set(e,t)},[e,t])}useSyncedValueWithCleanup(e,t){let n=this;(0,s.g)(()=>(n.state[e]!==t&&n.set(e,t),()=>{n.set(e,void 0)}),[n,e,t])}useSyncedValues(e){let t=this,n=Object.values(e);(0,s.g)(()=>{t.update(e)},[t,...n])}useControlledProp(e,t){o.useDebugValue(e);let n=void 0!==t;(0,s.g)(()=>{n&&!Object.is(this.state[e],t)&&super.setState({...this.state,[e]:t})},[e,t,n])}select(e,t,n,r){return(0,this.selectors[e])(this.state,t,n,r)}useState(e,t,n,r){return o.useDebugValue(e),k(this,this.selectors[e],t,n,r)}useContextCallback(e,t){o.useDebugValue(e);let n=(0,C.K)(null!=t?t:f.tE);this.context[e]=n}useStateSetter(e){let t=o.useRef(void 0);return void 0===t.current&&(t.current=t=>{this.set(e,t)}),t.current}observe(e,t){let n,r=(n="function"==typeof e?e:this.selectors[e])(this.state);return t(r,r,this),this.subscribe(e=>{let o=n(e);if(!Object.is(r,o)){let e=r;r=o,t(o,e,this)}})}constructor(e,t={},n){super(e),this.context=t,this.selectors=n}}var O=n(34312);let T={open:w(e=>e.open),transitionStatus:w(e=>e.transitionStatus),domReferenceElement:w(e=>e.domReferenceElement),referenceElement:w(e=>e.positionReference??e.referenceElement),floatingElement:w(e=>e.floatingElement),floatingId:w(e=>e.floatingId)};class P extends M{constructor(e){let{syncOnly:t,nested:n,onOpenChange:r,triggerElements:o,...l}=e;super({...l,positionReference:l.referenceElement,domReferenceElement:l.referenceElement},{onOpenChange:r,dataRef:{current:{}},events:function(){let e=new Map;return{emit(t,n){e.get(t)?.forEach(e=>e(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){e.get(t)?.delete(n)}}}(),nested:n,triggerElements:o},T),this.syncOnly=t}syncOpenEvent=(e,t)=>{(!e||!this.state.open||null!=t&&(0,O.Ev)(t))&&(this.context.dataRef.current.openEvent=e?t:void 0)};dispatchOpenChange=(e,t)=>{this.syncOpenEvent(e,t.event);let n={open:e,reason:t.reason,nativeEvent:t.event,nested:this.context.nested,triggerElement:t.trigger};this.context.events.emit("openchange",n)};setOpen=(e,t)=>{if(this.syncOnly)return void this.context.onOpenChange?.(e,t);this.dispatchOpenChange(e,t),this.context.onOpenChange?.(e,t)}}var q=n(63292);let I=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);var W=n(14427),j=n(59957),X=n(50837),D=n(61034),H=n(3448),Y=n(38180);let F={intentional:"onClick",sloppy:"onPointerDown"};function N(){return!1}var K=n(70649);function z(e,t,n){let r=new Map,o="item"===n,l={};for(let t in"floating"===n&&(l.tabIndex=-1,l[K.Ed]=""),e)o&&e&&(t===K.XA||t===K.WS)||(l[t]=e[t]);for(let i=0;i<t.length;i+=1){let a,u=t[i]?.[n];(a="function"==typeof u?e?u(e):null:u)&&V(l,a,o,r)}return V(l,e,o,r),l}function V(e,t,n,r){for(let o in t){let l=t[o];n&&(o===K.XA||o===K.WS)||(o.startsWith("on")?(r.has(o)||r.set(o,[]),"function"==typeof l&&(r.get(o)?.push(l),e[o]=(...e)=>r.get(o)?.map(t=>t(...e)).find(e=>void 0!==e))):e[o]=l)}}var B=n(25735),L=n(41977);class ${constructor(){this.elementsSet=new Set,this.idMap=new Map}add(e,t){let n=this.idMap.get(e);n!==t&&(void 0!==n&&this.elementsSet.delete(n),this.elementsSet.add(t),this.idMap.set(e,t))}delete(e){let t=this.idMap.get(e);t&&(this.elementsSet.delete(t),this.idMap.delete(e))}hasElement(e){return this.elementsSet.has(e)}hasMatchingElement(e){for(let t of this.elementsSet)if(e(t))return!0;return!1}getById(e){return this.idMap.get(e)}entries(){return this.idMap.entries()}elements(){return this.elementsSet.values()}get size(){return this.idMap.size}}let U=w(e=>e.triggerIdProp??e.activeTriggerId),_={...{open:w(e=>e.openProp??e.open),mounted:w(e=>e.mounted),transitionStatus:w(e=>e.transitionStatus),floatingRootContext:w(e=>e.floatingRootContext),preventUnmountingOnClose:w(e=>e.preventUnmountingOnClose),payload:w(e=>e.payload),activeTriggerId:U,activeTriggerElement:w(e=>e.mounted?e.activeTriggerElement:null),isTriggerActive:w((e,t)=>void 0!==t&&U(e)===t),isOpenedByTrigger:w((e,t)=>void 0!==t&&U(e)===t&&e.open),isMountedByTrigger:w((e,t)=>void 0!==t&&U(e)===t&&e.mounted),triggerProps:w((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),popupProps:w(e=>e.popupProps),popupElement:w(e=>e.popupElement),positionerElement:w(e=>e.positionerElement)},modal:w(e=>e.modal),nested:w(e=>e.nested),nestedOpenDialogCount:w(e=>e.nestedOpenDialogCount),nestedOpenDrawerCount:w(e=>e.nestedOpenDrawerCount),disablePointerDismissal:w(e=>e.disablePointerDismissal),openMethod:w(e=>e.openMethod),descriptionElementId:w(e=>e.descriptionElementId),titleElementId:w(e=>e.titleElementId),viewportElement:w(e=>e.viewportElement),role:w(e=>e.role)};class G extends M{constructor(e){super(function(e={}){return{...{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:new P({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new $,floatingId:"",syncOnly:!1,nested:!1,onOpenChange:void 0}),preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:f.t0,inactiveTriggerProps:f.t0,popupProps:f.t0},modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:"dialog",...e}}(e),{popupRef:o.createRef(),backdropRef:o.createRef(),internalBackdropRef:o.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:new $,onOpenChange:void 0,onOpenChangeComplete:void 0},_)}setOpen=(e,t)=>{if(t.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},e||null!=t.trigger||null==this.state.activeTriggerId||(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let n={open:e},r=t.trigger?.id??null;(r||e)&&(n.activeTriggerId=r,n.activeTriggerElement=t.trigger??null),this.update(n)};static useStore(e,t){let n=(0,b.j)(()=>new G(t)).current;return e??n}}var Z=n(55539);let J=o.createContext(!1);function Q(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:p,onOpenChangeComplete:h,disablePointerDismissal:v=!1,modal:g=!0,actionsRef:S,handle:w,triggerId:E,defaultTriggerId:R=null}=e,k=(0,L.P)(!0),A=o.useContext(J),M=!!k,T=G.useStore(null==w?void 0:w.store,{open:r,openProp:n,activeTriggerId:R,triggerIdProp:E,modal:g,disablePointerDismissal:v,nested:M}),K=o.useRef(!0);K.current&&(K.current=!1,void 0===n&&!1===T.state.open&&!0===r&&T.update({open:!0,activeTriggerId:R})),T.useControlledProp("openProp",n),T.useControlledProp("triggerIdProp",E),T.useSyncedValues({disablePointerDismissal:v,nested:M,modal:g}),T.useContextCallback("onOpenChange",p),T.useContextCallback("onOpenChangeComplete",h);let V=T.useState("payload");!function(e){let{store:t,parentContext:n,actionsRef:r,isDrawer:p}=e,h=t.useState("open"),v=t.useState("disablePointerDismissal"),g=t.useState("modal"),S=t.useState("popupElement"),{openMethod:w,triggerProps:E}=function(e){let[t,n]=o.useState(null),r=(0,C.K)((t,r)=>{e||n(r||(a.un?"touch":""))}),l=o.useRef(e),i=(0,C.K)(t=>{t&&!e&&n(null)});(0,s.g)(()=>{l.current!==e&&i(l.current)},[e,i]),(0,s.g)(()=>{l.current=e},[e]);let{onClick:u,onPointerDown:c}=function(e){let t=o.useRef(""),n=o.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:o.useCallback(n=>{if(0===n.detail)return void e(n,"keyboard");"pointerType"in n?e(n,n.pointerType):e(n,t.current),t.current=""},[e]),onPointerDown:n}}(r);return o.useMemo(()=>({openMethod:t,triggerProps:{onClick:u,onPointerDown:c}}),[t,u,c])}(h),R=t.useState("open");(0,s.g)(()=>{if(R&&!t.select("activeTriggerId")&&1===t.context.triggerElements.size){let e=t.context.triggerElements.entries().next();if(!e.done){let[n,r]=e.value;t.update({activeTriggerId:n,activeTriggerElement:r})}}},[R,t]);let{forceUnmount:k}=function(e,t,n){let{mounted:r,setMounted:l,transitionStatus:i}=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],[r,l]=o.useState(e&&t?"idle":void 0),[i,a]=o.useState(e);return e&&!i&&(a(!0),l("starting")),e||!i||"ending"===r||n||l("ending"),e||i||"ending"!==r||l(void 0),(0,s.g)(()=>{if(!e&&i&&"ending"!==r&&n){let e=d.K.request(()=>{l("ending")});return()=>{d.K.cancel(e)}}},[e,i,r,n]),(0,s.g)(()=>{if(!e||t)return;let n=d.K.request(()=>{l(void 0)});return()=>{d.K.cancel(n)}},[t,e]),(0,s.g)(()=>{if(!e||!t)return;e&&i&&"idle"!==r&&l("starting");let n=d.K.request(()=>{l("idle")});return()=>{d.K.cancel(n)}},[t,e,i,r]),{mounted:i,setMounted:a,transitionStatus:r}}(e);t.useSyncedValues({mounted:r,transitionStatus:i});let a=(0,C.K)(()=>{var e,n;l(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1}),null==(e=(n=t.context).onOpenChangeComplete)||e.call(n,!1)}),u=t.useState("preventUnmountingOnClose");return(0,B.v)({enabled:!u,open:e,ref:t.context.popupRef,onComplete(){e||a()}}),{forceUnmount:a,transitionStatus:i}}(h,t),A=o.useCallback(()=>{t.setOpen(!1,(0,D.d)(H.zJ))},[t]);o.useImperativeHandle(r,()=>({unmount:k,close:A}),[k,A]);let M=function(e){let{popupStore:t,treatPopupAsFloatingElement:n=!1,onOpenChange:r}=e,o=(0,y.B)(),i=null!=(0,x.R1)(),a=t.useState("open"),u=t.useState("activeTriggerElement"),c=t.useState(n?"popupElement":"positionerElement"),d=t.context.triggerElements,f=(0,b.j)(()=>new P({open:a,transitionStatus:void 0,referenceElement:u,floatingElement:c,triggerElements:d,onOpenChange:r,floatingId:o,syncOnly:!0,nested:i})).current;return(0,s.g)(()=>{let e={open:a,floatingId:o,referenceElement:u,floatingElement:c};(0,l.vq)(u)&&(e.domReferenceElement=u),f.state.positionReference===f.state.referenceElement&&(e.positionReference=u),f.update(e)},[a,o,u,c,f]),f.context.onOpenChange=r,f.context.nested=i,f}({popupStore:t,onOpenChange:t.setOpen,treatPopupAsFloatingElement:!0}),[T,K]=o.useState(0),[V,L]=o.useState(0),$=0===T,U=function(e,t={}){let n="rootStore"in e?e.rootStore:e,r=n.useState("open"),l=n.useState("floatingId"),i=n.useState("domReferenceElement"),a=n.useState("floatingElement"),{role:u="dialog"}=t,s=(0,y.B)(),c=i?.id||s,d=o.useMemo(()=>(0,q.nd)(a)?.id||l,[a,l]),p=I.get(u)??u,h=null!=(0,x.R1)(),v=o.useMemo(()=>"tooltip"===p||"label"===u?f.t0:{"aria-haspopup":"alertdialog"===p?"dialog":p,"aria-expanded":"false",..."listbox"===p&&{role:"combobox"},..."menu"===p&&h&&{role:"menuitem"},..."select"===u&&{"aria-autocomplete":"none"},..."combobox"===u&&{"aria-autocomplete":"list"}},[p,h,u]),g=o.useMemo(()=>"tooltip"===p||"label"===u?{[`aria-${"label"===u?"labelledby":"describedby"}`]:r?d:void 0}:{...v,"aria-expanded":r?"true":"false","aria-controls":r?d:void 0,..."menu"===p&&{id:c}},[p,d,r,c,u,v]),m=o.useMemo(()=>{let e={id:d,...p&&{role:p}};return"tooltip"===p||"label"===u?e:{...e,..."menu"===p&&{"aria-labelledby":c}}},[p,d,c,u]),b=o.useCallback(({active:e,selected:t})=>{let n={role:"option",...e&&{id:`${d}-fui-option`}};switch(u){case"select":case"combobox":return{...n,"aria-selected":t}}return{}},[d,u]);return o.useMemo(()=>({reference:g,floating:m,item:b,trigger:v}),[g,m,v,b])}(M),_=function(e){var t,n;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a="rootStore"in e?e.rootStore:e,s=a.useState("open"),d=a.useState("floatingElement"),{dataRef:f}=a.context,{enabled:p=!0,escapeKey:h=!0,outsidePress:v=!0,outsidePressEvent:g="sloppy",referencePress:m=N,referencePressEvent:y="sloppy",bubbles:b,externalTree:S}=r,w=(0,x.cq)(S),E=(0,C.K)("function"==typeof v?v:()=>!1),R="function"==typeof v?E:v,k=!1!==R,A=(0,C.K)(()=>g),M=o.useRef(!1),T=o.useRef(!1),P=o.useRef(!1),{escapeKey:I,outsidePress:K}={escapeKey:"boolean"==typeof b?b:null!=(t=null==b?void 0:b.escapeKey)&&t,outsidePress:"boolean"==typeof b?b:null==(n=null==b?void 0:b.outsidePress)||n},z=o.useRef(null),V=(0,c.Z)(),B=(0,c.Z)(),L=(0,C.K)(()=>{B.clear(),f.current.insideReactTree=!1}),$=o.useRef(!1),U=o.useRef(""),_=(0,C.K)(m),G=(0,C.K)(e=>{var t;if(!s||!p||!h||"Escape"!==e.key||$.current)return;let n=null==(t=f.current.floatingContext)?void 0:t.nodeId,r=w?(0,X.CM)(w.nodesRef.current,n):[];if(!I&&r.length>0){let e=!0;if(r.forEach(t=>{var n;(null==(n=t.context)?void 0:n.open)&&!t.context.dataRef.current.__escapeKeyBubbles&&(e=!1)}),!e)return}let o=(0,O.O_)(e)?e.nativeEvent:e,l=(0,D.d)(H.jv,o);a.setOpen(!1,l),I||l.isPropagationAllowed||e.stopPropagation()}),Z=(0,C.K)(()=>{f.current.insideReactTree=!0,B.start(0,L)});o.useEffect(()=>{if(!s||!p)return;f.current.__escapeKeyBubbles=I,f.current.__outsidePressBubbles=K;let e=new c.E,t=new c.E;function n(){P.current=!0,t.start(0,()=>{P.current=!1})}function r(){M.current=!1,T.current=!1}function o(){let e=U.current,t=A(),n="function"==typeof t?t():t;return"string"==typeof n?n:n["pen"!==e&&e?e:"mouse"]}function v(e){var t;let n=null==(t=f.current.floatingContext)?void 0:t.nodeId,r=w&&(0,X.CM)(w.nodesRef.current,n).some(t=>{var n;return(0,q.F2)(e,null==(n=t.context)?void 0:n.elements.floating)});return(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement"))||r}function g(e){var n;if(function(e){let t=o();return"intentional"===t&&"click"!==e.type||"sloppy"===t&&"click"===e.type}(e)||f.current.insideReactTree)return void L();let r=(0,j.EW)(e),i="[".concat((0,Y.F)("inert"),"]"),s=(0,l.vq)(r)?r.getRootNode():null,c=Array.from(((0,l.Ng)(s)?s:(0,u.R)(a.select("floatingElement"))).querySelectorAll(i)),d=a.context.triggerElements;if(r&&(d.hasElement(r)||d.hasMatchingElement(e=>(0,j.gR)(e,r))))return;let p=(0,l.vq)(r)?r:null;for(;p&&!(0,l.eu)(p);){let e=(0,l.$4)(p);if((0,l.eu)(e)||!(0,l.vq)(e))break;p=e}if(c.length&&(0,l.vq)(r)&&!(0,q.tZ)(r)&&!(0,j.gR)(r,a.select("floatingElement"))&&c.every(e=>!(0,j.gR)(p,e)))return;if((0,l.sb)(r)&&!("touches"in e)){let t=(0,l.eu)(r),n=(0,l.L9)(r),o=/auto|scroll/,i=t||o.test(n.overflowX),a=t||o.test(n.overflowY),u=i&&r.clientWidth>0&&r.scrollWidth>r.clientWidth,s=a&&r.clientHeight>0&&r.scrollHeight>r.clientHeight,c="rtl"===n.direction,d=s&&(c?e.offsetX<=r.offsetWidth-r.clientWidth:e.offsetX>r.clientWidth),f=u&&e.offsetY>r.clientHeight;if(d||f)return}if(v(e))return;if("intentional"===o()&&P.current){t.clear(),P.current=!1;return}if("function"==typeof R&&!R(e))return;let h=null==(n=f.current.floatingContext)?void 0:n.nodeId,g=w?(0,X.CM)(w.nodesRef.current,h):[];if(g.length>0){let e=!0;if(g.forEach(t=>{var n;(null==(n=t.context)?void 0:n.open)&&!t.context.dataRef.current.__outsidePressBubbles&&(e=!1)}),!e)return}a.setOpen(!1,(0,D.d)(H.Np,e)),L()}function m(e){if("sloppy"!==o()||!a.select("open")||!p||(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement")))return;let t=e.touches[0];t&&(z.current={startTime:Date.now(),startX:t.clientX,startY:t.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},V.start(1e3,()=>{z.current&&(z.current.dismissOnTouchEnd=!1,z.current.dismissOnMouseDown=!1)}))}function y(e,t){let n=(0,j.EW)(e);if(!n)return;let r=(0,i.q)(n,e.type,()=>{t(e),r()})}function b(e){V.clear(),"pointerdown"===e.type&&(U.current=e.pointerType),("mousedown"!==e.type||!z.current||z.current.dismissOnMouseDown)&&y(e,e=>{if("pointerdown"===e.type)"sloppy"!==o()||"touch"===e.pointerType||!a.select("open")||!p||(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement"))||g(e);else g(e)})}function x(e){if(!M.current)return;let l=T.current;if(r(),"intentional"===o()){if("pointercancel"===e.type){l&&n();return}if(!v(e)){if(l)return void n();("function"!=typeof R||R(e))&&(t.clear(),P.current=!0,L())}}}function S(e){if("sloppy"!==o()||!z.current||(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement")))return;let t=e.touches[0];if(!t)return;let n=Math.abs(t.clientX-z.current.startX),r=Math.abs(t.clientY-z.current.startY),l=Math.sqrt(n*n+r*r);l>5&&(z.current.dismissOnTouchEnd=!0),l>10&&(g(e),V.clear(),z.current=null)}function E(e){"sloppy"!==o()||!z.current||(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement"))||(z.current.dismissOnTouchEnd&&g(e),V.clear(),z.current=null)}let C=(0,u.R)(d),O=(0,W.g)(h&&(0,W.g)((0,i.q)(C,"keydown",G),(0,i.q)(C,"compositionstart",function(){e.clear(),$.current=!0}),(0,i.q)(C,"compositionend",function(){e.start(5*!!(0,l.Tc)(),()=>{$.current=!1})})),k&&(0,W.g)((0,i.q)(C,"click",b,!0),(0,i.q)(C,"pointerdown",b,!0),(0,i.q)(C,"pointerup",x,!0),(0,i.q)(C,"pointercancel",x,!0),(0,i.q)(C,"mousedown",b,!0),(0,i.q)(C,"mouseup",x,!0),(0,i.q)(C,"touchstart",function(e){U.current="touch",y(e,m)},!0),(0,i.q)(C,"touchmove",function(e){y(e,S)},!0),(0,i.q)(C,"touchend",function(e){y(e,E)},!0)));return()=>{O(),e.clear(),t.clear(),r(),P.current=!1}},[f,d,h,k,R,s,p,I,K,G,L,A,w,a,V]),o.useEffect(L,[R,L]);let J=o.useMemo(()=>({onKeyDown:G,[F[y]]:e=>{_()&&a.setOpen(!1,(0,D.d)(H.Ui,e.nativeEvent))},..."intentional"!==y&&{onClick(e){_()&&a.setOpen(!1,(0,D.d)(H.Ui,e.nativeEvent))}}}),[G,a,y,_]),Q=(0,C.K)(e=>{if(!s||!p||0!==e.button)return;let t=(0,j.EW)(e.nativeEvent);(0,j.gR)(a.select("floatingElement"),t)&&(M.current||(M.current=!0,T.current=!1))}),ee=(0,C.K)(e=>{s&&p&&(e.defaultPrevented||e.nativeEvent.defaultPrevented)&&M.current&&(T.current=!0)}),et=o.useMemo(()=>({onKeyDown:G,onPointerDown:ee,onMouseDown:ee,onClickCapture:Z,onMouseDownCapture(e){Z(),Q(e)},onPointerDownCapture(e){Z(),Q(e)},onMouseUpCapture:Z,onTouchEndCapture:Z,onTouchMoveCapture:Z}),[G,Z,Q,ee]);return o.useMemo(()=>p?{reference:J,floating:et,trigger:J}:{},[p,J,et])}(M,{outsidePressEvent:()=>t.context.internalBackdropRef.current||t.context.backdropRef.current?"intentional":{mouse:"trap-focus"===g?"sloppy":"intentional",touch:"sloppy"},outsidePress(e){if(!t.context.outsidePressEnabledRef.current||"button"in e&&0!==e.button||"touches"in e&&1!==e.touches.length)return!1;let n=(0,j.EW)(e);return!!$&&!v&&(!g||!t.context.internalBackdropRef.current&&!t.context.backdropRef.current||t.context.internalBackdropRef.current===n||t.context.backdropRef.current===n||(0,j.gR)(n,S)&&!(null==n?void 0:n.hasAttribute("data-base-ui-portal")))},escapeKey:$});!function(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;(0,s.g)(()=>{if(e)return m.acquire(t)},[e,t])}(h&&!0===g,S);let{getReferenceProps:G,getFloatingProps:Z,getTriggerProps:J}=function(e=[]){let t=e.map(e=>e?.reference),n=e.map(e=>e?.floating),r=e.map(e=>e?.item),l=e.map(e=>e?.trigger),i=o.useCallback(t=>z(t,e,"reference"),t),a=o.useCallback(t=>z(t,e,"floating"),n),u=o.useCallback(t=>z(t,e,"item"),r),s=o.useCallback(t=>z(t,e,"trigger"),l);return o.useMemo(()=>({getReferenceProps:i,getFloatingProps:a,getItemProps:u,getTriggerProps:s}),[i,a,u,s])}([U,_]);t.useContextCallback("onNestedDialogOpen",(e,t)=>{K(e),L(t)}),t.useContextCallback("onNestedDialogClose",()=>{K(0),L(0)}),o.useEffect(()=>((null==n?void 0:n.onNestedDialogOpen)&&h&&n.onNestedDialogOpen(T+1,V+ +!!p),(null==n?void 0:n.onNestedDialogClose)&&!h&&n.onNestedDialogClose(),()=>{(null==n?void 0:n.onNestedDialogClose)&&h&&n.onNestedDialogClose()}),[p,h,T,V,n]);let Q=o.useMemo(()=>G(E),[G,E]),ee=o.useMemo(()=>J(E),[J,E]),et=o.useMemo(()=>Z(),[Z]);t.useSyncedValues({openMethod:w,activeTriggerProps:Q,inactiveTriggerProps:ee,popupProps:et,floatingRootContext:M,nestedOpenDialogCount:T,nestedOpenDrawerCount:V})}({store:T,actionsRef:S,parentContext:null==k?void 0:k.store.context,isDrawer:A,onOpenChange:p,triggerIdProp:E});let $=o.useMemo(()=>({store:T}),[T]);return(0,Z.jsx)(J.Provider,{value:!1,children:(0,Z.jsx)(L.a.Provider,{value:$,children:"function"==typeof t?t({payload:V}):t})})}},53405:(e,t,n)=>{n.d(t,{h:()=>es});var r=n(46124),o=n(94205),l=n(4719),i=n(14427),a=n(9131),u=n(7169),s=n(74264);function c(e){let t=(0,s.j)(d,e).current;return t.next=e,(0,u.g)(t.effect),t}function d(e){let t={current:e,next:e,effect:()=>{t.current=t.next}};return t}var f=n(10517),p=n(55504),h=n(14879),v=n(36726),g=n(24541),m=n(81482),y=n(59957),b=n(63292),x=n(34312),S=n(56131),w=n(50837),E=n(53475),R=n(61034),k=n(3448),A=n(38180),C=n(31491);let M=0;function O(e,t={}){let{preventScroll:n=!1,cancelPrevious:r=!0,sync:o=!1}=t;r&&cancelAnimationFrame(M);let l=()=>e?.focus({preventScroll:n});if(o)return l(),C.tE;let i=requestAnimationFrame(l);return M=i,()=>{M===i&&(cancelAnimationFrame(i),M=0)}}let T={inert:new WeakMap,"aria-hidden":new WeakMap},P="data-base-ui-inert",q={inert:new WeakSet,"aria-hidden":new WeakSet},I=new WeakMap,W=0,j=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=function e(t){return t?(0,o.Ng)(t)?t.host:e(t.parentNode):null}(t);return e.contains(n)?n:null}).filter(e=>null!=e),X=e=>{let t=new Set;return e.forEach(e=>{let n=e;for(;n&&!t.has(n);)t.add(n),n=n.parentNode}),t},D=(e,t,n)=>{let r=[],l=e=>{!e||n.has(e)||Array.from(e.children).forEach(e=>{"script"!==(0,o.mq)(e)&&(t.has(e)?l(e):r.push(e))})};return l(e),r};function H(e,t={}){let{ariaHidden:n=!1,inert:r=!1,mark:o=!0,markerIgnoreElements:l=[]}=t,i=(0,g.R)(e[0]).body;return function(e,t,n,r,{mark:o=!0,markerIgnoreElements:l=[]}){let i=r?"inert":n?"aria-hidden":null,a=null,u=null,s=j(t,e),c=new Set(o?j(t,l):[]),d=o?D(t,X(s),new Set(s)).filter(e=>!c.has(e)):[],f=[],p=[];if(i){let e=T[i],n=q[i];u=n,a=e;let r=j(t,Array.from(t.querySelectorAll("[aria-live]"))),o=s.concat(r);D(t,X(o),new Set(o)).forEach(t=>{let r=t.getAttribute(i),o=null!==r&&"false"!==r,l=(e.get(t)||0)+1;e.set(t,l),f.push(t),1===l&&o&&n.add(t),o||t.setAttribute(i,"inert"===i?"":"true")})}return o&&d.forEach(e=>{let t=(I.get(e)||0)+1;I.set(e,t),p.push(e),1===t&&e.setAttribute(P,"")}),W+=1,()=>{a&&f.forEach(e=>{let t=(a.get(e)||0)-1;a.set(e,t),t||(!u?.has(e)&&i&&e.removeAttribute(i),u?.delete(e))}),o&&p.forEach(e=>{let t=(I.get(e)||0)-1;I.set(e,t),t||e.removeAttribute(P)}),(W-=1)||(T.inert=new WeakMap,T["aria-hidden"]=new WeakMap,q.inert=new WeakSet,q["aria-hidden"]=new WeakSet,I=new WeakMap)}}(e,i,n,r,{mark:o,markerIgnoreElements:l})}var Y=n(4963),F=n(51221),N=n(48596),K=n(6239),z=n(55539);let V=[];function B(){V=V.filter(e=>{var t;return null==(t=e.deref())?void 0:t.isConnected})}function L(){var e;return B(),null==(e=V[V.length-1])?void 0:e.deref()}function $(e,t){var n;if(e.hasAttribute("tabindex")&&!e.hasAttribute("data-tabindex")||!t.current.includes("floating")&&!(null==(n=e.getAttribute("role"))?void 0:n.includes("dialog")))return;let r=(0,S.nq)(e).filter(e=>{let t=e.getAttribute("data-tabindex")||"";return(0,S.AO)(e)||e.hasAttribute("data-tabindex")&&!t.startsWith("-")}),o=e.getAttribute("tabindex");t.current.includes("floating")||0===r.length?"0"!==o&&e.setAttribute("tabindex","0"):("-1"!==o||e.hasAttribute("data-tabindex")&&"-1"!==e.getAttribute("data-tabindex"))&&(e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1"))}function U(e){let{context:t,children:n,disabled:s=!1,initialFocus:d=!0,returnFocus:C=!0,restoreFocus:M=!1,modal:T=!0,closeOnFocusOut:P=!0,openInteractionType:q="",nextFocusableElement:I,previousFocusableElement:W,beforeContentFocusGuardRef:j,externalTree:X,getInsideElements:D}=e,U="rootStore"in t?t.rootStore:t,_=U.useState("open"),G=U.useState("domReferenceElement"),Z=U.useState("floatingElement"),{events:J,dataRef:Q}=U.context,ee=(0,f.K)(()=>{var e;return null==(e=Q.current.floatingContext)?void 0:e.nodeId}),et=!1===d,en=(0,b.WZ)(G)&&et,er=r.useRef(["content"]),eo=c(d),el=c(C),ei=c(q),ea=(0,F.cq)(X),eu=(0,Y.vB)(),es=r.useRef(!1),ec=r.useRef(!1),ed=r.useRef(!1),ef=r.useRef(null),ep=r.useRef(""),eh=r.useRef(""),ev=r.useRef(null),eg=r.useRef(null),em=(0,a.a)(ev,j,null==eu?void 0:eu.beforeInsideRef),ey=(0,a.a)(eg,null==eu?void 0:eu.afterInsideRef),eb=(0,p.Z)(),ex=(0,p.Z)(),eS=(0,v.N)(),ew=null!=eu,eE=(0,b.nd)(Z),eR=(0,f.K)(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:eE;return e?(0,S.Kr)(e):[]}),ek=(0,f.K)(()=>{var e;return null!=(e=null==D?void 0:D().filter(e=>null!=e))?e:[]});r.useEffect(()=>{if(s||!T)return;let e=(0,g.R)(eE);return(0,l.q)(e,"keydown",function(e){"Tab"===e.key&&(0,y.gR)(eE,(0,y.RS)((0,g.R)(eE)))&&0===eR().length&&!en&&(0,x.jo)(e)})},[s,G,eE,T,er,en,eR]),r.useEffect(()=>{if(s||!_)return;let e=(0,g.R)(eE);function t(){ed.current=!1}return(0,i.g)((0,l.q)(e,"pointerdown",function(e){let t=(0,y.EW)(e),n=ek();ed.current=!((0,y.gR)(Z,t)||(0,y.gR)(G,t)||(0,y.gR)(null==eu?void 0:eu.portalNode,t)||n.some(e=>e===t||(0,y.gR)(e,t))),eh.current=e.pointerType||"keyboard",(null==t?void 0:t.closest("[".concat(N.Kd,"]")))&&(ec.current=!0)},!0),(0,l.q)(e,"pointerup",t,!0),(0,l.q)(e,"pointercancel",t,!0),(0,l.q)(e,"keydown",function(){eh.current="keyboard"},!0))},[s,Z,G,eE,_,eu,ek]),r.useEffect(()=>{if(s||!P)return;let e=(0,g.R)(eE);function t(t){let n=t.relatedTarget,r=t.currentTarget,l=(0,y.EW)(t);queueMicrotask(()=>{let i=ee(),a=U.context.triggerElements,u=ek(),s=(null==n?void 0:n.hasAttribute((0,A.F)("focus-guard")))&&[ev.current,eg.current,null==eu?void 0:eu.beforeInsideRef.current,null==eu?void 0:eu.afterInsideRef.current,null==eu?void 0:eu.beforeOutsideRef.current,null==eu?void 0:eu.afterOutsideRef.current,(0,K.q)(W),(0,K.q)(I)].includes(n),c=!((0,y.gR)(G,n)||(0,y.gR)(Z,n)||(0,y.gR)(n,Z)||(0,y.gR)(null==eu?void 0:eu.portalNode,n)||u.some(e=>e===n||(0,y.gR)(e,n))||null!=n&&a.hasElement(n)||a.hasMatchingElement(e=>(0,y.gR)(e,n))||s||ea&&((0,w.CM)(ea.nodesRef.current,i).find(e=>{var t,r;return(0,y.gR)(null==(t=e.context)?void 0:t.elements.floating,n)||(0,y.gR)(null==(r=e.context)?void 0:r.elements.domReference,n)})||(0,w.$4)(ea.nodesRef.current,i).find(e=>{var t,r,o;return[null==(t=e.context)?void 0:t.elements.floating,(0,b.nd)(null==(r=e.context)?void 0:r.elements.floating)].includes(n)||(null==(o=e.context)?void 0:o.elements.domReference)===n})));if(r===G&&eE&&$(eE,er),M&&r!==G&&!(0,E.J9)(l)&&(0,y.RS)(e)===e.body){if((0,o.sb)(eE)&&(eE.focus(),"popup"===M))return void eS.request(()=>{eE.focus()});let e=eR(),t=ef.current,n=(t&&e.includes(t)?t:null)||e[e.length-1]||eE;(0,o.sb)(n)&&n.focus()}if(Q.current.insideReactTree){Q.current.insideReactTree=!1;return}(en||!T)&&n&&c&&!ec.current&&(en||n!==L())&&(es.current=!0,U.setOpen(!1,(0,R.d)(k.Xn,t)))})}let n=(0,o.sb)(G)?G:null;if(Z||n)return(0,i.g)(n&&(0,l.q)(n,"focusout",t),n&&(0,l.q)(n,"pointerdown",function(){ec.current=!0,ex.start(0,()=>{ec.current=!1})}),Z&&(0,l.q)(Z,"focusin",function(e){let t=(0,y.EW)(e);(0,S.AO)(t)&&(ef.current=t)}),Z&&(0,l.q)(Z,"focusout",t),Z&&eu&&(0,l.q)(Z,"focusout",function(){ed.current||(Q.current.insideReactTree=!0,eb.start(0,()=>{Q.current.insideReactTree=!1}))},!0))},[s,G,Z,eE,T,ea,eu,U,P,M,eR,en,ee,er,Q,eb,ex,eS,I,W,ek]),r.useEffect(()=>{var e,t,n;if(s||!Z||!_)return;let r=Array.from((null==eu||null==(e=eu.portalNode)?void 0:e.querySelectorAll("[".concat((0,A.F)("portal"),"]")))||[]),o=null==(n=(ea?(0,w.$4)(ea.nodesRef.current,ee()):[]).find(e=>{var t;return(0,b.WZ)((null==(t=e.context)?void 0:t.elements.domReference)||null)}))||null==(t=n.context)?void 0:t.elements.domReference,l=H([Z,...r,ev.current,eg.current,null==eu?void 0:eu.beforeOutsideRef.current,null==eu?void 0:eu.afterOutsideRef.current,...ek(),o,(0,K.q)(W),(0,K.q)(I),en?G:null].filter(e=>null!=e),{ariaHidden:T||en,mark:!1}),i=H([Z,...r].filter(e=>null!=e));return()=>{i(),l()}},[_,s,G,Z,T,er,eu,en,ea,ee,I,W,ek]),(0,u.g)(()=>{if(!_||s||!(0,o.sb)(eE))return;let e=(0,g.R)(eE),t=(0,y.RS)(e);queueMicrotask(()=>{let e,n=eo.current,r="function"==typeof n?n(ei.current||""):n;if(void 0===r||!1===r||(0,y.gR)(eE,t))return;let o=null,l=()=>(null==o&&(o=eR(eE)),o[0]||eE);O(e=(e=!0===r||null===r?l():(0,K.q)(r))||l(),{preventScroll:e===eE})})},[s,_,eE,et,eR,eo,ei]),(0,u.g)(()=>{var e;if(s||!eE)return;let t=(0,g.R)(eE);function n(e){if(e.open||(ep.current=function(e,t){let n=(0,o.zk)((0,y.EW)(e));return e instanceof n.KeyboardEvent?"keyboard":e instanceof n.FocusEvent?t||"keyboard":"pointerType"in e?e.pointerType||"keyboard":"touches"in e?"touch":e instanceof n.MouseEvent?t||(0===e.detail?"keyboard":"mouse"):""}(e.nativeEvent,eh.current)),e.reason===k.N7&&"mouseleave"===e.nativeEvent.type&&(es.current=!0),e.reason===k.Np)if(e.nested)es.current=!1;else if((0,x.YF)(e.nativeEvent)||(0,x.Pg)(e.nativeEvent))es.current=!1;else{let e=!1;(0,g.R)(eE).createElement("div").focus({get preventScroll(){return e=!0,!1}}),e?es.current=!1:es.current=!0}}return e=(0,y.RS)(t),B(),e&&"body"!==(0,o.mq)(e)&&(V.push(new WeakRef(e)),V.length>20&&(V=V.slice(-20))),J.on("openchange",n),()=>{J.off("openchange",n);let e=(0,y.RS)(t),r=ek(),l=(0,y.gR)(Z,e)||r.some(t=>t===e||(0,y.gR)(t,e))||ea&&(0,w.CM)(ea.nodesRef.current,ee(),!1).some(t=>{var n;return(0,y.gR)(null==(n=t.context)?void 0:n.elements.floating,e)}),i=el.current,a=function(){let e=el.current,t="function"==typeof e?e(ep.current):e;if(void 0===t||!1===t)return null;if(null===t&&(t=!0),"boolean"==typeof t){let e=G||L();return e&&e.isConnected?e:null}let n=G||L();return(0,K.q)(t)||n||null}();queueMicrotask(()=>{let n=a?(0,S.AO)(a)?a:(0,S.Kr)(a)[0]||a:null;i&&!es.current&&(0,o.sb)(n)&&("boolean"!=typeof i||n===e||e===t.body||l)&&n.focus({preventScroll:!0}),es.current=!1})}},[s,Z,eE,el,Q,J,ea,G,ee,ek]),(0,u.g)(()=>{if(!h.Tc||_||!Z)return;let e=(0,y.RS)((0,g.R)(Z));(0,o.sb)(e)&&(0,b.$u)(e)&&(0,y.gR)(Z,e)&&e.blur()},[_,Z]),(0,u.g)(()=>{if(!s&&eu)return eu.setFocusManagerState({modal:T,closeOnFocusOut:P,open:_,onOpenChange:U.setOpen,domReference:G}),()=>{eu.setFocusManagerState(null)}},[s,eu,T,_,U,P,G]),(0,u.g)(()=>{if(!s&&eE)return $(eE,er),()=>{queueMicrotask(B)}},[s,eE,er]);let eA=!s&&(!T||!en)&&(ew||T);return(0,z.jsxs)(r.Fragment,{children:[eA&&(0,z.jsx)(m.U,{"data-type":"inside",ref:em,onFocus:e=>{if(T){let e=eR();O(e[e.length-1])}else if(null==eu?void 0:eu.portalNode)if(es.current=!1,(0,S.Qp)(e,eu.portalNode)){let e=(0,S.vF)(G);null==e||e.focus()}else{var t;null==(t=(0,K.q)(null!=W?W:eu.beforeOutsideRef))||t.focus()}}}),n,eA&&(0,z.jsx)(m.U,{"data-type":"inside",ref:ey,onFocus:e=>{if(T)O(eR()[0]);else if(null==eu?void 0:eu.portalNode)if(P&&(es.current=!0),(0,S.Qp)(e,eu.portalNode)){let e=(0,S.XJ)(G);null==e||e.focus()}else{var t;null==(t=(0,K.q)(null!=I?I:eu.afterOutsideRef))||t.focus()}}})]})}var _=n(41977),G=n(56992),Z=n(81381),J=n(38197);let Q=function(e){return e.nestedDialogs="--nested-dialogs",e}({}),ee=function(e){return e[e.open=Z.lP.open]="open",e[e.closed=Z.lP.closed]="closed",e[e.startingStyle=Z.lP.startingStyle]="startingStyle",e[e.endingStyle=Z.lP.endingStyle]="endingStyle",e.nested="data-nested",e.nestedDialogOpen="data-nested-dialog-open",e}({});var et=n(39841),en=n(25735);let er="ArrowUp",eo="ArrowDown",el="ArrowLeft",ei="ArrowRight";[...new Set([...new Set([el,ei]),...new Set([er,eo])])];let ea=new Set([er,eo,el,ei,"Home","End"]),eu={...Z.GW,...J.G,nestedDialogOpen:e=>e?{[ee.nestedDialogOpen]:""}:null},es=r.forwardRef(function(e,t){let{className:n,finalFocus:r,initialFocus:o,render:l,style:i,...a}=e,{store:u}=(0,_.P)(),s=u.useState("descriptionElementId"),c=u.useState("disablePointerDismissal"),d=u.useState("floatingRootContext"),f=u.useState("popupProps"),p=u.useState("modal"),h=u.useState("mounted"),v=u.useState("nested"),g=u.useState("nestedOpenDialogCount"),m=u.useState("open"),y=u.useState("openMethod"),b=u.useState("titleElementId"),x=u.useState("transitionStatus"),S=u.useState("role");(0,et.p)(),(0,en.v)({open:m,ref:u.context.popupRef,onComplete(){if(m){var e,t;null==(e=(t=u.context).onOpenChangeComplete)||e.call(t,!0)}}});let w=void 0===o?function(e){return"touch"!==e||u.context.popupRef.current}:o,E=(0,G.o)("div",e,{state:{open:m,nested:v,transitionStatus:x,nestedDialogOpen:g>0},props:[f,{"aria-labelledby":null!=b?b:void 0,"aria-describedby":null!=s?s:void 0,role:S,tabIndex:-1,hidden:!h,onKeyDown(e){ea.has(e.key)&&e.stopPropagation()},style:{[Q.nestedDialogs]:g}},a],ref:[t,u.context.popupRef,u.useStateSetter("popupElement")],stateAttributesMapping:eu});return(0,z.jsx)(U,{context:d,openInteractionType:y,disabled:!h,closeOnFocusOut:!c,initialFocus:w,returnFocus:r,modal:!1!==p,restoreFocus:"popup",children:E})})},53475:(e,t,n)=>{n.d(t,{J9:()=>o});var r=n(94205);function o(e,t=e?(0,r.L9)(e):null){var n;return!!e&&!!e.isConnected&&!!t&&"hidden"!==(n=t).visibility&&"collapse"!==n.visibility&&("function"==typeof e.checkVisibility?e.checkVisibility():"none"!==t.display&&"contents"!==t.display)}},53539:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("message-square-plus",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M12 8v6",key:"1ib9pf"}],["path",{d:"M9 11h6",key:"1fldmi"}]])},55504:(e,t,n)=>{n.d(t,{E:()=>l,Z:()=>i});var r=n(74264),o=n(26741);class l{static create(){return new l}start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=0,t()},e)}isStarted(){return 0!==this.currentId}constructor(){this.currentId=0,this.clear=()=>{0!==this.currentId&&(clearTimeout(this.currentId),this.currentId=0)},this.disposeEffect=()=>this.clear}}function i(){let e=(0,r.j)(l.create).current;return(0,o.y)(e.disposeEffect),e}},56131:(e,t,n)=>{n.d(t,{AO:()=>p,Kr:()=>v,N:()=>x,Qp:()=>b,XJ:()=>y,nq:()=>h,vF:()=>m,yV:()=>S});var r=n(94205),o=n(24541),l=n(59957),i=n(53475);function a(e){for(let t of Array.from(e.children))if("summary"===(0,r.mq)(t))return t;return null}function u(e){let t=e?(0,r.mq)(e):"";return null!=e&&e.matches('a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]')&&("summary"!==t||null!=e.parentElement&&"details"===(0,r.mq)(e.parentElement)&&a(e.parentElement)===e)&&("details"!==t||null==a(e))&&("input"!==t||"hidden"!==e.type)}function s(e){if(!u(e)||!e.isConnected||e.matches(":disabled"))return!1;for(let t=e;t;t=function(e){let t=e.assignedSlot;if(t)return t;if(e.parentElement)return e.parentElement;let n=e.getRootNode();return(0,r.Ng)(n)?n.host:null}(t)){let n=t!==e,o="slot"===(0,r.mq)(t);if(t.hasAttribute("inert")||n&&"details"===(0,r.mq)(t)&&!t.open&&!function(e,t){let n=a(t);return!!n&&(e===n||(0,l.gR)(n,e))}(e,t)||t.hasAttribute("hidden")||!o&&!function(e,t){let n=(0,r.L9)(e);return t?"none"!==n.display:(0,i.J9)(e,n)}(t,n))return!1}return!0}function c(e){let t=e.tabIndex;if(t<0){let t=(0,r.mq)(e);if("details"===t||"audio"===t||"video"===t||(0,r.sb)(e)&&e.isContentEditable)return 0}return t}function d(e){return"input"!==(0,r.mq)(e)?null:"radio"===e.type&&""!==e.name?e:null}function f(e){if((0,r.sb)(e)&&"slot"===(0,r.mq)(e)){let t=e.assignedElements({flatten:!0});if(t.length>0)return t}return(0,r.sb)(e)&&e.shadowRoot?Array.from(e.shadowRoot.children):Array.from(e.children)}function p(e){return s(e)&&c(e)>=0}function h(e){let t=[];return!function e(t,n){f(t).forEach(t=>{u(t)&&n.push(t),e(t,n)})}(e,t),t.filter(s)}function v(e){let t=h(e);return t.filter(e=>c(e)>=0&&function(e,t){let n=d(e);if(!n)return!0;let r=t.find(e=>{let t=d(e);return t?.name===n.name&&t.form===n.form&&t.checked});return r?r===n:t.find(e=>{let t=d(e);return t?.name===n.name&&t.form===n.form})===n}(e,t))}function g(e,t){let n=v(e),r=n.length;if(0===r)return;let i=(0,l.RS)((0,o.R)(e)),a=n.indexOf(i);return n[-1===a?1===t?0:r-1:a+t]}function m(e){return g((0,o.R)(e).body,1)||e}function y(e){return g((0,o.R)(e).body,-1)||e}function b(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!(0,l.gR)(n,r)}function x(e){v(e).forEach(e=>{e.dataset.tabindex=e.getAttribute("tabindex")||"",e.setAttribute("tabindex","-1")})}function S(e){let t=[];!function e(t,n,o){f(t).forEach(t=>{(0,r.sb)(t)&&t.matches(n)&&o.push(t),e(t,n,o)})}(e,"[data-tabindex]",t),t.forEach(e=>{let t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute("tabindex",t):e.removeAttribute("tabindex")})}},57616:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("file-plus-corner",[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]])},60606:(e,t,n)=>{n.d(t,{X:()=>s});var r=n(46124),o=n(41977),l=n(56992),i=n(81381),a=n(38197);let u={...i.GW,...a.G},s=r.forwardRef(function(e,t){let{render:n,className:r,style:i,forceRender:a=!1,...s}=e,{store:c}=(0,o.P)(),d=c.useState("open"),f=c.useState("nested"),p=c.useState("mounted"),h=c.useState("transitionStatus");return(0,l.o)("div",e,{state:{open:d,transitionStatus:h},ref:[c.context.backdropRef,t],stateAttributesMapping:u,props:[{role:"presentation",hidden:!p,style:{userSelect:"none",WebkitUserSelect:"none"}},s],enabled:a||!f})})},63292:(e,t,n)=>{n.d(t,{$u:()=>a,F2:()=>l,WZ:()=>u,nd:()=>s,tZ:()=>i});var r=n(94205),o=n(70649);function l(e,t){return null!=t&&("composedPath"in e?e.composedPath().includes(t):null!=e.target&&t.contains(e.target))}function i(e){return e.matches("html,body")}function a(e){return(0,r.sb)(e)&&e.matches(o.BT)}function u(e){return!!e&&"combobox"===e.getAttribute("role")&&a(e)}function s(e){return e?e.hasAttribute(o.Ed)?e:e.querySelector(`[${o.Ed}]`)||e:null}},66901:(e,t,n)=>{n.d(t,{I:()=>i});var r=n(46124),o=n(20990),l=n(56992);let i=r.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{cornerRef:u,cornerSize:s,hiddenState:c}=(0,o.p)(),d=(0,l.o)("div",e,{ref:[t,u],props:[{style:{position:"absolute",bottom:0,insetInlineEnd:0,width:s.width,height:s.height}},a]});return c.corner?null:d})},69147:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},70649:(e,t,n)=>{n.d(t,{BT:()=>i,Ed:()=>r,WS:()=>l,XA:()=>o});let r="data-base-ui-focusable",o="active",l="selected",i="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])"},71791:(e,t,n)=>{e.exports=n(41863)},73746:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("git-fork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]])},76573:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},77242:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("list-tree",[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]])},77532:(e,t,n)=>{n.d(t,{r:()=>a});var r=n(46124),o=n(41977),l=n(56992),i=n(75796);let a=r.forwardRef(function(e,t){let{render:n,className:r,style:a,id:u,...s}=e,{store:c}=(0,o.P)(),d=(0,i.e)(u);return c.useSyncedValueWithCleanup("descriptionElementId",d),(0,l.o)("p",e,{ref:t,props:[{id:d},s]})})},81381:(e,t,n)=>{n.d(t,{GW:()=>s,lP:()=>o});var r=n(38197);let o=function(e){return e.open="data-open",e.closed="data-closed",e[e.startingStyle=r.T.startingStyle]="startingStyle",e[e.endingStyle=r.T.endingStyle]="endingStyle",e.anchorHidden="data-anchor-hidden",e.side="data-side",e.align="data-align",e}({}),l=function(e){return e.popupOpen="data-popup-open",e.pressed="data-pressed",e}({});l.popupOpen,l.popupOpen,l.pressed;let i={[o.open]:""},a={[o.closed]:""},u={[o.anchorHidden]:""},s={open:e=>e?i:a,anchorHidden:e=>e?u:null}},81482:(e,t,n)=>{n.d(t,{U:()=>s});var r=n(46124),o=n(7169),l=n(14879);let i={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},a={...i,position:"fixed",top:0,left:0};({...i,position:"absolute"});var u=n(55539);let s=r.forwardRef(function(e,t){let[n,i]=r.useState();return(0,o.g)(()=>{l.nr&&i("button")},[]),(0,u.jsx)("span",{...e,ref:t,style:a,"aria-hidden":!n||void 0,tabIndex:0,role:n,"data-base-ui-focus-guard":""})})},83001:(e,t,n)=>{n.d(t,{V:()=>v});var r=n(46124),o=n(4719),l=n(59957),i=n(20990),a=n(83276),u=n(56992),s=n(93395),c=n(14764),d=n(93158),f=n(85667),p=n(20747),h=n(55539);let v=r.forwardRef(function(e,t){let{render:n,className:v,orientation:g="vertical",keepMounted:m=!1,style:y,...b}=e,{hovering:x,scrollingX:S,scrollingY:w,hiddenState:E,overflowEdges:R,scrollbarYRef:k,scrollbarXRef:A,viewportRef:C,thumbYRef:M,thumbXRef:O,handlePointerDown:T,handlePointerUp:P,rootId:q,thumbSize:I,hasMeasuredScrollbar:W}=(0,i.p)(),j={hovering:x,scrolling:{horizontal:S,vertical:w}[g],orientation:g,hasOverflowX:!E.x,hasOverflowY:!E.y,overflowXStart:R.xStart,overflowXEnd:R.xEnd,overflowYStart:R.yStart,overflowYEnd:R.yEnd,cornerHidden:E.corner},X=(0,f.j)();r.useEffect(()=>{let e=C.current,t="vertical"===g?k.current:A.current;if(t)return(0,o.q)(t,"wheel",function(n){if(e&&t&&!n.ctrlKey){if(n.preventDefault(),"vertical"===g){if(0===e.scrollTop&&n.deltaY<0)return}else if(0===e.scrollLeft&&n.deltaX<0)return;if("vertical"===g){if(e.scrollTop===e.scrollHeight-e.clientHeight&&n.deltaY>0)return}else if(e.scrollLeft===e.scrollWidth-e.clientWidth&&n.deltaX>0)return;"vertical"===g?e.scrollTop+=n.deltaY:e.scrollLeft+=n.deltaX}},{passive:!1})},[g,A,k,C]);let D={...q&&{"data-id":"".concat(q,"-scrollbar")},onPointerDown(e){if(0!==e.button)return;let t=(0,l.EW)(e.nativeEvent),n="vertical"===g?M.current:O.current;if(!(n&&(0,l.gR)(n,t))&&C.current){if(M.current&&k.current&&"vertical"===g){let t=(0,s.A)(M.current,"margin","y"),n=(0,s.A)(k.current,"padding","y"),r=M.current.offsetHeight,o=k.current.getBoundingClientRect(),l=e.clientY-o.top-r/2-n+t/2,i=C.current.scrollHeight,a=C.current.clientHeight,u=k.current.offsetHeight-r-n-t;C.current.scrollTop=l/u*(i-a)}if(O.current&&A.current&&"horizontal"===g){let t,n=(0,s.A)(O.current,"margin","x"),r=(0,s.A)(A.current,"padding","x"),o=O.current.offsetWidth,l=A.current.getBoundingClientRect(),i=e.clientX-l.left-o/2-r+n/2,a=C.current.scrollWidth,u=C.current.clientWidth,c=i/(A.current.offsetWidth-o-r-n);"rtl"===X?(t=(1-c)*(a-u),C.current.scrollLeft<=0&&(t=-t)):t=c*(a-u),C.current.scrollLeft=t}T(e)}},onPointerUp:P,style:{position:"absolute",touchAction:"none",WebkitUserSelect:"none",userSelect:"none",visibility:W||m?void 0:"hidden",..."vertical"===g&&{top:0,bottom:"var(".concat(c.I.scrollAreaCornerHeight,")"),insetInlineEnd:0,[d.q.scrollAreaThumbHeight]:"".concat(I.height,"px")},..."horizontal"===g&&{insetInlineStart:0,insetInlineEnd:"var(".concat(c.I.scrollAreaCornerWidth,")"),bottom:0,[d.q.scrollAreaThumbWidth]:"".concat(I.width,"px")}}},H=(0,u.o)("div",e,{ref:[t,"vertical"===g?k:A],state:j,props:[D,b],stateAttributesMapping:p.r}),Y=r.useMemo(()=>({orientation:g}),[g]),F="vertical"===g?E.y:E.x;return m||!F?(0,h.jsx)(a.G.Provider,{value:Y,children:H}):null})},83276:(e,t,n)=>{n.d(t,{G:()=>l,r:()=>i});var r=n(20892),o=n(46124);let l=o.createContext(void 0);function i(){let e=o.useContext(l);if(void 0===e)throw Error((0,r.A)(54));return e}},85535:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]])},85667:(e,t,n)=>{n.d(t,{j:()=>l});var r=n(46124);let o=r.createContext(void 0);function l(){var e;let t=r.useContext(o);return null!=(e=null==t?void 0:t.direction)?e:"ltr"}},87433:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},88069:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},92988:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},93158:(e,t,n)=>{n.d(t,{q:()=>r});let r=function(e){return e.scrollAreaThumbHeight="--scroll-area-thumb-height",e.scrollAreaThumbWidth="--scroll-area-thumb-width",e}({})},93395:(e,t,n)=>{n.d(t,{A:()=>r});function r(e,t,n){if(!e)return 0;let r=getComputedStyle(e),o="x"===n?"Inline":"Block";return"x"===n&&"margin"===t?2*parseFloat(r[`${t}InlineStart`]):parseFloat(r[`${t}${o}Start`])+parseFloat(r[`${t}${o}End`])}},94226:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]])},96395:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3704).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5977],{48087:(e,l,o)=>{o.d(l,{Hw:()=>x,vm:()=>L,f4:()=>j,OE:()=>E,Ue:()=>P,Ye:()=>R});var t=o(91123),a=o(40828),i=o(22403),n=o(17873),r=o(74227),s=o(94476),p=o(65962),b=o(20931),c=o(35308),d=o(91925),u=o(36744),h=o(46044),w=o(73855),f=o(24982),g=o(32030),k=o(13080),v=o(33932),m=o(53987),y=o(26879),A=o(76340),O=o(5500),C=o(31826),T=o(92161);let x=[{id:"today",label:"오늘",icon:t.A,bottomTab:!0},{id:"talk",label:"대화",icon:a.A,bottomTab:!0},{id:"work",label:"일",icon:i.A,bottomTab:!0},{id:"make",label:"만들기",icon:n.A,bottomTab:!0},{id:"files",label:"자료",icon:r.A,bottomTab:!1},{id:"settings",label:"설정",icon:s.A,bottomTab:!1},{id:"ops",label:"운영\uD83D\uDD12",icon:p.A,bottomTab:!1}];function R(e,l){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"owner",t=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4?arguments[4]:void 0,i=e=>{var l;return null!=(l=e.visibility)?l:"public"},n=e.filter(e=>"ops"===e.group?t:(0,T.EX)(o,e.href,a));return{main:n.filter(e=>"ops"===e.group||"public"===i(e)),labs:l.showLabs?n.filter(e=>"ops"!==e.group&&"labs"===i(e)):[],hidden:l.showHidden?n.filter(e=>"ops"!==e.group&&"hidden"===i(e)):[]}}let j="elanous.nav.showLabs",L="elanous.nav.showHidden",E=[{href:"/share",category:"system-share-target",reason:"운영체제가 공유 동작으로 호출하는 Share Target 진입점."},{href:"/missions",category:"dynamic-route-parent",reason:"`[id]`를 받는 동적 주소이며 부모 경로 자체는 없다."},{href:"/setup",category:"provider-onboarding",reason:"LLM provider 온보딩 진입점."},{href:"/setup/done",category:"provider-onboarding-complete",reason:"LLM provider 온보딩 완료 화면."},{href:"/settings/devices",category:"settings-subpage",reason:"Settings 아래 Device fleet 하위 화면."},{href:"/workflows",category:"workflow-legacy-redirect",reason:"기존 워크플로 링크를 /editor?mode=workflow 로 전달한다."},{href:"/workflows/chat-ui",category:"workflow-subflow",reason:"Workflows에서 여는 hosted chat 하위 흐름."},{href:"/",category:"root-welcome",reason:"첫 방문자를 위한 루트 welcome 화면."},{href:"/404",category:"error-page",reason:"오류 페이지."},{href:"/consult",category:"contact-form",reason:"AX 도입 상담\xb7과정 문의를 접수하는 입력 화면(CS1 \xb7 #22436)."},{href:"/morning",category:"unwired-screen",reason:"부르는 백엔드가 아직 없는 미배선 화면."},{href:"/inside",category:"beta-direct-link",reason:"시연자가 주소로 여는 엘라누스 안쪽 장면 지도(메뉴에는 노출하지 않음)."},{href:"/botlab",category:"diagnostic-readonly",reason:"봇 화면 \xab벽\xbb을 한 자리에서 보는 읽기 진단 화면(#15390 \xb7 봇 운영자용)."}],P=[{group:"today",href:"/today",label:"오늘",hint:"결정 대기 \xb7 맡긴 일 \xb7 최근 대화",icon:t.A,kind:null},{group:"today",href:"/approvals",label:"승인 대기",hint:"아이디어 PR 요약 \xb7 승인하고 머지",icon:b.A,kind:null},{group:"today",href:"/intake",label:"넣기",hint:"넣으면 흡수 \xb7 작업 \xb7 그래프로 (URL \xb7 미션 \xb7 메모)",icon:t.A,kind:null},{group:"talk",href:"/chat",label:"채팅",hint:"채팅 (스트리밍 \xb7 multimodal \xb7 mic)",icon:a.A,kind:"chat"},{group:"talk",href:"/exec",label:"COO 에게 맡기기",hint:"COO 에게 맡기기 \xb7 맡긴 일",icon:c.A,kind:null},{group:"work",href:"/autopilot",label:"미션",hint:"미션 \xb7 작업 (미션 계보\xb7골 던지기\xb7작업 보드\xb7자율행동)",icon:i.A,kind:null,activeAlso:["/tasks","/missions"]},{group:"work",href:"/outputs",label:"산출물",hint:"엘라누스가 만든 문서 \xb7 슬라이드 \xb7 보고서 \xb7 영상",icon:d.A,kind:null},{group:"work",href:"/scheduler",label:"예약",hint:"예약 잡 종합 현황 (크론\xb7데몬\xb7launchd)",icon:u.A,kind:null},{group:"work",href:"/live",label:"Live",hint:"런이 판단\xb7기획하는 신호 (진짜 수 \xb7 쇼 모드)",icon:h.A,kind:null},{group:"work",href:"/trace",label:"Trace",hint:"렌즈를 좁혀 런을 따라간다 (플릿 → 런 → 판단)",icon:w.A,kind:null},{group:"make",href:"/term",label:"터미널",hint:"터미널 + agent dock",icon:n.A,kind:"term"},{group:"make",href:"/editor",label:"편집기",hint:"워크플로 \xb7 실행 그래프 작성\xb7편집",icon:f.A,kind:null,visibility:"labs",activeAlso:["/workflows"]},{group:"make",href:"/design-check",label:"디자인",hint:"디자인 시스템 고르기 \xb7 시안 \xb7 URL 로 내 시스템",icon:g.A,kind:null},{group:"make",href:"/workspace",label:"여러 탭",hint:"여러 탭 동시 보기",icon:d.A,kind:null,visibility:"labs"},{group:"files",href:"/vault",label:"Obsidian 노트",hint:"Vault — Obsidian 노트 (브라우저\xb7에디터\xb7검색\xb7그래프)",icon:r.A,kind:null},{group:"files",href:"/field",label:"현장 올리기",hint:"현장 올리기 \xb7 사진과 메모",icon:t.A,kind:null},{group:"files",href:"/market",label:"마켓",hint:"플러그인 찾아보기 \xb7 상세 \xb7 설치됨",icon:k.A,kind:null},{group:"settings",href:"/settings",label:"설정",hint:"환경 + provider + theme",icon:s.A,kind:"settings"},{group:"ops",href:"/ceo",label:"대표 조망판",hint:"판 진행 \xb7 루프 판정 \xb7 결정 대기 \xb7 오늘 병합",icon:v.A,kind:null},{group:"ops",href:"/loops",label:"루프 현황",hint:"루프\xb7크론 발화 상태 (읽기 전용 \xb7 beta)",icon:h.A,kind:null},{group:"ops",href:"/ops/release",label:"릴리스",hint:"판 진행 노드 줄 \xb7 로그 꼬리",icon:f.A,kind:null},{group:"ops",href:"/ops/checklist",label:"판별 피처",hint:"확인표 칸 목록 \xb7 상태 \xb7 담당 \xb7 근거",icon:b.A,kind:null},{group:"ops",href:"/ops/seats",label:"자리 현황",hint:"자리별 지금 일 \xb7 착지 \xb7 막힘 \xb7 결정 대기(?capture=public 공개 시연)",icon:m.A,kind:null},{group:"ops",href:"/bots",label:"봇",hint:"봇 신원 + 공통 명령 카탈로그 (읽기 전용)",icon:c.A,kind:null,visibility:"hidden"},{group:"ops",href:"/observatory",label:"관측",hint:"subject 관측 (talk \xb7 screen \xb7 agent)",icon:y.A,kind:null,visibility:"hidden"},{group:"ops",href:"/worktrees",label:"작업 트리",hint:"격리 작업 트리 목록\xb7상태",icon:f.A,kind:null,visibility:"hidden"},{group:"ops",href:"/control",label:"제어",hint:"데몬 제어 패널",icon:p.A,kind:"control",visibility:"hidden"},{group:"work",href:"/tasks",label:"Tasks",hint:"작업 보드 (Missions 안 ② 작업)",icon:A.A,kind:"tasks",visibility:"hidden"},{group:"work",href:"/board",label:"보드",hint:"태스크 카드 흐름 (스튜어드 → 실행 → 착지 → 릴리스)",icon:A.A,kind:null,visibility:"labs"},{group:"work",href:"/sessions",label:"대화 카드",hint:"대화 카드 데크 (스와이프 결정)",icon:O.A,kind:null,visibility:"hidden"},{group:"today",href:"/reflection",label:"Reflection",hint:"오늘의 회고 (5분 갱신)",icon:C.A,kind:null,visibility:"hidden"},...[].map(e=>({...e,group:"files"})),{group:"make",href:"/showroom",label:"Showroom",hint:"multi-agent 동시 비교 (broadcast \xb7 CV-3)",icon:v.A,kind:null,visibility:"labs"}]},65354:(e,l,o)=>{o.d(l,{AF:()=>t});let t={all:["nexus"],health:()=>[...t.all,"health"],snapshot:()=>[...t.all,"snapshot"],tabs:e=>e?[...t.all,"tabs",{kind:e}]:[...t.all,"tabs"],tab:e=>[...t.all,"tab",e],templates:()=>[...t.all,"templates"],template:e=>[...t.all,"template",e],config:()=>[...t.all,"config"],switches:()=>[...t.all,"switches"],switch:e=>[...t.all,"switch",e],secrets:()=>[...t.all,"secrets"],bindingChannels:()=>[...t.all,"bindings","channels"],bindings:e=>[...t.all,"bindings",e],binding:(e,l)=>[...t.all,"binding",e,l],logsTail:(e,l)=>l?[...t.all,"logs",e,{lines:l}]:[...t.all,"logs",e],workflows:()=>[...t.all,"workflows"],workflow:e=>[...t.all,"workflow",e],workflowRun:e=>[...t.all,"workflow-run",e],workflowRuns:()=>[...t.all,"workflow-runs"],pendingApprovals:()=>[...t.all,"workflow-pending-approvals"],platforms:()=>[...t.all,"platforms"],providers:()=>[...t.all,"providers"],worktrees:()=>[...t.all,"worktrees"],designCheck:()=>[...t.all,"design-check"],designPreviews:()=>[...t.all,"design-previews"],designPreview:e=>[...t.all,"design-preview",e],registryCatalog:()=>[...t.all,"registry-catalog"],resolvedView:()=>[...t.all,"resolved-view"]};t.snapshot(),t.tabs(),t.health(),t.snapshot(),t.config(),t.switches()},92161:(e,l,o)=>{o.d(l,{dY:()=>n,EX:()=>r});let t={pwaRoute:{"/":{pwa:"stable"},"/404":{pwa:"stable"},"/setup":{pwa:"stable"},"/setup/done":{pwa:"stable"},"/consult":{pwa:"stable"},"/chat":{pwa:"stable"},"/today":{pwa:"stable"},"/term":{pwa:"stable"},"/live":{pwa:"stable"},"/market":{pwa:"stable"},"/sessions":{pwa:"stable"},"/settings":{pwa:"beta"},"/editor":{pwa:"beta"},"/intake":{pwa:"beta"},"/trace":{pwa:"beta"},"/inside":{pwa:"beta"},"/board":{pwa:"beta"},"/autopilot":{pwa:"beta"},"/missions/[id]":{pwa:"beta"},"/tasks":{pwa:"beta"},"/workspace":{pwa:"beta"},"/reflection":{pwa:"beta"},"/vault":{pwa:"beta"},"/observatory":{pwa:"beta"},"/exec":{pwa:"beta"},"/outputs":{pwa:"beta"},"/field":{pwa:"beta"},"/showroom":{pwa:"beta"},"/workflows":{pwa:"beta"},"/approvals":{pwa:"tool"},"/worktrees":{pwa:"tool"},"/design-check":{pwa:"tool"},"/control":{pwa:"tool"},"/scheduler":{pwa:"ops"},"/loops":{pwa:"beta"},"/ops/release":{pwa:"ops"},"/ops/seats":{pwa:"ops"},"/ops/checklist":{pwa:"ops"},"/ceo":{pwa:"ops"},"/dashboard":{pwa:"ops"},"/bots":{pwa:"ops"},"/botlab":{pwa:"ops"},"/morning":{pwa:"broken"},"/settings/devices":{pwa:"broken"},"/workflows/chat-ui":{pwa:"broken"},"/share":{pwa:"system"}}},a=Object.fromEntries(Object.entries(t.pwaRoute).map(e=>{let[l,o]=e;return[l,o.pwa]}));function i(e){var l;let o=(null==(l=e.split(/[?#]/,1)[0])?void 0:l.replace(/\/+$/,""))||"/";return Object.prototype.hasOwnProperty.call(a,o)?o:o.startsWith("/missions/")&&-1===o.slice(10).indexOf("/")?"/missions/[id]":o}function n(e){let l=i(e);return Object.prototype.hasOwnProperty.call(a,l)?a[l]:void 0}function r(e,l,o){let a=i(l);if("general"===e&&(null==o?void 0:o.showBeta)&&"beta"===n(a))return!0;let r=function(e,l){var o;if(!Object.prototype.hasOwnProperty.call(t.pwaRoute,e))return;let a=t.pwaRoute[e];return null!=(o=a.pwa)?o:"desktop"===l?a.pwa:void 0}(a,"pwa");return!!r&&("owner"===e||"system"!==r&&("/settings"===a||"stable"===r||"contributor"===e&&("beta"===r||"tool"===r)))}},94306:(e,l,o)=>{o.d(l,{M1:()=>p,Qj:()=>b,tI:()=>s});var t=o(55539),a=o(46124),i=o(76642),n=o(50363);let r=(0,a.createContext)(null);function s(e){let{client:l,queryClient:o,defaultStaleTimeMs:s,children:p}=e,b=(0,a.useMemo)(()=>null!=o?o:new i.E({defaultOptions:{queries:{staleTime:null!=s?s:2e3,refetchOnWindowFocus:!1}}}),[o,s]);return(0,t.jsx)(r.Provider,{value:l,children:(0,t.jsx)(n.Ht,{client:b,children:p})})}function p(){let e=(0,a.useContext)(r);if(!e)throw Error("useNexusClient must be used within <NexusProvider>");return e}function b(){return(0,a.useContext)(r)}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6877],{7456:(e,t,r)=>{r.d(t,{Er:()=>a,cj:()=>c,dc:()=>s,yR:()=>o});let n=/^(oauth\.|harness\.decision|llm\.router)/;function a(e){let t=[],r=e=>{"string"==typeof e&&e.trim()&&!t.includes(e.trim())&&t.push(e.trim())};for(let t of e){var a;let e=null!=(a=t.data)?a:{};if(t.category.startsWith("oauth.")){for(let t of["from","to","name","account"])r(e[t]);if(Array.isArray(e.usage))for(let t of e.usage)r(null==t?void 0:t.name);continue}if(n.test(t.category))for(let t of(r(e.account),["what","why","reason"])){let n=e[t];if("string"==typeof n)for(let e of n.matchAll(/계정\s+([A-Za-z0-9][\w.-]*)/g))r(e[1])}}return t}function l(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s(e){let t=new Map(e.map((e,t)=>[e,"account-".concat(t+1)])),r=e.length?RegExp("(^|[^\\w-])(".concat(e.map(l).sort((e,t)=>t.length-e.length).join("|"),")(?![\\w-])"),"g"):null,n=new Map;return(e,a)=>{let l=e.replace(/\b[a-z0-9-]+\.tail[0-9a-f]+\.ts\.net\b/gi,"tailnet-host").replace(/\bmsb\d+\b/gi,e=>(e=>{let t=e.toLowerCase();n.has(t)||n.set(t,"remote-".concat(n.size+1));let r=n.get(t);return e===e.toUpperCase()?r.toUpperCase():r})(e)).replace(/\bmbp\b/gi,e=>e===e.toUpperCase()?"LOCAL":"local").replace(/\/Users\/[^/\s"']+/g,"~").replace(/(크레딧|credits?|💳)(\s*[:=]?\s*)[\d][\d,.]*/gi,"$1$2•••").replace(/[\d][\d,.]*(\s*)(크레딧|credits?)/gi,"•••$1$2").replace(/\$\s?[\d][\d,.]*/g,"$•••").replace(/(잔량?|remaining|left)(\s*[:=]?\s*)(?:[A-Za-z0-9][\w.-]*\s+)?\d+(?:\.\d+)?\s?%/gi,"$1$2•••");return a&&r&&(l=l.replace(r,(e,r,n)=>{var a;return"".concat(r).concat(null!=(a=t.get(n))?a:"account")})),l}}function i(e,t){if("string"==typeof e)return t(e);if(Array.isArray(e))return e.map(e=>i(e,t));if(e&&"object"==typeof e){let r={};for(let[n,a]of Object.entries(e))"apiEquivalentUsd"===n||"usd"===n||/credit(s|Balance)?$/i.test(n)||(r[n]=i(a,t));return r}return e}function o(e){let t=s(a(e));return e.map(e=>{let r=n.test(e.category);return{...e,event:t(e.event,!1),data:e.data?i(e.data,e=>t(e,r)):e.data}})}function c(e,t){let r=s(t);return i(e,e=>r(e,!0))}},33981:(e,t,r)=>{r.d(t,{JW:()=>s,Ok:()=>o,WP:()=>u,WU:()=>d,ox:()=>i});var n=r(72215);let a=new Map,l=new Set;function s(e,t){let r={view:t};return a.set(e,r),l.forEach(e=>e()),()=>{a.get(e)===r&&(a.delete(e),l.forEach(e=>e()))}}function i(e){var t,r;return null!=(r=null==(t=a.get(e))?void 0:t.view)?r:null}function o(e){return l.add(e),()=>{l.delete(e)}}let c=new Map;function d(e,t){let r={sender:t};return c.set(e,r),()=>{c.get(e)===r&&c.delete(e)}}function u(e,t){let r=c.get(e);return r?(r.sender(t),!0):((0,n.cY)("webterm.input.no-sender",{terminalId:e,bytes:new TextEncoder().encode(t).length}),!1)}},39693:(e,t,r)=>{r.d(t,{BX:()=>l,Yf:()=>o,dI:()=>a,fb:()=>i,kI:()=>s});var n=r(72956);function a(e){return"alternate"===e.bufferType?{kind:"send",data:"\x02["+(0,n.bu)("pageup")}:{kind:"scroll-pages",pages:-1}}function l(e){return 0===e.lines?{kind:"none"}:"alternate"===e.bufferType?{kind:"wheel",steps:e.lines}:{kind:"scrollback",lines:e.lines}}function s(e){if(!(e.cellHeight>0))return 0;let t=-Math.trunc((e.currentY-e.startY)/e.cellHeight)-e.sentSteps;return 0===t?0:t}function i(e,t,r,n){for(let a=0;a<Math.abs(t);a++)e.dispatchEvent(new WheelEvent("wheel",{deltaY:100*Math.sign(t),deltaMode:0,clientX:r,clientY:n,bubbles:!0,cancelable:!0}))}function o(e){if(!(e.cellHeight>0))return 0;let t=-Math.trunc((e.currentY-e.startY)/e.cellHeight)-(e.currentViewportY-e.startViewportY);return 0===t?0:t}},41375:(e,t,r)=>{r.d(t,{L:()=>n});function n(e){let t=e.split("\n"),r=t[0];if(!r)return null;let n=/^\[elanous\/term\/([a-zA-Z]+)\] (.+)$/.exec(r);if(!n)return null;let a=n[1];if("terminalOutput"!==a&&"terminalExit"!==a&&"terminalInputActivity"!==a&&"terminalFrame"!==a)return null;let l=[];for(let e=1;e<t.length;e++){let r=t[e];if(/^<<elanous-term-end /.test(r))break;l.push(r)}try{let e=JSON.parse(l.join("\n"));if("string"!=typeof e.terminalId)return null;if("terminalOutput"===a){if("string"!=typeof e.data)return null;return{method:a,payload:{terminalId:e.terminalId,data:e.data}}}if("terminalExit"===a){if("number"!=typeof e.code)return null;return{method:a,payload:{terminalId:e.terminalId,code:e.code}}}if("terminalFrame"===a){if("string"!=typeof e.frame||"string"!=typeof e.instance||"number"!=typeof e.at||!Number.isFinite(e.at))return null;return{method:a,payload:{terminalId:e.terminalId,frame:e.frame,instance:e.instance,at:e.at}}}if("string"!=typeof e.peerId||"number"!=typeof e.timestamp||"number"!=typeof e.bytes)return null;return{method:a,payload:{terminalId:e.terminalId,peerId:e.peerId,timestamp:e.timestamp,bytes:e.bytes}}}catch(e){return null}}},46877:(e,t,r)=>{r.d(t,{zV:()=>ez});var n=r(55539),a=r(46124),l=r(67327),s=r(31208);let i=(0,s.default)(()=>Promise.all([r.e(215),r.e(6177),r.e(6110),r.e(6158)]).then(r.bind(r,46158)).then(e=>e.XtermView),{loadableGenerated:{webpack:()=>[46158]},ssr:!1,loading:e=>{let{error:t,retry:r}=e;return(0,n.jsx)("div",{className:"flex h-full min-h-0 w-full items-center justify-center bg-[#0d0c08] text-sm text-[#e9e3d4]",role:t?"alert":"status",children:t?(0,n.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,n.jsx)("span",{children:"터미널을 불러오지 못했습니다."}),(0,n.jsx)("button",{type:"button",className:"rounded border border-[#e9e3d4]/50 px-3 py-1 hover:bg-white/10",onClick:r,children:"다시 시도"})]}):"터미널 연결 중…"})}});function o(e){return(0,n.jsx)(i,{...e})}let c=(0,s.default)(()=>Promise.all([r.e(215),r.e(6177),r.e(6110),r.e(9070)]).then(r.bind(r,29070)).then(e=>e.PtyLiveView),{loadableGenerated:{webpack:()=>[29070]},ssr:!1,loading:e=>{let{error:t,retry:r}=e;return(0,n.jsx)("div",{className:"flex h-full min-h-0 w-full items-center justify-center bg-[#0d0c08] text-sm text-[#e9e3d4]",role:t?"alert":"status",children:t?(0,n.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,n.jsx)("span",{children:"터미널을 불러오지 못했습니다."}),(0,n.jsx)("button",{type:"button",className:"rounded border border-[#e9e3d4]/50 px-3 py-1 hover:bg-white/10",onClick:r,children:"다시 시도"})]}):"터미널 연결 중…"})}});function d(e){return(0,n.jsx)(c,{...e})}var u=r(7456);let m=e=>"string"==typeof e&&e.trim()?e:null,p={codex:"codex",claude:"claude",gemini:"gemini",grok:"grok",self:"elanous",mission:"elanous 미션",shell:"셸",pty:"PTY"},h={PLAN:"text-sky-400",ROUTE:"text-violet-400",VERIFY:"text-amber-400",HEAL:"text-emerald-400",ESCALATE:"text-rose-400",SHIP:"text-green-400"};function b(e){let{rows:t,client:r,initial:l,onClose:s,stage:i=!1}=e,[o,c]=(0,a.useState)(l);(0,a.useEffect)(()=>{0===o.length&&t.length&&c(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,r=e.filter(e=>e.alive),n=r.filter(e=>e.kind&&["codex","claude","self","mission","gemini","grok"].includes(e.kind)),a=r.filter(e=>!n.includes(e));return[...n,...a].slice(0,t).map(e=>e.id)}(t))},[t,o.length]),(0,a.useEffect)(()=>{let e=new URLSearchParams(window.location.search);o.length?e.set("wall",o.join(",")):e.delete("wall"),window.history.replaceState(null,"","".concat(window.location.pathname,"?").concat(e.toString()))},[o]);let[b,f]=(0,a.useState)([]);(0,a.useEffect)(()=>{let e=!0,t=async()=>{try{var t;let n=await r.fetchJson("/v1/logs?category=harness.decision&store=@active&since=6h&limit=300");e&&f(null!=(t=n.logs)?t:[])}catch(e){}};t();let n=window.setInterval(()=>{document.hidden||t()},5e3);return()=>{e=!1,window.clearInterval(n)}},[r]);let[x,g]=(0,a.useState)(!1);(0,a.useEffect)(()=>{"public"===new URLSearchParams(window.location.search).get("capture")&&g(!0)},[]);let v=(0,a.useMemo)(()=>x?(0,u.yR)(b.map(e=>{var t;return{ts:e.ts,category:"harness.decision",event:"decision",data:null!=(t=e.data)?t:null}})):b,[b,x]),w=(0,a.useMemo)(()=>o.map(e=>t.find(t=>t.id===e)).filter(e=>!!e),[o,t]),y=e=>c(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e].slice(-3));return(0,n.jsxs)("section",{className:"flex h-full min-h-0 flex-col bg-[#0b0a07]","aria-label":"터미널 나란히","data-pty-wall":!0,children:[(0,n.jsxs)("header",{className:"flex flex-wrap items-center gap-2 border-b border-zinc-700 px-3 py-2 text-xs text-zinc-200",children:[(0,n.jsxs)("span",{className:"font-medium",children:["나란히 \xb7 ",w.length,"/3"]}),t.filter(e=>e.alive).slice(0,14).map(e=>{var t,r,a;return(0,n.jsxs)("button",{type:"button",onClick:()=>y(e.id),"aria-pressed":o.includes(e.id),className:"rounded-full border px-2 py-0.5 font-mono ".concat(o.includes(e.id)?"border-emerald-500 bg-emerald-900/40 text-emerald-200":"border-zinc-700 text-zinc-400 hover:bg-zinc-800"),"data-pty-wall-chip":e.id,children:[null!=(r=e.kind)?r:"pty"," \xb7 ",e.nickname||e.id]},"".concat(null!=(a=null==(t=e.sourceRoot)?void 0:t.dbPath)?a:"",":").concat(e.id))}),(0,n.jsx)("button",{type:"button",onClick:s,className:"ml-auto rounded px-2 py-1 text-zinc-400 hover:bg-zinc-800","aria-label":"나란히 닫기",children:"닫기"})]}),0===w.length?(0,n.jsx)("p",{className:"p-6 text-sm text-zinc-400",children:"위에서 PTY 를 1~3개 고르세요 — 살아 있는 에이전트 PTY 가 없으면 비어 있습니다."}):(0,n.jsx)("div",{className:"grid min-h-0 flex-1 gap-1 p-1 ".concat(1===w.length?"grid-cols-1":2===w.length?"grid-cols-2":"grid-cols-3"),children:w.map(e=>{var t,a;let l=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3;return t.filter(t=>{var r;let n=null!=(r=t.data)?r:{};return!!e.runId&&n.runId===e.runId||n.target===e.id||n.shard===e.id}).sort((e,t)=>e.ts<t.ts?1:-1).slice(0,r).map(e=>{var t,r,n,a,l;let s=null!=(t=e.data)?t:{};return{ts:e.ts,kind:(null!=(r=m(s.kind))?r:"PLAN").toUpperCase(),what:null!=(n=m(s.what))?n:"(판단)",why:null!=(l=null!=(a=m(s.reason))?a:m(s.why))?l:m(s.purpose),target:m(s.target)}})}(e,v,2);return(0,n.jsxs)("div",{className:"flex min-h-0 flex-col overflow-hidden rounded border border-zinc-800","data-pty-wall-pane":e.id,children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 bg-zinc-900 px-2 py-1 text-[11px]",children:[(0,n.jsx)("span",{className:"rounded bg-violet-900/50 px-1.5 py-0.5 text-violet-200","data-pty-agent":!0,children:function(e){let t=e.externalToolName&&p[e.externalToolName]||e.kind&&p[e.kind]||e.externalToolName||e.kind||"PTY";return"에이전트: ".concat(t).concat(e.runId?" \xb7 런 ".concat(e.runId.replace(/^run-/,"").slice(0,8)):"")}(e)}),(0,n.jsx)("span",{className:"truncate font-mono text-zinc-500",children:e.id})]}),(0,n.jsx)("div",{className:"min-h-[38px] border-b border-zinc-800 bg-zinc-950/80 px-2 py-1 ".concat(i?"text-sm":"text-[11px]"),"aria-label":"의도 띠","data-pty-intent":!0,children:0===l.length?(0,n.jsx)("span",{className:"text-zinc-500",children:"이 PTY 를 모는 판단 신호 없음(사람이 모는 PTY 거나 MAX 계측 꺼짐)"}):l.map(e=>{var t;return(0,n.jsxs)("div",{className:"truncate",children:[(0,n.jsx)("span",{className:"font-mono ".concat(null!=(t=h[e.kind])?t:"text-zinc-300"),children:e.kind})," ",(0,n.jsx)("span",{className:"text-zinc-100",children:e.what}),e.why&&(0,n.jsxs)("span",{className:"text-zinc-400",children:[" \xb7 왜: ",e.why]}),e.target&&(0,n.jsxs)("span",{className:"text-zinc-500",children:[" → ",e.target]})]},"".concat(e.ts,"-").concat(e.what))})}),(0,n.jsx)("div",{className:"min-h-0 flex-1",children:(0,n.jsx)(d,{terminal:e,client:r,onClose:()=>y(e.id)})})]},"".concat(null!=(a=null==(t=e.sourceRoot)?void 0:t.dbPath)?a:"",":").concat(e.id))})})]})}var f=r(37456);let x={connected:{label:"연결됨",color:"bg-emerald-500"},connecting:{label:"연결 중",color:"bg-amber-500"},disconnected:{label:"끊김",color:"bg-rose-500"}};function g(e){let{activeId:t,tabs:r,status:l,onSwitch:s,onAdd:i,actions:o,children:c}=e,[d,u]=(0,a.useState)(!1),[m,p]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{if(!m&&!d)return;let e=e=>{"Escape"===e.key&&(u(!1),p(!1))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[d,m]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"relative flex h-10 max-h-10 shrink-0 items-center justify-between border-b border-zinc-800 bg-background px-2","aria-label":"간결한 터미널 상단바",children:[(0,n.jsxs)("div",{className:"relative min-w-0 max-w-[calc(50%_-_12px)] flex-1",children:[(0,n.jsxs)("button",{type:"button",className:"max-w-full truncate rounded px-2 py-1 text-left text-xs","aria-label":"터미널 고르기","aria-expanded":d,onClick:()=>{p(!1),u(e=>!e)},children:[null!=t?t:"터미널 준비 중"," ▾"]}),d&&(0,n.jsxs)("div",{className:"absolute left-0 top-full z-40 max-h-[60vh] min-w-48 overflow-auto rounded border border-zinc-700 bg-background p-1 shadow-xl",role:"menu","aria-label":"열린 터미널",children:[r.map(e=>(0,n.jsx)("button",{type:"button",role:"menuitem",className:"block w-full truncate rounded px-2 py-2 text-left text-sm hover:bg-accent","aria-current":e===t?"true":void 0,onClick:()=>{s(e),u(!1)},children:e},e)),(0,n.jsx)("button",{type:"button",role:"menuitem",className:"block w-full rounded px-2 py-2 text-left text-sm hover:bg-accent",onClick:()=>{i(),u(!1)},children:"+ 새 터미널"})]})]}),(0,n.jsx)("span",{className:"absolute left-1/2 h-2 w-2 -translate-x-1/2 rounded-full ".concat(x[l].color),title:x[l].label,"aria-label":x[l].label,role:"status"}),(0,n.jsx)("button",{type:"button",className:"shrink-0 rounded px-2 py-1 text-lg leading-none","aria-label":"터미널 더보기","aria-expanded":m,onClick:()=>{u(!1),p(e=>!e)},children:"⋯"})]}),m&&(0,n.jsx)("button",{type:"button",className:"fixed inset-0 z-40 bg-black/50","aria-label":"터미널 메뉴 닫기",onClick:()=>p(!1)}),(0,n.jsxs)("section",{className:m?"fixed inset-x-0 bottom-0 z-50 max-h-[75dvh] overflow-y-auto rounded-t-xl border-t border-zinc-700 bg-background p-4 shadow-2xl":"hidden","aria-label":"터미널 더보기 시트","aria-hidden":!m,children:[(0,n.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-sm font-medium",children:"터미널 동작"}),(0,n.jsx)("button",{type:"button",onClick:()=>p(!1),"aria-label":"터미널 메뉴 닫기",children:"닫기"})]}),(0,n.jsx)("div",{className:"flex flex-wrap gap-2 border-b border-zinc-800 pb-3",children:c}),(0,n.jsx)("div",{className:"pt-3",children:o})]})]})}var v=r(71923),w=r(15151),y=r(72215),k=r(41375);let j=/\x1b(?:\][^\x07\x1b]*(?:\x07|\x1b\\)|\[[0-?]*[ -/]*[@-~]|[@-Z\\-_])/g,N=new Map;function S(e){let{sessionId:t}=e,{client:r,setSessionId:l}=(0,w.Q)(),[s,i]=(0,a.useState)(N),[o,c]=(0,a.useState)(null);(0,a.useEffect)(()=>{let e=r.connectAcp({...t?{sessionId:t}:{},onSession:e=>{e&&e!==t&&l(e)}});(0,y.cY)("tui-mirror.attach",{sessionId:t});let n=e.on("sessionUpdate",e=>{var t,r;let n=(null!=(r=e.params)?r:{}).update;if(!n||"agent_thought_chunk"!==n.sessionUpdate)return;let a=(null==(t=n.content)?void 0:t.type)==="text"?n.content.text:null;a&&i(e=>{let t=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now(),n=(0,k.L)(t);if(!n||"terminalFrame"!==n.method)return e;let{terminalId:a,frame:l,instance:s,at:i}=n.payload,o="".concat(s).concat("\0").concat(a),c=e.get(o);if(c&&i<c.at)return e;let d=new Map(e);return d.set(o,{key:o,surfaceId:a,frame:l,instance:s,at:i,receivedAt:r}),d}(e,a);return t!==e&&(0,y.cY)("tui-mirror.frame",{bytes:a.length}),t})}),a=setInterval(()=>{i(e=>(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:15e3,n=!1;for(let a of e.values())if(t-a.receivedAt>r){n=!0;break}if(!n)return e;let a=new Map;for(let[n,l]of e)t-l.receivedAt<=r&&a.set(n,l);return a})(e))},5e3);return()=>{clearInterval(a);try{n()}catch(e){}try{e.close()}catch(e){}}},[r,t,l]);let d=(0,a.useMemo)(()=>[...s.values()].sort((e,t)=>t.receivedAt-e.receivedAt||e.key.localeCompare(t.key)),[s]);(0,a.useEffect)(()=>{var e,t;o&&s.has(o)||c(null!=(t=null==(e=d[0])?void 0:e.key)?t:null)},[d,o,s]);let u=o?s.get(o):void 0;return(0,n.jsxs)("div",{className:"flex h-full min-h-0 flex-col bg-zinc-950 text-zinc-100",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-b border-zinc-800 px-3 py-2 text-xs text-zinc-400",children:[(0,n.jsx)("span",{className:"font-semibold text-zinc-200",children:"\uD83D\uDDA5 TUI 관측"}),(0,n.jsx)("span",{"aria-live":"polite",children:0===d.length?"자기신고 화면 대기 중…":"".concat(d.length,"개 화면 \xb7 라이브 미러")}),d.length>0&&(0,n.jsx)("select",{"aria-label":"관측할 TUI 화면 선택",className:"ml-auto rounded border border-zinc-700 bg-zinc-900 px-2 py-1 text-zinc-100",value:null!=o?o:"",onChange:e=>c(e.target.value),children:d.map(e=>(0,n.jsxs)("option",{value:e.key,children:[e.surfaceId," \xb7 ",e.instance]},e.key))})]}),(0,n.jsx)("pre",{className:"m-0 min-h-0 flex-1 overflow-auto whitespace-pre p-3 font-mono text-xs leading-snug text-zinc-100","aria-live":"polite","aria-label":"선택한 TUI 화면의 라이브 렌더 프레임",children:u?u.frame.replace(j,""):"자기신고하는 elanous 화면이 아직 없습니다. 대시보드(elanous)를 실행하면 여기 라이브로 미러링됩니다."})]})}var C=r(16190),I=r(94226),T=r(44373),E=r(53314),A=r(71633),Y=r(61897);function R(e){let{onFrameUploaded:t}=e,{config:r,client:l,sessionId:s}=(0,w.Q)(),i=(0,a.useRef)(null);(0,a.useEffect)(()=>()=>{try{var e;null==(e=i.current)||e.close()}catch(e){}i.current=null},[]);let o=(0,a.useCallback)(async e=>{if(t){try{t(e)}catch(e){}return}if(s){i.current||(i.current=l.connectAcp({sessionId:s}));try{var r;await i.current.send("terminal/camera/frame/notify",{sessionId:s,attachmentId:e.id,ts:null!=(r=e.createdAt)?r:Date.now()})}catch(e){(0,y.cY)("webterm.live-cam.notify-failed",{reason:e instanceof Error?e.message:String(e)})}}},[l,s,t]),c=function(e){var t,r,n;let l=null!=(t=e.intervalMs)?t:1e3,s=null!=(r=e.jpegQuality)?r:.85,i=null!=(n=e.maxDimension)?n:1280,[o,c]=(0,a.useState)({status:"idle",framesUploaded:0,lastAttachmentId:null,error:null}),d=(0,a.useRef)(null),u=(0,a.useRef)(null),m=(0,a.useRef)(null),p=(0,a.useRef)(null),h=(0,a.useRef)(!1),b=(0,a.useRef)(e.onFrameUploaded);b.current=e.onFrameUploaded;let f=(0,a.useRef)({baseUrl:e.baseUrl,token:e.token});f.current={baseUrl:e.baseUrl,token:e.token};let x=(0,a.useCallback)(()=>{null!==p.current&&(clearInterval(p.current),p.current=null);let e=d.current;if(e){for(let t of e.getTracks())try{t.stop()}catch(e){}d.current=null}if(u.current){try{u.current.pause()}catch(e){}u.current.srcObject=null,u.current=null}m.current=null,h.current=!1},[]),g=(0,a.useCallback)(async()=>{if(h.current)return void(0,y.cY)("webterm.live-cam.frame-dropped",{reason:"in-flight"});let e=u.current;if(!e||0===e.videoWidth||0===e.videoHeight)return void(0,y.cY)("webterm.live-cam.frame-skipped",{reason:"video-not-ready"});h.current=!0;try{let r=function(e,t,r){if(e<=r&&t<=r)return{width:e,height:t};let n=e/t;return e>=t?{width:r,height:Math.round(r/n)}:{width:Math.round(r*n),height:r}}(e.videoWidth,e.videoHeight,i),n=m.current;n&&n.width===r.width&&n.height===r.height||(m.current=n=function(e,t){let r=document.createElement("canvas");return r.width=e,r.height=t,r}(r.width,r.height));let a=n.getContext("2d");if(!a)return void(0,y.cY)("webterm.live-cam.no-ctx");a.drawImage(e,0,0,r.width,r.height);let l=await new Promise(e=>{n.toBlob(t=>e(t),"image/jpeg",s)});if(!l)return void(0,y.cY)("webterm.live-cam.toBlob-null");let o="live-frame-".concat(Date.now(),".jpg"),d=await (0,Y.v)({baseUrl:f.current.baseUrl,token:f.current.token,file:l,filename:o});if(!d.ok){c(e=>({...e,error:d.reason})),(0,y.cY)("webterm.live-cam.upload-failed",{reason:d.reason});return}c(e=>({...e,framesUploaded:e.framesUploaded+1,lastAttachmentId:d.meta.id,error:null}));try{var t;null==(t=b.current)||t.call(b,d.meta)}catch(e){(0,y.cY)("webterm.live-cam.onFrameUploaded-throw",{reason:e instanceof Error?e.message:String(e)})}}catch(t){let e=t instanceof Error?t.message:String(t);c(t=>({...t,error:e})),(0,y.cY)("webterm.live-cam.capture-error",{reason:e})}finally{h.current=!1}},[s,i]),v=(0,a.useCallback)(async()=>{var e;let t;if("undefined"==typeof navigator||!(null==(e=navigator.mediaDevices)?void 0:e.getUserMedia))return void c(e=>({...e,status:"unsupported",error:"getUserMedia not available"}));if(!f.current.baseUrl)return void c(e=>({...e,status:"error",error:"daemon baseUrl not configured"}));if(d.current)return;c(e=>({...e,status:"requesting",error:null}));try{t=await navigator.mediaDevices.getUserMedia({video:{facingMode:{ideal:"environment"}}})}catch(r){let e=r instanceof Error?r.message:String(r),t=e.includes("Permission")||e.includes("NotAllowed");c(r=>({...r,status:t?"denied":"error",error:e})),(0,y.cY)("webterm.live-cam.getUserMedia-failed",{reason:e,denied:t});return}d.current=t;let r=document.createElement("video");r.srcObject=t,r.muted=!0,r.playsInline=!0,u.current=r;try{await r.play()}catch(e){(0,y.cY)("webterm.live-cam.video-play-failed",{reason:e instanceof Error?e.message:String(e)})}c(e=>({...e,status:"streaming",framesUploaded:0,error:null})),null!==p.current&&clearInterval(p.current),p.current=setInterval(()=>{g()},l),(0,y.cY)("webterm.live-cam.started",{intervalMs:l})},[g,l]),w=(0,a.useCallback)(()=>{x(),c({status:"idle",framesUploaded:0,lastAttachmentId:null,error:null}),(0,y.cY)("webterm.live-cam.stopped")},[x]);return(0,a.useEffect)(()=>()=>{x()},[x]),{...o,start:v,stop:w,isRunning:"streaming"===o.status}}({baseUrl:r.baseUrl,...r.token?{token:r.token}:{},onFrameUploaded:o});return"unsupported"!==c.status&&r.baseUrl?"denied"===c.status?(0,n.jsx)("button",{type:"button",disabled:!0,className:"rounded border border-rose-300 bg-rose-50 px-2 py-0.5 text-[11px] text-rose-700 dark:border-rose-800 dark:bg-rose-950 dark:text-rose-200",title:"Camera permission denied. Enable in iOS Settings → Safari → Camera, then reload.","data-testid":"live-camera-denied",children:"Camera denied"}):c.isRunning?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{type:"button",onClick:()=>c.stop(),className:"rounded border border-rose-300 bg-rose-50 px-2 py-0.5 text-rose-700 dark:border-rose-800 dark:bg-rose-950 dark:text-rose-200 hover:bg-rose-100 dark:hover:bg-rose-900",title:"Stop live camera","data-testid":"live-camera-stop",children:"■ Stop"}),(0,n.jsxs)("span",{className:"rounded border border-border bg-card px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground","data-testid":"live-camera-stats","aria-live":"polite",children:[c.framesUploaded,"f",c.error?(0,n.jsx)("span",{className:"ml-1 text-rose-500",children:"err"}):null]})]}):(0,n.jsx)("button",{type:"button",disabled:"requesting"===c.status,onClick:()=>{c.start()},className:"rounded border px-2 py-0.5 hover:bg-accent disabled:opacity-50",title:"Start live camera — uploads a 1Hz frame stream so the agent can see what you point at","data-testid":"live-camera-start",children:"requesting"===c.status?"Requesting…":"\uD83D\uDCF9 Live"}):null}function z(e){let{terminalId:t,onClear:r,onRecordingChange:l,onAttached:s,voice:i,variant:o="default"}=e,{client:c,sessionId:d,config:u}=(0,w.Q)(),[m,p]=(0,a.useState)(null),[h,b]=(0,a.useState)(null),[f,x]=(0,a.useState)(!1),[g,v]=(0,a.useState)(null);(0,a.useEffect)(()=>{null==l||l(null!==m)},[m,l]);let k=(0,a.useRef)(null);(0,a.useEffect)(()=>()=>{try{var e;null==(e=k.current)||e.close()}catch(e){}k.current=null},[]),(0,a.useEffect)(()=>{if(!d)return;k.current||(k.current=c.connectAcp({sessionId:d}));let e=k.current,r=!1;return(async()=>{try{var n;let a=await e.send("terminal/record/list",{sessionId:d});if(r)return;let l=null==a||null==(n=a.recordings)?void 0:n.find(e=>e.terminalId===t);l?p({recorderId:l.recorderId,startedAt:l.startedAt}):p(null),b(null),v(null)}catch(e){(0,y.cY)("webterm.controls.list-error",{reason:String(e)})}})(),()=>{r=!0}},[c,d,t]);let j=(0,a.useCallback)(async()=>{if(!d)return void v("session 미설정 — daemon 연결을 먼저 확인하세요");k.current||(k.current=c.connectAcp({sessionId:d}));let e=k.current;x(!0),v(null),b(null);try{var r,n;let a=await e.send("terminal/record/start",{sessionId:d,terminalId:t});(null==a?void 0:a.started)&&a.recorderId?((0,y.cY)("webterm.controls.record.started",{recorderId:a.recorderId,terminalId:t}),p({recorderId:a.recorderId,startedAt:null!=(r=a.startedAt)?r:Date.now()})):v(null!=(n=null==a?void 0:a.reason)?n:"start failed")}catch(e){v(String(e instanceof Error?e.message:e))}finally{x(!1)}},[c,d,t]),N=(0,a.useCallback)(async()=>{var e,r,n,a;if(!d||!m)return;let l=null!=(e=k.current)?e:c.connectAcp({sessionId:d});k.current=l,x(!0),v(null);try{let e=await l.send("terminal/record/stop",{sessionId:d,terminalId:t});(null==e?void 0:e.stopped)&&e.recorderId&&e.downloadUrl?((0,y.cY)("webterm.controls.record.stopped",{recorderId:e.recorderId,frameCount:e.frameCount,elapsedSec:e.elapsedSec}),b({recorderId:e.recorderId,downloadUrl:e.downloadUrl,frameCount:null!=(r=e.frameCount)?r:0,elapsedSec:null!=(n=e.elapsedSec)?n:0}),p(null)):v(null!=(a=null==e?void 0:e.reason)?a:"stop failed")}catch(e){v(String(e instanceof Error?e.message:e))}finally{x(!1)}},[m,c,d,t]);return(0,n.jsxs)("div",{className:"sheet"===o?"flex flex-wrap items-center gap-2 text-xs":"flex flex-wrap items-center gap-2 border-b px-2 py-1 text-xs",children:[(0,n.jsx)("button",{type:"button",className:"rounded border px-2 py-0.5 hover:bg-accent",onClick:()=>{(0,y.cY)("webterm.controls.clear"),r()},children:"clear"}),(0,n.jsx)(E.T,{onAttached:s?e=>s([e]):void 0}),(0,n.jsx)(A.u,{onAttached:s}),(0,n.jsx)(R,{}),i&&(0,n.jsxs)("button",{type:"button",onClick:i.onToggle,disabled:i.disabled,title:i.disabled?"마이크 사용 불가 (insecure context 등)":"".concat(i.phaseLabel," \xb7 xterm 으로 typing"),"data-elanous-action":"webterm-voice-toggle-controls","aria-pressed":i.active,className:(0,T.cn)("inline-flex items-center gap-1 rounded border px-2 py-0.5",i.active?"border-rose-300 bg-rose-100 text-rose-800 dark:border-rose-700 dark:bg-rose-950/40 dark:text-rose-100":"hover:bg-accent",i.disabled&&"cursor-not-allowed opacity-50"),children:[(0,n.jsx)("span",{className:(0,T.cn)("h-1.5 w-1.5 rounded-full",i.dotColor,("listening"===i.phase||"speaking"===i.phase)&&"animate-pulse"),"aria-hidden":"true"}),i.active?(0,n.jsx)(C.A,{className:"h-3.5 w-3.5"}):(0,n.jsx)(I.A,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{children:"voice→stdin"})]}),!m&&!h&&(0,n.jsx)("button",{type:"button",disabled:f,className:"rounded border px-2 py-0.5 ".concat(f?"opacity-50":"hover:bg-accent"," text-rose-600 dark:text-rose-400"),onClick:()=>void j(),title:"start asciicast recording",children:"● record"}),m&&(0,n.jsx)("button",{type:"button",disabled:f,className:"rounded border px-2 py-0.5 ".concat(f?"opacity-50":"hover:bg-accent"," bg-rose-600 text-white animate-pulse"),onClick:()=>void N(),title:"stop + save .cast",children:"■ stop"}),h&&(0,n.jsx)("a",{href:(e=>{var t;if(!e)return"";let r=null!=(t=u.baseUrl)?t:"",n=e.includes("?")?"&":"?",a=u.token?"".concat(n,"auth=").concat(encodeURIComponent(u.token)):"";return"".concat(r).concat(e).concat(a)})(h.downloadUrl),download:"".concat(h.recorderId,".cast"),className:"rounded border border-emerald-500 px-2 py-0.5 text-emerald-600 hover:bg-emerald-50 dark:hover:bg-emerald-950",onClick:()=>(0,y.cY)("webterm.controls.download.click",{recorderId:h.recorderId}),title:"".concat(h.frameCount," frames \xb7 ").concat(h.elapsedSec.toFixed(1),"s"),children:"⬇ download .cast"}),h&&(0,n.jsx)("button",{type:"button",className:"rounded border px-2 py-0.5 text-muted-foreground hover:bg-accent",onClick:()=>b(null),title:"dismiss","aria-label":"dismiss download",children:"\xd7"}),(m||h)&&(0,n.jsxs)("span",{className:"ml-auto text-[11px] text-muted-foreground",children:[m&&"● recording",h&&!m&&"✓ ".concat(h.recorderId)]}),g&&(0,n.jsx)("span",{className:"ml-2 max-w-[40%] truncate text-[11px] text-rose-500",title:g,children:g})]})}var P=r(33981),U=r(39693),M=r(72956);let D="elanous.pwa.hwKeyboard",L=/^(Escape|Tab|ArrowUp|ArrowDown|ArrowLeft|ArrowRight|F([1-9]|1[0-2]))$/;function $(e,t){try{null==e||e.setItem(D,t?"1":"0")}catch(e){}}let F=[{key:"esc",label:"Esc",width:"wide",title:"Escape (vim normal mode)"},{key:"tab",label:"Tab",width:"wide",title:"Tab (autocomplete)"},{key:"left",label:"←",width:"narrow",title:"Left arrow"},{key:"down",label:"↓",width:"narrow",title:"Down arrow"},{key:"up",label:"↑",width:"narrow",title:"Up arrow"},{key:"right",label:"→",width:"narrow",title:"Right arrow"}];function Q(e){let{terminalId:t}=e,{sessionId:r}=(0,w.Q)(),[l,s]=(0,a.useState)(()=>(0,P.ox)(t));(0,a.useEffect)(()=>{let e=()=>s((0,P.ox)(t));return e(),(0,P.Ok)(e)},[t]);let i=(0,a.useCallback)(()=>{let e=(0,P.ox)(t);if(!e)return;let n=(0,U.dI)({bufferType:e.buffer.active.type,mouseTracking:e.modes.mouseTrackingMode});"scroll-pages"===n.kind?e.scrollPages(n.pages):r&&(0,P.WP)(t,n.data)},[t,r]),[o,c]=(0,a.useState)(!1),[d,u]=(0,a.useState)(!1),[m,p]=(0,a.useState)(!1);(0,a.useEffect)(()=>{p(function(e){try{return(null==e?void 0:e.getItem(D))==="1"}catch(e){return!1}}(window.localStorage));let e=e=>{var t;t=navigator.userAgent,!e.isComposing&&229!==e.keyCode&&"Unidentified"!==e.key&&"Process"!==e.key&&(L.test(e.key)||(e.ctrlKey||e.metaKey||e.altKey)&&1===e.key.length||/Android/i.test(t)&&1===e.key.length||0)&&p(t=>t||($(window.localStorage,!0),(0,y.cY)("webterm.modifier-bar.hw-keyboard",{key:1===e.key.length?"char":e.key}),!0))};return document.addEventListener("keydown",e,!0),()=>document.removeEventListener("keydown",e,!0)},[]);let h=(0,a.useCallback)(()=>{$(window.localStorage,!1),p(!1)},[]),b=(0,a.useRef)(!1),f=(0,a.useRef)(!1);b.current=o,f.current=d;let x=(0,a.useRef)(null),g=(0,a.useCallback)((e,t)=>{null!==x.current&&(clearTimeout(x.current),x.current=null),(e||t)&&(x.current=setTimeout(()=>{c(!1),u(!1),x.current=null,(0,y.cY)("webterm.modbar.auto-release",{})},5e3))},[]);(0,a.useEffect)(()=>()=>{null!==x.current&&(clearTimeout(x.current),x.current=null)},[]);let v=(0,a.useCallback)(e=>{if(!r)return void(0,y.cY)("webterm.modbar.no-session",{key:e});let n={ctrl:b.current,alt:f.current},a=(0,M.bu)(e,n);(0,y.cY)("webterm.modbar.send",{key:e,ctrl:n.ctrl,alt:n.alt,bytes:a.length});try{(0,P.WP)(t,a)}catch(e){(0,y.cY)("webterm.modbar.send-error",{reason:String(e)})}(n.ctrl||n.alt)&&(c(!1),u(!1),g(!1,!1))},[r,t,g]),k=(0,a.useCallback)(()=>{let e=!b.current;c(e),g(e,f.current)},[g]),j=(0,a.useCallback)(()=>{let e=!f.current;u(e),g(b.current,e)},[g]),N=e=>["flex h-7 items-center justify-center rounded border border-border bg-card font-mono text-[11px] text-muted-foreground hover:bg-muted hover:border-primary hover:text-foreground active:translate-y-px disabled:opacity-50","wide"===e?"px-2 min-w-[36px]":"w-8"].join(" "),S=e=>["flex h-7 items-center justify-center rounded border font-mono text-[11px] px-2 min-w-[36px] active:translate-y-px disabled:opacity-50 transition-colors",e?"border-amber-400 bg-amber-100 text-amber-900 dark:border-amber-500 dark:bg-amber-900 dark:text-amber-100":"border-border bg-card text-muted-foreground hover:bg-muted hover:border-primary hover:text-foreground"].join(" ");return m?(0,n.jsx)("div",{className:"flex items-center border-b border-border bg-background/60 px-2 py-0.5","data-testid":"modifier-bar-collapsed",children:(0,n.jsx)("button",{type:"button",onClick:h,className:"rounded px-1.5 py-0.5 text-[11px] text-muted-foreground hover:text-foreground",title:"물리 키보드가 잡혀 접었다 — 누르면 Esc\xb7Tab\xb7화살표 키 줄을 다시 편다",children:"⌨ 보조 키"})}):(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-1 border-b border-border bg-background/60 px-2 py-1","data-testid":"modifier-bar",role:"toolbar","aria-label":"Mobile keyboard modifiers",children:[F.map(e=>(0,n.jsx)("button",{type:"button",className:N(e.width),onClick:()=>{v(e.key)},disabled:!r,"aria-label":e.title,title:e.title,"data-testid":"modbar-".concat(e.key),children:e.label},e.key)),(0,n.jsx)("button",{type:"button",className:N("wide"),onClick:i,disabled:!l||!r,"aria-label":"과거 내용 보기",title:"과거 내용 보기 — 한 쪽 위로","data-testid":"modbar-history",children:"⇡ 기록"}),(0,n.jsx)("span",{className:"mx-1 text-[10px] text-muted-foreground/60","aria-hidden":!0,children:"\xb7"}),(0,n.jsx)("button",{type:"button",className:S(o),onClick:k,disabled:!r,"aria-label":"Ctrl modifier ".concat(o?"active":"idle"),"aria-pressed":o,title:"Ctrl modifier — toggles. Combines with arrow keys (e.g. Ctrl+→ = next word). Auto-releases after 5s or one keystroke.","data-testid":"modbar-ctrl",children:"Ctrl"}),(0,n.jsx)("button",{type:"button",className:S(d),onClick:j,disabled:!r,"aria-label":"Alt modifier ".concat(d?"active":"idle"),"aria-pressed":d,title:"Alt modifier — toggles. Combines with Esc/Tab/arrows. Auto-releases after 5s or one keystroke.","data-testid":"modbar-alt",children:"Alt"})]})}var O=r(53987);function H(e){let{foreignActivityTick:t,onPeerCountChange:r}=e,{client:l,sessionId:s}=(0,w.Q)(),[i,o]=(0,a.useState)(0),[c,d]=(0,a.useState)(!1);(0,a.useEffect)(()=>{null==r||r(i)},[i,r]);let u=(0,a.useRef)(null),m=(0,a.useRef)(null),p=(0,a.useCallback)(async()=>{if(!s)return;u.current||(u.current=l.connectAcp({sessionId:s}));let e=u.current;try{let t=await e.send("terminal/peers/count",{sessionId:s});"number"==typeof(null==t?void 0:t.count)&&(o(t.count),(0,y.cY)("webterm.peers.count",{count:t.count}))}catch(e){(0,y.cY)("webterm.peers.count.error",{reason:String(e)})}},[l,s]);return((0,a.useEffect)(()=>{p();let e=()=>{"visible"===document.visibilityState&&p()};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[p]),(0,a.useEffect)(()=>()=>{try{var e;null==(e=u.current)||e.close()}catch(e){}u.current=null,m.current&&clearTimeout(m.current)},[]),(0,a.useEffect)(()=>{t&&(d(!0),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{d(!1),m.current=null,p()},1800))},[t,p]),i<=1&&!c)?null:(0,n.jsxs)("div",{className:"flex items-center gap-2 border-b border-border bg-amber-500/10 px-2 py-0.5 text-[11px]",children:[(0,n.jsx)(O.A,{className:"h-3 w-3 text-amber-600","aria-hidden":!0}),i>1&&(0,n.jsxs)("span",{className:"font-mono text-amber-700 dark:text-amber-400",children:[i," devices"]}),c&&(0,n.jsx)("span",{className:"ml-auto rounded bg-amber-500 px-1.5 py-0.5 font-medium text-white animate-pulse",children:"\uD83D\uDC64 typing"})]})}var _=r(1352);function B(e){let{onAttached:t,pageWide:r=!0}=e,{config:s}=(0,w.Q)(),[i,o]=(0,a.useState)(!1),[c,d]=(0,a.useState)(!1),u=(0,a.useRef)(0),m=(0,a.useCallback)(async e=>{if(0!==e.length){if(!s.baseUrl)return void l.oR.error("Daemon URL 미설정 — Settings 에서 입력");d(!0),(0,y.cY)("webterm.dropzone.drop",{count:e.length,totalBytes:e.reduce((e,t)=>e+t.size,0)});try{let r=await (0,Y.K)(e.map(e=>({file:e,filename:e.name})),{baseUrl:s.baseUrl,...s.token?{token:s.token}:{}}),n=r.filter(e=>e.ok),a=r.filter(e=>!e.ok);n.length>0&&(l.oR.success(1===n.length?"\uD83D\uDCCE ".concat(n[0].meta.filename):"\uD83D\uDCCE ".concat(n.length," files dropped")),null==t||t(n.map(e=>e.meta))),a.length>0&&l.oR.error(1===a.length?"드롭 실패: ".concat(a[0].reason.slice(0,80)):"".concat(a.length," 파일 드롭 실패"))}finally{d(!1)}}},[s.baseUrl,s.token,t]);return((0,a.useEffect)(()=>{if(!r)return;let e=e=>{e.dataTransfer&&e.dataTransfer.types.includes("Files")&&(e.preventDefault(),u.current+=1,o(!0))},t=e=>{e.dataTransfer&&e.dataTransfer.types.includes("Files")&&e.preventDefault()},n=e=>{e.dataTransfer&&e.dataTransfer.types.includes("Files")&&(e.preventDefault(),u.current=Math.max(0,u.current-1),0===u.current&&o(!1))},a=e=>{if(!e.dataTransfer)return;let t=e.dataTransfer.files;t&&0!==t.length&&(e.preventDefault(),u.current=0,o(!1),m(Array.from(t)))};return document.addEventListener("dragenter",e),document.addEventListener("dragover",t),document.addEventListener("dragleave",n),document.addEventListener("drop",a),()=>{document.removeEventListener("dragenter",e),document.removeEventListener("dragover",t),document.removeEventListener("dragleave",n),document.removeEventListener("drop",a)}},[m,r]),i||c)?(0,n.jsx)("div",{className:"pointer-events-none fixed inset-0 z-50 flex items-center justify-center bg-primary/20 backdrop-blur-sm",children:(0,n.jsxs)("div",{className:"rounded-xl border-2 border-dashed border-primary bg-card px-6 py-4 text-center shadow-lg",children:[(0,n.jsx)(_.A,{className:"mx-auto h-10 w-10 text-primary","aria-hidden":!0}),(0,n.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:c?"업로드 중…":"Drop files to attach"}),(0,n.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:c?"":"iCloud \xb7 Files.app \xb7 폴더 모두 지원"})]})}):null}var W=r(92156),q=r(27143),K=r(14222),V=r(3180),Z=r(37502),G=r(51706),J=r(76573),X=r(73426),ee=r(9851),et=r(67903),er=r(64667),en=r(36898),ea=r(9734),el=r(87969),es=r(8114);async function ei(e,t){if(!t||0===t.length)return null;try{let r=await e.fetchJson("/v1/sessions/store/".concat(encodeURIComponent(t),"?ifExists=1"));if(!r||!Array.isArray(r.messages))return null;let n=function(e){let t=[];return e.forEach((e,r)=>{let n=function(e,t){let r=e.role;if("tool"===r)return{...(0,es.$Q)("\uD83D\uDEE0️ ".concat(e.toolName||"tool")),id:"hydrate-t-".concat(t)};let n=function(e){if("string"==typeof e)return e;if(!Array.isArray(e))return"";let t=[];for(let n of e)if(n&&"object"==typeof n){let e=n.type;if("text"===e&&"string"==typeof n.text)t.push(n.text);else if("image"===e)t.push("\uD83D\uDCCE image");else if("audio"===e)t.push("\uD83D\uDCCE audio");else if("tool_use"===e){var r;let e=null!=(r=n.name)?r:"tool";t.push("\uD83D\uDEE0️ ".concat(e))}else"tool_result"===e&&t.push("\uD83D\uDEE0️ result")}return t.join("\n").trim()}(e.content);return 0===n.length?null:"user"===r?{...(0,es.tw)(n),id:"hydrate-u-".concat(t)}:"assistant"===r?{id:"hydrate-a-".concat(t),role:"assistant",text:n,timestamp:Date.now(),meta:{provider:"history"}}:"system"===r?null:{...(0,es.$Q)(n),id:"hydrate-m-".concat(t)}}(e,r);n&&t.push(n)}),t.slice(-200)}(r.messages);return(0,y.cY)("webterm.terminal-chat.hydrate.ok",{sessionId:t,serverCount:r.messages.length,mappedCount:n.length}),n}catch(e){return(0,y.cY)("webterm.terminal-chat.hydrate.skip",{sessionId:t,reason:e instanceof Error?e.message:String(e)}),null}}let eo=[":cwd",":capture",":peers",":tab next",":tab prev"];function ec(e){let t=(null!=e?e:"").replace(/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])/g,"").replace(/\r/g,"").trim();return t.length>0?t:"(no output)"}let ed=(0,a.forwardRef)(function(e,t){let{terminalId:r,open:s,onTabIntent:i,height:o,voice:c}=e,d="number"==typeof o&&Number.isFinite(o)&&o>0?o:void 0,{client:u,config:m,sessionId:p,setSessionId:h}=(0,w.Q)(),b=(0,a.useRef)(p),f=(0,a.useRef)(null),[x,g]=(0,a.useState)([]),[v,k]=(0,a.useState)(!1),[j,N]=(0,a.useState)(null),[S,E]=(0,a.useState)([]),[A,Y]=(0,a.useState)(!1),R=(0,a.useRef)(async()=>{}),z=(0,a.useRef)(!1);z.current=v;let P=(0,a.useRef)(null),[U,M]=(0,a.useState)(!1),D=(0,el.$)({enabled:!!(null==c?void 0:c.active)&&!U,language:"ko-KR"}),L=(0,a.useRef)(D);L.current=D,(0,a.useEffect)(()=>{b.current=p},[p]),(0,a.useEffect)(()=>{try{var e;null==(e=f.current)||e.close()}catch(e){}if(f.current=null,s&&p)return f.current=u.connectAcp({sessionId:p}),()=>{try{var e;null==(e=f.current)||e.close()}catch(e){}f.current=null}},[u,s,p]),(0,a.useEffect)(()=>{let e=f.current;if(e&&s&&p)return e.on("sessionUpdate",e=>{var t;let r=P.current;if(!r)return;let n=e.params;if(!n||n.sessionId!==p)return;let a=n.update;if(a&&"agent_message_chunk"===a.sessionUpdate&&(null==(t=a.content)?void 0:t.type)==="text"&&"string"==typeof a.content.text){let e=a.content.text;if(0===e.length)return;g(t=>t.map(t=>{var n;return t.id===r?{...t,text:(null!=(n=t.text)?n:"")+e}:t})),L.current.pushText(e)}})},[s,p]);let $=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(!s||!p||$.current===p)return;$.current=p;let e=!1;return(async()=>{let t=await ei(u,p);e||null===t||g(t)})(),()=>{e=!0}},[u,s,p]);let F=(0,a.useCallback)(e=>{g(t=>[...t,e].slice(-200))},[]);(0,a.useImperativeHandle)(t,()=>({submitVoiceTranscript:e=>{let t=e.trim();if(t){if(z.current)return void(0,y.cY)("webterm.terminal-chat.voice.skip-pending",{len:t.length});(0,y.cY)("webterm.terminal-chat.voice.auto-send",{len:t.length}),R.current(t)}}}),[]);let Q=(0,a.useCallback)(()=>{let e=b.current;return e?(f.current||(f.current=u.connectAcp({sessionId:e})),f.current):null},[u]),O=(0,a.useMemo)(()=>({client:u,sessionId:p,provider:m.provider,setSessionId:h,daemon:{baseUrl:m.baseUrl,...m.token?{token:m.token}:{}},messages:x}),[u,m.baseUrl,m.provider,m.token,x,p,h]),H=(0,a.useCallback)(e=>{E(t=>[...t,...e]),(0,y.cY)("webterm.terminal-chat.attach.queue",{terminalId:r,added:e.length,filenames:e.map(e=>e.filename)})},[r]),_=(0,a.useCallback)(e=>{E(t=>t.filter(t=>t.id!==e))},[]),B=(0,a.useCallback)(async e=>{let t=e.startsWith(":")?null:await (0,es.yN)(e,O);if(t){"__CLEAR__"===t.text?g([]):F((0,es.$Q)(t.text,r)),t.newSessionId&&h(t.newSessionId);return}if(!p)return void F((0,es.$Q)("session 미설정",r));let n=Q();if(!n)return void F((0,es.$Q)("session 미설정",r));let a=await n.send("terminal/repl/exec",{sessionId:p,terminalId:r,line:e});F((0,es.$Q)(ec(null==a?void 0:a.output),r)),(null==a?void 0:a.sessionIdChange)&&h(a.sessionIdChange),(null==a?void 0:a.tabIntent)!==void 0&&(null==i||i(a.tabIntent),F((0,es.$Q)("tab intent → ".concat(String(a.tabIntent)),r))),(null==a?void 0:a.injectPath)&&F((0,es.$Q)("captured → ".concat(a.injectPath),r)),(null==a?void 0:a.agentChatModeEnter)&&F((0,es.$Q)("agent chat mode hint — terminal dock already runs plain text as agent turns",r))},[F,O,Q,i,p,h,r]),ed=(0,a.useCallback)(async()=>{let e=b.current;if(e&&j)try{var t;let n=Q();if(!n)return;let a=await n.send("terminal/repl/agent/abort",{sessionId:e,terminalId:r});(0,y.cY)("webterm.terminal-chat.abort",{terminalId:r,aborted:null!=(t=null==a?void 0:a.aborted)&&t}),F((0,es.$Q)((null==a?void 0:a.aborted)?"agent turn aborted":"no active agent turn to abort",r))}catch(t){let e=t instanceof Error?t.message:String(t);F((0,es.$Q)("abort failed: ".concat(e),r))}finally{k(!1),N(null)}},[F,Q,j,r]),eu=(0,a.useCallback)(async e=>{E([]);let t=S.filter(e=>!("string"==typeof e.path&&e.path.length>0)).length;if(t>0){let e=1===t?"첨부 1건이 path 누락으로 누락됐습니다":"첨부 ".concat(t,"건이 path 누락으로 누락됐습니다");l.oR.warning(e),F((0,es.$Q)("⚠ ".concat(e),r)),(0,y.cY)("webterm.terminal-chat.attach.dropped",{terminalId:r,droppedCount:t,totalCount:S.length})}e.length>0&&F((0,es.tw)(e,r)),S.length>0&&F((0,es.$Q)("\uD83D\uDCCE attached: ".concat(S.map(e=>e.filename).join(", ")),r));let n=e.trim();if(n||0!==S.length){k(!0);try{if((0,es.FM)(n))return void await B(n);if(!p)return void F((0,es.$Q)("session 미설정",r));let e=Q();if(!e)return void F((0,es.$Q)("session 미설정",r));N(n);let t="assistant-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6));P.current=t,F({id:t,role:"assistant",text:"",timestamp:Date.now(),terminalId:r}),(0,y.cY)("webterm.terminal-chat.turn.start",{terminalId:r,sessionId:p,len:n.length,attachCount:S.length,placeholderId:t});let a=S.filter(e=>e.path).map(e=>"[attached] ".concat(e.path)),l=a.length>0?"".concat(a.join("\n"),"\n\n").concat(n).trimEnd():n,s=await e.send("terminal/repl/exec",{sessionId:p,terminalId:r,line:":agent ".concat(l)});(null==s?void 0:s.agent)?(g(e=>e.map(e=>e.id===t?{...e,text:e.text&&e.text.length>=s.agent.markdown.length?e.text:s.agent.markdown,meta:{provider:s.agent.modelLabel,stopReason:s.agent.stopReason}}:e)),L.current.flush()):(g(e=>e.filter(e=>e.id!==t)),F((0,es.$Q)(ec(null==s?void 0:s.output),r))),(0,y.cY)("webterm.terminal-chat.turn.end",{terminalId:r,hasAgent:!!(null==s?void 0:s.agent)})}catch(n){let e=n instanceof Error?n.message:String(n),t=P.current;t&&g(e=>e.filter(e=>e.id!==t)),L.current.cancel(),F((0,es.$Q)("error: ".concat(e),r)),l.oR.error("terminal chat failed: ".concat(e))}finally{P.current=null,k(!1),N(null)}}},[F,Q,B,S,p,r]);return((0,a.useEffect)(()=>{R.current=eu},[eu]),s)?(0,n.jsxs)("div",{className:"shrink-0 border-t border-border bg-background/95","data-terminal-chat-dock":!0,children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 border-b border-border/80 px-3 py-2",children:[(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[(0,n.jsx)("span",{className:"inline-flex h-7 w-7 items-center justify-center rounded-md border border-primary/30 bg-primary/10 text-primary",children:(0,n.jsx)(q.A,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("div",{className:"truncate text-sm font-medium",children:"Terminal Chat Dock"}),(0,n.jsxs)("div",{className:"truncate text-[11px] text-muted-foreground",children:[r," \xb7 plain text = contextual agent turn \xb7 ",(0,n.jsx)("code",{className:"rounded bg-muted px-1",children:":commands"})," stay local"]})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[c&&(0,n.jsxs)("button",{type:"button",onClick:c.onToggle,disabled:c.disabled,title:c.disabled?"마이크 사용 불가 (insecure context 등)":c.phaseLabel,"data-elanous-action":"webterm-voice-toggle-dock","aria-pressed":c.active,className:(0,T.cn)("inline-flex h-7 items-center gap-1.5 rounded-md border px-2 text-[11px]",c.active?"border-rose-300 bg-rose-100 text-rose-800 dark:border-rose-700 dark:bg-rose-950/40 dark:text-rose-100":"border-border hover:bg-accent",c.disabled&&"cursor-not-allowed opacity-50"),children:[(0,n.jsx)("span",{className:(0,T.cn)("h-1.5 w-1.5 rounded-full",c.dotColor,("listening"===c.phase||"speaking"===c.phase)&&"animate-pulse"),"aria-hidden":"true"}),c.active?(0,n.jsx)(C.A,{className:"h-3.5 w-3.5"}):(0,n.jsx)(I.A,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{className:"hidden sm:inline",children:c.phaseLabel})]}),c&&c.active&&D.supported&&(0,n.jsx)("button",{type:"button",onClick:()=>{U||L.current.cancel(),M(e=>!e)},title:U?"음성 응답 켜기":"음성 응답 끄기","data-elanous-action":"webterm-tts-mute-toggle","aria-pressed":U,className:(0,T.cn)("inline-flex h-7 items-center justify-center rounded-md border px-2 text-[11px]",U?"border-border bg-muted text-muted-foreground":"border-fuchsia-300 bg-fuchsia-50 text-fuchsia-800 dark:border-fuchsia-700 dark:bg-fuchsia-950/40 dark:text-fuchsia-100"),children:U?(0,n.jsx)(K.A,{className:"h-3.5 w-3.5"}):(0,n.jsx)(V.A,{className:"h-3.5 w-3.5"})}),(0,n.jsx)(er.Qh,{}),(0,n.jsx)(W.vG,{children:(0,n.jsx)(et.rm,{})}),(0,n.jsx)(W.vG,{children:(0,n.jsx)(en.D,{})}),j&&(0,n.jsxs)(ea.$,{variant:"destructive",size:"sm",onClick:()=>void ed(),title:"abort active terminal-context agent turn",children:[(0,n.jsx)(Z.A,{className:"h-3.5 w-3.5"}),"Stop"]}),(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)(ea.$,{variant:"outline",size:"icon-sm",onClick:()=>Y(e=>!e),"aria-label":"terminal quick commands",title:"terminal quick commands",children:(0,n.jsx)(G.A,{className:"h-3.5 w-3.5"})}),A&&(0,n.jsx)("div",{className:"absolute right-0 top-full z-40 mt-1 w-44 rounded-md border border-border bg-popover p-1 shadow-md",children:eo.map(e=>(0,n.jsx)("button",{type:"button",className:"block w-full rounded px-2 py-1 text-left font-mono text-[11px] hover:bg-accent",onClick:()=>{Y(!1),eu(e)},children:e},e))})]})]})]}),j&&(0,n.jsxs)("div",{className:"flex items-center gap-2 border-b border-border/70 px-3 py-2 text-[11px] text-muted-foreground",children:[(0,n.jsx)(J.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,n.jsxs)("span",{className:"truncate",children:["terminal-context agent turn in progress",j.length>0?" \xb7 ".concat(j.slice(0,120)).concat(j.length>120?"…":""):""]})]}),(0,n.jsxs)("div",{className:(0,T.cn)("grid grid-rows-[1fr_auto]",void 0===d?"h-[clamp(160px,30vh,360px)] min-h-[200px]":void 0),...void 0===d?{}:{style:{height:d}},children:[(0,n.jsx)(X.D,{messages:x,pending:v,tabId:"dock-".concat(r)}),(0,n.jsx)(ee.V,{onSubmit:eu,disabled:v,attachments:S,onAttached:H,onRemoveAttachment:_,tabId:"dock-".concat(r),...c?{voice:c}:{}})]})]}):null});var eu=r(81694),em=r(69147);let ep=/^100\.(6[4-9]|[7-9]\d|1[01]\d|12[0-7])\./;function eh(){if(!window.location)return{isSecure:!1,reason:"unknown",hostname:"",protocol:""};let e=function(e,t){let r="https:"===e,n="http:"===e;return"localhost"===t||"127.0.0.1"===t||"[::1]"===t||"::1"===t?{isSecure:!0,reason:"localhost",hostname:t,protocol:e}:r&&/\.ts\.net$/i.test(t)?{isSecure:!0,reason:"https-tsnet",hostname:t,protocol:e}:r?{isSecure:!0,reason:"https-other",hostname:t,protocol:e}:n&&ep.test(t)?{isSecure:!1,reason:"http-tailscale",hostname:t,protocol:e,guidance:"Tailscale 100.x 주소는 HTTP라 마이크 권한이 차단됩니다. `tailscale serve` 또는 funnel 로 ts.net HTTPS 호스트를 노출하면 마이크가 동작합니다."}:n?{isSecure:!1,reason:"http-other",hostname:t,protocol:e,guidance:"브라우저는 HTTP origin 에서 마이크 접근을 차단합니다. HTTPS 로 접속하거나 localhost 로 옮기세요."}:{isSecure:!1,reason:"unknown",hostname:t,protocol:e}}(window.location.protocol,window.location.hostname);return e.isSecure&&!1===window.isSecureContext?{...e,isSecure:!1,reason:"unknown",guidance:"현재 origin 이 secure context 가 아닙니다 (브라우저 판정). HTTPS 로 접속하세요."}:e}let eb="elanous.webterm.voiceBanner.dismissed",ef={isSecure:!1,reason:"unknown",hostname:"",protocol:""};function ex(){var e;let{statusOverride:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},[r,l]=(0,a.useState)(!1),[s,i]=(0,a.useState)(null!=t?t:ef);if((0,a.useEffect)(()=>{l(function(){try{return"1"===window.sessionStorage.getItem(eb)}catch(e){return!1}}()),i(null!=t?t:eh())},[t]),s.isSecure||r)return null;let o="http-tailscale"===s.reason?"\uD83C\uDF99 Tailscale HTTP 에서 마이크가 차단됩니다":"\uD83C\uDF99 마이크 사용을 위해 HTTPS 가 필요합니다";return(0,n.jsxs)("div",{role:"alert","aria-live":"polite","data-testid":"webterm-voice-banner","data-reason":s.reason,className:"flex items-start gap-2 border-b border-amber-300 bg-amber-50 px-3 py-2 text-[12px] text-amber-900 dark:border-amber-700 dark:bg-amber-950/40 dark:text-amber-100",children:[(0,n.jsx)(eu.A,{className:"mt-[1px] h-3.5 w-3.5 shrink-0","aria-hidden":"true"}),(0,n.jsxs)("div",{className:"flex-1",children:[(0,n.jsx)("div",{className:"font-medium",children:o}),(0,n.jsx)("div",{className:"mt-0.5 text-amber-800/90 dark:text-amber-200/80",children:null!=(e=s.guidance)?e:"브라우저는 secure context (HTTPS \xb7 localhost) 에서만 마이크를 허용합니다."}),"http-tailscale"===s.reason&&(0,n.jsxs)("div",{className:"mt-1 font-mono text-[11px] text-amber-700 dark:text-amber-200/90",children:[(0,n.jsx)("code",{children:"tailscale serve --bg --https=443 31415"})," ","or"," ",(0,n.jsx)("a",{href:"https://tailscale.com/kb/1242/tailscale-serve",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-amber-900 dark:hover:text-amber-50",children:"ts.net HTTPS 가이드"})]})]}),(0,n.jsx)("button",{type:"button",onClick:()=>{try{window.sessionStorage.setItem(eb,"1")}catch(e){}l(!0)},"aria-label":"dismiss banner",title:"이 창을 닫을 때까지 숨기기",className:"rounded p-0.5 text-amber-700 hover:bg-amber-100 dark:text-amber-200 dark:hover:bg-amber-900/40",children:(0,n.jsx)(em.A,{className:"h-3.5 w-3.5"})})]})}async function eg(e){var t;let{terminalId:r,paths:n}=e,a=null==(t=e.alsoCopyToClipboard)||t,l=n.filter(e=>"string"==typeof e&&e.length>0).map(e=>"'".concat(e.replace(/'/g,"'\\''"),"'")).join(" ");if(!l)return{injected:!1,copied:!1};let s="".concat(l," "),i=!1;try{(i=(0,P.WP)(r,s))?(0,y.cY)("webterm.attach.inject.ok",{terminalId:r,pathCount:n.length,bytes:s.length}):(0,y.cY)("webterm.attach.inject.error",{terminalId:r,reason:"no-sender"})}catch(e){(0,y.cY)("webterm.attach.inject.error",{terminalId:r,reason:String(e)})}let o=!1;if(a&&"undefined"!=typeof navigator&&navigator.clipboard)try{await navigator.clipboard.writeText(l),o=!0,(0,y.cY)("webterm.attach.clipboard.ok",{pathCount:n.length})}catch(e){(0,y.cY)("webterm.attach.clipboard.skip",{reason:String(e)})}return{injected:i,copied:o}}var ev=r(56974),ew=r(60750),ey=r(2699),ek=r(23660);function ej(e){return e.length<=32?e:"…".concat(e.slice(-32))}function eN(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();if("number"!=typeof e||!Number.isFinite(e)||!Number.isFinite(t)||e>t)return null;let r=new Date(e);return Number.isFinite(r.getTime())?(0,ek.KW)(r.toISOString(),t):null}function eS(e){let t=new Map,r=new Set,n=new Set,a=[];for(let r of e){var l,s;if(n.has(r.id))continue;n.add(r.id),a.push(r);let e=null==(l=r.runId)?void 0:l.trim();if(!e)continue;let i=null!=(s=t.get(e))?s:[];i.push(r),t.set(e,i)}let i=[];for(let[e,n]of t){let t=function(e){let t=e.filter(e=>e.alive&&Number.isFinite(e.startedAt));if(0===t.length)return;let r=Math.max(...t.map(e=>{let{startedAt:t}=e;return t})),n=t.filter(e=>{let{startedAt:t}=e;return t===r});return 1===n.length?n[0]:void 0}(n);if(!t){for(let e of n)r.add(e.id);continue}i.push({runId:e,split:t.id,tabs:n.filter(e=>e.id!==t.id).map(e=>{let{id:t}=e;return t})})}let o=new Set(i.flatMap(e=>{let{split:t,tabs:r}=e;return[t,...r]}));return{layouts:i,unknown:a.filter(e=>{let{id:t}=e;return r.has(t)&&!o.has(t)}).map(e=>{let{id:t}=e;return{id:t,reason:"relationship-unavailable"}})}}function eC(e){return{layouts:e.layouts.map(e=>{let{runId:t,split:r,tabs:n}=e;return{runId:t,slots:[{terminalId:r,position:"split"},...n.map(e=>({terminalId:e,position:"tab"}))]}}),unknown:e.unknown.map(e=>({...e}))}}let eI=["terminal","observe","pty-list"],eT="elanous.webterm.activeId",eE="elanous.webterm.panelsMinimized",eA="elanous.webterm.chatDockOpen";function eY(e){return e.sourceRoot?{sourceRoot:e.sourceRoot.dbPath}:{}}function eR(e){let{layout:t,sessionId:r,onForeignInputActivity:a,terminalIds:l,activeId:s=null,visible:i=!0,clearRequests:c}=e,d=t.layouts.flatMap(e=>e.slots),u=new Map(d.map(e=>[e.terminalId,e])),m=new Set(t.layouts.map(e=>{var t;return null==(t=e.slots[0])?void 0:t.terminalId}).filter(e=>!!e)),p=void 0===l?d.map(e=>e.terminalId):[...new Set([...l,...s?[s]:[],...d.map(e=>e.terminalId)])],h=new Set(d.length>0?d.map(e=>e.terminalId):s?[s]:[]);return(0,n.jsxs)("div",{className:i?"grid h-full min-h-0 grid-cols-2 gap-2 p-2":"hidden","aria-label":"런별 터미널 배치",children:[t.layouts.map(e=>{let{runId:t}=e;return(0,n.jsx)("section",{className:"sr-only","aria-label":"런 ".concat(t," 터미널")},t)}),p.map(e=>{var t,l;let d=u.get(e),p=i&&h.has(e),b=null!=(t=null==d?void 0:d.position)?t:e===s?"single":"inactive-tab";return(0,n.jsxs)("div",{className:p?"".concat(m.has(e)?"col-start-1 ":"").concat((null==d?void 0:d.position)==="split"?"min-h-0 border border-emerald-600":(null==d?void 0:d.position)==="tab"?"min-h-0 border border-zinc-700":"col-span-2 h-full min-h-0"):"hidden","data-pane-position":b,"data-terminal-id":e,children:[d&&(0,n.jsxs)("p",{className:"sr-only",children:["split"===d.position?"분할 터미널":"탭 터미널",": ",e]}),(0,n.jsx)(o,{sessionId:r,terminalId:e,clearRequest:null!=(l=null==c?void 0:c[e])?l:0,onForeignInputActivity:a},e)]},e)}),t.unknown.map(e=>{let{id:t,reason:r}=e;return(0,n.jsxs)("p",{className:"text-xs text-muted-foreground","data-terminal-id":t,"data-pane-relationship":r,children:["터미널 ",t,": 관계를 알 수 없어 배치하지 않았습니다."]},t)})]})}function ez(){var e,t,r;let{initialPtyId:s=null,onPtySelection:i}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{client:o,config:c,sessionId:u}=(0,w.Q)(),{isCoarsePointer:m}=function(){let[e,t]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{if(!window.matchMedia)return;let e=window.matchMedia("(pointer: coarse)");t(e.matches);let r=e=>{t(e.matches)};return"function"==typeof e.addEventListener?(e.addEventListener("change",r),()=>e.removeEventListener("change",r)):"function"==typeof e.addListener?(e.addListener(r),()=>e.removeListener(r)):void 0},[]),{isCoarsePointer:e}}(),{compact:p}=(0,v.K)(),[h,x]=(0,a.useState)(null),[k,j]=(0,a.useState)({}),[N,C]=(0,a.useState)([]),[I,T]=(0,a.useState)(!1),[E,A]=(0,a.useState)(null),[Y,R]=(0,a.useState)(null),[U,M]=(0,a.useState)(!1);(0,a.useEffect)(()=>{var e,t;let r=null!=(t=null==(e=window.location)?void 0:e.search)?t:"",n=function(e){let t=new URLSearchParams(e).get("wall");return t?t.split(",").map(e=>e.trim()).filter(Boolean).slice(0,3):[]}(r);n.length&&R(n),"1"===new URLSearchParams(r).get("stage")&&M(!0)},[]);let[D,L]=(0,a.useState)({status:"pending"}),$=function(e,t){let r="ready"===e.status&&"local"===e.issuedBy&&"restored-tab"!==e.fallbackReason,n="ready"===e.status&&e.fallbackReason?e.fallbackReason:"사유 미상";return{placeholder:t?null:"pending"===e.status?e.slow?"데몬이 느립니다 — 터미널을 만드는 중… (기다리는 중)":"터미널 이름을 준비하는 중…":"터미널 이름을 로컬에서 정했습니다 (".concat(n,")."),fallbackBanner:r?"터미널 이름을 로컬에서 정했습니다 (".concat(n,"). 데몬 발급을 확인하지 못했습니다."):null}}(D,null!==h),F=(0,a.useCallback)(e=>{L(e),"pending"===e.status&&x(null)},[]),O=(0,a.useRef)(!1),_=(0,a.useRef)(!1),[W,q]=(0,a.useState)("terminal"),K={view:W,buttons:eI.map(e=>({view:e,selected:e===W}))},V=(0,a.useCallback)(e=>{q(t=>"observe"===e&&"observe"===t?"terminal":e)},[]),[Z,G]=(0,a.useState)(!!s),[J,X]=(0,a.useState)([]),[ee,et]=(0,a.useState)(),[er,en]=(0,a.useState)(new Map),[ea,el]=(0,a.useState)("loading"),[es,ei]=(0,a.useState)(null),[eo,ec]=(0,a.useState)(null),eu=(0,a.useRef)(!1),em=null!=(r=null==es?void 0:es.id)?r:null,ep=es?(0,ey.x3)(es):null,[eb,ef]=(0,a.useState)("raw"),[ek,ez]=(0,a.useState)(new Map),[eP,eU]=(0,a.useState)(new Map),[eM,eD]=(0,a.useState)({status:"unrequested"}),eL=(0,a.useRef)(0),e$=(0,a.useRef)(0);(0,a.useEffect)(()=>{if("terminal"!==W&&"pty-list"!==W)return;let e=!1;el("loading");let t=setTimeout(()=>{(async()=>{try{let[t,r]=await Promise.all([o.listTerminals((0,ey.tC)(Z)),o.listProgressFrames().catch(e=>((0,y.cY)("webterm.pty-list.progress.error",{reason:String(e)}),null))]);if(e)return;X((0,ey.xu)(t.terminals)),et(t.scope),en(r?(0,ey.gA)(r.logs):new Map),el("idle")}catch(t){if(e)return;X([]),et(void 0),en(new Map),el("error"),(0,y.cY)("webterm.pty-list.error",{reason:String(t)})}})()},"terminal"!==W||s?0:1200);return()=>{e=!0,clearTimeout(t)}},[o,Z,W,s]),(0,a.useEffect)(()=>{null===ep||J.some(e=>(0,ey.x3)(e)===ep)||(eL.current+=1,e$.current+=1,ei(null),eD({status:"unrequested"}))},[J,ep]);let eF=(0,a.useCallback)((e,t)=>{let{id:r}=e,n=(0,ey.x3)(e),a=++eL.current;if("raw"===t){ez(e=>new Map(e).set(n,{status:"loading"})),o.fetchTerminalScrollback(e.id,100,eY(e)).then(e=>{eL.current===a&&e.id===r&&ez(t=>new Map(t).set(n,{status:"ready",scrollback:e.scrollback}))}).catch(e=>{eL.current===a&&(ez(e=>new Map(e).set(n,{status:"error"})),(0,y.cY)("webterm.pty-list.scrollback.error",{id:r,reason:String(e)}))});return}eU(e=>new Map(e).set(n,{status:"loading"})),o.fetchTerminalFrame(e.id,eY(e)).then(e=>{eL.current===a&&e.id===r&&eU(t=>new Map(t).set(n,{status:"ready",frame:e.frame,frameAt:e.frameAt,frameSource:e.frameSource}))}).catch(e=>{eL.current===a&&(eU(e=>new Map(e).set(n,{status:"error"})),(0,y.cY)("webterm.pty-list.frame.error",{id:r,reason:String(e)}))})},[o]),eQ=(0,a.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],{id:r}=e;if(t&&(T(!1),A(e),null==i||i(e)),ep===(0,ey.x3)(e))return;let n=++e$.current;ei(e),eD({status:"loading"}),eF(e,eb),o.fetchTerminalLineage(r).then(e=>{e$.current===n&&e.key===r&&eD({status:"ready",lineage:e})}).catch(e=>{e$.current===n&&(eD({status:"error"}),(0,y.cY)("webterm.pty-list.lineage.error",{id:r,reason:String(e)}))})},[o,i,eb,eF,ep]);(0,a.useEffect)(()=>{if(eu.current||"loading"===ea||(eu.current=!0,!s))return;if("error"===ea){ec({kind:"list-unavailable"}),q("pty-list"),(0,y.cY)("webterm.initial-pty-selection",{ptyId:s,kind:"list-unavailable",reason:"pty-list-error"});return}let e=(0,ey.hH)(s,J);ec(e),"selected"!==e.kind&&q("pty-list"),(0,y.cY)("webterm.initial-pty-selection",{ptyId:s,kind:e.kind,reason:e.reason}),"selected"===e.kind&&(eQ(e.terminal),A(e.terminal))},[eQ,s,ea,J]);let eO=(0,a.useCallback)(e=>{e!==eb&&(ef(e),es&&eF(es,e))},[eb,eF,es]),eH=(0,a.useCallback)(async e=>{var t;let r=window.prompt("새 PTY 이름을 입력하세요.",null!=(t=e.nickname)?t:"");if(null!==r)try{let t=await o.renameTerminal(e.id,r),n=function(e){switch(e.status){case"success":return"PTY 이름을 '".concat(e.name,"'(으)로 바꿨습니다.");case"invalid-name":return"이 이름은 사용할 수 없습니다. 다른 이름을 입력해 주세요.";case"unknown-pty":return"이 PTY를 찾을 수 없습니다. 목록을 새로고침한 뒤 다시 시도해 주세요.";case"denied":return"이 PTY의 이름을 바꿀 권한이 없습니다.";case"failed":return"PTY 이름 변경에 실패했습니다. 잠시 후 다시 시도해 주세요.";case"owner-unreachable":return"PTY 소유 프로세스에 연결할 수 없어 이름을 바꾸지 못했습니다.";default:return e}}(t);"success"===t.status?l.oR.success(n):l.oR.error(n)}catch(e){l.oR.error("PTY 이름 변경 요청에 실패했습니다: ".concat(String(e)))}},[o]),e_=(0,a.useMemo)(()=>(0,ey.lH)(Z,J,ee,ep,ek,eb,eP),[eP,Z,J,ee,eb,ek,ep]),eB=(0,a.useMemo)(()=>(0,ey.Kh)(em,eM),[eM,em]),eW=(0,a.useMemo)(()=>(function(e,t){let r=t.trim();return r?{layouts:e.layouts.filter(e=>{let{slots:t}=e;return t.some(e=>e.terminalId===r)}).map(e=>({runId:e.runId,slots:e.slots.map(e=>({...e}))})),unknown:e.unknown.map(e=>({...e}))}:{layouts:[],unknown:e.unknown.map(e=>({...e}))}})(null===E&&(null===s||I)?eC(eS(J)):eC(eS(J.filter(e=>{var t;return e.id!==(null!=(t=null==E?void 0:E.id)?t:s)&&N.includes(e.id)}))),null!=h?h:""),[J,N,E,I,s,h]);(0,a.useEffect)(()=>{if(O.current||s||"loading"===ea)return;if(0===J.length){_.current||(_.current=!0,(0,y.cY)("webterm.initial-selection",{skipped:!0,reason:"no-terminals",listState:ea}));return}O.current=!0;let e=(0,ey.Dw)({storedId:null,fallbackId:h,terminals:J});(0,y.cY)("webterm.initial-selection",{terminalId:e.terminalId,reason:e.reason,rowCount:J.length}),e.terminalId!==h&&x(e.terminalId)},[J,ea]);let[eq,eK]=(0,a.useState)(0),[eV,eZ]=(0,a.useState)(!1),[eG,eJ]=(0,a.useState)(!0),[eX,e0]=(0,a.useState)(!1),[e1,e2]=(0,a.useState)(0),[e5,e3]=(0,a.useState)(null),e7=(0,a.useCallback)(e=>{e3({intent:e,nonce:Date.now()})},[]),e4=(0,a.useRef)(null),[e9,e6]=(0,a.useState)("none"),e8=(0,a.useRef)(e9);e8.current=e9;let te=(0,a.useRef)(h);te.current=h;let tt=(0,a.useCallback)(e=>{let t=e.trim();if(!t)return;let r=e8.current;if("controls"===r){let e=te.current;if(!e)return;if(!(0,P.WP)(e,t+" ")){(0,y.cY)("webterm.voice.stdin-inject-failed",{len:t.length,terminalId:e,reason:"no-sender"}),l.oR.error("터미널 입력 전송 실패 — 터미널 연결을 확인하고 다시 말해 주세요.");return}(0,y.cY)("webterm.voice.stdin-inject",{len:t.length,terminalId:e})}else if("dock"===r){var n;null==(n=e4.current)||n.submitVoiceTranscript(t)}else(0,y.cY)("webterm.voice.transcript-no-source",{len:t.length})},[]),tr=o.voiceWsUrl(),tn=(0,ev.sS)({wsUrl:tr,...c.token?{token:c.token}:{},onTranscript:tt}),ta=(0,a.useMemo)(()=>eh(),[]),tl=!c.baseUrl||!ta.isSecure,ts=(0,a.useCallback)(()=>{tn.active&&"dock"===e9?(e6("none"),tn.toggle()):(e6("dock"),tn.active||tn.toggle())},[tn,e9]),ti=(0,a.useCallback)(()=>{tn.active&&"controls"===e9?(e6("none"),tn.toggle()):(e6("controls"),tn.active||tn.toggle())},[tn,e9]),to=(0,a.useMemo)(()=>({active:tn.active&&"dock"===e9,phase:tn.phase,dotColor:ew.x[tn.phase],phaseLabel:ew.g[tn.phase],disabled:tl,onToggle:ts}),[tn.active,tn.phase,e9,tl,ts]),tc=(0,a.useMemo)(()=>({active:tn.active&&"controls"===e9,phase:tn.phase,dotColor:ew.x[tn.phase],phaseLabel:ew.g[tn.phase],disabled:tl,onToggle:ti}),[tn.active,tn.phase,e9,tl,ti]),td=(0,a.useRef)(ts);td.current=ts,(0,a.useEffect)(()=>{let e=e=>{"m"===e.key.toLowerCase()&&e.shiftKey&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),(0,y.cY)("webterm.voice.shortcut.toggle"),eJ(!0),td.current())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,a.useEffect)(()=>{let e=window.localStorage.getItem(eT);e&&e.length>0&&(!s||e!==s)&&(x(e),O.current=!0),"1"===window.localStorage.getItem(eE)&&eZ(!0),"0"===window.localStorage.getItem(eA)&&eJ(!1)},[]);let tu=(0,a.useCallback)(async e=>{if(!u||!h||0===e.length)return;let t=e.map(e=>e.path).filter(e=>"string"==typeof e&&e.length>0);if(0===t.length)return void(0,y.cY)("webterm.attach.no-path",{count:e.length});let r=await eg({terminalId:h,paths:t});if(r.injected){let e=1===t.length?"터미널에 path 첨부됨":"".concat(t.length," paths 터미널에 첨부됨"),n=r.copied?" \xb7 clipboard 도 복사":"";l.oR.success(e+n)}else l.oR.error("터미널 inject 실패 — 직접 paste 해주세요")},[o,u,h]),tm=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{type:"button","aria-pressed":K.buttons[0].selected,onClick:()=>{A(null),T(!0),V("terminal")},className:"rounded px-2 py-1 text-xs ".concat(K.buttons[0].selected?"bg-emerald-700 text-white":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"),children:"터미널"}),(0,n.jsxs)("button",{type:"button","aria-pressed":K.buttons[1].selected,onClick:()=>{A(null),T(!0),V("observe")},className:"rounded px-2 py-1 text-xs ".concat(K.buttons[1].selected?"bg-emerald-700 text-white":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"),title:"자기신고하는 elanous 대시보드 TUI 를 라이브로 관측(읽기 전용)",children:["\uD83D\uDDA5 TUI 관측 ",K.buttons[1].selected?"ON":"OFF"]}),(0,n.jsx)("button",{type:"button","aria-pressed":K.buttons[2].selected,onClick:()=>{A(null),T(!0),V("pty-list")},className:"rounded px-2 py-1 text-xs ".concat(K.buttons[2].selected?"bg-emerald-700 text-white":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"),children:"PTY 목록"}),(0,n.jsx)("button",{type:"button","aria-pressed":null!==Y,onClick:()=>R(e=>null===e?[]:null),className:"rounded px-2 py-1 text-xs ".concat(null!==Y?"bg-emerald-700 text-white":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"),"data-elanous-action":"pty-wall",children:"▦ 나란히"})]}),tp=h&&(0,n.jsx)(z,{terminalId:h,onClear:()=>j(e=>{var t;return{...e,[h]:(null!=(t=e[h])?t:0)+1}}),onRecordingChange:e0,onAttached:tu,voice:tc,variant:p?"sheet":"default"});return(0,n.jsxs)("div",{className:"flex h-full flex-col",children:[(0,n.jsx)(f.ZO,{variant:p?"sheet":"default",renderSheet:e=>{let{tabs:t,status:r,onSwitch:a,onAdd:l,actions:s}=e;return(0,n.jsxs)(g,{activeId:h,tabs:t,status:r,onSwitch:a,onAdd:l,actions:s,children:[tm,tp]})},activeId:h,onActiveChange:e=>{x(e),window.localStorage.setItem(eT,e),A(null),T(!0),q("terminal")},onInitialTerminalState:F,minimized:eV,onToggleMinimize:()=>{eZ(e=>{let t=!e;return window.localStorage.setItem(eE,t?"1":"0"),t})},recording:eX,peerCount:e1,chatDockOpen:eG,onToggleChatDock:()=>{if(eV){eZ(!1),window.localStorage.setItem(eE,"0"),eJ(!0),window.localStorage.setItem(eA,"1");return}eJ(e=>{let t=!e;return window.localStorage.setItem(eA,t?"1":"0"),requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))}),t})},tabIntent:e5,onTabsChange:C,suspendInitialSpawn:!!s&&!I}),$.fallbackBanner&&(0,n.jsx)("p",{className:"border-b border-amber-700/50 bg-amber-950/30 px-3 py-1 text-xs text-amber-200",role:"status",children:$.fallbackBanner}),(0,n.jsx)(ex,{}),!p&&(0,n.jsx)("div",{className:eV?"hidden":"flex items-center gap-2 border-b border-zinc-800 px-3 py-1",children:tm}),h?(0,n.jsxs)("div",{className:eV||"terminal"!==W||null!==E||s&&!I?"hidden":"contents",children:[p?(0,n.jsx)("div",{className:"hidden",children:(0,n.jsx)(H,{foreignActivityTick:eq,onPeerCountChange:e2})}):(0,n.jsx)(H,{foreignActivityTick:eq,onPeerCountChange:e2}),!p&&tp,m&&(0,n.jsx)(Q,{terminalId:h}),(0,n.jsx)(B,{onAttached:tu})]}):null,(0,n.jsxs)("div",{className:"relative flex-1 min-h-0",children:[null!==Y&&(0,n.jsx)("div",{className:U?"fixed inset-0 z-50":"absolute inset-0 z-20","data-pty-wall-stage":U?"1":void 0,children:(0,n.jsx)(b,{rows:J,client:o,initial:Y,stage:U,onClose:()=>{R(null);let e=new URLSearchParams(window.location.search);e.delete("wall"),window.history.replaceState(null,"","".concat(window.location.pathname).concat(e.toString()?"?".concat(e):""))}})}),(0,n.jsx)(eR,{layout:eW,sessionId:u,terminalIds:N.filter(e=>e!==(null==E?void 0:E.id)&&(I||e!==s)),activeId:h&&(h===(null==E?void 0:E.id)||!I&&h===s)?null:h,clearRequests:k,visible:null!==h&&"terminal"===W&&null===E&&(!s||I),onForeignInputActivity:()=>eK(e=>e+1)}),E&&(0,n.jsx)(d,{terminal:E,client:o,onClose:()=>{T(!0),A(null),V("terminal")}},(0,ey.x3)(E)),E||"terminal"!==W||h&&(!s||I)?E?null:"pty-list"===W?(0,n.jsxs)("div",{className:"h-full overflow-auto p-3","aria-label":"데몬 PTY 목록",children:[(0,n.jsxs)("label",{className:"mb-3 flex items-center gap-2 text-sm",children:[(0,n.jsx)("input",{type:"checkbox",checked:e_.includeAll,onChange:e=>G(e.target.checked)}),"다른 인스턴스도 보기"]}),e_.scopeSummary&&(0,n.jsx)("p",{className:"mb-3 text-xs text-muted-foreground","aria-label":"PTY 목록 범위 요약",children:e_.scopeSummary}),(null==eo?void 0:eo.kind)==="ambiguous"&&(0,n.jsxs)("p",{className:"mb-3 text-xs text-amber-500",role:"status","aria-label":"URL PTY 선택 상태",children:["주소의 PTY ",s,"가 ",eo.candidates.length,"개 행과 맞아 선택하지 않았습니다."]}),(null==eo?void 0:eo.kind)==="list-unavailable"&&(0,n.jsxs)("p",{className:"mb-3 text-xs text-rose-500",role:"status","aria-label":"URL PTY 선택 상태",children:["PTY 목록을 읽지 못해 주소의 PTY ",s,"를 확인할 수 없습니다. 목록이 비었다는 뜻이 \xab아닙니다\xbb."]}),(null==eo?void 0:eo.kind)==="not-found"&&(0,n.jsxs)("p",{className:"mb-3 text-xs text-rose-500",role:"status","aria-label":"URL PTY 선택 상태",children:["주소의 PTY ",s,"를 찾지 못했습니다 (",eo.reason,")."]}),(null==(t=e_.rows.find(e=>e.view))||null==(e=t.view)?void 0:e.visible)&&(0,n.jsx)("div",{className:"mb-3 flex gap-2","aria-label":"PTY 화면 보기",children:e_.rows.find(e=>e.view).view.modes.map(e=>(0,n.jsx)("button",{type:"button","aria-pressed":e.selected,onClick:()=>eO(e.mode),className:"rounded px-2 py-1 text-xs ".concat(e.selected?"bg-emerald-700 text-white":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"),children:e.label},e.mode))}),"loading"===ea?(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"PTY 목록을 불러오는 중…"}):"error"===ea?(0,n.jsx)("p",{className:"text-sm text-rose-500",children:"PTY 목록을 불러오지 못했습니다."}):0===J.length?(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"데몬이 아는 PTY가 없습니다."}):(0,n.jsx)("ul",{className:"space-y-2",children:e_.rows.map(e=>{let{terminal:t}=e,r=function(e){var t,r,n;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),l=e.name||e.id,s=function(e,t,r){let n=[e,t].filter(Boolean).join("/")||r;if(!n||!e||n.length<=32)return n&&ej(n);if(!t)return e.length<=32?e:"…".concat(e.slice(-31));let a=32-e.length-2;return a<=0?e.length<=32?e:"…".concat(e.slice(-31)):"".concat(e,"/…").concat(t.slice(-a))}(e.treeName,e.worktreeName,e.workdir),i=function(e){var t;if(!(null==e?void 0:e.name)&&!(null==e?void 0:e.dbPath))return null;let r=[e.name&&ej(e.name),e.dbPath&&((t=e.dbPath).length<=32?t:"".concat(t.slice(0,31),"…"))].filter(e=>!!e);return"세션: ".concat(r.join(" \xb7 "))}(e.sourceRoot),o=eN(e.startedAt,a),c=void 0===e.lastControlAt?null:eN(e.lastControlAt,a);return{title:l,details:[...l===e.id?[]:[e.id],...e.status?["상태: ".concat(e.status)]:[],...e.kind?["종류: ".concat(e.kind)]:[],...e.nickname?["별명: ".concat(ej(e.nickname))]:[],...s?["위치: ".concat(s)]:[],e.alive?"생존: 실행 중":0===e.exitCode?"종료: 정상 종료 (exit 0)":"number"==typeof e.exitCode?"종료: 비정상 종료 (exit ".concat(e.exitCode,")"):"종료: 종료 코드 미상",function(e){if("direct-human"===e.terminalOriginCategory)return"출처: 사람";if("elanous"===e.terminalOriginCategory)return"출처: elanous";if("external-tool"===e.terminalOriginCategory)return e.externalToolName?"출처: 외부 도구 \xb7 ".concat(ej(e.externalToolName)):"출처: 외부 도구";let t=e.terminalOriginReason?" \xb7 ".concat(ej(e.terminalOriginReason)):"";return"출처: 이 행에서는 알 수 없음".concat(t)}(e),...e.controller?["통제: ".concat(ej(e.controller))]:[],"write"===(t=e.accessMode)?"접근: 쓰기":"read"===t?"접근: 읽기":"auto"===t?"접근: 자동":"접근: 이 행에서는 알 수 없음","running"===(r=e.ownerRunUsage)?"소유 런: 실행 중":"terminated-live-owner"===r?"소유 런: 종료됐지만 터미널 유지":"no-run-id"===r?"소유 런: 소유 런 정보 없음":"소유 런: 이 행에서는 알 수 없음",...e.instance?["우주: ".concat(ej(e.instance))]:[],...e.runId?["런: ".concat((n=e.runId).length<=8?n:"".concat(n.slice(0,8),"…"))]:[],...i?[i]:[],...o?["시작: ".concat(o)]:[],"마지막 제어: ".concat(null!=c?c:"이 행에서는 알 수 없음")]}}(t),a=er.get(t.id);return(0,n.jsxs)("li",{className:"rounded border p-2 text-sm ".concat(e.selected?"border-emerald-500":"border-border"),children:[(0,n.jsxs)("button",{type:"button",className:"w-full text-left","aria-pressed":e.selected,onClick:()=>eQ(t,!0),children:[(0,n.jsx)("p",{className:"font-medium",children:r.title}),r.details.map((e,r)=>(0,n.jsx)("p",{className:0===r?"font-mono text-xs text-muted-foreground":"text-xs text-muted-foreground",children:e},"".concat(t.id,"-").concat(e))),a&&(0,n.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground","aria-label":"현재 활동: ".concat("complete"===a.status?"완료":"진행 중"),children:["complete"===a.status?"완료":"진행 중",": ",a.line,a.hasMissingFrames?" \xb7 일부 진행 프레임 누락":""]})]}),(0,n.jsx)("button",{type:"button",className:"mt-2 rounded bg-zinc-800 px-2 py-1 text-xs text-zinc-100 hover:bg-zinc-700",onClick:()=>{eH(t)},children:"이름 바꾸기"}),e.selected&&eB&&(0,n.jsxs)("section",{className:"mt-2 rounded bg-zinc-900 p-2 text-xs","aria-label":"선택 PTY 계보",children:[(0,n.jsx)("p",{className:"font-medium",children:"계보"}),"loading"===eB.kind&&(0,n.jsx)("p",{className:"text-muted-foreground",children:"계보를 불러오는 중…"}),"error"===eB.kind&&(0,n.jsx)("p",{className:"text-rose-400",children:"계보를 불러오지 못했습니다."}),"empty"===eB.kind&&(0,n.jsx)("p",{className:"text-muted-foreground",children:"연결된 다른 화면이 없습니다."}),eB.unreadablePayloadsSummary&&(0,n.jsx)("p",{className:"text-muted-foreground",children:eB.unreadablePayloadsSummary}),eB.groups.map(e=>(0,n.jsxs)("div",{className:"mt-2",children:[(0,n.jsxs)("p",{className:"font-mono",children:["묶음: ",e.joinedBy," \xb7 ",e.key]}),(0,n.jsx)("ul",{className:"mt-1 space-y-1",children:e.rows.map(e=>(0,n.jsxs)("li",{className:e.selected?"rounded bg-emerald-900 px-1 text-emerald-100":"",children:[e.selected?"현재 선택 \xb7 ":"",e.ptyId," \xb7 ",e.kind," \xb7 ",e.instance," \xb7 ",(0,ey.cl)(e.alive,e.closed)," \xb7 시작 ",(0,ey.OZ)(e.startedAt)]},e.ptyId))})]},"".concat(e.joinedBy,"-").concat(e.key)))]}),e.view&&(0,n.jsxs)("div",{className:"mt-2",children:[e.view.display.frameInfo&&(0,n.jsx)("p",{className:"mb-1 font-mono text-xs text-muted-foreground","aria-label":"렌더 화면 정보",children:e.view.display.frameInfo}),e.view.display.frameMetadata&&(0,n.jsxs)("p",{className:"mb-1 text-xs text-muted-foreground","aria-label":"렌더 프레임 메타데이터",children:["관측: ",e.view.display.frameMetadata.frameAt," \xb7 출처: ",e.view.display.frameMetadata.frameSource]}),(0,n.jsx)("pre",{className:"whitespace-pre-wrap rounded bg-zinc-950 p-2 text-xs ".concat("error"===e.view.display.kind?"text-rose-400":"text-zinc-100"),children:e.view.display.text})]})]},(0,ey.x3)(t))})})]}):"observe"===W?(0,n.jsx)(S,{sessionId:u},u):null:(0,n.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 text-sm text-muted-foreground",role:"status","aria-live":"polite",children:[(null==eo?void 0:eo.kind)==="list-unavailable"&&(0,n.jsxs)("p",{className:"text-xs text-rose-500","aria-label":"URL PTY 선택 상태",children:["PTY 목록을 읽지 못해 주소의 PTY ",s,"를 확인할 수 없습니다. 목록이 비었다는 뜻이 \xab아닙니다\xbb."]}),(0,n.jsx)("span",{children:$.placeholder})]})]}),h&&!eV&&"terminal"===W&&!E&&(!s||I)&&(0,n.jsx)(ed,{ref:e4,terminalId:h,open:eG,onTabIntent:e7,voice:to})]})}},72956:(e,t,r)=>{r.d(t,{bu:()=>s});let n={ctrl:!1,alt:!1};function a(e){if(!e.ctrl&&!e.alt)return null;let t=0;return e.alt&&(t+=2),e.ctrl&&(t+=4),1+t}let l={up:"A",down:"B",right:"C",left:"D"};function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n;switch(e){case"esc":return t.alt?"\x1b\x1b":"\x1b";case"tab":return t.alt?"\x1b ":" ";case"pageup":case"pagedown":{let r="pageup"===e?5:6,n=a(t);return null===n?"\x1b[".concat(r,"~"):"\x1b[".concat(r,";").concat(n,"~")}case"up":case"down":case"left":case"right":{let r=l[e],n=a(t);return null===n?"\x1b[".concat(r):"\x1b[1;".concat(n).concat(r)}}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7395],{5997:(e,t,n)=>{n.d(t,{Zr:()=>o,f6:()=>a,oD:()=>l});let i="elanous.daemon.sessionId";function a(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"s-".concat(Date.now().toString(36),"-").concat(Math.random().toString(36).slice(2,10))}function l(){let e=function(){let e=new URLSearchParams(window.location.search).get("session");return e?(localStorage.setItem(i,e),e):localStorage.getItem(i)}();if(e)return e;let t=a();return localStorage.setItem(i,t),t}function o(){let e=a();return localStorage.setItem(i,e),e}},9734:(e,t,n)=>{n.d(t,{$:()=>s});var i=n(55539),a=n(89545),l=n(17154),o=n(44373);let r=(0,l.F)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function s(e){let{className:t,variant:n="default",size:l="default",...s}=e;return(0,i.jsx)(a.$,{"data-slot":"button",className:(0,o.cn)(r({variant:n,size:l,className:t})),...s})}},15151:(e,t,n)=>{n.d(t,{C:()=>d,DaemonProvider:()=>u,Q:()=>p});var i=n(55539),a=n(46124),l=n(8101),o=n(5997),r=n(18060),s=n(72215);let d=(0,a.createContext)(null);function u(e){let{children:t}=e,n={baseUrl:"",token:"",provider:""},[u,p]=(0,a.useState)(n),[g,c]=(0,a.useState)(""),[m]=(0,a.useState)(()=>new r.ki(n));(0,a.useEffect)(()=>{let e=(0,l.Fp)();p(e),m.updateConfig(e),c((0,o.oD)()),(0,s.cY)("webterm.provider.daemon.init",{baseUrl:e.baseUrl,hasToken:!!e.token})},[m]),(0,a.useEffect)(()=>{let e=e=>{if("elanous.daemon.token"===e.key||"elanous.nexus.baseUrl"===e.key){let t=(0,l.Fp)();m.updateConfig(t),p(t),(0,s.cY)("webterm.provider.daemon.config-cross-tab",{key:e.key,hasToken:!!t.token});return}"elanous.daemon.sessionId"===e.key&&e.newValue&&c(t=>t===e.newValue?t:((0,s.cY)("webterm.provider.daemon.session-cross-tab",{previous:t||"(empty)",next:e.newValue}),e.newValue))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[m]);let h=e=>{p(t=>{let n={...t,...e};return(0,l.Qc)(e),m.updateConfig(n),(0,s.cY)("webterm.provider.daemon.config-update",{keys:Object.keys(e)}),n})},b=e=>{c(e),localStorage.setItem("elanous.daemon.sessionId",e),(0,s.cY)("webterm.provider.daemon.session-set",{sessionId:e})},f=(0,a.useMemo)(()=>({config:u,setConfig:h,client:m,sessionId:g,setSessionId:b}),[u,m,g]);return(0,i.jsx)(d.Provider,{value:f,children:t})}function p(){let e=(0,a.useContext)(d);if(!e)throw Error("useDaemon must be used inside <DaemonProvider>");return e}},44373:(e,t,n)=>{n.d(t,{cn:()=>l});var i=n(20852),a=n(30984);function l(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.QP)((0,i.$)(t))}},53060:(e,t,n)=>{n.d(t,{Bg:()=>u,D9:()=>m,K0:()=>r,LW:()=>a,Ql:()=>i,T0:()=>c,YS:()=>s,eP:()=>b,f7:()=>h,j$:()=>l,mp:()=>o,nX:()=>d});let i=["budget","balanced","better","best","loaded"],a={budget:"Budget",balanced:"Balanced",better:"Better",best:"Best",loaded:"Loaded"},l="balanced";function o(e){return"string"==typeof e&&i.includes(e)}function r(e){return i.indexOf(e)}let s={budget:{label:"Local (whisper.cpp)",rationale:"Offline \xb7 $0/min \xb7 install local whisper.cpp first",usdPerMinAudio:0,loadedExtraUsdPerMin:0,provider:"whisper-cpp-local",model:"whisper.cpp",status:"wip"},balanced:{label:"OpenAI mini transcribe",rationale:"Sensible default \xb7 streaming \xb7 $0.003/min",usdPerMinAudio:.003,loadedExtraUsdPerMin:0,provider:"openai-realtime-stt",model:"gpt-4o-mini-transcribe",status:"shipping"},better:{label:"OpenAI gpt-4o transcribe",rationale:"Higher accuracy \xb7 still streaming \xb7 $0.006/min",usdPerMinAudio:.006,loadedExtraUsdPerMin:0,provider:"openai-realtime-stt",model:"gpt-4o-transcribe",status:"shipping"},best:{label:"OpenAI gpt-realtime-whisper",rationale:"Best accuracy \xb7 domain adaptation \xb7 $0.017/min",usdPerMinAudio:.017,loadedExtraUsdPerMin:0,provider:"openai-realtime-stt",model:"gpt-realtime-whisper",status:"shipping"},loaded:{label:"OpenAI gpt-realtime-whisper \xb7 loaded",rationale:"Loaded \xb7 logprobs + timestamps + tightest latency \xb7 ~$0.025/min",usdPerMinAudio:.017,loadedExtraUsdPerMin:.008,provider:"openai-realtime-stt",model:"gpt-realtime-whisper",status:"shipping"}};function d(e,t){return!Number.isFinite(t)||t<=0?0:30*t*function(e){let t=s[e];return t.usdPerMinAudio+t.loadedExtraUsdPerMin}(e)}function u(e){return!Number.isFinite(e)||e<=0?"$0/mo":e<.01?"<$0.01/mo":e<10?"$".concat(e.toFixed(2),"/mo"):e<100?"$".concat(e.toFixed(1),"/mo"):"$".concat(Math.round(e),"/mo")}let p={budget:{model:"claude-haiku-4-5",reasoningLevel:"off",label:"Claude Haiku 4.5",rationale:"Fast \xb7 cheap \xb7 default for most chat",status:"shipping"},balanced:{model:"claude-haiku-4-5",reasoningLevel:"off",label:"Claude Haiku 4.5",rationale:"Default \xb7 fast multi-turn",status:"shipping"},better:{model:"claude-sonnet-4-6",reasoningLevel:"low",label:"Claude Sonnet 4.6 \xb7 reasoning low",rationale:"Higher quality \xb7 reasoning hint",status:"shipping"},best:{model:"claude-opus-4-7",reasoningLevel:"medium",label:"Claude Opus 4.7 \xb7 reasoning medium",rationale:"Best reasoning \xb7 longer plans",status:"shipping"},loaded:{model:"claude-opus-4-7",reasoningLevel:"high",label:"Claude Opus 4.7 \xb7 extended thinking",rationale:"Loaded \xb7 extended thinking \xb7 multi-step depth",status:"shipping"}},g={anthropic:p,openai:{budget:{model:"gpt-4o-mini",reasoningLevel:"off",label:"GPT-4o-mini",rationale:"Fast \xb7 cheap",status:"shipping"},balanced:{model:"gpt-4o-mini",reasoningLevel:"off",label:"GPT-4o-mini",rationale:"Default \xb7 multi-turn",status:"shipping"},better:{model:"gpt-4o",reasoningLevel:"off",label:"GPT-4o",rationale:"Higher quality \xb7 multimodal",status:"shipping"},best:{model:"o1",reasoningLevel:"medium",label:"o1 \xb7 reasoning medium",rationale:"Best reasoning \xb7 slower",status:"shipping"},loaded:{model:"o1",reasoningLevel:"high",label:"o1 \xb7 reasoning high",rationale:"Loaded \xb7 deep multi-step reasoning",status:"shipping"}},gemini:{budget:{model:"gemini-2.5-flash",reasoningLevel:"off",label:"Gemini 2.5 Flash",rationale:"Fast \xb7 cheap",status:"shipping"},balanced:{model:"gemini-2.5-flash",reasoningLevel:"off",label:"Gemini 2.5 Flash",rationale:"Default \xb7 low-latency",status:"shipping"},better:{model:"gemini-2.5-pro",reasoningLevel:"off",label:"Gemini 2.5 Pro",rationale:"Higher quality \xb7 larger context",status:"shipping"},best:{model:"gemini-2.5-pro",reasoningLevel:"medium",label:"Gemini 2.5 Pro \xb7 thinking",rationale:"Pro with reasoning hint",status:"shipping"},loaded:{model:"gemini-2.5-pro",reasoningLevel:"high",label:"Gemini 2.5 Pro \xb7 deep thinking",rationale:"Loaded \xb7 deep reasoning \xb7 slowest",status:"shipping"}},"openai-codex":{budget:{model:"codex-mini",reasoningLevel:"off",label:"codex-mini",rationale:"Light tasks \xb7 ChatGPT OAuth",status:"shipping"},balanced:{model:"gpt-5.4",reasoningLevel:"off",label:"GPT-5.4",rationale:"Default \xb7 multi-turn coding",status:"shipping"},better:{model:"gpt-5.4",reasoningLevel:"low",label:"GPT-5.4 \xb7 reasoning low",rationale:"Reasoning hint",status:"shipping"},best:{model:"gpt-5.4",reasoningLevel:"medium",label:"GPT-5.4 \xb7 reasoning medium",rationale:"Deeper reasoning",status:"shipping"},loaded:{model:"gpt-5.4",reasoningLevel:"high",label:"GPT-5.4 \xb7 reasoning high",rationale:"Loaded \xb7 deep multi-step",status:"shipping"}},local:{budget:{model:"qwen3.6-coder-7b",label:"Qwen 3.6 Coder 7B",rationale:"Offline \xb7 cheap \xb7 install LM Studio / Ollama",status:"wip"},balanced:{model:"qwen3.6-coder-7b",label:"Qwen 3.6 Coder 7B",rationale:"Default local \xb7 fast",status:"wip"},better:{model:"glm-4.5-air",label:"GLM 4.5 Air",rationale:"Higher quality local",status:"wip"},best:{model:"qwen3.6-32b",label:"Qwen 3.6 32B",rationale:"Best local \xb7 needs ≥48GB RAM",status:"wip"},loaded:{model:"qwen3.6-32b",reasoningLevel:"high",label:"Qwen 3.6 32B \xb7 multi-turn",rationale:"Loaded local \xb7 long context \xb7 slowest",status:"wip"}},kimi:{budget:{model:"moonshot-v1-8k",label:"Moonshot v1 8K",rationale:"Fast \xb7 cheap",status:"shipping"},balanced:{model:"moonshot-v1-32k",label:"Moonshot v1 32K",rationale:"Default",status:"shipping"},better:{model:"moonshot-v1-128k",label:"Moonshot v1 128K",rationale:"Higher quality \xb7 long context",status:"shipping"},best:{model:"kimi-k2.6",label:"Kimi K2.6 (1T MoE)",rationale:"Best \xb7 K2.6 flagship",status:"shipping"},loaded:{model:"kimi-k2.6",reasoningLevel:"high",label:"Kimi K2.6 \xb7 reasoning high",rationale:"Loaded \xb7 deep multi-step",status:"shipping"}},qwen:{budget:{model:"qwen-turbo",label:"Qwen Turbo",rationale:"Fast \xb7 cheap",status:"shipping"},balanced:{model:"qwen-plus",label:"Qwen Plus",rationale:"Default",status:"shipping"},better:{model:"qwen-max",label:"Qwen Max",rationale:"Higher quality",status:"shipping"},best:{model:"qwen3.6-max-235b",label:"Qwen 3.6 Max 235B",rationale:"Best \xb7 flagship",status:"shipping"},loaded:{model:"qwen3.6-max-235b",reasoningLevel:"high",label:"Qwen 3.6 Max 235B \xb7 reasoning high",rationale:"Loaded \xb7 deep multi-step",status:"shipping"}},glm:{budget:{model:"glm-4-flash",label:"GLM 4 Flash",rationale:"Fast \xb7 cheap",status:"shipping"},balanced:{model:"glm-4-air",label:"GLM 4 Air",rationale:"Default",status:"shipping"},better:{model:"glm-4-plus",label:"GLM 4 Plus",rationale:"Higher quality",status:"shipping"},best:{model:"glm-5.1",label:"GLM 5.1 (754B MoE)",rationale:"Best \xb7 GLM-5.1 flagship",status:"shipping"},loaded:{model:"glm-5.1",reasoningLevel:"high",label:"GLM 5.1 \xb7 reasoning high",rationale:"Loaded \xb7 deep multi-step",status:"shipping"}},grok:{budget:{model:"grok-4.20-non-reasoning",reasoningLevel:"off",label:"Grok 4.20 (non-reasoning)",rationale:"$1.25/$2.50 \xb7 2M context",status:"shipping"},balanced:{model:"grok-4.20",reasoningLevel:"low",label:"Grok 4.20 \xb7 reasoning low",rationale:"저가 워크호스 \xb7 2M context",status:"shipping"},better:{model:"grok-4.6",reasoningLevel:"medium",label:"Grok 4.6 \xb7 reasoning medium",rationale:"Flagship 500k \xb7 구현/판정",status:"shipping"},best:{model:"grok-4.6",reasoningLevel:"high",label:"Grok 4.6 \xb7 reasoning high",rationale:"Flagship 심층 \xb7 골분해/리뷰",status:"shipping"},loaded:{model:"grok-4.6",reasoningLevel:"high",label:"Grok 4.6 \xb7 reasoning high",rationale:"4.6 의 추론 상한이 high 라 best 와 같다",status:"shipping"}}},c={anthropic:"Anthropic",openai:"OpenAI",gemini:"Gemini","openai-codex":"OpenAI Codex",local:"Local",kimi:"Kimi",qwen:"Qwen",glm:"GLM",grok:"Grok"};function m(e){return"string"==typeof e&&Object.prototype.hasOwnProperty.call(g,e)}function h(e,t){return"auto"!==e&&m(e)?g[e][t]:p.balanced}let b={budget:{provider:"macos-say",model:"system",label:"macOS say (local)",rationale:"Free \xb7 offline \xb7 macOS only",usdPerCharacter:0,status:"shipping"},balanced:{provider:"openai-tts",model:"tts-1",label:"OpenAI TTS",rationale:"Default \xb7 $15/M chars \xb7 multi-voice",usdPerCharacter:15e-6,status:"shipping"},better:{provider:"openai-tts",model:"tts-1-hd",label:"OpenAI TTS HD",rationale:"Higher fidelity \xb7 $30/M chars",usdPerCharacter:3e-5,status:"shipping"},best:{provider:"elevenlabs-tts",model:"eleven_flash_v2_5",label:"ElevenLabs Flash v2.5",rationale:"Best \xb7 ~75ms latency \xb7 32 langs \xb7 $20/M chars",usdPerCharacter:2e-5,status:"shipping"},loaded:{provider:"elevenlabs-tts",model:"eleven_multilingual_v2",label:"ElevenLabs Multilingual v2",rationale:"Loaded \xb7 long-form fidelity \xb7 29 langs \xb7 ~$20/M chars",usdPerCharacter:2e-5,status:"shipping"}}},64655:(e,t,n)=>{n.d(t,{Ij:()=>r,Md:()=>g,Pv:()=>d,Pz:()=>s,ew:()=>c,gF:()=>u,lH:()=>m,oA:()=>p});var i=n(53060);let a="elanous.model-tier.prefs",l={audioMinPerDay:0};function o(e){return"number"!=typeof e||!Number.isFinite(e)||e<0?0:Math.min(e,1440)}function r(){if("undefined"==typeof localStorage)return{...l};try{let e=localStorage.getItem(a);if(!e)return{...l};let t=JSON.parse(e);return{stt:(0,i.mp)(t.stt)?t.stt:void 0,llm:(0,i.mp)(t.llm)?t.llm:void 0,tts:(0,i.mp)(t.tts)?t.tts:void 0,embedding:(0,i.mp)(t.embedding)?t.embedding:void 0,vision:(0,i.mp)(t.vision)?t.vision:void 0,audioMinPerDay:o(t.audioMinPerDay)}}catch(e){return{...l}}}function s(e){let t=r(),n={stt:void 0===e.stt?t.stt:(0,i.mp)(e.stt)?e.stt:void 0,llm:void 0===e.llm?t.llm:(0,i.mp)(e.llm)?e.llm:void 0,tts:void 0===e.tts?t.tts:(0,i.mp)(e.tts)?e.tts:void 0,embedding:void 0===e.embedding?t.embedding:(0,i.mp)(e.embedding)?e.embedding:void 0,vision:void 0===e.vision?t.vision:(0,i.mp)(e.vision)?e.vision:void 0,audioMinPerDay:void 0===e.audioMinPerDay?t.audioMinPerDay:o(e.audioMinPerDay)};if("undefined"!=typeof localStorage)try{localStorage.setItem(a,JSON.stringify(n))}catch(e){}return n}function d(){if("undefined"!=typeof localStorage)try{localStorage.removeItem(a)}catch(e){}return{...l}}function u(e){var t;return null!=(t=e.stt)?t:i.j$}function p(e){var t;return null!=(t=e.llm)?t:i.j$}function g(e){var t;return null!=(t=e.tts)?t:i.j$}function c(e){var t;return null!=(t=e.embedding)?t:i.j$}function m(e){var t;return null!=(t=e.vision)?t:i.j$}},65238:(e,t,n)=>{n.d(t,{Vl:()=>s,gh:()=>a,iQ:()=>l,s0:()=>r});var i=n(82068);async function a(e){if(!e.baseUrl)return null;try{let t=await fetch(e.baseUrl.replace(/\/$/,"")+"/v1/budget/status",{headers:function(e){let t={"content-type":"application/json"};return e.token&&(t.authorization="Bearer ".concat(e.token)),t}(e)});if(!t.ok)return null;return await t.json()}catch(e){return null}}async function l(e,t){let[n,a,l]=await Promise.all([(0,i.ZB)(e,t),(0,i.tM)(e,t),(0,i.pP)(e,t)]),o=["error","offline","syncing","idle","synced"];return[n,a,l].reduce((e,t)=>o.indexOf(t)<o.indexOf(e)?t:e,"synced")}function o(e,t){return"".concat("elanous.budget.dismissed.").concat(e,".").concat(t)}function r(e,t){if("undefined"!=typeof localStorage)try{localStorage.setItem(o(e,t),"1")}catch(e){}}function s(e){return!("ok"===e.status||!e.recommendedFallback||function(e,t){if("undefined"==typeof localStorage)return!1;try{return"1"===localStorage.getItem(o(e,t))}catch(e){return!1}}(e.monthYYYYMM,e.status))}},79689:(e,t,n)=>{n.d(t,{KS:()=>u,M_:()=>o,Qc:()=>a,ik:()=>d,lu:()=>s,u4:()=>l});let i="elanous.voice.prefs",a={speakingThresholdMultiplier:2},l=1,o=5;function r(e){return Number.isFinite(e)?Math.min(o,Math.max(l,e)):a.speakingThresholdMultiplier}function s(){if("undefined"==typeof localStorage)return{...a};try{let e=localStorage.getItem(i);if(!e)return{...a};let t=JSON.parse(e);return{speakingThresholdMultiplier:"number"==typeof t.speakingThresholdMultiplier?r(t.speakingThresholdMultiplier):a.speakingThresholdMultiplier}}catch(e){return{...a}}}function d(e){let t=s(),n={speakingThresholdMultiplier:"number"==typeof e.speakingThresholdMultiplier?r(e.speakingThresholdMultiplier):t.speakingThresholdMultiplier};if("undefined"==typeof localStorage)return n;try{localStorage.setItem(i,JSON.stringify(n))}catch(e){}return n}function u(){if("undefined"==typeof localStorage)return{...a};try{localStorage.removeItem(i)}catch(e){}return{...a}}},82068:(e,t,n)=>{n.d(t,{D4:()=>b,F$:()=>f,We:()=>h,ZB:()=>u,ee:()=>s,me:()=>r,pP:()=>c,tM:()=>g,zs:()=>m});var i=n(53060),a=n(64655);function l(e){let t={"content-type":"application/json"};return e.token&&(t.authorization="Bearer ".concat(e.token)),t}function o(e,t){return e.baseUrl.replace(/\/$/,"")+t}async function r(e){if(!e.baseUrl)return null;try{var t,n,a,r,s,d;let u=await fetch(o(e,"/v1/config/model-tier"),{headers:l(e)});if(!u.ok)return null;let p=await u.json(),g=null==(n=p.modelTier)||null==(t=n.voice)?void 0:t.stt,c=null==(r=p.modelTier)||null==(a=r.voice)?void 0:a.tts,m=null==(s=p.modelTier)?void 0:s.llm;return{...(0,i.mp)(g)?{stt:g}:{},...(0,i.mp)(m)?{llm:m}:{},...(0,i.mp)(c)?{tts:c}:{},..."number"==typeof(null==(d=p.budget)?void 0:d.monthlyUsdCap)?{monthlyUsdCap:p.budget.monthlyUsdCap}:{}}}catch(e){return null}}async function s(e){var t,n,i;let l=await r(e);if(!l)return null;let o=(0,a.Ij)();return(0,a.Pz)({stt:null!=(t=l.stt)?t:o.stt,llm:null!=(n=l.llm)?n:o.llm,tts:null!=(i=l.tts)?i:o.tts,audioMinPerDay:o.audioMinPerDay})}async function d(e,t){if(!e.baseUrl)return"offline";try{if(!(await fetch(o(e,"/v1/config/model-tier"),{method:"PUT",headers:l(e),body:JSON.stringify(t)})).ok)return"error";return"synced"}catch(e){if(e instanceof TypeError)return"offline";return"error"}}async function u(e,t){return null===t?(0,a.Pv)():(0,a.Pz)({stt:t}),d(e,null===t?{modelTier:null}:{modelTier:{voice:{stt:t}}})}function p(){let e=(0,a.Ij)(),t={},n={};return e.stt&&(n.stt=e.stt),e.tts&&(n.tts=e.tts),Object.keys(n).length>0&&(t.voice=n),e.llm&&(t.llm=e.llm),e.embedding&&(t.embedding=e.embedding),e.vision&&(t.vision=e.vision),0===Object.keys(t).length?null:t}async function g(e,t){return null===t?(0,a.Pz)({llm:void 0}):(0,a.Pz)({llm:t}),d(e,{modelTier:p()})}async function c(e,t){return null===t?(0,a.Pz)({tts:void 0}):(0,a.Pz)({tts:t}),d(e,{modelTier:p()})}async function m(e,t){return null===t?(0,a.Pz)({embedding:void 0}):(0,a.Pz)({embedding:t}),d(e,{modelTier:p()})}async function h(e,t){return null===t?(0,a.Pz)({vision:void 0}):(0,a.Pz)({vision:t}),d(e,{modelTier:p()})}async function b(e,t){if(!e.baseUrl)return"offline";let n={};if("undefined"!=typeof localStorage)try{let e=localStorage.getItem("elanous.tts-voice-map");e&&(n=JSON.parse(e))}catch(e){}let i={...n};for(let e of["default","chat","digest","alert","discord"])if(e in t){let n=t[e];null==n||""===n.trim()?delete i[e]:i[e]=n.trim()}let l=(0,a.Ij)(),o={};l.stt&&(o.stt=l.stt),l.tts&&(o.tts=l.tts),Object.keys(i).length>0&&(o.ttsVoice=i);let r={};return Object.keys(o).length>0&&(r.voice=o),l.llm&&(r.llm=l.llm),d(e,{modelTier:0===Object.keys(r).length?null:r})}async function f(e,t){if(!e.baseUrl)return"offline";if(null===t){let t=(0,a.Ij)(),n={},i={};return t.stt&&(i.stt=t.stt),t.tts&&(i.tts=t.tts),Object.keys(i).length>0&&(n.voice=i),t.llm&&(n.llm=t.llm),d(e,{modelTier:0===Object.keys(n).length?null:n})}if((0,a.Pz)({stt:t.tiers.stt,tts:t.tiers.tts,llm:t.tiers.llm}),t.ttsVoice&&"undefined"!=typeof localStorage)try{localStorage.setItem("elanous.tts-voice-map",JSON.stringify(t.ttsVoice))}catch(e){}let n=(0,a.Ij)(),i={};n.stt&&(i.stt=n.stt),n.tts&&(i.tts=n.tts),t.ttsVoice&&Object.keys(t.ttsVoice).length>0&&(i.ttsVoice=t.ttsVoice);let l={preset:t.id};Object.keys(i).length>0&&(l.voice=i),n.llm&&(l.llm=n.llm);let o={modelTier:l};return void 0!==t.monthlyUsdCap&&(o.budget={monthlyUsdCap:t.monthlyUsdCap}),d(e,o)}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7787],{1352:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(3704).A)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]])},3448:(e,t,r)=>{r.d(t,{N7:()=>l,Np:()=>o,SR:()=>u,Ui:()=>a,Xn:()=>i,dv:()=>n,jv:()=>s,zJ:()=>d});let n="none",a="trigger-press",l="trigger-hover",o="outside-press",u="close-press",i="focus-out",s="escape-key",d="imperative-action"},3704:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(46124);let a=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()},l=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var o={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let u=(0,n.createContext)({}),i=(0,n.forwardRef)((e,t)=>{var r,l,i;let{color:s,size:d,strokeWidth:c,absoluteStrokeWidth:f,className:h="",children:p,iconNode:y,...m}=e,{size:v=24,strokeWidth:g=2,absoluteStrokeWidth:k=!1,color:b="currentColor",className:j=""}=null!=(r=(0,n.useContext)(u))?r:{},w=(null!=f?f:k)?24*Number(null!=c?c:g)/Number(null!=d?d:v):null!=c?c:g;return(0,n.createElement)("svg",{ref:t,...o,width:null!=(l=null!=d?d:v)?l:o.width,height:null!=(i=null!=d?d:v)?i:o.height,stroke:null!=s?s:b,strokeWidth:w,className:a("lucide",j,h),...!p&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(m)&&{"aria-hidden":"true"},...m},[...y.map(e=>{let[t,r]=e;return(0,n.createElement)(t,r)}),...Array.isArray(p)?p:[p]])}),s=(e,t)=>{let r=(0,n.forwardRef)((r,o)=>{let{className:u,...s}=r;return(0,n.createElement)(i,{ref:o,iconNode:t,className:a("lucide-".concat(l(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),u),...s})});return r.displayName=l(e),r}},20187:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(86785).createAsyncLocalStorage)()},24541:(e,t,r)=>{r.d(t,{R:()=>n});function n(e){return e?.ownerDocument||document}},27143:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(3704).A)("messages-square",[["path",{d:"M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z",key:"1n2ejm"}],["path",{d:"M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1",key:"1qfcsi"}]])},31208:(e,t,r)=>{r.d(t,{default:()=>a.a});var n=r(66385),a=r.n(n)},34158:(e,t,r)=>{function n(e){let{reason:t,children:r}=e;return r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),r(80378)},37502:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(3704).A)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]])},47150:(e,t,r)=>{r.d(t,{B:()=>u});var n=r(46124);let a={...r.t(n,2)},l=0,o=a.useId;function u(e,t){if(void 0!==o){let r=o();return null!=e?e:t?"".concat(t,"-").concat(r):r}return function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"mui",[r,a]=n.useState(e),o=e||r;return n.useEffect(()=>{null==r&&(l+=1,a("".concat(t,"-").concat(l)))},[r,t]),o}(e,t)}},51706:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(3704).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},51748:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(3704).A)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]])},53987:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(3704).A)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},58603:(e,t,r)=>{var n=r(99027);r.o(n,"useParams")&&r.d(t,{useParams:function(){return n.useParams}}),r.o(n,"usePathname")&&r.d(t,{usePathname:function(){return n.usePathname}}),r.o(n,"useRouter")&&r.d(t,{useRouter:function(){return n.useRouter}}),r.o(n,"useSearchParams")&&r.d(t,{useSearchParams:function(){return n.useSearchParams}})},59957:(e,t,r)=>{r.d(t,{EW:()=>o,RS:()=>a,gR:()=>l});var n=r(94205);function a(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function l(e,t){if(!e||!t)return!1;let r=t.getRootNode?.();if(e.contains(t))return!0;if(r&&(0,n.Ng)(r)){let r=t;for(;r;){if(e===r)return!0;r=r.parentNode||r.host}}return!1}function o(e){return"composedPath"in e?e.composedPath()[0]:e.target}},61034:(e,t,r)=>{r.d(t,{d:()=>a});var n=r(31491);function a(e,t,r,a){let l=!1,o=!1,u=a??n.t0;return{reason:e,event:t??new Event("base-ui"),cancel(){l=!0},allowPropagation(){o=!0},get isCanceled(){return l},get isPropagationAllowed(){return o},trigger:r,...u}}},62404:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=r(20187)},66385:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(85125)._(r(85937));function a(e,t){var r;let a={};"function"==typeof e&&(a.loader=e);let l={...a,...t};return(0,n.default)({...l,modules:null==(r=l.loadableGenerated)?void 0:r.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},74211:(e,t,r)=>{function n(e){let{moduleIds:t}=e;return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),r(55539),r(72765),r(62404),r(48465)},75796:(e,t,r)=>{r.d(t,{e:()=>a});var n=r(47150);function a(e){return(0,n.B)(e,"base-ui")}},81694:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(3704).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},82142:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(3704).A)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]])},85937:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(55539),a=r(46124),l=r(34158);function o(e){return{default:e&&"default"in e?e.default:e}}r(74211);let u={loader:()=>Promise.resolve(o(()=>null)),loading:null,ssr:!0},i=function(e){let t={...u,...e},r=(0,a.lazy)(()=>t.loader().then(o)),i=t.loading;function s(e){let o=i?(0,n.jsx)(i,{isLoading:!0,pastDelay:!0,error:null}):null,u=!t.ssr||!!t.loading,s=u?a.Suspense:a.Fragment,d=t.ssr?(0,n.jsxs)(n.Fragment,{children:[null,(0,n.jsx)(r,{...e})]}):(0,n.jsx)(l.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(s,{...u?{fallback:o}:{},children:d})}return s.displayName="LoadableComponent",s}},86785:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{bindSnapshot:function(){return o},createAsyncLocalStorage:function(){return l},createSnapshot:function(){return u}});let r=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class n{disable(){throw r}getStore(){}run(){throw r}exit(){throw r}enterWith(){throw r}static bind(e){return e}}let a="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function l(){return a?new a:new n}function o(e){return a?a.bind(e):n.bind(e)}function u(){return a?a.snapshot():function(e,...t){return e(...t)}}}}]);
|