aps-agent/server/agent/tools.ts

20 lines
866 B
TypeScript
Raw Permalink Normal View History

/** 能力目录 → 引擎工具描述(架构设计 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);
}