release: v0.14.4

This commit is contained in:
opencode
2025-10-07 03:32:10 +00:00
parent a20fc2dfdf
commit e3f9e7785e
15 changed files with 125 additions and 24 deletions

View File

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

View File

@@ -32,8 +32,12 @@ import type {
SessionUpdateResponses,
SessionChildrenData,
SessionChildrenResponses,
SessionTodoData,
SessionTodoResponses,
SessionInitData,
SessionInitResponses,
SessionForkData,
SessionForkResponses,
SessionAbortData,
SessionAbortResponses,
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
*/
@@ -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
*/

View File

@@ -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 = {
id: 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 = {
type: "session.idle"
properties: {
@@ -1148,6 +1175,7 @@ export type Event =
| EventPermissionReplied
| EventFileEdited
| EventFileWatcherUpdated
| EventTodoUpdated
| EventSessionIdle
| EventSessionUpdated
| EventSessionDeleted
@@ -1440,11 +1468,34 @@ export type 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 = {
body?: {
messageID: string
providerID: string
modelID: string
providerID: string
messageID: string
}
path: {
/**
@@ -1467,6 +1518,28 @@ export type 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 = {
body?: never
path: {