@blaxel/core 0.2.22-dev.161 → 0.2.22-dev.163

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.
@@ -1,7 +1,7 @@
1
1
  import { Sandbox } from "../../client/types.gen.js";
2
2
  import { SandboxAction } from "../action.js";
3
3
  import { DeleteProcessByIdentifierKillResponse, DeleteProcessByIdentifierResponse, GetProcessByIdentifierResponse, GetProcessResponse, PostProcessResponse, ProcessRequest } from "../client/index.js";
4
- import { ProcessRequestWithLog } from "../types.js";
4
+ import { ProcessRequestWithLog, ProcessResponseWithLog } from "../types.js";
5
5
  export declare class SandboxProcess extends SandboxAction {
6
6
  constructor(sandbox: Sandbox);
7
7
  streamLogs(identifier: string, options: {
@@ -11,7 +11,7 @@ export declare class SandboxProcess extends SandboxAction {
11
11
  }): {
12
12
  close: () => void;
13
13
  };
14
- exec(process: ProcessRequest | ProcessRequestWithLog): Promise<PostProcessResponse>;
14
+ exec(process: ProcessRequest | ProcessRequestWithLog): Promise<PostProcessResponse | ProcessResponseWithLog>;
15
15
  wait(identifier: string, { maxWait, interval }?: {
16
16
  maxWait?: number;
17
17
  interval?: number;
@@ -88,7 +88,7 @@ class SandboxProcess extends action_js_1.SandboxAction {
88
88
  }
89
89
  try {
90
90
  // Wait for process completion
91
- result = await this.wait(result.pid, { interval: 50 });
91
+ result = await this.wait(result.pid, { interval: 500, maxWait: 1000 * 60 * 60 });
92
92
  }
93
93
  finally {
94
94
  // Clean up log streaming
@@ -100,10 +100,18 @@ class SandboxProcess extends action_js_1.SandboxAction {
100
100
  else {
101
101
  // For non-blocking execution, set up log streaming immediately if requested
102
102
  if (onLog) {
103
- this.streamLogs(result.pid, { onLog });
103
+ const streamControl = this.streamLogs(result.pid, { onLog });
104
+ return {
105
+ ...result,
106
+ close() {
107
+ if (streamControl) {
108
+ streamControl.close();
109
+ }
110
+ },
111
+ };
104
112
  }
105
113
  }
106
- return result;
114
+ return { ...result, close: () => { } };
107
115
  }
108
116
  async wait(identifier, { maxWait = 60000, interval = 1000 } = {}) {
109
117
  const startTime = Date.now();
@@ -20,7 +20,7 @@ export declare class SandboxInstance {
20
20
  wait({ maxWait, interval }?: {
21
21
  maxWait?: number;
22
22
  interval?: number;
23
- }): Promise<void>;
23
+ }): Promise<this>;
24
24
  static create(sandbox?: SandboxModel | SandboxCreateConfiguration): Promise<SandboxInstance>;
25
25
  static get(sandboxName: string): Promise<SandboxInstance>;
26
26
  static list(): Promise<SandboxInstance[]>;
@@ -61,6 +61,17 @@ class SandboxInstance {
61
61
  throw new Error("Sandbox did not deploy in time");
62
62
  }
63
63
  }
64
+ if (this.sandbox.status === "DEPLOYED") {
65
+ try {
66
+ // This is a hack for sometime receiving a 502,
67
+ // need to remove this once we have a better way to handle this
68
+ await this.fs.ls("/");
69
+ }
70
+ catch {
71
+ // pass
72
+ }
73
+ }
74
+ return this;
64
75
  }
65
76
  static async create(sandbox) {
66
77
  const defaultName = `sandbox-${(0, uuid_1.v4)().replace(/-/g, '').substring(0, 8)}`;
@@ -1,5 +1,5 @@
1
1
  import { Port, Sandbox } from "../client/types.gen";
2
- import { ProcessRequest } from "./client";
2
+ import { PostProcessResponse, ProcessRequest } from "./client";
3
3
  export interface SessionCreateOptions {
4
4
  expiresAt?: Date;
5
5
  responseHeaders?: Record<string, string>;
@@ -32,3 +32,6 @@ export declare function normalizeEnvs(envs?: EnvVar[]): EnvVar[] | undefined;
32
32
  export type ProcessRequestWithLog = ProcessRequest & {
33
33
  onLog?: (log: string) => void;
34
34
  };
35
+ export type ProcessResponseWithLog = PostProcessResponse & {
36
+ close: () => void;
37
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaxel/core",
3
- "version": "0.2.22-dev.161",
3
+ "version": "0.2.22-dev.163",
4
4
  "description": "Blaxel Core SDK for TypeScript",
5
5
  "license": "MIT",
6
6
  "author": "Blaxel, INC (https://blaxel.ai)",