@allma/core-sdk
Version:
Core SDK with shared utilities (logging, auth, S3 utils) for building on the Allma serverless AI orchestration platform.
24 lines • 927 B
JavaScript
import { resolveS3Pointer } from './s3Utils.js';
import { isS3OutputPointerWrapper } from '@allma/core-types';
/**
* Recursively traverses an object or array and resolves any S3 pointers it finds.
*/
export async function hydrateInputFromS3Pointers(data, correlationId) {
if (Array.isArray(data)) {
return Promise.all(data.map(item => hydrateInputFromS3Pointers(item, correlationId)));
}
if (isS3OutputPointerWrapper(data)) {
return resolveS3Pointer(data._s3_output_pointer, correlationId);
}
if (data && typeof data === 'object') {
const hydratedObject = {};
for (const key in data) {
if (Object.prototype.hasOwnProperty.call(data, key)) {
hydratedObject[key] = await hydrateInputFromS3Pointers(data[key], correlationId);
}
}
return hydratedObject;
}
return data;
}
//# sourceMappingURL=hydrationUtils.js.map