🧭 fix: Preserve Resend Files for Subagents (#13030)

This commit is contained in:
Danny Avila 2026-05-08 17:21:52 -04:00 committed by GitHub
parent a107520109
commit 22890771cf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 26 additions and 21 deletions

View file

@ -579,24 +579,19 @@ const initializeClient = async ({ req, res, signal, endpointOption }) => {
defaultActiveOnShare,
},
{
getAgent: db.getAgent,
checkPermission,
logViolation,
db: {
getFiles: db.getFiles,
getUserKey: db.getUserKey,
getMessages: db.getMessages,
getConvoFiles: db.getConvoFiles,
updateFilesUsage: db.updateFilesUsage,
getUserKeyValues: db.getUserKeyValues,
getUserCodeFiles: db.getUserCodeFiles,
getToolFilesByIds: db.getToolFilesByIds,
getCodeGeneratedFiles: db.getCodeGeneratedFiles,
filterFilesByAgentAccess,
listSkillsByAccess: db.listSkillsByAccess,
listAlwaysApplySkills: db.listAlwaysApplySkills,
getSkillByName: db.getSkillByName,
},
getFiles: db.getFiles,
getUserKey: db.getUserKey,
getMessages: db.getMessages,
getConvoFiles: db.getConvoFiles,
updateFilesUsage: db.updateFilesUsage,
getUserKeyValues: db.getUserKeyValues,
getUserCodeFiles: db.getUserCodeFiles,
getToolFilesByIds: db.getToolFilesByIds,
getCodeGeneratedFiles: db.getCodeGeneratedFiles,
filterFilesByAgentAccess,
listSkillsByAccess: db.listSkillsByAccess,
listAlwaysApplySkills: db.listAlwaysApplySkills,
getSkillByName: db.getSkillByName,
},
);
agentConfigs.set(agentId, config);

View file

@ -328,9 +328,15 @@ describe('initializeClient — subagent loading', () => {
const subagentConfig = makeSubagentConfig(SUBAGENT_ID);
let call = 0;
mockInitializeAgent.mockImplementation(() =>
Promise.resolve(++call === 1 ? primaryConfig : subagentConfig),
);
let subagentConvoFileIds;
mockInitializeAgent.mockImplementation(async (params, dbDeps) => {
call += 1;
if (call === 1) {
return primaryConfig;
}
subagentConvoFileIds = await dbDeps.getConvoFiles(params.conversationId);
return subagentConfig;
});
await initializeClient({
req: makeSubagentReq(),
@ -340,6 +346,10 @@ describe('initializeClient — subagent loading', () => {
});
expect(mockInitializeAgent).toHaveBeenCalledTimes(2);
const subagentDbDeps = mockInitializeAgent.mock.calls[1][1];
expect(subagentDbDeps.getConvoFiles).toBeInstanceOf(Function);
expect(subagentDbDeps.db).toBeUndefined();
expect(subagentConvoFileIds).toEqual([]);
/** The subagent's AgentConfig is attached to the primary for run.ts to
* turn into `SubagentConfig[]` on the parent's `AgentInputs`. */