Releases: CopilotKit/vscode-extension
Releases · CopilotKit/vscode-extension
vscode-extension-v0.2.3
Fixed
- Playground saved-replay sidebar: deleting a fixture file out of band (Explorer, terminal, git pull) now refreshes the sidebar within ~1 s via a Node
fs.watchon.copilotkit/fixtures/. The previousvscode.workspace.createFileSystemWatcherwas unreliable for dot-prefixed paths on Windows; the entry would stick around until the next reload. - Playground ▶ on a saved replay no longer drops the recorded conversation. The previous race posted
play-fixturebefore the new bundle'sPlaygroundChathad registered its replay listener; the App shell now unmounts the stale bundle synchronously onbundle-ready, queues the replay messages, and dispatches them after the new chat mounts (React runs child effects before parent effects on the same commit, so the listener is guaranteed to be attached). - Playground recovery: clicking ▶ on a fixture whose file has been deleted no longer permanently bricks the panel ("Preparing chat surface…" + ENOENT loop).
load-fixturenow reads the file before committingreplayFixturePath, refreshes the sidebar, and surfaces a one-shot warning. TherunBundlepass also recovers when the active fixture vanishes mid-session by falling back to record mode instead of crashing. - Playground Refresh button: always reconciles the saved-replays sidebar with disk at the start of every rebundle. Refresh is now a guaranteed manual recovery path even if the fs.watch misses an event.
- Playground chat with many
vscode.lmtools: some models (notably Claude through Copilot Chat with ~80+ tools forwarded) silently reject requests by returning 200 OK with an empty stream. The chat now auto-retries once without thevscode.lmtools so the user gets a real response on the same query. If both attempts return empty, an actionable in-chat message explains the cause and points at thecopilotkit.playground.enableVscodeLmToolssetting. - Playground stream translation: text content streamed as
LanguageModelDataPart(text/plain or application/json mimes) is surfaced asTEXT_MESSAGE_CONTENTinstead of being silently dropped. Newer Claude builds routed through Copilot Chat had been producing empty chats this way.
Added
- Playground output channel now logs unknown
vscode.lmstream-part types (constructor name + mime when applicable) so future model-side changes leave a breadcrumb instead of an empty chat.
vscode-extension-v0.2.2
Fixed
- Publish pipeline: dropped the dedicated
macos-13(Intel) runner; GitHub's Intel Mac queue is being wound down and routinely held publish runs for 1–4+ hours waiting for allocation. Thedarwin-x64matrix entry now runs onmacos-latest(M-series) and cross-installs x64 native bindings viapnpm --config.supportedArchitectures.cpu=x64before packaging —vsce package --targetonly stamps the manifest, so the .vsix's bindings come from whatever's innode_modules. Same four targets ship; allocation latency is gone.
Note
0.2.1was tagged but never reached the Marketplace — its publish run was held in queue waiting formacos-13allocation when it was cancelled.0.2.2is the first version that actually completes the platform-specific publish flow added in0.2.1.
vscode-extension-v0.2.0
Added
- Playground — embedded chat surface powered by
vscode.lmfor interacting with CopilotKit agents directly in the editor. - Playground scanner detects CopilotKit hooks and providers in your workspace, wires them into a local runtime, and hot-reloads on file saves.
- Fixture recording and replay — capture a conversation once, then re-run it deterministically for development and testing.
- Model picker via
vscode.lm.selectChatModelswith optionalvscode.lm.toolsforwarding. - Tailwind v4 compile pass in the playground bundler for user component CSS.
Fixed
- SSE error handling for
RUN_ERRORevents now uses sentinel-based detection instead of message string comparison. - Fixture store hardened: path traversal protection, version validation, name collision avoidance, corrupt file warnings.
- Anonymous default exports are now correctly included in the playground aggregator.
- Nested
UnserializableRefvalues in provider props are correctly inlined in codegen output.