UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

43 lines (42 loc) • 2.45 kB
import { r as getRuntimeConfig } from "./io.runtime-FunTy0y1.mjs"; import "./config-B-SAEPyK.mjs"; import { n as resolveRequestedSessionAgentId } from "./session-request-agent-D8Xj-iBG.mjs"; import { r as parseInboundMediaUri } from "./inbound-media-uri-Bc4RWtcM.mjs"; import { u as readMediaBuffer } from "./store-B9-NomZN.mjs"; import "./media-reference-Dfnbn2bP.mjs"; import { i as loadGatewaySessionEntryReadOnly } from "./session-utils-store-CA6jfef8.mjs"; import "./session-utils-DrY1lc9W.mjs"; import { l as readManagedOutgoingImageThumbnail, s as parseManagedOutgoingRoute } from "./managed-image-attachments-bqFcPGbP.mjs"; import { n as MANAGED_OUTGOING_IMAGE_ARTIFACT_ID_PREFIX } from "./managed-outgoing-artifact-id-D000BooM.mjs"; import { n as decodeTuiImageData, r as prepareTuiImage, t as TUI_IMAGE_MAX_BYTES } from "./tui-image-data-D9fCigiH.mjs"; //#region src/tui/embedded-image-loader.ts async function loadEmbeddedImage(request) { const { signal } = request; signal.throwIfAborted(); const inline = decodeTuiImageData(request.source); if (inline) return await prepareTuiImage(inline, signal); const owner = resolveRequestedSessionAgentId(getRuntimeConfig(), request.sessionKey, request.agentId); if (!owner.ok) throw new Error(owner.error.message); const { canonicalKey, agentId, entry } = loadGatewaySessionEntryReadOnly(request.sessionKey, { agentId: owner.agentId }); if (!entry?.sessionId) throw new Error("Image session is unavailable"); const inbound = parseInboundMediaUri(request.source); if (inbound) { const { buffer } = await readMediaBuffer(inbound.id, "inbound", TUI_IMAGE_MAX_BYTES); return await prepareTuiImage(buffer, signal); } const managed = request.source.startsWith("/api/chat/media/outgoing/") ? parseManagedOutgoingRoute(request.source) : null; if (!managed || managed.sessionKey !== canonicalKey) throw new Error("Image source is not managed by this session"); const artifactId = `${MANAGED_OUTGOING_IMAGE_ARTIFACT_ID_PREFIX}${managed.attachmentId}`; if (request.artifactId && request.artifactId !== artifactId) throw new Error("Image artifact does not match its source"); const buffer = await readManagedOutgoingImageThumbnail({ sessionKey: canonicalKey, agentId, artifactId, maxBytes: TUI_IMAGE_MAX_BYTES, signal }); if (!buffer) throw new Error("Image artifact is unavailable"); return await prepareTuiImage(buffer, signal); } //#endregion export { loadEmbeddedImage };