download
raw
76 kB
// This file is auto-generated by @hey-api/openapi-ts
import { client } from "./client.gen.js";
import { buildClientParams } from "./client/index.js";
class HeyApiClient {
client;
constructor(args) {
this.client = args?.client ?? client;
}
}
class HeyApiRegistry {
defaultKey = "default";
instances = new Map();
get(key) {
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, key) {
this.instances.set(key ?? this.defaultKey, value);
}
}
export class Config extends HeyApiClient {
/**
* Get global configuration
*
* Retrieve the current global OpenCode configuration settings and preferences.
*/
get(options) {
return (options?.client ?? this.client).get({
url: "/global/config",
...options,
});
}
/**
* Update global configuration
*
* Update global OpenCode configuration settings and preferences.
*/
update(parameters, options) {
const params = buildClientParams([parameters], [{ args: [{ key: "config", map: "body" }] }]);
return (options?.client ?? this.client).patch({
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.
*/
health(options) {
return (options?.client ?? this.client).get({
url: "/global/health",
...options,
});
}
/**
* Get global events
*
* Subscribe to global events from the OpenCode system using server-sent events.
*/
event(options) {
return (options?.client ?? this.client).sse.get({
url: "/global/event",
...options,
});
}
/**
* Dispose instance
*
* Clean up and dispose all OpenCode instances, releasing all resources.
*/
dispose(options) {
return (options?.client ?? this.client).post({
url: "/global/dispose",
...options,
});
}
_config;
get config() {
return (this._config ??= new Config({ client: this.client }));
}
}
export class Auth extends HeyApiClient {
/**
* Remove auth credentials
*
* Remove authentication credentials
*/
remove(parameters, options) {
const params = buildClientParams([parameters], [{ args: [{ in: "path", key: "providerID" }] }]);
return (options?.client ?? this.client).delete({
url: "/auth/{providerID}",
...options,
...params,
});
}
/**
* Set auth credentials
*
* Set authentication credentials
*/
set(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "providerID" },
{ key: "auth", map: "body" },
],
},
]);
return (options?.client ?? this.client).put({
url: "/auth/{providerID}",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
}
export class Project extends HeyApiClient {
/**
* List all projects
*
* Get a list of projects that have been opened with OpenCode.
*/
list(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/project",
...options,
...params,
});
}
/**
* Get current project
*
* Retrieve the currently active project that OpenCode is working with.
*/
current(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/project/current",
...options,
...params,
});
}
/**
* Update project
*
* Update project properties such as name, icon, and commands.
*/
update(parameters, options) {
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({
url: "/project/{projectID}",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
}
export class Pty extends HeyApiClient {
/**
* List PTY sessions
*
* Get a list of all active pseudo-terminal (PTY) sessions managed by OpenCode.
*/
list(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/pty",
...options,
...params,
});
}
/**
* Create PTY session
*
* Create a new pseudo-terminal (PTY) session for running shell commands and processes.
*/
create(parameters, options) {
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({
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.
*/
remove(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "ptyID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).delete({
url: "/pty/{ptyID}",
...options,
...params,
});
}
/**
* Get PTY session
*
* Retrieve detailed information about a specific pseudo-terminal (PTY) session.
*/
get(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "ptyID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/pty/{ptyID}",
...options,
...params,
});
}
/**
* Update PTY session
*
* Update properties of an existing pseudo-terminal (PTY) session.
*/
update(parameters, options) {
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({
url: "/pty/{ptyID}",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
/**
* Connect to PTY session
*
* Establish a WebSocket connection to interact with a pseudo-terminal (PTY) session in real-time.
*/
connect(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "ptyID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/pty/{ptyID}/connect",
...options,
...params,
});
}
}
export class Config2 extends HeyApiClient {
/**
* Get configuration
*
* Retrieve the current OpenCode configuration settings and preferences.
*/
get(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/config",
...options,
...params,
});
}
/**
* Update configuration
*
* Update OpenCode configuration settings and preferences.
*/
update(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ key: "config", map: "body" },
],
},
]);
return (options?.client ?? this.client).patch({
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.
*/
providers(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/config/providers",
...options,
...params,
});
}
}
export class Tool extends HeyApiClient {
/**
* List tool IDs
*
* Get a list of all available tool IDs, including both built-in tools and dynamically registered tools.
*/
ids(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/experimental/tool/ids",
...options,
...params,
});
}
/**
* List tools
*
* Get a list of available tools with their JSON schema parameters for a specific provider and model combination.
*/
list(parameters, options) {
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({
url: "/experimental/tool",
...options,
...params,
});
}
}
export class Worktree extends HeyApiClient {
/**
* Remove worktree
*
* Remove a git worktree and delete its branch.
*/
remove(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ key: "worktreeRemoveInput", map: "body" },
],
},
]);
return (options?.client ?? this.client).delete({
url: "/experimental/worktree",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
/**
* List worktrees
*
* List all sandbox worktrees for the current project.
*/
list(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/experimental/worktree",
...options,
...params,
});
}
/**
* Create worktree
*
* Create a new git worktree for the current project and run any configured startup scripts.
*/
create(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ key: "worktreeCreateInput", map: "body" },
],
},
]);
return (options?.client ?? this.client).post({
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.
*/
reset(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ key: "worktreeResetInput", map: "body" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/experimental/worktree/reset",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
}
export class Workspace extends HeyApiClient {
/**
* Remove workspace
*
* Remove an existing workspace.
*/
remove(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "id" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).delete({
url: "/experimental/workspace/{id}",
...options,
...params,
});
}
/**
* Create workspace
*
* Create a workspace for the current project.
*/
create(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "id" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "body", key: "branch" },
{ in: "body", key: "config" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/experimental/workspace/{id}",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
/**
* List workspaces
*
* List all workspaces.
*/
list(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/experimental/workspace",
...options,
...params,
});
}
}
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.
*/
list(parameters, options) {
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({
url: "/experimental/session",
...options,
...params,
});
}
}
export class Resource extends HeyApiClient {
/**
* Get MCP resources
*
* Get all available MCP resources from connected servers. Optionally filter by name.
*/
list(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/experimental/resource",
...options,
...params,
});
}
}
export class Experimental extends HeyApiClient {
_workspace;
get workspace() {
return (this._workspace ??= new Workspace({ client: this.client }));
}
_session;
get session() {
return (this._session ??= new Session({ client: this.client }));
}
_resource;
get resource() {
return (this._resource ??= new Resource({ client: this.client }));
}
}
export class Session2 extends HeyApiClient {
/**
* List sessions
*
* Get a list of all OpenCode sessions, sorted by most recently updated.
*/
list(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "query", key: "roots" },
{ in: "query", key: "start" },
{ in: "query", key: "search" },
{ in: "query", key: "limit" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/session",
...options,
...params,
});
}
/**
* Create session
*
* Create a new OpenCode session for interacting with AI assistants and managing conversations.
*/
create(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "body", key: "parentID" },
{ in: "body", key: "title" },
{ in: "body", key: "permission" },
],
},
]);
return (options?.client ?? this.client).post({
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.
*/
status(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/session/status",
...options,
...params,
});
}
/**
* Delete session
*
* Delete a session and permanently remove all associated data, including messages and history.
*/
delete(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "sessionID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).delete({
url: "/session/{sessionID}",
...options,
...params,
});
}
/**
* Get session
*
* Retrieve detailed information about a specific OpenCode session.
*/
get(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "sessionID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/session/{sessionID}",
...options,
...params,
});
}
/**
* Update session
*
* Update properties of an existing session, such as title or other metadata.
*/
update(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "sessionID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "body", key: "title" },
{ in: "body", key: "time" },
],
},
]);
return (options?.client ?? this.client).patch({
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.
*/
children(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "sessionID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/session/{sessionID}/children",
...options,
...params,
});
}
/**
* Get session todos
*
* Retrieve the todo list associated with a specific session, showing tasks and action items.
*/
todo(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "sessionID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/session/{sessionID}/todo",
...options,
...params,
});
}
/**
* Initialize session
*
* Analyze the current application and create an AGENTS.md file with project-specific agent configurations.
*/
init(parameters, options) {
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({
url: "/session/{sessionID}/init",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
/**
* Fork session
*
* Create a new session by forking an existing session at a specific message point.
*/
fork(parameters, options) {
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({
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.
*/
abort(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "sessionID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/session/{sessionID}/abort",
...options,
...params,
});
}
/**
* Unshare session
*
* Remove the shareable link for a session, making it private again.
*/
unshare(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "sessionID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).delete({
url: "/session/{sessionID}/share",
...options,
...params,
});
}
/**
* Share session
*
* Create a shareable link for a session, allowing others to view the conversation.
*/
share(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "sessionID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/session/{sessionID}/share",
...options,
...params,
});
}
/**
* Get message diff
*
* Get the file changes (diff) that resulted from a specific user message in the session.
*/
diff(parameters, options) {
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({
url: "/session/{sessionID}/diff",
...options,
...params,
});
}
/**
* Summarize session
*
* Generate a concise summary of the session using AI compaction to preserve key information.
*/
summarize(parameters, options) {
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({
url: "/session/{sessionID}/summarize",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
/**
* Get session messages
*
* Retrieve all messages in a session, including user prompts and AI responses.
*/
messages(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "sessionID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "query", key: "limit" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/session/{sessionID}/message",
...options,
...params,
});
}
/**
* Send message
*
* Create and send a new message to a session, streaming the AI response.
*/
prompt(parameters, options) {
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({
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. This does not revert any file changes that may have been made while processing the message.
*/
deleteMessage(parameters, options) {
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({
url: "/session/{sessionID}/message/{messageID}",
...options,
...params,
});
}
/**
* Get message
*
* Retrieve a specific message from a session by its message ID.
*/
message(parameters, options) {
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({
url: "/session/{sessionID}/message/{messageID}",
...options,
...params,
});
}
/**
* Send async message
*
* Create and send a new message to a session asynchronously, starting the session if needed and returning immediately.
*/
promptAsync(parameters, options) {
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({
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.
*/
command(parameters, options) {
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({
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.
*/
shell(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "sessionID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "body", key: "agent" },
{ in: "body", key: "model" },
{ in: "body", key: "command" },
],
},
]);
return (options?.client ?? this.client).post({
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.
*/
revert(parameters, options) {
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({
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.
*/
unrevert(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "sessionID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/session/{sessionID}/unrevert",
...options,
...params,
});
}
}
export class Part extends HeyApiClient {
/**
* Delete a part from a message
*/
delete(parameters, options) {
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({
url: "/session/{sessionID}/message/{messageID}/part/{partID}",
...options,
...params,
});
}
/**
* Update a part in a message
*/
update(parameters, options) {
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({
url: "/session/{sessionID}/message/{messageID}/part/{partID}",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
}
export class Permission extends HeyApiClient {
/**
* Respond to permission
*
* Approve or deny a permission request from the AI assistant.
*
* @deprecated
*/
respond(parameters, options) {
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({
url: "/session/{sessionID}/permissions/{permissionID}",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
/**
* Respond to permission request
*
* Approve or deny a permission request from the AI assistant.
*/
reply(parameters, options) {
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({
url: "/permission/{requestID}/reply",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
/**
* List pending permissions
*
* Get all pending permission requests across all sessions.
*/
list(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/permission",
...options,
...params,
});
}
}
export class Question extends HeyApiClient {
/**
* List pending questions
*
* Get all pending question requests across all sessions.
*/
list(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/question",
...options,
...params,
});
}
/**
* Reply to question request
*
* Provide answers to a question request from the AI assistant.
*/
reply(parameters, options) {
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({
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.
*/
reject(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "requestID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/question/{requestID}/reject",
...options,
...params,
});
}
}
export class Oauth extends HeyApiClient {
/**
* OAuth authorize
*
* Initiate OAuth authorization for a specific AI provider to get an authorization URL.
*/
authorize(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "providerID" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "body", key: "method" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/provider/{providerID}/oauth/authorize",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
/**
* OAuth callback
*
* Handle the OAuth callback from a provider after user authorization.
*/
callback(parameters, options) {
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({
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.
*/
list(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/provider",
...options,
...params,
});
}
/**
* Get provider auth methods
*
* Retrieve available authentication methods for all AI providers.
*/
auth(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/provider/auth",
...options,
...params,
});
}
_oauth;
get oauth() {
return (this._oauth ??= new Oauth({ client: this.client }));
}
}
export class Find extends HeyApiClient {
/**
* Find text
*
* Search for text patterns across files in the project using ripgrep.
*/
text(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "query", key: "pattern" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/find",
...options,
...params,
});
}
/**
* Find files
*
* Search for files or directories by name or pattern in the project directory.
*/
files(parameters, options) {
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({
url: "/find/file",
...options,
...params,
});
}
/**
* Find symbols
*
* Search for workspace symbols like functions, classes, and variables using LSP.
*/
symbols(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "query", key: "query" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/find/symbol",
...options,
...params,
});
}
}
export class File extends HeyApiClient {
/**
* List files
*
* List files and directories in a specified path.
*/
list(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "query", key: "path" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/file",
...options,
...params,
});
}
/**
* Read file
*
* Read the content of a specified file.
*/
read(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "query", key: "path" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/file/content",
...options,
...params,
});
}
/**
* Get file status
*
* Get the git status of all files in the project.
*/
status(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/file/status",
...options,
...params,
});
}
}
export class Auth2 extends HeyApiClient {
/**
* Remove MCP OAuth
*
* Remove OAuth credentials for an MCP server
*/
remove(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "name" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).delete({
url: "/mcp/{name}/auth",
...options,
...params,
});
}
/**
* Start MCP OAuth
*
* Start OAuth authentication flow for a Model Context Protocol (MCP) server.
*/
start(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "name" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/mcp/{name}/auth",
...options,
...params,
});
}
/**
* Complete MCP OAuth
*
* Complete OAuth authentication for a Model Context Protocol (MCP) server using the authorization code.
*/
callback(parameters, options) {
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({
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)
*/
authenticate(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "name" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
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.
*/
status(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/mcp",
...options,
...params,
});
}
/**
* Add MCP server
*
* Dynamically add a new Model Context Protocol (MCP) server to the system.
*/
add(parameters, options) {
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({
url: "/mcp",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
/**
* Connect an MCP server
*/
connect(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "name" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/mcp/{name}/connect",
...options,
...params,
});
}
/**
* Disconnect an MCP server
*/
disconnect(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "path", key: "name" },
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/mcp/{name}/disconnect",
...options,
...params,
});
}
_auth;
get auth() {
return (this._auth ??= new Auth2({ client: this.client }));
}
}
export class Control extends HeyApiClient {
/**
* Get next TUI request
*
* Retrieve the next TUI (Terminal User Interface) request from the queue for processing.
*/
next(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/tui/control/next",
...options,
...params,
});
}
/**
* Submit TUI response
*
* Submit a response to the TUI request queue to complete a pending request.
*/
response(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ key: "body", map: "body" },
],
},
]);
return (options?.client ?? this.client).post({
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
*/
appendPrompt(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "body", key: "text" },
],
},
]);
return (options?.client ?? this.client).post({
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.
*/
openHelp(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/tui/open-help",
...options,
...params,
});
}
/**
* Open sessions dialog
*
* Open the session dialog
*/
openSessions(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/tui/open-sessions",
...options,
...params,
});
}
/**
* Open themes dialog
*
* Open the theme dialog
*/
openThemes(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/tui/open-themes",
...options,
...params,
});
}
/**
* Open models dialog
*
* Open the model dialog
*/
openModels(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/tui/open-models",
...options,
...params,
});
}
/**
* Submit TUI prompt
*
* Submit the prompt
*/
submitPrompt(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/tui/submit-prompt",
...options,
...params,
});
}
/**
* Clear TUI prompt
*
* Clear the prompt
*/
clearPrompt(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/tui/clear-prompt",
...options,
...params,
});
}
/**
* Execute TUI command
*
* Execute a TUI command (e.g. agent_cycle)
*/
executeCommand(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "body", key: "command" },
],
},
]);
return (options?.client ?? this.client).post({
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
*/
showToast(parameters, options) {
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({
url: "/tui/show-toast",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
/**
* Publish TUI event
*
* Publish a TUI event
*/
publish(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ key: "body", map: "body" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/tui/publish",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
/**
* Select session
*
* Navigate the TUI to display the specified session.
*/
selectSession(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
{ in: "body", key: "sessionID" },
],
},
]);
return (options?.client ?? this.client).post({
url: "/tui/select-session",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
});
}
_control;
get control() {
return (this._control ??= new Control({ client: this.client }));
}
}
export class Instance extends HeyApiClient {
/**
* Dispose instance
*
* Clean up and dispose the current OpenCode instance, releasing all resources.
*/
dispose(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).post({
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.
*/
get(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/path",
...options,
...params,
});
}
}
export class Vcs extends HeyApiClient {
/**
* Get VCS info
*
* Retrieve version control system (VCS) information for the current project, such as git branch.
*/
get(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/vcs",
...options,
...params,
});
}
}
export class Command extends HeyApiClient {
/**
* List commands
*
* Get a list of all available commands in the OpenCode system.
*/
list(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/command",
...options,
...params,
});
}
}
export class App extends HeyApiClient {
/**
* Write log
*
* Write a log entry to the server logs with specified level and metadata.
*/
log(parameters, options) {
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({
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.
*/
agents(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/agent",
...options,
...params,
});
}
/**
* List skills
*
* Get a list of all available skills in the OpenCode system.
*/
skills(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/skill",
...options,
...params,
});
}
}
export class Lsp extends HeyApiClient {
/**
* Get LSP status
*
* Get LSP server status
*/
status(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/lsp",
...options,
...params,
});
}
}
export class Formatter extends HeyApiClient {
/**
* Get formatter status
*
* Get formatter status
*/
status(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).get({
url: "/formatter",
...options,
...params,
});
}
}
export class Event extends HeyApiClient {
/**
* Subscribe to events
*
* Get events
*/
subscribe(parameters, options) {
const params = buildClientParams([parameters], [
{
args: [
{ in: "query", key: "directory" },
{ in: "query", key: "workspace" },
],
},
]);
return (options?.client ?? this.client).sse.get({
url: "/event",
...options,
...params,
});
}
}
export class OpencodeClient extends HeyApiClient {
static __registry = new HeyApiRegistry();
constructor(args) {
super(args);
OpencodeClient.__registry.set(this, args?.key);
}
_global;
get global() {
return (this._global ??= new Global({ client: this.client }));
}
_auth;
get auth() {
return (this._auth ??= new Auth({ client: this.client }));
}
_project;
get project() {
return (this._project ??= new Project({ client: this.client }));
}
_pty;
get pty() {
return (this._pty ??= new Pty({ client: this.client }));
}
_config;
get config() {
return (this._config ??= new Config2({ client: this.client }));
}
_tool;
get tool() {
return (this._tool ??= new Tool({ client: this.client }));
}
_worktree;
get worktree() {
return (this._worktree ??= new Worktree({ client: this.client }));
}
_experimental;
get experimental() {
return (this._experimental ??= new Experimental({ client: this.client }));
}
_session;
get session() {
return (this._session ??= new Session2({ client: this.client }));
}
_part;
get part() {
return (this._part ??= new Part({ client: this.client }));
}
_permission;
get permission() {
return (this._permission ??= new Permission({ client: this.client }));
}
_question;
get question() {
return (this._question ??= new Question({ client: this.client }));
}
_provider;
get provider() {
return (this._provider ??= new Provider({ client: this.client }));
}
_find;
get find() {
return (this._find ??= new Find({ client: this.client }));
}
_file;
get file() {
return (this._file ??= new File({ client: this.client }));
}
_mcp;
get mcp() {
return (this._mcp ??= new Mcp({ client: this.client }));
}
_tui;
get tui() {
return (this._tui ??= new Tui({ client: this.client }));
}
_instance;
get instance() {
return (this._instance ??= new Instance({ client: this.client }));
}
_path;
get path() {
return (this._path ??= new Path({ client: this.client }));
}
_vcs;
get vcs() {
return (this._vcs ??= new Vcs({ client: this.client }));
}
_command;
get command() {
return (this._command ??= new Command({ client: this.client }));
}
_app;
get app() {
return (this._app ??= new App({ client: this.client }));
}
_lsp;
get lsp() {
return (this._lsp ??= new Lsp({ client: this.client }));
}
_formatter;
get formatter() {
return (this._formatter ??= new Formatter({ client: this.client }));
}
_event;
get event() {
return (this._event ??= new Event({ client: this.client }));
}
}

Xet Storage Details

Size:
76 kB
·
Xet hash:
a8635bb35a491ea08b32d86e430603470de8a6ea058261c278e1834ee1f64eb5

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.