import { loadConfig, type MemoryBackend } from '@sofagent/core'; export interface DynamicToolDef { name: string; description: string; inputSchema: { type: 'object'; properties: Record; required?: string[]; }; /** 工具执行 handler(转发到后端 / 本地降级) */ handler: (args: Record) => Promise; /** v1.4.0:角色分层标签(可选)——缺省 = 始终暴露(动态工具默认不打标) */ roles?: string[]; } /** 注册一个动态工具(幂等——同名覆盖) */ export declare function registerDynamicTool(def: DynamicToolDef): void; /** 获取动态工具清单(tools/list 合并用) */ export declare function getDynamicTools(): DynamicToolDef[]; /** 按名称查动态工具(tools/call 分发前查) */ export declare function getDynamicTool(name: string): DynamicToolDef | undefined; /** 清空动态工具(测试隔离用) */ export declare function clearDynamicTools(): void; /** * 将 Agent 敏感度映射为后端 ACL。 * * - restricted Agent → restricted(只能拿 restricted 记忆) * - internal Agent → team/agent 级(内部可用团队经验) * - public → 不走记忆后端(返回 'public' 标记) * * @param sensitivity Agent 敏感度 * @param backend 记忆后端配置(含 sensitivity_map) * @returns ACL 值 */ export declare function mapSensitivityToACL(sensitivity: 'public' | 'internal' | 'restricted', backend: MemoryBackend): string; /** * 代理工具调用——转发到后端 endpoint,带 ACL 参数。 * endpoint 不可达 / 转发失败 → 优雅降级(返回错误标记,不 crash)。 * * @param toolName 工具名 * @param args 调用参数 * @param backend 后端配置 * @param agentSensitivity Agent 敏感度 */ export declare function proxyMemoryToolCall(toolName: string, args: unknown, backend: MemoryBackend, agentSensitivity?: 'public' | 'internal' | 'restricted'): Promise; /** * workbuddy 后端代理调用(MA6 降级实现)。 * * ⚠️ 实现前提说明:conversation_search 是 WorkBuddy 平台内置工具,sofagent * 引擎进程无法直接调用——本机无法验证 WorkBuddy 会话通道。v1.3.0 降级为: * - memory_write → 写 .workbuddy/memory/.md 文件(本地可验证) * - conversation_search → 标注「待 v1.3.1」(返回不可用提示,不 crash) * * @param toolName 工具名 * @param args 调用参数 * @param backend 后端配置 */ export declare function proxyWorkBuddyCall(toolName: string, args: unknown, backend: MemoryBackend): Promise; /** * 从 config.yml 读取 memory_backends 段并注册动态工具(MA1)。 * * 规则: * - config.memory_backends 未定义 → 不加载(行为与 v1.2.9 一致) * - enabled=false(缺省)→ 跳过 * - type='mcp':向 endpoint 发 /v3/tools/list 确认可达;不可达 → warn + skip * - type='workbuddy':无需网络,直接注册(MA6 降级路径) * * @param config 可选注入的配置(测试用);缺省走 loadConfig() * @returns 注册的工具名数组(测试断言用) */ export declare function registerMemoryBackends(config?: ReturnType): Promise; //# sourceMappingURL=memory-backend.d.ts.map