@opencode-ai/sdk 0.14.1 → 0.14.4

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, SessionGetData, SessionGetResponses, SessionUpdateData, SessionUpdateResponses, SessionChildrenData, SessionChildrenResponses, SessionInitData, SessionInitResponses, SessionAbortData, SessionAbortResponses, SessionUnshareData, SessionUnshareResponses, SessionShareData, SessionShareResponses, SessionSummarizeData, SessionSummarizeResponses, SessionMessagesData, SessionMessagesResponses, SessionPromptData, SessionPromptResponses, SessionMessageData, SessionMessageResponses, SessionCommandData, SessionCommandResponses, SessionShellData, SessionShellResponses, SessionRevertData, SessionRevertResponses, SessionUnrevertData, SessionUnrevertResponses, PostSessionIdPermissionsPermissionIdData, PostSessionIdPermissionsPermissionIdResponses, CommandListData, CommandListResponses, ConfigProvidersData, ConfigProvidersResponses, FindTextData, FindTextResponses, FindFilesData, FindFilesResponses, FindSymbolsData, FindSymbolsResponses, FileListData, FileListResponses, FileReadData, FileReadResponses, FileStatusData, FileStatusResponses, AppLogData, AppLogResponses, AppAgentsData, AppAgentsResponses, TuiAppendPromptData, TuiAppendPromptResponses, TuiOpenHelpData, TuiOpenHelpResponses, TuiOpenSessionsData, TuiOpenSessionsResponses, TuiOpenThemesData, TuiOpenThemesResponses, TuiOpenModelsData, TuiOpenModelsResponses, TuiSubmitPromptData, TuiSubmitPromptResponses, TuiClearPromptData, TuiClearPromptResponses, TuiExecuteCommandData, TuiExecuteCommandResponses, TuiShowToastData, TuiShowToastResponses, 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, SessionGetData, SessionGetResponses, SessionUpdateData, SessionUpdateResponses, SessionChildrenData, SessionChildrenResponses, SessionTodoData, SessionTodoResponses, SessionInitData, SessionInitResponses, SessionForkData, SessionForkResponses, SessionAbortData, SessionAbortResponses, SessionUnshareData, SessionUnshareResponses, SessionShareData, SessionShareResponses, SessionSummarizeData, SessionSummarizeResponses, SessionMessagesData, SessionMessagesResponses, SessionPromptData, SessionPromptResponses, SessionMessageData, SessionMessageResponses, SessionCommandData, SessionCommandResponses, SessionShellData, SessionShellResponses, SessionRevertData, SessionRevertResponses, SessionUnrevertData, SessionUnrevertResponses, PostSessionIdPermissionsPermissionIdData, PostSessionIdPermissionsPermissionIdResponses, CommandListData, CommandListResponses, ConfigProvidersData, ConfigProvidersResponses, FindTextData, FindTextResponses, FindFilesData, FindFilesResponses, FindSymbolsData, FindSymbolsResponses, FileListData, FileListResponses, FileReadData, FileReadResponses, FileStatusData, FileStatusResponses, AppLogData, AppLogResponses, AppAgentsData, AppAgentsResponses, TuiAppendPromptData, TuiAppendPromptResponses, TuiOpenHelpData, TuiOpenHelpResponses, TuiOpenSessionsData, TuiOpenSessionsResponses, TuiOpenThemesData, TuiOpenThemesResponses, TuiOpenModelsData, TuiOpenModelsResponses, TuiSubmitPromptData, TuiSubmitPromptResponses, TuiClearPromptData, TuiClearPromptResponses, TuiExecuteCommandData, TuiExecuteCommandResponses, TuiShowToastData, TuiShowToastResponses, 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
@@ -84,10 +84,18 @@ declare class Session extends _HeyApiClient {
84
84
  * Get a session's children
85
85
  */
86
86
  children<ThrowOnError extends boolean = false>(options: Options<SessionChildrenData, ThrowOnError>): import("./client/types.gen.js").RequestResult<SessionChildrenResponses, unknown, ThrowOnError, "fields">;
87
+ /**
88
+ * Get the todo list for a session
89
+ */
90
+ todo<ThrowOnError extends boolean = false>(options: Options<SessionTodoData, ThrowOnError>): import("./client/types.gen.js").RequestResult<SessionTodoResponses, unknown, ThrowOnError, "fields">;
87
91
  /**
88
92
  * Analyze the app and create an AGENTS.md file
89
93
  */
90
94
  init<ThrowOnError extends boolean = false>(options: Options<SessionInitData, ThrowOnError>): import("./client/types.gen.js").RequestResult<SessionInitResponses, unknown, ThrowOnError, "fields">;
95
+ /**
96
+ * Fork an existing session at a specific message
97
+ */
98
+ fork<ThrowOnError extends boolean = false>(options: Options<SessionForkData, ThrowOnError>): import("./client/types.gen.js").RequestResult<SessionForkResponses, unknown, ThrowOnError, "fields">;
91
99
  /**
92
100
  * Abort a session
93
101
  */
@@ -155,6 +155,15 @@ class Session extends _HeyApiClient {
155
155
  ...options,
156
156
  });
157
157
  }
158
+ /**
159
+ * Get the todo list for a session
160
+ */
161
+ todo(options) {
162
+ return (options.client ?? this._client).get({
163
+ url: "/session/{id}/todo",
164
+ ...options,
165
+ });
166
+ }
158
167
  /**
159
168
  * Analyze the app and create an AGENTS.md file
160
169
  */
@@ -168,6 +177,19 @@ class Session extends _HeyApiClient {
168
177
  },
169
178
  });
170
179
  }
180
+ /**
181
+ * Fork an existing session at a specific message
182
+ */
183
+ fork(options) {
184
+ return (options.client ?? this._client).post({
185
+ url: "/session/{id}/fork",
186
+ ...options,
187
+ headers: {
188
+ "Content-Type": "application/json",
189
+ ...options.headers,
190
+ },
191
+ });
192
+ }
171
193
  /**
172
194
  * Abort a session
173
195
  */
@@ -519,6 +519,24 @@ export type Session = {
519
519
  diff?: string;
520
520
  };
521
521
  };
522
+ export type Todo = {
523
+ /**
524
+ * Brief description of the task
525
+ */
526
+ content: string;
527
+ /**
528
+ * Current status of the task: pending, in_progress, completed, cancelled
529
+ */
530
+ status: string;
531
+ /**
532
+ * Priority level of the task: high, medium, low
533
+ */
534
+ priority: string;
535
+ /**
536
+ * Unique identifier for the todo item
537
+ */
538
+ id: string;
539
+ };
522
540
  export type UserMessage = {
523
541
  id: string;
524
542
  sessionID: string;
@@ -999,6 +1017,13 @@ export type EventFileWatcherUpdated = {
999
1017
  event: "add" | "change" | "unlink";
1000
1018
  };
1001
1019
  };
1020
+ export type EventTodoUpdated = {
1021
+ type: "todo.updated";
1022
+ properties: {
1023
+ sessionID: string;
1024
+ todos: Array<Todo>;
1025
+ };
1026
+ };
1002
1027
  export type EventSessionIdle = {
1003
1028
  type: "session.idle";
1004
1029
  properties: {
@@ -1036,7 +1061,7 @@ export type EventIdeInstalled = {
1036
1061
  ide: string;
1037
1062
  };
1038
1063
  };
1039
- export type Event = EventInstallationUpdated | EventLspClientDiagnostics | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventSessionCompacted | EventPermissionUpdated | EventPermissionReplied | EventFileEdited | EventFileWatcherUpdated | EventSessionIdle | EventSessionUpdated | EventSessionDeleted | EventSessionError | EventServerConnected | EventIdeInstalled;
1064
+ export type Event = EventInstallationUpdated | EventLspClientDiagnostics | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventSessionCompacted | EventPermissionUpdated | EventPermissionReplied | EventFileEdited | EventFileWatcherUpdated | EventTodoUpdated | EventSessionIdle | EventSessionUpdated | EventSessionDeleted | EventSessionError | EventServerConnected | EventIdeInstalled;
1040
1065
  export type ProjectListData = {
1041
1066
  body?: never;
1042
1067
  path?: never;
@@ -1275,11 +1300,31 @@ export type SessionChildrenResponses = {
1275
1300
  200: Array<Session>;
1276
1301
  };
1277
1302
  export type SessionChildrenResponse = SessionChildrenResponses[keyof SessionChildrenResponses];
1303
+ export type SessionTodoData = {
1304
+ body?: never;
1305
+ path: {
1306
+ /**
1307
+ * Session ID
1308
+ */
1309
+ id: string;
1310
+ };
1311
+ query?: {
1312
+ directory?: string;
1313
+ };
1314
+ url: "/session/{id}/todo";
1315
+ };
1316
+ export type SessionTodoResponses = {
1317
+ /**
1318
+ * Todo list
1319
+ */
1320
+ 200: Array<Todo>;
1321
+ };
1322
+ export type SessionTodoResponse = SessionTodoResponses[keyof SessionTodoResponses];
1278
1323
  export type SessionInitData = {
1279
1324
  body?: {
1280
- messageID: string;
1281
- providerID: string;
1282
1325
  modelID: string;
1326
+ providerID: string;
1327
+ messageID: string;
1283
1328
  };
1284
1329
  path: {
1285
1330
  /**
@@ -1299,6 +1344,25 @@ export type SessionInitResponses = {
1299
1344
  200: boolean;
1300
1345
  };
1301
1346
  export type SessionInitResponse = SessionInitResponses[keyof SessionInitResponses];
1347
+ export type SessionForkData = {
1348
+ body?: {
1349
+ messageID?: string;
1350
+ };
1351
+ path: {
1352
+ id: string;
1353
+ };
1354
+ query?: {
1355
+ directory?: string;
1356
+ };
1357
+ url: "/session/{id}/fork";
1358
+ };
1359
+ export type SessionForkResponses = {
1360
+ /**
1361
+ * 200
1362
+ */
1363
+ 200: Session;
1364
+ };
1365
+ export type SessionForkResponse = SessionForkResponses[keyof SessionForkResponses];
1302
1366
  export type SessionAbortData = {
1303
1367
  body?: never;
1304
1368
  path: {
package/dist/index.d.ts CHANGED
@@ -1,2 +1,10 @@
1
1
  export * from "./client.js";
2
2
  export * from "./server.js";
3
+ import type { ServerOptions } from "./server.js";
4
+ export declare function createOpencode(options?: ServerOptions): Promise<{
5
+ client: import("./client.js").OpencodeClient;
6
+ server: {
7
+ url: string;
8
+ close(): void;
9
+ };
10
+ }>;
package/dist/index.js CHANGED
@@ -1,2 +1,16 @@
1
1
  export * from "./client.js";
2
2
  export * from "./server.js";
3
+ import { createOpencodeClient } from "./client.js";
4
+ import { createOpencodeServer } from "./server.js";
5
+ export async function createOpencode(options) {
6
+ const server = await createOpencodeServer({
7
+ ...options,
8
+ });
9
+ const client = createOpencodeClient({
10
+ baseUrl: server.url,
11
+ });
12
+ return {
13
+ client,
14
+ server,
15
+ };
16
+ }
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.14.1",
4
+ "version": "0.14.4",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "typecheck": "tsc --noEmit",