Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions .changeset/cmdv-image-paste-macos.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/crisp-rabbits-lick.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/enable-jetbrains-autocomplete.md

This file was deleted.

9 changes: 0 additions & 9 deletions .changeset/fix-vscode-paste-truncation.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/new-taxes-accept.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/smooth-wombats-stand.md

This file was deleted.

36 changes: 36 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,41 @@
# kilo-code

## 4.143.2

### Patch Changes

- [#4833](https://github.com/Kilo-Org/kilocode/pull/4833) [`2c7cd08`](https://github.com/Kilo-Org/kilocode/commit/2c7cd084bf4707eedda61fed554cf15fcc8b065b) Thanks [@sebastiand-cerebras](https://github.com/sebastiand-cerebras)! - Add `zai-glm-4.7` to Cerebras models

- [#4853](https://github.com/Kilo-Org/kilocode/pull/4853) [`435c879`](https://github.com/Kilo-Org/kilocode/commit/435c879a29d55b75f5f6ffe7bf14854630e085cb) Thanks [@chrarnoldus](https://github.com/chrarnoldus)! - Improved prompt caching when using Anthropic models on OpenRouter with native tool calling

- [#4859](https://github.com/Kilo-Org/kilocode/pull/4859) [`35fb2ad`](https://github.com/Kilo-Org/kilocode/commit/35fb2adc65dfb1e71e28f7368f96765062c43579) Thanks [@marius-kilocode](https://github.com/marius-kilocode)! - Fix Architect mode unnecessarily switching to Code mode to edit markdown files

- [#4829](https://github.com/Kilo-Org/kilocode/pull/4829) [`4e09e36`](https://github.com/Kilo-Org/kilocode/commit/4e09e36bba165a2ab6f5e07f71a420faa49ea3ec) Thanks [@marius-kilocode](https://github.com/marius-kilocode)! - Fix browser action results displaying raw base64 screenshot data as hexadecimal garbage

## 4.143.1

### Patch Changes

- [#4832](https://github.com/Kilo-Org/kilocode/pull/4832) [`22a4ebf`](https://github.com/Kilo-Org/kilocode/commit/22a4ebfcd9f885b6ef9979dc6830226db9a4f397) Thanks [@Drilmo](https://github.com/Drilmo)! - Support Cmd+V for pasting images on macOS in VSCode terminal

- Detect empty bracketed paste (when clipboard contains image instead of text)
- Trigger clipboard image check on empty paste or paste timeout
- Add Cmd+V (meta key) support alongside Ctrl+V for image paste

- [#3856](https://github.com/Kilo-Org/kilocode/pull/3856) [`91e0a17`](https://github.com/Kilo-Org/kilocode/commit/91e0a1788963b8be50c58881f11ded96516ab163) Thanks [@markijbema](https://github.com/markijbema)! - Faster autocomplete when using the Mistral provider

- [#4839](https://github.com/Kilo-Org/kilocode/pull/4839) [`abaada6`](https://github.com/Kilo-Org/kilocode/commit/abaada6b7ced6d3f4e37e69441e722e453289b81) Thanks [@markijbema](https://github.com/markijbema)! - Enable autocomplete by default in the JetBrains extension

- [#4831](https://github.com/Kilo-Org/kilocode/pull/4831) [`a9cbb2c`](https://github.com/Kilo-Org/kilocode/commit/a9cbb2cebd75e0c675dc3b55e7a1653ccb93921b) Thanks [@Drilmo](https://github.com/Drilmo)! - Fix paste truncation in VSCode terminal

- Prevent React StrictMode cleanup from interrupting paste operations
- Remove `completePaste()` and `clearBuffers()` from useEffect cleanup
- Paste buffer refs now persist across React re-mounts and flush properly when paste end marker is received

- [#4847](https://github.com/Kilo-Org/kilocode/pull/4847) [`8ee812a`](https://github.com/Kilo-Org/kilocode/commit/8ee812a18da5da691bf76ee5c5d9d94cfb678f25) Thanks [@chrarnoldus](https://github.com/chrarnoldus)! - Disable structured outputs for Anthropic models, because the tool schema doesn't yet support it

- [#4843](https://github.com/Kilo-Org/kilocode/pull/4843) [`0e3520a`](https://github.com/Kilo-Org/kilocode/commit/0e3520a0aa9a74f7a28af1f820558d2343fd4fba) Thanks [@markijbema](https://github.com/markijbema)! - Filter unhelpful suggestions in chat autocomplete

## 4.143.0

### Minor Changes
Expand Down
3 changes: 2 additions & 1 deletion apps/kilocode-docs/docs/providers/cerebras.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ Cerebras is known for their ultra-fast AI inference powered by the Cerebras CS-3
Kilo Code supports the following Cerebras models:

- `gpt-oss-120b` (Default) – High-performance open-source model optimized for fast inference
- `zai-glm-4.6` – Advanced GLM model with enhanced reasoning capabilities
- `zai-glm-4.6` – Fast general-purpose model on Cerebras (up to 1,000 tokens/s). To be deprecated soon.
- `zai-glm-4.7` – Highly capable general-purpose model on Cerebras (up to 1,000 tokens/s), competitive with leading proprietary models on coding tasks.

Refer to the [Cerebras documentation](https://docs.cerebras.ai/) for detailed information on model capabilities and performance characteristics.

Expand Down
6 changes: 6 additions & 0 deletions cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @kilocode/cli

## 0.19.2

### Patch Changes

- [#4829](https://github.com/Kilo-Org/kilocode/pull/4829) [`4e09e36`](https://github.com/Kilo-Org/kilocode/commit/4e09e36bba165a2ab6f5e07f71a420faa49ea3ec) Thanks [@marius-kilocode](https://github.com/marius-kilocode)! - Fix browser action results displaying raw base64 screenshot data as hexadecimal garbage

## 0.19.1

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ To build and run the CLI locally off your branch:
cd src
pnpm bundle
pnpm vsix
pnpm vsix:unpackged
pnpm vsix:unpacked
cd ..
```

Expand Down
2 changes: 1 addition & 1 deletion cli/package.dist.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@kilocode/cli",
"version": "0.19.1",
"version": "0.19.2",
"description": "Terminal User Interface for Kilo Code",
"type": "module",
"main": "index.js",
Expand Down
2 changes: 1 addition & 1 deletion cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@kilocode/cli",
"version": "0.19.1",
"version": "0.19.2",
"description": "Terminal User Interface for Kilo Code",
"type": "module",
"main": "dist/index.js",
Expand Down
106 changes: 99 additions & 7 deletions cli/src/ui/messages/extension/say/SayBrowserActionResultMessage.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,61 @@
import React from "react"
import { Box, Text } from "ink"
import type { MessageComponentProps } from "../types.js"
import { MarkdownText } from "../../../components/MarkdownText.js"
import { useTheme } from "../../../../state/hooks/useTheme.js"

/**
* Display browser action results
* Parsed browser action result data
*/
interface BrowserActionResultData {
screenshot?: string
logs?: string
currentUrl?: string
currentMousePosition?: string
viewportWidth?: number
viewportHeight?: number
}

/**
* Parse browser action result from message text
*/
function parseBrowserActionResult(text: string | undefined): BrowserActionResultData | null {
if (!text) return null
try {
return JSON.parse(text) as BrowserActionResultData
} catch {
return null
}
}

/**
* Display browser action results in a readable format
* Parses the JSON data and shows meaningful info instead of raw base64 screenshot data
*/
export const SayBrowserActionResultMessage: React.FC<MessageComponentProps> = ({ message }) => {
const theme = useTheme()
const result = parseBrowserActionResult(message.text)

// If we can't parse, show a simple message
if (!result) {
return (
<Box flexDirection="column" marginY={1}>
<Box>
<Text color={theme.semantic.info} bold>
🌐 Browser Action Result
</Text>
</Box>
<Box marginLeft={2} marginTop={1}>
<Text color={theme.ui.text.dimmed}>Browser action completed</Text>
</Box>
</Box>
)
}

const hasScreenshot = !!result.screenshot
const hasLogs = result.logs && result.logs.trim().length > 0
const hasUrl = !!result.currentUrl
const hasViewport = result.viewportWidth && result.viewportHeight

return (
<Box flexDirection="column" marginY={1}>
<Box>
Expand All @@ -17,11 +64,56 @@ export const SayBrowserActionResultMessage: React.FC<MessageComponentProps> = ({
</Text>
</Box>

{message.text && (
<Box marginLeft={2} marginTop={1}>
<MarkdownText>{message.text}</MarkdownText>
</Box>
)}
<Box flexDirection="column" marginLeft={2} marginTop={1}>
{/* Screenshot indicator */}
{hasScreenshot && (
<Box>
<Text color={theme.ui.text.dimmed}>📷 Screenshot captured</Text>
</Box>
)}

{/* Current URL */}
{hasUrl && (
<Box>
<Text color={theme.ui.text.dimmed}>
URL: <Text color={theme.markdown.link}>{result.currentUrl}</Text>
</Text>
</Box>
)}

{/* Viewport dimensions */}
{hasViewport && (
<Box>
<Text color={theme.ui.text.dimmed}>
Viewport: {result.viewportWidth}x{result.viewportHeight}
</Text>
</Box>
)}

{/* Cursor position */}
{result.currentMousePosition && (
<Box>
<Text color={theme.ui.text.dimmed}>Cursor: {result.currentMousePosition}</Text>
</Box>
)}

{/* Console logs */}
{hasLogs && (
<Box flexDirection="column" marginTop={1}>
<Text color={theme.ui.text.dimmed}>Console logs:</Text>
<Box marginLeft={2}>
<Text color={theme.ui.text.secondary}>{result.logs}</Text>
</Box>
</Box>
)}

{/* Fallback if no meaningful data */}
{!hasScreenshot && !hasLogs && !hasUrl && !hasViewport && (
<Box>
<Text color={theme.ui.text.dimmed}>Browser action completed</Text>
</Box>
)}
</Box>
</Box>
)
}
Loading
Loading