elanous 0.2.6 → 0.2.7
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/.env.example +10 -7
- package/README.md +4 -0
- package/apps/pwa/out/404/index.html +1 -1
- package/apps/pwa/out/404.html +1 -1
- package/apps/pwa/out/_next/static/chunks/1105-c473ed46272fba79.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1201-09613bce624467c0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1377-1efeffbbac0963ff.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1470.98a6ab61ccb4131c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/216-5acd01cbde4acda7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2330-c2f07246c8788af1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{3995-bee512a7063036ce.js → 2375-cb6debea56cce4fb.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/2415.ed6428ff334c7ce2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2929-617f1e66a55be184.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2977-e38442e86289f1d3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2982-2a2df543be3d2e5a.js +25 -0
- package/apps/pwa/out/_next/static/chunks/{8d0d9faf-97887ff99713b84e.js → 2ea96958-e8c7e112de50b067.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{5329.8b7e4bca684b6eec.js → 3403.4bc97b4066945a94.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/3441-a1dd4acfeda14488.js +1 -0
- package/apps/pwa/out/_next/static/chunks/371-4ad6af55dad02ced.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4114-3e63117452378807.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{7633.0654fe6ea259c1ee.js → 4323.c5dfb6f503304775.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/4836-2eba6079f31b88d4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2984-977cfa339fcd65a5.js → 5080-1613752891fcadb4.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/5609-012bb3557211f07e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{763-7d0e1913b5074e98.js → 5791-bb82743fa6299562.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{4240-7153881b0b377306.js → 6062-73e68343a9814f6a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/6090-85a3f05f954e5697.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6284-69db415193d5f8bd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6320-baac91d68843a9a6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6416-505ba707cacafbba.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6725-68ab7cc0b1faf00d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6998-a654fe5c58271600.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7647.2fcd30d894d5ee30.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7673-2eda1507d38dadb8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7990-e12efba616f46e03.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{91ff6dda-3b33d42d20657429.js → 8046cadf-211ca3c0e00f2b72.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/8067-f74bf14d67ad98f1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8142-744998d65d7bb17e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8519-f6b5d8a5833a7603.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8619-4365e03a2862830f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8894-e92491a164192cc1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/920-f7dceb78f1c585ef.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9454-a3e0953307216c58.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9651-3cd291a6fa1370d2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9740-67051141115ce775.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9804-64c02c3c127d5014.js +1 -0
- package/apps/pwa/out/_next/static/chunks/ae787e4c-f2998de7f1ba72a4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-859cea1570b6227a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-d5ebde04844689e6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-10ed24f413ed66e9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/board/page-211810b6c93ab66a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-624f7a2f89b60c8f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/bots/page-5a5fb385a4df0ffe.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/page-80497e93a878ddc5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/consult/page-7457f52683562161.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/control/page-cee86394de407aa6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-4ff8edab44196b8c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/editor/page-92e4f44428d5e290.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/exec/page-b7dcf5d48a854b76.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/field/page-51480757e7d68b92.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-859cea1570b6227a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/intake/page-2a05dfe80c8bdf16.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/layout-d9979633aa82f8e6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live/page-30533117beb53625.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/market/page-f7857826c2f97ad7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-07267f1391b96aba.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/morning/page-55d50e9b0006a91d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/not-found-9699b1786be6171d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-43dd772aee8af75f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/page-a7e37af7d0399cb8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-973ab7af59c718b7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-a9f8d3865b91e436.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-15e5a15db84c56aa.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-a2e572e4511f2a16.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/page-dd107bf1c7d52a90.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-d42b99cdfb9f27c6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-859cea1570b6227a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/page-2764ff40dad5a995.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/share/page-c5f1152db116ff96.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-f933bca81ea38a6f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-c1c95739c0bff3b8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/term/page-a7aaffcf771662d8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/trace/page-71d18eec33b9c667.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/vault/page-56adbe1a1f1379bd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-2c4e59079ee357ac.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-a81f113f3ef89d72.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-5d422f38c052967e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-fc27b00e20733146.js +1 -0
- package/apps/pwa/out/_next/static/chunks/framework-ea806bb57f2b8923.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-8d2302399c2c8f87.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-app-6870f30ea99f8346.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_app-b10928c60f0b8488.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_error-689039227d443fab.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{webpack-37b8bf78a3c6eec5.js → webpack-e5bea36f183b25e6.js} +1 -1
- package/apps/pwa/out/_next/static/css/f537bdb19c69306a.css +1 -0
- package/apps/pwa/out/_next/static/keajW7DDyghEs1y8oJe6T/_buildManifest.js +1 -0
- package/apps/pwa/out/approvals/index.html +1 -1
- package/apps/pwa/out/approvals/index.txt +22 -22
- package/apps/pwa/out/autopilot/index.html +1 -1
- package/apps/pwa/out/autopilot/index.txt +22 -22
- package/apps/pwa/out/board/index.html +1 -1
- package/apps/pwa/out/board/index.txt +22 -22
- package/apps/pwa/out/botlab/index.html +1 -1
- package/apps/pwa/out/botlab/index.txt +21 -21
- package/apps/pwa/out/bots/index.html +1 -1
- package/apps/pwa/out/bots/index.txt +21 -21
- package/apps/pwa/out/chat/index.html +1 -1
- package/apps/pwa/out/chat/index.txt +21 -21
- package/apps/pwa/out/consult/index.html +1 -0
- package/apps/pwa/out/consult/index.txt +32 -0
- package/apps/pwa/out/control/index.html +1 -1
- package/apps/pwa/out/control/index.txt +22 -22
- package/apps/pwa/out/design-check/index.html +1 -1
- package/apps/pwa/out/design-check/index.txt +22 -22
- package/apps/pwa/out/editor/index.html +1 -1
- package/apps/pwa/out/editor/index.txt +22 -22
- package/apps/pwa/out/exec/index.html +1 -0
- package/apps/pwa/out/exec/index.txt +32 -0
- package/apps/pwa/out/field/index.html +1 -0
- package/apps/pwa/out/field/index.txt +32 -0
- package/apps/pwa/out/healthz +1 -1
- package/apps/pwa/out/index.html +1 -1
- package/apps/pwa/out/index.txt +21 -21
- package/apps/pwa/out/intake/index.html +1 -1
- package/apps/pwa/out/intake/index.txt +22 -22
- package/apps/pwa/out/live/index.html +1 -1
- package/apps/pwa/out/live/index.txt +22 -22
- package/apps/pwa/out/market/index.html +1 -1
- package/apps/pwa/out/market/index.txt +21 -21
- package/apps/pwa/out/missions/placeholder/index.html +1 -1
- package/apps/pwa/out/missions/placeholder/index.txt +21 -21
- package/apps/pwa/out/morning/index.html +1 -1
- package/apps/pwa/out/morning/index.txt +22 -22
- package/apps/pwa/out/observatory/index.html +1 -1
- package/apps/pwa/out/observatory/index.txt +22 -22
- package/apps/pwa/out/reflection/index.html +1 -1
- package/apps/pwa/out/reflection/index.txt +22 -22
- package/apps/pwa/out/scheduler/index.html +1 -1
- package/apps/pwa/out/scheduler/index.txt +22 -22
- package/apps/pwa/out/sessions/index.html +1 -1
- package/apps/pwa/out/sessions/index.txt +21 -21
- package/apps/pwa/out/settings/devices/index.html +1 -1
- package/apps/pwa/out/settings/devices/index.txt +22 -22
- package/apps/pwa/out/settings/index.html +1 -1
- package/apps/pwa/out/settings/index.txt +22 -22
- package/apps/pwa/out/setup/done/index.html +1 -1
- package/apps/pwa/out/setup/done/index.txt +22 -22
- package/apps/pwa/out/setup/index.html +1 -1
- package/apps/pwa/out/setup/index.txt +22 -22
- package/apps/pwa/out/share/index.html +1 -1
- package/apps/pwa/out/share/index.txt +22 -22
- package/apps/pwa/out/showroom/index.html +1 -1
- package/apps/pwa/out/showroom/index.txt +21 -21
- package/apps/pwa/out/tasks/index.html +1 -1
- package/apps/pwa/out/tasks/index.txt +22 -22
- package/apps/pwa/out/term/index.html +1 -1
- package/apps/pwa/out/term/index.txt +22 -22
- package/apps/pwa/out/trace/index.html +1 -1
- package/apps/pwa/out/trace/index.txt +22 -22
- package/apps/pwa/out/vault/index.html +1 -1
- package/apps/pwa/out/vault/index.txt +22 -22
- package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
- package/apps/pwa/out/workflows/chat-ui/index.txt +22 -22
- package/apps/pwa/out/workflows/index.html +1 -1
- package/apps/pwa/out/workflows/index.txt +22 -22
- package/apps/pwa/out/workspace/index.html +1 -1
- package/apps/pwa/out/workspace/index.txt +22 -22
- package/apps/pwa/out/worktrees/index.html +1 -1
- package/apps/pwa/out/worktrees/index.txt +22 -22
- package/bin/elanous.cjs +107 -0
- package/graphs/field/field-feed.yaml +24 -0
- package/graphs/field/recipes.yaml +12 -0
- package/graphs/landing/landing-heal.yaml +3 -1
- package/graphs/landing/recipes.yaml +3 -0
- package/graphs/release/recipes.yaml +10 -0
- package/graphs/release/release-loop.yaml +10 -3
- package/package.json +5 -5
- package/plugins/card-followup/README.md +13 -4
- package/plugins/card-followup/graphs/card-followup.yaml +3 -1
- package/plugins/card-followup/graphs/recipes.yaml +5 -1
- package/plugins/card-followup/graphs/run-step.ts +122 -18
- package/plugins/card-followup/graphs/sales-strategy.ts +173 -0
- package/plugins/card-followup/plugin.json +1 -1
- package/plugins/doc-draft/README.md +13 -0
- package/plugins/doc-draft/examples/brief-sample.json +8 -0
- package/plugins/doc-draft/graphs/doc-draft.yaml +14 -0
- package/plugins/doc-draft/graphs/recipes.yaml +9 -0
- package/plugins/doc-draft/graphs/run-step.ts +113 -0
- package/plugins/doc-draft/plugin.json +24 -0
- package/plugins/geo-check/README.md +3 -1
- package/plugins/geo-check/graphs/run-step.ts +24 -3
- package/plugins/geo-check/plugin.json +1 -1
- package/plugins/job-coach/.codex-plugin/plugin.json +1 -1
- package/plugins/job-coach/README.md +1 -1
- package/plugins/job-coach/graphs/run-step.ts +2 -2
- package/plugins/job-coach/plugin.json +1 -1
- package/plugins/job-coach/plugin.ts +1 -1
- package/scripts/affinity/endcard.sh +3 -2
- package/scripts/affinity/reframe.sh +3 -1
- package/scripts/ci-public-export-leak-gate.ts +48 -0
- package/scripts/codex-quota-alert.ts +122 -258
- package/scripts/coord-tracks.json +4 -4
- package/scripts/field-feed/deliver-node.ts +52 -0
- package/scripts/field-feed/feed-node.ts +67 -0
- package/scripts/field-feed/lib.ts +162 -0
- package/scripts/field-feed/reel-node.ts +24 -0
- package/scripts/field-feed/start.ts +62 -0
- package/scripts/fixtures/vflow-sample.ndjson +6 -0
- package/scripts/install.sh +92 -13
- package/scripts/landing-heal/clean-checkout.ts +114 -0
- package/scripts/landing-heal/run-mission.ts +38 -3
- package/scripts/lib/pwa-scenarios/scenarios.ts +2 -1
- package/scripts/public-export.ts +8 -4
- package/scripts/release-loop/baseline-from-logs.ts +92 -0
- package/scripts/release-loop/env-known-failures.ts +31 -0
- package/scripts/release-loop/gate-node.ts +81 -19
- package/scripts/release-loop/known-issues-node.ts +159 -0
- package/scripts/release-loop/npm-publish-node.ts +118 -0
- package/scripts/release-loop/ops-upgrade-node.ts +87 -0
- package/scripts/release-loop/release-readiness.ts +58 -0
- package/scripts/release-loop/unattended-release.ts +93 -0
- package/scripts/ux/measure-first-text.ts +102 -0
- package/scripts/vflow-collect.ts +20 -7
- package/scripts/vflow-search.ts +73 -0
- package/scripts/video-free-line-test-walker.ts +36 -0
- package/scripts/video-pipeline.ts +2 -2
- package/skills/explainer-video/SKILL.md +12 -9
- package/skills/explainer-video/engine/build.mjs +1 -1
- package/skills/explainer-video/engine/reel.mjs +138 -31
- package/skills/explainer-video/engine/reel.sh +2 -1
- package/skills/explainer-video/examples/elanous-0.2.5/script.json +1 -1
- package/skills/grill-me/SKILL.md +1 -1
- package/skills/omni-digest/docs/diagrams/noncode-terminal-promotion-path-2026-08-13.mmd +1 -1
- package/src/a2a/server.ts +2 -0
- package/src/acp/elanous-aware-peers.ts +30 -0
- package/src/acp/server.ts +91 -15
- package/src/agent/monad-agent-turn.ts +25 -6
- package/src/agent/shared-app-tools.ts +5 -3
- package/src/agent-substrate/review-intent.ts +6 -2
- package/src/agent-substrate/shard-boundary-intent.ts +70 -0
- package/src/auth/github-app-token.ts +4 -1
- package/src/autopilot/track-agent-shadow.ts +151 -0
- package/src/autopilot/track-agent.ts +23 -3
- package/src/boot/acp-server-help.ts +16 -0
- package/src/boot/daemon-prompt-turn.ts +31 -10
- package/src/boot/daemon-tools/index.ts +7 -1
- package/src/budget/codex-credit-pace.ts +84 -0
- package/src/budget/codex-credit-plan.ts +154 -0
- package/src/budget/codex-reset-credit-state.ts +2 -0
- package/src/chat/chat-cli.ts +4 -1
- package/src/chat/short-question.ts +40 -0
- package/src/cli/agent-cli.ts +24 -15
- package/src/cli/ask-bare.ts +42 -0
- package/src/cli/cli-user-error.ts +25 -0
- package/src/cli/codex-credit-plan-view.ts +25 -0
- package/src/cli/dependence-gauge.ts +237 -0
- package/src/cli/doctor-cli.ts +5 -0
- package/src/cli/doctor-modes.ts +48 -0
- package/src/cli/intake-cli.ts +12 -2
- package/src/cli/intake-source-cli.ts +58 -0
- package/src/cli/machine-cli.ts +23 -0
- package/src/cli/msg-cli.ts +137 -0
- package/src/cli/plugin-cli.ts +25 -0
- package/src/cli/pr-cli.ts +36 -0
- package/src/cli/provider-cli.ts +5 -0
- package/src/cli/release-cli.ts +42 -1
- package/src/cli/release-run-if-ready.ts +48 -0
- package/src/cli/setup-cli.ts +27 -6
- package/src/cli/setup-recommend.ts +8 -0
- package/src/cli/usage-cli.ts +11 -1
- package/src/codex/setup.ts +27 -8
- package/src/dashboard/index.ts +1 -1
- package/src/discord.ts +56 -6
- package/src/domains/core-tools.ts +37 -14
- package/src/domains/outbound-alert.ts +50 -11
- package/src/exec-requests/planner.ts +140 -0
- package/src/exec-requests/runner.ts +338 -0
- package/src/exec-requests/store.ts +76 -0
- package/src/field/field-media.ts +8 -3
- package/src/field/field-reel.ts +196 -0
- package/src/grok/credential.ts +7 -5
- package/src/harness/aside-run-status.ts +33 -0
- package/src/harness/browser-verify.ts +48 -17
- package/src/harness/harness-cli-command.ts +25 -3
- package/src/harness/image-load-state.ts +21 -0
- package/src/harness/process-garbage.ts +45 -0
- package/src/index.ts +86 -14
- package/src/instance/leader.ts +13 -1
- package/src/intake-plane/collect-github.ts +5 -3
- package/src/intake-plane/collect-telegram-saved.ts +15 -3
- package/src/intake-plane/discord-seat-work.ts +56 -0
- package/src/intake-plane/intake-sources.ts +202 -0
- package/src/intake-plane/items.ts +28 -12
- package/src/intake-plane/seat-doc-route.ts +207 -0
- package/src/intake-plane/submit-intake-work.ts +9 -1
- package/src/intake-plane/telegram-seat-work.ts +72 -0
- package/src/llm/model-defaults.ts +24 -1
- package/src/llm.ts +5 -4
- package/src/machines/machine-ledger.ts +127 -0
- package/src/market/pack-internal-refs.ts +28 -0
- package/src/market/publish.ts +31 -4
- package/src/maturity/feature-maturity.ts +65 -0
- package/src/model-tier/turn-tier.ts +24 -0
- package/src/msg/msg-store.ts +149 -0
- package/src/native-tool-catalog.ts +2 -1
- package/src/nexus/api/chat-fast-path-config.ts +28 -0
- package/src/nexus/api/consult-requests.ts +117 -0
- package/src/nexus/api/discord-trigger-bot.ts +3 -0
- package/src/nexus/api/exec-requests.ts +51 -0
- package/src/nexus/api/field-uploads.ts +40 -3
- package/src/nexus/api/graph-approvals-feed.ts +140 -0
- package/src/nexus/api/graph-approvals.ts +71 -4
- package/src/nexus/api/http-server.ts +61 -7
- package/src/nexus/api/seat-requests.ts +254 -0
- package/src/nexus/api/trace-run-scan.ts +37 -0
- package/src/nexus/api/trace.ts +19 -3
- package/src/nexus/index.ts +3 -0
- package/src/nexus/setup-status.ts +4 -5
- package/src/notify/llm-budget-alert.ts +16 -10
- package/src/oauth/codex-account-rotation.ts +26 -4
- package/src/oauth/codex-account-store.ts +20 -2
- package/src/oauth/codex-browser-login.ts +173 -0
- package/src/oauth/codex.ts +4 -1
- package/src/oauth/fallback-chain.ts +5 -5
- package/src/oauth/store.ts +42 -5
- package/src/onboarding/continue-here.ts +29 -0
- package/src/onboarding/entry-hints.ts +8 -0
- package/src/onboarding/full-screen-io.ts +35 -3
- package/src/onboarding/help/skills.md +1 -1
- package/src/onboarding/non-interactive.ts +1 -0
- package/src/onboarding/subscription-hint.ts +27 -0
- package/src/onboarding/web-first.ts +83 -0
- package/src/onboarding.ts +230 -23
- package/src/plugins/maker/node-install.ts +92 -0
- package/src/plugins/maker/node-maker.ts +139 -0
- package/src/plugins/maker/plugin-maker.ts +19 -7
- package/src/policy/llm-policy.ts +268 -0
- package/src/prompt-library/session-guidance.ts +7 -1
- package/src/prompt-library/universal-preamble.ts +2 -2
- package/src/relay/relay-cli.ts +20 -0
- package/src/relay/relay-server.ts +220 -0
- package/src/release-loop/checklist.ts +9 -8
- package/src/self-dev/decompose.ts +1 -0
- package/src/self-dev/dev-pipeline.ts +6 -3
- package/src/self-dev/run-record-mirror.ts +44 -0
- package/src/self-dev/run-store.ts +12 -3
- package/src/self-implement/harness-policy-gates.ts +4 -1
- package/src/self-implement/report-origin.ts +12 -1
- package/src/session/chat.ts +17 -5
- package/src/skills/shared-agent-skill-roots.ts +25 -0
- package/src/steward/failure-streak.ts +78 -0
- package/src/steward/steward-cards.ts +24 -0
- package/src/steward/triage-budget.ts +127 -0
- package/src/steward/triage-plan.ts +75 -0
- package/src/steward/triage.ts +244 -42
- package/src/task-cards/card-store.ts +1 -1
- package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +11 -5
- package/src/task-orchestrator/surfaces/pod-ledger-events.ts +68 -0
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +78 -4
- package/src/telegram.ts +38 -2
- package/src/tool-runtime/elanous-skills-list-runtime.ts +3 -3
- package/src/tool-runtime/self-cognition-runtimes.ts +160 -2
- package/src/user-config.ts +80 -4
- package/src/version/packed-revision.json +1 -1
- package/src/video-pipeline/recipes/character.ts +42 -5
- package/src/video-pipeline/recipes/ffmpeg.ts +1 -1
- package/src/video-pipeline/recipes/free-line.ts +16 -3
- package/src/video-pipeline/recipes/remote.ts +7 -1
- package/src/video-pipeline/vflow-reference.ts +109 -0
- package/apps/pwa/out/_next/static/chunks/1169-696263ac7af8c4d4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1883.c91a2648af4842fd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1947-9d64872eeb9cfdec.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2808-dc06482994b40f70.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3165-95515ca5f299a120.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3190-e9282753e7ebde85.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4259-99614149577e77cb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4283-329eabeaf233e6cd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4328-cb5058b1acc2de5e.js +0 -25
- package/apps/pwa/out/_next/static/chunks/4801-ecee6ef62b349b18.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5110-8058791dd25a2e14.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5330-c41e9670f594c38f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5423-e95fd125d1794349.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5478-b5eae07dc79ea619.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5787-96ee6642b9a661e5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6448-79d72368589f98bc.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6522-9866c002b5531836.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6729-b4a558b7aa891e0c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6969-cb03f9410b7d2e03.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7007-3b9861091bb8dd21.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7930-8dc7e20fc6fc19ca.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8071-187edbc22a86741f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8198-d4101ad70cb9a579.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8250.4a2c5553a07cdf47.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8293-123b91e7b0330dc0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8296-d6d5d87dfa911d41.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8305-603963c33ee8eec3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8612-4a0066f20951b8fd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9181-cf4e1b61c4783f92.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9262-26c2ecbd5a67e4a2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9328-45abdebce4fbecb7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9355-dbc67205adf8745f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9763.255b90dd69875689.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9933-66d31ec25c0231af.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-bd06fb55f4da0381.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-4e586142da455a25.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-889ad5cddcf45b0d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/board/page-47ba401d56572c27.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-0b54f9c83458e038.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-4fcc296ef6c8ed90.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/chat/page-fe9fda494a87f4e5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/control/page-f9642e25ce129590.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-e1063e8ba5f3e2e7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/editor/page-9d0df30027d8aa9d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-bd06fb55f4da0381.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/intake/page-d97adf2c9455b8d0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-236b80d202110362.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live/page-21a30f35f1a276ad.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/market/page-b1a5be357c4fa25d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-1705a60303f7f573.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/morning/page-76b337c11ad0e237.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-7c0f85fbb56f64c6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-65ca16b20617b44d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/page-e7f9b8fc29411c1d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-92ea6213d1aeec04.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-a913a005aacb5476.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-2d78804a40dfdef6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-08a99148e780ac00.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-deb674e7ed36f815.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-49f8de0534d192d7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-bd06fb55f4da0381.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/page-ba162a28d2176e18.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/share/page-1ff1a37b550ab41a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-ccaa698f56c0fbdb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-53b944082de1d7db.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/term/page-9b70adf1552789bf.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/trace/page-30d482aa63241fe8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-aecf786f54651d8a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-6ab9b62c7b6e08f2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-08949735455e0c9a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-a1479005234a46c2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-c3890e90bd232732.js +0 -1
- package/apps/pwa/out/_next/static/chunks/beb5cf10-9adcc10b83930090.js +0 -1
- package/apps/pwa/out/_next/static/chunks/framework-d68d41c88e05c801.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-app-11c63971b7a9593b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-d09452353bd0d9cc.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_app-184d727cebeca767.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_error-21bbbbac99b720b1.js +0 -1
- package/apps/pwa/out/_next/static/css/eaa74e8bb2f62269.css +0 -1
- package/apps/pwa/out/_next/static/qMI0jnlZaBjjm4aIDYNGM/_buildManifest.js +0 -1
- /package/apps/pwa/out/_next/static/{qMI0jnlZaBjjm4aIDYNGM → keajW7DDyghEs1y8oJe6T}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6969],{2194:(e,t,n)=>{var r=n(19707),o=n(34602),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}},4856:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},10708:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},11891:(e,t,n)=>{n.d(t,{X:()=>s});var r=n(19707),o=n(19846),l=n(34799),i=n(59330),a=n(42344);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})})},13113:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},15968:(e,t,n)=>{n.d(t,{y:()=>l});var r=n(19707);let o=[];function l(e){r.useEffect(e,o)}},17288:(e,t,n)=>{n.d(t,{XF:()=>E,vB:()=>S});var r=n(19707),o=n(20346),l=n(89794),i=n(79062),a=n(51132),u=n(45139),s=n(12020),c=n(97066),d=n(59644),f=n(33965),p=n(31838),h=n(27307),v=n(16905),g=n(62723),m=n(34799),y=n(82339),b=n(35563);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)))}}})]})]})})},17590:(e,t,n)=>{n.d(t,{q:()=>r});function r(e){return null==e?e:"current"in e?e.current:e}},18954:(e,t,n)=>{let r;n.d(t,{D:()=>Q});var o=n(19707),l=n(89794),i=n(79062),a=n(65996),u=n(56582),s=n(12020),c=n(75873),d=n(51269),f=n(59644);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(45139),b=n(17269),x=n(97646),S=n(52845);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(34602),R=n(82248);let k=(0,n(59858)._)(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(97066);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(42427);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(33895);let I=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);var W=n(51132),j=n(10562),X=n(93822),D=n(27307),H=n(16905),Y=n(62723);let F={intentional:"onClick",sloppy:"onPointerDown"};function N(){return!1}var K=n(65154);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(40714),L=n(19846);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(35563);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})})}},19846:(e,t,n)=>{n.d(t,{P:()=>i,a:()=>l});var r=n(52845),o=n(19707);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}},23309:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},24224:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},24703:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},25709:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},26835:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},28124:(e,t,n)=>{n.d(t,{V:()=>E});var r=n(19707),o=n(97066),l=n(75873),i=n(83663),a=n(34799),u=n(36761),s=n(90664),c=n(65168);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(89985),p=n(8275),h=n(52632),v=n(10562);let g=r.createContext(void 0),m={disableStyleElements:!1};var y=n(35563);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]})})},29413:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},31778:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},31838:(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(89794),o=n(56582),l=n(10562),i=n(61840);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")})}},33895:(e,t,n)=>{n.d(t,{$u:()=>a,F2:()=>l,WZ:()=>u,nd:()=>s,tZ:()=>i});var r=n(89794),o=n(65154);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}},33965:(e,t,n)=>{n.d(t,{U:()=>s});var r=n(19707),o=n(12020),l=n(65996);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(35563);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":""})})},34602:(e,t,n)=>{e.exports=n(67457)},36761:(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}({})},39619:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},40714:(e,t,n)=>{n.d(t,{v:()=>s});var r=n(19707),o=n(97066),l=n(20346),i=n(51269),a=n(17590),u=n(42344);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])}},41272:(e,t,n)=>{n.d(t,{B:()=>S});var r=n(19707),o=n(97066),l=n(12020),i=n(65996),a=n(75873),u=n(83663);let s=r.createContext(void 0);var c=n(34799),d=n(88922),f=n(65168),p=n(90664);function h(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}var v=n(89985),g=n(52632);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(35563);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})})},42344:(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}},42427:(e,t,n)=>{n.d(t,{Ev:()=>u,O_:()=>l,Pg:()=>a,YF:()=>i,jo:()=>o});var r=n(65996);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}},50394:(e,t,n)=>{n.d(t,{m:()=>l,p:()=>i});var r=n(52845),o=n(19707);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}},51132:(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()}}}},51269:(e,t,n)=>{n.d(t,{K:()=>a,N:()=>u});var r=n(17269),o=n(15968);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}},52546:(e,t,n)=>{n.d(t,{h:()=>es});var r=n(19707),o=n(89794),l=n(79062),i=n(51132),a=n(83055),u=n(12020),s=n(17269);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(97066),p=n(75873),h=n(65996),v=n(51269),g=n(56582),m=n(33965),y=n(10562),b=n(33895),x=n(42427),S=n(31838),w=n(93822),E=n(61840),R=n(27307),k=n(16905),A=n(62723),C=n(59644);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(17288),F=n(97646),N=n(82339),K=n(17590),z=n(35563);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(19846),G=n(34799),Z=n(59330),J=n(42344);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(50394),en=n(40714);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})})},52632:(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}},55114:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},55314:(e,t,n)=>{n.d(t,{I:()=>i});var r=n(19707),o=n(83663),l=n(34799);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})},58356:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},59330:(e,t,n)=>{n.d(t,{GW:()=>s,lP:()=>o});var r=n(42344);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}},60169:(e,t,n)=>{n.d(t,{H:()=>s});var r=n(19707),o=n(19846),l=n(34799),i=n(84111),a=n(27307),u=n(16905);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]})})},61840:(e,t,n)=>{n.d(t,{J9:()=>o});var r=n(89794);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)}},62723:(e,t,n)=>{n.d(t,{F:()=>r});function r(e){return`data-base-ui-${e}`}},63186:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},65154:(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])"},65168:(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`])}},65996:(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/")},67457:(e,t,n)=>{var r=n(19707),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},67547:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},75873:(e,t,n)=>{n.d(t,{E:()=>l,Z:()=>i});var r=n(17269),o=n(15968);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}},77933:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},78215:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},78733:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(19707),o=n(59858),l=n(17288),i=n(19846),a=n(50394),u=n(35563);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})},79062:(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)}}},82248:(e,t,n)=>{e.exports=n(2194)},82339:(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}},83165:(e,t,n)=>{n.d(t,{L:()=>a});var r=n(19707),o=n(19846),l=n(34799),i=n(8275);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]})})},83663:(e,t,n)=>{n.d(t,{a:()=>l,p:()=>i});var r=n(52845),o=n(19707);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}},86693:(e,t,n)=>{n.d(t,{G:()=>l,r:()=>i});var r=n(52845),o=n(19707);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}},87398:(e,t,n)=>{n.d(t,{l:()=>u});var r=n(19707),o=n(83663),l=n(86693),i=n(93627),a=n(34799);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]})})},88922:(e,t,n)=>{n.d(t,{j:()=>l});var r=n(19707);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"}},89985:(e,t,n)=>{n.d(t,{E:()=>l});var r=n(35563);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}`})}},90664:(e,t,n)=>{n.d(t,{i:()=>o,u:()=>r});let r=500,o=16},93627:(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}({})},93822:(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}},94012:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},94541:(e,t,n)=>{n.d(t,{r:()=>a});var r=n(19707),o=n(19846),l=n(34799),i=n(8275);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]})})},97646:(e,t,n)=>{n.d(t,{R1:()=>i,cq:()=>a});var r=n(19707);n(35563);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}},98429:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])},98458:(e,t,n)=>{n.d(t,{V:()=>v});var r=n(19707),o=n(79062),l=n(10562),i=n(83663),a=n(86693),u=n(34799),s=n(65168),c=n(36761),d=n(93627),f=n(88922),p=n(52632),h=n(35563);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})},99596:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42735).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"}]])}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7007],{24253:(e,t,n)=>{n.d(t,{ZO:()=>Y,Ys:()=>w,Wq:()=>k,To:()=>y});var r=n(35563),a=n(19707),l=n(7548),o=n(90668),s=n(48497),i=n(96183),u=n(45787),c=n(53403);function d(e){return(null==e?void 0:e.terminalOriginCategory)==="direct-human"?"사람":(null==e?void 0:e.terminalOriginCategory)==="elanous"?"elanous":(null==e?void 0:e.terminalOriginCategory)==="external-tool"?e.externalToolName?"외부 도구: ".concat(e.externalToolName):"외부 도구":(null==e?void 0:e.terminalOriginReason)?"이 행에서는 알 수 없음: ".concat(e.terminalOriginReason):"이 행에서는 알 수 없음"}function m(e){return{action:e,sendsDestroy:"terminate"===e}}let f="elanous.webterm.tabs",p="elanous.webterm.hidden-tabs",g=new Map;function h(e){return(null==e?void 0:e.isAlive)&&void 0!==e.controller?"human"===e.controller?"release":"takeover":null}function b(e){return"takeover"===e?"넘겨받기":"놓기"}function w(){try{let e=window.localStorage.getItem(f);if(!e)return[];let t=JSON.parse(e);if(!Array.isArray(t))return[];return t.filter(e=>"string"==typeof e&&e.length>0)}catch(e){return[]}}function y(e){window.localStorage.setItem(f,JSON.stringify(e))}function v(e){window.localStorage.setItem(p,JSON.stringify(e))}function k(e){let t=1;for(;e.includes("preview-".concat(t));)t+=1;return"preview-".concat(t)}function x(e,t){let n=null==e?void 0:e.terminalId;if("string"==typeof n&&n.trim().length>0)return{id:n,issuedBy:"daemon"};let r=I(e)?e.spawnFailure:null==e?"no-response":"response-without-terminal-id";return{id:k(t),issuedBy:"local",fallbackReason:r}}function I(e){return"object"==typeof e&&null!==e&&"string"==typeof e.spawnFailure}async function N(e,t){let n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c.cY,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:S,l=arguments.length>4?arguments[4]:void 0,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:C;if(r("webterm.tabs.add.start",{hasAcp:!!e,hasSessionId:!!t}),!e||!t){let t=e?"no-session":"no-acp";return r("webterm.tabs.add.skip",{reason:t}),{spawnFailure:t}}r("webterm.tabs.add.spawn-pending",{sessionId:t});let s=l?setTimeout(()=>{r("webterm.tabs.add.spawn-slow",{sessionId:t,slowMs:o}),l()},o):void 0;try{let l=new Promise(e=>{n=setTimeout(()=>e({spawnFailure:"spawn-timeout"}),a)}),o=await Promise.race([e.send("terminal/spawn",{sessionId:t}),l]);return I(o)&&r("webterm.tabs.add.spawn-timeout",{sessionId:t,timeoutMs:a}),o}catch(e){return r("webterm.tabs.add.spawn-error",{reason:String(e)}),{spawnFailure:"spawn-error",detail:String(e)}}finally{void 0!==n&&clearTimeout(n),void 0!==s&&clearTimeout(s)}}let C=8e3,S=9e4;function Y(e){let{activeId:t,onActiveChange:n,onInitialTerminalState:f,minimized:I=!1,onToggleMinimize:Y,recording:T=!1,peerCount:j=0,chatDockOpen:M=!0,onToggleChatDock:A,tabIntent:P=null,onTabsChange:R,suspendInitialSpawn:O=!1}=e,{client:D,sessionId:q}=(0,u.Q)(),[E,U]=(0,a.useState)(w),B=(0,a.useRef)(new Set(function(){try{let e=window.localStorage.getItem(p),t=e?JSON.parse(e):[];return Array.isArray(t)?t.filter(e=>"string"==typeof e&&e.length>0):[]}catch(e){return[]}}())),F=(0,a.useRef)(E);F.current=E;let L=(0,a.useRef)(t);L.current=t;let K=(0,a.useRef)(0),W=(0,a.useRef)(!1),_=(0,a.useRef)(null),J=(0,a.useRef)(!1),[G,H]=(0,a.useState)(0),Z=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(en.current+=1,K.current+=1,W.current=!1,J.current=!1,!q)return;let e=D.connectAcp({sessionId:q});Z.current=e;let t=e.onState(t=>{Z.current===e&&"OPEN"===t&&H(e=>e+1)});return"OPEN"===e.state&&H(e=>e+1),(0,c.cY)("webterm.tabs.acp.attach",{sessionId:q}),()=>{var n;t();let r=null!=(n=Z.current)?n:e;try{r.close()}catch(e){}Z.current=null}},[D,q]);let[$,Q]=(0,a.useState)({sessionId:null,entries:new Map}),[V,X]=(0,a.useState)(new Map),z=(0,a.useRef)(new Map),ee=null!==$.sessionId&&$.sessionId===q,et=ee?$.entries:g,en=(0,a.useRef)(0),er=(0,a.useCallback)(()=>{var e;let t=Z.current;if(!q)return null;if(null!==(e=t?t.state:null)&&"FAILED"!==e&&"CLOSED"!==e)return t;let n=t?t.state:"none";(0,c.cY)("webterm.tabs.acp.reacquire.attempt",{sessionId:q,previousState:n});try{null==t||t.close()}catch(e){}let r=D.connectAcp({sessionId:q});return Z.current=r,en.current+=1,Q({sessionId:null,entries:new Map}),(0,c.cY)("webterm.tabs.acp.reacquire.ok",{sessionId:q,previousState:n,state:r.state}),r},[D,q]),ea=(0,a.useCallback)(async()=>{let e;if(q){try{e=er()}catch(e){(0,c.cY)("webterm.tabs.list.error",{sessionId:q,connectionState:"reacquire-failed",reason:String(e)});return}if(e)try{let t=en.current,n=await e.send("terminal/list",{sessionId:q});if(t!==en.current)return void(0,c.cY)("webterm.tabs.list.stale",{sessionId:q,generation:t,now:en.current});let r=function(e){if(null==e)return{ok:!1,reason:"no-response"};let t=e.terminals;if(!Array.isArray(t))return{ok:!1,reason:"malformed"};let n=[];for(let e of t){if("object"!=typeof e||null===e)return{ok:!1,reason:"malformed"};let{terminalId:t,isAlive:r,pid:a,cols:l,rows:o,lastOutputAt:s,ownerRunUsage:i,terminalOriginCategory:u,terminalOriginReason:c,externalToolName:d,controller:m}=e;if("string"!=typeof t||0===t.trim().length||"boolean"!=typeof r)return{ok:!1,reason:"malformed"};let f=e=>"number"==typeof e&&Number.isFinite(e)?e:void 0;n.push({terminalId:t,isAlive:r,...void 0!==f(a)?{pid:f(a)}:{},...void 0!==f(l)?{cols:f(l)}:{},...void 0!==f(o)?{rows:f(o)}:{},...void 0!==f(s)?{lastOutputAt:f(s)}:{},..."running"===i||"terminated-live-owner"===i||"no-run-id"===i||"unknown"===i?{ownerRunUsage:i}:{},..."direct-human"===u||"elanous"===u||"external-tool"===u||"unknown"===u?{terminalOriginCategory:u}:{},..."string"==typeof c?{terminalOriginReason:c}:{},..."string"==typeof d?{externalToolName:d}:{},..."string"==typeof m?{controller:m}:{}})}return{ok:!0,entries:n}}(n);if(!r.ok)return void(0,c.cY)("webterm.tabs.list.error",{sessionId:q,connectionState:e.state,reason:"list-".concat(r.reason)});let a=r.entries,l=a.map(e=>e.terminalId),o=new Set(l);for(let e of B.current)o.has(e)||B.current.delete(e);v([...B.current]),Q({sessionId:q,entries:new Map(a.map(e=>[e.terminalId,e]))}),(0,c.cY)("webterm.tabs.list",{sessionId:q,local:E.length,daemon:l.length}),U(e=>{let t=[...e];for(let e of l)B.current.has(e)||t.includes(e)||t.push(e);return t.length===e.length?e:(y(t),t)})}catch(t){(0,c.cY)("webterm.tabs.list.error",{sessionId:q,connectionState:e.state,reason:String(t)})}}},[er,q,E.length]);(0,a.useEffect)(()=>{if(!Z.current)return;ea();let e=setInterval(()=>{ea()},15e3);return()=>clearInterval(e)},[Z.current]);let el=(0,a.useCallback)(e=>(y(e),e),[]);(0,a.useEffect)(()=>{null==R||R(E)},[R,E]);let eo=(0,a.useCallback)(async e=>{if(W.current||F.current.length>0)return;W.current=!0;let t=++K.current;null==f||f({status:"pending"});let r=await N(e,q,c.cY,S,()=>{t===K.current&&(null==f||f({status:"pending",slow:!0}))});if(t!==K.current||F.current.length>0){var a;W.current=!1;let e=r&&"spawned"===r.status&&"string"==typeof r.sessionId&&"string"==typeof r.terminalId&&r.sessionId.trim()&&r.terminalId.trim()?{sessionId:r.sessionId,terminalId:r.terminalId}:null;(0,c.cY)("webterm.tabs.initial.discarded",{reason:t!==K.current?"session-changed":"tabs-present",orphan:e}),e&&(null==(a=Z.current)||a.send("terminal/destroy",e).catch(t=>(0,c.cY)("webterm.tabs.initial.orphan-destroy-error",{...e,reason:String(t)})));return}let l=x(r,F.current),o=[l.id];J.current=!0,el(o),U(o),n(l.id),null==f||f({status:"ready",issuedBy:l.issuedBy,...l.fallbackReason?{fallbackReason:l.fallbackReason}:{}}),(0,c.cY)("webterm.tabs.initial",{id:l.id,issuedBy:l.issuedBy,...l.fallbackReason?{fallbackReason:l.fallbackReason}:{}})},[n,f,el,q]);(0,a.useEffect)(()=>{if(O)return;if(E.length>0){let e=J.current;W.current=!1,t||n(E[0]),e||null==f||f({status:"ready",issuedBy:"local",fallbackReason:"restored-tab"});return}let e=Z.current;if(!e||"OPEN"!==e.state){null==f||f({status:"pending"}),null===_.current&&(_.current=Date.now());let e=setTimeout(()=>{var e,t;if(F.current.length>0||(null==(e=Z.current)?void 0:e.state)==="OPEN")return;let r=k(F.current);J.current=!0,el([r]),U([r]),n(r),null==f||f({status:"ready",issuedBy:"local",fallbackReason:"acp-not-open"}),(0,c.cY)("webterm.tabs.initial",{id:r,issuedBy:"local",fallbackReason:"acp-not-open",waitedMs:Date.now()-(null!=(t=_.current)?t:Date.now())})},Math.max(0,C-(Date.now()-_.current)));return()=>clearTimeout(e)}_.current=null,eo(e)},[G,t,eo,n,f,el,O,E.length]);let es=(0,a.useCallback)(async()=>{let e=await N(Z.current,q);U(t=>{let{id:r,issuedBy:a,fallbackReason:l}=x(e,t);if(B.current.delete(r)&&v([...B.current]),t.includes(r))return n(r),(0,c.cY)("webterm.tabs.add.existing",{id:r,issuedBy:a,total:t.length}),t;let o=el([...t,r]);return n(r),(0,c.cY)("webterm.tabs.add",{id:r,total:o.length,issuedBy:a,...l?{fallbackReason:l}:{}}),o})},[n,el,q]),ei=(0,a.useCallback)(e=>{e!==t&&((0,c.cY)("webterm.tabs.switch",{from:t,to:e}),n(e))},[t,n]),eu=(0,a.useCallback)(function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];z.current.set(e,(null!=(t=z.current.get(e))?t:0)+1),X(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n});let a=F.current;if(r&&(B.current.add(e),v([...B.current])),!a.includes(e))return;let l=a.filter(t=>t!==e);el(l),U(l),e===L.current&&l.length>0&&n(l[0]),0===l.length&&(W.current=!1,null==f||f({status:"pending"}))},[n,f,el]),ec=(0,a.useCallback)(e=>{m("remove-local").sendsDestroy||(eu(e,!0),(0,c.cY)("webterm.tabs.remove-local",{id:e}),ea())},[ea,eu]),ed=(0,a.useCallback)(async(e,t)=>{var n;let r=V.get(e);if(r&&!r.message)return;let a=(null!=(n=z.current.get(e))?n:0)+1;z.current.set(e,a),X(n=>{let r=new Map(n);return r.set(e,{action:t}),r});try{let n=await D.controlTerminal(e,t);if(a!==z.current.get(e)||!F.current.includes(e))return;let r=function(e,t){switch(t.status){case"success":return"takeover"===e?"터미널을 넘겨받았습니다.":"터미널 제어를 놓았습니다.";case"unknown-pty":return"이 PTY를 찾을 수 없습니다. 목록을 새로고침해 주세요.";case"denied":return"이 PTY의 제어를 바꿀 권한이 없습니다.";case"failed":return"PTY 제어 전환에 실패했습니다. 잠시 후 다시 시도해 주세요.";case"owner-unreachable":return"PTY 소유 프로세스에 연결할 수 없어 제어를 전환하지 못했습니다.";default:return t.status}}(t,n);X(n=>{let a=new Map(n);return a.set(e,{action:t,message:r}),a}),(0,c.cY)("webterm.tabs.control",{id:e,action:t,status:n.status}),"success"===n.status&&ea()}catch(n){if(a!==z.current.get(e)||!F.current.includes(e))return;X(n=>{let r=new Map(n);return r.set(e,{action:t,message:"PTY 제어 요청을 전송하지 못했습니다. 네트워크 연결을 확인해 주세요."}),r}),(0,c.cY)("webterm.tabs.control.error",{id:e,action:t,reason:String(n)})}},[D,ea,V]),em=(0,a.useCallback)(async(e,t)=>{let n=m("terminate"),r=function(e){switch("running"===e||"terminated-live-owner"===e||"no-run-id"===e||"unknown"===e?e:"unknown"){case"running":return{title:"터미널을 끝낼까요?",message:"실행 중인 런이 이 터미널을 사용하고 있습니다. 끝내면 터미널과 그 프로세스가 종료됩니다."};case"terminated-live-owner":return{title:"터미널을 끝낼까요?",message:"소유 런은 종료됐지만 이 터미널은 아직 남아 있습니다. 끝내면 터미널과 그 프로세스가 종료됩니다."};case"no-run-id":return{title:"터미널을 끝낼까요?",message:"이 터미널에는 소유 런 정보가 없습니다. 끝내면 터미널과 그 프로세스가 종료됩니다."};case"unknown":return{title:"터미널을 끝낼까요?",message:"이 터미널의 사용 상태를 확인할 수 없습니다. 아무도 쓰지 않는다고 단정할 수 없으며, 끝내면 터미널과 그 프로세스가 종료됩니다."}}}(t);if(!window.confirm("".concat(r.title,"\n\n").concat(r.message))||!n.sendsDestroy)return;let a=Z.current;if(!a||!q)return void(0,c.cY)("webterm.tabs.destroy.error",{id:e,reason:"no-acp-or-session"});try{await a.send("terminal/destroy",{sessionId:q,terminalId:e}),(0,c.cY)("webterm.tabs.destroyed",{id:e}),eu(e,!0),ea()}catch(t){(0,c.cY)("webterm.tabs.destroy.error",{id:e,reason:String(t)})}},[eu,ea,q]);(0,a.useEffect)(()=>{!t||B.current.has(t)||U(e=>e.includes(t)?e:el([...e,t]))},[t,el]),(0,a.useEffect)(()=>{let e;if(!P||!t||0===E.length)return;let r=E.indexOf(t);if("next"===P.intent)e=E[(r+1)%E.length];else if("prev"===P.intent)e=E[(r-1+E.length)%E.length];else if("number"==typeof P.intent){let t=P.intent-1;t>=0&&t<E.length&&(e=E[t])}e&&e!==t&&((0,c.cY)("webterm.tabs.intent.apply",{intent:P.intent,from:t,to:e}),n(e))},[null==P?void 0:P.nonce]);let ef=(0,a.useCallback)(e=>{var t;return null==(t=et.get(e))?void 0:t.isAlive},[et]),ep=(0,a.useMemo)(()=>{if(!q)return"session 미설정";var e=function(e,t){let n=0,r=0,a=0;for(let l of e){let e=t(l);void 0===e?a+=1:e?n+=1:r+=1}return{total:e.length,alive:n,daemonKnownDead:r,daemonUnknown:a}}(E,ef);let t="".concat(e.total," terminal").concat(1===e.total?"":"s");if(!ee)return"".concat(t," \xb7 데몬 상태 미확인");let n=[];return e.alive>0&&n.push("".concat(e.alive," alive")),e.daemonKnownDead>0&&n.push("".concat(e.daemonKnownDead," 종료")),e.daemonUnknown>0&&n.push("".concat(e.daemonUnknown," 데몬이 모름")),n.length>0?"".concat(t," \xb7 ").concat(n.join(" \xb7 ")):t},[q,E,ef,ee]),eg=(0,a.useMemo)(()=>ee&&t?E.filter(e=>e!==t&&void 0===ef(e)):[],[ee,E,ef,t]),eh=(0,a.useCallback)(()=>{if(0===eg.length)return;let e=new Set(eg),t=E.filter(t=>!e.has(t));el(t),(0,c.cY)("webterm.tabs.clean-unknown",{removed:eg.length,remaining:t.length}),U(t)},[eg,el,E]);return(0,r.jsxs)("div",{className:"flex items-center gap-1 border-b bg-background/50 px-2 py-1 text-xs",children:[(0,r.jsxs)("div",{className:"flex flex-1 flex-wrap items-center gap-1",children:[E.map(e=>{let n=e===t,a=et.get(e),l=a?a.isAlive?"bg-emerald-500":"bg-rose-500":"bg-muted-foreground/40",o=function(e){if(!e||!Number.isFinite(e))return"";let t=Math.max(0,Math.floor((Date.now()-e)/1e3));return t<30?"방금":t<3600?"".concat(Math.floor(t/60),"분 전"):t<86400?"".concat(Math.floor(t/3600),"시간 전"):"".concat(Math.floor(t/86400),"일 전")}(null==a?void 0:a.lastOutputAt),s=(null==a?void 0:a.terminalOriginCategory)&&"unknown"!==a.terminalOriginCategory?d(a):"",i="출처: ".concat(d(a)),u=function(e,t){let n="preview-1"===e?"tui-preview":/^preview-\d+$/.test(e)?"web-scratch":e.startsWith("tui:")?"tui-surface":e.startsWith("term-")?"human-terminal":e.startsWith("webterm-")?"web-terminal":e.startsWith("self_")?"harness-run":e.startsWith("agent:")?"agent":e.startsWith("pty_")?"pty":"unknown",r=void 0;switch(n){case"tui-preview":return{text:"TUI 프리뷰",hint:"TUI 프리뷰 페인의 웹 이름 \xb7 ".concat(e),kind:n};case"web-scratch":return{text:e,hint:"이 브라우저가 만든 스크래치 터미널 \xb7 ".concat(e),kind:n};case"tui-surface":return{text:e,hint:"대화형 대시보드 TUI 표면 \xb7 ".concat(e),kind:n};case"human-terminal":return{text:e,hint:"사람이 만든 웹 터미널 \xb7 ".concat(e),kind:n};case"web-terminal":return{text:e,hint:"데몬이 발급한 웹 터미널 \xb7 ".concat(e),kind:n};case"harness-run":return{text:r||e,hint:"하니스 자율 런의 터미널 \xb7 ".concat(e),kind:n};case"agent":return{text:r||e,hint:"서브 에이전트 실행 \xb7 ".concat(e),kind:n};case"pty":return{text:r||e,hint:"PTY \xb7 ".concat(e),kind:n};default:return{text:e,hint:"분류를 모르는 터미널 \xb7 ".concat(e),kind:n}}}(e),c=V.get(e),m=a?"".concat(a.isAlive?"alive":"exited").concat("number"==typeof a.pid?" \xb7 pid ".concat(a.pid):"").concat(o?" \xb7 마지막 출력 ".concat(o):""," \xb7 ").concat(i).concat(a.controller?" \xb7 통제: ".concat(a.controller):""):"데몬 미기동 (선택 시 spawn) \xb7 ".concat(i);return(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-md border px-2 py-0.5 font-mono ".concat(n?"border-primary bg-primary/10 text-primary":"border-border text-muted-foreground hover:bg-accent"),children:[(0,r.jsx)("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full ".concat(l),title:m,"aria-label":m}),(0,r.jsxs)("button",{type:"button",className:"cursor-pointer",onClick:()=>ei(e),title:"".concat(u.hint," — ").concat(n?"지금 보는 터미널":"눌러서 전환"," \xb7 ").concat(m),"aria-label":"switch to ".concat(e),children:[u.text,s?" \xb7 ".concat(s):"",(null==a?void 0:a.controller)?" \xb7 통제: ".concat(a.controller):""]}),(0,r.jsx)("button",{type:"button",className:"ml-0.5 rounded text-muted-foreground hover:text-rose-500",onClick:t=>{t.stopPropagation(),ec(e)},title:"목록에서 ".concat(e," 탭 빼기 — PTY는 유지합니다"),"aria-label":"remove ".concat(e," locally"),children:"\xd7"}),h(a)&&(0,r.jsx)("button",{type:"button",disabled:void 0!==c&&!c.message,className:"rounded text-muted-foreground hover:text-primary disabled:cursor-wait disabled:opacity-60",onClick:t=>{t.stopPropagation(),ed(e,h(a))},title:"".concat(b(h(a))," ").concat(e),"aria-label":"".concat(h(a)," ").concat(e),children:void 0===c||c.message?b(h(a)):"전환 중…"}),(0,r.jsx)("button",{type:"button",className:"rounded text-muted-foreground hover:text-rose-500",onClick:t=>{t.stopPropagation(),em(e,null==a?void 0:a.ownerRunUsage)},title:"끝내기 ".concat(e),"aria-label":"terminate ".concat(e),children:"끝내기"})]},e)}),(0,r.jsx)("button",{type:"button",className:"rounded-md border border-dashed border-border px-2 py-0.5 text-muted-foreground hover:bg-accent",onClick:()=>{es()},title:"new terminal",children:"+"})]}),[...V.values()].filter(e=>e.message).map((e,t)=>(0,r.jsx)("p",{role:"status",className:"text-muted-foreground",children:e.message},"".concat(e.action,"-").concat(t))),I&&T&&(0,r.jsxs)("span",{className:"ml-2 flex items-center gap-1 rounded bg-rose-500/15 px-1.5 py-0.5 font-medium text-rose-600 dark:text-rose-400",title:"recording in progress",children:[(0,r.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-rose-500 animate-pulse","aria-hidden":!0}),"REC"]}),I&&j>1&&(0,r.jsxs)("span",{className:"ml-1 flex items-center gap-1 rounded bg-amber-500/15 px-1.5 py-0.5 font-medium text-amber-700 dark:text-amber-400",title:"".concat(j," devices on this session"),children:[(0,r.jsx)(l.A,{className:"h-3 w-3","aria-hidden":!0}),j]}),(0,r.jsx)("span",{className:"ml-2 text-[11px] text-muted-foreground",title:"터미널 PTY 는 데몬에 상주 — 연결이 끊겨도 유지되고 재접속 시 이어집니다",children:ep}),eg.length>0&&(0,r.jsxs)("button",{type:"button",className:"ml-1 rounded-md border border-dashed border-border px-1.5 py-0.5 text-[11px] text-muted-foreground hover:bg-accent",onClick:eh,title:"데몬이 모르는 탭 ".concat(eg.length,"개를 목록에서 뺍니다 — PTY 는 건드리지 않고, 활성 탭은 남깁니다"),children:["정리 ",eg.length]}),A&&(0,r.jsx)("button",{type:"button",onClick:A,"aria-label":M?"hide terminal chat dock":"show terminal chat dock",title:M?"terminal chat dock 숨기기":"terminal chat dock 보이기",className:"ml-1 rounded-md p-1 ".concat(M?"bg-primary/10 text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:(0,r.jsx)(o.A,{className:"h-3.5 w-3.5"})}),Y&&(0,r.jsx)("button",{type:"button",onClick:Y,"aria-label":I?"expand panels":"collapse panels",title:I?"패널 펼치기":"패널 접기",className:"ml-1 rounded-md p-1 text-muted-foreground hover:bg-accent hover:text-foreground",children:I?(0,r.jsx)(s.A,{className:"h-3.5 w-3.5"}):(0,r.jsx)(i.A,{className:"h-3.5 w-3.5"})})]})}},52479:(e,t,n)=>{n.d(t,{GG:()=>i,HS:()=>c,KN:()=>a,L4:()=>l,U$:()=>f,XG:()=>d,h7:()=>o,t_:()=>m,vq:()=>p,xV:()=>s});var r=n(24253);function a(e){return e?{all:!0,includeTest:!0}:{}}function l(){try{let e=(0,r.Ys)(),t=(0,r.Wq)(e);return(0,r.To)([...e,t]),t}catch(e){return null}}function o(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=Object.entries(a(e)).map(e=>{let[t,n]=e;return"".concat(encodeURIComponent(t),"=").concat(encodeURIComponent(String(n)))}).join("&");return 0===t.length?"/v1/terminals":"/v1/terminals?".concat(t)}function s(e){return"/v1/terminals/".concat(encodeURIComponent(e),"/frame")}function i(){return"/v1/terminals/view"}let u={unknown:"Unknown target: this PTY was not found. Check the subject list and try again.",denied:"Denied: takeover was refused. Check ownership and try again.","owner-unreachable":"Owner unreachable: could not reach the PTY owner. Check the owner process and try again.",failed:"Server failed: ownership transfer did not complete. Check status and try again.",http:"Takeover failed. Check status and try again.",network:"Network failed: could not request takeover. Check the connection and try again."};async function c(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:globalThis.fetch,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{var r,a;let l=await t("/v1/terminals/".concat(encodeURIComponent(e),"/control"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"takeover"}),signal:n.signal});if(200===l.status)return{ok:!0,ptyId:e};let o=(r=l.status,404===r?"unknown":409===r?"denied":504===r?"owner-unreachable":502===r?"failed":"http");return{ok:!1,ptyId:e,kind:o,status:l.status,message:(a=l.status,"http"===o&&void 0!==a?"Takeover failed (".concat(a,"). Check status and try again."):u[o])}}catch(t){return{ok:!1,ptyId:e,kind:"network",message:u.network}}}function d(e){return{talk:e.talk.length>0,screen:e.screen.ptyIds.length>0,agent:e.agent.names.length>0||e.agent.controllers.length>0}}function m(e){let t=d(e);return e.screen.liveCount>0?"live":!t.screen&&t.agent?"unknown":"inactive"}function f(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t?[...e]:e.filter(e=>"inactive"!==m(e))}function p(e,t){let n=new Map;for(let a of e){var r;let e=(function(e){let t=new Set,n=[];for(let r of e)!1===r.hasPty||t.has(r.id)||(t.add(r.id),n.push({id:r.id,value:r}));return n})(a.screen.ptyIds.map(e=>({id:e}))).sort((e,t)=>e.id.localeCompare(t.id));if(0===e.length){n.set(a.id,{kind:"no-screen"});continue}let l=null==(r=e.find(e=>{let{id:n}=e;return t.has(n)}))?void 0:r.id,o=void 0===l?void 0:t.get(l);n.set(a.id,void 0===l||void 0===o?{kind:"no-progress"}:{kind:"progress",ptyId:l,...o})}return n}},67007:(e,t,n)=>{n.d(t,{Dw:()=>g,Kh:()=>u,OZ:()=>s,cl:()=>i,gA:()=>p,hH:()=>d,lH:()=>m,tC:()=>o,x3:()=>c,xu:()=>l});var r=n(52479);function a(e){return"number"==typeof e&&Number.isFinite(e)?Number.isNaN(new Date(e).getTime())?null:e:null}function l(e){let t=new Set,n=[];for(let r of e){let e=c(r);!1===r.hasPty||t.has(e)||(t.add(e),n.push(r))}return n.sort((e,t)=>{var n,r,l,o;let s=a(e.startedAt),i=a(t.startedAt);if(null!==s&&null!==i&&s!==i)return i-s;if(null!==s&&null===i)return -1;if(null===s&&null!==i)return 1;let u=(n=e.id)<(r=t.id)?-1:+(n>r);return 0!==u?u:(l=c(e))<(o=c(t))?-1:+(l>o)})}function o(e){return(0,r.KN)(e)}function s(e){return"number"!=typeof e||!Number.isFinite(e)||Number.isNaN(new Date(e).getTime())?"시작 시각 알 수 없음":new Date(e).toLocaleString()}function i(e,t){return e&&!t?"프로세스 실행 중 \xb7 출력 스트림 열림":e&&t?"프로세스 실행 중 \xb7 출력 스트림 닫힘":e||t?"프로세스 종료 \xb7 출력 스트림 닫힘":"프로세스 종료 \xb7 출력 스트림 열림"}function u(e,t){if(null===e)return null;if("unrequested"===t.status||"loading"===t.status)return{kind:"loading",unreadablePayloadsSummary:null,groups:[]};if("error"===t.status)return{kind:"error",unreadablePayloadsSummary:null,groups:[]};let{lineage:n}=t,r=void 0===n.unreadablePayloads?"읽지 못한 계보 payload 수를 데몬이 알리지 않았습니다.":0===n.unreadablePayloads?"읽지 못한 계보 payload가 0개입니다.":"읽지 못한 계보 payload가 ".concat(n.unreadablePayloads,"개입니다.");return{kind:0===n.groups.length?"empty":"content",unreadablePayloadsSummary:r,groups:n.groups.map(t=>({joinedBy:t.joinedBy,key:t.key,rows:t.rows.map(t=>({ptyId:t.ptyId,kind:t.kind,instance:t.instance,alive:t.alive,startedAt:t.startedAt,closed:!0===t.closed||void 0!==t.closedAt,selected:t.ptyId===e}))}))}}function c(e){var t,n;return"".concat(null!=(n=null==(t=e.sourceRoot)?void 0:t.dbPath)?n:"","\0").concat(e.id)}function d(e,t){let n=t.filter(t=>t.id===e);if(1===n.length){let e=n[0];return{kind:"selected",terminal:e,terminalKey:c(e),candidates:[e],reason:"unique-id"}}return n.length>1?{kind:"ambiguous",terminal:null,terminalKey:null,candidates:n,reason:"duplicate-id"}:{kind:"not-found",terminal:null,terminalKey:null,candidates:[],reason:0===t.length?"empty-terminal-list":"terminal-id-not-found"}}function m(e,t,n,r,a){let l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"raw",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:new Map,s=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"raw",a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:new Map,l=null!==t&&e.some(e=>c(e)===t);return e.map(e=>{var o,s,i;let u=l&&c(e)===t,d=u?"raw"===r?"unrequested"===(i=null!=(o=n.get(c(e)))?o:{status:"unrequested"}).status?{kind:"loading",text:"화면 글자를 아직 불러오지 않았습니다.",frameInfo:null,frameMetadata:null}:"loading"===i.status?{kind:"loading",text:"화면 글자를 불러오는 중…",frameInfo:null,frameMetadata:null}:"error"===i.status?{kind:"error",text:"화면 글자를 불러오지 못했습니다.",frameInfo:null,frameMetadata:null}:0===i.scrollback.length?{kind:"empty",text:"표시할 화면 글자가 없습니다.",frameInfo:null,frameMetadata:null}:{kind:"content",text:i.scrollback,frameInfo:null,frameMetadata:null}:function(e){if("unrequested"===e.status)return{kind:"loading",text:"렌더 화면을 아직 불러오지 않았습니다.",frameInfo:null,frameMetadata:null};if("loading"===e.status)return{kind:"loading",text:"렌더 화면을 불러오는 중…",frameInfo:null,frameMetadata:null};if("error"===e.status)return{kind:"error",text:"렌더 화면을 불러오지 못했습니다.",frameInfo:null,frameMetadata:null};let[t,...n]=e.frame.split("\n"),r=n.join("\n"),a={frameAt:e.frameAt,frameSource:e.frameSource};return 0===r.length?{kind:"empty",text:"표시할 렌더 화면이 없습니다.",frameInfo:t||null,frameMetadata:a}:{kind:"content",text:r,frameInfo:t||null,frameMetadata:a}}(null!=(s=a.get(c(e)))?s:{status:"unrequested"}):null;return{terminal:e,selected:u,scrollback:d,view:null===d?null:{visible:!0,modes:[{mode:"raw",label:"원시 글자",selected:"raw"===r},{mode:"render",label:"렌더 화면",selected:"render"===r}],display:d}}})}(t,r,a,l,o);return{includeAll:e,scopeSummary:["number"!=typeof(null==n?void 0:n.hiddenDead)?null:0===n.hiddenDead?"숨긴 종료 PTY가 0개입니다.":"숨긴 종료 PTY가 ".concat(n.hiddenDead,"개입니다."),function(e){let t=e.filter(e=>{let{terminal:t}=e;return"terminated-live-owner"===t.ownerRunUsage}).length;return"소유 런이 끝났는데 터미널이 남아 있는 행이 ".concat(t,"개입니다.")}(s)].filter(e=>null!==e).join(" "),rows:s}}function f(e,t){return e.observedAt-t.observedAt||e.logId-t.logId}function p(e){var t,n,r;let a=new Map;for(let n of e){let e=function(e){if("headless.progress-frame"!==e.event||!e.data||"object"!=typeof e.data)return null;let t=e.data;if("string"!=typeof t.ptyId||"string"!=typeof t.runId||"string"!=typeof t.planId||!Number.isSafeInteger(t.seq)||t.seq<1||"string"!=typeof t.humanLine)return null;let n=Date.parse(e.ts);return{ptyId:t.ptyId,runId:t.runId,planId:t.planId,seq:t.seq,humanLine:t.humanLine,observedAt:Number.isFinite(n)?n:0,logId:e.id}}(n);if(!e)continue;let r=null!=(t=a.get(e.ptyId))?t:[];r.push(e),a.set(e.ptyId,r)}let l=new Map;for(let[e,t]of a){t.sort(f);let a=t.at(-1),o=new Map;for(let e of t){let t="".concat(e.runId,"\0").concat(e.planId),r=null!=(n=o.get(t))?n:new Set;r.add(e.seq),o.set(t,r)}let s=[...o.values()].some(e=>{let t=[...e].sort((e,t)=>e-t);return t.some((e,n)=>0===n&&1!==e||n>0&&e-t[n-1]!=1)});l.set(e,{line:a.humanLine,status:(r=a.humanLine,/^\s*●/.test(r))?"complete":"running",hasMissingFrames:s})}return l}function g(e){var t;let n=null==(t=e.storedId)?void 0:t.trim();if(n)return{terminalId:n,reason:"stored"};let r=e.terminals.find(e=>!0===e.alive&&"web-terminal"===e.cmd);return r?{terminalId:r.id,reason:"live-pty"}:void 0!==e.fallbackId&&null!==e.fallbackId?{terminalId:e.fallbackId,reason:"fallback"}:{terminalId:null,reason:"no-terminals"}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7930],{5031:(e,t,n)=>{n.d(t,{GM:()=>l,J3:()=>i,WF:()=>r,bR:()=>s,m:()=>d,r5:()=>a});let r="/v1/devices",a="/v1/approvals/merges",s="/v1/templates/capability-preview",i="/v1/idle-nudge/preview",l="/v1/morning-digest/showroom",d="/v1/next-fluent/dispatch"},14560:(e,t,n)=>{function r(e,t){var n,r;let a=null!=(n=t.minDistance)?n:100,s=null!=(r=t.minVelocity)?r:.3,i=0,l=0,d=0,o=!1,c=null,u=e=>{var n;null!=(n=t.shouldIgnore)&&n.call(t,e.target)||(i=e.clientX,l=e.clientY,d=e.timeStamp,o=!0,c=e.pointerId)},m=e=>{if(!o||e.pointerId!==c)return;o=!1,c=null;let n=e.clientX-i,r=e.clientY-l,u=Math.max(1,e.timeStamp-d),m=Math.abs(n),p=Math.abs(r);m<a||p>=m||m/u<s||t.onSwipe(n<0?"left":"right")},p=()=>{o=!1,c=null};return e.addEventListener("pointerdown",u),e.addEventListener("pointerup",m),e.addEventListener("pointercancel",p),()=>{e.removeEventListener("pointerdown",u),e.removeEventListener("pointerup",m),e.removeEventListener("pointercancel",p)}}function a(e,t){let n=0,r=0,a=0,s=!1,i=null,l=e=>{var l;null!=(l=t.shouldIgnore)&&l.call(t,e.target)||(n=e.clientX,r=e.clientY,a=e.timeStamp,s=!0,i=e.pointerId)},d=e=>{if(!s||e.pointerId!==i)return;s=!1,i=null;let l=function(e){var t,n;let r=null!=(t=e.minDistance)?t:100,a=null!=(n=e.minVelocity)?n:.3,s=Math.abs(e.dx),i=Math.abs(e.dy),l=Math.max(1,e.dt),d=Math.max(s,i);return d<r||d/l<a?null:s>=i?e.dx<0?"left":"right":e.dy<0?"up":"down"}({dx:e.clientX-n,dy:e.clientY-r,dt:e.timeStamp-a,...void 0!==t.minDistance?{minDistance:t.minDistance}:{},...void 0!==t.minVelocity?{minVelocity:t.minVelocity}:{}});l&&t.onSwipe(l)},o=()=>{s=!1,i=null};return e.addEventListener("pointerdown",l),e.addEventListener("pointerup",d),e.addEventListener("pointercancel",o),()=>{e.removeEventListener("pointerdown",l),e.removeEventListener("pointerup",d),e.removeEventListener("pointercancel",o)}}n.d(t,{gI:()=>r,ix:()=>a})},61066:(e,t,n)=>{n.d(t,{SY:()=>_});var r=n(35563),a=n(19707),s=n(45787),i=n(7090);let l=/https?:\/\/[^\s<>"']+/g;function d(e){return e.slice(0,40)}async function o(e,t){let n=function(e){var t;let n=null!=(t=e.match(l))?t:[];return 0===n.length?[{text:e}]:n.map(e=>({url:e}))}(t),r=await e.fetchJson("/v1/intake-ledger/items",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({items:n,source:"pwa"})});return{ids:r.ids,added:r.added,merged:r.merged}}async function c(e,t){return{acceptanceId:(await e.fetchJson("/v1/harness/ask",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({text:t})})).acceptanceId}}function u(e,t,n){return e.fetchJson("/v1/intake/route",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({text:t,consent:"route",source:"pwa",...(null==n?void 0:n.classify)!==void 0?{classify:n.classify}:{}})})}let m=["absorbed","discarded","routed","checked"],p={new:"대기 중",queued:"대기 중",absorbed:"흡수됨",routed:"다른 갈래로 넘김",checked:"확인됨",discarded:"버림",deferred:"미룸"};function g(e){var t,n,r;return null===e?{label:"찾을 수 없음",settled:!1,noteRef:null}:{label:Object.hasOwn(p,e.status)?p[e.status]:e.status,settled:m.includes(e.status),noteRef:null!=(r=null==(n=e.outputs)||null==(t=n.find(e=>"note"===e.kind))?void 0:t.ref)?r:null}}let f={"headless.spawn":"실행 시작","gate.baseline":"게이트 검사","review.diff-scope":"리뷰 중","headless.done":"실행 종료","run-terminal":"종료"};function h(e){var t,n,r,a,s;let i=e.at(-1),l=e.find(e=>"run-terminal"===e.event),d=null==l||null==(t=l.payload)?void 0:t.runStatus;return{stage:i?null!=(r=f[i.event])?r:i.event:null,lastEventAt:null!=(a=null==i?void 0:i.ts)?a:null,done:void 0!==l,outcome:l?"completed"===d||"failed"===d?d:"unknown":null,error:null!=(s=null==l||null==(n=l.payload)?void 0:n.error)?s:null}}var x=n(84240),v=n(53403),k=n(14560);class b{preview(e){return this.client.fetchJson("/v1/intake/pipeline-preview",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e)})}commit(e){return this.client.fetchJson("/v1/intake/pipeline-commit",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e)})}async submitPhotoOcr(e,t){let n=new FormData;return n.append("image",e,t),n.append("polishMode","minimal"),await this.client.fetchJson("/v1/notes/from-image",{method:"POST",body:n})}constructor(e){this.client=e}}var y=n(21483);let w={pending:"대기",approved:"승인",rejected:"거절",deferred:"잠시 멈춤"},j={pending:"bg-muted text-muted-foreground ring-border",approved:"bg-emerald-500/15 text-emerald-700 ring-emerald-500/30",rejected:"bg-rose-500/15 text-rose-700 ring-rose-500/30",deferred:"bg-amber-500/15 text-amber-700 ring-amber-500/30"},N={high:"bg-orange-500/15 text-orange-700 ring-orange-500/30",medium:"bg-sky-500/15 text-sky-700 ring-sky-500/30",low:"bg-muted text-muted-foreground ring-border"},I={research:"\uD83D\uDD0D","research-and-plan":"\uD83D\uDCCB","dev-feature":"⚙","dev-spec":"\uD83D\uDCD0",cognitive:"\uD83E\uDDE0",debug:"\uD83D\uDEE0","workflow-update":"↻"};function S(e){var t,n;let{card:a,verdict:s,active:i,stackIndex:l=0}=e,d=i?0:6*l,o=i?1:Math.max(.92,1-.04*l),c=i?1:Math.max(.6,1-.18*l),{task:u}=a,m=u.urls.length+u.keywords.length+u.refs.length;return(0,r.jsxs)("article",{"data-testid":"memo-intake-card","data-task-key":u.taskKey,"data-active":i?"true":"false","data-stack-index":l,"data-verdict":s,className:"absolute inset-0 flex flex-col gap-2 rounded-2xl border border-border bg-card p-5 shadow-lg ring-1 ring-foreground/5",style:{zIndex:i?30:30-l,transform:"translateY(".concat(d,"px) scale(").concat(o,")"),opacity:c},children:[(0,r.jsxs)("header",{className:"flex items-start justify-between gap-3",children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("p",{className:"truncate text-[10px] uppercase tracking-wider text-muted-foreground","data-testid":"memo-card-mission",children:a.missionTitle}),(0,r.jsx)("h3",{className:"font-heading text-base font-medium leading-snug","data-testid":"memo-card-title",children:u.title})]}),(0,r.jsx)("span",{"data-testid":"memo-card-verdict",className:"shrink-0 rounded-full px-2 py-0.5 text-[10px] font-medium ring-1 ".concat(j[s]),children:w[s]})]}),(0,r.jsx)("p",{className:"line-clamp-3 text-sm text-foreground","data-testid":"memo-card-intent",children:u.intent}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 text-[10px]",children:[(0,r.jsxs)("span",{"data-testid":"memo-card-category",className:"inline-flex items-center gap-1 rounded-full bg-muted px-2 py-0.5 text-muted-foreground ring-1 ring-border",children:[(0,r.jsx)("span",{"aria-hidden":!0,children:null!=(t=I[u.category])?t:"•"}),u.category]}),(0,r.jsx)("span",{"data-testid":"memo-card-priority",className:"rounded-full px-2 py-0.5 font-medium ring-1 ".concat(null!=(n=N[u.priority])?n:N.low),children:u.priority}),u.workflowEligible?(0,r.jsx)("span",{"data-testid":"memo-card-workflow",className:"rounded-full bg-violet-500/15 px-2 py-0.5 text-violet-700 ring-1 ring-violet-500/30",children:"workflow"}):(0,r.jsx)("span",{"data-testid":"memo-card-workflow",className:"rounded-full bg-muted px-2 py-0.5 text-muted-foreground ring-1 ring-border",children:"no-workflow"}),m>0&&(0,r.jsxs)("span",{"data-testid":"memo-card-refs",className:"rounded-full bg-muted px-2 py-0.5 text-muted-foreground ring-1 ring-border",children:[m," ref",1===m?"":"s"]})]}),i&&(0,r.jsxs)("footer",{"data-testid":"memo-card-hint",className:"mt-auto grid grid-cols-2 gap-1 pt-2 text-[10px] text-muted-foreground",children:[(0,r.jsx)("span",{children:"← 거절"}),(0,r.jsx)("span",{className:"text-right",children:"승인 →"}),(0,r.jsx)("span",{children:"↑ 잠시 멈춤"}),(0,r.jsx)("span",{className:"text-right",children:"펼치기 ↓"})]})]})}function R(e,t,n,r){y.K.emit({surface:"pwa",intent:{layer:"selection",kind:"pwa.selection.toggle_change",target:{kind:"toggle",id:e},value:{from:t,to:n}},...r?{context:{active_workflow_run_id:r}}:{}})}let C={left:"reject",right:"approve",up:"defer",down:"expand"},E={ArrowLeft:"reject",ArrowRight:"approve",ArrowUp:"defer",ArrowDown:"expand"," ":"approve"},O={reject:"rejected",approve:"approved",defer:"deferred"};function L(){let{initialMemo:e,onClose:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{client:n}=(0,s.Q)(),l=(0,a.useMemo)(()=>new b(n),[n]),[d,o]=(0,a.useState)(null!=e?e:""),[c,u]=(0,a.useState)(!1),[m,p]=(0,a.useState)(null),[g,f]=(0,a.useState)({}),[h,k]=(0,a.useState)(0),[y,w]=(0,a.useState)(null),[j,N]=(0,a.useState)(null),[I,S]=(0,a.useState)(!1),[C,E]=(0,a.useState)(""),L=(0,a.useRef)(null),[P,D]=(0,a.useState)(!1),[K,A]=(0,a.useState)(!1),[$,_]=(0,a.useState)(!1),[U,X]=(0,a.useState)(!1),V=(0,a.useMemo)(()=>m?function(e){let t=[];for(let n of e)for(let e of n.tasks)t.push({missionId:n.id,missionTitle:n.title,task:e});return t}(m.decomposition.missions):[],[m]),H=(0,a.useMemo)(()=>{let e={approved:0,rejected:0,deferred:0,pending:0};for(let n of V){var t;let r=null!=(t=g[n.task.taskKey])?t:"pending";e[r]+=1}return e},[V,g]),B=H.approved+H.rejected+H.deferred>0,F=(0,a.useMemo)(()=>V.filter(e=>"approved"===g[e.task.taskKey]).map(e=>e.task.taskKey),[V,g]),W=(0,a.useCallback)(()=>{p(null),f({}),k(0),w(null),N(null),S(!1),E(""),null==t||t()},[t]),q=(0,a.useCallback)(()=>{var e;null==(e=L.current)||e.click()},[]),Q=(0,a.useCallback)(async e=>{var t,n;let r=null==(t=e.target.files)?void 0:t[0];if(e.target.value="",r){(0,v.cY)("intake.memo-preview.photo.pick",{name:r.name,size:r.size,type:r.type}),D(!0);try{let e=await l.submitPhotoOcr(r,r.name||"memo-photo.jpg"),t=(null!=(n=e.markdown)?n:"").trim();if(!t)return void x.oR.error("OCR 결과가 비어 있습니다 — 사진을 다시 찍거나 다른 이미지를 선택하세요.");o(e=>e.trim()?"".concat(t,"\n\n---\n\n").concat(e):t),x.oR.success("OCR 추가됨 (provider=".concat(e.provider," \xb7 ").concat(t.length,"자) — 수정 후 Run preview 누르세요."))}catch(e){x.oR.error("OCR 실패: ".concat(e instanceof Error?e.message:e)),(0,v.cY)("intake.memo-preview.photo.error",{err:String(e)})}finally{D(!1)}}},[l]),G=(0,a.useCallback)(async()=>{let e=d.trim(),t=C.trim();if(e&&t&&m){(0,v.cY)("intake.memo-preview.refine",{hintLen:t.length,useRealLlm:K}),u(!0),w(null),N(null);try{let n=await l.preview({rawText:e,refinementHint:t,priorDecomposition:{missions:m.decomposition.missions},...K?{useRealLlm:!0}:{},...U?{useRealEnrich:!0}:{}});p(n),f({}),k(0),E(""),S(!1)}catch(e){x.oR.error("refine failed: ".concat(e instanceof Error?e.message:e)),(0,v.cY)("intake.memo-preview.refine.error",{err:String(e)})}finally{u(!1)}}},[l,d,C,m,K,U]),Z=(0,a.useCallback)(async()=>{let e=d.trim();if(e){(0,v.cY)("intake.memo-preview.submit",{length:e.length,useRealLlm:K,useRealEnrich:U}),u(!0),w(null),N(null);try{let t=await l.preview({rawText:e,...K?{useRealLlm:!0}:{},...U?{useRealEnrich:!0}:{}});p(t),f({}),k(0)}catch(e){x.oR.error("pipeline preview failed: ".concat(e instanceof Error?e.message:e)),(0,v.cY)("intake.memo-preview.error",{err:String(e)})}finally{u(!1)}}},[l,d,K,U]),ee=(0,a.useCallback)(e=>{if(!V.length||h>=V.length)return;let t=V[h];if((0,v.cY)("intake.memo-preview.decision",{taskKey:t.task.taskKey,decision:e}),"expand"===e)return void w(t);f(n=>({...n,[t.task.taskKey]:O[e]})),k(e=>Math.min(e+1,V.length))},[V,h]),et=(0,a.useCallback)(()=>{V.length&&((0,v.cY)("intake.memo-preview.approve-all-pending",{count:H.pending}),f(e=>{let t={...e};for(let e of V){var n;(null!=(n=t[e.task.taskKey])?n:"pending")==="pending"&&(t[e.task.taskKey]="approved")}return t}))},[V,H.pending]),en=(0,a.useCallback)(async()=>{var e,t,n;let r=d.trim();if(!r)return;let a=B?F:void 0;if(B&&0===F.length)return void x.oR.error("승인된 카드가 없습니다 — 카드를 → 스와이프해서 승인하세요.");(0,v.cY)("intake.memo-preview.register.submit",{length:r.length,mode:B?"selective":"express",includeCount:null!=(e=null==a?void 0:a.length)?e:null,useRealLlm:K,commitToTox:$}),u(!0);try{let e={rawText:r,...a?{includeTaskKeys:a}:{},...K?{useRealLlm:!0}:{},...U?{useRealEnrich:!0}:{}},s=$?await l.commit(e):await l.preview({...e,register:!0});p(s);let i=s.register;if(i){let e=null!=(n=null==(t=i.skippedTaskKeys)?void 0:t.length)?n:0;N({missions:i.missionIds.length,tasks:i.taskIds.length,skipped:e});let r=e>0?" \xb7 ".concat(e," skipped"):"",a=$?"~/.elanous/tasks/tasks.db":"in-memory";x.oR.success("registered ".concat(i.missionIds.length," mission").concat(1===i.missionIds.length?"":"s"," \xb7 ").concat(i.taskIds.length," task").concat(1===i.taskIds.length?"":"s"," (").concat(a,")").concat(r))}else x.oR.error("register skipped — endpoint returned no register payload")}catch(e){x.oR.error("register failed: ".concat(e instanceof Error?e.message:e)),(0,v.cY)("intake.memo-preview.register.error",{err:String(e)})}finally{u(!1)}},[l,d,B,F,K,$,U]);return(0,r.jsxs)("section",{className:"mx-auto flex max-w-md flex-col gap-4 p-4","data-testid":"memo-intake-preview",children:[(0,r.jsxs)("header",{className:"space-y-1",children:[(0,r.jsx)("h2",{className:"font-heading text-lg font-medium",children:"New from memo"}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:"Raw memo dump → 자동 task graph. ←/→/↑/↓ swipe = 거절/승인/잠시 멈춤/펼치기."}),(0,r.jsxs)("label",{"data-testid":"memo-intake-llm-toggle",className:"flex items-center gap-2 text-[10px] text-muted-foreground",children:[(0,r.jsx)("input",{type:"checkbox",checked:K,onChange:e=>{let t=e.target.checked;R("use-real-llm",K,t,null==m?void 0:m.intakeId),A(t)},disabled:c||P,"data-testid":"memo-intake-llm-toggle-input"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{className:K?"text-foreground":"",children:"Enable Real LLM"})," ","— ",K?"실 streamLLM 호출 (provider 는 ~/.elanous/config.json \xb7 user-config 우선)":"LLM 미호출 \xb7 skeleton fallback \xb7 pipeline 흐름 + cards 렌더만 검증"]})]}),(0,r.jsxs)("label",{"data-testid":"memo-intake-enrich-toggle",className:"flex items-center gap-2 text-[10px] text-muted-foreground",children:[(0,r.jsx)("input",{type:"checkbox",checked:U,onChange:e=>{let t=e.target.checked;R("use-real-enrich",U,t,null==m?void 0:m.intakeId),X(t)},disabled:c||P,"data-testid":"memo-intake-enrich-toggle-input"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{className:U?"text-foreground":"",children:"Enable Real enrich"})," ","— ",U?"URL fetch + gh repo view 호출 (keyword crawl 은 stub \xb7 FU-I7b.2)":'모든 enrichment 가 per-row "no plugin" diag \xb7 외부 HTTP 호출 0']})]}),(0,r.jsxs)("label",{"data-testid":"memo-intake-commit-toggle",className:"flex items-center gap-2 text-[10px] text-muted-foreground",children:[(0,r.jsx)("input",{type:"checkbox",checked:$,onChange:e=>{let t=e.target.checked;R("commit-to-tox",$,t,null==m?void 0:m.intakeId),_(t)},disabled:c||P,"data-testid":"memo-intake-commit-toggle-input"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{className:$?"text-rose-700 dark:text-rose-400":"",children:"Commit to real TOX"})," ","— ",$?"Register 가 ~/.elanous/tasks/tasks.db 에 실 mission/task 쓰기 + workflow YAML 디스크 저장 (되돌릴 수 없음)":"Register 가 in-memory store 만 사용 \xb7 사용자 TOX 미터치"]})]})]}),(0,r.jsx)("textarea",{value:d,onChange:e=>o(e.target.value),placeholder:"- 스크린 레코딩 능력 흡수\n https://github.com/siddharthvaddem/openscreen\n- 이미지 바로 보기 안 되는 이유 분석\n\n==== 다이어그램 강화 ====\n위젯 surface \xb7 Mermaid \xb7 DrawIO repo 확인",rows:6,disabled:c,"data-testid":"memo-intake-textarea",className:"w-full resize-y rounded-md border border-input bg-background px-3 py-2 font-mono text-sm shadow-xs focus:outline-none focus:ring-2 focus:ring-ring"}),(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)(i.$,{type:"button",size:"sm",onClick:()=>void Z(),disabled:c||P||!d.trim(),"data-testid":"memo-intake-submit",children:c&&!m?"Running…":"Run preview"}),(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"ghost",onClick:q,disabled:c||P,"data-testid":"memo-intake-photo","aria-label":"upload photo for OCR",title:"사진 / 화이트보드 / post-it → OCR → memo",children:P?"⏳ OCR…":"\uD83D\uDCF7 Photo"}),(0,r.jsx)("input",{ref:L,type:"file",accept:"image/*",capture:"environment",className:"hidden","data-testid":"memo-intake-photo-input",onChange:e=>void Q(e)}),m&&(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"ghost",onClick:W,disabled:c,"data-testid":"memo-intake-reset",children:"Reset"})]}),m&&(0,r.jsx)(z,{res:m,registered:j}),m&&null===j&&(0,r.jsx)(T,{open:I,hint:C,busy:c,onToggle:()=>S(e=>!e),onHintChange:E,onSubmit:()=>void G()}),m&&V.length>0&&(0,r.jsx)(J,{cards:V,verdicts:g,topIndex:h,onSwipe:ee}),m&&V.length>0&&(0,r.jsx)(M,{tallies:H,total:V.length}),m&&V.length>0&&(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"ghost",onClick:et,disabled:c||0===H.pending||null!==j,"data-testid":"memo-intake-approve-pending",children:"Approve all pending (".concat(H.pending,")")}),(0,r.jsx)(i.$,{type:"button",size:"sm",onClick:()=>void en(),disabled:c||null!==j||B&&0===F.length,"data-testid":"memo-intake-register",children:j?"Registered ✓ (".concat(j.tasks," tasks)"):c?"Registering…":B?"Register approved (".concat(F.length,")"):"Register all (".concat(V.length,")")}),(0,r.jsx)("span",{className:"text-[10px] text-muted-foreground",children:"".concat(h," / ").concat(V.length," reviewed")})]}),y&&(0,r.jsx)(Y,{card:y,onClose:()=>w(null)})]})}function M(e){let{tallies:t,total:n}=e;return(0,r.jsxs)("div",{"data-testid":"memo-intake-tally",className:"flex flex-wrap items-center gap-2 text-[10px] text-muted-foreground",children:[(0,r.jsxs)("span",{className:"font-medium",children:[n," 카드"]}),(0,r.jsxs)("span",{"data-testid":"memo-tally-approved",className:"rounded-full bg-emerald-500/15 px-2 py-0.5 text-emerald-700 ring-1 ring-emerald-500/30",children:["✓ ",t.approved]}),(0,r.jsxs)("span",{"data-testid":"memo-tally-rejected",className:"rounded-full bg-rose-500/15 px-2 py-0.5 text-rose-700 ring-1 ring-rose-500/30",children:["✗ ",t.rejected]}),(0,r.jsxs)("span",{"data-testid":"memo-tally-deferred",className:"rounded-full bg-amber-500/15 px-2 py-0.5 text-amber-700 ring-1 ring-amber-500/30",children:["⏸ ",t.deferred]}),(0,r.jsxs)("span",{"data-testid":"memo-tally-pending",className:"rounded-full bg-muted px-2 py-0.5 ring-1 ring-border",children:["… ",t.pending]})]})}function T(e){let{open:t,hint:n,busy:a,onToggle:s,onHintChange:l,onSubmit:d}=e;return(0,r.jsxs)("div",{"data-testid":"memo-intake-refine",className:"space-y-2",children:[(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"ghost",onClick:s,disabled:a,"data-testid":"memo-intake-refine-toggle",className:"text-xs",children:t?"↓ Hide refine":"↻ Refine decomposition"}),t&&(0,r.jsxs)("div",{className:"space-y-2 rounded-lg border border-dashed border-border bg-card/30 p-3",children:[(0,r.jsx)("p",{className:"text-[10px] text-muted-foreground",children:"LLM 에 다시 prompt — 원본 memo + 이전 분해 + hint 를 함께 보냅니다. 결과 카드의 verdict 는 초기화됩니다."}),(0,r.jsx)("textarea",{value:n,onChange:e=>l(e.target.value),placeholder:'예: "missions 더 작게" \xb7 "P0 만 남겨" \xb7 "t-9 ~ t-11 을 하나로 합쳐"',rows:2,disabled:a,"data-testid":"memo-intake-refine-textarea",className:"w-full resize-y rounded-md border border-input bg-background px-2 py-1.5 text-xs shadow-xs focus:outline-none focus:ring-2 focus:ring-ring"}),(0,r.jsx)(i.$,{type:"button",size:"sm",onClick:d,disabled:a||!n.trim(),"data-testid":"memo-intake-refine-submit",children:a?"Refining…":"Re-run with hint"})]})]})}function z(e){let{res:t,registered:n}=e;return(0,r.jsxs)("div",{"data-testid":"memo-intake-summary",className:"space-y-1 rounded-lg border border-dashed border-border bg-card/50 p-3 text-xs text-muted-foreground",children:[(0,r.jsxs)("p",{children:["intake ",(0,r.jsx)("code",{"data-testid":"memo-intake-id",className:"rounded bg-muted px-1 text-foreground",children:t.intakeId})," \xb7 ",t.decomposition.fallback?"skeleton fallback":"live"]}),(0,r.jsxs)("p",{children:[t.decomposition.missionCount," mission",1===t.decomposition.missionCount?"":"s"," \xb7"," ",t.decomposition.taskCount," task",1===t.decomposition.taskCount?"":"s"," \xb7"," ","workflow-eligible ",t.categorize.counts.workflowEligible,"/",t.categorize.counts.total," \xb7"," ","deps ",t.align.dependencyCount]}),n&&(0,r.jsxs)("p",{"data-testid":"memo-intake-registered",className:"text-emerald-600 dark:text-emerald-400",children:["✓ registered ",n.missions," mission",1===n.missions?"":"s"," \xb7 ",n.tasks," task",1===n.tasks?"":"s"," (in-memory)",n.skipped>0?" \xb7 ".concat(n.skipped," skipped"):""]})]})}function J(e){let{cards:t,verdicts:n,topIndex:s,onSwipe:i}=e,l=(0,a.useRef)(null),d=(0,a.useRef)(i);if((0,a.useEffect)(()=>{d.current=i},[i]),(0,a.useEffect)(()=>{let e=l.current;if(e)return(0,k.ix)(e,{onSwipe:e=>d.current(C[e])})},[]),(0,a.useEffect)(()=>{if(s>=t.length)return;let e=e=>{let t=E[e.key];t&&(e.preventDefault(),d.current(t))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[s,t.length]),s>=t.length)return(0,r.jsx)("div",{"data-testid":"memo-deck-empty",className:"flex h-72 items-center justify-center rounded-2xl border border-dashed border-border text-sm text-muted-foreground",children:'모든 카드 검토 완료 — 아래 "Approve all & Register" 를 눌러 등록.'});let o=t.slice(s,s+3);return(0,r.jsxs)("div",{ref:l,"data-testid":"memo-deck","data-top-index":s,role:"region","aria-label":"memo intake card deck \xb7 좌우 = 거절/승인 \xb7 위 = 잠시 멈춤 \xb7 아래 = 펼치기",tabIndex:0,className:"relative h-80 select-none touch-none",children:[o.map((e,t)=>{var a;return(0,r.jsx)(S,{card:e,verdict:null!=(a=n[e.task.taskKey])?a:"pending",active:0===t,stackIndex:t},e.task.taskKey)}),(0,r.jsxs)("div",{"data-testid":"memo-deck-progress",className:"absolute -bottom-6 left-0 right-0 text-center text-[10px] text-muted-foreground",children:[s+1," / ",t.length]})]})}function Y(e){let{card:t,onClose:n}=e,{task:a}=t;return(0,r.jsx)("div",{"data-testid":"memo-card-expand",role:"dialog","aria-modal":"true",className:"fixed inset-0 z-50 flex items-end justify-center bg-foreground/40 p-4 sm:items-center",onClick:n,children:(0,r.jsxs)("div",{onClick:e=>e.stopPropagation(),className:"w-full max-w-md space-y-3 rounded-2xl border border-border bg-card p-5 shadow-xl",children:[(0,r.jsxs)("header",{className:"space-y-1",children:[(0,r.jsx)("p",{className:"text-[10px] uppercase tracking-wider text-muted-foreground",children:t.missionTitle}),(0,r.jsx)("h3",{className:"font-heading text-base font-medium",children:a.title})]}),(0,r.jsx)("p",{className:"text-sm text-foreground",children:a.intent}),(a.urls.length>0||a.keywords.length>0||a.refs.length>0)&&(0,r.jsxs)("div",{className:"space-y-1 text-xs text-muted-foreground",children:[a.urls.length>0&&(0,r.jsxs)("p",{"data-testid":"memo-card-expand-urls",children:["URLs: ",a.urls.join(" \xb7 ")]}),a.keywords.length>0&&(0,r.jsxs)("p",{"data-testid":"memo-card-expand-keywords",children:["Keywords: ",a.keywords.join(" \xb7 ")]}),a.refs.length>0&&(0,r.jsxs)("p",{"data-testid":"memo-card-expand-refs",children:["Refs: ",a.refs.join(" \xb7 ")]})]}),(0,r.jsxs)("p",{className:"text-[10px] text-muted-foreground",children:[a.category," \xb7 ",a.priority," priority \xb7 ",a.workflowEligible?"workflow":"no-workflow"," \xb7 confidence ",a.confidence]}),(0,r.jsx)("div",{className:"flex justify-end pt-1",children:(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"ghost",onClick:n,"data-testid":"memo-card-expand-close",children:"Close"})})]})})}let P="elanous.intake.recent",D={absorb:"→ 흡수",tasks:"→ 작업",graph:"→ 그래프","ask-human":"→ 직접 고르세요"};function K(e){if(null==e?void 0:e.storage)return e.storage;try{return globalThis.localStorage}catch(e){return null}}function A(e){try{var t;let n=null==(t=K(e))?void 0:t.getItem(P);if(!n)return[];let r=JSON.parse(n);return Array.isArray(r)?r:[]}catch(e){return[]}}async function $(e,t,n){let r=d(n);return"absorb"===t?{absorbIds:(await o(e,n)).ids,recentPreview:r}:{acceptanceId:(await c(e,n)).acceptanceId,recentPreview:r}}function _(){var e,t;let{state:n,deps:l}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{client:o}=(0,s.Q)(),[c,m]=(0,a.useState)(""),[p,f]=(0,a.useState)(!1),[x,v]=(0,a.useState)(null),[k,b]=(0,a.useState)(null),[y,w]=(0,a.useState)(null),[j,N]=(0,a.useState)(null),[I,S]=(0,a.useState)({}),[R,C]=(0,a.useState)(!1),[E,O]=(0,a.useState)(""),[M,T]=(0,a.useState)([]),[z,J]=(0,a.useState)({}),Y=(0,a.useRef)(z),_=(0,a.useMemo)(()=>[...new Set(M.filter(e=>"absorb"===e.track).flatMap(e=>{var t;return null!=(t=e.ids)?t:[]}))],[M]),U=(0,a.useRef)(_);U.current=_;let X=(0,a.useRef)(()=>{}),[V,H]=(0,a.useState)(null),[B,F]=(0,a.useState)(!1),W=(0,a.useRef)(!1),q=(0,a.useRef)(0),Q=(0,a.useRef)(c);Q.current=c;let G=(0,a.useRef)(null),Z=(0,a.useRef)(I),ee=(0,a.useRef)(M),et=(0,a.useMemo)(()=>[...new Set([...M.filter(e=>"graph"===e.track).map(e=>e.runId),null==j?void 0:j.runId].filter(e=>!!e))],[M,null==j?void 0:j.runId]);(0,a.useEffect)(()=>{T(A(l))},[l]),(0,a.useEffect)(()=>{ee.current=M},[M]),(0,a.useEffect)(()=>{let e=!1,t=new Map,n=async r=>{var a;if(e||!U.current.includes(r)||g(null!=(a=Y.current[r])?a:null).settled)return;let s=null;try{s=await o.fetchJson("/v1/intake-ledger/items/".concat(encodeURIComponent(r)))}catch(e){}e||(Y.current={...Y.current,[r]:s},J(Y.current),U.current.includes(r)&&!g(s).settled?t.set(r,setTimeout(()=>{n(r)},6e4)):t.delete(r))};return X.current=e=>{var r;t.has(e)||g(null!=(r=Y.current[e])?r:null).settled||(t.set(e,null),n(e))},U.current.forEach(X.current),()=>{for(let n of(e=!0,t.values()))null!==n&&clearTimeout(n);t.clear(),X.current=()=>{}}},[o]),(0,a.useEffect)(()=>{_.forEach(X.current)},[_]);let en=(0,a.useCallback)(e=>{var t,n;T(function(e,t){let n=[e,...A(t)].slice(0,20);try{var r;null==(r=K(t))||r.setItem(P,JSON.stringify(n))}catch(e){}return n}({...e,at:null!=(n=null==l||null==(t=l.now)?void 0:t.call(l))?n:new Date().toISOString()},l))},[l]),er=(0,a.useCallback)(async()=>{let e=c.trim();if(e&&!p){f(!0),v(null),b(null);try{var t;let n=await $(o,"absorb",e);b(null!=(t=n.absorbIds)?t:[]),en({track:"absorb",preview:n.recentPreview,ids:n.absorbIds})}catch(e){v(e instanceof Error?e.message:String(e))}finally{f(!1)}}},[p,o,en,c]),ea=(0,a.useCallback)(()=>{let e=c.trim();e&&!p&&(O(e),C(!0),en({track:"split",preview:d(e)}))},[p,en,c]),es=(0,a.useCallback)(async()=>{let e=c.trim();if(e&&!p){f(!0),v(null),w(null),N(null);try{var t;let n=await $(o,"graph",e);w(null!=(t=n.acceptanceId)?t:null),G.current=Date.now(),en({track:"graph",preview:n.recentPreview,acceptanceId:n.acceptanceId})}catch(e){v(e instanceof Error?e.message:String(e))}finally{f(!1)}}},[p,o,en,c]);(0,a.useEffect)(()=>{let e=++q.current;if(H(null),!c.trim())return;let t=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)},r=e.trim();if(!r)return()=>{};let a=n.setTimeout(()=>t(r),500);return()=>n.clearTimeout(a)}(c,t=>{u(o,t).then(t=>{q.current===e&&H(t)},()=>{q.current===e&&H(null)})});return()=>{++q.current,t()}},[o,c]);let ei=(0,a.useCallback)(async()=>{let e=c.trim();if(!e||W.current||p||(null==V?void 0:V.reason)!=="rule-unknown")return;let t=++q.current;W.current=!0,F(!0);try{let n=await u(o,e,{classify:!0});q.current===t&&Q.current.trim()===e&&H(n)}catch(n){q.current===t&&Q.current.trim()===e&&H({track:"ask-human",confidence:0,reason:"classifier-failed:request-error",decidedBy:"classifier"})}finally{W.current=!1,F(!1)}},[p,o,null==V?void 0:V.reason,c]);(0,a.useEffect)(()=>{if(!y)return;let e=!1,t=async()=>{var t,n;if(e)return;let r=null!=(t=G.current)?t:Date.now();if(!(Date.now()-r>3e5))try{let t=await o.fetchJson("/v1/harness/ask-status?acceptanceId=".concat(encodeURIComponent(y)));if(!e&&(N(t),t.runId&&ee.current.some(e=>"graph"===e.track&&e.acceptanceId===y&&e.runId!==t.runId))){let e=ee.current.map(e=>"graph"===e.track&&e.acceptanceId===y?{...e,runId:t.runId}:e);ee.current=e;try{null==(n=K(l))||n.setItem(P,JSON.stringify(e))}catch(e){}T(e)}}catch(e){}};t();let n=setInterval(()=>{t()},5e3);return()=>{e=!0,clearInterval(n)}},[y,o,l]),(0,a.useEffect)(()=>{Z.current=I},[I]),(0,a.useEffect)(()=>{let e;if(0===et.length)return;let t=!1,n=!1,r=async()=>{if(t||n)return;let a=et.filter(e=>{var t;return!h(null!=(t=Z.current[e])?t:[]).done});if(0!==a.length){n=!0;try{let e=await Promise.allSettled(a.map(e=>o.fetchJson("/v1/harness/run-events?runId=".concat(encodeURIComponent(e)))));if(t)return;let n={};e.forEach((e,t)=>{"fulfilled"===e.status&&(n[a[t]]=e.value)}),Object.keys(n).length>0&&(Z.current={...Z.current,...n},S(Z.current))}finally{n=!1,!t&&et.some(e=>{var t;return!h(null!=(t=Z.current[e])?t:[]).done})&&(e=setTimeout(()=>{r()},3e4))}}};return r(),()=>{t=!0,e&&clearTimeout(e)}},[o,et]);let el=null!=n?n:{text:c,busy:p,error:x,absorbIds:k,acceptanceId:y,graph:j,runEvents:I,splitOpen:R,splitMemo:E,recent:M,route:V},ed=(0,a.useMemo)(()=>{var e,t;return el.acceptanceId?{acceptanceId:el.acceptanceId,phase:null==(e=el.graph)?void 0:e.phase,runId:null==(t=el.graph)?void 0:t.runId}:null},[el.acceptanceId,el.graph]),eo=0===el.text.trim().length,ec=null!=(e=el.route)?e:null,eu=ec?"absorb"===(t=ec.track)?"absorb":"tasks"===t?"split":"graph"===t?"graph":null:null,em=e=>eu===e?"ring-2 ring-ring":void 0;return(0,r.jsxs)("section",{className:"mx-auto flex max-w-lg flex-col gap-4 p-4","data-testid":"intake-front-door",children:[(0,r.jsx)("header",{className:"space-y-1",children:(0,r.jsx)("h1",{className:"font-heading text-lg font-medium",children:"Intake"})}),(0,r.jsx)("textarea",{value:el.text,onChange:e=>m(e.target.value),rows:6,disabled:el.busy,"data-testid":"intake-front-door-field","aria-label":"intake",className:"w-full resize-y rounded-md border border-input bg-background px-3 py-2 text-sm shadow-xs focus:outline-none focus:ring-2 focus:ring-ring"}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"intake-front-door-explainer",children:"보내면 elanous 가 이 글을 처리합니다(흡수 \xb7 작업 분할 \xb7 그래프 실행)."}),ec&&(0,r.jsxs)("div",{"data-testid":"intake-route-chip","data-auto-submit":"0",className:"space-y-0.5 text-sm",children:[(0,r.jsx)("p",{"data-testid":"intake-route-chip-label",children:D[ec.track]}),"classifier"===ec.decidedBy&&(0,r.jsxs)("p",{"data-testid":"intake-route-chip-classifier",children:["분류기 판정 \xb7 확신 ",Math.round(100*ec.confidence),"%"]}),(0,r.jsx)("p",{"data-testid":"intake-route-chip-reason",className:"text-xs text-muted-foreground",children:function(e){if("classifier"!==e.decidedBy)return e.reason;if(e.reason.startsWith("classifier-failed:"))return"분류기가 못 갈랐습니다 — 직접 골라 주세요";if(e.reason.startsWith("classifier-low-confidence:")){var t,n;let r=e.reason.slice(26);return"분류기 추정: ".concat(null!=(n=null==(t=D[r])?void 0:t.slice(2))?n:r," (확신 낮음)")}return e.reason}(ec)}),"rule-unknown"===ec.reason&&(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"outline",disabled:B||el.busy||eo,onClick:()=>void ei(),"data-testid":"intake-route-classify",children:"분류기로 가르기"})]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,r.jsx)(i.$,{type:"button",size:"sm",className:em("absorb"),"aria-pressed":"absorb"===eu,disabled:eo||el.busy,onClick:()=>void er(),"data-testid":"intake-absorb","data-emphasized":"absorb"===eu?"true":"false",children:"흡수"}),(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"outline",className:em("split"),"aria-pressed":"split"===eu,disabled:eo||el.busy,onClick:ea,"data-testid":"intake-split","data-emphasized":"split"===eu?"true":"false",children:"작업으로 나누기"}),(0,r.jsx)(i.$,{type:"button",size:"sm",variant:"secondary",className:em("graph"),"aria-pressed":"graph"===eu,disabled:eo||el.busy,onClick:()=>void es(),"data-testid":"intake-graph","data-emphasized":"graph"===eu?"true":"false",children:"그래프로 실행"})]}),el.absorbIds&&(0,r.jsxs)("div",{"data-testid":"intake-absorb-result",className:"space-y-1 text-sm",children:[(0,r.jsx)("p",{children:"대기열에 넣었습니다(아침 정기 흡수에서 처리)"}),(0,r.jsx)("ul",{children:el.absorbIds.map(e=>(0,r.jsx)("li",{"data-testid":"intake-absorb-id",children:e},e))})]}),ed&&(0,r.jsxs)("div",{"data-testid":"intake-graph-result",className:"space-y-1 text-sm",children:[(0,r.jsx)("p",{"data-testid":"intake-acceptance-id",children:ed.acceptanceId}),ed.phase&&(0,r.jsx)("p",{"data-testid":"intake-graph-phase",children:ed.phase}),ed.runId&&(0,r.jsx)("p",{"data-testid":"intake-graph-run",children:ed.runId})]}),el.error&&(0,r.jsx)("p",{className:"text-sm text-destructive","data-testid":"intake-front-door-error",children:el.error}),el.splitOpen&&(0,r.jsx)("div",{"data-testid":"intake-split-host",children:(0,r.jsx)(L,{initialMemo:el.splitMemo,onClose:()=>C(!1)})}),el.recent.length>0&&(0,r.jsx)("ul",{"data-testid":"intake-recent",className:"space-y-1 text-xs text-muted-foreground",children:el.recent.map((e,t)=>{var n;let a=(e=>{var t,n,r;let a=null!=(n=e.runId)?n:e.acceptanceId===el.acceptanceId?null==ed?void 0:ed.runId:void 0;return a?h(null!=(r=null==(t=el.runEvents)?void 0:t[a])?r:[]):null})(e);return(0,r.jsxs)("li",{"data-testid":"intake-recent-row",children:[e.track," \xb7 ",e.preview,e.ids?" \xb7 ".concat(e.ids.join(", ")):"","absorb"===e.track&&(null==(n=e.ids)?void 0:n.map(e=>{var t,n;let a=Object.hasOwn(z,e)?g(null!=(t=z[e])?t:null):null;return(0,r.jsxs)("span",{"data-testid":"intake-absorb-status",children:[" \xb7 흡수: ",null!=(n=null==a?void 0:a.label)?n:"조회 중",(null==a?void 0:a.noteRef)?" \xb7 ".concat(a.noteRef):""]},e)})),e.acceptanceId?" \xb7 ".concat(e.acceptanceId):"",(null==a?void 0:a.stage)&&(0,r.jsxs)("span",{"data-testid":"intake-run-stage",children:[" \xb7 단계: ",a.stage]}),(null==a?void 0:a.lastEventAt)&&(0,r.jsxs)("time",{"data-testid":"intake-run-last-event",dateTime:a.lastEventAt,children:[" \xb7 마지막 사건: ",a.lastEventAt]}),(null==a?void 0:a.done)&&(0,r.jsxs)("span",{"data-testid":"intake-run-outcome",children:[" \xb7 ","completed"===a.outcome?"완료":"failed"===a.outcome?"실패":"결과 미상",a.error?" \xb7 ".concat(a.error.split("\n")[0]):""]})]},"".concat(e.at,"-").concat(t))})})]})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8071],{4123:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("store",[["path",{d:"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5",key:"slp6dd"}],["path",{d:"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244",key:"o0xfot"}],["path",{d:"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05",key:"wn3emo"}]])},5025:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]])},5053:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("message-square",[["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"}]])},6955:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},7225:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},9594:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]])},12385:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},13267:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("square-kanban",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 7v7",key:"1x2jlm"}],["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M16 7v9",key:"1hp2iy"}]])},41519:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]])},44824:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]])},50939:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]])},53249:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("calendar-clock",[["path",{d:"M16 14v2.2l1.6 1",key:"fo4ql5"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]])},56519:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},57866:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("git-pull-request",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["line",{x1:"6",x2:"6",y1:"9",y2:"21",key:"rroup"}]])},61193:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])},65951:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]])},71767:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("sliders-vertical",[["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M12 21v-9",key:"17s77i"}],["path",{d:"M12 8V3",key:"13r4qs"}],["path",{d:"M17 16h4",key:"h1uq16"}],["path",{d:"M19 12V3",key:"o1uvq1"}],["path",{d:"M19 21v-5",key:"qua636"}],["path",{d:"M3 14h4",key:"bcjad9"}],["path",{d:"M5 10V3",key:"cb8scm"}],["path",{d:"M5 21v-7",key:"1w1uti"}]])},73280:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]])},79349:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},82012:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("telescope",[["path",{d:"m10.065 12.493-6.18 1.318a.934.934 0 0 1-1.108-.702l-.537-2.15a1.07 1.07 0 0 1 .691-1.265l13.504-4.44",key:"k4qptu"}],["path",{d:"m13.56 11.747 4.332-.924",key:"19l80z"}],["path",{d:"m16 21-3.105-6.21",key:"7oh9d"}],["path",{d:"M16.485 5.94a2 2 0 0 1 1.455-2.425l1.09-.272a1 1 0 0 1 1.212.727l1.515 6.06a1 1 0 0 1-.727 1.213l-1.09.272a2 2 0 0 1-2.425-1.455z",key:"m7xp4m"}],["path",{d:"m6.158 8.633 1.114 4.456",key:"74o979"}],["path",{d:"m8 21 3.105-6.21",key:"1fvxut"}],["circle",{cx:"12",cy:"13",r:"2",key:"1c1ljs"}]])},86413:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("layers-2",[["path",{d:"M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74z",key:"15q6uc"}],["path",{d:"m20 14.285 1.5.845a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74l1.5-.845",key:"byia6g"}]])},86464:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},93868:(e,a,y)=>{y.d(a,{A:()=>t});let t=(0,y(42735).A)("compass",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}]])}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8198],{664:(e,t,n)=>{n.d(t,{bK:()=>I,Ju:()=>b,yN:()=>E,Wl:()=>g,FM:()=>T,uS:()=>d,$Q:()=>_,tw:()=>R,ZH:()=>D,py:()=>U,lY:()=>P,HD:()=>C,er:()=>y});var r=n(5456),a=n(77962),o=n(87329),l=n(53403),i=n(48274);let s=/^https?:\/\/[^\s"']+\.(png|jpe?g|webp|gif)(\?[^\s"']*)?$/i,c=/https?:\/\/[^\s"'<>)\]]+?\.(?:png|jpe?g|webp|gif)(?:\?[^\s"'<>)\]]*)?/gi;function u(e){var t,n;let r=null==(t=(null!=(n=e.split("?")[0])?n:"").split(".").pop())?void 0:t.toLowerCase();return"jpg"===r||"jpeg"===r?"image/jpeg":"webp"===r?"image/webp":"gif"===r?"image/gif":"image/png"}function d(e){if(!e||"object"!=typeof e||Array.isArray(e))return[];let t=new Set,n=[],r=[],a=(e,o)=>{if(o>4||null===e)return;if(Array.isArray(e)){for(let t of e)a(t,o+1);return}if("object"!=typeof e)return;let l="string"==typeof e.uri?e.uri:e.result_url;if("string"==typeof l&&s.test(l)&&!t.has(l)){t.add(l);let r="string"==typeof e.description?e.description:"string"==typeof e.name?e.name:void 0;n.push({src:l,mediaType:u(l),...r?{alt:r}:{}})}for(let[t,n]of Object.entries(e)){if("string"==typeof n&&("output"===t||"text"===t)){r.push(n);continue}a(n,o+1)}};for(let o of(a(e,0),r))for(let e of o.matchAll(c)){let r=e[0];t.has(r)||(t.add(r),n.push({src:r,mediaType:u(r)}))}return n}let p=new Map,f=new Set,h=[],m=!1;function g(){return m&&(h=Array.from(p.values()).sort((e,t)=>{var n,r;return(null!=(n=e.priority)?n:50)-(null!=(r=t.priority)?r:50)}),m=!1),h}function y(e){return f.add(e),()=>{f.delete(e)}}function k(e){return"hud.segment"===e.kind&&("applied"===(0,r.VQ)(p,e)&&function(){for(let e of(m=!0,f))try{e()}catch(e){(0,l.cY)("chat-runtime.hud.subscriber-error",e)}}(),!0)}function b(e){k(e)}let v=/^\[elanous\/feedback\/[a-zA-Z]+\] /;function w(e,t){if(!e||"object"!=typeof e||Array.isArray(e))return;let n=(Array.isArray(e.content)?e.content:[]).filter(e=>null!==e&&"object"==typeof e&&!Array.isArray(e)&&"resource"===e.type).map(e=>e.resource).find(e=>{var n;return!(null===e||"object"!=typeof e||Array.isArray(e))&&e.uri===t&&"string"==typeof(n=e.mimeType)&&"text/html"===n.split(";")[0].trim().toLowerCase()&&"string"==typeof e.text});if(!n)return;let r=n._meta,a=r&&"object"==typeof r&&!Array.isArray(r)?r.ui:void 0,o=a&&"object"==typeof a&&!Array.isArray(a)?a.csp:void 0,l=o&&"object"==typeof o&&!Array.isArray(o)?o.connectDomains:void 0,i=o&&"object"==typeof o&&!Array.isArray(o)?o.resourceDomains:void 0,s=Array.isArray(l)?l.filter(e=>"string"==typeof e):void 0,c=Array.isArray(i)?i.filter(e=>"string"==typeof e):void 0;return{html:n.text,...s?{connectDomains:s}:{},...c?{resourceDomains:c}:{}}}let x="예산 상태를 읽지 못했습니다",I=[{name:"help",description:"Show this help"},{name:"session",description:"Show current session id"},{name:"fork",description:"Allocate a fresh session id"},{name:"budget",description:"Show this month spend and the notify threshold"},{name:"history",description:"Summarize the last N local turns (default 10) as role: first 80 chars"},{name:"clear",description:"Clear local message buffer"}],A=["Meta commands (enter :name or /name):",...I.map(e=>{let{name:t,description:n}=e;return" :".concat(t.padEnd(16)).concat(n)})].join("\n"),S={":help":async()=>({text:A}),":session":async(e,t)=>({text:"session = ".concat(t.sessionId)}),":fork":async()=>{let e=(0,o.Zr)();return{text:"forked → new session ".concat(e),newSessionId:e}},":budget":async(e,t)=>{let n=t.daemon;if(!(null==n?void 0:n.baseUrl))return{text:x};let r=await (0,i.gh)(n);return r?{text:function(e){let t=Number.isFinite(e.monthSoFarUsd)?e.monthSoFarUsd:0;return"budget ".concat(e.monthYYYYMM,": $").concat(t.toFixed(2)," \xb7 알림 ").concat(e.notifyAtPct,"%")}(r)}:{text:x}},":history":async(e,t)=>{var n;let r=Number(e[0]),a=Number.isFinite(r)&&r>0?Math.floor(r):10;return{text:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10;return 0===e.length?"아직 대화가 없습니다":e.slice(Math.max(0,e.length-t)).map(e=>"".concat(e.role,": ").concat(e.text.slice(0,80))).join("\n")}(null!=(n=t.messages)?n:[],a)}},":clear":async()=>({text:"__CLEAR__"})};function T(e){let t=e.trimStart();if(t.startsWith(":"))return!0;if(!t.startsWith("/"))return!1;let[n]=t.split(/\s+/);return Object.hasOwn(S,":".concat(n.slice(1)))}async function E(e,t){let n=e.trim();if(!n.startsWith(":")&&!n.startsWith("/"))return null;let[r,...a]=n.split(/\s+/),o=r.startsWith("/")?":".concat(r.slice(1)):r;if(r.startsWith("/")&&!Object.hasOwn(S,o))return null;(0,l.cY)("webterm.chat.meta-command",{cmd:o});let i=Object.hasOwn(S,o)?S[o]:void 0;return i?i(a,t):{text:"unknown meta command: ".concat(r)}}async function C(e,t){var n,a,o;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,l.cY)("webterm.chat.runturn.stream.start",{sessionId:t.sessionId,provider:t.provider,len:e.length,contentBlocks:null!=(a=null==(n=i.userContent)?void 0:n.length)?a:0});let s=[],c=-1,u=0,d=0,p=0,f=0,h=()=>s.map(e=>({...e})),m=e=>{(0,l.cY)("webterm.chat.runturn.stream.end",{stopReason:e.stopReason,sessionId:e.sessionId,...void 0!==e.error?{error:e.error}:{},images:u,tools:d,mcpApps:p,feedback:f})},g=await t.client.promptStream({sessionId:t.sessionId||void 0,userText:e,...i.userContent&&i.userContent.length>0?{userContent:i.userContent}:{},provider:t.provider||void 0},{onError:i.onError,onTextDelta:e=>{var t,n;let{full:r}=e;-1===c?(c=s.length,s.push({kind:"text",text:r})):s[c]={kind:"text",text:r},null==(t=i.onPartial)||t.call(i,r),null==(n=i.onPartialBlocks)||n.call(i,h())},onImageBlock:e=>{var t;let{src:n,mediaType:r,alt:a}=e;u+=1,s.push(void 0!==a?{kind:"image",src:n,mediaType:r,alt:a}:{kind:"image",src:n,mediaType:r}),null==(t=i.onPartialBlocks)||t.call(i,h())},onFeedback:e=>{if(!k(e)&&"applied"===(0,r.K4)(s,e)){var t;f+=1,null==(t=i.onPartialBlocks)||t.call(i,h())}},onToolCall:e=>{var t;let{id:n,name:r,args:a}=e;d+=1,s.push({kind:"tool_use",id:n,name:r,status:"running",startedAt:Date.now(),args:a}),null==(t=i.onPartialBlocks)||t.call(i,h())},onToolResult:e=>{var t;let{id:n,name:r,ok:a,summary:o,rawOutput:l,resourceUri:c}=e,u=s.findIndex(e=>"tool_use"===e.kind&&e.id===n),f=a?"done":"error";if(-1===u)d+=1,s.push({kind:"tool_use",id:n,name:r,status:f,startedAt:Date.now(),endedAt:Date.now(),...void 0!==o?{summary:o}:{}});else{let e=s[u];s[u]={...e,status:f,endedAt:Date.now(),...void 0!==o?{summary:o}:{}}}if("string"==typeof c&&c.trim().length>0){p+=1;let e=w(l,c);s.push({kind:"mcp_app",toolId:n,toolName:r,screenUrl:c,...void 0!==l?{toolResult:l}:{},...e||{},...void 0!==o?{fallbackText:o}:{}})}null==(t=i.onPartialBlocks)||t.call(i,h())},...i.signal?{signal:i.signal}:{},...!0===i.debugTap?{debugTap:!0}:{}}).catch(e=>{var t;throw m({stopReason:(null==(t=i.signal)?void 0:t.aborted)===!0?"aborted":"error",error:e instanceof Error?e.message:String(e)}),e});m({stopReason:g.stopReason,sessionId:g.sessionId}),-1!==c&&g.text&&(s[c]={kind:"text",text:g.text});let y=u>0||d>0||p>0||f>0;return{message:{id:"m-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6)),role:"assistant",text:null!=(o=g.text)?o:"",timestamp:Date.now(),meta:{provider:t.provider,stopReason:g.stopReason},...y?{blocks:h()}:{}},newSessionId:g.sessionId!==t.sessionId?g.sessionId:void 0}}function R(e,t){return{id:"u-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6)),role:"user",text:e,timestamp:Date.now(),...t?{terminalId:t}:{}}}function _(e,t){return{id:"meta-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6)),role:"meta",text:e,timestamp:Date.now(),...t?{terminalId:t}:{}}}function P(e,t,n){let a=null,o=[],i=-1,s=0,c=0,u=0,d=0,p=!1,f=()=>{a=null,o.length=0,i=-1,s=0,c=0,u=0,d=0,p=!1},h=()=>o.map(e=>({...e}));return e.subscribeChatEvents(t,{onTurnBegin:e=>{var t;if(f(),null==(t=n.isLocalTurnInFlight)?void 0:t.call(n)){p=!0;return}let r=n.onPlaceholder({sessionId:e.sessionId});if(null===r){p=!0;return}a=r},onTextDelta:e=>{let{full:t}=e;p||null===a||(-1===i?(i=o.length,o.push({kind:"text",text:t})):o[i]={kind:"text",text:t},n.onPartialBlocks(a,h()))},onImageBlock:e=>{let{src:t,mediaType:r,alt:l}=e;p||null===a||(s+=1,o.push(void 0!==l?{kind:"image",src:t,mediaType:r,alt:l}:{kind:"image",src:t,mediaType:r}),n.onPartialBlocks(a,h()))},onFeedback:e=>{k(e)||p||null===a||"applied"===(0,r.K4)(o,e)&&(d+=1,n.onPartialBlocks(a,h()))},onToolCall:e=>{let{id:t,name:r,args:l}=e;p||null===a||(c+=1,o.push({kind:"tool_use",id:t,name:r,status:"running",startedAt:Date.now(),args:l}),n.onPartialBlocks(a,h()))},onToolResult:e=>{let{id:t,name:r,ok:l,summary:i,rawOutput:s,resourceUri:d}=e;if(p||null===a)return;let f=o.findIndex(e=>"tool_use"===e.kind&&e.id===t),m=l?"done":"error";if(-1===f)c+=1,o.push({kind:"tool_use",id:t,name:r,status:m,startedAt:Date.now(),endedAt:Date.now(),...void 0!==i?{summary:i}:{}});else{let e=o[f];o[f]={...e,status:m,endedAt:Date.now(),...void 0!==i?{summary:i}:{}}}if("string"==typeof d&&d.trim().length>0){u+=1;let e=w(s,d);o.push({kind:"mcp_app",toolId:t,toolName:r,screenUrl:d,...void 0!==s?{toolResult:s}:{},...e||{},...void 0!==i?{fallbackText:i}:{}})}n.onPartialBlocks(a,h())},onTurnEnd:e=>{var r;if(p||null===a){(0,l.cY)("webterm.chat.runturn.observer.end",{sessionId:t,stopReason:e.stopReason,dropped:!0,reason:p?"dropped-turn":"no-placeholder"}),f();return}-1!==i&&e.text&&(o[i]={kind:"text",text:e.text});let m=s>0||c>0||u>0||d>0;(0,l.cY)("webterm.chat.runturn.observer.end",{sessionId:t,stopReason:e.stopReason,dropped:!1,images:s,tools:c,mcpApps:u,feedback:d});let g={id:"m-obs-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6)),role:"assistant",text:null!=(r=e.text)?r:"",timestamp:Date.now(),meta:{...n.provider?{provider:n.provider}:{},stopReason:e.stopReason},...m?{blocks:h()}:{}};n.onFinalize(a,g),f()},onError:e=>{null!==a&&n.onError&&n.onError(a,e),f()}})}async function U(e,t,n){var o,i;let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},c=n.sessionId;if(!c)throw Error("runChatTurnAcp: sessionId required (daemon handshake first)");let u=[],p=-1,f=0,h=0,m=0,g="",y=-1,b="",x=0,I=0,A=0,S=()=>{if(-1===y)return!1;let e=u[y];return!e.done&&(u[y]={...e,done:!0},!0)},T=()=>u.map(e=>({...e})),E=e.on("sessionUpdate",e=>{var t,n,o,l,i,E,C,R,_,P;let U=e.params;if(!U||U.sessionId!==c)return;let D=U.update;if(D){if("agent_message_chunk"===D.sessionUpdate){let e=D.content;if((null==e?void 0:e.type)==="text"&&"string"==typeof e.text&&e.text.length>0){let r=e.text;g+=r,-1===p?(S(),p=u.length,u.push({kind:"text",text:g})):u[p]={kind:"text",text:g},null==(t=s.onPartial)||t.call(s,g),null==(n=s.onPartialBlocks)||n.call(s,T())}else if((null==e?void 0:e.type)==="image"&&"string"==typeof e.data&&"string"==typeof e.mimeType){f+=1;let t={kind:"image",src:e.data,mediaType:e.mimeType};"string"==typeof e.uri&&(t.alt=e.uri),S(),u.push(t),null==(o=s.onPartialBlocks)||o.call(s,T())}}else if("agent_thought_chunk"===D.sessionUpdate){let e=D.content;if((null==e?void 0:e.type)==="text"&&"string"==typeof e.text&&e.text.length>0){let t=function(e){let t=e.split("\n"),n=t[0];if(!n)return null;let r=/^\[elanous\/feedback\/([a-zA-Z]+)\] (.+)$/.exec(n);if(!r||"emit"!==r[1])return null;let o=[];for(let e=1;e<t.length;e+=1){let n=t[e];if(/^<<elanous-feedback-end /.test(n))break;o.push(n)}try{let e=JSON.parse(o.join("\n"));return(0,a.L)(e)?{method:"emit",payload:e}:null}catch(e){return null}}(e.text);if(t){k(t.payload)||"applied"===(0,r.K4)(u,t.payload)&&(I+=1,null==(i=s.onPartialBlocks)||i.call(s,T()));return}if(v.test(e.text)){A+=1;return}if(b+=e.text,-1===y)x+=1,y=u.length,u.push({kind:"agent_thinking",blockId:"acp-thought-".concat(c),msg:b,done:!1});else{let e=u[y];u[y]={...e,msg:b}}null==(l=s.onPartialBlocks)||l.call(s,T())}}else if("tool_call"===D.sessionUpdate&&"string"==typeof D.toolCallId)h+=1,u.push({kind:"tool_use",id:D.toolCallId,name:null!=(C=D.title)?C:"",status:"running",startedAt:Date.now(),...D.rawInput?{args:D.rawInput}:{}}),null==(E=s.onPartialBlocks)||E.call(s,T());else if("tool_call_update"===D.sessionUpdate&&"string"==typeof D.toolCallId){let e=u.findIndex(e=>"tool_use"===e.kind&&e.id===D.toolCallId),t="completed"===D.status?"done":"error";if(-1===e)h+=1,u.push({kind:"tool_use",id:D.toolCallId,name:null!=(_=D.title)?_:"",status:t,startedAt:Date.now(),endedAt:Date.now(),...D.title?{summary:D.title}:{}});else{let n=u[e];u[e]={...n,status:t,endedAt:Date.now(),...D.title?{summary:D.title}:{}}}for(let e of d(D.rawOutput))u.some(t=>"image"===t.kind&&t.src===e.src)||(f+=1,u.push({kind:"image",...e}));let n=function(e){if(!e||"object"!=typeof e||Array.isArray(e))return;let t=e._meta,n=t&&"object"==typeof t&&!Array.isArray(t)?t.ui:void 0,r=n&&"object"==typeof n&&!Array.isArray(n)?n.resourceUri:void 0;if("string"==typeof r&&r.trim().length>0)return r;let a=e["ui/resourceUri"];return"string"==typeof a&&a.trim().length>0?a:void 0}(D.rawOutput);if(n){m+=1;let e=w(D.rawOutput,n);u.push({kind:"mcp_app",toolId:D.toolCallId,toolName:null!=(P=D.title)?P:"",screenUrl:n,...void 0!==D.rawOutput?{toolResult:D.rawOutput}:{},...e||{},...D.title?{fallbackText:D.title}:{}})}null==(R=s.onPartialBlocks)||R.call(s,T())}}}),C=()=>{e.send("session/cancel",{sessionId:c}).catch(()=>{})},R=s.signal;if(R){if(R.aborted)throw E(),Error("aborted");R.addEventListener("abort",C,{once:!0})}let _=s.userContent&&s.userContent.length>0?s.userContent:[{type:"text",text:t}];(0,l.cY)("webterm.chat.runturn.acp.start",{sessionId:c,provider:n.provider,len:t.length,blocks:_.length});let P=e=>{(0,l.cY)("webterm.chat.runturn.acp.end",{sessionId:c,stopReason:e.stopReason,...void 0!==e.error?{error:e.error}:{},textLen:g.length,images:f,tools:h,mcpApps:m,thoughts:x,feedbackEnvelopes:A})};try{let t=await e.send("session/prompt",{sessionId:c,prompt:_}),r=null!=(o=null==t?void 0:t.stopReason)?o:"end_turn";S(),P({stopReason:r});let a=f>0||h>0||m>0||x>0||I>0;return{message:{id:"m-acp-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,6)),role:"assistant",text:g,timestamp:Date.now(),meta:{provider:n.provider,stopReason:r},...a?{blocks:T()}:{}}}}catch(e){throw P({stopReason:(null==R?void 0:R.aborted)===!0?"aborted":"error",error:e instanceof Error?e.message:String(e)}),e}finally{S()&&(null==(i=s.onPartialBlocks)||i.call(s,T())),R&&R.removeEventListener("abort",C),E()}}function D(e,t,n){var r;let a=null!=(r=n.idleFinalizeMs)?r:3e3,o=null,i=[],s=-1,c=0,u=0,d=null,p=()=>{if(null!==o)return!0;let e=n.onPlaceholder({sessionId:t});return null!==e&&(o=e,(0,l.cY)("webterm.chat.acp.foreign-turn.start",{id:e}),!0)},f=e.on("sessionUpdate",e=>{var r,f,h,m;if((null==(r=n.isLocalTurnInFlight)?void 0:r.call(n))||(null==(f=n.isRemoteSseTurnInFlight)?void 0:f.call(n)))return;let g=e.params;if(!g||g.sessionId!==t)return;let y=g.update;if(!y)return;let k=!1;if("agent_message_chunk"===y.sessionUpdate){let e=y.content;if((null==e?void 0:e.type)==="text"&&"string"==typeof e.text&&e.text.length>0){if(!p())return;let t=e.text;if(-1===s)s=i.length,i.push({kind:"text",text:t});else{let e=i[s];i[s]={kind:"text",text:e.text+t}}k=!0}else if((null==e?void 0:e.type)==="image"&&"string"==typeof e.data&&"string"==typeof e.mimeType){if(!p())return;c+=1;let t={kind:"image",src:e.data,mediaType:e.mimeType};"string"==typeof e.uri&&(t.alt=e.uri),i.push(t),k=!0}}else if("tool_call"===y.sessionUpdate&&"string"==typeof y.toolCallId){if(!p())return;u+=1,i.push({kind:"tool_use",id:y.toolCallId,name:null!=(h=y.title)?h:"",status:"running",startedAt:Date.now(),...y.rawInput?{args:y.rawInput}:{}}),k=!0}else if("tool_call_update"===y.sessionUpdate&&"string"==typeof y.toolCallId){if(!p())return;let e=i.findIndex(e=>"tool_use"===e.kind&&e.id===y.toolCallId),t="completed"===y.status?"done":"error";if(-1===e)u+=1,i.push({kind:"tool_use",id:y.toolCallId,name:null!=(m=y.title)?m:"",status:t,startedAt:Date.now(),endedAt:Date.now(),...y.title?{summary:y.title}:{}});else{let n=i[e];i[e]={...n,status:t,endedAt:Date.now(),...y.title?{summary:y.title}:{}}}k=!0}k&&null!==o&&(n.onPartialBlocks(o,i.map(e=>({...e}))),d&&clearTimeout(d),d=setTimeout(()=>{let e=o;if(e&&(0,l.cY)("webterm.chat.acp.foreign-turn.end",{id:e,images:c,tools:u}),d&&(clearTimeout(d),d=null),o=null,i=[],s=-1,c=0,u=0,e&&n.onFinalize)try{n.onFinalize(e)}catch(e){(0,l.cY)("webterm.chat.acp.finalize.error",{reason:String(e)})}},a))});return()=>{f(),d&&(clearTimeout(d),d=null)}}},5456:(e,t,n)=>{n.d(t,{K4:()=>a,VQ:()=>l});let r=new Set(["normal","warn","danger","success","info","muted"]);function a(e,t){switch(t.kind){case"agent.thinking":return function(e,t){var n,r;let a=null!=(n=t.payload)?n:{},o=null!=(r=a.msg)?r:"Thinking",l=a.metrics&&"number"==typeof a.metrics.elapsedMs&&"number"==typeof a.metrics.tokenCount?{elapsedMs:a.metrics.elapsedMs,tokenCount:a.metrics.tokenCount}:void 0,i={kind:"agent_thinking",blockId:t.blockId,msg:o,done:"end"===t.phase,...l?{metrics:l}:{},...t.asciiFallback.length>0?{asciiFallback:t.asciiFallback}:{}},s=e.findIndex(e=>"agent_thinking"===e.kind&&e.blockId===t.blockId);return -1===s?e.push(i):e[s]=i,"applied"}(e,t);case"agent.status":var n=e,r=t;let a=r.payload;if(!a||"string"!=typeof a.agentId||"string"!=typeof a.status)return"unhandled";let l={kind:"agent_status",blockId:r.blockId,agentId:a.agentId,status:a.status,...void 0!==a.lastEvent?{lastEvent:a.lastEvent}:{}},i=n.findIndex(e=>"agent_status"===e.kind&&e.blockId===r.blockId);return -1===i?n.push(l):n[i]=l,"applied";case"agent.plan":var s=e,c=t;let u=c.payload;if(!u||"string"!=typeof u.ref||!Array.isArray(u.steps))return"unhandled";let d={kind:"agent_plan",blockId:c.blockId,ref:u.ref,steps:u.steps.map(e=>({text:e.text,status:e.status})),...void 0!==u.activeIndex?{activeIndex:u.activeIndex}:{}},p=s.findIndex(e=>"agent_plan"===e.kind&&e.blockId===c.blockId);return -1===p?s.push(d):s[p]=d,"applied";case"tool.diff":var f=e,h=t;let m=h.payload;if(!m||"string"!=typeof m.filePath||!Array.isArray(m.hunks))return"unhandled";for(let e of m.hunks)if("number"!=typeof e.oldStart||"number"!=typeof e.oldLines||"number"!=typeof e.newStart||"number"!=typeof e.newLines||!Array.isArray(e.lines))return"unhandled";let g={kind:"tool_diff",blockId:h.blockId,filePath:m.filePath,...void 0!==m.language?{language:m.language}:{},hunks:m.hunks.map(e=>({oldStart:e.oldStart,oldLines:e.oldLines,newStart:e.newStart,newLines:e.newLines,lines:e.lines.map(e=>({kind:e.kind,text:e.text}))})),...void 0!==h.parentToolCallId?{parentToolCallId:h.parentToolCallId}:{}},y=f.findIndex(e=>"tool_diff"===e.kind&&e.blockId===h.blockId);return -1===y?f.push(g):f[y]=g,"applied";case"tool.search-hit":return function(e,t){let n=t.payload;if(!n||"string"!=typeof n.query||!Array.isArray(n.hits)||"number"!=typeof n.accumCount)return"unhandled";for(let e of n.hits)if("string"!=typeof e.filePath||"number"!=typeof e.line||"string"!=typeof e.snippet)return"unhandled";let r=e.findIndex(e=>"tool_search_hits"===e.kind&&e.blockId===t.blockId),a=n.hits.map(e=>({filePath:e.filePath,line:e.line,snippet:e.snippet,...void 0!==e.column?{column:e.column}:{},...Array.isArray(e.contextBefore)?{contextBefore:[...e.contextBefore]}:{},...Array.isArray(e.contextAfter)?{contextAfter:[...e.contextAfter]}:{}})),o=a;if(-1!==r&&"delta"===t.phase){let t=e[r],n=new Set(t.hits.map(e=>{var t;return"".concat(e.filePath,":").concat(e.line,":").concat(null!=(t=e.column)?t:0)})),l=a.filter(e=>{var t;return!n.has("".concat(e.filePath,":").concat(e.line,":").concat(null!=(t=e.column)?t:0))});o=[...t.hits,...l]}let l={kind:"tool_search_hits",blockId:t.blockId,query:n.query,hits:o,accumCount:n.accumCount,...n.truncated?{truncated:!0}:{},...void 0!==t.parentToolCallId?{parentToolCallId:t.parentToolCallId}:{}};return -1===r?e.push(l):e[r]=l,"applied"}(e,t);case"tool.progress":return function(e,t){let n,r=t.payload;if(!r||"string"!=typeof r.stream||!o.has(r.stream)||!Array.isArray(r.lines))return"unhandled";for(let e of r.lines)if("string"!=typeof e)return"unhandled";let a=e.findIndex(e=>"tool_progress"===e.kind&&e.blockId===t.blockId);if(-1===a)n=[...r.lines];else{let o=e[a];n="update"===t.phase?[...r.lines]:[...o.lines,...r.lines]}let l={kind:"tool_progress",blockId:t.blockId,stream:r.stream,lines:n,done:"end"===t.phase,...void 0!==r.bytesSoFar?{bytesSoFar:r.bytesSoFar}:{},...void 0!==r.exitCode?{exitCode:r.exitCode}:{},...void 0!==t.parentToolCallId?{parentToolCallId:t.parentToolCallId}:{}};return -1===a?e.push(l):e[a]=l,"applied"}(e,t);case"debug.line":return function(e,t){let n,r=t.payload;if(!r||"string"!=typeof r.category||"string"!=typeof r.event||"number"!=typeof r.loggedAt)return"unhandled";let a={seq:t.seq,category:r.category,event:r.event,...void 0!==r.data?{data:r.data}:{},loggedAt:r.loggedAt},o=e.findIndex(e=>"debug_session"===e.kind&&e.blockId===t.blockId);-1===o?n=[a]:(n=[...e[o].lines,a]).length>200&&n.splice(0,n.length-200);let l={kind:"debug_session",blockId:t.blockId,lines:n};return -1===o?e.push(l):e[o]=l,"applied"}(e,t);case"perf.tick":return function(e,t){let n,r=t.payload;if(!r||"string"!=typeof r.metric||0===r.metric.length||"number"!=typeof r.value||!Number.isFinite(r.value))return"unhandled";let a={seq:t.seq,metric:r.metric,value:r.value,..."string"==typeof r.unit?{unit:r.unit}:{},emittedAt:t.emittedAt},o=e.findIndex(e=>"perf_session"===e.kind&&e.blockId===t.blockId);-1===o?n=[a]:(n=[...e[o].samples,a]).length>60&&n.splice(0,n.length-60);let l={kind:"perf_session",blockId:t.blockId,samples:n};return -1===o?e.push(l):e[o]=l,"applied"}(e,t);default:return"unhandled"}}let o=new Set(["stdout","stderr","http","generic"]);function l(e,t){let n=t.payload;if(!n||"string"!=typeof n.key||0===n.key.length)return"unhandled";if("end"===t.phase)return e.has(n.key)?(e.delete(n.key),"applied"):"unhandled";if("string"!=typeof n.value)return"unhandled";let a={key:n.key,value:n.value,..."number"==typeof n.priority&&Number.isFinite(n.priority)?{priority:n.priority}:{},..."string"==typeof n.tone&&r.has(n.tone)?{tone:n.tone}:{},..."string"==typeof n.glyph&&n.glyph.length>0?{glyph:n.glyph}:{}};return e.set(n.key,a),"applied"}},7077:(e,t,n)=>{n.d(t,{K:()=>o,v:()=>a});var r=n(53403);async function a(e){var t;let n=e.baseUrl.replace(/\/$/,"");if(!n)return{ok:!1,status:0,reason:"baseUrl not configured"};let a=null!=(t=e.filename)?t:e.file instanceof File?e.file.name:"upload.bin";(0,r.cY)("webterm.attach.upload.begin",{filename:a,size:e.file.size,type:e.file.type});let o=new FormData;o.append("file",e.file,a),o.append("filename",a);try{let t=await fetch("".concat(n,"/v1/attachments"),{method:"POST",body:o,...e.token?{headers:{authorization:"Bearer ".concat(e.token)}}:{}});if(!t.ok){let e=await t.text().catch(()=>"");return(0,r.cY)("webterm.attach.upload.error",{status:t.status,detail:e.slice(0,200)}),{ok:!1,status:t.status,reason:e||"HTTP ".concat(t.status)}}let a=await t.json();return(0,r.cY)("webterm.attach.upload.ok",{id:a.id,size:a.size}),{ok:!0,meta:a}}catch(t){let e=String(t instanceof Error?t.message:t);return(0,r.cY)("webterm.attach.upload.exception",{reason:e}),{ok:!1,status:0,reason:e}}}async function o(e,t){return Promise.all(e.map(e=>a({baseUrl:t.baseUrl,...void 0!==t.token?{token:t.token}:{},file:e.file,...void 0!==e.filename?{filename:e.filename}:{}})))}},11205:(e,t,n)=>{n.d(t,{u:()=>d});var r=n(35563),a=n(19707),o=n(31778),l=n(98429),i=n(45787),s=n(84240),c=n(53403),u=n(7077);function d(e){let{onAttached:t}=e,{config:n}=(0,i.Q)(),[d,p]=(0,a.useState)(!1),f=(0,a.useRef)(null),h=async e=>{let r=e.target.files;if(e.target.value="",!r||0===r.length)return;if(!n.baseUrl)return void s.oR.error("Daemon URL 미설정 — Settings 에서 입력");p(!0);let a=Array.from(r);(0,c.cY)("webterm.files.pick",{count:a.length,totalBytes:a.reduce((e,t)=>e+t.size,0)});try{let e=await (0,u.K)(a.map(e=>({file:e,filename:e.name})),{baseUrl:n.baseUrl,...n.token?{token:n.token}:{}}),r=e.filter(e=>e.ok),o=e.filter(e=>!e.ok);r.length>0&&(s.oR.success(1===r.length?"\uD83D\uDCCE ".concat(r[0].meta.filename):"\uD83D\uDCCE ".concat(r.length," files attached")),null==t||t(r.map(e=>e.meta))),o.length>0&&s.oR.error(1===o.length?"업로드 실패: ".concat(o[0].reason.slice(0,80)):"".concat(o.length," 파일 업로드 실패"))}finally{p(!1)}};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",onClick:()=>{var e;return null==(e=f.current)?void 0:e.click()},disabled:d,"aria-label":"attach files",title:"attach files (Files.app \xb7 iCloud \xb7 multi-select)",className:"rounded p-1.5 text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-50",children:d?(0,r.jsx)(o.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(l.A,{className:"h-3.5 w-3.5"})}),(0,r.jsx)("input",{ref:f,type:"file",multiple:!0,className:"hidden",onChange:h})]})}},20976:(e,t,n)=>{n.d(t,{z:()=>g});var r=n(35563),a=n(19707),o=n(31778),l=n(25709),i=n(10708),s=n(4856),c=n(84240),u=n(45787),d=n(53403),p=n(21483);function f(){var e,t;if("undefined"==typeof globalThis)return null;let n=globalThis;return null!=(t=null!=(e=n.SpeechRecognition)?e:n.webkitSpeechRecognition)?t:null}async function h(e){var t,n;let r=e.transcript.trim();if(!r)return{ok:!1,status:0,reason:"empty transcript"};let a=e.baseUrl.replace(/\/$/,"");if(!a)return{ok:!1,status:0,reason:"baseUrl not configured"};let o=null!=(t=e.fetchImpl)?t:"undefined"!=typeof fetch?fetch:null;if(!o)return{ok:!1,status:0,reason:"fetch unavailable"};try{let t=await o("".concat(a,"/v1/intake"),{method:"POST",headers:{"content-type":"application/json",...e.token?{authorization:"Bearer ".concat(e.token)}:{}},body:JSON.stringify(function(e){let t={text:e.transcript.trim(),actor:"pwa-voice",channelContext:{kind:"pwa-voice"}};return e.intakeId&&(t.intakeId=e.intakeId),t}({transcript:r,...e.intakeId?{intakeId:e.intakeId}:{}}))});if(!t.ok){let e=await t.text().catch(()=>"");return{ok:!1,status:t.status,reason:e||"HTTP ".concat(t.status)}}let l=await t.json().catch(()=>({}));return{ok:!0,intakeId:null!=(n=l.intakeId)?n:""}}catch(e){return{ok:!1,status:0,reason:String(e instanceof Error?e.message:e)}}}function m(e){let{phase:t,transcript:n,onTranscriptChange:a,error:c,apiAvailable:u,onPressStart:d,onPressEnd:p,onConfirm:f,onCancel:h}=e,m="recording"===t,g="submitting"===t;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",onPointerDown:u?d:void 0,onPointerUp:u?p:void 0,onPointerLeave:m?p:void 0,disabled:!u||g,"aria-label":u?"음성 메모 (길게 누르기)":"음성 메모 (브라우저 미지원)",title:u?"길게 눌러 녹음 → intake 저장":"브라우저가 Web Speech API 미지원","data-testid":"showroom-voice-button","data-phase":t,className:"rounded p-1.5 transition disabled:cursor-not-allowed disabled:opacity-50 ".concat(m?"animate-pulse bg-red-500 text-white":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:g?(0,r.jsx)(o.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(l.A,{className:"h-3.5 w-3.5"})}),("review"===t||"submitting"===t)&&(0,r.jsx)("div",{role:"dialog","aria-modal":"true","aria-label":"Voice intake review","data-testid":"showroom-voice-modal",className:"fixed inset-0 z-40 flex items-center justify-center bg-black/40 p-4 backdrop-blur-sm",children:(0,r.jsxs)("div",{className:"flex w-[min(calc(100vw-2rem),28rem)] flex-col gap-3 rounded-2xl border border-zinc-200 bg-white p-4 shadow-2xl dark:border-zinc-800 dark:bg-zinc-900",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-sm font-medium text-zinc-900 dark:text-zinc-100",children:"음성 메모 검토"}),(0,r.jsx)("button",{type:"button",onClick:h,disabled:g,"aria-label":"cancel","data-testid":"showroom-voice-cancel",className:"rounded p-1 text-zinc-500 hover:bg-zinc-100 disabled:opacity-50 dark:text-zinc-400 dark:hover:bg-zinc-800",children:(0,r.jsx)(i.A,{className:"h-4 w-4"})})]}),(0,r.jsx)("textarea",{value:n,onChange:e=>a(e.target.value),disabled:g,placeholder:"(녹음된 텍스트가 비어있습니다)",rows:4,"data-testid":"showroom-voice-transcript",className:"rounded border border-zinc-300 bg-white px-2 py-1.5 text-sm text-zinc-900 disabled:opacity-50 dark:border-zinc-700 dark:bg-zinc-800 dark:text-zinc-100"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("button",{type:"button",onClick:h,disabled:g,"data-testid":"showroom-voice-discard",className:"flex-1 rounded-lg border border-zinc-300 bg-white px-3 py-1.5 text-sm font-medium text-zinc-800 transition hover:bg-zinc-100 disabled:opacity-50 dark:border-zinc-700 dark:bg-zinc-800 dark:text-zinc-100 dark:hover:bg-zinc-700",children:"버리기"}),(0,r.jsx)("button",{type:"button",onClick:f,disabled:g||0===n.trim().length,"data-testid":"showroom-voice-confirm",className:"flex-1 rounded-lg border border-emerald-500 bg-emerald-500 px-3 py-1.5 text-sm font-semibold text-white transition hover:bg-emerald-600 disabled:cursor-not-allowed disabled:opacity-50",children:(0,r.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,r.jsx)(s.A,{className:"h-3.5 w-3.5"}),"Intake 저장"]})})]}),c&&(0,r.jsx)("div",{role:"alert","data-testid":"showroom-voice-error",className:"text-xs text-red-600 dark:text-red-400",children:c})]})})]})}function g(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];let{config:e}=(0,u.Q)(),[t,n]=(0,a.useState)("idle"),[o,l]=(0,a.useState)(""),[i,s]=(0,a.useState)(null),g=(0,a.useRef)(null),[y,k]=(0,a.useState)(!0);(0,a.useEffect)(()=>{k(null!==f())},[]);let b=()=>{n("idle"),l(""),s(null),g.current=null},v=async()=>{var t;if(0===o.trim().length)return;if(!e.baseUrl)return void s("Daemon URL 미설정 — Settings 에서 입력");n("submitting"),s(null),(0,d.cY)("showroom.voice.submit",{len:o.trim().length});let r=await h({baseUrl:e.baseUrl,...e.token?{token:e.token}:{},transcript:o});if(!r.ok){s("intake 실패: ".concat(r.reason)),n("review"),(0,d.cY)("showroom.voice.error",{status:r.status});return}c.oR.success("\uD83D\uDCE5 음성 메모 저장됨 \xb7 intake ".concat(r.intakeId||"(id 없음)")),(0,d.cY)("showroom.voice.ok",{intakeId:r.intakeId}),p.K.emit({surface:"pwa",intent:{layer:"utterance",kind:"pwa.utterance.voice_send",target:{kind:"intake",id:null!=(t=r.intakeId)?t:"(unknown)"},value:{transcriptLen:o.trim().length}},...r.intakeId?{context:{active_workflow_run_id:r.intakeId}}:{}}),b()};return(0,r.jsx)(m,{phase:t,transcript:o,onTranscriptChange:l,error:i,apiAvailable:y,onPressStart:()=>{if("idle"!==t)return;s(null),l(""),(0,d.cY)("showroom.voice.press-start",{});let e=function(){var e,t,n;let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=null!=(e=r.recognitionImpl)?e:f();if(!a)return null;let o=new a;o.lang=null!=(t=r.lang)?t:"ko-KR",o.interimResults=!0,o.continuous=!0;let l="",i=!0,s=null,c=new Promise(e=>{s=e});o.onresult=e=>{var t;let n="";for(let t=0;t<e.results.length;t+=1){let r=e.results[t];if(!r)continue;let a=r[0];a&&(n+=a.transcript)}l=n,null==(t=r.onUpdate)||t.call(r,n)},o.onerror=e=>{var t;null==(t=r.onError)||t.call(r,{code:e.error,message:e.message})},o.onend=()=>{i=!1,s&&(s(l),s=null)};try{o.start()}catch(e){return null==(n=r.onError)||n.call(r,{code:"start-failed",message:String(e)}),null}return{get transcript(){return l},get active(){return i},async stop(){try{o.stop()}catch(e){}return c},async abort(){try{o.abort()}catch(e){}return c}}}({lang:"ko-KR",onUpdate:e=>l(e),onError:e=>{s("음성 인식 오류: ".concat(e.code)),(0,d.cY)("showroom.voice.recog-error",{code:e.code,message:e.message})}});if(!e)return void s("Web Speech API 미사용 — 브라우저가 미지원");g.current=e,n("recording")},onPressEnd:()=>{if("recording"!==t)return;let e=g.current;if(!e)return void n("idle");(0,d.cY)("showroom.voice.press-end",{}),e.stop().then(e=>{if(l(e),0===e.trim().length)return void b();n("review")})},onConfirm:()=>{v()},onCancel:b})}},21483:(e,t,n)=>{n.d(t,{K:()=>r}),n(19707);let r={emit:async function(e){return{ok:!1,reason:"not-configured"}}}},72106:(e,t,n)=>{n.d(t,{sS:()=>f});var r=n(19707),a=n(53403);async function o(e){let t=new Blob(["\nclass ElanousCaptureProcessor extends AudioWorkletProcessor {\n constructor(opts) {\n super();\n const o = opts.processorOptions || {};\n this.targetHz = o.targetHz | 0 || 16000;\n this.frameBytes = o.frameBytes | 0 || 640;\n // int16 → 2 bytes per sample\n this.frameSamples = this.frameBytes >> 1;\n this.outBuf = new Int16Array(this.frameSamples);\n this.outIdx = 0;\n this.ratio = sampleRate / this.targetHz;\n this.acc = 0;\n }\n process(inputs) {\n const input = inputs[0];\n if (!input || !input[0]) return true;\n const ch0 = input[0];\n for (let i = 0; i < ch0.length; i++) {\n this.acc += 1;\n if (this.acc < this.ratio) continue;\n this.acc -= this.ratio;\n const v = Math.max(-1, Math.min(1, ch0[i]));\n this.outBuf[this.outIdx++] = v < 0 ? Math.round(v * 0x8000) : Math.round(v * 0x7fff);\n if (this.outIdx >= this.frameSamples) {\n const copy = new Int16Array(this.outBuf);\n this.port.postMessage(copy.buffer, [copy.buffer]);\n this.outBuf = new Int16Array(this.frameSamples);\n this.outIdx = 0;\n }\n }\n return true;\n }\n}\nregisterProcessor('elanous-capture', ElanousCaptureProcessor);\n"],{type:"application/javascript"}),n=URL.createObjectURL(t);try{await e.audioWorklet.addModule(n)}finally{URL.revokeObjectURL(n)}}async function l(e){var t,n,r,l;let i=null!=(t=e.targetSampleRateHz)?t:16e3,s=null!=(n=e.framePcmBytes)?n:640,c=null,u=null,d=null,p=null,f=null;(0,a.cY)("voice.capture.start",{targetHz:i,frameBytes:s});try{(0,a.cY)("voice.capture.gum-request",{hasMediaDevices:"undefined"!=typeof navigator&&!!navigator.mediaDevices,hasGetUserMedia:"undefined"!=typeof navigator&&"function"==typeof(null==(r=navigator.mediaDevices)?void 0:r.getUserMedia)}),c=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,channelCount:1}}),(0,a.cY)("voice.capture.gum-ok",{tracks:c.getTracks().map(e=>({kind:e.kind,label:e.label,state:e.readyState}))}),u=new AudioContext,(0,a.cY)("voice.capture.audiocontext",{sampleRate:u.sampleRate,state:u.state}),await o(u),(0,a.cY)("voice.capture.worklet-loaded"),(d=new AudioWorkletNode(u,"elanous-capture",{processorOptions:{targetHz:i,frameBytes:s}})).port.onmessage=t=>{e.onFrame(new Uint8Array(t.data))},p=u.createMediaStreamSource(c),(f=u.createGain()).gain.value=1,p.connect(f),f.connect(d),(0,a.cY)("voice.capture.wired",{hasGain:!0})}catch(n){let t=n instanceof Error?n:Error(String(n));throw(0,a.cY)("voice.capture.error",{name:t.name,message:t.message}),null==(l=e.onError)||l.call(e,t),c&&c.getTracks().forEach(e=>e.stop()),u&&await u.close(),t}let h=!1;return{async stop(){if(!h){h=!0;try{null==p||p.disconnect()}catch(e){}try{null==f||f.disconnect()}catch(e){}try{null==d||d.disconnect()}catch(e){}try{null==c||c.getTracks().forEach(e=>e.stop())}catch(e){}try{await (null==u?void 0:u.close())}catch(e){}}},setMicGain(e){if(!f||!u)return;let t=Number.isFinite(e)?Math.max(0,Math.min(1,e)):1;try{let e=u.currentTime;f.gain.cancelScheduledValues(e),f.gain.setValueAtTime(f.gain.value,e),f.gain.linearRampToValueAtTime(t,e+.005),(0,a.cY)("voice.mic.duck.set",{gain:t})}catch(e){try{f.gain.value=t}catch(e){}(0,a.cY)("voice.mic.duck.fallback",{gain:t,err:e instanceof Error?e.message:String(e)})}}}}let i={UPSTREAM_PCM:1,UPSTREAM_FINALIZE:2,UPSTREAM_HELLO:3,UPSTREAM_INTERRUPT:4,DOWNSTREAM_PCM:129,DOWNSTREAM_STATE:130,DOWNSTREAM_ERROR:131,DOWNSTREAM_TRANSCRIPT:132};function s(e,t){let n=new ArrayBuffer(4+t.byteLength),r=new DataView(n);return r.setUint8(0,e),r.setUint8(1,0),r.setUint16(2,0,!1),new Uint8Array(n,4).set(t),n}function c(e){return JSON.parse(new TextDecoder().decode(e))}var u=n(79544),d=n(73821);function p(e){return"speaking"===e?.5:1}function f(e){let[t,n]=(0,r.useState)("idle"),[o,f]=(0,r.useState)(null),[h,m]=(0,r.useState)(!1),g=(0,r.useRef)(null),y=(0,r.useRef)(null),k=(0,r.useRef)(null),b=(0,r.useRef)(e.onTranscript);(0,r.useEffect)(()=>{b.current=e.onTranscript},[e.onTranscript]);let v=(0,r.useRef)(e.onSpeechActivity);(0,r.useEffect)(()=>{v.current=e.onSpeechActivity},[e.onSpeechActivity]);let w=(0,r.useRef)(null);if(null===w.current){let e=(0,d.lu)();w.current=(0,u.cK)({speakingThresholdMultiplier:e.speakingThresholdMultiplier})}let x=(0,r.useRef)("idle"),I=(0,r.useCallback)(e=>{var t,r;let a=x.current;if(x.current=e,null==(t=w.current)||t.setSpeakingActive("speaking"===e),p(a)!==p(e))try{null==(r=g.current)||r.setMicGain(p(e))}catch(e){}n(e)},[]),A=(0,r.useCallback)(async()=>{var e,t,n;try{null==(e=k.current)||e.close()}catch(e){}try{await (null==(t=g.current)?void 0:t.stop())}catch(e){}try{await (null==(n=y.current)?void 0:n.close())}catch(e){}g.current=null,y.current=null,k.current=null},[]);(0,r.useEffect)(()=>()=>{A()},[A]);let S=(0,r.useCallback)(async()=>{f(null),I("connecting");try{let t=function(){var e;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=null!=(e=t.inputSampleRateHz)?e:24e3,r=new AudioContext,a=0,o=[];function l(){for(let e of o){try{e.stop()}catch(e){}try{e.disconnect()}catch(e){}}o=[],a=r.currentTime}async function i(){l();try{await r.close()}catch(e){}}return{enqueue:function(e){try{let t=e.byteLength>>1,l=new DataView(e.buffer,e.byteOffset,e.byteLength),i=new Float32Array(t);for(let e=0;e<t;e++){let t=l.getInt16(2*e,!0);i[e]=t<0?t/32768:t/32767}let s=r.createBuffer(1,t,n);s.copyToChannel(i,0);let c=r.createBufferSource();c.buffer=s,c.connect(r.destination);let u=r.currentTime,d=Math.max(u,a);c.start(d),a=d+s.duration,o.push(c),c.onended=()=>{o=o.filter(e=>e!==c)}}catch(e){var l;null==(l=t.onError)||l.call(t,e instanceof Error?e:Error(String(e)))}},cancel:l,close:i}}({onError:e=>f(e.message)});y.current=t;let n=function(e){let t,n="connecting",r=t=>{var r;n=t,null==(r=e.onSocketState)||r.call(e,t),(0,a.cY)("voice.ws.state",{state:t,url:e.url})};(0,a.cY)("voice.ws.construct",{url:e.url,hasToken:!!e.token,location:window.location.href,pageProto:window.location.protocol,wsProto:e.url.startsWith("wss:")?"wss":e.url.startsWith("ws:")?"ws":"(other)"});try{(t=new WebSocket(e.url)).binaryType="arraybuffer",(0,a.cY)("voice.ws.constructed",{readyState:t.readyState,url:t.url})}catch(l){var o;r("error");let t=l instanceof Error?l.message:String(l);return(0,a.cY)("voice.ws.construct-throw",{msg:t,url:e.url}),null==(o=e.onError)||o.call(e,{error:"ws construct failed: ".concat(t)}),{sendUpstreamPcm(){},finalize(){},sendInterrupt(){},close(){},getState:()=>n}}return t.onopen=()=>{var n;(0,a.cY)("voice.ws.open",{readyState:t.readyState,url:t.url,protocol:t.protocol,extensions:t.extensions}),r("open");let o={...null!=(n=e.hello)?n:{},...e.token?{token:e.token}:{}},l=new TextEncoder().encode(JSON.stringify(o));t.send(s(i.UPSTREAM_HELLO,l)),(0,a.cY)("voice.ws.hello-sent",{helloKeys:Object.keys(o)})},t.onmessage=t=>{var n,r,a,o,l,s;if("string"==typeof t.data){null==(n=e.onError)||n.call(e,{error:"unexpected text frame: ".concat(t.data.slice(0,200))});return}try{let n=function(e){if(e.byteLength<4)throw Error("frame too short (".concat(e.byteLength," bytes)"));let t=new DataView(e);return{kind:t.getUint8(0),flags:t.getUint8(1),payload:new Uint8Array(e,4)}}(t.data);switch(n.kind){case i.DOWNSTREAM_PCM:e.onDownstreamPcm(n.payload);break;case i.DOWNSTREAM_STATE:{let{state:t}=c(n.payload);null==(r=e.onState)||r.call(e,t);break}case i.DOWNSTREAM_ERROR:{let t=c(n.payload);null==(a=e.onError)||a.call(e,t);break}case i.DOWNSTREAM_TRANSCRIPT:{let t=c(n.payload);null==(o=e.onTranscript)||o.call(e,t);break}default:null==(l=e.onError)||l.call(e,{error:"unknown frame kind 0x".concat(n.kind.toString(16))})}}catch(t){null==(s=e.onError)||s.call(e,{error:t instanceof Error?t.message:String(t)})}},t.onclose=e=>{(0,a.cY)("voice.ws.close",{code:e.code,reason:e.reason,wasClean:e.wasClean,readyState:t.readyState,priorState:n}),r("closed")},t.onerror=n=>{var o;let l={readyState:t.readyState,url:t.url,eventType:n.type,isTrusted:n.isTrusted};(0,a.cY)("voice.ws.error",l),r("error"),null==(o=e.onError)||o.call(e,{error:"websocket transport error (readyState=".concat(t.readyState,", url=").concat(t.url,")")})},{sendUpstreamPcm:function(e){"open"===n&&t.send(s(i.UPSTREAM_PCM,e))},finalize:function(){"open"===n&&t.send(s(i.UPSTREAM_FINALIZE,new Uint8Array(0)))},sendInterrupt:function(){"open"===n&&t.send(s(i.UPSTREAM_INTERRUPT,new Uint8Array(0)))},close:function(){if("closed"!==n&&"closing"!==n){r("closing");try{t.close(1e3,"client-close")}catch(e){}}},getState:()=>n}}({url:e.wsUrl,...e.token?{token:e.token}:{},hello:{surface:"pwa",userAgent:navigator.userAgent},onDownstreamPcm:e=>{t.enqueue(e),I("speaking")},onState:e=>I(function(e){switch(e){case"connecting":return"connecting";case"streaming":return"listening";default:return"idle"}}(e)),onTranscript:e=>{if("final"===e.kind){var t;null==(t=b.current)||t.call(b,e.text)}},onError:e=>{I("error"),f(e.error)},onSocketState:e=>{let t="connecting"===e?"connecting":"error"===e?"error":"closed"===e?"idle":null;t&&I(t)}});k.current=n,g.current=await l({onFrame:e=>{n.sendUpstreamPcm(e);let t=w.current;if(t&&t.push(e)){(0,a.cY)("voice.barge-in.rms-fire");let e=v.current;try{null==e||e()}catch(e){}if("speaking"===x.current){var r,o;try{null==(r=y.current)||r.cancel()}catch(e){}try{null==(o=k.current)||o.sendInterrupt()}catch(e){}I("listening"),(0,a.cY)("voice.barge-in.auto-fire")}}},onError:e=>{I("error"),f(e.message)}}),m(!0),I("listening")}catch(e){I("error"),f(e instanceof Error?e.message:String(e)),await A()}},[e.wsUrl,e.token,A,I]),T=(0,r.useCallback)(async()=>{var e,t;m(!1),null==(e=k.current)||e.finalize(),await A(),null==(t=w.current)||t.reset(),I("idle")},[A,I]),E=(0,r.useCallback)(async()=>{h?await T():await S()},[h,S,T]),C=(0,r.useCallback)(async()=>{h||await S()},[h,S]);return{phase:t,errorMsg:o,active:h,start:S,stop:T,toggle:E,forceListen:C,interrupt:(0,r.useCallback)(()=>{var e,t;try{null==(e=y.current)||e.cancel()}catch(e){}try{null==(t=k.current)||t.sendInterrupt()}catch(e){}"speaking"===x.current&&(I("listening"),(0,a.cY)("voice.barge-in.manual-fire"))},[I])}}},79544:(e,t,n)=>{n.d(t,{Si:()=>l,cK:()=>o});var r=n(19707),a=n(53403);function o(){var e,t,n,r;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=null!=(e=a.threshold)?e:.04,l=null!=(t=a.speakingThresholdMultiplier)?t:2,i=null!=(n=a.sustainMs)?n:150,s=null!=(r=a.frameMs)?r:20,c=Math.max(1,Math.ceil(i/s)),u=Math.max(1,Math.ceil(500/s)),d=0,p=0,f=!1,h=!1,m=()=>h?o*l:o;return{push(e){if(function(e){if(e.byteLength<2)return 0;let t=e.byteLength>>1,n=new Int16Array(e.buffer,e.byteOffset,t),r=0;for(let e=0;e<t;e+=1){let t=n[e]/32768;r+=t*t}return Math.sqrt(r/t)}(e)>=m()){if(d+=1,p=0,!f&&d>=c)return f=!0,!0}else d=0,p+=1,f&&p>=u&&(f=!1);return!1},reset(){d=0,p=0,f=!1},setSpeakingActive(e){h!==e&&(h=e,d=0,p=0)},effectiveThreshold:m}}function l(e){var t,n;let o=(0,r.useRef)(e.enabled);o.current=e.enabled;let l=(0,r.useRef)(e.onActivate);l.current=e.onActivate;let i=null!=(t=e.thresholdMs)?t:250,s=null==(n=e.ignoreFocusedInput)||n;(0,r.useEffect)(()=>{let e=null,t=!1,n=n=>{!(!o.current||"Space"!==n.code&&" "!==n.key||n.repeat||s&&function(e){if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return"INPUT"===t||"TEXTAREA"===t||e.isContentEditable}(n.target))&&(t||(t=!0,e=setTimeout(()=>{t&&((0,a.cY)("voice.barge-in.spacebar-longpress",{ms:i}),l.current(n))},i)))},r=n=>{(!n||"Space"===n.code||" "===n.key)&&(t=!1,e&&(clearTimeout(e),e=null))};return window.addEventListener("keydown",n),window.addEventListener("keyup",r),window.addEventListener("blur",()=>r()),()=>{e&&clearTimeout(e),window.removeEventListener("keydown",n),window.removeEventListener("keyup",r),window.removeEventListener("blur",()=>r())}},[i,s])}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8250],{68250:(t,e,a)=>{function i(t,e){let a=Error(e);return a.code=t,a}async function o(t){var e;if(!t.type.startsWith("audio/"))throw i("unsupported","not an audio file: ".concat(t.type||"(unknown)"));let a=null!=(e=globalThis.AudioContext)?e:globalThis.webkitAudioContext;if(!a)throw i("unavailable","Web Audio API unsupported");let o=new a;try{let e=await t.arrayBuffer();return{durationSec:(await o.decodeAudioData(e.slice(0)).catch(t=>{throw i("decode",t instanceof Error?t.message:String(t))})).duration,mimeType:t.type,sizeBytes:t.size}}finally{try{await o.close()}catch(t){}}}a.d(e,{extractAudioMeta:()=>o})}}]);
|