feat(registry): update to send fileIds

This commit is contained in:
ItzCrazyKns
2025-12-13 22:21:22 +05:30
parent 40b25a487b
commit 8d471ac40e
2 changed files with 22 additions and 4 deletions

View File

@@ -20,6 +20,7 @@ class ActionRegistry {
static getAvailableActions(config: {
classification: ClassifierOutput;
fileIds: string[];
mode: SearchAgentConfig['mode'];
}): ResearchAction[] {
return Array.from(
@@ -29,6 +30,7 @@ class ActionRegistry {
static getAvailableActionTools(config: {
classification: ClassifierOutput;
fileIds: string[];
mode: SearchAgentConfig['mode'];
}): Tool[] {
const availableActions = this.getAvailableActions(config);
@@ -42,19 +44,26 @@ class ActionRegistry {
static getAvailableActionsDescriptions(config: {
classification: ClassifierOutput;
fileIds: string[];
mode: SearchAgentConfig['mode'];
}): string {
const availableActions = this.getAvailableActions(config);
return availableActions
.map((action) => `<tool name="${action.name}">\n${action.getDescription({ mode: config.mode })}\n</tool>`)
.map(
(action) =>
`<tool name="${action.name}">\n${action.getDescription({ mode: config.mode })}\n</tool>`,
)
.join('\n\n');
}
static async execute(
name: string,
params: any,
additionalConfig: AdditionalConfig & { researchBlockId: string },
additionalConfig: AdditionalConfig & {
researchBlockId: string;
fileIds: string[];
},
) {
const action = this.actions.get(name);
@@ -67,7 +76,10 @@ class ActionRegistry {
static async executeAll(
actions: ToolCall[],
additionalConfig: AdditionalConfig & { researchBlockId: string },
additionalConfig: AdditionalConfig & {
researchBlockId: string;
fileIds: string[];
},
): Promise<ActionOutput[]> {
const results: ActionOutput[] = [];

View File

@@ -8,6 +8,7 @@ export type SearchSources = 'web' | 'discussions' | 'academic';
export type SearchAgentConfig = {
sources: SearchSources[];
fileIds: string[];
llm: BaseLLM<any>;
embedding: BaseEmbedding<any>;
mode: 'speed' | 'balanced' | 'quality';
@@ -102,11 +103,16 @@ export interface ResearchAction<
schema: z.ZodObject<any>;
getToolDescription: (config: { mode: SearchAgentConfig['mode'] }) => string;
getDescription: (config: { mode: SearchAgentConfig['mode'] }) => string;
enabled: (config: { classification: ClassifierOutput, mode: SearchAgentConfig['mode'] }) => boolean;
enabled: (config: {
classification: ClassifierOutput;
fileIds: string[];
mode: SearchAgentConfig['mode'];
}) => boolean;
execute: (
params: z.infer<TSchema>,
additionalConfig: AdditionalConfig & {
researchBlockId: string;
fileIds: string[];
},
) => Promise<ActionOutput>;
}