/** 能力目录 → 引擎工具描述(架构设计 5.1:工具只来自能力目录) */ import type { Capability } from '@aps/provider-sdk'; import type { ToolDescriptor } from './runtime.js'; export function toToolDescriptor(capability: Capability): ToolDescriptor { return { capabilityId: capability.id, // Pi / Codex 的工具名不允许点号,统一换成下划线 toolName: capability.id.replace(/\./g, '_'), description: [capability.description, capability.whenNotToUse ? `(不要用于:${capability.whenNotToUse})` : ''].join(''), parameters: capability.inputSchema, ...(capability.synonyms === undefined ? {} : { synonyms: capability.synonyms }), effect: capability.effect, }; } export function toToolDescriptors(capabilities: Capability[]): ToolDescriptor[] { return capabilities.map(toToolDescriptor); }