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
18 changes: 2 additions & 16 deletions packages/kilo-console/src/routes/config/state/agents.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type { AgentBuilderPreviewResponse, Model, Provider } from "@kilocode/sdk
import { previewAgent, saveAgent, type AgentPayload, type Scope, type Snapshot } from "../../../client"
import { useConfig } from "../../../context/config"
import { clean, friendly, sorted, toMode, toolCapabilities, toolName } from "../../../shared/utils"
import { choices } from "./models"
import { available, choices } from "./models"
import {
defaults,
defs,
Expand Down Expand Up @@ -43,12 +43,6 @@ export const snippets = [
"Run the smallest relevant validation checks and report any remaining failures.",
]

function order(a: Provider, b: Provider) {
if (a.id === "kilo") return -1
if (b.id === "kilo") return 1
return a.name.localeCompare(b.name)
}

function same(item: Item, ref: Favorite) {
if (item.provider.id === ref.providerID && item.model.id === ref.modelID) return true
return item.model.providerID === ref.providerID && item.model.id === ref.modelID
Expand Down Expand Up @@ -178,15 +172,7 @@ export function useAgentBuilder(agent?: Accessor<string | undefined>) {
const [search, setSearch] = createSignal("")
const [chosen, setChosen] = createSignal<string[]>([])

const providers = createMemo(() => {
const data = snap()
if (!data) return []
const ids = new Set([...Object.keys(data.effective.provider ?? {}), ...data.providers.connected])
return data.providers.all
.filter((provider) => ids.has(provider.id))
.filter((provider) => Object.keys(provider.models).length > 0)
.sort(order)
})
const providers = createMemo(() => available(snap()))

const all = createMemo(() => {
return providers().flatMap((provider) =>
Expand Down
21 changes: 11 additions & 10 deletions packages/kilo-console/src/routes/config/state/models.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { createMemo, createSignal } from "solid-js"
import type { Model, Provider } from "@kilocode/sdk/v2/client"
import { saveModelState, type ModelRef } from "../../../client"
import { saveModelState, type ModelRef, type Snapshot } from "../../../client"
import { useConfig } from "../../../context/config"
import { hasGateway, visible } from "./privacy"

Expand Down Expand Up @@ -52,6 +52,15 @@ function same(item: Item, ref: ModelRef) {
return item.model.providerID === ref.providerID && item.model.id === ref.modelID
}

export function available(data?: Snapshot) {
if (!data) return []
const ids = new Set([...Object.keys(data.effective.provider ?? {}), ...data.providers.connected])
return data.providers.all
.filter((provider) => ids.has(provider.id))
.filter((provider) => Object.keys(provider.models).length > 0)
.sort(order)
}

export function choices(search: string, items: Item[], fav: (item: Item) => boolean) {
const term = search.trim().toLowerCase()
return items
Expand Down Expand Up @@ -87,15 +96,7 @@ export function useModelSettings() {
const [picker, setPicker] = createSignal("")
const [choice, setChoice] = createSignal("")

const providers = createMemo(() => {
const data = snap()
if (!data) return []
const ids = new Set([...Object.keys(data.effective.provider ?? {}), ...data.providers.connected])
return data.providers.all
.filter((provider) => ids.has(provider.id))
.filter((provider) => Object.keys(provider.models).length > 0)
.sort(order)
})
const providers = createMemo(() => available(snap()))

const all = createMemo(() => {
return providers().flatMap((provider) =>
Expand Down
12 changes: 0 additions & 12 deletions script/kilocode-duplication-allowlist.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,18 +62,6 @@
"owner": "kilo-console",
"reason": "Existing duplication before the ratchet; remove through a focused, behavior-preserving extraction."
},
{
"files": [
"packages/kilo-console/src/routes/config/state/agents.ts",
"packages/kilo-console/src/routes/config/state/models.ts"
],
"fingerprint": "1da5f78ab9ff1975",
"maxMatches": 1,
"maxTokens": 164,
"kind": "legacy",
"owner": "kilo-console",
"reason": "Existing duplication before the ratchet; remove through a focused, behavior-preserving extraction."
},
{
"files": [
"packages/kilo-indexing/src/indexing/embedders/openai-compatible.ts",
Expand Down
Loading