Buckets:
| // This file is auto-generated by @hey-api/openapi-ts | |
| import { client } from "./client.gen.js" | |
| import { buildClientParams, type Client, type Options as Options2, type TDataShape } from "./client/index.js" | |
| import type { | |
| AgentPartInput, | |
| AppAgentsErrors, | |
| AppAgentsResponses, | |
| AppLogErrors, | |
| AppLogResponses, | |
| AppSkillsErrors, | |
| AppSkillsResponses, | |
| Auth as Auth3, | |
| AuthRemoveErrors, | |
| AuthRemoveResponses, | |
| AuthSetErrors, | |
| AuthSetResponses, | |
| CommandListErrors, | |
| CommandListResponses, | |
| Config as Config3, | |
| ConfigGetErrors, | |
| ConfigGetResponses, | |
| ConfigProvidersErrors, | |
| ConfigProvidersResponses, | |
| ConfigUpdateErrors, | |
| ConfigUpdateResponses, | |
| EventSubscribeResponses, | |
| EventTuiCommandExecute, | |
| EventTuiPromptAppend, | |
| EventTuiSessionSelect, | |
| EventTuiToastShow, | |
| ExperimentalConsoleGetErrors, | |
| ExperimentalConsoleGetResponses, | |
| ExperimentalConsoleListOrgsErrors, | |
| ExperimentalConsoleListOrgsResponses, | |
| ExperimentalConsoleSwitchOrgResponses, | |
| ExperimentalControlPlaneMoveSessionErrors, | |
| ExperimentalControlPlaneMoveSessionResponses, | |
| ExperimentalProjectCopyGenerateNameErrors, | |
| ExperimentalProjectCopyGenerateNameResponses, | |
| ExperimentalResourceListErrors, | |
| ExperimentalResourceListResponses, | |
| ExperimentalSessionBackgroundErrors, | |
| ExperimentalSessionBackgroundResponses, | |
| ExperimentalSessionListErrors, | |
| ExperimentalSessionListResponses, | |
| ExperimentalWorkspaceAdapterListErrors, | |
| ExperimentalWorkspaceAdapterListResponses, | |
| ExperimentalWorkspaceCreateErrors, | |
| ExperimentalWorkspaceCreateResponses, | |
| ExperimentalWorkspaceListErrors, | |
| ExperimentalWorkspaceListResponses, | |
| ExperimentalWorkspaceRemoveErrors, | |
| ExperimentalWorkspaceRemoveResponses, | |
| ExperimentalWorkspaceStatusErrors, | |
| ExperimentalWorkspaceStatusResponses, | |
| ExperimentalWorkspaceSyncListErrors, | |
| ExperimentalWorkspaceSyncListResponses, | |
| ExperimentalWorkspaceWarpErrors, | |
| ExperimentalWorkspaceWarpResponses, | |
| FileListErrors, | |
| FileListResponses, | |
| FilePartInput, | |
| FilePartSource, | |
| FileReadErrors, | |
| FileReadResponses, | |
| FileStatusErrors, | |
| FileStatusResponses, | |
| FindFilesErrors, | |
| FindFilesResponses, | |
| FindSymbolsErrors, | |
| FindSymbolsResponses, | |
| FindTextErrors, | |
| FindTextResponses, | |
| FormatterStatusErrors, | |
| FormatterStatusResponses, | |
| GlobalConfigGetErrors, | |
| GlobalConfigGetResponses, | |
| GlobalConfigUpdateErrors, | |
| GlobalConfigUpdateResponses, | |
| GlobalDisposeErrors, | |
| GlobalDisposeResponses, | |
| GlobalEventErrors, | |
| GlobalEventResponses, | |
| GlobalHealthErrors, | |
| GlobalHealthResponses, | |
| GlobalUpgradeErrors, | |
| GlobalUpgradeResponses, | |
| InstanceDisposeErrors, | |
| InstanceDisposeResponses, | |
| LocationRef, | |
| LspStatusErrors, | |
| LspStatusResponses, | |
| McpAddErrors, | |
| McpAddResponses, | |
| McpAuthAuthenticateErrors, | |
| McpAuthAuthenticateResponses, | |
| McpAuthCallbackErrors, | |
| McpAuthCallbackResponses, | |
| McpAuthRemoveErrors, | |
| McpAuthRemoveResponses, | |
| McpAuthStartErrors, | |
| McpAuthStartResponses, | |
| McpConnectErrors, | |
| McpConnectResponses, | |
| McpDisconnectErrors, | |
| McpDisconnectResponses, | |
| McpLocalConfig, | |
| McpRemoteConfig, | |
| McpStatusErrors, | |
| McpStatusResponses, | |
| MoveSessionDestination, | |
| OutputFormat, | |
| Part as Part2, | |
| PartDeleteErrors, | |
| PartDeleteResponses, | |
| PartUpdateErrors, | |
| PartUpdateResponses, | |
| PathGetErrors, | |
| PathGetResponses, | |
| PermissionListErrors, | |
| PermissionListResponses, | |
| PermissionReplyErrors, | |
| PermissionReplyResponses, | |
| PermissionRespondErrors, | |
| PermissionRespondResponses, | |
| PermissionRuleset, | |
| PermissionV2Reply, | |
| ProjectCurrentErrors, | |
| ProjectCurrentResponses, | |
| ProjectDirectoriesErrors, | |
| ProjectDirectoriesResponses, | |
| ProjectInitGitErrors, | |
| ProjectInitGitResponses, | |
| ProjectListErrors, | |
| ProjectListResponses, | |
| ProjectUpdateErrors, | |
| ProjectUpdateResponses, | |
| Prompt, | |
| ProviderAuthErrors, | |
| ProviderAuthResponses, | |
| ProviderListErrors, | |
| ProviderListResponses, | |
| ProviderOauthAuthorizeErrors, | |
| ProviderOauthAuthorizeResponses, | |
| ProviderOauthCallbackErrors, | |
| ProviderOauthCallbackResponses, | |
| PtyConnectErrors, | |
| PtyConnectResponses, | |
| PtyConnectTokenErrors, | |
| PtyConnectTokenResponses, | |
| PtyCreateErrors, | |
| PtyCreateResponses, | |
| PtyGetErrors, | |
| PtyGetResponses, | |
| PtyListErrors, | |
| PtyListResponses, | |
| PtyRemoveErrors, | |
| PtyRemoveResponses, | |
| PtyShellsErrors, | |
| PtyShellsResponses, | |
| PtyUpdateErrors, | |
| PtyUpdateResponses, | |
| QuestionAnswer, | |
| QuestionListErrors, | |
| QuestionListResponses, | |
| QuestionRejectErrors, | |
| QuestionRejectResponses, | |
| QuestionReplyErrors, | |
| QuestionReplyResponses, | |
| QuestionV2Reply, | |
| SessionAbortErrors, | |
| SessionAbortResponses, | |
| SessionChildrenErrors, | |
| SessionChildrenResponses, | |
| SessionCommandErrors, | |
| SessionCommandResponses, | |
| SessionCreateErrors, | |
| SessionCreateResponses, | |
| SessionDeleteErrors, | |
| SessionDeleteMessageErrors, | |
| SessionDeleteMessageResponses, | |
| SessionDeleteResponses, | |
| SessionDiffErrors, | |
| SessionDiffResponses, | |
| SessionForkErrors, | |
| SessionForkResponses, | |
| SessionGetErrors, | |
| SessionGetResponses, | |
| SessionInitErrors, | |
| SessionInitResponses, | |
| SessionListErrors, | |
| 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, | |
| SyncHistoryListErrors, | |
| SyncHistoryListResponses, | |
| SyncReplayErrors, | |
| SyncReplayResponses, | |
| SyncStartErrors, | |
| SyncStartResponses, | |
| SyncStealErrors, | |
| SyncStealResponses, | |
| TextPartInput, | |
| ToolIdsErrors, | |
| ToolIdsResponses, | |
| ToolListErrors, | |
| ToolListResponses, | |
| TuiAppendPromptErrors, | |
| TuiAppendPromptResponses, | |
| TuiClearPromptErrors, | |
| TuiClearPromptResponses, | |
| TuiControlNextErrors, | |
| TuiControlNextResponses, | |
| TuiControlResponseErrors, | |
| TuiControlResponseResponses, | |
| TuiExecuteCommandErrors, | |
| TuiExecuteCommandResponses, | |
| TuiOpenHelpErrors, | |
| TuiOpenHelpResponses, | |
| TuiOpenModelsErrors, | |
| TuiOpenModelsResponses, | |
| TuiOpenSessionsErrors, | |
| TuiOpenSessionsResponses, | |
| TuiOpenThemesErrors, | |
| TuiOpenThemesResponses, | |
| TuiPublishErrors, | |
| TuiPublishResponses, | |
| TuiSelectSessionErrors, | |
| TuiSelectSessionResponses, | |
| TuiShowToastErrors, | |
| TuiShowToastResponses, | |
| TuiSubmitPromptErrors, | |
| TuiSubmitPromptResponses, | |
| V2AgentListErrors, | |
| V2AgentListResponses, | |
| V2CommandListErrors, | |
| V2CommandListResponses, | |
| V2CredentialRemoveErrors, | |
| V2CredentialRemoveResponses, | |
| V2CredentialUpdateErrors, | |
| V2CredentialUpdateResponses, | |
| V2EventSubscribeErrors, | |
| V2EventSubscribeResponses, | |
| V2FsFindErrors, | |
| V2FsFindResponses, | |
| V2FsListErrors, | |
| V2FsListResponses, | |
| V2FsReadErrors, | |
| V2FsReadResponses, | |
| V2HealthGetErrors, | |
| V2HealthGetResponses, | |
| V2IntegrationAttemptCancelErrors, | |
| V2IntegrationAttemptCancelResponses, | |
| V2IntegrationAttemptCompleteErrors, | |
| V2IntegrationAttemptCompleteResponses, | |
| V2IntegrationAttemptStatusErrors, | |
| V2IntegrationAttemptStatusResponses, | |
| V2IntegrationConnectKeyErrors, | |
| V2IntegrationConnectKeyResponses, | |
| V2IntegrationConnectOauthErrors, | |
| V2IntegrationConnectOauthResponses, | |
| V2IntegrationGetErrors, | |
| V2IntegrationGetResponses, | |
| V2IntegrationListErrors, | |
| V2IntegrationListResponses, | |
| V2LocationGetErrors, | |
| V2LocationGetResponses, | |
| V2ModelListErrors, | |
| V2ModelListResponses, | |
| V2PermissionRequestListErrors, | |
| V2PermissionRequestListResponses, | |
| V2PermissionSavedListErrors, | |
| V2PermissionSavedListResponses, | |
| V2PermissionSavedRemoveErrors, | |
| V2PermissionSavedRemoveResponses, | |
| V2ProjectCopyCreateErrors, | |
| V2ProjectCopyCreateResponses, | |
| V2ProjectCopyRefreshErrors, | |
| V2ProjectCopyRefreshResponses, | |
| V2ProjectCopyRemoveErrors, | |
| V2ProjectCopyRemoveResponses, | |
| V2ProviderGetErrors, | |
| V2ProviderGetResponses, | |
| V2ProviderListErrors, | |
| V2ProviderListResponses, | |
| V2QuestionRequestListErrors, | |
| V2QuestionRequestListResponses, | |
| V2ReferenceListErrors, | |
| V2ReferenceListResponses, | |
| V2SessionCompactErrors, | |
| V2SessionCompactResponses, | |
| V2SessionContextErrors, | |
| V2SessionContextResponses, | |
| V2SessionCreateErrors, | |
| V2SessionCreateResponses, | |
| V2SessionGetErrors, | |
| V2SessionGetResponses, | |
| V2SessionListErrors, | |
| V2SessionListResponses, | |
| V2SessionMessagesErrors, | |
| V2SessionMessagesResponses, | |
| V2SessionPermissionListErrors, | |
| V2SessionPermissionListResponses, | |
| V2SessionPermissionReplyErrors, | |
| V2SessionPermissionReplyResponses, | |
| V2SessionPromptErrors, | |
| V2SessionPromptResponses, | |
| V2SessionQuestionListErrors, | |
| V2SessionQuestionListResponses, | |
| V2SessionQuestionRejectErrors, | |
| V2SessionQuestionRejectResponses, | |
| V2SessionQuestionReplyErrors, | |
| V2SessionQuestionReplyResponses, | |
| V2SessionWaitErrors, | |
| V2SessionWaitResponses, | |
| V2SkillListErrors, | |
| V2SkillListResponses, | |
| VcsApplyErrors, | |
| VcsApplyResponses, | |
| VcsDiffErrors, | |
| VcsDiffRawErrors, | |
| VcsDiffRawResponses, | |
| VcsDiffResponses, | |
| VcsGetErrors, | |
| VcsGetResponses, | |
| VcsStatusErrors, | |
| VcsStatusResponses, | |
| WorktreeCreateErrors, | |
| WorktreeCreateInput, | |
| WorktreeCreateResponses, | |
| WorktreeListErrors, | |
| WorktreeListResponses, | |
| WorktreeRemoveErrors, | |
| WorktreeRemoveInput, | |
| WorktreeRemoveResponses, | |
| WorktreeResetErrors, | |
| WorktreeResetInput, | |
| WorktreeResetResponses, | |
| } from "./types.gen.js" | |
| export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2< | |
| TData, | |
| ThrowOnError | |
| > & { | |
| /** | |
| * You can provide a client instance returned by `createClient()` instead of | |
| * individual options. This might be also useful if you want to implement a | |
| * custom client. | |
| */ | |
| client?: Client | |
| /** | |
| * You can pass arbitrary values through the `meta` object. This can be | |
| * used to access values that aren't defined as part of the SDK function. | |
| */ | |
| meta?: Record<string, unknown> | |
| } | |
| class HeyApiClient { | |
| protected client: Client | |
| constructor(args?: { client?: Client }) { | |
| this.client = args?.client ?? client | |
| } | |
| } | |
| class HeyApiRegistry<T> { | |
| private readonly defaultKey = "default" | |
| private readonly instances: Map<string, T> = new Map() | |
| get(key?: string): T { | |
| const instance = this.instances.get(key ?? this.defaultKey) | |
| if (!instance) { | |
| throw new Error(`No SDK client found. Create one with "new OpencodeClient()" to fix this error.`) | |
| } | |
| return instance | |
| } | |
| set(value: T, key?: string): void { | |
| this.instances.set(key ?? this.defaultKey, value) | |
| } | |
| } | |
| export class Auth extends HeyApiClient { | |
| /** | |
| * Remove auth credentials | |
| * | |
| * Remove authentication credentials | |
| */ | |
| public remove<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| providerID: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "providerID" }] }]) | |
| return (options?.client ?? this.client).delete<AuthRemoveResponses, AuthRemoveErrors, ThrowOnError>({ | |
| url: "/auth/{providerID}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Set auth credentials | |
| * | |
| * Set authentication credentials | |
| */ | |
| public set<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| providerID: string | |
| auth?: Auth3 | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "providerID" }, | |
| { key: "auth", map: "body" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).put<AuthSetResponses, AuthSetErrors, ThrowOnError>({ | |
| url: "/auth/{providerID}", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class App extends HeyApiClient { | |
| /** | |
| * Write log | |
| * | |
| * Write a log entry to the server logs with specified level and metadata. | |
| */ | |
| public log<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| service?: string | |
| level?: "debug" | "info" | "error" | "warn" | |
| message?: string | |
| extra?: { | |
| [key: string]: unknown | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "service" }, | |
| { in: "body", key: "level" }, | |
| { in: "body", key: "message" }, | |
| { in: "body", key: "extra" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<AppLogResponses, AppLogErrors, ThrowOnError>({ | |
| url: "/log", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * List agents | |
| * | |
| * Get a list of all available AI agents in the OpenCode system. | |
| */ | |
| public agents<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<AppAgentsResponses, AppAgentsErrors, ThrowOnError>({ | |
| url: "/agent", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * List skills | |
| * | |
| * Get a list of all available skills in the OpenCode system. | |
| */ | |
| public skills<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<AppSkillsResponses, AppSkillsErrors, ThrowOnError>({ | |
| url: "/skill", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class ControlPlane extends HeyApiClient { | |
| /** | |
| * Move session | |
| * | |
| * Move a session to another project directory, optionally transferring local changes. | |
| */ | |
| public moveSession<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| sessionID?: string | |
| destination?: MoveSessionDestination | |
| moveChanges?: boolean | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "body", key: "sessionID" }, | |
| { in: "body", key: "destination" }, | |
| { in: "body", key: "moveChanges" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| ExperimentalControlPlaneMoveSessionResponses, | |
| ExperimentalControlPlaneMoveSessionErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/control-plane/move-session", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class Console extends HeyApiClient { | |
| /** | |
| * Get active Console provider metadata | |
| * | |
| * Get the active Console org name and the set of provider IDs managed by that Console org. | |
| */ | |
| public get<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get< | |
| ExperimentalConsoleGetResponses, | |
| ExperimentalConsoleGetErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/console", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * List switchable Console orgs | |
| * | |
| * Get the available Console orgs across logged-in accounts, including the current active org. | |
| */ | |
| public listOrgs<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get< | |
| ExperimentalConsoleListOrgsResponses, | |
| ExperimentalConsoleListOrgsErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/console/orgs", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Switch active Console org | |
| * | |
| * Persist a new active Console account/org selection for the current local OpenCode state. | |
| */ | |
| public switchOrg<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| accountID?: string | |
| orgID?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "accountID" }, | |
| { in: "body", key: "orgID" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<ExperimentalConsoleSwitchOrgResponses, unknown, ThrowOnError>({ | |
| url: "/experimental/console/switch", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class Session extends HeyApiClient { | |
| /** | |
| * List sessions | |
| * | |
| * Get a list of all OpenCode sessions across projects, sorted by most recently updated. Archived sessions are excluded by default. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| roots?: boolean | "true" | "false" | |
| start?: number | |
| cursor?: number | |
| search?: string | |
| limit?: number | |
| archived?: boolean | "true" | "false" | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "query", key: "roots" }, | |
| { in: "query", key: "start" }, | |
| { in: "query", key: "cursor" }, | |
| { in: "query", key: "search" }, | |
| { in: "query", key: "limit" }, | |
| { in: "query", key: "archived" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get< | |
| ExperimentalSessionListResponses, | |
| ExperimentalSessionListErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/session", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Background subagents | |
| * | |
| * Detach any synchronous subagents currently blocking the session and continue them in the background. | |
| */ | |
| public background<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| ExperimentalSessionBackgroundResponses, | |
| ExperimentalSessionBackgroundErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/session/{sessionID}/background", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Resource extends HeyApiClient { | |
| /** | |
| * Get MCP resources | |
| * | |
| * Get all available MCP resources from connected servers. Optionally filter by name. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get< | |
| ExperimentalResourceListResponses, | |
| ExperimentalResourceListErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/resource", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class ProjectCopy extends HeyApiClient { | |
| /** | |
| * Generate project copy name | |
| * | |
| * Generate a short name for a project copy from task context. | |
| */ | |
| public generateName<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| projectID: string | |
| directory?: string | |
| workspace?: string | |
| context?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "projectID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "context" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| ExperimentalProjectCopyGenerateNameResponses, | |
| ExperimentalProjectCopyGenerateNameErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/project/{projectID}/copy/generate-name", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class Adapter extends HeyApiClient { | |
| /** | |
| * List workspace adapters | |
| * | |
| * List all available workspace adapters for the current project. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get< | |
| ExperimentalWorkspaceAdapterListResponses, | |
| ExperimentalWorkspaceAdapterListErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/workspace/adapter", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Workspace extends HeyApiClient { | |
| /** | |
| * List workspaces | |
| * | |
| * List all workspaces. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get< | |
| ExperimentalWorkspaceListResponses, | |
| ExperimentalWorkspaceListErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/workspace", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Create workspace | |
| * | |
| * Create a workspace for the current project. | |
| */ | |
| public create<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| id?: string | |
| type?: string | |
| branch?: string | null | |
| extra?: unknown | null | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "id" }, | |
| { in: "body", key: "type" }, | |
| { in: "body", key: "branch" }, | |
| { in: "body", key: "extra" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| ExperimentalWorkspaceCreateResponses, | |
| ExperimentalWorkspaceCreateErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/workspace", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Sync workspace list | |
| * | |
| * Register missing workspaces returned by workspace adapters. | |
| */ | |
| public syncList<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| ExperimentalWorkspaceSyncListResponses, | |
| ExperimentalWorkspaceSyncListErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/workspace/sync-list", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Workspace status | |
| * | |
| * Get connection status for workspaces in the current project. | |
| */ | |
| public status<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get< | |
| ExperimentalWorkspaceStatusResponses, | |
| ExperimentalWorkspaceStatusErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/workspace/status", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Remove workspace | |
| * | |
| * Remove an existing workspace. | |
| */ | |
| public remove<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| id: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "id" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).delete< | |
| ExperimentalWorkspaceRemoveResponses, | |
| ExperimentalWorkspaceRemoveErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/workspace/{id}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Warp session into workspace | |
| * | |
| * Move a session's sync history into the target workspace, or detach it to the local project. | |
| */ | |
| public warp<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| id?: string | null | |
| sessionID?: string | |
| copyChanges?: boolean | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "id" }, | |
| { in: "body", key: "sessionID" }, | |
| { in: "body", key: "copyChanges" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| ExperimentalWorkspaceWarpResponses, | |
| ExperimentalWorkspaceWarpErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/workspace/warp", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| private _adapter?: Adapter | |
| get adapter(): Adapter { | |
| return (this._adapter ??= new Adapter({ client: this.client })) | |
| } | |
| } | |
| export class Experimental extends HeyApiClient { | |
| private _controlPlane?: ControlPlane | |
| get controlPlane(): ControlPlane { | |
| return (this._controlPlane ??= new ControlPlane({ client: this.client })) | |
| } | |
| private _console?: Console | |
| get console(): Console { | |
| return (this._console ??= new Console({ client: this.client })) | |
| } | |
| private _session?: Session | |
| get session(): Session { | |
| return (this._session ??= new Session({ client: this.client })) | |
| } | |
| private _resource?: Resource | |
| get resource(): Resource { | |
| return (this._resource ??= new Resource({ client: this.client })) | |
| } | |
| private _projectCopy?: ProjectCopy | |
| get projectCopy(): ProjectCopy { | |
| return (this._projectCopy ??= new ProjectCopy({ client: this.client })) | |
| } | |
| private _workspace?: Workspace | |
| get workspace(): Workspace { | |
| return (this._workspace ??= new Workspace({ client: this.client })) | |
| } | |
| } | |
| export class Config extends HeyApiClient { | |
| /** | |
| * Get global configuration | |
| * | |
| * Retrieve the current global OpenCode configuration settings and preferences. | |
| */ | |
| public get<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) { | |
| return (options?.client ?? this.client).get<GlobalConfigGetResponses, GlobalConfigGetErrors, ThrowOnError>({ | |
| url: "/global/config", | |
| ...options, | |
| }) | |
| } | |
| /** | |
| * Update global configuration | |
| * | |
| * Update global OpenCode configuration settings and preferences. | |
| */ | |
| public update<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| config?: Config3 | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ key: "config", map: "body" }] }]) | |
| return (options?.client ?? this.client).patch<GlobalConfigUpdateResponses, GlobalConfigUpdateErrors, ThrowOnError>({ | |
| url: "/global/config", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class Global extends HeyApiClient { | |
| /** | |
| * Get health | |
| * | |
| * Get health information about the OpenCode server. | |
| */ | |
| public health<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) { | |
| return (options?.client ?? this.client).get<GlobalHealthResponses, GlobalHealthErrors, ThrowOnError>({ | |
| url: "/global/health", | |
| ...options, | |
| }) | |
| } | |
| /** | |
| * Get global events | |
| * | |
| * Subscribe to global events from the OpenCode system using server-sent events. | |
| */ | |
| public event<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) { | |
| return (options?.client ?? this.client).sse.get<GlobalEventResponses, GlobalEventErrors, ThrowOnError>({ | |
| url: "/global/event", | |
| ...options, | |
| }) | |
| } | |
| /** | |
| * Dispose instance | |
| * | |
| * Clean up and dispose all OpenCode instances, releasing all resources. | |
| */ | |
| public dispose<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) { | |
| return (options?.client ?? this.client).post<GlobalDisposeResponses, GlobalDisposeErrors, ThrowOnError>({ | |
| url: "/global/dispose", | |
| ...options, | |
| }) | |
| } | |
| /** | |
| * Upgrade opencode | |
| * | |
| * Upgrade opencode to the specified version or latest if not specified. | |
| */ | |
| public upgrade<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| target?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "body", key: "target" }] }]) | |
| return (options?.client ?? this.client).post<GlobalUpgradeResponses, GlobalUpgradeErrors, ThrowOnError>({ | |
| url: "/global/upgrade", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| private _config?: Config | |
| get config(): Config { | |
| return (this._config ??= new Config({ client: this.client })) | |
| } | |
| } | |
| export class Event extends HeyApiClient { | |
| /** | |
| * Subscribe to events | |
| * | |
| * Get events | |
| */ | |
| public subscribe<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).sse.get<EventSubscribeResponses, unknown, ThrowOnError>({ | |
| url: "/event", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Config2 extends HeyApiClient { | |
| /** | |
| * Get configuration | |
| * | |
| * Retrieve the current OpenCode configuration settings and preferences. | |
| */ | |
| public get<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<ConfigGetResponses, ConfigGetErrors, ThrowOnError>({ | |
| url: "/config", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Update configuration | |
| * | |
| * Update OpenCode configuration settings and preferences. | |
| */ | |
| public update<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| config?: Config3 | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { key: "config", map: "body" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).patch<ConfigUpdateResponses, ConfigUpdateErrors, ThrowOnError>({ | |
| url: "/config", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * List config providers | |
| * | |
| * Get a list of all configured AI providers and their default models. | |
| */ | |
| public providers<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<ConfigProvidersResponses, ConfigProvidersErrors, ThrowOnError>({ | |
| url: "/config/providers", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Tool extends HeyApiClient { | |
| /** | |
| * List tools | |
| * | |
| * Get a list of available tools with their JSON schema parameters for a specific provider and model combination. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| directory?: string | |
| workspace?: string | |
| provider: string | |
| model: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "query", key: "provider" }, | |
| { in: "query", key: "model" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<ToolListResponses, ToolListErrors, ThrowOnError>({ | |
| url: "/experimental/tool", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * List tool IDs | |
| * | |
| * Get a list of all available tool IDs, including both built-in tools and dynamically registered tools. | |
| */ | |
| public ids<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<ToolIdsResponses, ToolIdsErrors, ThrowOnError>({ | |
| url: "/experimental/tool/ids", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Worktree extends HeyApiClient { | |
| /** | |
| * Remove worktree | |
| * | |
| * Remove a git worktree and delete its branch. | |
| */ | |
| public remove<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| worktreeRemoveInput?: WorktreeRemoveInput | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { key: "worktreeRemoveInput", map: "body" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).delete<WorktreeRemoveResponses, WorktreeRemoveErrors, ThrowOnError>({ | |
| url: "/experimental/worktree", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * List worktrees | |
| * | |
| * List all sandbox worktrees for the current project. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<WorktreeListResponses, WorktreeListErrors, ThrowOnError>({ | |
| url: "/experimental/worktree", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Create worktree | |
| * | |
| * Create a new git worktree for the current project and run any configured startup scripts. | |
| */ | |
| public create<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| worktreeCreateInput?: WorktreeCreateInput | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { key: "worktreeCreateInput", map: "body" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<WorktreeCreateResponses, WorktreeCreateErrors, ThrowOnError>({ | |
| url: "/experimental/worktree", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Reset worktree | |
| * | |
| * Reset a worktree branch to the primary default branch. | |
| */ | |
| public reset<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| worktreeResetInput?: WorktreeResetInput | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { key: "worktreeResetInput", map: "body" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<WorktreeResetResponses, WorktreeResetErrors, ThrowOnError>({ | |
| url: "/experimental/worktree/reset", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class Find extends HeyApiClient { | |
| /** | |
| * Find text | |
| * | |
| * Search for text patterns across files in the project using ripgrep. | |
| */ | |
| public text<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| directory?: string | |
| workspace?: string | |
| pattern: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "query", key: "pattern" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<FindTextResponses, FindTextErrors, ThrowOnError>({ | |
| url: "/find", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Find files | |
| * | |
| * Search for files or directories by name or pattern in the project directory. | |
| */ | |
| public files<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| directory?: string | |
| workspace?: string | |
| query: string | |
| dirs?: "true" | "false" | |
| type?: "file" | "directory" | |
| limit?: number | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "query", key: "query" }, | |
| { in: "query", key: "dirs" }, | |
| { in: "query", key: "type" }, | |
| { in: "query", key: "limit" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<FindFilesResponses, FindFilesErrors, ThrowOnError>({ | |
| url: "/find/file", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Find symbols | |
| * | |
| * Search for workspace symbols like functions, classes, and variables using LSP. | |
| */ | |
| public symbols<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| directory?: string | |
| workspace?: string | |
| query: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "query", key: "query" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<FindSymbolsResponses, FindSymbolsErrors, ThrowOnError>({ | |
| url: "/find/symbol", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class File extends HeyApiClient { | |
| /** | |
| * List files | |
| * | |
| * List files and directories in a specified path. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| directory?: string | |
| workspace?: string | |
| path: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "query", key: "path" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<FileListResponses, FileListErrors, ThrowOnError>({ | |
| url: "/file", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Read file | |
| * | |
| * Read the content of a specified file. | |
| */ | |
| public read<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| directory?: string | |
| workspace?: string | |
| path: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "query", key: "path" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<FileReadResponses, FileReadErrors, ThrowOnError>({ | |
| url: "/file/content", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get file status | |
| * | |
| * Get the git status of all files in the project. | |
| */ | |
| public status<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<FileStatusResponses, FileStatusErrors, ThrowOnError>({ | |
| url: "/file/status", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Instance extends HeyApiClient { | |
| /** | |
| * Dispose instance | |
| * | |
| * Clean up and dispose the current OpenCode instance, releasing all resources. | |
| */ | |
| public dispose<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<InstanceDisposeResponses, InstanceDisposeErrors, ThrowOnError>({ | |
| url: "/instance/dispose", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Path extends HeyApiClient { | |
| /** | |
| * Get paths | |
| * | |
| * Retrieve the current working directory and related path information for the OpenCode instance. | |
| */ | |
| public get<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<PathGetResponses, PathGetErrors, ThrowOnError>({ | |
| url: "/path", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Diff extends HeyApiClient { | |
| /** | |
| * Get raw VCS diff | |
| * | |
| * Retrieve a raw patch for current uncommitted changes. | |
| */ | |
| public raw<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<VcsDiffRawResponses, VcsDiffRawErrors, ThrowOnError>({ | |
| url: "/vcs/diff/raw", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Vcs extends HeyApiClient { | |
| /** | |
| * Get VCS info | |
| * | |
| * Retrieve version control system (VCS) information for the current project, such as git branch. | |
| */ | |
| public get<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<VcsGetResponses, VcsGetErrors, ThrowOnError>({ | |
| url: "/vcs", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get VCS status | |
| * | |
| * Retrieve changed files in the current working tree without patches. | |
| */ | |
| public status<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<VcsStatusResponses, VcsStatusErrors, ThrowOnError>({ | |
| url: "/vcs/status", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get VCS diff | |
| * | |
| * Retrieve the current git diff for the working tree or against the default branch. | |
| */ | |
| public diff<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| directory?: string | |
| workspace?: string | |
| mode: "git" | "branch" | |
| context?: number | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "query", key: "mode" }, | |
| { in: "query", key: "context" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<VcsDiffResponses, VcsDiffErrors, ThrowOnError>({ | |
| url: "/vcs/diff", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Apply VCS patch | |
| * | |
| * Apply a raw patch to the current working tree. | |
| */ | |
| public apply<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| patch?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "patch" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<VcsApplyResponses, VcsApplyErrors, ThrowOnError>({ | |
| url: "/vcs/apply", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| private _diff?: Diff | |
| get diff2(): Diff { | |
| return (this._diff ??= new Diff({ client: this.client })) | |
| } | |
| } | |
| export class Command extends HeyApiClient { | |
| /** | |
| * List commands | |
| * | |
| * Get a list of all available commands in the OpenCode system. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<CommandListResponses, CommandListErrors, ThrowOnError>({ | |
| url: "/command", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Lsp extends HeyApiClient { | |
| /** | |
| * Get LSP status | |
| * | |
| * Get LSP server status | |
| */ | |
| public status<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<LspStatusResponses, LspStatusErrors, ThrowOnError>({ | |
| url: "/lsp", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Formatter extends HeyApiClient { | |
| /** | |
| * Get formatter status | |
| * | |
| * Get formatter status | |
| */ | |
| public status<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<FormatterStatusResponses, FormatterStatusErrors, ThrowOnError>({ | |
| url: "/formatter", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Auth2 extends HeyApiClient { | |
| /** | |
| * Remove MCP OAuth | |
| * | |
| * Remove OAuth credentials for an MCP server. | |
| */ | |
| public remove<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| name: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "name" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).delete<McpAuthRemoveResponses, McpAuthRemoveErrors, ThrowOnError>({ | |
| url: "/mcp/{name}/auth", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Start MCP OAuth | |
| * | |
| * Start OAuth authentication flow for a Model Context Protocol (MCP) server. | |
| */ | |
| public start<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| name: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "name" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<McpAuthStartResponses, McpAuthStartErrors, ThrowOnError>({ | |
| url: "/mcp/{name}/auth", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Complete MCP OAuth | |
| * | |
| * Complete OAuth authentication for a Model Context Protocol (MCP) server using the authorization code. | |
| */ | |
| public callback<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| name: string | |
| directory?: string | |
| workspace?: string | |
| code?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "name" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "code" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<McpAuthCallbackResponses, McpAuthCallbackErrors, ThrowOnError>({ | |
| url: "/mcp/{name}/auth/callback", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Authenticate MCP OAuth | |
| * | |
| * Start OAuth flow and wait for callback (opens browser). | |
| */ | |
| public authenticate<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| name: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "name" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<McpAuthAuthenticateResponses, McpAuthAuthenticateErrors, ThrowOnError>( | |
| { | |
| url: "/mcp/{name}/auth/authenticate", | |
| ...options, | |
| ...params, | |
| }, | |
| ) | |
| } | |
| } | |
| export class Mcp extends HeyApiClient { | |
| /** | |
| * Get MCP status | |
| * | |
| * Get the status of all Model Context Protocol (MCP) servers. | |
| */ | |
| public status<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<McpStatusResponses, McpStatusErrors, ThrowOnError>({ | |
| url: "/mcp", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Add MCP server | |
| * | |
| * Dynamically add a new Model Context Protocol (MCP) server to the system. | |
| */ | |
| public add<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| name?: string | |
| config?: McpLocalConfig | McpRemoteConfig | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "name" }, | |
| { in: "body", key: "config" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<McpAddResponses, McpAddErrors, ThrowOnError>({ | |
| url: "/mcp", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Connect an MCP server. | |
| */ | |
| public connect<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| name: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "name" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<McpConnectResponses, McpConnectErrors, ThrowOnError>({ | |
| url: "/mcp/{name}/connect", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Disconnect an MCP server. | |
| */ | |
| public disconnect<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| name: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "name" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<McpDisconnectResponses, McpDisconnectErrors, ThrowOnError>({ | |
| url: "/mcp/{name}/disconnect", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| private _auth?: Auth2 | |
| get auth(): Auth2 { | |
| return (this._auth ??= new Auth2({ client: this.client })) | |
| } | |
| } | |
| export class Project extends HeyApiClient { | |
| /** | |
| * List all projects | |
| * | |
| * Get a list of projects that have been opened with OpenCode. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<ProjectListResponses, ProjectListErrors, ThrowOnError>({ | |
| url: "/project", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get current project | |
| * | |
| * Retrieve the currently active project that OpenCode is working with. | |
| */ | |
| public current<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<ProjectCurrentResponses, ProjectCurrentErrors, ThrowOnError>({ | |
| url: "/project/current", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Initialize git repository | |
| * | |
| * Create a git repository for the current project and return the refreshed project info. | |
| */ | |
| public initGit<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<ProjectInitGitResponses, ProjectInitGitErrors, ThrowOnError>({ | |
| url: "/project/git/init", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Update project | |
| * | |
| * Update project properties such as name, icon, and commands. | |
| */ | |
| public update<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| projectID: string | |
| directory?: string | |
| workspace?: string | |
| name?: string | |
| icon?: { | |
| url?: string | |
| override?: string | |
| color?: string | |
| } | |
| commands?: { | |
| /** | |
| * Startup script to run when creating a new workspace (worktree) | |
| */ | |
| start?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "projectID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "name" }, | |
| { in: "body", key: "icon" }, | |
| { in: "body", key: "commands" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).patch<ProjectUpdateResponses, ProjectUpdateErrors, ThrowOnError>({ | |
| url: "/project/{projectID}", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * List project directories | |
| * | |
| * List known local absolute directories for a project. | |
| */ | |
| public directories<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| projectID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "projectID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<ProjectDirectoriesResponses, ProjectDirectoriesErrors, ThrowOnError>({ | |
| url: "/project/{projectID}/directories", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Pty extends HeyApiClient { | |
| /** | |
| * List available shells | |
| * | |
| * Get a list of available shells on the system. | |
| */ | |
| public shells<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<PtyShellsResponses, PtyShellsErrors, ThrowOnError>({ | |
| url: "/pty/shells", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * List PTY sessions | |
| * | |
| * Get a list of all active pseudo-terminal (PTY) sessions managed by OpenCode. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<PtyListResponses, PtyListErrors, ThrowOnError>({ | |
| url: "/pty", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Create PTY session | |
| * | |
| * Create a new pseudo-terminal (PTY) session for running shell commands and processes. | |
| */ | |
| public create<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| command?: string | |
| args?: Array<string> | |
| cwd?: string | |
| title?: string | |
| env?: { | |
| [key: string]: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "command" }, | |
| { in: "body", key: "args" }, | |
| { in: "body", key: "cwd" }, | |
| { in: "body", key: "title" }, | |
| { in: "body", key: "env" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<PtyCreateResponses, PtyCreateErrors, ThrowOnError>({ | |
| url: "/pty", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Remove PTY session | |
| * | |
| * Remove and terminate a specific pseudo-terminal (PTY) session. | |
| */ | |
| public remove<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| ptyID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "ptyID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).delete<PtyRemoveResponses, PtyRemoveErrors, ThrowOnError>({ | |
| url: "/pty/{ptyID}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get PTY session | |
| * | |
| * Retrieve detailed information about a specific pseudo-terminal (PTY) session. | |
| */ | |
| public get<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| ptyID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "ptyID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<PtyGetResponses, PtyGetErrors, ThrowOnError>({ | |
| url: "/pty/{ptyID}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Update PTY session | |
| * | |
| * Update properties of an existing pseudo-terminal (PTY) session. | |
| */ | |
| public update<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| ptyID: string | |
| directory?: string | |
| workspace?: string | |
| title?: string | |
| size?: { | |
| rows: number | |
| cols: number | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "ptyID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "title" }, | |
| { in: "body", key: "size" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).put<PtyUpdateResponses, PtyUpdateErrors, ThrowOnError>({ | |
| url: "/pty/{ptyID}", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Create PTY WebSocket token | |
| * | |
| * Create a short-lived ticket for opening a PTY WebSocket connection. | |
| */ | |
| public connectToken<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| ptyID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "ptyID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<PtyConnectTokenResponses, PtyConnectTokenErrors, ThrowOnError>({ | |
| url: "/pty/{ptyID}/connect-token", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Connect to PTY session | |
| * | |
| * Establish a WebSocket connection to interact with a pseudo-terminal (PTY) session in real-time. | |
| */ | |
| public connect<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| ptyID: string | |
| directory?: string | |
| workspace?: string | |
| cursor?: string | |
| ticket?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "ptyID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "query", key: "cursor" }, | |
| { in: "query", key: "ticket" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<PtyConnectResponses, PtyConnectErrors, ThrowOnError>({ | |
| url: "/pty/{ptyID}/connect", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Question extends HeyApiClient { | |
| /** | |
| * List pending questions | |
| * | |
| * Get all pending question requests across all sessions. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<QuestionListResponses, QuestionListErrors, ThrowOnError>({ | |
| url: "/question", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Reply to question request | |
| * | |
| * Provide answers to a question request from the AI assistant. | |
| */ | |
| public reply<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| requestID: string | |
| directory?: string | |
| workspace?: string | |
| answers?: Array<QuestionAnswer> | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "requestID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "answers" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<QuestionReplyResponses, QuestionReplyErrors, ThrowOnError>({ | |
| url: "/question/{requestID}/reply", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Reject question request | |
| * | |
| * Reject a question request from the AI assistant. | |
| */ | |
| public reject<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| requestID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "requestID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<QuestionRejectResponses, QuestionRejectErrors, ThrowOnError>({ | |
| url: "/question/{requestID}/reject", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Permission extends HeyApiClient { | |
| /** | |
| * List pending permissions | |
| * | |
| * Get all pending permission requests across all sessions. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<PermissionListResponses, PermissionListErrors, ThrowOnError>({ | |
| url: "/permission", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Respond to permission request | |
| * | |
| * Approve or deny a permission request from the AI assistant. | |
| */ | |
| public reply<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| requestID: string | |
| directory?: string | |
| workspace?: string | |
| reply?: "once" | "always" | "reject" | |
| message?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "requestID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "reply" }, | |
| { in: "body", key: "message" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<PermissionReplyResponses, PermissionReplyErrors, ThrowOnError>({ | |
| url: "/permission/{requestID}/reply", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Respond to permission | |
| * | |
| * Approve or deny a permission request from the AI assistant. | |
| * | |
| * @deprecated | |
| */ | |
| public respond<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| permissionID: string | |
| directory?: string | |
| workspace?: string | |
| response?: "once" | "always" | "reject" | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "path", key: "permissionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "response" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<PermissionRespondResponses, PermissionRespondErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/permissions/{permissionID}", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class Oauth extends HeyApiClient { | |
| /** | |
| * Start OAuth authorization | |
| * | |
| * Start the OAuth authorization flow for a provider. | |
| */ | |
| public authorize<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| providerID: string | |
| directory?: string | |
| workspace?: string | |
| method?: number | |
| inputs?: { | |
| [key: string]: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "providerID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "method" }, | |
| { in: "body", key: "inputs" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| ProviderOauthAuthorizeResponses, | |
| ProviderOauthAuthorizeErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/provider/{providerID}/oauth/authorize", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Handle OAuth callback | |
| * | |
| * Handle the OAuth callback from a provider after user authorization. | |
| */ | |
| public callback<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| providerID: string | |
| directory?: string | |
| workspace?: string | |
| method?: number | |
| code?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "providerID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "method" }, | |
| { in: "body", key: "code" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| ProviderOauthCallbackResponses, | |
| ProviderOauthCallbackErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/provider/{providerID}/oauth/callback", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class Provider extends HeyApiClient { | |
| /** | |
| * List providers | |
| * | |
| * Get a list of all available AI providers, including both available and connected ones. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<ProviderListResponses, ProviderListErrors, ThrowOnError>({ | |
| url: "/provider", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get provider auth methods | |
| * | |
| * Retrieve available authentication methods for all AI providers. | |
| */ | |
| public auth<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<ProviderAuthResponses, ProviderAuthErrors, ThrowOnError>({ | |
| url: "/provider/auth", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| private _oauth?: Oauth | |
| get oauth(): Oauth { | |
| return (this._oauth ??= new Oauth({ client: this.client })) | |
| } | |
| } | |
| export class Session2 extends HeyApiClient { | |
| /** | |
| * List sessions | |
| * | |
| * Get a list of all OpenCode sessions, sorted by most recently updated. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| scope?: "project" | |
| path?: string | |
| roots?: boolean | "true" | "false" | |
| start?: number | |
| search?: string | |
| limit?: number | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "query", key: "scope" }, | |
| { in: "query", key: "path" }, | |
| { in: "query", key: "roots" }, | |
| { in: "query", key: "start" }, | |
| { in: "query", key: "search" }, | |
| { in: "query", key: "limit" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<SessionListResponses, SessionListErrors, ThrowOnError>({ | |
| url: "/session", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Create session | |
| * | |
| * Create a new OpenCode session for interacting with AI assistants and managing conversations. | |
| */ | |
| public create<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| parentID?: string | |
| title?: string | |
| agent?: string | |
| model?: { | |
| id: string | |
| providerID: string | |
| variant?: string | |
| } | |
| metadata?: { | |
| [key: string]: unknown | |
| } | |
| permission?: PermissionRuleset | |
| workspaceID?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "parentID" }, | |
| { in: "body", key: "title" }, | |
| { in: "body", key: "agent" }, | |
| { in: "body", key: "model" }, | |
| { in: "body", key: "metadata" }, | |
| { in: "body", key: "permission" }, | |
| { in: "body", key: "workspaceID" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SessionCreateResponses, SessionCreateErrors, ThrowOnError>({ | |
| url: "/session", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Get session status | |
| * | |
| * Retrieve the current status of all sessions, including active, idle, and completed states. | |
| */ | |
| public status<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<SessionStatusResponses, SessionStatusErrors, ThrowOnError>({ | |
| url: "/session/status", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Delete session | |
| * | |
| * Delete a session and permanently remove all associated data, including messages and history. | |
| */ | |
| public delete<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).delete<SessionDeleteResponses, SessionDeleteErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get session | |
| * | |
| * Retrieve detailed information about a specific OpenCode session. | |
| */ | |
| public get<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<SessionGetResponses, SessionGetErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Update session | |
| * | |
| * Update properties of an existing session, such as title or other metadata. | |
| */ | |
| public update<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| title?: string | |
| metadata?: { | |
| [key: string]: unknown | |
| } | |
| permission?: PermissionRuleset | |
| time?: { | |
| archived?: number | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "title" }, | |
| { in: "body", key: "metadata" }, | |
| { in: "body", key: "permission" }, | |
| { in: "body", key: "time" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).patch<SessionUpdateResponses, SessionUpdateErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Get session children | |
| * | |
| * Retrieve all child sessions that were forked from the specified parent session. | |
| */ | |
| public children<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<SessionChildrenResponses, SessionChildrenErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/children", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get session todos | |
| * | |
| * Retrieve the todo list associated with a specific session, showing tasks and action items. | |
| */ | |
| public todo<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<SessionTodoResponses, SessionTodoErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/todo", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get message diff | |
| * | |
| * Get the file changes (diff) that resulted from a specific user message in the session. | |
| */ | |
| public diff<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| messageID?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "query", key: "messageID" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<SessionDiffResponses, SessionDiffErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/diff", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get session messages | |
| * | |
| * Retrieve all messages in a session, including user prompts and AI responses. | |
| */ | |
| public messages<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| limit?: number | |
| before?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "query", key: "limit" }, | |
| { in: "query", key: "before" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<SessionMessagesResponses, SessionMessagesErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/message", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Send message | |
| * | |
| * Create and send a new message to a session, streaming the AI response. | |
| */ | |
| public prompt<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| messageID?: string | |
| model?: { | |
| providerID: string | |
| modelID: string | |
| } | |
| agent?: string | |
| noReply?: boolean | |
| tools?: { | |
| [key: string]: boolean | |
| } | |
| format?: OutputFormat | |
| system?: string | |
| variant?: string | |
| parts?: Array<TextPartInput | FilePartInput | AgentPartInput | SubtaskPartInput> | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "messageID" }, | |
| { in: "body", key: "model" }, | |
| { in: "body", key: "agent" }, | |
| { in: "body", key: "noReply" }, | |
| { in: "body", key: "tools" }, | |
| { in: "body", key: "format" }, | |
| { in: "body", key: "system" }, | |
| { in: "body", key: "variant" }, | |
| { in: "body", key: "parts" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SessionPromptResponses, SessionPromptErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/message", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Delete message | |
| * | |
| * Permanently delete a specific message and all of its parts from a session without reverting file changes. | |
| */ | |
| public deleteMessage<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| messageID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "path", key: "messageID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).delete< | |
| SessionDeleteMessageResponses, | |
| SessionDeleteMessageErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/session/{sessionID}/message/{messageID}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get message | |
| * | |
| * Retrieve a specific message from a session by its message ID. | |
| */ | |
| public message<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| messageID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "path", key: "messageID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<SessionMessageResponses, SessionMessageErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/message/{messageID}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Fork session | |
| * | |
| * Create a new session by forking an existing session at a specific message point. | |
| */ | |
| public fork<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| messageID?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "messageID" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SessionForkResponses, SessionForkErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/fork", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Abort session | |
| * | |
| * Abort an active session and stop any ongoing AI processing or command execution. | |
| */ | |
| public abort<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SessionAbortResponses, SessionAbortErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/abort", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Initialize session | |
| * | |
| * Analyze the current application and create an AGENTS.md file with project-specific agent configurations. | |
| */ | |
| public init<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| modelID?: string | |
| providerID?: string | |
| messageID?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "modelID" }, | |
| { in: "body", key: "providerID" }, | |
| { in: "body", key: "messageID" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SessionInitResponses, SessionInitErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/init", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Unshare session | |
| * | |
| * Remove the shareable link for a session, making it private again. | |
| */ | |
| public unshare<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).delete<SessionUnshareResponses, SessionUnshareErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/share", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Share session | |
| * | |
| * Create a shareable link for a session, allowing others to view the conversation. | |
| */ | |
| public share<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SessionShareResponses, SessionShareErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/share", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Summarize session | |
| * | |
| * Generate a concise summary of the session using AI compaction to preserve key information. | |
| */ | |
| public summarize<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| providerID?: string | |
| modelID?: string | |
| auto?: boolean | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "providerID" }, | |
| { in: "body", key: "modelID" }, | |
| { in: "body", key: "auto" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SessionSummarizeResponses, SessionSummarizeErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/summarize", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Send async message | |
| * | |
| * Create and send a new message to a session asynchronously, starting the session if needed and returning immediately. | |
| */ | |
| public promptAsync<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| messageID?: string | |
| model?: { | |
| providerID: string | |
| modelID: string | |
| } | |
| agent?: string | |
| noReply?: boolean | |
| tools?: { | |
| [key: string]: boolean | |
| } | |
| format?: OutputFormat | |
| system?: string | |
| variant?: string | |
| parts?: Array<TextPartInput | FilePartInput | AgentPartInput | SubtaskPartInput> | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "messageID" }, | |
| { in: "body", key: "model" }, | |
| { in: "body", key: "agent" }, | |
| { in: "body", key: "noReply" }, | |
| { in: "body", key: "tools" }, | |
| { in: "body", key: "format" }, | |
| { in: "body", key: "system" }, | |
| { in: "body", key: "variant" }, | |
| { in: "body", key: "parts" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SessionPromptAsyncResponses, SessionPromptAsyncErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/prompt_async", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Send command | |
| * | |
| * Send a new command to a session for execution by the AI assistant. | |
| */ | |
| public command<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| messageID?: string | |
| agent?: string | |
| model?: string | |
| arguments?: string | |
| command?: string | |
| variant?: string | |
| parts?: Array<{ | |
| id?: string | |
| type: "file" | |
| mime: string | |
| filename?: string | |
| url: string | |
| source?: FilePartSource | |
| }> | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "messageID" }, | |
| { in: "body", key: "agent" }, | |
| { in: "body", key: "model" }, | |
| { in: "body", key: "arguments" }, | |
| { in: "body", key: "command" }, | |
| { in: "body", key: "variant" }, | |
| { in: "body", key: "parts" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SessionCommandResponses, SessionCommandErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/command", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Run shell command | |
| * | |
| * Execute a shell command within the session context and return the AI's response. | |
| */ | |
| public shell<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| messageID?: string | |
| agent?: string | |
| model?: { | |
| providerID: string | |
| modelID: string | |
| } | |
| command?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "messageID" }, | |
| { in: "body", key: "agent" }, | |
| { in: "body", key: "model" }, | |
| { in: "body", key: "command" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SessionShellResponses, SessionShellErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/shell", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Revert message | |
| * | |
| * Revert a specific message in a session, undoing its effects and restoring the previous state. | |
| */ | |
| public revert<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| messageID?: string | |
| partID?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "messageID" }, | |
| { in: "body", key: "partID" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SessionRevertResponses, SessionRevertErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/revert", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Restore reverted messages | |
| * | |
| * Restore all previously reverted messages in a session. | |
| */ | |
| public unrevert<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SessionUnrevertResponses, SessionUnrevertErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/unrevert", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Part extends HeyApiClient { | |
| /** | |
| * Delete a part from a message. | |
| */ | |
| public delete<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| messageID: string | |
| partID: string | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "path", key: "messageID" }, | |
| { in: "path", key: "partID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).delete<PartDeleteResponses, PartDeleteErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/message/{messageID}/part/{partID}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Update a part in a message. | |
| */ | |
| public update<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| messageID: string | |
| partID: string | |
| directory?: string | |
| workspace?: string | |
| part?: Part2 | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "path", key: "messageID" }, | |
| { in: "path", key: "partID" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { key: "part", map: "body" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).patch<PartUpdateResponses, PartUpdateErrors, ThrowOnError>({ | |
| url: "/session/{sessionID}/message/{messageID}/part/{partID}", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class History extends HeyApiClient { | |
| /** | |
| * List sync events | |
| * | |
| * List sync events for all aggregates. Keys are aggregate IDs the client already knows about, values are the last known sequence ID. Events with seq > value are returned for those aggregates. Aggregates not listed in the input get their full history. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| body?: { | |
| [key: string]: number | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { key: "body", map: "body" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SyncHistoryListResponses, SyncHistoryListErrors, ThrowOnError>({ | |
| url: "/sync/history", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class Sync extends HeyApiClient { | |
| /** | |
| * Start workspace sync | |
| * | |
| * Start sync loops for workspaces in the current project that have active sessions. | |
| */ | |
| public start<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SyncStartResponses, SyncStartErrors, ThrowOnError>({ | |
| url: "/sync/start", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Replay sync events | |
| * | |
| * Validate and replay a complete sync event history. | |
| */ | |
| public replay<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| query_directory?: string | |
| workspace?: string | |
| body_directory?: string | |
| events?: Array<{ | |
| id: string | |
| aggregateID: string | |
| seq: number | |
| type: string | |
| data: { | |
| [key: string]: unknown | |
| } | |
| }> | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { | |
| in: "query", | |
| key: "query_directory", | |
| map: "directory", | |
| }, | |
| { in: "query", key: "workspace" }, | |
| { | |
| in: "body", | |
| key: "body_directory", | |
| map: "directory", | |
| }, | |
| { in: "body", key: "events" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SyncReplayResponses, SyncReplayErrors, ThrowOnError>({ | |
| url: "/sync/replay", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Steal session into workspace | |
| * | |
| * Update a session to belong to the current workspace through the sync event system. | |
| */ | |
| public steal<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| sessionID?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "sessionID" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<SyncStealResponses, SyncStealErrors, ThrowOnError>({ | |
| url: "/sync/steal", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| private _history?: History | |
| get history(): History { | |
| return (this._history ??= new History({ client: this.client })) | |
| } | |
| } | |
| export class Control extends HeyApiClient { | |
| /** | |
| * Get next TUI request | |
| * | |
| * Retrieve the next TUI request from the queue for processing. | |
| */ | |
| public next<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<TuiControlNextResponses, TuiControlNextErrors, ThrowOnError>({ | |
| url: "/tui/control/next", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Submit TUI response | |
| * | |
| * Submit a response to the TUI request queue to complete a pending request. | |
| */ | |
| public response<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| body?: unknown | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { key: "body", map: "body" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<TuiControlResponseResponses, TuiControlResponseErrors, ThrowOnError>({ | |
| url: "/tui/control/response", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class Tui extends HeyApiClient { | |
| /** | |
| * Append TUI prompt | |
| * | |
| * Append prompt to the TUI. | |
| */ | |
| public appendPrompt<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| text?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "text" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<TuiAppendPromptResponses, TuiAppendPromptErrors, ThrowOnError>({ | |
| url: "/tui/append-prompt", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Open help dialog | |
| * | |
| * Open the help dialog in the TUI to display user assistance information. | |
| */ | |
| public openHelp<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<TuiOpenHelpResponses, TuiOpenHelpErrors, ThrowOnError>({ | |
| url: "/tui/open-help", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Open sessions dialog | |
| * | |
| * Open the session dialog. | |
| */ | |
| public openSessions<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<TuiOpenSessionsResponses, TuiOpenSessionsErrors, ThrowOnError>({ | |
| url: "/tui/open-sessions", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Open themes dialog | |
| * | |
| * Open the theme dialog. | |
| */ | |
| public openThemes<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<TuiOpenThemesResponses, TuiOpenThemesErrors, ThrowOnError>({ | |
| url: "/tui/open-themes", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Open models dialog | |
| * | |
| * Open the model dialog. | |
| */ | |
| public openModels<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<TuiOpenModelsResponses, TuiOpenModelsErrors, ThrowOnError>({ | |
| url: "/tui/open-models", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Submit TUI prompt | |
| * | |
| * Submit the prompt. | |
| */ | |
| public submitPrompt<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<TuiSubmitPromptResponses, TuiSubmitPromptErrors, ThrowOnError>({ | |
| url: "/tui/submit-prompt", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Clear TUI prompt | |
| * | |
| * Clear the prompt. | |
| */ | |
| public clearPrompt<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<TuiClearPromptResponses, TuiClearPromptErrors, ThrowOnError>({ | |
| url: "/tui/clear-prompt", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Execute TUI command | |
| * | |
| * Execute a TUI command. | |
| */ | |
| public executeCommand<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| command?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "command" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<TuiExecuteCommandResponses, TuiExecuteCommandErrors, ThrowOnError>({ | |
| url: "/tui/execute-command", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Show TUI toast | |
| * | |
| * Show a toast notification in the TUI. | |
| */ | |
| public showToast<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| title?: string | |
| message?: string | |
| variant?: "info" | "success" | "warning" | "error" | |
| duration?: number | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "title" }, | |
| { in: "body", key: "message" }, | |
| { in: "body", key: "variant" }, | |
| { in: "body", key: "duration" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<TuiShowToastResponses, TuiShowToastErrors, ThrowOnError>({ | |
| url: "/tui/show-toast", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Publish TUI event | |
| * | |
| * Publish a TUI event. | |
| */ | |
| public publish<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| body?: EventTuiPromptAppend | EventTuiCommandExecute | EventTuiToastShow | EventTuiSessionSelect | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { key: "body", map: "body" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<TuiPublishResponses, TuiPublishErrors, ThrowOnError>({ | |
| url: "/tui/publish", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Select session | |
| * | |
| * Navigate the TUI to display the specified session. | |
| */ | |
| public selectSession<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| directory?: string | |
| workspace?: string | |
| sessionID?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "workspace" }, | |
| { in: "body", key: "sessionID" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<TuiSelectSessionResponses, TuiSelectSessionErrors, ThrowOnError>({ | |
| url: "/tui/select-session", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| private _control?: Control | |
| get control(): Control { | |
| return (this._control ??= new Control({ client: this.client })) | |
| } | |
| } | |
| export class Health extends HeyApiClient { | |
| /** | |
| * Check server health | |
| * | |
| * Check whether the API server is ready to accept requests. | |
| */ | |
| public get<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) { | |
| return (options?.client ?? this.client).get<V2HealthGetResponses, V2HealthGetErrors, ThrowOnError>({ | |
| url: "/api/health", | |
| ...options, | |
| }) | |
| } | |
| } | |
| export class Location extends HeyApiClient { | |
| /** | |
| * Get location | |
| * | |
| * Resolve the requested location or the server default location. | |
| */ | |
| public get<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }]) | |
| return (options?.client ?? this.client).get<V2LocationGetResponses, V2LocationGetErrors, ThrowOnError>({ | |
| url: "/api/location", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Agent extends HeyApiClient { | |
| /** | |
| * List agents | |
| * | |
| * Retrieve currently registered agents. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }]) | |
| return (options?.client ?? this.client).get<V2AgentListResponses, V2AgentListErrors, ThrowOnError>({ | |
| url: "/api/agent", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Permission2 extends HeyApiClient { | |
| /** | |
| * List session permission requests | |
| * | |
| * Retrieve pending permission requests owned by a session. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "sessionID" }] }]) | |
| return (options?.client ?? this.client).get< | |
| V2SessionPermissionListResponses, | |
| V2SessionPermissionListErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/session/{sessionID}/permission", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Reply to pending permission request | |
| * | |
| * Respond to a pending permission request owned by a session. | |
| */ | |
| public reply<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| requestID: string | |
| reply?: PermissionV2Reply | |
| message?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "path", key: "requestID" }, | |
| { in: "body", key: "reply" }, | |
| { in: "body", key: "message" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| V2SessionPermissionReplyResponses, | |
| V2SessionPermissionReplyErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/session/{sessionID}/permission/{requestID}/reply", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class Question2 extends HeyApiClient { | |
| /** | |
| * List session question requests | |
| * | |
| * Retrieve pending question requests owned by a session. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "sessionID" }] }]) | |
| return (options?.client ?? this.client).get< | |
| V2SessionQuestionListResponses, | |
| V2SessionQuestionListErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/session/{sessionID}/question", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Reply to pending question request | |
| * | |
| * Answer a pending question request owned by a session. | |
| */ | |
| public reply<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| requestID: string | |
| questionV2Reply: QuestionV2Reply | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "path", key: "requestID" }, | |
| { key: "questionV2Reply", map: "body" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| V2SessionQuestionReplyResponses, | |
| V2SessionQuestionReplyErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/session/{sessionID}/question/{requestID}/reply", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Reject pending question request | |
| * | |
| * Reject a pending question request owned by a session. | |
| */ | |
| public reject<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| requestID: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "path", key: "requestID" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| V2SessionQuestionRejectResponses, | |
| V2SessionQuestionRejectErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/session/{sessionID}/question/{requestID}/reject", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Session3 extends HeyApiClient { | |
| /** | |
| * List sessions | |
| * | |
| * Retrieve sessions in the requested order. Items keep that order across pages; use cursor.next or cursor.previous to move through the ordered list. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| workspace?: string | |
| limit?: number | |
| order?: "asc" | "desc" | |
| search?: string | |
| directory?: string | |
| project?: string | |
| subpath?: string | |
| cursor?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "workspace" }, | |
| { in: "query", key: "limit" }, | |
| { in: "query", key: "order" }, | |
| { in: "query", key: "search" }, | |
| { in: "query", key: "directory" }, | |
| { in: "query", key: "project" }, | |
| { in: "query", key: "subpath" }, | |
| { in: "query", key: "cursor" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<V2SessionListResponses, V2SessionListErrors, ThrowOnError>({ | |
| url: "/api/session", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Create session | |
| * | |
| * Create a session at the requested location. | |
| */ | |
| public create<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| id?: string | |
| agent?: string | |
| model?: { | |
| id: string | |
| providerID: string | |
| variant?: string | |
| } | |
| location?: LocationRef | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "body", key: "id" }, | |
| { in: "body", key: "agent" }, | |
| { in: "body", key: "model" }, | |
| { in: "body", key: "location" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<V2SessionCreateResponses, V2SessionCreateErrors, ThrowOnError>({ | |
| url: "/api/session", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Get session | |
| * | |
| * Retrieve a session by ID. | |
| */ | |
| public get<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "sessionID" }] }]) | |
| return (options?.client ?? this.client).get<V2SessionGetResponses, V2SessionGetErrors, ThrowOnError>({ | |
| url: "/api/session/{sessionID}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Send message | |
| * | |
| * Durably admit one session input and schedule agent-loop execution unless resume is false. | |
| */ | |
| public prompt<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| id?: string | |
| prompt?: Prompt | |
| delivery?: "steer" | "queue" | |
| resume?: boolean | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "body", key: "id" }, | |
| { in: "body", key: "prompt" }, | |
| { in: "body", key: "delivery" }, | |
| { in: "body", key: "resume" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<V2SessionPromptResponses, V2SessionPromptErrors, ThrowOnError>({ | |
| url: "/api/session/{sessionID}/prompt", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Compact session | |
| * | |
| * Compact a session conversation. | |
| */ | |
| public compact<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "sessionID" }] }]) | |
| return (options?.client ?? this.client).post<V2SessionCompactResponses, V2SessionCompactErrors, ThrowOnError>({ | |
| url: "/api/session/{sessionID}/compact", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Wait for session | |
| * | |
| * Wait for a session agent loop to become idle. | |
| */ | |
| public wait<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "sessionID" }] }]) | |
| return (options?.client ?? this.client).post<V2SessionWaitResponses, V2SessionWaitErrors, ThrowOnError>({ | |
| url: "/api/session/{sessionID}/wait", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get session context | |
| * | |
| * Retrieve the active context messages for a session (all messages after the last compaction). | |
| */ | |
| public context<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "sessionID" }] }]) | |
| return (options?.client ?? this.client).get<V2SessionContextResponses, V2SessionContextErrors, ThrowOnError>({ | |
| url: "/api/session/{sessionID}/context", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get session messages | |
| * | |
| * Retrieve projected messages for a session. Items keep the requested order across pages; use cursor.next or cursor.previous to move through the ordered timeline. | |
| */ | |
| public messages<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| sessionID: string | |
| limit?: number | |
| order?: "asc" | "desc" | |
| cursor?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "sessionID" }, | |
| { in: "query", key: "limit" }, | |
| { in: "query", key: "order" }, | |
| { in: "query", key: "cursor" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<V2SessionMessagesResponses, V2SessionMessagesErrors, ThrowOnError>({ | |
| url: "/api/session/{sessionID}/message", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| private _permission?: Permission2 | |
| get permission(): Permission2 { | |
| return (this._permission ??= new Permission2({ client: this.client })) | |
| } | |
| private _question?: Question2 | |
| get question(): Question2 { | |
| return (this._question ??= new Question2({ client: this.client })) | |
| } | |
| } | |
| export class Model extends HeyApiClient { | |
| /** | |
| * List models | |
| * | |
| * Retrieve available models ordered by release date. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }]) | |
| return (options?.client ?? this.client).get<V2ModelListResponses, V2ModelListErrors, ThrowOnError>({ | |
| url: "/api/model", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Provider2 extends HeyApiClient { | |
| /** | |
| * List providers | |
| * | |
| * Retrieve active AI providers so clients can show provider availability and configuration. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }]) | |
| return (options?.client ?? this.client).get<V2ProviderListResponses, V2ProviderListErrors, ThrowOnError>({ | |
| url: "/api/provider", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get provider | |
| * | |
| * Retrieve a single AI provider so clients can inspect its availability and endpoint settings. | |
| */ | |
| public get<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| providerID: string | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "providerID" }, | |
| { in: "query", key: "location" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<V2ProviderGetResponses, V2ProviderGetErrors, ThrowOnError>({ | |
| url: "/api/provider/{providerID}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Connect extends HeyApiClient { | |
| /** | |
| * Connect with key | |
| * | |
| * Run a key authentication method and store the resulting credential. | |
| */ | |
| public key<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| integrationID: string | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| key?: string | |
| label?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "integrationID" }, | |
| { in: "query", key: "location" }, | |
| { in: "body", key: "key" }, | |
| { in: "body", key: "label" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| V2IntegrationConnectKeyResponses, | |
| V2IntegrationConnectKeyErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/integration/{integrationID}/connect/key", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| /** | |
| * Begin OAuth connection | |
| * | |
| * Start an OAuth attempt and return the authorization details. | |
| */ | |
| public oauth<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| integrationID: string | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| methodID?: string | |
| inputs?: { | |
| [key: string]: string | |
| } | |
| label?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "integrationID" }, | |
| { in: "query", key: "location" }, | |
| { in: "body", key: "methodID" }, | |
| { in: "body", key: "inputs" }, | |
| { in: "body", key: "label" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| V2IntegrationConnectOauthResponses, | |
| V2IntegrationConnectOauthErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/integration/{integrationID}/connect/oauth", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class Attempt extends HeyApiClient { | |
| /** | |
| * Cancel OAuth connection | |
| * | |
| * Cancel an OAuth attempt and release its resources. | |
| */ | |
| public cancel<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| attemptID: string | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "attemptID" }, | |
| { in: "query", key: "location" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).delete< | |
| V2IntegrationAttemptCancelResponses, | |
| V2IntegrationAttemptCancelErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/integration/attempt/{attemptID}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get OAuth attempt status | |
| * | |
| * Poll the current status of an OAuth attempt. | |
| */ | |
| public status<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| attemptID: string | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "attemptID" }, | |
| { in: "query", key: "location" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get< | |
| V2IntegrationAttemptStatusResponses, | |
| V2IntegrationAttemptStatusErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/integration/attempt/{attemptID}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Complete OAuth connection | |
| * | |
| * Complete a code-based OAuth attempt and store the resulting credential. | |
| */ | |
| public complete<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| attemptID: string | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| code?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "attemptID" }, | |
| { in: "query", key: "location" }, | |
| { in: "body", key: "code" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| V2IntegrationAttemptCompleteResponses, | |
| V2IntegrationAttemptCompleteErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/integration/attempt/{attemptID}/complete", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class Integration extends HeyApiClient { | |
| /** | |
| * List integrations | |
| * | |
| * Retrieve available integrations and their authentication methods. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }]) | |
| return (options?.client ?? this.client).get<V2IntegrationListResponses, V2IntegrationListErrors, ThrowOnError>({ | |
| url: "/api/integration", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Get integration | |
| * | |
| * Retrieve one integration and its authentication methods. | |
| */ | |
| public get<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| integrationID: string | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "integrationID" }, | |
| { in: "query", key: "location" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<V2IntegrationGetResponses, V2IntegrationGetErrors, ThrowOnError>({ | |
| url: "/api/integration/{integrationID}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| private _connect?: Connect | |
| get connect(): Connect { | |
| return (this._connect ??= new Connect({ client: this.client })) | |
| } | |
| private _attempt?: Attempt | |
| get attempt(): Attempt { | |
| return (this._attempt ??= new Attempt({ client: this.client })) | |
| } | |
| } | |
| export class Credential extends HeyApiClient { | |
| /** | |
| * Remove credential | |
| * | |
| * Remove a stored integration credential. | |
| */ | |
| public remove<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| credentialID: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "credentialID" }] }]) | |
| return (options?.client ?? this.client).delete<V2CredentialRemoveResponses, V2CredentialRemoveErrors, ThrowOnError>( | |
| { | |
| url: "/api/credential/{credentialID}", | |
| ...options, | |
| ...params, | |
| }, | |
| ) | |
| } | |
| /** | |
| * Update credential | |
| * | |
| * Update a stored credential label. | |
| */ | |
| public update<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| credentialID: string | |
| label?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "credentialID" }, | |
| { in: "body", key: "label" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).patch<V2CredentialUpdateResponses, V2CredentialUpdateErrors, ThrowOnError>({ | |
| url: "/api/credential/{credentialID}", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| } | |
| export class Request extends HeyApiClient { | |
| /** | |
| * List pending permission requests | |
| * | |
| * Retrieve pending permission requests for a location. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }]) | |
| return (options?.client ?? this.client).get< | |
| V2PermissionRequestListResponses, | |
| V2PermissionRequestListErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/permission/request", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Saved extends HeyApiClient { | |
| /** | |
| * List saved permissions | |
| * | |
| * Retrieve saved permissions, optionally filtered by project. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| projectID?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "projectID" }] }]) | |
| return (options?.client ?? this.client).get< | |
| V2PermissionSavedListResponses, | |
| V2PermissionSavedListErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/permission/saved", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Remove saved permission | |
| * | |
| * Remove a saved permission by ID. | |
| */ | |
| public remove<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| id: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "id" }] }]) | |
| return (options?.client ?? this.client).delete< | |
| V2PermissionSavedRemoveResponses, | |
| V2PermissionSavedRemoveErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/permission/saved/{id}", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Permission3 extends HeyApiClient { | |
| private _request?: Request | |
| get request(): Request { | |
| return (this._request ??= new Request({ client: this.client })) | |
| } | |
| private _saved?: Saved | |
| get saved(): Saved { | |
| return (this._saved ??= new Saved({ client: this.client })) | |
| } | |
| } | |
| export class Fs extends HeyApiClient { | |
| /** | |
| * Read file | |
| * | |
| * Serve one file relative to the requested location. | |
| */ | |
| public read<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }]) | |
| return (options?.client ?? this.client).get<V2FsReadResponses, V2FsReadErrors, ThrowOnError>({ | |
| url: "/api/fs/read/*", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * List directory | |
| * | |
| * List direct children of one directory relative to the requested location. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| path?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "location" }, | |
| { in: "query", key: "path" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<V2FsListResponses, V2FsListErrors, ThrowOnError>({ | |
| url: "/api/fs/list", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| /** | |
| * Find files | |
| * | |
| * Find recursively ranked filesystem entries relative to the requested location. | |
| */ | |
| public find<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| query: string | |
| type?: "file" | "directory" | |
| limit?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "query", key: "location" }, | |
| { in: "query", key: "query" }, | |
| { in: "query", key: "type" }, | |
| { in: "query", key: "limit" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).get<V2FsFindResponses, V2FsFindErrors, ThrowOnError>({ | |
| url: "/api/fs/find", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Command2 extends HeyApiClient { | |
| /** | |
| * List commands | |
| * | |
| * Retrieve currently registered commands. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }]) | |
| return (options?.client ?? this.client).get<V2CommandListResponses, V2CommandListErrors, ThrowOnError>({ | |
| url: "/api/command", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Skill extends HeyApiClient { | |
| /** | |
| * List skills | |
| * | |
| * Retrieve currently registered skills. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }]) | |
| return (options?.client ?? this.client).get<V2SkillListResponses, V2SkillListErrors, ThrowOnError>({ | |
| url: "/api/skill", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Event2 extends HeyApiClient { | |
| /** | |
| * Subscribe to events | |
| * | |
| * Subscribe to native event payloads for a location. | |
| */ | |
| public subscribe<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }]) | |
| return (options?.client ?? this.client).sse.get<V2EventSubscribeResponses, V2EventSubscribeErrors, ThrowOnError>({ | |
| url: "/api/event", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Request2 extends HeyApiClient { | |
| /** | |
| * List pending question requests | |
| * | |
| * Retrieve pending question requests for a location. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }]) | |
| return (options?.client ?? this.client).get< | |
| V2QuestionRequestListResponses, | |
| V2QuestionRequestListErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/api/question/request", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class Question3 extends HeyApiClient { | |
| private _request?: Request2 | |
| get request(): Request2 { | |
| return (this._request ??= new Request2({ client: this.client })) | |
| } | |
| } | |
| export class Reference extends HeyApiClient { | |
| /** | |
| * List references | |
| * | |
| * List references available in the requested location. | |
| */ | |
| public list<ThrowOnError extends boolean = false>( | |
| parameters?: { | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }]) | |
| return (options?.client ?? this.client).get<V2ReferenceListResponses, V2ReferenceListErrors, ThrowOnError>({ | |
| url: "/api/reference", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class ProjectCopy2 extends HeyApiClient { | |
| public remove<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| projectID: string | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| directory?: string | |
| force?: boolean | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "projectID" }, | |
| { in: "query", key: "location" }, | |
| { in: "body", key: "directory" }, | |
| { in: "body", key: "force" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).delete< | |
| V2ProjectCopyRemoveResponses, | |
| V2ProjectCopyRemoveErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/project/{projectID}/copy", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }) | |
| } | |
| public create<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| projectID: string | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| strategy?: string | |
| directory?: string | |
| name?: string | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "projectID" }, | |
| { in: "query", key: "location" }, | |
| { in: "body", key: "strategy" }, | |
| { in: "body", key: "directory" }, | |
| { in: "body", key: "name" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post<V2ProjectCopyCreateResponses, V2ProjectCopyCreateErrors, ThrowOnError>( | |
| { | |
| url: "/experimental/project/{projectID}/copy", | |
| ...options, | |
| ...params, | |
| headers: { | |
| "Content-Type": "application/json", | |
| ...options?.headers, | |
| ...params.headers, | |
| }, | |
| }, | |
| ) | |
| } | |
| public refresh<ThrowOnError extends boolean = false>( | |
| parameters: { | |
| projectID: string | |
| location?: { | |
| directory?: string | |
| workspace?: string | |
| } | |
| }, | |
| options?: Options<never, ThrowOnError>, | |
| ) { | |
| const params = buildClientParams( | |
| [parameters], | |
| [ | |
| { | |
| args: [ | |
| { in: "path", key: "projectID" }, | |
| { in: "query", key: "location" }, | |
| ], | |
| }, | |
| ], | |
| ) | |
| return (options?.client ?? this.client).post< | |
| V2ProjectCopyRefreshResponses, | |
| V2ProjectCopyRefreshErrors, | |
| ThrowOnError | |
| >({ | |
| url: "/experimental/project/{projectID}/copy/refresh", | |
| ...options, | |
| ...params, | |
| }) | |
| } | |
| } | |
| export class V2 extends HeyApiClient { | |
| private _health?: Health | |
| get health(): Health { | |
| return (this._health ??= new Health({ client: this.client })) | |
| } | |
| private _location?: Location | |
| get location(): Location { | |
| return (this._location ??= new Location({ client: this.client })) | |
| } | |
| private _agent?: Agent | |
| get agent(): Agent { | |
| return (this._agent ??= new Agent({ client: this.client })) | |
| } | |
| private _session?: Session3 | |
| get session(): Session3 { | |
| return (this._session ??= new Session3({ client: this.client })) | |
| } | |
| private _model?: Model | |
| get model(): Model { | |
| return (this._model ??= new Model({ client: this.client })) | |
| } | |
| private _provider?: Provider2 | |
| get provider(): Provider2 { | |
| return (this._provider ??= new Provider2({ client: this.client })) | |
| } | |
| private _integration?: Integration | |
| get integration(): Integration { | |
| return (this._integration ??= new Integration({ client: this.client })) | |
| } | |
| private _credential?: Credential | |
| get credential(): Credential { | |
| return (this._credential ??= new Credential({ client: this.client })) | |
| } | |
| private _permission?: Permission3 | |
| get permission(): Permission3 { | |
| return (this._permission ??= new Permission3({ client: this.client })) | |
| } | |
| private _fs?: Fs | |
| get fs(): Fs { | |
| return (this._fs ??= new Fs({ client: this.client })) | |
| } | |
| private _command?: Command2 | |
| get command(): Command2 { | |
| return (this._command ??= new Command2({ client: this.client })) | |
| } | |
| private _skill?: Skill | |
| get skill(): Skill { | |
| return (this._skill ??= new Skill({ client: this.client })) | |
| } | |
| private _event?: Event2 | |
| get event(): Event2 { | |
| return (this._event ??= new Event2({ client: this.client })) | |
| } | |
| private _question?: Question3 | |
| get question(): Question3 { | |
| return (this._question ??= new Question3({ client: this.client })) | |
| } | |
| private _reference?: Reference | |
| get reference(): Reference { | |
| return (this._reference ??= new Reference({ client: this.client })) | |
| } | |
| private _projectCopy?: ProjectCopy2 | |
| get projectCopy(): ProjectCopy2 { | |
| return (this._projectCopy ??= new ProjectCopy2({ client: this.client })) | |
| } | |
| } | |
| export class OpencodeClient extends HeyApiClient { | |
| public static readonly __registry = new HeyApiRegistry<OpencodeClient>() | |
| constructor(args?: { client?: Client; key?: string }) { | |
| super(args) | |
| OpencodeClient.__registry.set(this, args?.key) | |
| } | |
| private _auth?: Auth | |
| get auth(): Auth { | |
| return (this._auth ??= new Auth({ client: this.client })) | |
| } | |
| private _app?: App | |
| get app(): App { | |
| return (this._app ??= new App({ client: this.client })) | |
| } | |
| private _experimental?: Experimental | |
| get experimental(): Experimental { | |
| return (this._experimental ??= new Experimental({ client: this.client })) | |
| } | |
| private _global?: Global | |
| get global(): Global { | |
| return (this._global ??= new Global({ client: this.client })) | |
| } | |
| private _event?: Event | |
| get event(): Event { | |
| return (this._event ??= new Event({ client: this.client })) | |
| } | |
| private _config?: Config2 | |
| get config(): Config2 { | |
| return (this._config ??= new Config2({ client: this.client })) | |
| } | |
| private _tool?: Tool | |
| get tool(): Tool { | |
| return (this._tool ??= new Tool({ client: this.client })) | |
| } | |
| private _worktree?: Worktree | |
| get worktree(): Worktree { | |
| return (this._worktree ??= new Worktree({ client: this.client })) | |
| } | |
| private _find?: Find | |
| get find(): Find { | |
| return (this._find ??= new Find({ client: this.client })) | |
| } | |
| private _file?: File | |
| get file(): File { | |
| return (this._file ??= new File({ client: this.client })) | |
| } | |
| private _instance?: Instance | |
| get instance(): Instance { | |
| return (this._instance ??= new Instance({ client: this.client })) | |
| } | |
| private _path?: Path | |
| get path(): Path { | |
| return (this._path ??= new Path({ client: this.client })) | |
| } | |
| private _vcs?: Vcs | |
| get vcs(): Vcs { | |
| return (this._vcs ??= new Vcs({ client: this.client })) | |
| } | |
| private _command?: Command | |
| get command(): Command { | |
| return (this._command ??= new Command({ client: this.client })) | |
| } | |
| private _lsp?: Lsp | |
| get lsp(): Lsp { | |
| return (this._lsp ??= new Lsp({ client: this.client })) | |
| } | |
| private _formatter?: Formatter | |
| get formatter(): Formatter { | |
| return (this._formatter ??= new Formatter({ client: this.client })) | |
| } | |
| private _mcp?: Mcp | |
| get mcp(): Mcp { | |
| return (this._mcp ??= new Mcp({ client: this.client })) | |
| } | |
| private _project?: Project | |
| get project(): Project { | |
| return (this._project ??= new Project({ client: this.client })) | |
| } | |
| private _pty?: Pty | |
| get pty(): Pty { | |
| return (this._pty ??= new Pty({ client: this.client })) | |
| } | |
| private _question?: Question | |
| get question(): Question { | |
| return (this._question ??= new Question({ client: this.client })) | |
| } | |
| private _permission?: Permission | |
| get permission(): Permission { | |
| return (this._permission ??= new Permission({ client: this.client })) | |
| } | |
| private _provider?: Provider | |
| get provider(): Provider { | |
| return (this._provider ??= new Provider({ client: this.client })) | |
| } | |
| private _session?: Session2 | |
| get session(): Session2 { | |
| return (this._session ??= new Session2({ client: this.client })) | |
| } | |
| private _part?: Part | |
| get part(): Part { | |
| return (this._part ??= new Part({ client: this.client })) | |
| } | |
| private _sync?: Sync | |
| get sync(): Sync { | |
| return (this._sync ??= new Sync({ client: this.client })) | |
| } | |
| private _tui?: Tui | |
| get tui(): Tui { | |
| return (this._tui ??= new Tui({ client: this.client })) | |
| } | |
| private _v2?: V2 | |
| get v2(): V2 { | |
| return (this._v2 ??= new V2({ client: this.client })) | |
| } | |
| } | |
Xet Storage Details
- Size:
- 161 kB
- Xet hash:
- 52bdd624753a6323f7ebaa40548d17c4126ed014e0c3803709a021132db13daf
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.