fix(background-agent): inherit parent session directory for background tasks
Background tasks were defaulting to $HOME instead of the parent session's working directory. This caused background agents to scan the entire home directory instead of the project directory, leading to: - High CPU/memory load from scanning unrelated files - Permission errors on system directories - Task failures and timeouts The fix retrieves the parent session's directory before creating a new background session and passes it via the query.directory parameter. Files modified: - manager.ts: Look up parent session directory in launch() - call-omo-agent/tools.ts: Same fix for sync mode - look-at/tools.ts: Same fix for look_at tool - sisyphus-task/tools.ts: Same fix + interface update for directory prop - index.ts: Pass directory to sisyphusTask factory
This commit is contained in:
@@ -145,11 +145,23 @@ async function executeSync(
|
||||
sessionID = args.session_id
|
||||
} else {
|
||||
log(`[call_omo_agent] Creating new session with parent: ${toolContext.sessionID}`)
|
||||
const parentSession = await ctx.client.session.get({
|
||||
path: { id: toolContext.sessionID },
|
||||
}).catch((err) => {
|
||||
log(`[call_omo_agent] Failed to get parent session:`, err)
|
||||
return null
|
||||
})
|
||||
log(`[call_omo_agent] Parent session dir: ${parentSession?.data?.directory}, fallback: ${ctx.directory}`)
|
||||
const parentDirectory = parentSession?.data?.directory ?? ctx.directory
|
||||
|
||||
const createResult = await ctx.client.session.create({
|
||||
body: {
|
||||
parentID: toolContext.sessionID,
|
||||
title: `${args.description} (@${args.subagent_type} subagent)`,
|
||||
},
|
||||
query: {
|
||||
directory: parentDirectory,
|
||||
},
|
||||
})
|
||||
|
||||
if (createResult.error) {
|
||||
|
||||
Reference in New Issue
Block a user