MCPcopy Index your code
hub / github.com/CodebuffAI/codebuff / handleSubagentStart

Function handleSubagentStart

cli/src/utils/sdk-event-handlers.ts:165–240  ·  view source on GitHub ↗
(
  state: EventHandlerState,
  event: PrintModeSubagentStart,
)

Source from the content-addressed store, hash-verified

163}
164
165const handleSubagentStart = (
166 state: EventHandlerState,
167 event: PrintModeSubagentStart,
168) => {
169 if (shouldHideAgent(event.agentType)) {
170 return
171 }
172
173 state.subagents.addActiveSubagent(event.agentId)
174
175 const spawnAgentMatch = findMatchingSpawnAgent(
176 state.streaming.streamRefs.state.spawnAgentsMap,
177 event.agentType || '',
178 )
179
180 if (spawnAgentMatch) {
181 state.message.updater.updateAiMessageBlocks((blocks) =>
182 resolveSpawnAgentToReal({
183 blocks,
184 match: spawnAgentMatch,
185 realAgentId: event.agentId,
186 realAgentType: event.agentType,
187 parentAgentId: event.parentAgentId,
188 params: event.params,
189 prompt: event.prompt,
190 }),
191 )
192
193 updateStreamingAgents(state, {
194 remove: spawnAgentMatch.tempId,
195 add: event.agentId,
196 })
197 state.streaming.streamRefs.setters.removeSpawnAgentInfo(
198 spawnAgentMatch.tempId,
199 )
200 return
201 }
202
203 state.logger.info(
204 {
205 agentId: event.agentId,
206 agentType: event.agentType,
207 parentAgentId: event.parentAgentId || 'ROOT',
208 },
209 'Creating new agent block (no spawn_agents match)',
210 )
211
212 state.message.updater.updateAiMessageBlocks((blocks) => {
213 // Look up the parent agent's type if there's a parent agent ID
214 const parentAgentType = event.parentAgentId
215 ? findAgentTypeById(blocks, event.parentAgentId)
216 : undefined
217
218 const newAgentBlock = createAgentBlock({
219 agentId: event.agentId,
220 agentType: event.agentType || '',
221 prompt: event.prompt,
222 params: event.params,

Callers 1

createEventHandlerFunction · 0.85

Calls 7

shouldHideAgentFunction · 0.90
findMatchingSpawnAgentFunction · 0.90
resolveSpawnAgentToRealFunction · 0.90
findAgentTypeByIdFunction · 0.90
createAgentBlockFunction · 0.90
nestBlockUnderParentFunction · 0.90
updateStreamingAgentsFunction · 0.85

Tested by

no test coverage detected