eve
Version:
Filesystem-first framework for durable backend AI agents that run anywhere.
1 lines • 1.52 kB
JavaScript
import{resolveConversationId}from"#tracing/conversation-context.js";import"#subagents/tool.js";import{startLocalSubagent}from"#subagents/start-local.js";import{startRemoteSubagent}from"#subagents/start-remote.js";async function startSubagent(e){let{trace:t}=e,n={conversationId:t.conversationId??resolveConversationId(e.session.rootSessionId??e.session.sessionId),lineage:{callId:e.target.action.callId,rootSessionId:e.session.rootSessionId??e.session.sessionId,sessionId:e.session.sessionId,turn:{id:e.batchEvent.turnId,sequence:e.batchEvent.sequence}},continuationToken:e.parentContinuationToken,traceContext:t.parentTraceContext,originAudience:t.originAudience};switch(e.target.kind){case`local`:return startLocalSubagent({action:e.target.action,auth:e.auth,bundle:e.bundle,capabilities:e.capabilities,channelMetadata:e.channelMetadata,currentSession:e.currentSession,dynamicSubagentAgentConfig:e.target.dynamicSubagentAgentConfig,fanoutSize:e.fanoutSize,initiatorAuth:e.initiatorAuth,localDevRequest:e.localDevRequest,parent:n,activityObserver:e.activityObserver,sandboxSessionId:e.sandboxSessionId,session:e.session,source:e.target.source,taskId:e.taskId});case`remote`:return startRemoteSubagent({action:e.target.action,auth:e.auth,bundle:e.bundle,callbackBaseUrl:e.callbackBaseUrl,currentSession:e.currentSession,dynamicRemoteAgent:e.target.dynamicRemoteAgent,initiatorAuth:e.initiatorAuth,parent:n,activityObserver:e.activityObserver,session:e.session,taskId:e.taskId});default:return e.target}}export{startSubagent};