* fix(vscode): strip Electron env vars in dev launch script
When bun run extension is invoked from a VS Code task (e.g. the Agent
Manager run button), ELECTRON_* and VSCODE_* env vars leak into the
spawned process, causing VS Code to reuse the existing instance instead
of opening a new window. Strip these vars before spawning.
* fix(vscode): also strip Electron env vars in blocking launch path
Add a pre_release checkbox to the publish workflow that passes
--pre-release to vsce package, vsce publish, and ovsx publish.
This enables publishing to the VS Code Marketplace pre-release
channel without requiring a separate versioning scheme.
Closes#8156
Remove --pre-release flag from vsce package and vsce publish commands.
Previously the VS Code Marketplace received a pre-release VSIX while
Open VSX received a production VSIX. Now both receive the same
production VSIX built without --pre-release, eliminating the separate
out/prod/ directory.
local-bin.ts now tracks the latest git commit hash of packages/opencode/
in bin/.cli-version. On subsequent runs, if the hash differs, the binary
is automatically rebuilt instead of silently reusing a stale one.
- Add win32/arm64 target to packages/opencode/script/build.ts
- Add win32-arm64 target to packages/kilo-vscode/script/build.ts and publish.ts
- Add @parcel/watcher-win32-arm64@2.5.1 optional dev dependency to packages/opencode/package.json
- Update RELEASING.md to document win32-arm64 CLI and VSIX targets
Bun.file().exists() returns false for directories, so the dist
directory was never cleaned on --force. Stale prebuilt binaries
were reused instead of triggering a fresh build. Switch to
existsSync() which works for both files and directories.
* feat(kilo-vscode): add type safety infrastructure, typed message contracts, and CI typecheck
- Add typecheck script for CI (bun turbo typecheck now covers kilo-vscode)
- Type-check both extension (src/) and webview (webview-ui/) code
- Extend ESLint to cover .tsx files and webview-ui/src/
- Add typed discriminated unions for agent-manager extension<->webview messages
- Replace Record<string, unknown> with AgentManagerOutMessage/AgentManagerInMessage
- Fix 14 empty catch blocks with proper logging
- Fix 16 pre-existing webview type errors (icons, i18n keys, null coercion, etc.)
- Add SolidJS sortable directive type declaration, remove @ts-ignore
- Fix missing CreateMultiVersionRequest.name and AgentManagerSetSessionModelMessage
* fix: wire typecheck into compile/package and restore i18n selectAgent key
- compile and package scripts now use typecheck (extension + webview) instead of check-types (extension only)
- Restore settings.agentBehaviour.selectAgent key in all locales (used by AgentBehaviourTab dropdown)
- Add the key to en.ts which was missing it
* add selectAgent.title and selectAgent.description i18n keys
* fix: remove onBack prop from ProfileView stories (prop removed upstream)
* fix: replace bash/grep typecheck scripts with cross-platform Bun script
Addresses PR review feedback — the bash -c pipelines in check-types:extension
and check-types:webview break on Windows. The new script/typecheck.ts runs
tsc and filters errors in JS, so typecheck works on all platforms.
The script uses Script.version (CLI version) for GitHub release upload,
not the extension's package.json version. Removed the unused variable
to avoid confusion.
The package.json already has version 7.x (6 more than CLI's 1.x).
When KILO_VERSION is set in the workflow, it contains the CLI version,
so we need to add 6 to match the vscode extension versioning.
- Split vscode publish script into build.ts and publish.ts
- Build script copies CLI binaries from dist artifacts instead of downloading
- VSIX packages renamed to kilo-vscode-{target}.vsix
- Added build-vscode job to publish.yml workflow
- VSCode publishing now part of main publish flow
- Removed standalone publish-vscode.yml workflow
- Add watch-cli.ts script that watches packages/opencode/src/ for changes,
triggers a rebuild (bun run build --single --skip-install), and copies
the new binary to packages/kilo-vscode/bin/kilo
- Add watch:cli npm script in kilo-vscode package.json
- Add 'VSCode - CLI Watch' task in .vscode/tasks.json
- Include CLI watch in the composite 'VSCode - Watch' task so it runs
automatically when launching the extension via F5