Skip to content

Commit 5a8c2e7

Browse files
feat(api): api update
1 parent 6d9aed6 commit 5a8c2e7

File tree

4 files changed

+63
-29
lines changed

4 files changed

+63
-29
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 22
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-8792f91dd070f7b4ee671fc86e8a03976dc7fb6ee49f8c99ad989e1597003774.yml
3-
openapi_spec_hash: fe9dc3a074be560de0b97df9b5af2c1b
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-f9a2ce0fd0addc365614ef8c4bb1746f5ba14bc92f3d01f4cd85fb3b33a8d975.yml
3+
openapi_spec_hash: c58dec8e5250d41f216cded6afb763af
44
config_hash: b7f3d9742335715c458494988498b183

src/resources/config.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,10 @@ export interface Config {
8080
provider?: { [key: string]: Config.Provider };
8181

8282
/**
83-
* Control sharing behavior: 'auto' enables automatic sharing, 'disabled' disables
84-
* all sharing
83+
* Control sharing behavior:'manual' allows manual sharing via commands, 'auto'
84+
* enables automatic sharing, 'disabled' disables all sharing
8585
*/
86-
share?: 'auto' | 'disabled';
86+
share?: 'manual' | 'auto' | 'disabled';
8787

8888
/**
8989
* Theme name to use for the interface
@@ -355,10 +355,15 @@ export interface KeybindsConfig {
355355
session_unshare: string;
356356

357357
/**
358-
* Switch mode
358+
* Next mode
359359
*/
360360
switch_mode: string;
361361

362+
/**
363+
* Previous Mode
364+
*/
365+
switch_mode_reverse: string;
366+
362367
/**
363368
* List available themes
364369
*/
@@ -409,6 +414,11 @@ export interface McpRemoteConfig {
409414
* Enable or disable the MCP server on startup
410415
*/
411416
enabled?: boolean;
417+
418+
/**
419+
* Headers to send with the request
420+
*/
421+
headers?: { [key: string]: string };
412422
}
413423

414424
export interface ModeConfig {

src/resources/session.ts

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -402,15 +402,51 @@ export namespace SessionMessagesResponse {
402402
export type SessionSummarizeResponse = boolean;
403403

404404
export interface SessionChatParams {
405-
messageID: string;
406-
407-
mode: string;
408-
409405
modelID: string;
410406

411-
parts: Array<FilePart | TextPart>;
407+
parts: Array<SessionChatParams.UnionMember0 | SessionChatParams.UnionMember1>;
412408

413409
providerID: string;
410+
411+
sessionID: string;
412+
413+
messageID?: string;
414+
415+
mode?: string;
416+
}
417+
418+
export namespace SessionChatParams {
419+
export interface UnionMember0 {
420+
text: string;
421+
422+
type: 'text';
423+
424+
id?: string;
425+
426+
synthetic?: boolean;
427+
428+
time?: UnionMember0.Time;
429+
}
430+
431+
export namespace UnionMember0 {
432+
export interface Time {
433+
start: number;
434+
435+
end?: number;
436+
}
437+
}
438+
439+
export interface UnionMember1 {
440+
mime: string;
441+
442+
type: 'file';
443+
444+
url: string;
445+
446+
id?: string;
447+
448+
filename?: string;
449+
}
414450
}
415451

416452
export interface SessionInitParams {

tests/api-resources/session.test.ts

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,10 @@ describe('resource session', () => {
5656
// skipped: tests are disabled for the time being
5757
test.skip('chat: only required params', async () => {
5858
const responsePromise = client.session.chat('id', {
59-
messageID: 'messageID',
60-
mode: 'mode',
6159
modelID: 'modelID',
62-
parts: [
63-
{ id: 'id', messageID: 'messageID', mime: 'mime', sessionID: 'sessionID', type: 'file', url: 'url' },
64-
],
60+
parts: [{ text: 'text', type: 'text' }],
6561
providerID: 'providerID',
62+
sessionID: 'ses',
6663
});
6764
const rawResponse = await responsePromise.asResponse();
6865
expect(rawResponse).toBeInstanceOf(Response);
@@ -76,21 +73,12 @@ describe('resource session', () => {
7673
// skipped: tests are disabled for the time being
7774
test.skip('chat: required and optional params', async () => {
7875
const response = await client.session.chat('id', {
79-
messageID: 'messageID',
80-
mode: 'mode',
8176
modelID: 'modelID',
82-
parts: [
83-
{
84-
id: 'id',
85-
messageID: 'messageID',
86-
mime: 'mime',
87-
sessionID: 'sessionID',
88-
type: 'file',
89-
url: 'url',
90-
filename: 'filename',
91-
},
92-
],
77+
parts: [{ text: 'text', type: 'text', id: 'id', synthetic: true, time: { start: 0, end: 0 } }],
9378
providerID: 'providerID',
79+
sessionID: 'ses',
80+
messageID: 'msg',
81+
mode: 'mode',
9482
});
9583
});
9684

0 commit comments

Comments
 (0)