@kilocode/sdk 7.2.25 → 7.2.30

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.
@@ -390,43 +390,32 @@ export type EventCommandExecuted = {
390
390
  messageID: string;
391
391
  };
392
392
  };
393
- export type SuggestionAction = {
394
- /**
395
- * Button or option label (1-5 words)
396
- */
397
- label: string;
398
- /**
399
- * Brief explanation of what this action does
400
- */
401
- description?: string;
402
- /**
403
- * Synthetic user prompt to inject when this action is accepted
404
- */
405
- prompt: string;
406
- };
407
- export type SuggestionRequest = {
408
- id: string;
409
- sessionID: string;
410
- /**
411
- * Suggestion text shown to the user
412
- */
413
- text: string;
414
- /**
415
- * Available actions the user can take
416
- */
417
- actions: Array<SuggestionAction>;
418
- /**
419
- * Whether this suggestion blocks prompt input. When unset, the TUI treats the suggestion as blocking for backwards compatibility; the built-in suggest tool always sets this to false.
420
- */
421
- blocking?: boolean;
422
- tool?: {
423
- messageID: string;
424
- callID: string;
425
- };
426
- };
427
393
  export type EventSuggestionShown = {
428
394
  type: "suggestion.shown";
429
- properties: SuggestionRequest;
395
+ properties: {
396
+ id: string;
397
+ sessionID: string;
398
+ text: string;
399
+ actions: Array<{
400
+ /**
401
+ * Button or option label (1-5 words)
402
+ */
403
+ label: string;
404
+ /**
405
+ * Brief explanation of what this action does
406
+ */
407
+ description?: string;
408
+ /**
409
+ * Synthetic user prompt to inject when this action is accepted
410
+ */
411
+ prompt: string;
412
+ }>;
413
+ blocking?: boolean;
414
+ tool?: {
415
+ messageID: string;
416
+ callID: string;
417
+ };
418
+ };
430
419
  };
431
420
  export type EventSuggestionAccepted = {
432
421
  type: "suggestion.accepted";
@@ -434,7 +423,20 @@ export type EventSuggestionAccepted = {
434
423
  sessionID: string;
435
424
  requestID: string;
436
425
  index: number;
437
- action: SuggestionAction;
426
+ action: {
427
+ /**
428
+ * Button or option label (1-5 words)
429
+ */
430
+ label: string;
431
+ /**
432
+ * Brief explanation of what this action does
433
+ */
434
+ description?: string;
435
+ /**
436
+ * Synthetic user prompt to inject when this action is accepted
437
+ */
438
+ prompt: string;
439
+ };
438
440
  };
439
441
  };
440
442
  export type EventSuggestionDismissed = {
@@ -901,6 +903,7 @@ export type CompactionPart = {
901
903
  type: "compaction";
902
904
  auto: boolean;
903
905
  overflow?: boolean;
906
+ tail_start_id?: string;
904
907
  };
905
908
  export type Part = TextPart | SubtaskPart | ReasoningPart | FilePart | ToolPart | StepStartPart | StepFinishPart | SnapshotPart | PatchPart | AgentPart | RetryPart | CompactionPart;
906
909
  export type EventMessagePartUpdated = {
@@ -919,6 +922,12 @@ export type EventMessagePartRemoved = {
919
922
  partID: string;
920
923
  };
921
924
  };
925
+ export type SnapshotSummaryFileDiff = {
926
+ file: string;
927
+ additions: number;
928
+ deletions: number;
929
+ status?: "added" | "deleted" | "modified";
930
+ };
922
931
  export type PermissionAction = "allow" | "deny" | "ask";
923
932
  export type PermissionRule = {
924
933
  permission: string;
@@ -937,12 +946,7 @@ export type Session = {
937
946
  additions: number;
938
947
  deletions: number;
939
948
  files: number;
940
- diffs?: Array<{
941
- file: string;
942
- additions: number;
943
- deletions: number;
944
- status?: "added" | "deleted" | "modified";
945
- }>;
949
+ diffs?: Array<SnapshotSummaryFileDiff>;
946
950
  };
947
951
  share?: {
948
952
  url: string;
@@ -984,6 +988,20 @@ export type EventSessionDeleted = {
984
988
  info: Session;
985
989
  };
986
990
  };
991
+ export type IndexingStatusState = "Disabled" | "In Progress" | "Complete" | "Error" | "Standby";
992
+ export type IndexingStatus = {
993
+ state: IndexingStatusState;
994
+ message: string;
995
+ processedFiles: number;
996
+ totalFiles: number;
997
+ percent: number;
998
+ };
999
+ export type EventIndexingStatus = {
1000
+ type: "indexing.status";
1001
+ properties: {
1002
+ status: IndexingStatus;
1003
+ };
1004
+ };
987
1005
  export type SyncEventMessageUpdated = {
988
1006
  type: "sync";
989
1007
  name: "message.updated.1";
@@ -1050,36 +1068,31 @@ export type SyncEventSessionUpdated = {
1050
1068
  data: {
1051
1069
  sessionID: string;
1052
1070
  info: {
1053
- id: string | null;
1054
- slug: string | null;
1055
- projectID: string | null;
1056
- workspaceID: string | null;
1057
- directory: string | null;
1058
- parentID: string | null;
1059
- summary: {
1071
+ id?: string | null;
1072
+ slug?: string | null;
1073
+ projectID?: string | null;
1074
+ workspaceID?: string | null;
1075
+ directory?: string | null;
1076
+ parentID?: string | null;
1077
+ summary?: {
1060
1078
  additions: number;
1061
1079
  deletions: number;
1062
1080
  files: number;
1063
- diffs?: Array<{
1064
- file: string;
1065
- additions: number;
1066
- deletions: number;
1067
- status?: "added" | "deleted" | "modified";
1068
- }>;
1081
+ diffs?: Array<SnapshotSummaryFileDiff>;
1069
1082
  } | null;
1070
1083
  share?: {
1071
- url: string | null;
1084
+ url?: string | null;
1072
1085
  };
1073
- title: string | null;
1074
- version: string | null;
1086
+ title?: string | null;
1087
+ version?: string | null;
1075
1088
  time?: {
1076
- created: number | null;
1077
- updated: number | null;
1078
- compacting: number | null;
1079
- archived: number | null;
1089
+ created?: number | null;
1090
+ updated?: number | null;
1091
+ compacting?: number | null;
1092
+ archived?: number | null;
1080
1093
  };
1081
- permission: PermissionRuleset | null;
1082
- revert: {
1094
+ permission?: PermissionRuleset | null;
1095
+ revert?: {
1083
1096
  messageID: string;
1084
1097
  partID?: string;
1085
1098
  snapshot?: string;
@@ -1103,7 +1116,7 @@ export type GlobalEvent = {
1103
1116
  directory: string;
1104
1117
  project?: string;
1105
1118
  workspace?: string;
1106
- payload: EventProjectUpdated | EventServerInstanceDisposed | EventServerConnected | EventGlobalDisposed | EventGlobalConfigUpdated | EventFileEdited | EventFileWatcherUpdated | EventLspClientDiagnostics | EventLspUpdated | EventInstallationUpdated | EventInstallationUpdateAvailable | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventMcpBrowserOpenFailed | EventSessionNetworkAsked | EventSessionNetworkReplied | EventSessionNetworkRejected | EventSessionNetworkRestored | EventMessagePartDelta | EventPermissionAsked | EventPermissionReplied | EventSessionTurnOpen | EventSessionTurnClose | EventSessionDiff | EventSessionError | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected | EventCommandExecuted | EventSuggestionShown | EventSuggestionAccepted | EventSuggestionDismissed | EventSessionStatus | EventSessionIdle | EventTodoUpdated | EventVcsBranchUpdated | EventSessionCompacted | EventKiloSessionsRemoteStatusChanged | EventWorktreeReady | EventWorktreeFailed | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted | EventWorkspaceReady | EventWorkspaceFailed | EventWorkspaceRestore | EventWorkspaceStatus | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | SyncEventMessageUpdated | SyncEventMessageRemoved | SyncEventMessagePartUpdated | SyncEventMessagePartRemoved | SyncEventSessionCreated | SyncEventSessionUpdated | SyncEventSessionDeleted;
1119
+ payload: EventProjectUpdated | EventServerInstanceDisposed | EventServerConnected | EventGlobalDisposed | EventGlobalConfigUpdated | EventFileEdited | EventFileWatcherUpdated | EventLspClientDiagnostics | EventLspUpdated | EventInstallationUpdated | EventInstallationUpdateAvailable | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventMcpBrowserOpenFailed | EventSessionNetworkAsked | EventSessionNetworkReplied | EventSessionNetworkRejected | EventSessionNetworkRestored | EventMessagePartDelta | EventPermissionAsked | EventPermissionReplied | EventSessionTurnOpen | EventSessionTurnClose | EventSessionDiff | EventSessionError | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected | EventCommandExecuted | EventSuggestionShown | EventSuggestionAccepted | EventSuggestionDismissed | EventSessionStatus | EventSessionIdle | EventTodoUpdated | EventVcsBranchUpdated | EventSessionCompacted | EventKiloSessionsRemoteStatusChanged | EventWorktreeReady | EventWorktreeFailed | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted | EventWorkspaceReady | EventWorkspaceFailed | EventWorkspaceRestore | EventWorkspaceStatus | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | EventIndexingStatus | SyncEventMessageUpdated | SyncEventMessageRemoved | SyncEventMessagePartUpdated | SyncEventMessagePartRemoved | SyncEventSessionCreated | SyncEventSessionUpdated | SyncEventSessionDeleted;
1107
1120
  };
1108
1121
  /**
1109
1122
  * Log level
@@ -1134,13 +1147,123 @@ export type ServerConfig = {
1134
1147
  */
1135
1148
  cors?: Array<string>;
1136
1149
  };
1150
+ /**
1151
+ * Codebase indexing configuration
1152
+ */
1153
+ export type IndexingConfig = {
1154
+ /**
1155
+ * Enable codebase indexing
1156
+ */
1157
+ enabled?: boolean;
1158
+ /**
1159
+ * Embedding provider to use for codebase indexing
1160
+ */
1161
+ provider?: "openai" | "ollama" | "openai-compatible" | "gemini" | "mistral" | "vercel-ai-gateway" | "bedrock" | "openrouter" | "voyage";
1162
+ /**
1163
+ * Embedding model ID (uses provider default if omitted)
1164
+ */
1165
+ model?: string;
1166
+ /**
1167
+ * Override embedding vector dimension (auto-detected from model if omitted)
1168
+ */
1169
+ dimension?: number;
1170
+ /**
1171
+ * Vector store backend (default: qdrant)
1172
+ */
1173
+ vectorStore?: "lancedb" | "qdrant";
1174
+ /**
1175
+ * OpenAI embedding provider options
1176
+ */
1177
+ openai?: {
1178
+ apiKey?: string;
1179
+ };
1180
+ /**
1181
+ * Ollama embedding provider options
1182
+ */
1183
+ ollama?: {
1184
+ baseUrl?: string;
1185
+ };
1186
+ /**
1187
+ * OpenAI-compatible embedding provider options
1188
+ */
1189
+ "openai-compatible"?: {
1190
+ baseUrl?: string;
1191
+ apiKey?: string;
1192
+ };
1193
+ /**
1194
+ * Gemini embedding provider options
1195
+ */
1196
+ gemini?: {
1197
+ apiKey?: string;
1198
+ };
1199
+ /**
1200
+ * Mistral embedding provider options
1201
+ */
1202
+ mistral?: {
1203
+ apiKey?: string;
1204
+ };
1205
+ /**
1206
+ * Vercel AI Gateway embedding provider options
1207
+ */
1208
+ "vercel-ai-gateway"?: {
1209
+ apiKey?: string;
1210
+ };
1211
+ /**
1212
+ * AWS Bedrock embedding provider options
1213
+ */
1214
+ bedrock?: {
1215
+ region?: string;
1216
+ profile?: string;
1217
+ };
1218
+ /**
1219
+ * OpenRouter embedding provider options
1220
+ */
1221
+ openrouter?: {
1222
+ apiKey?: string;
1223
+ specificProvider?: string;
1224
+ };
1225
+ /**
1226
+ * Voyage embedding provider options
1227
+ */
1228
+ voyage?: {
1229
+ apiKey?: string;
1230
+ };
1231
+ /**
1232
+ * Qdrant vector store connection options
1233
+ */
1234
+ qdrant?: {
1235
+ url?: string;
1236
+ apiKey?: string;
1237
+ };
1238
+ /**
1239
+ * LanceDB vector store options
1240
+ */
1241
+ lancedb?: {
1242
+ directory?: string;
1243
+ };
1244
+ /**
1245
+ * Minimum similarity score for search results (default: 0.4)
1246
+ */
1247
+ searchMinScore?: number;
1248
+ /**
1249
+ * Maximum number of search results (default: 50)
1250
+ */
1251
+ searchMaxResults?: number;
1252
+ /**
1253
+ * Number of code segments per embedding batch (default: 60)
1254
+ */
1255
+ embeddingBatchSize?: number;
1256
+ /**
1257
+ * Maximum retry attempts for failed embedding batches (default: 3)
1258
+ */
1259
+ scannerMaxBatchRetries?: number;
1260
+ };
1137
1261
  export type PermissionActionConfig = "ask" | "allow" | "deny" | null;
1138
1262
  export type PermissionObjectConfig = {
1139
1263
  [key: string]: PermissionActionConfig;
1140
1264
  };
1141
1265
  export type PermissionRuleConfig = PermissionActionConfig | PermissionObjectConfig;
1142
- export type PermissionConfig = {
1143
- __originalKeys?: Array<string>;
1266
+ export type PermissionConfig = PermissionActionConfig | {
1144
1267
  read?: PermissionRuleConfig;
1145
1268
  edit?: PermissionRuleConfig;
1146
1269
  glob?: PermissionRuleConfig;
@@ -1157,8 +1280,8 @@ export type PermissionConfig = {
1157
1280
  lsp?: PermissionRuleConfig;
1158
1281
  doom_loop?: PermissionActionConfig;
1159
1282
  skill?: PermissionRuleConfig;
1160
- [key: string]: PermissionRuleConfig | Array<string> | PermissionActionConfig | undefined;
1161
- } | PermissionActionConfig;
1283
+ [key: string]: PermissionRuleConfig | PermissionActionConfig | undefined;
1284
+ };
1162
1285
  export type AgentConfig = {
1163
1286
  model?: string | null;
1164
1287
  /**
@@ -1439,6 +1562,7 @@ export type Config = {
1439
1562
  * Enable remote control of sessions via Kilo Cloud. Equivalent to running /remote on startup.
1440
1563
  */
1441
1564
  remote_control?: boolean;
1565
+ indexing?: IndexingConfig;
1442
1566
  /**
1443
1567
  * Model to use in the format of provider/model, eg anthropic/claude-2
1444
1568
  */
@@ -1542,6 +1666,19 @@ export type Config = {
1542
1666
  */
1543
1667
  prompt?: string;
1544
1668
  };
1669
+ /**
1670
+ * Thresholds for truncating tool output. When output exceeds either limit, the full text is written to the truncation directory and a preview is returned.
1671
+ */
1672
+ tool_output?: {
1673
+ /**
1674
+ * Maximum lines of tool output before it is truncated and saved to disk (default: 2000)
1675
+ */
1676
+ max_lines?: number;
1677
+ /**
1678
+ * Maximum bytes of tool output before it is truncated and saved to disk (default: 51200)
1679
+ */
1680
+ max_bytes?: number;
1681
+ };
1545
1682
  compaction?: {
1546
1683
  /**
1547
1684
  * Enable automatic compaction when context is full (default: true)
@@ -1551,6 +1688,14 @@ export type Config = {
1551
1688
  * Enable pruning of old tool outputs (default: true)
1552
1689
  */
1553
1690
  prune?: boolean;
1691
+ /**
1692
+ * Number of recent user turns, including their following assistant/tool responses, to keep verbatim during compaction (default: 2)
1693
+ */
1694
+ tail_turns?: number;
1695
+ /**
1696
+ * Maximum number of tokens from recent turns to preserve verbatim after compaction
1697
+ */
1698
+ preserve_recent_tokens?: number;
1554
1699
  /**
1555
1700
  * Token buffer for compaction. Leaves enough window to avoid overflow during compaction.
1556
1701
  */
@@ -1566,6 +1711,10 @@ export type Config = {
1566
1711
  * Enable AI-powered codebase search
1567
1712
  */
1568
1713
  codebase_search?: boolean;
1714
+ /**
1715
+ * Enable semantic codebase indexing and the semantic_search tool
1716
+ */
1717
+ semantic_indexing?: boolean;
1569
1718
  /**
1570
1719
  * Enable telemetry. Set to false to opt-out.
1571
1720
  */
@@ -1771,12 +1920,7 @@ export type GlobalSession = {
1771
1920
  additions: number;
1772
1921
  deletions: number;
1773
1922
  files: number;
1774
- diffs?: Array<{
1775
- file: string;
1776
- additions: number;
1777
- deletions: number;
1778
- status?: "added" | "deleted" | "modified";
1779
- }>;
1923
+ diffs?: Array<SnapshotSummaryFileDiff>;
1780
1924
  };
1781
1925
  share?: {
1782
1926
  url: string;
@@ -1926,7 +2070,7 @@ export type File = {
1926
2070
  removed: number;
1927
2071
  status: "added" | "deleted" | "modified";
1928
2072
  };
1929
- export type Event = EventProjectUpdated | EventServerInstanceDisposed | EventServerConnected | EventGlobalDisposed | EventGlobalConfigUpdated | EventFileEdited | EventFileWatcherUpdated | EventLspClientDiagnostics | EventLspUpdated | EventInstallationUpdated | EventInstallationUpdateAvailable | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventMcpBrowserOpenFailed | EventSessionNetworkAsked | EventSessionNetworkReplied | EventSessionNetworkRejected | EventSessionNetworkRestored | EventMessagePartDelta | EventPermissionAsked | EventPermissionReplied | EventSessionTurnOpen | EventSessionTurnClose | EventSessionDiff | EventSessionError | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected | EventCommandExecuted | EventSuggestionShown | EventSuggestionAccepted | EventSuggestionDismissed | EventSessionStatus | EventSessionIdle | EventTodoUpdated | EventVcsBranchUpdated | EventSessionCompacted | EventKiloSessionsRemoteStatusChanged | EventWorktreeReady | EventWorktreeFailed | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted | EventWorkspaceReady | EventWorkspaceFailed | EventWorkspaceRestore | EventWorkspaceStatus | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventSessionCreated | EventSessionUpdated | EventSessionDeleted;
2073
+ export type Event = EventProjectUpdated | EventServerInstanceDisposed | EventServerConnected | EventGlobalDisposed | EventGlobalConfigUpdated | EventFileEdited | EventFileWatcherUpdated | EventLspClientDiagnostics | EventLspUpdated | EventInstallationUpdated | EventInstallationUpdateAvailable | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventMcpBrowserOpenFailed | EventSessionNetworkAsked | EventSessionNetworkReplied | EventSessionNetworkRejected | EventSessionNetworkRestored | EventMessagePartDelta | EventPermissionAsked | EventPermissionReplied | EventSessionTurnOpen | EventSessionTurnClose | EventSessionDiff | EventSessionError | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected | EventCommandExecuted | EventSuggestionShown | EventSuggestionAccepted | EventSuggestionDismissed | EventSessionStatus | EventSessionIdle | EventTodoUpdated | EventVcsBranchUpdated | EventSessionCompacted | EventKiloSessionsRemoteStatusChanged | EventWorktreeReady | EventWorktreeFailed | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted | EventWorkspaceReady | EventWorkspaceFailed | EventWorkspaceRestore | EventWorkspaceStatus | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | EventIndexingStatus;
1930
2074
  export type McpStatusConnected = {
1931
2075
  status: "connected";
1932
2076
  };
@@ -2007,6 +2151,40 @@ export type FormatterStatus = {
2007
2151
  extensions: Array<string>;
2008
2152
  enabled: boolean;
2009
2153
  };
2154
+ export type SuggestionAction = {
2155
+ /**
2156
+ * Button or option label (1-5 words)
2157
+ */
2158
+ label: string;
2159
+ /**
2160
+ * Brief explanation of what this action does
2161
+ */
2162
+ description?: string;
2163
+ /**
2164
+ * Synthetic user prompt to inject when this action is accepted
2165
+ */
2166
+ prompt: string;
2167
+ };
2168
+ export type SuggestionRequest = {
2169
+ id: string;
2170
+ sessionID: string;
2171
+ /**
2172
+ * Suggestion text shown to the user
2173
+ */
2174
+ text: string;
2175
+ /**
2176
+ * Available actions the user can take
2177
+ */
2178
+ actions: Array<SuggestionAction>;
2179
+ /**
2180
+ * Whether this suggestion blocks prompt input. When unset, the TUI treats the suggestion as blocking for backwards compatibility; the built-in suggest tool always sets this to false.
2181
+ */
2182
+ blocking?: boolean;
2183
+ tool?: {
2184
+ messageID: string;
2185
+ callID: string;
2186
+ };
2187
+ };
2010
2188
  export type GlobalHealthData = {
2011
2189
  body?: never;
2012
2190
  path?: never;
@@ -5849,6 +6027,7 @@ export type KiloFimResponses = {
5849
6027
  delta?: {
5850
6028
  content?: string;
5851
6029
  };
6030
+ text?: string;
5852
6031
  }>;
5853
6032
  usage?: {
5854
6033
  prompt_tokens?: number;
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.25",
4
+ "version": "7.2.30",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "scripts": {