@voidrun/sdk 0.0.24 → 0.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +290 -101
- package/dist/cjs/Sandbox.cjs +20 -0
- package/dist/cjs/Sandbox.d.ts +4 -0
- package/dist/cjs/Sandbox.d.ts.map +1 -1
- package/dist/cjs/Sandbox.js.map +1 -1
- package/dist/cjs/api-client/apis/AuthenticationApi.cjs +2 -2
- package/dist/cjs/api-client/apis/AuthenticationApi.d.ts +2 -2
- package/dist/cjs/api-client/apis/ExecutionApi.cjs +79 -2
- package/dist/cjs/api-client/apis/ExecutionApi.d.ts +31 -3
- package/dist/cjs/api-client/apis/ExecutionApi.d.ts.map +1 -1
- package/dist/cjs/api-client/apis/ExecutionApi.js.map +1 -1
- package/dist/cjs/api-client/apis/FileSystemApi.cjs +2 -2
- package/dist/cjs/api-client/apis/FileSystemApi.d.ts +2 -2
- package/dist/cjs/api-client/apis/ImagesApi.cjs +2 -2
- package/dist/cjs/api-client/apis/ImagesApi.d.ts +2 -2
- package/dist/cjs/api-client/apis/OrganizationsApi.cjs +108 -2
- package/dist/cjs/api-client/apis/OrganizationsApi.d.ts +45 -3
- package/dist/cjs/api-client/apis/OrganizationsApi.d.ts.map +1 -1
- package/dist/cjs/api-client/apis/OrganizationsApi.js.map +1 -1
- package/dist/cjs/api-client/apis/SandboxesApi.cjs +23 -86
- package/dist/cjs/api-client/apis/SandboxesApi.d.ts +16 -42
- package/dist/cjs/api-client/apis/SandboxesApi.d.ts.map +1 -1
- package/dist/cjs/api-client/apis/SandboxesApi.js.map +1 -1
- package/dist/cjs/api-client/apis/SystemApi.cjs +82 -0
- package/dist/cjs/api-client/apis/SystemApi.d.ts +29 -0
- package/dist/cjs/api-client/apis/SystemApi.d.ts.map +1 -0
- package/dist/cjs/api-client/apis/SystemApi.js.map +1 -0
- package/dist/cjs/api-client/apis/index.cjs +1 -0
- package/dist/cjs/api-client/apis/index.d.ts +1 -0
- package/dist/cjs/api-client/apis/index.d.ts.map +1 -1
- package/dist/cjs/api-client/apis/index.js.map +1 -1
- package/dist/cjs/api-client/models/APIKeyResponse.cjs +2 -2
- package/dist/cjs/api-client/models/APIKeyResponse.d.ts +2 -2
- package/dist/cjs/api-client/models/ActivateAPIKeyRequest.cjs +49 -0
- package/dist/cjs/api-client/models/ActivateAPIKeyRequest.d.ts +33 -0
- package/dist/cjs/api-client/models/ActivateAPIKeyRequest.d.ts.map +1 -0
- package/dist/cjs/api-client/models/ActivateAPIKeyRequest.js.map +1 -0
- package/dist/cjs/api-client/models/ApiResponseSandbox.cjs +2 -2
- package/dist/cjs/api-client/models/ApiResponseSandbox.d.ts +2 -2
- package/dist/cjs/api-client/models/ApiResponseSandboxesList.cjs +2 -2
- package/dist/cjs/api-client/models/ApiResponseSandboxesList.d.ts +2 -2
- package/dist/cjs/api-client/models/ApiResponseSandboxesListMeta.cjs +2 -2
- package/dist/cjs/api-client/models/ApiResponseSandboxesListMeta.d.ts +2 -2
- package/dist/cjs/api-client/models/CommandKillResponse.cjs +2 -2
- package/dist/cjs/api-client/models/CommandKillResponse.d.ts +2 -2
- package/dist/cjs/api-client/models/CommandListResponse.cjs +2 -2
- package/dist/cjs/api-client/models/CommandListResponse.d.ts +2 -2
- package/dist/cjs/api-client/models/CommandRunResponse.cjs +2 -2
- package/dist/cjs/api-client/models/CommandRunResponse.d.ts +2 -2
- package/dist/cjs/api-client/models/CommandWaitResponse.cjs +2 -2
- package/dist/cjs/api-client/models/CommandWaitResponse.d.ts +2 -2
- package/dist/cjs/api-client/models/CompressRequest.cjs +2 -2
- package/dist/cjs/api-client/models/CompressRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/CreateFileRequest.cjs +2 -2
- package/dist/cjs/api-client/models/CreateFileRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/CreateImageRequest.cjs +2 -2
- package/dist/cjs/api-client/models/CreateImageRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/CreatePTYSession200Response.cjs +2 -2
- package/dist/cjs/api-client/models/CreatePTYSession200Response.d.ts +2 -2
- package/dist/cjs/api-client/models/CreatePTYSession200ResponseAllOfData.cjs +2 -2
- package/dist/cjs/api-client/models/CreatePTYSession200ResponseAllOfData.d.ts +2 -2
- package/dist/cjs/api-client/models/CreatePTYSessionRequest.cjs +2 -2
- package/dist/cjs/api-client/models/CreatePTYSessionRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/CreateSandbox201Response.cjs +2 -2
- package/dist/cjs/api-client/models/CreateSandbox201Response.d.ts +2 -2
- package/dist/cjs/api-client/models/CreateSandboxRequest.cjs +2 -2
- package/dist/cjs/api-client/models/CreateSandboxRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/DiskUsage.cjs +2 -2
- package/dist/cjs/api-client/models/DiskUsage.d.ts +2 -2
- package/dist/cjs/api-client/models/ErrorResponse.cjs +2 -2
- package/dist/cjs/api-client/models/ErrorResponse.d.ts +2 -2
- package/dist/cjs/api-client/models/ExecRequest.cjs +2 -2
- package/dist/cjs/api-client/models/ExecRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/ExecResponse.cjs +2 -2
- package/dist/cjs/api-client/models/ExecResponse.d.ts +2 -2
- package/dist/cjs/api-client/models/ExecResponseData.cjs +2 -2
- package/dist/cjs/api-client/models/ExecResponseData.d.ts +2 -2
- package/dist/cjs/api-client/models/ExecuteInSessionRequest.cjs +2 -2
- package/dist/cjs/api-client/models/ExecuteInSessionRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/ExtractRequest.cjs +2 -2
- package/dist/cjs/api-client/models/ExtractRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/FileEvent.cjs +2 -2
- package/dist/cjs/api-client/models/FileEvent.d.ts +2 -2
- package/dist/cjs/api-client/models/FileInfo.cjs +2 -2
- package/dist/cjs/api-client/models/FileInfo.d.ts +2 -2
- package/dist/cjs/api-client/models/FileStats.cjs +2 -2
- package/dist/cjs/api-client/models/FileStats.d.ts +2 -2
- package/dist/cjs/api-client/models/GenerateAPIKeyRequest.cjs +2 -2
- package/dist/cjs/api-client/models/GenerateAPIKeyRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/GeneratedAPIKeyResponse.cjs +2 -2
- package/dist/cjs/api-client/models/GeneratedAPIKeyResponse.d.ts +2 -2
- package/dist/cjs/api-client/models/GetOrgUsers200Response.cjs +54 -0
- package/dist/cjs/api-client/models/GetOrgUsers200Response.d.ts +46 -0
- package/dist/cjs/api-client/models/GetOrgUsers200Response.d.ts.map +1 -0
- package/dist/cjs/api-client/models/GetOrgUsers200Response.js.map +1 -0
- package/dist/cjs/api-client/models/GetOrgUsers200ResponseAllOfDataInner.cjs +57 -0
- package/dist/cjs/api-client/models/GetOrgUsers200ResponseAllOfDataInner.d.ts +57 -0
- package/dist/cjs/api-client/models/GetOrgUsers200ResponseAllOfDataInner.d.ts.map +1 -0
- package/dist/cjs/api-client/models/GetOrgUsers200ResponseAllOfDataInner.js.map +1 -0
- package/dist/cjs/api-client/models/GetPTYBuffer200Response.cjs +2 -2
- package/dist/cjs/api-client/models/GetPTYBuffer200Response.d.ts +2 -2
- package/dist/cjs/api-client/models/GetPTYBuffer200ResponseAllOfData.cjs +2 -2
- package/dist/cjs/api-client/models/GetPTYBuffer200ResponseAllOfData.d.ts +2 -2
- package/dist/cjs/api-client/models/GetVersion200Response.cjs +53 -0
- package/dist/cjs/api-client/models/GetVersion200Response.d.ts +45 -0
- package/dist/cjs/api-client/models/GetVersion200Response.d.ts.map +1 -0
- package/dist/cjs/api-client/models/GetVersion200Response.js.map +1 -0
- package/dist/cjs/api-client/models/Image.cjs +2 -2
- package/dist/cjs/api-client/models/Image.d.ts +2 -2
- package/dist/cjs/api-client/models/KillBackgroundProcessRequest.cjs +2 -2
- package/dist/cjs/api-client/models/KillBackgroundProcessRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/ListFiles200Response.cjs +2 -2
- package/dist/cjs/api-client/models/ListFiles200Response.d.ts +2 -2
- package/dist/cjs/api-client/models/ListFiles200ResponseData.cjs +2 -2
- package/dist/cjs/api-client/models/ListFiles200ResponseData.d.ts +2 -2
- package/dist/cjs/api-client/models/ListPTYSessions200Response.cjs +2 -2
- package/dist/cjs/api-client/models/ListPTYSessions200Response.d.ts +2 -2
- package/dist/cjs/api-client/models/ListPTYSessions200ResponseAllOfData.cjs +2 -2
- package/dist/cjs/api-client/models/ListPTYSessions200ResponseAllOfData.d.ts +2 -2
- package/dist/cjs/api-client/models/Organization.cjs +2 -2
- package/dist/cjs/api-client/models/Organization.d.ts +2 -2
- package/dist/cjs/api-client/models/PTYSessionInfo.cjs +2 -2
- package/dist/cjs/api-client/models/PTYSessionInfo.d.ts +2 -2
- package/dist/cjs/api-client/models/ProcessInfo.cjs +2 -2
- package/dist/cjs/api-client/models/ProcessInfo.d.ts +2 -2
- package/dist/cjs/api-client/models/RegisterRequest.cjs +2 -2
- package/dist/cjs/api-client/models/RegisterRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/RegisterResponse.cjs +2 -2
- package/dist/cjs/api-client/models/RegisterResponse.d.ts +2 -2
- package/dist/cjs/api-client/models/RegisterResponseData.cjs +2 -2
- package/dist/cjs/api-client/models/RegisterResponseData.d.ts +2 -2
- package/dist/cjs/api-client/models/ResizeTerminalRequest.cjs +2 -2
- package/dist/cjs/api-client/models/ResizeTerminalRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/RestoreSandboxRequest.cjs +2 -2
- package/dist/cjs/api-client/models/RestoreSandboxRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/RunBackgroundCommandRequest.cjs +2 -2
- package/dist/cjs/api-client/models/RunBackgroundCommandRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/Sandbox.cjs +2 -2
- package/dist/cjs/api-client/models/Sandbox.d.ts +2 -2
- package/dist/cjs/api-client/models/SessionExecRequest.cjs +74 -0
- package/dist/cjs/api-client/models/SessionExecRequest.d.ts +80 -0
- package/dist/cjs/api-client/models/SessionExecRequest.d.ts.map +1 -0
- package/dist/cjs/api-client/models/SessionExecRequest.js.map +1 -0
- package/dist/cjs/api-client/models/SessionExecResponse.cjs +57 -0
- package/dist/cjs/api-client/models/SessionExecResponse.d.ts +57 -0
- package/dist/cjs/api-client/models/SessionExecResponse.d.ts.map +1 -0
- package/dist/cjs/api-client/models/SessionExecResponse.js.map +1 -0
- package/dist/cjs/api-client/models/SessionExecStreamRequest.cjs +55 -0
- package/dist/cjs/api-client/models/SessionExecStreamRequest.d.ts +39 -0
- package/dist/cjs/api-client/models/SessionExecStreamRequest.d.ts.map +1 -0
- package/dist/cjs/api-client/models/SessionExecStreamRequest.js.map +1 -0
- package/dist/cjs/api-client/models/Snapshot.cjs +2 -2
- package/dist/cjs/api-client/models/Snapshot.d.ts +2 -2
- package/dist/cjs/api-client/models/StartWatch200Response.cjs +2 -2
- package/dist/cjs/api-client/models/StartWatch200Response.d.ts +2 -2
- package/dist/cjs/api-client/models/StartWatch200ResponseData.cjs +2 -2
- package/dist/cjs/api-client/models/StartWatch200ResponseData.d.ts +2 -2
- package/dist/cjs/api-client/models/StartWatchRequest.cjs +2 -2
- package/dist/cjs/api-client/models/StartWatchRequest.d.ts +2 -2
- package/dist/cjs/api-client/models/SuccessResponse.cjs +2 -2
- package/dist/cjs/api-client/models/SuccessResponse.d.ts +2 -2
- package/dist/cjs/api-client/models/index.cjs +7 -0
- package/dist/cjs/api-client/models/index.d.ts +7 -0
- package/dist/cjs/api-client/models/index.d.ts.map +1 -1
- package/dist/cjs/api-client/models/index.js.map +1 -1
- package/dist/cjs/api-client/runtime.cjs +2 -2
- package/dist/cjs/api-client/runtime.d.ts +2 -2
- package/dist/esm/Sandbox.d.ts +4 -0
- package/dist/esm/Sandbox.d.ts.map +1 -1
- package/dist/esm/Sandbox.js +20 -0
- package/dist/esm/Sandbox.js.map +1 -1
- package/dist/esm/api-client/apis/AuthenticationApi.d.ts +2 -2
- package/dist/esm/api-client/apis/AuthenticationApi.js +2 -2
- package/dist/esm/api-client/apis/ExecutionApi.d.ts +31 -3
- package/dist/esm/api-client/apis/ExecutionApi.d.ts.map +1 -1
- package/dist/esm/api-client/apis/ExecutionApi.js +80 -3
- package/dist/esm/api-client/apis/ExecutionApi.js.map +1 -1
- package/dist/esm/api-client/apis/FileSystemApi.d.ts +2 -2
- package/dist/esm/api-client/apis/FileSystemApi.js +2 -2
- package/dist/esm/api-client/apis/ImagesApi.d.ts +2 -2
- package/dist/esm/api-client/apis/ImagesApi.js +2 -2
- package/dist/esm/api-client/apis/OrganizationsApi.d.ts +45 -3
- package/dist/esm/api-client/apis/OrganizationsApi.d.ts.map +1 -1
- package/dist/esm/api-client/apis/OrganizationsApi.js +109 -3
- package/dist/esm/api-client/apis/OrganizationsApi.js.map +1 -1
- package/dist/esm/api-client/apis/SandboxesApi.d.ts +16 -42
- package/dist/esm/api-client/apis/SandboxesApi.d.ts.map +1 -1
- package/dist/esm/api-client/apis/SandboxesApi.js +24 -87
- package/dist/esm/api-client/apis/SandboxesApi.js.map +1 -1
- package/dist/esm/api-client/apis/SystemApi.d.ts +29 -0
- package/dist/esm/api-client/apis/SystemApi.d.ts.map +1 -0
- package/dist/esm/api-client/apis/SystemApi.js +45 -0
- package/dist/esm/api-client/apis/SystemApi.js.map +1 -0
- package/dist/esm/api-client/apis/index.d.ts +1 -0
- package/dist/esm/api-client/apis/index.d.ts.map +1 -1
- package/dist/esm/api-client/apis/index.js +1 -0
- package/dist/esm/api-client/apis/index.js.map +1 -1
- package/dist/esm/api-client/models/APIKeyResponse.d.ts +2 -2
- package/dist/esm/api-client/models/APIKeyResponse.js +2 -2
- package/dist/esm/api-client/models/ActivateAPIKeyRequest.d.ts +33 -0
- package/dist/esm/api-client/models/ActivateAPIKeyRequest.d.ts.map +1 -0
- package/dist/esm/api-client/models/ActivateAPIKeyRequest.js +42 -0
- package/dist/esm/api-client/models/ActivateAPIKeyRequest.js.map +1 -0
- package/dist/esm/api-client/models/ApiResponseSandbox.d.ts +2 -2
- package/dist/esm/api-client/models/ApiResponseSandbox.js +2 -2
- package/dist/esm/api-client/models/ApiResponseSandboxesList.d.ts +2 -2
- package/dist/esm/api-client/models/ApiResponseSandboxesList.js +2 -2
- package/dist/esm/api-client/models/ApiResponseSandboxesListMeta.d.ts +2 -2
- package/dist/esm/api-client/models/ApiResponseSandboxesListMeta.js +2 -2
- package/dist/esm/api-client/models/CommandKillResponse.d.ts +2 -2
- package/dist/esm/api-client/models/CommandKillResponse.js +2 -2
- package/dist/esm/api-client/models/CommandListResponse.d.ts +2 -2
- package/dist/esm/api-client/models/CommandListResponse.js +2 -2
- package/dist/esm/api-client/models/CommandRunResponse.d.ts +2 -2
- package/dist/esm/api-client/models/CommandRunResponse.js +2 -2
- package/dist/esm/api-client/models/CommandWaitResponse.d.ts +2 -2
- package/dist/esm/api-client/models/CommandWaitResponse.js +2 -2
- package/dist/esm/api-client/models/CompressRequest.d.ts +2 -2
- package/dist/esm/api-client/models/CompressRequest.js +2 -2
- package/dist/esm/api-client/models/CreateFileRequest.d.ts +2 -2
- package/dist/esm/api-client/models/CreateFileRequest.js +2 -2
- package/dist/esm/api-client/models/CreateImageRequest.d.ts +2 -2
- package/dist/esm/api-client/models/CreateImageRequest.js +2 -2
- package/dist/esm/api-client/models/CreatePTYSession200Response.d.ts +2 -2
- package/dist/esm/api-client/models/CreatePTYSession200Response.js +2 -2
- package/dist/esm/api-client/models/CreatePTYSession200ResponseAllOfData.d.ts +2 -2
- package/dist/esm/api-client/models/CreatePTYSession200ResponseAllOfData.js +2 -2
- package/dist/esm/api-client/models/CreatePTYSessionRequest.d.ts +2 -2
- package/dist/esm/api-client/models/CreatePTYSessionRequest.js +2 -2
- package/dist/esm/api-client/models/CreateSandbox201Response.d.ts +2 -2
- package/dist/esm/api-client/models/CreateSandbox201Response.js +2 -2
- package/dist/esm/api-client/models/CreateSandboxRequest.d.ts +2 -2
- package/dist/esm/api-client/models/CreateSandboxRequest.js +2 -2
- package/dist/esm/api-client/models/DiskUsage.d.ts +2 -2
- package/dist/esm/api-client/models/DiskUsage.js +2 -2
- package/dist/esm/api-client/models/ErrorResponse.d.ts +2 -2
- package/dist/esm/api-client/models/ErrorResponse.js +2 -2
- package/dist/esm/api-client/models/ExecRequest.d.ts +2 -2
- package/dist/esm/api-client/models/ExecRequest.js +2 -2
- package/dist/esm/api-client/models/ExecResponse.d.ts +2 -2
- package/dist/esm/api-client/models/ExecResponse.js +2 -2
- package/dist/esm/api-client/models/ExecResponseData.d.ts +2 -2
- package/dist/esm/api-client/models/ExecResponseData.js +2 -2
- package/dist/esm/api-client/models/ExecuteInSessionRequest.d.ts +2 -2
- package/dist/esm/api-client/models/ExecuteInSessionRequest.js +2 -2
- package/dist/esm/api-client/models/ExtractRequest.d.ts +2 -2
- package/dist/esm/api-client/models/ExtractRequest.js +2 -2
- package/dist/esm/api-client/models/FileEvent.d.ts +2 -2
- package/dist/esm/api-client/models/FileEvent.js +2 -2
- package/dist/esm/api-client/models/FileInfo.d.ts +2 -2
- package/dist/esm/api-client/models/FileInfo.js +2 -2
- package/dist/esm/api-client/models/FileStats.d.ts +2 -2
- package/dist/esm/api-client/models/FileStats.js +2 -2
- package/dist/esm/api-client/models/GenerateAPIKeyRequest.d.ts +2 -2
- package/dist/esm/api-client/models/GenerateAPIKeyRequest.js +2 -2
- package/dist/esm/api-client/models/GeneratedAPIKeyResponse.d.ts +2 -2
- package/dist/esm/api-client/models/GeneratedAPIKeyResponse.js +2 -2
- package/dist/esm/api-client/models/GetOrgUsers200Response.d.ts +46 -0
- package/dist/esm/api-client/models/GetOrgUsers200Response.d.ts.map +1 -0
- package/dist/esm/api-client/models/GetOrgUsers200Response.js +47 -0
- package/dist/esm/api-client/models/GetOrgUsers200Response.js.map +1 -0
- package/dist/esm/api-client/models/GetOrgUsers200ResponseAllOfDataInner.d.ts +57 -0
- package/dist/esm/api-client/models/GetOrgUsers200ResponseAllOfDataInner.d.ts.map +1 -0
- package/dist/esm/api-client/models/GetOrgUsers200ResponseAllOfDataInner.js +50 -0
- package/dist/esm/api-client/models/GetOrgUsers200ResponseAllOfDataInner.js.map +1 -0
- package/dist/esm/api-client/models/GetPTYBuffer200Response.d.ts +2 -2
- package/dist/esm/api-client/models/GetPTYBuffer200Response.js +2 -2
- package/dist/esm/api-client/models/GetPTYBuffer200ResponseAllOfData.d.ts +2 -2
- package/dist/esm/api-client/models/GetPTYBuffer200ResponseAllOfData.js +2 -2
- package/dist/esm/api-client/models/GetVersion200Response.d.ts +45 -0
- package/dist/esm/api-client/models/GetVersion200Response.d.ts.map +1 -0
- package/dist/esm/api-client/models/GetVersion200Response.js +46 -0
- package/dist/esm/api-client/models/GetVersion200Response.js.map +1 -0
- package/dist/esm/api-client/models/Image.d.ts +2 -2
- package/dist/esm/api-client/models/Image.js +2 -2
- package/dist/esm/api-client/models/KillBackgroundProcessRequest.d.ts +2 -2
- package/dist/esm/api-client/models/KillBackgroundProcessRequest.js +2 -2
- package/dist/esm/api-client/models/ListFiles200Response.d.ts +2 -2
- package/dist/esm/api-client/models/ListFiles200Response.js +2 -2
- package/dist/esm/api-client/models/ListFiles200ResponseData.d.ts +2 -2
- package/dist/esm/api-client/models/ListFiles200ResponseData.js +2 -2
- package/dist/esm/api-client/models/ListPTYSessions200Response.d.ts +2 -2
- package/dist/esm/api-client/models/ListPTYSessions200Response.js +2 -2
- package/dist/esm/api-client/models/ListPTYSessions200ResponseAllOfData.d.ts +2 -2
- package/dist/esm/api-client/models/ListPTYSessions200ResponseAllOfData.js +2 -2
- package/dist/esm/api-client/models/Organization.d.ts +2 -2
- package/dist/esm/api-client/models/Organization.js +2 -2
- package/dist/esm/api-client/models/PTYSessionInfo.d.ts +2 -2
- package/dist/esm/api-client/models/PTYSessionInfo.js +2 -2
- package/dist/esm/api-client/models/ProcessInfo.d.ts +2 -2
- package/dist/esm/api-client/models/ProcessInfo.js +2 -2
- package/dist/esm/api-client/models/RegisterRequest.d.ts +2 -2
- package/dist/esm/api-client/models/RegisterRequest.js +2 -2
- package/dist/esm/api-client/models/RegisterResponse.d.ts +2 -2
- package/dist/esm/api-client/models/RegisterResponse.js +2 -2
- package/dist/esm/api-client/models/RegisterResponseData.d.ts +2 -2
- package/dist/esm/api-client/models/RegisterResponseData.js +2 -2
- package/dist/esm/api-client/models/ResizeTerminalRequest.d.ts +2 -2
- package/dist/esm/api-client/models/ResizeTerminalRequest.js +2 -2
- package/dist/esm/api-client/models/RestoreSandboxRequest.d.ts +2 -2
- package/dist/esm/api-client/models/RestoreSandboxRequest.js +2 -2
- package/dist/esm/api-client/models/RunBackgroundCommandRequest.d.ts +2 -2
- package/dist/esm/api-client/models/RunBackgroundCommandRequest.js +2 -2
- package/dist/esm/api-client/models/Sandbox.d.ts +2 -2
- package/dist/esm/api-client/models/Sandbox.js +2 -2
- package/dist/esm/api-client/models/SessionExecRequest.d.ts +80 -0
- package/dist/esm/api-client/models/SessionExecRequest.d.ts.map +1 -0
- package/dist/esm/api-client/models/SessionExecRequest.js +66 -0
- package/dist/esm/api-client/models/SessionExecRequest.js.map +1 -0
- package/dist/esm/api-client/models/SessionExecResponse.d.ts +57 -0
- package/dist/esm/api-client/models/SessionExecResponse.d.ts.map +1 -0
- package/dist/esm/api-client/models/SessionExecResponse.js +50 -0
- package/dist/esm/api-client/models/SessionExecResponse.js.map +1 -0
- package/dist/esm/api-client/models/SessionExecStreamRequest.d.ts +39 -0
- package/dist/esm/api-client/models/SessionExecStreamRequest.d.ts.map +1 -0
- package/dist/esm/api-client/models/SessionExecStreamRequest.js +48 -0
- package/dist/esm/api-client/models/SessionExecStreamRequest.js.map +1 -0
- package/dist/esm/api-client/models/Snapshot.d.ts +2 -2
- package/dist/esm/api-client/models/Snapshot.js +2 -2
- package/dist/esm/api-client/models/StartWatch200Response.d.ts +2 -2
- package/dist/esm/api-client/models/StartWatch200Response.js +2 -2
- package/dist/esm/api-client/models/StartWatch200ResponseData.d.ts +2 -2
- package/dist/esm/api-client/models/StartWatch200ResponseData.js +2 -2
- package/dist/esm/api-client/models/StartWatchRequest.d.ts +2 -2
- package/dist/esm/api-client/models/StartWatchRequest.js +2 -2
- package/dist/esm/api-client/models/SuccessResponse.d.ts +2 -2
- package/dist/esm/api-client/models/SuccessResponse.js +2 -2
- package/dist/esm/api-client/models/index.d.ts +7 -0
- package/dist/esm/api-client/models/index.d.ts.map +1 -1
- package/dist/esm/api-client/models/index.js +7 -0
- package/dist/esm/api-client/models/index.js.map +1 -1
- package/dist/esm/api-client/runtime.d.ts +2 -2
- package/dist/esm/api-client/runtime.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,14 +7,14 @@ A powerful, type-safe SDK for interacting with VoidRun AI Sandboxes. Execute cod
|
|
|
7
7
|
|
|
8
8
|
## Features
|
|
9
9
|
|
|
10
|
-
- 🏗️ **Sandbox Management** - Create, list,
|
|
11
|
-
- 🚀 **Code Execution** - Execute commands with real-time output capture
|
|
10
|
+
- 🏗️ **Sandbox Management** - Create, list, start, stop, pause, resume, and remove sandboxes
|
|
11
|
+
- 🚀 **Code Execution** - Execute commands with real-time streaming output capture
|
|
12
12
|
- 📁 **File Operations** - Create, read, delete, compress, and extract files
|
|
13
13
|
- 👀 **File Watching** - Monitor file changes in real-time via WebSocket
|
|
14
14
|
- 💻 **Pseudo-Terminal (PTY)** - Interactive terminal sessions (ephemeral & persistent)
|
|
15
|
-
- 🧠 **Code Interpreter** - Easy multi-language code execution (Python, JavaScript, Bash
|
|
15
|
+
- 🧠 **Code Interpreter** - Easy multi-language code execution (Python, JavaScript, Bash)
|
|
16
|
+
- ⚡ **Background Commands** - Run, list, kill, and attach to background processes
|
|
16
17
|
- 🔐 **Type-Safe** - Full TypeScript support with generated types from OpenAPI
|
|
17
|
-
- ⚡ **WebSocket Support** - Real-time streaming for PTY, file watches, and execution
|
|
18
18
|
- 🎯 **Promise-Based** - Modern async/await API
|
|
19
19
|
|
|
20
20
|
## Installation
|
|
@@ -31,21 +31,16 @@ yarn add @voidrun/sdk
|
|
|
31
31
|
|
|
32
32
|
## Quick Start
|
|
33
33
|
|
|
34
|
-
### Authentication
|
|
35
|
-
|
|
36
|
-
Set your API key via environment variable:
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
export API_KEY="your-api-key-here"
|
|
40
|
-
```
|
|
41
|
-
|
|
42
34
|
### Basic Usage
|
|
43
35
|
|
|
44
36
|
```typescript
|
|
45
37
|
import { VoidRun } from "@voidrun/sdk";
|
|
46
38
|
|
|
47
|
-
// Initialize the SDK
|
|
48
|
-
const vr = new VoidRun({
|
|
39
|
+
// Initialize the SDK with your credentials
|
|
40
|
+
const vr = new VoidRun({
|
|
41
|
+
apiKey: "your-api-key-here",
|
|
42
|
+
baseUrl: "https://api.voidrun.com"
|
|
43
|
+
});
|
|
49
44
|
|
|
50
45
|
// Create a sandbox
|
|
51
46
|
const sandbox = await vr.createSandbox({ mem: 1024, cpu: 1 });
|
|
@@ -65,10 +60,16 @@ await sandbox.remove();
|
|
|
65
60
|
An isolated environment where you can execute code, manage files, and run terminals.
|
|
66
61
|
|
|
67
62
|
```typescript
|
|
68
|
-
// Create a sandbox
|
|
63
|
+
// Create a sandbox with options
|
|
69
64
|
const sandbox = await vr.createSandbox({
|
|
70
|
-
|
|
71
|
-
|
|
65
|
+
name: "my-sandbox", // Optional: Sandbox name
|
|
66
|
+
mem: 1024, // Memory in MB (optional, has defaults)
|
|
67
|
+
cpu: 1, // CPU cores (optional, has defaults)
|
|
68
|
+
templateId: "template-id", // Optional: Template ID
|
|
69
|
+
envVars: { // Optional: Environment variables
|
|
70
|
+
DEBUG: 'true',
|
|
71
|
+
LOG_LEVEL: 'info'
|
|
72
|
+
}
|
|
72
73
|
});
|
|
73
74
|
|
|
74
75
|
// List all sandboxes
|
|
@@ -78,6 +79,12 @@ console.log(`Total sandboxes: ${sandboxes.length}`);
|
|
|
78
79
|
// Get a specific sandbox
|
|
79
80
|
const existingSandbox = await vr.getSandbox(sandboxId);
|
|
80
81
|
|
|
82
|
+
// Sandbox lifecycle management
|
|
83
|
+
await sandbox.start(); // Start a stopped sandbox
|
|
84
|
+
await sandbox.stop(); // Stop a running sandbox
|
|
85
|
+
await sandbox.pause(); // Pause a running sandbox
|
|
86
|
+
await sandbox.resume(); // Resume a paused sandbox
|
|
87
|
+
|
|
81
88
|
// Remove a sandbox
|
|
82
89
|
await sandbox.remove();
|
|
83
90
|
```
|
|
@@ -86,46 +93,107 @@ await sandbox.remove();
|
|
|
86
93
|
|
|
87
94
|
Execute commands and capture output, errors, and exit codes.
|
|
88
95
|
|
|
96
|
+
#### Synchronous Execution
|
|
97
|
+
|
|
89
98
|
```typescript
|
|
90
99
|
const result = await sandbox.exec({ command: "ls -la /home" });
|
|
91
100
|
|
|
92
|
-
console.log(result.data?.stdout);
|
|
93
|
-
console.log(result.data?.stderr);
|
|
101
|
+
console.log(result.data?.stdout); // standard output
|
|
102
|
+
console.log(result.data?.stderr); // standard error
|
|
94
103
|
console.log(result.data?.exitCode); // exit code
|
|
95
104
|
```
|
|
96
105
|
|
|
97
|
-
|
|
106
|
+
#### Streaming Execution (SSE)
|
|
98
107
|
|
|
99
|
-
|
|
108
|
+
For real-time output, provide streaming handlers:
|
|
100
109
|
|
|
101
110
|
```typescript
|
|
102
|
-
|
|
103
|
-
|
|
111
|
+
await sandbox.exec({
|
|
112
|
+
command: "seq 1 10 | while read i; do echo \"Line $i\"; sleep 1; done"
|
|
113
|
+
}, {
|
|
114
|
+
onStdout: (data) => console.log('stdout:', data),
|
|
115
|
+
onStderr: (data) => console.log('stderr:', data),
|
|
116
|
+
onExit: (result) => console.log('exit:', result),
|
|
117
|
+
onError: (error) => console.error('error:', error),
|
|
118
|
+
signal: abortController.signal // Optional: AbortSignal for cancellation
|
|
119
|
+
});
|
|
120
|
+
```
|
|
104
121
|
|
|
105
|
-
|
|
106
|
-
const result = await sandbox.interpreter.execute("print(2 + 2)");
|
|
107
|
-
if (result.success) {
|
|
108
|
-
console.log(result.output); // "4"
|
|
109
|
-
}
|
|
122
|
+
#### Execution with Options
|
|
110
123
|
|
|
111
|
-
|
|
112
|
-
const
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
|
|
116
|
-
|
|
124
|
+
```typescript
|
|
125
|
+
const result = await sandbox.exec({
|
|
126
|
+
command: "echo $MY_VAR && pwd",
|
|
127
|
+
cwd: "/tmp", // Working directory
|
|
128
|
+
env: { MY_VAR: "test_value" }, // Environment variables
|
|
129
|
+
timeout: 30 // Timeout in seconds
|
|
130
|
+
});
|
|
131
|
+
```
|
|
117
132
|
|
|
118
|
-
|
|
119
|
-
await sandbox.interpreter.reset("javascript");
|
|
120
|
-
const jsResult = await sandbox.interpreter.execute("console.log(2 + 2)");
|
|
133
|
+
### Code Interpreter
|
|
121
134
|
|
|
122
|
-
|
|
123
|
-
|
|
135
|
+
Execute code in multiple programming languages with a simple, intuitive API.
|
|
136
|
+
|
|
137
|
+
```typescript
|
|
138
|
+
// Execute Python code
|
|
139
|
+
const result = await sandbox.runCode('print(2 + 2)', { language: 'python' });
|
|
140
|
+
console.log(result.stdout.trim()); // "4"
|
|
141
|
+
console.log(result.success); // true
|
|
142
|
+
|
|
143
|
+
// Execute JavaScript code
|
|
144
|
+
const jsResult = await sandbox.runCode('console.log("Hello")', { language: 'javascript' });
|
|
145
|
+
|
|
146
|
+
// Execute with streaming output
|
|
147
|
+
const streamResult = await sandbox.runCode(`
|
|
148
|
+
for i in range(5):
|
|
149
|
+
print(f"Iteration {i}")
|
|
150
|
+
`, {
|
|
151
|
+
language: 'python',
|
|
152
|
+
onStdout: (data) => console.log(data),
|
|
153
|
+
onStderr: (data) => console.error(data),
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
// Check execution result
|
|
157
|
+
console.log(streamResult.exitCode); // 0 for success
|
|
158
|
+
console.log(streamResult.results); // Parsed results
|
|
159
|
+
console.log(streamResult.logs); // { stdout: [...], stderr: [...] }
|
|
124
160
|
```
|
|
125
161
|
|
|
126
|
-
Supported
|
|
162
|
+
**Supported Languages:** `python`, `javascript`, `typescript`, `node`, `bash`, `sh`
|
|
127
163
|
|
|
128
|
-
|
|
164
|
+
### Background Commands
|
|
165
|
+
|
|
166
|
+
Run long-running processes in the background and manage them.
|
|
167
|
+
|
|
168
|
+
```typescript
|
|
169
|
+
// Start a background process
|
|
170
|
+
const runResult = await sandbox.commands.run(
|
|
171
|
+
"sleep 100 && echo 'Done'", // command
|
|
172
|
+
{ DEBUG: 'true' }, // env (optional)
|
|
173
|
+
"/tmp", // cwd (optional)
|
|
174
|
+
0 // timeout (0 = no timeout)
|
|
175
|
+
);
|
|
176
|
+
console.log(runResult.pid); // Process ID
|
|
177
|
+
|
|
178
|
+
// List all running processes
|
|
179
|
+
const listResult = await sandbox.commands.list();
|
|
180
|
+
console.log(listResult.processes); // Array of ProcessInfo
|
|
181
|
+
|
|
182
|
+
// Attach to a process and stream output
|
|
183
|
+
await sandbox.commands.connect(runResult.pid, {
|
|
184
|
+
onStdout: (data) => console.log(data),
|
|
185
|
+
onStderr: (data) => console.error(data),
|
|
186
|
+
onExit: ({ exitCode }) => console.log('Process exited:', exitCode),
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
// Wait for a process to complete
|
|
190
|
+
const waitResult = await sandbox.commands.wait(runResult.pid);
|
|
191
|
+
console.log(waitResult.exitCode);
|
|
192
|
+
|
|
193
|
+
// Kill a running process
|
|
194
|
+
const killResult = await sandbox.commands.kill(runResult.pid);
|
|
195
|
+
console.log(killResult.success);
|
|
196
|
+
```
|
|
129
197
|
|
|
130
198
|
### File Operations
|
|
131
199
|
|
|
@@ -138,10 +206,23 @@ await sandbox.fs.createFile("/tmp/hello.txt");
|
|
|
138
206
|
// Upload content to file
|
|
139
207
|
await sandbox.fs.uploadFile("/tmp/hello.txt", "Hello, World!");
|
|
140
208
|
|
|
209
|
+
// Upload via stream
|
|
210
|
+
const stream = Readable.from(["line 1\n", "line 2\n"]);
|
|
211
|
+
await sandbox.fs.uploadFileStream("/tmp/streamed.txt", Readable.toWeb(stream));
|
|
212
|
+
|
|
141
213
|
// Read a file
|
|
142
214
|
const buffer = await sandbox.fs.downloadFile("/tmp/hello.txt");
|
|
143
215
|
const content = buffer.toString();
|
|
144
216
|
|
|
217
|
+
// Download as stream
|
|
218
|
+
const fileStream = await sandbox.fs.downloadFileStream("/tmp/hello.txt");
|
|
219
|
+
const reader = fileStream.getReader();
|
|
220
|
+
while (true) {
|
|
221
|
+
const { done, value } = await reader.read();
|
|
222
|
+
if (done) break;
|
|
223
|
+
console.log(new TextDecoder().decode(value));
|
|
224
|
+
}
|
|
225
|
+
|
|
145
226
|
// Delete a file
|
|
146
227
|
await sandbox.fs.deleteFile("/tmp/hello.txt");
|
|
147
228
|
|
|
@@ -152,12 +233,6 @@ const files = result.data?.files;
|
|
|
152
233
|
// Get file stats
|
|
153
234
|
const stats = await sandbox.fs.statFile("/tmp/hello.txt");
|
|
154
235
|
|
|
155
|
-
// Compress files
|
|
156
|
-
await sandbox.fs.compressFile("/tmp", "tar.gz");
|
|
157
|
-
|
|
158
|
-
// Extract archive
|
|
159
|
-
await sandbox.fs.extractArchive("/tmp/archive.tar.gz", "/tmp/extracted");
|
|
160
|
-
|
|
161
236
|
// Create directory
|
|
162
237
|
await sandbox.fs.createDirectory("/tmp/mydir");
|
|
163
238
|
|
|
@@ -166,6 +241,26 @@ await sandbox.fs.moveFile("/tmp/file.txt", "/tmp/newfile.txt");
|
|
|
166
241
|
|
|
167
242
|
// Copy file
|
|
168
243
|
await sandbox.fs.copyFile("/tmp/file.txt", "/tmp/copy.txt");
|
|
244
|
+
|
|
245
|
+
// Change permissions
|
|
246
|
+
await sandbox.fs.changePermissions("/tmp/file.txt", "755");
|
|
247
|
+
|
|
248
|
+
// Head/Tail - read first or last lines
|
|
249
|
+
const head = await sandbox.fs.headTail("/tmp/file.txt", { head: true, lines: 10 });
|
|
250
|
+
const tail = await sandbox.fs.headTail("/tmp/file.txt", { head: false, lines: 10 });
|
|
251
|
+
|
|
252
|
+
// Search files by pattern
|
|
253
|
+
const search = await sandbox.fs.searchFiles("/tmp", "*.txt");
|
|
254
|
+
|
|
255
|
+
// Get folder size
|
|
256
|
+
const size = await sandbox.fs.folderSize("/tmp");
|
|
257
|
+
|
|
258
|
+
// Compress files
|
|
259
|
+
const archive = await sandbox.fs.compressFile("/tmp", "tar.gz");
|
|
260
|
+
console.log(archive.archivePath || archive.data?.archivePath);
|
|
261
|
+
|
|
262
|
+
// Extract archive
|
|
263
|
+
await sandbox.fs.extractArchive("/tmp/archive.tar.gz", "/tmp/extracted");
|
|
169
264
|
```
|
|
170
265
|
|
|
171
266
|
### File Watching
|
|
@@ -181,6 +276,9 @@ const watcher = await sandbox.fs.watch("/app", {
|
|
|
181
276
|
onError: (err) => {
|
|
182
277
|
console.error("Watch error:", err);
|
|
183
278
|
},
|
|
279
|
+
onClose: () => {
|
|
280
|
+
console.log("Watcher closed");
|
|
281
|
+
}
|
|
184
282
|
});
|
|
185
283
|
|
|
186
284
|
// Stop watching
|
|
@@ -205,8 +303,8 @@ const pty = await sandbox.pty.connect({
|
|
|
205
303
|
});
|
|
206
304
|
|
|
207
305
|
// Send commands
|
|
208
|
-
pty.
|
|
209
|
-
pty.
|
|
306
|
+
pty.sendInput('echo "Hello"\n');
|
|
307
|
+
pty.sendInput("pwd\n");
|
|
210
308
|
|
|
211
309
|
// Close connection
|
|
212
310
|
pty.close();
|
|
@@ -228,9 +326,9 @@ const pty = await sandbox.pty.connect({
|
|
|
228
326
|
});
|
|
229
327
|
|
|
230
328
|
// Send commands
|
|
231
|
-
pty.
|
|
329
|
+
pty.sendInput('echo "Hello"\n');
|
|
232
330
|
|
|
233
|
-
// Close connection
|
|
331
|
+
// Close connection (session persists)
|
|
234
332
|
pty.close();
|
|
235
333
|
|
|
236
334
|
// Reconnect later - session and output persist
|
|
@@ -249,7 +347,7 @@ Run commands with automatic prompt detection:
|
|
|
249
347
|
```typescript
|
|
250
348
|
const pty = await sandbox.pty.connect({ sessionId });
|
|
251
349
|
|
|
252
|
-
const output = await pty.runCommand("
|
|
350
|
+
const output = await pty.runCommand("ls -la", {
|
|
253
351
|
timeout: 5000,
|
|
254
352
|
prompt: /[#$] $/, // Regex to detect shell prompt
|
|
255
353
|
});
|
|
@@ -280,7 +378,7 @@ await sandbox.pty.deleteSession(sessionId);
|
|
|
280
378
|
Main client for interacting with the API.
|
|
281
379
|
|
|
282
380
|
```typescript
|
|
283
|
-
new VoidRun(options?:
|
|
381
|
+
new VoidRun(options?: VoidRunConfig)
|
|
284
382
|
```
|
|
285
383
|
|
|
286
384
|
**Options:**
|
|
@@ -298,8 +396,8 @@ new VoidRun(options?: VoidRunOptions)
|
|
|
298
396
|
- `mem?: number` - Memory in MB
|
|
299
397
|
- `orgId?: string` - Organization ID
|
|
300
398
|
- `userId?: string` - User ID
|
|
301
|
-
- `sync?: boolean` - Sync mode
|
|
302
|
-
- `
|
|
399
|
+
- `sync?: boolean` - Sync mode (default: true)
|
|
400
|
+
- `envVars?: Record<string, string>` - Environment variables
|
|
303
401
|
- `listSandboxes()` - List all sandboxes (returns `{ sandboxes: Sandbox[], meta }`)
|
|
304
402
|
- `getSandbox(id: string)` - Get a specific sandbox
|
|
305
403
|
- `removeSandbox(id: string)` - Delete a sandbox
|
|
@@ -318,17 +416,30 @@ Represents an isolated sandbox environment.
|
|
|
318
416
|
- `createdAt: Date` - Creation timestamp
|
|
319
417
|
- `createdBy: string` - Creator ID
|
|
320
418
|
- `status: string` - Sandbox status
|
|
321
|
-
- `
|
|
419
|
+
- `envVars?: { [key: string]: string }` - Environment variables
|
|
322
420
|
- `fs: FS` - File system interface
|
|
323
421
|
- `pty: PTY` - PTY interface
|
|
422
|
+
- `interpreter: CodeInterpreter` - Code interpreter
|
|
423
|
+
- `commands: Commands` - Background commands interface
|
|
324
424
|
|
|
325
425
|
**Methods:**
|
|
326
426
|
|
|
327
|
-
- `exec(request: ExecRequest)` - Execute a command
|
|
427
|
+
- `exec(request: ExecRequest, handlers?: ExecStreamHandlers)` - Execute a command
|
|
328
428
|
- `request.command: string` - Command to execute
|
|
329
|
-
- `request.cwd?: string` - Working directory
|
|
330
|
-
- `request.env?: Record<string, string>` - Environment variables
|
|
331
|
-
- `request.timeout?: number` - Timeout in seconds
|
|
429
|
+
- `request.cwd?: string` - Working directory
|
|
430
|
+
- `request.env?: Record<string, string>` - Environment variables
|
|
431
|
+
- `request.timeout?: number` - Timeout in seconds
|
|
432
|
+
- `handlers.onStdout?: (data: string) => void` - Stream stdout
|
|
433
|
+
- `handlers.onStderr?: (data: string) => void` - Stream stderr
|
|
434
|
+
- `handlers.onExit?: (result: ExecStreamExit) => void` - Exit handler
|
|
435
|
+
- `handlers.onError?: (error: Error) => void` - Error handler
|
|
436
|
+
- `handlers.signal?: AbortSignal` - Abort signal
|
|
437
|
+
- `execStream(request: ExecRequest, handlers: ExecStreamHandlers)` - Streaming execution
|
|
438
|
+
- `runCode(code: string, options?: CodeExecutionOptions)` - Execute code
|
|
439
|
+
- `start()` - Start the sandbox
|
|
440
|
+
- `stop()` - Stop the sandbox
|
|
441
|
+
- `pause()` - Pause the sandbox
|
|
442
|
+
- `resume()` - Resume the sandbox
|
|
332
443
|
- `remove()` - Delete the sandbox
|
|
333
444
|
- `info()` - Get sandbox information
|
|
334
445
|
|
|
@@ -344,6 +455,35 @@ Represents an isolated sandbox environment.
|
|
|
344
455
|
}
|
|
345
456
|
```
|
|
346
457
|
|
|
458
|
+
**Code Execution Result:**
|
|
459
|
+
|
|
460
|
+
```typescript
|
|
461
|
+
{
|
|
462
|
+
success: boolean;
|
|
463
|
+
results: any; // Parsed results
|
|
464
|
+
stdout: string; // Combined stdout
|
|
465
|
+
stderr: string; // Combined stderr
|
|
466
|
+
error?: string; // Error message if any
|
|
467
|
+
exitCode?: number; // Process exit code
|
|
468
|
+
logs: {
|
|
469
|
+
stdout: string[]; // Individual stdout lines
|
|
470
|
+
stderr: string[]; // Individual stderr lines
|
|
471
|
+
};
|
|
472
|
+
}
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
### Commands Class
|
|
476
|
+
|
|
477
|
+
Background process management.
|
|
478
|
+
|
|
479
|
+
**Methods:**
|
|
480
|
+
|
|
481
|
+
- `run(command: string, env?: Record<string, string>, cwd?: string, timeout?: number)` - Start a background process
|
|
482
|
+
- `list()` - List all running processes
|
|
483
|
+
- `kill(pid: number)` - Kill a process
|
|
484
|
+
- `connect(pid: number, handlers: ProcessAttachHandlers)` - Attach to process output stream
|
|
485
|
+
- `wait(pid: number)` - Wait for process to complete
|
|
486
|
+
|
|
347
487
|
### FileSystem Interface
|
|
348
488
|
|
|
349
489
|
Manage files and directories.
|
|
@@ -353,10 +493,9 @@ Manage files and directories.
|
|
|
353
493
|
- `createFile(path: string)` - Create a file
|
|
354
494
|
- `uploadFile(path: string, content: string)` - Upload file content
|
|
355
495
|
- `uploadFileStream(path: string, stream: ReadableStream)` - Upload file as stream
|
|
356
|
-
- `uploadFileFromPath(remotePath: string, localPath: string)` - Upload from local file
|
|
357
496
|
- `downloadFile(path: string)` - Download file as Buffer
|
|
358
497
|
- `downloadFileStream(path: string)` - Download file as ReadableStream
|
|
359
|
-
- `deleteFile(path: string)` - Delete a file
|
|
498
|
+
- `deleteFile(path: string)` - Delete a file/directory
|
|
360
499
|
- `listFiles(path: string)` - List directory contents
|
|
361
500
|
- `statFile(path: string)` - Get file metadata
|
|
362
501
|
- `createDirectory(path: string)` - Create a directory
|
|
@@ -403,7 +542,7 @@ Pseudo-terminal operations.
|
|
|
403
542
|
|
|
404
543
|
**PtySession Methods:**
|
|
405
544
|
|
|
406
|
-
- `
|
|
545
|
+
- `sendInput(data: string)` - Send data to terminal
|
|
407
546
|
- `runCommand(cmd: string, options: RunCommandOptions)` - Execute with prompt detection
|
|
408
547
|
- `resize(cols: number, rows: number)` - Resize terminal
|
|
409
548
|
- `close()` - Close connection
|
|
@@ -435,6 +574,54 @@ console.log(result.data?.stdout);
|
|
|
435
574
|
await sandbox.remove();
|
|
436
575
|
```
|
|
437
576
|
|
|
577
|
+
### Code Interpreter Workflow
|
|
578
|
+
|
|
579
|
+
```typescript
|
|
580
|
+
const sandbox = await vr.createSandbox({ name: 'interpreter-demo' });
|
|
581
|
+
|
|
582
|
+
// Python data analysis
|
|
583
|
+
const result = await sandbox.runCode(`
|
|
584
|
+
import json
|
|
585
|
+
data = [1, 2, 3, 4, 5]
|
|
586
|
+
result = {
|
|
587
|
+
"sum": sum(data),
|
|
588
|
+
"avg": sum(data) / len(data),
|
|
589
|
+
"max": max(data)
|
|
590
|
+
}
|
|
591
|
+
print(json.dumps(result))
|
|
592
|
+
`, { language: 'python' });
|
|
593
|
+
|
|
594
|
+
console.log(result.results); // Parsed JSON output
|
|
595
|
+
|
|
596
|
+
// JavaScript
|
|
597
|
+
const jsResult = await sandbox.runCode(`
|
|
598
|
+
const fib = (n) => n <= 1 ? n : fib(n-1) + fib(n-2);
|
|
599
|
+
console.log(fib(10));
|
|
600
|
+
`, { language: 'javascript' });
|
|
601
|
+
|
|
602
|
+
await sandbox.remove();
|
|
603
|
+
```
|
|
604
|
+
|
|
605
|
+
### Background Process Management
|
|
606
|
+
|
|
607
|
+
```typescript
|
|
608
|
+
const sandbox = await vr.createSandbox({});
|
|
609
|
+
|
|
610
|
+
// Start a long-running process
|
|
611
|
+
const { pid } = await sandbox.commands.run("tail -f /var/log/syslog");
|
|
612
|
+
|
|
613
|
+
// Attach to stream output
|
|
614
|
+
await sandbox.commands.connect(pid, {
|
|
615
|
+
onStdout: (data) => console.log(data),
|
|
616
|
+
onExit: ({ exitCode }) => console.log('Exited:', exitCode),
|
|
617
|
+
});
|
|
618
|
+
|
|
619
|
+
// Later, kill the process
|
|
620
|
+
await sandbox.commands.kill(pid);
|
|
621
|
+
|
|
622
|
+
await sandbox.remove();
|
|
623
|
+
```
|
|
624
|
+
|
|
438
625
|
### Monitor Code Changes
|
|
439
626
|
|
|
440
627
|
```typescript
|
|
@@ -496,13 +683,13 @@ const pty = await sandbox.pty.connect({
|
|
|
496
683
|
});
|
|
497
684
|
|
|
498
685
|
// Interactive commands
|
|
499
|
-
pty.
|
|
686
|
+
pty.sendInput("npm init -y\n");
|
|
500
687
|
await new Promise((r) => setTimeout(r, 1000));
|
|
501
688
|
|
|
502
|
-
pty.
|
|
689
|
+
pty.sendInput("npm install express\n");
|
|
503
690
|
await new Promise((r) => setTimeout(r, 2000));
|
|
504
691
|
|
|
505
|
-
pty.
|
|
692
|
+
pty.sendInput('node -e "console.log(process.version)"\n');
|
|
506
693
|
await new Promise((r) => setTimeout(r, 500));
|
|
507
694
|
|
|
508
695
|
pty.close();
|
|
@@ -511,29 +698,14 @@ await sandbox.remove();
|
|
|
511
698
|
|
|
512
699
|
## Configuration
|
|
513
700
|
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
```bash
|
|
517
|
-
# API Key (required)
|
|
518
|
-
export API_KEY="your-api-key-here"
|
|
519
|
-
|
|
520
|
-
# Base URL (optional)
|
|
521
|
-
export VOIDRUN_BASE_URL="https://api.voidrun.com"
|
|
522
|
-
```
|
|
701
|
+
The SDK can be configured by passing options to the `VoidRun` constructor:
|
|
523
702
|
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
VOIDRUN_BASE_URL=https://api.voidrun.com
|
|
531
|
-
```
|
|
532
|
-
|
|
533
|
-
Then run with:
|
|
534
|
-
|
|
535
|
-
```bash
|
|
536
|
-
npx tsx --env-file=.env your-script.ts
|
|
703
|
+
```typescript
|
|
704
|
+
const vr = new VoidRun({
|
|
705
|
+
apiKey: "your-api-key", // Required: Your API key
|
|
706
|
+
baseUrl: "https://api.voidrun.com", // Required: API base URL
|
|
707
|
+
orgId: "your-org-id" // Optional: Organization ID
|
|
708
|
+
});
|
|
537
709
|
```
|
|
538
710
|
|
|
539
711
|
## Error Handling
|
|
@@ -562,18 +734,21 @@ Run the comprehensive test suite:
|
|
|
562
734
|
|
|
563
735
|
```bash
|
|
564
736
|
npm install
|
|
565
|
-
npx tsx
|
|
737
|
+
npx tsx example/test-sandbox-exec.ts
|
|
566
738
|
```
|
|
567
739
|
|
|
568
740
|
Available examples:
|
|
569
741
|
|
|
570
|
-
- `test-
|
|
571
|
-
- `test-sandbox-exec.ts` - Code execution examples
|
|
742
|
+
- `test-sandbox-exec.ts` - Command execution with streaming
|
|
572
743
|
- `test-sandbox-fs.ts` - File system operations
|
|
573
|
-
- `test-sandbox-lifecycle.ts` - Sandbox management
|
|
744
|
+
- `test-sandbox-lifecycle.ts` - Sandbox lifecycle management
|
|
745
|
+
- `test-pty.ts` - PTY session management
|
|
746
|
+
- `test-pty-comprehensive.ts` - Full PTY testing (9 scenarios)
|
|
574
747
|
- `test-watch.ts` - File watching
|
|
575
|
-
- `
|
|
576
|
-
- `
|
|
748
|
+
- `test-background-exec.ts` - Background process management
|
|
749
|
+
- `code-interpreter-example.ts` - Code interpreter usage
|
|
750
|
+
- `test-commonjs-import.cjs` - CommonJS import test
|
|
751
|
+
- `test-esm-import.mjs` - ESM import test
|
|
577
752
|
|
|
578
753
|
## Building from Source
|
|
579
754
|
|
|
@@ -597,12 +772,26 @@ npm run publish
|
|
|
597
772
|
|
|
598
773
|
## Troubleshooting
|
|
599
774
|
|
|
600
|
-
### "
|
|
775
|
+
### "API key is required"
|
|
601
776
|
|
|
602
|
-
|
|
777
|
+
Pass your API key in the constructor:
|
|
603
778
|
|
|
604
|
-
```
|
|
605
|
-
|
|
779
|
+
```typescript
|
|
780
|
+
const vr = new VoidRun({
|
|
781
|
+
apiKey: "your-api-key",
|
|
782
|
+
baseUrl: "https://api.voidrun.com"
|
|
783
|
+
});
|
|
784
|
+
```
|
|
785
|
+
|
|
786
|
+
### "Base URL is required"
|
|
787
|
+
|
|
788
|
+
Pass the base URL in the constructor:
|
|
789
|
+
|
|
790
|
+
```typescript
|
|
791
|
+
const vr = new VoidRun({
|
|
792
|
+
apiKey: "your-api-key",
|
|
793
|
+
baseUrl: "https://api.voidrun.com"
|
|
794
|
+
});
|
|
606
795
|
```
|
|
607
796
|
|
|
608
797
|
### "Sandbox creation failed"
|
|
@@ -615,7 +804,7 @@ Ensure your sandbox parameters are valid:
|
|
|
615
804
|
```typescript
|
|
616
805
|
const sandbox = await vr.createSandbox({
|
|
617
806
|
mem: 1024, // At least 1GB
|
|
618
|
-
cpu: 1,
|
|
807
|
+
cpu: 1, // At least 1 core
|
|
619
808
|
});
|
|
620
809
|
```
|
|
621
810
|
|
|
@@ -645,15 +834,15 @@ const files = await sandbox.fs.listFiles("/app");
|
|
|
645
834
|
console.log(files.data?.files);
|
|
646
835
|
|
|
647
836
|
// Then access specific file
|
|
648
|
-
const content = await sandbox.fs.
|
|
837
|
+
const content = await sandbox.fs.downloadFile("/app/file.txt");
|
|
649
838
|
```
|
|
650
839
|
|
|
651
840
|
## API Documentation
|
|
652
841
|
|
|
653
842
|
Full API documentation is available at:
|
|
654
843
|
|
|
844
|
+
- [API Client Docs](./src/api-client/docs/)
|
|
655
845
|
- [OpenAPI Spec](./openapi.yml)
|
|
656
|
-
- [API Docs](./src/api-client/docs/)
|
|
657
846
|
|
|
658
847
|
## Contributing
|
|
659
848
|
|
package/dist/cjs/Sandbox.cjs
CHANGED
|
@@ -71,6 +71,26 @@ class VRSandbox {
|
|
|
71
71
|
id: this.id
|
|
72
72
|
}));
|
|
73
73
|
}
|
|
74
|
+
async start() {
|
|
75
|
+
await (0, runtime_js_1.wrapRequest)(this.sandboxesApi.startSandbox({
|
|
76
|
+
id: this.id
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
async stop() {
|
|
80
|
+
await (0, runtime_js_1.wrapRequest)(this.sandboxesApi.stopSandbox({
|
|
81
|
+
id: this.id
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
async pause() {
|
|
85
|
+
await (0, runtime_js_1.wrapRequest)(this.sandboxesApi.pauseSandbox({
|
|
86
|
+
id: this.id
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
async resume() {
|
|
90
|
+
await (0, runtime_js_1.wrapRequest)(this.sandboxesApi.resumeSandbox({
|
|
91
|
+
id: this.id
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
74
94
|
async info() {
|
|
75
95
|
return this;
|
|
76
96
|
}
|
package/dist/cjs/Sandbox.d.ts
CHANGED
|
@@ -26,6 +26,10 @@ export default class VRSandbox {
|
|
|
26
26
|
private readonly sandboxesApi;
|
|
27
27
|
constructor(sandbox: Sandbox, config: Configuration);
|
|
28
28
|
remove(): Promise<void>;
|
|
29
|
+
start(): Promise<void>;
|
|
30
|
+
stop(): Promise<void>;
|
|
31
|
+
pause(): Promise<void>;
|
|
32
|
+
resume(): Promise<void>;
|
|
29
33
|
info(): Promise<this>;
|
|
30
34
|
exec(execRequest: ExecRequest, handlers?: ExecStreamHandlers): Promise<void | import("./api-client/index.js").ExecResponse>;
|
|
31
35
|
private _execStream;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sandbox.d.ts","sourceRoot":"","sources":["../../src/Sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAgB,OAAO,EAAgB,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,cAAc,EAAkB,kBAAkB,EAAkB,MAAM,YAAY,CAAC;AAEhG,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,SAAS,EAAE,IAAI,CAAC;IAChC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpD,SAAgB,EAAE,EAAE,EAAE,CAAC;IACvB,SAAgB,GAAG,EAAE,GAAG,CAAC;IACzB,SAAgB,WAAW,EAAE,eAAe,CAAC;IAC7C,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IACnC,SAAgB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAGhC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IA4C7C,MAAM;IAMN,IAAI;IAIJ,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,kBAAkB;YAapD,WAAW;IAuFnB,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItF,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAG5F"}
|
|
1
|
+
{"version":3,"file":"Sandbox.d.ts","sourceRoot":"","sources":["../../src/Sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAgB,OAAO,EAAgB,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,cAAc,EAAkB,kBAAkB,EAAkB,MAAM,YAAY,CAAC;AAEhG,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,SAAS,EAAE,IAAI,CAAC;IAChC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpD,SAAgB,EAAE,EAAE,EAAE,CAAC;IACvB,SAAgB,GAAG,EAAE,GAAG,CAAC;IACzB,SAAgB,WAAW,EAAE,eAAe,CAAC;IAC7C,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IACnC,SAAgB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;IAErD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAGhC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa;IA4C7C,MAAM;IAMN,KAAK;IAML,IAAI;IAMJ,KAAK;IAML,MAAM;IAMN,IAAI;IAIJ,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,kBAAkB;YAapD,WAAW;IAuFnB,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItF,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAG5F"}
|