UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

88 lines (87 loc) 4.61 kB
import { c as isRecord } from "./record-coerce-DItp3I4t.js"; import { l as normalizeOptionalString } from "./string-coerce-CIXf7egm.js"; import "./string-coerce-runtime-GQa0ehRA.js"; import { d as markMigrationItemSkipped, l as markMigrationItemConflict, o as createMigrationItem, u as markMigrationItemError } from "./migration-q6QzXKht.js"; //#region extensions/migrate-hermes/items.ts const HERMES_REASON_ALREADY_CONFIGURED = "already configured"; const HERMES_REASON_DEFAULT_MODEL_CONFIGURED = "default model already configured"; const HERMES_REASON_MODEL_PROVIDER_CONFLICT = "model provider config conflict"; const HERMES_REASON_INCLUDE_SECRETS = "auth credential migration not selected"; const HERMES_REASON_AUTH_PROFILE_EXISTS = "auth profile exists"; const HERMES_REASON_CONFIG_RUNTIME_UNAVAILABLE = "config runtime unavailable"; const HERMES_REASON_MISSING_SECRET_METADATA = "missing secret metadata"; const HERMES_REASON_SECRET_NO_LONGER_PRESENT = "secret no longer present"; const HERMES_REASON_AUTH_PROFILE_WRITE_FAILED = "failed to write auth profile"; function createHermesModelItem(params) { const alreadyConfigured = params.currentModel === params.model; const conflict = Boolean(params.currentModel && !params.overwrite && !alreadyConfigured); return createMigrationItem({ id: "config:default-model", kind: "config", action: alreadyConfigured ? "skip" : "update", target: params.targetAgentId ? `agent:${params.targetAgentId}:model` : "agents.defaults.model", status: alreadyConfigured ? "skipped" : conflict ? "conflict" : "planned", reason: alreadyConfigured ? HERMES_REASON_ALREADY_CONFIGURED : conflict ? HERMES_REASON_DEFAULT_MODEL_CONFIGURED : void 0, details: { model: params.model } }); } function readHermesModelDetails(item) { const model = normalizeOptionalString(item.details?.model); return model ? { model } : void 0; } function findHermesModelProviderDependency(items, model) { const separator = model.indexOf("/"); const provider = separator > 0 ? model.slice(0, separator) : ""; if (!provider) return; return items.find((item) => { const value = item.details?.value; return item.id.startsWith("config:model-provider:") && isRecord(value) && Object.hasOwn(value, provider); }); } function createHermesSecretItem(params) { const skipped = !params.includeSecrets; const conflict = Boolean(params.existsAlready && !skipped); return createMigrationItem({ id: params.id, kind: "secret", action: skipped ? "skip" : "create", source: params.source, target: params.target, status: skipped ? "skipped" : conflict ? "conflict" : "planned", sensitive: true, reason: skipped ? HERMES_REASON_INCLUDE_SECRETS : conflict ? HERMES_REASON_AUTH_PROFILE_EXISTS : void 0, details: params.details }); } function readHermesSecretDetails(item) { const envVar = normalizeOptionalString(item.details?.envVar); const provider = normalizeOptionalString(item.details?.provider); const profileId = normalizeOptionalString(item.details?.profileId); if (!provider || !profileId) return; const mode = item.details?.mode === "token" ? "token" : void 0; const sourceKind = normalizeOptionalString(item.details?.sourceKind); const sourceProvider = normalizeOptionalString(item.details?.sourceProvider); const sourceCredentialId = normalizeOptionalString(item.details?.sourceCredentialId); const secretField = normalizeOptionalString(item.details?.secretField); return { ...envVar ? { envVar } : {}, provider, profileId, ...mode ? { mode } : {}, ...sourceKind ? { sourceKind } : {}, ...sourceProvider ? { sourceProvider } : {}, ...sourceCredentialId ? { sourceCredentialId } : {}, ...secretField ? { secretField } : {} }; } function hermesItemConflict(item, reason) { return markMigrationItemConflict(item, reason); } function hermesItemError(item, reason) { return markMigrationItemError(item, reason); } function hermesItemSkipped(item, reason) { return markMigrationItemSkipped(item, reason); } //#endregion export { readHermesSecretDetails as _, HERMES_REASON_DEFAULT_MODEL_CONFIGURED as a, HERMES_REASON_MODEL_PROVIDER_CONFLICT as c, createHermesSecretItem as d, findHermesModelProviderDependency as f, readHermesModelDetails as g, hermesItemSkipped as h, HERMES_REASON_CONFIG_RUNTIME_UNAVAILABLE as i, HERMES_REASON_SECRET_NO_LONGER_PRESENT as l, hermesItemError as m, HERMES_REASON_AUTH_PROFILE_EXISTS as n, HERMES_REASON_INCLUDE_SECRETS as o, hermesItemConflict as p, HERMES_REASON_AUTH_PROFILE_WRITE_FAILED as r, HERMES_REASON_MISSING_SECRET_METADATA as s, HERMES_REASON_ALREADY_CONFIGURED as t, createHermesModelItem as u };