elanous 0.2.0 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +6 -0
- package/README.md +16 -14
- package/apps/pwa/out/404/index.html +1 -1
- package/apps/pwa/out/404.html +1 -1
- package/apps/pwa/out/_next/static/chunks/1105-c473ed46272fba79.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1191-7b13a24117a689fa.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1201-09613bce624467c0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1377-1efeffbbac0963ff.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1470.98a6ab61ccb4131c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/216-5acd01cbde4acda7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2330-c2f07246c8788af1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2375-3fcae5186c64fe6b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2415.ed6428ff334c7ce2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2929-617f1e66a55be184.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2977-e38442e86289f1d3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2982-2a2df543be3d2e5a.js +25 -0
- package/apps/pwa/out/_next/static/chunks/{2a79f15a-2013e4d421d6df88.js → 2ea96958-e8c7e112de50b067.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/319-d37df1b6e0cbeff4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3403.4bc97b4066945a94.js +5 -0
- package/apps/pwa/out/_next/static/chunks/3441-a1dd4acfeda14488.js +1 -0
- package/apps/pwa/out/_next/static/chunks/371-4ad6af55dad02ced.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4114-3e63117452378807.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6804.8ed6ab492bc5fc0a.js → 4323.c5dfb6f503304775.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/4836-3c93795ab834381e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{320-d7013ec072863e5e.js → 5080-1613752891fcadb4.js} +4 -4
- package/apps/pwa/out/_next/static/chunks/5609-012bb3557211f07e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5791-bb82743fa6299562.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6062-73e68343a9814f6a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6090-1bd6077591603947.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6320-baac91d68843a9a6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6416-505ba707cacafbba.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6725-68ab7cc0b1faf00d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6998-a654fe5c58271600.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7457-f5cb1cc8db9f7453.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7647.2fcd30d894d5ee30.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7673-2eda1507d38dadb8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7990-e12efba616f46e03.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8046cadf-211ca3c0e00f2b72.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8067-f74bf14d67ad98f1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8142-011e1f474efb8b33.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8519-0059d82bdb4812bf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8619-4365e03a2862830f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/920-f7dceb78f1c585ef.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9651-3cd291a6fa1370d2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9740-52467f244755917f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9804-64c02c3c127d5014.js +1 -0
- package/apps/pwa/out/_next/static/chunks/ae787e4c-f2998de7f1ba72a4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-859cea1570b6227a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-21c3261af6ab377c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-1991445b8ea86274.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/board/page-4ebfaee2369fe248.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-9fa879ebf5959096.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/bots/page-ca7c3cc305c3285a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/page-9951930add3d2051.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/control/page-4472ddf1e2458e69.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-4de08d4b766f134b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/editor/page-7a975e2b9db1dfb7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-859cea1570b6227a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/intake/page-49270714ef35bb96.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/layout-33fbdf353e2a5982.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live/page-259f122e2dd64317.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/market/page-65b82726753658e1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-4b8df3748dc06285.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/morning/page-112f7e477bda77fd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/not-found-542a5c0006da637c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-63ffb347831262ea.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/page-98e4e359d97263b4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-97e24ac675ce576e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-ac6391f26391d89d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-9f45c9d45ffc43bd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-36995b9cb5d98218.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/page-0c795b577988d63f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-b4311e2f71c6735a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-859cea1570b6227a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/page-eb2381074df20dba.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/share/page-b01336e64eba01ae.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-7af7f21c1f2858ef.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-a98ecd364586c89b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/term/page-57f0502dfbfa089b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/trace/page-3467d2e1abd8a14a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/vault/page-7842ca23d53ba682.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-ae9ac882912b0198.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-3a0d72e3f783bcef.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-f3b39fe8358c2a97.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-5a22af3181ac2afb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/framework-ea806bb57f2b8923.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-8d2302399c2c8f87.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-app-1457627bb302a22c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_app-b10928c60f0b8488.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_error-689039227d443fab.js +1 -0
- package/apps/pwa/out/_next/static/chunks/webpack-e5bea36f183b25e6.js +1 -0
- package/apps/pwa/out/_next/static/css/e66b7f5efc8df3f3.css +1 -0
- package/apps/pwa/out/_next/static/zoQX5iTvXOsIvCjxCe1Ji/_buildManifest.js +1 -0
- package/apps/pwa/out/approvals/index.html +1 -0
- package/apps/pwa/out/approvals/index.txt +30 -0
- package/apps/pwa/out/autopilot/index.html +1 -1
- package/apps/pwa/out/autopilot/index.txt +27 -26
- package/apps/pwa/out/board/index.html +1 -0
- package/apps/pwa/out/board/index.txt +30 -0
- package/apps/pwa/out/botlab/index.html +1 -1
- package/apps/pwa/out/botlab/index.txt +24 -23
- package/apps/pwa/out/bots/index.html +1 -1
- package/apps/pwa/out/bots/index.txt +24 -23
- package/apps/pwa/out/chat/index.html +1 -2
- package/apps/pwa/out/chat/index.txt +24 -23
- package/apps/pwa/out/control/index.html +1 -1
- package/apps/pwa/out/control/index.txt +27 -26
- package/apps/pwa/out/design-check/index.html +1 -1
- package/apps/pwa/out/design-check/index.txt +27 -26
- package/apps/pwa/out/editor/index.html +1 -0
- package/apps/pwa/out/editor/index.txt +31 -0
- package/apps/pwa/out/healthz +1 -1
- package/apps/pwa/out/index.html +1 -1
- package/apps/pwa/out/index.txt +24 -23
- package/apps/pwa/out/intake/index.html +1 -1
- package/apps/pwa/out/intake/index.txt +27 -26
- package/apps/pwa/out/live/index.html +1 -0
- package/apps/pwa/out/live/index.txt +30 -0
- package/apps/pwa/out/market/index.html +1 -0
- package/apps/pwa/out/market/index.txt +27 -0
- package/apps/pwa/out/missions/placeholder/index.html +1 -1
- package/apps/pwa/out/missions/placeholder/index.txt +24 -23
- package/apps/pwa/out/morning/index.html +1 -1
- package/apps/pwa/out/morning/index.txt +27 -26
- package/apps/pwa/out/observatory/index.html +1 -1
- package/apps/pwa/out/observatory/index.txt +27 -26
- package/apps/pwa/out/reflection/index.html +1 -1
- package/apps/pwa/out/reflection/index.txt +25 -24
- package/apps/pwa/out/scheduler/index.html +1 -1
- package/apps/pwa/out/scheduler/index.txt +27 -26
- package/apps/pwa/out/sessions/index.html +1 -1
- package/apps/pwa/out/sessions/index.txt +24 -23
- package/apps/pwa/out/settings/devices/index.html +1 -1
- package/apps/pwa/out/settings/devices/index.txt +27 -26
- package/apps/pwa/out/settings/index.html +1 -1
- package/apps/pwa/out/settings/index.txt +27 -26
- package/apps/pwa/out/setup/done/index.html +1 -1
- package/apps/pwa/out/setup/done/index.txt +27 -26
- package/apps/pwa/out/setup/index.html +1 -1
- package/apps/pwa/out/setup/index.txt +27 -26
- package/apps/pwa/out/share/index.html +1 -1
- package/apps/pwa/out/share/index.txt +27 -26
- package/apps/pwa/out/showroom/index.html +1 -1
- package/apps/pwa/out/showroom/index.txt +24 -23
- package/apps/pwa/out/tasks/index.html +1 -1
- package/apps/pwa/out/tasks/index.txt +27 -26
- package/apps/pwa/out/term/index.html +1 -1
- package/apps/pwa/out/term/index.txt +27 -26
- package/apps/pwa/out/trace/index.html +1 -0
- package/apps/pwa/out/trace/index.txt +30 -0
- package/apps/pwa/out/vault/index.html +1 -1
- package/apps/pwa/out/vault/index.txt +27 -26
- package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
- package/apps/pwa/out/workflows/chat-ui/index.txt +27 -26
- package/apps/pwa/out/workflows/index.html +1 -1
- package/apps/pwa/out/workflows/index.txt +27 -27
- package/apps/pwa/out/workspace/index.html +1 -1
- package/apps/pwa/out/workspace/index.txt +27 -26
- package/apps/pwa/out/worktrees/index.html +1 -1
- package/apps/pwa/out/worktrees/index.txt +27 -26
- package/catalog/resources.yaml +8 -11
- package/docs/design/systems/LICENSE +201 -0
- package/docs/design/systems/NOTICE.md +29 -0
- package/docs/design/systems/SOURCE.json +291 -0
- package/docs/design/systems/application/DESIGN.md +71 -0
- package/docs/design/systems/application/manifest.json +54 -0
- package/docs/design/systems/application/tokens.css +63 -0
- package/docs/design/systems/artistic/DESIGN.md +71 -0
- package/docs/design/systems/artistic/manifest.json +54 -0
- package/docs/design/systems/artistic/tokens.css +63 -0
- package/docs/design/systems/bento/DESIGN.md +71 -0
- package/docs/design/systems/bento/manifest.json +54 -0
- package/docs/design/systems/bento/tokens.css +63 -0
- package/docs/design/systems/bold/DESIGN.md +71 -0
- package/docs/design/systems/bold/manifest.json +54 -0
- package/docs/design/systems/bold/tokens.css +63 -0
- package/docs/design/systems/brutalism/DESIGN.md +71 -0
- package/docs/design/systems/brutalism/manifest.json +54 -0
- package/docs/design/systems/brutalism/tokens.css +63 -0
- package/docs/design/systems/cafe/DESIGN.md +71 -0
- package/docs/design/systems/cafe/manifest.json +54 -0
- package/docs/design/systems/cafe/tokens.css +63 -0
- package/docs/design/systems/claymorphism/DESIGN.md +71 -0
- package/docs/design/systems/claymorphism/manifest.json +54 -0
- package/docs/design/systems/claymorphism/tokens.css +63 -0
- package/docs/design/systems/clean/DESIGN.md +71 -0
- package/docs/design/systems/clean/manifest.json +54 -0
- package/docs/design/systems/clean/tokens.css +63 -0
- package/docs/design/systems/colorful/DESIGN.md +71 -0
- package/docs/design/systems/colorful/manifest.json +54 -0
- package/docs/design/systems/colorful/tokens.css +63 -0
- package/docs/design/systems/contemporary/DESIGN.md +71 -0
- package/docs/design/systems/contemporary/manifest.json +54 -0
- package/docs/design/systems/contemporary/tokens.css +63 -0
- package/docs/design/systems/corporate/DESIGN.md +71 -0
- package/docs/design/systems/corporate/manifest.json +54 -0
- package/docs/design/systems/corporate/tokens.css +63 -0
- package/docs/design/systems/cosmic/DESIGN.md +71 -0
- package/docs/design/systems/cosmic/manifest.json +54 -0
- package/docs/design/systems/cosmic/tokens.css +63 -0
- package/docs/design/systems/creative/DESIGN.md +71 -0
- package/docs/design/systems/creative/manifest.json +54 -0
- package/docs/design/systems/creative/tokens.css +63 -0
- package/docs/design/systems/dashboard/DESIGN.md +71 -0
- package/docs/design/systems/dashboard/manifest.json +54 -0
- package/docs/design/systems/dashboard/tokens.css +63 -0
- package/docs/design/systems/default/DESIGN.md +62 -0
- package/docs/design/systems/default/manifest.json +69 -0
- package/docs/design/systems/default/tokens.css +200 -0
- package/docs/design/systems/dithered/DESIGN.md +71 -0
- package/docs/design/systems/dithered/manifest.json +54 -0
- package/docs/design/systems/dithered/tokens.css +63 -0
- package/docs/design/systems/doodle/DESIGN.md +71 -0
- package/docs/design/systems/doodle/manifest.json +54 -0
- package/docs/design/systems/doodle/tokens.css +63 -0
- package/docs/design/systems/dramatic/DESIGN.md +71 -0
- package/docs/design/systems/dramatic/manifest.json +54 -0
- package/docs/design/systems/dramatic/tokens.css +63 -0
- package/docs/design/systems/editorial/DESIGN.md +71 -0
- package/docs/design/systems/editorial/manifest.json +54 -0
- package/docs/design/systems/editorial/tokens.css +63 -0
- package/docs/design/systems/elegant/DESIGN.md +71 -0
- package/docs/design/systems/elegant/manifest.json +54 -0
- package/docs/design/systems/elegant/tokens.css +63 -0
- package/docs/design/systems/energetic/DESIGN.md +72 -0
- package/docs/design/systems/energetic/manifest.json +54 -0
- package/docs/design/systems/energetic/tokens.css +63 -0
- package/docs/design/systems/enterprise/DESIGN.md +71 -0
- package/docs/design/systems/enterprise/manifest.json +54 -0
- package/docs/design/systems/enterprise/tokens.css +63 -0
- package/docs/design/systems/expressive/DESIGN.md +71 -0
- package/docs/design/systems/expressive/manifest.json +54 -0
- package/docs/design/systems/expressive/tokens.css +63 -0
- package/docs/design/systems/fantasy/DESIGN.md +71 -0
- package/docs/design/systems/fantasy/manifest.json +54 -0
- package/docs/design/systems/fantasy/tokens.css +63 -0
- package/docs/design/systems/flat/DESIGN.md +71 -0
- package/docs/design/systems/flat/manifest.json +54 -0
- package/docs/design/systems/flat/tokens.css +63 -0
- package/docs/design/systems/friendly/DESIGN.md +71 -0
- package/docs/design/systems/friendly/manifest.json +54 -0
- package/docs/design/systems/friendly/tokens.css +63 -0
- package/docs/design/systems/glassmorphism/DESIGN.md +71 -0
- package/docs/design/systems/glassmorphism/manifest.json +54 -0
- package/docs/design/systems/glassmorphism/tokens.css +63 -0
- package/docs/design/systems/gradient/DESIGN.md +71 -0
- package/docs/design/systems/gradient/manifest.json +54 -0
- package/docs/design/systems/gradient/tokens.css +63 -0
- package/docs/design/systems/luxury/DESIGN.md +71 -0
- package/docs/design/systems/luxury/manifest.json +54 -0
- package/docs/design/systems/luxury/tokens.css +63 -0
- package/docs/design/systems/minimal/DESIGN.md +71 -0
- package/docs/design/systems/minimal/manifest.json +54 -0
- package/docs/design/systems/minimal/tokens.css +63 -0
- package/docs/design/systems/modern/DESIGN.md +71 -0
- package/docs/design/systems/modern/manifest.json +54 -0
- package/docs/design/systems/modern/tokens.css +63 -0
- package/docs/design/systems/mono/DESIGN.md +71 -0
- package/docs/design/systems/mono/manifest.json +54 -0
- package/docs/design/systems/mono/tokens.css +63 -0
- package/docs/design/systems/neobrutalism/DESIGN.md +71 -0
- package/docs/design/systems/neobrutalism/manifest.json +54 -0
- package/docs/design/systems/neobrutalism/tokens.css +63 -0
- package/docs/design/systems/neon/DESIGN.md +71 -0
- package/docs/design/systems/neon/manifest.json +54 -0
- package/docs/design/systems/neon/tokens.css +63 -0
- package/docs/design/systems/neumorphism/DESIGN.md +71 -0
- package/docs/design/systems/neumorphism/manifest.json +54 -0
- package/docs/design/systems/neumorphism/tokens.css +63 -0
- package/docs/design/systems/paper/DESIGN.md +71 -0
- package/docs/design/systems/paper/manifest.json +54 -0
- package/docs/design/systems/paper/tokens.css +63 -0
- package/docs/design/systems/perspective/DESIGN.md +71 -0
- package/docs/design/systems/perspective/manifest.json +54 -0
- package/docs/design/systems/perspective/tokens.css +63 -0
- package/docs/design/systems/premium/DESIGN.md +71 -0
- package/docs/design/systems/premium/manifest.json +54 -0
- package/docs/design/systems/premium/tokens.css +63 -0
- package/docs/design/systems/professional/DESIGN.md +71 -0
- package/docs/design/systems/professional/manifest.json +54 -0
- package/docs/design/systems/professional/tokens.css +63 -0
- package/docs/design/systems/publication/DESIGN.md +71 -0
- package/docs/design/systems/publication/manifest.json +54 -0
- package/docs/design/systems/publication/tokens.css +63 -0
- package/docs/design/systems/refined/DESIGN.md +71 -0
- package/docs/design/systems/refined/manifest.json +54 -0
- package/docs/design/systems/refined/tokens.css +63 -0
- package/docs/design/systems/retro/DESIGN.md +71 -0
- package/docs/design/systems/retro/manifest.json +54 -0
- package/docs/design/systems/retro/tokens.css +63 -0
- package/docs/design/systems/shadcn/DESIGN.md +71 -0
- package/docs/design/systems/shadcn/manifest.json +54 -0
- package/docs/design/systems/shadcn/tokens.css +255 -0
- package/docs/design/systems/simple/DESIGN.md +71 -0
- package/docs/design/systems/simple/manifest.json +54 -0
- package/docs/design/systems/simple/tokens.css +63 -0
- package/docs/design/systems/skeumorphism/DESIGN.md +71 -0
- package/docs/design/systems/skeumorphism/manifest.json +54 -0
- package/docs/design/systems/skeumorphism/tokens.css +63 -0
- package/docs/design/systems/sleek/DESIGN.md +71 -0
- package/docs/design/systems/sleek/manifest.json +54 -0
- package/docs/design/systems/sleek/tokens.css +63 -0
- package/docs/design/systems/spacious/DESIGN.md +71 -0
- package/docs/design/systems/spacious/manifest.json +54 -0
- package/docs/design/systems/spacious/tokens.css +63 -0
- package/docs/design/systems/storytelling/DESIGN.md +71 -0
- package/docs/design/systems/storytelling/manifest.json +54 -0
- package/docs/design/systems/storytelling/tokens.css +63 -0
- package/docs/design/systems/tom-modern/DESIGN.md +361 -0
- package/docs/design/systems/tom-modern/manifest.json +16 -0
- package/docs/design/systems/tom-modern/tokens.css +99 -0
- package/docs/design/systems/vibrant/DESIGN.md +71 -0
- package/docs/design/systems/vibrant/manifest.json +54 -0
- package/docs/design/systems/vibrant/tokens.css +63 -0
- package/docs/design/systems/vintage/DESIGN.md +71 -0
- package/docs/design/systems/vintage/manifest.json +54 -0
- package/docs/design/systems/vintage/tokens.css +63 -0
- package/docs/design/systems/warm-editorial/DESIGN.md +65 -0
- package/docs/design/systems/warm-editorial/manifest.json +54 -0
- package/docs/design/systems/warm-editorial/tokens.css +63 -0
- package/docs/goal-context/01-goal-authoring-checks.md +18 -0
- package/docs/goal-context/steward-directives-2026-09-28.md +44 -0
- package/graphs/catalog/catalog.yaml +615 -0
- package/graphs/default-loop.yaml +1 -1
- package/graphs/document-loop.yaml +1 -1
- package/graphs/examples/stale-draft-digest/digest.ts +26 -0
- package/graphs/examples/stale-draft-digest/recipes.yaml +8 -0
- package/graphs/examples/stale-draft-digest/stale-draft-digest.yaml +22 -0
- package/graphs/heal/heal-loop.yaml +155 -0
- package/graphs/heal/recipes.yaml +19 -0
- package/graphs/implement-loop.yaml +2 -2
- package/graphs/intake/intake-daily.yaml +55 -0
- package/graphs/intake/recipes.yaml +16 -0
- package/graphs/landing/landing-heal.yaml +22 -0
- package/graphs/landing/recipes.yaml +8 -0
- package/graphs/launch/launch-head.yaml +66 -0
- package/graphs/launch/recipes.yaml +8 -0
- package/graphs/operate-loop.yaml +1 -1
- package/graphs/ops/docs-publish.yaml +31 -0
- package/graphs/ops/recipes.yaml +8 -0
- package/graphs/release/recipes.yaml +38 -0
- package/graphs/release/release-loop.yaml +40 -0
- package/graphs/research-loop.yaml +1 -1
- package/graphs/steward/recipes.yaml +12 -0
- package/graphs/steward/steward.yaml +45 -0
- package/graphs/video/broll-line.yaml +54 -0
- package/package.json +7 -5
- package/plugins/job-coach/.agents/plugins/marketplace.json +12 -0
- package/plugins/job-coach/.codex-plugin/plugin.json +6 -0
- package/plugins/job-coach/.mcp.json +9 -0
- package/plugins/job-coach/README.md +20 -0
- package/plugins/job-coach/connectors/ncs/server.ts +89 -0
- package/plugins/job-coach/examples/interview-sample.md +11 -0
- package/plugins/job-coach/graphs/course-links.ts +46 -0
- package/plugins/job-coach/graphs/recipes.yaml +18 -0
- package/plugins/job-coach/graphs/report.yaml +20 -0
- package/plugins/job-coach/graphs/run-step.ts +108 -0
- package/plugins/job-coach/plugin.json +13 -0
- package/plugins/job-coach/plugin.ts +6 -0
- package/plugins/job-coach/skills/career-report/SKILL.md +6 -0
- package/plugins/job-coach/skills/interview-to-profile/SKILL.md +6 -0
- package/plugins/job-coach/skills/run-report/SKILL.md +15 -0
- package/scripts/backup/elanous-backup.sh +139 -13
- package/scripts/backup/elanous-restore.sh +122 -0
- package/scripts/ci-daemon-port-gate.ts +164 -0
- package/scripts/ci-typecheck-changed.ts +15 -1
- package/scripts/cli-json-exit-scan.ts +126 -0
- package/scripts/codex-quota-alert-format.ts +52 -0
- package/scripts/codex-quota-alert.ts +63 -13
- package/scripts/continuation-dogfood.ts +2 -1
- package/scripts/coord-channel-watch.sh +5 -5
- package/scripts/coord-tracks.json +5 -4
- package/scripts/cron-run.ts +37 -16
- package/scripts/daemon-port-baseline.txt +9 -0
- package/scripts/design/extract-corpus-bench.ts +469 -0
- package/scripts/design/extract-corpus-score.ts +510 -0
- package/scripts/design/vendor-open-design-systems.ts +100 -0
- package/scripts/docs-lint.ts +1 -1
- package/scripts/fleet/node-setup.sh +38 -4
- package/scripts/heal/run-role.ts +328 -0
- package/scripts/install-role-watch.sh +95 -0
- package/scripts/install.ps1 +11 -1
- package/scripts/install.sh +81 -9
- package/scripts/isolation-hardcode-baseline.txt +1 -1
- package/scripts/landing-heal/must-fix-match.ts +37 -0
- package/scripts/landing-heal/run-mission.ts +101 -0
- package/scripts/lib/pwa-scenarios/acp-replay.ts +79 -0
- package/scripts/lib/pwa-scenarios/cdp-driver.ts +67 -0
- package/scripts/lib/pwa-scenarios/runner.ts +200 -0
- package/scripts/lib/pwa-scenarios/scenarios.ts +202 -0
- package/scripts/market/db-check.ts +212 -0
- package/scripts/market-posture-cycle.ts +63 -4
- package/scripts/nightly-docops.ts +1 -1
- package/scripts/ops/channel-bot-token-migrate.ts +146 -0
- package/scripts/ops-health-check.ts +15 -3
- package/scripts/pty-scenarios/run.ts +272 -0
- package/scripts/public-leak-baseline.txt +0 -7
- package/scripts/publish-internal-dist.ts +119 -0
- package/scripts/pwa-scenarios.ts +106 -0
- package/scripts/rebrand-elanous.ts +1 -1
- package/scripts/release-loop/cutoff.ts +139 -0
- package/scripts/release-loop/docs-land-node.ts +65 -0
- package/scripts/release-loop/docs-node.ts +172 -0
- package/scripts/release-loop/gate-diff.ts +29 -0
- package/scripts/release-loop/gate-node.ts +353 -0
- package/scripts/release-loop/node-verdict.ts +85 -0
- package/scripts/release-loop/prepare-node.ts +31 -0
- package/scripts/release-loop/publish-node.ts +57 -0
- package/scripts/release-loop/pwa-node-verdict.ts +45 -0
- package/scripts/release-loop/pwa-scenarios-node.ts +140 -0
- package/scripts/release-loop/release-docs.ts +102 -0
- package/scripts/release-loop/tui-node-checks.ts +29 -0
- package/scripts/release-loop/tui-sim-node.ts +113 -0
- package/scripts/release-loop/upgrade-node.ts +25 -0
- package/scripts/release-loop/verify-node.ts +21 -0
- package/scripts/release-loop/version-node.ts +147 -0
- package/scripts/release-upgrade-check.sh +53 -0
- package/scripts/se-mission-prepare.ts +9 -15
- package/scripts/test-deterministic.ts +2 -1
- package/scripts/uninstall.sh +10 -3
- package/scripts/video-broll-line.ts +89 -0
- package/scripts/waitlist-daily-digest.ts +108 -0
- package/scripts/window-landings.sh +1 -1
- package/skills/motion-broll/LICENSE +25 -0
- package/skills/motion-broll/SKILL.md +150 -0
- package/skills/motion-broll/SOURCE.md +6 -0
- package/skills/motion-broll/engine/base.css +19 -0
- package/skills/motion-broll/engine/beats.js +11 -0
- package/skills/motion-broll/engine/build.py +21 -0
- package/skills/motion-broll/engine/fonts/Geist-Variable.woff2 +0 -0
- package/skills/motion-broll/engine/fonts/GeistMono-Medium.woff2 +0 -0
- package/skills/motion-broll/engine/fonts/OFL-Geist.txt +92 -0
- package/skills/motion-broll/engine/motion.js +146 -0
- package/skills/motion-broll/engine/render.js +22 -0
- package/skills/motion-broll/examples/opus-aoe2/01-opus-drop.html +41 -0
- package/skills/motion-broll/examples/opus-aoe2/02-pip-builds.html +110 -0
- package/skills/motion-broll/examples/opus-aoe2/03-effort-slider.html +38 -0
- package/skills/motion-broll/examples/opus-aoe2/04-master-prompt.html +56 -0
- package/skills/motion-broll/examples/opus-aoe2/05-low-vs-max.html +49 -0
- package/skills/motion-broll/examples/opus-aoe2/06-chapter.html +18 -0
- package/skills/motion-broll/examples/opus-aoe2/plan.json +14 -0
- package/skills/motion-broll/reference/engine-api.md +106 -0
- package/skills/motion-broll/scripts/composite.py +14 -0
- package/skills/motion-broll/scripts/inspect_video.py +34 -0
- package/skills/motion-broll/scripts/make_pages.py +34 -0
- package/skills/motion-broll/scripts/setup.sh +16 -0
- package/skills/motion-broll/scripts/words.py +13 -0
- package/skills/motion-broll/templates/compare.html +135 -0
- package/skills/motion-broll/templates/viewer.html +97 -0
- package/skills/omni-digest/SKILL.md +260 -0
- package/skills/omni-digest/digest.md +197 -0
- package/skills/omni-digest/docs/diagrams/noncode-terminal-promotion-path-2026-08-13.mmd +32 -0
- package/skills/omni-digest/package-lock.json +558 -0
- package/skills/omni-digest/package.json +13 -0
- package/skills/omni-digest/scripts/main.ts +404 -0
- package/skills/omni-digest/src/delegate.ts +34 -0
- package/skills/omni-digest/src/detect.ts +46 -0
- package/skills/omni-digest/src/diagram.ts +72 -0
- package/skills/omni-digest/src/domain-staging.ts +50 -0
- package/skills/omni-digest/src/env.ts +38 -0
- package/skills/omni-digest/src/fetch.ts +237 -0
- package/skills/omni-digest/src/media.ts +180 -0
- package/skills/omni-digest/src/obsidian.ts +69 -0
- package/skills/omni-digest/src/ocr.ts +149 -0
- package/skills/omni-digest/src/router.ts +60 -0
- package/skills/omni-digest/src/summarize.ts +87 -0
- package/skills/omni-digest/src/types.ts +124 -0
- package/skills/omni-digest/src/util.ts +34 -0
- package/skills/omni-digest/src/visual.ts +129 -0
- package/skills/omni-digest/src/x-api.ts +151 -0
- package/skills/omni-digest/tsconfig.json +13 -0
- package/src/a2a/agent-card.ts +29 -0
- package/src/a2a/server.ts +173 -0
- package/src/acp/auto-persist.ts +3 -6
- package/src/acp/backend-registry.ts +6 -10
- package/src/acp/channel-browser-shell.ts +1 -535
- package/src/acp/client.ts +106 -36
- package/src/acp/fs-roots.ts +20 -4
- package/src/acp/obsidian-tags.ts +6 -3
- package/src/acp/server.ts +189 -32
- package/src/agent/pty-binding.ts +1 -1
- package/src/agent/spawn-embodied-agent-in-vw.ts +5 -336
- package/src/agent/subagent-callable.ts +39 -1
- package/src/agent-mission/browser-login.ts +241 -0
- package/src/agent-mission/capabilities-cli.ts +33 -0
- package/src/agent-mission/capability-matrix.ts +31 -0
- package/src/agent-mission/capability-readers.ts +79 -0
- package/src/agent-mission/capability-types.ts +15 -0
- package/src/agent-mission/claude-headless.ts +131 -0
- package/src/agent-mission/claude-subscription.ts +57 -0
- package/src/agent-mission/doc-guided-install.ts +185 -0
- package/src/agent-mission/driver.ts +821 -69
- package/src/agent-mission/env-profile.ts +68 -0
- package/src/agent-mission/handoff.ts +128 -0
- package/src/agent-mission/in-agent-plugin.ts +311 -0
- package/src/agent-mission/mission-cli.ts +19 -1
- package/src/agent-mission/parse.ts +9 -4
- package/src/agent-mission/pr-review-watch.ts +62 -13
- package/src/agent-mission/resource-ladder.ts +187 -0
- package/src/agent-mission/tool-install.ts +249 -0
- package/src/agent-mission/tool-ladder.ts +37 -0
- package/src/agent-room/room-builder.ts +6 -600
- package/src/agent-substrate/review-intent.ts +43 -1
- package/src/auth/scope.ts +8 -4
- package/src/auth/temp-tokens.ts +131 -0
- package/src/auto-research/obsidian-bridge.ts +2 -0
- package/src/autopilot/build/integrity-gate.ts +27 -4
- package/src/autopilot/build/isolated-instance.ts +2 -1
- package/src/autopilot/build/llm-conflict-merge.ts +27 -0
- package/src/autopilot/llm-control-brain.ts +54 -12
- package/src/autopilot/mission-engine.ts +15 -1
- package/src/autopilot/mission-notify.ts +4 -2
- package/src/autopilot/mission-origin.ts +5 -5
- package/src/autopilot/mission-phase-track.ts +52 -0
- package/src/autopilot/mission-tool.ts +1 -1
- package/src/autopilot/pty-control-loop.ts +94 -2
- package/src/autopilot/track-agent.ts +138 -0
- package/src/autopilot/track-courier.ts +153 -0
- package/src/boot/acp-server.ts +16 -2
- package/src/boot/check-same-origin.ts +19 -5
- package/src/boot/daemon-multi-llm-runtime.ts +14 -8
- package/src/boot/daemon-prompt-turn.ts +2 -0
- package/src/boot/daemon-runtime.ts +36 -14
- package/src/boot/daemon-tools/index.ts +16 -0
- package/src/boot/daemon-tools/self-implement.ts +4 -0
- package/src/boot/daemon-tools/types.ts +3 -0
- package/src/browser-cdp/chrome-flags.ts +7 -0
- package/src/browser-cdp/client.ts +2 -0
- package/src/browser-pane/mount.ts +1 -246
- package/src/budget/codex-reset-credit-state.ts +15 -0
- package/src/budget/fetchers/codex.ts +2 -1
- package/src/budget/run-usage-rollup.ts +11 -4
- package/src/budget/unified-usage.ts +2 -1
- package/src/capture/tui-self-report.ts +10 -0
- package/src/channel-bot-token.ts +126 -0
- package/src/chat/index.ts +21 -45
- package/src/chat/input-text-key.ts +2 -2
- package/src/chat/mode/manual.ts +2 -4
- package/src/chat/pickers/state.ts +10 -27
- package/src/chat/search/modal.ts +14 -2
- package/src/chat/tool-render/types.ts +1 -1
- package/src/chat/turn-typeahead.ts +2 -1
- package/src/chat/wrap.ts +6 -8
- package/src/cli/__fixtures__/agent-help-before/agent.txt +18 -0
- package/src/cli/__fixtures__/agent-help-before/registry.txt +13 -0
- package/src/cli/__fixtures__/agent-help-before/root.txt +100 -0
- package/src/cli/__fixtures__/agent-help-before/tier.txt +15 -0
- package/src/cli/a2a-cli.ts +52 -0
- package/src/cli/agent-cli.ts +721 -0
- package/src/cli/autopilot-cli.ts +739 -0
- package/src/cli/bg-launch.ts +20 -4
- package/src/cli/claude-plugin-setup.ts +199 -0
- package/src/cli/config-test-sync.ts +94 -10
- package/src/cli/connector-cli.ts +204 -0
- package/src/cli/control-cli.ts +220 -0
- package/src/cli/control-join-cli.ts +142 -0
- package/src/cli/docs-cli.ts +38 -0
- package/src/cli/doctor-cli.ts +225 -26
- package/src/cli/doctor-distro.ts +17 -1
- package/src/cli/doctor-fix.ts +145 -17
- package/src/cli/doctor-llm-assist.ts +71 -0
- package/src/cli/doctor-private-files.ts +66 -0
- package/src/cli/doctor-readiness.ts +8 -5
- package/src/cli/fleet-cli.ts +63 -0
- package/src/cli/g6a-registration-probe.ts +16 -0
- package/src/cli/git-install-plan.ts +51 -0
- package/src/cli/hooks-cli.ts +44 -0
- package/src/cli/ingest-token-cli.ts +21 -0
- package/src/cli/intake-cli.ts +416 -0
- package/src/cli/labels-cli.ts +74 -0
- package/src/cli/leader-cli.ts +10 -159
- package/src/cli/live-cli.ts +48 -0
- package/src/cli/llm-detect-cli.ts +130 -0
- package/src/cli/logs-cli.ts +231 -7
- package/src/cli/machine-cli.ts +38 -0
- package/src/cli/mcp-call.ts +43 -13
- package/src/cli/mcp-gateway-cli.ts +90 -0
- package/src/cli/mcp-login.ts +116 -8
- package/src/cli/mcp-reload.ts +20 -3
- package/src/cli/nexus-dist.ts +18 -13
- package/src/cli/nexus-ios-bind.ts +20 -7
- package/src/cli/ops-cli.ts +225 -0
- package/src/cli/plugin-cli.ts +103 -0
- package/src/cli/pod-cli.ts +83 -0
- package/src/cli/port-lease-local.ts +124 -0
- package/src/cli/pr-cli.ts +12 -1
- package/src/cli/provider-cli.ts +720 -0
- package/src/cli/pty-record-cli.ts +63 -0
- package/src/cli/pty-takeover-cli.ts +57 -40
- package/src/cli/pty-web-address.ts +52 -0
- package/src/cli/publish-cli.ts +44 -0
- package/src/cli/pwa-build.ts +18 -12
- package/src/cli/pwa-dev.ts +13 -8
- package/src/cli/pwa-registry.ts +6 -0
- package/src/cli/pwa-share.ts +65 -22
- package/src/cli/pwa-show.ts +20 -4
- package/src/cli/pwa-start.ts +99 -27
- package/src/cli/pwa-test.ts +201 -96
- package/src/cli/release-cli.ts +90 -7
- package/src/cli/remotes-cli.ts +20 -1
- package/src/cli/remotes.ts +2 -1
- package/src/cli/repo-cli.ts +315 -36
- package/src/cli/research-cli.ts +66 -0
- package/src/cli/role-cli.ts +320 -0
- package/src/cli/schedule-cli.ts +246 -0
- package/src/cli/self-update.ts +98 -10
- package/src/cli/setup-cli.ts +64 -2
- package/src/cli/shadow-cli.ts +188 -0
- package/src/cli/share-auto-mount.ts +12 -8
- package/src/cli/start-cli.ts +221 -0
- package/src/cli/stdout-flush.ts +8 -0
- package/src/cli/storage-cli.ts +334 -0
- package/src/cli/tailscale-serve.ts +34 -19
- package/src/cli/tasks-cli.ts +176 -0
- package/src/cli/test-state-dir-flag.ts +1 -1
- package/src/cli/usage-cli.ts +15 -4
- package/src/cli/where-cli.ts +22 -55
- package/src/code-edit/diff-render.ts +6 -32
- package/src/code-edit/source-delta-browser.ts +0 -1
- package/src/codex/models.ts +1 -1
- package/src/config.ts +8 -13
- package/src/connectors/event-ledger.ts +41 -0
- package/src/connectors/linear-projector.ts +88 -0
- package/src/connectors/linear.ts +143 -0
- package/src/connectors/types.ts +19 -0
- package/src/control-plane/lease-holder.ts +41 -0
- package/src/control-plane/ledger.ts +146 -0
- package/src/control-plane/light-member.ts +164 -0
- package/src/control-plane/member-tokens.ts +88 -0
- package/src/control-plane/member.ts +159 -0
- package/src/control-plane/port-lease-heartbeat.ts +101 -0
- package/src/control-plane/ports.ts +40 -0
- package/src/control-plane/primary.ts +169 -0
- package/src/control-plane/server.ts +216 -0
- package/src/dashboard/acp-boot.ts +11 -38
- package/src/dashboard/assistant-render-state-runtime.ts +2 -2
- package/src/dashboard/assistant-sample-runtime.ts +2 -2
- package/src/dashboard/auto-compact-runtime.ts +11 -16
- package/src/dashboard/browser-help-runtime.ts +2 -3
- package/src/dashboard/chat/acp-chat.ts +2 -5
- package/src/dashboard/code-edit-post-turn-runtime.ts +1 -2
- package/src/dashboard/compact-surface-assembly.ts +0 -14
- package/src/dashboard/compact-surface-dispatch.ts +1 -38
- package/src/dashboard/compact-surface-inventory.ts +0 -8
- package/src/dashboard/compact-surface-runtime.ts +0 -14
- package/src/dashboard/context-menu-provider-boot.ts +0 -9
- package/src/dashboard/context-window-runtime-boot.ts +0 -37
- package/src/dashboard/index.ts +278 -2558
- package/src/dashboard/input/chat-main-plain-turn-runtime.ts +0 -6
- package/src/dashboard/input/chat-main-slash-command.ts +2 -2
- package/src/dashboard/input/dashboard-priority-key-route.ts +1 -43
- package/src/dashboard/input/mouse-modal-surface-runtime.ts +1 -5
- package/src/dashboard/input/mouse-wiring.ts +2 -3
- package/src/dashboard/layout-display-runtime-registration.ts +0 -10
- package/src/dashboard/modals/pane-multi.ts +1 -1
- package/src/dashboard/replay-preview.ts +1 -1
- package/src/dashboard/runtime/approvers.ts +0 -1
- package/src/dashboard/runtime/state-snapshot.ts +0 -90
- package/src/dashboard/scenario-runtime-boot.ts +16 -16
- package/src/dashboard/slash-runtime/dashboard-handlers.ts +134 -1456
- package/src/dashboard/slash-runtime/design-pick.ts +96 -0
- package/src/dashboard/slash-runtime/help-from-registry.ts +77 -0
- package/src/dashboard/surface-registry-wiring.ts +2 -15
- package/src/dashboard/turn-message-runtime.ts +0 -4
- package/src/dashboard/turn-preamble.ts +1 -1
- package/src/dashboard/turn-stream-formatter.ts +2 -2
- package/src/dashboard/turn-stream-runtime.ts +2 -2
- package/src/dashboard-pane-context-menu.ts +0 -14
- package/src/debug/log.ts +7 -0
- package/src/decide/boundary-shadow.ts +131 -0
- package/src/design/apply-direction.ts +209 -0
- package/src/design/css-root-tokens.ts +89 -0
- package/src/design/custom-system-create.ts +230 -0
- package/src/design/design-directions.ts +61 -41
- package/src/design/design-gate.ts +241 -0
- package/src/design/design-library.ts +57 -0
- package/src/design/design-previews.ts +138 -0
- package/src/design/design-systems.ts +61 -0
- package/src/design/lint-artifact-run.ts +46 -6
- package/src/design/lint-artifact.ts +5 -1
- package/src/design/open-design-client.ts +247 -0
- package/src/design/system-from-extract.ts +767 -0
- package/src/design/system-schema.ts +123 -0
- package/src/discord-slash-wire.ts +2 -1
- package/src/discord-test-runner.ts +2 -1
- package/src/discord-voice-wire.ts +2 -1
- package/src/discord.ts +1 -1
- package/src/dispatch/opportunistic-launcher.ts +24 -1
- package/src/domains/ops-status.ts +35 -2
- package/src/domains/outbound-alert.ts +16 -4
- package/src/domains/repeated-failure.ts +89 -0
- package/src/domains/schedule-manage-tool.ts +28 -8
- package/src/domains/schedule-migrate.ts +22 -4
- package/src/domains/schedule-registry.ts +88 -33
- package/src/domains/schedule-runs.ts +132 -0
- package/src/domains/schedule-state.ts +152 -0
- package/src/element-registry/address.ts +1 -3
- package/src/git-fs/gh-cli.ts +47 -17
- package/src/git-fs/retry.ts +1 -0
- package/src/git-fs/runner.ts +1 -0
- package/src/git-fs/worktree.ts +6 -5
- package/src/github/pr-labels.ts +68 -0
- package/src/graph-kinds/plugin-nodes.ts +60 -0
- package/src/graph-kinds/registry.ts +118 -0
- package/src/graph-runner/graph-cli.ts +103 -0
- package/src/graph-runner/graph-notify.ts +220 -0
- package/src/graph-runner/graph-tick.ts +119 -0
- package/src/graph-runner/release-manifest.ts +93 -0
- package/src/graph-runner/runner.ts +457 -0
- package/src/grok/credential.ts +158 -5
- package/src/grounding/ensure-grounding.ts +131 -0
- package/src/grounding/mirror-export.ts +89 -0
- package/src/grounding/mirror-manifest.ts +252 -0
- package/src/grounding/sources-cli.ts +209 -0
- package/src/grounding/sources.ts +333 -0
- package/src/grounding/token.ts +115 -0
- package/src/harness/harness-cli-command.ts +352 -19
- package/src/harness/harness-pod-dispatch.ts +110 -0
- package/src/harness/harness-stop.ts +131 -0
- package/src/harness/harness-substrate-default.ts +40 -0
- package/src/harness/harness-worktrees.ts +1 -1
- package/src/harness/harness-write-boundary.ts +2 -0
- package/src/harness/llm-decompose.ts +2 -1
- package/src/harness/self-send-decide.ts +224 -0
- package/src/harness/shell-relay.ts +5 -0
- package/src/hooks/providers.ts +77 -0
- package/src/hooks/queue.ts +73 -0
- package/src/hooks/receiver.ts +133 -0
- package/src/index.ts +666 -3406
- package/src/input-core/dispatcher.ts +1 -1
- package/src/input-core/drag-esc-interceptor.ts +1 -1
- package/src/instance/current.ts +5 -5
- package/src/instance/leader.ts +10 -326
- package/src/instance/nexus-run-refusal.ts +27 -92
- package/src/instance/project-local-exclude.ts +27 -0
- package/src/instance/resolve.ts +40 -175
- package/src/intake-plane/capture.ts +14 -1
- package/src/intake-plane/check.ts +34 -14
- package/src/intake-plane/collect-github.ts +258 -0
- package/src/intake-plane/collect-pod.ts +100 -0
- package/src/intake-plane/collect-telegram-saved.ts +86 -0
- package/src/intake-plane/digest.ts +102 -0
- package/src/intake-plane/enrich-plugins.ts +1 -1
- package/src/intake-plane/front-classifier.ts +56 -0
- package/src/intake-plane/front-route-classifier.ts +80 -0
- package/src/intake-plane/front-route-rules.ts +152 -0
- package/src/intake-plane/grounding-docs.ts +185 -0
- package/src/intake-plane/harness-target.ts +20 -0
- package/src/intake-plane/intake-to-tasks.ts +303 -0
- package/src/intake-plane/items.ts +247 -0
- package/src/intake-plane/link-ledger.ts +27 -0
- package/src/intake-plane/route.ts +104 -0
- package/src/intake-plane/runtime-callables.ts +3 -1
- package/src/intake-plane/sketch-ledger.ts +34 -0
- package/src/intake-plane/slash.ts +30 -2
- package/src/intake-plane/submit-intake-work.ts +160 -0
- package/src/intake-plane/telegram-work.ts +56 -0
- package/src/iul/sidebar-shell.ts +0 -165
- package/src/launch-head/capability-check.ts +162 -0
- package/src/launch-head/launch-head-cli.ts +242 -0
- package/src/launch-head/load-balance.ts +81 -0
- package/src/live/detail-switch.ts +175 -0
- package/src/llm/provider-detect.ts +247 -0
- package/src/llm/provider-probe.ts +57 -0
- package/src/llm.ts +55 -23
- package/src/log-entry.ts +1 -1
- package/src/log-pane/attachment-popup.ts +1 -2
- package/src/loops/loop-cli.ts +37 -0
- package/src/loops/registry.ts +174 -0
- package/src/market/official-keys.ts +5 -0
- package/src/market/publish.ts +273 -0
- package/src/market/signed-index.ts +156 -0
- package/src/market/tgz.ts +121 -0
- package/src/mcp/client.ts +1 -1
- package/src/mcp/mcp-oauth.ts +40 -5
- package/src/mcp/server.ts +75 -7
- package/src/mcp-gateway/gateway.ts +128 -0
- package/src/mcp-gateway/pat-store.ts +124 -0
- package/src/mss/logging/log-store.ts +91 -2
- package/src/mss/logging/scoped-level.ts +5 -9
- package/src/native-tool-catalog.ts +64 -343
- package/src/nexus/api/connect-info.ts +23 -25
- package/src/nexus/api/context-url.ts +1 -1
- package/src/nexus/api/design-check.ts +90 -59
- package/src/nexus/api/design-previews-route.ts +182 -0
- package/src/nexus/api/design-system-create-route.ts +123 -0
- package/src/nexus/api/graph-kinds.ts +69 -0
- package/src/nexus/api/graphs-api.ts +221 -0
- package/src/nexus/api/harness-api.ts +31 -2
- package/src/nexus/api/health.ts +15 -0
- package/src/nexus/api/http-server.ts +274 -43
- package/src/nexus/api/image-generate.ts +3 -0
- package/src/nexus/api/ingest-token.ts +175 -0
- package/src/nexus/api/intake-ledger-api.ts +54 -0
- package/src/nexus/api/intake-route.ts +111 -0
- package/src/nexus/api/json-response.ts +33 -0
- package/src/nexus/api/live-detail.ts +47 -0
- package/src/nexus/api/live-shipped.ts +78 -0
- package/src/nexus/api/log-fabric.ts +33 -2
- package/src/nexus/api/markdown-publish.ts +3 -2
- package/src/nexus/api/mcp-http.ts +14 -9
- package/src/nexus/api/mcp-oauth-hint.ts +30 -0
- package/src/nexus/api/mcp-public-allowlist.ts +33 -0
- package/src/nexus/api/merge-approvals-gate.ts +79 -0
- package/src/nexus/api/merge-approvals.ts +306 -0
- package/src/nexus/api/meta-api.ts +4 -0
- package/src/nexus/api/next-fluent-wiring.ts +7 -9
- package/src/nexus/api/plugins-market.ts +125 -0
- package/src/nexus/api/pod-credential-api.ts +133 -0
- package/src/nexus/api/public-routes.ts +80 -0
- package/src/nexus/api/rest-route-paths.ts +15 -0
- package/src/nexus/api/schedules-action.ts +12 -3
- package/src/nexus/api/schedules-read.ts +228 -0
- package/src/nexus/api/sessions-store.ts +8 -2
- package/src/nexus/api/setup-answer-priority.ts +130 -0
- package/src/nexus/api/setup-channel-bot.ts +56 -0
- package/src/nexus/api/setup-child-llm.ts +228 -0
- package/src/nexus/api/setup-obsidian-skills.ts +93 -0
- package/src/nexus/api/task-cards-api.ts +34 -0
- package/src/nexus/api/tasks-create.ts +136 -0
- package/src/nexus/api/telegram-trigger-bot.ts +3 -3
- package/src/nexus/api/terminals.ts +204 -18
- package/src/nexus/api/trace.ts +354 -0
- package/src/nexus/api/vault-api.ts +140 -7
- package/src/nexus/api/worktrees.ts +18 -2
- package/src/nexus/boot/register-mcp-clients.ts +38 -4
- package/src/nexus/daemon-endpoint.ts +85 -0
- package/src/nexus/default-port.ts +1 -0
- package/src/nexus/index.ts +329 -111
- package/src/nexus/onboarding/pwa-share-prompt.ts +31 -8
- package/src/nexus/onboarding/tailscale-probe.ts +9 -1
- package/src/nexus/setup-status.ts +58 -0
- package/src/nexus/supervisor/lock.ts +8 -0
- package/src/nexus/webterm/pty.ts +15 -0
- package/src/oauth/codex-account-rotation.ts +122 -16
- package/src/oauth/codex-account-store.ts +88 -19
- package/src/oauth/codex-quota-policy.ts +55 -0
- package/src/oauth/store.ts +28 -25
- package/src/obsidian/default-vault.ts +17 -0
- package/src/obsidian/vault-write-guard.ts +46 -0
- package/src/onboarding/help/llm.md +2 -2
- package/src/onboarding.ts +2 -2
- package/src/panes/alt-skip-predicate.ts +4 -3
- package/src/panes/external-terminal-pane.ts +3 -4
- package/src/panes/factory.ts +1 -18
- package/src/panes/index.ts +1 -5
- package/src/panes/pane-cycle.ts +1 -1
- package/src/panes/types.ts +1 -1
- package/src/platform/env-literal.ts +4 -0
- package/src/plugin-hooks/dispatcher.ts +10 -4
- package/src/plugins/core/host.ts +94 -4
- package/src/plugins/core/manifest.ts +104 -7
- package/src/plugins/install/market-fetch.ts +249 -0
- package/src/plugins/install/plugin-install.ts +387 -0
- package/src/policy/claude-subscription-guard.ts +25 -0
- package/src/preview/terminal.ts +24 -1
- package/src/preview-pane/mount.ts +1 -142
- package/src/prompt/references.ts +4 -51
- package/src/pty-shell/pty-control-ipc.ts +57 -3
- package/src/pty-shell/pty-mouse.ts +75 -0
- package/src/pty-shell/pty-recording.ts +108 -0
- package/src/pty-shell/registry.ts +53 -3
- package/src/python/resolve-python.ts +1 -1
- package/src/release-loop/manifest.ts +65 -0
- package/src/release-loop/release-note.ts +174 -0
- package/src/roles/lease-cas.ts +52 -0
- package/src/roles/machine-name.ts +48 -0
- package/src/roles/machine-profile.ts +65 -0
- package/src/roles/role-lease-read.ts +81 -0
- package/src/roles/role-lease.ts +63 -0
- package/src/roles/role-watch.ts +69 -0
- package/src/self-dev/ask-launch-flow.ts +39 -22
- package/src/self-dev/ask-launch-io.ts +1 -1
- package/src/self-dev/dev-cli.ts +250 -139
- package/src/self-dev/dev-pipeline.ts +80 -8
- package/src/self-dev/draft-sweep.ts +231 -0
- package/src/self-dev/draft-triage-rules.ts +42 -0
- package/src/self-dev/entrance-baseline.ts +156 -4
- package/src/self-dev/fabric-decompose-adapter.ts +10 -0
- package/src/self-dev/launch-preflight.ts +1 -1
- package/src/self-dev/orchestrate.ts +297 -20
- package/src/self-dev/repair-signals.ts +6 -0
- package/src/self-dev/run-store.ts +20 -5
- package/src/self-dev/run-supervisor.ts +43 -3
- package/src/self-implement/abandoned-classification.ts +15 -1
- package/src/self-implement/blocked-draft-policy.ts +6 -0
- package/src/self-implement/budget-gate.ts +236 -0
- package/src/self-implement/child-llm-preference.ts +84 -0
- package/src/self-implement/decision-events.ts +57 -0
- package/src/self-implement/decision-signal-press.ts +5 -2
- package/src/self-implement/dependency-change-gate.ts +90 -0
- package/src/self-implement/gate-baseline.ts +32 -1
- package/src/self-implement/gate-cli.ts +29 -7
- package/src/self-implement/gate-scope.ts +7 -1
- package/src/self-implement/goal-author-decompose.ts +22 -4
- package/src/self-implement/goal-author.ts +23 -2
- package/src/self-implement/goal-boundary.ts +65 -0
- package/src/self-implement/goal-clarification-escalation.ts +1 -0
- package/src/self-implement/goal-documents-dir.ts +6 -1
- package/src/self-implement/goal-execution-records.ts +58 -0
- package/src/self-implement/goal-run-store.ts +42 -24
- package/src/self-implement/graph-authority.ts +13 -28
- package/src/self-implement/graph-catalog.ts +48 -0
- package/src/self-implement/graph-run-contract.ts +127 -0
- package/src/self-implement/graph-templates.ts +14 -7
- package/src/self-implement/graph-yaml.ts +35 -6
- package/src/self-implement/harness-policy-gates.ts +42 -0
- package/src/self-implement/headless-elanous-driver.ts +30 -6
- package/src/self-implement/heal-triage.ts +229 -0
- package/src/self-implement/host-regate.ts +240 -0
- package/src/self-implement/non-git-consent.ts +23 -0
- package/src/self-implement/orchestrator.ts +481 -132
- package/src/self-implement/pipeline-shape.ts +1 -1
- package/src/self-implement/pr-evidence-artifact.ts +6 -19
- package/src/self-implement/prior-draft-findings.ts +128 -0
- package/src/self-implement/pwa-import-graph.ts +65 -0
- package/src/self-implement/repo-provision.ts +18 -21
- package/src/self-implement/report-origin.ts +39 -0
- package/src/self-implement/rework-policy.ts +21 -0
- package/src/self-implement/run-ledger-compact.ts +438 -0
- package/src/self-implement/run-ledger.ts +212 -29
- package/src/self-implement/run-report.ts +24 -0
- package/src/self-implement/run-status-mapping.ts +2 -0
- package/src/self-implement/running-runs.ts +112 -14
- package/src/self-implement/scoped-typecheck-config.ts +49 -0
- package/src/self-implement/seams.ts +203 -38
- package/src/self-implement/self-implement-cli.ts +17 -2
- package/src/self-implement/shadow-repo.ts +350 -0
- package/src/self-implement/supervision-vocabulary.ts +7 -0
- package/src/shell-runner/dispatch.ts +3 -0
- package/src/shell-runner/index.ts +0 -7
- package/src/skills/runner.ts +0 -69
- package/src/skills/tools/agent-room-slash.ts +2 -1
- package/src/skills/tools/agent-room.ts +8 -140
- package/src/skills/tools/agent.ts +5 -3
- package/src/skills/tools/context.ts +5 -140
- package/src/skills/tools/control.ts +4 -188
- package/src/skills/tools/dashboard-slash.ts +3 -11
- package/src/skills/tools/dashboard-state.ts +3 -5
- package/src/skills/tools/dev-harness.ts +3 -2
- package/src/skills/tools/omni-search.ts +29 -1
- package/src/skills/tools/shell.ts +11 -29
- package/src/skills/tools/spawn-coding-agent-headless.ts +6 -9
- package/src/ssh/ssh-picker-modal.ts +1 -1
- package/src/steward/directive.ts +99 -0
- package/src/steward/triage.ts +203 -0
- package/src/storage/cli-bin.ts +67 -0
- package/src/storage/object-store-visibility.ts +169 -0
- package/src/storage/object-store.ts +452 -0
- package/src/storage/s3.ts +53 -10
- package/src/storage/storage-detect.ts +337 -0
- package/src/surface/address.ts +3 -5
- package/src/surface/index.ts +0 -6
- package/src/surface/llm-tools.ts +1 -2
- package/src/surface/shell-runner-boot.ts +4 -89
- package/src/task-cards/card-cli.ts +64 -0
- package/src/task-cards/card-store.ts +241 -0
- package/src/task-orchestrator/boot.ts +27 -1
- package/src/task-orchestrator/dispatcher.ts +49 -7
- package/src/task-orchestrator/external-fingerprint.ts +10 -0
- package/src/task-orchestrator/external-policy.ts +86 -0
- package/src/task-orchestrator/feedback-loop.ts +4 -2
- package/src/task-orchestrator/graph.ts +18 -1
- package/src/task-orchestrator/runtimes/create.ts +128 -0
- package/src/task-orchestrator/store.ts +78 -18
- package/src/task-orchestrator/surface-registry.ts +5 -2
- package/src/task-orchestrator/surfaces/external-exec.ts +180 -0
- package/src/task-orchestrator/surfaces/idea-approval-pr.ts +118 -0
- package/src/task-orchestrator/surfaces/index.ts +4 -3
- package/src/task-orchestrator/surfaces/pod-account-broker.ts +60 -5
- package/src/task-orchestrator/surfaces/pod-artifact-return.ts +136 -0
- package/src/task-orchestrator/surfaces/pod-command-job.ts +348 -0
- package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +177 -0
- package/src/task-orchestrator/surfaces/pod-pool.ts +128 -12
- package/src/task-orchestrator/surfaces/pod-skills.ts +11 -3
- package/src/task-orchestrator/surfaces/pod-source-bundle.ts +132 -0
- package/src/task-orchestrator/surfaces/pod-source-receive.ts +91 -0
- package/src/task-orchestrator/surfaces/pod-source-spec.ts +77 -0
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +782 -41
- package/src/task-orchestrator/surfaces/self-implement.ts +8 -1
- package/src/task-orchestrator/tox-loop.ts +204 -0
- package/src/task-orchestrator/types.ts +21 -1
- package/src/telegram-commands.ts +8 -0
- package/src/telegram-report.ts +2 -1
- package/src/telegram-run.ts +18 -5
- package/src/telegram.ts +92 -22
- package/src/tool-runtime/acp-session-runtime.ts +28 -7
- package/src/tool-runtime/agent-runtime.ts +1 -0
- package/src/tool-runtime/context-runtime.ts +18 -35
- package/src/tool-runtime/control-runtime.ts +8 -21
- package/src/tool-runtime/dashboard-state-runtime.ts +1 -5
- package/src/tool-runtime/elanous-asana-runtimes.ts +205 -0
- package/src/tool-runtime/elanous-control-runtimes.ts +16 -2
- package/src/tool-runtime/elanous-task-submit-runtime.ts +124 -0
- package/src/tool-runtime/index.ts +4 -1
- package/src/tool-runtime/scenario-runtimes.ts +22 -21
- package/src/tool-runtime/scenario-target-mount.ts +6 -32
- package/src/tool-runtime/types.ts +8 -0
- package/src/tui/chat/attachment-summary.ts +4 -4
- package/src/tui-client/headless-core-guard.ts +0 -1
- package/src/tui.ts +8 -5
- package/src/typecheck-ratchet.ts +15 -0
- package/src/ui/hover-presenter.ts +3 -7
- package/src/user-config.ts +427 -190
- package/src/version/code-revision.ts +33 -8
- package/src/version/packed-revision.json +1 -1
- package/src/video-pipeline/broll-agent.ts +102 -0
- package/src/video-pipeline/recipes/broll.ts +263 -0
- package/src/video-pipeline/walk-line.ts +2 -1
- package/src/views/scratch-image-size.ts +10 -0
- package/src/voice/channel-adapters/pwa-voice-adapter.ts +2 -18
- package/src/voice/channel-adapters/telegram-voice-adapter.ts +1 -6
- package/src/voice/voice-tts-singleton.ts +46 -8
- package/src/web-push/vapid-keys.ts +1 -1
- package/src/web-search/index.ts +5 -5
- package/src/web-terminal/preview-tap-registry.ts +152 -43
- package/src/workflow-runtime/executor.ts +18 -22
- package/src/workflow-runtime/node-catalog.ts +20 -1
- package/src/workflow-runtime/nodes/bash.ts +1 -0
- package/src/workflow-runtime/nodes/task.ts +74 -0
- package/src/workflow-runtime/nodes/triggers.ts +24 -1
- package/src/workflow-runtime/plugin-kind-node.ts +138 -0
- package/src/workflow-runtime/schema.ts +98 -2
- package/src/workflow-runtime/triggers/webhook-router.ts +43 -3
- package/src/workflow-runtime/triggers/webhook-source.ts +19 -1
- package/src/workflow-runtime/types.ts +74 -4
- package/apps/pwa/out/_next/static/Ksn99fVf2HUWhSyV1-FC8/_buildManifest.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1176-4943bd83b00e53a2.js +0 -25
- package/apps/pwa/out/_next/static/chunks/1380-9c652e1002032c86.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1863-2ea170dfec26b88b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2091-2d6b7f4f16300f83.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2347-366617ec73babe3b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2598.814f64e3268634e7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3089-e60cc8f5d35ee239.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3158-c77ed9ea34f9cc9f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3607-f0b5c5ee18fcf56a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3659-05b2d5d971b42dbc.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3736-b6a7bfdcb8f56ec6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3839-eebf298e89a7bb77.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4012.832a2824b978e7ee.js +0 -5
- package/apps/pwa/out/_next/static/chunks/4706-d85d7f3345f3ff91.js +0 -1
- package/apps/pwa/out/_next/static/chunks/526-17a6a2e0e6dc4498.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5508-676ac75f2757ad40.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5583-8a0317f4b8e68db9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5927.8378481a12cc8044.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6258-b58f722b10e8d31d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6820-32fd097e6186fdc9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6852-983db7ca958634b7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7235-e583e4a015e159b9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7482-7b417330b24a996a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7701-99b7d4dedb955bf8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/77f1928d-bd3777589042d3ea.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8366-36956cafc5e33614.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8370-23d0de995be666f8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8617-307421f3b0e8b2a2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8837-e45de46a9fedf1f5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9058-0e8055a5ea3ebdd6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-84b84eca12acada4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-1f23568c29e88f7a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-bf6fc9aafd6135a7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-3f8539ae4b719d2e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/chat/page-d2900febb74ecf32.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/control/page-e82dec647dd79c36.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/dashboard/page-096ec743a8ee955a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-255c2ceded4b3493.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-84b84eca12acada4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/intake/page-2db61b2f9efba61f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-e11ee17f221aaa9b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-e075974e029ce4c4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/morning/page-ec5b68a9af3366a0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-986c177afb4adae6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-a72781461af2f2a3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/page-92781cbaafc487ad.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-2c14d2a1f2930f33.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-22ee4bf8070b2b4d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-9c06e4a8297942a8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-d0cd32f6d373798f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-0c1642018d87ebb8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-93e5e97d614df487.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-84b84eca12acada4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/page-b1ce871940d7393e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/share/page-ae154addf345febe.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-90af3aa813d2053c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-f3f962fda428a738.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/term/page-1c1f7cc1d5def06d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-09d4cbdaaacf06c1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-e877b8e8ca90b27f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-71d902f463dea526.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-40ea576cefa25fe6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-a56a3f178c3831f6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/bcc499d1-804a270d878e0842.js +0 -1
- package/apps/pwa/out/_next/static/chunks/framework-b25b7c5501c59b6d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-a9ec9da43387afff.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-app-aa2c05954aaa6754.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_app-bb3768fb4b84aebb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_error-2820ba75b87b2f5e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/webpack-58c73b145f189b1c.js +0 -1
- package/apps/pwa/out/_next/static/css/effec8adf767aa75.css +0 -1
- package/apps/pwa/out/dashboard/index.html +0 -1
- package/apps/pwa/out/dashboard/index.txt +0 -26
- package/src/acp/resident-shell.ts +0 -244
- package/src/agent/spawn-local-llm-in-vw.ts +0 -240
- package/src/dashboard/agent-spawn-tools-boot.ts +0 -14
- package/src/dashboard/dock-picker-inventory.ts +0 -41
- package/src/dashboard/goal-plan-hud-bridge.ts +0 -112
- package/src/dashboard/hud-mirror.ts +0 -207
- package/src/dashboard/input/mouse-dock-runtime.ts +0 -156
- package/src/dashboard/input/mouse-hover-runtime.ts +0 -46
- package/src/dashboard/input/mouse-pill-context-runtime.ts +0 -74
- package/src/dashboard/input/mouse-workspace-restore-runtime.ts +0 -64
- package/src/dashboard/input/scratch-actions.ts +0 -36
- package/src/dashboard/input/virtual-window-key-router.ts +0 -24
- package/src/dashboard/rich-scratch-viewers.ts +0 -77
- package/src/dashboard/scratch-slash-runtime.ts +0 -36
- package/src/dashboard/scratch-state-runtime.ts +0 -42
- package/src/dashboard/scratch-widget-runtime.ts +0 -37
- package/src/dashboard/sim-shell.ts +0 -313
- package/src/dashboard/virtual-window-control-runtime.ts +0 -57
- package/src/dashboard/virtual-window-help-runtime.ts +0 -113
- package/src/dashboard/virtual-window-input-runtime.ts +0 -99
- package/src/dashboard/virtual-window-mutation-runtime.ts +0 -102
- package/src/dashboard/virtual-window-split-runtime.ts +0 -70
- package/src/dashboard/vw-popup-openers.ts +0 -126
- package/src/dashboard/window-picker-popup.ts +0 -74
- package/src/dashboard/window-slash-runtime.ts +0 -108
- package/src/dashboard/windowing/companion-slash.ts +0 -78
- package/src/dashboard/windowing/fast-switch.ts +0 -138
- package/src/dashboard/windowing/lifecycle.ts +0 -185
- package/src/dashboard/windowing/virtual-windows.ts +0 -259
- package/src/dashboard/windowing/visibility-chord.ts +0 -77
- package/src/iul/resident-vw.ts +0 -55
- package/src/panes/content-adapter.ts +0 -162
- package/src/prompt/vw-reference.ts +0 -153
- package/src/shell-runner/external-terminal-pane.ts +0 -157
- package/src/sim/resident-vw.ts +0 -48
- package/src/skills/tools/spawn-coding-agent-vw.ts +0 -181
- package/src/skills/tools/virtual-windows.ts +0 -632
- package/src/surface/adapters/window-surface-adapter.ts +0 -141
- package/src/tool-runtime/layout-runtimes.ts +0 -81
- package/src/tool-runtime/scenario-window-mount.ts +0 -207
- package/src/views/ui-mode.ts +0 -100
- package/src/virtual-window-context-menu.ts +0 -97
- package/src/virtual-windows/addressing.ts +0 -195
- package/src/virtual-windows/benchmark-preset.ts +0 -119
- package/src/virtual-windows/event-bus.ts +0 -202
- package/src/virtual-windows/layout/apply-planner.ts +0 -189
- package/src/virtual-windows/layout/index.ts +0 -68
- package/src/virtual-windows/layout/layout-commands.ts +0 -186
- package/src/virtual-windows/layout/layout-tools.ts +0 -262
- package/src/virtual-windows/layout/persistence.ts +0 -219
- package/src/virtual-windows/layout/presets.ts +0 -114
- package/src/virtual-windows/layout/restore-planner.ts +0 -223
- package/src/virtual-windows/layout/serializer.ts +0 -197
- package/src/virtual-windows/layout/tree.ts +0 -147
- package/src/virtual-windows/layout/types.ts +0 -63
- package/src/virtual-windows/layout-tree.ts +0 -389
- package/src/virtual-windows/navigation.ts +0 -251
- package/src/virtual-windows/pane-capture.ts +0 -142
- package/src/virtual-windows/pane-content.ts +0 -611
- package/src/virtual-windows/pane-spawner.ts +0 -278
- package/src/virtual-windows/pty-tail-content.ts +0 -291
- package/src/virtual-windows/resident-window.ts +0 -59
- package/src/virtual-windows/secondary-action.ts +0 -25
- package/src/virtual-windows/terminal-slot-content.ts +0 -165
- package/src/virtual-windows/virtual-window.ts +0 -1301
- package/src/virtual-windows/vw-local-input-target-popup.ts +0 -110
- package/src/virtual-windows/vw-rename-modal.ts +0 -77
- package/src/virtual-windows/vw-selector-popup.ts +0 -177
- package/src/virtual-windows/window-registry.ts +0 -519
- package/src/voice/channel-adapters/discord-voice-adapter.ts +0 -202
- package/src/voice/voice-pwa-dispatch.ts +0 -245
- package/src/window-picker-modal.ts +0 -135
- /package/apps/pwa/out/_next/static/{Ksn99fVf2HUWhSyV1-FC8 → zoQX5iTvXOsIvCjxCe1Ji}/_ssgManifest.js +0 -0
- /package/src/dashboard/{companion-slash-runtime.ts → companion-messages-runtime.ts} +0 -0
package/src/chat/index.ts
CHANGED
|
@@ -413,12 +413,13 @@ export interface SlashCommand {
|
|
|
413
413
|
|
|
414
414
|
// Default commands available in the input
|
|
415
415
|
export const SLASH_COMMANDS: SlashCommand[] = [
|
|
416
|
+
{ name: 'directive', aliases: [], description: 'Record a directive as a Linear issue' },
|
|
416
417
|
{ name: 'run-skill', aliases: ['rs', 'run'], description: 'Execute a skill via its SKILL.md prompt' },
|
|
417
418
|
{ name: 'ad', aliases: [], description: 'Create an advertising plan from a URL, brief, or attached image' },
|
|
418
419
|
// B4 — craft rulebook verdict, same resolution as `elanous repo design-check`
|
|
419
420
|
// and the PWA `/design-check` panel. Listed (not baselined as hidden) on
|
|
420
421
|
// purpose: a surface nobody can discover is not a surface.
|
|
421
|
-
{ name: 'design', aliases: ['design-check'], description: 'Craft rulebooks — 이 저장소 DESIGN.md 가 선언한 규칙집 · 못 찾은 것 · elanous 가 주는데 선언 안 된 것. /design [--declared]', subcommands: ['--declared'] },
|
|
422
|
+
{ name: 'design', aliases: ['design-check'], description: 'Craft rulebooks — 이 저장소 DESIGN.md 가 선언한 규칙집 · 못 찾은 것 · elanous 가 주는데 선언 안 된 것. /design [--declared] · /design pick [번호|id] 디자인 방향 선택', subcommands: ['--declared', 'pick'] },
|
|
422
423
|
{ name: 'provider', aliases: ['p'], description: 'LLM providers — /provider (list) · next (cycle, also Alt+M / pill click) · use <name> · pick (visual picker) · reset', subcommands: ['next', 'use', 'pick', 'picker', 'menu', 'reset', 'list'] },
|
|
423
424
|
{ name: 'reasoning', aliases: ['r', 'think'], description: 'Reasoning level (codex effort + summary, anthropic extended-thinking budget) — /reasoning [off|low|medium|high|xhigh] (cycle when no arg · xhigh 는 모델 상한이 xhigh 이상일 때만 wire 에 실린다, 아니면 high 로 깎인다)', subcommands: ['off', 'low', 'medium', 'high', 'xhigh'] },
|
|
424
425
|
{ name: 'model', aliases: ['m'], description: 'Switch active model — /model <codex|terra|sol|luna|opus|sonnet|grok> (list + current when no arg). OpenAI 는 Codex(Responses API)만. effort 는 /reasoning.', subcommands: ['codex', 'terra', 'sol', 'luna', 'opus', 'sonnet', 'grok'] },
|
|
@@ -431,72 +432,42 @@ export const SLASH_COMMANDS: SlashCommand[] = [
|
|
|
431
432
|
{ name: 'mission', aliases: [], description: 'Autopilot 미션 — list(+헬스) · trace <id> 계보 · arm <id> 승인 (구체화/종료는 CLI)', subcommands: ['list', 'trace', 'arm'] },
|
|
432
433
|
{ name: 'resume-turn', aliases: [], description: 'Resume a paused turn checkpoint (/pause 짝 · 구 /resume)', subcommands: ['list'] },
|
|
433
434
|
{ name: 'context', aliases: ['ctx'], description: 'Show / clear / drop attached files', subcommands: ['clear', 'drop'] },
|
|
434
|
-
{ name: 'paste', aliases: [
|
|
435
|
+
{ name: 'paste', aliases: [], description: 'Attach clipboard image (macOS)' },
|
|
435
436
|
{ name: 'sync', aliases: ['s'], description: 'Enter sync mode' },
|
|
436
437
|
{ name: 'plugin', aliases: ['plugins'], description: 'Manage plugins', subcommands: ['list', 'activate', 'deactivate', 'reload'] },
|
|
437
438
|
{ name: 'widget', aliases: ['widgets'], description: 'Manage widgets', subcommands: ['list', 'reload', 'instances'] },
|
|
438
439
|
{ name: 'clear', aliases: ['cls'], description: 'Clear chat log' },
|
|
439
440
|
{ name: 'log', aliases: [], description: 'Chat Log controls — size / clear / filter / search / freeze / solo / turn / fold / help', subcommands: ['size', 'clear', 'filter', 'search', 'freeze', 'solo', 'turn', 'fold', 'help'] },
|
|
440
|
-
{ name: 'media', aliases: ['mv'], description: 'Last assistant media preview — status / open / sample / clear', subcommands: ['status', 'open', 'sample', 'clear', 'help'] },
|
|
441
|
-
{ name: 'browser-cdp', aliases: ['bcdp'], description: 'Browser CDP status / smoke / stop', subcommands: ['status', 'smoke', 'stop', 'help'] },
|
|
442
441
|
{ name: 'help', aliases: ['?'], description: 'Show help overlay' },
|
|
443
|
-
{ name: 'codex-setup', aliases: ['codex-init'], description: 'Codex 1-point setup — OAuth login + model pick + save config' },
|
|
444
442
|
{ name: 'setup', aliases: [], description: 'Onboarding wizard guide — /setup (anchor) · /setup reset (re-run wizard on next boot)', subcommands: ['help', 'reset'] },
|
|
445
443
|
{ name: 'memory', aliases: ['mem'], description: 'Memory ops — list / show / search / add / delete (see `elanous memory --help`)', subcommands: ['list', 'show', 'search', 'add', 'delete', 'index'] },
|
|
446
444
|
{ name: 'status', aliases: ['st'], description: 'Print the claude-code-style status pills (working dir + git + model)' },
|
|
447
445
|
{ name: 'export', aliases: [], description: 'Export this conversation transcript to a markdown file — /export [path] (default ~/temp/elanous-transcript-<stamp>.md)' },
|
|
448
|
-
{ name: 'cache', aliases: [], description: 'Prompt-cache metrics — show session totals / reset', subcommands: ['show', 'reset'] },
|
|
449
446
|
{ name: 'delta', aliases: ['diffs'], description: 'Source delta browser — open the latest turn-scoped file diff popup', subcommands: ['open', 'help'] },
|
|
450
447
|
{ name: 'theme', aliases: [], description: 'Theme controls — list / switch / use / reset / preview / export', subcommands: ['list', 'switch', 'use', 'reset', 'preview', 'export'] },
|
|
451
448
|
{ name: 'debug', aliases: [], description: 'Runtime tracer + surfaces — /debug on (mirror+file) · off · file (quiet trail) · diag (loud trail) · render on|off (렌더 무음, 레벨과 직교); surfaces: window / popup / workbench / promote', subcommands: ['on', 'off', 'file', 'diag', 'mirror', 'verbose', 'render', 'level', 'toggle', 'tail', 'clear', 'path', 'view', 'status', 'window', 'popup', 'workbench'] },
|
|
452
|
-
{ name: 'audit', aliases: [], description: 'Tail control-audit log (default: input policy changes; last 20 entries)', subcommands: ['input', 'all'] },
|
|
453
449
|
{ name: 'rebind', aliases: [], description: 'Manage runtime input bindings — list / show / add / reset / export / import', subcommands: ['actions', 'reset', 'export', 'import', 'help'] },
|
|
454
|
-
{ name: 'perf', aliases: [], description: 'Perf counters: draw latency + debug.log calls + stdout writes', subcommands: ['on', 'off', 'report', 'reset', 'status'] },
|
|
455
|
-
{ name: 'substrate-stats', aliases: ['sst'], description: 'Substrate observability — paint cache hits/misses · overlay skip/write · mount churn · F8 generation bumps' },
|
|
456
|
-
{ name: 'playground', aliases: ['pg'], description: 'IUL playground lab — list / run <id> [-v] / parse <path> / edit <id> / save <id> <path>.', subcommands: ['list', 'run', 'parse', 'edit', 'save'] },
|
|
457
|
-
{ name: 'hint', aliases: [], description: 'Tool hints — prefer/avoid/enable/disable/list/reset/show', subcommands: ['prefer', 'avoid', 'enable', 'disable', 'list', 'reset', 'show'] },
|
|
458
450
|
{ name: 'api-allow', aliases: ['api'], description: 'api_call allowlist — add/remove/list hosts the model may call', subcommands: ['add', 'remove', 'list', 'clear'] },
|
|
459
451
|
{ name: 'prompt', aliases: ['prompts'], description: 'Prompt Bank — list / show / search / select / inject / explain / enable / disable / config', subcommands: ['list', 'show', 'search', 'select', 'inject', 'explain', 'enable', 'disable', 'config'] },
|
|
460
452
|
{ name: 'history', aliases: ['hist', 'inputs'], description: 'Input history — list / find / show / clear', subcommands: ['list', 'find', 'show', 'clear'] },
|
|
461
453
|
{ name: 'research', aliases: ['rsh'], description: 'Autonomous research loop — start / status / stop / tail / replan (PFC-S4)', subcommands: ['start', 'status', 'stop', 'tail', 'replan'] },
|
|
462
454
|
// /harness is the dashboard's sole harness-launching entry. Its first
|
|
463
|
-
// positional token selects plan, ask,
|
|
455
|
+
// positional token selects plan, ask, dev, goal, runs, stop, or memo;
|
|
464
456
|
// otherwise the complete sentence follows the former /dev dispatch.
|
|
465
|
-
{ name: 'harness', aliases: [], description: 'Harness — /harness <goal> (self-dev) · plan <goal> · ask <sentence> ·
|
|
457
|
+
{ name: 'harness', aliases: [], description: 'Harness — /harness <goal> (self-dev) · plan <goal> · ask <sentence> · dev <goal> · goal <goal-file> · runs · stop <space-id> · memo <space-id> <note>', subcommands: ['plan', 'ask', 'dev', 'goal', 'runs', 'stop', 'memo'] },
|
|
466
458
|
{ name: 'plan', aliases: [], description: 'Toggle plan mode — read-only planning posture (slash alias for EnterPlanMode tool)', subcommands: ['enter', 'exit', 'status'] },
|
|
467
459
|
{ name: 'chat', aliases: [], description: 'Toggle LLM-only layout (hide 3-pane grid)' },
|
|
468
460
|
{ name: 'dashboard', aliases: ['dash'], description: 'Return to 3-pane dashboard layout' },
|
|
469
|
-
// TUI 부활 T2 (2026-07-12): 단일 UI 모드 축 — essential(chat 전체화면 ·
|
|
470
|
-
// 기본) ↔ rich(full dashboard). config persist 포함.
|
|
471
|
-
{ name: 'ui', aliases: [], description: 'UI mode — essential (chat 전체화면 · 기본) ↔ rich (full dashboard) · config 저장', subcommands: ['essential', 'rich'] },
|
|
472
|
-
// Q2 (substrate Occam, 2026-05-03): the legacy `/workspace`
|
|
473
|
-
// (working-dir | skill view switch) entry was vestigial — declared
|
|
474
|
-
// in the catalog but never wired to a handler. Removed so the new
|
|
475
|
-
// `/workspace` (virtual window management) below can take the name.
|
|
476
|
-
// Use `/view` for view switching instead.
|
|
477
461
|
{ name: 'telegram', aliases: ['tg'], description: 'Telegram bot — status / pair / send / pause / stop / attach / detach / sessions', subcommands: ['status', 'pair', 'setup', 'send', 'pause', 'stop', 'attach', 'detach', 'sessions'] },
|
|
478
|
-
{ name: '
|
|
479
|
-
|
|
480
|
-
// per PLAN §4. `/window` `/win` `/ws` preserved as muscle-memory
|
|
481
|
-
// aliases. Implementation directory rename + symbol rename
|
|
482
|
-
// (`VirtualWindow` → `Workspace`, etc.) deferred to a follow-up PR
|
|
483
|
-
// — slash-command rename is the user-facing first step.
|
|
484
|
-
{ name: 'workspace', aliases: ['ws', 'window', 'win'], description: 'Workspaces (formerly virtual windows) — list / new / browser / preview / browser-preview / iul / acp / sim / switch / close / picker / companion', subcommands: ['list', 'new', 'browser', 'preview', 'browser-preview', 'iul', 'acp', 'sim', 'switch', 'close', 'closeall', 'picker', 'companion'] },
|
|
485
|
-
{ name: 'sim', aliases: ['simulator'], description: 'Simulator shell — open / list / run <scenario>', subcommands: ['open', 'list', 'run'] },
|
|
486
|
-
{ name: 'tablet', aliases: [], description: 'Tablet mode — collapse layout to log + input (Ctrl+M <pane> for others)', subcommands: ['on', 'off', 'toggle', 'auto', 'status', 'browser-preview', 'bp'] },
|
|
487
|
-
{ name: 'surface', aliases: ['surf'], description: 'Surface control — open a pane/catalog launcher (/surface catalog · browser · preview · log · scratch · obsidian · skill) OR set a preferred LLM surface (/surface coding-agent · research-agent · control-agent · ops-agent · … · clear · status)', subcommands: ['catalog', 'browser', 'preview', 'browser-preview', 'log', 'scratch', 'obsidian', 'skill', 'skill-file', 'agents', 'coding-agent', 'coding-chat', 'research-agent', 'research-chat', 'control-agent', 'ops-ui-agent', 'ops-fleet-agent', 'ops-agent', 'clear', 'status'] },
|
|
488
|
-
{ name: 'scratch', aliases: ['sc'], description: 'Scratchpad ops (text body / memo / clear / dump-log / popup)', subcommands: ['memo', 'clear', 'dump', 'popup'] },
|
|
462
|
+
{ name: 'tablet', aliases: [], description: 'Tablet mode — collapse layout to log + input', subcommands: ['on', 'off', 'toggle', 'auto', 'status', 'browser-preview', 'bp'] },
|
|
463
|
+
{ name: 'surface', aliases: [], description: 'Surface control — open a pane/catalog launcher (/surface catalog · browser · preview · log · scratch · obsidian · skill) OR set a preferred LLM surface (/surface coding-agent · research-agent · control-agent · ops-agent · … · clear · status)', subcommands: ['catalog', 'browser', 'preview', 'browser-preview', 'log', 'scratch', 'obsidian', 'skill', 'skill-file', 'agents', 'coding-agent', 'coding-chat', 'research-agent', 'research-chat', 'control-agent', 'ops-ui-agent', 'ops-fleet-agent', 'ops-agent', 'clear', 'status'] },
|
|
489
464
|
{ name: 'term', aliases: ['terminal'], description: 'Interactive terminal modal — spawn / list / attach / detach / switch / kill / snapshot / resume', subcommands: ['spawn', 'list', 'attach', 'detach', 'switch', 'kill', 'snapshot', 'resume'] },
|
|
490
|
-
{ name: 'pty-list', aliases: ['ptys'], description: 'List PTY shell processes started from this dashboard session' },
|
|
491
|
-
{ name: 'pty-pane', aliases: ['pty-view'], description: 'Open a virtual-window pane tailing a PTY shell (auto-picks the only live one, else specify id)' },
|
|
492
465
|
{ name: 'claude', aliases: [], description: 'Spawn claude-code CLI in a terminal modal' },
|
|
493
466
|
{ name: 'codex', aliases: [], description: 'Spawn codex CLI in a terminal modal' },
|
|
494
467
|
{ name: 'gemini', aliases: [], description: 'Spawn gemini CLI in a terminal modal' },
|
|
495
468
|
{ name: 'acp', aliases: [], description: 'ACP chat — stream claude-code / codex / gemini replies into the chat pane (not a VW spawn). /acp codex points at the canonical codex app-server path; /acp cas is a synonym.', subcommands: ['claude', 'codex', 'gemini', 'cas', 'cancel', 'status', 'drop'] },
|
|
496
|
-
{ name: 'acp-vw', aliases: [], description: 'Spawn claude-code/codex/gemini/local-llm inside a new virtual window pane. /acp-vw clc (claude-code) · /acp-vw gem (gemini) · /acp-vw lll <node>:<model> (local-llm via lms chat · local node only) route through the H5 Embodied Agent Bus.', subcommands: ['claude', 'codex', 'clc', 'gem', 'lll'] },
|
|
497
469
|
{ name: 'conv', aliases: [], description: 'Conversation widget/popup host — /conv list · /conv open <session-id> · /conv layout <cascade|tile|stack> · /conv focus <next|prev>.', subcommands: ['list', 'ls', 'open', 'layout', 'focus'] },
|
|
498
470
|
{ name: 'handoff', aliases: [], description: 'H5 P3 cross-agent context handoff: /handoff <from_session_id> <to_brand> [--channels r,p,m] [--prompt "prefix"]. Takes source session snapshot (filtered by channels if observer present) and launches target via adapter registry. Brands: codex · claude · claude-code · gemini · elanous.' },
|
|
499
|
-
{ name: 'budget', aliases: ['b'], description: 'H6 P1 budget tracker — /budget [brand] · /budget remaining · /budget set <b> <w> <q> · /budget refresh · /budget forecast · /budget help', subcommands: ['set', 'refresh', 'forecast', 'status', 'remaining', 'help'] },
|
|
500
471
|
{ name: 'remaining', aliases: [], description: '계정마다 행으로 「지금 쓸 수 있는 것이 얼마나 남았나」를 본다 — 크레딧 축과 구독 축을 갈라 낸다. 화면은 명령 산출을 그대로 읽는다.' },
|
|
501
472
|
{ name: 'agent-room', aliases: [], description: 'H6 P4 VW agent-room — /agent-room <N> <brands...> · /agent-room list · /agent-room close <id> · N ∈ {2,3,4} · brands: codex/claude/gemini/elanous/auto/lll:<m>', subcommands: ['list', 'close', 'preset', 'help'] },
|
|
502
473
|
{ name: 'showroom', aliases: ['sr'], description: 'Showroom v2 multi-LLM lane composer — /showroom (default 2-pane) · /showroom <lane1> <lane2> [<lane3> [<lane4>]] · lane = role:provider[:transport] · roles plan/build/exec/review/reflect · pair with /lane and /relay for cross-lane handoffs.', subcommands: ['help'] },
|
|
@@ -505,18 +476,13 @@ export const SLASH_COMMANDS: SlashCommand[] = [
|
|
|
505
476
|
{ name: 'inject', aliases: [], description: 'H6 P7 InjectCaptureToContext — /inject <sourceId> <targetId> · inject capture snapshot into target session · --as user-message|system-note|attached-block · HITL approver gated · non-revocable v1', subcommands: ['help'] },
|
|
506
477
|
{ name: 'relay', aliases: [], description: 'Showroom v2 multi-lane handoff macros — /relay plan-build-review · /relay broadcast [--from <lane>] · /relay <from> -> <toA>,<toB> · HITL approver gates each step · failed steps non-aborting', subcommands: ['plan-build-review', 'broadcast', 'help'] },
|
|
507
478
|
{ name: 'lane', aliases: [], description: 'Showroom v2 cross-lane context inject — /lane <from> <to> · address by pane index | role (plan/build/exec/review/reflect) | brand · --as user-message|system-note|attached-block · HITL approver gated · /lane list · /lane help', subcommands: ['list', 'help'] },
|
|
508
|
-
{ name: '
|
|
509
|
-
{ name: 'claude-vw', aliases: [], description: 'Spawn claude-code CLI in a new virtual window (fullscreen-by-default, single pane).' },
|
|
510
|
-
{ name: 'codex-vw', aliases: [], description: 'Spawn codex CLI in a new virtual window (fullscreen-by-default, single pane).' },
|
|
511
|
-
{ name: 'control', aliases: ['dm'], description: 'Enter control mode — the LLM treats every message as a dashboard command. /control off to exit.' },
|
|
479
|
+
{ name: 'control', aliases: [], description: 'Enter control mode — the LLM treats every message as a dashboard command. /control off to exit.' },
|
|
512
480
|
{ name: 'default', aliases: [], description: 'Exit control mode back to default chat.' },
|
|
513
481
|
// NOTE: the preferred-LLM-surface command (/surface coding-agent · … · clear · status)
|
|
514
482
|
// shares the '/surface' name with the pane/catalog launcher above — both handlers
|
|
515
483
|
// dispatch by argument (immediate slash-executor for panes, registry for LLM surfaces).
|
|
516
484
|
// They are documented in the single merged '/surface' entry to keep names unique.
|
|
517
485
|
{ name: 'qc', aliases: [], description: 'Quick-control — arm one-shot control mode; next message runs as control, then auto-return to chat.' },
|
|
518
|
-
{ name: 'ctoggle', aliases: [], description: 'Toggle persistent control mode (alternative to /control ↔ /default).' },
|
|
519
|
-
{ name: 'fullscreen', aliases: ['fs'], description: 'Toggle fullscreen mode for the current terminal modal' },
|
|
520
486
|
{ name: 'voice-chat', aliases: ['vc'], description: 'Continuous voice chat mode — speak, elanous replies in voice (Phase 4-5). Subcommands: start / stop / cancel / status. Chord: Alt+R toggles enter/exit anywhere.', subcommands: ['start', 'stop', 'cancel', 'status'] },
|
|
521
487
|
{ name: 'auto-tts', aliases: ['tts', 'autotts'], description: 'Auto-TTS for chat responses (Phase 2) — speaks LLM replies sentence-by-sentence. Subcommands: on / off / toggle / status.', subcommands: ['on', 'off', 'toggle', 'status'] },
|
|
522
488
|
{ name: 'quit', aliases: ['q', 'exit'], description: 'Exit application' },
|
|
@@ -1771,10 +1737,20 @@ export async function textInput(opts: {
|
|
|
1771
1737
|
}
|
|
1772
1738
|
// ── Arrow keys (non-slash mode) ──
|
|
1773
1739
|
else if (editAction.kind === 'move-left') {
|
|
1774
|
-
|
|
1740
|
+
if (key.ctrl) {
|
|
1741
|
+
const action = resolveTextInputTextAction(currentLineEditorState(), key);
|
|
1742
|
+
if (action.kind === 'insert') applyCurrentLineEditorState(action.next);
|
|
1743
|
+
} else {
|
|
1744
|
+
applyMultilineEditorState(multilineEditorMoveLeft(multilineEditorState()));
|
|
1745
|
+
}
|
|
1775
1746
|
}
|
|
1776
1747
|
else if (editAction.kind === 'move-right') {
|
|
1777
|
-
|
|
1748
|
+
if (key.ctrl) {
|
|
1749
|
+
const action = resolveTextInputTextAction(currentLineEditorState(), key);
|
|
1750
|
+
if (action.kind === 'insert') applyCurrentLineEditorState(action.next);
|
|
1751
|
+
} else {
|
|
1752
|
+
applyMultilineEditorState(multilineEditorMoveRight(multilineEditorState()));
|
|
1753
|
+
}
|
|
1778
1754
|
}
|
|
1779
1755
|
else if (editAction.kind === 'history-older') {
|
|
1780
1756
|
applyHistoryState(navigateSingleLineHistory(historyState(), history, 'older'));
|
|
@@ -2064,7 +2040,7 @@ export function buildContext(ctx: DashboardContext): string {
|
|
|
2064
2040
|
export function formatResponse(
|
|
2065
2041
|
text: string,
|
|
2066
2042
|
maxWidth: number,
|
|
2067
|
-
wrapOpts: { urlAware?: boolean
|
|
2043
|
+
wrapOpts: { urlAware?: boolean } = {},
|
|
2068
2044
|
): string[] {
|
|
2069
2045
|
// Apply markdown styling first
|
|
2070
2046
|
const rendered = renderMarkdown(text);
|
|
@@ -26,10 +26,10 @@ export function resolveTextInputTextAction(
|
|
|
26
26
|
state: InlineEditorState,
|
|
27
27
|
key: Pick<Key, 'name' | 'ctrl' | 'shift'>,
|
|
28
28
|
): TextInputTextAction {
|
|
29
|
-
if (key.ctrl) {
|
|
29
|
+
if (key.ctrl && key.name !== 'w' && key.name !== 'left' && key.name !== 'right') {
|
|
30
30
|
return { kind: 'none' };
|
|
31
31
|
}
|
|
32
|
-
if (NON_TEXT_NAMED_KEYS.has(key.name)) {
|
|
32
|
+
if (!key.ctrl && NON_TEXT_NAMED_KEYS.has(key.name)) {
|
|
33
33
|
return { kind: 'none' };
|
|
34
34
|
}
|
|
35
35
|
|
package/src/chat/mode/manual.ts
CHANGED
|
@@ -144,10 +144,8 @@ export function buildDashboardControlManual(opts: BuildControlManualOpts = {}):
|
|
|
144
144
|
'- **Approval**: mutating tools (PaneInject, BroadcastPanes, TerminalModalInject,',
|
|
145
145
|
' DashboardConfigSet) pop a Y/N modal before write. Tell the user what you will do;',
|
|
146
146
|
' they confirm.',
|
|
147
|
-
'- **References**: embed `@term:<id>`
|
|
148
|
-
'
|
|
149
|
-
'- **Virtual windows**: `WindowCreate` spawns a new VW; `PaneSplit` carves it. `^B 0`',
|
|
150
|
-
' is the picker. Use `SpawnCodingAgentInVW` for a one-call claude-code/codex setup.',
|
|
147
|
+
'- **References**: embed `@term:<id>` in your response to have the expander',
|
|
148
|
+
' inline the referenced session output for the LLM.',
|
|
151
149
|
'- **Terminal sessions**: `/term spawn <cmd>` + `TerminalModalInject` + OSC 9/99/777',
|
|
152
150
|
' drive long-running CLI workflows.',
|
|
153
151
|
'- **SSH remote mode**: Ctrl+K host picker; the browser pane then reads/writes over',
|
|
@@ -629,10 +629,12 @@ export function createPickerState(deps: PickerDeps): PickerState {
|
|
|
629
629
|
|
|
630
630
|
if (key.name === 'up' || (key.ctrl && key.name === 'p')) {
|
|
631
631
|
cmdPickerIdx = (cmdPickerIdx - 1 + currentArgItems.length) % currentArgItems.length;
|
|
632
|
+
pickerNavigated = true;
|
|
632
633
|
return { consumed: true, action: null };
|
|
633
634
|
}
|
|
634
635
|
if (key.name === 'down' || (key.ctrl && key.name === 'n')) {
|
|
635
636
|
cmdPickerIdx = (cmdPickerIdx + 1) % currentArgItems.length;
|
|
637
|
+
pickerNavigated = true;
|
|
636
638
|
return { consumed: true, action: null };
|
|
637
639
|
}
|
|
638
640
|
if (key.name === 'tab') {
|
|
@@ -660,7 +662,7 @@ export function createPickerState(deps: PickerDeps): PickerState {
|
|
|
660
662
|
const ctx = parseArgContext(buf, deps.commands);
|
|
661
663
|
const selected = currentArgItems[cmdPickerIdx];
|
|
662
664
|
let submitText = buf.lines[0] ?? '';
|
|
663
|
-
if (ctx && ctx.currentArg === '' && selected) {
|
|
665
|
+
if (ctx && ctx.currentArg === '' && selected && pickerNavigated) {
|
|
664
666
|
submitText = submitText.slice(0, ctx.currentArgStart) + selected.value;
|
|
665
667
|
}
|
|
666
668
|
return {
|
|
@@ -707,32 +709,13 @@ export function createPickerState(deps: PickerDeps): PickerState {
|
|
|
707
709
|
}
|
|
708
710
|
if (key.name === 'enter' && !key.shift) {
|
|
709
711
|
const selected = filtered[cmdPickerIdx];
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
action: { kind: 'submit', text: '/' + selected.name },
|
|
718
|
-
};
|
|
719
|
-
}
|
|
720
|
-
// Autofill-only: rewrite the line to the full name, stay open.
|
|
721
|
-
if (selected) {
|
|
722
|
-
const newLine0 = '/' + selected.name;
|
|
723
|
-
return {
|
|
724
|
-
consumed: true,
|
|
725
|
-
action: {
|
|
726
|
-
kind: 'splice',
|
|
727
|
-
lineIdx: 0,
|
|
728
|
-
start: 0,
|
|
729
|
-
end: (buf.lines[0] ?? '').length,
|
|
730
|
-
text: newLine0,
|
|
731
|
-
newColIdx: newLine0.length,
|
|
732
|
-
},
|
|
733
|
-
};
|
|
734
|
-
}
|
|
735
|
-
return { consumed: true, action: null };
|
|
712
|
+
return {
|
|
713
|
+
consumed: true,
|
|
714
|
+
action: {
|
|
715
|
+
kind: 'submit',
|
|
716
|
+
text: pickerNavigated && selected ? '/' + selected.name : (buf.lines[0] ?? ''),
|
|
717
|
+
},
|
|
718
|
+
};
|
|
736
719
|
}
|
|
737
720
|
return { consumed: false };
|
|
738
721
|
};
|
package/src/chat/search/modal.ts
CHANGED
|
@@ -157,6 +157,7 @@ export function createSearchModal(spec: SearchModalSpec): SearchModalHandle {
|
|
|
157
157
|
const submitCurrent = (): void => {
|
|
158
158
|
const item = items[cursor];
|
|
159
159
|
if (item) spec.onAccept(item, query);
|
|
160
|
+
else spec.onCancel?.();
|
|
160
161
|
};
|
|
161
162
|
|
|
162
163
|
// SelectView as the paint engine. Filtering stays with the caller
|
|
@@ -255,8 +256,19 @@ export function createSearchModal(spec: SearchModalSpec): SearchModalHandle {
|
|
|
255
256
|
|
|
256
257
|
// KX3 — coordinator.routeKey drives this directly. Unknown keys
|
|
257
258
|
// still return 'consumed' so the modal behaves as a keyboard trap
|
|
258
|
-
// (matches legacy router contract).
|
|
259
|
-
|
|
259
|
+
// (matches legacy router contract). Accept alternate terminal key names
|
|
260
|
+
// before delegating the ordinary keys to the shared router.
|
|
261
|
+
const onKey = (ev: KeyEvent): 'consumed' | 'passthrough' => {
|
|
262
|
+
if (ev.name === 'esc' || ev.name === '\x1b' || ev.sequence === '\x1b') {
|
|
263
|
+
handle.cancel();
|
|
264
|
+
return 'consumed';
|
|
265
|
+
}
|
|
266
|
+
if (ev.name === 'return') {
|
|
267
|
+
handle.accept();
|
|
268
|
+
return 'consumed';
|
|
269
|
+
}
|
|
270
|
+
return routeSearchModalKeyInput(ev, handle);
|
|
271
|
+
};
|
|
260
272
|
|
|
261
273
|
const onMouse = (ev: DisplayMouseEvent): Action => {
|
|
262
274
|
const localX = ev.col - spec.bounds.col;
|
|
@@ -30,7 +30,7 @@ export interface ToolRenderConfig {
|
|
|
30
30
|
foldMode?: FoldMode;
|
|
31
31
|
/** When true, collapsed foldHint keeps the rich-mode "press f to expand"
|
|
32
32
|
* suffix. Omitted/false = count-only (essential/unknown). Expanded
|
|
33
|
-
* rendering ignores this.
|
|
33
|
+
* rendering ignores this. Dashboard producers pass
|
|
34
34
|
* `mode === 'rich'`. */
|
|
35
35
|
expandHint?: boolean;
|
|
36
36
|
}
|
|
@@ -247,7 +247,8 @@ export function renderTurnTypeaheadQueueRow(
|
|
|
247
247
|
if (count === 0) return null;
|
|
248
248
|
const head = state.queuedSubmissions[0] ?? '';
|
|
249
249
|
const label = count === 1 ? '⏳ 대기 1건' : `⏳ 대기 ${count}건`;
|
|
250
|
-
|
|
250
|
+
// 되꺼내기 키를 화면에 적는다 — 안내가 없어 대기 발화를 취소·수정할 길을 몰랐다(2026-09-26 베어 VM 실측 · UX 12).
|
|
251
|
+
const tail = ' · 턴 종료 시 전송 · Ctrl+↑ 되꺼내기';
|
|
251
252
|
const budget = Math.max(8, width - [...label].length - [...tail].length - 5);
|
|
252
253
|
const cps = [...head];
|
|
253
254
|
const shown = cps.length > budget ? `${cps.slice(0, budget).join('')}…` : head;
|
package/src/chat/wrap.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { visibleWidth } from '../tui.js';
|
|
|
2
2
|
|
|
3
3
|
export interface WrapOptions {
|
|
4
4
|
urlAware?: boolean;
|
|
5
|
-
preserveOsc8?: boolean;
|
|
6
5
|
}
|
|
7
6
|
|
|
8
7
|
interface Unit {
|
|
@@ -18,7 +17,7 @@ function isOsc8Sequence(raw: string): boolean {
|
|
|
18
17
|
return raw.startsWith('\x1b]8;;');
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
function readEscapeSequence(input: string, start: number
|
|
20
|
+
function readEscapeSequence(input: string, start: number): { raw: string; next: number } {
|
|
22
21
|
if (input[start] !== '\x1b') return { raw: input[start] ?? '', next: start + 1 };
|
|
23
22
|
const next = input[start + 1];
|
|
24
23
|
if (next === '[') {
|
|
@@ -30,7 +29,7 @@ function readEscapeSequence(input: string, start: number, preserveOsc8: boolean)
|
|
|
30
29
|
}
|
|
31
30
|
return { raw: input.slice(start, i), next: i };
|
|
32
31
|
}
|
|
33
|
-
if (next === ']'
|
|
32
|
+
if (next === ']') {
|
|
34
33
|
const bel = input.indexOf('\x07', start + 2);
|
|
35
34
|
const st = input.indexOf(OSC_TERMINATOR, start + 2);
|
|
36
35
|
if (bel >= 0 && (st < 0 || bel < st)) return { raw: input.slice(start, bel + 1), next: bel + 1 };
|
|
@@ -39,14 +38,14 @@ function readEscapeSequence(input: string, start: number, preserveOsc8: boolean)
|
|
|
39
38
|
return { raw: input.slice(start, Math.min(input.length, start + 2)), next: Math.min(input.length, start + 2) };
|
|
40
39
|
}
|
|
41
40
|
|
|
42
|
-
function toUnits(input: string
|
|
41
|
+
function toUnits(input: string): Unit[] {
|
|
43
42
|
const units: Unit[] = [];
|
|
44
43
|
let pendingEsc = '';
|
|
45
44
|
for (let i = 0; i < input.length; i++) {
|
|
46
45
|
const ch = input[i]!;
|
|
47
46
|
if (ch === '\x1b') {
|
|
48
|
-
const esc = readEscapeSequence(input, i
|
|
49
|
-
if (
|
|
47
|
+
const esc = readEscapeSequence(input, i);
|
|
48
|
+
if (isOsc8Sequence(esc.raw)) units.push({ raw: esc.raw, plain: '', width: 0 });
|
|
50
49
|
else pendingEsc += esc.raw;
|
|
51
50
|
i = esc.next - 1;
|
|
52
51
|
continue;
|
|
@@ -145,11 +144,10 @@ function splitTokenByWidth(token: Unit[], maxWidth: number): Unit[][] {
|
|
|
145
144
|
|
|
146
145
|
export function urlAwareWrap(text: string, cols: number, opts: WrapOptions = {}): string[] {
|
|
147
146
|
const width = Math.max(1, cols);
|
|
148
|
-
const preserveOsc8 = opts.preserveOsc8 !== false;
|
|
149
147
|
const urlAware = opts.urlAware === true;
|
|
150
148
|
const lines: string[] = [];
|
|
151
149
|
for (const paragraph of text.split('\n')) {
|
|
152
|
-
const tokens = splitTokens(toUnits(paragraph
|
|
150
|
+
const tokens = splitTokens(toUnits(paragraph));
|
|
153
151
|
if (tokens.length === 0) {
|
|
154
152
|
lines.push('');
|
|
155
153
|
continue;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Usage: elanous agent [options] [command] [text...]
|
|
2
|
+
|
|
3
|
+
Single-turn agent — same as `chat` but with the tool loop on by default
|
|
4
|
+
(Read/Grep/Glob/ListDir/Edit/Write + Bash). Use this when the LLM needs to
|
|
5
|
+
inspect files / run commands / debug itself.
|
|
6
|
+
|
|
7
|
+
Arguments:
|
|
8
|
+
text Prompt text for the single-turn agent.
|
|
9
|
+
|
|
10
|
+
Options:
|
|
11
|
+
--new Force a new session instead of using the active one
|
|
12
|
+
--session <id> Continue an explicit session (id or unique prefix). Overrides --new and active session.
|
|
13
|
+
--json Emit a single JSON line {sessionId, provider, model, reply, logPath, budget} instead of streaming text + ui.info trailer. Stable shape for LLM self-spawn.
|
|
14
|
+
--no-tools Disable the tool loop and fall back to text-only chat (for benchmarking / parity with `chat`).
|
|
15
|
+
-h, --help display help for command
|
|
16
|
+
|
|
17
|
+
Commands:
|
|
18
|
+
dispatch [options] <subagent_type> <prompt...> Spawn one sub-agent from the terminal and print its final message. Observe with `elanous logs --category agent.spawn` / `--category agent.done` — the printed cid pairs the two.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Usage: elanous registry [options] [command]
|
|
2
|
+
|
|
3
|
+
모델 카탈로그(catalog/=SSoT) 관측 — 라우팅 맵 drift 감사
|
|
4
|
+
|
|
5
|
+
Options:
|
|
6
|
+
-h, --help display help for command
|
|
7
|
+
|
|
8
|
+
Commands:
|
|
9
|
+
drift [options] 라우팅 핀(alias·tier-map·mission-router)이 catalog active id 와
|
|
10
|
+
정합인지 감사 — HITL 역제안(자동 집행 없음)
|
|
11
|
+
discover [options] 발견 소스를 골라 돌리고 기존 스냅숏에 병합 — 기본 드라이런 · --write 로 기록 · S3 푸시
|
|
12
|
+
없음
|
|
13
|
+
help [command] display help for command
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
Usage: elanous [options] [command]
|
|
2
|
+
|
|
3
|
+
TUI skill runner — Yazi-style 3-pane + multi-LLM, with remote sync, smart diff,
|
|
4
|
+
and SQLite logging
|
|
5
|
+
|
|
6
|
+
Options:
|
|
7
|
+
-V, --version output the version number
|
|
8
|
+
--config-dir <dir> Override the elanous config / daemon root directory (default ~/.elanous). Pass at any position — works at the global or subcommand level. Replaces the legacy ELANOUS_DAEMON_DIR env var.
|
|
9
|
+
-r, --remote [name] 원격 북마크로 붙는다. `-r` 만 쓰면 default 북마크(값을 받지 않는다), 이름을 대려면 `--remote <name>`. 처음 1회 `elanous nexus connect <host> --default`.
|
|
10
|
+
--test 격리 테스트 인스턴스로 실행 — cwd 의 git 트리(worktree 포함)에서 `<트리>/.elanous-test` 를 루트로 잡고 state·config 두 축을 함께 격리한다. config 사본이 없으면 자동 물질화. `--test=<dir>` 로 루트 직접 지정 가능(값 문법은 `=` 형태 하나 — 모호함 없음). ELANOUS_STATE_DIR/--config-dir 을 손으로 줄 필요가 없다.
|
|
11
|
+
-h, --help display help for command
|
|
12
|
+
|
|
13
|
+
Commands:
|
|
14
|
+
pty PTY control — <ref> is an id, nickname, or unique prefix (see 'pty list')
|
|
15
|
+
pr PR landing commands
|
|
16
|
+
repo 명시적 로컬 저장소 GitHub 비공개 발행
|
|
17
|
+
role 관제부 Primary 임대 조회 및 수동 넘김
|
|
18
|
+
machine 기계 식별자 · 맡은 일 · 자리 후보 순위
|
|
19
|
+
where [options] 지금 이 프로세스가 어느 인스턴스(prod/test)에 속하는지와 그 이유를 보여준다 (READ-ONLY)
|
|
20
|
+
shadow git 아닌 폴더의 이력을 인스턴스 밖 그림자 저장소에 남긴다
|
|
21
|
+
leader 은퇴한 리더 트리 명령
|
|
22
|
+
pod Pod 명령 Job — 하니스 없이 명령 하나를 돌리고 산출을 돌려받는다
|
|
23
|
+
browser 🎨 봇이 모는 브라우저 페이지 «안»에 그린다 — 도형 · 캔들 차트 · 지우기
|
|
24
|
+
questions AskUserQuestion 대기를 조회하고 파일 답을 기록한다
|
|
25
|
+
usage [options] 계정마다 행으로 「지금 쓸 수 있는 것이 얼마나 남았나」를 본다 (크레딧 축 ≠ 구독 축)
|
|
26
|
+
release 공개 배포 한 판 — prepare(로컬) → publish(--yes) → verify (docs/manual/MANUAL-versioning-and-release-2026-09-25.md)
|
|
27
|
+
model-watch [options] 제공자 문서에서 카탈로그 변경 제안을 만든다; 자동 적용하지 않는다
|
|
28
|
+
doctor [options] Reports whether credentials resolve and where each resolution comes from
|
|
29
|
+
control 독립 관제부
|
|
30
|
+
resources 관제부 자원 조회
|
|
31
|
+
hooks 외부 웹훅 수신·재전송
|
|
32
|
+
setup [options] Check OpenAI Codex setup and guide each missing credential step
|
|
33
|
+
grounding 그라운딩 출처 레지스트리
|
|
34
|
+
graph Run a declared command graph or inspect its latest run
|
|
35
|
+
launch-head 발사 앞 머리 — 골이 Pod 로 가도 되는지 판정
|
|
36
|
+
connector External task connectors
|
|
37
|
+
python elanous 가 쓰는 파이썬(해석 · 점검 · elanous venv 셋업) — RFC-doctor-fix-build-toolchain-and-python-by-distro
|
|
38
|
+
self-update|update [options] 설치본은 릴리스로, 체크아웃은 깨끗한 체크아웃으로 갱신하고 승인 시 넥서스 재시작 · `elanous update` 와 같다 · `--auto on` 이면 매일 자동
|
|
39
|
+
measure-fabric-arc-ab Fabric 분해 아크의 축소/전체 그라운딩 A/B를 관측하고 표와 JSON 결과를 낸다
|
|
40
|
+
mcp MCP (Model Context Protocol) server / client integration
|
|
41
|
+
telegram-test [options] Standalone TEST telegram bot (separate token) — full Q&A/HITL/delegate path with ISOLATED state, WITHOUT touching the production daemon. Restart THIS process to test code changes; the live daemon stays up.
|
|
42
|
+
telegram 텔레그램 봇 — 넥서스 밖에서 도는 정식 Q&A 폴러
|
|
43
|
+
discord-test [options] Standalone TEST discord session (SAME app/token, scoped to discord.testChannel.channelId) with ISOLATED state, WITHOUT touching the production daemon. Restart THIS process to test code changes; the live daemon stays up.
|
|
44
|
+
sync [options] Sync skills to local or remote machines
|
|
45
|
+
status Show current sync status and detect changes since last sync
|
|
46
|
+
git <args...> Run git through the git-fs gateway and append a pipe-visible exit status
|
|
47
|
+
gh <args...> Run gh with retry-safe reads and append a pipe-visible outcome
|
|
48
|
+
theme Inspect and configure dashboard themes
|
|
49
|
+
history [options] Show sync history
|
|
50
|
+
inspect [options] Inspect remote targets without syncing
|
|
51
|
+
autopilot Mission-driven autopilot — runs an ACP agent against a single mission with safety + budget guards
|
|
52
|
+
memory Persistent memories injected into every chat turn (user / feedback / project / reference)
|
|
53
|
+
decide [options] <question> Jev(System One)에게 «확률이 붙은» 판정 하나를 묻는다 — 기본 예/아니오. 📚 docs/manual/MANUAL-typesafe-jev-system-one-2026-09-20.md
|
|
54
|
+
ax-screen [options] <tasks.json> 업무 목록을 Jev 로 스크리닝해 자동화 후보 순위를 낸다. 📚 docs/manual/MANUAL-ax-task-screening-2026-09-20.md
|
|
55
|
+
decide-recipe [options] <name> <state.json> 이름 붙은 레시피로 판정한다. 질문은 recipes/<name>.json 에 «고정»되어 있다 — 매번 짓지 않는다.
|
|
56
|
+
signals [options] 신호 파이프라인 퍼널(READ-ONLY) — 유입→분류→critical→2차→확정→집행 각 단계 수·통과율·갭. 게이트 튜닝 판단 근거.
|
|
57
|
+
loops [options] 루프 에이전트 자산 원장(READ-ONLY) — 목표까지 반복하는 실행 주체(계약/자율/코디네이터)를 미션연관·독립·라이프사이클별로. 좀비(TTL 초과) 감지.
|
|
58
|
+
buzz [options] 커뮤니티 버즈 온디맨드 브리핑 — 수집분 조회 + stale(밤/주말)이면 실시간 그랩 폴백. 매매 아님(정성 신호).
|
|
59
|
+
harness dev-harness worktree 수명 — 워크트리 생성(worktree add)·조회(worktrees)·정리(clean)·프로세스 관찰(processes)
|
|
60
|
+
self Self-awareness memory — 외부 도구(Claude Code/Codex)가 구현/변경 이력을 elanous 기억에 주입·회상
|
|
61
|
+
factcheck [options] <query...> 팩트체크 — 내부(발송 리포트/대화) 먼저 검색 → 없으면 외부(X/레딧/웹) 에스컬레이션
|
|
62
|
+
provider|providers Show the currently active LLM provider + model + auth status
|
|
63
|
+
provider:set [options] <name> Swap active LLM provider in config.json (auto-backs-up the previous config to its `.bak` sibling — ⛔ the path is the ACTIVE config, not a fixed one: run `elanous where` to see it). Useful for A/B testing model behaviour — e.g. `elanous provider:set anthropic` to force-switch to Claude, then `elanous provider:set restore` (or `elanous provider:restore`) to roll back.
|
|
64
|
+
provider:restore Restore config.json from the automatic backup written by `elanous provider:set`.
|
|
65
|
+
provider:rotate [options] [sub] [target] Cycle through the rotation list. With no argument: advance one step. Sub-commands: `list` (print list), `reset` (jump to first entry), `add <provider> [-m model] [-l label]` (append), `remove <label>`, `clear` (wipe rotation).
|
|
66
|
+
provider:use <needle> Jump to a specific rotation entry by label / provider name / model substring. Auto-backs-up config.json before the switch (restore with `elanous provider:restore`). Example: `elanous provider:use opus`, `elanous provider:use grok`, `elanous provider:use gpt-5`.
|
|
67
|
+
status-bar [options] Print the status pills (working dir + git + model) — pipe into shell prompt or preview
|
|
68
|
+
schedule 스케줄/크론 CRUD (registry·crontab·기억 정합). --json 으로 프로그래매틱 소비.
|
|
69
|
+
intake 바깥 사실·문서를 elanous 현재와 대조하거나 태스크로 받는다
|
|
70
|
+
logs [options] 전 서피스 로그 조회/실시간 tail (adb logcat 동형) — level/surface/category/grep 필터
|
|
71
|
+
ad [options] [input...] 판매 URL, 텍스트 브리프 또는 실사 이미지로 광고 제작 파이프라인을 시작
|
|
72
|
+
docs 문서 지식 검색/관리 — knowledge.db 벡터+BM25 하이브리드 (DocOps)
|
|
73
|
+
fleet 멀티 elanous 인스턴스 통합 뷰(READ-ONLY 연합) — 등록 인스턴스·보유 스토어 매트릭스. `logs instances` 일반화(kubectl get nodes 등가). 연합 조회는 `session list --all-instances` 등.
|
|
74
|
+
ops 운영 관측(READ-ONLY) — 미션·태스크·계약 루프·오케스트레이터 현재 상태·이상·전이. --json 프로그래매틱.
|
|
75
|
+
publish external-markdown 게시 라이프사이클 — 만료 게시물 GC(S3 콜드 백업·삭제 아님)
|
|
76
|
+
agent-mission|codex Agent-mission CLI — 외부 에이전트 backend(codex[디폴트]·claude·gemini·grok·aside) 미션·리뷰 워치·셋업. `codex` 는 deprecated alias(하위호환).
|
|
77
|
+
dev|drive [options] [text...] ⛔ `drive` 별칭으로 부르면 옵션은 여덟뿐 (--goal · --attach · --max-steps · --poll-ms · --model · --cwd · --worktree · --json) — `--attach <ref>` 는 이미 있는 PTY 를 몬다(생략하면 셸 명령을 새로 띄운다). 나머지는 전부 `dev` 전용이고 `drive` 에서는 거부된다. dev 와 drive 는 한 명령이라 이 도움말을 공유하므로, 아래 목록은 `dev` 기준이다. ⚠️ 실험 — 통합 self-dev 파이프라인 runDevPipeline. --backend self(디폴트·elanous-chat 자체구현)|codex/claude/gemini/grok(외부). --transport pty(디폴트·worktree·--branch 필수)|acp(cwd 세션·U6·capability 미검증). 미배선 조합은 NotYetUnified 명시 거부. ★self 는 무인 완결이 기본(PR 개설→auto-review 라벨→리뷰 clean 시 병합) — 끄려면 --no-open-pr/--no-auto-review/--no-auto-merge. 관측=elanous logs --category dev-pipeline · 상세=docs/manual/MANUAL-frontdoor-selfdev-dogfood-mechanism-2026-07-25.md
|
|
78
|
+
keys [options] [context] Print all keybindings + slash commands. Optional context filter.
|
|
79
|
+
finance Native finance/investment logic (SSOT) — skill thin-client 진입점
|
|
80
|
+
config Inspect and edit ~/.config/elanous/config.json
|
|
81
|
+
tasks|task TOX 태스크 조회 및 승인
|
|
82
|
+
labels PR 라벨 등록표 조회·GitHub 동기화
|
|
83
|
+
ask [options] <text...> Alias for `elanous chat --new`: send one query and print the reply
|
|
84
|
+
onboarding [options] [step] Run the first-run wizard. Pass a step name (llm|skills|obsidian|telegram|discord|voice-ai) to run only that step.
|
|
85
|
+
login Authenticate to an LLM provider via OAuth
|
|
86
|
+
session Manage conversation sessions
|
|
87
|
+
chat [options] <text...> Send one message in the active session (or a new one) and print the reply
|
|
88
|
+
repl [options] Sticky multi-turn REPL — same session across turns, no per-turn process boot. Drives chat / agent / scenario from one shell. Uses --new for a fresh session, --session <id> to resume, --scenario <yaml> for a scripted run, JSONL on stdin for piped automation.
|
|
89
|
+
agent [options] [text...] Single-turn agent — same as `chat` but with the tool loop on by default (Read/Grep/Glob/ListDir/Edit/Write + Bash). Use this when the LLM needs to inspect files / run commands / debug itself.
|
|
90
|
+
registry 모델 카탈로그(catalog/=SSoT) 관측 — 라우팅 맵 drift 감사
|
|
91
|
+
tier LLM tier→모델 SSOT 조회 — provider별 budget/balanced/better/best/loaded 사다리(llm-tier-map). "grok low" 같은 별칭 흡수.
|
|
92
|
+
local Local OpenAI-compatible LLM — ping, list, test, setup
|
|
93
|
+
scheduler|sched [args...] Retired — scheduling is now a workflow-runtime Schedule Trigger node (`elanous wf`)
|
|
94
|
+
attach [options] ACP client for the running elanous daemon. Three modes: handshake-only (default), one-shot (--message), interactive REPL (--interactive). Local (unix socket) or remote (--host / --url) over Tailscale.
|
|
95
|
+
wf|workflows Run YAML DAG workflows (workflow-runtime · prompt|bash|skill|cft|approval|if|switch|iteration|classify|extract|set|filter|template|http|showroom|task|scheduleTrigger|webhookTrigger|discordTrigger|telegramTrigger|manualTrigger|chatTrigger nodes). Aliases: `workflows` (plural) · `workflow` (singular).
|
|
96
|
+
nexus NEXUS — unified TUI shell + supervisor + meta-api (Phase N-1, opt-in)
|
|
97
|
+
token Manage the ACP admin token
|
|
98
|
+
acp Agent Client Protocol — spawn ACP agents (claude-code, codex, gemini)
|
|
99
|
+
voice Voice tier + identity helpers (STT slider · TTS voice id · cost preview)
|
|
100
|
+
help [command] display help for command
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Usage: elanous tier [options] [command]
|
|
2
|
+
|
|
3
|
+
LLM tier→모델 SSOT 조회 — provider별 budget/balanced/better/best/loaded
|
|
4
|
+
사다리(llm-tier-map). "grok low" 같은 별칭 흡수.
|
|
5
|
+
|
|
6
|
+
Options:
|
|
7
|
+
-h, --help display help for command
|
|
8
|
+
|
|
9
|
+
Commands:
|
|
10
|
+
resolve [options] <provider> [tier] provider(+tier) → 모델 해석. tier 생략 시 5단 전부.
|
|
11
|
+
별칭 low/mid/high/max 허용.
|
|
12
|
+
list|ls [options] [provider] 전체 매트릭스(provider × 5 tier) 또는 한 provider.
|
|
13
|
+
tier 헷갈림 방지용 한눈 표.
|
|
14
|
+
providers tier ladder 가 정의된 provider 목록.
|
|
15
|
+
help [command] display help for command
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
import { createAgentCard } from '../a2a/agent-card.js';
|
|
3
|
+
// ⛔ `../a2a/server.js` pulls `@a2a-js/sdk` — import it lazily. `src/index.ts` registers this module on every CLI start,
|
|
4
|
+
// so a static import made every elanous command fail where that dependency was not installed yet
|
|
5
|
+
// (2026-09-28 05:00–05:10: the ops checkout synced the source before `bun install` · `Cannot find module '@a2a-js/sdk/server'`).
|
|
6
|
+
const loadServer = () => import('../a2a/server.js');
|
|
7
|
+
|
|
8
|
+
const DEFAULT_HOST = '127.0.0.1';
|
|
9
|
+
const DEFAULT_PORT = '31490';
|
|
10
|
+
|
|
11
|
+
function parsePort(value: string): number {
|
|
12
|
+
const port = Number(value);
|
|
13
|
+
if (!/^\d+$/.test(value) || !Number.isSafeInteger(port) || port < 1 || port > 65535) {
|
|
14
|
+
throw new Error('invalid A2A port');
|
|
15
|
+
}
|
|
16
|
+
return port;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function registerA2ACommands(program: Command): void {
|
|
20
|
+
const a2a = program.command('a2a').description('A2A 에이전트 서버와 공개 카드');
|
|
21
|
+
a2a.command('serve').description('A2A JSON-RPC 서버를 포그라운드에서 실행')
|
|
22
|
+
.option('--host <host>', '리스닝 주소', DEFAULT_HOST)
|
|
23
|
+
.option('--port <port>', '리스닝 포트', DEFAULT_PORT)
|
|
24
|
+
.option('--public-url <url>', '외부에 공개할 /a2a RPC URL')
|
|
25
|
+
.requiredOption('--tool-cwd <directory>', '도구 실행용 절대 작업 디렉터리')
|
|
26
|
+
.action(async (opts: { host: string; port: string; publicUrl?: string; toolCwd: string }) => {
|
|
27
|
+
const { startA2AServer } = await loadServer();
|
|
28
|
+
const server = startA2AServer({ host: opts.host, port: parsePort(opts.port), publicUrl: opts.publicUrl, toolCwd: opts.toolCwd });
|
|
29
|
+
console.log(`a2a listening ${new URL(server.url).host}`);
|
|
30
|
+
await new Promise<void>(resolve => {
|
|
31
|
+
const stop = () => {
|
|
32
|
+
process.removeListener('SIGINT', stop);
|
|
33
|
+
process.removeListener('SIGTERM', stop);
|
|
34
|
+
server.stop();
|
|
35
|
+
resolve();
|
|
36
|
+
};
|
|
37
|
+
process.once('SIGINT', stop);
|
|
38
|
+
process.once('SIGTERM', stop);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
a2a.command('card').description('A2A 카드 JSON과 Gemini 원격 에이전트 설정 예시 출력')
|
|
42
|
+
.option('--host <host>', '카드에 사용할 주소', DEFAULT_HOST)
|
|
43
|
+
.option('--port <port>', '카드에 사용할 포트', DEFAULT_PORT)
|
|
44
|
+
.option('--public-url <url>', '외부에 공개할 /a2a RPC URL')
|
|
45
|
+
.action(async (opts: { host: string; port: string; publicUrl?: string }) => {
|
|
46
|
+
const { advertisedRpcUrl } = await loadServer();
|
|
47
|
+
const rpcUrl = advertisedRpcUrl(opts.publicUrl, opts.host, parsePort(opts.port));
|
|
48
|
+
const agentCardUrl = new URL('/.well-known/agent-card.json', rpcUrl).href;
|
|
49
|
+
console.log(JSON.stringify(createAgentCard(rpcUrl), null, 2));
|
|
50
|
+
console.log(`gemini:\n${JSON.stringify({ kind: 'remote', agent_card_url: agentCardUrl }, null, 2)}`);
|
|
51
|
+
});
|
|
52
|
+
}
|