mirror of
https://github.com/cline/cline.git
synced 2026-09-24 23:20:16 +08:00
* feat: add image generation support * fix(llms): preserve mixed image model behavior * fix(llms): validate generated image models * fix(llms): preserve mixed image response streaming * fix(llms): preserve runtime tool ownership * fix(llms): address image generation review feedback * fix(desktop): relay images for attached hub sessions * chore(llms): regenerate provider and model catalog Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(vscode): preserve SDK model capabilities across the catalog boundary The new modelSupportsToolCalling gate treats a populated capability list without "tools" as authoritative. But the VS Code host round-trips model metadata through the legacy ModelInfo shape, and toSdkModelInfo reconstructed capability arrays from the legacy booleans alone — which have no "tools" projection. Every model with any capability flag set came back as "cannot call tools", so sessions registered zero tools and the file-edit e2e failed on all platforms (the editor tool call resolved to "Unknown tool" and the edit never reached disk). Fix, following the modalities-passthrough pattern so stacked capability PRs can reuse it: - Preserve the SDK capability list verbatim on legacy ModelInfo at the catalog boundary (adaptSdkModelInfo); union user overrides into it without ever fabricating a list from overrides alone. - Seed toSdkModelInfo from the preserved list, and when none survived, emit an explicit "tools" signal (honoring legacy supportsTools=false) so reconstructed arrays can never silently disable tool calling. - Add a shared modelHasCapability(model, capability, {assumeWhenUnspecified}) helper: missing or empty capability lists carry no signal and each check declares its own default. Future capability gates should route through it instead of reading model.capabilities directly. Verified: file-edit e2e (Single Root + Multi-Roots) passes locally; shared/core/llms/model-catalog/session-factory suites and typechecks pass. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * chore(llms): refresh generated model catalog --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
apps/examples/vscode (@cline/vscode)
VS Code extension that opens a chat webview and runs Cline sessions over the RPC runtime.
What it does
- Opens a webview panel via
Cline: Open Chat in Editor. - Ensures a compatible owner-scoped RPC sidecar by running
cline rpc ensure --json. - Starts/sends/aborts chat turns using RPC runtime methods (
StartRuntimeSession,SendRuntimeSession,AbortRuntimeSession). - Streams runtime events into the webview for incremental assistant output.
Requirements
clinemust already be installed and available onPATH.- A provider/model should be configured in Cline provider settings.
Development
# Build extension bundle
bun -F @cline/vscode build
# Typecheck
bun -F @cline/vscode typecheck
To run locally in VS Code:
- Build the extension:
bun -F @cline/vscode build. - Open
apps/examples/vscodein VS Code. - Press
F5to launch the Extension Development Host. - Run command
Cline: Open Chat in Editor.