UNPKG

@hashgraphonline/standards-agent-kit

Version:

A modular SDK for building on-chain autonomous agents using Hashgraph Online Standards, including HCS-10 for agent discovery and communication. https://hol.org

58 lines (57 loc) 1.83 kB
import { ContentResolverRegistry } from "@hashgraphonline/standards-sdk"; async function resolveContent(input, providedMimeType, providedFileName) { const trimmedInput = input.trim(); const resolver = ContentResolverRegistry.getResolver(); if (!resolver) { return handleDirectContent( trimmedInput, providedMimeType, providedFileName ); } const referenceId = resolver.extractReferenceId(trimmedInput); if (referenceId) { try { const resolution = await resolver.resolveReference(referenceId); return { buffer: resolution.content, mimeType: resolution.metadata?.mimeType || providedMimeType, fileName: resolution.metadata?.fileName || providedFileName, wasReference: true }; } catch (error) { const errorMsg = error instanceof Error ? error.message : "Unknown error resolving reference"; throw new Error(`Reference resolution failed: ${errorMsg}`); } } return handleDirectContent(trimmedInput, providedMimeType, providedFileName); } function handleDirectContent(input, providedMimeType, providedFileName) { const isValidBase64 = /^[A-Za-z0-9+/]*={0,2}$/.test(input); if (isValidBase64) { try { const buffer2 = Buffer.from(input, "base64"); return { buffer: buffer2, mimeType: providedMimeType, fileName: providedFileName, wasReference: false }; } catch (error) { throw new Error( "Failed to decode base64 data. Please ensure the data is properly encoded." ); } } const buffer = Buffer.from(input, "utf8"); return { buffer, mimeType: providedMimeType || "text/plain", fileName: providedFileName, wasReference: false }; } export { resolveContent }; //# sourceMappingURL=standards-agent-kit.es52.js.map