@opencode-ai/sdk 1.1.6 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { type Client, type Options as Options2, type TDataShape } from "./client/index.js";
2
- import type { AgentPartInput, AppAgentsResponses, AppLogErrors, AppLogResponses, Auth as Auth2, AuthSetErrors, AuthSetResponses, CommandListResponses, Config as Config2, ConfigGetResponses, ConfigProvidersResponses, ConfigUpdateErrors, ConfigUpdateResponses, EventSubscribeResponses, EventTuiCommandExecute, EventTuiPromptAppend, EventTuiSessionSelect, EventTuiToastShow, ExperimentalResourceListResponses, FileListResponses, FilePartInput, FilePartSource, FileReadResponses, FileStatusResponses, FindFilesResponses, FindSymbolsResponses, FindTextResponses, FormatterStatusResponses, GlobalDisposeResponses, GlobalEventResponses, GlobalHealthResponses, InstanceDisposeResponses, LspStatusResponses, McpAddErrors, McpAddResponses, McpAuthAuthenticateErrors, McpAuthAuthenticateResponses, McpAuthCallbackErrors, McpAuthCallbackResponses, McpAuthRemoveErrors, McpAuthRemoveResponses, McpAuthStartErrors, McpAuthStartResponses, McpConnectResponses, McpDisconnectResponses, McpLocalConfig, McpRemoteConfig, McpStatusResponses, Part as Part2, PartDeleteErrors, PartDeleteResponses, PartUpdateErrors, PartUpdateResponses, PathGetResponses, PermissionListResponses, PermissionReplyErrors, PermissionReplyResponses, PermissionRespondErrors, PermissionRespondResponses, PermissionRuleset, ProjectCurrentResponses, ProjectListResponses, ProjectUpdateErrors, ProjectUpdateResponses, ProviderAuthResponses, ProviderListResponses, ProviderOauthAuthorizeErrors, ProviderOauthAuthorizeResponses, ProviderOauthCallbackErrors, ProviderOauthCallbackResponses, PtyConnectErrors, PtyConnectResponses, PtyCreateErrors, PtyCreateResponses, PtyGetErrors, PtyGetResponses, PtyListResponses, PtyRemoveErrors, PtyRemoveResponses, PtyUpdateErrors, PtyUpdateResponses, SessionAbortErrors, SessionAbortResponses, SessionChildrenErrors, SessionChildrenResponses, SessionCommandErrors, SessionCommandResponses, SessionCreateErrors, SessionCreateResponses, SessionDeleteErrors, SessionDeleteResponses, SessionDiffErrors, SessionDiffResponses, SessionForkResponses, SessionGetErrors, SessionGetResponses, SessionInitErrors, SessionInitResponses, SessionListResponses, SessionMessageErrors, SessionMessageResponses, SessionMessagesErrors, SessionMessagesResponses, SessionPromptAsyncErrors, SessionPromptAsyncResponses, SessionPromptErrors, SessionPromptResponses, SessionRevertErrors, SessionRevertResponses, SessionShareErrors, SessionShareResponses, SessionShellErrors, SessionShellResponses, SessionStatusErrors, SessionStatusResponses, SessionSummarizeErrors, SessionSummarizeResponses, SessionTodoErrors, SessionTodoResponses, SessionUnrevertErrors, SessionUnrevertResponses, SessionUnshareErrors, SessionUnshareResponses, SessionUpdateErrors, SessionUpdateResponses, SubtaskPartInput, TextPartInput, ToolIdsErrors, ToolIdsResponses, ToolListErrors, ToolListResponses, TuiAppendPromptErrors, TuiAppendPromptResponses, TuiClearPromptResponses, TuiControlNextResponses, TuiControlResponseResponses, TuiExecuteCommandErrors, TuiExecuteCommandResponses, TuiOpenHelpResponses, TuiOpenModelsResponses, TuiOpenSessionsResponses, TuiOpenThemesResponses, TuiPublishErrors, TuiPublishResponses, TuiSelectSessionErrors, TuiSelectSessionResponses, TuiShowToastResponses, TuiSubmitPromptResponses, VcsGetResponses, WorktreeCreateErrors, WorktreeCreateInput, WorktreeCreateResponses, WorktreeListResponses } from "./types.gen.js";
2
+ import type { AgentPartInput, AppAgentsResponses, AppLogErrors, AppLogResponses, Auth as Auth2, AuthSetErrors, AuthSetResponses, CommandListResponses, Config as Config2, ConfigGetResponses, ConfigProvidersResponses, ConfigUpdateErrors, ConfigUpdateResponses, EventSubscribeResponses, EventTuiCommandExecute, EventTuiPromptAppend, EventTuiSessionSelect, EventTuiToastShow, ExperimentalResourceListResponses, FileListResponses, FilePartInput, FilePartSource, FileReadResponses, FileStatusResponses, FindFilesResponses, FindSymbolsResponses, FindTextResponses, FormatterStatusResponses, GlobalDisposeResponses, GlobalEventResponses, GlobalHealthResponses, InstanceDisposeResponses, LspStatusResponses, McpAddErrors, McpAddResponses, McpAuthAuthenticateErrors, McpAuthAuthenticateResponses, McpAuthCallbackErrors, McpAuthCallbackResponses, McpAuthRemoveErrors, McpAuthRemoveResponses, McpAuthStartErrors, McpAuthStartResponses, McpConnectResponses, McpDisconnectResponses, McpLocalConfig, McpRemoteConfig, McpStatusResponses, Part as Part2, PartDeleteErrors, PartDeleteResponses, PartUpdateErrors, PartUpdateResponses, PathGetResponses, PermissionListResponses, PermissionReplyErrors, PermissionReplyResponses, PermissionRespondErrors, PermissionRespondResponses, PermissionRuleset, ProjectCurrentResponses, ProjectListResponses, ProjectUpdateErrors, ProjectUpdateResponses, ProviderAuthResponses, ProviderListResponses, ProviderOauthAuthorizeErrors, ProviderOauthAuthorizeResponses, ProviderOauthCallbackErrors, ProviderOauthCallbackResponses, PtyConnectErrors, PtyConnectResponses, PtyCreateErrors, PtyCreateResponses, PtyGetErrors, PtyGetResponses, PtyListResponses, PtyRemoveErrors, PtyRemoveResponses, PtyUpdateErrors, PtyUpdateResponses, QuestionAnswer, QuestionListResponses, QuestionRejectErrors, QuestionRejectResponses, QuestionReplyErrors, QuestionReplyResponses, SessionAbortErrors, SessionAbortResponses, SessionChildrenErrors, SessionChildrenResponses, SessionCommandErrors, SessionCommandResponses, SessionCreateErrors, SessionCreateResponses, SessionDeleteErrors, SessionDeleteResponses, SessionDiffErrors, SessionDiffResponses, SessionForkResponses, SessionGetErrors, SessionGetResponses, SessionInitErrors, SessionInitResponses, SessionListResponses, SessionMessageErrors, SessionMessageResponses, SessionMessagesErrors, SessionMessagesResponses, SessionPromptAsyncErrors, SessionPromptAsyncResponses, SessionPromptErrors, SessionPromptResponses, SessionRevertErrors, SessionRevertResponses, SessionShareErrors, SessionShareResponses, SessionShellErrors, SessionShellResponses, SessionStatusErrors, SessionStatusResponses, SessionSummarizeErrors, SessionSummarizeResponses, SessionTodoErrors, SessionTodoResponses, SessionUnrevertErrors, SessionUnrevertResponses, SessionUnshareErrors, SessionUnshareResponses, SessionUpdateErrors, SessionUpdateResponses, SubtaskPartInput, TextPartInput, ToolIdsErrors, ToolIdsResponses, ToolListErrors, ToolListResponses, TuiAppendPromptErrors, TuiAppendPromptResponses, TuiClearPromptResponses, TuiControlNextResponses, TuiControlResponseResponses, TuiExecuteCommandErrors, TuiExecuteCommandResponses, TuiOpenHelpResponses, TuiOpenModelsResponses, TuiOpenSessionsResponses, TuiOpenThemesResponses, TuiPublishErrors, TuiPublishResponses, TuiSelectSessionErrors, TuiSelectSessionResponses, TuiShowToastResponses, TuiSubmitPromptResponses, VcsGetResponses, WorktreeCreateErrors, WorktreeCreateInput, WorktreeCreateResponses, WorktreeListResponses } from "./types.gen.js";
3
3
  export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {
4
4
  /**
5
5
  * You can provide a client instance returned by `createClient()` instead of
@@ -568,6 +568,35 @@ export declare class Permission extends HeyApiClient {
568
568
  directory?: string;
569
569
  }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<PermissionListResponses, unknown, ThrowOnError, "fields">;
570
570
  }
571
+ export declare class Question extends HeyApiClient {
572
+ /**
573
+ * List pending questions
574
+ *
575
+ * Get all pending question requests across all sessions.
576
+ */
577
+ list<ThrowOnError extends boolean = false>(parameters?: {
578
+ directory?: string;
579
+ }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<QuestionListResponses, unknown, ThrowOnError, "fields">;
580
+ /**
581
+ * Reply to question request
582
+ *
583
+ * Provide answers to a question request from the AI assistant.
584
+ */
585
+ reply<ThrowOnError extends boolean = false>(parameters: {
586
+ requestID: string;
587
+ directory?: string;
588
+ answers?: Array<QuestionAnswer>;
589
+ }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<QuestionReplyResponses, QuestionReplyErrors, ThrowOnError, "fields">;
590
+ /**
591
+ * Reject question request
592
+ *
593
+ * Reject a question request from the AI assistant.
594
+ */
595
+ reject<ThrowOnError extends boolean = false>(parameters: {
596
+ requestID: string;
597
+ directory?: string;
598
+ }, options?: Options<never, ThrowOnError>): import("./client/types.gen.js").RequestResult<QuestionRejectResponses, QuestionRejectErrors, ThrowOnError, "fields">;
599
+ }
571
600
  export declare class Command extends HeyApiClient {
572
601
  /**
573
602
  * List commands
@@ -967,6 +996,7 @@ export declare class OpencodeClient extends HeyApiClient {
967
996
  session: Session;
968
997
  part: Part;
969
998
  permission: Permission;
999
+ question: Question;
970
1000
  command: Command;
971
1001
  provider: Provider;
972
1002
  find: Find;
@@ -1084,6 +1084,67 @@ export class Permission extends HeyApiClient {
1084
1084
  });
1085
1085
  }
1086
1086
  }
1087
+ export class Question extends HeyApiClient {
1088
+ /**
1089
+ * List pending questions
1090
+ *
1091
+ * Get all pending question requests across all sessions.
1092
+ */
1093
+ list(parameters, options) {
1094
+ const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "directory" }] }]);
1095
+ return (options?.client ?? this.client).get({
1096
+ url: "/question",
1097
+ ...options,
1098
+ ...params,
1099
+ });
1100
+ }
1101
+ /**
1102
+ * Reply to question request
1103
+ *
1104
+ * Provide answers to a question request from the AI assistant.
1105
+ */
1106
+ reply(parameters, options) {
1107
+ const params = buildClientParams([parameters], [
1108
+ {
1109
+ args: [
1110
+ { in: "path", key: "requestID" },
1111
+ { in: "query", key: "directory" },
1112
+ { in: "body", key: "answers" },
1113
+ ],
1114
+ },
1115
+ ]);
1116
+ return (options?.client ?? this.client).post({
1117
+ url: "/question/{requestID}/reply",
1118
+ ...options,
1119
+ ...params,
1120
+ headers: {
1121
+ "Content-Type": "application/json",
1122
+ ...options?.headers,
1123
+ ...params.headers,
1124
+ },
1125
+ });
1126
+ }
1127
+ /**
1128
+ * Reject question request
1129
+ *
1130
+ * Reject a question request from the AI assistant.
1131
+ */
1132
+ reject(parameters, options) {
1133
+ const params = buildClientParams([parameters], [
1134
+ {
1135
+ args: [
1136
+ { in: "path", key: "requestID" },
1137
+ { in: "query", key: "directory" },
1138
+ ],
1139
+ },
1140
+ ]);
1141
+ return (options?.client ?? this.client).post({
1142
+ url: "/question/{requestID}/reject",
1143
+ ...options,
1144
+ ...params,
1145
+ });
1146
+ }
1147
+ }
1087
1148
  export class Command extends HeyApiClient {
1088
1149
  /**
1089
1150
  * List commands
@@ -1854,6 +1915,7 @@ export class OpencodeClient extends HeyApiClient {
1854
1915
  session = new Session({ client: this.client });
1855
1916
  part = new Part({ client: this.client });
1856
1917
  permission = new Permission({ client: this.client });
1918
+ question = new Question({ client: this.client });
1857
1919
  command = new Command({ client: this.client });
1858
1920
  provider = new Provider({ client: this.client });
1859
1921
  find = new Find({ client: this.client });
@@ -450,6 +450,66 @@ export type EventSessionIdle = {
450
450
  sessionID: string;
451
451
  };
452
452
  };
453
+ export type QuestionOption = {
454
+ /**
455
+ * Display text (1-5 words, concise)
456
+ */
457
+ label: string;
458
+ /**
459
+ * Explanation of choice
460
+ */
461
+ description: string;
462
+ };
463
+ export type QuestionInfo = {
464
+ /**
465
+ * Complete question
466
+ */
467
+ question: string;
468
+ /**
469
+ * Very short label (max 12 chars)
470
+ */
471
+ header: string;
472
+ /**
473
+ * Available choices
474
+ */
475
+ options: Array<QuestionOption>;
476
+ /**
477
+ * Allow selecting multiple choices
478
+ */
479
+ multiple?: boolean;
480
+ };
481
+ export type QuestionRequest = {
482
+ id: string;
483
+ sessionID: string;
484
+ /**
485
+ * Questions to ask
486
+ */
487
+ questions: Array<QuestionInfo>;
488
+ tool?: {
489
+ messageID: string;
490
+ callID: string;
491
+ };
492
+ };
493
+ export type EventQuestionAsked = {
494
+ type: "question.asked";
495
+ properties: QuestionRequest;
496
+ };
497
+ export type QuestionAnswer = Array<string>;
498
+ export type EventQuestionReplied = {
499
+ type: "question.replied";
500
+ properties: {
501
+ sessionID: string;
502
+ requestID: string;
503
+ answers: Array<QuestionAnswer>;
504
+ };
505
+ };
506
+ export type EventQuestionRejected = {
507
+ type: "question.rejected";
508
+ properties: {
509
+ sessionID: string;
510
+ requestID: string;
511
+ };
512
+ };
453
513
  export type EventSessionCompacted = {
454
514
  type: "session.compacted";
455
515
  properties: {
@@ -663,7 +723,7 @@ export type EventGlobalDisposed = {
663
723
  [key: string]: unknown;
664
724
  };
665
725
  };
666
- export type Event = EventInstallationUpdated | EventInstallationUpdateAvailable | EventProjectUpdated | EventServerInstanceDisposed | EventLspClientDiagnostics | EventLspUpdated | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventPermissionAsked | EventPermissionReplied | EventSessionStatus | EventSessionIdle | EventSessionCompacted | EventFileEdited | EventTodoUpdated | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventCommandExecuted | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | EventSessionDiff | EventSessionError | EventFileWatcherUpdated | EventVcsBranchUpdated | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted | EventServerConnected | EventGlobalDisposed;
726
+ export type Event = EventInstallationUpdated | EventInstallationUpdateAvailable | EventProjectUpdated | EventServerInstanceDisposed | EventLspClientDiagnostics | EventLspUpdated | EventMessageUpdated | EventMessageRemoved | EventMessagePartUpdated | EventMessagePartRemoved | EventPermissionAsked | EventPermissionReplied | EventSessionStatus | EventSessionIdle | EventQuestionAsked | EventQuestionReplied | EventQuestionRejected | EventSessionCompacted | EventFileEdited | EventTodoUpdated | EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | EventMcpToolsChanged | EventCommandExecuted | EventSessionCreated | EventSessionUpdated | EventSessionDeleted | EventSessionDiff | EventSessionError | EventFileWatcherUpdated | EventVcsBranchUpdated | EventPtyCreated | EventPtyUpdated | EventPtyExited | EventPtyDeleted | EventServerConnected | EventGlobalDisposed;
667
727
  export type GlobalEvent = {
668
728
  directory: string;
669
729
  payload: Event;
@@ -1076,6 +1136,7 @@ export type PermissionConfig = {
1076
1136
  external_directory?: PermissionRuleConfig;
1077
1137
  todowrite?: PermissionActionConfig;
1078
1138
  todoread?: PermissionActionConfig;
1139
+ question?: PermissionActionConfig;
1079
1140
  webfetch?: PermissionActionConfig;
1080
1141
  websearch?: PermissionActionConfig;
1081
1142
  codesearch?: PermissionActionConfig;
@@ -3097,6 +3158,82 @@ export type PermissionListResponses = {
3097
3158
  200: Array<PermissionRequest>;
3098
3159
  };
3099
3160
  export type PermissionListResponse = PermissionListResponses[keyof PermissionListResponses];
3161
+ export type QuestionListData = {
3162
+ body?: never;
3163
+ path?: never;
3164
+ query?: {
3165
+ directory?: string;
3166
+ };
3167
+ url: "/question";
3168
+ };
3169
+ export type QuestionListResponses = {
3170
+ /**
3171
+ * List of pending questions
3172
+ */
3173
+ 200: Array<QuestionRequest>;
3174
+ };
3175
+ export type QuestionListResponse = QuestionListResponses[keyof QuestionListResponses];
3176
+ export type QuestionReplyData = {
3177
+ body?: {
3178
+ /**
3179
+ * User answers in order of questions (each answer is an array of selected labels)
3180
+ */
3181
+ answers: Array<QuestionAnswer>;
3182
+ };
3183
+ path: {
3184
+ requestID: string;
3185
+ };
3186
+ query?: {
3187
+ directory?: string;
3188
+ };
3189
+ url: "/question/{requestID}/reply";
3190
+ };
3191
+ export type QuestionReplyErrors = {
3192
+ /**
3193
+ * Bad request
3194
+ */
3195
+ 400: BadRequestError;
3196
+ /**
3197
+ * Not found
3198
+ */
3199
+ 404: NotFoundError;
3200
+ };
3201
+ export type QuestionReplyError = QuestionReplyErrors[keyof QuestionReplyErrors];
3202
+ export type QuestionReplyResponses = {
3203
+ /**
3204
+ * Question answered successfully
3205
+ */
3206
+ 200: boolean;
3207
+ };
3208
+ export type QuestionReplyResponse = QuestionReplyResponses[keyof QuestionReplyResponses];
3209
+ export type QuestionRejectData = {
3210
+ body?: never;
3211
+ path: {
3212
+ requestID: string;
3213
+ };
3214
+ query?: {
3215
+ directory?: string;
3216
+ };
3217
+ url: "/question/{requestID}/reject";
3218
+ };
3219
+ export type QuestionRejectErrors = {
3220
+ /**
3221
+ * Bad request
3222
+ */
3223
+ 400: BadRequestError;
3224
+ /**
3225
+ * Not found
3226
+ */
3227
+ 404: NotFoundError;
3228
+ };
3229
+ export type QuestionRejectError = QuestionRejectErrors[keyof QuestionRejectErrors];
3230
+ export type QuestionRejectResponses = {
3231
+ /**
3232
+ * Question rejected successfully
3233
+ */
3234
+ 200: boolean;
3235
+ };
3236
+ export type QuestionRejectResponse = QuestionRejectResponses[keyof QuestionRejectResponses];
3100
3237
  export type CommandListData = {
3101
3238
  body?: never;
3102
3239
  path?: never;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@opencode-ai/sdk",
4
- "version": "1.1.6",
4
+ "version": "1.1.8",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "scripts": {