@kilocode/sdk 7.2.6 → 7.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/v2/client.js CHANGED
@@ -75,5 +75,6 @@ export function createKiloClient(config) {
75
75
  directory: config?.directory,
76
76
  workspace: config?.experimental_workspaceID,
77
77
  }));
78
- return new KiloClient({ client });
78
+ const result = new KiloClient({ client });
79
+ return result;
79
80
  }
@@ -0,0 +1,9 @@
1
+ import type { Part, UserMessage } from "./client.js";
2
+ export declare const message: {
3
+ user(input: Omit<UserMessage, "role" | "time" | "id"> & {
4
+ parts: Omit<Part, "id" | "sessionID" | "messageID">[];
5
+ }): {
6
+ info: UserMessage;
7
+ parts: Part[];
8
+ };
9
+ };
@@ -0,0 +1,22 @@
1
+ export const message = {
2
+ user(input) {
3
+ const { parts, ...rest } = input;
4
+ const info = {
5
+ ...rest,
6
+ id: "asdasd",
7
+ time: {
8
+ created: Date.now(),
9
+ },
10
+ role: "user",
11
+ };
12
+ return {
13
+ info,
14
+ parts: input.parts.map((part) => ({
15
+ ...part,
16
+ id: "asdasd",
17
+ messageID: info.id,
18
+ sessionID: info.sessionID,
19
+ })),
20
+ };
21
+ },
22
+ };
@@ -28,6 +28,12 @@ export type EventProjectUpdated = {
28
28
  type: "project.updated";
29
29
  properties: Project;
30
30
  };
31
+ export type EventServerInstanceDisposed = {
32
+ type: "server.instance.disposed";
33
+ properties: {
34
+ directory: string;
35
+ };
36
+ };
31
37
  export type EventInstallationUpdated = {
32
38
  type: "installation.updated";
33
39
  properties: {
@@ -40,12 +46,6 @@ export type EventInstallationUpdateAvailable = {
40
46
  version: string;
41
47
  };
42
48
  };
43
- export type EventServerInstanceDisposed = {
44
- type: "server.instance.disposed";
45
- properties: {
46
- directory: string;
47
- };
48
- };
49
49
  export type EventServerConnected = {
50
50
  type: "server.connected";
51
51
  properties: {
@@ -167,6 +167,19 @@ export type EventMessagePartDelta = {
167
167
  delta: string;
168
168
  };
169
169
  };
170
+ export type EventSessionTurnOpen = {
171
+ type: "session.turn.open";
172
+ properties: {
173
+ sessionID: string;
174
+ };
175
+ };
176
+ export type EventSessionTurnClose = {
177
+ type: "session.turn.close";
178
+ properties: {
179
+ sessionID: string;
180
+ reason: "completed" | "error" | "interrupted";
181
+ };
182
+ };
170
183
  export type PermissionRequest = {
171
184
  id: string;
172
185
  sessionID: string;
@@ -193,6 +206,109 @@ export type EventPermissionReplied = {
193
206
  reply: "once" | "always" | "reject";
194
207
  };
195
208
  };
209
+ export type SnapshotFileDiff = {
210
+ file: string;
211
+ patch: string;
212
+ additions: number;
213
+ deletions: number;
214
+ status?: "added" | "deleted" | "modified";
215
+ };
216
+ export type EventSessionDiff = {
217
+ type: "session.diff";
218
+ properties: {
219
+ sessionID: string;
220
+ diff: Array<SnapshotFileDiff>;
221
+ };
222
+ };
223
+ export type ProviderAuthError = {
224
+ name: "ProviderAuthError";
225
+ data: {
226
+ providerID: string;
227
+ message: string;
228
+ };
229
+ };
230
+ export type UnknownError = {
231
+ name: "UnknownError";
232
+ data: {
233
+ message: string;
234
+ };
235
+ };
236
+ export type MessageOutputLengthError = {
237
+ name: "MessageOutputLengthError";
238
+ data: {
239
+ [key: string]: unknown;
240
+ };
241
+ };
242
+ export type MessageAbortedError = {
243
+ name: "MessageAbortedError";
244
+ data: {
245
+ message: string;
246
+ };
247
+ };
248
+ export type StructuredOutputError = {
249
+ name: "StructuredOutputError";
250
+ data: {
251
+ message: string;
252
+ retries: number;
253
+ };
254
+ };
255
+ export type ContextOverflowError = {
256
+ name: "ContextOverflowError";
257
+ data: {
258
+ message: string;
259
+ responseBody?: string;
260
+ };
261
+ };
262
+ export type ApiError = {
263
+ name: "APIError";
264
+ data: {
265
+ message: string;
266
+ statusCode?: number;
267
+ isRetryable: boolean;
268
+ responseHeaders?: {
269
+ [key: string]: string;
270
+ };
271
+ responseBody?: string;
272
+ metadata?: {
273
+ [key: string]: string;
274
+ };
275
+ };
276
+ };
277
+ export type EventSessionError = {
278
+ type: "session.error";
279
+ properties: {
280
+ sessionID?: string;
281
+ error?: ProviderAuthError | UnknownError | MessageOutputLengthError | MessageAbortedError | StructuredOutputError | ContextOverflowError | ApiError;
282
+ };
283
+ };
284
+ export type EventFileEdited = {
285
+ type: "file.edited";
286
+ properties: {
287
+ file: string;
288
+ };
289
+ };
290
+ export type EventFileWatcherUpdated = {
291
+ type: "file.watcher.updated";
292
+ properties: {
293
+ file: string;
294
+ event: "add" | "change" | "unlink";
295
+ };
296
+ };
297
+ export type EventVcsBranchUpdated = {
298
+ type: "vcs.branch.updated";
299
+ properties: {
300
+ branch?: string;
301
+ };
302
+ };
303
+ export type EventCommandExecuted = {
304
+ type: "command.executed";
305
+ properties: {
306
+ name: string;
307
+ sessionID: string;
308
+ arguments: string;
309
+ messageID: string;
310
+ };
311
+ };
196
312
  export type QuestionOption = {
197
313
  /**
198
314
  * Display text (1-5 words, concise)
@@ -278,19 +394,6 @@ export type EventTodoUpdated = {
278
394
  todos: Array<Todo>;
279
395
  };
280
396
  };
281
- export type EventSessionTurnOpen = {
282
- type: "session.turn.open";
283
- properties: {
284
- sessionID: string;
285
- };
286
- };
287
- export type EventSessionTurnClose = {
288
- type: "session.turn.close";
289
- properties: {
290
- sessionID: string;
291
- reason: "completed" | "error" | "interrupted";
292
- };
293
- };
294
397
  export type SessionStatus = {
295
398
  type: "idle";
296
399
  } | {
@@ -324,110 +427,6 @@ export type EventSessionCompacted = {
324
427
  sessionID: string;
325
428
  };
326
429
  };
327
- export type EventFileEdited = {
328
- type: "file.edited";
329
- properties: {
330
- file: string;
331
- };
332
- };
333
- export type EventFileWatcherUpdated = {
334
- type: "file.watcher.updated";
335
- properties: {
336
- file: string;
337
- event: "add" | "change" | "unlink";
338
- };
339
- };
340
- export type EventCommandExecuted = {
341
- type: "command.executed";
342
- properties: {
343
- name: string;
344
- sessionID: string;
345
- arguments: string;
346
- messageID: string;
347
- };
348
- };
349
- export type FileDiff = {
350
- file: string;
351
- before: string;
352
- after: string;
353
- additions: number;
354
- deletions: number;
355
- status?: "added" | "deleted" | "modified";
356
- };
357
- export type EventSessionDiff = {
358
- type: "session.diff";
359
- properties: {
360
- sessionID: string;
361
- diff: Array<FileDiff>;
362
- };
363
- };
364
- export type ProviderAuthError = {
365
- name: "ProviderAuthError";
366
- data: {
367
- providerID: string;
368
- message: string;
369
- };
370
- };
371
- export type UnknownError = {
372
- name: "UnknownError";
373
- data: {
374
- message: string;
375
- };
376
- };
377
- export type MessageOutputLengthError = {
378
- name: "MessageOutputLengthError";
379
- data: {
380
- [key: string]: unknown;
381
- };
382
- };
383
- export type MessageAbortedError = {
384
- name: "MessageAbortedError";
385
- data: {
386
- message: string;
387
- };
388
- };
389
- export type StructuredOutputError = {
390
- name: "StructuredOutputError";
391
- data: {
392
- message: string;
393
- retries: number;
394
- };
395
- };
396
- export type ContextOverflowError = {
397
- name: "ContextOverflowError";
398
- data: {
399
- message: string;
400
- responseBody?: string;
401
- };
402
- };
403
- export type ApiError = {
404
- name: "APIError";
405
- data: {
406
- message: string;
407
- statusCode?: number;
408
- isRetryable: boolean;
409
- responseHeaders?: {
410
- [key: string]: string;
411
- };
412
- responseBody?: string;
413
- metadata?: {
414
- [key: string]: string;
415
- };
416
- };
417
- };
418
- export type EventSessionError = {
419
- type: "session.error";
420
- properties: {
421
- sessionID?: string;
422
- error?: ProviderAuthError | UnknownError | MessageOutputLengthError | MessageAbortedError | StructuredOutputError | ContextOverflowError | ApiError;
423
- };
424
- };
425
- export type EventVcsBranchUpdated = {
426
- type: "vcs.branch.updated";
427
- properties: {
428
- branch?: string;
429
- };
430
- };
431
430
  export type EventKiloSessionsRemoteStatusChanged = {
432
431
  type: "kilo-sessions.remote-status-changed";
433
432
  properties: {
@@ -517,18 +516,18 @@ export type UserMessage = {
517
516
  summary?: {
518
517
  title?: string;
519
518
  body?: string;
520
- diffs: Array<FileDiff>;
519
+ diffs: Array<SnapshotFileDiff>;
521
520
  };
522
521
  agent: string;
523
522
  model: {
524
523
  providerID: string;
525
524
  modelID: string;
525
+ variant?: string;
526
526
  };
527
527
  system?: string;
528
528
  tools?: {
529
529
  [key: string]: boolean;
530
530
  };
531
- variant?: string;
532
531
  editorContext?: {
533
532
  visibleFiles?: Array<string>;
534
533
  openTabs?: Array<string>;
@@ -892,7 +891,7 @@ export type EventSessionDeleted = {
892
891
  info: Session;
893
892
  };
894
893
  };
895
- export type Event = EventProjectUpdated | EventInstallationUpdated | EventInstallationUpdateAvailable | EventServerInstanceDisposed | EventServerConnected | EventGlobalDisposed | EventGlobalConfigUpdated | EventLspClientDiagnostics | EventLspUpdated | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventMcpBrowserOpenFailed | EventSessionNetworkAsked | EventSessionNetworkReplied | EventSessionNetworkRejected | EventSessionNetworkRestored | EventMessagePartDelta | EventPermissionAsked | EventPermissionReplied | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected | EventTodoUpdated | EventSessionTurnOpen | EventSessionTurnClose | EventSessionStatus | EventSessionIdle | EventSessionCompacted | EventFileEdited | EventFileWatcherUpdated | EventCommandExecuted | EventSessionDiff | EventSessionError | EventVcsBranchUpdated | EventKiloSessionsRemoteStatusChanged | EventWorkspaceReady | EventWorkspaceFailed | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted | EventWorktreeReady | EventWorktreeFailed | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventSessionCreated | EventSessionUpdated | EventSessionDeleted;
894
+ export type Event = EventProjectUpdated | EventServerInstanceDisposed | EventInstallationUpdated | EventInstallationUpdateAvailable | EventServerConnected | EventGlobalDisposed | EventGlobalConfigUpdated | EventLspClientDiagnostics | EventLspUpdated | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventMcpBrowserOpenFailed | EventSessionNetworkAsked | EventSessionNetworkReplied | EventSessionNetworkRejected | EventSessionNetworkRestored | EventMessagePartDelta | EventSessionTurnOpen | EventSessionTurnClose | EventPermissionAsked | EventPermissionReplied | EventSessionDiff | EventSessionError | EventFileEdited | EventFileWatcherUpdated | EventVcsBranchUpdated | EventCommandExecuted | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected | EventTodoUpdated | EventSessionStatus | EventSessionIdle | EventSessionCompacted | EventKiloSessionsRemoteStatusChanged | EventWorkspaceReady | EventWorkspaceFailed | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted | EventWorktreeReady | EventWorktreeFailed | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventSessionCreated | EventSessionUpdated | EventSessionDeleted;
896
895
  export type GlobalEvent = {
897
896
  directory: string;
898
897
  payload: Event;
@@ -1101,6 +1100,29 @@ export type ProviderConfig = {
1101
1100
  env?: Array<string>;
1102
1101
  id?: string;
1103
1102
  npm?: string;
1103
+ whitelist?: Array<string>;
1104
+ blacklist?: Array<string>;
1105
+ options?: {
1106
+ apiKey?: string;
1107
+ baseURL?: string;
1108
+ /**
1109
+ * GitHub Enterprise URL for copilot authentication
1110
+ */
1111
+ enterpriseUrl?: string;
1112
+ /**
1113
+ * Enable promptCacheKey for this provider (default false)
1114
+ */
1115
+ setCacheKey?: boolean;
1116
+ /**
1117
+ * Timeout in milliseconds for requests to this provider. Default is 120000 (2 minutes). Set to false to disable timeout.
1118
+ */
1119
+ timeout?: number | false;
1120
+ /**
1121
+ * Timeout in milliseconds between streamed SSE chunks for this provider. If no chunk arrives within this window, the request is aborted.
1122
+ */
1123
+ chunkTimeout?: number;
1124
+ [key: string]: unknown | string | boolean | number | false | number | undefined;
1125
+ };
1104
1126
  models?: {
1105
1127
  [key: string]: {
1106
1128
  id?: string;
@@ -1135,22 +1157,18 @@ export type ProviderConfig = {
1135
1157
  input: Array<"text" | "audio" | "image" | "video" | "pdf">;
1136
1158
  output: Array<"text" | "audio" | "image" | "video" | "pdf">;
1137
1159
  };
1138
- recommendedIndex?: number;
1139
- prompt?: "codex" | "gemini" | "beast" | "anthropic" | "trinity" | "anthropic_without_todo";
1140
- isFree?: boolean;
1141
- ai_sdk_provider?: "anthropic" | "openai" | "openai-compatible" | "openrouter";
1142
1160
  experimental?: boolean;
1143
1161
  status?: "alpha" | "beta" | "deprecated";
1162
+ provider?: {
1163
+ npm?: string;
1164
+ api?: string;
1165
+ };
1144
1166
  options?: {
1145
1167
  [key: string]: unknown;
1146
1168
  };
1147
1169
  headers?: {
1148
1170
  [key: string]: string;
1149
1171
  };
1150
- provider?: {
1151
- npm?: string;
1152
- api?: string;
1153
- };
1154
1172
  /**
1155
1173
  * Variant-specific configuration
1156
1174
  */
@@ -1165,29 +1183,6 @@ export type ProviderConfig = {
1165
1183
  };
1166
1184
  };
1167
1185
  };
1168
- whitelist?: Array<string>;
1169
- blacklist?: Array<string>;
1170
- options?: {
1171
- apiKey?: string;
1172
- baseURL?: string;
1173
- /**
1174
- * GitHub Enterprise URL for copilot authentication
1175
- */
1176
- enterpriseUrl?: string;
1177
- /**
1178
- * Enable promptCacheKey for this provider (default false)
1179
- */
1180
- setCacheKey?: boolean;
1181
- /**
1182
- * Timeout in milliseconds for requests to this provider. Default is 120000 (2 minutes). Set to false to disable timeout.
1183
- */
1184
- timeout?: number | false;
1185
- /**
1186
- * Timeout in milliseconds between streamed SSE chunks for this provider. If no chunk arrives within this window, the request is aborted.
1187
- */
1188
- chunkTimeout?: number;
1189
- [key: string]: unknown | string | boolean | number | false | number | undefined;
1190
- };
1191
1186
  };
1192
1187
  export type McpLocalConfig = {
1193
1188
  /**
@@ -1226,6 +1221,10 @@ export type McpOAuthConfig = {
1226
1221
  * OAuth scopes to request during authorization
1227
1222
  */
1228
1223
  scope?: string;
1224
+ /**
1225
+ * OAuth redirect URI (default: http://127.0.0.1:19876/mcp/oauth/callback).
1226
+ */
1227
+ redirectUri?: string;
1229
1228
  };
1230
1229
  export type McpRemoteConfig = {
1231
1230
  /**
@@ -1422,6 +1421,15 @@ export type Config = {
1422
1421
  */
1423
1422
  url?: string;
1424
1423
  };
1424
+ /**
1425
+ * Configuration for AI-generated commit messages
1426
+ */
1427
+ commit_message?: {
1428
+ /**
1429
+ * Custom system prompt for AI commit message generation. When set, replaces the default conventional commits prompt entirely.
1430
+ */
1431
+ prompt?: string;
1432
+ };
1425
1433
  compaction?: {
1426
1434
  /**
1427
1435
  * Enable automatic compaction when context is full (default: true)
@@ -1619,11 +1627,12 @@ export type WorktreeResetInput = {
1619
1627
  };
1620
1628
  export type WorktreeDiffItem = {
1621
1629
  file: string;
1622
- before: string;
1623
- after: string;
1630
+ patch: string;
1624
1631
  additions: number;
1625
1632
  deletions: number;
1626
1633
  status?: "added" | "deleted" | "modified";
1634
+ before: string;
1635
+ after: string;
1627
1636
  tracked: boolean;
1628
1637
  generatedLike: boolean;
1629
1638
  summarized: boolean;
@@ -1829,6 +1838,13 @@ export type VcsInfo = {
1829
1838
  branch?: string;
1830
1839
  default_branch?: string;
1831
1840
  };
1841
+ export type VcsFileDiff = {
1842
+ file: string;
1843
+ patch: string;
1844
+ additions: number;
1845
+ deletions: number;
1846
+ status?: "added" | "deleted" | "modified";
1847
+ };
1832
1848
  export type Command = {
1833
1849
  name: string;
1834
1850
  description?: string;
@@ -2688,7 +2704,7 @@ export type WorktreeDiffResponses = {
2688
2704
  /**
2689
2705
  * File diffs
2690
2706
  */
2691
- 200: Array<FileDiff>;
2707
+ 200: Array<SnapshotFileDiff>;
2692
2708
  };
2693
2709
  export type WorktreeDiffResponse = WorktreeDiffResponses[keyof WorktreeDiffResponses];
2694
2710
  export type WorktreeDiffSummaryData = {
@@ -3213,7 +3229,7 @@ export type SessionDiffResponses = {
3213
3229
  /**
3214
3230
  * Successfully retrieved diff
3215
3231
  */
3216
- 200: Array<FileDiff>;
3232
+ 200: Array<SnapshotFileDiff>;
3217
3233
  };
3218
3234
  export type SessionDiffResponse = SessionDiffResponses[keyof SessionDiffResponses];
3219
3235
  export type SessionSummarizeData = {
@@ -3601,7 +3617,10 @@ export type SessionShellResponses = {
3601
3617
  /**
3602
3618
  * Created message
3603
3619
  */
3604
- 200: AssistantMessage;
3620
+ 200: {
3621
+ info: Message;
3622
+ parts: Array<Part>;
3623
+ };
3605
3624
  };
3606
3625
  export type SessionShellResponse = SessionShellResponses[keyof SessionShellResponses];
3607
3626
  export type SessionRevertData = {
@@ -3889,70 +3908,7 @@ export type ProviderListResponses = {
3889
3908
  * List of providers
3890
3909
  */
3891
3910
  200: {
3892
- all: Array<{
3893
- api?: string;
3894
- name: string;
3895
- env: Array<string>;
3896
- id: string;
3897
- npm?: string;
3898
- models: {
3899
- [key: string]: {
3900
- id: string;
3901
- name: string;
3902
- family?: string;
3903
- release_date: string;
3904
- attachment: boolean;
3905
- reasoning: boolean;
3906
- temperature: boolean;
3907
- tool_call: boolean;
3908
- interleaved?: true | {
3909
- field: "reasoning_content" | "reasoning_details";
3910
- };
3911
- cost?: {
3912
- input: number;
3913
- output: number;
3914
- cache_read?: number;
3915
- cache_write?: number;
3916
- context_over_200k?: {
3917
- input: number;
3918
- output: number;
3919
- cache_read?: number;
3920
- cache_write?: number;
3921
- };
3922
- };
3923
- limit: {
3924
- context: number;
3925
- input?: number;
3926
- output: number;
3927
- };
3928
- modalities?: {
3929
- input: Array<"text" | "audio" | "image" | "video" | "pdf">;
3930
- output: Array<"text" | "audio" | "image" | "video" | "pdf">;
3931
- };
3932
- recommendedIndex?: number;
3933
- prompt?: "codex" | "gemini" | "beast" | "anthropic" | "trinity" | "anthropic_without_todo";
3934
- isFree?: boolean;
3935
- ai_sdk_provider?: "anthropic" | "openai" | "openai-compatible" | "openrouter";
3936
- experimental?: boolean;
3937
- status?: "alpha" | "beta" | "deprecated";
3938
- options: {
3939
- [key: string]: unknown;
3940
- };
3941
- headers?: {
3942
- [key: string]: string;
3943
- };
3944
- provider?: {
3945
- npm?: string;
3946
- api?: string;
3947
- };
3948
- variants?: {
3949
- [key: string]: {
3950
- [key: string]: unknown;
3951
- };
3952
- };
3953
- };
3954
- };
3955
- }>;
3911
+ all: Array<Provider>;
3956
3912
  default: {
3957
3913
  [key: string]: string;
3958
3914
  };
@@ -4718,7 +4674,7 @@ export type VcsDiffResponses = {
4718
4674
  /**
4719
4675
  * VCS diff
4720
4676
  */
4721
- 200: Array<FileDiff>;
4677
+ 200: Array<VcsFileDiff>;
4722
4678
  };
4723
4679
  export type VcsDiffResponse = VcsDiffResponses[keyof VcsDiffResponses];
4724
4680
  export type CommandListData = {
@@ -1,6 +1,7 @@
1
1
  export * from "./client.js";
2
2
  export * from "./server.js";
3
3
  import type { ServerOptions } from "./server.js";
4
+ export * as data from "./data.js";
4
5
  export declare function createKilo(options?: ServerOptions): Promise<{
5
6
  client: import("./client.js").KiloClient;
6
7
  server: {
package/dist/v2/index.js CHANGED
@@ -2,6 +2,7 @@ export * from "./client.js";
2
2
  export * from "./server.js";
3
3
  import { createKiloClient } from "./client.js";
4
4
  import { createKiloServer } from "./server.js";
5
+ export * as data from "./data.js";
5
6
  export async function createKilo(options) {
6
7
  const server = await createKiloServer({
7
8
  ...options,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@kilocode/sdk",
4
- "version": "7.2.6",
4
+ "version": "7.2.8",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "scripts": {