/** * Capability → tool bindings for `run_mission`. * * Builtins live here once; adapters import `buildMissionBindings()` instead * of triplicating MISSION_BINDINGS. Skill-declared capabilities get a * default tool name (`ros2_`, or `capability.tool` when set) and a * passthrough `buildArgs` that forwards resolved inputs. * * External ROS-node capabilities map to the synthetic tool * `external:` so adapters can dispatch via * `executeExternalCapability` before looking up a real tool. */ import type { Capability } from "./capabilities.js"; import type { CapabilityToolBindings } from "./mission.js"; /** Optional explicit tool name on a capability (skill authors may set this). */ export type CapabilityWithTool = Capability & { tool?: string; }; /** Built-in capability → tool mappings shared by all adapters. */ export declare const BUILTIN_MISSION_BINDINGS: CapabilityToolBindings; /** Synthetic tool prefix for external_ros_node capabilities. */ export declare const EXTERNAL_TOOL_PREFIX = "external:"; export declare function externalToolName(capabilityId: string): string; export declare function isExternalToolName(toolName: string): boolean; export declare function capabilityIdFromExternalTool(toolName: string): string; /** * Default tool name for a skill-declared capability. * Prefer explicit `tool`, then external synthetic name, else `ros2_`. */ export declare function defaultToolForCapability(cap: CapabilityWithTool): string; /** Passthrough: forward resolved inputs as tool args (skill tools). */ export declare function passthroughBuildArgs(inputs: Record): Record; export interface BuildMissionBindingsOptions { /** * Override tool name resolution for a capability id. * Useful when OpenClaw registers a skill tool under a non-default name. */ toolNameResolver?: (cap: Capability) => string | undefined; /** * Extra bindings merged last (win over builtins and auto-derived). */ extra?: CapabilityToolBindings; } /** * Build the full capability → tool map for a mission run. * * Order: builtins → auto-derived from non-builtin capabilities → extra. */ export declare function buildMissionBindings(capabilities: readonly Capability[], options?: BuildMissionBindingsOptions): CapabilityToolBindings; //# sourceMappingURL=mission-bindings.d.ts.map