@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.
Files changed (35) hide show
  1. package/dist/applications/index.cjs +131 -40
  2. package/dist/applications/index.cjs.map +1 -1
  3. package/dist/applications/index.d.cts +3 -3
  4. package/dist/applications/index.d.ts +3 -3
  5. package/dist/applications/index.js +131 -40
  6. package/dist/applications/index.js.map +1 -1
  7. package/dist/function-agent/main.cjs +1 -1
  8. package/dist/function-agent/main.js +1 -1
  9. package/dist/function-executor/main.cjs +2 -2
  10. package/dist/function-executor/main.js +2 -2
  11. package/dist/index.cjs +175 -62
  12. package/dist/index.cjs.map +1 -1
  13. package/dist/index.d.cts +31 -23
  14. package/dist/index.d.ts +31 -23
  15. package/dist/index.js +175 -62
  16. package/dist/index.js.map +1 -1
  17. package/dist/{remote-B3vn4tt1.d.cts → remote-CEs4GFGP.d.cts} +1 -1
  18. package/dist/{remote-DqBUuciu.d.ts → remote-DYBXCTNC.d.ts} +1 -1
  19. package/dist/{sandbox-image-BMiFlzAs.d.cts → sandbox-image-C2GTVnx3.d.cts} +99 -52
  20. package/dist/{sandbox-image-BMiFlzAs.d.ts → sandbox-image-C2GTVnx3.d.ts} +99 -52
  21. package/dist/sandbox-image.cjs +119 -30
  22. package/dist/sandbox-image.cjs.map +1 -1
  23. package/dist/sandbox-image.d.cts +1 -1
  24. package/dist/sandbox-image.d.ts +1 -1
  25. package/dist/sandbox-image.js +119 -30
  26. package/dist/sandbox-image.js.map +1 -1
  27. package/package.json +7 -7
  28. package/runtime/function-executor/manifest.json +5 -5
  29. package/runtime/function-executor/package/dist/function-executor/main.js +2 -2
  30. package/runtime/function-executor/package/npm-shrinkwrap.json +2 -2
  31. package/runtime/function-executor/package/package.json +1 -1
  32. package/runtime/typescript-function-runner/manifest.json +5 -5
  33. package/runtime/typescript-function-runner/package/dist/function-agent/main.js +1 -1
  34. package/runtime/typescript-function-runner/package/npm-shrinkwrap.json +26 -26
  35. 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-B3vn4tt1.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-B3vn4tt1.cjs';
3
- export { I as Image } from '../sandbox-image-BMiFlzAs.cjs';
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-DqBUuciu.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-DqBUuciu.js';
3
- export { I as Image } from '../sandbox-image-BMiFlzAs.js';
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 || "sandbox-image";
509
+ return parentName || DEFAULT_SANDBOX_IMAGE_NAME;
510
510
  }
511
- return parsed.name || "sandbox-image";
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 || "imported-image";
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 = options.registeredName ?? source.name;
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 = options.registeredName ?? defaultRegisteredName(resolvedPath);
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
- if (options.signal !== void 0 && !options.cas) {
704
+ const cas = options.cas ?? true;
705
+ if (options.signal !== void 0 && !cas) {
655
706
  throw new Error(
656
- "signal is only supported for CAS image builds (cas: true); a legacy build has no Image Service build operation to cancel"
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({ type: "status", message: `Building image '${effectiveName}'...` });
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: options.cas ?? false,
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 = options.cas ? await __runWithInterrupt(
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 = options.registeredName ?? defaultRegisteredNameFromImage(reference);
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
- if (options.signal !== void 0 && !options.cas) {
799
+ const cas = options.cas ?? true;
800
+ if (options.signal !== void 0 && !cas) {
741
801
  throw new Error(
742
- "signal is only supported for CAS image imports (cas: true); a legacy import has no Image Service build operation to cancel"
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 image '${reference}' as '${effectiveName}'...`
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: options.cas ?? false
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 = options.cas ? await __runWithInterrupt(
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
- await loadNativeBinding().deleteSandboxImage(catalogOptionsFromEnv(), imageName);
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
- await loadNativeBinding().deleteSandboxImage(
841
- catalogOptionsFromCredentials(credentials),
842
- imageName
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 template and register it.
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 as a named sandbox template.
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.154";
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.154"}.v1`
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 merged
3585
- * catalog, with this client's credentials: an `image_` id or a name the
3586
- * Image Service knows deletes a CAS image, a `sandbox_template_` id or a
3587
- * name registered only in the platform registry deletes a legacy image.
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 the merged
3596
- * catalog, with this client's credentials. Returns the image in the
3597
- * sandbox-template shape, or `null` when neither the Image Service nor the
3598
- * platform registry knows the reference. An explicit organization/project
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
  */