import * as cmd from '@computesdk/cmd'; import { SandboxInterface } from 'computesdk'; import { ProviderSandbox, Provider } from '@computesdk/provider'; /** * Workbench helpers for use in TypeScript files * * Import these in your .ts files for full TypeScript autocomplete! * * @example * ```typescript * import { createWorkbenchSession } from '@computesdk/workbench/helpers'; * * const session = await createWorkbenchSession('e2b'); * * // Now you get full TypeScript autocomplete! * await session.npm.install('express'); * await session.git.clone('https://github.com/user/repo'); * ``` */ type WorkbenchSandboxInstance = SandboxInterface | ProviderSandbox; interface WorkbenchSession { sandbox: WorkbenchSandboxInstance; npm: typeof cmd.npm; pnpm: typeof cmd.pnpm; yarn: typeof cmd.yarn; bun: typeof cmd.bun; pip: typeof cmd.pip; git: typeof cmd.git; mkdir: typeof cmd.mkdir; ls: typeof cmd.ls; pwd: typeof cmd.pwd; cat: typeof cmd.cat; node: typeof cmd.node; python: typeof cmd.python; } /** * Create a workbench session for use in TypeScript files * This gives you full TypeScript autocomplete! */ declare function createWorkbenchSession(provider?: Provider): Promise; export { type WorkbenchSandboxInstance, type WorkbenchSession, createWorkbenchSession };