@allma/core-sdk 1.0.8 → 1.0.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"hydrationUtils.d.ts","sourceRoot":"","sources":["../src/hydrationUtils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAiBhG"}
1
+ {"version":3,"file":"hydrationUtils.d.ts","sourceRoot":"","sources":["../src/hydrationUtils.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAkChG"}
@@ -8,7 +8,22 @@ export async function hydrateInputFromS3Pointers(data, correlationId) {
8
8
  return Promise.all(data.map(item => hydrateInputFromS3Pointers(item, correlationId)));
9
9
  }
10
10
  if (isS3OutputPointerWrapper(data)) {
11
- return resolveS3Pointer(data._s3_output_pointer, correlationId);
11
+ // Core engine operations using hydration inherently need full data without size limits
12
+ const resolvedData = await resolveS3Pointer(data._s3_output_pointer, correlationId);
13
+ const { _s3_output_pointer, ...otherKeys } = data;
14
+ let mergedData = resolvedData;
15
+ if (Object.keys(otherKeys).length > 0) {
16
+ // Hydrate the other keys just in case they contain nested pointers,
17
+ // but AVOID recursing into the potentially massive resolved S3 data.
18
+ const hydratedOtherKeys = await hydrateInputFromS3Pointers(otherKeys, correlationId);
19
+ if (typeof resolvedData === 'object' && resolvedData !== null && !Array.isArray(resolvedData)) {
20
+ mergedData = { ...resolvedData, ...hydratedOtherKeys };
21
+ }
22
+ else {
23
+ mergedData = { content: resolvedData, ...hydratedOtherKeys };
24
+ }
25
+ }
26
+ return mergedData;
12
27
  }
13
28
  if (data && typeof data === 'object') {
14
29
  const hydratedObject = {};
@@ -1 +1 @@
1
- {"version":3,"file":"hydrationUtils.js","sourceRoot":"","sources":["../src/hydrationUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAAS,EAAE,aAAsB;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,cAAc,GAAwB,EAAE,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACpD,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"hydrationUtils.js","sourceRoot":"","sources":["../src/hydrationUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAAS,EAAE,aAAsB;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,wFAAwF;QACxF,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QACpF,MAAM,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QAElD,IAAI,UAAU,GAAG,YAAY,CAAC;QAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,qEAAqE;YACrE,qEAAqE;YACrE,MAAM,iBAAiB,GAAG,MAAM,0BAA0B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAErF,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5F,UAAU,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,iBAAiB,EAAE,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACJ,UAAU,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,iBAAiB,EAAE,CAAC;YACjE,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,cAAc,GAAwB,EAAE,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACpD,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,4 +9,5 @@ export * from './tokenEstimator.js';
9
9
  export * from './storageUtils.js';
10
10
  export * from './objectUtils.js';
11
11
  export * from './config-validator.js';
12
+ export * from './objectUtils.js';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -9,4 +9,5 @@ export * from './tokenEstimator.js';
9
9
  export * from './storageUtils.js';
10
10
  export * from './objectUtils.js';
11
11
  export * from './config-validator.js';
12
+ export * from './objectUtils.js';
12
13
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC"}
@@ -10,4 +10,5 @@ export declare function isObject(item: any): item is Record<string, any>;
10
10
  * @returns A new object with the merged properties.
11
11
  */
12
12
  export declare function deepMerge<T extends Record<string, any>>(target: T, source: Record<string, any>): T;
13
+ export declare function unwrapConfidenceTrackedValues(payload: Record<string, any>): Record<string, any>;
13
14
  //# sourceMappingURL=objectUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"objectUtils.d.ts","sourceRoot":"","sources":["../src/objectUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAE/D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAyBlG"}
1
+ {"version":3,"file":"objectUtils.d.ts","sourceRoot":"","sources":["../src/objectUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAE/D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAyBlG;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAa/F"}
@@ -35,4 +35,19 @@ export function deepMerge(target, source) {
35
35
  }
36
36
  return output;
37
37
  }
38
+ export function unwrapConfidenceTrackedValues(payload) {
39
+ const newPayload = {};
40
+ for (const key in payload) {
41
+ if (Object.prototype.hasOwnProperty.call(payload, key)) {
42
+ const value = payload[key];
43
+ if (value && typeof value === 'object' && 'value' in value) {
44
+ newPayload[key] = value.value;
45
+ }
46
+ else {
47
+ newPayload[key] = value;
48
+ }
49
+ }
50
+ }
51
+ return newPayload;
52
+ }
38
53
  //# sourceMappingURL=objectUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"objectUtils.js","sourceRoot":"","sources":["../src/objectUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAS;IAC9B,OAAO,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAgC,MAAS,EAAE,MAA2B;IAC3F,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAEhC,+DAA+D;YAC/D,yEAAyE;YACzE,6DAA6D;YAC7D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC5B,SAAS;YACb,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAEhC,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjD,sCAAsC;gBACrC,MAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACJ,mFAAmF;gBAClF,MAAc,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;YACvC,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"objectUtils.js","sourceRoot":"","sources":["../src/objectUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAS;IAC9B,OAAO,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAgC,MAAS,EAAE,MAA2B;IAC3F,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAEhC,+DAA+D;YAC/D,yEAAyE;YACzE,6DAA6D;YAC7D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC5B,SAAS;YACb,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAEhC,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjD,sCAAsC;gBACrC,MAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACJ,mFAAmF;gBAClF,MAAc,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;YACvC,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAA4B;IACxE,MAAM,UAAU,GAAwB,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;gBAC3D,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
package/dist/s3Utils.d.ts CHANGED
@@ -2,10 +2,10 @@ import type { S3OutputPointerWrapper, S3Pointer } from '@allma/core-types';
2
2
  /**
3
3
  * Fetches the actual data from an S3 pointer.
4
4
  * It inspects the S3 object's Content-Type to determine how to process the data.
5
- * - For text-based content (text/*, application/json), it returns a string or a parsed JSON object.
6
- * - For binary content, it returns a Base64 encoded string.
5
+ * If the object exceeds 4MB and skipSizeLimit is false, it returns a presigned URL.
6
+ * Defaults skipSizeLimit to true, as most calls are internal engine hydration. UI endpoints must explicitly pass false.
7
7
  */
8
- export declare function resolveS3Pointer(s3Pointer: S3Pointer, correlationId?: string): Promise<any>;
8
+ export declare function resolveS3Pointer(s3Pointer: S3Pointer, correlationId?: string, skipSizeLimit?: boolean): Promise<any>;
9
9
  /**
10
10
  * Checks the size of a payload and offloads it to S3 if it exceeds the defined threshold.
11
11
  * This is a generic utility for any Lambda to use for its return payload.
@@ -21,13 +21,6 @@ export declare function offloadIfLarge(payload: Record<string, any> | undefined,
21
21
  /**
22
22
  * Recursively traverses a data structure (object or array) and offloads any field
23
23
  * whose value exceeds a size threshold to S3, replacing it with an S3 pointer.
24
- *
25
- * @param data The data structure to process.
26
- * @param bucketName The S3 bucket to upload large fields to.
27
- * @param keyPrefix A prefix for generating S3 keys (e.g., 'log_artifacts/exec-id/step-id').
28
- * @param correlationId For logging.
29
- * @param thresholdBytes The size in bytes above which a field's value is offloaded.
30
- * @returns A new data structure with large fields replaced by S3 pointers.
31
24
  */
32
25
  export declare function recursivelyOffloadLargeFields(data: any, bucketName: string, keyPrefix: string, correlationId: string, thresholdBytes: number): Promise<any>;
33
26
  //# sourceMappingURL=s3Utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"s3Utils.d.ts","sourceRoot":"","sources":["../src/s3Utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAa3E;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAoCjG;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EACxC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,cAAc,GAAE,MAAwC,GACzD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,sBAAsB,GAAG,SAAS,CAAC,CAgCnE;AAGD;;;;;;;;;;GAUG;AACH,wBAAsB,6BAA6B,CAC/C,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,GAAG,CAAC,CAqFd"}
1
+ {"version":3,"file":"s3Utils.d.ts","sourceRoot":"","sources":["../src/s3Utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAc3E;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,GAAE,OAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CA+DhI;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EACxC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,cAAc,GAAE,MAAwC,GACzD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,sBAAsB,GAAG,SAAS,CAAC,CAuCnE;AAGD;;;GAGG;AACH,wBAAsB,6BAA6B,CAC/C,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACvB,OAAO,CAAC,GAAG,CAAC,CAqFd"}
package/dist/s3Utils.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import { S3Client, GetObjectCommand, PutObjectCommand } from '@aws-sdk/client-s3';
2
+ import { getSignedUrl } from "@aws-sdk/s3-request-presigner";
2
3
  import { ENV_VAR_NAMES, isS3OutputPointerWrapper } from '@allma/core-types';
3
4
  import { log_info, log_error, log_warn, log_debug } from "./logger.js";
4
5
  import { isObject } from './objectUtils.js';
5
- const s3Client = new S3Client({});
6
+ // Configure S3 client with adaptive retry mode to gracefully handle rate limit exhaustion (429/503 Slow Down)
7
+ const s3Client = new S3Client({ maxAttempts: 10, retryMode: 'adaptive' });
6
8
  const MAX_CONTEXT_DATA_SIZE_BYTES_DEFAULT = 10 * 1024; // 10KB default
7
9
  const PAYLOAD_OFFLOAD_THRESHOLD_BYTES = process.env[ENV_VAR_NAMES.MAX_CONTEXT_DATA_SIZE_BYTES]
8
10
  ? parseInt(process.env[ENV_VAR_NAMES.MAX_CONTEXT_DATA_SIZE_BYTES] || '', 10)
@@ -10,25 +12,46 @@ const PAYLOAD_OFFLOAD_THRESHOLD_BYTES = process.env[ENV_VAR_NAMES.MAX_CONTEXT_DA
10
12
  /**
11
13
  * Fetches the actual data from an S3 pointer.
12
14
  * It inspects the S3 object's Content-Type to determine how to process the data.
13
- * - For text-based content (text/*, application/json), it returns a string or a parsed JSON object.
14
- * - For binary content, it returns a Base64 encoded string.
15
+ * If the object exceeds 4MB and skipSizeLimit is false, it returns a presigned URL.
16
+ * Defaults skipSizeLimit to true, as most calls are internal engine hydration. UI endpoints must explicitly pass false.
15
17
  */
16
- export async function resolveS3Pointer(s3Pointer, correlationId) {
18
+ export async function resolveS3Pointer(s3Pointer, correlationId, skipSizeLimit = true) {
17
19
  log_info('Resolving S3 data pointer', { s3Pointer }, correlationId);
18
20
  try {
19
21
  const command = new GetObjectCommand({
20
22
  Bucket: s3Pointer.bucket,
21
23
  Key: s3Pointer.key,
22
24
  });
23
- const { Body, ContentType } = await s3Client.send(command);
24
- if (Body) {
25
- const contentType = ContentType || 'application/octet-stream';
25
+ const response = await s3Client.send(command);
26
+ if (response.Body) {
27
+ const contentLength = response.ContentLength || 0;
28
+ const INLINE_HYDRATION_LIMIT = 4 * 1024 * 1024; // 4MB safe inline hydration limit
29
+ if (!skipSizeLimit && contentLength > INLINE_HYDRATION_LIMIT) {
30
+ log_info(`S3 object is too large (${contentLength} bytes) for inline hydration. Generating presigned URL.`, { s3Pointer }, correlationId);
31
+ // Properly release/destroy the stream so we don't leak memory or connections
32
+ if (typeof response.Body.destroy === 'function') {
33
+ response.Body.destroy();
34
+ }
35
+ const presignCommand = new GetObjectCommand({
36
+ Bucket: s3Pointer.bucket,
37
+ Key: s3Pointer.key,
38
+ });
39
+ const signedUrl = await getSignedUrl(s3Client, presignCommand, { expiresIn: 3600 }); // 1 hour
40
+ return {
41
+ _is_large_s3_payload: true,
42
+ s3Pointer,
43
+ sizeBytes: contentLength,
44
+ contentType: response.ContentType,
45
+ presignedUrl: signedUrl,
46
+ message: "Payload is too large to display inline. Use the provided link to view or download it securely."
47
+ };
48
+ }
49
+ const contentType = response.ContentType || 'application/octet-stream';
26
50
  const isTextContent = contentType.startsWith('text/') || contentType.includes('json') || contentType.includes('xml');
27
51
  if (isTextContent) {
28
- const content = await Body.transformToString();
52
+ const content = await response.Body.transformToString();
29
53
  try {
30
54
  // This handles cases where the S3 object is a JSON document
31
- // (e.g., a large context object, or an offloaded JSON API response)
32
55
  return JSON.parse(content);
33
56
  }
34
57
  catch (jsonError) {
@@ -40,7 +63,7 @@ export async function resolveS3Pointer(s3Pointer, correlationId) {
40
63
  else {
41
64
  // This handles binary files (images, PDFs, Excel files, etc.)
42
65
  log_debug('S3 content is binary, returning as base64 encoded string.', { key: s3Pointer.key, contentType }, correlationId);
43
- const byteArray = await Body.transformToByteArray();
66
+ const byteArray = await response.Body.transformToByteArray();
44
67
  return Buffer.from(byteArray).toString('base64');
45
68
  }
46
69
  }
@@ -65,6 +88,12 @@ export async function resolveS3Pointer(s3Pointer, correlationId) {
65
88
  export async function offloadIfLarge(payload, bucketName, keyPrefix, correlationId, thresholdBytes = PAYLOAD_OFFLOAD_THRESHOLD_BYTES) {
66
89
  if (!payload)
67
90
  return undefined;
91
+ // Add a guard to prevent re-offloading an object that is already a pointer.
92
+ // This stops the creation of nested `_s3_output_pointer` objects.
93
+ if (isS3OutputPointerWrapper(payload)) {
94
+ log_debug('Payload is already an S3 output pointer. Skipping offload check.', { keyPrefix }, correlationId);
95
+ return payload;
96
+ }
68
97
  try {
69
98
  const payloadString = JSON.stringify(payload);
70
99
  const payloadSize = Buffer.byteLength(payloadString, 'utf-8');
@@ -92,13 +121,6 @@ export async function offloadIfLarge(payload, bucketName, keyPrefix, correlation
92
121
  /**
93
122
  * Recursively traverses a data structure (object or array) and offloads any field
94
123
  * whose value exceeds a size threshold to S3, replacing it with an S3 pointer.
95
- *
96
- * @param data The data structure to process.
97
- * @param bucketName The S3 bucket to upload large fields to.
98
- * @param keyPrefix A prefix for generating S3 keys (e.g., 'log_artifacts/exec-id/step-id').
99
- * @param correlationId For logging.
100
- * @param thresholdBytes The size in bytes above which a field's value is offloaded.
101
- * @returns A new data structure with large fields replaced by S3 pointers.
102
124
  */
103
125
  export async function recursivelyOffloadLargeFields(data, bucketName, keyPrefix, correlationId, thresholdBytes) {
104
126
  if (Array.isArray(data)) {
@@ -1 +1 @@
1
- {"version":3,"file":"s3Utils.js","sourceRoot":"","sources":["../src/s3Utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3Utils.js","sourceRoot":"","sources":["../src/s3Utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@allma/core-sdk",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "Core SDK with shared utilities (logging, auth, S3 utils) for building on the Allma serverless AI orchestration platform.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -34,7 +34,7 @@
34
34
  "access": "public"
35
35
  },
36
36
  "dependencies": {
37
- "@allma/core-types": "^1.0.17",
37
+ "@allma/core-types": "^1.1.2",
38
38
  "@aws-sdk/client-s3": "^3.500.0",
39
39
  "@aws-sdk/client-secrets-manager": "^3.500.0",
40
40
  "@aws-sdk/client-sns": "^3.500.0",
@@ -42,6 +42,7 @@
42
42
  "@aws-sdk/client-ssm": "^3.500.0",
43
43
  "@aws-sdk/client-sfn": "^3.500.0",
44
44
  "@aws-sdk/lib-dynamodb": "^3.500.0",
45
+ "@aws-sdk/s3-request-presigner": "^3.500.0",
45
46
  "js-tiktoken": "^1.0.12",
46
47
  "jsonpath-plus": "^9.0.0",
47
48
  "jsonrepair": "^3.8.0"
@@ -54,4 +55,4 @@
54
55
  "peerDependencies": {
55
56
  "zod": "^3.22.4"
56
57
  }
57
- }
58
+ }