Skip to content

Commit 92a756e

Browse files
committed
chore(sdk): refresh model usage API
1 parent 4786e38 commit 92a756e

2 files changed

Lines changed: 249 additions & 9 deletions

File tree

packages/sdk/js/src/v2/gen/types.gen.ts

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10182,7 +10182,7 @@ export type KiloProfileResponses = {
1018210182
currentPeriodBaseCreditsUsd: number
1018310183
currentPeriodUsageUsd: number
1018410184
currentPeriodBonusCreditsUsd: number
10185-
nextBillingAt?: string | null
10185+
nextBillingAt?: string
1018610186
} | null
1018710187
currentOrgId: string | null
1018810188
}
@@ -10897,6 +10897,70 @@ export type KilocodeNotebookRejectResponses = {
1089710897

1089810898
export type KilocodeNotebookRejectResponse = KilocodeNotebookRejectResponses[keyof KilocodeNotebookRejectResponses]
1089910899

10900+
export type KilocodeSessionModelUsageData = {
10901+
body?: never
10902+
path: {
10903+
sessionID: string
10904+
}
10905+
query?: {
10906+
directory?: string
10907+
workspace?: string
10908+
}
10909+
url: "/session/{sessionID}/model-usage"
10910+
}
10911+
10912+
export type KilocodeSessionModelUsageErrors = {
10913+
/**
10914+
* Bad request
10915+
*/
10916+
400: BadRequestError
10917+
/**
10918+
* Not found
10919+
*/
10920+
404: NotFoundError
10921+
}
10922+
10923+
export type KilocodeSessionModelUsageError = KilocodeSessionModelUsageErrors[keyof KilocodeSessionModelUsageErrors]
10924+
10925+
export type KilocodeSessionModelUsageResponses = {
10926+
/**
10927+
* Model usage for a session tree
10928+
*/
10929+
200: {
10930+
totals: {
10931+
steps: number
10932+
cost: number
10933+
tokens: {
10934+
input: number
10935+
output: number
10936+
reasoning: number
10937+
cache: {
10938+
read: number
10939+
write: number
10940+
}
10941+
}
10942+
}
10943+
models: Array<{
10944+
providerID: string
10945+
modelID: string
10946+
steps: number
10947+
cost: number
10948+
tokens: {
10949+
input: number
10950+
output: number
10951+
reasoning: number
10952+
cache: {
10953+
read: number
10954+
write: number
10955+
}
10956+
}
10957+
}>
10958+
}
10959+
}
10960+
10961+
export type KilocodeSessionModelUsageResponse =
10962+
KilocodeSessionModelUsageResponses[keyof KilocodeSessionModelUsageResponses]
10963+
1090010964
export type AnacondaDesktopStatusData = {
1090110965
body?: never
1090210966
path?: never

packages/sdk/openapi.json

Lines changed: 184 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13079,14 +13079,7 @@
1307913079
"type": "number"
1308013080
},
1308113081
"nextBillingAt": {
13082-
"anyOf": [
13083-
{
13084-
"type": "string"
13085-
},
13086-
{
13087-
"type": "null"
13088-
}
13089-
]
13082+
"type": "string"
1309013083
}
1309113084
},
1309213085
"required": [
@@ -15053,6 +15046,189 @@
1505315046
]
1505415047
}
1505515048
},
15049+
"/session/{sessionID}/model-usage": {
15050+
"get": {
15051+
"tags": ["kilocode"],
15052+
"operationId": "kilocode.sessionModelUsage",
15053+
"parameters": [
15054+
{
15055+
"name": "sessionID",
15056+
"in": "path",
15057+
"schema": {
15058+
"type": "string",
15059+
"pattern": "^ses.*"
15060+
},
15061+
"required": true
15062+
},
15063+
{
15064+
"name": "directory",
15065+
"in": "query",
15066+
"schema": {
15067+
"type": "string"
15068+
},
15069+
"required": false
15070+
},
15071+
{
15072+
"name": "workspace",
15073+
"in": "query",
15074+
"schema": {
15075+
"type": "string"
15076+
},
15077+
"required": false
15078+
}
15079+
],
15080+
"responses": {
15081+
"200": {
15082+
"description": "Model usage for a session tree",
15083+
"content": {
15084+
"application/json": {
15085+
"schema": {
15086+
"type": "object",
15087+
"properties": {
15088+
"totals": {
15089+
"type": "object",
15090+
"properties": {
15091+
"steps": {
15092+
"type": "integer",
15093+
"minimum": 0
15094+
},
15095+
"cost": {
15096+
"type": "number"
15097+
},
15098+
"tokens": {
15099+
"type": "object",
15100+
"properties": {
15101+
"input": {
15102+
"type": "integer",
15103+
"minimum": 0
15104+
},
15105+
"output": {
15106+
"type": "integer",
15107+
"minimum": 0
15108+
},
15109+
"reasoning": {
15110+
"type": "integer",
15111+
"minimum": 0
15112+
},
15113+
"cache": {
15114+
"type": "object",
15115+
"properties": {
15116+
"read": {
15117+
"type": "integer",
15118+
"minimum": 0
15119+
},
15120+
"write": {
15121+
"type": "integer",
15122+
"minimum": 0
15123+
}
15124+
},
15125+
"required": ["read", "write"],
15126+
"additionalProperties": false
15127+
}
15128+
},
15129+
"required": ["input", "output", "reasoning", "cache"],
15130+
"additionalProperties": false
15131+
}
15132+
},
15133+
"required": ["steps", "cost", "tokens"],
15134+
"additionalProperties": false
15135+
},
15136+
"models": {
15137+
"type": "array",
15138+
"items": {
15139+
"type": "object",
15140+
"properties": {
15141+
"providerID": {
15142+
"type": "string"
15143+
},
15144+
"modelID": {
15145+
"type": "string"
15146+
},
15147+
"steps": {
15148+
"type": "integer",
15149+
"minimum": 0
15150+
},
15151+
"cost": {
15152+
"type": "number"
15153+
},
15154+
"tokens": {
15155+
"type": "object",
15156+
"properties": {
15157+
"input": {
15158+
"type": "integer",
15159+
"minimum": 0
15160+
},
15161+
"output": {
15162+
"type": "integer",
15163+
"minimum": 0
15164+
},
15165+
"reasoning": {
15166+
"type": "integer",
15167+
"minimum": 0
15168+
},
15169+
"cache": {
15170+
"type": "object",
15171+
"properties": {
15172+
"read": {
15173+
"type": "integer",
15174+
"minimum": 0
15175+
},
15176+
"write": {
15177+
"type": "integer",
15178+
"minimum": 0
15179+
}
15180+
},
15181+
"required": ["read", "write"],
15182+
"additionalProperties": false
15183+
}
15184+
},
15185+
"required": ["input", "output", "reasoning", "cache"],
15186+
"additionalProperties": false
15187+
}
15188+
},
15189+
"required": ["providerID", "modelID", "steps", "cost", "tokens"],
15190+
"additionalProperties": false
15191+
}
15192+
}
15193+
},
15194+
"required": ["totals", "models"],
15195+
"additionalProperties": false,
15196+
"description": "Model usage for a session tree"
15197+
}
15198+
}
15199+
}
15200+
},
15201+
"400": {
15202+
"description": "Bad request",
15203+
"content": {
15204+
"application/json": {
15205+
"schema": {
15206+
"$ref": "#/components/schemas/BadRequestError"
15207+
}
15208+
}
15209+
}
15210+
},
15211+
"404": {
15212+
"description": "Not found",
15213+
"content": {
15214+
"application/json": {
15215+
"schema": {
15216+
"$ref": "#/components/schemas/NotFoundError"
15217+
}
15218+
}
15219+
}
15220+
}
15221+
},
15222+
"description": "Get token usage and direct cost by model for the complete top-level session tree.",
15223+
"summary": "Get session model usage",
15224+
"x-codeSamples": [
15225+
{
15226+
"lang": "js",
15227+
"source": "import { createKiloClient } from \"@kilocode/sdk\n\nconst client = createKiloClient()\nawait client.kilocode.sessionModelUsage({\n ...\n})"
15228+
}
15229+
]
15230+
}
15231+
},
1505615232
"/kilocode/anaconda-desktop/status": {
1505715233
"get": {
1505815234
"tags": ["anaconda-desktop"],

0 commit comments

Comments
 (0)