elanous 0.2.4 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/apps/pwa/out/404/index.html +1 -1
- package/apps/pwa/out/404.html +1 -1
- package/apps/pwa/out/_next/static/chunks/06ef2eba-d1b99ac6d2ea663c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1413-7179a49332db5a80.js +1 -0
- package/apps/pwa/out/_next/static/chunks/150-25c277137a9638ab.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1640-bc99ec23bbe29d12.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2415.ed6428ff334c7ce2.js → 1751.50b96ea9c37b49b6.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/2300-de059d0ab2a16630.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2684-05b0a81e75298c16.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3026-2ed7e317d9b02102.js +25 -0
- package/apps/pwa/out/_next/static/chunks/3611-77496ada38cd6358.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3717-68957c4dc9ceec90.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3929-46ba9af6f9d895cc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4015-62c5a3744698a8da.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4217-3c4317a7905f9eeb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4240-3230f230fae2d7d5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4271-e53e075ebd48593b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4377.3b125fef79576dfd.js +5 -0
- package/apps/pwa/out/_next/static/chunks/4440-18bb160d95819f4e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4853-35fdbe6bdbcdc0fc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2ea96958-e8c7e112de50b067.js → 4daa2798-1363d725c79f3593.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/5007-6a3b30e23ff68a6e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5244-12b424c42070f5ff.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5791-bb82743fa6299562.js → 5348-bbf838e119661eee.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/5391-8793f88b03b30161.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5611-df00af3e4e4a61bb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5890-dca2321773be829a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6123-37c9dc57ddaa7ab0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6588-b7975304a302ab91.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6604-c03961962b6273b6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7109-cf8c87e968e83a65.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7178-30f77877525a2efb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7262-871563fc9663730b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7294-f0eeebb92aa93459.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7429-881af44deed6958f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7527.943753b6ed829f09.js +1 -0
- package/apps/pwa/out/_next/static/chunks/764-a01e858525a190c0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7868-e35d5f7985ecd3f1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8320-51484af7b01fdfa5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{4323.c5dfb6f503304775.js → 8617.465ca22a319c95b3.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{5080-1613752891fcadb4.js → 8918-482b30ce2a8ebf4c.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/9131-52f5fad51cceca04.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9238.2cd5f47f4bf7a2c3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6062-73e68343a9814f6a.js → 9704-3221c102623c8d73.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-70c404c7bb6d7f0f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-3ffd80166b1050aa.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-f89e9a303515a033.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/board/page-4f403cd060442c95.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/botlab/{page-9fa879ebf5959096.js → page-0ac5d053f0444d21.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-4bcc63e272ae8205.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/page-880734bd07d62882.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/control/{page-4472ddf1e2458e69.js → page-72bd384898d88955.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-1018bbc9586ecae5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/editor/page-de86f8c38076dd7b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-70c404c7bb6d7f0f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/intake/page-cd6447196d8bafe6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/layout-e733630c47fa102b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live/page-d1c1a8357b161875.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/market/page-60c514128e81d787.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-8b637b7e325e13c1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/morning/{page-112f7e477bda77fd.js → page-bccce0babceae30f.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-63301d11dbe73836.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-a8cf0dc472060db2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/page-02fba54881ccfa49.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-d5e8e90f0038f8de.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-b1ef6824f494466a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-d589bb0f233b1009.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-c9bbaebef4cda059.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/page-3639ce7916b92fed.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-7450ae7478955653.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-70c404c7bb6d7f0f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/page-b41ca4abfd618452.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/share/page-b333dd79ebee3fa9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-8be1227492793655.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-6e03e9371b552e0d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/term/page-911411e9fca18d03.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/trace/page-792170e649b37088.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/vault/page-c40463466937bc91.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-509c798b80384536.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-1cac2aa21d77c417.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-9626799d9b4a2cd1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-84cd419494e16b0f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{8046cadf-211ca3c0e00f2b72.js → f6f3850d-7f324c6566002113.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/framework-361487d2da603917.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-app-607f5beb94cb2e07.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-d0222d219e29dddf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_app-a26980a31126decc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_error-edb2b37decf23e4d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{webpack-e5bea36f183b25e6.js → webpack-2bf59c720fe9542c.js} +1 -1
- package/apps/pwa/out/_next/static/css/eaa74e8bb2f62269.css +1 -0
- package/apps/pwa/out/_next/static/{zoQX5iTvXOsIvCjxCe1Ji → ktMqfrBbf8BMGac0jqLrb}/_buildManifest.js +1 -1
- package/apps/pwa/out/approvals/index.html +1 -1
- package/apps/pwa/out/approvals/index.txt +29 -27
- package/apps/pwa/out/autopilot/index.html +1 -1
- package/apps/pwa/out/autopilot/index.txt +29 -27
- package/apps/pwa/out/board/index.html +1 -1
- package/apps/pwa/out/board/index.txt +29 -27
- package/apps/pwa/out/botlab/index.html +1 -1
- package/apps/pwa/out/botlab/index.txt +26 -24
- package/apps/pwa/out/bots/index.html +1 -1
- package/apps/pwa/out/bots/index.txt +26 -24
- package/apps/pwa/out/chat/index.html +1 -1
- package/apps/pwa/out/chat/index.txt +26 -24
- package/apps/pwa/out/control/index.html +1 -1
- package/apps/pwa/out/control/index.txt +29 -27
- package/apps/pwa/out/design-check/index.html +1 -1
- package/apps/pwa/out/design-check/index.txt +29 -27
- package/apps/pwa/out/editor/index.html +1 -1
- package/apps/pwa/out/editor/index.txt +29 -27
- package/apps/pwa/out/healthz +1 -1
- package/apps/pwa/out/icons/elanous-16.png +0 -0
- package/apps/pwa/out/icons/elanous-180.png +0 -0
- package/apps/pwa/out/icons/elanous-192.png +0 -0
- package/apps/pwa/out/icons/elanous-32.png +0 -0
- package/apps/pwa/out/icons/elanous-512.png +0 -0
- package/apps/pwa/out/index.html +1 -1
- package/apps/pwa/out/index.txt +26 -24
- package/apps/pwa/out/intake/index.html +1 -1
- package/apps/pwa/out/intake/index.txt +29 -27
- package/apps/pwa/out/live/index.html +1 -1
- package/apps/pwa/out/live/index.txt +29 -27
- package/apps/pwa/out/manifest.webmanifest +5 -2
- package/apps/pwa/out/market/index.html +1 -1
- package/apps/pwa/out/market/index.txt +26 -24
- package/apps/pwa/out/missions/placeholder/index.html +1 -1
- package/apps/pwa/out/missions/placeholder/index.txt +26 -24
- package/apps/pwa/out/morning/index.html +1 -1
- package/apps/pwa/out/morning/index.txt +29 -27
- package/apps/pwa/out/observatory/index.html +1 -1
- package/apps/pwa/out/observatory/index.txt +29 -27
- package/apps/pwa/out/reflection/index.html +1 -1
- package/apps/pwa/out/reflection/index.txt +27 -25
- package/apps/pwa/out/scheduler/index.html +1 -1
- package/apps/pwa/out/scheduler/index.txt +29 -27
- package/apps/pwa/out/sessions/index.html +1 -1
- package/apps/pwa/out/sessions/index.txt +26 -24
- package/apps/pwa/out/settings/devices/index.html +1 -1
- package/apps/pwa/out/settings/devices/index.txt +29 -27
- package/apps/pwa/out/settings/index.html +1 -1
- package/apps/pwa/out/settings/index.txt +29 -27
- package/apps/pwa/out/setup/done/index.html +1 -1
- package/apps/pwa/out/setup/done/index.txt +29 -27
- package/apps/pwa/out/setup/index.html +1 -1
- package/apps/pwa/out/setup/index.txt +29 -27
- package/apps/pwa/out/share/index.html +1 -1
- package/apps/pwa/out/share/index.txt +29 -27
- package/apps/pwa/out/showroom/index.html +1 -1
- package/apps/pwa/out/showroom/index.txt +26 -24
- package/apps/pwa/out/sw-strategies.js +44 -0
- package/apps/pwa/out/sw.js +6 -44
- package/apps/pwa/out/tasks/index.html +1 -1
- package/apps/pwa/out/tasks/index.txt +29 -27
- package/apps/pwa/out/term/index.html +1 -1
- package/apps/pwa/out/term/index.txt +29 -27
- package/apps/pwa/out/trace/index.html +1 -1
- package/apps/pwa/out/trace/index.txt +29 -27
- package/apps/pwa/out/vault/index.html +1 -1
- package/apps/pwa/out/vault/index.txt +29 -27
- package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
- package/apps/pwa/out/workflows/chat-ui/index.txt +29 -27
- package/apps/pwa/out/workflows/index.html +1 -1
- package/apps/pwa/out/workflows/index.txt +29 -27
- package/apps/pwa/out/workspace/index.html +1 -1
- package/apps/pwa/out/workspace/index.txt +29 -27
- package/apps/pwa/out/worktrees/index.html +1 -1
- package/apps/pwa/out/worktrees/index.txt +29 -27
- package/catalog/resources.yaml +6 -6
- package/docs/goal-context/steward-directives-2026-09-28.md +35 -37
- package/graphs/landing/landing-heal.yaml +1 -1
- package/graphs/release/recipes.yaml +8 -1
- package/graphs/release/release-loop.yaml +6 -1
- package/graphs/video/README.md +1 -0
- package/graphs/video/explainer-line.yaml +58 -0
- package/package.json +3 -1
- package/plugins/job-coach/.codex-plugin/plugin.json +18 -1
- package/plugins/job-coach/README.md +12 -0
- package/plugins/job-coach/connectors/ncs/server.ts +4 -3
- package/plugins/job-coach/graphs/gap-judge.ts +44 -0
- package/plugins/job-coach/graphs/recipes.yaml +27 -0
- package/plugins/job-coach/graphs/report-enterprise.yaml +28 -0
- package/plugins/job-coach/graphs/run-step.ts +211 -17
- package/plugins/job-coach/plugin.json +16 -3
- package/plugins/job-coach/skills/enterprise-ai-fit/SKILL.md +8 -0
- package/plugins/job-coach/skills/enterprise-competency/SKILL.md +8 -0
- package/plugins/job-coach/skills/enterprise-needs/SKILL.md +8 -0
- package/plugins/job-coach/skills/enterprise-roadmap/SKILL.md +8 -0
- package/plugins/job-coach/skills/enterprise-task-analysis/SKILL.md +8 -0
- package/plugins/job-coach/skills/interview-to-profile/SKILL.md +18 -1
- package/scripts/backup/elanous-backup.sh +4 -1
- package/scripts/build-docs-site.ts +4 -3
- package/scripts/coord-channel-watch.sh +23 -4
- package/scripts/coord-post.sh +49 -12
- package/scripts/coord-tracks.json +5 -5
- package/scripts/eval-bot-vs-grok.ts +79 -0
- package/scripts/eval-grok-live-baseline.ts +36 -0
- package/scripts/fixtures/front-route-corpus.sample.json +17 -0
- package/scripts/fleet/node-setup.sh +46 -7
- package/scripts/landing-heal/must-fix-match.ts +26 -0
- package/scripts/landing-heal/run-mission.ts +114 -20
- package/scripts/lib/front-route-measurement.ts +131 -0
- package/scripts/lib/tui-sim-keys.ts +42 -0
- package/scripts/measure-front-route-classifier.ts +56 -0
- package/scripts/media/ocr-leak-scan.sh +21 -0
- package/scripts/public-export.ts +2 -3
- package/scripts/public-import-pr.ts +80 -6
- package/scripts/publish-internal-dist.ts +2 -3
- package/scripts/red-sweep-diff.ts +1 -1
- package/scripts/release-loop/auto-approve-node.ts +72 -0
- package/scripts/release-loop/gate-node.ts +332 -44
- package/scripts/release-loop/publish-node.ts +7 -3
- package/scripts/release-loop/release-docs.ts +20 -13
- package/scripts/release-loop/test-durations.ts +63 -0
- package/scripts/release-loop/upgrade-node.ts +3 -2
- package/scripts/test-audit-coverage-per-file.sh +16 -0
- package/scripts/test-audit-meaningless.ts +88 -0
- package/scripts/test-audit-overlap-and-weak.ts +73 -0
- package/scripts/test-deterministic.ts +27 -5
- package/scripts/tui-sim.ts +59 -14
- package/scripts/ux/bump-installed.sh +20 -0
- package/scripts/ux/lib/cdp.ts +72 -0
- package/scripts/ux/record-page.ts +50 -0
- package/skills/explainer-video/SKILL.md +99 -0
- package/skills/explainer-video/engine/brand/elanous-mark-on-dark.svg +1 -0
- package/skills/explainer-video/engine/build.mjs +431 -0
- package/skills/explainer-video/engine/vo.ts +37 -0
- package/skills/explainer-video/examples/elanous-0.2.5/script.json +155 -0
- package/src/agent/nested-agent-env.ts +1 -0
- package/src/agent-mission/driver.ts +95 -16
- package/src/agent-mission/mission-cli.ts +6 -0
- package/src/agent-mission/resource-ladder.ts +73 -25
- package/src/auth/acp-token.ts +16 -0
- package/src/auth/github-app-token.ts +112 -0
- package/src/autopilot/gh-rest-fallback.ts +177 -0
- package/src/autopilot/pr-manager.ts +51 -4
- package/src/boot/acp-server.ts +2 -16
- package/src/boot/daemon-tools/web-search.ts +2 -1
- package/src/boot/ws-bridge.ts +11 -0
- package/src/chat/index.ts +37 -8
- package/src/chat/log-scroll-key.ts +12 -0
- package/src/chat/submit-trace.ts +30 -0
- package/src/cli/agent-cli.ts +7 -2
- package/src/cli/decisions-cli.ts +94 -0
- package/src/cli/doctor-cli.ts +40 -54
- package/src/cli/doctor-readiness.ts +16 -24
- package/src/cli/intake-cli.ts +1 -1
- package/src/cli/mcp-call.ts +9 -0
- package/src/cli/mcp-gateway-cli.ts +7 -3
- package/src/cli/plugin-cli.ts +109 -11
- package/src/cli/pr-lineage.ts +2 -1
- package/src/cli/pwa-start.ts +3 -0
- package/src/cli/release-cli.ts +94 -7
- package/src/cli/self-update.ts +7 -4
- package/src/cli/start-cli.ts +33 -14
- package/src/dashboard/acp-boot.ts +3 -0
- package/src/dashboard/index.ts +62 -13
- package/src/dashboard/input/no-provider-reply.ts +13 -0
- package/src/dashboard/slash-runtime/unknown-slash-reply.ts +78 -0
- package/src/dashboard/stale-install-check.ts +77 -0
- package/src/decisions/decision-ledger.ts +404 -0
- package/src/domains/outbound-alert.ts +8 -2
- package/src/domains/telegram-kind-route.ts +21 -0
- package/src/execution-loop/dispatch-task.ts +139 -0
- package/src/execution-loop/gate-decision-summary.ts +29 -0
- package/src/execution-loop/gates.ts +197 -0
- package/src/graph-kinds/installed-plugin-nodes.ts +95 -0
- package/src/graph-kinds/plugin-nodes.ts +10 -2
- package/src/graph-runner/runner.ts +35 -5
- package/src/grounding/token.ts +12 -6
- package/src/harness/harness-cli-command.ts +68 -9
- package/src/harness/harness-pod-dispatch.ts +8 -2
- package/src/harness/harness-stop.ts +147 -18
- package/src/harness/self-send-decide.ts +26 -17
- package/src/harness/self-send-target.ts +22 -1
- package/src/harness/worktree-branch-prefix.ts +4 -3
- package/src/index.ts +56 -13
- package/src/instance/resolve.ts +6 -0
- package/src/intake-plane/collect-telegram-saved.ts +5 -0
- package/src/intake-plane/digest.ts +11 -2
- package/src/live/detail-switch.ts +8 -3
- package/src/llm/usable-llm.ts +32 -0
- package/src/loops/registry.ts +27 -5
- package/src/market/publish.ts +59 -3
- package/src/native-tool-catalog.ts +2 -2
- package/src/nexus/api/graph-approvals.ts +125 -0
- package/src/nexus/api/http-server.ts +60 -6
- package/src/nexus/api/log-fabric.ts +10 -1
- package/src/nexus/api/mcp-oauth-hint.ts +10 -9
- package/src/nexus/api/merge-approvals.ts +2 -1
- package/src/nexus/api/meta-api.ts +14 -0
- package/src/nexus/api/plugins-credentials-api.ts +47 -0
- package/src/nexus/api/plugins-market.ts +87 -3
- package/src/nexus/api/pod-credential-api.ts +68 -14
- package/src/nexus/api/public-routes.ts +7 -0
- package/src/nexus/api/trace.ts +57 -6
- package/src/nexus/boot/register-mcp-clients.ts +99 -14
- package/src/nexus/index.ts +33 -32
- package/src/nexus/outbound/router.ts +1 -1
- package/src/onboarding.ts +25 -2
- package/src/plugins/core/host.ts +14 -0
- package/src/plugins/install/market-fetch.ts +4 -3
- package/src/plugins/install/plugin-credentials.ts +106 -0
- package/src/plugins/install/plugin-install.ts +163 -32
- package/src/prompt-library/universal-preamble.ts +8 -2
- package/src/release-loop/checklist.ts +191 -0
- package/src/release-loop/release-note.ts +6 -3
- package/src/self-dev/dev-cli.ts +40 -20
- package/src/self-dev/dev-pipeline.ts +77 -1
- package/src/self-implement/gate-baseline.ts +3 -1
- package/src/self-implement/goal-author.ts +18 -1
- package/src/self-implement/host-regate.ts +6 -2
- package/src/self-implement/orchestrator.ts +7 -2
- package/src/self-implement/seams.ts +4 -2
- package/src/skills/tools/dev-harness.ts +42 -0
- package/src/steward/steward-cards.ts +45 -0
- package/src/steward/triage.ts +50 -14
- package/src/task-orchestrator/surfaces/pod-artifact-return.ts +61 -3
- package/src/task-orchestrator/surfaces/pod-command-job.ts +27 -6
- package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +39 -9
- package/src/task-orchestrator/surfaces/pod-source-bundle.ts +16 -1
- package/src/task-orchestrator/surfaces/pod-source-receive.ts +51 -13
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +172 -28
- package/src/telegram-report.ts +12 -6
- package/src/tui-client/acp-transport-ws-client.ts +72 -5
- package/src/tui.ts +3 -2
- package/src/user-config.ts +28 -2
- package/src/util/spawn-sync-output.ts +15 -0
- package/src/version/code-revision.ts +1 -1
- package/src/version/packed-revision.json +1 -1
- package/src/web-search/free.ts +77 -0
- package/src/web-search/index.ts +2 -0
- package/src/workflow-runtime/deps-bridge.ts +4 -3
- package/src/workflow-runtime/plugin-kind-node.ts +32 -4
- package/src/workflow-runtime/types.ts +2 -1
- package/apps/pwa/out/_next/static/chunks/1105-c473ed46272fba79.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1191-7b13a24117a689fa.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1201-09613bce624467c0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1377-1efeffbbac0963ff.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1470.98a6ab61ccb4131c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/216-5acd01cbde4acda7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2330-c2f07246c8788af1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2375-3fcae5186c64fe6b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2929-617f1e66a55be184.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2977-e38442e86289f1d3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2982-2a2df543be3d2e5a.js +0 -25
- package/apps/pwa/out/_next/static/chunks/319-d37df1b6e0cbeff4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3403.4bc97b4066945a94.js +0 -5
- package/apps/pwa/out/_next/static/chunks/3441-a1dd4acfeda14488.js +0 -1
- package/apps/pwa/out/_next/static/chunks/371-4ad6af55dad02ced.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4114-3e63117452378807.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4836-3c93795ab834381e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5609-012bb3557211f07e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6090-1bd6077591603947.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6320-baac91d68843a9a6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6416-505ba707cacafbba.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6725-68ab7cc0b1faf00d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6998-a654fe5c58271600.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7457-f5cb1cc8db9f7453.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7647.2fcd30d894d5ee30.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7673-2eda1507d38dadb8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7990-e12efba616f46e03.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8067-f74bf14d67ad98f1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8142-011e1f474efb8b33.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8519-0059d82bdb4812bf.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8619-4365e03a2862830f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/920-f7dceb78f1c585ef.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9651-3cd291a6fa1370d2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9740-52467f244755917f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9804-64c02c3c127d5014.js +0 -1
- package/apps/pwa/out/_next/static/chunks/ae787e4c-f2998de7f1ba72a4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-859cea1570b6227a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-21c3261af6ab377c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-1991445b8ea86274.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/board/page-4ebfaee2369fe248.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-ca7c3cc305c3285a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/chat/page-9951930add3d2051.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-4de08d4b766f134b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/editor/page-7a975e2b9db1dfb7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-859cea1570b6227a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/intake/page-49270714ef35bb96.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-33fbdf353e2a5982.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live/page-259f122e2dd64317.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/market/page-65b82726753658e1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-4b8df3748dc06285.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-542a5c0006da637c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-63ffb347831262ea.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/page-98e4e359d97263b4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-97e24ac675ce576e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-ac6391f26391d89d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-9f45c9d45ffc43bd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-36995b9cb5d98218.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-0c795b577988d63f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-b4311e2f71c6735a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-859cea1570b6227a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/page-eb2381074df20dba.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/share/page-b01336e64eba01ae.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-7af7f21c1f2858ef.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-a98ecd364586c89b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/term/page-57f0502dfbfa089b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/trace/page-3467d2e1abd8a14a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-7842ca23d53ba682.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-ae9ac882912b0198.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-3a0d72e3f783bcef.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-f3b39fe8358c2a97.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-5a22af3181ac2afb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/framework-ea806bb57f2b8923.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-8d2302399c2c8f87.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-app-1457627bb302a22c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_app-b10928c60f0b8488.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_error-689039227d443fab.js +0 -1
- package/apps/pwa/out/_next/static/css/e66b7f5efc8df3f3.css +0 -1
- /package/apps/pwa/out/_next/static/{zoQX5iTvXOsIvCjxCe1Ji → ktMqfrBbf8BMGac0jqLrb}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--zoQX5iTvXOsIvCjxCe1Ji--><html lang="ko" class="font-sans __variable_45c93f"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/><link rel="preload" href="/app/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/app/_next/static/css/e66b7f5efc8df3f3.css" data-precedence="next"/><link rel="stylesheet" href="/app/_next/static/css/04dabcbcc4bfa6db.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/app/_next/static/chunks/webpack-e5bea36f183b25e6.js"/><script src="/app/_next/static/chunks/8046cadf-211ca3c0e00f2b72.js" async=""></script><script src="/app/_next/static/chunks/6725-68ab7cc0b1faf00d.js" async=""></script><script src="/app/_next/static/chunks/main-app-1457627bb302a22c.js" async=""></script><script src="/app/_next/static/chunks/2977-e38442e86289f1d3.js" async=""></script><script src="/app/_next/static/chunks/920-f7dceb78f1c585ef.js" async=""></script><script src="/app/_next/static/chunks/6062-73e68343a9814f6a.js" async=""></script><script src="/app/_next/static/chunks/7990-e12efba616f46e03.js" async=""></script><script src="/app/_next/static/chunks/6998-a654fe5c58271600.js" async=""></script><script src="/app/_next/static/chunks/1201-09613bce624467c0.js" async=""></script><script src="/app/_next/static/chunks/9804-64c02c3c127d5014.js" async=""></script><script src="/app/_next/static/chunks/8519-0059d82bdb4812bf.js" async=""></script><script src="/app/_next/static/chunks/2375-3fcae5186c64fe6b.js" async=""></script><script src="/app/_next/static/chunks/8067-f74bf14d67ad98f1.js" async=""></script><script src="/app/_next/static/chunks/8619-4365e03a2862830f.js" async=""></script><script src="/app/_next/static/chunks/319-d37df1b6e0cbeff4.js" async=""></script><script src="/app/_next/static/chunks/5791-bb82743fa6299562.js" async=""></script><script src="/app/_next/static/chunks/app/layout-33fbdf353e2a5982.js" async=""></script><script src="/app/_next/static/chunks/6416-505ba707cacafbba.js" async=""></script><script src="/app/_next/static/chunks/app/not-found-542a5c0006da637c.js" async=""></script><script src="/app/_next/static/chunks/216-5acd01cbde4acda7.js" async=""></script><script src="/app/_next/static/chunks/4114-3e63117452378807.js" async=""></script><script src="/app/_next/static/chunks/8142-011e1f474efb8b33.js" async=""></script><script src="/app/_next/static/chunks/app/setup/page-eb2381074df20dba.js" async=""></script><meta name="next-size-adjust" content=""/><link rel="preload" as="font" type="font/ttf" href="/app/fonts/JetBrainsMonoNerdFontMono-Regular.ttf" crossorigin="anonymous"/><meta name="theme-color" content="#1e1e2e"/><title>elanous · setup</title><meta name="description" content="First-time LLM provider setup for elanous PWA."/><meta name="application-name" content="elanous"/><link rel="manifest" href="/app/manifest.webmanifest"/><script src="/app/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background text-foreground antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full flex-col bg-background text-foreground"><header class="flex h-9 shrink-0 items-center gap-1 border-b border-border bg-background px-2 text-xs"><button type="button" aria-label="open menu" title="open menu" class="flex shrink-0 items-center gap-1.5 rounded-md p-2 text-muted-foreground hover:bg-accent hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-4 w-4" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg><span class="hidden text-[11px] font-medium leading-none sm:inline">메뉴</span></button><div class="ml-auto flex items-center gap-1"><a aria-label="voice" title="voice (HTTPS Tailscale Serve 필요)" class="rounded-md p-1.5 text-muted-foreground hover:bg-accent hover:text-foreground" href="/app/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mic h-4 w-4" aria-hidden="true"><path d="M12 19v3"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><rect x="9" y="2" width="6" height="13" rx="3"></rect></svg></a><div class="relative"><button type="button" aria-label="settings" title="session — · theme catppuccin-mocha" class="rounded-md p-1.5 hover:bg-accent text-muted-foreground hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg></button></div></div></header><div class="flex flex-1 min-h-0"><aside class="hidden md:flex md:w-10 md:flex-col border-r border-sidebar-border bg-sidebar text-sidebar-foreground"><nav class="flex h-full flex-col"><ul class="flex-1 space-y-1 px-1 py-2"><li class="group/nav relative"><a title="Terminal — 터미널 + agent dock" aria-label="Terminal — 터미널 + agent dock" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/term/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-terminal h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="m7 11 2-2-2-2"></path><path d="M11 13h4"></path><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Terminal</span><span class="ml-1 text-muted-foreground">— <!-- -->터미널 + agent dock</span></span></li><li class="group/nav relative"><a title="Chat — 채팅 (스트리밍 · multimodal · mic)" aria-label="Chat — 채팅 (스트리밍 · multimodal · mic)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/chat/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Chat</span><span class="ml-1 text-muted-foreground">— <!-- -->채팅 (스트리밍 · multimodal · mic)</span></span></li><li class="group/nav relative"><a title="Intake — 넣으면 흡수 · 작업 · 그래프로 (URL · 미션 · 메모)" aria-label="Intake — 넣으면 흡수 · 작업 · 그래프로 (URL · 미션 · 메모)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/intake/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-inbox h-4 w-4 shrink-0 text-current" aria-hidden="true"><polyline points="22 12 16 12 14 15 10 15 8 12 2 12"></polyline><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Intake</span><span class="ml-1 text-muted-foreground">— <!-- -->넣으면 흡수 · 작업 · 그래프로 (URL · 미션 · 메모)</span></span></li><li class="group/nav relative"><a title="Approvals — 아이디어 PR 요약 · 승인하고 머지" aria-label="Approvals — 아이디어 PR 요약 · 승인하고 머지" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/approvals/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-pull-request h-4 w-4 shrink-0 text-current" aria-hidden="true"><circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M13 6h3a2 2 0 0 1 2 2v7"></path><line x1="6" x2="6" y1="9" y2="21"></line></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Approvals</span><span class="ml-1 text-muted-foreground">— <!-- -->아이디어 PR 요약 · 승인하고 머지</span></span></li><li class="group/nav relative"><a title="Live — 런이 판단·기획하는 신호 (진짜 수 · 쇼 모드)" aria-label="Live — 런이 판단·기획하는 신호 (진짜 수 · 쇼 모드)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/live/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Live</span><span class="ml-1 text-muted-foreground">— <!-- -->런이 판단·기획하는 신호 (진짜 수 · 쇼 모드)</span></span></li><li class="group/nav relative"><a title="Trace — 렌즈를 좁혀 런을 따라간다 (플릿 → 런 → 판단)" aria-label="Trace — 렌즈를 좁혀 런을 따라간다 (플릿 → 런 → 판단)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/trace/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-crosshair h-4 w-4 shrink-0 text-current" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><line x1="22" x2="18" y1="12" y2="12"></line><line x1="6" x2="2" y1="12" y2="12"></line><line x1="12" x2="12" y1="6" y2="2"></line><line x1="12" x2="12" y1="22" y2="18"></line></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Trace</span><span class="ml-1 text-muted-foreground">— <!-- -->렌즈를 좁혀 런을 따라간다 (플릿 → 런 → 판단)</span></span></li><li class="group/nav relative"><a title="Missions — 미션 · 작업 (미션 계보·골 던지기·작업 보드·자율행동)" aria-label="Missions — 미션 · 작업 (미션 계보·골 던지기·작업 보드·자율행동)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/autopilot/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-compass h-4 w-4 shrink-0 text-current" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Missions</span><span class="ml-1 text-muted-foreground">— <!-- -->미션 · 작업 (미션 계보·골 던지기·작업 보드·자율행동)</span></span></li><li class="group/nav relative"><a title="Design — 디자인 시스템 고르기 · 시안 · URL 로 내 시스템" aria-label="Design — 디자인 시스템 고르기 · 시안 · URL 로 내 시스템" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/design-check/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z"></path><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Design</span><span class="ml-1 text-muted-foreground">— <!-- -->디자인 시스템 고르기 · 시안 · URL 로 내 시스템</span></span></li><li class="group/nav relative"><a title="Vault — Obsidian 노트 (브라우저·에디터·검색·그래프)" aria-label="Vault — Obsidian 노트 (브라우저·에디터·검색·그래프)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/vault/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Vault</span><span class="ml-1 text-muted-foreground">— <!-- -->Obsidian 노트 (브라우저·에디터·검색·그래프)</span></span></li><li class="group/nav relative"><a title="마켓 — 플러그인 찾아보기 · 상세 · 설치됨" aria-label="마켓 — 플러그인 찾아보기 · 상세 · 설치됨" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/market/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-store h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5"></path><path d="M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"></path><path d="M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">마켓</span><span class="ml-1 text-muted-foreground">— <!-- -->플러그인 찾아보기 · 상세 · 설치됨</span></span></li><li class="group/nav relative"><a title="Schedules — 예약 잡 종합 현황 (크론·데몬·launchd)" aria-label="Schedules — 예약 잡 종합 현황 (크론·데몬·launchd)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/scheduler/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M16 14v2.2l1.6 1"></path><path d="M16 2v4"></path><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"></path><path d="M3 10h5"></path><path d="M8 2v4"></path><circle cx="16" cy="16" r="6"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Schedules</span><span class="ml-1 text-muted-foreground">— <!-- -->예약 잡 종합 현황 (크론·데몬·launchd)</span></span></li><li class="group/nav relative"><a title="Settings — 환경 + provider + theme" aria-label="Settings — 환경 + provider + theme" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/settings/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Settings</span><span class="ml-1 text-muted-foreground">— <!-- -->환경 + provider + theme</span></span></li></ul></nav></aside><main class="flex-1 overflow-auto min-w-0"><main class="mx-auto flex min-h-screen w-full max-w-3xl flex-col gap-6 px-4 py-8 sm:px-6"><header class="flex flex-col gap-1"><p class="text-xs font-medium uppercase tracking-wider text-muted-foreground">elanous · setup</p><h1 class="text-2xl font-semibold tracking-tight">LLM provider 셋업</h1><p class="text-sm text-muted-foreground">chat 을 시작하려면 LLM provider 하나만 골라주세요. 나머지 (persona · channels · iOS · voice) 는 <span class="font-mono">/settings</span> <!-- -->에서 언제든지 설정할 수 있어요.</p></header><section class="flex flex-1 flex-col"><!--$--><!--/$--></section></main></main></div></div><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/app/_next/static/chunks/webpack-e5bea36f183b25e6.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n"])</script><script>self.__next_f.push([1,"2:I[67976,[\"2977\",\"static/chunks/2977-e38442e86289f1d3.js\",\"920\",\"static/chunks/920-f7dceb78f1c585ef.js\",\"6062\",\"static/chunks/6062-73e68343a9814f6a.js\",\"7990\",\"static/chunks/7990-e12efba616f46e03.js\",\"6998\",\"static/chunks/6998-a654fe5c58271600.js\",\"1201\",\"static/chunks/1201-09613bce624467c0.js\",\"9804\",\"static/chunks/9804-64c02c3c127d5014.js\",\"8519\",\"static/chunks/8519-0059d82bdb4812bf.js\",\"2375\",\"static/chunks/2375-3fcae5186c64fe6b.js\",\"8067\",\"static/chunks/8067-f74bf14d67ad98f1.js\",\"8619\",\"static/chunks/8619-4365e03a2862830f.js\",\"319\",\"static/chunks/319-d37df1b6e0cbeff4.js\",\"5791\",\"static/chunks/5791-bb82743fa6299562.js\",\"7177\",\"static/chunks/app/layout-33fbdf353e2a5982.js\"],\"ServiceWorkerRegister\"]\n"])</script><script>self.__next_f.push([1,"3:I[12248,[\"2977\",\"static/chunks/2977-e38442e86289f1d3.js\",\"920\",\"static/chunks/920-f7dceb78f1c585ef.js\",\"6062\",\"static/chunks/6062-73e68343a9814f6a.js\",\"7990\",\"static/chunks/7990-e12efba616f46e03.js\",\"6998\",\"static/chunks/6998-a654fe5c58271600.js\",\"1201\",\"static/chunks/1201-09613bce624467c0.js\",\"9804\",\"static/chunks/9804-64c02c3c127d5014.js\",\"8519\",\"static/chunks/8519-0059d82bdb4812bf.js\",\"2375\",\"static/chunks/2375-3fcae5186c64fe6b.js\",\"8067\",\"static/chunks/8067-f74bf14d67ad98f1.js\",\"8619\",\"static/chunks/8619-4365e03a2862830f.js\",\"319\",\"static/chunks/319-d37df1b6e0cbeff4.js\",\"5791\",\"static/chunks/5791-bb82743fa6299562.js\",\"7177\",\"static/chunks/app/layout-33fbdf353e2a5982.js\"],\"NewBuildBanner\"]\n"])</script><script>self.__next_f.push([1,"4:I[38519,[\"2977\",\"static/chunks/2977-e38442e86289f1d3.js\",\"920\",\"static/chunks/920-f7dceb78f1c585ef.js\",\"6062\",\"static/chunks/6062-73e68343a9814f6a.js\",\"7990\",\"static/chunks/7990-e12efba616f46e03.js\",\"6998\",\"static/chunks/6998-a654fe5c58271600.js\",\"1201\",\"static/chunks/1201-09613bce624467c0.js\",\"9804\",\"static/chunks/9804-64c02c3c127d5014.js\",\"8519\",\"static/chunks/8519-0059d82bdb4812bf.js\",\"2375\",\"static/chunks/2375-3fcae5186c64fe6b.js\",\"8067\",\"static/chunks/8067-f74bf14d67ad98f1.js\",\"8619\",\"static/chunks/8619-4365e03a2862830f.js\",\"319\",\"static/chunks/319-d37df1b6e0cbeff4.js\",\"5791\",\"static/chunks/5791-bb82743fa6299562.js\",\"7177\",\"static/chunks/app/layout-33fbdf353e2a5982.js\"],\"DaemonProvider\"]\n"])</script><script>self.__next_f.push([1,"5:I[8687,[\"2977\",\"static/chunks/2977-e38442e86289f1d3.js\",\"920\",\"static/chunks/920-f7dceb78f1c585ef.js\",\"6062\",\"static/chunks/6062-73e68343a9814f6a.js\",\"7990\",\"static/chunks/7990-e12efba616f46e03.js\",\"6998\",\"static/chunks/6998-a654fe5c58271600.js\",\"1201\",\"static/chunks/1201-09613bce624467c0.js\",\"9804\",\"static/chunks/9804-64c02c3c127d5014.js\",\"8519\",\"static/chunks/8519-0059d82bdb4812bf.js\",\"2375\",\"static/chunks/2375-3fcae5186c64fe6b.js\",\"8067\",\"static/chunks/8067-f74bf14d67ad98f1.js\",\"8619\",\"static/chunks/8619-4365e03a2862830f.js\",\"319\",\"static/chunks/319-d37df1b6e0cbeff4.js\",\"5791\",\"static/chunks/5791-bb82743fa6299562.js\",\"7177\",\"static/chunks/app/layout-33fbdf353e2a5982.js\"],\"NexusClientProvider\"]\n"])</script><script>self.__next_f.push([1,"6:I[94936,[\"2977\",\"static/chunks/2977-e38442e86289f1d3.js\",\"920\",\"static/chunks/920-f7dceb78f1c585ef.js\",\"6062\",\"static/chunks/6062-73e68343a9814f6a.js\",\"7990\",\"static/chunks/7990-e12efba616f46e03.js\",\"6998\",\"static/chunks/6998-a654fe5c58271600.js\",\"1201\",\"static/chunks/1201-09613bce624467c0.js\",\"9804\",\"static/chunks/9804-64c02c3c127d5014.js\",\"8519\",\"static/chunks/8519-0059d82bdb4812bf.js\",\"2375\",\"static/chunks/2375-3fcae5186c64fe6b.js\",\"8067\",\"static/chunks/8067-f74bf14d67ad98f1.js\",\"8619\",\"static/chunks/8619-4365e03a2862830f.js\",\"319\",\"static/chunks/319-d37df1b6e0cbeff4.js\",\"5791\",\"static/chunks/5791-bb82743fa6299562.js\",\"7177\",\"static/chunks/app/layout-33fbdf353e2a5982.js\"],\"ThemeProvider\"]\n"])</script><script>self.__next_f.push([1,"7:I[85039,[\"2977\",\"static/chunks/2977-e38442e86289f1d3.js\",\"920\",\"static/chunks/920-f7dceb78f1c585ef.js\",\"6062\",\"static/chunks/6062-73e68343a9814f6a.js\",\"7990\",\"static/chunks/7990-e12efba616f46e03.js\",\"6998\",\"static/chunks/6998-a654fe5c58271600.js\",\"1201\",\"static/chunks/1201-09613bce624467c0.js\",\"9804\",\"static/chunks/9804-64c02c3c127d5014.js\",\"8519\",\"static/chunks/8519-0059d82bdb4812bf.js\",\"2375\",\"static/chunks/2375-3fcae5186c64fe6b.js\",\"8067\",\"static/chunks/8067-f74bf14d67ad98f1.js\",\"8619\",\"static/chunks/8619-4365e03a2862830f.js\",\"319\",\"static/chunks/319-d37df1b6e0cbeff4.js\",\"5791\",\"static/chunks/5791-bb82743fa6299562.js\",\"7177\",\"static/chunks/app/layout-33fbdf353e2a5982.js\"],\"TooltipProvider\"]\n"])</script><script>self.__next_f.push([1,"8:I[21545,[\"2977\",\"static/chunks/2977-e38442e86289f1d3.js\",\"920\",\"static/chunks/920-f7dceb78f1c585ef.js\",\"6062\",\"static/chunks/6062-73e68343a9814f6a.js\",\"7990\",\"static/chunks/7990-e12efba616f46e03.js\",\"6998\",\"static/chunks/6998-a654fe5c58271600.js\",\"1201\",\"static/chunks/1201-09613bce624467c0.js\",\"9804\",\"static/chunks/9804-64c02c3c127d5014.js\",\"8519\",\"static/chunks/8519-0059d82bdb4812bf.js\",\"2375\",\"static/chunks/2375-3fcae5186c64fe6b.js\",\"8067\",\"static/chunks/8067-f74bf14d67ad98f1.js\",\"8619\",\"static/chunks/8619-4365e03a2862830f.js\",\"319\",\"static/chunks/319-d37df1b6e0cbeff4.js\",\"5791\",\"static/chunks/5791-bb82743fa6299562.js\",\"7177\",\"static/chunks/app/layout-33fbdf353e2a5982.js\"],\"ToastProvider\"]\n"])</script><script>self.__next_f.push([1,"9:I[1167,[\"2977\",\"static/chunks/2977-e38442e86289f1d3.js\",\"920\",\"static/chunks/920-f7dceb78f1c585ef.js\",\"6062\",\"static/chunks/6062-73e68343a9814f6a.js\",\"7990\",\"static/chunks/7990-e12efba616f46e03.js\",\"6998\",\"static/chunks/6998-a654fe5c58271600.js\",\"1201\",\"static/chunks/1201-09613bce624467c0.js\",\"9804\",\"static/chunks/9804-64c02c3c127d5014.js\",\"8519\",\"static/chunks/8519-0059d82bdb4812bf.js\",\"2375\",\"static/chunks/2375-3fcae5186c64fe6b.js\",\"8067\",\"static/chunks/8067-f74bf14d67ad98f1.js\",\"8619\",\"static/chunks/8619-4365e03a2862830f.js\",\"319\",\"static/chunks/319-d37df1b6e0cbeff4.js\",\"5791\",\"static/chunks/5791-bb82743fa6299562.js\",\"7177\",\"static/chunks/app/layout-33fbdf353e2a5982.js\"],\"AppShell\"]\n"])</script><script>self.__next_f.push([1,"a:I[57048,[],\"\"]\nb:I[75854,[],\"\"]\nc:I[70766,[\"2977\",\"static/chunks/2977-e38442e86289f1d3.js\",\"920\",\"static/chunks/920-f7dceb78f1c585ef.js\",\"7990\",\"static/chunks/7990-e12efba616f46e03.js\",\"6416\",\"static/chunks/6416-505ba707cacafbba.js\",\"319\",\"static/chunks/319-d37df1b6e0cbeff4.js\",\"4345\",\"static/chunks/app/not-found-542a5c0006da637c.js\"],\"default\"]\nd:I[79013,[],\"ClientPageRoot\"]\ne:I[48197,[\"2977\",\"static/chunks/2977-e38442e86289f1d3.js\",\"216\",\"static/chunks/216-5acd01cbde4acda7.js\",\"920\",\"static/chunks/920-f7dceb78f1c585ef.js\",\"4114\",\"static/chunks/4114-3e63117452378807.js\",\"2375\",\"static/chunks/2375-3fcae5186c64fe6b.js\",\"8142\",\"static/chunks/8142-011e1f474efb8b33.js\",\"620\",\"static/chunks/app/setup/page-eb2381074df20dba.js\"],\"default\"]\n11:I[78357,[],\"OutletBoundary\"]\n13:I[70112,[],\"AsyncMetadataOutlet\"]\n15:I[78357,[],\"ViewportBoundary\"]\n17:I[78357,[],\"MetadataBoundary\"]\n18:\"$Sreact.suspense\"\n1a:I[26324,[],\"\"]\n:HL[\"/app/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/app/_next/static/css/e66b7f5efc8df3f3.css\",\"style\"]\n:HL[\"/app/_next/static/css/04dabcbcc4bfa6db.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"zoQX5iTvXOsIvCjxCe1Ji\",\"p\":\"/app\",\"c\":[\"\",\"setup\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"setup\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/app/_next/static/css/e66b7f5efc8df3f3.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/app/_next/static/css/04dabcbcc4bfa6db.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"className\":\"font-sans __variable_45c93f\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"link\",null,{\"rel\":\"preload\",\"as\":\"font\",\"type\":\"font/ttf\",\"href\":\"/app/fonts/JetBrainsMonoNerdFontMono-Regular.ttf\",\"crossOrigin\":\"anonymous\"}]}],[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-background text-foreground antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{}],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$Lc\",null,{}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]}]}]]}]]}]]}],{\"children\":[\"setup\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"main\",null,{\"className\":\"mx-auto flex min-h-screen w-full max-w-3xl flex-col gap-6 px-4 py-8 sm:px-6\",\"children\":[[\"$\",\"header\",null,{\"className\":\"flex flex-col gap-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-xs font-medium uppercase tracking-wider text-muted-foreground\",\"children\":\"elanous · setup\"}],[\"$\",\"h1\",null,{\"className\":\"text-2xl font-semibold tracking-tight\",\"children\":\"LLM provider 셋업\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-muted-foreground\",\"children\":[\"chat 을 시작하려면 LLM provider 하나만 골라주세요. 나머지 (persona · channels · iOS · voice) 는 \",[\"$\",\"span\",null,{\"className\":\"font-mono\",\"children\":\"/settings\"}],\" \",\"에서 언제든지 설정할 수 있어요.\"]}]]}],[\"$\",\"section\",null,{\"className\":\"flex flex-1 flex-col\",\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$Ld\",null,{\"Component\":\"$e\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@f\",\"$@10\"]}],null,[\"$\",\"$L11\",null,{\"children\":[\"$L12\",[\"$\",\"$L13\",null,{\"promise\":\"$@14\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L15\",null,{\"children\":\"$L16\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L17\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$18\",null,{\"fallback\":null,\"children\":\"$L19\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$1a\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"f:{}\n10:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"16:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#1e1e2e\"}]]\n12:null\n"])</script><script>self.__next_f.push([1,"14:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"elanous · setup\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"First-time LLM provider setup for elanous PWA.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"elanous\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/app/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"19:\"$14:metadata\"\n"])</script></body></html>
|
|
1
|
+
<!DOCTYPE html><!--ktMqfrBbf8BMGac0jqLrb--><html lang="ko" class="font-sans __variable_45c93f"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/><link rel="preload" href="/app/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/app/_next/static/css/eaa74e8bb2f62269.css" data-precedence="next"/><link rel="stylesheet" href="/app/_next/static/css/04dabcbcc4bfa6db.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/app/_next/static/chunks/webpack-2bf59c720fe9542c.js"/><script src="/app/_next/static/chunks/f6f3850d-7f324c6566002113.js" async=""></script><script src="/app/_next/static/chunks/7429-881af44deed6958f.js" async=""></script><script src="/app/_next/static/chunks/main-app-607f5beb94cb2e07.js" async=""></script><script src="/app/_next/static/chunks/4853-35fdbe6bdbcdc0fc.js" async=""></script><script src="/app/_next/static/chunks/764-a01e858525a190c0.js" async=""></script><script src="/app/_next/static/chunks/9704-3221c102623c8d73.js" async=""></script><script src="/app/_next/static/chunks/6123-37c9dc57ddaa7ab0.js" async=""></script><script src="/app/_next/static/chunks/2300-de059d0ab2a16630.js" async=""></script><script src="/app/_next/static/chunks/4217-3c4317a7905f9eeb.js" async=""></script><script src="/app/_next/static/chunks/150-25c277137a9638ab.js" async=""></script><script src="/app/_next/static/chunks/4015-62c5a3744698a8da.js" async=""></script><script src="/app/_next/static/chunks/5391-8793f88b03b30161.js" async=""></script><script src="/app/_next/static/chunks/3611-77496ada38cd6358.js" async=""></script><script src="/app/_next/static/chunks/7178-30f77877525a2efb.js" async=""></script><script src="/app/_next/static/chunks/8320-51484af7b01fdfa5.js" async=""></script><script src="/app/_next/static/chunks/5348-bbf838e119661eee.js" async=""></script><script src="/app/_next/static/chunks/app/layout-e733630c47fa102b.js" async=""></script><script src="/app/_next/static/chunks/1640-bc99ec23bbe29d12.js" async=""></script><script src="/app/_next/static/chunks/app/not-found-63301d11dbe73836.js" async=""></script><script src="/app/_next/static/chunks/7294-f0eeebb92aa93459.js" async=""></script><script src="/app/_next/static/chunks/4240-3230f230fae2d7d5.js" async=""></script><script src="/app/_next/static/chunks/5890-dca2321773be829a.js" async=""></script><script src="/app/_next/static/chunks/app/setup/page-b41ca4abfd618452.js" async=""></script><meta name="next-size-adjust" content=""/><link rel="preload" as="font" type="font/ttf" href="/app/fonts/JetBrainsMonoNerdFontMono-Regular.ttf" crossorigin="anonymous"/><meta name="theme-color" content="#1e1e2e"/><title>elanous · setup</title><meta name="description" content="First-time LLM provider setup for elanous PWA."/><meta name="application-name" content="elanous"/><link rel="manifest" href="/app/manifest.webmanifest"/><link rel="icon" href="/app/icons/elanous-32.png" sizes="32x32" type="image/png"/><link rel="icon" href="/app/icons/elanous-16.png" sizes="16x16" type="image/png"/><link rel="apple-touch-icon" href="/app/icons/elanous-180.png" sizes="180x180" type="image/png"/><script src="/app/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="min-h-screen bg-background text-foreground antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex h-screen w-full flex-col bg-background text-foreground"><header class="flex h-9 shrink-0 items-center gap-1 border-b border-border bg-background px-2 text-xs"><button type="button" aria-label="open menu" title="open menu" class="flex shrink-0 items-center gap-1.5 rounded-md p-2 text-muted-foreground hover:bg-accent hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-4 w-4" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg><span class="hidden text-[11px] font-medium leading-none sm:inline">메뉴</span></button><div class="ml-auto flex items-center gap-1"><a aria-label="voice" title="voice (HTTPS Tailscale Serve 필요)" class="rounded-md p-1.5 text-muted-foreground hover:bg-accent hover:text-foreground" href="/app/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mic h-4 w-4" aria-hidden="true"><path d="M12 19v3"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><rect x="9" y="2" width="6" height="13" rx="3"></rect></svg></a><div class="relative"><button type="button" aria-label="settings" title="session — · theme catppuccin-mocha" class="rounded-md p-1.5 hover:bg-accent text-muted-foreground hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg></button></div></div></header><div class="flex flex-1 min-h-0"><aside class="hidden md:flex md:w-10 md:flex-col border-r border-sidebar-border bg-sidebar text-sidebar-foreground"><nav class="flex h-full flex-col"><ul class="flex-1 space-y-1 px-1 py-2"><li class="group/nav relative"><a title="Terminal — 터미널 + agent dock" aria-label="Terminal — 터미널 + agent dock" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/term/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-terminal h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="m7 11 2-2-2-2"></path><path d="M11 13h4"></path><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Terminal</span><span class="ml-1 text-muted-foreground">— <!-- -->터미널 + agent dock</span></span></li><li class="group/nav relative"><a title="Chat — 채팅 (스트리밍 · multimodal · mic)" aria-label="Chat — 채팅 (스트리밍 · multimodal · mic)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/chat/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Chat</span><span class="ml-1 text-muted-foreground">— <!-- -->채팅 (스트리밍 · multimodal · mic)</span></span></li><li class="group/nav relative"><a title="Intake — 넣으면 흡수 · 작업 · 그래프로 (URL · 미션 · 메모)" aria-label="Intake — 넣으면 흡수 · 작업 · 그래프로 (URL · 미션 · 메모)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/intake/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-inbox h-4 w-4 shrink-0 text-current" aria-hidden="true"><polyline points="22 12 16 12 14 15 10 15 8 12 2 12"></polyline><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Intake</span><span class="ml-1 text-muted-foreground">— <!-- -->넣으면 흡수 · 작업 · 그래프로 (URL · 미션 · 메모)</span></span></li><li class="group/nav relative"><a title="Approvals — 아이디어 PR 요약 · 승인하고 머지" aria-label="Approvals — 아이디어 PR 요약 · 승인하고 머지" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/approvals/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-pull-request h-4 w-4 shrink-0 text-current" aria-hidden="true"><circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M13 6h3a2 2 0 0 1 2 2v7"></path><line x1="6" x2="6" y1="9" y2="21"></line></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Approvals</span><span class="ml-1 text-muted-foreground">— <!-- -->아이디어 PR 요약 · 승인하고 머지</span></span></li><li class="group/nav relative"><a title="Live — 런이 판단·기획하는 신호 (진짜 수 · 쇼 모드)" aria-label="Live — 런이 판단·기획하는 신호 (진짜 수 · 쇼 모드)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/live/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Live</span><span class="ml-1 text-muted-foreground">— <!-- -->런이 판단·기획하는 신호 (진짜 수 · 쇼 모드)</span></span></li><li class="group/nav relative"><a title="Trace — 렌즈를 좁혀 런을 따라간다 (플릿 → 런 → 판단)" aria-label="Trace — 렌즈를 좁혀 런을 따라간다 (플릿 → 런 → 판단)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/trace/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-crosshair h-4 w-4 shrink-0 text-current" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><line x1="22" x2="18" y1="12" y2="12"></line><line x1="6" x2="2" y1="12" y2="12"></line><line x1="12" x2="12" y1="6" y2="2"></line><line x1="12" x2="12" y1="22" y2="18"></line></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Trace</span><span class="ml-1 text-muted-foreground">— <!-- -->렌즈를 좁혀 런을 따라간다 (플릿 → 런 → 판단)</span></span></li><li class="group/nav relative"><a title="Missions — 미션 · 작업 (미션 계보·골 던지기·작업 보드·자율행동)" aria-label="Missions — 미션 · 작업 (미션 계보·골 던지기·작업 보드·자율행동)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/autopilot/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-compass h-4 w-4 shrink-0 text-current" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Missions</span><span class="ml-1 text-muted-foreground">— <!-- -->미션 · 작업 (미션 계보·골 던지기·작업 보드·자율행동)</span></span></li><li class="group/nav relative"><a title="Design — 디자인 시스템 고르기 · 시안 · URL 로 내 시스템" aria-label="Design — 디자인 시스템 고르기 · 시안 · URL 로 내 시스템" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/design-check/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z"></path><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Design</span><span class="ml-1 text-muted-foreground">— <!-- -->디자인 시스템 고르기 · 시안 · URL 로 내 시스템</span></span></li><li class="group/nav relative"><a title="Vault — Obsidian 노트 (브라우저·에디터·검색·그래프)" aria-label="Vault — Obsidian 노트 (브라우저·에디터·검색·그래프)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/vault/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Vault</span><span class="ml-1 text-muted-foreground">— <!-- -->Obsidian 노트 (브라우저·에디터·검색·그래프)</span></span></li><li class="group/nav relative"><a title="마켓 — 플러그인 찾아보기 · 상세 · 설치됨" aria-label="마켓 — 플러그인 찾아보기 · 상세 · 설치됨" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/market/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-store h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5"></path><path d="M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244"></path><path d="M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05"></path></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">마켓</span><span class="ml-1 text-muted-foreground">— <!-- -->플러그인 찾아보기 · 상세 · 설치됨</span></span></li><li class="group/nav relative"><a title="Schedules — 예약 잡 종합 현황 (크론·데몬·launchd)" aria-label="Schedules — 예약 잡 종합 현황 (크론·데몬·launchd)" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/scheduler/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M16 14v2.2l1.6 1"></path><path d="M16 2v4"></path><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"></path><path d="M3 10h5"></path><path d="M8 2v4"></path><circle cx="16" cy="16" r="6"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Schedules</span><span class="ml-1 text-muted-foreground">— <!-- -->예약 잡 종합 현황 (크론·데몬·launchd)</span></span></li><li class="group/nav relative"><a title="Settings — 환경 + provider + theme" aria-label="Settings — 환경 + provider + theme" class="flex items-center rounded-md text-sm transition-colors justify-center px-1.5 py-2 text-sidebar-foreground/70 hover:bg-sidebar-accent hover:text-sidebar-foreground" href="/app/settings/"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-settings h-4 w-4 shrink-0 text-current" aria-hidden="true"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg></a><span role="tooltip" class="pointer-events-none absolute left-full top-1/2 z-50 ml-2 -translate-y-1/2 whitespace-nowrap rounded-md border border-border bg-popover px-2 py-1 text-[11px] text-popover-foreground opacity-0 shadow-md transition-opacity group-hover/nav:opacity-100 [@media(pointer:coarse)]:hidden"><span class="font-medium">Settings</span><span class="ml-1 text-muted-foreground">— <!-- -->환경 + provider + theme</span></span></li></ul></nav></aside><main class="flex-1 overflow-auto min-w-0"><main class="mx-auto flex min-h-screen w-full max-w-3xl flex-col gap-6 px-4 py-8 sm:px-6"><header class="flex flex-col gap-1"><p class="text-xs font-medium uppercase tracking-wider text-muted-foreground">elanous · setup</p><h1 class="text-2xl font-semibold tracking-tight">LLM provider 셋업</h1><p class="text-sm text-muted-foreground">chat 을 시작하려면 LLM provider 하나만 골라주세요. 나머지 (persona · channels · iOS · voice) 는 <span class="font-mono">/settings</span> <!-- -->에서 언제든지 설정할 수 있어요.</p></header><section class="flex flex-1 flex-col"><section aria-label="화면 역할" class="rounded-lg border border-border bg-card p-4"><h2 class="text-base font-semibold">화면 역할</h2><p class="mt-1 text-sm text-muted-foreground">이 기기에서 메뉴에 표시할 화면을 선택하세요. 주소를 직접 입력하면 다른 화면도 열 수 있습니다.</p><div class="mt-3 grid gap-2 sm:grid-cols-3"><button type="button" aria-pressed="true" class="rounded-lg border p-3 text-left transition-colors hover:border-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring border-primary bg-primary/10"><span class="block font-medium">오너</span><span class="mt-1 block text-xs text-muted-foreground">모든 화면과 운영 화면을 봅니다.</span></button><button type="button" aria-pressed="false" class="rounded-lg border p-3 text-left transition-colors hover:border-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring border-border"><span class="block font-medium">기여자</span><span class="mt-1 block text-xs text-muted-foreground">베타 화면과 개발 도구를 함께 봅니다.</span></button><button type="button" aria-pressed="false" class="rounded-lg border p-3 text-left transition-colors hover:border-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring border-border"><span class="block font-medium">일반</span><span class="mt-1 block text-xs text-muted-foreground">사용할 준비가 된 화면을 봅니다.</span></button></div></section><!--$--><!--/$--></section></main></main></div></div><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section><script src="/app/_next/static/chunks/webpack-2bf59c720fe9542c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n"])</script><script>self.__next_f.push([1,"2:I[70442,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"ServiceWorkerRegister\"]\n"])</script><script>self.__next_f.push([1,"3:I[56925,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"NewBuildBanner\"]\n"])</script><script>self.__next_f.push([1,"4:I[34015,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"DaemonProvider\"]\n"])</script><script>self.__next_f.push([1,"5:I[3367,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"NexusClientProvider\"]\n"])</script><script>self.__next_f.push([1,"6:I[32736,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"ThemeProvider\"]\n"])</script><script>self.__next_f.push([1,"7:I[3223,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"TooltipProvider\"]\n"])</script><script>self.__next_f.push([1,"8:I[40951,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"ToastProvider\"]\n"])</script><script>self.__next_f.push([1,"9:I[61097,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"AppShell\"]\n"])</script><script>self.__next_f.push([1,"a:I[35691,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"9704\",\"static/chunks/9704-3221c102623c8d73.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"2300\",\"static/chunks/2300-de059d0ab2a16630.js\",\"4217\",\"static/chunks/4217-3c4317a7905f9eeb.js\",\"150\",\"static/chunks/150-25c277137a9638ab.js\",\"4015\",\"static/chunks/4015-62c5a3744698a8da.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"3611\",\"static/chunks/3611-77496ada38cd6358.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"8320\",\"static/chunks/8320-51484af7b01fdfa5.js\",\"5348\",\"static/chunks/5348-bbf838e119661eee.js\",\"7177\",\"static/chunks/app/layout-e733630c47fa102b.js\"],\"MaturityBanner\"]\n"])</script><script>self.__next_f.push([1,"b:I[20294,[],\"\"]\nc:I[48364,[],\"\"]\nd:I[5974,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"6123\",\"static/chunks/6123-37c9dc57ddaa7ab0.js\",\"1640\",\"static/chunks/1640-bc99ec23bbe29d12.js\",\"7178\",\"static/chunks/7178-30f77877525a2efb.js\",\"4345\",\"static/chunks/app/not-found-63301d11dbe73836.js\"],\"default\"]\ne:I[82791,[],\"ClientPageRoot\"]\nf:I[22603,[\"4853\",\"static/chunks/4853-35fdbe6bdbcdc0fc.js\",\"7294\",\"static/chunks/7294-f0eeebb92aa93459.js\",\"764\",\"static/chunks/764-a01e858525a190c0.js\",\"4240\",\"static/chunks/4240-3230f230fae2d7d5.js\",\"5391\",\"static/chunks/5391-8793f88b03b30161.js\",\"5890\",\"static/chunks/5890-dca2321773be829a.js\",\"620\",\"static/chunks/app/setup/page-b41ca4abfd618452.js\"],\"default\"]\n12:I[23580,[],\"OutletBoundary\"]\n14:I[82350,[],\"AsyncMetadataOutlet\"]\n16:I[23580,[],\"ViewportBoundary\"]\n18:I[23580,[],\"MetadataBoundary\"]\n19:\"$Sreact.suspense\"\n1b:I[46014,[],\"\"]\n:HL[\"/app/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/app/_next/static/css/eaa74e8bb2f62269.css\",\"style\"]\n:HL[\"/app/_next/static/css/04dabcbcc4bfa6db.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"ktMqfrBbf8BMGac0jqLrb\",\"p\":\"/app\",\"c\":[\"\",\"setup\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"setup\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/app/_next/static/css/eaa74e8bb2f62269.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/app/_next/static/css/04dabcbcc4bfa6db.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"ko\",\"className\":\"font-sans __variable_45c93f\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"link\",null,{\"rel\":\"preload\",\"as\":\"font\",\"type\":\"font/ttf\",\"href\":\"/app/fonts/JetBrainsMonoNerdFontMono-Regular.ttf\",\"crossOrigin\":\"anonymous\"}]}],[\"$\",\"body\",null,{\"className\":\"min-h-screen bg-background text-foreground antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{}],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$L8\",null,{\"children\":[\"$\",\"$L9\",null,{\"children\":[[\"$\",\"$La\",null,{}],[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$Ld\",null,{}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]}]}]}]}]]}]]}]]}],{\"children\":[\"setup\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"main\",null,{\"className\":\"mx-auto flex min-h-screen w-full max-w-3xl flex-col gap-6 px-4 py-8 sm:px-6\",\"children\":[[\"$\",\"header\",null,{\"className\":\"flex flex-col gap-1\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-xs font-medium uppercase tracking-wider text-muted-foreground\",\"children\":\"elanous · setup\"}],[\"$\",\"h1\",null,{\"className\":\"text-2xl font-semibold tracking-tight\",\"children\":\"LLM provider 셋업\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-muted-foreground\",\"children\":[\"chat 을 시작하려면 LLM provider 하나만 골라주세요. 나머지 (persona · channels · iOS · voice) 는 \",[\"$\",\"span\",null,{\"className\":\"font-mono\",\"children\":\"/settings\"}],\" \",\"에서 언제든지 설정할 수 있어요.\"]}]]}],[\"$\",\"section\",null,{\"className\":\"flex flex-1 flex-col\",\"children\":[\"$\",\"$Lb\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lc\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$Le\",null,{\"Component\":\"$f\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@10\",\"$@11\"]}],null,[\"$\",\"$L12\",null,{\"children\":[\"$L13\",[\"$\",\"$L14\",null,{\"promise\":\"$@15\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L16\",null,{\"children\":\"$L17\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L18\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$19\",null,{\"fallback\":null,\"children\":\"$L1a\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$1b\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"10:{}\n11:\"$0:f:0:1:2:children:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, maximum-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#1e1e2e\"}]]\n13:null\n"])</script><script>self.__next_f.push([1,"1c:I[6990,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"15:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"elanous · setup\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"First-time LLM provider setup for elanous PWA.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"elanous\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/app/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/app/icons/elanous-32.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],[\"$\",\"link\",\"5\",{\"rel\":\"icon\",\"href\":\"/app/icons/elanous-16.png\",\"sizes\":\"16x16\",\"type\":\"image/png\"}],[\"$\",\"link\",\"6\",{\"rel\":\"apple-touch-icon\",\"href\":\"/app/icons/elanous-180.png\",\"sizes\":\"180x180\",\"type\":\"image/png\"}],[\"$\",\"$L1c\",\"7\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"1a:\"$15:metadata\"\n"])</script></body></html>
|
|
@@ -1,30 +1,32 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
|
-
2:I[
|
|
3
|
-
3:I[
|
|
4
|
-
4:I[
|
|
5
|
-
5:I[
|
|
6
|
-
6:I[
|
|
7
|
-
7:I[
|
|
8
|
-
8:I[
|
|
9
|
-
9:I[
|
|
10
|
-
a:I[
|
|
11
|
-
b:I[
|
|
12
|
-
c:I[
|
|
13
|
-
d:I[
|
|
14
|
-
e:I[
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
18:"
|
|
20
|
-
|
|
2
|
+
2:I[70442,["4853","static/chunks/4853-35fdbe6bdbcdc0fc.js","764","static/chunks/764-a01e858525a190c0.js","9704","static/chunks/9704-3221c102623c8d73.js","6123","static/chunks/6123-37c9dc57ddaa7ab0.js","2300","static/chunks/2300-de059d0ab2a16630.js","4217","static/chunks/4217-3c4317a7905f9eeb.js","150","static/chunks/150-25c277137a9638ab.js","4015","static/chunks/4015-62c5a3744698a8da.js","5391","static/chunks/5391-8793f88b03b30161.js","3611","static/chunks/3611-77496ada38cd6358.js","7178","static/chunks/7178-30f77877525a2efb.js","8320","static/chunks/8320-51484af7b01fdfa5.js","5348","static/chunks/5348-bbf838e119661eee.js","7177","static/chunks/app/layout-e733630c47fa102b.js"],"ServiceWorkerRegister"]
|
|
3
|
+
3:I[56925,["4853","static/chunks/4853-35fdbe6bdbcdc0fc.js","764","static/chunks/764-a01e858525a190c0.js","9704","static/chunks/9704-3221c102623c8d73.js","6123","static/chunks/6123-37c9dc57ddaa7ab0.js","2300","static/chunks/2300-de059d0ab2a16630.js","4217","static/chunks/4217-3c4317a7905f9eeb.js","150","static/chunks/150-25c277137a9638ab.js","4015","static/chunks/4015-62c5a3744698a8da.js","5391","static/chunks/5391-8793f88b03b30161.js","3611","static/chunks/3611-77496ada38cd6358.js","7178","static/chunks/7178-30f77877525a2efb.js","8320","static/chunks/8320-51484af7b01fdfa5.js","5348","static/chunks/5348-bbf838e119661eee.js","7177","static/chunks/app/layout-e733630c47fa102b.js"],"NewBuildBanner"]
|
|
4
|
+
4:I[34015,["4853","static/chunks/4853-35fdbe6bdbcdc0fc.js","764","static/chunks/764-a01e858525a190c0.js","9704","static/chunks/9704-3221c102623c8d73.js","6123","static/chunks/6123-37c9dc57ddaa7ab0.js","2300","static/chunks/2300-de059d0ab2a16630.js","4217","static/chunks/4217-3c4317a7905f9eeb.js","150","static/chunks/150-25c277137a9638ab.js","4015","static/chunks/4015-62c5a3744698a8da.js","5391","static/chunks/5391-8793f88b03b30161.js","3611","static/chunks/3611-77496ada38cd6358.js","7178","static/chunks/7178-30f77877525a2efb.js","8320","static/chunks/8320-51484af7b01fdfa5.js","5348","static/chunks/5348-bbf838e119661eee.js","7177","static/chunks/app/layout-e733630c47fa102b.js"],"DaemonProvider"]
|
|
5
|
+
5:I[3367,["4853","static/chunks/4853-35fdbe6bdbcdc0fc.js","764","static/chunks/764-a01e858525a190c0.js","9704","static/chunks/9704-3221c102623c8d73.js","6123","static/chunks/6123-37c9dc57ddaa7ab0.js","2300","static/chunks/2300-de059d0ab2a16630.js","4217","static/chunks/4217-3c4317a7905f9eeb.js","150","static/chunks/150-25c277137a9638ab.js","4015","static/chunks/4015-62c5a3744698a8da.js","5391","static/chunks/5391-8793f88b03b30161.js","3611","static/chunks/3611-77496ada38cd6358.js","7178","static/chunks/7178-30f77877525a2efb.js","8320","static/chunks/8320-51484af7b01fdfa5.js","5348","static/chunks/5348-bbf838e119661eee.js","7177","static/chunks/app/layout-e733630c47fa102b.js"],"NexusClientProvider"]
|
|
6
|
+
6:I[32736,["4853","static/chunks/4853-35fdbe6bdbcdc0fc.js","764","static/chunks/764-a01e858525a190c0.js","9704","static/chunks/9704-3221c102623c8d73.js","6123","static/chunks/6123-37c9dc57ddaa7ab0.js","2300","static/chunks/2300-de059d0ab2a16630.js","4217","static/chunks/4217-3c4317a7905f9eeb.js","150","static/chunks/150-25c277137a9638ab.js","4015","static/chunks/4015-62c5a3744698a8da.js","5391","static/chunks/5391-8793f88b03b30161.js","3611","static/chunks/3611-77496ada38cd6358.js","7178","static/chunks/7178-30f77877525a2efb.js","8320","static/chunks/8320-51484af7b01fdfa5.js","5348","static/chunks/5348-bbf838e119661eee.js","7177","static/chunks/app/layout-e733630c47fa102b.js"],"ThemeProvider"]
|
|
7
|
+
7:I[3223,["4853","static/chunks/4853-35fdbe6bdbcdc0fc.js","764","static/chunks/764-a01e858525a190c0.js","9704","static/chunks/9704-3221c102623c8d73.js","6123","static/chunks/6123-37c9dc57ddaa7ab0.js","2300","static/chunks/2300-de059d0ab2a16630.js","4217","static/chunks/4217-3c4317a7905f9eeb.js","150","static/chunks/150-25c277137a9638ab.js","4015","static/chunks/4015-62c5a3744698a8da.js","5391","static/chunks/5391-8793f88b03b30161.js","3611","static/chunks/3611-77496ada38cd6358.js","7178","static/chunks/7178-30f77877525a2efb.js","8320","static/chunks/8320-51484af7b01fdfa5.js","5348","static/chunks/5348-bbf838e119661eee.js","7177","static/chunks/app/layout-e733630c47fa102b.js"],"TooltipProvider"]
|
|
8
|
+
8:I[40951,["4853","static/chunks/4853-35fdbe6bdbcdc0fc.js","764","static/chunks/764-a01e858525a190c0.js","9704","static/chunks/9704-3221c102623c8d73.js","6123","static/chunks/6123-37c9dc57ddaa7ab0.js","2300","static/chunks/2300-de059d0ab2a16630.js","4217","static/chunks/4217-3c4317a7905f9eeb.js","150","static/chunks/150-25c277137a9638ab.js","4015","static/chunks/4015-62c5a3744698a8da.js","5391","static/chunks/5391-8793f88b03b30161.js","3611","static/chunks/3611-77496ada38cd6358.js","7178","static/chunks/7178-30f77877525a2efb.js","8320","static/chunks/8320-51484af7b01fdfa5.js","5348","static/chunks/5348-bbf838e119661eee.js","7177","static/chunks/app/layout-e733630c47fa102b.js"],"ToastProvider"]
|
|
9
|
+
9:I[61097,["4853","static/chunks/4853-35fdbe6bdbcdc0fc.js","764","static/chunks/764-a01e858525a190c0.js","9704","static/chunks/9704-3221c102623c8d73.js","6123","static/chunks/6123-37c9dc57ddaa7ab0.js","2300","static/chunks/2300-de059d0ab2a16630.js","4217","static/chunks/4217-3c4317a7905f9eeb.js","150","static/chunks/150-25c277137a9638ab.js","4015","static/chunks/4015-62c5a3744698a8da.js","5391","static/chunks/5391-8793f88b03b30161.js","3611","static/chunks/3611-77496ada38cd6358.js","7178","static/chunks/7178-30f77877525a2efb.js","8320","static/chunks/8320-51484af7b01fdfa5.js","5348","static/chunks/5348-bbf838e119661eee.js","7177","static/chunks/app/layout-e733630c47fa102b.js"],"AppShell"]
|
|
10
|
+
a:I[35691,["4853","static/chunks/4853-35fdbe6bdbcdc0fc.js","764","static/chunks/764-a01e858525a190c0.js","9704","static/chunks/9704-3221c102623c8d73.js","6123","static/chunks/6123-37c9dc57ddaa7ab0.js","2300","static/chunks/2300-de059d0ab2a16630.js","4217","static/chunks/4217-3c4317a7905f9eeb.js","150","static/chunks/150-25c277137a9638ab.js","4015","static/chunks/4015-62c5a3744698a8da.js","5391","static/chunks/5391-8793f88b03b30161.js","3611","static/chunks/3611-77496ada38cd6358.js","7178","static/chunks/7178-30f77877525a2efb.js","8320","static/chunks/8320-51484af7b01fdfa5.js","5348","static/chunks/5348-bbf838e119661eee.js","7177","static/chunks/app/layout-e733630c47fa102b.js"],"MaturityBanner"]
|
|
11
|
+
b:I[20294,[],""]
|
|
12
|
+
c:I[48364,[],""]
|
|
13
|
+
d:I[5974,["4853","static/chunks/4853-35fdbe6bdbcdc0fc.js","764","static/chunks/764-a01e858525a190c0.js","6123","static/chunks/6123-37c9dc57ddaa7ab0.js","1640","static/chunks/1640-bc99ec23bbe29d12.js","7178","static/chunks/7178-30f77877525a2efb.js","4345","static/chunks/app/not-found-63301d11dbe73836.js"],"default"]
|
|
14
|
+
e:I[82791,[],"ClientPageRoot"]
|
|
15
|
+
f:I[22603,["4853","static/chunks/4853-35fdbe6bdbcdc0fc.js","7294","static/chunks/7294-f0eeebb92aa93459.js","764","static/chunks/764-a01e858525a190c0.js","4240","static/chunks/4240-3230f230fae2d7d5.js","5391","static/chunks/5391-8793f88b03b30161.js","5890","static/chunks/5890-dca2321773be829a.js","620","static/chunks/app/setup/page-b41ca4abfd618452.js"],"default"]
|
|
16
|
+
12:I[23580,[],"OutletBoundary"]
|
|
17
|
+
14:I[82350,[],"AsyncMetadataOutlet"]
|
|
18
|
+
16:I[23580,[],"ViewportBoundary"]
|
|
19
|
+
18:I[23580,[],"MetadataBoundary"]
|
|
20
|
+
19:"$Sreact.suspense"
|
|
21
|
+
1b:I[46014,[],""]
|
|
21
22
|
:HL["/app/_next/static/media/22a5144ee8d83bca-s.p.woff2","font",{"crossOrigin":"","type":"font/woff2"}]
|
|
22
|
-
:HL["/app/_next/static/css/
|
|
23
|
+
:HL["/app/_next/static/css/eaa74e8bb2f62269.css","style"]
|
|
23
24
|
:HL["/app/_next/static/css/04dabcbcc4bfa6db.css","style"]
|
|
24
|
-
0:{"P":null,"b":"
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
0:{"P":null,"b":"ktMqfrBbf8BMGac0jqLrb","p":"/app","c":["","setup",""],"i":false,"f":[[["",{"children":["setup",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/app/_next/static/css/eaa74e8bb2f62269.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/app/_next/static/css/04dabcbcc4bfa6db.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"ko","className":"font-sans __variable_45c93f","children":[["$","head",null,{"children":["$","link",null,{"rel":"preload","as":"font","type":"font/ttf","href":"/app/fonts/JetBrainsMonoNerdFontMono-Regular.ttf","crossOrigin":"anonymous"}]}],["$","body",null,{"className":"min-h-screen bg-background text-foreground antialiased","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{"children":["$","$L5",null,{"children":["$","$L6",null,{"children":["$","$L7",null,{"children":["$","$L8",null,{"children":["$","$L9",null,{"children":[["$","$La",null,{}],["$","$Lb",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lc",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","$Ld",null,{}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]}]}]}]}]]}]]}]]}],{"children":["setup",["$","$1","c",{"children":[null,["$","main",null,{"className":"mx-auto flex min-h-screen w-full max-w-3xl flex-col gap-6 px-4 py-8 sm:px-6","children":[["$","header",null,{"className":"flex flex-col gap-1","children":[["$","p",null,{"className":"text-xs font-medium uppercase tracking-wider text-muted-foreground","children":"elanous · setup"}],["$","h1",null,{"className":"text-2xl font-semibold tracking-tight","children":"LLM provider 셋업"}],["$","p",null,{"className":"text-sm text-muted-foreground","children":["chat 을 시작하려면 LLM provider 하나만 골라주세요. 나머지 (persona · channels · iOS · voice) 는 ",["$","span",null,{"className":"font-mono","children":"/settings"}]," ","에서 언제든지 설정할 수 있어요."]}]]}],["$","section",null,{"className":"flex flex-1 flex-col","children":["$","$Lb",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$Lc",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$Le",null,{"Component":"$f","searchParams":{},"params":{},"promises":["$@10","$@11"]}],null,["$","$L12",null,{"children":["$L13",["$","$L14",null,{"promise":"$@15"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$L16",null,{"children":"$L17"}],["$","meta",null,{"name":"next-size-adjust","content":""}]],["$","$L18",null,{"children":["$","div",null,{"hidden":true,"children":["$","$19",null,{"fallback":null,"children":"$L1a"}]}]}]]}],false]],"m":"$undefined","G":["$1b",[]],"s":false,"S":true}
|
|
26
|
+
10:{}
|
|
27
|
+
11:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params"
|
|
28
|
+
17:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#1e1e2e"}]]
|
|
29
|
+
13:null
|
|
30
|
+
1c:I[6990,[],"IconMark"]
|
|
31
|
+
15:{"metadata":[["$","title","0",{"children":"elanous · setup"}],["$","meta","1",{"name":"description","content":"First-time LLM provider setup for elanous PWA."}],["$","meta","2",{"name":"application-name","content":"elanous"}],["$","link","3",{"rel":"manifest","href":"/app/manifest.webmanifest","crossOrigin":"$undefined"}],["$","link","4",{"rel":"icon","href":"/app/icons/elanous-32.png","sizes":"32x32","type":"image/png"}],["$","link","5",{"rel":"icon","href":"/app/icons/elanous-16.png","sizes":"16x16","type":"image/png"}],["$","link","6",{"rel":"apple-touch-icon","href":"/app/icons/elanous-180.png","sizes":"180x180","type":"image/png"}],["$","$L1c","7",{}]],"error":null,"digest":"$undefined"}
|
|
32
|
+
1a:"$15:metadata"
|