()
| 332 | client.Disconnect(ctx) |
| 333 | } |
| 334 | e.mcpContext = nil |
| 335 | e.mcpInitialized = false |
| 336 | } |
| 337 | |
| 338 | func mergeExecutionContext(dst, src coretools.ExecutionContext) { |
| 339 | for key, value := range src { |
| 340 | dst[key] = value |
| 341 | } |
| 342 | } |
| 343 | |
| 344 | func (e *CoreExecutionEngine) Abort() { |
| 345 | e.mu.Lock() |
| 346 | e.aborted = true |
| 347 | if e.permissionFuture != nil { |
| 348 | select { |
| 349 | case e.permissionFuture <- permissionDecision{decision: PermissionDeny}: |
| 350 | default: |
| 351 | } |
| 352 | } |
| 353 | if e.skillPermissionCh != nil { |
| 354 | select { |
| 355 | case e.skillPermissionCh <- false: |
| 356 | default: |
| 357 | } |
| 358 | } |
| 359 | if e.mcpTrustCh != nil { |
nothing calls this directly
no test coverage detected