deeplake 0.3.23 → 0.3.25

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 (94) hide show
  1. package/dist/browser/browser/client.d.ts +2 -0
  2. package/dist/browser/browser/client.d.ts.map +1 -1
  3. package/dist/browser/browser/client.js +19 -1
  4. package/dist/browser/browser/client.js.map +1 -1
  5. package/dist/browser/browser/index.d.ts +2 -1
  6. package/dist/browser/browser/index.d.ts.map +1 -1
  7. package/dist/browser/browser/index.js +1 -1
  8. package/dist/browser/browser/index.js.map +1 -1
  9. package/dist/browser/browser/storage.d.ts.map +1 -1
  10. package/dist/browser/browser/storage.js +40 -2
  11. package/dist/browser/browser/storage.js.map +1 -1
  12. package/dist/browser/shared/credentials.d.ts.map +1 -1
  13. package/dist/browser/shared/credentials.js +6 -4
  14. package/dist/browser/shared/credentials.js.map +1 -1
  15. package/dist/browser/shared/database.d.ts +1 -3
  16. package/dist/browser/shared/database.d.ts.map +1 -1
  17. package/dist/browser/shared/dlref.d.ts +0 -3
  18. package/dist/browser/shared/dlref.d.ts.map +1 -1
  19. package/dist/browser/shared/dlref.js +0 -3
  20. package/dist/browser/shared/dlref.js.map +1 -1
  21. package/dist/browser/shared/schema.d.ts.map +1 -1
  22. package/dist/browser/shared/schema.js +20 -31
  23. package/dist/browser/shared/schema.js.map +1 -1
  24. package/dist/browser/shared/token.d.ts.map +1 -1
  25. package/dist/browser/shared/token.js +17 -1
  26. package/dist/browser/shared/token.js.map +1 -1
  27. package/dist/browser/shared/wasm-common.d.ts +12 -0
  28. package/dist/browser/shared/wasm-common.d.ts.map +1 -1
  29. package/dist/browser/shared/wasm-common.js +30 -0
  30. package/dist/browser/shared/wasm-common.js.map +1 -1
  31. package/dist/node/node/client.d.ts +4 -60
  32. package/dist/node/node/client.d.ts.map +1 -1
  33. package/dist/node/node/client.js +185 -130
  34. package/dist/node/node/client.js.map +1 -1
  35. package/dist/node/node/formats/coco.d.ts +0 -38
  36. package/dist/node/node/formats/coco.d.ts.map +1 -1
  37. package/dist/node/node/formats/coco.js +8 -94
  38. package/dist/node/node/formats/coco.js.map +1 -1
  39. package/dist/node/node/formats/coco_panoptic.d.ts.map +1 -1
  40. package/dist/node/node/formats/coco_panoptic.js +0 -1
  41. package/dist/node/node/formats/coco_panoptic.js.map +1 -1
  42. package/dist/node/node/formats/lerobot.d.ts +0 -42
  43. package/dist/node/node/formats/lerobot.d.ts.map +1 -1
  44. package/dist/node/node/formats/lerobot.js +1 -60
  45. package/dist/node/node/formats/lerobot.js.map +1 -1
  46. package/dist/node/node/index.d.ts +2 -1
  47. package/dist/node/node/index.d.ts.map +1 -1
  48. package/dist/node/node/index.js +3 -2
  49. package/dist/node/node/index.js.map +1 -1
  50. package/dist/node/node/normalizers/binary.js +1 -1
  51. package/dist/node/node/normalizers/binary.js.map +1 -1
  52. package/dist/node/node/normalizers/huggingface.d.ts +0 -20
  53. package/dist/node/node/normalizers/huggingface.d.ts.map +1 -1
  54. package/dist/node/node/normalizers/huggingface.js +0 -29
  55. package/dist/node/node/normalizers/huggingface.js.map +1 -1
  56. package/dist/node/node/normalizers/image.js +1 -1
  57. package/dist/node/node/normalizers/image.js.map +1 -1
  58. package/dist/node/node/normalizers/pdf.js +2 -2
  59. package/dist/node/node/normalizers/pdf.js.map +1 -1
  60. package/dist/node/node/normalizers/text.js +1 -1
  61. package/dist/node/node/normalizers/text.js.map +1 -1
  62. package/dist/node/node/normalizers/video.js +2 -2
  63. package/dist/node/node/normalizers/video.js.map +1 -1
  64. package/dist/node/node/storage.d.ts +0 -5
  65. package/dist/node/node/storage.d.ts.map +1 -1
  66. package/dist/node/node/storage.js +27 -141
  67. package/dist/node/node/storage.js.map +1 -1
  68. package/dist/node/node/wasm.d.ts.map +1 -1
  69. package/dist/node/node/wasm.js +1 -2
  70. package/dist/node/node/wasm.js.map +1 -1
  71. package/dist/node/shared/credentials.d.ts.map +1 -1
  72. package/dist/node/shared/credentials.js +6 -4
  73. package/dist/node/shared/credentials.js.map +1 -1
  74. package/dist/node/shared/database.d.ts +1 -3
  75. package/dist/node/shared/database.d.ts.map +1 -1
  76. package/dist/node/shared/dlref.d.ts +0 -3
  77. package/dist/node/shared/dlref.d.ts.map +1 -1
  78. package/dist/node/shared/dlref.js +0 -3
  79. package/dist/node/shared/dlref.js.map +1 -1
  80. package/dist/node/shared/schema.d.ts.map +1 -1
  81. package/dist/node/shared/schema.js +20 -31
  82. package/dist/node/shared/schema.js.map +1 -1
  83. package/dist/node/shared/token.d.ts.map +1 -1
  84. package/dist/node/shared/token.js +17 -1
  85. package/dist/node/shared/token.js.map +1 -1
  86. package/dist/node/shared/wasm-common.d.ts +12 -0
  87. package/dist/node/shared/wasm-common.d.ts.map +1 -1
  88. package/dist/node/shared/wasm-common.js +32 -0
  89. package/dist/node/shared/wasm-common.js.map +1 -1
  90. package/package.json +5 -10
  91. package/wasm/browser/deeplake_browser.js +1 -1
  92. package/wasm/browser/deeplake_browser.wasm +0 -0
  93. package/wasm/node/deeplake_node.js +1 -1
  94. package/wasm/node/deeplake_node.wasm +0 -0
@@ -1,36 +1,4 @@
1
1
  "use strict";
2
- /**
3
- * COCO (Common Objects in Context) detection/captions format normalizer.
4
- *
5
- * Reads a COCO dataset directory and yields column-oriented batches
6
- * suitable for `ManagedClient.ingest()`. Works with both train and val splits.
7
- *
8
- * Expected directory layout:
9
- *
10
- * coco_root/
11
- * ├── train2017/ (or val2017/)
12
- * │ ├── 000000000009.jpg
13
- * │ └── ...
14
- * └── annotations/
15
- * ├── instances_train2017.json
16
- * └── captions_train2017.json [optional]
17
- *
18
- * Columns produced per image (one row per image):
19
- *
20
- * coco_image_id - COCO image ID (int)
21
- * image - Source image file bytes (IMAGE)
22
- * mask - Segmentation mask PNG (SEGMENT_MASK)
23
- * width - Image width in pixels
24
- * height - Image height in pixels
25
- * filename - Original image filename
26
- * captions - JSON-encoded list of caption strings
27
- * annotations - JSON-encoded list of annotation dicts
28
- * categories - JSON-encoded category list (same for all rows)
29
- * num_objects - Number of object annotations for this image
30
- *
31
- * No external dependencies — uses built-in Node.js `zlib` for PNG encoding
32
- * and a pure JS scanline polygon rasterizer for mask rendering.
33
- */
34
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
35
3
  if (k2 === undefined) k2 = k;
36
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -69,7 +37,6 @@ exports.Coco = void 0;
69
37
  const fs = __importStar(require("fs"));
70
38
  const path = __importStar(require("path"));
71
39
  const zlib = __importStar(require("zlib"));
72
- // ---- Format class ----
73
40
  class Coco {
74
41
  imagesDir;
75
42
  batchSize;
@@ -82,17 +49,13 @@ class Coco {
82
49
  this.imagesDir = options.imagesDir;
83
50
  this.batchSize = options.batchSize ?? 100;
84
51
  this.maxImages = options.maxImages ?? null;
85
- // Detect split name from directory (e.g. "train2017", "val2017")
86
52
  this._split = path.basename(this.imagesDir);
87
- // Annotations directory
88
53
  this._annDir =
89
54
  options.annotationsDir ??
90
55
  path.join(path.dirname(this.imagesDir), 'annotations');
91
- // Instances JSON
92
56
  this._instancesJson =
93
57
  options.instancesJson ??
94
58
  path.join(this._annDir, `instances_${this._split}.json`);
95
- // Captions JSON
96
59
  if (options.captionsJson === false) {
97
60
  this._captionsJson = null;
98
61
  }
@@ -128,7 +91,6 @@ class Coco {
128
91
  }
129
92
  const instances = JSON.parse(fs.readFileSync(this._instancesJson, 'utf-8'));
130
93
  const categoriesJson = JSON.stringify(instances.categories ?? []);
131
- // Build lookup: image_id -> list of annotation dicts
132
94
  const annsByImage = new Map();
133
95
  for (const ann of instances.annotations ?? []) {
134
96
  let list = annsByImage.get(ann.image_id);
@@ -138,7 +100,6 @@ class Coco {
138
100
  }
139
101
  list.push(ann);
140
102
  }
141
- // Load captions if available
142
103
  const capsByImage = new Map();
143
104
  if (this._captionsJson && fs.existsSync(this._captionsJson)) {
144
105
  const captionsData = JSON.parse(fs.readFileSync(this._captionsJson, 'utf-8'));
@@ -165,7 +126,6 @@ class Coco {
165
126
  const imgAnns = annsByImage.get(imageId) ?? [];
166
127
  const imgCaps = capsByImage.get(imageId) ?? [];
167
128
  const maskPng = renderMask(imgAnns, h, w);
168
- // Build simplified annotation dicts for JSON column
169
129
  const annDicts = imgAnns.map((a) => ({
170
130
  id: a.id,
171
131
  bbox: a.bbox,
@@ -197,40 +157,26 @@ class Coco {
197
157
  }
198
158
  }
199
159
  exports.Coco = Coco;
200
- // =====================================================================
201
- // Mask rendering — pure JS polygon rasterizer + PNG encoder
202
- // =====================================================================
203
- /**
204
- * Render a combined segmentation mask for one image.
205
- * Each pixel is set to the `category_id` of the last annotation covering it.
206
- * Background = 0. Returns PNG bytes as a Buffer.
207
- */
208
160
  function renderMask(annotations, height, width) {
209
161
  if (height === 0 || width === 0) {
210
162
  return encodePng(Buffer.alloc(0), 0, 0);
211
163
  }
212
- const mask = Buffer.alloc(height * width); // uint8, zero-filled
164
+ const mask = Buffer.alloc(height * width);
213
165
  for (const ann of annotations) {
214
166
  const seg = ann.segmentation;
215
167
  if (!seg)
216
168
  continue;
217
169
  if (Array.isArray(seg)) {
218
- // Polygon format: array of [x1,y1,x2,y2,...] arrays
219
170
  for (const poly of seg) {
220
171
  fillPolygon(mask, width, height, poly, ann.category_id);
221
172
  }
222
173
  }
223
174
  else if (seg.counts != null && seg.size != null) {
224
- // RLE format
225
175
  decodeRleToMask(mask, width, height, seg, ann.category_id);
226
176
  }
227
177
  }
228
178
  return encodePng(mask, width, height);
229
179
  }
230
- /**
231
- * Scanline polygon fill.
232
- * `coords` is a flat array: [x0, y0, x1, y1, ...].
233
- */
234
180
  function fillPolygon(mask, width, height, coords, value) {
235
181
  const n = Math.floor(coords.length / 2);
236
182
  if (n < 3)
@@ -253,14 +199,12 @@ function fillPolygon(mask, width, height, coords, value) {
253
199
  for (let y = scanMin; y <= scanMax; y++) {
254
200
  nodeX.length = 0;
255
201
  const yf = y + 0.5;
256
- // Build sorted list of x-intersections for this scanline
257
202
  for (let i = 0, j = n - 1; i < n; j = i++) {
258
203
  if ((ys[i] <= yf && ys[j] > yf) || (ys[j] <= yf && ys[i] > yf)) {
259
204
  nodeX.push(xs[i] + ((yf - ys[i]) / (ys[j] - ys[i])) * (xs[j] - xs[i]));
260
205
  }
261
206
  }
262
207
  nodeX.sort((a, b) => a - b);
263
- // Fill between pairs
264
208
  for (let i = 0; i < nodeX.length - 1; i += 2) {
265
209
  const xStart = Math.max(0, Math.ceil(nodeX[i]));
266
210
  const xEnd = Math.min(width - 1, Math.floor(nodeX[i + 1]));
@@ -271,31 +215,21 @@ function fillPolygon(mask, width, height, coords, value) {
271
215
  }
272
216
  }
273
217
  }
274
- /**
275
- * Decode COCO RLE (Run-Length Encoding) segmentation to mask.
276
- *
277
- * COCO RLE can be:
278
- * - Uncompressed: { counts: number[], size: [h, w] }
279
- * - Compressed (string): { counts: string, size: [h, w] }
280
- */
281
218
  function decodeRleToMask(mask, width, height, rle, value) {
282
219
  let counts;
283
220
  if (typeof rle.counts === 'string') {
284
- // Compressed RLE — decode the string to run lengths
285
221
  counts = decodeCompressedRle(rle.counts);
286
222
  }
287
223
  else {
288
224
  counts = rle.counts;
289
225
  }
290
- // RLE is column-major (Fortran order) in COCO
291
226
  const rleH = rle.size[0];
292
227
  const rleW = rle.size[1];
293
228
  let pixel = 0;
294
- let on = false; // first run is background (zeros)
229
+ let on = false;
295
230
  for (const count of counts) {
296
231
  if (on) {
297
232
  for (let i = 0; i < count; i++) {
298
- // Convert column-major index to row-major
299
233
  const col = Math.floor(pixel / rleH);
300
234
  const row = pixel % rleH;
301
235
  if (row < height && col < width) {
@@ -310,10 +244,6 @@ function decodeRleToMask(mask, width, height, rle, value) {
310
244
  on = !on;
311
245
  }
312
246
  }
313
- /**
314
- * Decode COCO compressed RLE string to run-length counts array.
315
- * Uses the same encoding as pycocotools maskUtils.
316
- */
317
247
  function decodeCompressedRle(s) {
318
248
  const counts = [];
319
249
  let i = 0;
@@ -328,14 +258,12 @@ function decodeCompressedRle(s) {
328
258
  shift += 5;
329
259
  more = (c & 0x20) !== 0;
330
260
  }
331
- // Zigzag decode
332
261
  if (x & 1) {
333
262
  x = -(x >> 1) - 1;
334
263
  }
335
264
  else {
336
265
  x = x >> 1;
337
266
  }
338
- // Counts are relative after the first
339
267
  if (counts.length > 2) {
340
268
  x += counts[counts.length - 2];
341
269
  }
@@ -343,23 +271,14 @@ function decodeCompressedRle(s) {
343
271
  }
344
272
  return counts;
345
273
  }
346
- // =====================================================================
347
- // Minimal PNG encoder (grayscale 8-bit)
348
- // =====================================================================
349
- /**
350
- * Encode a grayscale 8-bit image as PNG using Node.js built-in zlib.
351
- * No external dependencies required.
352
- */
353
274
  function encodePng(pixels, width, height) {
354
275
  if (width === 0 || height === 0) {
355
- // Return a valid 0x0 PNG
356
276
  return createMinimalPng(0, 0, Buffer.alloc(0));
357
277
  }
358
- // Build raw scanlines: each row is prefixed with filter byte 0 (None)
359
278
  const rawData = Buffer.alloc(height * (1 + width));
360
279
  for (let y = 0; y < height; y++) {
361
280
  const rowOffset = y * (1 + width);
362
- rawData[rowOffset] = 0; // filter: None
281
+ rawData[rowOffset] = 0;
363
282
  pixels.copy(rawData, rowOffset + 1, y * width, (y + 1) * width);
364
283
  }
365
284
  const compressed = zlib.deflateSync(rawData);
@@ -367,15 +286,14 @@ function encodePng(pixels, width, height) {
367
286
  }
368
287
  function createMinimalPng(width, height, compressedData) {
369
288
  const signature = Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]);
370
- // IHDR: width(4) + height(4) + bitDepth(1) + colorType(1) + compression(1) + filter(1) + interlace(1) = 13 bytes
371
289
  const ihdrData = Buffer.alloc(13);
372
290
  ihdrData.writeUInt32BE(width, 0);
373
291
  ihdrData.writeUInt32BE(height, 4);
374
- ihdrData[8] = 8; // bit depth
375
- ihdrData[9] = 0; // color type: grayscale
376
- ihdrData[10] = 0; // compression
377
- ihdrData[11] = 0; // filter
378
- ihdrData[12] = 0; // interlace
292
+ ihdrData[8] = 8;
293
+ ihdrData[9] = 0;
294
+ ihdrData[10] = 0;
295
+ ihdrData[11] = 0;
296
+ ihdrData[12] = 0;
379
297
  const ihdr = pngChunk('IHDR', ihdrData);
380
298
  const idat = pngChunk('IDAT', compressedData);
381
299
  const iend = pngChunk('IEND', Buffer.alloc(0));
@@ -390,7 +308,6 @@ function pngChunk(type, data) {
390
308
  crc.writeUInt32BE(crc32(crcData) >>> 0, 0);
391
309
  return Buffer.concat([length, typeBuffer, data, crc]);
392
310
  }
393
- // CRC-32 lookup table
394
311
  const CRC_TABLE = (() => {
395
312
  const table = new Uint32Array(256);
396
313
  for (let n = 0; n < 256; n++) {
@@ -414,9 +331,6 @@ function crc32(buf) {
414
331
  }
415
332
  return crc ^ 0xffffffff;
416
333
  }
417
- // =====================================================================
418
- // Helpers
419
- // =====================================================================
420
334
  function rowsToBatch(rows) {
421
335
  const keys = Object.keys(rows[0]);
422
336
  const result = {};
@@ -1 +1 @@
1
- {"version":3,"file":"coco.js","sourceRoot":"","sources":["../../../../src/node/formats/coco.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coco.js","sourceRoot":"","sources":["../../../../src/node/formats/coco.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"coco_panoptic.d.ts","sourceRoot":"","sources":["../../../../src/node/formats/coco_panoptic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAqBnE,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAa,YAAW,MAAM;IACzC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,mBAAmB;IAOxC,MAAM,IAAI,SAAS;IAOnB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAOnC,aAAa,IAAI,MAAM,EAAE;IAIxB,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;CA4D/B"}
1
+ {"version":3,"file":"coco_panoptic.d.ts","sourceRoot":"","sources":["../../../../src/node/formats/coco_panoptic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAqBnE,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAa,YAAW,MAAM;IACzC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,mBAAmB;IAOxC,MAAM,IAAI,SAAS;IAOnB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAOnC,aAAa,IAAI,MAAM,EAAE;IAIxB,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;CA2D/B"}
@@ -74,7 +74,6 @@ class CocoPanoptic {
74
74
  }
75
75
  const raw = fs.readFileSync(this.annotationsPath, 'utf-8');
76
76
  const coco = JSON.parse(raw);
77
- // Build lookup: image_id -> annotation
78
77
  const annByImage = new Map();
79
78
  for (const ann of coco.annotations ?? []) {
80
79
  annByImage.set(ann.image_id, ann);
@@ -1 +1 @@
1
- {"version":3,"file":"coco_panoptic.js","sourceRoot":"","sources":["../../../../src/node/formats/coco_panoptic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AA6B7B,MAAa,YAAY;IACf,SAAS,CAAS;IAClB,QAAQ,CAAS;IACjB,eAAe,CAAS;IACxB,SAAS,CAAS;IAE1B,YAAY,OAA4B;QACtC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC;IAC5C,CAAC;IAED,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO;YACL,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,cAAc;SACrB,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,CAAC,SAAS;QACR,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAqB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/C,uCAAuC;QACvC,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;QACrD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YACzC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAE7D,MAAM,KAAK,GAA8B,EAAE,CAAC;QAE5C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAE7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS;YAEtC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YACzD,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACvC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAC3B,CAAC,CAAC,IAAI,CAAC;YAET,KAAK,CAAC,IAAI,CAAC;gBACT,aAAa,EAAE,OAAO;gBACtB,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;gBAC/B,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;gBACzB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;gBAC3B,QAAQ,EAAE,OAAO,CAAC,SAAS;gBAC3B,aAAa,EAAE,GAAG,CAAC,SAAS;gBAC5B,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;gBACtD,UAAU,EAAE,cAAc;aAC3B,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnC,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;gBACzB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AA3FD,oCA2FC;AAED,SAAS,WAAW,CAAC,IAA+B;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"coco_panoptic.js","sourceRoot":"","sources":["../../../../src/node/formats/coco_panoptic.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,7 @@
1
- /**
2
- * LeRobot dataset format classes for DeepLake managed ingestion.
3
- *
4
- * Implements the normalized 3-table design:
5
- * - LeRobotTasks: task_index + task description (from tasks.jsonl)
6
- * - LeRobotEpisodes: episode metadata + 3 camera videos (from episodes.jsonl + mp4s)
7
- * - LeRobotFrames: per-frame state/action scalars (from parquet files)
8
- *
9
- * LeRobotTasks and LeRobotEpisodes use only Node.js built-ins.
10
- * LeRobotFrames requires an optional parquet reader (e.g. `parquetjs`).
11
- */
12
1
  import type { Batch, Format, SchemaMap } from '../../shared/types';
13
2
  export interface LeRobotTasksOptions {
14
- /** Root directory of the LeRobot dataset. */
15
3
  datasetDir: string;
16
4
  }
17
- /**
18
- * Format for LeRobot tasks.jsonl — one row per task.
19
- *
20
- * Columns: task_index (int), task (string)
21
- */
22
5
  export declare class LeRobotTasks implements Format {
23
6
  private tasksFile;
24
7
  constructor(options: LeRobotTasksOptions);
@@ -26,23 +9,10 @@ export declare class LeRobotTasks implements Format {
26
9
  normalize(): Generator<Batch>;
27
10
  }
28
11
  export interface LeRobotFramesOptions {
29
- /** Root directory of the LeRobot dataset. */
30
12
  datasetDir: string;
31
- /** First chunk index (inclusive, default 0). */
32
13
  chunkStart?: number;
33
- /** Last chunk index (inclusive, default 10). */
34
14
  chunkEnd?: number;
35
15
  }
36
- /**
37
- * Format for LeRobot parquet files — one row per frame with unpacked scalars.
38
- *
39
- * Reads parquet files for the specified chunk range and unpacks
40
- * observation.state[8] and action[7] into individual float columns.
41
- *
42
- * Requires a parquet reader. Tries to use `@duckdb/node-bindings` first,
43
- * then falls back to `parquetjs`. If neither is available, throws an error
44
- * with installation instructions.
45
- */
46
16
  export declare class LeRobotFrames implements Format {
47
17
  private datasetDir;
48
18
  private chunkStart;
@@ -52,22 +22,10 @@ export declare class LeRobotFrames implements Format {
52
22
  normalize(): Generator<Batch>;
53
23
  }
54
24
  export interface LeRobotEpisodesOptions {
55
- /** Root directory of the LeRobot dataset. */
56
25
  datasetDir: string;
57
- /** First chunk index (inclusive, default 0). */
58
26
  chunkStart?: number;
59
- /** Last chunk index (inclusive, default 10). */
60
27
  chunkEnd?: number;
61
28
  }
62
- /**
63
- * Format for LeRobot episodes — one row per episode with video data.
64
- *
65
- * Pulls video files lazily per-chunk via git-lfs to manage disk space.
66
- * After processing each chunk's videos, restores LFS pointers.
67
- *
68
- * Columns: episode_index (int), task (str), length (int),
69
- * exterior_1_video (bytes), exterior_2_video (bytes), wrist_video (bytes)
70
- */
71
29
  export declare class LeRobotEpisodes implements Format {
72
30
  private datasetDir;
73
31
  private chunkStart;
@@ -1 +1 @@
1
- {"version":3,"file":"lerobot.d.ts","sourceRoot":"","sources":["../../../../src/node/formats/lerobot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAMnE,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,qBAAa,YAAa,YAAW,MAAM;IACzC,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,mBAAmB;IAIxC,MAAM,IAAI,SAAS;IAIlB,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;CA0B/B;AAkBD,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAc,YAAW,MAAM;IAC1C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,oBAAoB;IAMzC,MAAM,IAAI,SAAS;IAIlB,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;CAgE/B;AAeD,MAAM,WAAW,sBAAsB;IACrC,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,qBAAa,eAAgB,YAAW,MAAM;IAC5C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAAuC;gBAE5C,OAAO,EAAE,sBAAsB;IA8B3C,MAAM,IAAI,SAAS;IAQnB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQlC,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;IAyF9B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,qBAAqB;CAmC9B"}
1
+ {"version":3,"file":"lerobot.d.ts","sourceRoot":"","sources":["../../../../src/node/formats/lerobot.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAMnE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAa,YAAW,MAAM;IACzC,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,mBAAmB;IAIxC,MAAM,IAAI,SAAS;IAIlB,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;CA0B/B;AAkBD,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,aAAc,YAAW,MAAM;IAC1C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,oBAAoB;IAMzC,MAAM,IAAI,SAAS;IAIlB,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;CA8D/B;AAeD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,eAAgB,YAAW,MAAM;IAC5C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAAuC;gBAE5C,OAAO,EAAE,sBAAsB;IA4B3C,MAAM,IAAI,SAAS;IAQnB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQlC,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC;IAiF9B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,qBAAqB;CAmC9B"}
@@ -1,15 +1,4 @@
1
1
  "use strict";
2
- /**
3
- * LeRobot dataset format classes for DeepLake managed ingestion.
4
- *
5
- * Implements the normalized 3-table design:
6
- * - LeRobotTasks: task_index + task description (from tasks.jsonl)
7
- * - LeRobotEpisodes: episode metadata + 3 camera videos (from episodes.jsonl + mp4s)
8
- * - LeRobotFrames: per-frame state/action scalars (from parquet files)
9
- *
10
- * LeRobotTasks and LeRobotEpisodes use only Node.js built-ins.
11
- * LeRobotFrames requires an optional parquet reader (e.g. `parquetjs`).
12
- */
13
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
3
  if (k2 === undefined) k2 = k;
15
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -48,11 +37,6 @@ exports.LeRobotEpisodes = exports.LeRobotFrames = exports.LeRobotTasks = void 0;
48
37
  const fs = __importStar(require("fs"));
49
38
  const path = __importStar(require("path"));
50
39
  const child_process_1 = require("child_process");
51
- /**
52
- * Format for LeRobot tasks.jsonl — one row per task.
53
- *
54
- * Columns: task_index (int), task (string)
55
- */
56
40
  class LeRobotTasks {
57
41
  tasksFile;
58
42
  constructor(options) {
@@ -98,16 +82,6 @@ const ACTION_NAMES = [
98
82
  'action_roll', 'action_pitch', 'action_yaw',
99
83
  'action_gripper',
100
84
  ];
101
- /**
102
- * Format for LeRobot parquet files — one row per frame with unpacked scalars.
103
- *
104
- * Reads parquet files for the specified chunk range and unpacks
105
- * observation.state[8] and action[7] into individual float columns.
106
- *
107
- * Requires a parquet reader. Tries to use `@duckdb/node-bindings` first,
108
- * then falls back to `parquetjs`. If neither is available, throws an error
109
- * with installation instructions.
110
- */
111
85
  class LeRobotFrames {
112
86
  datasetDir;
113
87
  chunkStart;
@@ -148,12 +122,10 @@ class LeRobotFrames {
148
122
  batch['frame_index'].push(row.frame_index);
149
123
  batch['task_index'].push(row.task_index);
150
124
  batch['timestamp'].push(row.timestamp);
151
- // Unpack observation.state[8]
152
125
  const state = row['observation.state'] ?? [];
153
126
  for (let i = 0; i < STATE_NAMES.length; i++) {
154
127
  batch[STATE_NAMES[i]].push(state[i] ?? 0);
155
128
  }
156
- // Unpack action[7]
157
129
  const action = row['action'] ?? [];
158
130
  for (let i = 0; i < ACTION_NAMES.length; i++) {
159
131
  batch[ACTION_NAMES[i]].push(action[i] ?? 0);
@@ -186,15 +158,6 @@ const VIDEO_KEYS = [
186
158
  ];
187
159
  const COL_NAMES = ['exterior_1_video', 'exterior_2_video', 'wrist_video'];
188
160
  const EPISODE_COLUMNS = ['episode_index', 'task', 'length', ...COL_NAMES];
189
- /**
190
- * Format for LeRobot episodes — one row per episode with video data.
191
- *
192
- * Pulls video files lazily per-chunk via git-lfs to manage disk space.
193
- * After processing each chunk's videos, restores LFS pointers.
194
- *
195
- * Columns: episode_index (int), task (str), length (int),
196
- * exterior_1_video (bytes), exterior_2_video (bytes), wrist_video (bytes)
197
- */
198
161
  class LeRobotEpisodes {
199
162
  datasetDir;
200
163
  chunkStart;
@@ -205,7 +168,6 @@ class LeRobotEpisodes {
205
168
  this.datasetDir = options.datasetDir;
206
169
  this.chunkStart = options.chunkStart ?? 0;
207
170
  this.chunkEnd = options.chunkEnd ?? 10;
208
- // Load tasks for denormalization
209
171
  const tasksFile = path.join(this.datasetDir, 'meta', 'tasks.jsonl');
210
172
  this._tasks = new Map();
211
173
  if (fs.existsSync(tasksFile)) {
@@ -217,7 +179,6 @@ class LeRobotEpisodes {
217
179
  this._tasks.set(rec.task_index, rec.task);
218
180
  }
219
181
  }
220
- // Load episodes metadata
221
182
  const episodesFile = path.join(this.datasetDir, 'meta', 'episodes.jsonl');
222
183
  this._episodes = new Map();
223
184
  if (fs.existsSync(episodesFile)) {
@@ -247,12 +208,10 @@ class LeRobotEpisodes {
247
208
  *normalize() {
248
209
  for (let chunkIdx = this.chunkStart; chunkIdx <= this.chunkEnd; chunkIdx++) {
249
210
  const chunk = `chunk-${String(chunkIdx).padStart(3, '0')}`;
250
- // Pull this chunk's videos
251
211
  this._pullChunkVideos(chunkIdx);
252
212
  const chunkDir = path.join(this.datasetDir, 'videos', chunk);
253
213
  if (!fs.existsSync(chunkDir))
254
214
  continue;
255
- // Find episodes from the first camera dir
256
215
  const firstCam = path.join(chunkDir, VIDEO_KEYS[0]);
257
216
  if (!fs.existsSync(firstCam))
258
217
  continue;
@@ -274,10 +233,8 @@ class LeRobotEpisodes {
274
233
  const epMeta = this._episodes.get(epIdx);
275
234
  if (!epMeta)
276
235
  continue;
277
- // Read task text
278
236
  const taskList = epMeta.tasks ?? [];
279
237
  const taskText = taskList.filter(Boolean).join('; ');
280
- // Read all 3 camera videos
281
238
  const videos = [];
282
239
  let skip = false;
283
240
  for (const vkey of VIDEO_KEYS) {
@@ -288,7 +245,6 @@ class LeRobotEpisodes {
288
245
  }
289
246
  const stat = fs.statSync(vpath);
290
247
  if (stat.size < 200) {
291
- // Still an LFS pointer, not real data
292
248
  skip = true;
293
249
  break;
294
250
  }
@@ -304,17 +260,14 @@ class LeRobotEpisodes {
304
260
  }
305
261
  if (batch.episode_index.length >= 50) {
306
262
  yield batch;
307
- // Reset using known columns only.
308
263
  for (const key of EPISODE_COLUMNS) {
309
264
  batch[key] = [];
310
265
  }
311
266
  }
312
267
  }
313
- // Yield remaining
314
268
  if (batch.episode_index.length > 0) {
315
269
  yield batch;
316
270
  }
317
- // Free disk: restore LFS pointers
318
271
  this._restoreChunkPointers(chunkIdx);
319
272
  }
320
273
  }
@@ -328,7 +281,7 @@ class LeRobotEpisodes {
328
281
  });
329
282
  }
330
283
  catch {
331
- // Non-fatal — may not be a git-lfs repo
284
+ // Non-fatal
332
285
  }
333
286
  }
334
287
  _restoreChunkPointers(chunkIdx) {
@@ -369,25 +322,14 @@ exports.LeRobotEpisodes = LeRobotEpisodes;
369
322
  // =====================================================================
370
323
  // Parquet reading helper
371
324
  // =====================================================================
372
- /**
373
- * Read a parquet file and return rows as plain objects.
374
- * Tries `parquetjs` (pure JS). Returns null if no reader is available.
375
- */
376
325
  function readParquetFile(filePath) {
377
- // Try parquetjs (synchronous via parquet-wasm or similar)
378
- // For now, use a simple approach: try to require parquetjs-lite
379
- // which provides a synchronous reader
380
326
  try {
381
- // Dynamic require to avoid hard dependency
382
327
  const { ParquetReader } = require('parquetjs-lite');
383
- // parquetjs is async-only, so we use a sync wrapper approach
384
- // This is a simplified fallback — real usage should use the async API
385
328
  throw new Error('parquetjs requires async reading — use LeRobotFrames with async normalize');
386
329
  }
387
330
  catch {
388
331
  // No parquet reader available
389
332
  }
390
- // Fallback: try reading with duckdb CLI if available
391
333
  try {
392
334
  const result = (0, child_process_1.execFileSync)('duckdb', ['-json', '-c', `SELECT * FROM read_parquet('${filePath}')`], { timeout: 30_000, stdio: ['pipe', 'pipe', 'pipe'], maxBuffer: 100 * 1024 * 1024 });
393
335
  return JSON.parse(result.toString('utf-8'));
@@ -395,7 +337,6 @@ function readParquetFile(filePath) {
395
337
  catch {
396
338
  // duckdb not available
397
339
  }
398
- // Fallback: try python one-liner
399
340
  try {
400
341
  const pyScript = `import pandas,json,sys;df=pandas.read_parquet("${filePath}");print(json.dumps([{k:v if not hasattr(v,'tolist') else v.tolist() for k,v in r.items()} for _,r in df.iterrows()]))`;
401
342
  const result = (0, child_process_1.execFileSync)('python3', ['-c', pyScript], { timeout: 30_000, stdio: ['pipe', 'pipe', 'pipe'], maxBuffer: 100 * 1024 * 1024 });