@opencode-ai/sdk 0.3.111 → 0.3.120

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.
@@ -1,37 +1,37 @@
1
1
  export type Event = ({
2
- type: 'installation.updated';
2
+ type: "installation.updated";
3
3
  } & EventInstallationUpdated) | ({
4
- type: 'lsp.client.diagnostics';
4
+ type: "lsp.client.diagnostics";
5
5
  } & EventLspClientDiagnostics) | ({
6
- type: 'message.updated';
6
+ type: "message.updated";
7
7
  } & EventMessageUpdated) | ({
8
- type: 'message.removed';
8
+ type: "message.removed";
9
9
  } & EventMessageRemoved) | ({
10
- type: 'message.part.updated';
10
+ type: "message.part.updated";
11
11
  } & EventMessagePartUpdated) | ({
12
- type: 'message.part.removed';
12
+ type: "message.part.removed";
13
13
  } & EventMessagePartRemoved) | ({
14
- type: 'storage.write';
14
+ type: "storage.write";
15
15
  } & EventStorageWrite) | ({
16
- type: 'permission.updated';
16
+ type: "file.edited";
17
+ } & EventFileEdited) | ({
18
+ type: "server.connected";
19
+ } & EventServerConnected) | ({
20
+ type: "permission.updated";
17
21
  } & EventPermissionUpdated) | ({
18
- type: 'permission.replied';
22
+ type: "permission.replied";
19
23
  } & EventPermissionReplied) | ({
20
- type: 'file.edited';
21
- } & EventFileEdited) | ({
22
- type: 'session.updated';
24
+ type: "session.updated";
23
25
  } & EventSessionUpdated) | ({
24
- type: 'session.deleted';
26
+ type: "session.deleted";
25
27
  } & EventSessionDeleted) | ({
26
- type: 'session.idle';
28
+ type: "session.idle";
27
29
  } & EventSessionIdle) | ({
28
- type: 'session.error';
30
+ type: "session.error";
29
31
  } & EventSessionError) | ({
30
- type: 'server.connected';
31
- } & EventServerConnected) | ({
32
- type: 'file.watcher.updated';
32
+ type: "file.watcher.updated";
33
33
  } & EventFileWatcherUpdated) | ({
34
- type: 'ide.installed';
34
+ type: "ide.installed";
35
35
  } & EventIdeInstalled);
36
36
  export type EventInstallationUpdated = {
37
37
  type: string;
@@ -53,9 +53,9 @@ export type EventMessageUpdated = {
53
53
  };
54
54
  };
55
55
  export type Message = ({
56
- role: 'user';
56
+ role: "user";
57
57
  } & UserMessage) | ({
58
- role: 'assistant';
58
+ role: "assistant";
59
59
  } & AssistantMessage);
60
60
  export type UserMessage = {
61
61
  id: string;
@@ -74,13 +74,13 @@ export type AssistantMessage = {
74
74
  completed?: number;
75
75
  };
76
76
  error?: ({
77
- name: 'ProviderAuthError';
77
+ name: "ProviderAuthError";
78
78
  } & ProviderAuthError) | ({
79
- name: 'UnknownError';
79
+ name: "UnknownError";
80
80
  } & UnknownError) | ({
81
- name: 'MessageOutputLengthError';
81
+ name: "MessageOutputLengthError";
82
82
  } & MessageOutputLengthError) | ({
83
- name: 'MessageAbortedError';
83
+ name: "MessageAbortedError";
84
84
  } & MessageAbortedError);
85
85
  system: Array<string>;
86
86
  modelID: string;
@@ -141,19 +141,19 @@ export type EventMessagePartUpdated = {
141
141
  };
142
142
  };
143
143
  export type Part = ({
144
- type: 'text';
144
+ type: "text";
145
145
  } & TextPart) | ({
146
- type: 'file';
146
+ type: "file";
147
147
  } & FilePart) | ({
148
- type: 'tool';
148
+ type: "tool";
149
149
  } & ToolPart) | ({
150
- type: 'step-start';
150
+ type: "step-start";
151
151
  } & StepStartPart) | ({
152
- type: 'step-finish';
152
+ type: "step-finish";
153
153
  } & StepFinishPart) | ({
154
- type: 'snapshot';
154
+ type: "snapshot";
155
155
  } & SnapshotPart) | ({
156
- type: 'patch';
156
+ type: "patch";
157
157
  } & PatchPart);
158
158
  export type TextPart = {
159
159
  id: string;
@@ -178,9 +178,9 @@ export type FilePart = {
178
178
  source?: FilePartSource;
179
179
  };
180
180
  export type FilePartSource = ({
181
- type: 'file';
181
+ type: "file";
182
182
  } & FileSource) | ({
183
- type: 'symbol';
183
+ type: "symbol";
184
184
  } & SymbolSource);
185
185
  export type FileSource = {
186
186
  text: FilePartSourceText;
@@ -220,13 +220,13 @@ export type ToolPart = {
220
220
  state: ToolState;
221
221
  };
222
222
  export type ToolState = ({
223
- status: 'pending';
223
+ status: "pending";
224
224
  } & ToolStatePending) | ({
225
- status: 'running';
225
+ status: "running";
226
226
  } & ToolStateRunning) | ({
227
- status: 'completed';
227
+ status: "completed";
228
228
  } & ToolStateCompleted) | ({
229
- status: 'error';
229
+ status: "error";
230
230
  } & ToolStateError);
231
231
  export type ToolStatePending = {
232
232
  status: string;
@@ -320,6 +320,18 @@ export type EventStorageWrite = {
320
320
  content?: unknown;
321
321
  };
322
322
  };
323
+ export type EventFileEdited = {
324
+ type: string;
325
+ properties: {
326
+ file: string;
327
+ };
328
+ };
329
+ export type EventServerConnected = {
330
+ type: string;
331
+ properties: {
332
+ [key: string]: unknown;
333
+ };
334
+ };
323
335
  export type EventPermissionUpdated = {
324
336
  type: string;
325
337
  properties: Permission;
@@ -347,12 +359,6 @@ export type EventPermissionReplied = {
347
359
  response: string;
348
360
  };
349
361
  };
350
- export type EventFileEdited = {
351
- type: string;
352
- properties: {
353
- file: string;
354
- };
355
- };
356
362
  export type EventSessionUpdated = {
357
363
  type: string;
358
364
  properties: {
@@ -395,22 +401,16 @@ export type EventSessionError = {
395
401
  properties: {
396
402
  sessionID?: string;
397
403
  error?: ({
398
- name: 'ProviderAuthError';
404
+ name: "ProviderAuthError";
399
405
  } & ProviderAuthError) | ({
400
- name: 'UnknownError';
406
+ name: "UnknownError";
401
407
  } & UnknownError) | ({
402
- name: 'MessageOutputLengthError';
408
+ name: "MessageOutputLengthError";
403
409
  } & MessageOutputLengthError) | ({
404
- name: 'MessageAbortedError';
410
+ name: "MessageAbortedError";
405
411
  } & MessageAbortedError);
406
412
  };
407
413
  };
408
- export type EventServerConnected = {
409
- type: string;
410
- properties: {
411
- [key: string]: unknown;
412
- };
413
- };
414
414
  export type EventFileWatcherUpdated = {
415
415
  type: string;
416
416
  properties: {
@@ -448,10 +448,11 @@ export type Config = {
448
448
  */
449
449
  theme?: string;
450
450
  keybinds?: KeybindsConfig;
451
+ plugin?: Array<string>;
451
452
  /**
452
453
  * Control sharing behavior:'manual' allows manual sharing via commands, 'auto' enables automatic sharing, 'disabled' disables all sharing
453
454
  */
454
- share?: 'manual' | 'auto' | 'disabled';
455
+ share?: "manual" | "auto" | "disabled";
455
456
  /**
456
457
  * @deprecated Use 'share' field instead. Share newly created sessions automatically
457
458
  */
@@ -537,9 +538,9 @@ export type Config = {
537
538
  */
538
539
  mcp?: {
539
540
  [key: string]: ({
540
- type: 'local';
541
+ type: "local";
541
542
  } & McpLocalConfig) | ({
542
- type: 'remote';
543
+ type: "remote";
543
544
  } & McpRemoteConfig);
544
545
  };
545
546
  formatter?: {
@@ -552,6 +553,21 @@ export type Config = {
552
553
  extensions?: Array<string>;
553
554
  };
554
555
  };
556
+ lsp?: {
557
+ [key: string]: {
558
+ disabled: boolean;
559
+ } | {
560
+ command: Array<string>;
561
+ extensions?: Array<string>;
562
+ disabled?: boolean;
563
+ env?: {
564
+ [key: string]: string;
565
+ };
566
+ initialization?: {
567
+ [key: string]: unknown;
568
+ };
569
+ };
570
+ };
555
571
  /**
556
572
  * Additional instruction files or patterns to include
557
573
  */
@@ -739,6 +755,7 @@ export type KeybindsConfig = {
739
755
  export type ModeConfig = {
740
756
  model?: string;
741
757
  temperature?: number;
758
+ top_p?: number;
742
759
  prompt?: string;
743
760
  tools?: {
744
761
  [key: string]: boolean;
@@ -820,7 +837,7 @@ export type McpRemoteConfig = {
820
837
  [key: string]: string;
821
838
  };
822
839
  };
823
- export type LayoutConfig = 'auto' | 'stretch';
840
+ export type LayoutConfig = "auto" | "stretch";
824
841
  export type _Error = {
825
842
  data: {
826
843
  [key: string]: unknown;
@@ -856,11 +873,12 @@ export type File = {
856
873
  path: string;
857
874
  added: number;
858
875
  removed: number;
859
- status: 'added' | 'deleted' | 'modified';
876
+ status: "added" | "deleted" | "modified";
860
877
  };
861
878
  export type Mode = {
862
879
  name: string;
863
880
  temperature?: number;
881
+ topP?: number;
864
882
  model?: {
865
883
  modelID: string;
866
884
  providerID: string;
@@ -874,7 +892,7 @@ export type EventSubscribeData = {
874
892
  body?: never;
875
893
  path?: never;
876
894
  query?: never;
877
- url: '/event';
895
+ url: "/event";
878
896
  };
879
897
  export type EventSubscribeResponses = {
880
898
  /**
@@ -887,7 +905,7 @@ export type AppGetData = {
887
905
  body?: never;
888
906
  path?: never;
889
907
  query?: never;
890
- url: '/app';
908
+ url: "/app";
891
909
  };
892
910
  export type AppGetResponses = {
893
911
  /**
@@ -900,7 +918,7 @@ export type AppInitData = {
900
918
  body?: never;
901
919
  path?: never;
902
920
  query?: never;
903
- url: '/app/init';
921
+ url: "/app/init";
904
922
  };
905
923
  export type AppInitResponses = {
906
924
  /**
@@ -913,7 +931,7 @@ export type ConfigGetData = {
913
931
  body?: never;
914
932
  path?: never;
915
933
  query?: never;
916
- url: '/config';
934
+ url: "/config";
917
935
  };
918
936
  export type ConfigGetResponses = {
919
937
  /**
@@ -926,7 +944,7 @@ export type SessionListData = {
926
944
  body?: never;
927
945
  path?: never;
928
946
  query?: never;
929
- url: '/session';
947
+ url: "/session";
930
948
  };
931
949
  export type SessionListResponses = {
932
950
  /**
@@ -939,7 +957,7 @@ export type SessionCreateData = {
939
957
  body?: never;
940
958
  path?: never;
941
959
  query?: never;
942
- url: '/session';
960
+ url: "/session";
943
961
  };
944
962
  export type SessionCreateErrors = {
945
963
  /**
@@ -961,7 +979,7 @@ export type SessionDeleteData = {
961
979
  id: string;
962
980
  };
963
981
  query?: never;
964
- url: '/session/{id}';
982
+ url: "/session/{id}";
965
983
  };
966
984
  export type SessionDeleteResponses = {
967
985
  /**
@@ -983,7 +1001,7 @@ export type SessionInitData = {
983
1001
  id: string;
984
1002
  };
985
1003
  query?: never;
986
- url: '/session/{id}/init';
1004
+ url: "/session/{id}/init";
987
1005
  };
988
1006
  export type SessionInitResponses = {
989
1007
  /**
@@ -998,7 +1016,7 @@ export type SessionAbortData = {
998
1016
  id: string;
999
1017
  };
1000
1018
  query?: never;
1001
- url: '/session/{id}/abort';
1019
+ url: "/session/{id}/abort";
1002
1020
  };
1003
1021
  export type SessionAbortResponses = {
1004
1022
  /**
@@ -1013,7 +1031,7 @@ export type SessionUnshareData = {
1013
1031
  id: string;
1014
1032
  };
1015
1033
  query?: never;
1016
- url: '/session/{id}/share';
1034
+ url: "/session/{id}/share";
1017
1035
  };
1018
1036
  export type SessionUnshareResponses = {
1019
1037
  /**
@@ -1028,7 +1046,7 @@ export type SessionShareData = {
1028
1046
  id: string;
1029
1047
  };
1030
1048
  query?: never;
1031
- url: '/session/{id}/share';
1049
+ url: "/session/{id}/share";
1032
1050
  };
1033
1051
  export type SessionShareResponses = {
1034
1052
  /**
@@ -1049,7 +1067,7 @@ export type SessionSummarizeData = {
1049
1067
  id: string;
1050
1068
  };
1051
1069
  query?: never;
1052
- url: '/session/{id}/summarize';
1070
+ url: "/session/{id}/summarize";
1053
1071
  };
1054
1072
  export type SessionSummarizeResponses = {
1055
1073
  /**
@@ -1067,7 +1085,7 @@ export type SessionMessagesData = {
1067
1085
  id: string;
1068
1086
  };
1069
1087
  query?: never;
1070
- url: '/session/{id}/message';
1088
+ url: "/session/{id}/message";
1071
1089
  };
1072
1090
  export type SessionMessagesResponses = {
1073
1091
  /**
@@ -1090,9 +1108,9 @@ export type SessionChatData = {
1090
1108
  [key: string]: boolean;
1091
1109
  };
1092
1110
  parts: Array<({
1093
- type: 'text';
1111
+ type: "text";
1094
1112
  } & TextPartInput) | ({
1095
- type: 'file';
1113
+ type: "file";
1096
1114
  } & FilePartInput)>;
1097
1115
  };
1098
1116
  path: {
@@ -1102,7 +1120,7 @@ export type SessionChatData = {
1102
1120
  id: string;
1103
1121
  };
1104
1122
  query?: never;
1105
- url: '/session/{id}/message';
1123
+ url: "/session/{id}/message";
1106
1124
  };
1107
1125
  export type SessionChatResponses = {
1108
1126
  /**
@@ -1124,7 +1142,7 @@ export type SessionMessageData = {
1124
1142
  messageID: string;
1125
1143
  };
1126
1144
  query?: never;
1127
- url: '/session/{id}/message/{messageID}';
1145
+ url: "/session/{id}/message/{messageID}";
1128
1146
  };
1129
1147
  export type SessionMessageResponses = {
1130
1148
  /**
@@ -1145,7 +1163,7 @@ export type SessionRevertData = {
1145
1163
  id: string;
1146
1164
  };
1147
1165
  query?: never;
1148
- url: '/session/{id}/revert';
1166
+ url: "/session/{id}/revert";
1149
1167
  };
1150
1168
  export type SessionRevertResponses = {
1151
1169
  /**
@@ -1160,7 +1178,7 @@ export type SessionUnrevertData = {
1160
1178
  id: string;
1161
1179
  };
1162
1180
  query?: never;
1163
- url: '/session/{id}/unrevert';
1181
+ url: "/session/{id}/unrevert";
1164
1182
  };
1165
1183
  export type SessionUnrevertResponses = {
1166
1184
  /**
@@ -1171,14 +1189,14 @@ export type SessionUnrevertResponses = {
1171
1189
  export type SessionUnrevertResponse = SessionUnrevertResponses[keyof SessionUnrevertResponses];
1172
1190
  export type PostSessionByIdPermissionsByPermissionIdData = {
1173
1191
  body?: {
1174
- response: 'once' | 'always' | 'reject';
1192
+ response: "once" | "always" | "reject";
1175
1193
  };
1176
1194
  path: {
1177
1195
  id: string;
1178
1196
  permissionID: string;
1179
1197
  };
1180
1198
  query?: never;
1181
- url: '/session/{id}/permissions/{permissionID}';
1199
+ url: "/session/{id}/permissions/{permissionID}";
1182
1200
  };
1183
1201
  export type PostSessionByIdPermissionsByPermissionIdResponses = {
1184
1202
  /**
@@ -1191,7 +1209,7 @@ export type ConfigProvidersData = {
1191
1209
  body?: never;
1192
1210
  path?: never;
1193
1211
  query?: never;
1194
- url: '/config/providers';
1212
+ url: "/config/providers";
1195
1213
  };
1196
1214
  export type ConfigProvidersResponses = {
1197
1215
  /**
@@ -1211,7 +1229,7 @@ export type FindTextData = {
1211
1229
  query: {
1212
1230
  pattern: string;
1213
1231
  };
1214
- url: '/find';
1232
+ url: "/find";
1215
1233
  };
1216
1234
  export type FindTextResponses = {
1217
1235
  /**
@@ -1242,7 +1260,7 @@ export type FindFilesData = {
1242
1260
  query: {
1243
1261
  query: string;
1244
1262
  };
1245
- url: '/find/file';
1263
+ url: "/find/file";
1246
1264
  };
1247
1265
  export type FindFilesResponses = {
1248
1266
  /**
@@ -1257,7 +1275,7 @@ export type FindSymbolsData = {
1257
1275
  query: {
1258
1276
  query: string;
1259
1277
  };
1260
- url: '/find/symbol';
1278
+ url: "/find/symbol";
1261
1279
  };
1262
1280
  export type FindSymbolsResponses = {
1263
1281
  /**
@@ -1272,14 +1290,14 @@ export type FileReadData = {
1272
1290
  query: {
1273
1291
  path: string;
1274
1292
  };
1275
- url: '/file';
1293
+ url: "/file";
1276
1294
  };
1277
1295
  export type FileReadResponses = {
1278
1296
  /**
1279
1297
  * File content
1280
1298
  */
1281
1299
  200: {
1282
- type: 'raw' | 'patch';
1300
+ type: "raw" | "patch";
1283
1301
  content: string;
1284
1302
  };
1285
1303
  };
@@ -1288,7 +1306,7 @@ export type FileStatusData = {
1288
1306
  body?: never;
1289
1307
  path?: never;
1290
1308
  query?: never;
1291
- url: '/file/status';
1309
+ url: "/file/status";
1292
1310
  };
1293
1311
  export type FileStatusResponses = {
1294
1312
  /**
@@ -1306,7 +1324,7 @@ export type AppLogData = {
1306
1324
  /**
1307
1325
  * Log level
1308
1326
  */
1309
- level: 'debug' | 'info' | 'error' | 'warn';
1327
+ level: "debug" | "info" | "error" | "warn";
1310
1328
  /**
1311
1329
  * Log message
1312
1330
  */
@@ -1320,7 +1338,7 @@ export type AppLogData = {
1320
1338
  };
1321
1339
  path?: never;
1322
1340
  query?: never;
1323
- url: '/log';
1341
+ url: "/log";
1324
1342
  };
1325
1343
  export type AppLogResponses = {
1326
1344
  /**
@@ -1333,7 +1351,7 @@ export type AppModesData = {
1333
1351
  body?: never;
1334
1352
  path?: never;
1335
1353
  query?: never;
1336
- url: '/mode';
1354
+ url: "/mode";
1337
1355
  };
1338
1356
  export type AppModesResponses = {
1339
1357
  /**
@@ -1348,7 +1366,7 @@ export type TuiAppendPromptData = {
1348
1366
  };
1349
1367
  path?: never;
1350
1368
  query?: never;
1351
- url: '/tui/append-prompt';
1369
+ url: "/tui/append-prompt";
1352
1370
  };
1353
1371
  export type TuiAppendPromptResponses = {
1354
1372
  /**
@@ -1361,7 +1379,7 @@ export type TuiOpenHelpData = {
1361
1379
  body?: never;
1362
1380
  path?: never;
1363
1381
  query?: never;
1364
- url: '/tui/open-help';
1382
+ url: "/tui/open-help";
1365
1383
  };
1366
1384
  export type TuiOpenHelpResponses = {
1367
1385
  /**
@@ -1374,7 +1392,7 @@ export type TuiOpenSessionsData = {
1374
1392
  body?: never;
1375
1393
  path?: never;
1376
1394
  query?: never;
1377
- url: '/tui/open-sessions';
1395
+ url: "/tui/open-sessions";
1378
1396
  };
1379
1397
  export type TuiOpenSessionsResponses = {
1380
1398
  /**
@@ -1387,7 +1405,7 @@ export type TuiOpenThemesData = {
1387
1405
  body?: never;
1388
1406
  path?: never;
1389
1407
  query?: never;
1390
- url: '/tui/open-themes';
1408
+ url: "/tui/open-themes";
1391
1409
  };
1392
1410
  export type TuiOpenThemesResponses = {
1393
1411
  /**
@@ -1400,7 +1418,7 @@ export type TuiOpenModelsData = {
1400
1418
  body?: never;
1401
1419
  path?: never;
1402
1420
  query?: never;
1403
- url: '/tui/open-models';
1421
+ url: "/tui/open-models";
1404
1422
  };
1405
1423
  export type TuiOpenModelsResponses = {
1406
1424
  /**
@@ -1413,7 +1431,7 @@ export type TuiSubmitPromptData = {
1413
1431
  body?: never;
1414
1432
  path?: never;
1415
1433
  query?: never;
1416
- url: '/tui/submit-prompt';
1434
+ url: "/tui/submit-prompt";
1417
1435
  };
1418
1436
  export type TuiSubmitPromptResponses = {
1419
1437
  /**
@@ -1426,7 +1444,7 @@ export type TuiClearPromptData = {
1426
1444
  body?: never;
1427
1445
  path?: never;
1428
1446
  query?: never;
1429
- url: '/tui/clear-prompt';
1447
+ url: "/tui/clear-prompt";
1430
1448
  };
1431
1449
  export type TuiClearPromptResponses = {
1432
1450
  /**
@@ -1441,7 +1459,7 @@ export type TuiExecuteCommandData = {
1441
1459
  };
1442
1460
  path?: never;
1443
1461
  query?: never;
1444
- url: '/tui/execute-command';
1462
+ url: "/tui/execute-command";
1445
1463
  };
1446
1464
  export type TuiExecuteCommandResponses = {
1447
1465
  /**
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  import { type Config } from "./gen/client/types";
2
2
  import { OpencodeClient } from "./gen/sdk.gen";
3
+ export * from "./gen/types.gen";
3
4
  export declare function createOpencodeClient(config?: Config): OpencodeClient;
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { createClient } from "./gen/client/client";
2
2
  import { OpencodeClient } from "./gen/sdk.gen";
3
+ export * from "./gen/types.gen";
3
4
  export function createOpencodeClient(config) {
4
5
  const client = createClient(config);
5
6
  return new OpencodeClient({ client });
package/package.json CHANGED
@@ -1,10 +1,16 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@opencode-ai/sdk",
4
- "version": "0.3.111",
4
+ "version": "0.3.120",
5
5
  "type": "module",
6
+ "scripts": {
7
+ "typecheck": "tsc --noEmit"
8
+ },
6
9
  "exports": {
7
- ".": "./dist/index.js"
10
+ ".": {
11
+ "development": "./src/index.ts",
12
+ "import": "./dist/index.js"
13
+ }
8
14
  },
9
15
  "files": [
10
16
  "dist"