UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

59 lines (58 loc) 2.73 kB
import { l as normalizeOptionalString } from "./string-coerce-CIXf7egm.js"; import { n as normalizeAgentId } from "./agent-id-CeT3w4ap.js"; import { c as classifySessionKeyShape } from "./session-key-BnWWjqNc.js"; import { n as GATEWAY_CLIENT_IDS } from "./client-info-B1bPgeKr.js"; import { t as ErrorCodes } from "./gateway-error-details-w0nAGBBp.js"; import { t as validateAgentIdentityParams } from "./src-BiL5aQto.js"; import { d as errorShape } from "./error-codes-Bo8q2D1o.js"; import { o as resolveAssistantIdentity, r as resolveGatewayAssistantAvatar } from "./assistant-avatar-B0tiesfb.js"; import { n as resolveRequestedSessionAgentId } from "./session-request-agent-CCRSEGCB.js"; import { n as resolvePublicAgentAvatarSource } from "./identity-avatar-BaF1nma_.js"; import { t as assertValidParams } from "./validation-pzrlzFvo.js"; //#region src/gateway/server-methods/agent-identity.ts const agentIdentityGetHandler = ({ params, respond, context, client }) => { if (!assertValidParams(params, validateAgentIdentityParams, "agent.identity.get", respond)) return; const agentIdRaw = normalizeOptionalString(params.agentId) ?? ""; const sessionKeyRaw = normalizeOptionalString(params.sessionKey) ?? ""; const cfg = context.getRuntimeConfig(); let agentId = agentIdRaw ? normalizeAgentId(agentIdRaw) : void 0; if (sessionKeyRaw) { if (classifySessionKeyShape(sessionKeyRaw) === "malformed_agent") { respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `invalid agent.identity.get params: malformed session key "${sessionKeyRaw}"`)); return; } const resolved = resolveRequestedSessionAgentId(cfg, sessionKeyRaw, agentId); if (!resolved.ok) { respond(false, void 0, resolved.error); return; } agentId = resolved.agentId; } else if (!agentId) { const resolved = resolveRequestedSessionAgentId(cfg, "main"); if (!resolved.ok) { respond(false, void 0, resolved.error); return; } agentId = resolved.agentId; } const identity = resolveAssistantIdentity({ cfg, agentId }); const avatarProjection = resolveGatewayAssistantAvatar({ cfg, identity, httpBasePath: client?.connect.client.id === GATEWAY_CLIENT_IDS.CONTROL_UI ? cfg.gateway?.controlUi?.basePath ?? "" : void 0 }); const avatarResolution = avatarProjection.resolution; respond(true, { ...identity, avatar: avatarProjection.avatar, avatarSource: avatarResolution ? resolvePublicAgentAvatarSource(avatarResolution) : void 0, avatarStatus: avatarResolution?.kind, avatarReason: avatarResolution?.kind === "none" ? avatarResolution.reason : void 0 }, void 0); }; const agentIdentityHandlers = { "agent.identity.get": agentIdentityGetHandler }; //#endregion export { agentIdentityHandlers };