(tcID string)
| 102 | return false |
| 103 | } |
| 104 | |
| 105 | func (e *StreamingToolExecutor) TryStartQueued(tcID string) bool { |
| 106 | e.mu.Lock() |
| 107 | slot := e.slots[tcID] |
| 108 | if slot == nil || slot.State != ToolStateQueued { |
| 109 | e.mu.Unlock() |
| 110 | return false |
| 111 | } |
| 112 | slot.PermissionGranted = true |
| 113 | canStart := e.canStartImmediatelyLocked(slot.TC, true) |
| 114 | e.mu.Unlock() |
| 115 | if !canStart { |
| 116 | return false |
| 117 | } |
| 118 | e.launch(tcID) |
| 119 | return true |
| 120 | } |
| 121 | |
| 122 | func (e *StreamingToolExecutor) SetToolDecisionMapValue(mapKey, tcID, value string) { |