MCPcopy Create free account
hub / github.com/GongShichen/LuminaCode / AbortSiblings

Method AbortSiblings

agent/tools_executor.go:255–288  ·  view source on GitHub ↗
(failedToolID string)

Source from the content-addressed store, hash-verified

253 slot := e.slots[tid]
254 if slot == nil || slot.State == ToolStateYielded {
255 continue
256 }
257 if slot.Result != nil {
258 results = append(results, slot.Result)
259 }
260 }
261 if len(results) > 1 && totalToolResultContentChars(results) > e.Config.MaxMessageToolResultsChars {
262 return coretools.ApplyAggregateResultBudget(results, e.Config.MaxMessageToolResultsChars)
263 }
264 return results
265}
266
267func (e *StreamingToolExecutor) hasRunningWork() bool {
268 e.mu.Lock()
269 defer e.mu.Unlock()
270 for _, slot := range e.slots {
271 if slot.State == ToolStateExecuting {
272 return true
273 }
274 }
275 return false
276}
277
278func (e *StreamingToolExecutor) HasRunningWork() bool {
279 return e.hasRunningWork()
280}
281
282func (e *StreamingToolExecutor) DrainProgress() []map[string]any {
283 var events []map[string]any
284 for {
285 select {
286 case item := <-e.progress:
287 events = append(events, item)
288 default:
289 return events
290 }
291 }

Calls 4

signalActivityMethod · 0.95
signalAbortFunction · 0.85
SupportsSiblingAbortMethod · 0.65
GetMethod · 0.45