@elaraai/east-node-io 0.0.1-beta.29 → 0.0.1-beta.30

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.
@@ -199,7 +199,7 @@ export declare const Storage: {
199
199
  * endpoint: variant('none', null),
200
200
  * });
201
201
  *
202
- * $.return(Storage.S3.listObjects(config, prefix, 100n));
202
+ * $.return(Storage.S3.listObjects(config, prefix, 100n, variant('none', null)));
203
203
  * });
204
204
  *
205
205
  * const compiled = East.compileAsync(listFiles.toIR(), Storage.S3.Implementation);
@@ -212,7 +212,7 @@ export declare const Storage: {
212
212
  readonly accessKeyId: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
213
213
  readonly secretAccessKey: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
214
214
  readonly endpoint: import("@elaraai/east").OptionType<import("@elaraai/east").StringType>;
215
- }>, import("@elaraai/east").StringType, import("@elaraai/east").IntegerType], import("@elaraai/east").StructType<{
215
+ }>, import("@elaraai/east").StringType, import("@elaraai/east").IntegerType, import("@elaraai/east").OptionType<import("@elaraai/east").StringType>], import("@elaraai/east").StructType<{
216
216
  readonly objects: import("@elaraai/east").ArrayType<import("@elaraai/east").StructType<{
217
217
  readonly key: import("@elaraai/east").StringType;
218
218
  readonly size: import("@elaraai/east").IntegerType;
@@ -173,7 +173,7 @@ export const Storage = {
173
173
  * endpoint: variant('none', null),
174
174
  * });
175
175
  *
176
- * $.return(Storage.S3.listObjects(config, prefix, 100n));
176
+ * $.return(Storage.S3.listObjects(config, prefix, 100n, variant('none', null)));
177
177
  * });
178
178
  *
179
179
  * const compiled = East.compileAsync(listFiles.toIR(), Storage.S3.Implementation);
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * @packageDocumentation
12
12
  */
13
- import { BlobType, StringType, IntegerType, NullType } from "@elaraai/east";
13
+ import { BlobType, StringType, IntegerType, NullType, OptionType } from "@elaraai/east";
14
14
  import type { PlatformFunction } from "@elaraai/east/internal";
15
15
  /**
16
16
  * Uploads an object to S3.
@@ -65,9 +65,9 @@ import type { PlatformFunction } from "@elaraai/east/internal";
65
65
  export declare const s3_put_object: import("@elaraai/east").AsyncPlatformDefinition<[import("@elaraai/east").StructType<{
66
66
  readonly region: StringType;
67
67
  readonly bucket: StringType;
68
- readonly accessKeyId: import("@elaraai/east").OptionType<StringType>;
69
- readonly secretAccessKey: import("@elaraai/east").OptionType<StringType>;
70
- readonly endpoint: import("@elaraai/east").OptionType<StringType>;
68
+ readonly accessKeyId: OptionType<StringType>;
69
+ readonly secretAccessKey: OptionType<StringType>;
70
+ readonly endpoint: OptionType<StringType>;
71
71
  }>, StringType, BlobType], NullType>;
72
72
  /**
73
73
  * Downloads an object from S3.
@@ -118,9 +118,9 @@ export declare const s3_put_object: import("@elaraai/east").AsyncPlatformDefinit
118
118
  export declare const s3_get_object: import("@elaraai/east").AsyncPlatformDefinition<[import("@elaraai/east").StructType<{
119
119
  readonly region: StringType;
120
120
  readonly bucket: StringType;
121
- readonly accessKeyId: import("@elaraai/east").OptionType<StringType>;
122
- readonly secretAccessKey: import("@elaraai/east").OptionType<StringType>;
123
- readonly endpoint: import("@elaraai/east").OptionType<StringType>;
121
+ readonly accessKeyId: OptionType<StringType>;
122
+ readonly secretAccessKey: OptionType<StringType>;
123
+ readonly endpoint: OptionType<StringType>;
124
124
  }>, StringType], BlobType>;
125
125
  /**
126
126
  * Retrieves object metadata from S3 without downloading the file.
@@ -181,15 +181,15 @@ export declare const s3_get_object: import("@elaraai/east").AsyncPlatformDefinit
181
181
  export declare const s3_head_object: import("@elaraai/east").AsyncPlatformDefinition<[import("@elaraai/east").StructType<{
182
182
  readonly region: StringType;
183
183
  readonly bucket: StringType;
184
- readonly accessKeyId: import("@elaraai/east").OptionType<StringType>;
185
- readonly secretAccessKey: import("@elaraai/east").OptionType<StringType>;
186
- readonly endpoint: import("@elaraai/east").OptionType<StringType>;
184
+ readonly accessKeyId: OptionType<StringType>;
185
+ readonly secretAccessKey: OptionType<StringType>;
186
+ readonly endpoint: OptionType<StringType>;
187
187
  }>, StringType], import("@elaraai/east").StructType<{
188
188
  readonly key: StringType;
189
189
  readonly size: IntegerType;
190
190
  readonly lastModified: import("@elaraai/east").DateTimeType;
191
- readonly contentType: import("@elaraai/east").OptionType<StringType>;
192
- readonly etag: import("@elaraai/east").OptionType<StringType>;
191
+ readonly contentType: OptionType<StringType>;
192
+ readonly etag: OptionType<StringType>;
193
193
  }>>;
194
194
  /**
195
195
  * Deletes an object from S3.
@@ -238,15 +238,16 @@ export declare const s3_head_object: import("@elaraai/east").AsyncPlatformDefini
238
238
  export declare const s3_delete_object: import("@elaraai/east").AsyncPlatformDefinition<[import("@elaraai/east").StructType<{
239
239
  readonly region: StringType;
240
240
  readonly bucket: StringType;
241
- readonly accessKeyId: import("@elaraai/east").OptionType<StringType>;
242
- readonly secretAccessKey: import("@elaraai/east").OptionType<StringType>;
243
- readonly endpoint: import("@elaraai/east").OptionType<StringType>;
241
+ readonly accessKeyId: OptionType<StringType>;
242
+ readonly secretAccessKey: OptionType<StringType>;
243
+ readonly endpoint: OptionType<StringType>;
244
244
  }>, StringType], NullType>;
245
245
  /**
246
246
  * Lists objects in an S3 bucket with a prefix.
247
247
  *
248
248
  * Retrieves metadata for objects matching a prefix, with pagination support.
249
- * Returns up to `maxKeys` objects per request.
249
+ * Returns up to `maxKeys` objects per request. Pass a continuation token
250
+ * from a previous result to fetch the next page.
250
251
  *
251
252
  * This is a platform function for the East language, enabling S3 object storage
252
253
  * operations in East programs running on Node.js.
@@ -254,6 +255,7 @@ export declare const s3_delete_object: import("@elaraai/east").AsyncPlatformDefi
254
255
  * @param config - S3 configuration
255
256
  * @param prefix - Prefix to filter objects (empty string for all objects)
256
257
  * @param maxKeys - Maximum number of objects to return (1-1000)
258
+ * @param continuationToken - Continuation token from a previous list result for pagination (None for first page)
257
259
  * @returns List result with objects and pagination info
258
260
  *
259
261
  * @throws {EastError} When listing fails due to:
@@ -277,8 +279,12 @@ export declare const s3_delete_object: import("@elaraai/east").AsyncPlatformDefi
277
279
  * endpoint: East.none(),
278
280
  * });
279
281
  *
280
- * const result = $.let(Storage.S3.listObjects(config, "reports/", 100n));
281
- * return result.objects;
282
+ * // First page
283
+ * const result = $.let(Storage.S3.listObjects(config, "reports/", 100n, East.none()));
284
+ *
285
+ * // Next page using continuation token
286
+ * const page2 = $.let(Storage.S3.listObjects(config, "reports/", 100n, result.continuationToken));
287
+ * return page2.objects;
282
288
  * });
283
289
  *
284
290
  * const compiled = East.compileAsync(listReports.toIR(), Storage.S3.Implementation);
@@ -287,25 +293,26 @@ export declare const s3_delete_object: import("@elaraai/east").AsyncPlatformDefi
287
293
  *
288
294
  * @remarks
289
295
  * - Returns objects sorted by key (lexicographically)
290
- * - Use continuationToken from result to fetch next page
296
+ * - Pass the `continuationToken` from the result to fetch the next page
297
+ * - When `isTruncated` is false, there are no more pages
291
298
  * - maxKeys is clamped to 1-1000 range
292
299
  */
293
300
  export declare const s3_list_objects: import("@elaraai/east").AsyncPlatformDefinition<[import("@elaraai/east").StructType<{
294
301
  readonly region: StringType;
295
302
  readonly bucket: StringType;
296
- readonly accessKeyId: import("@elaraai/east").OptionType<StringType>;
297
- readonly secretAccessKey: import("@elaraai/east").OptionType<StringType>;
298
- readonly endpoint: import("@elaraai/east").OptionType<StringType>;
299
- }>, StringType, IntegerType], import("@elaraai/east").StructType<{
303
+ readonly accessKeyId: OptionType<StringType>;
304
+ readonly secretAccessKey: OptionType<StringType>;
305
+ readonly endpoint: OptionType<StringType>;
306
+ }>, StringType, IntegerType, OptionType<StringType>], import("@elaraai/east").StructType<{
300
307
  readonly objects: import("@elaraai/east").ArrayType<import("@elaraai/east").StructType<{
301
308
  readonly key: StringType;
302
309
  readonly size: IntegerType;
303
310
  readonly lastModified: import("@elaraai/east").DateTimeType;
304
- readonly contentType: import("@elaraai/east").OptionType<StringType>;
305
- readonly etag: import("@elaraai/east").OptionType<StringType>;
311
+ readonly contentType: OptionType<StringType>;
312
+ readonly etag: OptionType<StringType>;
306
313
  }>>;
307
314
  readonly isTruncated: import("@elaraai/east").BooleanType;
308
- readonly continuationToken: import("@elaraai/east").OptionType<StringType>;
315
+ readonly continuationToken: OptionType<StringType>;
309
316
  }>>;
310
317
  /**
311
318
  * Generates a presigned URL for temporary access to an S3 object.
@@ -359,9 +366,9 @@ export declare const s3_list_objects: import("@elaraai/east").AsyncPlatformDefin
359
366
  export declare const s3_presign_url: import("@elaraai/east").AsyncPlatformDefinition<[import("@elaraai/east").StructType<{
360
367
  readonly region: StringType;
361
368
  readonly bucket: StringType;
362
- readonly accessKeyId: import("@elaraai/east").OptionType<StringType>;
363
- readonly secretAccessKey: import("@elaraai/east").OptionType<StringType>;
364
- readonly endpoint: import("@elaraai/east").OptionType<StringType>;
369
+ readonly accessKeyId: OptionType<StringType>;
370
+ readonly secretAccessKey: OptionType<StringType>;
371
+ readonly endpoint: OptionType<StringType>;
365
372
  }>, StringType, IntegerType], StringType>;
366
373
  /**
367
374
  * Node.js implementation of S3 platform functions.
@@ -1 +1 @@
1
- {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../src/storage/s3.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAQ,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAW,MAAM,eAAe,CAAC;AAE3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AA8C/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,aAAa;;;;;;oCAAsF,CAAC;AAEjH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,aAAa;;;;;;0BAA4E,CAAC;AACvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;GAAyF,CAAC;AAErH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,gBAAgB;;;;;;0BAA+E,CAAC;AAE7G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;GAAmG,CAAC;AAEhI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,cAAc;;;;;;yCAA4F,CAAC;AAExH;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,gBAAgB,EA0LpC,CAAC"}
1
+ {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../src/storage/s3.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAQ,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAW,MAAM,eAAe,CAAC;AAEvG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AA+C/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,aAAa;;;;;;oCAAsF,CAAC;AAEjH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,aAAa;;;;;;0BAA4E,CAAC;AACvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;GAAyF,CAAC;AAErH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,gBAAgB;;;;;;0BAA+E,CAAC;AAE7G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;GAA2H,CAAC;AAExJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,cAAc;;;;;;yCAA4F,CAAC;AAExH;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,gBAAgB,EA8LpC,CAAC"}
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * @packageDocumentation
12
12
  */
13
- import { East, BlobType, StringType, IntegerType, NullType, variant } from "@elaraai/east";
13
+ import { East, BlobType, StringType, IntegerType, NullType, OptionType, variant } from "@elaraai/east";
14
14
  import { EastError } from "@elaraai/east/internal";
15
15
  import { S3Client, PutObjectCommand, GetObjectCommand, DeleteObjectCommand, ListObjectsV2Command, HeadObjectCommand, } from "@aws-sdk/client-s3";
16
16
  import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
@@ -245,7 +245,8 @@ export const s3_delete_object = East.asyncPlatform("s3_delete_object", [S3Config
245
245
  * Lists objects in an S3 bucket with a prefix.
246
246
  *
247
247
  * Retrieves metadata for objects matching a prefix, with pagination support.
248
- * Returns up to `maxKeys` objects per request.
248
+ * Returns up to `maxKeys` objects per request. Pass a continuation token
249
+ * from a previous result to fetch the next page.
249
250
  *
250
251
  * This is a platform function for the East language, enabling S3 object storage
251
252
  * operations in East programs running on Node.js.
@@ -253,6 +254,7 @@ export const s3_delete_object = East.asyncPlatform("s3_delete_object", [S3Config
253
254
  * @param config - S3 configuration
254
255
  * @param prefix - Prefix to filter objects (empty string for all objects)
255
256
  * @param maxKeys - Maximum number of objects to return (1-1000)
257
+ * @param continuationToken - Continuation token from a previous list result for pagination (None for first page)
256
258
  * @returns List result with objects and pagination info
257
259
  *
258
260
  * @throws {EastError} When listing fails due to:
@@ -276,8 +278,12 @@ export const s3_delete_object = East.asyncPlatform("s3_delete_object", [S3Config
276
278
  * endpoint: East.none(),
277
279
  * });
278
280
  *
279
- * const result = $.let(Storage.S3.listObjects(config, "reports/", 100n));
280
- * return result.objects;
281
+ * // First page
282
+ * const result = $.let(Storage.S3.listObjects(config, "reports/", 100n, East.none()));
283
+ *
284
+ * // Next page using continuation token
285
+ * const page2 = $.let(Storage.S3.listObjects(config, "reports/", 100n, result.continuationToken));
286
+ * return page2.objects;
281
287
  * });
282
288
  *
283
289
  * const compiled = East.compileAsync(listReports.toIR(), Storage.S3.Implementation);
@@ -286,10 +292,11 @@ export const s3_delete_object = East.asyncPlatform("s3_delete_object", [S3Config
286
292
  *
287
293
  * @remarks
288
294
  * - Returns objects sorted by key (lexicographically)
289
- * - Use continuationToken from result to fetch next page
295
+ * - Pass the `continuationToken` from the result to fetch the next page
296
+ * - When `isTruncated` is false, there are no more pages
290
297
  * - maxKeys is clamped to 1-1000 range
291
298
  */
292
- export const s3_list_objects = East.asyncPlatform("s3_list_objects", [S3ConfigType, StringType, IntegerType], S3ListResultType);
299
+ export const s3_list_objects = East.asyncPlatform("s3_list_objects", [S3ConfigType, StringType, IntegerType, OptionType(StringType)], S3ListResultType);
293
300
  /**
294
301
  * Generates a presigned URL for temporary access to an S3 object.
295
302
  *
@@ -438,17 +445,19 @@ export const S3Impl = [
438
445
  });
439
446
  }
440
447
  }),
441
- s3_list_objects.implement(async (config, prefix, maxKeys) => {
448
+ s3_list_objects.implement(async (config, prefix, maxKeys, continuationToken) => {
442
449
  try {
443
450
  const client = createS3Client(config);
444
451
  // Clamp maxKeys to valid range (1-1000)
445
452
  const maxKeysNum = Number(maxKeys);
446
453
  const clampedMaxKeys = Math.max(1, Math.min(1000, maxKeysNum));
447
- const command = new ListObjectsV2Command({
454
+ const commandInput = {
448
455
  Bucket: config.bucket,
449
456
  Prefix: prefix,
450
457
  MaxKeys: clampedMaxKeys,
451
- });
458
+ ContinuationToken: continuationToken.type === 'some' ? continuationToken.value : undefined,
459
+ };
460
+ const command = new ListObjectsV2Command(commandInput);
452
461
  const response = await client.send(command);
453
462
  // Convert S3 objects to East metadata format
454
463
  // Note: ContentType is not part of _Object in ListObjectsV2, only in HeadObject/GetObject
@@ -1 +1 @@
1
- {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../src/storage/s3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../src/storage/s3.ts"],"names":[],"mappings":"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"}