elanous 0.2.0 → 0.2.5
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 +17 -15
- package/apps/pwa/out/404/index.html +1 -1
- package/apps/pwa/out/404.html +1 -1
- package/apps/pwa/out/_next/static/chunks/06ef2eba-d1b99ac6d2ea663c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1413-7179a49332db5a80.js +1 -0
- package/apps/pwa/out/_next/static/chunks/150-25c277137a9638ab.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1640-bc99ec23bbe29d12.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1751.50b96ea9c37b49b6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2300-de059d0ab2a16630.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2684-05b0a81e75298c16.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3026-2ed7e317d9b02102.js +25 -0
- package/apps/pwa/out/_next/static/chunks/3611-77496ada38cd6358.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3717-68957c4dc9ceec90.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3929-46ba9af6f9d895cc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4015-62c5a3744698a8da.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4217-3c4317a7905f9eeb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4240-3230f230fae2d7d5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4271-e53e075ebd48593b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4377.3b125fef79576dfd.js +5 -0
- package/apps/pwa/out/_next/static/chunks/4440-18bb160d95819f4e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4853-35fdbe6bdbcdc0fc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2a79f15a-2013e4d421d6df88.js → 4daa2798-1363d725c79f3593.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/5007-6a3b30e23ff68a6e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5244-12b424c42070f5ff.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5348-bbf838e119661eee.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5391-8793f88b03b30161.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5611-df00af3e4e4a61bb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5890-dca2321773be829a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6123-37c9dc57ddaa7ab0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6588-b7975304a302ab91.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6604-c03961962b6273b6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7109-cf8c87e968e83a65.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7178-30f77877525a2efb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7262-871563fc9663730b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7294-f0eeebb92aa93459.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7429-881af44deed6958f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5927.8378481a12cc8044.js → 7527.943753b6ed829f09.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/764-a01e858525a190c0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7868-e35d5f7985ecd3f1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8320-51484af7b01fdfa5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6804.8ed6ab492bc5fc0a.js → 8617.465ca22a319c95b3.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{320-d7013ec072863e5e.js → 8918-482b30ce2a8ebf4c.js} +4 -4
- package/apps/pwa/out/_next/static/chunks/9131-52f5fad51cceca04.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2598.814f64e3268634e7.js → 9238.2cd5f47f4bf7a2c3.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/9704-3221c102623c8d73.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-70c404c7bb6d7f0f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-3ffd80166b1050aa.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-f89e9a303515a033.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/board/page-4f403cd060442c95.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-0ac5d053f0444d21.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/bots/page-4bcc63e272ae8205.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/page-880734bd07d62882.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/control/page-72bd384898d88955.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-1018bbc9586ecae5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/editor/page-de86f8c38076dd7b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-70c404c7bb6d7f0f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/intake/page-cd6447196d8bafe6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/layout-e733630c47fa102b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live/page-d1c1a8357b161875.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/market/page-60c514128e81d787.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-8b637b7e325e13c1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/morning/page-bccce0babceae30f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/not-found-63301d11dbe73836.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-a8cf0dc472060db2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/page-02fba54881ccfa49.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-d5e8e90f0038f8de.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-b1ef6824f494466a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-d589bb0f233b1009.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-c9bbaebef4cda059.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/page-3639ce7916b92fed.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-7450ae7478955653.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-70c404c7bb6d7f0f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/page-b41ca4abfd618452.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/share/page-b333dd79ebee3fa9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-8be1227492793655.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-6e03e9371b552e0d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/term/page-911411e9fca18d03.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/trace/page-792170e649b37088.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/vault/page-c40463466937bc91.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-509c798b80384536.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-1cac2aa21d77c417.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-9626799d9b4a2cd1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-84cd419494e16b0f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/f6f3850d-7f324c6566002113.js +1 -0
- package/apps/pwa/out/_next/static/chunks/framework-361487d2da603917.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-app-607f5beb94cb2e07.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-d0222d219e29dddf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_app-a26980a31126decc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_error-edb2b37decf23e4d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/webpack-2bf59c720fe9542c.js +1 -0
- package/apps/pwa/out/_next/static/css/eaa74e8bb2f62269.css +1 -0
- package/apps/pwa/out/_next/static/ktMqfrBbf8BMGac0jqLrb/_buildManifest.js +1 -0
- package/apps/pwa/out/approvals/index.html +1 -0
- package/apps/pwa/out/approvals/index.txt +32 -0
- package/apps/pwa/out/autopilot/index.html +1 -1
- package/apps/pwa/out/autopilot/index.txt +29 -26
- package/apps/pwa/out/board/index.html +1 -0
- package/apps/pwa/out/board/index.txt +32 -0
- package/apps/pwa/out/botlab/index.html +1 -1
- package/apps/pwa/out/botlab/index.txt +26 -23
- package/apps/pwa/out/bots/index.html +1 -1
- package/apps/pwa/out/bots/index.txt +26 -23
- package/apps/pwa/out/chat/index.html +1 -2
- package/apps/pwa/out/chat/index.txt +26 -23
- package/apps/pwa/out/control/index.html +1 -1
- package/apps/pwa/out/control/index.txt +29 -26
- package/apps/pwa/out/design-check/index.html +1 -1
- package/apps/pwa/out/design-check/index.txt +29 -26
- package/apps/pwa/out/editor/index.html +1 -0
- package/apps/pwa/out/editor/index.txt +33 -0
- package/apps/pwa/out/healthz +1 -1
- package/apps/pwa/out/icons/elanous-16.png +0 -0
- package/apps/pwa/out/icons/elanous-180.png +0 -0
- package/apps/pwa/out/icons/elanous-192.png +0 -0
- package/apps/pwa/out/icons/elanous-32.png +0 -0
- package/apps/pwa/out/icons/elanous-512.png +0 -0
- package/apps/pwa/out/index.html +1 -1
- package/apps/pwa/out/index.txt +26 -23
- package/apps/pwa/out/intake/index.html +1 -1
- package/apps/pwa/out/intake/index.txt +29 -26
- package/apps/pwa/out/live/index.html +1 -0
- package/apps/pwa/out/live/index.txt +32 -0
- package/apps/pwa/out/manifest.webmanifest +5 -2
- package/apps/pwa/out/market/index.html +1 -0
- package/apps/pwa/out/market/index.txt +29 -0
- package/apps/pwa/out/missions/placeholder/index.html +1 -1
- package/apps/pwa/out/missions/placeholder/index.txt +26 -23
- package/apps/pwa/out/morning/index.html +1 -1
- package/apps/pwa/out/morning/index.txt +29 -26
- package/apps/pwa/out/observatory/index.html +1 -1
- package/apps/pwa/out/observatory/index.txt +29 -26
- package/apps/pwa/out/reflection/index.html +1 -1
- package/apps/pwa/out/reflection/index.txt +27 -24
- package/apps/pwa/out/scheduler/index.html +1 -1
- package/apps/pwa/out/scheduler/index.txt +29 -26
- package/apps/pwa/out/sessions/index.html +1 -1
- package/apps/pwa/out/sessions/index.txt +26 -23
- package/apps/pwa/out/settings/devices/index.html +1 -1
- package/apps/pwa/out/settings/devices/index.txt +29 -26
- package/apps/pwa/out/settings/index.html +1 -1
- package/apps/pwa/out/settings/index.txt +29 -26
- package/apps/pwa/out/setup/done/index.html +1 -1
- package/apps/pwa/out/setup/done/index.txt +29 -26
- package/apps/pwa/out/setup/index.html +1 -1
- package/apps/pwa/out/setup/index.txt +29 -26
- package/apps/pwa/out/share/index.html +1 -1
- package/apps/pwa/out/share/index.txt +29 -26
- package/apps/pwa/out/showroom/index.html +1 -1
- package/apps/pwa/out/showroom/index.txt +26 -23
- package/apps/pwa/out/sw-strategies.js +44 -0
- package/apps/pwa/out/sw.js +6 -44
- package/apps/pwa/out/tasks/index.html +1 -1
- package/apps/pwa/out/tasks/index.txt +29 -26
- package/apps/pwa/out/term/index.html +1 -1
- package/apps/pwa/out/term/index.txt +29 -26
- package/apps/pwa/out/trace/index.html +1 -0
- package/apps/pwa/out/trace/index.txt +32 -0
- package/apps/pwa/out/vault/index.html +1 -1
- package/apps/pwa/out/vault/index.txt +29 -26
- package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
- package/apps/pwa/out/workflows/chat-ui/index.txt +29 -26
- package/apps/pwa/out/workflows/index.html +1 -1
- package/apps/pwa/out/workflows/index.txt +29 -27
- package/apps/pwa/out/workspace/index.html +1 -1
- package/apps/pwa/out/workspace/index.txt +29 -26
- package/apps/pwa/out/worktrees/index.html +1 -1
- package/apps/pwa/out/worktrees/index.txt +29 -26
- package/catalog/resources.yaml +14 -17
- 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 +42 -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 +45 -0
- package/graphs/release/release-loop.yaml +45 -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/README.md +1 -0
- package/graphs/video/broll-line.yaml +54 -0
- package/graphs/video/explainer-line.yaml +58 -0
- package/package.json +9 -5
- package/plugins/job-coach/.agents/plugins/marketplace.json +12 -0
- package/plugins/job-coach/.codex-plugin/plugin.json +23 -0
- package/plugins/job-coach/.mcp.json +9 -0
- package/plugins/job-coach/README.md +32 -0
- package/plugins/job-coach/connectors/ncs/server.ts +90 -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/gap-judge.ts +44 -0
- package/plugins/job-coach/graphs/recipes.yaml +45 -0
- package/plugins/job-coach/graphs/report-enterprise.yaml +28 -0
- package/plugins/job-coach/graphs/report.yaml +20 -0
- package/plugins/job-coach/graphs/run-step.ts +302 -0
- package/plugins/job-coach/plugin.json +26 -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/enterprise-ai-fit/SKILL.md +8 -0
- package/plugins/job-coach/skills/enterprise-competency/SKILL.md +8 -0
- package/plugins/job-coach/skills/enterprise-needs/SKILL.md +8 -0
- package/plugins/job-coach/skills/enterprise-roadmap/SKILL.md +8 -0
- package/plugins/job-coach/skills/enterprise-task-analysis/SKILL.md +8 -0
- package/plugins/job-coach/skills/interview-to-profile/SKILL.md +23 -0
- package/plugins/job-coach/skills/run-report/SKILL.md +15 -0
- package/scripts/backup/elanous-backup.sh +143 -14
- package/scripts/backup/elanous-restore.sh +122 -0
- package/scripts/build-docs-site.ts +4 -3
- 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 +28 -9
- package/scripts/coord-post.sh +49 -12
- package/scripts/coord-tracks.json +6 -5
- 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/eval-bot-vs-grok.ts +79 -0
- package/scripts/eval-grok-live-baseline.ts +36 -0
- package/scripts/fixtures/front-route-corpus.sample.json +17 -0
- package/scripts/fleet/node-setup.sh +80 -7
- 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 +63 -0
- package/scripts/landing-heal/run-mission.ts +195 -0
- package/scripts/lib/front-route-measurement.ts +131 -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/lib/tui-sim-keys.ts +42 -0
- package/scripts/market/db-check.ts +212 -0
- package/scripts/market-posture-cycle.ts +63 -4
- package/scripts/measure-front-route-classifier.ts +56 -0
- package/scripts/media/ocr-leak-scan.sh +21 -0
- 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-export.ts +2 -3
- package/scripts/public-import-pr.ts +80 -6
- package/scripts/public-leak-baseline.txt +0 -7
- package/scripts/publish-internal-dist.ts +118 -0
- package/scripts/pwa-scenarios.ts +106 -0
- package/scripts/rebrand-elanous.ts +1 -1
- package/scripts/red-sweep-diff.ts +1 -1
- package/scripts/release-loop/auto-approve-node.ts +72 -0
- 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 +641 -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 +61 -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 +109 -0
- package/scripts/release-loop/test-durations.ts +63 -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 +26 -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-audit-coverage-per-file.sh +16 -0
- package/scripts/test-audit-meaningless.ts +88 -0
- package/scripts/test-audit-overlap-and-weak.ts +73 -0
- package/scripts/test-deterministic.ts +29 -6
- package/scripts/tui-sim.ts +59 -14
- package/scripts/uninstall.sh +10 -3
- package/scripts/ux/bump-installed.sh +20 -0
- package/scripts/ux/lib/cdp.ts +72 -0
- package/scripts/ux/record-page.ts +50 -0
- 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/explainer-video/SKILL.md +99 -0
- package/skills/explainer-video/engine/brand/elanous-mark-on-dark.svg +1 -0
- package/skills/explainer-video/engine/build.mjs +431 -0
- package/skills/explainer-video/engine/vo.ts +37 -0
- package/skills/explainer-video/examples/elanous-0.2.5/script.json +155 -0
- 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/nested-agent-env.ts +1 -0
- 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 +900 -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 +25 -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 +235 -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/acp-token.ts +16 -0
- package/src/auth/github-app-token.ts +112 -0
- 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/gh-rest-fallback.ts +177 -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/pr-manager.ts +51 -4
- 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 +18 -18
- 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/boot/daemon-tools/web-search.ts +2 -1
- package/src/boot/ws-bridge.ts +11 -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 +57 -52
- package/src/chat/input-text-key.ts +2 -2
- package/src/chat/log-scroll-key.ts +12 -0
- 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/submit-trace.ts +30 -0
- 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 +726 -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/decisions-cli.ts +94 -0
- package/src/cli/docs-cli.ts +38 -0
- package/src/cli/doctor-cli.ts +262 -77
- 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 +23 -28
- 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 +52 -13
- package/src/cli/mcp-gateway-cli.ts +94 -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 +201 -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/pr-lineage.ts +2 -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 +102 -27
- package/src/cli/pwa-test.ts +201 -96
- package/src/cli/release-cli.ts +177 -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 +103 -12
- 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 +240 -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 +14 -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 +331 -2562
- 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/input/no-provider-reply.ts +13 -0
- 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/slash-runtime/unknown-slash-reply.ts +78 -0
- package/src/dashboard/stale-install-check.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/decisions/decision-ledger.ts +404 -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 +24 -6
- 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/domains/telegram-kind-route.ts +21 -0
- package/src/element-registry/address.ts +1 -3
- package/src/execution-loop/dispatch-task.ts +139 -0
- package/src/execution-loop/gate-decision-summary.ts +29 -0
- package/src/execution-loop/gates.ts +197 -0
- 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/installed-plugin-nodes.ts +95 -0
- package/src/graph-kinds/plugin-nodes.ts +68 -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 +487 -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 +121 -0
- package/src/harness/harness-cli-command.ts +415 -23
- package/src/harness/harness-pod-dispatch.ts +116 -0
- package/src/harness/harness-stop.ts +260 -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 +233 -0
- package/src/harness/self-send-target.ts +22 -1
- package/src/harness/shell-relay.ts +5 -0
- package/src/harness/worktree-branch-prefix.ts +4 -3
- 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 +712 -3409
- 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 +46 -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 +91 -0
- package/src/intake-plane/digest.ts +111 -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 +180 -0
- package/src/llm/provider-detect.ts +247 -0
- package/src/llm/provider-probe.ts +57 -0
- package/src/llm/usable-llm.ts +32 -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 +196 -0
- package/src/market/official-keys.ts +5 -0
- package/src/market/publish.ts +329 -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 +66 -345
- 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-approvals.ts +125 -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 +328 -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 +42 -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 +31 -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 +307 -0
- package/src/nexus/api/meta-api.ts +18 -0
- package/src/nexus/api/next-fluent-wiring.ts +7 -9
- package/src/nexus/api/plugins-credentials-api.ts +47 -0
- package/src/nexus/api/plugins-market.ts +209 -0
- package/src/nexus/api/pod-credential-api.ts +187 -0
- package/src/nexus/api/public-routes.ts +87 -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 +405 -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 +135 -16
- package/src/nexus/daemon-endpoint.ts +85 -0
- package/src/nexus/default-port.ts +1 -0
- package/src/nexus/index.ts +362 -143
- package/src/nexus/onboarding/pwa-share-prompt.ts +31 -8
- package/src/nexus/onboarding/tailscale-probe.ts +9 -1
- package/src/nexus/outbound/router.ts +1 -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 +27 -4
- 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 +108 -4
- package/src/plugins/core/manifest.ts +104 -7
- package/src/plugins/install/market-fetch.ts +250 -0
- package/src/plugins/install/plugin-credentials.ts +106 -0
- package/src/plugins/install/plugin-install.ts +518 -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/prompt-library/universal-preamble.ts +8 -2
- 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/checklist.ts +191 -0
- package/src/release-loop/manifest.ts +65 -0
- package/src/release-loop/release-note.ts +177 -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 +290 -159
- package/src/self-dev/dev-pipeline.ts +157 -9
- 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 +35 -2
- 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 +41 -3
- 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 +244 -0
- package/src/self-implement/non-git-consent.ts +23 -0
- package/src/self-implement/orchestrator.ts +488 -134
- 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 +207 -40
- 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 +45 -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/steward-cards.ts +45 -0
- package/src/steward/triage.ts +239 -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 +194 -0
- package/src/task-orchestrator/surfaces/pod-command-job.ts +369 -0
- package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +207 -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 +147 -0
- package/src/task-orchestrator/surfaces/pod-source-receive.ts +129 -0
- package/src/task-orchestrator/surfaces/pod-source-spec.ts +77 -0
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +930 -45
- 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 +14 -7
- 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/acp-transport-ws-client.ts +72 -5
- package/src/tui-client/headless-core-guard.ts +0 -1
- package/src/tui.ts +11 -7
- package/src/typecheck-ratchet.ts +15 -0
- package/src/ui/hover-presenter.ts +3 -7
- package/src/user-config.ts +453 -190
- package/src/util/spawn-sync-output.ts +15 -0
- package/src/version/code-revision.ts +34 -9
- 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/free.ts +77 -0
- package/src/web-search/index.ts +7 -5
- package/src/web-terminal/preview-tap-registry.ts +152 -43
- package/src/workflow-runtime/deps-bridge.ts +4 -3
- 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 +166 -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 +76 -5
- 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/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/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 → ktMqfrBbf8BMGac0jqLrb}/_ssgManifest.js +0 -0
- /package/src/dashboard/{companion-slash-runtime.ts → companion-messages-runtime.ts} +0 -0
package/.env.example
CHANGED
|
@@ -86,6 +86,12 @@ ELANOUS_DISCORD_BOT_TOKEN= # discord bot, env->config bridge only
|
|
|
86
86
|
TELEGRAM_API_ID= # MTProto user-account injection (scripts/)
|
|
87
87
|
TELEGRAM_API_HASH=
|
|
88
88
|
|
|
89
|
+
# ─────────────────────────────────────────────────────────────────────
|
|
90
|
+
# Assistant (email stays in assistantNoOauth config; secrets in the key cache)
|
|
91
|
+
# ─────────────────────────────────────────────────────────────────────
|
|
92
|
+
# ELANOUS_ASSISTANT_IMAP_APP_PASSWORD=
|
|
93
|
+
# ELANOUS_ASSISTANT_CALENDAR_ICS_URL=
|
|
94
|
+
|
|
89
95
|
# ─────────────────────────────────────────────────────────────────────
|
|
90
96
|
# Development
|
|
91
97
|
# ─────────────────────────────────────────────────────────────────────
|
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Elanous
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
5
|
-
|
|
3
|
+
> **Beta** — Elanous is provided as is (Apache-2.0) until the stable release. Get stable release news at [elanous.ai](https://elanous.ai).
|
|
4
|
+
> **베타** — 정식 릴리스 전까지 Elanous 는 있는 그대로(Apache-2.0) 제공됩니다. 정식 릴리스 소식은 [elanous.ai](https://elanous.ai) 에서 받으세요. <!-- announce:allow B11 -->
|
|
5
|
+
|
|
6
|
+
> The name joins *élan* (the drive to act) and *nous* (mind). The agent
|
|
7
|
+
> observes itself, reasons about what it sees, and repairs itself; a person is called only when it cannot (一約之觀).
|
|
6
8
|
|
|
7
9
|
**A self-healing coding harness where eyes, hands, and memory all turn on
|
|
8
10
|
one sentence — an agent that develops agents.**
|
|
@@ -88,7 +90,7 @@ elanous doctor # every credential the code reads: is it resolved, and fro
|
|
|
88
90
|
work with zero credentials. Each key you add unlocks one capability; see
|
|
89
91
|
[`.env.example`](.env.example). The primary path for LLM access is a
|
|
90
92
|
**subscription**, not an API key (`elanous login openai-codex`) — details in
|
|
91
|
-
[Codex subscription](https://
|
|
93
|
+
[Codex subscription](https://docs.elanous.ai/models/codex-subscription/).
|
|
92
94
|
|
|
93
95
|
## Quick start
|
|
94
96
|
|
|
@@ -97,7 +99,7 @@ elanous harness say "add a --json flag to the status command" # one sentence
|
|
|
97
99
|
elanous harness ask 내부 문서 `MY-ASK` # a written goal
|
|
98
100
|
```
|
|
99
101
|
|
|
100
|
-
See the [Quickstart](https://
|
|
102
|
+
See the [Quickstart](https://docs.elanous.ai/getting-started/quickstart/).
|
|
101
103
|
## What makes it different
|
|
102
104
|
|
|
103
105
|
Most agents do one of these well. elanous's claim is that **all three
|
|
@@ -151,18 +153,18 @@ several places — notably the default integrity gate runs
|
|
|
151
153
|
Running the harness against another repository is **not supported yet**.
|
|
152
154
|
## Documentation
|
|
153
155
|
|
|
154
|
-
All documentation lives at **[
|
|
156
|
+
All documentation lives at **[docs.elanous.ai](https://docs.elanous.ai/)** (한국어: [/ko](https://docs.elanous.ai/ko/)). <!-- announce:allow B11 -->
|
|
155
157
|
|
|
156
158
|
| Goal | Start here |
|
|
157
159
|
|---|---|
|
|
158
|
-
| Install, update, uninstall | [Install](https://
|
|
159
|
-
| First run | [Quickstart](https://
|
|
160
|
-
| Models and logins | [Providers](https://
|
|
161
|
-
| Sessions and the TUI | [Sessions](https://
|
|
162
|
-
| Chat channels | [Telegram](https://
|
|
163
|
-
| Settings and tools | [Configuration](https://
|
|
164
|
-
| Something failed | [Troubleshooting](https://
|
|
165
|
-
| What shipped | [Releases](https://
|
|
160
|
+
| Install, update, uninstall | [Install](https://docs.elanous.ai/getting-started/install/) · [Update and uninstall](https://docs.elanous.ai/getting-started/update-and-uninstall/) |
|
|
161
|
+
| First run | [Quickstart](https://docs.elanous.ai/getting-started/quickstart/) · [Commands you will use](https://docs.elanous.ai/using-elanous/commands/) |
|
|
162
|
+
| Models and logins | [Providers](https://docs.elanous.ai/models/providers/) · [Codex subscription](https://docs.elanous.ai/models/codex-subscription/) |
|
|
163
|
+
| Sessions and the TUI | [Sessions](https://docs.elanous.ai/using-elanous/sessions/) · [The TUI](https://docs.elanous.ai/using-elanous/tui/) |
|
|
164
|
+
| Chat channels | [Telegram](https://docs.elanous.ai/surfaces/telegram/) · [Discord](https://docs.elanous.ai/surfaces/discord/) |
|
|
165
|
+
| Settings and tools | [Configuration](https://docs.elanous.ai/reference/configuration/) · [External commands](https://docs.elanous.ai/reference/external-commands/) · [Source layout](https://docs.elanous.ai/concepts/source-layout/) |
|
|
166
|
+
| Something failed | [Troubleshooting](https://docs.elanous.ai/help/troubleshooting/) |
|
|
167
|
+
| What shipped | [Releases](https://docs.elanous.ai/releases/0-1-0/) |
|
|
166
168
|
## Requirements
|
|
167
169
|
|
|
168
170
|
- **bun** — the tested version is pinned in [`.bun-version`](.bun-version); the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--Ksn99fVf2HUWhSyV1_FC8--><html lang="ko" class="font-sans __variable_45c93f"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/><link rel="preload" href="/app/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/app/_next/static/css/effec8adf767aa75.css" data-precedence="next"/><link rel="stylesheet" href="/app/_next/static/css/04dabcbcc4bfa6db.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/app/_next/static/chunks/webpack-58c73b145f189b1c.js"/><script src="/app/_next/static/chunks/bcc499d1-804a270d878e0842.js" async=""></script><script src="/app/_next/static/chunks/1380-9c652e1002032c86.js" async=""></script><script src="/app/_next/static/chunks/main-app-aa2c05954aaa6754.js" async=""></script><script src="/app/_next/static/chunks/7235-e583e4a015e159b9.js" async=""></script><script src="/app/_next/static/chunks/5583-8a0317f4b8e68db9.js" async=""></script><script src="/app/_next/static/chunks/5508-676ac75f2757ad40.js" async=""></script><script src="/app/_next/static/chunks/526-17a6a2e0e6dc4498.js" async=""></script><script src="/app/_next/static/chunks/6852-983db7ca958634b7.js" async=""></script><script src="/app/_next/static/chunks/4706-d85d7f3345f3ff91.js" async=""></script><script src="/app/_next/static/chunks/3839-eebf298e89a7bb77.js" async=""></script><script src="/app/_next/static/chunks/3659-05b2d5d971b42dbc.js" async=""></script><script src="/app/_next/static/chunks/8617-307421f3b0e8b2a2.js" async=""></script><script src="/app/_next/static/chunks/3607-f0b5c5ee18fcf56a.js" async=""></script><script src="/app/_next/static/chunks/app/layout-e11ee17f221aaa9b.js" async=""></script><script src="/app/_next/static/chunks/3158-c77ed9ea34f9cc9f.js" async=""></script><script src="/app/_next/static/chunks/app/not-found-986c177afb4adae6.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><link rel="preload" as="font" type="font/ttf" href="/app/fonts/JetBrainsMonoNerdFontMono-Regular.ttf" crossorigin="anonymous"/><meta name="theme-color" content="#1e1e2e"/><title>elanous</title><meta name="description" content="monad-agent unified PWA — voice · chat · intake · control · terminal."/><meta name="application-name" content="elanous"/><link rel="manifest" href="/app/manifest.webmanifest"/><script src="/app/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background text-foreground antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full flex-col bg-background text-foreground"><header class="flex h-9 shrink-0 items-center gap-1 border-b border-border bg-background px-2 text-xs"><button type="button" aria-label="open menu" title="open menu" class="flex shrink-0 items-center gap-1.5 rounded-md p-2 text-muted-foreground hover:bg-accent hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-4 w-4" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg><span class="hidden text-[11px] font-medium leading-none sm:inline">메뉴</span></button><div class="ml-auto flex items-center gap-1"><a aria-label="voice" title="voice (HTTPS Tailscale Serve 필요)" class="rounded-md p-1.5 text-muted-foreground hover:bg-accent hover:text-foreground" href="/app/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mic h-4 w-4" aria-hidden="true"><path d="M12 19v3"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><rect x="9" y="2" width="6" height="13" rx="3"></rect></svg></a><div class="relative"><button type="button" aria-label="settings" title="session — · theme catppuccin-mocha" class="rounded-md p-1.5 hover:bg-accent text-muted-foreground hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4" aria-hidden="true"><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"></path><circle cx="12" cy="12" r="3"></circle></svg></button></div></div></header><div class="flex flex-1 min-h-0"><aside class="hidden md:flex md:w-10 md:flex-col border-r border-sidebar-border bg-sidebar text-sidebar-foreground"><nav class="flex h-full flex-col"><ul class="flex-1 space-y-1 px-1 py-2"><li class="group/nav relative"><a title="Terminal — 터미널 + agent dock" aria-label="Terminal — 터미널 + agent dock" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/term/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-terminal h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="m7 11 2-2-2-2"></path><path d="M11 13h4"></path><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Terminal</span><span class="ml-1 text-muted-foreground">— <!-- -->터미널 + agent dock</span></span></li><li class="group/nav relative"><a title="Chat — 채팅 (스트리밍 · multimodal · mic)" aria-label="Chat — 채팅 (스트리밍 · multimodal · mic)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/chat/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square h-4 w-4 shrink-0 text-current" aria-hidden="true"><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"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Chat</span><span class="ml-1 text-muted-foreground">— <!-- -->채팅 (스트리밍 · multimodal · mic)</span></span></li><li class="group/nav relative"><a title="Showroom — multi-agent 동시 비교 (broadcast · CV-3)" aria-label="Showroom — multi-agent 동시 비교 (broadcast · CV-3)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/showroom/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layout-grid h-4 w-4 shrink-0 text-current" aria-hidden="true"><rect width="7" height="7" x="3" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="3" rx="1"></rect><rect width="7" height="7" x="14" y="14" rx="1"></rect><rect width="7" height="7" x="3" y="14" rx="1"></rect></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Showroom</span><span class="ml-1 text-muted-foreground">— <!-- -->multi-agent 동시 비교 (broadcast · CV-3)</span></span></li><li class="group/nav relative"><a title="Bots — 봇 신원 + 공통 명령 카탈로그 (읽기 전용)" aria-label="Bots — 봇 신원 + 공통 명령 카탈로그 (읽기 전용)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/bots/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bot h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Bots</span><span class="ml-1 text-muted-foreground">— <!-- -->봇 신원 + 공통 명령 카탈로그 (읽기 전용)</span></span></li><li class="group/nav relative"><a title="Observatory — subject 관측 (talk · screen · agent)" aria-label="Observatory — subject 관측 (talk · screen · agent)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/observatory/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-telescope h-4 w-4 shrink-0 text-current" aria-hidden="true"><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"></path><path d="m13.56 11.747 4.332-.924"></path><path d="m16 21-3.105-6.21"></path><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"></path><path d="m6.158 8.633 1.114 4.456"></path><path d="m8 21 3.105-6.21"></path><circle cx="12" cy="13" r="2"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Observatory</span><span class="ml-1 text-muted-foreground">— <!-- -->subject 관측 (talk · screen · agent)</span></span></li><li class="group/nav relative"><a title="Autopilot — 미션 지휘 (미션 계보·골 던지기·자율행동·루프)" aria-label="Autopilot — 미션 지휘 (미션 계보·골 던지기·자율행동·루프)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/autopilot/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-compass h-4 w-4 shrink-0 text-current" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><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"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Autopilot</span><span class="ml-1 text-muted-foreground">— <!-- -->미션 지휘 (미션 계보·골 던지기·자율행동·루프)</span></span></li><li class="group/nav relative"><a title="Tasks — 작업 보드" aria-label="Tasks — 작업 보드" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/tasks/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-kanban h-4 w-4 shrink-0 text-current" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M8 7v7"></path><path d="M12 7v4"></path><path d="M16 7v9"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Tasks</span><span class="ml-1 text-muted-foreground">— <!-- -->작업 보드</span></span></li><li class="group/nav relative"><a title="Vault — Obsidian 노트 (브라우저·에디터·검색·그래프)" aria-label="Vault — Obsidian 노트 (브라우저·에디터·검색·그래프)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/vault/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M12 7v14"></path><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"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Vault</span><span class="ml-1 text-muted-foreground">— <!-- -->Obsidian 노트 (브라우저·에디터·검색·그래프)</span></span></li><li class="group/nav relative"><a title="Scheduler — 예약 잡 인지 (크론·run_via·last_run · registry)" aria-label="Scheduler — 예약 잡 인지 (크론·run_via·last_run · registry)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/scheduler/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M16 14v2.2l1.6 1"></path><path d="M16 2v4"></path><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"></path><path d="M3 10h5"></path><path d="M8 2v4"></path><circle cx="16" cy="16" r="6"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Scheduler</span><span class="ml-1 text-muted-foreground">— <!-- -->예약 잡 인지 (크론·run_via·last_run · registry)</span></span></li><li class="group/nav relative"><a title="Sessions — 세션 카드 데크 (스와이프 결정)" aria-label="Sessions — 세션 카드 데크 (스와이프 결정)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/sessions/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers2 lucide-layers-2 h-4 w-4 shrink-0 text-current" aria-hidden="true"><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"></path><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"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Sessions</span><span class="ml-1 text-muted-foreground">— <!-- -->세션 카드 데크 (스와이프 결정)</span></span></li><li class="group/nav relative"><a title="Reflection — 오늘의 회고 (5분 갱신)" aria-label="Reflection — 오늘의 회고 (5분 갱신)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/reflection/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb h-4 w-4 shrink-0 text-current" aria-hidden="true"><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"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Reflection</span><span class="ml-1 text-muted-foreground">— <!-- -->오늘의 회고 (5분 갱신)</span></span></li><li class="group/nav relative"><a title="Dashboard — 시그널 대시보드 + 루프 오케스트라 (서브탭)" aria-label="Dashboard — 시그널 대시보드 + 루프 오케스트라 (서브탭)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/dashboard/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chart-line h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M3 3v16a2 2 0 0 0 2 2h16"></path><path d="m19 9-5 5-4-4-3 3"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Dashboard</span><span class="ml-1 text-muted-foreground">— <!-- -->시그널 대시보드 + 루프 오케스트라 (서브탭)</span></span></li><li class="group/nav relative"><a title="Workflows — YAML 워크플로우 작성·실행 (Archon-port · scheduler 흡수)" aria-label="Workflows — YAML 워크플로우 작성·실행 (Archon-port · scheduler 흡수)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/workflows/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-branch h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M15 6a9 9 0 0 0-9 9V3"></path><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Workflows</span><span class="ml-1 text-muted-foreground">— <!-- -->YAML 워크플로우 작성·실행 (Archon-port · scheduler 흡수)</span></span></li><li class="group/nav relative"><a title="Worktrees — 격리 작업 트리 목록·상태" aria-label="Worktrees — 격리 작업 트리 목록·상태" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/worktrees/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-branch h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M15 6a9 9 0 0 0-9 9V3"></path><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Worktrees</span><span class="ml-1 text-muted-foreground">— <!-- -->격리 작업 트리 목록·상태</span></span></li><li class="group/nav relative"><a title="Control — 데몬 제어 패널" aria-label="Control — 데몬 제어 패널" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/control/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sliders-vertical h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M10 8h4"></path><path d="M12 21v-9"></path><path d="M12 8V3"></path><path d="M17 16h4"></path><path d="M19 12V3"></path><path d="M19 21v-5"></path><path d="M3 14h4"></path><path d="M5 10V3"></path><path d="M5 21v-7"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Control</span><span class="ml-1 text-muted-foreground">— <!-- -->데몬 제어 패널</span></span></li><li class="group/nav relative"><a title="Settings — 환경 + provider + theme" aria-label="Settings — 환경 + provider + theme" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/settings/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4 shrink-0 text-current" aria-hidden="true"><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"></path><circle cx="12" cy="12" r="3"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Settings</span><span class="ml-1 text-muted-foreground">— <!-- -->환경 + provider + theme</span></span></li><li class="group/nav relative"><a title="Workspace — 여러 탭 동시 보기" aria-label="Workspace — 여러 탭 동시 보기" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/workspace/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers h-4 w-4 shrink-0 text-current" aria-hidden="true"><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"></path><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"></path><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"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Workspace</span><span class="ml-1 text-muted-foreground">— <!-- -->여러 탭 동시 보기</span></span></li></ul><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></nav></aside><main class="flex-1 overflow-auto min-w-0"><main data-testid="not-found" class="min-h-screen bg-gradient-to-b from-background via-background to-muted/40 px-6 py-12 sm:px-10"><div class="mx-auto flex w-full max-w-5xl flex-col gap-10"><header class="flex flex-col gap-3"><p class="text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground">elanous PWA</p><h1 class="text-3xl font-bold leading-tight sm:text-4xl">여기엔 없습니다</h1><p class="text-sm text-muted-foreground"><code>/_not-found/</code> 주소는 이 앱에 없습니다. 아래에서 지금 갈 수 있는 곳을 선택하거나 참고 주소의 사유를 확인하세요.</p></header><section aria-label="이동 가능한 주소와 참고 주소" class="grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3"><article data-testid="route-guidance-term" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/term/">Terminal<!-- --> <code class="text-xs text-muted-foreground">/term</code></a></article><article data-testid="route-guidance-chat" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/chat/">Chat<!-- --> <code class="text-xs text-muted-foreground">/chat</code></a></article><article data-testid="route-guidance-showroom" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/showroom/">Showroom<!-- --> <code class="text-xs text-muted-foreground">/showroom</code></a></article><article data-testid="route-guidance-bots" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/bots/">Bots<!-- --> <code class="text-xs text-muted-foreground">/bots</code></a></article><article data-testid="route-guidance-observatory" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/observatory/">Observatory<!-- --> <code class="text-xs text-muted-foreground">/observatory</code></a></article><article data-testid="route-guidance-autopilot" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/autopilot/">Autopilot<!-- --> <code class="text-xs text-muted-foreground">/autopilot</code></a></article><article data-testid="route-guidance-tasks" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/tasks/">Tasks<!-- --> <code class="text-xs text-muted-foreground">/tasks</code></a></article><article data-testid="route-guidance-vault" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/vault/">Vault<!-- --> <code class="text-xs text-muted-foreground">/vault</code></a></article><article data-testid="route-guidance-scheduler" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/scheduler/">Scheduler<!-- --> <code class="text-xs text-muted-foreground">/scheduler</code></a></article><article data-testid="route-guidance-sessions" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/sessions/">Sessions<!-- --> <code class="text-xs text-muted-foreground">/sessions</code></a></article><article data-testid="route-guidance-reflection" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/reflection/">Reflection<!-- --> <code class="text-xs text-muted-foreground">/reflection</code></a></article><article data-testid="route-guidance-dashboard" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/dashboard/">Dashboard<!-- --> <code class="text-xs text-muted-foreground">/dashboard</code></a></article><article data-testid="route-guidance-workflows" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/workflows/">Workflows<!-- --> <code class="text-xs text-muted-foreground">/workflows</code></a></article><article data-testid="route-guidance-worktrees" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/worktrees/">Worktrees<!-- --> <code class="text-xs text-muted-foreground">/worktrees</code></a></article><article data-testid="route-guidance-control" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/control/">Control<!-- --> <code class="text-xs text-muted-foreground">/control</code></a></article><article data-testid="route-guidance-settings" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/settings/">Settings<!-- --> <code class="text-xs text-muted-foreground">/settings</code></a></article><article data-testid="route-guidance-workspace" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/workspace/">Workspace<!-- --> <code class="text-xs text-muted-foreground">/workspace</code></a></article><article data-testid="route-guidance-intake" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/intake</code></span><p class="text-sm leading-relaxed text-muted-foreground">"intake=장소" 대신 "말하면 미션이 된다"는 보이지 않는 게이트로 흡수.</p></div></article><article data-testid="route-guidance-share" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/share</code></span><p class="text-sm leading-relaxed text-muted-foreground">운영체제가 공유 동작으로 호출하는 Share Target 진입점.</p></div></article><article data-testid="route-guidance-missions" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/missions</code></span><p class="text-sm leading-relaxed text-muted-foreground">`[id]`를 받는 동적 주소이며 부모 경로 자체는 없다.</p></div></article><article data-testid="route-guidance-setup" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/setup</code></span><p class="text-sm leading-relaxed text-muted-foreground">LLM provider 온보딩 진입점.</p></div></article><article data-testid="route-guidance-setup-done" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/setup/done</code></span><p class="text-sm leading-relaxed text-muted-foreground">LLM provider 온보딩 완료 화면.</p></div></article><article data-testid="route-guidance-settings-devices" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/settings/devices</code></span><p class="text-sm leading-relaxed text-muted-foreground">Settings 아래 Device fleet 하위 화면.</p></div></article><article data-testid="route-guidance-workflows-chat-ui" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/workflows/chat-ui</code></span><p class="text-sm leading-relaxed text-muted-foreground">Workflows에서 여는 hosted chat 하위 흐름.</p></div></article><article data-testid="route-guidance-root" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/</code></span><p class="text-sm leading-relaxed text-muted-foreground">첫 방문자를 위한 루트 welcome 화면.</p></div></article><article data-testid="route-guidance-404" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/404</code></span><p class="text-sm leading-relaxed text-muted-foreground">오류 페이지.</p></div></article><article data-testid="route-guidance-morning" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/morning</code></span><p class="text-sm leading-relaxed text-muted-foreground">부르는 백엔드가 아직 없는 미배선 화면.</p></div></article><article data-testid="route-guidance-design-check" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/design-check</code></span><p class="text-sm leading-relaxed text-muted-foreground">DESIGN.md 규칙집 상태를 확인하는 순수 읽기 진단 화면.</p></div></article></section></div></main><!--$--><!--/$--></main></div></div><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/app/_next/static/chunks/webpack-58c73b145f189b1c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57328,[\"7235\",\"static/chunks/7235-e583e4a015e159b9.js\",\"5583\",\"static/chunks/5583-8a0317f4b8e68db9.js\",\"5508\",\"static/chunks/5508-676ac75f2757ad40.js\",\"526\",\"static/chunks/526-17a6a2e0e6dc4498.js\",\"6852\",\"static/chunks/6852-983db7ca958634b7.js\",\"4706\",\"static/chunks/4706-d85d7f3345f3ff91.js\",\"3839\",\"static/chunks/3839-eebf298e89a7bb77.js\",\"3659\",\"static/chunks/3659-05b2d5d971b42dbc.js\",\"8617\",\"static/chunks/8617-307421f3b0e8b2a2.js\",\"3607\",\"static/chunks/3607-f0b5c5ee18fcf56a.js\",\"7177\",\"static/chunks/app/layout-e11ee17f221aaa9b.js\"],\"ServiceWorkerRegister\"]\n3:I[3839,[\"7235\",\"static/chunks/7235-e583e4a015e159b9.js\",\"5583\",\"static/chunks/5583-8a0317f4b8e68db9.js\",\"5508\",\"static/chunks/5508-676ac75f2757ad40.js\",\"526\",\"static/chunks/526-17a6a2e0e6dc4498.js\",\"6852\",\"static/chunks/6852-983db7ca958634b7.js\",\"4706\",\"static/chunks/4706-d85d7f3345f3ff91.js\",\"3839\",\"static/chunks/3839-eebf298e89a7bb77.js\",\"3659\",\"static/chunks/3659-05b2d5d971b42dbc.js\",\"8617\",\"static/chunks/8617-307421f3b0e8b2a2.js\",\"3607\",\"static/chunks/3607-f0b5c5ee18fcf56a.js\",\"7177\",\"static/chunks/app/layout-e11ee17f221aaa9b.js\"],\"DaemonProvider\"]\n4:I[67943,[\"7235\",\"static/chunks/7235-e583e4a015e159b9.js\",\"5583\",\"static/chunks/5583-8a0317f4b8e68db9.js\",\"5508\",\"static/chunks/5508-676ac75f2757ad40.js\",\"526\",\"static/chunks/526-17a6a2e0e6dc4498.js\",\"6852\",\"static/chunks/6852-983db7ca958634b7.js\",\"4706\",\"static/chunks/4706-d85d7f3345f3ff91.js\",\"3839\",\"static/chunks/3839-eebf298e89a7bb77.js\",\"3659\",\"static/chunks/3659-05b2d5d971b42dbc.js\",\"8617\",\"static/chunks/8617-307421f3b0e8b2a2.js\",\"3607\",\"static/chunks/3607-f0b5c5ee18fcf56a.js\",\"7177\",\"static/chunks/app/layout-e11ee17f221aaa9b.js\"],\"NexusClientProvider\"]\n5:I[92288,[\"7235\",\"static/chunks/7235-e583e4a015e159b9.js\",\"5583\",\"static/chunks/5583-8a0317f4b8e68db9.js\",\"5508\",\"static/chunks/5508-676ac75f2757ad40.js\",\"526\",\"static/chunks/526-17a6a2e0e6dc4498.js\",\"6852\",\"static/chunks/6852-983db7ca958634b7.js\",\"4706\",\"static/chunks/4706-d85d7f3345f3ff91.js\",\"3839\",\"static/chunks/3839-eebf29"])</script><script>self.__next_f.push([1,"8e89a7bb77.js\",\"3659\",\"static/chunks/3659-05b2d5d971b42dbc.js\",\"8617\",\"static/chunks/8617-307421f3b0e8b2a2.js\",\"3607\",\"static/chunks/3607-f0b5c5ee18fcf56a.js\",\"7177\",\"static/chunks/app/layout-e11ee17f221aaa9b.js\"],\"ThemeProvider\"]\n6:I[27255,[\"7235\",\"static/chunks/7235-e583e4a015e159b9.js\",\"5583\",\"static/chunks/5583-8a0317f4b8e68db9.js\",\"5508\",\"static/chunks/5508-676ac75f2757ad40.js\",\"526\",\"static/chunks/526-17a6a2e0e6dc4498.js\",\"6852\",\"static/chunks/6852-983db7ca958634b7.js\",\"4706\",\"static/chunks/4706-d85d7f3345f3ff91.js\",\"3839\",\"static/chunks/3839-eebf298e89a7bb77.js\",\"3659\",\"static/chunks/3659-05b2d5d971b42dbc.js\",\"8617\",\"static/chunks/8617-307421f3b0e8b2a2.js\",\"3607\",\"static/chunks/3607-f0b5c5ee18fcf56a.js\",\"7177\",\"static/chunks/app/layout-e11ee17f221aaa9b.js\"],\"TooltipProvider\"]\n7:I[96643,[\"7235\",\"static/chunks/7235-e583e4a015e159b9.js\",\"5583\",\"static/chunks/5583-8a0317f4b8e68db9.js\",\"5508\",\"static/chunks/5508-676ac75f2757ad40.js\",\"526\",\"static/chunks/526-17a6a2e0e6dc4498.js\",\"6852\",\"static/chunks/6852-983db7ca958634b7.js\",\"4706\",\"static/chunks/4706-d85d7f3345f3ff91.js\",\"3839\",\"static/chunks/3839-eebf298e89a7bb77.js\",\"3659\",\"static/chunks/3659-05b2d5d971b42dbc.js\",\"8617\",\"static/chunks/8617-307421f3b0e8b2a2.js\",\"3607\",\"static/chunks/3607-f0b5c5ee18fcf56a.js\",\"7177\",\"static/chunks/app/layout-e11ee17f221aaa9b.js\"],\"ToastProvider\"]\n8:I[96265,[\"7235\",\"static/chunks/7235-e583e4a015e159b9.js\",\"5583\",\"static/chunks/5583-8a0317f4b8e68db9.js\",\"5508\",\"static/chunks/5508-676ac75f2757ad40.js\",\"526\",\"static/chunks/526-17a6a2e0e6dc4498.js\",\"6852\",\"static/chunks/6852-983db7ca958634b7.js\",\"4706\",\"static/chunks/4706-d85d7f3345f3ff91.js\",\"3839\",\"static/chunks/3839-eebf298e89a7bb77.js\",\"3659\",\"static/chunks/3659-05b2d5d971b42dbc.js\",\"8617\",\"static/chunks/8617-307421f3b0e8b2a2.js\",\"3607\",\"static/chunks/3607-f0b5c5ee18fcf56a.js\",\"7177\",\"static/chunks/app/layout-e11ee17f221aaa9b.js\"],\"AppShell\"]\n9:I[95399,[],\"\"]\na:I[13851,[],\"\"]\nb:I[31574,[\"7235\",\"static/chunks/7235-e583e4a015e159b9.js\",\"526\",\"static/chunks/526-17a6a2e0e6dc4498.js"])</script><script>self.__next_f.push([1,"\",\"3158\",\"static/chunks/3158-c77ed9ea34f9cc9f.js\",\"4345\",\"static/chunks/app/not-found-986c177afb4adae6.js\"],\"default\"]\nc:I[42130,[],\"ClientPageRoot\"]\nf:I[26702,[],\"OutletBoundary\"]\n11:I[4451,[],\"AsyncMetadataOutlet\"]\n13:I[26702,[],\"ViewportBoundary\"]\n15:I[26702,[],\"MetadataBoundary\"]\n16:\"$Sreact.suspense\"\n18:I[77421,[],\"\"]\n:HL[\"/app/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/app/_next/static/css/effec8adf767aa75.css\",\"style\"]\n:HL[\"/app/_next/static/css/04dabcbcc4bfa6db.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"Ksn99fVf2HUWhSyV1-FC8\",\"p\":\"/app\",\"c\":[\"\",\"_not-found\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/app/_next/static/css/effec8adf767aa75.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/app/_next/static/css/04dabcbcc4bfa6db.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"className\":\"font-sans __variable_45c93f\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"link\",null,{\"rel\":\"preload\",\"as\":\"font\",\"type\":\"font/ttf\",\"href\":\"/app/fonts/JetBrainsMonoNerdFontMono-Regular.ttf\",\"crossOrigin\":\"anonymous\"}]}],[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-background text-foreground antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$L9\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$La\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$Lb\",null,{}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]}]}]]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L9\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$La\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$Lc\",null,{\"Component\":\"$b\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@d\",\"$@e\"]}],null,[\"$\",\"$Lf\",null,{\"children\":[\"$L10\",[\"$\",\"$L11\",null,{\"promise\":\"$@12\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L13\",null,{\"children\":\"$L14\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L15\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$16\",null,{\"fallback\":null,\"children\":\"$L17\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$18\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"d:{}\ne:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"14:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#1e1e2e\"}]]\n10:null\n"])</script><script>self.__next_f.push([1,"12:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"elanous\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"monad-agent unified PWA — voice · chat · intake · control · terminal.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"elanous\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/app/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"17:\"$12:metadata\"\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><!--ktMqfrBbf8BMGac0jqLrb--><html lang="ko" class="font-sans __variable_45c93f"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/><link rel="preload" href="/app/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/app/_next/static/css/eaa74e8bb2f62269.css" data-precedence="next"/><link rel="stylesheet" href="/app/_next/static/css/04dabcbcc4bfa6db.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/app/_next/static/chunks/webpack-2bf59c720fe9542c.js"/><script src="/app/_next/static/chunks/f6f3850d-7f324c6566002113.js" async=""></script><script src="/app/_next/static/chunks/7429-881af44deed6958f.js" async=""></script><script src="/app/_next/static/chunks/main-app-607f5beb94cb2e07.js" async=""></script><script src="/app/_next/static/chunks/4853-35fdbe6bdbcdc0fc.js" async=""></script><script src="/app/_next/static/chunks/764-a01e858525a190c0.js" async=""></script><script src="/app/_next/static/chunks/9704-3221c102623c8d73.js" async=""></script><script src="/app/_next/static/chunks/6123-37c9dc57ddaa7ab0.js" async=""></script><script src="/app/_next/static/chunks/2300-de059d0ab2a16630.js" async=""></script><script src="/app/_next/static/chunks/4217-3c4317a7905f9eeb.js" async=""></script><script src="/app/_next/static/chunks/150-25c277137a9638ab.js" async=""></script><script src="/app/_next/static/chunks/4015-62c5a3744698a8da.js" async=""></script><script src="/app/_next/static/chunks/5391-8793f88b03b30161.js" async=""></script><script src="/app/_next/static/chunks/3611-77496ada38cd6358.js" async=""></script><script src="/app/_next/static/chunks/7178-30f77877525a2efb.js" async=""></script><script src="/app/_next/static/chunks/8320-51484af7b01fdfa5.js" async=""></script><script src="/app/_next/static/chunks/5348-bbf838e119661eee.js" async=""></script><script src="/app/_next/static/chunks/app/layout-e733630c47fa102b.js" async=""></script><script src="/app/_next/static/chunks/1640-bc99ec23bbe29d12.js" async=""></script><script src="/app/_next/static/chunks/app/not-found-63301d11dbe73836.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><link rel="preload" as="font" type="font/ttf" href="/app/fonts/JetBrainsMonoNerdFontMono-Regular.ttf" crossorigin="anonymous"/><meta name="theme-color" content="#1e1e2e"/><title>elanous</title><meta name="description" content="elanous — voice · chat · intake · control · terminal."/><meta name="application-name" content="elanous"/><link rel="manifest" href="/app/manifest.webmanifest"/><link rel="icon" href="/app/icons/elanous-32.png" sizes="32x32" type="image/png"/><link rel="icon" href="/app/icons/elanous-16.png" sizes="16x16" type="image/png"/><link rel="apple-touch-icon" href="/app/icons/elanous-180.png" sizes="180x180" type="image/png"/><script src="/app/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background text-foreground antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full flex-col bg-background text-foreground"><header class="flex h-9 shrink-0 items-center gap-1 border-b border-border bg-background px-2 text-xs"><button type="button" aria-label="open menu" title="open menu" class="flex shrink-0 items-center gap-1.5 rounded-md p-2 text-muted-foreground hover:bg-accent hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-4 w-4" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg><span class="hidden text-[11px] font-medium leading-none sm:inline">메뉴</span></button><div class="ml-auto flex items-center gap-1"><a aria-label="voice" title="voice (HTTPS Tailscale Serve 필요)" class="rounded-md p-1.5 text-muted-foreground hover:bg-accent hover:text-foreground" href="/app/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mic h-4 w-4" aria-hidden="true"><path d="M12 19v3"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><rect x="9" y="2" width="6" height="13" rx="3"></rect></svg></a><div class="relative"><button type="button" aria-label="settings" title="session — · theme catppuccin-mocha" class="rounded-md p-1.5 hover:bg-accent text-muted-foreground hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4" aria-hidden="true"><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"></path><circle cx="12" cy="12" r="3"></circle></svg></button></div></div></header><div class="flex flex-1 min-h-0"><aside class="hidden md:flex md:w-10 md:flex-col border-r border-sidebar-border bg-sidebar text-sidebar-foreground"><nav class="flex h-full flex-col"><ul class="flex-1 space-y-1 px-1 py-2"><li class="group/nav relative"><a title="Terminal — 터미널 + agent dock" aria-label="Terminal — 터미널 + agent dock" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/term/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-terminal h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="m7 11 2-2-2-2"></path><path d="M11 13h4"></path><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Terminal</span><span class="ml-1 text-muted-foreground">— <!-- -->터미널 + agent dock</span></span></li><li class="group/nav relative"><a title="Chat — 채팅 (스트리밍 · multimodal · mic)" aria-label="Chat — 채팅 (스트리밍 · multimodal · mic)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/chat/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square h-4 w-4 shrink-0 text-current" aria-hidden="true"><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"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Chat</span><span class="ml-1 text-muted-foreground">— <!-- -->채팅 (스트리밍 · multimodal · mic)</span></span></li><li class="group/nav relative"><a title="Intake — 넣으면 흡수 · 작업 · 그래프로 (URL · 미션 · 메모)" aria-label="Intake — 넣으면 흡수 · 작업 · 그래프로 (URL · 미션 · 메모)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/intake/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-inbox h-4 w-4 shrink-0 text-current" aria-hidden="true"><polyline points="22 12 16 12 14 15 10 15 8 12 2 12"></polyline><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Intake</span><span class="ml-1 text-muted-foreground">— <!-- -->넣으면 흡수 · 작업 · 그래프로 (URL · 미션 · 메모)</span></span></li><li class="group/nav relative"><a title="Approvals — 아이디어 PR 요약 · 승인하고 머지" aria-label="Approvals — 아이디어 PR 요약 · 승인하고 머지" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/approvals/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-pull-request h-4 w-4 shrink-0 text-current" aria-hidden="true"><circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M13 6h3a2 2 0 0 1 2 2v7"></path><line x1="6" x2="6" y1="9" y2="21"></line></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Approvals</span><span class="ml-1 text-muted-foreground">— <!-- -->아이디어 PR 요약 · 승인하고 머지</span></span></li><li class="group/nav relative"><a title="Live — 런이 판단·기획하는 신호 (진짜 수 · 쇼 모드)" aria-label="Live — 런이 판단·기획하는 신호 (진짜 수 · 쇼 모드)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/live/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Live</span><span class="ml-1 text-muted-foreground">— <!-- -->런이 판단·기획하는 신호 (진짜 수 · 쇼 모드)</span></span></li><li class="group/nav relative"><a title="Trace — 렌즈를 좁혀 런을 따라간다 (플릿 → 런 → 판단)" aria-label="Trace — 렌즈를 좁혀 런을 따라간다 (플릿 → 런 → 판단)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/trace/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-crosshair h-4 w-4 shrink-0 text-current" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><line x1="22" x2="18" y1="12" y2="12"></line><line x1="6" x2="2" y1="12" y2="12"></line><line x1="12" x2="12" y1="6" y2="2"></line><line x1="12" x2="12" y1="22" y2="18"></line></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Trace</span><span class="ml-1 text-muted-foreground">— <!-- -->렌즈를 좁혀 런을 따라간다 (플릿 → 런 → 판단)</span></span></li><li class="group/nav relative"><a title="Missions — 미션 · 작업 (미션 계보·골 던지기·작업 보드·자율행동)" aria-label="Missions — 미션 · 작업 (미션 계보·골 던지기·작업 보드·자율행동)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/autopilot/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-compass h-4 w-4 shrink-0 text-current" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><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"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Missions</span><span class="ml-1 text-muted-foreground">— <!-- -->미션 · 작업 (미션 계보·골 던지기·작업 보드·자율행동)</span></span></li><li class="group/nav relative"><a title="Design — 디자인 시스템 고르기 · 시안 · URL 로 내 시스템" aria-label="Design — 디자인 시스템 고르기 · 시안 · URL 로 내 시스템" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/design-check/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z"></path><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Design</span><span class="ml-1 text-muted-foreground">— <!-- -->디자인 시스템 고르기 · 시안 · URL 로 내 시스템</span></span></li><li class="group/nav relative"><a title="Vault — Obsidian 노트 (브라우저·에디터·검색·그래프)" aria-label="Vault — Obsidian 노트 (브라우저·에디터·검색·그래프)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/vault/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M12 7v14"></path><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"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Vault</span><span class="ml-1 text-muted-foreground">— <!-- -->Obsidian 노트 (브라우저·에디터·검색·그래프)</span></span></li><li class="group/nav relative"><a title="마켓 — 플러그인 찾아보기 · 상세 · 설치됨" aria-label="마켓 — 플러그인 찾아보기 · 상세 · 설치됨" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/market/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-store h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5"></path><path d="M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"></path><path d="M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">마켓</span><span class="ml-1 text-muted-foreground">— <!-- -->플러그인 찾아보기 · 상세 · 설치됨</span></span></li><li class="group/nav relative"><a title="Schedules — 예약 잡 종합 현황 (크론·데몬·launchd)" aria-label="Schedules — 예약 잡 종합 현황 (크론·데몬·launchd)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/scheduler/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M16 14v2.2l1.6 1"></path><path d="M16 2v4"></path><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"></path><path d="M3 10h5"></path><path d="M8 2v4"></path><circle cx="16" cy="16" r="6"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Schedules</span><span class="ml-1 text-muted-foreground">— <!-- -->예약 잡 종합 현황 (크론·데몬·launchd)</span></span></li><li class="group/nav relative"><a title="Settings — 환경 + provider + theme" aria-label="Settings — 환경 + provider + theme" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/settings/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4 shrink-0 text-current" aria-hidden="true"><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"></path><circle cx="12" cy="12" r="3"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Settings</span><span class="ml-1 text-muted-foreground">— <!-- -->환경 + provider + theme</span></span></li></ul></nav></aside><main class="flex-1 overflow-auto min-w-0"><main data-testid="not-found" class="min-h-screen bg-gradient-to-b from-background via-background to-muted/40 px-6 py-12 sm:px-10"><div class="mx-auto flex w-full max-w-5xl flex-col gap-10"><header class="flex flex-col gap-3"><p class="text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground">elanous PWA</p><h1 class="text-3xl font-bold leading-tight sm:text-4xl">여기엔 없습니다</h1><p class="text-sm text-muted-foreground"><code>/_not-found/</code> 주소는 이 앱에 없습니다. 아래에서 지금 갈 수 있는 곳을 선택하거나 참고 주소의 사유를 확인하세요.</p></header><section aria-label="이동 가능한 주소와 참고 주소" class="grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3"><article data-testid="route-guidance-term" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/term/">Terminal<!-- --> <code class="text-xs text-muted-foreground">/term</code></a></article><article data-testid="route-guidance-chat" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/chat/">Chat<!-- --> <code class="text-xs text-muted-foreground">/chat</code></a></article><article data-testid="route-guidance-intake" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/intake/">Intake<!-- --> <code class="text-xs text-muted-foreground">/intake</code></a></article><article data-testid="route-guidance-approvals" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/approvals/">Approvals<!-- --> <code class="text-xs text-muted-foreground">/approvals</code></a></article><article data-testid="route-guidance-showroom" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/showroom/">Showroom<!-- --> <code class="text-xs text-muted-foreground">/showroom</code></a></article><article data-testid="route-guidance-live" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/live/">Live<!-- --> <code class="text-xs text-muted-foreground">/live</code></a></article><article data-testid="route-guidance-trace" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/trace/">Trace<!-- --> <code class="text-xs text-muted-foreground">/trace</code></a></article><article data-testid="route-guidance-bots" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/bots/">Bots<!-- --> <code class="text-xs text-muted-foreground">/bots</code></a></article><article data-testid="route-guidance-observatory" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/observatory/">Observatory<!-- --> <code class="text-xs text-muted-foreground">/observatory</code></a></article><article data-testid="route-guidance-autopilot" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/autopilot/">Missions<!-- --> <code class="text-xs text-muted-foreground">/autopilot</code></a></article><article data-testid="route-guidance-tasks" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/tasks/">Tasks<!-- --> <code class="text-xs text-muted-foreground">/tasks</code></a></article><article data-testid="route-guidance-board" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/board/">보드<!-- --> <code class="text-xs text-muted-foreground">/board</code></a></article><article data-testid="route-guidance-design-check" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/design-check/">Design<!-- --> <code class="text-xs text-muted-foreground">/design-check</code></a></article><article data-testid="route-guidance-vault" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/vault/">Vault<!-- --> <code class="text-xs text-muted-foreground">/vault</code></a></article><article data-testid="route-guidance-market" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/market/">마켓<!-- --> <code class="text-xs text-muted-foreground">/market</code></a></article><article data-testid="route-guidance-scheduler" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/scheduler/">Schedules<!-- --> <code class="text-xs text-muted-foreground">/scheduler</code></a></article><article data-testid="route-guidance-sessions" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/sessions/">Sessions<!-- --> <code class="text-xs text-muted-foreground">/sessions</code></a></article><article data-testid="route-guidance-reflection" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/reflection/">Reflection<!-- --> <code class="text-xs text-muted-foreground">/reflection</code></a></article><article data-testid="route-guidance-editor" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/editor/">편집기<!-- --> <code class="text-xs text-muted-foreground">/editor</code></a></article><article data-testid="route-guidance-worktrees" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/worktrees/">Worktrees<!-- --> <code class="text-xs text-muted-foreground">/worktrees</code></a></article><article data-testid="route-guidance-control" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/control/">Control<!-- --> <code class="text-xs text-muted-foreground">/control</code></a></article><article data-testid="route-guidance-settings" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/settings/">Settings<!-- --> <code class="text-xs text-muted-foreground">/settings</code></a></article><article data-testid="route-guidance-workspace" data-route-kind="destination" class="rounded-2xl border border-border/60 bg-card/60 p-5 shadow-sm"><a class="font-semibold underline-offset-4 hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring" href="/app/workspace/">Workspace<!-- --> <code class="text-xs text-muted-foreground">/workspace</code></a></article><article data-testid="route-guidance-share" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/share</code></span><p class="text-sm leading-relaxed text-muted-foreground">운영체제가 공유 동작으로 호출하는 Share Target 진입점.</p></div></article><article data-testid="route-guidance-missions" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/missions</code></span><p class="text-sm leading-relaxed text-muted-foreground">`[id]`를 받는 동적 주소이며 부모 경로 자체는 없다.</p></div></article><article data-testid="route-guidance-setup" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/setup</code></span><p class="text-sm leading-relaxed text-muted-foreground">LLM provider 온보딩 진입점.</p></div></article><article data-testid="route-guidance-setup-done" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/setup/done</code></span><p class="text-sm leading-relaxed text-muted-foreground">LLM provider 온보딩 완료 화면.</p></div></article><article data-testid="route-guidance-settings-devices" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/settings/devices</code></span><p class="text-sm leading-relaxed text-muted-foreground">Settings 아래 Device fleet 하위 화면.</p></div></article><article data-testid="route-guidance-workflows" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/workflows</code></span><p class="text-sm leading-relaxed text-muted-foreground">기존 워크플로 링크를 /editor?mode=workflow 로 전달한다.</p></div></article><article data-testid="route-guidance-workflows-chat-ui" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/workflows/chat-ui</code></span><p class="text-sm leading-relaxed text-muted-foreground">Workflows에서 여는 hosted chat 하위 흐름.</p></div></article><article data-testid="route-guidance-root" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/</code></span><p class="text-sm leading-relaxed text-muted-foreground">첫 방문자를 위한 루트 welcome 화면.</p></div></article><article data-testid="route-guidance-404" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/404</code></span><p class="text-sm leading-relaxed text-muted-foreground">오류 페이지.</p></div></article><article data-testid="route-guidance-morning" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/morning</code></span><p class="text-sm leading-relaxed text-muted-foreground">부르는 백엔드가 아직 없는 미배선 화면.</p></div></article><article data-testid="route-guidance-botlab" data-route-kind="reference" class="rounded-2xl border border-border/60 p-5 shadow-sm bg-muted/40"><div class="flex flex-col gap-2"><span class="font-semibold">참고 주소 <code class="text-xs text-muted-foreground">/botlab</code></span><p class="text-sm leading-relaxed text-muted-foreground">봇 화면 «벽»을 한 자리에서 보는 읽기 진단 화면(#15390 · 봇 운영자용).</p></div></article></section></div></main><!--$--><!--/$--></main></div></div><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/app/_next/static/chunks/webpack-2bf59c720fe9542c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n"])</script><script>self.__next_f.push([1,"2:I[70442,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"ServiceWorkerRegister\"]\n"])</script><script>self.__next_f.push([1,"3:I[56925,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"NewBuildBanner\"]\n"])</script><script>self.__next_f.push([1,"4:I[34015,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"DaemonProvider\"]\n"])</script><script>self.__next_f.push([1,"5:I[3367,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"NexusClientProvider\"]\n"])</script><script>self.__next_f.push([1,"6:I[32736,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"ThemeProvider\"]\n"])</script><script>self.__next_f.push([1,"7:I[3223,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"TooltipProvider\"]\n"])</script><script>self.__next_f.push([1,"8:I[40951,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"ToastProvider\"]\n"])</script><script>self.__next_f.push([1,"9:I[61097,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"AppShell\"]\n"])</script><script>self.__next_f.push([1,"a:I[35691,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"MaturityBanner\"]\n"])</script><script>self.__next_f.push([1,"b:I[20294,[],\"\"]\nc:I[48364,[],\"\"]\nd:I[5974,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"1640\",\"static/chunks/1640-bc99ec23bbe29d12.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"4345\",\"static/chunks/app/not-found-63301d11dbe73836.js\"],\"default\"]\ne:I[82791,[],\"ClientPageRoot\"]\n11:I[23580,[],\"OutletBoundary\"]\n13:I[82350,[],\"AsyncMetadataOutlet\"]\n15:I[23580,[],\"ViewportBoundary\"]\n17:I[23580,[],\"MetadataBoundary\"]\n18:\"$Sreact.suspense\"\n1a:I[46014,[],\"\"]\n:HL[\"/app/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/app/_next/static/css/eaa74e8bb2f62269.css\",\"style\"]\n:HL[\"/app/_next/static/css/04dabcbcc4bfa6db.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"ktMqfrBbf8BMGac0jqLrb\",\"p\":\"/app\",\"c\":[\"\",\"_not-found\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/app/_next/static/css/eaa74e8bb2f62269.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/app/_next/static/css/04dabcbcc4bfa6db.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"className\":\"font-sans __variable_45c93f\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"link\",null,{\"rel\":\"preload\",\"as\":\"font\",\"type\":\"font/ttf\",\"href\":\"/app/fonts/JetBrainsMonoNerdFontMono-Regular.ttf\",\"crossOrigin\":\"anonymous\"}]}],[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-background text-foreground antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{}],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$L9\",null,{\"children\":[[\"$\",\"$La\",null,{}],[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$Ld\",null,{}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]}]}]}]}]]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$Le\",null,{\"Component\":\"$d\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@f\",\"$@10\"]}],null,[\"$\",\"$L11\",null,{\"children\":[\"$L12\",[\"$\",\"$L13\",null,{\"promise\":\"$@14\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L15\",null,{\"children\":\"$L16\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L17\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$18\",null,{\"fallback\":null,\"children\":\"$L19\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$1a\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"f:{}\n10:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"16:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#1e1e2e\"}]]\n12:null\n"])</script><script>self.__next_f.push([1,"1b:I[6990,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"14:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"elanous\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"elanous — voice · chat · intake · control · terminal.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"elanous\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/app/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/app/icons/elanous-32.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],[\"$\",\"link\",\"5\",{\"rel\":\"icon\",\"href\":\"/app/icons/elanous-16.png\",\"sizes\":\"16x16\",\"type\":\"image/png\"}],[\"$\",\"link\",\"6\",{\"rel\":\"apple-touch-icon\",\"href\":\"/app/icons/elanous-180.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$L1b\",\"7\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"19:\"$14:metadata\"\n"])</script></body></html>
|