elanous 0.2.0 → 0.2.4
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 +6 -0
- package/README.md +16 -14
- 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/1191-7b13a24117a689fa.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/2375-3fcae5186c64fe6b.js +1 -0
- 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/{2a79f15a-2013e4d421d6df88.js → 2ea96958-e8c7e112de50b067.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/319-d37df1b6e0cbeff4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3403.4bc97b4066945a94.js +5 -0
- 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/{6804.8ed6ab492bc5fc0a.js → 4323.c5dfb6f503304775.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/4836-3c93795ab834381e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{320-d7013ec072863e5e.js → 5080-1613752891fcadb4.js} +4 -4
- package/apps/pwa/out/_next/static/chunks/5609-012bb3557211f07e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5791-bb82743fa6299562.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6062-73e68343a9814f6a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6090-1bd6077591603947.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/7457-f5cb1cc8db9f7453.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/8046cadf-211ca3c0e00f2b72.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8067-f74bf14d67ad98f1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8142-011e1f474efb8b33.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8519-0059d82bdb4812bf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8619-4365e03a2862830f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/920-f7dceb78f1c585ef.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9651-3cd291a6fa1370d2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9740-52467f244755917f.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-21c3261af6ab377c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-1991445b8ea86274.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/board/page-4ebfaee2369fe248.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-9fa879ebf5959096.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/bots/page-ca7c3cc305c3285a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/page-9951930add3d2051.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/control/page-4472ddf1e2458e69.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-4de08d4b766f134b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/editor/page-7a975e2b9db1dfb7.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-49270714ef35bb96.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/layout-33fbdf353e2a5982.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live/page-259f122e2dd64317.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/market/page-65b82726753658e1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-4b8df3748dc06285.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/morning/page-112f7e477bda77fd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/not-found-542a5c0006da637c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-63ffb347831262ea.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/page-98e4e359d97263b4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-97e24ac675ce576e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-ac6391f26391d89d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-9f45c9d45ffc43bd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-36995b9cb5d98218.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/page-0c795b577988d63f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-b4311e2f71c6735a.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-eb2381074df20dba.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/share/page-b01336e64eba01ae.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-7af7f21c1f2858ef.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-a98ecd364586c89b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/term/page-57f0502dfbfa089b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/trace/page-3467d2e1abd8a14a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/vault/page-7842ca23d53ba682.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-ae9ac882912b0198.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-3a0d72e3f783bcef.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-f3b39fe8358c2a97.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-5a22af3181ac2afb.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-1457627bb302a22c.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-e5bea36f183b25e6.js +1 -0
- package/apps/pwa/out/_next/static/css/e66b7f5efc8df3f3.css +1 -0
- package/apps/pwa/out/_next/static/zoQX5iTvXOsIvCjxCe1Ji/_buildManifest.js +1 -0
- package/apps/pwa/out/approvals/index.html +1 -0
- package/apps/pwa/out/approvals/index.txt +30 -0
- package/apps/pwa/out/autopilot/index.html +1 -1
- package/apps/pwa/out/autopilot/index.txt +27 -26
- package/apps/pwa/out/board/index.html +1 -0
- package/apps/pwa/out/board/index.txt +30 -0
- package/apps/pwa/out/botlab/index.html +1 -1
- package/apps/pwa/out/botlab/index.txt +24 -23
- package/apps/pwa/out/bots/index.html +1 -1
- package/apps/pwa/out/bots/index.txt +24 -23
- package/apps/pwa/out/chat/index.html +1 -2
- package/apps/pwa/out/chat/index.txt +24 -23
- package/apps/pwa/out/control/index.html +1 -1
- package/apps/pwa/out/control/index.txt +27 -26
- package/apps/pwa/out/design-check/index.html +1 -1
- package/apps/pwa/out/design-check/index.txt +27 -26
- package/apps/pwa/out/editor/index.html +1 -0
- package/apps/pwa/out/editor/index.txt +31 -0
- package/apps/pwa/out/healthz +1 -1
- package/apps/pwa/out/index.html +1 -1
- package/apps/pwa/out/index.txt +24 -23
- package/apps/pwa/out/intake/index.html +1 -1
- package/apps/pwa/out/intake/index.txt +27 -26
- package/apps/pwa/out/live/index.html +1 -0
- package/apps/pwa/out/live/index.txt +30 -0
- package/apps/pwa/out/market/index.html +1 -0
- package/apps/pwa/out/market/index.txt +27 -0
- package/apps/pwa/out/missions/placeholder/index.html +1 -1
- package/apps/pwa/out/missions/placeholder/index.txt +24 -23
- package/apps/pwa/out/morning/index.html +1 -1
- package/apps/pwa/out/morning/index.txt +27 -26
- package/apps/pwa/out/observatory/index.html +1 -1
- package/apps/pwa/out/observatory/index.txt +27 -26
- package/apps/pwa/out/reflection/index.html +1 -1
- package/apps/pwa/out/reflection/index.txt +25 -24
- package/apps/pwa/out/scheduler/index.html +1 -1
- package/apps/pwa/out/scheduler/index.txt +27 -26
- package/apps/pwa/out/sessions/index.html +1 -1
- package/apps/pwa/out/sessions/index.txt +24 -23
- package/apps/pwa/out/settings/devices/index.html +1 -1
- package/apps/pwa/out/settings/devices/index.txt +27 -26
- package/apps/pwa/out/settings/index.html +1 -1
- package/apps/pwa/out/settings/index.txt +27 -26
- package/apps/pwa/out/setup/done/index.html +1 -1
- package/apps/pwa/out/setup/done/index.txt +27 -26
- package/apps/pwa/out/setup/index.html +1 -1
- package/apps/pwa/out/setup/index.txt +27 -26
- package/apps/pwa/out/share/index.html +1 -1
- package/apps/pwa/out/share/index.txt +27 -26
- package/apps/pwa/out/showroom/index.html +1 -1
- package/apps/pwa/out/showroom/index.txt +24 -23
- package/apps/pwa/out/tasks/index.html +1 -1
- package/apps/pwa/out/tasks/index.txt +27 -26
- package/apps/pwa/out/term/index.html +1 -1
- package/apps/pwa/out/term/index.txt +27 -26
- package/apps/pwa/out/trace/index.html +1 -0
- package/apps/pwa/out/trace/index.txt +30 -0
- package/apps/pwa/out/vault/index.html +1 -1
- package/apps/pwa/out/vault/index.txt +27 -26
- package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
- package/apps/pwa/out/workflows/chat-ui/index.txt +27 -26
- package/apps/pwa/out/workflows/index.html +1 -1
- package/apps/pwa/out/workflows/index.txt +27 -27
- package/apps/pwa/out/workspace/index.html +1 -1
- package/apps/pwa/out/workspace/index.txt +27 -26
- package/apps/pwa/out/worktrees/index.html +1 -1
- package/apps/pwa/out/worktrees/index.txt +27 -26
- package/catalog/resources.yaml +8 -11
- package/docs/design/systems/LICENSE +201 -0
- package/docs/design/systems/NOTICE.md +29 -0
- package/docs/design/systems/SOURCE.json +291 -0
- package/docs/design/systems/application/DESIGN.md +71 -0
- package/docs/design/systems/application/manifest.json +54 -0
- package/docs/design/systems/application/tokens.css +63 -0
- package/docs/design/systems/artistic/DESIGN.md +71 -0
- package/docs/design/systems/artistic/manifest.json +54 -0
- package/docs/design/systems/artistic/tokens.css +63 -0
- package/docs/design/systems/bento/DESIGN.md +71 -0
- package/docs/design/systems/bento/manifest.json +54 -0
- package/docs/design/systems/bento/tokens.css +63 -0
- package/docs/design/systems/bold/DESIGN.md +71 -0
- package/docs/design/systems/bold/manifest.json +54 -0
- package/docs/design/systems/bold/tokens.css +63 -0
- package/docs/design/systems/brutalism/DESIGN.md +71 -0
- package/docs/design/systems/brutalism/manifest.json +54 -0
- package/docs/design/systems/brutalism/tokens.css +63 -0
- package/docs/design/systems/cafe/DESIGN.md +71 -0
- package/docs/design/systems/cafe/manifest.json +54 -0
- package/docs/design/systems/cafe/tokens.css +63 -0
- package/docs/design/systems/claymorphism/DESIGN.md +71 -0
- package/docs/design/systems/claymorphism/manifest.json +54 -0
- package/docs/design/systems/claymorphism/tokens.css +63 -0
- package/docs/design/systems/clean/DESIGN.md +71 -0
- package/docs/design/systems/clean/manifest.json +54 -0
- package/docs/design/systems/clean/tokens.css +63 -0
- package/docs/design/systems/colorful/DESIGN.md +71 -0
- package/docs/design/systems/colorful/manifest.json +54 -0
- package/docs/design/systems/colorful/tokens.css +63 -0
- package/docs/design/systems/contemporary/DESIGN.md +71 -0
- package/docs/design/systems/contemporary/manifest.json +54 -0
- package/docs/design/systems/contemporary/tokens.css +63 -0
- package/docs/design/systems/corporate/DESIGN.md +71 -0
- package/docs/design/systems/corporate/manifest.json +54 -0
- package/docs/design/systems/corporate/tokens.css +63 -0
- package/docs/design/systems/cosmic/DESIGN.md +71 -0
- package/docs/design/systems/cosmic/manifest.json +54 -0
- package/docs/design/systems/cosmic/tokens.css +63 -0
- package/docs/design/systems/creative/DESIGN.md +71 -0
- package/docs/design/systems/creative/manifest.json +54 -0
- package/docs/design/systems/creative/tokens.css +63 -0
- package/docs/design/systems/dashboard/DESIGN.md +71 -0
- package/docs/design/systems/dashboard/manifest.json +54 -0
- package/docs/design/systems/dashboard/tokens.css +63 -0
- package/docs/design/systems/default/DESIGN.md +62 -0
- package/docs/design/systems/default/manifest.json +69 -0
- package/docs/design/systems/default/tokens.css +200 -0
- package/docs/design/systems/dithered/DESIGN.md +71 -0
- package/docs/design/systems/dithered/manifest.json +54 -0
- package/docs/design/systems/dithered/tokens.css +63 -0
- package/docs/design/systems/doodle/DESIGN.md +71 -0
- package/docs/design/systems/doodle/manifest.json +54 -0
- package/docs/design/systems/doodle/tokens.css +63 -0
- package/docs/design/systems/dramatic/DESIGN.md +71 -0
- package/docs/design/systems/dramatic/manifest.json +54 -0
- package/docs/design/systems/dramatic/tokens.css +63 -0
- package/docs/design/systems/editorial/DESIGN.md +71 -0
- package/docs/design/systems/editorial/manifest.json +54 -0
- package/docs/design/systems/editorial/tokens.css +63 -0
- package/docs/design/systems/elegant/DESIGN.md +71 -0
- package/docs/design/systems/elegant/manifest.json +54 -0
- package/docs/design/systems/elegant/tokens.css +63 -0
- package/docs/design/systems/energetic/DESIGN.md +72 -0
- package/docs/design/systems/energetic/manifest.json +54 -0
- package/docs/design/systems/energetic/tokens.css +63 -0
- package/docs/design/systems/enterprise/DESIGN.md +71 -0
- package/docs/design/systems/enterprise/manifest.json +54 -0
- package/docs/design/systems/enterprise/tokens.css +63 -0
- package/docs/design/systems/expressive/DESIGN.md +71 -0
- package/docs/design/systems/expressive/manifest.json +54 -0
- package/docs/design/systems/expressive/tokens.css +63 -0
- package/docs/design/systems/fantasy/DESIGN.md +71 -0
- package/docs/design/systems/fantasy/manifest.json +54 -0
- package/docs/design/systems/fantasy/tokens.css +63 -0
- package/docs/design/systems/flat/DESIGN.md +71 -0
- package/docs/design/systems/flat/manifest.json +54 -0
- package/docs/design/systems/flat/tokens.css +63 -0
- package/docs/design/systems/friendly/DESIGN.md +71 -0
- package/docs/design/systems/friendly/manifest.json +54 -0
- package/docs/design/systems/friendly/tokens.css +63 -0
- package/docs/design/systems/glassmorphism/DESIGN.md +71 -0
- package/docs/design/systems/glassmorphism/manifest.json +54 -0
- package/docs/design/systems/glassmorphism/tokens.css +63 -0
- package/docs/design/systems/gradient/DESIGN.md +71 -0
- package/docs/design/systems/gradient/manifest.json +54 -0
- package/docs/design/systems/gradient/tokens.css +63 -0
- package/docs/design/systems/luxury/DESIGN.md +71 -0
- package/docs/design/systems/luxury/manifest.json +54 -0
- package/docs/design/systems/luxury/tokens.css +63 -0
- package/docs/design/systems/minimal/DESIGN.md +71 -0
- package/docs/design/systems/minimal/manifest.json +54 -0
- package/docs/design/systems/minimal/tokens.css +63 -0
- package/docs/design/systems/modern/DESIGN.md +71 -0
- package/docs/design/systems/modern/manifest.json +54 -0
- package/docs/design/systems/modern/tokens.css +63 -0
- package/docs/design/systems/mono/DESIGN.md +71 -0
- package/docs/design/systems/mono/manifest.json +54 -0
- package/docs/design/systems/mono/tokens.css +63 -0
- package/docs/design/systems/neobrutalism/DESIGN.md +71 -0
- package/docs/design/systems/neobrutalism/manifest.json +54 -0
- package/docs/design/systems/neobrutalism/tokens.css +63 -0
- package/docs/design/systems/neon/DESIGN.md +71 -0
- package/docs/design/systems/neon/manifest.json +54 -0
- package/docs/design/systems/neon/tokens.css +63 -0
- package/docs/design/systems/neumorphism/DESIGN.md +71 -0
- package/docs/design/systems/neumorphism/manifest.json +54 -0
- package/docs/design/systems/neumorphism/tokens.css +63 -0
- package/docs/design/systems/paper/DESIGN.md +71 -0
- package/docs/design/systems/paper/manifest.json +54 -0
- package/docs/design/systems/paper/tokens.css +63 -0
- package/docs/design/systems/perspective/DESIGN.md +71 -0
- package/docs/design/systems/perspective/manifest.json +54 -0
- package/docs/design/systems/perspective/tokens.css +63 -0
- package/docs/design/systems/premium/DESIGN.md +71 -0
- package/docs/design/systems/premium/manifest.json +54 -0
- package/docs/design/systems/premium/tokens.css +63 -0
- package/docs/design/systems/professional/DESIGN.md +71 -0
- package/docs/design/systems/professional/manifest.json +54 -0
- package/docs/design/systems/professional/tokens.css +63 -0
- package/docs/design/systems/publication/DESIGN.md +71 -0
- package/docs/design/systems/publication/manifest.json +54 -0
- package/docs/design/systems/publication/tokens.css +63 -0
- package/docs/design/systems/refined/DESIGN.md +71 -0
- package/docs/design/systems/refined/manifest.json +54 -0
- package/docs/design/systems/refined/tokens.css +63 -0
- package/docs/design/systems/retro/DESIGN.md +71 -0
- package/docs/design/systems/retro/manifest.json +54 -0
- package/docs/design/systems/retro/tokens.css +63 -0
- package/docs/design/systems/shadcn/DESIGN.md +71 -0
- package/docs/design/systems/shadcn/manifest.json +54 -0
- package/docs/design/systems/shadcn/tokens.css +255 -0
- package/docs/design/systems/simple/DESIGN.md +71 -0
- package/docs/design/systems/simple/manifest.json +54 -0
- package/docs/design/systems/simple/tokens.css +63 -0
- package/docs/design/systems/skeumorphism/DESIGN.md +71 -0
- package/docs/design/systems/skeumorphism/manifest.json +54 -0
- package/docs/design/systems/skeumorphism/tokens.css +63 -0
- package/docs/design/systems/sleek/DESIGN.md +71 -0
- package/docs/design/systems/sleek/manifest.json +54 -0
- package/docs/design/systems/sleek/tokens.css +63 -0
- package/docs/design/systems/spacious/DESIGN.md +71 -0
- package/docs/design/systems/spacious/manifest.json +54 -0
- package/docs/design/systems/spacious/tokens.css +63 -0
- package/docs/design/systems/storytelling/DESIGN.md +71 -0
- package/docs/design/systems/storytelling/manifest.json +54 -0
- package/docs/design/systems/storytelling/tokens.css +63 -0
- package/docs/design/systems/tom-modern/DESIGN.md +361 -0
- package/docs/design/systems/tom-modern/manifest.json +16 -0
- package/docs/design/systems/tom-modern/tokens.css +99 -0
- package/docs/design/systems/vibrant/DESIGN.md +71 -0
- package/docs/design/systems/vibrant/manifest.json +54 -0
- package/docs/design/systems/vibrant/tokens.css +63 -0
- package/docs/design/systems/vintage/DESIGN.md +71 -0
- package/docs/design/systems/vintage/manifest.json +54 -0
- package/docs/design/systems/vintage/tokens.css +63 -0
- package/docs/design/systems/warm-editorial/DESIGN.md +65 -0
- package/docs/design/systems/warm-editorial/manifest.json +54 -0
- package/docs/design/systems/warm-editorial/tokens.css +63 -0
- package/docs/goal-context/01-goal-authoring-checks.md +18 -0
- package/docs/goal-context/steward-directives-2026-09-28.md +44 -0
- package/graphs/catalog/catalog.yaml +615 -0
- package/graphs/default-loop.yaml +1 -1
- package/graphs/document-loop.yaml +1 -1
- package/graphs/examples/stale-draft-digest/digest.ts +26 -0
- package/graphs/examples/stale-draft-digest/recipes.yaml +8 -0
- package/graphs/examples/stale-draft-digest/stale-draft-digest.yaml +22 -0
- package/graphs/heal/heal-loop.yaml +155 -0
- package/graphs/heal/recipes.yaml +19 -0
- package/graphs/implement-loop.yaml +2 -2
- package/graphs/intake/intake-daily.yaml +55 -0
- package/graphs/intake/recipes.yaml +16 -0
- package/graphs/landing/landing-heal.yaml +22 -0
- package/graphs/landing/recipes.yaml +8 -0
- package/graphs/launch/launch-head.yaml +66 -0
- package/graphs/launch/recipes.yaml +8 -0
- package/graphs/operate-loop.yaml +1 -1
- package/graphs/ops/docs-publish.yaml +31 -0
- package/graphs/ops/recipes.yaml +8 -0
- package/graphs/release/recipes.yaml +38 -0
- package/graphs/release/release-loop.yaml +40 -0
- package/graphs/research-loop.yaml +1 -1
- package/graphs/steward/recipes.yaml +12 -0
- package/graphs/steward/steward.yaml +45 -0
- package/graphs/video/broll-line.yaml +54 -0
- package/package.json +7 -5
- package/plugins/job-coach/.agents/plugins/marketplace.json +12 -0
- package/plugins/job-coach/.codex-plugin/plugin.json +6 -0
- package/plugins/job-coach/.mcp.json +9 -0
- package/plugins/job-coach/README.md +20 -0
- package/plugins/job-coach/connectors/ncs/server.ts +89 -0
- package/plugins/job-coach/examples/interview-sample.md +11 -0
- package/plugins/job-coach/graphs/course-links.ts +46 -0
- package/plugins/job-coach/graphs/recipes.yaml +18 -0
- package/plugins/job-coach/graphs/report.yaml +20 -0
- package/plugins/job-coach/graphs/run-step.ts +108 -0
- package/plugins/job-coach/plugin.json +13 -0
- package/plugins/job-coach/plugin.ts +6 -0
- package/plugins/job-coach/skills/career-report/SKILL.md +6 -0
- package/plugins/job-coach/skills/interview-to-profile/SKILL.md +6 -0
- package/plugins/job-coach/skills/run-report/SKILL.md +15 -0
- package/scripts/backup/elanous-backup.sh +139 -13
- package/scripts/backup/elanous-restore.sh +122 -0
- package/scripts/ci-daemon-port-gate.ts +164 -0
- package/scripts/ci-typecheck-changed.ts +15 -1
- package/scripts/cli-json-exit-scan.ts +126 -0
- package/scripts/codex-quota-alert-format.ts +52 -0
- package/scripts/codex-quota-alert.ts +63 -13
- package/scripts/continuation-dogfood.ts +2 -1
- package/scripts/coord-channel-watch.sh +5 -5
- package/scripts/coord-tracks.json +5 -4
- package/scripts/cron-run.ts +37 -16
- package/scripts/daemon-port-baseline.txt +9 -0
- package/scripts/design/extract-corpus-bench.ts +469 -0
- package/scripts/design/extract-corpus-score.ts +510 -0
- package/scripts/design/vendor-open-design-systems.ts +100 -0
- package/scripts/docs-lint.ts +1 -1
- package/scripts/fleet/node-setup.sh +38 -4
- package/scripts/heal/run-role.ts +328 -0
- package/scripts/install-role-watch.sh +95 -0
- package/scripts/install.ps1 +11 -1
- package/scripts/install.sh +81 -9
- package/scripts/isolation-hardcode-baseline.txt +1 -1
- package/scripts/landing-heal/must-fix-match.ts +37 -0
- package/scripts/landing-heal/run-mission.ts +101 -0
- package/scripts/lib/pwa-scenarios/acp-replay.ts +79 -0
- package/scripts/lib/pwa-scenarios/cdp-driver.ts +67 -0
- package/scripts/lib/pwa-scenarios/runner.ts +200 -0
- package/scripts/lib/pwa-scenarios/scenarios.ts +202 -0
- package/scripts/market/db-check.ts +212 -0
- package/scripts/market-posture-cycle.ts +63 -4
- package/scripts/nightly-docops.ts +1 -1
- package/scripts/ops/channel-bot-token-migrate.ts +146 -0
- package/scripts/ops-health-check.ts +15 -3
- package/scripts/pty-scenarios/run.ts +272 -0
- package/scripts/public-leak-baseline.txt +0 -7
- package/scripts/publish-internal-dist.ts +119 -0
- package/scripts/pwa-scenarios.ts +106 -0
- package/scripts/rebrand-elanous.ts +1 -1
- package/scripts/release-loop/cutoff.ts +139 -0
- package/scripts/release-loop/docs-land-node.ts +65 -0
- package/scripts/release-loop/docs-node.ts +172 -0
- package/scripts/release-loop/gate-diff.ts +29 -0
- package/scripts/release-loop/gate-node.ts +353 -0
- package/scripts/release-loop/node-verdict.ts +85 -0
- package/scripts/release-loop/prepare-node.ts +31 -0
- package/scripts/release-loop/publish-node.ts +57 -0
- package/scripts/release-loop/pwa-node-verdict.ts +45 -0
- package/scripts/release-loop/pwa-scenarios-node.ts +140 -0
- package/scripts/release-loop/release-docs.ts +102 -0
- package/scripts/release-loop/tui-node-checks.ts +29 -0
- package/scripts/release-loop/tui-sim-node.ts +113 -0
- package/scripts/release-loop/upgrade-node.ts +25 -0
- package/scripts/release-loop/verify-node.ts +21 -0
- package/scripts/release-loop/version-node.ts +147 -0
- package/scripts/release-upgrade-check.sh +53 -0
- package/scripts/se-mission-prepare.ts +9 -15
- package/scripts/test-deterministic.ts +2 -1
- package/scripts/uninstall.sh +10 -3
- package/scripts/video-broll-line.ts +89 -0
- package/scripts/waitlist-daily-digest.ts +108 -0
- package/scripts/window-landings.sh +1 -1
- package/skills/motion-broll/LICENSE +25 -0
- package/skills/motion-broll/SKILL.md +150 -0
- package/skills/motion-broll/SOURCE.md +6 -0
- package/skills/motion-broll/engine/base.css +19 -0
- package/skills/motion-broll/engine/beats.js +11 -0
- package/skills/motion-broll/engine/build.py +21 -0
- package/skills/motion-broll/engine/fonts/Geist-Variable.woff2 +0 -0
- package/skills/motion-broll/engine/fonts/GeistMono-Medium.woff2 +0 -0
- package/skills/motion-broll/engine/fonts/OFL-Geist.txt +92 -0
- package/skills/motion-broll/engine/motion.js +146 -0
- package/skills/motion-broll/engine/render.js +22 -0
- package/skills/motion-broll/examples/opus-aoe2/01-opus-drop.html +41 -0
- package/skills/motion-broll/examples/opus-aoe2/02-pip-builds.html +110 -0
- package/skills/motion-broll/examples/opus-aoe2/03-effort-slider.html +38 -0
- package/skills/motion-broll/examples/opus-aoe2/04-master-prompt.html +56 -0
- package/skills/motion-broll/examples/opus-aoe2/05-low-vs-max.html +49 -0
- package/skills/motion-broll/examples/opus-aoe2/06-chapter.html +18 -0
- package/skills/motion-broll/examples/opus-aoe2/plan.json +14 -0
- package/skills/motion-broll/reference/engine-api.md +106 -0
- package/skills/motion-broll/scripts/composite.py +14 -0
- package/skills/motion-broll/scripts/inspect_video.py +34 -0
- package/skills/motion-broll/scripts/make_pages.py +34 -0
- package/skills/motion-broll/scripts/setup.sh +16 -0
- package/skills/motion-broll/scripts/words.py +13 -0
- package/skills/motion-broll/templates/compare.html +135 -0
- package/skills/motion-broll/templates/viewer.html +97 -0
- package/skills/omni-digest/SKILL.md +260 -0
- package/skills/omni-digest/digest.md +197 -0
- package/skills/omni-digest/docs/diagrams/noncode-terminal-promotion-path-2026-08-13.mmd +32 -0
- package/skills/omni-digest/package-lock.json +558 -0
- package/skills/omni-digest/package.json +13 -0
- package/skills/omni-digest/scripts/main.ts +404 -0
- package/skills/omni-digest/src/delegate.ts +34 -0
- package/skills/omni-digest/src/detect.ts +46 -0
- package/skills/omni-digest/src/diagram.ts +72 -0
- package/skills/omni-digest/src/domain-staging.ts +50 -0
- package/skills/omni-digest/src/env.ts +38 -0
- package/skills/omni-digest/src/fetch.ts +237 -0
- package/skills/omni-digest/src/media.ts +180 -0
- package/skills/omni-digest/src/obsidian.ts +69 -0
- package/skills/omni-digest/src/ocr.ts +149 -0
- package/skills/omni-digest/src/router.ts +60 -0
- package/skills/omni-digest/src/summarize.ts +87 -0
- package/skills/omni-digest/src/types.ts +124 -0
- package/skills/omni-digest/src/util.ts +34 -0
- package/skills/omni-digest/src/visual.ts +129 -0
- package/skills/omni-digest/src/x-api.ts +151 -0
- package/skills/omni-digest/tsconfig.json +13 -0
- package/src/a2a/agent-card.ts +29 -0
- package/src/a2a/server.ts +173 -0
- package/src/acp/auto-persist.ts +3 -6
- package/src/acp/backend-registry.ts +6 -10
- package/src/acp/channel-browser-shell.ts +1 -535
- package/src/acp/client.ts +106 -36
- package/src/acp/fs-roots.ts +20 -4
- package/src/acp/obsidian-tags.ts +6 -3
- package/src/acp/server.ts +189 -32
- package/src/agent/pty-binding.ts +1 -1
- package/src/agent/spawn-embodied-agent-in-vw.ts +5 -336
- package/src/agent/subagent-callable.ts +39 -1
- package/src/agent-mission/browser-login.ts +241 -0
- package/src/agent-mission/capabilities-cli.ts +33 -0
- package/src/agent-mission/capability-matrix.ts +31 -0
- package/src/agent-mission/capability-readers.ts +79 -0
- package/src/agent-mission/capability-types.ts +15 -0
- package/src/agent-mission/claude-headless.ts +131 -0
- package/src/agent-mission/claude-subscription.ts +57 -0
- package/src/agent-mission/doc-guided-install.ts +185 -0
- package/src/agent-mission/driver.ts +821 -69
- package/src/agent-mission/env-profile.ts +68 -0
- package/src/agent-mission/handoff.ts +128 -0
- package/src/agent-mission/in-agent-plugin.ts +311 -0
- package/src/agent-mission/mission-cli.ts +19 -1
- package/src/agent-mission/parse.ts +9 -4
- package/src/agent-mission/pr-review-watch.ts +62 -13
- package/src/agent-mission/resource-ladder.ts +187 -0
- package/src/agent-mission/tool-install.ts +249 -0
- package/src/agent-mission/tool-ladder.ts +37 -0
- package/src/agent-room/room-builder.ts +6 -600
- package/src/agent-substrate/review-intent.ts +43 -1
- package/src/auth/scope.ts +8 -4
- package/src/auth/temp-tokens.ts +131 -0
- package/src/auto-research/obsidian-bridge.ts +2 -0
- package/src/autopilot/build/integrity-gate.ts +27 -4
- package/src/autopilot/build/isolated-instance.ts +2 -1
- package/src/autopilot/build/llm-conflict-merge.ts +27 -0
- package/src/autopilot/llm-control-brain.ts +54 -12
- package/src/autopilot/mission-engine.ts +15 -1
- package/src/autopilot/mission-notify.ts +4 -2
- package/src/autopilot/mission-origin.ts +5 -5
- package/src/autopilot/mission-phase-track.ts +52 -0
- package/src/autopilot/mission-tool.ts +1 -1
- package/src/autopilot/pty-control-loop.ts +94 -2
- package/src/autopilot/track-agent.ts +138 -0
- package/src/autopilot/track-courier.ts +153 -0
- package/src/boot/acp-server.ts +16 -2
- package/src/boot/check-same-origin.ts +19 -5
- package/src/boot/daemon-multi-llm-runtime.ts +14 -8
- package/src/boot/daemon-prompt-turn.ts +2 -0
- package/src/boot/daemon-runtime.ts +36 -14
- package/src/boot/daemon-tools/index.ts +16 -0
- package/src/boot/daemon-tools/self-implement.ts +4 -0
- package/src/boot/daemon-tools/types.ts +3 -0
- package/src/browser-cdp/chrome-flags.ts +7 -0
- package/src/browser-cdp/client.ts +2 -0
- package/src/browser-pane/mount.ts +1 -246
- package/src/budget/codex-reset-credit-state.ts +15 -0
- package/src/budget/fetchers/codex.ts +2 -1
- package/src/budget/run-usage-rollup.ts +11 -4
- package/src/budget/unified-usage.ts +2 -1
- package/src/capture/tui-self-report.ts +10 -0
- package/src/channel-bot-token.ts +126 -0
- package/src/chat/index.ts +21 -45
- package/src/chat/input-text-key.ts +2 -2
- package/src/chat/mode/manual.ts +2 -4
- package/src/chat/pickers/state.ts +10 -27
- package/src/chat/search/modal.ts +14 -2
- package/src/chat/tool-render/types.ts +1 -1
- package/src/chat/turn-typeahead.ts +2 -1
- package/src/chat/wrap.ts +6 -8
- package/src/cli/__fixtures__/agent-help-before/agent.txt +18 -0
- package/src/cli/__fixtures__/agent-help-before/registry.txt +13 -0
- package/src/cli/__fixtures__/agent-help-before/root.txt +100 -0
- package/src/cli/__fixtures__/agent-help-before/tier.txt +15 -0
- package/src/cli/a2a-cli.ts +52 -0
- package/src/cli/agent-cli.ts +721 -0
- package/src/cli/autopilot-cli.ts +739 -0
- package/src/cli/bg-launch.ts +20 -4
- package/src/cli/claude-plugin-setup.ts +199 -0
- package/src/cli/config-test-sync.ts +94 -10
- package/src/cli/connector-cli.ts +204 -0
- package/src/cli/control-cli.ts +220 -0
- package/src/cli/control-join-cli.ts +142 -0
- package/src/cli/docs-cli.ts +38 -0
- package/src/cli/doctor-cli.ts +225 -26
- package/src/cli/doctor-distro.ts +17 -1
- package/src/cli/doctor-fix.ts +145 -17
- package/src/cli/doctor-llm-assist.ts +71 -0
- package/src/cli/doctor-private-files.ts +66 -0
- package/src/cli/doctor-readiness.ts +8 -5
- package/src/cli/fleet-cli.ts +63 -0
- package/src/cli/g6a-registration-probe.ts +16 -0
- package/src/cli/git-install-plan.ts +51 -0
- package/src/cli/hooks-cli.ts +44 -0
- package/src/cli/ingest-token-cli.ts +21 -0
- package/src/cli/intake-cli.ts +416 -0
- package/src/cli/labels-cli.ts +74 -0
- package/src/cli/leader-cli.ts +10 -159
- package/src/cli/live-cli.ts +48 -0
- package/src/cli/llm-detect-cli.ts +130 -0
- package/src/cli/logs-cli.ts +231 -7
- package/src/cli/machine-cli.ts +38 -0
- package/src/cli/mcp-call.ts +43 -13
- package/src/cli/mcp-gateway-cli.ts +90 -0
- package/src/cli/mcp-login.ts +116 -8
- package/src/cli/mcp-reload.ts +20 -3
- package/src/cli/nexus-dist.ts +18 -13
- package/src/cli/nexus-ios-bind.ts +20 -7
- package/src/cli/ops-cli.ts +225 -0
- package/src/cli/plugin-cli.ts +103 -0
- package/src/cli/pod-cli.ts +83 -0
- package/src/cli/port-lease-local.ts +124 -0
- package/src/cli/pr-cli.ts +12 -1
- package/src/cli/provider-cli.ts +720 -0
- package/src/cli/pty-record-cli.ts +63 -0
- package/src/cli/pty-takeover-cli.ts +57 -40
- package/src/cli/pty-web-address.ts +52 -0
- package/src/cli/publish-cli.ts +44 -0
- package/src/cli/pwa-build.ts +18 -12
- package/src/cli/pwa-dev.ts +13 -8
- package/src/cli/pwa-registry.ts +6 -0
- package/src/cli/pwa-share.ts +65 -22
- package/src/cli/pwa-show.ts +20 -4
- package/src/cli/pwa-start.ts +99 -27
- package/src/cli/pwa-test.ts +201 -96
- package/src/cli/release-cli.ts +90 -7
- package/src/cli/remotes-cli.ts +20 -1
- package/src/cli/remotes.ts +2 -1
- package/src/cli/repo-cli.ts +315 -36
- package/src/cli/research-cli.ts +66 -0
- package/src/cli/role-cli.ts +320 -0
- package/src/cli/schedule-cli.ts +246 -0
- package/src/cli/self-update.ts +98 -10
- package/src/cli/setup-cli.ts +64 -2
- package/src/cli/shadow-cli.ts +188 -0
- package/src/cli/share-auto-mount.ts +12 -8
- package/src/cli/start-cli.ts +221 -0
- package/src/cli/stdout-flush.ts +8 -0
- package/src/cli/storage-cli.ts +334 -0
- package/src/cli/tailscale-serve.ts +34 -19
- package/src/cli/tasks-cli.ts +176 -0
- package/src/cli/test-state-dir-flag.ts +1 -1
- package/src/cli/usage-cli.ts +15 -4
- package/src/cli/where-cli.ts +22 -55
- package/src/code-edit/diff-render.ts +6 -32
- package/src/code-edit/source-delta-browser.ts +0 -1
- package/src/codex/models.ts +1 -1
- package/src/config.ts +8 -13
- package/src/connectors/event-ledger.ts +41 -0
- package/src/connectors/linear-projector.ts +88 -0
- package/src/connectors/linear.ts +143 -0
- package/src/connectors/types.ts +19 -0
- package/src/control-plane/lease-holder.ts +41 -0
- package/src/control-plane/ledger.ts +146 -0
- package/src/control-plane/light-member.ts +164 -0
- package/src/control-plane/member-tokens.ts +88 -0
- package/src/control-plane/member.ts +159 -0
- package/src/control-plane/port-lease-heartbeat.ts +101 -0
- package/src/control-plane/ports.ts +40 -0
- package/src/control-plane/primary.ts +169 -0
- package/src/control-plane/server.ts +216 -0
- package/src/dashboard/acp-boot.ts +11 -38
- package/src/dashboard/assistant-render-state-runtime.ts +2 -2
- package/src/dashboard/assistant-sample-runtime.ts +2 -2
- package/src/dashboard/auto-compact-runtime.ts +11 -16
- package/src/dashboard/browser-help-runtime.ts +2 -3
- package/src/dashboard/chat/acp-chat.ts +2 -5
- package/src/dashboard/code-edit-post-turn-runtime.ts +1 -2
- package/src/dashboard/compact-surface-assembly.ts +0 -14
- package/src/dashboard/compact-surface-dispatch.ts +1 -38
- package/src/dashboard/compact-surface-inventory.ts +0 -8
- package/src/dashboard/compact-surface-runtime.ts +0 -14
- package/src/dashboard/context-menu-provider-boot.ts +0 -9
- package/src/dashboard/context-window-runtime-boot.ts +0 -37
- package/src/dashboard/index.ts +278 -2558
- package/src/dashboard/input/chat-main-plain-turn-runtime.ts +0 -6
- package/src/dashboard/input/chat-main-slash-command.ts +2 -2
- package/src/dashboard/input/dashboard-priority-key-route.ts +1 -43
- package/src/dashboard/input/mouse-modal-surface-runtime.ts +1 -5
- package/src/dashboard/input/mouse-wiring.ts +2 -3
- package/src/dashboard/layout-display-runtime-registration.ts +0 -10
- package/src/dashboard/modals/pane-multi.ts +1 -1
- package/src/dashboard/replay-preview.ts +1 -1
- package/src/dashboard/runtime/approvers.ts +0 -1
- package/src/dashboard/runtime/state-snapshot.ts +0 -90
- package/src/dashboard/scenario-runtime-boot.ts +16 -16
- package/src/dashboard/slash-runtime/dashboard-handlers.ts +134 -1456
- package/src/dashboard/slash-runtime/design-pick.ts +96 -0
- package/src/dashboard/slash-runtime/help-from-registry.ts +77 -0
- package/src/dashboard/surface-registry-wiring.ts +2 -15
- package/src/dashboard/turn-message-runtime.ts +0 -4
- package/src/dashboard/turn-preamble.ts +1 -1
- package/src/dashboard/turn-stream-formatter.ts +2 -2
- package/src/dashboard/turn-stream-runtime.ts +2 -2
- package/src/dashboard-pane-context-menu.ts +0 -14
- package/src/debug/log.ts +7 -0
- package/src/decide/boundary-shadow.ts +131 -0
- package/src/design/apply-direction.ts +209 -0
- package/src/design/css-root-tokens.ts +89 -0
- package/src/design/custom-system-create.ts +230 -0
- package/src/design/design-directions.ts +61 -41
- package/src/design/design-gate.ts +241 -0
- package/src/design/design-library.ts +57 -0
- package/src/design/design-previews.ts +138 -0
- package/src/design/design-systems.ts +61 -0
- package/src/design/lint-artifact-run.ts +46 -6
- package/src/design/lint-artifact.ts +5 -1
- package/src/design/open-design-client.ts +247 -0
- package/src/design/system-from-extract.ts +767 -0
- package/src/design/system-schema.ts +123 -0
- package/src/discord-slash-wire.ts +2 -1
- package/src/discord-test-runner.ts +2 -1
- package/src/discord-voice-wire.ts +2 -1
- package/src/discord.ts +1 -1
- package/src/dispatch/opportunistic-launcher.ts +24 -1
- package/src/domains/ops-status.ts +35 -2
- package/src/domains/outbound-alert.ts +16 -4
- package/src/domains/repeated-failure.ts +89 -0
- package/src/domains/schedule-manage-tool.ts +28 -8
- package/src/domains/schedule-migrate.ts +22 -4
- package/src/domains/schedule-registry.ts +88 -33
- package/src/domains/schedule-runs.ts +132 -0
- package/src/domains/schedule-state.ts +152 -0
- package/src/element-registry/address.ts +1 -3
- package/src/git-fs/gh-cli.ts +47 -17
- package/src/git-fs/retry.ts +1 -0
- package/src/git-fs/runner.ts +1 -0
- package/src/git-fs/worktree.ts +6 -5
- package/src/github/pr-labels.ts +68 -0
- package/src/graph-kinds/plugin-nodes.ts +60 -0
- package/src/graph-kinds/registry.ts +118 -0
- package/src/graph-runner/graph-cli.ts +103 -0
- package/src/graph-runner/graph-notify.ts +220 -0
- package/src/graph-runner/graph-tick.ts +119 -0
- package/src/graph-runner/release-manifest.ts +93 -0
- package/src/graph-runner/runner.ts +457 -0
- package/src/grok/credential.ts +158 -5
- package/src/grounding/ensure-grounding.ts +131 -0
- package/src/grounding/mirror-export.ts +89 -0
- package/src/grounding/mirror-manifest.ts +252 -0
- package/src/grounding/sources-cli.ts +209 -0
- package/src/grounding/sources.ts +333 -0
- package/src/grounding/token.ts +115 -0
- package/src/harness/harness-cli-command.ts +352 -19
- package/src/harness/harness-pod-dispatch.ts +110 -0
- package/src/harness/harness-stop.ts +131 -0
- package/src/harness/harness-substrate-default.ts +40 -0
- package/src/harness/harness-worktrees.ts +1 -1
- package/src/harness/harness-write-boundary.ts +2 -0
- package/src/harness/llm-decompose.ts +2 -1
- package/src/harness/self-send-decide.ts +224 -0
- package/src/harness/shell-relay.ts +5 -0
- package/src/hooks/providers.ts +77 -0
- package/src/hooks/queue.ts +73 -0
- package/src/hooks/receiver.ts +133 -0
- package/src/index.ts +666 -3406
- package/src/input-core/dispatcher.ts +1 -1
- package/src/input-core/drag-esc-interceptor.ts +1 -1
- package/src/instance/current.ts +5 -5
- package/src/instance/leader.ts +10 -326
- package/src/instance/nexus-run-refusal.ts +27 -92
- package/src/instance/project-local-exclude.ts +27 -0
- package/src/instance/resolve.ts +40 -175
- package/src/intake-plane/capture.ts +14 -1
- package/src/intake-plane/check.ts +34 -14
- package/src/intake-plane/collect-github.ts +258 -0
- package/src/intake-plane/collect-pod.ts +100 -0
- package/src/intake-plane/collect-telegram-saved.ts +86 -0
- package/src/intake-plane/digest.ts +102 -0
- package/src/intake-plane/enrich-plugins.ts +1 -1
- package/src/intake-plane/front-classifier.ts +56 -0
- package/src/intake-plane/front-route-classifier.ts +80 -0
- package/src/intake-plane/front-route-rules.ts +152 -0
- package/src/intake-plane/grounding-docs.ts +185 -0
- package/src/intake-plane/harness-target.ts +20 -0
- package/src/intake-plane/intake-to-tasks.ts +303 -0
- package/src/intake-plane/items.ts +247 -0
- package/src/intake-plane/link-ledger.ts +27 -0
- package/src/intake-plane/route.ts +104 -0
- package/src/intake-plane/runtime-callables.ts +3 -1
- package/src/intake-plane/sketch-ledger.ts +34 -0
- package/src/intake-plane/slash.ts +30 -2
- package/src/intake-plane/submit-intake-work.ts +160 -0
- package/src/intake-plane/telegram-work.ts +56 -0
- package/src/iul/sidebar-shell.ts +0 -165
- package/src/launch-head/capability-check.ts +162 -0
- package/src/launch-head/launch-head-cli.ts +242 -0
- package/src/launch-head/load-balance.ts +81 -0
- package/src/live/detail-switch.ts +175 -0
- package/src/llm/provider-detect.ts +247 -0
- package/src/llm/provider-probe.ts +57 -0
- package/src/llm.ts +55 -23
- package/src/log-entry.ts +1 -1
- package/src/log-pane/attachment-popup.ts +1 -2
- package/src/loops/loop-cli.ts +37 -0
- package/src/loops/registry.ts +174 -0
- package/src/market/official-keys.ts +5 -0
- package/src/market/publish.ts +273 -0
- package/src/market/signed-index.ts +156 -0
- package/src/market/tgz.ts +121 -0
- package/src/mcp/client.ts +1 -1
- package/src/mcp/mcp-oauth.ts +40 -5
- package/src/mcp/server.ts +75 -7
- package/src/mcp-gateway/gateway.ts +128 -0
- package/src/mcp-gateway/pat-store.ts +124 -0
- package/src/mss/logging/log-store.ts +91 -2
- package/src/mss/logging/scoped-level.ts +5 -9
- package/src/native-tool-catalog.ts +64 -343
- package/src/nexus/api/connect-info.ts +23 -25
- package/src/nexus/api/context-url.ts +1 -1
- package/src/nexus/api/design-check.ts +90 -59
- package/src/nexus/api/design-previews-route.ts +182 -0
- package/src/nexus/api/design-system-create-route.ts +123 -0
- package/src/nexus/api/graph-kinds.ts +69 -0
- package/src/nexus/api/graphs-api.ts +221 -0
- package/src/nexus/api/harness-api.ts +31 -2
- package/src/nexus/api/health.ts +15 -0
- package/src/nexus/api/http-server.ts +274 -43
- package/src/nexus/api/image-generate.ts +3 -0
- package/src/nexus/api/ingest-token.ts +175 -0
- package/src/nexus/api/intake-ledger-api.ts +54 -0
- package/src/nexus/api/intake-route.ts +111 -0
- package/src/nexus/api/json-response.ts +33 -0
- package/src/nexus/api/live-detail.ts +47 -0
- package/src/nexus/api/live-shipped.ts +78 -0
- package/src/nexus/api/log-fabric.ts +33 -2
- package/src/nexus/api/markdown-publish.ts +3 -2
- package/src/nexus/api/mcp-http.ts +14 -9
- package/src/nexus/api/mcp-oauth-hint.ts +30 -0
- package/src/nexus/api/mcp-public-allowlist.ts +33 -0
- package/src/nexus/api/merge-approvals-gate.ts +79 -0
- package/src/nexus/api/merge-approvals.ts +306 -0
- package/src/nexus/api/meta-api.ts +4 -0
- package/src/nexus/api/next-fluent-wiring.ts +7 -9
- package/src/nexus/api/plugins-market.ts +125 -0
- package/src/nexus/api/pod-credential-api.ts +133 -0
- package/src/nexus/api/public-routes.ts +80 -0
- package/src/nexus/api/rest-route-paths.ts +15 -0
- package/src/nexus/api/schedules-action.ts +12 -3
- package/src/nexus/api/schedules-read.ts +228 -0
- package/src/nexus/api/sessions-store.ts +8 -2
- package/src/nexus/api/setup-answer-priority.ts +130 -0
- package/src/nexus/api/setup-channel-bot.ts +56 -0
- package/src/nexus/api/setup-child-llm.ts +228 -0
- package/src/nexus/api/setup-obsidian-skills.ts +93 -0
- package/src/nexus/api/task-cards-api.ts +34 -0
- package/src/nexus/api/tasks-create.ts +136 -0
- package/src/nexus/api/telegram-trigger-bot.ts +3 -3
- package/src/nexus/api/terminals.ts +204 -18
- package/src/nexus/api/trace.ts +354 -0
- package/src/nexus/api/vault-api.ts +140 -7
- package/src/nexus/api/worktrees.ts +18 -2
- package/src/nexus/boot/register-mcp-clients.ts +38 -4
- package/src/nexus/daemon-endpoint.ts +85 -0
- package/src/nexus/default-port.ts +1 -0
- package/src/nexus/index.ts +329 -111
- package/src/nexus/onboarding/pwa-share-prompt.ts +31 -8
- package/src/nexus/onboarding/tailscale-probe.ts +9 -1
- package/src/nexus/setup-status.ts +58 -0
- package/src/nexus/supervisor/lock.ts +8 -0
- package/src/nexus/webterm/pty.ts +15 -0
- package/src/oauth/codex-account-rotation.ts +122 -16
- package/src/oauth/codex-account-store.ts +88 -19
- package/src/oauth/codex-quota-policy.ts +55 -0
- package/src/oauth/store.ts +28 -25
- package/src/obsidian/default-vault.ts +17 -0
- package/src/obsidian/vault-write-guard.ts +46 -0
- package/src/onboarding/help/llm.md +2 -2
- package/src/onboarding.ts +2 -2
- package/src/panes/alt-skip-predicate.ts +4 -3
- package/src/panes/external-terminal-pane.ts +3 -4
- package/src/panes/factory.ts +1 -18
- package/src/panes/index.ts +1 -5
- package/src/panes/pane-cycle.ts +1 -1
- package/src/panes/types.ts +1 -1
- package/src/platform/env-literal.ts +4 -0
- package/src/plugin-hooks/dispatcher.ts +10 -4
- package/src/plugins/core/host.ts +94 -4
- package/src/plugins/core/manifest.ts +104 -7
- package/src/plugins/install/market-fetch.ts +249 -0
- package/src/plugins/install/plugin-install.ts +387 -0
- package/src/policy/claude-subscription-guard.ts +25 -0
- package/src/preview/terminal.ts +24 -1
- package/src/preview-pane/mount.ts +1 -142
- package/src/prompt/references.ts +4 -51
- package/src/pty-shell/pty-control-ipc.ts +57 -3
- package/src/pty-shell/pty-mouse.ts +75 -0
- package/src/pty-shell/pty-recording.ts +108 -0
- package/src/pty-shell/registry.ts +53 -3
- package/src/python/resolve-python.ts +1 -1
- package/src/release-loop/manifest.ts +65 -0
- package/src/release-loop/release-note.ts +174 -0
- package/src/roles/lease-cas.ts +52 -0
- package/src/roles/machine-name.ts +48 -0
- package/src/roles/machine-profile.ts +65 -0
- package/src/roles/role-lease-read.ts +81 -0
- package/src/roles/role-lease.ts +63 -0
- package/src/roles/role-watch.ts +69 -0
- package/src/self-dev/ask-launch-flow.ts +39 -22
- package/src/self-dev/ask-launch-io.ts +1 -1
- package/src/self-dev/dev-cli.ts +250 -139
- package/src/self-dev/dev-pipeline.ts +80 -8
- package/src/self-dev/draft-sweep.ts +231 -0
- package/src/self-dev/draft-triage-rules.ts +42 -0
- package/src/self-dev/entrance-baseline.ts +156 -4
- package/src/self-dev/fabric-decompose-adapter.ts +10 -0
- package/src/self-dev/launch-preflight.ts +1 -1
- package/src/self-dev/orchestrate.ts +297 -20
- package/src/self-dev/repair-signals.ts +6 -0
- package/src/self-dev/run-store.ts +20 -5
- package/src/self-dev/run-supervisor.ts +43 -3
- package/src/self-implement/abandoned-classification.ts +15 -1
- package/src/self-implement/blocked-draft-policy.ts +6 -0
- package/src/self-implement/budget-gate.ts +236 -0
- package/src/self-implement/child-llm-preference.ts +84 -0
- package/src/self-implement/decision-events.ts +57 -0
- package/src/self-implement/decision-signal-press.ts +5 -2
- package/src/self-implement/dependency-change-gate.ts +90 -0
- package/src/self-implement/gate-baseline.ts +32 -1
- package/src/self-implement/gate-cli.ts +29 -7
- package/src/self-implement/gate-scope.ts +7 -1
- package/src/self-implement/goal-author-decompose.ts +22 -4
- package/src/self-implement/goal-author.ts +23 -2
- package/src/self-implement/goal-boundary.ts +65 -0
- package/src/self-implement/goal-clarification-escalation.ts +1 -0
- package/src/self-implement/goal-documents-dir.ts +6 -1
- package/src/self-implement/goal-execution-records.ts +58 -0
- package/src/self-implement/goal-run-store.ts +42 -24
- package/src/self-implement/graph-authority.ts +13 -28
- package/src/self-implement/graph-catalog.ts +48 -0
- package/src/self-implement/graph-run-contract.ts +127 -0
- package/src/self-implement/graph-templates.ts +14 -7
- package/src/self-implement/graph-yaml.ts +35 -6
- package/src/self-implement/harness-policy-gates.ts +42 -0
- package/src/self-implement/headless-elanous-driver.ts +30 -6
- package/src/self-implement/heal-triage.ts +229 -0
- package/src/self-implement/host-regate.ts +240 -0
- package/src/self-implement/non-git-consent.ts +23 -0
- package/src/self-implement/orchestrator.ts +481 -132
- package/src/self-implement/pipeline-shape.ts +1 -1
- package/src/self-implement/pr-evidence-artifact.ts +6 -19
- package/src/self-implement/prior-draft-findings.ts +128 -0
- package/src/self-implement/pwa-import-graph.ts +65 -0
- package/src/self-implement/repo-provision.ts +18 -21
- package/src/self-implement/report-origin.ts +39 -0
- package/src/self-implement/rework-policy.ts +21 -0
- package/src/self-implement/run-ledger-compact.ts +438 -0
- package/src/self-implement/run-ledger.ts +212 -29
- package/src/self-implement/run-report.ts +24 -0
- package/src/self-implement/run-status-mapping.ts +2 -0
- package/src/self-implement/running-runs.ts +112 -14
- package/src/self-implement/scoped-typecheck-config.ts +49 -0
- package/src/self-implement/seams.ts +203 -38
- package/src/self-implement/self-implement-cli.ts +17 -2
- package/src/self-implement/shadow-repo.ts +350 -0
- package/src/self-implement/supervision-vocabulary.ts +7 -0
- package/src/shell-runner/dispatch.ts +3 -0
- package/src/shell-runner/index.ts +0 -7
- package/src/skills/runner.ts +0 -69
- package/src/skills/tools/agent-room-slash.ts +2 -1
- package/src/skills/tools/agent-room.ts +8 -140
- package/src/skills/tools/agent.ts +5 -3
- package/src/skills/tools/context.ts +5 -140
- package/src/skills/tools/control.ts +4 -188
- package/src/skills/tools/dashboard-slash.ts +3 -11
- package/src/skills/tools/dashboard-state.ts +3 -5
- package/src/skills/tools/dev-harness.ts +3 -2
- package/src/skills/tools/omni-search.ts +29 -1
- package/src/skills/tools/shell.ts +11 -29
- package/src/skills/tools/spawn-coding-agent-headless.ts +6 -9
- package/src/ssh/ssh-picker-modal.ts +1 -1
- package/src/steward/directive.ts +99 -0
- package/src/steward/triage.ts +203 -0
- package/src/storage/cli-bin.ts +67 -0
- package/src/storage/object-store-visibility.ts +169 -0
- package/src/storage/object-store.ts +452 -0
- package/src/storage/s3.ts +53 -10
- package/src/storage/storage-detect.ts +337 -0
- package/src/surface/address.ts +3 -5
- package/src/surface/index.ts +0 -6
- package/src/surface/llm-tools.ts +1 -2
- package/src/surface/shell-runner-boot.ts +4 -89
- package/src/task-cards/card-cli.ts +64 -0
- package/src/task-cards/card-store.ts +241 -0
- package/src/task-orchestrator/boot.ts +27 -1
- package/src/task-orchestrator/dispatcher.ts +49 -7
- package/src/task-orchestrator/external-fingerprint.ts +10 -0
- package/src/task-orchestrator/external-policy.ts +86 -0
- package/src/task-orchestrator/feedback-loop.ts +4 -2
- package/src/task-orchestrator/graph.ts +18 -1
- package/src/task-orchestrator/runtimes/create.ts +128 -0
- package/src/task-orchestrator/store.ts +78 -18
- package/src/task-orchestrator/surface-registry.ts +5 -2
- package/src/task-orchestrator/surfaces/external-exec.ts +180 -0
- package/src/task-orchestrator/surfaces/idea-approval-pr.ts +118 -0
- package/src/task-orchestrator/surfaces/index.ts +4 -3
- package/src/task-orchestrator/surfaces/pod-account-broker.ts +60 -5
- package/src/task-orchestrator/surfaces/pod-artifact-return.ts +136 -0
- package/src/task-orchestrator/surfaces/pod-command-job.ts +348 -0
- package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +177 -0
- package/src/task-orchestrator/surfaces/pod-pool.ts +128 -12
- package/src/task-orchestrator/surfaces/pod-skills.ts +11 -3
- package/src/task-orchestrator/surfaces/pod-source-bundle.ts +132 -0
- package/src/task-orchestrator/surfaces/pod-source-receive.ts +91 -0
- package/src/task-orchestrator/surfaces/pod-source-spec.ts +77 -0
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +782 -41
- package/src/task-orchestrator/surfaces/self-implement.ts +8 -1
- package/src/task-orchestrator/tox-loop.ts +204 -0
- package/src/task-orchestrator/types.ts +21 -1
- package/src/telegram-commands.ts +8 -0
- package/src/telegram-report.ts +2 -1
- package/src/telegram-run.ts +18 -5
- package/src/telegram.ts +92 -22
- package/src/tool-runtime/acp-session-runtime.ts +28 -7
- package/src/tool-runtime/agent-runtime.ts +1 -0
- package/src/tool-runtime/context-runtime.ts +18 -35
- package/src/tool-runtime/control-runtime.ts +8 -21
- package/src/tool-runtime/dashboard-state-runtime.ts +1 -5
- package/src/tool-runtime/elanous-asana-runtimes.ts +205 -0
- package/src/tool-runtime/elanous-control-runtimes.ts +16 -2
- package/src/tool-runtime/elanous-task-submit-runtime.ts +124 -0
- package/src/tool-runtime/index.ts +4 -1
- package/src/tool-runtime/scenario-runtimes.ts +22 -21
- package/src/tool-runtime/scenario-target-mount.ts +6 -32
- package/src/tool-runtime/types.ts +8 -0
- package/src/tui/chat/attachment-summary.ts +4 -4
- package/src/tui-client/headless-core-guard.ts +0 -1
- package/src/tui.ts +8 -5
- package/src/typecheck-ratchet.ts +15 -0
- package/src/ui/hover-presenter.ts +3 -7
- package/src/user-config.ts +427 -190
- package/src/version/code-revision.ts +33 -8
- package/src/version/packed-revision.json +1 -1
- package/src/video-pipeline/broll-agent.ts +102 -0
- package/src/video-pipeline/recipes/broll.ts +263 -0
- package/src/video-pipeline/walk-line.ts +2 -1
- package/src/views/scratch-image-size.ts +10 -0
- package/src/voice/channel-adapters/pwa-voice-adapter.ts +2 -18
- package/src/voice/channel-adapters/telegram-voice-adapter.ts +1 -6
- package/src/voice/voice-tts-singleton.ts +46 -8
- package/src/web-push/vapid-keys.ts +1 -1
- package/src/web-search/index.ts +5 -5
- package/src/web-terminal/preview-tap-registry.ts +152 -43
- package/src/workflow-runtime/executor.ts +18 -22
- package/src/workflow-runtime/node-catalog.ts +20 -1
- package/src/workflow-runtime/nodes/bash.ts +1 -0
- package/src/workflow-runtime/nodes/task.ts +74 -0
- package/src/workflow-runtime/nodes/triggers.ts +24 -1
- package/src/workflow-runtime/plugin-kind-node.ts +138 -0
- package/src/workflow-runtime/schema.ts +98 -2
- package/src/workflow-runtime/triggers/webhook-router.ts +43 -3
- package/src/workflow-runtime/triggers/webhook-source.ts +19 -1
- package/src/workflow-runtime/types.ts +74 -4
- package/apps/pwa/out/_next/static/Ksn99fVf2HUWhSyV1-FC8/_buildManifest.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1176-4943bd83b00e53a2.js +0 -25
- package/apps/pwa/out/_next/static/chunks/1380-9c652e1002032c86.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1863-2ea170dfec26b88b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2091-2d6b7f4f16300f83.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2347-366617ec73babe3b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2598.814f64e3268634e7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3089-e60cc8f5d35ee239.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3158-c77ed9ea34f9cc9f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3607-f0b5c5ee18fcf56a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3659-05b2d5d971b42dbc.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3736-b6a7bfdcb8f56ec6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3839-eebf298e89a7bb77.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4012.832a2824b978e7ee.js +0 -5
- package/apps/pwa/out/_next/static/chunks/4706-d85d7f3345f3ff91.js +0 -1
- package/apps/pwa/out/_next/static/chunks/526-17a6a2e0e6dc4498.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5508-676ac75f2757ad40.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5583-8a0317f4b8e68db9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5927.8378481a12cc8044.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6258-b58f722b10e8d31d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6820-32fd097e6186fdc9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6852-983db7ca958634b7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7235-e583e4a015e159b9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7482-7b417330b24a996a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7701-99b7d4dedb955bf8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/77f1928d-bd3777589042d3ea.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8366-36956cafc5e33614.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8370-23d0de995be666f8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8617-307421f3b0e8b2a2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8837-e45de46a9fedf1f5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9058-0e8055a5ea3ebdd6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-84b84eca12acada4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-1f23568c29e88f7a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-bf6fc9aafd6135a7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-3f8539ae4b719d2e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/chat/page-d2900febb74ecf32.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/control/page-e82dec647dd79c36.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/dashboard/page-096ec743a8ee955a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-255c2ceded4b3493.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-84b84eca12acada4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/intake/page-2db61b2f9efba61f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-e11ee17f221aaa9b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-e075974e029ce4c4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/morning/page-ec5b68a9af3366a0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-986c177afb4adae6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-a72781461af2f2a3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/page-92781cbaafc487ad.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-2c14d2a1f2930f33.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-22ee4bf8070b2b4d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-9c06e4a8297942a8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-d0cd32f6d373798f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-0c1642018d87ebb8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-93e5e97d614df487.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-84b84eca12acada4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/page-b1ce871940d7393e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/share/page-ae154addf345febe.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-90af3aa813d2053c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-f3f962fda428a738.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/term/page-1c1f7cc1d5def06d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-09d4cbdaaacf06c1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-e877b8e8ca90b27f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-71d902f463dea526.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-40ea576cefa25fe6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-a56a3f178c3831f6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/bcc499d1-804a270d878e0842.js +0 -1
- package/apps/pwa/out/_next/static/chunks/framework-b25b7c5501c59b6d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-a9ec9da43387afff.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-app-aa2c05954aaa6754.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_app-bb3768fb4b84aebb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_error-2820ba75b87b2f5e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/webpack-58c73b145f189b1c.js +0 -1
- package/apps/pwa/out/_next/static/css/effec8adf767aa75.css +0 -1
- package/apps/pwa/out/dashboard/index.html +0 -1
- package/apps/pwa/out/dashboard/index.txt +0 -26
- package/src/acp/resident-shell.ts +0 -244
- package/src/agent/spawn-local-llm-in-vw.ts +0 -240
- package/src/dashboard/agent-spawn-tools-boot.ts +0 -14
- package/src/dashboard/dock-picker-inventory.ts +0 -41
- package/src/dashboard/goal-plan-hud-bridge.ts +0 -112
- package/src/dashboard/hud-mirror.ts +0 -207
- package/src/dashboard/input/mouse-dock-runtime.ts +0 -156
- package/src/dashboard/input/mouse-hover-runtime.ts +0 -46
- package/src/dashboard/input/mouse-pill-context-runtime.ts +0 -74
- package/src/dashboard/input/mouse-workspace-restore-runtime.ts +0 -64
- package/src/dashboard/input/scratch-actions.ts +0 -36
- package/src/dashboard/input/virtual-window-key-router.ts +0 -24
- package/src/dashboard/rich-scratch-viewers.ts +0 -77
- package/src/dashboard/scratch-slash-runtime.ts +0 -36
- package/src/dashboard/scratch-state-runtime.ts +0 -42
- package/src/dashboard/scratch-widget-runtime.ts +0 -37
- package/src/dashboard/sim-shell.ts +0 -313
- package/src/dashboard/virtual-window-control-runtime.ts +0 -57
- package/src/dashboard/virtual-window-help-runtime.ts +0 -113
- package/src/dashboard/virtual-window-input-runtime.ts +0 -99
- package/src/dashboard/virtual-window-mutation-runtime.ts +0 -102
- package/src/dashboard/virtual-window-split-runtime.ts +0 -70
- package/src/dashboard/vw-popup-openers.ts +0 -126
- package/src/dashboard/window-picker-popup.ts +0 -74
- package/src/dashboard/window-slash-runtime.ts +0 -108
- package/src/dashboard/windowing/companion-slash.ts +0 -78
- package/src/dashboard/windowing/fast-switch.ts +0 -138
- package/src/dashboard/windowing/lifecycle.ts +0 -185
- package/src/dashboard/windowing/virtual-windows.ts +0 -259
- package/src/dashboard/windowing/visibility-chord.ts +0 -77
- package/src/iul/resident-vw.ts +0 -55
- package/src/panes/content-adapter.ts +0 -162
- package/src/prompt/vw-reference.ts +0 -153
- package/src/shell-runner/external-terminal-pane.ts +0 -157
- package/src/sim/resident-vw.ts +0 -48
- package/src/skills/tools/spawn-coding-agent-vw.ts +0 -181
- package/src/skills/tools/virtual-windows.ts +0 -632
- package/src/surface/adapters/window-surface-adapter.ts +0 -141
- package/src/tool-runtime/layout-runtimes.ts +0 -81
- package/src/tool-runtime/scenario-window-mount.ts +0 -207
- package/src/views/ui-mode.ts +0 -100
- package/src/virtual-window-context-menu.ts +0 -97
- package/src/virtual-windows/addressing.ts +0 -195
- package/src/virtual-windows/benchmark-preset.ts +0 -119
- package/src/virtual-windows/event-bus.ts +0 -202
- package/src/virtual-windows/layout/apply-planner.ts +0 -189
- package/src/virtual-windows/layout/index.ts +0 -68
- package/src/virtual-windows/layout/layout-commands.ts +0 -186
- package/src/virtual-windows/layout/layout-tools.ts +0 -262
- package/src/virtual-windows/layout/persistence.ts +0 -219
- package/src/virtual-windows/layout/presets.ts +0 -114
- package/src/virtual-windows/layout/restore-planner.ts +0 -223
- package/src/virtual-windows/layout/serializer.ts +0 -197
- package/src/virtual-windows/layout/tree.ts +0 -147
- package/src/virtual-windows/layout/types.ts +0 -63
- package/src/virtual-windows/layout-tree.ts +0 -389
- package/src/virtual-windows/navigation.ts +0 -251
- package/src/virtual-windows/pane-capture.ts +0 -142
- package/src/virtual-windows/pane-content.ts +0 -611
- package/src/virtual-windows/pane-spawner.ts +0 -278
- package/src/virtual-windows/pty-tail-content.ts +0 -291
- package/src/virtual-windows/resident-window.ts +0 -59
- package/src/virtual-windows/secondary-action.ts +0 -25
- package/src/virtual-windows/terminal-slot-content.ts +0 -165
- package/src/virtual-windows/virtual-window.ts +0 -1301
- package/src/virtual-windows/vw-local-input-target-popup.ts +0 -110
- package/src/virtual-windows/vw-rename-modal.ts +0 -77
- package/src/virtual-windows/vw-selector-popup.ts +0 -177
- package/src/virtual-windows/window-registry.ts +0 -519
- package/src/voice/channel-adapters/discord-voice-adapter.ts +0 -202
- package/src/voice/voice-pwa-dispatch.ts +0 -245
- package/src/window-picker-modal.ts +0 -135
- /package/apps/pwa/out/_next/static/{Ksn99fVf2HUWhSyV1-FC8 → zoQX5iTvXOsIvCjxCe1Ji}/_ssgManifest.js +0 -0
- /package/src/dashboard/{companion-slash-runtime.ts → companion-messages-runtime.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3089],{536:(e,t,n)=>{var r=n(8740),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},4719:(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/")},6588:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},7008:(e,t,n)=>{n.d(t,{E:()=>l,Z:()=>i});var r=n(70376),o=n(14917);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}},7557:(e,t,n)=>{n.d(t,{I:()=>i});var r=n(8740),o=n(44174),l=n(39312);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})},8795:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},11076:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},13342:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},14133:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},14917:(e,t,n)=>{n.d(t,{y:()=>l});var r=n(8740);let o=[];function l(e){r.useEffect(e,o)}},17858:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},19991:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},20122:(e,t,n)=>{n.d(t,{U:()=>s});var r=n(8740),o=n(88497),l=n(4719);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(54728);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":""})})},20134:(e,t,n)=>{n.d(t,{K:()=>a,N:()=>u});var r=n(70376),o=n(14917);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}},20311:(e,t,n)=>{e.exports=n(92751)},22014:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(8740),o=n(37299),l=n(53811),i=n(93929),a=n(74577),u=n(54728);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})},22016:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},25028:(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}},25208:(e,t,n)=>{n.d(t,{E:()=>l});var r=n(54728);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}`})}},27696:(e,t,n)=>{n.d(t,{H:()=>s});var r=n(8740),o=n(93929),l=n(39312),i=n(18140),a=n(20570),u=n(89320);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]})})},28159:(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)}}},28998:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},32235:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},37069:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},37102:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},37182:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).A)("pin",[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]])},41531:(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}},43237:(e,t,n)=>{n.d(t,{V:()=>E});var r=n(8740),o=n(72677),l=n(7008),i=n(44174),a=n(39312),u=n(50684),s=n(67979),c=n(43779);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(25208),p=n(50468),h=n(41531),v=n(4101);let g=r.createContext(void 0),m={disableStyleElements:!1};var y=n(54728);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,H]=r.useState(!1),[D,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&&(H(!0),P.start(s.u,()=>{H(!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(),H(!0),P.start(s.u,()=>{H(!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||D,hasOverflowX:!G.x,hasOverflowY:!G.y,overflowXStart:U.xStart,overflowXEnd:U.xEnd,overflowYStart:U.yStart,overflowYEnd:U.yEnd,cornerHidden:G.corner}),[X,D,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:H,scrollingY:D,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,H,D,Y,W,j,O,G,U,ey,M]);return(0,y.jsxs)(i.a.Provider,{value:eS,children:[!I&&f.E.getElement(q),ex]})})},43779:(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`])}},44174:(e,t,n)=>{n.d(t,{a:()=>l,p:()=>i});var r=n(2636),o=n(8740);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}},44950:(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}({})},46425:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},46516:(e,t,n)=>{n.d(t,{F:()=>r});function r(e){return`data-base-ui-${e}`}},47127:(e,t,n)=>{n.d(t,{v:()=>s});var r=n(8740),o=n(72677),l=n(645),i=n(20134),a=n(90863),u=n(61157);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])}},48618:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},50044:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).A)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]])},50633:(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])"},50684:(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}({})},52851:(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(12397),o=n(81005),l=n(4101),i=n(83219);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")})}},53811:(e,t,n)=>{n.d(t,{XF:()=>E,vB:()=>S});var r=n(8740),o=n(645),l=n(12397),i=n(28159),a=n(96619),u=n(93918),s=n(88497),c=n(72677),d=n(31731),f=n(20122),p=n(52851),h=n(20570),v=n(89320),g=n(46516),m=n(39312),y=n(25028),b=n(54728);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),H=null==W?void 0:W.modal,D=null==W?void 0:W.open,Y="boolean"==typeof k?k:!!W&&!W.modal&&W.open&&!!M;r.useEffect(()=>{if(M&&!H)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,H]),r.useEffect(()=>{M&&!1===D&&((0,p.yV)(M),X.current=!1)},[D,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)))}}})]})]})})},54345:(e,t,n)=>{n.d(t,{V:()=>v});var r=n(8740),o=n(28159),l=n(4101),i=n(44174),a=n(98268),u=n(39312),s=n(43779),c=n(50684),d=n(44950),f=n(66227),p=n(41531),h=n(54728);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 H={...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")}}},D=(0,u.o)("div",e,{ref:[t,"vertical"===g?k:A],state:j,props:[H,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:D}):null})},61157:(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}},61621:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},61933:(e,t,n)=>{e.exports=n(536)},64476:(e,t,n)=>{n.d(t,{L:()=>a});var r=n(8740),o=n(93929),l=n(39312),i=n(50468);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]})})},65429:(e,t,n)=>{n.d(t,{GW:()=>s,lP:()=>o});var r=n(61157);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}},65496:(e,t,n)=>{n.d(t,{Ev:()=>u,O_:()=>l,Pg:()=>a,YF:()=>i,jo:()=>o});var r=n(4719);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}},66227:(e,t,n)=>{n.d(t,{j:()=>l});var r=n(8740);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"}},67979:(e,t,n)=>{n.d(t,{i:()=>o,u:()=>r});let r=500,o=16},69637:(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}},74573:(e,t,n)=>{n.d(t,{h:()=>es});var r=n(8740),o=n(12397),l=n(28159),i=n(96619),a=n(35387),u=n(88497),s=n(70376);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(72677),p=n(7008),h=n(4719),v=n(20134),g=n(81005),m=n(20122),y=n(4101),b=n(83852),x=n(65496),S=n(52851),w=n(69637),E=n(83219),R=n(20570),k=n(89320),A=n(46516),C=n(31731);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},H=(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 D(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?H(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);H(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(53811),F=n(82949),N=n(25028),K=n(90863),z=n(54728);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:H}=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==H?void 0:H().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=D([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=D([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(93929),G=n(39312),Z=n(65429),J=n(61157);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(74577),en=n(47127);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})})},74577:(e,t,n)=>{n.d(t,{m:()=>l,p:()=>i});var r=n(2636),o=n(8740);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}},74924:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},75982:(e,t,n)=>{n.d(t,{X:()=>s});var r=n(8740),o=n(93929),l=n(39312),i=n(65429),a=n(61157);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})})},76482:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},81897:(e,t,n)=>{let r;n.d(t,{D:()=>Q});var o=n(8740),l=n(12397),i=n(28159),a=n(4719),u=n(81005),s=n(88497),c=n(7008),d=n(20134),f=n(31731);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(93918),b=n(70376),x=n(82949),S=n(2636);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(61933),R=n(20311);let k=(0,n(37299)._)(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(72677);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(65496);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(83852);let I=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);var W=n(96619),j=n(4101),X=n(69637),H=n(20570),D=n(89320),Y=n(46516);let F={intentional:"onClick",sloppy:"onPointerDown"};function N(){return!1}var K=n(50633);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(47127),L=n(93929);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(54728);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,H.d)(D.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,H.d)(D.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,H.d)(D.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,H.d)(D.Ui,e.nativeEvent))},..."intentional"!==y&&{onClick(e){_()&&a.setOpen(!1,(0,H.d)(D.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})})}},82949:(e,t,n)=>{n.d(t,{R1:()=>i,cq:()=>a});var r=n(8740);n(54728);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}},82959:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},83219:(e,t,n)=>{n.d(t,{J9:()=>o});var r=n(12397);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)}},83852:(e,t,n)=>{n.d(t,{$u:()=>a,F2:()=>l,WZ:()=>u,nd:()=>s,tZ:()=>i});var r=n(12397),o=n(50633);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}},89587:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},90863:(e,t,n)=>{n.d(t,{q:()=>r});function r(e){return null==e?e:"current"in e?e.current:e}},91293:(e,t,n)=>{n.d(t,{l:()=>u});var r=n(8740),o=n(44174),l=n(98268),i=n(44950),a=n(39312);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]})})},92751:(e,t,n)=>{var r=n(8740),o=n(61933),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}},93929:(e,t,n)=>{n.d(t,{P:()=>i,a:()=>l});var r=n(2636),o=n(8740);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}},95692:(e,t,n)=>{n.d(t,{r:()=>a});var r=n(8740),o=n(93929),l=n(39312),i=n(50468);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]})})},96619:(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()}}}},97406:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(3720).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"}]])},97689:(e,t,n)=>{n.d(t,{B:()=>S});var r=n(8740),o=n(72677),l=n(88497),i=n(4719),a=n(7008),u=n(44174);let s=r.createContext(void 0);var c=n(39312),d=n(66227),f=n(43779),p=n(67979);function h(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}var v=n(25208),g=n(41531);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(54728);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:H,setHovering:D,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),H=0,D=0;!S&&(H=y("rtl"===V?h(-d,0,I):h(d,0,I),I),D=I-H);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,H],[m.scrollAreaOverflowXEnd,D],[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&&H>N.xStart,xEnd:!S&&D>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"))&&D(!0)},[R,D]),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||H({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})})},98268:(e,t,n)=>{n.d(t,{G:()=>l,r:()=>i});var r=n(2636),o=n(8740);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}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3158],{3720:(e,t,a)=>{a.d(t,{A:()=>k});var r=a(8740);let h=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return t.filter((e,t,a)=>!!e&&""!==e.trim()&&a.indexOf(e)===t).join(" ").trim()},l=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,a)=>a?a.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var d={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let y=(0,r.createContext)({}),c=(0,r.forwardRef)((e,t)=>{var a,l,c;let{color:k,size:i,strokeWidth:p,absoluteStrokeWidth:o,className:s="",children:n,iconNode:u,...A}=e,{size:x=24,strokeWidth:M=2,absoluteStrokeWidth:m=!1,color:v="currentColor",className:g=""}=null!=(a=(0,r.useContext)(y))?a:{},w=(null!=o?o:m)?24*Number(null!=p?p:M)/Number(null!=i?i:x):null!=p?p:M;return(0,r.createElement)("svg",{ref:t,...d,width:null!=(l=null!=i?i:x)?l:d.width,height:null!=(c=null!=i?i:x)?c:d.height,stroke:null!=k?k:v,strokeWidth:w,className:h("lucide",g,s),...!n&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(A)&&{"aria-hidden":"true"},...A},[...u.map(e=>{let[t,a]=e;return(0,r.createElement)(t,a)}),...Array.isArray(n)?n:[n]])}),k=(e,t)=>{let a=(0,r.forwardRef)((a,d)=>{let{className:y,...k}=a;return(0,r.createElement)(c,{ref:d,iconNode:t,className:h("lucide-".concat(l(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),y),...k})});return a.displayName=l(e),a}},5231:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},5892:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},8472:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},13338:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},23270:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},46220:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},56828:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).A)("chart-line",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"m19 9-5 5-4-4-3 3",key:"2osh9i"}]])},57859:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},63260:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},64211:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},64485:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},67841:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},72386:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},72412:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},75100:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])},78540:(e,t,a)=>{a.d(t,{A:()=>r});let r=(0,a(3720).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"}]])}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3607],{31242:(e,n,r)=>{r.d(n,{BX:()=>t});let l=new Map;function t(e,n){var r,t;let o=l.get(e);if(!o){let t;try{t=new EventSource(e)}catch(e){return null==(r=n.onConstructError)||r.call(n,e),()=>{}}let u={source:t,subscribers:new Set};t.onmessage=e=>{var n,r;for(let l of[...u.subscribers])null==(n=(r=l.handlers).onMessage)||n.call(r,e)},t.onerror=e=>{var n,r;for(let l of[...u.subscribers])null==(n=(r=l.handlers).onError)||n.call(r,e)},l.set(e,u),o=u}let u=o,a=[];for(let[e,r]of Object.entries(null!=(t=n.events)?t:{})){let n=e=>{r(e)};u.source.addEventListener(e,n),a.push([e,n])}let s={handlers:n};u.subscribers.add(s);let i=!1;return()=>{if(!i){for(let[e,n]of(i=!0,a))try{u.source.removeEventListener(e,n)}catch(e){}if(u.subscribers.delete(s),0===u.subscribers.size){try{u.source.close()}catch(e){}l.get(e)===u&&l.delete(e)}}}}},46226:(e,n,r)=>{r.d(n,{M1:()=>i,Qj:()=>d,tI:()=>s});var l=r(54728),t=r(8740),o=r(42706),u=r(2859);let a=(0,t.createContext)(null);function s(e){let{client:n,queryClient:r,defaultStaleTimeMs:s,children:i}=e,d=(0,t.useMemo)(()=>null!=r?r:new o.E({defaultOptions:{queries:{staleTime:null!=s?s:2e3,refetchOnWindowFocus:!1}}}),[r,s]);return(0,l.jsx)(a.Provider,{value:n,children:(0,l.jsx)(u.Ht,{client:d,children:i})})}function i(){let e=(0,t.useContext)(a);if(!e)throw Error("useNexusClient must be used within <NexusProvider>");return e}function d(){return(0,t.useContext)(a)}},63354:(e,n,r)=>{r.d(n,{AF:()=>l});let l={all:["nexus"],health:()=>[...l.all,"health"],snapshot:()=>[...l.all,"snapshot"],tabs:e=>e?[...l.all,"tabs",{kind:e}]:[...l.all,"tabs"],tab:e=>[...l.all,"tab",e],templates:()=>[...l.all,"templates"],template:e=>[...l.all,"template",e],config:()=>[...l.all,"config"],switches:()=>[...l.all,"switches"],switch:e=>[...l.all,"switch",e],secrets:()=>[...l.all,"secrets"],bindingChannels:()=>[...l.all,"bindings","channels"],bindings:e=>[...l.all,"bindings",e],binding:(e,n)=>[...l.all,"binding",e,n],logsTail:(e,n)=>n?[...l.all,"logs",e,{lines:n}]:[...l.all,"logs",e],workflows:()=>[...l.all,"workflows"],workflow:e=>[...l.all,"workflow",e],workflowRun:e=>[...l.all,"workflow-run",e],workflowRuns:()=>[...l.all,"workflow-runs"],pendingApprovals:()=>[...l.all,"workflow-pending-approvals"],platforms:()=>[...l.all,"platforms"],providers:()=>[...l.all,"providers"],worktrees:()=>[...l.all,"worktrees"],designCheck:()=>[...l.all,"design-check"],registryCatalog:()=>[...l.all,"registry-catalog"],resolvedView:()=>[...l.all,"resolved-view"]};l.snapshot(),l.tabs(),l.health(),l.snapshot(),l.config(),l.switches()},73607:(e,n,r)=>{r.d(n,{Ck:()=>E,Ux:()=>F,XL:()=>y,Yk:()=>b,b_:()=>h,hM:()=>k,j3:()=>f,mP:()=>d,oE:()=>w,up:()=>p,uz:()=>A,xd:()=>v,yM:()=>c,zD:()=>g});var l=r(8740),t=r(2859),o=r(11565),u=r(7024),a=r(46226),s=r(63354),i=r(31242);function d(){let e=(0,a.M1)(),n=(0,t.jE)(),r=(0,o.I)({queryKey:s.AF.workflows(),queryFn:()=>e.getWorkflows(),refetchInterval:6e4});return(0,l.useEffect)(()=>{let r=e.workflowsEventsUrl();if(r)return(0,i.BX)(r,{events:{change:()=>{n.invalidateQueries({queryKey:s.AF.workflows()})}}})},[e,n]),r}function f(e){var n;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=(0,a.M1)();return(0,o.I)({queryKey:s.AF.workflow(e),queryFn:()=>l.getWorkflow(e),enabled:null!=(n=r.enabled)?n:e.length>0})}function c(){let e=(0,a.M1)(),n=(0,t.jE)();return(0,u.n)({mutationFn:n=>{let{name:r,body:l}=n;return e.saveWorkflow(r,l)},onSuccess:(e,r)=>{let{name:l}=r;n.invalidateQueries({queryKey:s.AF.workflows()}),n.invalidateQueries({queryKey:s.AF.workflow(l)})}})}function w(){let e=(0,a.M1)(),n=(0,t.jE)();return(0,u.n)({mutationFn:n=>{let{name:r,scope:l}=n;return e.deleteWorkflow(r,l?{scope:l}:void 0)},onSuccess:(e,r)=>{let{name:l}=r;n.invalidateQueries({queryKey:s.AF.workflows()}),n.invalidateQueries({queryKey:s.AF.workflow(l)})}})}function v(){let e=(0,a.M1)();return(0,u.n)({mutationFn:n=>{let{yaml:r,signal:l}=n;return e.validateWorkflow(r,l?{signal:l}:void 0)}})}function p(){let e=(0,a.M1)();return(0,u.n)({mutationFn:n=>e.generateWorkflow(n)})}function k(){let e=(0,a.M1)();return(0,u.n)({mutationFn:n=>e.synthesizeWorkflow(n)})}function y(){let e=(0,a.M1)();return(0,u.n)({mutationFn:n=>{let{name:r,args:l,dryRun:t}=n;return e.runWorkflow(r,l,t?{dryRun:!0}:void 0)}})}function h(){var e;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=(0,a.M1)();return(0,o.I)({queryKey:s.AF.workflowRuns(),queryFn:()=>r.getWorkflowRuns(),enabled:null==(e=n.enabled)||e,refetchInterval:3e4})}function g(){var e;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=(0,a.M1)();return(0,o.I)({queryKey:s.AF.pendingApprovals(),queryFn:()=>r.getPendingApprovals(),enabled:null==(e=n.enabled)||e,refetchInterval:1e3})}function b(){let e=(0,a.M1)(),n=(0,t.jE)();return(0,u.n)({mutationFn:n=>{let{runId:r,response:l}=n;return e.approveRun(r,l?{response:l}:{})},onSuccess:(e,r)=>{let{runId:l}=r;n.invalidateQueries({queryKey:s.AF.pendingApprovals()}),n.invalidateQueries({queryKey:s.AF.workflowRun(l)})}})}function F(){let e=(0,a.M1)(),n=(0,t.jE)();return(0,u.n)({mutationFn:n=>{let{runId:r,reason:l}=n;return e.rejectRun(r,l?{reason:l}:{})},onSuccess:(e,r)=>{let{runId:l}=r;n.invalidateQueries({queryKey:s.AF.pendingApprovals()}),n.invalidateQueries({queryKey:s.AF.workflowRun(l)})}})}function A(e){let n=(0,a.M1)();return(0,o.I)({queryKey:e?s.AF.workflowRun(e):["nexus","workflow-run","__none__"],queryFn:()=>{if(!e)throw Error("runId required");return n.getWorkflowRun(e)},enabled:!!e,refetchInterval:e=>{let n=e.state.data;return n?void 0===n.ok&&3e4:3e4}})}function E(){var e;let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=(0,a.M1)(),o=(0,t.jE)(),u=null==(e=n.enabled)||e,i=n.EventSourceImpl;(0,l.useEffect)(()=>{if(u)return function(e,n){var r;let l,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=null!=(r=t.EventSourceImpl)?r:globalThis.EventSource;if(!o)return()=>{};let u="".concat(e,"/v1/events?topics=").concat(encodeURIComponent("workflow."));try{l=new o(u)}catch(e){return()=>{}}let a=e=>{try{var n;let r=JSON.parse(e.data);if("string"==typeof(null==r||null==(n=r.detail)?void 0:n.runId)&&r.detail.runId.length>0)return r.detail.runId}catch(e){}};for(let e of(l.addEventListener("workflow.approval.pending",()=>n.onApprovalPending()),l.addEventListener("workflow.approval.resolved",e=>n.onApprovalResolved(a(e))),["workflow.run.started","workflow.run.node-started","workflow.run.node-skipped","workflow.run.node-done","workflow.run.completed","workflow.run.failed"]))l.addEventListener(e,e=>n.onRunEvent(a(e)));return()=>{try{l.close()}catch(e){}}}(r.baseUrl,{onApprovalPending:()=>o.invalidateQueries({queryKey:s.AF.pendingApprovals()}),onApprovalResolved:e=>{o.invalidateQueries({queryKey:s.AF.pendingApprovals()}),e&&o.invalidateQueries({queryKey:s.AF.workflowRun(e)})},onRunEvent:e=>{o.invalidateQueries({queryKey:s.AF.workflowRuns()}),e&&o.invalidateQueries({queryKey:s.AF.workflowRun(e)})}},i?{EventSourceImpl:i}:{})},[r.baseUrl,u,o,i])}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3659],{13659:(e,t,n)=>{n.d(t,{Dw:()=>g,Kh:()=>u,OZ:()=>s,cl:()=>i,gA:()=>p,hH:()=>d,lH:()=>f,tC:()=>o,x3:()=>c,xu:()=>l});var r=n(33371);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 f(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 m(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(m);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);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"}}},33371:(e,t,n)=>{n.d(t,{GG:()=>i,HS:()=>c,KN:()=>a,L4:()=>l,U$:()=>m,XG:()=>d,h7:()=>o,t_:()=>f,vq:()=>p,xV:()=>s});var r=n(40474);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 f(e){let t=d(e);return e.screen.liveCount>0?"live":!t.screen&&t.agent?"unknown":"inactive"}function m(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t?[...e]:e.filter(e=>"inactive"!==f(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}},40474:(e,t,n)=>{n.d(t,{ZO:()=>I,Ys:()=>b,Wq:()=>v,To:()=>w});var r=n(54728),a=n(8740),l=n(41395),o=n(42135),s=n(88116),i=n(25742),u=n(3839),c=n(85351);function d(e){return{action:e,sendsDestroy:"terminate"===e}}let f="elanous.webterm.tabs",m="elanous.webterm.hidden-tabs",p=new Map;function g(e){return(null==e?void 0:e.isAlive)&&void 0!==e.controller?"human"===e.controller?"release":"takeover":null}function h(e){return"takeover"===e?"넘겨받기":"놓기"}function b(){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 w(e){window.localStorage.setItem(f,JSON.stringify(e))}function y(e){window.localStorage.setItem(m,JSON.stringify(e))}function v(e){let t=1;for(;e.includes("preview-".concat(t));)t+=1;return"preview-".concat(t)}function k(e,t){var n;let r=null==e?void 0:e.terminalId;if("string"==typeof r&&r.trim().length>0)return{id:r,issuedBy:"daemon"};let a="object"==typeof(n=e)&&null!==n&&"string"==typeof n.spawnFailure?e.spawnFailure:null==e?"no-response":"response-without-terminal-id";return{id:v(t),issuedBy:"local",fallbackReason:a}}async function x(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c.cY;if(n("webterm.tabs.add.start",{hasAcp:!!e,hasSessionId:!!t}),!e||!t){let t=e?"no-session":"no-acp";return n("webterm.tabs.add.skip",{reason:t}),{spawnFailure:t}}n("webterm.tabs.add.spawn-pending",{sessionId:t});try{return await e.send("terminal/spawn",{sessionId:t})}catch(e){return n("webterm.tabs.add.spawn-error",{reason:String(e)}),{spawnFailure:"spawn-error",detail:String(e)}}}function I(e){let{activeId:t,onActiveChange:n,onInitialTerminalState:f,minimized:v=!1,onToggleMinimize:I,recording:N=!1,peerCount:C=0,chatDockOpen:S=!0,onToggleChatDock:Y,tabIntent:j=null,ptyTabSelection:A=null,onTabsChange:M}=e,{client:T,sessionId:P}=(0,u.Q)(),[R,O]=(0,a.useState)(b),q=(0,a.useRef)(new Set(function(){try{let e=window.localStorage.getItem(m),t=e?JSON.parse(e):[];return Array.isArray(t)?t.filter(e=>"string"==typeof e&&e.length>0):[]}catch(e){return[]}}())),D=(0,a.useRef)(R);D.current=R;let E=(0,a.useRef)(null),U=(0,a.useRef)(t);U.current=t;let B=(0,a.useRef)(0),F=(0,a.useRef)(!1),L=(0,a.useRef)(!1),[K,W]=(0,a.useState)(0),_=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(X.current+=1,B.current+=1,F.current=!1,L.current=!1,!P)return;let e=T.connectAcp({sessionId:P});_.current=e;let t=e.onState(t=>{_.current===e&&"OPEN"===t&&W(e=>e+1)});return"OPEN"===e.state&&W(e=>e+1),(0,c.cY)("webterm.tabs.acp.attach",{sessionId:P}),()=>{var n;t();let r=null!=(n=_.current)?n:e;try{r.close()}catch(e){}_.current=null}},[T,P]);let[J,G]=(0,a.useState)({sessionId:null,entries:new Map}),[H,Z]=(0,a.useState)(new Map),$=(0,a.useRef)(new Map),Q=null!==J.sessionId&&J.sessionId===P,V=Q?J.entries:p,X=(0,a.useRef)(0),z=(0,a.useCallback)(()=>{var e;let t=_.current;if(!P)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:P,previousState:n});try{null==t||t.close()}catch(e){}let r=T.connectAcp({sessionId:P});return _.current=r,X.current+=1,G({sessionId:null,entries:new Map}),(0,c.cY)("webterm.tabs.acp.reacquire.ok",{sessionId:P,previousState:n,state:r.state}),r},[T,P]),ee=(0,a.useCallback)(async()=>{let e;if(P){try{e=z()}catch(e){(0,c.cY)("webterm.tabs.list.error",{sessionId:P,connectionState:"reacquire-failed",reason:String(e)});return}if(e)try{let t=X.current,n=await e.send("terminal/list",{sessionId:P});if(t!==X.current)return void(0,c.cY)("webterm.tabs.list.stale",{sessionId:P,generation:t,now:X.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:f}=e;if("string"!=typeof t||0===t.trim().length||"boolean"!=typeof r)return{ok:!1,reason:"malformed"};let m=e=>"number"==typeof e&&Number.isFinite(e)?e:void 0;n.push({terminalId:t,isAlive:r,...void 0!==m(a)?{pid:m(a)}:{},...void 0!==m(l)?{cols:m(l)}:{},...void 0!==m(o)?{rows:m(o)}:{},...void 0!==m(s)?{lastOutputAt:m(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 f?{controller:f}:{}})}return{ok:!0,entries:n}}(n);if(!r.ok)return void(0,c.cY)("webterm.tabs.list.error",{sessionId:P,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 q.current)o.has(e)||q.current.delete(e);y([...q.current]),G({sessionId:P,entries:new Map(a.map(e=>[e.terminalId,e]))}),(0,c.cY)("webterm.tabs.list",{sessionId:P,local:R.length,daemon:l.length}),O(e=>{let t=[...e];for(let e of l)q.current.has(e)||t.includes(e)||t.push(e);return t.length===e.length?e:(w(t),t)})}catch(t){(0,c.cY)("webterm.tabs.list.error",{sessionId:P,connectionState:e.state,reason:String(t)})}}},[z,P,R.length]);(0,a.useEffect)(()=>{if(!_.current)return;ee();let e=setInterval(()=>{ee()},15e3);return()=>clearInterval(e)},[_.current]);let et=(0,a.useCallback)(e=>(w(e),e),[]);(0,a.useEffect)(()=>{null==M||M(R)},[M,R]);let en=(0,a.useCallback)(async e=>{if(F.current||D.current.length>0)return;F.current=!0;let t=++B.current;null==f||f({status:"pending"});let r=await x(e,P);if(t!==B.current||D.current.length>0)return;let a=k(r,D.current),l=[a.id];L.current=!0,et(l),O(l),n(a.id),null==f||f({status:"ready",issuedBy:a.issuedBy,...a.fallbackReason?{fallbackReason:a.fallbackReason}:{}}),(0,c.cY)("webterm.tabs.initial",{id:a.id,issuedBy:a.issuedBy,...a.fallbackReason?{fallbackReason:a.fallbackReason}:{}})},[n,f,et,P]);(0,a.useEffect)(()=>{if(R.length>0){let e=L.current;F.current=!1,t||n(R[0]),e||null==f||f({status:"ready",issuedBy:"local",fallbackReason:"restored-tab"});return}let e=_.current;if(!e||"OPEN"!==e.state){null==f||f({status:"pending"});return}return en(e),()=>{B.current+=1}},[K,t,en,n,f,R.length]);let er=(0,a.useCallback)(async()=>{let e=await x(_.current,P);O(t=>{let{id:r,issuedBy:a,fallbackReason:l}=k(e,t);if(q.current.delete(r)&&y([...q.current]),t.includes(r))return n(r),(0,c.cY)("webterm.tabs.add.existing",{id:r,issuedBy:a,total:t.length}),t;let o=et([...t,r]);return n(r),(0,c.cY)("webterm.tabs.add",{id:r,total:o.length,issuedBy:a,...l?{fallbackReason:l}:{}}),o})},[n,et,P]),ea=(0,a.useCallback)(e=>{e!==t&&((0,c.cY)("webterm.tabs.switch",{from:t,to:e}),n(e))},[t,n]),el=(0,a.useCallback)(function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];$.current.set(e,(null!=(t=$.current.get(e))?t:0)+1),Z(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n});let a=D.current;if(r&&(q.current.add(e),y([...q.current])),!a.includes(e))return;let l=a.filter(t=>t!==e);et(l),O(l),e===U.current&&l.length>0&&n(l[0]),0===l.length&&(F.current=!1,null==f||f({status:"pending"}))},[n,f,et]),eo=(0,a.useCallback)(e=>{d("remove-local").sendsDestroy||(el(e,!0),(0,c.cY)("webterm.tabs.remove-local",{id:e}),ee())},[ee,el]),es=(0,a.useCallback)(async(e,t)=>{var n;let r=H.get(e);if(r&&!r.message)return;let a=(null!=(n=$.current.get(e))?n:0)+1;$.current.set(e,a),Z(n=>{let r=new Map(n);return r.set(e,{action:t}),r});try{let n=await T.controlTerminal(e,t);if(a!==$.current.get(e)||!D.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);Z(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&&ee()}catch(n){if(a!==$.current.get(e)||!D.current.includes(e))return;Z(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)})}},[T,ee,H]),ei=(0,a.useCallback)(async(e,t)=>{let n=d("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=_.current;if(!a||!P)return void(0,c.cY)("webterm.tabs.destroy.error",{id:e,reason:"no-acp-or-session"});try{await a.send("terminal/destroy",{sessionId:P,terminalId:e}),(0,c.cY)("webterm.tabs.destroyed",{id:e}),el(e,!0),ee()}catch(t){(0,c.cY)("webterm.tabs.destroy.error",{id:e,reason:String(t)})}},[el,ee,P]);(0,a.useEffect)(()=>{!t||q.current.has(t)||O(e=>e.includes(t)?e:et([...e,t]))},[t,et]),(0,a.useEffect)(()=>{if(!A||E.current===A.nonce)return;E.current=A.nonce;let{id:e}=A,t=D.current;if(t.includes(e)){(0,c.cY)("webterm.tabs.pty-select.existing",{id:e,total:t.length}),n(e);return}let r=et([...t,e]);O(r),null==M||M(r),(0,c.cY)("webterm.tabs.pty-select.add",{id:e,total:r.length}),n(e)},[n,M,et,null==A?void 0:A.nonce]),(0,a.useEffect)(()=>{let e;if(!j||!t||0===R.length)return;let r=R.indexOf(t);if("next"===j.intent)e=R[(r+1)%R.length];else if("prev"===j.intent)e=R[(r-1+R.length)%R.length];else if("number"==typeof j.intent){let t=j.intent-1;t>=0&&t<R.length&&(e=R[t])}e&&e!==t&&((0,c.cY)("webterm.tabs.intent.apply",{intent:j.intent,from:t,to:e}),n(e))},[null==j?void 0:j.nonce]);let eu=(0,a.useCallback)(e=>{var t;return null==(t=V.get(e))?void 0:t.isAlive},[V]),ec=(0,a.useMemo)(()=>{if(!P)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}}(R,eu);let t="".concat(e.total," terminal").concat(1===e.total?"":"s");if(!Q)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},[P,R,eu,Q]),ed=(0,a.useMemo)(()=>Q&&t?R.filter(e=>e!==t&&void 0===eu(e)):[],[Q,R,eu,t]),ef=(0,a.useCallback)(()=>{if(0===ed.length)return;let e=new Set(ed),t=R.filter(t=>!e.has(t));et(t),(0,c.cY)("webterm.tabs.clean-unknown",{removed:ed.length,remaining:t.length}),O(t)},[ed,et,R]);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:[R.map(e=>{let n=e===t,a=V.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)==="direct-human"?"사람":(null==a?void 0:a.terminalOriginCategory)==="elanous"?"elanous":(null==a?void 0:a.terminalOriginCategory)==="external-tool"?a.externalToolName?"외부 도구: ".concat(a.externalToolName):"외부 도구":(null==a?void 0:a.terminalOriginReason)?"이 행에서는 알 수 없음: ".concat(a.terminalOriginReason):"이 행에서는 알 수 없음",i=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),u=H.get(e),c=a?"".concat(a.isAlive?"alive":"exited").concat("number"==typeof a.pid?" \xb7 pid ".concat(a.pid):"").concat(o?" \xb7 마지막 출력 ".concat(o):""," \xb7 출처: ").concat(s).concat(a.controller?" \xb7 통제: ".concat(a.controller):""):"데몬 미기동 (선택 시 spawn) \xb7 출처: ".concat(s);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:c,"aria-label":c}),(0,r.jsxs)("button",{type:"button",className:"cursor-pointer",onClick:()=>ea(e),title:"".concat(i.hint," — ").concat(n?"지금 보는 터미널":"눌러서 전환"," \xb7 ").concat(c),"aria-label":"switch to ".concat(e),children:[i.text," \xb7 ",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(),eo(e)},title:"목록에서 ".concat(e," 탭 빼기 — PTY는 유지합니다"),"aria-label":"remove ".concat(e," locally"),children:"\xd7"}),g(a)&&(0,r.jsx)("button",{type:"button",disabled:void 0!==u&&!u.message,className:"rounded text-muted-foreground hover:text-primary disabled:cursor-wait disabled:opacity-60",onClick:t=>{t.stopPropagation(),es(e,g(a))},title:"".concat(h(g(a))," ").concat(e),"aria-label":"".concat(g(a)," ").concat(e),children:void 0===u||u.message?h(g(a)):"전환 중…"}),(0,r.jsx)("button",{type:"button",className:"rounded text-muted-foreground hover:text-rose-500",onClick:t=>{t.stopPropagation(),ei(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:()=>{er()},title:"new terminal",children:"+"})]}),[...H.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))),v&&N&&(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"]}),v&&C>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(C," devices on this session"),children:[(0,r.jsx)(l.A,{className:"h-3 w-3","aria-hidden":!0}),C]}),(0,r.jsx)("span",{className:"ml-2 text-[11px] text-muted-foreground",title:"터미널 PTY 는 데몬에 상주 — 연결이 끊겨도 유지되고 재접속 시 이어집니다",children:ec}),ed.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:ef,title:"데몬이 모르는 탭 ".concat(ed.length,"개를 목록에서 뺍니다 — PTY 는 건드리지 않고, 활성 탭은 남깁니다"),children:["정리 ",ed.length]}),Y&&(0,r.jsx)("button",{type:"button",onClick:Y,"aria-label":S?"hide terminal chat dock":"show terminal chat dock",title:S?"terminal chat dock 숨기기":"terminal chat dock 보이기",className:"ml-1 rounded-md p-1 ".concat(S?"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"})}),I&&(0,r.jsx)("button",{type:"button",onClick:I,"aria-label":v?"expand panels":"collapse panels",title:v?"패널 펼치기":"패널 접기",className:"ml-1 rounded-md p-1 text-muted-foreground hover:bg-accent hover:text-foreground",children:v?(0,r.jsx)(s.A,{className:"h-3.5 w-3.5"}):(0,r.jsx)(i.A,{className:"h-3.5 w-3.5"})})]})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3736],{43736:(e,t,a)=>{a.d(t,{s:()=>x});var r=a(54728),s=a(8740),n=a(3839),l=a(96598),i=a(25583);let d=["dig","backtest","trade","retro","replay"],o=[["replay","dig"],["dig","backtest"],["backtest","trade"],["trade","retro"],["retro","replay"]];function c(e){if(!e)return"never";let t=Date.parse(e);if(Number.isNaN(t))return e;let a=Math.max(0,Math.floor((Date.now()-t)/1e3));if(a<60)return"".concat(a,"s ago");let r=Math.floor(a/60);if(r<60)return"".concat(r,"m ago");let s=Math.floor(r/60);return s<24?"".concat(s,"h ago"):"".concat(Math.floor(s/24),"d ago")}function u(e){var t;let a=(null==(t=e.last)?void 0:t.at)?Date.parse(e.last.at):NaN;return!Number.isNaN(a)&&Date.now()-a<36e5}function x(){var e;let{client:t}=(0,n.Q)(),[a,x]=(0,s.useState)([]),[m,g]=(0,s.useState)(!1),[p,f]=(0,s.useState)(null),h=(0,s.useCallback)(async()=>{g(!0);try{var e,a;let r=await t.fetchJson("/v1/dashboard/loops");x(null!=(a=null==(e=r.loops)?void 0:e.loops)?a:[])}catch(e){i.oR.error("loops load failed: ".concat(e instanceof Error?e.message:e))}finally{g(!1)}},[t]);(0,s.useEffect)(()=>{h();let e=window.setInterval(()=>void h(),3e4);return()=>window.clearInterval(e)},[h]);let v=(0,s.useMemo)(()=>{let e=new Map;for(let t of a)e.set(t.name,t);return e},[a]),b=(0,s.useMemo)(()=>{let e=new Map;return d.forEach((t,a)=>e.set(t,function(e){let t=Math.PI/180*(-90+72*e);return{x:200+128*Math.cos(t),y:190+128*Math.sin(t)}}(a))),e},[]),y=p&&null!=(e=v.get(p))?e:null;return(0,r.jsxs)("div",{className:"mx-auto max-w-[1100px] space-y-4 p-4",children:[(0,r.jsxs)("header",{className:"flex flex-col gap-3 lg:flex-row lg:items-end lg:justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:"투자 루프 오케스트라"}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"5개 자율 루프의 순환(분석→백테→매매→회고→재생). 원 클릭 = 활동 기록 \xb7 펄스 = 최근 활동 \xb7 채움 = armed."})]}),(0,r.jsx)(l.$,{size:"sm",variant:"outline",onClick:()=>void h(),disabled:m,children:"Refresh"})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-start",children:[(0,r.jsxs)("section",{className:"min-w-0 flex-1",children:[(0,r.jsxs)("svg",{viewBox:"0 0 400 380",className:"w-full",role:"img","aria-label":"loop orchestra graph",children:[(0,r.jsx)("defs",{children:(0,r.jsx)("marker",{id:"loop-arrow",viewBox:"0 0 10 10",refX:"8",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:(0,r.jsx)("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-muted-foreground/50"})})}),o.map(e=>{let[t,a]=e,s=b.get(t),n=b.get(a);if(!s||!n)return null;let l=n.x-s.x,i=n.y-s.y,d=Math.hypot(l,i)||1,o=l/d,c=i/d,u=s.x+42*o,x=s.y+42*c,m=n.x-48*o,g=n.y-48*c;return(0,r.jsx)("line",{x1:u,y1:x,x2:m,y2:g,className:"stroke-muted-foreground/30",strokeWidth:1.5,markerEnd:"url(#loop-arrow)"},"".concat(t,"-").concat(a))}),d.map(e=>{var t,a,s,n;let l=v.get(e),i=b.get(e),d=!!l&&u(l),o=(null==l?void 0:l.armed)===!0,x=(null==l?void 0:l.category)!=="reflect",m=p===e;return(0,r.jsxs)("g",{className:"cursor-pointer",onClick:()=>f(t=>t===e?null:e),children:[d&&(0,r.jsxs)("circle",{cx:i.x,cy:i.y,r:40,className:x?"fill-sky-400/20":"fill-violet-400/20",children:[(0,r.jsx)("animate",{attributeName:"r",values:"".concat(40,";").concat(52),dur:"1.6s",repeatCount:"indefinite"}),(0,r.jsx)("animate",{attributeName:"opacity",values:"0.5;0",dur:"1.6s",repeatCount:"indefinite"})]}),(0,r.jsx)("circle",{cx:i.x,cy:i.y,r:40,className:"".concat(o?x?"fill-sky-500/25":"fill-violet-500/25":"fill-card"," ").concat(x?"stroke-sky-400":"stroke-violet-400"),strokeWidth:m?3.5:1.8}),(0,r.jsx)("text",{x:i.x,y:i.y-4,textAnchor:"middle",className:"fill-foreground text-[11px] font-medium",children:null!=(n=null==l||null==(a=l.label)||null==(t=a.split("(")[0])?void 0:t.trim())?n:e}),(0,r.jsx)("text",{x:i.x,y:i.y+10,textAnchor:"middle",className:"fill-muted-foreground text-[9px]",children:l?"".concat(c(null==(s=l.last)?void 0:s.at)):"—"}),(0,r.jsx)("text",{x:i.x,y:i.y+21,textAnchor:"middle",className:"fill-muted-foreground/70 text-[8px]",children:l?"today ".concat(l.today).concat(d?" \xb7 active":""):""})]},e)})]}),(0,r.jsxs)("div",{className:"flex flex-wrap justify-center gap-3 text-[11px] text-muted-foreground",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("span",{className:"inline-block h-2 w-2 rounded-full bg-sky-400"})," 실행축"]}),(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[(0,r.jsx)("span",{className:"inline-block h-2 w-2 rounded-full bg-violet-400"})," 사색축"]}),(0,r.jsx)("span",{children:"채움=armed \xb7 펄스=최근 활동"})]})]}),y&&(0,r.jsxs)("aside",{className:"w-full shrink-0 space-y-3 rounded-2xl border border-border bg-card p-4 lg:w-[360px]",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("h2",{className:"text-base font-semibold",children:y.label}),(0,r.jsx)("button",{type:"button",onClick:()=>f(null),className:"rounded-md px-1.5 py-0.5 text-xs text-muted-foreground hover:bg-accent/40 hover:text-foreground","aria-label":"close",children:"✕"})]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-1.5 text-[11px]",children:[(0,r.jsx)("span",{className:"rounded-full px-2 py-0.5 ring-1 ".concat("reflect"===y.category?"text-violet-300 ring-violet-500/30":"text-sky-300 ring-sky-500/30"),children:"reflect"===y.category?"사색축":"실행축"}),(0,r.jsxs)("span",{className:"rounded-full bg-muted px-2 py-0.5 text-muted-foreground",children:["armed ",null===y.armed?"—":y.armed?"ON":"off"]}),(0,r.jsxs)("span",{className:"rounded-full bg-muted px-2 py-0.5 text-muted-foreground",children:["today ",y.today]}),u(y)&&(0,r.jsx)("span",{className:"rounded-full bg-emerald-500/15 px-2 py-0.5 text-emerald-300 ring-1 ring-emerald-500/30",children:"active"})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("div",{className:"text-sm font-semibold",children:"활동 기록"}),y.recent&&y.recent.length>0?(0,r.jsx)("div",{className:"space-y-1.5",children:y.recent.map((e,t)=>(0,r.jsxs)("div",{className:"rounded-lg bg-muted/40 px-3 py-2 text-[11px]",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{className:"font-medium text-foreground",children:e.status}),(0,r.jsx)("span",{className:"text-muted-foreground",title:e.at,children:c(e.at)})]}),e.detail&&(0,r.jsx)("div",{className:"mt-0.5 truncate text-muted-foreground",title:e.detail,children:e.detail})]},"".concat(e.at,"-").concat(t)))}):(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:"활동 기록 없음."})]})]})]})]})}},96598:(e,t,a)=>{a.d(t,{$:()=>d});var r=a(54728),s=a(86649),n=a(76882),l=a(99461);let i=(0,n.F)("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function d(e){let{className:t,variant:a="default",size:n="default",...d}=e;return(0,r.jsx)(s.$,{"data-slot":"button",className:(0,l.cn)(i({variant:a,size:n,className:t})),...d})}},99461:(e,t,a)=>{a.d(t,{cn:()=>n});var r=a(41828),s=a(568);function n(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,s.QP)((0,r.$)(t))}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3839],{3839:(e,t,s)=>{s.d(t,{C:()=>c,DaemonProvider:()=>d,Q:()=>u});var n=s(54728),r=s(8740),a=s(9449),o=s(75261),i=s(42300),l=s(85351);let c=(0,r.createContext)(null);function d(e){let{children:t}=e,s={baseUrl:"",token:"",provider:""},[d,u]=(0,r.useState)(s),[h,f]=(0,r.useState)(""),[p]=(0,r.useState)(()=>new i.ki(s));(0,r.useEffect)(()=>{let e=(0,a.Fp)();u(e),p.updateConfig(e),f((0,o.oD)()),(0,l.cY)("webterm.provider.daemon.init",{baseUrl:e.baseUrl,hasToken:!!e.token})},[p]),(0,r.useEffect)(()=>{let e=e=>{"elanous.daemon.sessionId"===e.key&&e.newValue&&f(t=>t===e.newValue?t:((0,l.cY)("webterm.provider.daemon.session-cross-tab",{previous:t||"(empty)",next:e.newValue}),e.newValue))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[]);let m=e=>{u(t=>{let s={...t,...e};return(0,a.Qc)(e),p.updateConfig(s),(0,l.cY)("webterm.provider.daemon.config-update",{keys:Object.keys(e)}),s})},g=e=>{f(e),localStorage.setItem("elanous.daemon.sessionId",e),(0,l.cY)("webterm.provider.daemon.session-set",{sessionId:e})},y=(0,r.useMemo)(()=>({config:d,setConfig:m,client:p,sessionId:h,setSessionId:g}),[d,p,h]);return(0,n.jsx)(c.Provider,{value:y,children:t})}function u(){let e=(0,r.useContext)(c);if(!e)throw Error("useDaemon must be used inside <DaemonProvider>");return e}},9449:(e,t,s)=>{function n(e){if("undefined"==typeof localStorage)return{migrated:!1,currentValue:null};let t=localStorage.getItem(e.currentKey);if(t&&t.length>0)return{migrated:!1,currentValue:t};let s=localStorage.getItem(e.legacyKey);if(!s||0===s.length)return{migrated:!1,currentValue:t};let n=s;if(e.transformValue)try{n=e.transformValue(s)}catch(e){n=null}if(!n||0===n.length)return{migrated:!1,currentValue:t};try{localStorage.setItem(e.currentKey,n),localStorage.removeItem(e.legacyKey)}catch(e){return{migrated:!1,currentValue:t}}return{migrated:!0,currentValue:n}}s.d(t,{yS:()=>c,uh:()=>d,Fp:()=>i,Qc:()=>l});let r={baseUrl:"elanous.nexus.baseUrl",token:"elanous.daemon.token",provider:"elanous.daemon.provider"},a={daemonBaseUrl:"elanous.daemon.baseUrl",voiceWsUrl:"elanous.voice.wsUrl",voiceToken:"elanous.voice.token"};function o(e,t){if(!e)return"";let s=new URL(t,e);return s.protocol="https:"===s.protocol?"wss:":"ws:",s.toString()}function i(){var e,t;n({legacyKey:a.daemonBaseUrl,currentKey:r.baseUrl}),n({legacyKey:a.voiceWsUrl,currentKey:r.baseUrl,transformValue:e=>{try{let t=new URL(e);return t.protocol="wss:"===t.protocol?"https:":"http:",t.pathname="/",t.toString().replace(/\/$/,"")}catch(e){return null}}});let s=localStorage.getItem(a.voiceToken);s&&!localStorage.getItem(r.token)&&localStorage.setItem(r.token,s);let o=localStorage.getItem(r.baseUrl);return{baseUrl:o&&o.length>0?o:function(){let e="https:"===window.location.protocol?"https:":"http:";return"".concat(e,"//").concat(window.location.host)}(),token:null!=(e=localStorage.getItem(r.token))?e:"",provider:null!=(t=localStorage.getItem(r.provider))?t:""}}function l(e){void 0!==e.baseUrl&&localStorage.setItem(r.baseUrl,e.baseUrl),void 0!==e.token&&localStorage.setItem(r.token,e.token),void 0!==e.provider&&localStorage.setItem(r.provider,e.provider)}function c(e){return o(e.baseUrl,"/v1/acp")}function d(e){return o(e.baseUrl,"/v1/voice/ws")}},42300:(e,t,s)=>{s.d(t,{AV:()=>o,ki:()=>i});var n=s(9449),r=s(85351),a=s(76390);let o=["none","readonly","chat","webterm"];class i{updateConfig(e){let t="".concat((0,n.yS)(this.cfg),"\0").concat(this.cfg.token),s="".concat((0,n.yS)(e),"\0").concat(e.token);this.cfg=e,t!==s&&(this.acpConnections.forEach(e=>e.dispose()),this.acpConnections.clear())}async fetchResponse(e,t){var s;return fetch(this.url(e),{...t,headers:{...this.authHeaders(),...null!=(s=null==t?void 0:t.headers)?s:{}}})}async fetchJson(e,t){var s,n,r;let a=await this.fetchResponse(e,t),o=(null!=(s=a.headers.get("content-type"))?s:"").includes("application/json")?await a.json():await a.text();if(!a.ok)throw Error(String("string"==typeof o?o:null!=(r=null!=(n=null==o?void 0:o.reason)?n:null==o?void 0:o.error)?r:"".concat(a.status)));return o}async health(){return this.fetchJson("/v1/health")}async prompt(e){(0,r.cY)("webterm.rest.prompt",{sessionId:e.sessionId,len:e.userText.length});let t=await fetch(this.url("/v1/prompt"),{method:"POST",headers:{"content-type":"application/json",...this.authHeaders()},body:JSON.stringify(e)});if(!t.ok)throw Error("prompt ".concat(t.status,": ").concat(await t.text()));return t.json()}subscribeChatEvents(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=new AbortController,n={method:"GET",headers:{accept:"text/event-stream",...this.authHeaders()},signal:s.signal},a="".concat(this.url("/v1/chat/events"),"?sessionId=").concat(encodeURIComponent(e));return(0,r.cY)("webterm.chat.observer.subscribe",{sessionId:e}),(async()=>{var o,i;try{let e=await fetch(a,n);if(!e.ok||!e.body){null==(o=t.onError)||o.call(t,{error:"observer_failed",message:"".concat(e.status,": ").concat(await e.text())});return}await f(e.body,t)}catch(e){if(s.signal.aborted)return;null==(i=t.onError)||i.call(t,{error:"observer_disconnected",message:e instanceof Error?e.message:String(e)})}(0,r.cY)("webterm.chat.observer.end",{sessionId:e})})(),()=>{(0,r.cY)("webterm.chat.observer.dispose",{sessionId:e});try{s.abort()}catch(e){}}}subscribeAgentStatusEvents(e,t){let s=new AbortController,n="".concat(this.url("/v1/events"),"?topics=agent.status");return(0,r.cY)("webterm.agent-status.subscribe",{sessionId:e}),(async()=>{var a,o;try{let r=await fetch(n,{method:"GET",headers:{accept:"text/event-stream",...this.authHeaders()},signal:s.signal});if(!r.ok||!r.body){null==(a=t.onError)||a.call(t,{error:"agent_status_failed",message:"".concat(r.status,": ").concat(await r.text())});return}await m(r.body,e,t)}catch(e){if(s.signal.aborted)return;null==(o=t.onError)||o.call(t,{error:"agent_status_disconnected",message:e instanceof Error?e.message:String(e)})}(0,r.cY)("webterm.agent-status.end",{sessionId:e})})(),()=>{(0,r.cY)("webterm.agent-status.dispose",{sessionId:e});try{s.abort()}catch(e){}}}subscribeHudSegmentEvents(e,t){let s=new AbortController,n="".concat(this.url("/v1/events"),"?topics=hud.segment");return(0,r.cY)("webterm.hud-segment.subscribe",{sessionId:e}),(async()=>{var a,o;try{let r=await fetch(n,{method:"GET",headers:{accept:"text/event-stream",...this.authHeaders()},signal:s.signal});if(!r.ok||!r.body){null==(a=t.onError)||a.call(t,{error:"hud_segment_failed",message:"".concat(r.status,": ").concat(await r.text())});return}await g(r.body,e,t)}catch(e){if(s.signal.aborted)return;null==(o=t.onError)||o.call(t,{error:"hud_segment_disconnected",message:e instanceof Error?e.message:String(e)})}(0,r.cY)("webterm.hud-segment.end",{sessionId:e})})(),()=>{(0,r.cY)("webterm.hud-segment.dispose",{sessionId:e});try{s.abort()}catch(e){}}}subscribeChatFeedbackEvents(e,t){let s=new AbortController,n=["agent.status","hud.segment"],a="".concat(this.url("/v1/events"),"?topics=").concat(n.join(","));return(0,r.cY)("webterm.chat-feedback.subscribe",{sessionId:e,topics:n}),(async()=>{var n,o,i,l,c,d,u,h;try{let r=await fetch(a,{method:"GET",headers:{accept:"text/event-stream",...this.authHeaders()},signal:s.signal});if(!r.ok||!r.body){let e="".concat(r.status,": ").concat(await r.text());null==(n=(o=t.agentStatus).onError)||n.call(o,{error:"agent_status_failed",message:e}),null==(i=(l=t.hudSegment).onError)||i.call(l,{error:"hud_segment_failed",message:e});return}let[c,d]=r.body.tee();await Promise.all([m(c,e,t.agentStatus),g(d,e,t.hudSegment)])}catch(n){if(s.signal.aborted)return;let e=n instanceof Error?n.message:String(n);null==(c=(d=t.agentStatus).onError)||c.call(d,{error:"agent_status_disconnected",message:e}),null==(u=(h=t.hudSegment).onError)||u.call(h,{error:"hud_segment_disconnected",message:e})}(0,r.cY)("webterm.chat-feedback.end",{sessionId:e})})(),()=>{(0,r.cY)("webterm.chat-feedback.dispose",{sessionId:e});try{s.abort()}catch(e){}}}async promptStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,r.cY)("webterm.rest.prompt.stream",{sessionId:e.sessionId,len:e.userText.length});let s={method:"POST",headers:{"content-type":"application/json",accept:"text/event-stream",...this.authHeaders()},body:JSON.stringify(e)};t.signal&&(s.signal=t.signal);let n=!0===t.debugTap?"/v1/prompt/stream?debug-tap=on":"/v1/prompt/stream",a=await fetch(this.url(n),s);if(!a.ok||!a.body)throw Error("prompt/stream ".concat(a.status,": ").concat(await a.text()));return h(a.body,t)}connectAcp(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=(0,n.yS)(this.cfg);if(!s)throw Error("daemon baseUrl not configured");if(!t.sessionId)return new l(s,this.cfg.token).acquire(t.onSession);let r=t.sessionId,a=this.acpConnections.get(r);return a&&!a.isTerminal?a.acquire(t.onSession):(e=new l(s,this.cfg.token,t.sessionId,()=>{this.acpConnections.get(r)===e&&this.acpConnections.delete(r)}),this.acpConnections.set(r,e),e.acquire(t.onSession))}voiceWsUrl(){return(0,n.uh)(this.cfg)}async voiceCost(){return this.fetchJson("/v1/voice/cost")}async listTerminals(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=!0===e.all&&!0===e.includeTest?"?all=true&includeTest=true":"";return this.fetchJson("/v1/terminals".concat(t))}async fetchTerminalLineage(e){return this.fetchJson("/v1/terminals/lineage?key=".concat(encodeURIComponent(e)))}async fetchTerminalScrollback(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:50,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=encodeURIComponent(e),r=new URLSearchParams({lines:String(t)});return s.sourceRoot&&r.set("sourceRoot",s.sourceRoot),this.fetchJson("/v1/terminals/".concat(n,"/scrollback?").concat(r))}async controlTerminal(e,t){let s,n=encodeURIComponent(e),r=await fetch(this.url("/v1/terminals/".concat(n,"/control")),{method:"POST",headers:{"content-type":"application/json",...this.authHeaders()},body:JSON.stringify({action:t})});try{s=await r.json()}catch(e){throw Error("terminal control ".concat(r.status,": invalid JSON response"))}let a=s&&"object"==typeof s?s.status:void 0,o="write-failed"===a?"failed":a;if("success"!==o&&"unknown-pty"!==o&&"denied"!==o&&"failed"!==o&&"owner-unreachable"!==o||r.status!==({success:200,"unknown-pty":404,denied:409,failed:502,"owner-unreachable":504})[o]){var i;let e=s&&"object"==typeof s?null!=(i=s.reason)?i:s.error:void 0;throw Error("terminal control ".concat(r.status,": ").concat(String(null!=e?e:"unexpected response")))}return{status:o}}async renameTerminal(e,t){let s,n=encodeURIComponent(e),r=await fetch(this.url("/v1/terminals/".concat(n,"/rename")),{method:"POST",headers:{"content-type":"application/json",...this.authHeaders()},body:JSON.stringify({name:t})});try{s=await r.json()}catch(e){throw Error("terminal rename ".concat(r.status,": invalid JSON response"))}let a=s&&"object"==typeof s?s:{},o="write-failed"===a.status?"failed":"unknown-pty"===a.status||"denied"===a.status||"failed"===a.status||"owner-unreachable"===a.status?a.status:"success"===a.status?"success":"invalid-name"===a.error?"invalid-name":void 0;if(void 0===o||r.status!==({success:200,"invalid-name":400,"unknown-pty":404,denied:409,failed:502,"owner-unreachable":504})[o]||"success"===o&&("string"!=typeof a.id||"string"!=typeof a.name)){var i,l;throw Error("terminal rename ".concat(r.status,": ").concat(String(null!=(l=null!=(i=a.reason)?i:a.error)?l:"unexpected response")))}return"success"===o?{status:o,id:a.id,name:a.name}:{status:o}}async fetchTerminalFrame(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=encodeURIComponent(e),n=t.sourceRoot?"?sourceRoot=".concat(encodeURIComponent(t.sourceRoot)):"",r=await this.fetchJson("/v1/terminals/".concat(s,"/frame").concat(n));return{id:r.id,frame:r.frame,frameAt:r.frameAt,frameSource:r.frameSource}}async createAgentCliSession(e,t,s){let n=(null==s?void 0:s.hitl)==="off"?"/v1/agent-cli/sessions?hitl=off":"/v1/agent-cli/sessions";return this.fetchJson(n,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({backend:e,...t?{cwd:t}:{}})})}async agentCliPromptStream(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s={method:"POST",headers:{"content-type":"application/json",...this.authHeaders()},body:JSON.stringify(e)};t.signal&&(s.signal=t.signal);let n=await fetch(this.url("/v1/agent-cli/prompt"),s);if(!n.ok){let e=await n.text().catch(()=>"");throw Error("agent-cli/prompt ".concat(n.status,": ").concat(e))}if(!n.body)throw Error("agent-cli/prompt: no body");let r=n.body.getReader(),a=new TextDecoder,o="",i="",l="end_turn",c=e.sessionId,d=null;for(;;){let{value:e,done:s}=await r.read();if(s)break;let n=(o+=a.decode(e,{stream:!0})).indexOf("\n\n");for(;-1!==n;){var u,h,f,p,m,g;let e=o.slice(0,n);o=o.slice(n+2);let s=e.split("\n"),r="message",a=[];for(let e of s)e.startsWith("event: ")?r=e.slice(7).trim():e.startsWith("data: ")&&a.push(e.slice(6));let y=a.join("\n");if("chunk"===r)try{let e=JSON.parse(y);"string"==typeof e.text&&(i+=e.text,null==(u=t.onTextDelta)||u.call(t,{delta:e.text,full:i}))}catch(e){}else if("stop"===r)try{let e=JSON.parse(y);e.stopReason&&(l=e.stopReason),e.sessionId&&(c=e.sessionId),null==(h=t.onStop)||h.call(t,{stopReason:l,sessionId:c})}catch(e){}else if("tool_call"===r||"tool_call_update"===r)try{let e=JSON.parse(y),s=e.rawOutput,n=null===s||"object"!=typeof s||Array.isArray(s)?void 0:s,a=null==n?void 0:n._meta,o=null===a||"object"!=typeof a||Array.isArray(a)?void 0:a.ui,i=null===o||"object"!=typeof o||Array.isArray(o)?void 0:o.resourceUri,l=null==n?void 0:n["ui/resourceUri"],c="string"==typeof i?i:"string"==typeof l?l:void 0;null==(f=t.onToolCall)||f.call(t,{kind:r,...e.toolCallId?{toolCallId:e.toolCallId}:{},...e.title?{title:e.title}:{},...e.kind?{toolKind:e.kind}:{},...e.status?{status:e.status}:{},...e.contentText?{contentText:e.contentText}:{},...void 0!==s?{rawOutput:s}:{},...void 0!==c?{resourceUri:c}:{}})}catch(e){}else if("usage"===r)try{let e=JSON.parse(y);"number"==typeof e.turnDurationMs&&"number"==typeof e.toolCallCount&&"number"==typeof e.textBytes&&(null==(p=t.onUsage)||p.call(t,{turnDurationMs:e.turnDurationMs,toolCallCount:e.toolCallCount,textBytes:e.textBytes}))}catch(e){}else if("error"===r)try{d=null!=(g=JSON.parse(y).error)?g:"unknown",null==(m=t.onError)||m.call(t,{error:d})}catch(e){d="parse-error"}n=o.indexOf("\n\n")}}if(d)throw Error(d);return{sessionId:c,text:i,stopReason:l}}async cancelAgentCliSession(e){return this.fetchJson("/v1/agent-cli/cancel",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({sessionId:e})})}async closeAgentCliSession(e){let t=encodeURIComponent(e);return this.fetchJson("/v1/agent-cli/sessions/".concat(t),{method:"DELETE"})}async listShowroomLayouts(){return this.fetchJson("/v1/showroom/layouts")}async getShowroomLayout(e){let t=encodeURIComponent(e);return this.fetchJson("/v1/showroom/layouts/".concat(t))}async saveShowroomLayout(e,t){let s=encodeURIComponent(e);return this.fetchJson("/v1/showroom/layouts/".concat(s),{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(t)})}async deleteShowroomLayout(e){let t=encodeURIComponent(e);return this.fetchJson("/v1/showroom/layouts/".concat(t),{method:"DELETE"})}async fetchUrlContext(e){return this.fetchJson("/v1/context/fetch-url",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({url:e})})}async listLlmModels(){let e=await fetch(this.url("/v1/llm/models"),{method:"GET",headers:{...this.authHeaders()}});return e.ok?await e.json():{models:[],error:"http-".concat(e.status)}}async getLlmHosts(){return this.fetchJson("/v1/llm/hosts")}async setLlmHosts(e){return this.fetchJson("/v1/llm/hosts",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(e)})}async clearLlmHosts(){return this.fetchJson("/v1/llm/hosts",{method:"DELETE"})}async transcribeAudio(e,t){let s=new FormData;s.append("file",e,e.name),t&&s.append("language",t);let n=await fetch(this.url("/v1/audio/stt"),{method:"POST",headers:{...this.authHeaders()},body:s});if(!n.ok){let e="";try{e=await n.text()}catch(e){}throw Error("audio-stt http ".concat(n.status,": ").concat(e.slice(0,200)))}return await n.json()}async judgeRole(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s={prompt:e};t.backend&&(s.backend=t.backend),t.model&&(s.model=t.model);let n=await fetch(this.url("/v1/showroom/role-judge"),{method:"POST",headers:{"content-type":"application/json",...this.authHeaders()},body:JSON.stringify(s)});if(!n.ok)throw Error("role-judge http ".concat(n.status));return await n.json()}showroomLayoutsEventsUrl(){return this.cfg.baseUrl?this.url("/v1/showroom/layouts/events"):null}personasEventsUrl(){return this.cfg.baseUrl?this.url("/v1/personas/events"):null}sessionStoreEventsUrl(){return this.cfg.baseUrl?"".concat(this.url("/v1/events"),"?topics=session."):null}async listLogs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=new URLSearchParams(e).toString();return this.fetchJson("/v1/logs".concat(t?"?".concat(t):""))}async listProgressFrames(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:200;return this.listLogs({event:"headless.progress-frame",limit:String(e)})}logsStreamUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.cfg.baseUrl)return null;let t=new URLSearchParams(e).toString();return"".concat(this.url("/v1/logs/stream")).concat(t?"?".concat(t):"")}async listPersonas(){return this.fetchJson("/v1/personas")}async getRegistryCatalog(){return this.fetchJson("/v1/registry/catalog")}url(e){let t=this.cfg.baseUrl.replace(/\/$/,"");return"".concat(t).concat(e)}authHeaders(){return this.cfg.token?{authorization:"Bearer ".concat(this.cfg.token)}:{}}constructor(e){this.cfg=e,this.acpConnections=new Map}}class l{get ready(){return this.readyPromise}sendRaw(e,t){if("FAILED"===this.stateValue||"CLOSED"===this.stateValue||this.ws.readyState!==WebSocket.OPEN){var s;return Promise.reject(null!=(s=this.stateError)?s:Error("socket is ".concat(this.stateValue)))}let n=this.nextId++,a={jsonrpc:"2.0",id:n,method:e,params:t};return(0,r.cY)("webterm.acp.send",{method:e,id:n}),new Promise((e,t)=>{this.pending.set(n,{resolve:e,reject:t});try{this.ws.send(JSON.stringify(a)+"\n")}catch(e){t(e)}})}get readyState(){return this.ws.readyState}get state(){return this.stateValue}get isTerminal(){return"FAILED"===this.stateValue||"CLOSED"===this.stateValue}acquire(e){return this.leases+=1,new c(this,e)}subscribeSession(e){return this.sessionHandlers.add(e),()=>this.sessionHandlers.delete(e)}release(){this.leases=Math.max(0,this.leases-1),0===this.leases&&this.dispose(Error("ACP transport released"))}dispose(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Error("ACP transport disposed");"CLOSED"!==this.stateValue&&this.transition("CLOSED",e),this.rejectPending(e),this.notifyTerminal(),this.ws.readyState!==WebSocket.CLOSED&&this.ws.readyState!==WebSocket.CLOSING&&this.ws.close()}onState(e){return this.stateHandlers.add(e),this.notifyStateHandler(e,this.stateValue,this.stateError),()=>this.stateHandlers.delete(e)}transition(e,t){(this.stateValue!==e||this.stateError!==t)&&(this.stateValue=e,t&&(this.stateError=t),this.stateHandlers.forEach(s=>this.notifyStateHandler(s,e,t)),(0,r.cY)("webterm.acp.state",{state:e,reason:null==t?void 0:t.message}))}notifyStateHandler(e,t,s){try{e(t,s)}catch(e){(0,r.cY)("webterm.acp.state-handler.error",{state:t,reason:String(e)})}}rejectPending(e){this.pending.forEach(t=>t.reject(e)),this.pending.clear()}notifyTerminal(){var e;this.terminalNotified||(this.terminalNotified=!0,null==(e=this.onTerminal)||e.call(this))}terminate(e,t){this.isTerminal||this.transition(t,e),this.rejectPending(e),this.notifyTerminal()}fail(e){this.terminate(e,"FAILED"),(this.ws.readyState===WebSocket.CONNECTING||this.ws.readyState===WebSocket.OPEN)&&this.ws.close()}async send(e,t){return await this.readyPromise.catch(()=>void 0),this.sendRaw(e,t)}on(e,t){let s=this.kindHandlers.get(e);return s||(s=new Set,this.kindHandlers.set(e,s)),s.add(t),()=>s.delete(t)}onAny(e){return this.anyHandlers.add(e),()=>this.anyHandlers.delete(e)}onRequest(e,t){let s=Symbol(e),n=this.requestHandlers.get(e);return n||(n=new Map,this.requestHandlers.set(e,n)),n.set(s,t),()=>{let t=this.requestHandlers.get(e);t&&(t.delete(s),0===t.size&&this.requestHandlers.delete(e))}}close(){this.release()}async handleInboundRequest(e,t,s,n){(0,r.cY)("webterm.acp.request.in",{method:t,id:e});try{let r=await n(s);this.sendResponse({jsonrpc:"2.0",id:e,result:r},t)}catch(n){let s=n instanceof Error?n.message:String(n);this.sendResponse({jsonrpc:"2.0",id:e,error:{code:-32603,message:"internal error: ".concat(s)}},t)}}sendErrorResponse(e,t,s){this.sendResponse({jsonrpc:"2.0",id:e,error:{code:t,message:s}},"error-response")}sendResponse(e,t){if("OPEN"!==this.stateValue||this.ws.readyState!==WebSocket.OPEN)return void(0,r.cY)("webterm.acp.request.response.drop",{method:t,id:e.id,state:this.stateValue});try{this.ws.send(JSON.stringify(e)+"\n")}catch(s){(0,r.cY)("webterm.acp.request.response.fail",{method:t,id:e.id,reason:String(s)})}}async waitOpen(){if(this.ws.readyState!==WebSocket.OPEN){if(this.ws.readyState===WebSocket.CLOSED||this.ws.readyState===WebSocket.CLOSING)throw Error("socket already closed");await new Promise((e,t)=>{let s=()=>{a(),this.transition("OPEN"),e()},n=()=>{a(),t(Error("socket open failed"))},r=()=>{a(),t(Error("socket closed before open"))},a=()=>{this.ws.removeEventListener("open",s),this.ws.removeEventListener("error",n),this.ws.removeEventListener("close",r)};this.ws.addEventListener("open",s),this.ws.addEventListener("error",n),this.ws.addEventListener("close",r)})}}onMessage(e){var t;let s,n,a=e.data;if("string"==typeof a)s=a;else if(a instanceof ArrayBuffer)s=new TextDecoder().decode(new Uint8Array(a));else{if("undefined"!=typeof Blob&&a instanceof Blob)return void a.text().then(t=>this.onMessage({...e,data:t}));s=""}try{n=JSON.parse(s)}catch(e){(0,r.cY)("webterm.acp.parse-error",{err:String(e),len:s.length});return}if(!n.kind&&n.method&&"session/update"===n.method&&(n.kind="sessionUpdate"),(0,r.cY)("webterm.acp.frame.in",{method:null!=(t=n.method)?t:"(notif)",kind:n.kind,id:n.id}),void 0!==n.id&&this.pending.has(n.id)){let e=this.pending.get(n.id);this.pending.delete(n.id),n.error?e.reject(Error(n.error.message)):e.resolve(n.result)}else if(void 0!==n.id&&n.method&&this.requestHandlers.has(n.method)){let e=[...this.requestHandlers.get(n.method).values()].at(-1);e&&this.handleInboundRequest(n.id,n.method,n.params,e)}else void 0!==n.id&&n.method&&this.sendErrorResponse(n.id,-32601,"method not found: ".concat(n.method));if(n.kind){let e=this.kindHandlers.get(n.kind);null==e||e.forEach(e=>e(n))}this.anyHandlers.forEach(e=>e(n))}constructor(e,t,s,n){this.nextId=1,this.pending=new Map,this.kindHandlers=new Map,this.anyHandlers=new Set,this.requestHandlers=new Map,this.sessionHandlers=new Set,this.stateHandlers=new Set,this.leases=0,this.stateValue="CONNECTING",this.handshakeComplete=!1,this.terminalNotified=!1;let a=s?"".concat(e,"?session=").concat(encodeURIComponent(s)):e;(0,r.cY)("webterm.acp.connect",{url:a,hasToken:!!t,sessionId:s}),this.ws=t?new WebSocket(a,["bearer.".concat(t)]):new WebSocket(a),this.onTerminal=n,this.ws.binaryType="arraybuffer",this.ws.addEventListener("message",e=>this.onMessage(e)),this.ws.addEventListener("error",e=>{let t=Error("socket error: ".concat(String(e)));this.fail(t),(this.ws.readyState===WebSocket.CONNECTING||this.ws.readyState===WebSocket.OPEN)&&this.ws.close(),(0,r.cY)("webterm.acp.error",{ev:String(e)})}),this.ws.addEventListener("close",e=>{var t;let s=e.reason?": ".concat(e.reason):"",n=null!=(t=this.stateError)?t:Error("socket closed: ".concat(e.code).concat(s));this.terminate(n,this.handshakeComplete?"CLOSED":"FAILED"),(0,r.cY)("webterm.acp.close",{code:e.code,reason:e.reason,handshakeComplete:this.handshakeComplete})}),this.readyPromise=(async()=>{await this.waitOpen();let e=await this.sendRaw("initialize",{protocolVersion:1,clientCapabilities:{fs:{readTextFile:!1,writeTextFile:!1},terminal:!1,_meta:{elanous:{ui:{showModal:!0,showToast:!0,updateStatusPill:!0,usage:!1},term:{terminalOutput:!0,terminalExit:!0,terminalFrame:!0},ask:{askUserQuestion:!0}}}}});(0,r.cY)("webterm.acp.initialize.done",{res:e});let t="";if(s)try{await this.sendRaw("session/load",{sessionId:s,cwd:"/",mcpServers:[]}),t=s,(0,r.cY)("webterm.acp.session-load.done",{sessionId:t})}catch(e){(0,r.cY)("webterm.acp.session-load.miss",{sessionId:s,reason:String(e)})}if(!t){var n;let e=await this.sendRaw("session/new",{cwd:"/",mcpServers:[]});t=null!=(n=null==e?void 0:e.sessionId)?n:"",(0,r.cY)("webterm.acp.session-new.done",{sessionId:t})}return t&&this.sessionHandlers.forEach(e=>{try{e(t)}catch(e){}}),this.handshakeComplete=!0,t})().catch(e=>{let t=e instanceof Error?e:Error(String(e));return this.fail(t),(0,r.cY)("webterm.acp.handshake-failed",{reason:t.message}),""})}}class c{track(e){return this.closed?(e(),()=>{}):(this.disposers.add(e),()=>{this.disposers.delete(e),e()})}get ready(){return this.core.ready}get readyState(){return this.core.readyState}get state(){return this.core.state}send(e,t){return this.closed?Promise.reject(Error("ACP lease released")):this.core.send(e,t)}on(e,t){return this.closed?()=>{}:this.track(this.core.on(e,t))}onAny(e){return this.closed?()=>{}:this.track(this.core.onAny(e))}onRequest(e,t){return this.closed?()=>{}:this.track(this.core.onRequest(e,t))}onState(e){return this.closed?()=>{}:this.track(this.core.onState(e))}close(){this.closed||(this.closed=!0,this.disposers.forEach(e=>e()),this.disposers.clear(),this.core.release())}constructor(e,t){this.core=e,this.closed=!1,this.disposers=new Set,t&&this.disposers.add(e.subscribeSession(t))}}function d(e){if(!e||"object"!=typeof e||Array.isArray(e))return null;let t=e.result,s=null===t||"object"!=typeof t||Array.isArray(t)?void 0:t,n=null==s?void 0:s._meta,r=null===n||"object"!=typeof n||Array.isArray(n)?void 0:n.ui,a=null===r||"object"!=typeof r||Array.isArray(r)?void 0:r.resourceUri,o=null==s?void 0:s["ui/resourceUri"],i="string"==typeof a?a:"string"==typeof o?o:void 0;return{id:e.id,name:e.name,ok:e.ok,...void 0!==e.summary?{summary:e.summary}:{},...void 0!==t?{rawOutput:t}:{},...void 0!==i?{resourceUri:i}:{},...void 0!==e.resultOmittedReason?{resultOmittedReason:e.resultOmittedReason}:{}}}function u(e){let t="message",s="";for(let n of e.split("\n"))if(n.startsWith("event:"))t=n.slice(6).trim();else if(n.startsWith("data:")){let e=n.slice(5);s+=e.startsWith(" ")?e.slice(1):e}if(!s)return null;try{return{event:t,data:JSON.parse(s)}}catch(e){return null}}async function h(e,t){let s=e.getReader(),n=new TextDecoder,o="",i=null,l=null;for(;;){let e,{value:v,done:b}=await s.read();if(b)break;for(o+=n.decode(v,{stream:!0});(e=o.indexOf("\n\n"))>=0;){var c,h,f,p,m,g,y,w;let s=o.slice(0,e);o=o.slice(e+2);let n=u(s);if(n)if("turn-begin"===n.event)null==(c=t.onTurnBegin)||c.call(t,n.data);else if("text-delta"===n.event)null==(h=t.onTextDelta)||h.call(t,n.data);else if("image-block"===n.event)null==(f=t.onImageBlock)||f.call(t,n.data);else if("tool-call"===n.event)null==(p=t.onToolCall)||p.call(t,n.data);else if("tool-result"===n.event){let e=d(n.data);e&&(null==(m=t.onToolResult)||m.call(t,e))}else"feedback"===n.event?(0,a.L)(n.data)?null==(g=t.onFeedback)||g.call(t,n.data):(0,r.cY)("webterm.sse.feedback.drop",{reason:"schema-mismatch"}):"turn-end"===n.event?(i=n.data,null==(y=t.onTurnEnd)||y.call(t,i)):"error"===n.event&&(l=n.data,null==(w=t.onError)||w.call(t,l))}}if(l){let e=l.message?": ".concat(l.message):"";throw Error("".concat(l.error).concat(e))}if(!i)throw Error("prompt/stream closed without turn-end");return i}async function f(e,t){let s=e.getReader(),n=new TextDecoder,o="";for(;;){let{value:e,done:y}=await s.read();if(y)break;let w=(o+=n.decode(e,{stream:!0})).indexOf("\n\n");for(;w>=0;){var i,l,c,h,f,p,m,g;let e=o.slice(0,w);o=o.slice(w+2);let s=u(e);if(w=o.indexOf("\n\n"),s&&"subscribed"!==s.event)if("turn-begin"===s.event)null==(i=t.onTurnBegin)||i.call(t,s.data);else if("text-delta"===s.event)null==(l=t.onTextDelta)||l.call(t,s.data);else if("image-block"===s.event)null==(c=t.onImageBlock)||c.call(t,s.data);else if("tool-call"===s.event)null==(h=t.onToolCall)||h.call(t,s.data);else if("tool-result"===s.event){let e=d(s.data);e&&(null==(f=t.onToolResult)||f.call(t,e))}else"feedback"===s.event?(0,a.L)(s.data)?null==(p=t.onFeedback)||p.call(t,s.data):(0,r.cY)("webterm.sse.feedback.observer-drop",{reason:"schema-mismatch"}):"turn-end"===s.event?null==(m=t.onTurnEnd)||m.call(t,s.data):"error"===s.event&&(null==(g=t.onError)||g.call(t,s.data))}}}let p={idle:null,working:"running",awaiting:"queued",done:"done",err:"error"};async function m(e,t,s){let n=e.getReader(),o=new TextDecoder,i="",l=new Map,c=e=>{var t;let s=(null!=(t=l.get(e))?t:0)+1;return l.set(e,s),s};for(;;){let{value:e,done:l}=await n.read();if(l)break;let d=(i+=o.decode(e,{stream:!0})).indexOf("\n\n");for(;d>=0;){let e=i.slice(0,d);d=(i=i.slice(d+2)).indexOf("\n\n");let n=u(e);if(!n||"agent.status"!==n.event)continue;let o=n.data;if(!o||"object"!=typeof o)continue;let l=o.detail;if(!l||"string"!=typeof l.agentId||"string"!=typeof l.status)continue;let h=p[l.status];if(null==h)continue;let f="".concat(t,":agent-status:").concat(l.agentId),m={envelopeVersion:1,sessionId:t,blockId:f,kind:"agent.status",phase:"update",emittedAt:"number"==typeof l.updatedAt?l.updatedAt:o.ts,seq:c(f),payload:{agentId:l.agentId,status:h,..."string"==typeof l.lastEvent?{lastEvent:l.lastEvent}:{}},asciiFallback:["".concat(l.agentId," ").concat(h).concat(l.lastEvent?" \xb7 "+l.lastEvent:"")]};if(!(0,a.L)(m)){(0,r.cY)("webterm.agent-status.synthesize.drop",{agentId:l.agentId,status:l.status});continue}s.onFeedback(m)}}}async function g(e,t,s){let n=e.getReader(),o=new TextDecoder,i="",l=new Map,c=e=>{var t;let s=(null!=(t=l.get(e))?t:0)+1;return l.set(e,s),s};for(;;){let{value:e,done:l}=await n.read();if(l)break;let h=(i+=o.decode(e,{stream:!0})).indexOf("\n\n");for(;h>=0;){var d;let e=i.slice(0,h);h=(i=i.slice(h+2)).indexOf("\n\n");let n=u(e);if(!n||"hud.segment"!==n.event)continue;let o=n.data;if(!o||"object"!=typeof o)continue;let l=o.detail;if(!l||"string"!=typeof l.key||!l.key)continue;let f="end"===l.phase?"end":"update",p="".concat(t,":hud:").concat(l.key),m={key:l.key};if("update"===f){if("string"!=typeof l.value){(0,r.cY)("webterm.hud-segment.synthesize.drop",{key:l.key,reason:"missing-value"});continue}m.value=l.value,"number"==typeof l.priority&&(m.priority=l.priority),"string"==typeof l.tone&&(m.tone=l.tone),"string"==typeof l.glyph&&(m.glyph=l.glyph)}else m.value="";let g={envelopeVersion:1,sessionId:t,blockId:p,kind:"hud.segment",phase:f,emittedAt:o.ts,seq:c(p),payload:m,asciiFallback:"update"===f&&"string"==typeof l.value?["".concat(null!=(d=l.glyph)?d:"").concat(l.glyph?" ":"").concat(l.value)]:[]};if(!(0,a.L)(g)){(0,r.cY)("webterm.hud-segment.synthesize.drop",{key:l.key,reason:"wire-guard"});continue}s.onFeedback(g)}}}},75261:(e,t,s)=>{s.d(t,{Zr:()=>o,f6:()=>r,oD:()=>a});let n="elanous.daemon.sessionId";function r(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():"s-".concat(Date.now().toString(36),"-").concat(Math.random().toString(36).slice(2,10))}function a(){let e=function(){let e=new URLSearchParams(window.location.search).get("session");return e?(localStorage.setItem(n,e),e):localStorage.getItem(n)}();if(e)return e;let t=r();return localStorage.setItem(n,t),t}function o(){let e=r();return localStorage.setItem(n,e),e}},76390:(e,t,s)=>{s.d(t,{L:()=>a});let n=new Set(["tool.progress","tool.diff","tool.search-hit","agent.status","agent.thinking","agent.plan","debug.line","perf.tick","hud.segment","mission.update","agent.chat-stream","media.image","media.video","media.job"]),r=new Set(["start","delta","update","end"]);function a(e){return null!==e&&"object"==typeof e&&1===e.envelopeVersion&&"string"==typeof e.sessionId&&!!e.sessionId&&"string"==typeof e.blockId&&!!e.blockId&&"string"==typeof e.kind&&!!n.has(e.kind)&&"string"==typeof e.phase&&!!r.has(e.phase)&&"number"==typeof e.emittedAt&&"number"==typeof e.seq&&!(e.seq<0)&&!!Array.isArray(e.asciiFallback)&&void 0!==e.payload&&null!==e.payload&&(void 0===e.parentToolCallId||"string"==typeof e.parentToolCallId)&&!0}},85351:(e,t,s)=>{let n;s.d(t,{cY:()=>d,x8:()=>i});let r={debug:0,info:1,warn:2,error:3},a="/v1/debug-logs/batch",o=null;function i(e){o=e}class l{health(){return{pending:this.queue.length,consecutiveFailures:this.consecutiveFailures,lastOkAt:this.lastOkAt,droppedByCap:this.droppedByCap,fallbackBatches:this.fallbackBatches}}push(e){if(!(r[function(e){let t=e.slice(e.lastIndexOf(".")+1).toLowerCase();return/^(error|exception|crash|fail|failed)$/.test(t)?"error":/^(warn|degraded|timeout)$/.test(t)?"warn":/^(boot|ready|start|begin|open|ok|done|resolve|end|stop|close)$/.test(t)?"info":"debug"}(e.category)]<r[this.minLevel])){if(this.queue.push(e),this.queue.length>500){let e=this.queue.length-500;this.droppedByCap+=e,this.queue.splice(0,e)}null===this.timer&&(this.timer=setTimeout(()=>{this.flush()},100))}}async flush(){if(this.timer&&(clearTimeout(this.timer),this.timer=null),this.inFlight||0===this.queue.length)return;let e=this.queue.slice(0,100);this.inFlight=!0;let t=!1,s=JSON.stringify({records:e});try{var n,r;t=await (n=this.fetchFn(s),r=this.postTimeoutMs,new Promise((e,t)=>{let s=setTimeout(()=>t(Error("debug-forward timeout after ".concat(r,"ms"))),r);n.then(t=>{clearTimeout(s),e(t)},e=>{clearTimeout(s),t(e)})}))}catch(e){t=!1}finally{this.inFlight=!1}if(!t){if(this.consecutiveFailures+=1,this.consecutiveFailures>=2&&o)try{await o(JSON.stringify({records:[...e,this.blockedNotice()]}))&&(this.fallbackBatches+=1)}catch(e){}this.wasFailing=!0,this.scheduleRetry();return}let a=this.lastOkAt;this.lastOkAt=Date.now();let i=this.consecutiveFailures;this.consecutiveFailures=0,this.queue.splice(0,e.length),this.wasFailing&&(this.wasFailing=!1,this.queue.push({ts:new Date().toISOString(),category:"pwa.debug-forwarder.recovered",event:"recovered",data:{consecutiveFailures:i,droppedByCap:this.droppedByCap,fallbackBatches:this.fallbackBatches,pending:this.queue.length,previousOkAt:a},source:{platform:"pwa"}})),this.queue.length>0&&null===this.timer&&(this.timer=setTimeout(()=>{this.flush()},100))}scheduleRetry(){if(null!==this.timer||0===this.queue.length)return;let e=Math.min(100*2**this.consecutiveFailures,3e4);this.timer=setTimeout(()=>{this.flush()},e)}blockedNotice(){return{ts:new Date().toISOString(),category:"pwa.debug-forwarder.http-blocked",event:"http-blocked",data:{consecutiveFailures:this.consecutiveFailures,pending:this.queue.length,droppedByCap:this.droppedByCap,lastOkAt:this.lastOkAt,via:"acp-fallback"},source:{platform:"pwa"}}}beaconFlush(){if(0!==this.queue.length)try{if("undefined"!=typeof navigator&&"function"==typeof navigator.sendBeacon){let e=this.queue.slice(0,100),t=new Blob([JSON.stringify({records:e})],{type:"application/json"});navigator.sendBeacon(a,t)&&this.queue.splice(0,e.length)}}catch(e){}}get pending(){return this.queue.length}constructor(e=c,t="debug",s=1e4){this.fetchFn=e,this.minLevel=t,this.postTimeoutMs=s,this.queue=[],this.timer=null,this.inFlight=!1,this.consecutiveFailures=0,this.lastOkAt=null,this.droppedByCap=0,this.fallbackBatches=0,this.wasFailing=!1}}async function c(e){return(await fetch(a,{method:"POST",headers:{"content-type":"application/json"},body:e,keepalive:!0,..."undefined"!=typeof AbortSignal&&"function"==typeof AbortSignal.timeout?{signal:AbortSignal.timeout(1e4)}:{}})).ok}function d(e,t){if("undefined"==typeof console)return;let s=new Date().toISOString();if(void 0!==t){let n="";try{let e=new WeakSet;n=JSON.stringify(t,(t,s)=>{if("bigint"==typeof s)return"".concat(s.toString(),"n");if("function"==typeof s)return"[fn ".concat(s.name||"anon","]");if(s&&"object"==typeof s){if(e.has(s))return"[circular]";e.add(s)}return s})}catch(e){n="[unserializable: ".concat(String(e),"]")}n&&n.length>800&&(n=n.slice(0,797)+"..."),console.debug("[".concat(s,"] ").concat(e," ").concat(n),t),u(s,e,n)}else console.debug("[".concat(s,"] ").concat(e)),u(s,e,void 0)}function u(e,t,s){let r,a=function(){if(void 0!==n)return n;let e=function(){try{let e="off"!==window.localStorage.getItem("elanous.pwa.debug.forward"),t=window.localStorage.getItem("elanous.pwa.debug.forwardLevel");return{forward:e,level:"info"===t||"warn"===t||"error"===t?t:"debug"}}catch(e){return{forward:!0,level:"debug"}}}();if(!e.forward)return n=null,null;let t=new l(c,e.level);try{window.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState&&t.beaconFlush()})}catch(e){}return n=t,t}();if(!a)return;let o=t.slice(t.lastIndexOf(".")+1)||t;if(void 0!==s&&""!==s)try{r=JSON.parse(s)}catch(e){r=s}a.push({ts:e,category:t,event:o,...void 0!==r?{data:r}:{},source:{platform:"pwa"}})}}}]);
|