perf(background-agent): use Set for countedToolPartIDs, cache circuit breaker settings, optimize loop detector

- Replace countedToolPartIDs string[] with Set<string> for O(1) has/add vs O(n) includes/spread (C2)
- Cache resolveCircuitBreakerSettings at manager level to avoid repeated object creation (C3)
- Optimize recordToolCall to avoid full array copy with slice (L1)
This commit is contained in:
YeonGyu-Kim
2026-03-18 14:18:38 +09:00
parent 952bd5338d
commit 2da19fe608
4 changed files with 8 additions and 4 deletions
@@ -233,7 +233,7 @@ describe("BackgroundManager circuit breaker", () => {
expect(task.status).toBe("running")
expect(task.progress?.toolCalls).toBe(1)
expect(task.progress?.countedToolPartIDs).toEqual(["tool-1"])
expect(task.progress?.countedToolPartIDs).toEqual(new Set(["tool-1"]))
})
})