opencode 4 месяцев назад
Родитель
Сommit
e3f9e7785e

+ 10 - 10
bun.lock

@@ -28,7 +28,7 @@
     },
     },
     "packages/console/core": {
     "packages/console/core": {
       "name": "@opencode-ai/console-core",
       "name": "@opencode-ai/console-core",
-      "version": "0.14.3",
+      "version": "0.14.4",
       "dependencies": {
       "dependencies": {
         "@aws-sdk/client-sts": "3.782.0",
         "@aws-sdk/client-sts": "3.782.0",
         "@jsx-email/render": "1.1.1",
         "@jsx-email/render": "1.1.1",
@@ -48,7 +48,7 @@
     },
     },
     "packages/console/function": {
     "packages/console/function": {
       "name": "@opencode-ai/console-function",
       "name": "@opencode-ai/console-function",
-      "version": "0.14.3",
+      "version": "0.14.4",
       "dependencies": {
       "dependencies": {
         "@ai-sdk/anthropic": "2.0.0",
         "@ai-sdk/anthropic": "2.0.0",
         "@ai-sdk/openai": "2.0.2",
         "@ai-sdk/openai": "2.0.2",
@@ -68,7 +68,7 @@
     },
     },
     "packages/console/mail": {
     "packages/console/mail": {
       "name": "@opencode-ai/console-mail",
       "name": "@opencode-ai/console-mail",
-      "version": "0.14.3",
+      "version": "0.14.4",
       "dependencies": {
       "dependencies": {
         "@jsx-email/all": "2.2.3",
         "@jsx-email/all": "2.2.3",
         "@jsx-email/cli": "1.4.3",
         "@jsx-email/cli": "1.4.3",
@@ -84,7 +84,7 @@
     },
     },
     "packages/console/scripts": {
     "packages/console/scripts": {
       "name": "@opencode-ai/console-scripts",
       "name": "@opencode-ai/console-scripts",
-      "version": "0.14.3",
+      "version": "0.14.4",
       "dependencies": {
       "dependencies": {
         "@opencode-ai/console-core": "workspace:*",
         "@opencode-ai/console-core": "workspace:*",
         "tsx": "4.20.5",
         "tsx": "4.20.5",
@@ -96,7 +96,7 @@
     },
     },
     "packages/desktop": {
     "packages/desktop": {
       "name": "@opencode-ai/desktop",
       "name": "@opencode-ai/desktop",
-      "version": "0.14.3",
+      "version": "0.14.4",
       "dependencies": {
       "dependencies": {
         "@kobalte/core": "catalog:",
         "@kobalte/core": "catalog:",
         "@opencode-ai/sdk": "workspace:*",
         "@opencode-ai/sdk": "workspace:*",
@@ -130,7 +130,7 @@
     },
     },
     "packages/function": {
     "packages/function": {
       "name": "@opencode-ai/function",
       "name": "@opencode-ai/function",
-      "version": "0.14.3",
+      "version": "0.14.4",
       "dependencies": {
       "dependencies": {
         "@octokit/auth-app": "8.0.1",
         "@octokit/auth-app": "8.0.1",
         "@octokit/rest": "22.0.0",
         "@octokit/rest": "22.0.0",
@@ -145,7 +145,7 @@
     },
     },
     "packages/opencode": {
     "packages/opencode": {
       "name": "opencode",
       "name": "opencode",
-      "version": "0.14.3",
+      "version": "0.14.4",
       "bin": {
       "bin": {
         "opencode": "./bin/opencode",
         "opencode": "./bin/opencode",
       },
       },
@@ -198,7 +198,7 @@
     },
     },
     "packages/plugin": {
     "packages/plugin": {
       "name": "@opencode-ai/plugin",
       "name": "@opencode-ai/plugin",
-      "version": "0.14.3",
+      "version": "0.14.4",
       "dependencies": {
       "dependencies": {
         "@opencode-ai/sdk": "workspace:*",
         "@opencode-ai/sdk": "workspace:*",
         "zod": "catalog:",
         "zod": "catalog:",
@@ -210,7 +210,7 @@
     },
     },
     "packages/sdk/js": {
     "packages/sdk/js": {
       "name": "@opencode-ai/sdk",
       "name": "@opencode-ai/sdk",
-      "version": "0.14.3",
+      "version": "0.14.4",
       "dependencies": {
       "dependencies": {
         "@hey-api/openapi-ts": "0.81.0",
         "@hey-api/openapi-ts": "0.81.0",
       },
       },
@@ -222,7 +222,7 @@
     },
     },
     "packages/web": {
     "packages/web": {
       "name": "@opencode-ai/web",
       "name": "@opencode-ai/web",
-      "version": "0.14.3",
+      "version": "0.14.4",
       "dependencies": {
       "dependencies": {
         "@astrojs/cloudflare": "12.6.3",
         "@astrojs/cloudflare": "12.6.3",
         "@astrojs/markdown-remark": "6.3.1",
         "@astrojs/markdown-remark": "6.3.1",

+ 1 - 1
packages/console/app/package.json

@@ -7,7 +7,7 @@
     "dev:remote": "VITE_AUTH_URL=https://auth.dev.opencode.ai bun sst shell --stage=dev bun dev",
     "dev:remote": "VITE_AUTH_URL=https://auth.dev.opencode.ai bun sst shell --stage=dev bun dev",
     "build": "vinxi build && ../../opencode/script/schema.ts ./.output/public/config.json",
     "build": "vinxi build && ../../opencode/script/schema.ts ./.output/public/config.json",
     "start": "vinxi start",
     "start": "vinxi start",
-    "version": "0.14.3"
+    "version": "0.14.4"
   },
   },
   "dependencies": {
   "dependencies": {
     "@ibm/plex": "6.4.1",
     "@ibm/plex": "6.4.1",

+ 1 - 1
packages/console/core/package.json

@@ -1,7 +1,7 @@
 {
 {
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
   "name": "@opencode-ai/console-core",
   "name": "@opencode-ai/console-core",
-  "version": "0.14.3",
+  "version": "0.14.4",
   "private": true,
   "private": true,
   "type": "module",
   "type": "module",
   "dependencies": {
   "dependencies": {

+ 1 - 1
packages/console/function/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "@opencode-ai/console-function",
   "name": "@opencode-ai/console-function",
-  "version": "0.14.3",
+  "version": "0.14.4",
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
   "private": true,
   "private": true,
   "type": "module",
   "type": "module",

+ 1 - 1
packages/console/mail/package.json

@@ -1,7 +1,7 @@
 {
 {
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
   "name": "@opencode-ai/console-mail",
   "name": "@opencode-ai/console-mail",
-  "version": "0.14.3",
+  "version": "0.14.4",
   "private": true,
   "private": true,
   "type": "module",
   "type": "module",
   "dependencies": {
   "dependencies": {

+ 1 - 1
packages/console/scripts/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "@opencode-ai/console-scripts",
   "name": "@opencode-ai/console-scripts",
-  "version": "0.14.3",
+  "version": "0.14.4",
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
   "private": true,
   "private": true,
   "type": "module",
   "type": "module",

+ 1 - 1
packages/desktop/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "@opencode-ai/desktop",
   "name": "@opencode-ai/desktop",
-  "version": "0.14.3",
+  "version": "0.14.4",
   "description": "",
   "description": "",
   "type": "module",
   "type": "module",
   "scripts": {
   "scripts": {

+ 1 - 1
packages/function/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "@opencode-ai/function",
   "name": "@opencode-ai/function",
-  "version": "0.14.3",
+  "version": "0.14.4",
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
   "private": true,
   "private": true,
   "type": "module",
   "type": "module",

+ 1 - 1
packages/opencode/package.json

@@ -1,6 +1,6 @@
 {
 {
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
-  "version": "0.14.3",
+  "version": "0.14.4",
   "name": "opencode",
   "name": "opencode",
   "type": "module",
   "type": "module",
   "private": true,
   "private": true,

+ 1 - 1
packages/plugin/package.json

@@ -1,7 +1,7 @@
 {
 {
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
   "name": "@opencode-ai/plugin",
   "name": "@opencode-ai/plugin",
-  "version": "0.14.3",
+  "version": "0.14.4",
   "type": "module",
   "type": "module",
   "scripts": {
   "scripts": {
     "typecheck": "tsc --noEmit",
     "typecheck": "tsc --noEmit",

+ 1 - 1
packages/sdk/js/package.json

@@ -1,7 +1,7 @@
 {
 {
   "$schema": "https://json.schemastore.org/package.json",
   "$schema": "https://json.schemastore.org/package.json",
   "name": "@opencode-ai/sdk",
   "name": "@opencode-ai/sdk",
-  "version": "0.14.3",
+  "version": "0.14.4",
   "type": "module",
   "type": "module",
   "scripts": {
   "scripts": {
     "typecheck": "tsc --noEmit",
     "typecheck": "tsc --noEmit",

+ 28 - 0
packages/sdk/js/src/gen/sdk.gen.ts

@@ -32,8 +32,12 @@ import type {
   SessionUpdateResponses,
   SessionUpdateResponses,
   SessionChildrenData,
   SessionChildrenData,
   SessionChildrenResponses,
   SessionChildrenResponses,
+  SessionTodoData,
+  SessionTodoResponses,
   SessionInitData,
   SessionInitData,
   SessionInitResponses,
   SessionInitResponses,
+  SessionForkData,
+  SessionForkResponses,
   SessionAbortData,
   SessionAbortData,
   SessionAbortResponses,
   SessionAbortResponses,
   SessionUnshareData,
   SessionUnshareData,
@@ -292,6 +296,16 @@ class Session extends _HeyApiClient {
     })
     })
   }
   }
 
 
+  /**
+   * Get the todo list for a session
+   */
+  public todo<ThrowOnError extends boolean = false>(options: Options<SessionTodoData, ThrowOnError>) {
+    return (options.client ?? this._client).get<SessionTodoResponses, unknown, ThrowOnError>({
+      url: "/session/{id}/todo",
+      ...options,
+    })
+  }
+
   /**
   /**
    * Analyze the app and create an AGENTS.md file
    * Analyze the app and create an AGENTS.md file
    */
    */
@@ -306,6 +320,20 @@ class Session extends _HeyApiClient {
     })
     })
   }
   }
 
 
+  /**
+   * Fork an existing session at a specific message
+   */
+  public fork<ThrowOnError extends boolean = false>(options: Options<SessionForkData, ThrowOnError>) {
+    return (options.client ?? this._client).post<SessionForkResponses, unknown, ThrowOnError>({
+      url: "/session/{id}/fork",
+      ...options,
+      headers: {
+        "Content-Type": "application/json",
+        ...options.headers,
+      },
+    })
+  }
+
   /**
   /**
    * Abort a session
    * Abort a session
    */
    */

+ 75 - 2
packages/sdk/js/src/gen/types.gen.ts

@@ -550,6 +550,25 @@ export type Session = {
   }
   }
 }
 }
 
 
+export type Todo = {
+  /**
+   * Brief description of the task
+   */
+  content: string
+  /**
+   * Current status of the task: pending, in_progress, completed, cancelled
+   */
+  status: string
+  /**
+   * Priority level of the task: high, medium, low
+   */
+  priority: string
+  /**
+   * Unique identifier for the todo item
+   */
+  id: string
+}
+
 export type UserMessage = {
 export type UserMessage = {
   id: string
   id: string
   sessionID: string
   sessionID: string
@@ -1093,6 +1112,14 @@ export type EventFileWatcherUpdated = {
   }
   }
 }
 }
 
 
+export type EventTodoUpdated = {
+  type: "todo.updated"
+  properties: {
+    sessionID: string
+    todos: Array<Todo>
+  }
+}
+
 export type EventSessionIdle = {
 export type EventSessionIdle = {
   type: "session.idle"
   type: "session.idle"
   properties: {
   properties: {
@@ -1148,6 +1175,7 @@ export type Event =
   | EventPermissionReplied
   | EventPermissionReplied
   | EventFileEdited
   | EventFileEdited
   | EventFileWatcherUpdated
   | EventFileWatcherUpdated
+  | EventTodoUpdated
   | EventSessionIdle
   | EventSessionIdle
   | EventSessionUpdated
   | EventSessionUpdated
   | EventSessionDeleted
   | EventSessionDeleted
@@ -1440,11 +1468,34 @@ export type SessionChildrenResponses = {
 
 
 export type SessionChildrenResponse = SessionChildrenResponses[keyof SessionChildrenResponses]
 export type SessionChildrenResponse = SessionChildrenResponses[keyof SessionChildrenResponses]
 
 
+export type SessionTodoData = {
+  body?: never
+  path: {
+    /**
+     * Session ID
+     */
+    id: string
+  }
+  query?: {
+    directory?: string
+  }
+  url: "/session/{id}/todo"
+}
+
+export type SessionTodoResponses = {
+  /**
+   * Todo list
+   */
+  200: Array<Todo>
+}
+
+export type SessionTodoResponse = SessionTodoResponses[keyof SessionTodoResponses]
+
 export type SessionInitData = {
 export type SessionInitData = {
   body?: {
   body?: {
-    messageID: string
-    providerID: string
     modelID: string
     modelID: string
+    providerID: string
+    messageID: string
   }
   }
   path: {
   path: {
     /**
     /**
@@ -1467,6 +1518,28 @@ export type SessionInitResponses = {
 
 
 export type SessionInitResponse = SessionInitResponses[keyof SessionInitResponses]
 export type SessionInitResponse = SessionInitResponses[keyof SessionInitResponses]
 
 
+export type SessionForkData = {
+  body?: {
+    messageID?: string
+  }
+  path: {
+    id: string
+  }
+  query?: {
+    directory?: string
+  }
+  url: "/session/{id}/fork"
+}
+
+export type SessionForkResponses = {
+  /**
+   * 200
+   */
+  200: Session
+}
+
+export type SessionForkResponse = SessionForkResponses[keyof SessionForkResponses]
+
 export type SessionAbortData = {
 export type SessionAbortData = {
   body?: never
   body?: never
   path: {
   path: {

+ 1 - 1
packages/web/package.json

@@ -1,7 +1,7 @@
 {
 {
   "name": "@opencode-ai/web",
   "name": "@opencode-ai/web",
   "type": "module",
   "type": "module",
-  "version": "0.14.3",
+  "version": "0.14.4",
   "scripts": {
   "scripts": {
     "dev": "astro dev",
     "dev": "astro dev",
     "dev:remote": "VITE_API_URL=https://api.opencode.ai astro dev",
     "dev:remote": "VITE_API_URL=https://api.opencode.ai astro dev",

+ 1 - 1
sdks/vscode/package.json

@@ -2,7 +2,7 @@
   "name": "opencode",
   "name": "opencode",
   "displayName": "opencode",
   "displayName": "opencode",
   "description": "opencode for VS Code",
   "description": "opencode for VS Code",
-  "version": "0.14.3",
+  "version": "0.14.4",
   "publisher": "sst-dev",
   "publisher": "sst-dev",
   "repository": {
   "repository": {
     "type": "git",
     "type": "git",