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
4 changes: 3 additions & 1 deletion .changeset/brain-circuit-data-disclosure.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
"@kilocode/cli": patch
"@kilocode/kilo-jetbrains": patch
"kilo-code": patch
"@kilocode/kilo-ui": patch
---

Use a brain circuit icon for free-model data collection disclosures.
Clarify when free-model data may be used for training and identify it with a brain circuit icon.
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ model.picker.no.matches=No matching models
model.picker.favorite.add=Add to favorites
model.picker.favorite.remove=Remove from favorites
model.picker.free=Free
model.picker.dataCollected=Data collected
model.picker.dataCollected=Data may be used for training
model.picker.reset=Reset model to default
reasoning.picker.tooltip=Select reasoning effort

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,9 +158,9 @@ class ModelPickerTest : BasePlatformTestCase() {

picker.setItems(listOf(item("auto", "Auto Free", "kilo", "Kilo", free = true)))

assertFalse(picker.text.contains("Data collected"))
assertFalse(picker.text.contains("Data may be used for training"))
assertSame(ModelPickerIcons.DATA_COLLECTED, picker.icon)
assertEquals("Data collected", picker.toolTipText)
assertEquals("Data may be used for training", picker.toolTipText)
}

fun `test selected non-kilo free model does not indicate data collection`() {
Expand Down Expand Up @@ -282,7 +282,7 @@ class ModelPickerTest : BasePlatformTestCase() {
assertTrue(renderer.badgeVisible())
assertEquals("Free", renderer.badgeText())
assertTrue(renderer.warningVisible())
assertEquals("Data collected", renderer.warningTooltip())
assertEquals("Data may be used for training", renderer.warningTooltip())
}

fun `test renderer hides data collection warning for non-kilo free model`() {
Expand Down
4 changes: 2 additions & 2 deletions packages/kilo-vscode/tests/unit/model-selector-utils.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,12 +98,12 @@ describe("sanitizeName", () => {

describe("freeDataLabel", () => {
it("uses the data collection label without repeating free", () => {
expect(freeDataLabel("Free", "Data collected")).toBe("Data collected")
expect(freeDataLabel("Free", "Data may be used for training")).toBe("Data may be used for training")
})
})

describe("isDataCollectedModel", () => {
it("only marks free Kilo Gateway models as data collected", () => {
it("only marks free Kilo Gateway models with the training disclosure", () => {
expect(isDataCollectedModel({ providerID: KILO_GATEWAY_ID, isFree: true })).toBe(true)
expect(isDataCollectedModel({ providerID: "openrouter", isFree: true })).toBe(false)
expect(isDataCollectedModel({ providerID: KILO_GATEWAY_ID, isFree: false })).toBe(false)
Expand Down
2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/ar.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/br.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/bs.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/da.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/de.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ export const dict = {
"provider.disconnect.toast.disconnected.description": "{{provider}} models are no longer available.",

"model.tag.free": "Free",
"model.tag.dataCollected": "Data collected",
"model.tag.dataCollected": "Data may be used for training",
"model.tag.latest": "Latest",
"model.group.recommended": "Recommended",
"model.group.favorites": "Favorites",
Expand Down
2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/es.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/fr.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/it.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/ja.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/ko.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/nl.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/no.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/pl.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/ru.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/th.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/tr.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/uk.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/zh.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/kilo-vscode/webview-ui/src/i18n/zht.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
export const FreeModelDisclosure = {
label: "Data collected",
panel: "Free - data collected",
label: "May train",
panel: "Free - data may be used for training",
collectsData(model: { isFree?: boolean; api?: { npm?: string } }): boolean {
return model.isFree === true && model.api?.npm === "@kilocode/kilo-gateway"
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@ import { describe, expect, test } from "bun:test"
import { FreeModelDisclosure } from "../../src/kilocode/components/free-model-disclosure"

describe("FreeModelDisclosure", () => {
test("only Kilo Gateway free models collect data", () => {
test("uses compact CLI labels", () => {
expect(FreeModelDisclosure.label).toBe("May train")
expect(FreeModelDisclosure.panel).toBe("Free - data may be used for training")
})

test("only Kilo Gateway free models get the training disclosure", () => {
expect(
FreeModelDisclosure.collectsData({
isFree: true,
Expand Down
Loading