summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/function/package.json2
-rw-r--r--packages/opencode/package.json2
-rw-r--r--packages/plugin/package.json2
-rw-r--r--packages/sdk/js/package.json2
-rw-r--r--packages/sdk/js/src/gen/sdk.gen.ts32
-rw-r--r--packages/sdk/js/src/gen/types.gen.ts109
-rw-r--r--packages/web/package.json2
-rw-r--r--sdks/vscode/package.json2
8 files changed, 98 insertions, 55 deletions
diff --git a/packages/function/package.json b/packages/function/package.json
index de70b7bcc..1a256447d 100644
--- a/packages/function/package.json
+++ b/packages/function/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode/function",
- "version": "0.3.133",
+ "version": "0.4.1",
"$schema": "https://json.schemastore.org/package.json",
"private": true,
"type": "module",
diff --git a/packages/opencode/package.json b/packages/opencode/package.json
index 4a1ed555e..2b83805f2 100644
--- a/packages/opencode/package.json
+++ b/packages/opencode/package.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
- "version": "0.3.133",
+ "version": "0.4.1",
"name": "opencode",
"type": "module",
"private": true,
diff --git a/packages/plugin/package.json b/packages/plugin/package.json
index 0ff4449bb..15f7c3d4c 100644
--- a/packages/plugin/package.json
+++ b/packages/plugin/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/plugin",
- "version": "0.3.133",
+ "version": "0.4.1",
"type": "module",
"scripts": {
"typecheck": "tsc --noEmit"
diff --git a/packages/sdk/js/package.json b/packages/sdk/js/package.json
index dee651977..1a11d9ccd 100644
--- a/packages/sdk/js/package.json
+++ b/packages/sdk/js/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/sdk",
- "version": "0.3.133",
+ "version": "0.4.1",
"type": "module",
"scripts": {
"typecheck": "tsc --noEmit"
diff --git a/packages/sdk/js/src/gen/sdk.gen.ts b/packages/sdk/js/src/gen/sdk.gen.ts
index 647ab7f86..44ed1d5f6 100644
--- a/packages/sdk/js/src/gen/sdk.gen.ts
+++ b/packages/sdk/js/src/gen/sdk.gen.ts
@@ -15,10 +15,10 @@ import type {
SessionCreateData,
SessionCreateResponses,
SessionCreateErrors,
- SessionGetData,
- SessionGetResponses,
SessionDeleteData,
SessionDeleteResponses,
+ SessionGetData,
+ SessionGetResponses,
SessionInitData,
SessionInitResponses,
SessionAbortData,
@@ -55,8 +55,8 @@ import type {
FileStatusResponses,
AppLogData,
AppLogResponses,
- AppModesData,
- AppModesResponses,
+ AppAgentsData,
+ AppAgentsResponses,
TuiAppendPromptData,
TuiAppendPromptResponses,
TuiOpenHelpData,
@@ -151,11 +151,11 @@ class App extends _HeyApiClient {
}
/**
- * List all modes
+ * List all agents
*/
- public modes<ThrowOnError extends boolean = false>(options?: Options<AppModesData, ThrowOnError>) {
- return (options?.client ?? this._client).get<AppModesResponses, unknown, ThrowOnError>({
- url: "/mode",
+ public agents<ThrowOnError extends boolean = false>(options?: Options<AppAgentsData, ThrowOnError>) {
+ return (options?.client ?? this._client).get<AppAgentsResponses, unknown, ThrowOnError>({
+ url: "/agent",
...options,
})
}
@@ -205,20 +205,20 @@ class Session extends _HeyApiClient {
}
/**
- * Get session
+ * Delete a session and all its data
*/
- public get<ThrowOnError extends boolean = false>(options: Options<SessionGetData, ThrowOnError>) {
- return (options.client ?? this._client).get<SessionGetResponses, unknown, ThrowOnError>({
- url: "/session/{sessionID}",
+ public delete<ThrowOnError extends boolean = false>(options: Options<SessionDeleteData, ThrowOnError>) {
+ return (options.client ?? this._client).delete<SessionDeleteResponses, unknown, ThrowOnError>({
+ url: "/session/{id}",
...options,
})
}
/**
- * Delete a session and all its data
+ * Get session
*/
- public delete<ThrowOnError extends boolean = false>(options: Options<SessionDeleteData, ThrowOnError>) {
- return (options.client ?? this._client).delete<SessionDeleteResponses, unknown, ThrowOnError>({
+ public get<ThrowOnError extends boolean = false>(options: Options<SessionGetData, ThrowOnError>) {
+ return (options.client ?? this._client).get<SessionGetResponses, unknown, ThrowOnError>({
url: "/session/{id}",
...options,
})
@@ -471,7 +471,7 @@ class Tui extends _HeyApiClient {
}
/**
- * Execute a TUI command (e.g. switch_mode)
+ * Execute a TUI command (e.g. switch_agent)
*/
public executeCommand<ThrowOnError extends boolean = false>(options?: Options<TuiExecuteCommandData, ThrowOnError>) {
return (options?.client ?? this._client).post<TuiExecuteCommandResponses, unknown, ThrowOnError>({
diff --git a/packages/sdk/js/src/gen/types.gen.ts b/packages/sdk/js/src/gen/types.gen.ts
index 25d962a57..3a97c2835 100644
--- a/packages/sdk/js/src/gen/types.gen.ts
+++ b/packages/sdk/js/src/gen/types.gen.ts
@@ -200,6 +200,9 @@ export type Part =
| ({
type: "patch"
} & PatchPart)
+ | ({
+ type: "agent"
+ } & AgentPart)
export type TextPart = {
id: string
@@ -374,6 +377,19 @@ export type PatchPart = {
files: Array<string>
}
+export type AgentPart = {
+ id: string
+ sessionID: string
+ messageID: string
+ type: string
+ name: string
+ source?: {
+ value: string
+ start: number
+ end: number
+ }
+}
+
export type EventMessagePartRemoved = {
type: string
properties: {
@@ -567,17 +583,19 @@ export type Config = {
*/
username?: string
/**
- * Modes configuration, see https://opencode.ai/docs/modes
+ * @deprecated Use `agent` field instead.
*/
mode?: {
- build?: ModeConfig
- plan?: ModeConfig
- [key: string]: ModeConfig | undefined
+ build?: AgentConfig
+ plan?: AgentConfig
+ [key: string]: AgentConfig | undefined
}
/**
- * Modes configuration, see https://opencode.ai/docs/modes
+ * Agent configuration, see https://opencode.ai/docs/agent
*/
agent?: {
+ plan?: AgentConfig
+ build?: AgentConfig
general?: AgentConfig
[key: string]: AgentConfig | undefined
}
@@ -704,14 +722,22 @@ export type KeybindsConfig = {
*/
app_help: string
/**
- * Next mode
+ * @deprecated use switch_agent. Next mode
*/
switch_mode: string
/**
- * Previous Mode
+ * @deprecated use switch_agent_reverse. Previous mode
*/
switch_mode_reverse: string
/**
+ * Next agent
+ */
+ switch_agent: string
+ /**
+ * Previous agent
+ */
+ switch_agent_reverse: string
+ /**
* Open external editor
*/
editor_open: string
@@ -849,7 +875,7 @@ export type KeybindsConfig = {
app_exit: string
}
-export type ModeConfig = {
+export type AgentConfig = {
model?: string
temperature?: number
top_p?: number
@@ -858,10 +884,11 @@ export type ModeConfig = {
[key: string]: boolean
}
disable?: boolean
-}
-
-export type AgentConfig = ModeConfig & {
- description: string
+ /**
+ * Description of when to use the agent
+ */
+ description?: string
+ mode?: string
}
export type Provider = {
@@ -968,6 +995,17 @@ export type FilePartInput = {
source?: FilePartSource
}
+export type AgentPartInput = {
+ id?: string
+ type: string
+ name: string
+ source?: {
+ value: string
+ start: number
+ end: number
+ }
+}
+
export type Symbol = {
name: string
kind: number
@@ -984,10 +1022,12 @@ export type File = {
status: "added" | "deleted" | "modified"
}
-export type Mode = {
+export type Agent = {
name: string
- temperature?: number
+ description?: string
+ mode: string
topP?: number
+ temperature?: number
model?: {
modelID: string
providerID: string
@@ -1103,25 +1143,25 @@ export type SessionCreateResponses = {
export type SessionCreateResponse = SessionCreateResponses[keyof SessionCreateResponses]
-export type SessionGetData = {
+export type SessionDeleteData = {
body?: never
path: {
- sessionID: string
+ id: string
}
query?: never
- url: "/session/{sessionID}"
+ url: "/session/{id}"
}
-export type SessionGetResponses = {
+export type SessionDeleteResponses = {
/**
- * Get session
+ * Successfully deleted session
*/
- 200: Session
+ 200: boolean
}
-export type SessionGetResponse = SessionGetResponses[keyof SessionGetResponses]
+export type SessionDeleteResponse = SessionDeleteResponses[keyof SessionDeleteResponses]
-export type SessionDeleteData = {
+export type SessionGetData = {
body?: never
path: {
id: string
@@ -1130,14 +1170,14 @@ export type SessionDeleteData = {
url: "/session/{id}"
}
-export type SessionDeleteResponses = {
+export type SessionGetResponses = {
/**
- * Successfully deleted session
+ * Get session
*/
- 200: boolean
+ 200: Session
}
-export type SessionDeleteResponse = SessionDeleteResponses[keyof SessionDeleteResponses]
+export type SessionGetResponse = SessionGetResponses[keyof SessionGetResponses]
export type SessionInitData = {
body?: {
@@ -1271,7 +1311,7 @@ export type SessionChatData = {
messageID?: string
providerID: string
modelID: string
- mode?: string
+ agent?: string
system?: string
tools?: {
[key: string]: boolean
@@ -1283,6 +1323,9 @@ export type SessionChatData = {
| ({
type: "file"
} & FilePartInput)
+ | ({
+ type: "agent"
+ } & AgentPartInput)
>
}
path: {
@@ -1556,21 +1599,21 @@ export type AppLogResponses = {
export type AppLogResponse = AppLogResponses[keyof AppLogResponses]
-export type AppModesData = {
+export type AppAgentsData = {
body?: never
path?: never
query?: never
- url: "/mode"
+ url: "/agent"
}
-export type AppModesResponses = {
+export type AppAgentsResponses = {
/**
- * List of modes
+ * List of agents
*/
- 200: Array<Mode>
+ 200: Array<Agent>
}
-export type AppModesResponse = AppModesResponses[keyof AppModesResponses]
+export type AppAgentsResponse = AppAgentsResponses[keyof AppAgentsResponses]
export type TuiAppendPromptData = {
body?: {
diff --git a/packages/web/package.json b/packages/web/package.json
index 06c368a65..8d5b82fe5 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -1,7 +1,7 @@
{
"name": "@opencode/web",
"type": "module",
- "version": "0.3.133",
+ "version": "0.4.1",
"scripts": {
"dev": "astro dev",
"dev:remote": "sst shell --stage=dev --target=Web astro dev",
diff --git a/sdks/vscode/package.json b/sdks/vscode/package.json
index f5314dfea..2b34f8d83 100644
--- a/sdks/vscode/package.json
+++ b/sdks/vscode/package.json
@@ -2,7 +2,7 @@
"name": "opencode",
"displayName": "opencode",
"description": "opencode for VS Code",
- "version": "0.3.133",
+ "version": "0.4.1",
"publisher": "sst-dev",
"repository": {
"type": "git",