veryfront 0.1.284 → 0.1.285
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/esm/deno.js +1 -1
- package/esm/src/sandbox/index.d.ts +1 -1
- package/esm/src/sandbox/index.d.ts.map +1 -1
- package/esm/src/sandbox/index.js +1 -1
- package/esm/src/sandbox/lazy-sandbox.d.ts +3 -0
- package/esm/src/sandbox/lazy-sandbox.d.ts.map +1 -1
- package/esm/src/sandbox/lazy-sandbox.js +22 -1
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
- package/src/deno.js +1 -1
- package/src/src/sandbox/index.ts +5 -1
- package/src/src/sandbox/lazy-sandbox.ts +25 -1
- package/src/src/utils/version-constant.ts +1 -1
package/esm/deno.js
CHANGED
|
@@ -18,5 +18,5 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import "../../_dnt.polyfills.js";
|
|
20
20
|
export { type CommandJob, type CommandJobHeartbeatStatus, type CommandJobOutput, type CommandJobStatus, type ExecOptions, type ExecResult, type ExecStreamEvent, Sandbox, type SandboxAttachment, type SandboxListOptions, type SandboxListResult, type SandboxOptions, type SandboxSession, } from "./sandbox.js";
|
|
21
|
-
export { LazySandbox, type LazySandboxOptions } from "./lazy-sandbox.js";
|
|
21
|
+
export { LazySandbox, type LazySandboxOptions, resolveDefaultSandboxRuntimeEndpoint, } from "./lazy-sandbox.js";
|
|
22
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,OAAO,EACP,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,OAAO,EACP,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,KAAK,kBAAkB,EACvB,oCAAoC,GACrC,MAAM,mBAAmB,CAAC"}
|
package/esm/src/sandbox/index.js
CHANGED
|
@@ -14,6 +14,9 @@ export interface LazySandboxOptions extends SandboxOptions {
|
|
|
14
14
|
sessionId: string;
|
|
15
15
|
}) => string;
|
|
16
16
|
}
|
|
17
|
+
export declare function resolveDefaultSandboxRuntimeEndpoint(input: {
|
|
18
|
+
endpoint: string;
|
|
19
|
+
}): string;
|
|
17
20
|
/** Lazily provisions sandbox sessions and keeps them alive while in use. */
|
|
18
21
|
export declare class LazySandbox {
|
|
19
22
|
private readonly apiUrl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-sandbox.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/lazy-sandbox.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lazy-sandbox.d.ts","sourceRoot":"","sources":["../../../src/src/sandbox/lazy-sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as dntShim from "../../_dnt.shims.js";
|
|
2
2
|
import { REQUEST_ERROR } from "../errors/index.js";
|
|
3
|
+
import { getHostEnv } from "../platform/compat/process.js";
|
|
3
4
|
import { resolveSandboxApiUrl, resolveSandboxAuthToken, } from "./sandbox.js";
|
|
4
5
|
const DEFAULT_STARTUP_TIMEOUT_MS = 180_000;
|
|
5
6
|
const DEFAULT_POLL_INTERVAL_MS = 2_000;
|
|
@@ -15,6 +16,25 @@ const REPROVISIONABLE_EXEC_START_ERROR_CODES = new Set([
|
|
|
15
16
|
"ENOTFOUND",
|
|
16
17
|
"EHOSTUNREACH",
|
|
17
18
|
]);
|
|
19
|
+
const VERYFRONT_SANDBOX_PUBLIC_HOST_PATTERN = /^([a-z0-9-]+)\.sandbox\.veryfront\.[a-z0-9.-]+$/i;
|
|
20
|
+
export function resolveDefaultSandboxRuntimeEndpoint(input) {
|
|
21
|
+
if (!getHostEnv("KUBERNETES_SERVICE_HOST")) {
|
|
22
|
+
return input.endpoint;
|
|
23
|
+
}
|
|
24
|
+
let hostname;
|
|
25
|
+
try {
|
|
26
|
+
hostname = new URL(input.endpoint).hostname;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return input.endpoint;
|
|
30
|
+
}
|
|
31
|
+
const match = hostname.match(VERYFRONT_SANDBOX_PUBLIC_HOST_PATTERN);
|
|
32
|
+
const shortId = match?.[1];
|
|
33
|
+
if (!shortId) {
|
|
34
|
+
return input.endpoint;
|
|
35
|
+
}
|
|
36
|
+
return `http://sandbox.veryfront-sandbox-${shortId}.svc.cluster.local`;
|
|
37
|
+
}
|
|
18
38
|
/** Lazily provisions sandbox sessions and keeps them alive while in use. */
|
|
19
39
|
export class LazySandbox {
|
|
20
40
|
apiUrl;
|
|
@@ -494,7 +514,8 @@ export class LazySandbox {
|
|
|
494
514
|
resolveRuntimeEndpoint() {
|
|
495
515
|
const endpoint = this.requireEndpoint();
|
|
496
516
|
const sessionId = this.requireSessionId();
|
|
497
|
-
return this.resolveRuntimeEndpointOption?.({ endpoint, sessionId }) ??
|
|
517
|
+
return this.resolveRuntimeEndpointOption?.({ endpoint, sessionId }) ??
|
|
518
|
+
resolveDefaultSandboxRuntimeEndpoint({ endpoint });
|
|
498
519
|
}
|
|
499
520
|
requireSessionId() {
|
|
500
521
|
if (!this.sessionId) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.1.
|
|
1
|
+
export declare const VERSION = "0.1.285";
|
|
2
2
|
//# sourceMappingURL=version-constant.d.ts.map
|
package/package.json
CHANGED
package/src/deno.js
CHANGED
package/src/src/sandbox/index.ts
CHANGED
|
@@ -34,4 +34,8 @@ export {
|
|
|
34
34
|
type SandboxOptions,
|
|
35
35
|
type SandboxSession,
|
|
36
36
|
} from "./sandbox.js";
|
|
37
|
-
export {
|
|
37
|
+
export {
|
|
38
|
+
LazySandbox,
|
|
39
|
+
type LazySandboxOptions,
|
|
40
|
+
resolveDefaultSandboxRuntimeEndpoint,
|
|
41
|
+
} from "./lazy-sandbox.js";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as dntShim from "../../_dnt.shims.js";
|
|
2
2
|
import { REQUEST_ERROR } from "../errors/index.js";
|
|
3
|
+
import { getHostEnv } from "../platform/compat/process.js";
|
|
3
4
|
import {
|
|
4
5
|
type CommandJob,
|
|
5
6
|
type CommandJobOutput,
|
|
@@ -45,6 +46,28 @@ const REPROVISIONABLE_EXEC_START_ERROR_CODES = new Set([
|
|
|
45
46
|
"ENOTFOUND",
|
|
46
47
|
"EHOSTUNREACH",
|
|
47
48
|
]);
|
|
49
|
+
const VERYFRONT_SANDBOX_PUBLIC_HOST_PATTERN = /^([a-z0-9-]+)\.sandbox\.veryfront\.[a-z0-9.-]+$/i;
|
|
50
|
+
|
|
51
|
+
export function resolveDefaultSandboxRuntimeEndpoint(input: { endpoint: string }): string {
|
|
52
|
+
if (!getHostEnv("KUBERNETES_SERVICE_HOST")) {
|
|
53
|
+
return input.endpoint;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
let hostname: string;
|
|
57
|
+
try {
|
|
58
|
+
hostname = new URL(input.endpoint).hostname;
|
|
59
|
+
} catch {
|
|
60
|
+
return input.endpoint;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
const match = hostname.match(VERYFRONT_SANDBOX_PUBLIC_HOST_PATTERN);
|
|
64
|
+
const shortId = match?.[1];
|
|
65
|
+
if (!shortId) {
|
|
66
|
+
return input.endpoint;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return `http://sandbox.veryfront-sandbox-${shortId}.svc.cluster.local`;
|
|
70
|
+
}
|
|
48
71
|
|
|
49
72
|
/** Lazily provisions sandbox sessions and keeps them alive while in use. */
|
|
50
73
|
export class LazySandbox {
|
|
@@ -625,7 +648,8 @@ export class LazySandbox {
|
|
|
625
648
|
private resolveRuntimeEndpoint(): string {
|
|
626
649
|
const endpoint = this.requireEndpoint();
|
|
627
650
|
const sessionId = this.requireSessionId();
|
|
628
|
-
return this.resolveRuntimeEndpointOption?.({ endpoint, sessionId }) ??
|
|
651
|
+
return this.resolveRuntimeEndpointOption?.({ endpoint, sessionId }) ??
|
|
652
|
+
resolveDefaultSandboxRuntimeEndpoint({ endpoint });
|
|
629
653
|
}
|
|
630
654
|
|
|
631
655
|
private requireSessionId(): string {
|