@voidrun/sdk 0.0.25 → 0.0.29

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.
Files changed (338) hide show
  1. package/README.md +290 -101
  2. package/dist/cjs/Sandbox.cjs +20 -0
  3. package/dist/cjs/Sandbox.d.ts +4 -0
  4. package/dist/cjs/Sandbox.d.ts.map +1 -1
  5. package/dist/cjs/Sandbox.js.map +1 -1
  6. package/dist/cjs/api-client/apis/AuthenticationApi.cjs +2 -2
  7. package/dist/cjs/api-client/apis/AuthenticationApi.d.ts +2 -2
  8. package/dist/cjs/api-client/apis/ExecutionApi.cjs +79 -2
  9. package/dist/cjs/api-client/apis/ExecutionApi.d.ts +31 -3
  10. package/dist/cjs/api-client/apis/ExecutionApi.d.ts.map +1 -1
  11. package/dist/cjs/api-client/apis/ExecutionApi.js.map +1 -1
  12. package/dist/cjs/api-client/apis/FileSystemApi.cjs +2 -2
  13. package/dist/cjs/api-client/apis/FileSystemApi.d.ts +2 -2
  14. package/dist/cjs/api-client/apis/ImagesApi.cjs +2 -2
  15. package/dist/cjs/api-client/apis/ImagesApi.d.ts +2 -2
  16. package/dist/cjs/api-client/apis/OrganizationsApi.cjs +108 -2
  17. package/dist/cjs/api-client/apis/OrganizationsApi.d.ts +45 -3
  18. package/dist/cjs/api-client/apis/OrganizationsApi.d.ts.map +1 -1
  19. package/dist/cjs/api-client/apis/OrganizationsApi.js.map +1 -1
  20. package/dist/cjs/api-client/apis/SandboxesApi.cjs +23 -86
  21. package/dist/cjs/api-client/apis/SandboxesApi.d.ts +16 -42
  22. package/dist/cjs/api-client/apis/SandboxesApi.d.ts.map +1 -1
  23. package/dist/cjs/api-client/apis/SandboxesApi.js.map +1 -1
  24. package/dist/cjs/api-client/apis/SystemApi.cjs +82 -0
  25. package/dist/cjs/api-client/apis/SystemApi.d.ts +29 -0
  26. package/dist/cjs/api-client/apis/SystemApi.d.ts.map +1 -0
  27. package/dist/cjs/api-client/apis/SystemApi.js.map +1 -0
  28. package/dist/cjs/api-client/apis/index.cjs +1 -0
  29. package/dist/cjs/api-client/apis/index.d.ts +1 -0
  30. package/dist/cjs/api-client/apis/index.d.ts.map +1 -1
  31. package/dist/cjs/api-client/apis/index.js.map +1 -1
  32. package/dist/cjs/api-client/models/APIKeyResponse.cjs +2 -2
  33. package/dist/cjs/api-client/models/APIKeyResponse.d.ts +2 -2
  34. package/dist/cjs/api-client/models/ActivateAPIKeyRequest.cjs +49 -0
  35. package/dist/cjs/api-client/models/ActivateAPIKeyRequest.d.ts +33 -0
  36. package/dist/cjs/api-client/models/ActivateAPIKeyRequest.d.ts.map +1 -0
  37. package/dist/cjs/api-client/models/ActivateAPIKeyRequest.js.map +1 -0
  38. package/dist/cjs/api-client/models/ApiResponseSandbox.cjs +2 -2
  39. package/dist/cjs/api-client/models/ApiResponseSandbox.d.ts +2 -2
  40. package/dist/cjs/api-client/models/ApiResponseSandboxesList.cjs +2 -2
  41. package/dist/cjs/api-client/models/ApiResponseSandboxesList.d.ts +2 -2
  42. package/dist/cjs/api-client/models/ApiResponseSandboxesListMeta.cjs +2 -2
  43. package/dist/cjs/api-client/models/ApiResponseSandboxesListMeta.d.ts +2 -2
  44. package/dist/cjs/api-client/models/CommandKillResponse.cjs +2 -2
  45. package/dist/cjs/api-client/models/CommandKillResponse.d.ts +2 -2
  46. package/dist/cjs/api-client/models/CommandListResponse.cjs +2 -2
  47. package/dist/cjs/api-client/models/CommandListResponse.d.ts +2 -2
  48. package/dist/cjs/api-client/models/CommandRunResponse.cjs +2 -2
  49. package/dist/cjs/api-client/models/CommandRunResponse.d.ts +2 -2
  50. package/dist/cjs/api-client/models/CommandWaitResponse.cjs +2 -2
  51. package/dist/cjs/api-client/models/CommandWaitResponse.d.ts +2 -2
  52. package/dist/cjs/api-client/models/CompressRequest.cjs +2 -2
  53. package/dist/cjs/api-client/models/CompressRequest.d.ts +2 -2
  54. package/dist/cjs/api-client/models/CreateFileRequest.cjs +2 -2
  55. package/dist/cjs/api-client/models/CreateFileRequest.d.ts +2 -2
  56. package/dist/cjs/api-client/models/CreateImageRequest.cjs +2 -2
  57. package/dist/cjs/api-client/models/CreateImageRequest.d.ts +2 -2
  58. package/dist/cjs/api-client/models/CreatePTYSession200Response.cjs +2 -2
  59. package/dist/cjs/api-client/models/CreatePTYSession200Response.d.ts +2 -2
  60. package/dist/cjs/api-client/models/CreatePTYSession200ResponseAllOfData.cjs +2 -2
  61. package/dist/cjs/api-client/models/CreatePTYSession200ResponseAllOfData.d.ts +2 -2
  62. package/dist/cjs/api-client/models/CreatePTYSessionRequest.cjs +2 -2
  63. package/dist/cjs/api-client/models/CreatePTYSessionRequest.d.ts +2 -2
  64. package/dist/cjs/api-client/models/CreateSandbox201Response.cjs +2 -2
  65. package/dist/cjs/api-client/models/CreateSandbox201Response.d.ts +2 -2
  66. package/dist/cjs/api-client/models/CreateSandboxRequest.cjs +2 -2
  67. package/dist/cjs/api-client/models/CreateSandboxRequest.d.ts +2 -2
  68. package/dist/cjs/api-client/models/DiskUsage.cjs +2 -2
  69. package/dist/cjs/api-client/models/DiskUsage.d.ts +2 -2
  70. package/dist/cjs/api-client/models/ErrorResponse.cjs +2 -2
  71. package/dist/cjs/api-client/models/ErrorResponse.d.ts +2 -2
  72. package/dist/cjs/api-client/models/ExecRequest.cjs +2 -2
  73. package/dist/cjs/api-client/models/ExecRequest.d.ts +2 -2
  74. package/dist/cjs/api-client/models/ExecResponse.cjs +2 -2
  75. package/dist/cjs/api-client/models/ExecResponse.d.ts +2 -2
  76. package/dist/cjs/api-client/models/ExecResponseData.cjs +2 -2
  77. package/dist/cjs/api-client/models/ExecResponseData.d.ts +2 -2
  78. package/dist/cjs/api-client/models/ExecuteInSessionRequest.cjs +2 -2
  79. package/dist/cjs/api-client/models/ExecuteInSessionRequest.d.ts +2 -2
  80. package/dist/cjs/api-client/models/ExtractRequest.cjs +2 -2
  81. package/dist/cjs/api-client/models/ExtractRequest.d.ts +2 -2
  82. package/dist/cjs/api-client/models/FileEvent.cjs +2 -2
  83. package/dist/cjs/api-client/models/FileEvent.d.ts +2 -2
  84. package/dist/cjs/api-client/models/FileInfo.cjs +2 -2
  85. package/dist/cjs/api-client/models/FileInfo.d.ts +2 -2
  86. package/dist/cjs/api-client/models/FileStats.cjs +2 -2
  87. package/dist/cjs/api-client/models/FileStats.d.ts +2 -2
  88. package/dist/cjs/api-client/models/GenerateAPIKeyRequest.cjs +2 -2
  89. package/dist/cjs/api-client/models/GenerateAPIKeyRequest.d.ts +2 -2
  90. package/dist/cjs/api-client/models/GeneratedAPIKeyResponse.cjs +2 -2
  91. package/dist/cjs/api-client/models/GeneratedAPIKeyResponse.d.ts +2 -2
  92. package/dist/cjs/api-client/models/GetOrgUsers200Response.cjs +54 -0
  93. package/dist/cjs/api-client/models/GetOrgUsers200Response.d.ts +46 -0
  94. package/dist/cjs/api-client/models/GetOrgUsers200Response.d.ts.map +1 -0
  95. package/dist/cjs/api-client/models/GetOrgUsers200Response.js.map +1 -0
  96. package/dist/cjs/api-client/models/GetOrgUsers200ResponseAllOfDataInner.cjs +57 -0
  97. package/dist/cjs/api-client/models/GetOrgUsers200ResponseAllOfDataInner.d.ts +57 -0
  98. package/dist/cjs/api-client/models/GetOrgUsers200ResponseAllOfDataInner.d.ts.map +1 -0
  99. package/dist/cjs/api-client/models/GetOrgUsers200ResponseAllOfDataInner.js.map +1 -0
  100. package/dist/cjs/api-client/models/GetPTYBuffer200Response.cjs +2 -2
  101. package/dist/cjs/api-client/models/GetPTYBuffer200Response.d.ts +2 -2
  102. package/dist/cjs/api-client/models/GetPTYBuffer200ResponseAllOfData.cjs +2 -2
  103. package/dist/cjs/api-client/models/GetPTYBuffer200ResponseAllOfData.d.ts +2 -2
  104. package/dist/cjs/api-client/models/GetVersion200Response.cjs +53 -0
  105. package/dist/cjs/api-client/models/GetVersion200Response.d.ts +45 -0
  106. package/dist/cjs/api-client/models/GetVersion200Response.d.ts.map +1 -0
  107. package/dist/cjs/api-client/models/GetVersion200Response.js.map +1 -0
  108. package/dist/cjs/api-client/models/Image.cjs +2 -2
  109. package/dist/cjs/api-client/models/Image.d.ts +2 -2
  110. package/dist/cjs/api-client/models/KillBackgroundProcessRequest.cjs +2 -2
  111. package/dist/cjs/api-client/models/KillBackgroundProcessRequest.d.ts +2 -2
  112. package/dist/cjs/api-client/models/ListFiles200Response.cjs +2 -2
  113. package/dist/cjs/api-client/models/ListFiles200Response.d.ts +2 -2
  114. package/dist/cjs/api-client/models/ListFiles200ResponseData.cjs +2 -2
  115. package/dist/cjs/api-client/models/ListFiles200ResponseData.d.ts +2 -2
  116. package/dist/cjs/api-client/models/ListPTYSessions200Response.cjs +2 -2
  117. package/dist/cjs/api-client/models/ListPTYSessions200Response.d.ts +2 -2
  118. package/dist/cjs/api-client/models/ListPTYSessions200ResponseAllOfData.cjs +2 -2
  119. package/dist/cjs/api-client/models/ListPTYSessions200ResponseAllOfData.d.ts +2 -2
  120. package/dist/cjs/api-client/models/Organization.cjs +2 -2
  121. package/dist/cjs/api-client/models/Organization.d.ts +2 -2
  122. package/dist/cjs/api-client/models/PTYSessionInfo.cjs +2 -2
  123. package/dist/cjs/api-client/models/PTYSessionInfo.d.ts +2 -2
  124. package/dist/cjs/api-client/models/ProcessInfo.cjs +2 -2
  125. package/dist/cjs/api-client/models/ProcessInfo.d.ts +2 -2
  126. package/dist/cjs/api-client/models/RegisterRequest.cjs +2 -2
  127. package/dist/cjs/api-client/models/RegisterRequest.d.ts +2 -2
  128. package/dist/cjs/api-client/models/RegisterResponse.cjs +2 -2
  129. package/dist/cjs/api-client/models/RegisterResponse.d.ts +2 -2
  130. package/dist/cjs/api-client/models/RegisterResponseData.cjs +2 -2
  131. package/dist/cjs/api-client/models/RegisterResponseData.d.ts +2 -2
  132. package/dist/cjs/api-client/models/ResizeTerminalRequest.cjs +2 -2
  133. package/dist/cjs/api-client/models/ResizeTerminalRequest.d.ts +2 -2
  134. package/dist/cjs/api-client/models/RestoreSandboxRequest.cjs +2 -2
  135. package/dist/cjs/api-client/models/RestoreSandboxRequest.d.ts +2 -2
  136. package/dist/cjs/api-client/models/RunBackgroundCommandRequest.cjs +2 -2
  137. package/dist/cjs/api-client/models/RunBackgroundCommandRequest.d.ts +2 -2
  138. package/dist/cjs/api-client/models/Sandbox.cjs +2 -2
  139. package/dist/cjs/api-client/models/Sandbox.d.ts +2 -2
  140. package/dist/cjs/api-client/models/SessionExecRequest.cjs +74 -0
  141. package/dist/cjs/api-client/models/SessionExecRequest.d.ts +80 -0
  142. package/dist/cjs/api-client/models/SessionExecRequest.d.ts.map +1 -0
  143. package/dist/cjs/api-client/models/SessionExecRequest.js.map +1 -0
  144. package/dist/cjs/api-client/models/SessionExecResponse.cjs +57 -0
  145. package/dist/cjs/api-client/models/SessionExecResponse.d.ts +57 -0
  146. package/dist/cjs/api-client/models/SessionExecResponse.d.ts.map +1 -0
  147. package/dist/cjs/api-client/models/SessionExecResponse.js.map +1 -0
  148. package/dist/cjs/api-client/models/SessionExecStreamRequest.cjs +55 -0
  149. package/dist/cjs/api-client/models/SessionExecStreamRequest.d.ts +39 -0
  150. package/dist/cjs/api-client/models/SessionExecStreamRequest.d.ts.map +1 -0
  151. package/dist/cjs/api-client/models/SessionExecStreamRequest.js.map +1 -0
  152. package/dist/cjs/api-client/models/Snapshot.cjs +2 -2
  153. package/dist/cjs/api-client/models/Snapshot.d.ts +2 -2
  154. package/dist/cjs/api-client/models/StartWatch200Response.cjs +2 -2
  155. package/dist/cjs/api-client/models/StartWatch200Response.d.ts +2 -2
  156. package/dist/cjs/api-client/models/StartWatch200ResponseData.cjs +2 -2
  157. package/dist/cjs/api-client/models/StartWatch200ResponseData.d.ts +2 -2
  158. package/dist/cjs/api-client/models/StartWatchRequest.cjs +2 -2
  159. package/dist/cjs/api-client/models/StartWatchRequest.d.ts +2 -2
  160. package/dist/cjs/api-client/models/SuccessResponse.cjs +2 -2
  161. package/dist/cjs/api-client/models/SuccessResponse.d.ts +2 -2
  162. package/dist/cjs/api-client/models/index.cjs +7 -0
  163. package/dist/cjs/api-client/models/index.d.ts +7 -0
  164. package/dist/cjs/api-client/models/index.d.ts.map +1 -1
  165. package/dist/cjs/api-client/models/index.js.map +1 -1
  166. package/dist/cjs/api-client/runtime.cjs +3 -3
  167. package/dist/cjs/api-client/runtime.d.ts +2 -2
  168. package/dist/cjs/api-client/runtime.d.ts.map +1 -1
  169. package/dist/cjs/api-client/runtime.js.map +1 -1
  170. package/dist/esm/Sandbox.d.ts +4 -0
  171. package/dist/esm/Sandbox.d.ts.map +1 -1
  172. package/dist/esm/Sandbox.js +20 -0
  173. package/dist/esm/Sandbox.js.map +1 -1
  174. package/dist/esm/api-client/apis/AuthenticationApi.d.ts +2 -2
  175. package/dist/esm/api-client/apis/AuthenticationApi.js +2 -2
  176. package/dist/esm/api-client/apis/ExecutionApi.d.ts +31 -3
  177. package/dist/esm/api-client/apis/ExecutionApi.d.ts.map +1 -1
  178. package/dist/esm/api-client/apis/ExecutionApi.js +80 -3
  179. package/dist/esm/api-client/apis/ExecutionApi.js.map +1 -1
  180. package/dist/esm/api-client/apis/FileSystemApi.d.ts +2 -2
  181. package/dist/esm/api-client/apis/FileSystemApi.js +2 -2
  182. package/dist/esm/api-client/apis/ImagesApi.d.ts +2 -2
  183. package/dist/esm/api-client/apis/ImagesApi.js +2 -2
  184. package/dist/esm/api-client/apis/OrganizationsApi.d.ts +45 -3
  185. package/dist/esm/api-client/apis/OrganizationsApi.d.ts.map +1 -1
  186. package/dist/esm/api-client/apis/OrganizationsApi.js +109 -3
  187. package/dist/esm/api-client/apis/OrganizationsApi.js.map +1 -1
  188. package/dist/esm/api-client/apis/SandboxesApi.d.ts +16 -42
  189. package/dist/esm/api-client/apis/SandboxesApi.d.ts.map +1 -1
  190. package/dist/esm/api-client/apis/SandboxesApi.js +24 -87
  191. package/dist/esm/api-client/apis/SandboxesApi.js.map +1 -1
  192. package/dist/esm/api-client/apis/SystemApi.d.ts +29 -0
  193. package/dist/esm/api-client/apis/SystemApi.d.ts.map +1 -0
  194. package/dist/esm/api-client/apis/SystemApi.js +45 -0
  195. package/dist/esm/api-client/apis/SystemApi.js.map +1 -0
  196. package/dist/esm/api-client/apis/index.d.ts +1 -0
  197. package/dist/esm/api-client/apis/index.d.ts.map +1 -1
  198. package/dist/esm/api-client/apis/index.js +1 -0
  199. package/dist/esm/api-client/apis/index.js.map +1 -1
  200. package/dist/esm/api-client/models/APIKeyResponse.d.ts +2 -2
  201. package/dist/esm/api-client/models/APIKeyResponse.js +2 -2
  202. package/dist/esm/api-client/models/ActivateAPIKeyRequest.d.ts +33 -0
  203. package/dist/esm/api-client/models/ActivateAPIKeyRequest.d.ts.map +1 -0
  204. package/dist/esm/api-client/models/ActivateAPIKeyRequest.js +42 -0
  205. package/dist/esm/api-client/models/ActivateAPIKeyRequest.js.map +1 -0
  206. package/dist/esm/api-client/models/ApiResponseSandbox.d.ts +2 -2
  207. package/dist/esm/api-client/models/ApiResponseSandbox.js +2 -2
  208. package/dist/esm/api-client/models/ApiResponseSandboxesList.d.ts +2 -2
  209. package/dist/esm/api-client/models/ApiResponseSandboxesList.js +2 -2
  210. package/dist/esm/api-client/models/ApiResponseSandboxesListMeta.d.ts +2 -2
  211. package/dist/esm/api-client/models/ApiResponseSandboxesListMeta.js +2 -2
  212. package/dist/esm/api-client/models/CommandKillResponse.d.ts +2 -2
  213. package/dist/esm/api-client/models/CommandKillResponse.js +2 -2
  214. package/dist/esm/api-client/models/CommandListResponse.d.ts +2 -2
  215. package/dist/esm/api-client/models/CommandListResponse.js +2 -2
  216. package/dist/esm/api-client/models/CommandRunResponse.d.ts +2 -2
  217. package/dist/esm/api-client/models/CommandRunResponse.js +2 -2
  218. package/dist/esm/api-client/models/CommandWaitResponse.d.ts +2 -2
  219. package/dist/esm/api-client/models/CommandWaitResponse.js +2 -2
  220. package/dist/esm/api-client/models/CompressRequest.d.ts +2 -2
  221. package/dist/esm/api-client/models/CompressRequest.js +2 -2
  222. package/dist/esm/api-client/models/CreateFileRequest.d.ts +2 -2
  223. package/dist/esm/api-client/models/CreateFileRequest.js +2 -2
  224. package/dist/esm/api-client/models/CreateImageRequest.d.ts +2 -2
  225. package/dist/esm/api-client/models/CreateImageRequest.js +2 -2
  226. package/dist/esm/api-client/models/CreatePTYSession200Response.d.ts +2 -2
  227. package/dist/esm/api-client/models/CreatePTYSession200Response.js +2 -2
  228. package/dist/esm/api-client/models/CreatePTYSession200ResponseAllOfData.d.ts +2 -2
  229. package/dist/esm/api-client/models/CreatePTYSession200ResponseAllOfData.js +2 -2
  230. package/dist/esm/api-client/models/CreatePTYSessionRequest.d.ts +2 -2
  231. package/dist/esm/api-client/models/CreatePTYSessionRequest.js +2 -2
  232. package/dist/esm/api-client/models/CreateSandbox201Response.d.ts +2 -2
  233. package/dist/esm/api-client/models/CreateSandbox201Response.js +2 -2
  234. package/dist/esm/api-client/models/CreateSandboxRequest.d.ts +2 -2
  235. package/dist/esm/api-client/models/CreateSandboxRequest.js +2 -2
  236. package/dist/esm/api-client/models/DiskUsage.d.ts +2 -2
  237. package/dist/esm/api-client/models/DiskUsage.js +2 -2
  238. package/dist/esm/api-client/models/ErrorResponse.d.ts +2 -2
  239. package/dist/esm/api-client/models/ErrorResponse.js +2 -2
  240. package/dist/esm/api-client/models/ExecRequest.d.ts +2 -2
  241. package/dist/esm/api-client/models/ExecRequest.js +2 -2
  242. package/dist/esm/api-client/models/ExecResponse.d.ts +2 -2
  243. package/dist/esm/api-client/models/ExecResponse.js +2 -2
  244. package/dist/esm/api-client/models/ExecResponseData.d.ts +2 -2
  245. package/dist/esm/api-client/models/ExecResponseData.js +2 -2
  246. package/dist/esm/api-client/models/ExecuteInSessionRequest.d.ts +2 -2
  247. package/dist/esm/api-client/models/ExecuteInSessionRequest.js +2 -2
  248. package/dist/esm/api-client/models/ExtractRequest.d.ts +2 -2
  249. package/dist/esm/api-client/models/ExtractRequest.js +2 -2
  250. package/dist/esm/api-client/models/FileEvent.d.ts +2 -2
  251. package/dist/esm/api-client/models/FileEvent.js +2 -2
  252. package/dist/esm/api-client/models/FileInfo.d.ts +2 -2
  253. package/dist/esm/api-client/models/FileInfo.js +2 -2
  254. package/dist/esm/api-client/models/FileStats.d.ts +2 -2
  255. package/dist/esm/api-client/models/FileStats.js +2 -2
  256. package/dist/esm/api-client/models/GenerateAPIKeyRequest.d.ts +2 -2
  257. package/dist/esm/api-client/models/GenerateAPIKeyRequest.js +2 -2
  258. package/dist/esm/api-client/models/GeneratedAPIKeyResponse.d.ts +2 -2
  259. package/dist/esm/api-client/models/GeneratedAPIKeyResponse.js +2 -2
  260. package/dist/esm/api-client/models/GetOrgUsers200Response.d.ts +46 -0
  261. package/dist/esm/api-client/models/GetOrgUsers200Response.d.ts.map +1 -0
  262. package/dist/esm/api-client/models/GetOrgUsers200Response.js +47 -0
  263. package/dist/esm/api-client/models/GetOrgUsers200Response.js.map +1 -0
  264. package/dist/esm/api-client/models/GetOrgUsers200ResponseAllOfDataInner.d.ts +57 -0
  265. package/dist/esm/api-client/models/GetOrgUsers200ResponseAllOfDataInner.d.ts.map +1 -0
  266. package/dist/esm/api-client/models/GetOrgUsers200ResponseAllOfDataInner.js +50 -0
  267. package/dist/esm/api-client/models/GetOrgUsers200ResponseAllOfDataInner.js.map +1 -0
  268. package/dist/esm/api-client/models/GetPTYBuffer200Response.d.ts +2 -2
  269. package/dist/esm/api-client/models/GetPTYBuffer200Response.js +2 -2
  270. package/dist/esm/api-client/models/GetPTYBuffer200ResponseAllOfData.d.ts +2 -2
  271. package/dist/esm/api-client/models/GetPTYBuffer200ResponseAllOfData.js +2 -2
  272. package/dist/esm/api-client/models/GetVersion200Response.d.ts +45 -0
  273. package/dist/esm/api-client/models/GetVersion200Response.d.ts.map +1 -0
  274. package/dist/esm/api-client/models/GetVersion200Response.js +46 -0
  275. package/dist/esm/api-client/models/GetVersion200Response.js.map +1 -0
  276. package/dist/esm/api-client/models/Image.d.ts +2 -2
  277. package/dist/esm/api-client/models/Image.js +2 -2
  278. package/dist/esm/api-client/models/KillBackgroundProcessRequest.d.ts +2 -2
  279. package/dist/esm/api-client/models/KillBackgroundProcessRequest.js +2 -2
  280. package/dist/esm/api-client/models/ListFiles200Response.d.ts +2 -2
  281. package/dist/esm/api-client/models/ListFiles200Response.js +2 -2
  282. package/dist/esm/api-client/models/ListFiles200ResponseData.d.ts +2 -2
  283. package/dist/esm/api-client/models/ListFiles200ResponseData.js +2 -2
  284. package/dist/esm/api-client/models/ListPTYSessions200Response.d.ts +2 -2
  285. package/dist/esm/api-client/models/ListPTYSessions200Response.js +2 -2
  286. package/dist/esm/api-client/models/ListPTYSessions200ResponseAllOfData.d.ts +2 -2
  287. package/dist/esm/api-client/models/ListPTYSessions200ResponseAllOfData.js +2 -2
  288. package/dist/esm/api-client/models/Organization.d.ts +2 -2
  289. package/dist/esm/api-client/models/Organization.js +2 -2
  290. package/dist/esm/api-client/models/PTYSessionInfo.d.ts +2 -2
  291. package/dist/esm/api-client/models/PTYSessionInfo.js +2 -2
  292. package/dist/esm/api-client/models/ProcessInfo.d.ts +2 -2
  293. package/dist/esm/api-client/models/ProcessInfo.js +2 -2
  294. package/dist/esm/api-client/models/RegisterRequest.d.ts +2 -2
  295. package/dist/esm/api-client/models/RegisterRequest.js +2 -2
  296. package/dist/esm/api-client/models/RegisterResponse.d.ts +2 -2
  297. package/dist/esm/api-client/models/RegisterResponse.js +2 -2
  298. package/dist/esm/api-client/models/RegisterResponseData.d.ts +2 -2
  299. package/dist/esm/api-client/models/RegisterResponseData.js +2 -2
  300. package/dist/esm/api-client/models/ResizeTerminalRequest.d.ts +2 -2
  301. package/dist/esm/api-client/models/ResizeTerminalRequest.js +2 -2
  302. package/dist/esm/api-client/models/RestoreSandboxRequest.d.ts +2 -2
  303. package/dist/esm/api-client/models/RestoreSandboxRequest.js +2 -2
  304. package/dist/esm/api-client/models/RunBackgroundCommandRequest.d.ts +2 -2
  305. package/dist/esm/api-client/models/RunBackgroundCommandRequest.js +2 -2
  306. package/dist/esm/api-client/models/Sandbox.d.ts +2 -2
  307. package/dist/esm/api-client/models/Sandbox.js +2 -2
  308. package/dist/esm/api-client/models/SessionExecRequest.d.ts +80 -0
  309. package/dist/esm/api-client/models/SessionExecRequest.d.ts.map +1 -0
  310. package/dist/esm/api-client/models/SessionExecRequest.js +66 -0
  311. package/dist/esm/api-client/models/SessionExecRequest.js.map +1 -0
  312. package/dist/esm/api-client/models/SessionExecResponse.d.ts +57 -0
  313. package/dist/esm/api-client/models/SessionExecResponse.d.ts.map +1 -0
  314. package/dist/esm/api-client/models/SessionExecResponse.js +50 -0
  315. package/dist/esm/api-client/models/SessionExecResponse.js.map +1 -0
  316. package/dist/esm/api-client/models/SessionExecStreamRequest.d.ts +39 -0
  317. package/dist/esm/api-client/models/SessionExecStreamRequest.d.ts.map +1 -0
  318. package/dist/esm/api-client/models/SessionExecStreamRequest.js +48 -0
  319. package/dist/esm/api-client/models/SessionExecStreamRequest.js.map +1 -0
  320. package/dist/esm/api-client/models/Snapshot.d.ts +2 -2
  321. package/dist/esm/api-client/models/Snapshot.js +2 -2
  322. package/dist/esm/api-client/models/StartWatch200Response.d.ts +2 -2
  323. package/dist/esm/api-client/models/StartWatch200Response.js +2 -2
  324. package/dist/esm/api-client/models/StartWatch200ResponseData.d.ts +2 -2
  325. package/dist/esm/api-client/models/StartWatch200ResponseData.js +2 -2
  326. package/dist/esm/api-client/models/StartWatchRequest.d.ts +2 -2
  327. package/dist/esm/api-client/models/StartWatchRequest.js +2 -2
  328. package/dist/esm/api-client/models/SuccessResponse.d.ts +2 -2
  329. package/dist/esm/api-client/models/SuccessResponse.js +2 -2
  330. package/dist/esm/api-client/models/index.d.ts +7 -0
  331. package/dist/esm/api-client/models/index.d.ts.map +1 -1
  332. package/dist/esm/api-client/models/index.js +7 -0
  333. package/dist/esm/api-client/models/index.js.map +1 -1
  334. package/dist/esm/api-client/runtime.d.ts +2 -2
  335. package/dist/esm/api-client/runtime.d.ts.map +1 -1
  336. package/dist/esm/api-client/runtime.js +3 -3
  337. package/dist/esm/api-client/runtime.js.map +1 -1
  338. 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, snapshot, and restore sandboxes
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, etc.)
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
- mem: 1024, // Memory in MB (optional, has defaults)
71
- cpu: 1, // CPU cores (optional, has defaults)
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); // stdout
93
- console.log(result.data?.stderr); // 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
- ### Code Interpreter
106
+ #### Streaming Execution (SSE)
98
107
 
99
- Execute code in multiple programming languages with a simple, intuitive API (similar to e2b or Daytona).
108
+ For real-time output, provide streaming handlers:
100
109
 
101
110
  ```typescript
102
- // Initialize interpreter with your language
103
- await sandbox.interpreter.initialize("python");
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
- // Execute code
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
- // Execute multiple snippets
112
- const results = await sandbox.interpreter.executeMultiple([
113
- "x = 10",
114
- "y = 20",
115
- "print(x + y)",
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
- // Switch languages
119
- await sandbox.interpreter.reset("javascript");
120
- const jsResult = await sandbox.interpreter.execute("console.log(2 + 2)");
133
+ ### Code Interpreter
121
134
 
122
- // Clean up
123
- await sandbox.interpreter.close();
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 languages: **Python**, **JavaScript**, **Node.js**, **Bash**, **Go**, **Ruby**, **Java**, **C#**
162
+ **Supported Languages:** `python`, `javascript`, `typescript`, `node`, `bash`, `sh`
127
163
 
128
- See [Code Interpreter API](./CODE_INTERPRETER_API.md) for comprehensive documentation.
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.write('echo "Hello"\n');
209
- pty.write("pwd\n");
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.write('echo "Hello"\n');
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("echo $SHELL", {
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?: VoidRunOptions)
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
- - `language?: 'javascript' | 'typescript' | 'python'` - Language
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
- - `language?: string` - Language (optional)
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 (optional)
330
- - `request.env?: Record<string, string>` - Environment variables (optional)
331
- - `request.timeout?: number` - Timeout in seconds (optional)
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
- - `write(data: string)` - Send data
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.write("npm init -y\n");
686
+ pty.sendInput("npm init -y\n");
500
687
  await new Promise((r) => setTimeout(r, 1000));
501
688
 
502
- pty.write("npm install express\n");
689
+ pty.sendInput("npm install express\n");
503
690
  await new Promise((r) => setTimeout(r, 2000));
504
691
 
505
- pty.write('node -e "console.log(process.version)"\n');
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
- ### Environment Variables
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
- ### .env File
525
-
526
- Create a `.env` file in your project root:
527
-
528
- ```env
529
- API_KEY=your-api-key-here
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 --env-file=.env example/test-pty-comprehensive.ts
737
+ npx tsx example/test-sandbox-exec.ts
566
738
  ```
567
739
 
568
740
  Available examples:
569
741
 
570
- - `test-pty-comprehensive.ts` - Full PTY testing (9 scenarios)
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
- - `js-example.ts` - JavaScript example
576
- - `py-example.ts` - Python example
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
- ### "API_KEY is not set"
775
+ ### "API key is required"
601
776
 
602
- Set your API key:
777
+ Pass your API key in the constructor:
603
778
 
604
- ```bash
605
- export API_KEY="your-api-key"
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, // At least 1 core
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.readFile("/app/file.txt");
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
 
@@ -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
  }
@@ -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"}