diff --git a/packages/kilo-vscode/src/services/autocomplete/AutocompleteCodeActionProvider.ts b/packages/kilo-vscode/src/services/autocomplete/AutocompleteCodeActionProvider.ts index fde8fedea09..b94bb234d89 100644 --- a/packages/kilo-vscode/src/services/autocomplete/AutocompleteCodeActionProvider.ts +++ b/packages/kilo-vscode/src/services/autocomplete/AutocompleteCodeActionProvider.ts @@ -6,12 +6,20 @@ export class AutocompleteCodeActionProvider implements vscode.CodeActionProvider quickfix: vscode.CodeActionKind.QuickFix, } + private _enabled = false + + public set enabled(value: boolean) { + this._enabled = value + } + public provideCodeActions( document: vscode.TextDocument, range: vscode.Range | vscode.Selection, _context: vscode.CodeActionContext, _token: vscode.CancellationToken, ): vscode.ProviderResult<(vscode.CodeAction | vscode.Command)[]> { + if (!this._enabled) return [] + const action = new vscode.CodeAction( t("kilocode:autocomplete.codeAction.title"), this.providedCodeActionKinds["quickfix"], diff --git a/packages/kilo-vscode/src/services/autocomplete/AutocompleteServiceManager.ts b/packages/kilo-vscode/src/services/autocomplete/AutocompleteServiceManager.ts index 1beb1485ea4..8e70efc85be 100644 --- a/packages/kilo-vscode/src/services/autocomplete/AutocompleteServiceManager.ts +++ b/packages/kilo-vscode/src/services/autocomplete/AutocompleteServiceManager.ts @@ -120,6 +120,7 @@ export class AutocompleteServiceManager { public async load() { this.settings = readSettings() + this.codeActionProvider.enabled = this.settings?.enableSmartInlineTaskKeybinding ?? false if (this.settings.model) { this.model.setModel(this.settings.model) } diff --git a/packages/kilo-vscode/src/services/autocomplete/classic-auto-complete/AutocompleteInlineCompletionProvider.ts b/packages/kilo-vscode/src/services/autocomplete/classic-auto-complete/AutocompleteInlineCompletionProvider.ts index 01e51ac0095..0ed490fc911 100644 --- a/packages/kilo-vscode/src/services/autocomplete/classic-auto-complete/AutocompleteInlineCompletionProvider.ts +++ b/packages/kilo-vscode/src/services/autocomplete/classic-auto-complete/AutocompleteInlineCompletionProvider.ts @@ -91,18 +91,6 @@ export function applyFirstLineOnly( */ export const INLINE_COMPLETION_ACCEPTED_COMMAND = "kilocode.autocomplete.inline-completion.accepted" -export function countLines(text: string): number { - return _countLines(text) -} - -export function shouldShowOnlyFirstLine(prefix: string, suggestion: string): boolean { - return _shouldShowOnlyFirstLine(prefix, suggestion) -} - -export function getFirstLine(text: string): string { - return _getFirstLine(text) -} - export function stringToInlineCompletions(text: string, position: vscode.Position): vscode.InlineCompletionItem[] { if (text === "") { return [] diff --git a/packages/kilo-vscode/src/services/code-actions/code-action-provider.ts b/packages/kilo-vscode/src/services/code-actions/code-action-provider.ts index ddbaf025e87..d204521a0c3 100644 --- a/packages/kilo-vscode/src/services/code-actions/code-action-provider.ts +++ b/packages/kilo-vscode/src/services/code-actions/code-action-provider.ts @@ -23,7 +23,6 @@ export class KiloCodeActionProvider implements vscode.CodeActionProvider { if (hasDiagnostics) { const fix = new vscode.CodeAction("Fix with Kilo Code", vscode.CodeActionKind.QuickFix) fix.command = { command: "kilo-code.new.fixCode", title: "Fix with Kilo Code" } - fix.isPreferred = true actions.push(fix) } diff --git a/packages/kilo-vscode/tests/unit/code-action-provider.test.ts b/packages/kilo-vscode/tests/unit/code-action-provider.test.ts index 639c8fd2a09..07688c506a2 100644 --- a/packages/kilo-vscode/tests/unit/code-action-provider.test.ts +++ b/packages/kilo-vscode/tests/unit/code-action-provider.test.ts @@ -78,10 +78,10 @@ describe("KiloCodeActionProvider", () => { expect(result).toHaveLength(2) }) - it("Fix action is preferred", () => { + it("Fix action is not preferred so it does not hijack auto-fix", () => { const result = provider.provideCodeActions({} as never, makeRange(false) as never, makeContext(1) as never) const fix = result.find((a) => a.title === "Fix with Kilo Code") - expect(fix?.isPreferred).toBe(true) + expect(fix?.isPreferred).toBeFalsy() }) it("Fix action uses QuickFix kind", () => { diff --git a/packages/opencode/test/mcp/oauth-browser.test.ts b/packages/opencode/test/mcp/oauth-browser.test.ts index 62f611681fd..3c0155e4862 100644 --- a/packages/opencode/test/mcp/oauth-browser.test.ts +++ b/packages/opencode/test/mcp/oauth-browser.test.ts @@ -1,4 +1,4 @@ -import { test, expect, mock, beforeEach } from "bun:test" +import { test, expect, mock, beforeEach, afterEach } from "bun:test" // kilocode_change import { EventEmitter } from "events" import { Effect } from "effect" import type { MCP as MCPNS } from "../../src/mcp/index" @@ -108,6 +108,12 @@ beforeEach(() => { transportCalls.length = 0 }) +// kilocode_change start +afterEach(async () => { + await Instance.disposeAll() +}) +// kilocode_change end + // Import modules after mocking const { MCP } = await import("../../src/mcp/index") const { AppRuntime } = await import("../../src/effect/app-runtime") diff --git a/packages/opencode/test/session/prompt.test.ts b/packages/opencode/test/session/prompt.test.ts index 02a492cbb48..b256daf847d 100644 --- a/packages/opencode/test/session/prompt.test.ts +++ b/packages/opencode/test/session/prompt.test.ts @@ -1502,7 +1502,8 @@ unixSkip( ) // kilocode_change end -unix( +// kilocode_change start - TODO(#8990): flaky on Linux CI +unixSkip( "cancel finalizes interrupted bash tool output through normal truncation", () => provideTmpdirServer( @@ -1552,6 +1553,7 @@ unix( ), 30_000, ) +// kilocode_change end // kilocode_change start - TODO(#8990): flaky on Linux CI unixSkip(