@@ -25,7 +25,6 @@ import { Provider } from "../provider/provider"
import { Installation } from "@/installation"
import { MessageV2 } from "@/session/message-v2"
import { Config } from "@/config/config"
-import { MCP } from "@/mcp"
import { Todo } from "@/session/todo"
import { z } from "zod"
import { LoadAPIKeyError } from "ai"
@@ -211,7 +211,15 @@ export namespace LSPServer {
export const Biome: Info = {
id: "biome",
- root: NearestRoot(["biome.json", "biome.jsonc", "package-lock.json", "bun.lockb", "bun.lock", "pnpm-lock.yaml", "yarn.lock"]),
+ root: NearestRoot([
+ "biome.json",
+ "biome.jsonc",
+ "package-lock.json",
+ "bun.lockb",
+ "bun.lock",
+ "pnpm-lock.yaml",
+ "yarn.lock",
+ ]),
extensions: [
".ts",
".tsx",
@@ -930,7 +930,7 @@ export namespace Provider {
}
const priority = ["gpt-5", "claude-sonnet-4", "big-pickle", "gemini-3-pro"]
- export function sort<T extends { id: string }>(models: T[]) {
+ export function sort(models: Model[]) {
return sortBy(
models,
[(model) => priority.findIndex((filter) => model.id.includes(filter)), "desc"],
@@ -1044,6 +1044,11 @@ export type ProviderConfig = {
reasoning?: boolean
temperature?: boolean
tool_call?: boolean
+ interleaved?:
+ | true
+ | {
+ field: "reasoning_content" | "reasoning_details"
+ }
cost?: {
input: number
output: number
@@ -1479,6 +1484,11 @@ export type Model = {
video: boolean
pdf: boolean
+ interleaved:
+ | boolean
cost: {
@@ -3026,6 +3036,11 @@ export type ProviderListResponses = {
reasoning: boolean
temperature: boolean
tool_call: boolean