deeplake 0.3.16 → 0.3.21

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 (147) hide show
  1. package/dist/browser/{browser/client.d.ts → client.d.ts} +2 -2
  2. package/dist/browser/{browser/client.js → client.js} +8 -8
  3. package/dist/browser/{browser/index.d.ts → index.d.ts} +12 -12
  4. package/dist/browser/{browser/index.js → index.js} +8 -8
  5. package/dist/browser/shared/credentials.d.ts.map +1 -1
  6. package/dist/browser/shared/credentials.js +4 -6
  7. package/dist/browser/shared/credentials.js.map +1 -1
  8. package/dist/browser/shared/database.d.ts +3 -1
  9. package/dist/browser/shared/database.d.ts.map +1 -1
  10. package/dist/browser/shared/dlref.d.ts +3 -0
  11. package/dist/browser/shared/dlref.d.ts.map +1 -1
  12. package/dist/browser/shared/dlref.js +3 -0
  13. package/dist/browser/shared/dlref.js.map +1 -1
  14. package/dist/browser/shared/schema.d.ts.map +1 -1
  15. package/dist/browser/shared/schema.js +31 -20
  16. package/dist/browser/shared/schema.js.map +1 -1
  17. package/dist/browser/shared/token.d.ts.map +1 -1
  18. package/dist/browser/shared/token.js +1 -17
  19. package/dist/browser/shared/token.js.map +1 -1
  20. package/dist/browser/{browser/storage.d.ts.map → storage.d.ts.map} +1 -1
  21. package/dist/browser/{browser/storage.js → storage.js} +20 -33
  22. package/dist/browser/storage.js.map +1 -0
  23. package/dist/browser/{browser/wasm.js → wasm.js} +1 -1
  24. package/dist/node/client.d.ts +107 -0
  25. package/dist/node/client.d.ts.map +1 -0
  26. package/dist/node/{node/client.js → client.js} +138 -112
  27. package/dist/node/client.js.map +1 -0
  28. package/dist/node/formats/coco.d.ts +62 -0
  29. package/dist/node/formats/coco.d.ts.map +1 -0
  30. package/dist/node/{node/formats → formats}/coco.js +94 -8
  31. package/dist/node/formats/coco.js.map +1 -0
  32. package/dist/node/{node/formats → formats}/coco_panoptic.d.ts +1 -1
  33. package/dist/node/{node/formats → formats}/coco_panoptic.d.ts.map +1 -1
  34. package/dist/node/{node/formats → formats}/coco_panoptic.js +1 -0
  35. package/dist/node/formats/coco_panoptic.js.map +1 -0
  36. package/dist/node/formats/lerobot.d.ts +84 -0
  37. package/dist/node/formats/lerobot.d.ts.map +1 -0
  38. package/dist/node/{node/formats → formats}/lerobot.js +61 -1
  39. package/dist/node/formats/lerobot.js.map +1 -0
  40. package/dist/node/{node/index.d.ts → index.d.ts} +12 -12
  41. package/dist/node/{node/index.js → index.js} +8 -8
  42. package/dist/node/normalizers/binary.d.ts +3 -0
  43. package/dist/node/{node/normalizers → normalizers}/binary.js +1 -1
  44. package/dist/node/{node/normalizers → normalizers}/binary.js.map +1 -1
  45. package/dist/node/{node/normalizers → normalizers}/dict.d.ts +1 -1
  46. package/dist/node/{node/normalizers → normalizers}/files.d.ts +1 -1
  47. package/dist/node/{node/normalizers → normalizers}/files.js +1 -1
  48. package/dist/node/normalizers/huggingface.d.ts +23 -0
  49. package/dist/node/normalizers/huggingface.d.ts.map +1 -0
  50. package/dist/node/{node/normalizers → normalizers}/huggingface.js +29 -0
  51. package/dist/node/normalizers/huggingface.js.map +1 -0
  52. package/dist/node/normalizers/image.d.ts +3 -0
  53. package/dist/node/{node/normalizers → normalizers}/image.js +1 -1
  54. package/dist/node/{node/normalizers → normalizers}/image.js.map +1 -1
  55. package/dist/node/normalizers/pdf.d.ts +3 -0
  56. package/dist/node/{node/normalizers → normalizers}/pdf.js +2 -2
  57. package/dist/node/{node/normalizers → normalizers}/pdf.js.map +1 -1
  58. package/dist/node/{node/normalizers → normalizers}/text.d.ts +1 -1
  59. package/dist/node/{node/normalizers → normalizers}/text.js +1 -1
  60. package/dist/node/{node/normalizers → normalizers}/text.js.map +1 -1
  61. package/dist/node/{node/normalizers → normalizers}/video.d.ts +1 -1
  62. package/dist/node/{node/normalizers → normalizers}/video.js +2 -2
  63. package/dist/node/{node/normalizers → normalizers}/video.js.map +1 -1
  64. package/dist/node/shared/credentials.d.ts.map +1 -1
  65. package/dist/node/shared/credentials.js +4 -6
  66. package/dist/node/shared/credentials.js.map +1 -1
  67. package/dist/node/shared/database.d.ts +3 -1
  68. package/dist/node/shared/database.d.ts.map +1 -1
  69. package/dist/node/shared/dlref.d.ts +3 -0
  70. package/dist/node/shared/dlref.d.ts.map +1 -1
  71. package/dist/node/shared/dlref.js +3 -0
  72. package/dist/node/shared/dlref.js.map +1 -1
  73. package/dist/node/shared/schema.d.ts.map +1 -1
  74. package/dist/node/shared/schema.js +31 -20
  75. package/dist/node/shared/schema.js.map +1 -1
  76. package/dist/node/shared/token.d.ts.map +1 -1
  77. package/dist/node/shared/token.js +1 -17
  78. package/dist/node/shared/token.js.map +1 -1
  79. package/dist/node/{node/storage.d.ts → storage.d.ts} +5 -0
  80. package/dist/node/storage.d.ts.map +1 -0
  81. package/dist/node/{node/storage.js → storage.js} +137 -16
  82. package/dist/node/storage.js.map +1 -0
  83. package/dist/node/{node/wasm.js → wasm.js} +1 -1
  84. package/package.json +17 -13
  85. package/wasm/browser/deeplake_browser.js +1 -1
  86. package/wasm/browser/deeplake_browser.wasm +0 -0
  87. package/wasm/node/deeplake_node.js +1 -1
  88. package/wasm/node/deeplake_node.wasm +0 -0
  89. package/dist/browser/browser/storage.js.map +0 -1
  90. package/dist/node/node/client.d.ts +0 -49
  91. package/dist/node/node/client.d.ts.map +0 -1
  92. package/dist/node/node/client.js.map +0 -1
  93. package/dist/node/node/formats/coco.d.ts +0 -24
  94. package/dist/node/node/formats/coco.d.ts.map +0 -1
  95. package/dist/node/node/formats/coco.js.map +0 -1
  96. package/dist/node/node/formats/coco_panoptic.js.map +0 -1
  97. package/dist/node/node/formats/lerobot.d.ts +0 -42
  98. package/dist/node/node/formats/lerobot.d.ts.map +0 -1
  99. package/dist/node/node/formats/lerobot.js.map +0 -1
  100. package/dist/node/node/normalizers/binary.d.ts +0 -3
  101. package/dist/node/node/normalizers/huggingface.d.ts +0 -3
  102. package/dist/node/node/normalizers/huggingface.d.ts.map +0 -1
  103. package/dist/node/node/normalizers/huggingface.js.map +0 -1
  104. package/dist/node/node/normalizers/image.d.ts +0 -3
  105. package/dist/node/node/normalizers/pdf.d.ts +0 -3
  106. package/dist/node/node/storage.d.ts.map +0 -1
  107. package/dist/node/node/storage.js.map +0 -1
  108. package/dist/wasm/node/deeplake_node.js +0 -3
  109. package/dist/wasm/node/deeplake_node.wasm +0 -0
  110. package/dist/wasm/node/deeplake_node.worker.js +0 -5
  111. package/wasm/browser/deeplake_browser.worker.js +0 -5
  112. package/wasm/node/deeplake_node.worker.js +0 -5
  113. /package/dist/browser/{browser/client.d.ts.map → client.d.ts.map} +0 -0
  114. /package/dist/browser/{browser/client.js.map → client.js.map} +0 -0
  115. /package/dist/browser/{browser/index.d.ts.map → index.d.ts.map} +0 -0
  116. /package/dist/browser/{browser/index.js.map → index.js.map} +0 -0
  117. /package/dist/browser/{browser/storage.d.ts → storage.d.ts} +0 -0
  118. /package/dist/browser/{browser/wasm.d.ts → wasm.d.ts} +0 -0
  119. /package/dist/browser/{browser/wasm.d.ts.map → wasm.d.ts.map} +0 -0
  120. /package/dist/browser/{browser/wasm.js.map → wasm.js.map} +0 -0
  121. /package/dist/node/{node/formats → formats}/index.d.ts +0 -0
  122. /package/dist/node/{node/formats → formats}/index.d.ts.map +0 -0
  123. /package/dist/node/{node/formats → formats}/index.js +0 -0
  124. /package/dist/node/{node/formats → formats}/index.js.map +0 -0
  125. /package/dist/node/{node/index.d.ts.map → index.d.ts.map} +0 -0
  126. /package/dist/node/{node/index.js.map → index.js.map} +0 -0
  127. /package/dist/node/{node/mime.d.ts → mime.d.ts} +0 -0
  128. /package/dist/node/{node/mime.d.ts.map → mime.d.ts.map} +0 -0
  129. /package/dist/node/{node/mime.js → mime.js} +0 -0
  130. /package/dist/node/{node/mime.js.map → mime.js.map} +0 -0
  131. /package/dist/node/{node/normalizers → normalizers}/binary.d.ts.map +0 -0
  132. /package/dist/node/{node/normalizers → normalizers}/dict.d.ts.map +0 -0
  133. /package/dist/node/{node/normalizers → normalizers}/dict.js +0 -0
  134. /package/dist/node/{node/normalizers → normalizers}/dict.js.map +0 -0
  135. /package/dist/node/{node/normalizers → normalizers}/files.d.ts.map +0 -0
  136. /package/dist/node/{node/normalizers → normalizers}/files.js.map +0 -0
  137. /package/dist/node/{node/normalizers → normalizers}/image.d.ts.map +0 -0
  138. /package/dist/node/{node/normalizers → normalizers}/index.d.ts +0 -0
  139. /package/dist/node/{node/normalizers → normalizers}/index.d.ts.map +0 -0
  140. /package/dist/node/{node/normalizers → normalizers}/index.js +0 -0
  141. /package/dist/node/{node/normalizers → normalizers}/index.js.map +0 -0
  142. /package/dist/node/{node/normalizers → normalizers}/pdf.d.ts.map +0 -0
  143. /package/dist/node/{node/normalizers → normalizers}/text.d.ts.map +0 -0
  144. /package/dist/node/{node/normalizers → normalizers}/video.d.ts.map +0 -0
  145. /package/dist/node/{node/wasm.d.ts → wasm.d.ts} +0 -0
  146. /package/dist/node/{node/wasm.d.ts.map → wasm.d.ts.map} +0 -0
  147. /package/dist/node/{node/wasm.js.map → wasm.js.map} +0 -0
@@ -11,5 +11,10 @@
11
11
  * The C++ side passes refresh metadata (orgId, dsName, token) through the
12
12
  * config object so the JS side can call the backend API for fresh creds.
13
13
  */
14
+ /**
15
+ * Register a callback that fires when all in-flight storage operations
16
+ * have completed. If none are in flight, the callback fires immediately.
17
+ */
18
+ export declare function onDrained(cb: () => void): void;
14
19
  export declare function createStorageFactory(wasmModule: any): (type: string, config: any, mode?: string) => any;
15
20
  //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/node/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA6OH;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAM9C;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,GAAG,IAEhD,MAAM,MAAM,EACZ,QAAQ,GAAG,EACX,OAAO,MAAM,KACZ,GAAG,CAwHP"}
@@ -13,6 +13,7 @@
13
13
  * config object so the JS side can call the backend API for fresh creds.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.onDrained = onDrained;
16
17
  exports.createStorageFactory = createStorageFactory;
17
18
  const client_s3_1 = require("@aws-sdk/client-s3");
18
19
  const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
@@ -22,6 +23,10 @@ const REFRESH_BUFFER_MS = 5 * 60 * 1000;
22
23
  const DEFAULT_CRED_LIFETIME_MS = 60 * 60 * 1000;
23
24
  // Cooldown after a failed refresh attempt (matches native 60s)
24
25
  const REFRESH_FAILURE_COOLDOWN_MS = 60 * 1000;
26
+ /**
27
+ * Manages an S3Client whose credentials can be rotated by calling the
28
+ * backend API for fresh STS tokens.
29
+ */
25
30
  class RotatingS3Client {
26
31
  client;
27
32
  region;
@@ -39,6 +44,7 @@ class RotatingS3Client {
39
44
  this.createdAt = Date.now();
40
45
  this.debug = debug;
41
46
  }
47
+ /** Get the current S3 client, refreshing credentials if needed. */
42
48
  async getClient() {
43
49
  if (!this.refreshMeta)
44
50
  return this.client;
@@ -47,12 +53,14 @@ class RotatingS3Client {
47
53
  const needsRefresh = age > DEFAULT_CRED_LIFETIME_MS - REFRESH_BUFFER_MS;
48
54
  if (!needsRefresh)
49
55
  return this.client;
56
+ // Cooldown after failure
50
57
  if (this.lastFailureAt && now - this.lastFailureAt < REFRESH_FAILURE_COOLDOWN_MS) {
51
58
  if (this.debug) {
52
59
  console.log('[storage] skipping credential refresh — in cooldown after previous failure');
53
60
  }
54
61
  return this.client;
55
62
  }
63
+ // Serialize concurrent refresh attempts
56
64
  if (this.refreshInProgress) {
57
65
  await this.refreshInProgress;
58
66
  return this.client;
@@ -73,6 +81,11 @@ class RotatingS3Client {
73
81
  }
74
82
  try {
75
83
  const resp = await fetchCredentials(meta);
84
+ // Build new S3 credentials from backend response.
85
+ // Field mapping mirrors C++ update_params.cpp (lines 57-66):
86
+ // token → session_token, region → region_name
87
+ // The backend API may return fields under different names depending
88
+ // on the provider and version.
76
89
  const creds = resp.creds;
77
90
  const s3Config = {
78
91
  region: creds.region || creds.region_name || this.region,
@@ -81,9 +94,16 @@ class RotatingS3Client {
81
94
  secretAccessKey: creds.aws_secret_access_key ?? creds.secret_key,
82
95
  sessionToken: creds.aws_session_token ?? creds.token ?? creds.session_token,
83
96
  },
97
+ requestHandler: new (require('@smithy/node-http-handler').NodeHttpHandler)({
98
+ requestTimeout: 8_000,
99
+ connectionTimeout: 8_000,
100
+ }),
101
+ maxAttempts: 30,
102
+ followRegionRedirects: true,
84
103
  };
85
104
  if (this.endpoint) {
86
105
  s3Config.endpoint = this.endpoint;
106
+ s3Config.forcePathStyle = true;
87
107
  }
88
108
  this.client = new client_s3_1.S3Client(s3Config);
89
109
  this.createdAt = Date.now();
@@ -95,9 +115,16 @@ class RotatingS3Client {
95
115
  catch (e) {
96
116
  this.lastFailureAt = Date.now();
97
117
  console.warn(`[storage] credential refresh failed: ${e.message ?? e}`);
118
+ // Keep using the old client — it may still work if expiry hasn't hit yet
98
119
  }
99
120
  }
100
121
  }
122
+ /**
123
+ * Fetch fresh credentials from the backend API.
124
+ * Mirrors the C++ update_params() flow in client/update_params.cpp.
125
+ *
126
+ * Returns the raw response so the caller can interpret fields per provider.
127
+ */
101
128
  async function fetchCredentials(meta) {
102
129
  let url;
103
130
  if (meta.dsName) {
@@ -125,6 +152,11 @@ async function fetchCredentials(meta) {
125
152
  const repoType = (json.repo_type ?? 's3');
126
153
  return { repoType, creds };
127
154
  }
155
+ /**
156
+ * Resolve the backend API endpoint from the WASM module.
157
+ * The C++ backend::backend singleton stores the endpoint set via
158
+ * deeplake_set_endpoint().
159
+ */
128
160
  function resolveApiEndpoint(wasmModule) {
129
161
  try {
130
162
  const backend = wasmModule.deeplake_backend_client_instance();
@@ -137,13 +169,62 @@ function resolveApiEndpoint(wasmModule) {
137
169
  }
138
170
  return 'https://app.activeloop.ai';
139
171
  }
140
- const inflight_tracker_1 = require("../shared/inflight-tracker");
141
172
  // Registry to prevent V8 GC from collecting JS objects that are only
142
173
  // referenced by emscripten::val handles in C++ WASM code.
143
174
  const _liveObjects = new Set();
175
+ // ---------------------------------------------------------------------------
176
+ // In-flight operation tracker
177
+ //
178
+ // Every storage callback (download, list, exists, …) clones a WASM
179
+ // completion object and invokes it asynchronously. Between clone() and
180
+ // delete() the C++ side holds pointers into the WASM function table.
181
+ // deeplakeRelease() must wait for all in-flight callbacks to finish
182
+ // before calling obj.delete() on the dataset handle, otherwise the
183
+ // destructor frees the C++ objects while callbacks are still registered
184
+ // ("null function or function signature mismatch").
185
+ // ---------------------------------------------------------------------------
186
+ let _inFlightCount = 0;
187
+ let _drainCallbacks = [];
188
+ /**
189
+ * Wrap completion.clone() with in-flight tracking.
190
+ * The returned object's .delete() method decrements the counter and
191
+ * fires any registered drain callbacks when the count reaches zero.
192
+ */
193
+ function trackClone(completion) {
194
+ const c1 = completion.clone();
195
+ _inFlightCount++;
196
+ const origDelete = c1.delete.bind(c1);
197
+ c1.delete = () => {
198
+ origDelete();
199
+ _inFlightCount--;
200
+ if (_inFlightCount === 0 && _drainCallbacks.length > 0) {
201
+ const cbs = _drainCallbacks;
202
+ _drainCallbacks = [];
203
+ for (const cb of cbs)
204
+ cb();
205
+ }
206
+ };
207
+ return c1;
208
+ }
209
+ /**
210
+ * Register a callback that fires when all in-flight storage operations
211
+ * have completed. If none are in flight, the callback fires immediately.
212
+ */
213
+ function onDrained(cb) {
214
+ if (_inFlightCount === 0) {
215
+ cb();
216
+ }
217
+ else {
218
+ _drainCallbacks.push(cb);
219
+ }
220
+ }
144
221
  function createStorageFactory(wasmModule) {
145
222
  return function clientFactory(type, config, mode) {
146
223
  if (type !== 'aws') {
224
+ // GCS and Azure storage types are supported in the browser visualizer
225
+ // (via GCSGetter/AzureGetter) but not yet in the Node.js SDK.
226
+ // The C++ side may request these types when datasets are backed by
227
+ // non-S3 storage. For now, throw a clear error.
147
228
  throw new Error(`Unsupported storage type: ${type}. The Node.js SDK currently supports "aws" only. ` +
148
229
  `GCS and Azure require additional dependencies (@azure/storage-blob, etc.).`);
149
230
  }
@@ -153,6 +234,9 @@ function createStorageFactory(wasmModule) {
153
234
  process.env.AWS_DEFAULT_REGION ||
154
235
  'us-east-1';
155
236
  const endpoint = config?.endpoint ?? undefined;
237
+ // Resolve credentials: prefer config from C++, fall back to process.env.
238
+ // In WASM, std::getenv() doesn't read Node.js process.env, so the C++
239
+ // credential chain can't pick up env vars — we must do it here.
156
240
  let resolvedCreds;
157
241
  if (credentials?.accessKeyId && credentials?.secretAccessKey) {
158
242
  resolvedCreds = {
@@ -169,6 +253,7 @@ function createStorageFactory(wasmModule) {
169
253
  sessionToken: process.env.AWS_SESSION_TOKEN,
170
254
  };
171
255
  }
256
+ // Build refresh metadata from C++ params (org_id, ds_name, token)
172
257
  const refresh = config?.refresh;
173
258
  let refreshMeta = null;
174
259
  if (refresh?.orgId && refresh?.token && (refresh?.dsName || refresh?.credsKey)) {
@@ -183,9 +268,24 @@ function createStorageFactory(wasmModule) {
183
268
  const s3Config = {
184
269
  region,
185
270
  credentials: resolvedCreds,
271
+ // Match C++ native client: 8s request/connect timeouts (s3_utils.hpp:313-314)
272
+ requestHandler: new (require('@smithy/node-http-handler').NodeHttpHandler)({
273
+ requestTimeout: 8_000,
274
+ connectionTimeout: 8_000,
275
+ }),
276
+ // Match C++ native client: custom retry (s3_retry_strategy.hpp)
277
+ // 200ms interval, ~6s max → roughly 30 attempts
278
+ maxAttempts: 30,
279
+ // Disable IMDS lookups to avoid 5-10s hangs when no instance role
280
+ // is available (matches C++ shouldDisableIMDS=true)
281
+ disableHostPrefix: false,
282
+ followRegionRedirects: true,
186
283
  };
187
284
  if (endpoint) {
188
285
  s3Config.endpoint = endpoint;
286
+ // Match C++ native client: use path-style addressing for custom
287
+ // endpoints (s3_utils.hpp:329 — use_virtual_addressing=false)
288
+ s3Config.forcePathStyle = true;
189
289
  }
190
290
  const dbg = !!process.env.DEEPLAKE_STORAGE_DEBUG;
191
291
  if (dbg) {
@@ -200,6 +300,7 @@ function createStorageFactory(wasmModule) {
200
300
  result = createGetter(rotatingClient, wasmModule);
201
301
  }
202
302
  if (dbg) {
303
+ // Wrap in Proxy to trace ALL method accesses and calls
203
304
  const label = mode === 'w' ? 'writer' : 'reader';
204
305
  result = new Proxy(result, {
205
306
  get(target, prop) {
@@ -221,6 +322,8 @@ function createStorageFactory(wasmModule) {
221
322
  },
222
323
  });
223
324
  }
325
+ // Keep a strong JS reference so V8's GC doesn't collect this object
326
+ // while C++ still holds an emscripten::val handle to it.
224
327
  _liveObjects.add(result);
225
328
  return result;
226
329
  };
@@ -245,7 +348,7 @@ function createGetter(rotatingClient, wasmModule) {
245
348
  const getter = {
246
349
  generateGetPresignedUrl(key, completion) {
247
350
  key = removeScheme(key);
248
- const c1 = (0, inflight_tracker_1.trackClone)(completion);
351
+ const c1 = trackClone(completion);
249
352
  const [bucket, objKey] = splitBucketKey(key);
250
353
  rotatingClient.getClient().then((client) => (0, s3_request_presigner_1.getSignedUrl)(client, new client_s3_1.GetObjectCommand({ Bucket: bucket, Key: objKey }), {
251
354
  expiresIn: 3600,
@@ -261,7 +364,7 @@ function createGetter(rotatingClient, wasmModule) {
261
364
  },
262
365
  exists(key, completion) {
263
366
  key = removeScheme(key);
264
- const c1 = (0, inflight_tracker_1.trackClone)(completion);
367
+ const c1 = trackClone(completion);
265
368
  const [bucket, objKey] = splitBucketKey(key);
266
369
  if (debug) {
267
370
  console.log(`[storage:exists] bucket=${bucket} key=${objKey}`);
@@ -279,7 +382,7 @@ function createGetter(rotatingClient, wasmModule) {
279
382
  },
280
383
  download(key, range, index, completion) {
281
384
  key = removeScheme(key);
282
- const c1 = (0, inflight_tracker_1.trackClone)(completion);
385
+ const c1 = trackClone(completion);
283
386
  const [bucket, objKey] = splitBucketKey(key);
284
387
  if (debug) {
285
388
  console.log(`[storage:read] bucket=${bucket} key=${objKey} range=${range || 'none'}`);
@@ -324,7 +427,10 @@ function createGetter(rotatingClient, wasmModule) {
324
427
  c1.call({ responseCode: 404, message: 'resource_not_found' });
325
428
  }
326
429
  else {
327
- c1.call({ responseCode: 1000, message: err.message ?? 'unknown_error' });
430
+ const code = err.$metadata?.httpStatusCode ?? 1000;
431
+ const name = err.name ?? err.Code ?? '';
432
+ const msg = name ? `${name}: ${err.message ?? 'unknown_error'}` : (err.message ?? 'unknown_error');
433
+ c1.call({ responseCode: code, message: msg });
328
434
  }
329
435
  c1.delete();
330
436
  }));
@@ -332,7 +438,7 @@ function createGetter(rotatingClient, wasmModule) {
332
438
  wasmModule.storeJsObject(index, { abort() { } });
333
439
  },
334
440
  list(root, key, startAfter, completion) {
335
- const c1 = (0, inflight_tracker_1.trackClone)(completion);
441
+ const c1 = trackClone(completion);
336
442
  const [bucket, prefix] = splitBucketPrefix(root);
337
443
  if (debug) {
338
444
  console.log(`[storage:list] bucket=${bucket} prefix=${prefix} key=${key}`);
@@ -364,7 +470,10 @@ function createGetter(rotatingClient, wasmModule) {
364
470
  impl(data.NextMarker);
365
471
  })
366
472
  .catch((err) => {
367
- c1.call({ responseCode: 1000, message: err.message });
473
+ const code = err.$metadata?.httpStatusCode ?? 1000;
474
+ const name = err.name ?? err.Code ?? '';
475
+ const msg = name ? `${name}: ${err.message ?? 'unknown_error'}` : (err.message ?? 'unknown_error');
476
+ c1.call({ responseCode: code, message: msg });
368
477
  c1.delete();
369
478
  });
370
479
  };
@@ -372,7 +481,7 @@ function createGetter(rotatingClient, wasmModule) {
372
481
  });
373
482
  },
374
483
  listDirs(root, prefix, completion) {
375
- const c1 = (0, inflight_tracker_1.trackClone)(completion);
484
+ const c1 = trackClone(completion);
376
485
  const [bucket, rootPrefix] = splitBucketPrefix(root);
377
486
  const finalPrefix = (rootPrefix.endsWith('/') ? rootPrefix : `${rootPrefix}/`) + prefix;
378
487
  rotatingClient.getClient().then((client) => client
@@ -387,12 +496,15 @@ function createGetter(rotatingClient, wasmModule) {
387
496
  c1.delete();
388
497
  })
389
498
  .catch((err) => {
390
- c1.call({ responseCode: 1000, message: err.message });
499
+ const code = err.$metadata?.httpStatusCode ?? 1000;
500
+ const name = err.name ?? err.Code ?? '';
501
+ const msg = name ? `${name}: ${err.message ?? 'unknown_error'}` : (err.message ?? 'unknown_error');
502
+ c1.call({ responseCode: code, message: msg });
391
503
  c1.delete();
392
504
  }));
393
505
  },
394
506
  metadata(root, key, completion) {
395
- const c1 = (0, inflight_tracker_1.trackClone)(completion);
507
+ const c1 = trackClone(completion);
396
508
  const [bucket, prefix] = splitBucketPrefix(root);
397
509
  const finalPrefix = (prefix.endsWith('/') ? prefix : `${prefix}/`) + key;
398
510
  rotatingClient.getClient().then((client) => client
@@ -419,7 +531,10 @@ function createGetter(rotatingClient, wasmModule) {
419
531
  c1.delete();
420
532
  })
421
533
  .catch((err) => {
422
- c1.call({ responseCode: 1000, message: err.message });
534
+ const code = err.$metadata?.httpStatusCode ?? 1000;
535
+ const name = err.name ?? err.Code ?? '';
536
+ const msg = name ? `${name}: ${err.message ?? 'unknown_error'}` : (err.message ?? 'unknown_error');
537
+ c1.call({ responseCode: code, message: msg });
423
538
  c1.delete();
424
539
  }));
425
540
  },
@@ -434,7 +549,7 @@ function createWriter(rotatingClient, wasmModule) {
434
549
  const writer = {
435
550
  saveWithCompletion(key, content, completion) {
436
551
  key = removeScheme(key);
437
- const c1 = (0, inflight_tracker_1.trackClone)(completion);
552
+ const c1 = trackClone(completion);
438
553
  const [bucket, objKey] = splitBucketKey(key);
439
554
  if (debug) {
440
555
  const size = typeof content === 'string' ? content.length : content.byteLength;
@@ -453,16 +568,19 @@ function createWriter(rotatingClient, wasmModule) {
453
568
  c1.delete();
454
569
  })
455
570
  .catch((err) => {
571
+ const code = err.$metadata?.httpStatusCode ?? 1000;
572
+ const name = err.name ?? err.Code ?? '';
573
+ const msg = name ? `${name}: ${err.message ?? 'unknown_error'}` : (err.message ?? 'unknown_error');
456
574
  if (debug) {
457
- console.log(`[storage:write:error] key=${objKey} err=${err.message}`);
575
+ console.log(`[storage:write:error] key=${objKey} err=${msg}`);
458
576
  }
459
- c1.call({ responseCode: 1000, message: err.message });
577
+ c1.call({ responseCode: code, message: msg });
460
578
  c1.delete();
461
579
  }));
462
580
  },
463
581
  remove(key, completion) {
464
582
  key = removeScheme(key);
465
- const c1 = (0, inflight_tracker_1.trackClone)(completion);
583
+ const c1 = trackClone(completion);
466
584
  const [bucket, objKey] = splitBucketKey(key);
467
585
  rotatingClient.getClient().then((client) => client
468
586
  .send(new client_s3_1.DeleteObjectCommand({ Bucket: bucket, Key: objKey }))
@@ -473,7 +591,10 @@ function createWriter(rotatingClient, wasmModule) {
473
591
  c1.delete();
474
592
  })
475
593
  .catch((err) => {
476
- c1.call({ responseCode: 1000, message: err.message });
594
+ const code = err.$metadata?.httpStatusCode ?? 1000;
595
+ const name = err.name ?? err.Code ?? '';
596
+ const msg = name ? `${name}: ${err.message ?? 'unknown_error'}` : (err.message ?? 'unknown_error');
597
+ c1.call({ responseCode: code, message: msg });
477
598
  c1.delete();
478
599
  }));
479
600
  },
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/node/storage.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ exports.initializeWasm = initializeWasm;
38
38
  exports.deinitializeWasm = deinitializeWasm;
39
39
  const nodePath = __importStar(require("path"));
40
40
  const storage_1 = require("./storage");
41
- const wasm_common_1 = require("../shared/wasm-common");
41
+ const wasm_common_1 = require("./shared/wasm-common");
42
42
  let wasmInitPromise = null;
43
43
  let wasmModule = null;
44
44
  /**
package/package.json CHANGED
@@ -1,33 +1,33 @@
1
1
  {
2
2
  "name": "deeplake",
3
- "version": "0.3.16",
3
+ "version": "0.3.21",
4
4
  "description": "DeepLake database SDK for Node.js and browsers",
5
5
  "exports": {
6
6
  ".": {
7
7
  "node": {
8
- "types": "./dist/node/node/index.d.ts",
9
- "require": "./dist/node/node/index.js",
10
- "import": "./dist/node/node/index.js"
8
+ "types": "./dist/node/index.d.ts",
9
+ "require": "./dist/node/index.js",
10
+ "import": "./dist/node/index.js"
11
11
  },
12
12
  "browser": {
13
- "types": "./dist/browser/browser/index.d.ts",
14
- "import": "./dist/browser/browser/index.js"
13
+ "types": "./dist/browser/index.d.ts",
14
+ "import": "./dist/browser/index.js"
15
15
  },
16
16
  "default": {
17
- "types": "./dist/browser/browser/index.d.ts",
18
- "import": "./dist/browser/browser/index.js"
17
+ "types": "./dist/browser/index.d.ts",
18
+ "import": "./dist/browser/index.js"
19
19
  }
20
20
  }
21
21
  },
22
- "main": "./dist/node/node/index.js",
23
- "types": "./dist/node/node/index.d.ts",
24
- "browser": "./dist/browser/browser/index.js",
22
+ "main": "./dist/node/index.js",
23
+ "types": "./dist/node/index.d.ts",
24
+ "browser": "./dist/browser/index.js",
25
25
  "files": [
26
26
  "dist",
27
27
  "wasm"
28
28
  ],
29
29
  "scripts": {
30
- "copy-wasm:browser": "mkdir -p wasm/browser && cp ../browser/dist-wasm/deeplake_browser.js ../browser/dist-wasm/deeplake_browser.wasm ../browser/dist-wasm/deeplake_browser.worker.js wasm/browser/",
30
+ "copy-wasm:browser": "mkdir -p wasm/browser && (test -f wasm/browser/deeplake_browser.wasm || cp ../browser/dist-wasm/deeplake_browser.js ../browser/dist-wasm/deeplake_browser.wasm ../browser/dist-wasm/deeplake_browser.worker.js wasm/browser/)",
31
31
  "build": "tsc -p tsconfig.node.json && tsc -p tsconfig.browser.json && npm run copy-wasm:browser",
32
32
  "build:node": "tsc -p tsconfig.node.json",
33
33
  "build:browser": "tsc -p tsconfig.browser.json",
@@ -37,8 +37,12 @@
37
37
  "engines": {
38
38
  "node": ">=18.0.0"
39
39
  },
40
- "optionalDependencies": {
40
+ "dependencies": {
41
+ "@aws-sdk/client-s3": "^3.1000.0",
41
42
  "@aws-sdk/s3-request-presigner": "^3.1000.0",
43
+ "@smithy/node-http-handler": "^4.0.0"
44
+ },
45
+ "optionalDependencies": {
42
46
  "pg": "^8.11.0",
43
47
  "sharp": "^0.34.5"
44
48
  },