UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

56 lines (55 loc) 2.69 kB
import "./src-vebZIeLe.js"; import { t as expectDefined } from "./expect-CyE8FADM.js"; import { l as normalizeOptionalString } from "./string-coerce-CIXf7egm.js"; import { n as resolvePluginProvidersCore } from "./providers.runtime-DCovueHC.js"; import { i as runProviderPluginAuthMethod } from "./provider-auth-choice-DsHvi0o6.js"; import { t as sortFlowContributionsByLabel } from "./types-CnTXyUgM.js"; import { n as resolveProviderPluginChoiceCore, r as runProviderModelSelectedHookCore, t as resolveProviderModelPickerEntries } from "./provider-wizard-hG2uUlpf.js"; //#region src/flows/provider-flow.runtime.ts function resolveProviderDocsById(params) { return new Map(resolvePluginProvidersCore({ config: params?.config, workspaceDir: params?.workspaceDir, env: params?.env, mode: "setup" }).filter((provider) => Boolean(normalizeOptionalString(provider.docsPath))).map((provider) => [provider.id, normalizeOptionalString(provider.docsPath)])); } /** Resolves provider model-picker options without exposing contribution metadata. */ function resolveProviderModelPickerFlowEntries(params) { return resolveProviderModelPickerFlowContributions(params).map((contribution) => contribution.option); } /** Resolves provider model-picker contributions with docs metadata for setup UIs. */ function resolveProviderModelPickerFlowContributions(params) { const docsByProvider = resolveProviderDocsById(params ?? {}); return sortFlowContributionsByLabel(resolveProviderModelPickerEntries(params ?? {}).map((entry) => { const providerId = entry.value.startsWith("provider-plugin:") ? expectDefined(entry.value.slice(16).split(":").at(0), "provider id") : entry.value; const docsPath = docsByProvider.get(providerId); return { id: `provider:model-picker:${entry.value}`, kind: "provider", surface: "model-picker", providerId, option: { value: entry.value, label: entry.label, ...entry.hint ? { hint: entry.hint } : {}, ...docsPath ? { docs: { path: docsPath } } : {} }, source: "runtime" }; })); } //#endregion //#region src/commands/model-picker.runtime.ts /** Runtime dependency bundle for provider/model picker flows. */ /** Lazy runtime methods consumed by model picker command flows. */ const modelPickerRuntime = { resolveProviderModelPickerContributions: resolveProviderModelPickerFlowContributions, resolveProviderModelPickerEntries: resolveProviderModelPickerFlowEntries, resolveProviderPluginChoice: resolveProviderPluginChoiceCore, runProviderModelSelectedHook: runProviderModelSelectedHookCore, resolvePluginProviders: resolvePluginProvidersCore, runProviderPluginAuthMethod }; //#endregion export { modelPickerRuntime };