@codesandbox/sdk
Version:
The CodeSandbox SDK
53 lines (52 loc) • 1.77 kB
TypeScript
import * as protocol from "../pitcher-protocol";
import { Disposable } from "../utils/disposable";
import { type IAgentClient } from "../agent-client-interface";
import { Tracer } from "@opentelemetry/api";
export type TaskDefinition = {
name: string;
command: string;
runAtStart?: boolean;
};
export declare class Tasks {
private agentClient;
private disposable;
private cachedTasks?;
private tracer?;
constructor(sessionDisposable: Disposable, agentClient: IAgentClient, tracer?: Tracer);
private withSpan;
/**
* Gets all tasks that are available in the current sandbox.
*/
getAll(): Promise<Task[]>;
/**
* Gets a task by its ID.
*/
get(taskId: string): Promise<Task | undefined>;
}
export declare class Task {
private agentClient;
private data;
private _ports;
private disposable;
private tracer?;
private get shell();
private openedShell?;
private onOutputEmitter;
readonly onOutput: import("../utils/event").Event<string>;
private onStatusChangeEmitter;
readonly onStatusChange: import("../utils/event").Event<"IDLE" | protocol.shell.ShellProcessStatus>;
get id(): string;
get name(): string;
get command(): string;
get runAtStart(): boolean;
get ports(): protocol.port.Port[];
get status(): "IDLE" | protocol.shell.ShellProcessStatus;
constructor(agentClient: IAgentClient, data: protocol.task.TaskDTO, _ports: protocol.port.Port[], tracer?: Tracer);
private withSpan;
open(dimensions?: import("./terminals").ShellSize): Promise<string>;
waitForPort(timeout?: number): Promise<protocol.port.Port>;
run(): Promise<void>;
restart(): Promise<void>;
stop(): Promise<void>;
dispose(): void;
}