Repository navigation
Commit 4b48bbb
committed
feat(host): the extension asks one module what the machine it runs on can do
The agent read and wrote the workspace with synchronous fs and assumed it could start
programs. LevelCode is about to run in a browser tab, where the project is whatever the
editor's file system provider says it is and there is no shell.
host.js is the one place that difference lives. On the desktop every function does what the
call site did before, behind await; capabilities (shell, mcpStdio, ripgrep) are all true.
Where a capability is missing the tool is withheld rather than offered and left to fail, the
system prompt says what is missing, and content search falls back to a bounded scan.
resolveWorkspacePath stays (the suites pin it); resolveWorkspacePathAsync is the same
resolution for hosts that can only ask asynchronously. A workspace rooted at '/' now
contains its files.
All 63 suites pass on macOS.1 parent df63e42 commit 4b48bbb
5 files changed
Lines changed: 365 additions & 66 deletions
0 commit comments