File size: 961 Bytes
fc93158 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import type { OpenClawConfig } from "./config.js";
import type { AgentAcpBinding, AgentBinding, AgentRouteBinding } from "./types.agents.js";
function normalizeBindingType(binding: AgentBinding): "route" | "acp" {
return binding.type === "acp" ? "acp" : "route";
}
export function isRouteBinding(binding: AgentBinding): binding is AgentRouteBinding {
return normalizeBindingType(binding) === "route";
}
export function isAcpBinding(binding: AgentBinding): binding is AgentAcpBinding {
return normalizeBindingType(binding) === "acp";
}
export function listConfiguredBindings(cfg: OpenClawConfig): AgentBinding[] {
return Array.isArray(cfg.bindings) ? cfg.bindings : [];
}
export function listRouteBindings(cfg: OpenClawConfig): AgentRouteBinding[] {
return listConfiguredBindings(cfg).filter(isRouteBinding);
}
export function listAcpBindings(cfg: OpenClawConfig): AgentAcpBinding[] {
return listConfiguredBindings(cfg).filter(isAcpBinding);
}
|