Compare commits

...

7 Commits

Author SHA1 Message Date
Aiden Cline 090f638318 ignore
format / format (push) Has been cancelled
sdk / format (push) Has been cancelled
test / test (push) Has been cancelled
2025-12-09 16:29:55 -06:00
Aiden Cline 8f3f87943a fmt 2025-12-09 16:29:33 -06:00
Aiden Cline 7ac3f9182b fixes 2025-12-09 16:23:18 -06:00
Aiden Cline cda2138f24 fixes 2025-12-09 16:22:36 -06:00
Aiden Cline c4f8c6c005 fix 2025-12-09 15:59:03 -06:00
Aiden Cline 8304bd418f Merge branch 'dev' into interleaved-thinking 2025-12-09 15:54:28 -06:00
Aiden Cline 366b6e4fbb wip 2025-12-09 15:36:53 -06:00
12 changed files with 414 additions and 1219 deletions
+1 -3
View File
@@ -7,9 +7,7 @@
"instructions": ["STYLE_GUIDE.md"],
"provider": {
"opencode": {
"options": {
// "baseURL": "http://localhost:8080",
},
"options": {},
},
},
"mcp": {
-1
View File
@@ -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"
+9 -1
View File
@@ -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",
+10
View File
@@ -17,6 +17,16 @@ export namespace ModelsDev {
reasoning: z.boolean(),
temperature: z.boolean(),
tool_call: z.boolean(),
interleaved: z
.union([
z.literal(true),
z
.object({
field: z.enum(["reasoning_content", "reasoning_details"]),
})
.strict(),
])
.optional(),
cost: z
.object({
input: z.number(),
@@ -349,6 +349,12 @@ export namespace Provider {
video: z.boolean(),
pdf: z.boolean(),
}),
interleaved: z.union([
z.boolean(),
z.object({
field: z.enum(["reasoning_content", "reasoning_details"]),
}),
]),
}),
cost: z.object({
input: z.number(),
@@ -450,6 +456,7 @@ export namespace Provider {
video: model.modalities?.output?.includes("video") ?? false,
pdf: model.modalities?.output?.includes("pdf") ?? false,
},
interleaved: model.interleaved ?? false,
},
}
}
@@ -567,6 +574,7 @@ export namespace Provider {
video: model.modalities?.output?.includes("video") ?? existingModel?.capabilities.output.video ?? false,
pdf: model.modalities?.output?.includes("pdf") ?? existingModel?.capabilities.output.pdf ?? false,
},
interleaved: model.interleaved ?? false,
},
cost: {
input: model?.cost?.input ?? existingModel?.cost?.input ?? 0,
+17 -1
View File
@@ -273,7 +273,23 @@ export namespace ProviderTransform {
return options
}
export function providerOptions(model: Provider.Model, options: { [x: string]: any }) {
export function providerOptions(model: Provider.Model, options: { [x: string]: any }, messages: ModelMessage[]) {
if (model.capabilities.interleaved && typeof model.capabilities.interleaved === "object") {
const cot = []
const assistantMessages = messages.filter((msg) => msg.role === "assistant")
for (const msg of assistantMessages) {
for (const part of msg.content) {
if (typeof part === "string") {
continue
}
if (part.type === "reasoning") {
cot.push(part)
}
}
}
options[model.capabilities.interleaved.field] = cot
}
switch (model.api.npm) {
case "@ai-sdk/openai":
case "@ai-sdk/azure":
@@ -143,6 +143,7 @@ export namespace SessionCompaction {
providerOptions: ProviderTransform.providerOptions(
model,
pipe({}, mergeDeep(ProviderTransform.options(model, input.sessionID)), mergeDeep(model.options)),
[],
),
headers: model.headers,
abortSignal: input.abort,
+34 -33
View File
@@ -515,6 +515,37 @@ export namespace SessionPrompt {
})
}
const messages = [
...system.map(
(x): ModelMessage => ({
role: "system",
content: x,
}),
),
...MessageV2.toModelMessage(
msgs.filter((m) => {
if (m.info.role !== "assistant" || m.info.error === undefined) {
return true
}
if (
MessageV2.AbortedError.isInstance(m.info.error) &&
m.parts.some((part) => part.type !== "step-start" && part.type !== "reasoning")
) {
return true
}
return false
}),
),
...(isLastStep
? [
{
role: "assistant" as const,
content: MAX_STEPS,
},
]
: []),
]
const result = await processor.process({
onError(error) {
log.error("stream error", {
@@ -562,42 +593,12 @@ export namespace SessionPrompt {
OUTPUT_TOKEN_MAX,
),
abortSignal: abort,
providerOptions: ProviderTransform.providerOptions(model, params.options),
providerOptions: ProviderTransform.providerOptions(model, params.options, messages),
stopWhen: stepCountIs(1),
temperature: params.temperature,
topP: params.topP,
toolChoice: isLastStep ? "none" : undefined,
messages: [
...system.map(
(x): ModelMessage => ({
role: "system",
content: x,
}),
),
...MessageV2.toModelMessage(
msgs.filter((m) => {
if (m.info.role !== "assistant" || m.info.error === undefined) {
return true
}
if (
MessageV2.AbortedError.isInstance(m.info.error) &&
m.parts.some((part) => part.type !== "step-start" && part.type !== "reasoning")
) {
return true
}
return false
}),
),
...(isLastStep
? [
{
role: "assistant" as const,
content: MAX_STEPS,
},
]
: []),
],
messages,
tools: model.capabilities.toolcall === false ? undefined : tools,
model: wrapLanguageModel({
model: language,
@@ -1464,7 +1465,7 @@ export namespace SessionPrompt {
await generateText({
// use higher # for reasoning models since reasoning tokens eat up a lot of the budget
maxOutputTokens: small.capabilities.reasoning ? 3000 : 20,
providerOptions: ProviderTransform.providerOptions(small, options),
providerOptions: ProviderTransform.providerOptions(small, options, []),
messages: [
...SystemPrompt.title(small.providerID).map(
(x): ModelMessage => ({
+2 -2
View File
@@ -91,7 +91,7 @@ export namespace SessionSummary {
if (textPart && !userMsg.summary?.title) {
const result = await generateText({
maxOutputTokens: small.capabilities.reasoning ? 1500 : 20,
providerOptions: ProviderTransform.providerOptions(small, options),
providerOptions: ProviderTransform.providerOptions(small, options, []),
messages: [
...SystemPrompt.title(small.providerID).map(
(x): ModelMessage => ({
@@ -144,7 +144,7 @@ export namespace SessionSummary {
const result = await generateText({
model: language,
maxOutputTokens: 100,
providerOptions: ProviderTransform.providerOptions(small, options),
providerOptions: ProviderTransform.providerOptions(small, options, []),
messages: [
...SystemPrompt.summarize(small.providerID).map(
(x): ModelMessage => ({
@@ -130,6 +130,7 @@ describe("ProviderTransform.message - DeepSeek reasoning content", () => {
toolcall: true,
input: { text: true, audio: false, image: false, video: false, pdf: false },
output: { text: true, audio: false, image: false, video: false, pdf: false },
interleaved: false,
},
cost: {
input: 0.001,
@@ -184,6 +185,7 @@ describe("ProviderTransform.message - DeepSeek reasoning content", () => {
toolcall: true,
input: { text: true, audio: false, image: false, video: false, pdf: false },
output: { text: true, audio: false, image: false, video: false, pdf: false },
interleaved: false,
},
cost: {
input: 0.001,
@@ -236,6 +238,7 @@ describe("ProviderTransform.message - DeepSeek reasoning content", () => {
toolcall: true,
input: { text: true, audio: false, image: false, video: false, pdf: false },
output: { text: true, audio: false, image: false, video: false, pdf: false },
interleaved: false,
},
cost: {
input: 0.001,
@@ -281,6 +284,7 @@ describe("ProviderTransform.message - DeepSeek reasoning content", () => {
toolcall: true,
input: { text: true, audio: false, image: true, video: false, pdf: false },
output: { text: true, audio: false, image: false, video: false, pdf: false },
interleaved: false,
},
cost: {
input: 0.03,
+313 -1178
View File
@@ -416,10 +416,7 @@
"type": "number"
}
},
"required": [
"rows",
"cols"
]
"required": ["rows", "cols"]
}
}
}
@@ -997,9 +994,7 @@
],
"summary": "Get session",
"description": "Retrieve detailed information about a specific OpenCode session.",
"tags": [
"Session"
],
"tags": ["Session"],
"responses": {
"200": {
"description": "Get session",
@@ -1197,9 +1192,7 @@
}
],
"summary": "Get session children",
"tags": [
"Session"
],
"tags": ["Session"],
"description": "Retrieve all child sessions that were forked from the specified parent session.",
"responses": {
"200": {
@@ -1382,11 +1375,7 @@
"pattern": "^msg.*"
}
},
"required": [
"modelID",
"providerID",
"messageID"
]
"required": ["modelID", "providerID", "messageID"]
}
}
}
@@ -1784,10 +1773,7 @@
"type": "string"
}
},
"required": [
"providerID",
"modelID"
]
"required": ["providerID", "modelID"]
}
}
}
@@ -1850,10 +1836,7 @@
}
}
},
"required": [
"info",
"parts"
]
"required": ["info", "parts"]
}
}
}
@@ -1927,10 +1910,7 @@
}
}
},
"required": [
"info",
"parts"
]
"required": ["info", "parts"]
}
}
}
@@ -1976,10 +1956,7 @@
"type": "string"
}
},
"required": [
"providerID",
"modelID"
]
"required": ["providerID", "modelID"]
},
"agent": {
"type": "string"
@@ -2019,9 +1996,7 @@
}
}
},
"required": [
"parts"
]
"required": ["parts"]
}
}
}
@@ -2084,10 +2059,7 @@
}
}
},
"required": [
"info",
"parts"
]
"required": ["info", "parts"]
}
}
}
@@ -2189,10 +2161,7 @@
"type": "string"
}
},
"required": [
"providerID",
"modelID"
]
"required": ["providerID", "modelID"]
},
"agent": {
"type": "string"
@@ -2232,9 +2201,7 @@
}
}
},
"required": [
"parts"
]
"required": ["parts"]
}
}
}
@@ -2288,10 +2255,7 @@
}
}
},
"required": [
"info",
"parts"
]
"required": ["info", "parts"]
}
}
}
@@ -2340,10 +2304,7 @@
"type": "string"
}
},
"required": [
"arguments",
"command"
]
"required": ["arguments", "command"]
}
}
}
@@ -2430,19 +2391,13 @@
"type": "string"
}
},
"required": [
"providerID",
"modelID"
]
"required": ["providerID", "modelID"]
},
"command": {
"type": "string"
}
},
"required": [
"agent",
"command"
]
"required": ["agent", "command"]
}
}
}
@@ -2524,9 +2479,7 @@
"pattern": "^prt.*"
}
},
"required": [
"messageID"
]
"required": ["messageID"]
}
}
}
@@ -2671,16 +2624,10 @@
"properties": {
"response": {
"type": "string",
"enum": [
"once",
"always",
"reject"
]
"enum": ["once", "always", "reject"]
}
},
"required": [
"response"
]
"required": ["response"]
}
}
}
@@ -2768,10 +2715,7 @@
}
}
},
"required": [
"providers",
"default"
]
"required": ["providers", "default"]
}
}
}
@@ -2859,6 +2803,25 @@
"tool_call": {
"type": "boolean"
},
"interleaved": {
"anyOf": [
{
"type": "boolean",
"const": true
},
{
"type": "object",
"properties": {
"field": {
"type": "string",
"enum": ["reasoning_content", "reasoning_details"]
}
},
"required": ["field"],
"additionalProperties": false
}
]
},
"cost": {
"type": "object",
"properties": {
@@ -2890,16 +2853,10 @@
"type": "number"
}
},
"required": [
"input",
"output"
]
"required": ["input", "output"]
}
},
"required": [
"input",
"output"
]
"required": ["input", "output"]
},
"limit": {
"type": "object",
@@ -2911,10 +2868,7 @@
"type": "number"
}
},
"required": [
"context",
"output"
]
"required": ["context", "output"]
},
"modalities": {
"type": "object",
@@ -2923,44 +2877,25 @@
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"audio",
"image",
"video",
"pdf"
]
"enum": ["text", "audio", "image", "video", "pdf"]
}
},
"output": {
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"audio",
"image",
"video",
"pdf"
]
"enum": ["text", "audio", "image", "video", "pdf"]
}
}
},
"required": [
"input",
"output"
]
"required": ["input", "output"]
},
"experimental": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"alpha",
"beta",
"deprecated"
]
"enum": ["alpha", "beta", "deprecated"]
},
"options": {
"type": "object",
@@ -2985,9 +2920,7 @@
"type": "string"
}
},
"required": [
"npm"
]
"required": ["npm"]
}
},
"required": [
@@ -3004,12 +2937,7 @@
}
}
},
"required": [
"name",
"env",
"id",
"models"
]
"required": ["name", "env", "id", "models"]
}
},
"default": {
@@ -3028,11 +2956,7 @@
}
}
},
"required": [
"all",
"default",
"connected"
]
"required": ["all", "default", "connected"]
}
}
}
@@ -3145,9 +3069,7 @@
"type": "number"
}
},
"required": [
"method"
]
"required": ["method"]
}
}
}
@@ -3220,9 +3142,7 @@
"type": "string"
}
},
"required": [
"method"
]
"required": ["method"]
}
}
}
@@ -3274,9 +3194,7 @@
"type": "string"
}
},
"required": [
"text"
]
"required": ["text"]
},
"lines": {
"type": "object",
@@ -3285,9 +3203,7 @@
"type": "string"
}
},
"required": [
"text"
]
"required": ["text"]
},
"line_number": {
"type": "number"
@@ -3307,9 +3223,7 @@
"type": "string"
}
},
"required": [
"text"
]
"required": ["text"]
},
"start": {
"type": "number"
@@ -3318,21 +3232,11 @@
"type": "number"
}
},
"required": [
"match",
"start",
"end"
]
"required": ["match", "start", "end"]
}
}
},
"required": [
"path",
"lines",
"line_number",
"absolute_offset",
"submatches"
]
"required": ["path", "lines", "line_number", "absolute_offset", "submatches"]
}
}
}
@@ -3371,10 +3275,7 @@
"name": "dirs",
"schema": {
"type": "string",
"enum": [
"true",
"false"
]
"enum": ["true", "false"]
}
}
],
@@ -3621,12 +3522,7 @@
"level": {
"description": "Log level",
"type": "string",
"enum": [
"debug",
"info",
"error",
"warn"
]
"enum": ["debug", "info", "error", "warn"]
},
"message": {
"description": "Log message",
@@ -3641,11 +3537,7 @@
"additionalProperties": {}
}
},
"required": [
"service",
"level",
"message"
]
"required": ["service", "level", "message"]
}
}
}
@@ -3795,10 +3687,7 @@
]
}
},
"required": [
"name",
"config"
]
"required": ["name", "config"]
}
}
}
@@ -3846,9 +3735,7 @@
"type": "string"
}
},
"required": [
"authorizationUrl"
]
"required": ["authorizationUrl"]
}
}
}
@@ -3915,9 +3802,7 @@
"const": true
}
},
"required": [
"success"
]
"required": ["success"]
}
}
}
@@ -4006,9 +3891,7 @@
"type": "string"
}
},
"required": [
"code"
]
"required": ["code"]
}
}
}
@@ -4285,9 +4168,7 @@
"type": "string"
}
},
"required": [
"text"
]
"required": ["text"]
}
}
}
@@ -4550,9 +4431,7 @@
"type": "string"
}
},
"required": [
"command"
]
"required": ["command"]
}
}
}
@@ -4605,12 +4484,7 @@
},
"variant": {
"type": "string",
"enum": [
"info",
"success",
"warning",
"error"
]
"enum": ["info", "success", "warning", "error"]
},
"duration": {
"description": "Duration in milliseconds",
@@ -4618,10 +4492,7 @@
"type": "number"
}
},
"required": [
"message",
"variant"
]
"required": ["message", "variant"]
}
}
}
@@ -4724,10 +4595,7 @@
},
"body": {}
},
"required": [
"path",
"body"
]
"required": ["path", "body"]
}
}
}
@@ -4897,10 +4765,7 @@
"required": ["version"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.installation.update-available": {
"type": "object",
@@ -4916,15 +4781,10 @@
"type": "string"
}
},
"required": [
"version"
]
"required": ["version"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Project": {
"type": "object",
@@ -5001,10 +4861,7 @@
"required": ["directory"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.lsp.client.diagnostics": {
"type": "object",
@@ -5023,16 +4880,10 @@
"type": "string"
}
},
"required": [
"serverID",
"path"
]
"required": ["serverID", "path"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.lsp.updated": {
"type": "object",
@@ -5046,10 +4897,7 @@
"properties": {}
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"FileDiff": {
"type": "object",
@@ -5070,13 +4918,7 @@
"type": "number"
}
},
"required": [
"file",
"before",
"after",
"additions",
"deletions"
]
"required": ["file", "before", "after", "additions", "deletions"]
},
"UserMessage": {
"type": "object",
@@ -5098,9 +4940,7 @@
"type": "number"
}
},
"required": [
"created"
]
"required": ["created"]
},
"summary": {
"type": "object",
@@ -5118,9 +4958,7 @@
}
}
},
"required": [
"diffs"
]
"required": ["diffs"]
},
"agent": {
"type": "string"
@@ -5135,10 +4973,7 @@
"type": "string"
}
},
"required": [
"providerID",
"modelID"
]
"required": ["providerID", "modelID"]
},
"system": {
"type": "string"
@@ -5153,14 +4988,7 @@
}
}
},
"required": [
"id",
"sessionID",
"role",
"time",
"agent",
"model"
]
"required": ["id", "sessionID", "role", "time", "agent", "model"]
},
"ProviderAuthError": {
"type": "object",
@@ -5179,16 +5007,10 @@
"type": "string"
}
},
"required": [
"providerID",
"message"
]
"required": ["providerID", "message"]
}
},
"required": [
"name",
"data"
]
"required": ["name", "data"]
},
"UnknownError": {
"type": "object",
@@ -5204,15 +5026,10 @@
"type": "string"
}
},
"required": [
"message"
]
"required": ["message"]
}
},
"required": [
"name",
"data"
]
"required": ["name", "data"]
},
"MessageOutputLengthError": {
"type": "object",
@@ -5226,10 +5043,7 @@
"properties": {}
}
},
"required": [
"name",
"data"
]
"required": ["name", "data"]
},
"MessageAbortedError": {
"type": "object",
@@ -5245,15 +5059,10 @@
"type": "string"
}
},
"required": [
"message"
]
"required": ["message"]
}
},
"required": [
"name",
"data"
]
"required": ["name", "data"]
},
"APIError": {
"type": "object",
@@ -5287,16 +5096,10 @@
"type": "string"
}
},
"required": [
"message",
"isRetryable"
]
"required": ["message", "isRetryable"]
}
},
"required": [
"name",
"data"
]
"required": ["name", "data"]
},
"AssistantMessage": {
"type": "object",
@@ -5321,9 +5124,7 @@
"type": "number"
}
},
"required": [
"created"
]
"required": ["created"]
},
"error": {
"anyOf": [
@@ -5366,10 +5167,7 @@
"type": "string"
}
},
"required": [
"cwd",
"root"
]
"required": ["cwd", "root"]
},
"summary": {
"type": "boolean"
@@ -5399,18 +5197,10 @@
"type": "number"
}
},
"required": [
"read",
"write"
]
"required": ["read", "write"]
}
},
"required": [
"input",
"output",
"reasoning",
"cache"
]
"required": ["input", "output", "reasoning", "cache"]
},
"finish": {
"type": "string"
@@ -5454,15 +5244,10 @@
"$ref": "#/components/schemas/Message"
}
},
"required": [
"info"
]
"required": ["info"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.message.removed": {
"type": "object",
@@ -5481,16 +5266,10 @@
"type": "string"
}
},
"required": [
"sessionID",
"messageID"
]
"required": ["sessionID", "messageID"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"TextPart": {
"type": "object",
@@ -5527,9 +5306,7 @@
"type": "number"
}
},
"required": [
"start"
]
"required": ["start"]
},
"metadata": {
"type": "object",
@@ -5539,13 +5316,7 @@
"additionalProperties": {}
}
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"text"
]
"required": ["id", "sessionID", "messageID", "type", "text"]
},
"ReasoningPart": {
"type": "object",
@@ -5583,19 +5354,10 @@
"type": "number"
}
},
"required": [
"start"
]
"required": ["start"]
}
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"text",
"time"
]
"required": ["id", "sessionID", "messageID", "type", "text", "time"]
},
"FilePartSourceText": {
"type": "object",
@@ -5614,11 +5376,7 @@
"maximum": 9007199254740991
}
},
"required": [
"value",
"start",
"end"
]
"required": ["value", "start", "end"]
},
"FileSource": {
"type": "object",
@@ -5634,11 +5392,7 @@
"type": "string"
}
},
"required": [
"text",
"type",
"path"
]
"required": ["text", "type", "path"]
},
"Range": {
"type": "object",
@@ -5653,10 +5407,7 @@
"type": "number"
}
},
"required": [
"line",
"character"
]
"required": ["line", "character"]
},
"end": {
"type": "object",
@@ -5668,16 +5419,10 @@
"type": "number"
}
},
"required": [
"line",
"character"
]
"required": ["line", "character"]
}
},
"required": [
"start",
"end"
]
"required": ["start", "end"]
},
"SymbolSource": {
"type": "object",
@@ -5704,14 +5449,7 @@
"maximum": 9007199254740991
}
},
"required": [
"text",
"type",
"path",
"range",
"name",
"kind"
]
"required": ["text", "type", "path", "range", "name", "kind"]
},
"FilePartSource": {
"anyOf": [
@@ -5752,14 +5490,7 @@
"$ref": "#/components/schemas/FilePartSource"
}
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"mime",
"url"
]
"required": ["id", "sessionID", "messageID", "type", "mime", "url"]
},
"ToolStatePending": {
"type": "object",
@@ -5779,11 +5510,7 @@
"type": "string"
}
},
"required": [
"status",
"input",
"raw"
]
"required": ["status", "input", "raw"]
},
"ToolStateRunning": {
"type": "object",
@@ -5816,16 +5543,10 @@
"type": "number"
}
},
"required": [
"start"
]
"required": ["start"]
}
},
"required": [
"status",
"input",
"time"
]
"required": ["status", "input", "time"]
},
"ToolStateCompleted": {
"type": "object",
@@ -5867,10 +5588,7 @@
"type": "number"
}
},
"required": [
"start",
"end"
]
"required": ["start", "end"]
},
"attachments": {
"type": "array",
@@ -5879,14 +5597,7 @@
}
}
},
"required": [
"status",
"input",
"output",
"title",
"metadata",
"time"
]
"required": ["status", "input", "output", "title", "metadata", "time"]
},
"ToolStateError": {
"type": "object",
@@ -5922,18 +5633,10 @@
"type": "number"
}
},
"required": [
"start",
"end"
]
"required": ["start", "end"]
}
},
"required": [
"status",
"input",
"error",
"time"
]
"required": ["status", "input", "error", "time"]
},
"ToolState": {
"anyOf": [
@@ -5984,15 +5687,7 @@
"additionalProperties": {}
}
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"callID",
"tool",
"state"
]
"required": ["id", "sessionID", "messageID", "type", "callID", "tool", "state"]
},
"StepStartPart": {
"type": "object",
@@ -6014,12 +5709,7 @@
"type": "string"
}
},
"required": [
"id",
"sessionID",
"messageID",
"type"
]
"required": ["id", "sessionID", "messageID", "type"]
},
"StepFinishPart": {
"type": "object",
@@ -6068,29 +5758,13 @@
"type": "number"
}
},
"required": [
"read",
"write"
]
"required": ["read", "write"]
}
},
"required": [
"input",
"output",
"reasoning",
"cache"
]
"required": ["input", "output", "reasoning", "cache"]
}
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"reason",
"cost",
"tokens"
]
"required": ["id", "sessionID", "messageID", "type", "reason", "cost", "tokens"]
},
"SnapshotPart": {
"type": "object",
@@ -6112,13 +5786,7 @@
"type": "string"
}
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"snapshot"
]
"required": ["id", "sessionID", "messageID", "type", "snapshot"]
},
"PatchPart": {
"type": "object",
@@ -6146,14 +5814,7 @@
}
}
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"hash",
"files"
]
"required": ["id", "sessionID", "messageID", "type", "hash", "files"]
},
"AgentPart": {
"type": "object",
@@ -6191,20 +5852,10 @@
"maximum": 9007199254740991
}
},
"required": [
"value",
"start",
"end"
]
"required": ["value", "start", "end"]
}
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"name"
]
"required": ["id", "sessionID", "messageID", "type", "name"]
},
"RetryPart": {
"type": "object",
@@ -6235,20 +5886,10 @@
"type": "number"
}
},
"required": [
"created"
]
"required": ["created"]
}
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"attempt",
"error",
"time"
]
"required": ["id", "sessionID", "messageID", "type", "attempt", "error", "time"]
},
"CompactionPart": {
"type": "object",
@@ -6270,13 +5911,7 @@
"type": "boolean"
}
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"auto"
]
"required": ["id", "sessionID", "messageID", "type", "auto"]
},
"Part": {
"anyOf": [
@@ -6309,15 +5944,7 @@
"type": "string"
}
},
"required": [
"id",
"sessionID",
"messageID",
"type",
"prompt",
"description",
"agent"
]
"required": ["id", "sessionID", "messageID", "type", "prompt", "description", "agent"]
},
{
"$ref": "#/components/schemas/ReasoningPart"
@@ -6368,15 +5995,10 @@
"type": "string"
}
},
"required": [
"part"
]
"required": ["part"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.message.part.removed": {
"type": "object",
@@ -6398,17 +6020,10 @@
"type": "string"
}
},
"required": [
"sessionID",
"messageID",
"partID"
]
"required": ["sessionID", "messageID", "partID"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Permission": {
"type": "object",
@@ -6458,20 +6073,10 @@
"type": "number"
}
},
"required": [
"created"
]
"required": ["created"]
}
},
"required": [
"id",
"type",
"sessionID",
"messageID",
"title",
"metadata",
"time"
]
"required": ["id", "type", "sessionID", "messageID", "title", "metadata", "time"]
},
"Event.permission.updated": {
"type": "object",
@@ -6484,10 +6089,7 @@
"$ref": "#/components/schemas/Permission"
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.permission.replied": {
"type": "object",
@@ -6509,17 +6111,10 @@
"type": "string"
}
},
"required": [
"sessionID",
"permissionID",
"response"
]
"required": ["sessionID", "permissionID", "response"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"SessionStatus": {
"anyOf": [
@@ -6531,9 +6126,7 @@
"const": "idle"
}
},
"required": [
"type"
]
"required": ["type"]
},
{
"type": "object",
@@ -6552,12 +6145,7 @@
"type": "number"
}
},
"required": [
"type",
"attempt",
"message",
"next"
]
"required": ["type", "attempt", "message", "next"]
},
{
"type": "object",
@@ -6567,9 +6155,7 @@
"const": "busy"
}
},
"required": [
"type"
]
"required": ["type"]
}
]
},
@@ -6590,16 +6176,10 @@
"$ref": "#/components/schemas/SessionStatus"
}
},
"required": [
"sessionID",
"status"
]
"required": ["sessionID", "status"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.session.idle": {
"type": "object",
@@ -6615,15 +6195,10 @@
"type": "string"
}
},
"required": [
"sessionID"
]
"required": ["sessionID"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.session.compacted": {
"type": "object",
@@ -6639,15 +6214,10 @@
"type": "string"
}
},
"required": [
"sessionID"
]
"required": ["sessionID"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.file.edited": {
"type": "object",
@@ -6663,15 +6233,10 @@
"type": "string"
}
},
"required": [
"file"
]
"required": ["file"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Todo": {
"type": "object",
@@ -6693,12 +6258,7 @@
"type": "string"
}
},
"required": [
"content",
"status",
"priority",
"id"
]
"required": ["content", "status", "priority", "id"]
},
"Event.todo.updated": {
"type": "object",
@@ -6720,16 +6280,10 @@
}
}
},
"required": [
"sessionID",
"todos"
]
"required": ["sessionID", "todos"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.command.executed": {
"type": "object",
@@ -6756,18 +6310,10 @@
"pattern": "^msg.*"
}
},
"required": [
"name",
"sessionID",
"arguments",
"messageID"
]
"required": ["name", "sessionID", "arguments", "messageID"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Session": {
"type": "object",
@@ -6805,11 +6351,7 @@
}
}
},
"required": [
"additions",
"deletions",
"files"
]
"required": ["additions", "deletions", "files"]
},
"share": {
"type": "object",
@@ -6818,9 +6360,7 @@
"type": "string"
}
},
"required": [
"url"
]
"required": ["url"]
},
"title": {
"type": "string"
@@ -6841,10 +6381,7 @@
"type": "number"
}
},
"required": [
"created",
"updated"
]
"required": ["created", "updated"]
},
"revert": {
"type": "object",
@@ -6862,19 +6399,10 @@
"type": "string"
}
},
"required": [
"messageID"
]
"required": ["messageID"]
}
},
"required": [
"id",
"projectID",
"directory",
"title",
"version",
"time"
]
"required": ["id", "projectID", "directory", "title", "version", "time"]
},
"Event.session.created": {
"type": "object",
@@ -6890,15 +6418,10 @@
"$ref": "#/components/schemas/Session"
}
},
"required": [
"info"
]
"required": ["info"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.session.updated": {
"type": "object",
@@ -6914,15 +6437,10 @@
"$ref": "#/components/schemas/Session"
}
},
"required": [
"info"
]
"required": ["info"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.session.deleted": {
"type": "object",
@@ -6938,15 +6456,10 @@
"$ref": "#/components/schemas/Session"
}
},
"required": [
"info"
]
"required": ["info"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.session.diff": {
"type": "object",
@@ -6968,16 +6481,10 @@
}
}
},
"required": [
"sessionID",
"diff"
]
"required": ["sessionID", "diff"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.session.error": {
"type": "object",
@@ -7014,10 +6521,7 @@
}
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.file.watcher.updated": {
"type": "object",
@@ -7049,16 +6553,10 @@
]
}
},
"required": [
"file",
"event"
]
"required": ["file", "event"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.vcs.branch.updated": {
"type": "object",
@@ -7076,10 +6574,7 @@
}
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.tui.prompt.append": {
"type": "object",
@@ -7095,15 +6590,10 @@
"type": "string"
}
},
"required": [
"text"
]
"required": ["text"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.tui.command.execute": {
"type": "object",
@@ -7142,15 +6632,10 @@
]
}
},
"required": [
"command"
]
"required": ["command"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.tui.toast.show": {
"type": "object",
@@ -7170,12 +6655,7 @@
},
"variant": {
"type": "string",
"enum": [
"info",
"success",
"warning",
"error"
]
"enum": ["info", "success", "warning", "error"]
},
"duration": {
"description": "Duration in milliseconds",
@@ -7183,16 +6663,10 @@
"type": "number"
}
},
"required": [
"message",
"variant"
]
"required": ["message", "variant"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Pty": {
"type": "object",
@@ -7218,24 +6692,13 @@
},
"status": {
"type": "string",
"enum": [
"running",
"exited"
]
"enum": ["running", "exited"]
},
"pid": {
"type": "number"
}
},
"required": [
"id",
"title",
"command",
"args",
"cwd",
"status",
"pid"
]
"required": ["id", "title", "command", "args", "cwd", "status", "pid"]
},
"Event.pty.created": {
"type": "object",
@@ -7251,15 +6714,10 @@
"$ref": "#/components/schemas/Pty"
}
},
"required": [
"info"
]
"required": ["info"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.pty.updated": {
"type": "object",
@@ -7275,15 +6733,10 @@
"$ref": "#/components/schemas/Pty"
}
},
"required": [
"info"
]
"required": ["info"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.pty.exited": {
"type": "object",
@@ -7303,16 +6756,10 @@
"type": "number"
}
},
"required": [
"id",
"exitCode"
]
"required": ["id", "exitCode"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.pty.deleted": {
"type": "object",
@@ -7329,15 +6776,10 @@
"pattern": "^pty.*"
}
},
"required": [
"id"
]
"required": ["id"]
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event.server.connected": {
"type": "object",
@@ -7351,10 +6793,7 @@
"properties": {}
}
},
"required": [
"type",
"properties"
]
"required": ["type", "properties"]
},
"Event": {
"anyOf": [
@@ -7469,10 +6908,7 @@
"$ref": "#/components/schemas/Event"
}
},
"required": [
"directory",
"payload"
]
"required": ["directory", "payload"]
},
"BadRequestError": {
"type": "object",
@@ -7493,11 +6929,7 @@
"const": false
}
},
"required": [
"data",
"errors",
"success"
]
"required": ["data", "errors", "success"]
},
"NotFoundError": {
"type": "object",
@@ -7513,15 +6945,10 @@
"type": "string"
}
},
"required": [
"message"
]
"required": ["message"]
}
},
"required": [
"name",
"data"
]
"required": ["name", "data"]
},
"KeybindsConfig": {
"description": "Custom keybind configurations",
@@ -7788,11 +7215,7 @@
},
"mode": {
"type": "string",
"enum": [
"subagent",
"primary",
"all"
]
"enum": ["subagent", "primary", "all"]
},
"color": {
"description": "Hex color code for the agent (e.g., #FF5733)",
@@ -7810,21 +7233,13 @@
"properties": {
"edit": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
},
"bash": {
"anyOf": [
{
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
},
{
"type": "object",
@@ -7833,38 +7248,22 @@
},
"additionalProperties": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
}
}
]
},
"webfetch": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
},
"doom_loop": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
},
"external_directory": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
}
}
}
@@ -7921,6 +7320,25 @@
"tool_call": {
"type": "boolean"
},
"interleaved": {
"anyOf": [
{
"type": "boolean",
"const": true
},
{
"type": "object",
"properties": {
"field": {
"type": "string",
"enum": ["reasoning_content", "reasoning_details"]
}
},
"required": ["field"],
"additionalProperties": false
}
]
},
"cost": {
"type": "object",
"properties": {
@@ -7952,16 +7370,10 @@
"type": "number"
}
},
"required": [
"input",
"output"
]
"required": ["input", "output"]
}
},
"required": [
"input",
"output"
]
"required": ["input", "output"]
},
"limit": {
"type": "object",
@@ -7973,10 +7385,7 @@
"type": "number"
}
},
"required": [
"context",
"output"
]
"required": ["context", "output"]
},
"modalities": {
"type": "object",
@@ -7985,44 +7394,25 @@
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"audio",
"image",
"video",
"pdf"
]
"enum": ["text", "audio", "image", "video", "pdf"]
}
},
"output": {
"type": "array",
"items": {
"type": "string",
"enum": [
"text",
"audio",
"image",
"video",
"pdf"
]
"enum": ["text", "audio", "image", "video", "pdf"]
}
}
},
"required": [
"input",
"output"
]
"required": ["input", "output"]
},
"experimental": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"alpha",
"beta",
"deprecated"
]
"enum": ["alpha", "beta", "deprecated"]
},
"options": {
"type": "object",
@@ -8047,9 +7437,7 @@
"type": "string"
}
},
"required": [
"npm"
]
"required": ["npm"]
}
}
}
@@ -8141,10 +7529,7 @@
"maximum": 9007199254740991
}
},
"required": [
"type",
"command"
],
"required": ["type", "command"],
"additionalProperties": false
},
"McpOAuthConfig": {
@@ -8210,19 +7595,13 @@
"maximum": 9007199254740991
}
},
"required": [
"type",
"url"
],
"required": ["type", "url"],
"additionalProperties": false
},
"LayoutConfig": {
"description": "@deprecated Always uses stretch layout.",
"type": "string",
"enum": [
"auto",
"stretch"
]
"enum": ["auto", "stretch"]
},
"Config": {
"type": "object",
@@ -8256,17 +7635,12 @@
"type": "boolean"
}
},
"required": [
"enabled"
]
"required": ["enabled"]
},
"diff_style": {
"description": "Control diff rendering style: 'auto' adapts to terminal width, 'stacked' always shows single column",
"type": "string",
"enum": [
"auto",
"stacked"
]
"enum": ["auto", "stacked"]
}
}
},
@@ -8295,9 +7669,7 @@
"type": "boolean"
}
},
"required": [
"template"
]
"required": ["template"]
}
},
"watcher": {
@@ -8323,11 +7695,7 @@
"share": {
"description": "Control sharing behavior:'manual' allows manual sharing via commands, 'auto' enables automatic sharing, 'disabled' disables all sharing",
"type": "string",
"enum": [
"manual",
"auto",
"disabled"
]
"enum": ["manual", "auto", "disabled"]
},
"autoshare": {
"description": "@deprecated Use 'share' field instead. Share newly created sessions automatically",
@@ -8498,9 +7866,7 @@
"const": true
}
},
"required": [
"disabled"
]
"required": ["disabled"]
},
{
"type": "object",
@@ -8537,9 +7903,7 @@
"additionalProperties": {}
}
},
"required": [
"command"
]
"required": ["command"]
}
]
}
@@ -8561,21 +7925,13 @@
"properties": {
"edit": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
},
"bash": {
"anyOf": [
{
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
},
{
"type": "object",
@@ -8584,38 +7940,22 @@
},
"additionalProperties": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
}
}
]
},
"webfetch": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
},
"doom_loop": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
},
"external_directory": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
}
}
},
@@ -8669,9 +8009,7 @@
}
}
},
"required": [
"command"
]
"required": ["command"]
}
}
},
@@ -8696,9 +8034,7 @@
}
}
},
"required": [
"command"
]
"required": ["command"]
}
}
}
@@ -8747,11 +8083,7 @@
},
"parameters": {}
},
"required": [
"id",
"description",
"parameters"
]
"required": ["id", "description", "parameters"]
},
"ToolList": {
"type": "array",
@@ -8775,12 +8107,7 @@
"type": "string"
}
},
"required": [
"state",
"config",
"worktree",
"directory"
]
"required": ["state", "config", "worktree", "directory"]
},
"VcsInfo": {
"type": "object",
@@ -8789,9 +8116,7 @@
"type": "string"
}
},
"required": [
"branch"
]
"required": ["branch"]
},
"TextPartInput": {
"type": "object",
@@ -8822,9 +8147,7 @@
"type": "number"
}
},
"required": [
"start"
]
"required": ["start"]
},
"metadata": {
"type": "object",
@@ -8834,10 +8157,7 @@
"additionalProperties": {}
}
},
"required": [
"type",
"text"
]
"required": ["type", "text"]
},
"FilePartInput": {
"type": "object",
@@ -8862,11 +8182,7 @@
"$ref": "#/components/schemas/FilePartSource"
}
},
"required": [
"type",
"mime",
"url"
]
"required": ["type", "mime", "url"]
},
"AgentPartInput": {
"type": "object",
@@ -8898,17 +8214,10 @@
"maximum": 9007199254740991
}
},
"required": [
"value",
"start",
"end"
]
"required": ["value", "start", "end"]
}
},
"required": [
"type",
"name"
]
"required": ["type", "name"]
},
"SubtaskPartInput": {
"type": "object",
@@ -8930,12 +8239,7 @@
"type": "string"
}
},
"required": [
"type",
"prompt",
"description",
"agent"
]
"required": ["type", "prompt", "description", "agent"]
},
"Command": {
"type": "object",
@@ -8959,10 +8263,7 @@
"type": "boolean"
}
},
"required": [
"name",
"template"
]
"required": ["name", "template"]
},
"Model": {
"type": "object",
@@ -8986,11 +8287,7 @@
"type": "string"
}
},
"required": [
"id",
"url",
"npm"
]
"required": ["id", "url", "npm"]
},
"name": {
"type": "string"
@@ -9029,13 +8326,7 @@
"type": "boolean"
}
},
"required": [
"text",
"audio",
"image",
"video",
"pdf"
]
"required": ["text", "audio", "image", "video", "pdf"]
},
"output": {
"type": "object",
@@ -9056,23 +8347,27 @@
"type": "boolean"
}
},
"required": [
"text",
"audio",
"image",
"video",
"pdf"
"required": ["text", "audio", "image", "video", "pdf"]
},
"interleaved": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "object",
"properties": {
"field": {
"type": "string",
"enum": ["reasoning_content", "reasoning_details"]
}
},
"required": ["field"]
}
]
}
},
"required": [
"temperature",
"reasoning",
"attachment",
"toolcall",
"input",
"output"
]
"required": ["temperature", "reasoning", "attachment", "toolcall", "input", "output", "interleaved"]
},
"cost": {
"type": "object",
@@ -9093,10 +8388,7 @@
"type": "number"
}
},
"required": [
"read",
"write"
]
"required": ["read", "write"]
},
"experimentalOver200K": {
"type": "object",
@@ -9117,24 +8409,13 @@
"type": "number"
}
},
"required": [
"read",
"write"
]
"required": ["read", "write"]
}
},
"required": [
"input",
"output",
"cache"
]
"required": ["input", "output", "cache"]
}
},
"required": [
"input",
"output",
"cache"
]
"required": ["input", "output", "cache"]
},
"limit": {
"type": "object",
@@ -9146,19 +8427,11 @@
"type": "number"
}
},
"required": [
"context",
"output"
]
"required": ["context", "output"]
},
"status": {
"type": "string",
"enum": [
"alpha",
"beta",
"deprecated",
"active"
]
"enum": ["alpha", "beta", "deprecated", "active"]
},
"options": {
"type": "object",
@@ -9177,18 +8450,7 @@
}
}
},
"required": [
"id",
"providerID",
"api",
"name",
"capabilities",
"cost",
"limit",
"status",
"options",
"headers"
]
"required": ["id", "providerID", "api", "name", "capabilities", "cost", "limit", "status", "options", "headers"]
},
"Provider": {
"type": "object",
@@ -9201,12 +8463,7 @@
},
"source": {
"type": "string",
"enum": [
"env",
"config",
"custom",
"api"
]
"enum": ["env", "config", "custom", "api"]
},
"env": {
"type": "array",
@@ -9234,14 +8491,7 @@
}
}
},
"required": [
"id",
"name",
"source",
"env",
"options",
"models"
]
"required": ["id", "name", "source", "env", "options", "models"]
},
"ProviderAuthMethod": {
"type": "object",
@@ -9262,10 +8512,7 @@
"type": "string"
}
},
"required": [
"type",
"label"
]
"required": ["type", "label"]
},
"ProviderAuthAuthorization": {
"type": "object",
@@ -9289,11 +8536,7 @@
"type": "string"
}
},
"required": [
"url",
"method",
"instructions"
]
"required": ["url", "method", "instructions"]
},
"Symbol": {
"type": "object",
@@ -9314,17 +8557,10 @@
"$ref": "#/components/schemas/Range"
}
},
"required": [
"uri",
"range"
]
"required": ["uri", "range"]
}
},
"required": [
"name",
"kind",
"location"
]
"required": ["name", "kind", "location"]
},
"FileNode": {
"type": "object",
@@ -9340,22 +8576,13 @@
},
"type": {
"type": "string",
"enum": [
"file",
"directory"
]
"enum": ["file", "directory"]
},
"ignored": {
"type": "boolean"
}
},
"required": [
"name",
"path",
"absolute",
"type",
"ignored"
]
"required": ["name", "path", "absolute", "type", "ignored"]
},
"FileContent": {
"type": "object",
@@ -9409,24 +8636,14 @@
}
}
},
"required": [
"oldStart",
"oldLines",
"newStart",
"newLines",
"lines"
]
"required": ["oldStart", "oldLines", "newStart", "newLines", "lines"]
}
},
"index": {
"type": "string"
}
},
"required": [
"oldFileName",
"newFileName",
"hunks"
]
"required": ["oldFileName", "newFileName", "hunks"]
},
"encoding": {
"type": "string",
@@ -9436,10 +8653,7 @@
"type": "string"
}
},
"required": [
"type",
"content"
]
"required": ["type", "content"]
},
"File": {
"type": "object",
@@ -9459,19 +8673,10 @@
},
"status": {
"type": "string",
"enum": [
"added",
"deleted",
"modified"
]
"enum": ["added", "deleted", "modified"]
}
},
"required": [
"path",
"added",
"removed",
"status"
]
"required": ["path", "added", "removed", "status"]
},
"Agent": {
"type": "object",
@@ -9484,11 +8689,7 @@
},
"mode": {
"type": "string",
"enum": [
"subagent",
"primary",
"all"
]
"enum": ["subagent", "primary", "all"]
},
"builtIn": {
"type": "boolean"
@@ -9507,11 +8708,7 @@
"properties": {
"edit": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
},
"bash": {
"type": "object",
@@ -9520,42 +8717,23 @@
},
"additionalProperties": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
}
},
"webfetch": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
},
"doom_loop": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
},
"external_directory": {
"type": "string",
"enum": [
"ask",
"allow",
"deny"
]
"enum": ["ask", "allow", "deny"]
}
},
"required": [
"edit",
"bash"
]
"required": ["edit", "bash"]
},
"model": {
"type": "object",
@@ -9567,10 +8745,7 @@
"type": "string"
}
},
"required": [
"modelID",
"providerID"
]
"required": ["modelID", "providerID"]
},
"prompt": {
"type": "string"
@@ -9597,14 +8772,7 @@
"maximum": 9007199254740991
}
},
"required": [
"name",
"mode",
"builtIn",
"permission",
"tools",
"options"
]
"required": ["name", "mode", "builtIn", "permission", "tools", "options"]
},
"MCPStatusConnected": {
"type": "object",
@@ -9614,9 +8782,7 @@
"const": "connected"
}
},
"required": [
"status"
]
"required": ["status"]
},
"MCPStatusDisabled": {
"type": "object",
@@ -9626,9 +8792,7 @@
"const": "disabled"
}
},
"required": [
"status"
]
"required": ["status"]
},
"MCPStatusFailed": {
"type": "object",
@@ -9641,10 +8805,7 @@
"type": "string"
}
},
"required": [
"status",
"error"
]
"required": ["status", "error"]
},
"MCPStatusNeedsAuth": {
"type": "object",
@@ -9654,9 +8815,7 @@
"const": "needs_auth"
}
},
"required": [
"status"
]
"required": ["status"]
},
"MCPStatusNeedsClientRegistration": {
"type": "object",
@@ -9669,10 +8828,7 @@
"type": "string"
}
},
"required": [
"status",
"error"
]
"required": ["status", "error"]
},
"MCPStatus": {
"anyOf": [
@@ -9718,12 +8874,7 @@
]
}
},
"required": [
"id",
"name",
"root",
"status"
]
"required": ["id", "name", "root", "status"]
},
"FormatterStatus": {
"type": "object",
@@ -9741,11 +8892,7 @@
"type": "boolean"
}
},
"required": [
"name",
"extensions",
"enabled"
]
"required": ["name", "extensions", "enabled"]
},
"OAuth": {
"type": "object",
@@ -9767,12 +8914,7 @@
"type": "string"
}
},
"required": [
"type",
"refresh",
"access",
"expires"
]
"required": ["type", "refresh", "access", "expires"]
},
"ApiAuth": {
"type": "object",
@@ -9785,10 +8927,7 @@
"type": "string"
}
},
"required": [
"type",
"key"
]
"required": ["type", "key"]
},
"WellKnownAuth": {
"type": "object",
@@ -9804,11 +8943,7 @@
"type": "string"
}
},
"required": [
"type",
"key",
"token"
]
"required": ["type", "key", "token"]
},
"Auth": {
"anyOf": [
@@ -9825,4 +8960,4 @@
}
}
}
}
}
+15
View File
@@ -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
| {
field: "reasoning_content" | "reasoning_details"
}
}
cost: {
input: number
@@ -3026,6 +3036,11 @@ export type ProviderListResponses = {
reasoning: boolean
temperature: boolean
tool_call: boolean
interleaved?:
| true
| {
field: "reasoning_content" | "reasoning_details"
}
cost?: {
input: number
output: number