@tensorlakeai/tensorlake 0.5.154 → 0.5.157
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/dist/applications/index.cjs +131 -40
- package/dist/applications/index.cjs.map +1 -1
- package/dist/applications/index.d.cts +3 -3
- package/dist/applications/index.d.ts +3 -3
- package/dist/applications/index.js +131 -40
- package/dist/applications/index.js.map +1 -1
- package/dist/function-agent/main.cjs +1 -1
- package/dist/function-agent/main.js +1 -1
- package/dist/function-executor/main.cjs +2 -2
- package/dist/function-executor/main.js +2 -2
- package/dist/index.cjs +175 -62
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +31 -23
- package/dist/index.d.ts +31 -23
- package/dist/index.js +175 -62
- package/dist/index.js.map +1 -1
- package/dist/{remote-B3vn4tt1.d.cts → remote-CEs4GFGP.d.cts} +1 -1
- package/dist/{remote-DqBUuciu.d.ts → remote-DYBXCTNC.d.ts} +1 -1
- package/dist/{sandbox-image-BMiFlzAs.d.cts → sandbox-image-C2GTVnx3.d.cts} +99 -52
- package/dist/{sandbox-image-BMiFlzAs.d.ts → sandbox-image-C2GTVnx3.d.ts} +99 -52
- package/dist/sandbox-image.cjs +119 -30
- package/dist/sandbox-image.cjs.map +1 -1
- package/dist/sandbox-image.d.cts +1 -1
- package/dist/sandbox-image.d.ts +1 -1
- package/dist/sandbox-image.js +119 -30
- package/dist/sandbox-image.js.map +1 -1
- package/package.json +7 -7
- package/runtime/function-executor/manifest.json +5 -5
- package/runtime/function-executor/package/dist/function-executor/main.js +2 -2
- package/runtime/function-executor/package/npm-shrinkwrap.json +2 -2
- package/runtime/function-executor/package/package.json +1 -1
- package/runtime/typescript-function-runner/manifest.json +5 -5
- package/runtime/typescript-function-runner/package/dist/function-agent/main.js +1 -1
- package/runtime/typescript-function-runner/package/npm-shrinkwrap.json +26 -26
- package/runtime/typescript-function-runner/package/package.json +7 -7
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { A as ApplicationCapability, J as JSONSchema, R as RegisteredDefinition } from '../remote-
|
|
2
|
-
export { a as ApplicationOptions, F as File, b as FunctionOptions, c as Future, H as Headers, d as HeadersInit, e as HttpBody, I as Infer, L as LocalRequest, P as Parameter, f as ParameterValues, g as RegisteredFunction, h as RemoteOptions, i as RemoteRequest, j as RequestContext, k as RequestContextValue, S as Schema, l as SimpleApplicationOptions, m as SimpleFunctionOptions, T as TailCall, W as WaitOptions, n as WaitResult, r as registerApplication, o as registerFunction, p as remoteOptions, q as retries, s as runLocal, t as runRemote, u as schema } from '../remote-
|
|
3
|
-
export { I as Image } from '../sandbox-image-
|
|
1
|
+
import { A as ApplicationCapability, J as JSONSchema, R as RegisteredDefinition } from '../remote-CEs4GFGP.cjs';
|
|
2
|
+
export { a as ApplicationOptions, F as File, b as FunctionOptions, c as Future, H as Headers, d as HeadersInit, e as HttpBody, I as Infer, L as LocalRequest, P as Parameter, f as ParameterValues, g as RegisteredFunction, h as RemoteOptions, i as RemoteRequest, j as RequestContext, k as RequestContextValue, S as Schema, l as SimpleApplicationOptions, m as SimpleFunctionOptions, T as TailCall, W as WaitOptions, n as WaitResult, r as registerApplication, o as registerFunction, p as remoteOptions, q as retries, s as runLocal, t as runRemote, u as schema } from '../remote-CEs4GFGP.cjs';
|
|
3
|
+
export { I as Image } from '../sandbox-image-C2GTVnx3.cjs';
|
|
4
4
|
|
|
5
5
|
declare const SDK_VERSION: string;
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { A as ApplicationCapability, J as JSONSchema, R as RegisteredDefinition } from '../remote-
|
|
2
|
-
export { a as ApplicationOptions, F as File, b as FunctionOptions, c as Future, H as Headers, d as HeadersInit, e as HttpBody, I as Infer, L as LocalRequest, P as Parameter, f as ParameterValues, g as RegisteredFunction, h as RemoteOptions, i as RemoteRequest, j as RequestContext, k as RequestContextValue, S as Schema, l as SimpleApplicationOptions, m as SimpleFunctionOptions, T as TailCall, W as WaitOptions, n as WaitResult, r as registerApplication, o as registerFunction, p as remoteOptions, q as retries, s as runLocal, t as runRemote, u as schema } from '../remote-
|
|
3
|
-
export { I as Image } from '../sandbox-image-
|
|
1
|
+
import { A as ApplicationCapability, J as JSONSchema, R as RegisteredDefinition } from '../remote-DYBXCTNC.js';
|
|
2
|
+
export { a as ApplicationOptions, F as File, b as FunctionOptions, c as Future, H as Headers, d as HeadersInit, e as HttpBody, I as Infer, L as LocalRequest, P as Parameter, f as ParameterValues, g as RegisteredFunction, h as RemoteOptions, i as RemoteRequest, j as RequestContext, k as RequestContextValue, S as Schema, l as SimpleApplicationOptions, m as SimpleFunctionOptions, T as TailCall, W as WaitOptions, n as WaitResult, r as registerApplication, o as registerFunction, p as remoteOptions, q as retries, s as runLocal, t as runRemote, u as schema } from '../remote-DYBXCTNC.js';
|
|
3
|
+
export { I as Image } from '../sandbox-image-C2GTVnx3.js';
|
|
4
4
|
|
|
5
5
|
declare const SDK_VERSION: string;
|
|
6
6
|
|
|
@@ -506,16 +506,58 @@ function defaultRegisteredName(dockerfilePath) {
|
|
|
506
506
|
const parsed = path4.parse(dockerfilePath);
|
|
507
507
|
if (parsed.name.toLowerCase() === "dockerfile") {
|
|
508
508
|
const parentName = path4.basename(path4.dirname(dockerfilePath)).trim();
|
|
509
|
-
return parentName ||
|
|
509
|
+
return parentName || DEFAULT_SANDBOX_IMAGE_NAME;
|
|
510
510
|
}
|
|
511
|
-
return parsed.name ||
|
|
511
|
+
return parsed.name || DEFAULT_SANDBOX_IMAGE_NAME;
|
|
512
|
+
}
|
|
513
|
+
function registeredImageName(explicit, generated, cas, fallback = DEFAULT_SANDBOX_IMAGE_NAME) {
|
|
514
|
+
if (explicit || generated === void 0) {
|
|
515
|
+
const name = explicit ?? "";
|
|
516
|
+
return cas ? canonicalCasImageName(name) : name;
|
|
517
|
+
}
|
|
518
|
+
return cas ? casImageNameFrom(generated, fallback) : generated;
|
|
519
|
+
}
|
|
520
|
+
function canonicalCasImageName(name) {
|
|
521
|
+
return name.replace(/[A-Z]/g, (c) => c.toLowerCase());
|
|
522
|
+
}
|
|
523
|
+
function casImageNameFrom(raw, fallback) {
|
|
524
|
+
const lowered = canonicalCasImageName(raw);
|
|
525
|
+
if (isAddressableCasImageName(lowered)) {
|
|
526
|
+
return lowered;
|
|
527
|
+
}
|
|
528
|
+
let name = "";
|
|
529
|
+
for (const original of lowered) {
|
|
530
|
+
const ch = /^[a-z0-9._-]$/.test(original) ? original : "-";
|
|
531
|
+
const previous = name[name.length - 1];
|
|
532
|
+
if (CAS_NAME_SEPARATORS.includes(ch) && previous !== void 0 && CAS_NAME_SEPARATORS.includes(previous)) {
|
|
533
|
+
continue;
|
|
534
|
+
}
|
|
535
|
+
name += ch;
|
|
536
|
+
}
|
|
537
|
+
name = name.replace(/^[._-]+|[._-]+$/g, "").slice(0, MAX_CAS_IMAGE_NAME_LENGTH).replace(/[._-]+$/, "");
|
|
538
|
+
return isAddressableCasImageName(name) ? name : fallback;
|
|
539
|
+
}
|
|
540
|
+
function isAddressableCasImageName(name) {
|
|
541
|
+
if (name.length === 0 || name.length > MAX_CAS_IMAGE_NAME_LENGTH || RESERVED_IMAGE_NAME_PREFIXES.some((prefix) => name.startsWith(prefix)) || /^[0-9a-f]{64}$/.test(name)) {
|
|
542
|
+
return false;
|
|
543
|
+
}
|
|
544
|
+
const colon = name.indexOf(":");
|
|
545
|
+
const repository = colon === -1 ? name : name.slice(0, colon);
|
|
546
|
+
if (!repository.split("/").every((component) => /^[a-z0-9]+(?:[._-][a-z0-9]+)*$/.test(component))) {
|
|
547
|
+
return false;
|
|
548
|
+
}
|
|
549
|
+
if (colon === -1) {
|
|
550
|
+
return true;
|
|
551
|
+
}
|
|
552
|
+
const tag = name.slice(colon + 1);
|
|
553
|
+
return tag.length > 0 && tag.length <= 128 && /^[a-z0-9._-]+$/.test(tag) && !tag.startsWith(".") && !tag.startsWith("-");
|
|
512
554
|
}
|
|
513
555
|
function defaultRegisteredNameFromImage(imageReference) {
|
|
514
556
|
const withoutDigest = imageReference.split("@", 1)[0] ?? imageReference;
|
|
515
557
|
const lastSegment = withoutDigest.split("/").pop() ?? withoutDigest;
|
|
516
558
|
const colonIndex = lastSegment.lastIndexOf(":");
|
|
517
559
|
const name = colonIndex > 0 && colonIndex < lastSegment.length - 1 ? lastSegment.slice(0, colonIndex) : lastSegment;
|
|
518
|
-
return name ||
|
|
560
|
+
return name || DEFAULT_IMPORTED_IMAGE_NAME;
|
|
519
561
|
}
|
|
520
562
|
function noopEmit(_event) {
|
|
521
563
|
}
|
|
@@ -618,7 +660,11 @@ async function createSandboxImage(source, options = {}, deps = {}) {
|
|
|
618
660
|
if (!text.endsWith("\n")) text += "\n";
|
|
619
661
|
dockerfileText = text;
|
|
620
662
|
nativeContextDir = resolvedContext;
|
|
621
|
-
effectiveName =
|
|
663
|
+
effectiveName = registeredImageName(
|
|
664
|
+
options.registeredName ?? source.name,
|
|
665
|
+
void 0,
|
|
666
|
+
options.cas ?? true
|
|
667
|
+
);
|
|
622
668
|
} else if (typeof source === "string") {
|
|
623
669
|
const resolvedPath = path4.resolve(source);
|
|
624
670
|
if (!existsSync3(resolvedPath)) {
|
|
@@ -627,7 +673,11 @@ async function createSandboxImage(source, options = {}, deps = {}) {
|
|
|
627
673
|
dockerfilePath = resolvedPath;
|
|
628
674
|
dockerfileText = void 0;
|
|
629
675
|
nativeContextDir = void 0;
|
|
630
|
-
effectiveName =
|
|
676
|
+
effectiveName = registeredImageName(
|
|
677
|
+
options.registeredName,
|
|
678
|
+
defaultRegisteredName(resolvedPath),
|
|
679
|
+
options.cas ?? true
|
|
680
|
+
);
|
|
631
681
|
} else {
|
|
632
682
|
throw new TypeError(
|
|
633
683
|
`source must be an Image or a Dockerfile path, got ${typeof source}`
|
|
@@ -651,12 +701,16 @@ async function createSandboxImage(source, options = {}, deps = {}) {
|
|
|
651
701
|
deps._allowPat ? "Missing TENSORLAKE_API_KEY or TENSORLAKE_PAT credentials." : "Missing TENSORLAKE_API_KEY credentials."
|
|
652
702
|
);
|
|
653
703
|
}
|
|
654
|
-
|
|
704
|
+
const cas = options.cas ?? true;
|
|
705
|
+
if (options.signal !== void 0 && !cas) {
|
|
655
706
|
throw new Error(
|
|
656
|
-
"signal is
|
|
707
|
+
"signal is not supported for legacy image builds (cas: false): a legacy image build has no build operation to cancel"
|
|
657
708
|
);
|
|
658
709
|
}
|
|
659
|
-
emit({
|
|
710
|
+
emit({
|
|
711
|
+
type: "status",
|
|
712
|
+
message: `Building ${cas ? "CAS" : "legacy"} image '${effectiveName}'...`
|
|
713
|
+
});
|
|
660
714
|
const binding = loadNativeBinding();
|
|
661
715
|
let emitError;
|
|
662
716
|
const nativeOptions = {
|
|
@@ -678,7 +732,7 @@ async function createSandboxImage(source, options = {}, deps = {}) {
|
|
|
678
732
|
dockerConfigJson: options.dockerConfigJson,
|
|
679
733
|
dockerfileText,
|
|
680
734
|
contextDir: nativeContextDir,
|
|
681
|
-
cas
|
|
735
|
+
cas,
|
|
682
736
|
buildArgs: options.buildArgs
|
|
683
737
|
};
|
|
684
738
|
const forward = (event) => {
|
|
@@ -688,7 +742,7 @@ async function createSandboxImage(source, options = {}, deps = {}) {
|
|
|
688
742
|
emitError ??= error;
|
|
689
743
|
}
|
|
690
744
|
};
|
|
691
|
-
const resultJson =
|
|
745
|
+
const resultJson = cas ? await __runWithInterrupt(
|
|
692
746
|
options.signal,
|
|
693
747
|
(interruptId) => binding.buildSandboxImage(nativeOptions, forward, interruptId)
|
|
694
748
|
) : await binding.buildSandboxImage(nativeOptions, forward);
|
|
@@ -719,7 +773,12 @@ async function importSandboxImage(imageReference, options = {}, deps = {}) {
|
|
|
719
773
|
}
|
|
720
774
|
const reference = imageReference.trim();
|
|
721
775
|
const context = buildContextFromEnv();
|
|
722
|
-
const effectiveName =
|
|
776
|
+
const effectiveName = registeredImageName(
|
|
777
|
+
options.registeredName,
|
|
778
|
+
defaultRegisteredNameFromImage(reference),
|
|
779
|
+
options.cas ?? true,
|
|
780
|
+
DEFAULT_IMPORTED_IMAGE_NAME
|
|
781
|
+
);
|
|
723
782
|
if (effectiveName === DEFAULT_IMAGE_NAME) {
|
|
724
783
|
console.warn(
|
|
725
784
|
`Importing sandbox image with the default name "${DEFAULT_IMAGE_NAME}". Pass \`registeredName\` to avoid collisions with other default-named images in this project.`
|
|
@@ -737,14 +796,15 @@ async function importSandboxImage(imageReference, options = {}, deps = {}) {
|
|
|
737
796
|
deps._allowPat ? "Missing TENSORLAKE_API_KEY or TENSORLAKE_PAT credentials." : "Missing TENSORLAKE_API_KEY credentials."
|
|
738
797
|
);
|
|
739
798
|
}
|
|
740
|
-
|
|
799
|
+
const cas = options.cas ?? true;
|
|
800
|
+
if (options.signal !== void 0 && !cas) {
|
|
741
801
|
throw new Error(
|
|
742
|
-
"signal is
|
|
802
|
+
"signal is not supported for legacy image imports (cas: false): a legacy image import has no build operation to cancel"
|
|
743
803
|
);
|
|
744
804
|
}
|
|
745
805
|
emit({
|
|
746
806
|
type: "status",
|
|
747
|
-
message: `Importing
|
|
807
|
+
message: `Importing '${reference}' as ${cas ? "CAS" : "legacy"} image '${effectiveName}'...`
|
|
748
808
|
});
|
|
749
809
|
const binding = loadNativeBinding();
|
|
750
810
|
let emitError;
|
|
@@ -765,7 +825,7 @@ async function importSandboxImage(imageReference, options = {}, deps = {}) {
|
|
|
765
825
|
userAgent: void 0,
|
|
766
826
|
dockerCompat: options.dockerCompat ?? false,
|
|
767
827
|
dockerConfigJson: options.dockerConfigJson,
|
|
768
|
-
cas
|
|
828
|
+
cas
|
|
769
829
|
};
|
|
770
830
|
const forward = (event) => {
|
|
771
831
|
try {
|
|
@@ -774,7 +834,7 @@ async function importSandboxImage(imageReference, options = {}, deps = {}) {
|
|
|
774
834
|
emitError ??= error;
|
|
775
835
|
}
|
|
776
836
|
};
|
|
777
|
-
const resultJson =
|
|
837
|
+
const resultJson = cas ? await __runWithInterrupt(
|
|
778
838
|
options.signal,
|
|
779
839
|
(interruptId) => binding.importSandboxImage(nativeOptions, forward, interruptId)
|
|
780
840
|
) : await binding.importSandboxImage(nativeOptions, forward);
|
|
@@ -831,15 +891,29 @@ async function deleteSandboxImage(imageName) {
|
|
|
831
891
|
if (typeof imageName !== "string" || imageName.length === 0) {
|
|
832
892
|
throw new TypeError("imageName must be a non-empty string");
|
|
833
893
|
}
|
|
834
|
-
|
|
894
|
+
warnIncompleteLegacyCleanup(
|
|
895
|
+
await loadNativeBinding().deleteSandboxImage(catalogOptionsFromEnv(), imageName)
|
|
896
|
+
);
|
|
835
897
|
}
|
|
836
898
|
async function deleteSandboxImageWithCredentials(credentials, imageName) {
|
|
837
899
|
if (typeof imageName !== "string" || imageName.length === 0) {
|
|
838
900
|
throw new TypeError("imageName must be a non-empty string");
|
|
839
901
|
}
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
902
|
+
warnIncompleteLegacyCleanup(
|
|
903
|
+
await loadNativeBinding().deleteSandboxImage(
|
|
904
|
+
catalogOptionsFromCredentials(credentials),
|
|
905
|
+
imageName
|
|
906
|
+
)
|
|
907
|
+
);
|
|
908
|
+
}
|
|
909
|
+
function warnIncompleteLegacyCleanup(failure) {
|
|
910
|
+
if (failure == null) {
|
|
911
|
+
return;
|
|
912
|
+
}
|
|
913
|
+
const legacyImageId = failure.legacyImageId ?? void 0;
|
|
914
|
+
const label = legacyImageId ? ` (${legacyImageId})` : "";
|
|
915
|
+
console.warn(
|
|
916
|
+
`Deleted CAS image '${failure.legacyImageName}', but could not delete the legacy image of the same name${label}, which can no longer start sandboxes: ${failure.error}. Delete it with deleteSandboxImage("${legacyImageId ?? failure.legacyImageName}").`
|
|
843
917
|
);
|
|
844
918
|
}
|
|
845
919
|
async function findSandboxImageByName(imageName) {
|
|
@@ -883,13 +957,14 @@ async function runCreateSandboxImageCli(argv = process.argv.slice(2)) {
|
|
|
883
957
|
disk_mb: { type: "string" },
|
|
884
958
|
builder_disk_mb: { type: "string" },
|
|
885
959
|
docker_compat: { type: "boolean", default: false },
|
|
886
|
-
public: { type: "boolean", default: false }
|
|
960
|
+
public: { type: "boolean", default: false },
|
|
961
|
+
"no-cas": { type: "boolean", default: false }
|
|
887
962
|
}
|
|
888
963
|
});
|
|
889
964
|
const dockerfilePath = parsed.positionals[0];
|
|
890
965
|
if (!dockerfilePath) {
|
|
891
966
|
throw new Error(
|
|
892
|
-
"Usage: tensorlake-create-sandbox-image <dockerfile_path> [--name NAME] [--cpus N] [--memory MiB] [--disk_mb MiB] [--builder_disk_mb MiB] [--docker_compat] [--public]"
|
|
967
|
+
"Usage: tensorlake-create-sandbox-image <dockerfile_path> [--name NAME] [--cpus N] [--memory MiB] [--disk_mb MiB] [--builder_disk_mb MiB] [--docker_compat] [--public] [--no-cas]"
|
|
893
968
|
);
|
|
894
969
|
}
|
|
895
970
|
const cpus = parsed.values.cpus != null ? Number(parsed.values.cpus) : void 0;
|
|
@@ -921,7 +996,8 @@ async function runCreateSandboxImageCli(argv = process.argv.slice(2)) {
|
|
|
921
996
|
diskMb,
|
|
922
997
|
builderDiskMb,
|
|
923
998
|
dockerCompat: parsed.values.docker_compat,
|
|
924
|
-
isPublic: parsed.values.public
|
|
999
|
+
isPublic: parsed.values.public,
|
|
1000
|
+
cas: !parsed.values["no-cas"]
|
|
925
1001
|
},
|
|
926
1002
|
{ emit: ndjsonStdoutEmit, _allowPat: true }
|
|
927
1003
|
);
|
|
@@ -937,13 +1013,14 @@ async function runImportSandboxImageCli(argv = process.argv.slice(2)) {
|
|
|
937
1013
|
disk_mb: { type: "string" },
|
|
938
1014
|
builder_disk_mb: { type: "string" },
|
|
939
1015
|
docker_compat: { type: "boolean", default: false },
|
|
940
|
-
public: { type: "boolean", default: false }
|
|
1016
|
+
public: { type: "boolean", default: false },
|
|
1017
|
+
"no-cas": { type: "boolean", default: false }
|
|
941
1018
|
}
|
|
942
1019
|
});
|
|
943
1020
|
const imageReference = parsed.positionals[0];
|
|
944
1021
|
if (!imageReference) {
|
|
945
1022
|
throw new Error(
|
|
946
|
-
"Usage: tensorlake-import-sandbox-image <image_reference> [--name NAME] [--cpus N] [--memory MiB] [--disk_mb MiB] [--builder_disk_mb MiB] [--docker_compat] [--public]"
|
|
1023
|
+
"Usage: tensorlake-import-sandbox-image <image_reference> [--name NAME] [--cpus N] [--memory MiB] [--disk_mb MiB] [--builder_disk_mb MiB] [--docker_compat] [--public] [--no-cas]"
|
|
947
1024
|
);
|
|
948
1025
|
}
|
|
949
1026
|
const cpus = parsed.values.cpus != null ? Number(parsed.values.cpus) : void 0;
|
|
@@ -975,12 +1052,13 @@ async function runImportSandboxImageCli(argv = process.argv.slice(2)) {
|
|
|
975
1052
|
diskMb,
|
|
976
1053
|
builderDiskMb,
|
|
977
1054
|
dockerCompat: parsed.values.docker_compat,
|
|
978
|
-
isPublic: parsed.values.public
|
|
1055
|
+
isPublic: parsed.values.public,
|
|
1056
|
+
cas: !parsed.values["no-cas"]
|
|
979
1057
|
},
|
|
980
1058
|
{ emit: ndjsonStdoutEmit, _allowPat: true }
|
|
981
1059
|
);
|
|
982
1060
|
}
|
|
983
|
-
var cachedNativeBinding, cachedNativeBindingError, DEFAULT_IMAGE_NAME, __imageBuildInternals;
|
|
1061
|
+
var cachedNativeBinding, cachedNativeBindingError, DEFAULT_IMAGE_NAME, DEFAULT_SANDBOX_IMAGE_NAME, DEFAULT_IMPORTED_IMAGE_NAME, CAS_NAME_SEPARATORS, RESERVED_IMAGE_NAME_PREFIXES, MAX_CAS_IMAGE_NAME_LENGTH, __imageBuildInternals;
|
|
984
1062
|
var init_sandbox_image = __esm({
|
|
985
1063
|
"src/sandbox-image.ts"() {
|
|
986
1064
|
"use strict";
|
|
@@ -989,6 +1067,11 @@ var init_sandbox_image = __esm({
|
|
|
989
1067
|
init_native_binding();
|
|
990
1068
|
init_image_builds();
|
|
991
1069
|
DEFAULT_IMAGE_NAME = "default";
|
|
1070
|
+
DEFAULT_SANDBOX_IMAGE_NAME = "sandbox-image";
|
|
1071
|
+
DEFAULT_IMPORTED_IMAGE_NAME = "imported-image";
|
|
1072
|
+
CAS_NAME_SEPARATORS = "._-";
|
|
1073
|
+
RESERVED_IMAGE_NAME_PREFIXES = ["sandbox_template_", "image_", "cas-v1:"];
|
|
1074
|
+
MAX_CAS_IMAGE_NAME_LENGTH = 255;
|
|
992
1075
|
__imageBuildInternals = {
|
|
993
1076
|
loadNativeBinding: () => loadNativeBinding(),
|
|
994
1077
|
buildContextFromEnv: () => buildContextFromEnv(),
|
|
@@ -997,7 +1080,12 @@ var init_sandbox_image = __esm({
|
|
|
997
1080
|
eventToEmitDict: (event) => eventToEmitDict(event),
|
|
998
1081
|
imageRequiresContext: (image) => imageRequiresContext(image),
|
|
999
1082
|
defaultRegisteredName: (dockerfilePath) => defaultRegisteredName(dockerfilePath),
|
|
1000
|
-
defaultRegisteredNameFromImage: (reference) => defaultRegisteredNameFromImage(reference)
|
|
1083
|
+
defaultRegisteredNameFromImage: (reference) => defaultRegisteredNameFromImage(reference),
|
|
1084
|
+
registeredImageName: (explicit, generated, cas, fallback) => registeredImageName(explicit, generated, cas, fallback),
|
|
1085
|
+
casImageNameFrom: (raw, fallback) => casImageNameFrom(raw, fallback),
|
|
1086
|
+
canonicalCasImageName: (name) => canonicalCasImageName(name),
|
|
1087
|
+
isAddressableCasImageName: (name) => isAddressableCasImageName(name),
|
|
1088
|
+
defaultImportedImageName: DEFAULT_IMPORTED_IMAGE_NAME
|
|
1001
1089
|
};
|
|
1002
1090
|
}
|
|
1003
1091
|
});
|
|
@@ -1110,10 +1198,11 @@ var init_image = __esm({
|
|
|
1110
1198
|
});
|
|
1111
1199
|
}
|
|
1112
1200
|
/**
|
|
1113
|
-
* Build this image as a sandbox
|
|
1201
|
+
* Build this image and register it as a CAS sandbox image (the default) or,
|
|
1202
|
+
* with `cas: false`, a legacy sandbox image.
|
|
1114
1203
|
*
|
|
1115
1204
|
* Materializes the image in a build sandbox, snapshots the filesystem,
|
|
1116
|
-
* and registers the snapshot
|
|
1205
|
+
* and registers the snapshot under the image's name.
|
|
1117
1206
|
*/
|
|
1118
1207
|
async build(options = {}) {
|
|
1119
1208
|
const { createSandboxImage: createSandboxImage2 } = await Promise.resolve().then(() => (init_sandbox_image(), sandbox_image_exports));
|
|
@@ -2497,7 +2586,7 @@ init_image();
|
|
|
2497
2586
|
|
|
2498
2587
|
// src/defaults.ts
|
|
2499
2588
|
init_esm_shims();
|
|
2500
|
-
var SDK_VERSION = "0.5.
|
|
2589
|
+
var SDK_VERSION = "0.5.157";
|
|
2501
2590
|
var API_URL = process.env.TENSORLAKE_API_URL ?? "https://api.tensorlake.ai";
|
|
2502
2591
|
var API_KEY = process.env.TENSORLAKE_API_KEY ?? void 0;
|
|
2503
2592
|
var NAMESPACE = process.env.INDEXIFY_NAMESPACE ?? "default";
|
|
@@ -3305,7 +3394,7 @@ function createWorkerBinding(runtime) {
|
|
|
3305
3394
|
};
|
|
3306
3395
|
}
|
|
3307
3396
|
var runtimeKey = /* @__PURE__ */ Symbol.for(
|
|
3308
|
-
`tensorlake.native.worker.${false ? "source" : "0.5.
|
|
3397
|
+
`tensorlake.native.worker.${false ? "source" : "0.5.157"}.v1`
|
|
3309
3398
|
);
|
|
3310
3399
|
var runtimes = globalThis;
|
|
3311
3400
|
function workerBinding() {
|
|
@@ -3581,10 +3670,12 @@ var CloudClient = class _CloudClient {
|
|
|
3581
3670
|
);
|
|
3582
3671
|
}
|
|
3583
3672
|
/**
|
|
3584
|
-
* Delete a registered sandbox image by name or id through the
|
|
3585
|
-
* catalog, with this client's credentials: an `image_` id or a name
|
|
3586
|
-
*
|
|
3587
|
-
* name registered only in the
|
|
3673
|
+
* Delete a registered CAS or legacy sandbox image by name or id through the
|
|
3674
|
+
* merged catalog, with this client's credentials: an `image_` id or a name
|
|
3675
|
+
* the CAS image registry knows deletes a CAS image, a `sandbox_template_` id
|
|
3676
|
+
* or a name registered only in the legacy image registry deletes a legacy
|
|
3677
|
+
* image.
|
|
3678
|
+
* A name is deleted from both the CAS and the legacy image registries.
|
|
3588
3679
|
* Rejects when neither catalog knows the reference. The same semantics
|
|
3589
3680
|
* and accepted differences as the module-level `deleteSandboxImage`.
|
|
3590
3681
|
*/
|
|
@@ -3592,10 +3683,10 @@ var CloudClient = class _CloudClient {
|
|
|
3592
3683
|
await deleteSandboxImageWithCredentials(this.catalogCredentials(), imageName);
|
|
3593
3684
|
}
|
|
3594
3685
|
/**
|
|
3595
|
-
* Look up a registered sandbox image by name or id through
|
|
3596
|
-
* catalog, with this client's credentials. Returns the image in
|
|
3597
|
-
* sandbox-template shape, or `null` when neither the
|
|
3598
|
-
*
|
|
3686
|
+
* Look up a registered CAS or legacy sandbox image by name or id through
|
|
3687
|
+
* the merged catalog, with this client's credentials. Returns the image in
|
|
3688
|
+
* the sandbox-template shape, or `null` when neither the CAS nor the legacy
|
|
3689
|
+
* image registry knows the reference. An explicit organization/project
|
|
3599
3690
|
* scope (the client's, or the call's override) addresses that project's
|
|
3600
3691
|
* routes directly, as before; without one the key's own scope applies.
|
|
3601
3692
|
*/
|