summaryrefslogtreecommitdiffhomepage
path: root/packages/sdk
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-07-28 22:58:12 -0400
committerDax Raad <[email protected]>2025-07-28 22:58:31 -0400
commit9c9cbb3e8128eeddaec50e9ecf9d5f43519a898b (patch)
tree3e43529bfaaebdb18214a9fe302ef5161dacddff /packages/sdk
parentc24fbb42926d4fcde9ffddac7e8c4c9b49f52d23 (diff)
downloadopencode-9c9cbb3e8128eeddaec50e9ecf9d5f43519a898b.tar.gz
opencode-9c9cbb3e8128eeddaec50e9ecf9d5f43519a898b.zip
wip: undo properly remove messages from UI
Diffstat (limited to 'packages/sdk')
-rw-r--r--packages/sdk/.stats.yml4
-rw-r--r--packages/sdk/api.md1
-rw-r--r--packages/sdk/src/client.ts2
-rw-r--r--packages/sdk/src/resources/app.ts2
-rw-r--r--packages/sdk/src/resources/config.ts36
-rw-r--r--packages/sdk/src/resources/event.ts113
-rw-r--r--packages/sdk/src/resources/find.ts77
-rw-r--r--packages/sdk/src/resources/index.ts1
-rw-r--r--packages/sdk/src/resources/session.ts4
-rw-r--r--packages/sdk/tests/api-resources/session.test.ts1
10 files changed, 145 insertions, 96 deletions
diff --git a/packages/sdk/.stats.yml b/packages/sdk/.stats.yml
index e9e292b78..3f719fabf 100644
--- a/packages/sdk/.stats.yml
+++ b/packages/sdk/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 26
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-5748199af356c3243a46a466e73b5d0bab7eaa0c56895e1d0f903d637f61d0bb.yml
-openapi_spec_hash: c04f6b6be54b05d9b1283c24e870163b
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-62d8fccba4eb8dc3a80434e0849eab3352e49fb96a718bb7b6d17ed8e582b716.yml
+openapi_spec_hash: 4ff9376cf9634e91731e63fe482ea532
config_hash: 1ae82c93499b9f0b9ba828b8919f9cb3
diff --git a/packages/sdk/api.md b/packages/sdk/api.md
index d1f4a482f..c0526f063 100644
--- a/packages/sdk/api.md
+++ b/packages/sdk/api.md
@@ -41,7 +41,6 @@ Methods:
Types:
-- <code><a href="./src/resources/find.ts">Match</a></code>
- <code><a href="./src/resources/find.ts">Symbol</a></code>
- <code><a href="./src/resources/find.ts">FindFilesResponse</a></code>
- <code><a href="./src/resources/find.ts">FindSymbolsResponse</a></code>
diff --git a/packages/sdk/src/client.ts b/packages/sdk/src/client.ts
index 7045719f6..9241bd582 100644
--- a/packages/sdk/src/client.ts
+++ b/packages/sdk/src/client.ts
@@ -46,7 +46,6 @@ import {
FindSymbolsResponse,
FindTextParams,
FindTextResponse,
- Match,
Symbol,
} from './resources/find';
import {
@@ -789,7 +788,6 @@ export declare namespace Opencode {
export {
Find as Find,
- type Match as Match,
type Symbol as Symbol,
type FindFilesResponse as FindFilesResponse,
type FindSymbolsResponse as FindSymbolsResponse,
diff --git a/packages/sdk/src/resources/app.ts b/packages/sdk/src/resources/app.ts
index 69991a3fe..8ee56e320 100644
--- a/packages/sdk/src/resources/app.ts
+++ b/packages/sdk/src/resources/app.ts
@@ -77,6 +77,8 @@ export interface Mode {
model?: Mode.Model;
prompt?: string;
+
+ temperature?: number;
}
export namespace Mode {
diff --git a/packages/sdk/src/resources/config.ts b/packages/sdk/src/resources/config.ts
index 7637573d4..11592f4aa 100644
--- a/packages/sdk/src/resources/config.ts
+++ b/packages/sdk/src/resources/config.ts
@@ -21,6 +21,11 @@ export interface Config {
$schema?: string;
/**
+ * Modes configuration, see https://opencode.ai/docs/modes
+ */
+ agent?: Config.Agent;
+
+ /**
* @deprecated Use 'share' field instead. Share newly created sessions
* automatically
*/
@@ -97,6 +102,33 @@ export interface Config {
}
export namespace Config {
+ /**
+ * Modes configuration, see https://opencode.ai/docs/modes
+ */
+ export interface Agent {
+ general?: Agent.General;
+
+ [k: string]: Agent.AgentConfig | undefined;
+ }
+
+ export namespace Agent {
+ export interface General extends ConfigAPI.ModeConfig {
+ description: string;
+ }
+
+ export interface AgentConfig extends ConfigAPI.ModeConfig {
+ description: string;
+ }
+ }
+
+ export interface AgentConfig extends ConfigAPI.ModeConfig {
+ description: string;
+ }
+
+ export interface AgentConfig extends ConfigAPI.ModeConfig {
+ description: string;
+ }
+
export interface Experimental {
hook?: Experimental.Hook;
}
@@ -438,10 +470,14 @@ export interface McpRemoteConfig {
}
export interface ModeConfig {
+ disable?: boolean;
+
model?: string;
prompt?: string;
+ temperature?: number;
+
tools?: { [key: string]: boolean };
}
diff --git a/packages/sdk/src/resources/event.ts b/packages/sdk/src/resources/event.ts
index eae023b44..bd51b22b3 100644
--- a/packages/sdk/src/resources/event.ts
+++ b/packages/sdk/src/resources/event.ts
@@ -17,84 +17,47 @@ export class Event extends APIResource {
}
export type EventListResponse =
- | EventListResponse.EventLspClientDiagnostics
- | EventListResponse.EventPermissionUpdated
- | EventListResponse.EventFileEdited
| EventListResponse.EventInstallationUpdated
+ | EventListResponse.EventLspClientDiagnostics
| EventListResponse.EventMessageUpdated
| EventListResponse.EventMessageRemoved
| EventListResponse.EventMessagePartUpdated
| EventListResponse.EventMessagePartRemoved
| EventListResponse.EventStorageWrite
+ | EventListResponse.EventPermissionUpdated
+ | EventListResponse.EventFileEdited
| EventListResponse.EventSessionUpdated
| EventListResponse.EventSessionDeleted
| EventListResponse.EventSessionIdle
| EventListResponse.EventSessionError
+ | EventListResponse.EventServerConnected
| EventListResponse.EventFileWatcherUpdated
| EventListResponse.EventIdeInstalled;
export namespace EventListResponse {
- export interface EventLspClientDiagnostics {
- properties: EventLspClientDiagnostics.Properties;
-
- type: 'lsp.client.diagnostics';
- }
-
- export namespace EventLspClientDiagnostics {
- export interface Properties {
- path: string;
-
- serverID: string;
- }
- }
-
- export interface EventPermissionUpdated {
- properties: EventPermissionUpdated.Properties;
+ export interface EventInstallationUpdated {
+ properties: EventInstallationUpdated.Properties;
- type: 'permission.updated';
+ type: 'installation.updated';
}
- export namespace EventPermissionUpdated {
+ export namespace EventInstallationUpdated {
export interface Properties {
- id: string;
-
- metadata: { [key: string]: unknown };
-
- sessionID: string;
-
- time: Properties.Time;
-
- title: string;
- }
-
- export namespace Properties {
- export interface Time {
- created: number;
- }
+ version: string;
}
}
- export interface EventFileEdited {
- properties: EventFileEdited.Properties;
+ export interface EventLspClientDiagnostics {
+ properties: EventLspClientDiagnostics.Properties;
- type: 'file.edited';
+ type: 'lsp.client.diagnostics';
}
- export namespace EventFileEdited {
+ export namespace EventLspClientDiagnostics {
export interface Properties {
- file: string;
- }
- }
-
- export interface EventInstallationUpdated {
- properties: EventInstallationUpdated.Properties;
-
- type: 'installation.updated';
- }
+ path: string;
- export namespace EventInstallationUpdated {
- export interface Properties {
- version: string;
+ serverID: string;
}
}
@@ -147,6 +110,8 @@ export namespace EventListResponse {
messageID: string;
partID: string;
+
+ sessionID: string;
}
}
@@ -164,6 +129,44 @@ export namespace EventListResponse {
}
}
+ export interface EventPermissionUpdated {
+ properties: EventPermissionUpdated.Properties;
+
+ type: 'permission.updated';
+ }
+
+ export namespace EventPermissionUpdated {
+ export interface Properties {
+ id: string;
+
+ metadata: { [key: string]: unknown };
+
+ sessionID: string;
+
+ time: Properties.Time;
+
+ title: string;
+ }
+
+ export namespace Properties {
+ export interface Time {
+ created: number;
+ }
+ }
+ }
+
+ export interface EventFileEdited {
+ properties: EventFileEdited.Properties;
+
+ type: 'file.edited';
+ }
+
+ export namespace EventFileEdited {
+ export interface Properties {
+ file: string;
+ }
+ }
+
export interface EventSessionUpdated {
properties: EventSessionUpdated.Properties;
@@ -226,6 +229,12 @@ export namespace EventListResponse {
}
}
+ export interface EventServerConnected {
+ properties: unknown;
+
+ type: 'server.connected';
+ }
+
export interface EventFileWatcherUpdated {
properties: EventFileWatcherUpdated.Properties;
diff --git a/packages/sdk/src/resources/find.ts b/packages/sdk/src/resources/find.ts
index 13062c426..d9d6597e5 100644
--- a/packages/sdk/src/resources/find.ts
+++ b/packages/sdk/src/resources/find.ts
@@ -27,42 +27,6 @@ export class Find extends APIResource {
}
}
-export interface Match {
- absolute_offset: number;
-
- line_number: number;
-
- lines: Match.Lines;
-
- path: Match.Path;
-
- submatches: Array<Match.Submatch>;
-}
-
-export namespace Match {
- export interface Lines {
- text: string;
- }
-
- export interface Path {
- text: string;
- }
-
- export interface Submatch {
- end: number;
-
- match: Submatch.Match;
-
- start: number;
- }
-
- export namespace Submatch {
- export interface Match {
- text: string;
- }
- }
-}
-
export interface Symbol {
kind: number;
@@ -105,7 +69,45 @@ export type FindFilesResponse = Array<string>;
export type FindSymbolsResponse = Array<Symbol>;
-export type FindTextResponse = Array<Match>;
+export type FindTextResponse = Array<FindTextResponse.FindTextResponseItem>;
+
+export namespace FindTextResponse {
+ export interface FindTextResponseItem {
+ absolute_offset: number;
+
+ line_number: number;
+
+ lines: FindTextResponseItem.Lines;
+
+ path: FindTextResponseItem.Path;
+
+ submatches: Array<FindTextResponseItem.Submatch>;
+ }
+
+ export namespace FindTextResponseItem {
+ export interface Lines {
+ text: string;
+ }
+
+ export interface Path {
+ text: string;
+ }
+
+ export interface Submatch {
+ end: number;
+
+ match: Submatch.Match;
+
+ start: number;
+ }
+
+ export namespace Submatch {
+ export interface Match {
+ text: string;
+ }
+ }
+ }
+}
export interface FindFilesParams {
query: string;
@@ -121,7 +123,6 @@ export interface FindTextParams {
export declare namespace Find {
export {
- type Match as Match,
type Symbol as Symbol,
type FindFilesResponse as FindFilesResponse,
type FindSymbolsResponse as FindSymbolsResponse,
diff --git a/packages/sdk/src/resources/index.ts b/packages/sdk/src/resources/index.ts
index db8bde9b4..4e7934af1 100644
--- a/packages/sdk/src/resources/index.ts
+++ b/packages/sdk/src/resources/index.ts
@@ -31,7 +31,6 @@ export {
} from './file';
export {
Find,
- type Match,
type Symbol,
type FindFilesResponse,
type FindSymbolsResponse,
diff --git a/packages/sdk/src/resources/session.ts b/packages/sdk/src/resources/session.ts
index 322c9e9ae..5dbdc31f8 100644
--- a/packages/sdk/src/resources/session.ts
+++ b/packages/sdk/src/resources/session.ts
@@ -270,6 +270,8 @@ export namespace Session {
export interface Revert {
messageID: string;
+ diff?: string;
+
partID?: string;
snapshot?: string;
@@ -541,6 +543,8 @@ export interface SessionChatParams {
mode?: string;
+ system?: string;
+
tools?: { [key: string]: boolean };
}
diff --git a/packages/sdk/tests/api-resources/session.test.ts b/packages/sdk/tests/api-resources/session.test.ts
index 1c4984a62..2acf08251 100644
--- a/packages/sdk/tests/api-resources/session.test.ts
+++ b/packages/sdk/tests/api-resources/session.test.ts
@@ -77,6 +77,7 @@ describe('resource session', () => {
providerID: 'providerID',
messageID: 'msg',
mode: 'mode',
+ system: 'system',
tools: { foo: true },
});
});