@opencode-ai/sdk 0.15.31 → 1.0.1

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,5 +1,5 @@
1
1
  import type { Options as ClientOptions, TDataShape, Client } from "./client/index.js";
2
- import type { ProjectListData, ProjectListResponses, ProjectCurrentData, ProjectCurrentResponses, ConfigGetData, ConfigGetResponses, ConfigUpdateData, ConfigUpdateResponses, ConfigUpdateErrors, ToolIdsData, ToolIdsResponses, ToolIdsErrors, ToolListData, ToolListResponses, ToolListErrors, PathGetData, PathGetResponses, SessionListData, SessionListResponses, SessionCreateData, SessionCreateResponses, SessionCreateErrors, SessionDeleteData, SessionDeleteResponses, SessionDeleteErrors, SessionGetData, SessionGetResponses, SessionGetErrors, SessionUpdateData, SessionUpdateResponses, SessionUpdateErrors, SessionChildrenData, SessionChildrenResponses, SessionChildrenErrors, SessionTodoData, SessionTodoResponses, SessionTodoErrors, SessionInitData, SessionInitResponses, SessionInitErrors, SessionForkData, SessionForkResponses, SessionAbortData, SessionAbortResponses, SessionAbortErrors, SessionUnshareData, SessionUnshareResponses, SessionUnshareErrors, SessionShareData, SessionShareResponses, SessionShareErrors, SessionDiffData, SessionDiffResponses, SessionSummarizeData, SessionSummarizeResponses, SessionSummarizeErrors, SessionMessagesData, SessionMessagesResponses, SessionMessagesErrors, SessionPromptData, SessionPromptResponses, SessionPromptErrors, SessionMessageData, SessionMessageResponses, SessionMessageErrors, SessionCommandData, SessionCommandResponses, SessionCommandErrors, SessionShellData, SessionShellResponses, SessionShellErrors, SessionRevertData, SessionRevertResponses, SessionRevertErrors, SessionUnrevertData, SessionUnrevertResponses, SessionUnrevertErrors, PostSessionIdPermissionsPermissionIdData, PostSessionIdPermissionsPermissionIdResponses, PostSessionIdPermissionsPermissionIdErrors, CommandListData, CommandListResponses, ConfigProvidersData, ConfigProvidersResponses, FindTextData, FindTextResponses, FindFilesData, FindFilesResponses, FindSymbolsData, FindSymbolsResponses, FileListData, FileListResponses, FileReadData, FileReadResponses, FileStatusData, FileStatusResponses, AppLogData, AppLogResponses, AppLogErrors, AppAgentsData, AppAgentsResponses, McpStatusData, McpStatusResponses, TuiAppendPromptData, TuiAppendPromptResponses, TuiAppendPromptErrors, TuiOpenHelpData, TuiOpenHelpResponses, TuiOpenSessionsData, TuiOpenSessionsResponses, TuiOpenThemesData, TuiOpenThemesResponses, TuiOpenModelsData, TuiOpenModelsResponses, TuiSubmitPromptData, TuiSubmitPromptResponses, TuiClearPromptData, TuiClearPromptResponses, TuiExecuteCommandData, TuiExecuteCommandResponses, TuiExecuteCommandErrors, TuiShowToastData, TuiShowToastResponses, TuiControlNextData, TuiControlNextResponses, TuiControlResponseData, TuiControlResponseResponses, AuthSetData, AuthSetResponses, AuthSetErrors, EventSubscribeData, EventSubscribeResponses } from "./types.gen.js";
2
+ import type { ProjectListData, ProjectListResponses, ProjectCurrentData, ProjectCurrentResponses, ConfigGetData, ConfigGetResponses, ConfigUpdateData, ConfigUpdateResponses, ConfigUpdateErrors, ToolIdsData, ToolIdsResponses, ToolIdsErrors, ToolListData, ToolListResponses, ToolListErrors, PathGetData, PathGetResponses, SessionListData, SessionListResponses, SessionCreateData, SessionCreateResponses, SessionCreateErrors, SessionDeleteData, SessionDeleteResponses, SessionDeleteErrors, SessionGetData, SessionGetResponses, SessionGetErrors, SessionUpdateData, SessionUpdateResponses, SessionUpdateErrors, SessionChildrenData, SessionChildrenResponses, SessionChildrenErrors, SessionTodoData, SessionTodoResponses, SessionTodoErrors, SessionInitData, SessionInitResponses, SessionInitErrors, SessionForkData, SessionForkResponses, SessionAbortData, SessionAbortResponses, SessionAbortErrors, SessionUnshareData, SessionUnshareResponses, SessionUnshareErrors, SessionShareData, SessionShareResponses, SessionShareErrors, SessionDiffData, SessionDiffResponses, SessionSummarizeData, SessionSummarizeResponses, SessionSummarizeErrors, SessionMessagesData, SessionMessagesResponses, SessionMessagesErrors, SessionPromptData, SessionPromptResponses, SessionPromptErrors, SessionMessageData, SessionMessageResponses, SessionMessageErrors, SessionCommandData, SessionCommandResponses, SessionCommandErrors, SessionShellData, SessionShellResponses, SessionShellErrors, SessionRevertData, SessionRevertResponses, SessionRevertErrors, SessionUnrevertData, SessionUnrevertResponses, SessionUnrevertErrors, PostSessionIdPermissionsPermissionIdData, PostSessionIdPermissionsPermissionIdResponses, PostSessionIdPermissionsPermissionIdErrors, CommandListData, CommandListResponses, ConfigProvidersData, ConfigProvidersResponses, FindTextData, FindTextResponses, FindFilesData, FindFilesResponses, FindSymbolsData, FindSymbolsResponses, FileListData, FileListResponses, FileReadData, FileReadResponses, FileStatusData, FileStatusResponses, AppLogData, AppLogResponses, AppLogErrors, AppAgentsData, AppAgentsResponses, McpStatusData, McpStatusResponses, LspStatusData, LspStatusResponses, TuiAppendPromptData, TuiAppendPromptResponses, TuiAppendPromptErrors, TuiOpenHelpData, TuiOpenHelpResponses, TuiOpenSessionsData, TuiOpenSessionsResponses, TuiOpenThemesData, TuiOpenThemesResponses, TuiOpenModelsData, TuiOpenModelsResponses, TuiSubmitPromptData, TuiSubmitPromptResponses, TuiClearPromptData, TuiClearPromptResponses, TuiExecuteCommandData, TuiExecuteCommandResponses, TuiExecuteCommandErrors, TuiShowToastData, TuiShowToastResponses, TuiPublishData, TuiPublishResponses, TuiPublishErrors, TuiControlNextData, TuiControlNextResponses, TuiControlResponseData, TuiControlResponseResponses, AuthSetData, AuthSetResponses, AuthSetErrors, EventSubscribeData, EventSubscribeResponses } from "./types.gen.js";
3
3
  export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {
4
4
  /**
5
5
  * You can provide a client instance returned by `createClient()` instead of
@@ -195,6 +195,12 @@ declare class Mcp extends _HeyApiClient {
195
195
  */
196
196
  status<ThrowOnError extends boolean = false>(options?: Options<McpStatusData, ThrowOnError>): import("./client/types.gen.js").RequestResult<McpStatusResponses, unknown, ThrowOnError, "fields">;
197
197
  }
198
+ declare class Lsp extends _HeyApiClient {
199
+ /**
200
+ * Get LSP server status
201
+ */
202
+ status<ThrowOnError extends boolean = false>(options?: Options<LspStatusData, ThrowOnError>): import("./client/types.gen.js").RequestResult<LspStatusResponses, unknown, ThrowOnError, "fields">;
203
+ }
198
204
  declare class Control extends _HeyApiClient {
199
205
  /**
200
206
  * Get the next TUI request from the queue
@@ -242,6 +248,10 @@ declare class Tui extends _HeyApiClient {
242
248
  * Show a toast notification in the TUI
243
249
  */
244
250
  showToast<ThrowOnError extends boolean = false>(options?: Options<TuiShowToastData, ThrowOnError>): import("./client/types.gen.js").RequestResult<TuiShowToastResponses, unknown, ThrowOnError, "fields">;
251
+ /**
252
+ * Publish a TUI event
253
+ */
254
+ publish<ThrowOnError extends boolean = false>(options?: Options<TuiPublishData, ThrowOnError>): import("./client/types.gen.js").RequestResult<TuiPublishResponses, TuiPublishErrors, ThrowOnError, "fields">;
245
255
  control: Control;
246
256
  }
247
257
  declare class Auth extends _HeyApiClient {
@@ -271,6 +281,7 @@ export declare class OpencodeClient extends _HeyApiClient {
271
281
  file: File;
272
282
  app: App;
273
283
  mcp: Mcp;
284
+ lsp: Lsp;
274
285
  tui: Tui;
275
286
  auth: Auth;
276
287
  event: Event;
@@ -423,6 +423,17 @@ class Mcp extends _HeyApiClient {
423
423
  });
424
424
  }
425
425
  }
426
+ class Lsp extends _HeyApiClient {
427
+ /**
428
+ * Get LSP server status
429
+ */
430
+ status(options) {
431
+ return (options?.client ?? this._client).get({
432
+ url: "/lsp",
433
+ ...options,
434
+ });
435
+ }
436
+ }
426
437
  class Control extends _HeyApiClient {
427
438
  /**
428
439
  * Get the next TUI request from the queue
@@ -541,6 +552,19 @@ class Tui extends _HeyApiClient {
541
552
  },
542
553
  });
543
554
  }
555
+ /**
556
+ * Publish a TUI event
557
+ */
558
+ publish(options) {
559
+ return (options?.client ?? this._client).post({
560
+ url: "/tui/publish",
561
+ ...options,
562
+ headers: {
563
+ "Content-Type": "application/json",
564
+ ...options?.headers,
565
+ },
566
+ });
567
+ }
544
568
  control = new Control({ client: this._client });
545
569
  }
546
570
  class Auth extends _HeyApiClient {
@@ -593,6 +617,7 @@ export class OpencodeClient extends _HeyApiClient {
593
617
  file = new File({ client: this._client });
594
618
  app = new App({ client: this._client });
595
619
  mcp = new Mcp({ client: this._client });
620
+ lsp = new Lsp({ client: this._client });
596
621
  tui = new Tui({ client: this._client });
597
622
  auth = new Auth({ client: this._client });
598
623
  event = new Event({ client: this._client });
@@ -15,10 +15,6 @@ export type KeybindsConfig = {
15
15
  * Leader key for keybind combinations
16
16
  */
17
17
  leader?: string;
18
- /**
19
- * Show help dialog
20
- */
21
- app_help?: string;
22
18
  /**
23
19
  * Exit the application
24
20
  */
@@ -32,17 +28,13 @@ export type KeybindsConfig = {
32
28
  */
33
29
  theme_list?: string;
34
30
  /**
35
- * Create/update AGENTS.md
36
- */
37
- project_init?: string;
38
- /**
39
- * Toggle tool details
31
+ * Toggle sidebar
40
32
  */
41
- tool_details?: string;
33
+ sidebar_toggle?: string;
42
34
  /**
43
- * Toggle thinking blocks
35
+ * View status
44
36
  */
45
- thinking_blocks?: string;
37
+ status_view?: string;
46
38
  /**
47
39
  * Export session to editor
48
40
  */
@@ -75,14 +67,6 @@ export type KeybindsConfig = {
75
67
  * Compact the session
76
68
  */
77
69
  session_compact?: string;
78
- /**
79
- * Cycle to next child session
80
- */
81
- session_child_cycle?: string;
82
- /**
83
- * Cycle to previous child session
84
- */
85
- session_child_cycle_reverse?: string;
86
70
  /**
87
71
  * Scroll messages up by one page
88
72
  */
@@ -120,17 +104,17 @@ export type KeybindsConfig = {
120
104
  */
121
105
  messages_redo?: string;
122
106
  /**
123
- * List available models
107
+ * Toggle code block concealment in messages
124
108
  */
125
- model_list?: string;
109
+ messages_toggle_conceal?: string;
126
110
  /**
127
- * Next recent model
111
+ * List available models
128
112
  */
129
- model_cycle_recent?: string;
113
+ model_list?: string;
130
114
  /**
131
- * Previous recent model
115
+ * List available commands
132
116
  */
133
- model_cycle_recent_reverse?: string;
117
+ command_list?: string;
134
118
  /**
135
119
  * List agents
136
120
  */
@@ -159,54 +143,6 @@ export type KeybindsConfig = {
159
143
  * Insert newline in input
160
144
  */
161
145
  input_newline?: string;
162
- /**
163
- * @deprecated use agent_cycle. Next mode
164
- */
165
- switch_mode?: string;
166
- /**
167
- * @deprecated use agent_cycle_reverse. Previous mode
168
- */
169
- switch_mode_reverse?: string;
170
- /**
171
- * @deprecated use agent_cycle. Next agent
172
- */
173
- switch_agent?: string;
174
- /**
175
- * @deprecated use agent_cycle_reverse. Previous agent
176
- */
177
- switch_agent_reverse?: string;
178
- /**
179
- * @deprecated Currently not available. List files
180
- */
181
- file_list?: string;
182
- /**
183
- * @deprecated Close file
184
- */
185
- file_close?: string;
186
- /**
187
- * @deprecated Search file
188
- */
189
- file_search?: string;
190
- /**
191
- * @deprecated Split/unified diff
192
- */
193
- file_diff_toggle?: string;
194
- /**
195
- * @deprecated Navigate to previous message
196
- */
197
- messages_previous?: string;
198
- /**
199
- * @deprecated Navigate to next message
200
- */
201
- messages_next?: string;
202
- /**
203
- * @deprecated Toggle layout
204
- */
205
- messages_layout_toggle?: string;
206
- /**
207
- * @deprecated use messages_undo. Revert message
208
- */
209
- messages_revert?: string;
210
146
  };
211
147
  export type AgentConfig = {
212
148
  model?: string;
@@ -726,10 +662,16 @@ export type FilePart = {
726
662
  };
727
663
  export type ToolStatePending = {
728
664
  status: "pending";
665
+ input: {
666
+ [key: string]: unknown;
667
+ };
668
+ raw: string;
729
669
  };
730
670
  export type ToolStateRunning = {
731
671
  status: "running";
732
- input: unknown;
672
+ input: {
673
+ [key: string]: unknown;
674
+ };
733
675
  title?: string;
734
676
  metadata?: {
735
677
  [key: string]: unknown;
@@ -997,6 +939,47 @@ export type Agent = {
997
939
  [key: string]: unknown;
998
940
  };
999
941
  };
942
+ export type McpStatusConnected = {
943
+ status: "connected";
944
+ };
945
+ export type McpStatusDisabled = {
946
+ status: "disabled";
947
+ };
948
+ export type McpStatusFailed = {
949
+ status: "failed";
950
+ error: string;
951
+ };
952
+ export type McpStatus = McpStatusConnected | McpStatusDisabled | McpStatusFailed;
953
+ export type LspStatus = {
954
+ id: string;
955
+ name: string;
956
+ root: string;
957
+ status: "connected" | "error";
958
+ };
959
+ export type EventTuiPromptAppend = {
960
+ type: "tui.prompt.append";
961
+ properties: {
962
+ text: string;
963
+ };
964
+ };
965
+ export type EventTuiCommandExecute = {
966
+ type: "tui.command.execute";
967
+ properties: {
968
+ command: ("session.list" | "session.new" | "session.share" | "session.interrupt" | "session.compact" | "session.page.up" | "session.page.down" | "session.half.page.up" | "session.half.page.down" | "session.first" | "session.last" | "prompt.clear" | "prompt.submit" | "agent.cycle") | string;
969
+ };
970
+ };
971
+ export type EventTuiToastShow = {
972
+ type: "tui.toast.show";
973
+ properties: {
974
+ title?: string;
975
+ message: string;
976
+ variant: "info" | "success" | "warning" | "error";
977
+ /**
978
+ * Duration in milliseconds
979
+ */
980
+ duration?: number;
981
+ };
982
+ };
1000
983
  export type OAuth = {
1001
984
  type: "oauth";
1002
985
  refresh: string;
@@ -1026,6 +1009,12 @@ export type EventLspClientDiagnostics = {
1026
1009
  path: string;
1027
1010
  };
1028
1011
  };
1012
+ export type EventLspUpdated = {
1013
+ type: "lsp.updated";
1014
+ properties: {
1015
+ [key: string]: unknown;
1016
+ };
1017
+ };
1029
1018
  export type EventMessageUpdated = {
1030
1019
  type: "message.updated";
1031
1020
  properties: {
@@ -1144,13 +1133,7 @@ export type EventServerConnected = {
1144
1133
  [key: string]: unknown;
1145
1134
  };
1146
1135
  };
1147
- export type EventIdeInstalled = {
1148
- type: "ide.installed";
1149
- properties: {
1150
- ide: string;
1151
- };
1152
- };
1153
- export type Event = EventInstallationUpdated | EventLspClientDiagnostics | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventSessionCompacted | EventPermissionUpdated | EventPermissionReplied | EventFileEdited | EventFileWatcherUpdated | EventTodoUpdated | EventSessionIdle | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | EventSessionError | EventServerConnected | EventIdeInstalled;
1136
+ export type Event = EventInstallationUpdated | EventLspClientDiagnostics | EventLspUpdated | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventSessionCompacted | EventPermissionUpdated | EventPermissionReplied | EventFileEdited | EventFileWatcherUpdated | EventTodoUpdated | EventSessionIdle | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | EventSessionError | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventServerConnected;
1154
1137
  export type ProjectListData = {
1155
1138
  body?: never;
1156
1139
  path?: never;
@@ -2151,8 +2134,26 @@ export type McpStatusResponses = {
2151
2134
  /**
2152
2135
  * MCP server status
2153
2136
  */
2154
- 200: unknown;
2137
+ 200: {
2138
+ [key: string]: McpStatus;
2139
+ };
2155
2140
  };
2141
+ export type McpStatusResponse = McpStatusResponses[keyof McpStatusResponses];
2142
+ export type LspStatusData = {
2143
+ body?: never;
2144
+ path?: never;
2145
+ query?: {
2146
+ directory?: string;
2147
+ };
2148
+ url: "/lsp";
2149
+ };
2150
+ export type LspStatusResponses = {
2151
+ /**
2152
+ * LSP server status
2153
+ */
2154
+ 200: Array<LspStatus>;
2155
+ };
2156
+ export type LspStatusResponse = LspStatusResponses[keyof LspStatusResponses];
2156
2157
  export type TuiAppendPromptData = {
2157
2158
  body?: {
2158
2159
  text: string;
@@ -2296,6 +2297,10 @@ export type TuiShowToastData = {
2296
2297
  title?: string;
2297
2298
  message: string;
2298
2299
  variant: "info" | "success" | "warning" | "error";
2300
+ /**
2301
+ * Duration in milliseconds
2302
+ */
2303
+ duration?: number;
2299
2304
  };
2300
2305
  path?: never;
2301
2306
  query?: {
@@ -2310,6 +2315,28 @@ export type TuiShowToastResponses = {
2310
2315
  200: boolean;
2311
2316
  };
2312
2317
  export type TuiShowToastResponse = TuiShowToastResponses[keyof TuiShowToastResponses];
2318
+ export type TuiPublishData = {
2319
+ body?: EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow;
2320
+ path?: never;
2321
+ query?: {
2322
+ directory?: string;
2323
+ };
2324
+ url: "/tui/publish";
2325
+ };
2326
+ export type TuiPublishErrors = {
2327
+ /**
2328
+ * Bad request
2329
+ */
2330
+ 400: BadRequestError;
2331
+ };
2332
+ export type TuiPublishError = TuiPublishErrors[keyof TuiPublishErrors];
2333
+ export type TuiPublishResponses = {
2334
+ /**
2335
+ * Event published successfully
2336
+ */
2337
+ 200: boolean;
2338
+ };
2339
+ export type TuiPublishResponse = TuiPublishResponses[keyof TuiPublishResponses];
2313
2340
  export type TuiControlNextData = {
2314
2341
  body?: never;
2315
2342
  path?: never;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@opencode-ai/sdk",
4
- "version": "0.15.31",
4
+ "version": "1.0.1",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "typecheck": "tsgo --noEmit",