Skip to content

Commit 4b48bbb

Browse files
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

File tree

0 commit comments

Comments
 (0)