File size: 722 Bytes
68d7816 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import { createDecorator } from '#/_base/di/instantiation';
import type { ToolDisclosure } from '#/tool/toolContract';
export interface UserToolRegistration {
readonly name: string;
readonly description: string;
readonly parameters: Record<string, unknown>;
readonly disclosure?: ToolDisclosure;
}
export interface IAgentUserToolService {
readonly _serviceBrand: undefined;
list(): readonly UserToolRegistration[];
inheritUserTools(
parent: IAgentUserToolService,
activeToolNames?: readonly string[],
): void;
register(input: UserToolRegistration): void;
unregister(name: string): void;
}
export const IAgentUserToolService = createDecorator<IAgentUserToolService>('agentUserToolService');
|