diff --git a/CHANGELOG.md b/CHANGELOG.md index 53bf6204b..8e451c0b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +- Improve CPU usage while streaming tool-call arguments by reusing the prompt's tool list. + ## 0.133.4 - Bugfix: stop the infinite "Cannot run program 'kill'" liveness-probe log loop for sandboxed environments. diff --git a/src/eca/features/chat.clj b/src/eca/features/chat.clj index 8cfb95ff9..f2ee63d39 100644 --- a/src/eca/features/chat.clj +++ b/src/eca/features/chat.clj @@ -828,8 +828,7 @@ (lifecycle/finish-chat-prompt! :idle chat-ctx))))) :on-prepare-tool-call (fn [{:keys [id full-name arguments-text]}] (lifecycle/assert-chat-not-stopped! chat-ctx) - (let [all-tools (f.tools/all-tools chat-id agent @db* config) - tool (f.tools/resolve-tool full-name all-tools) + (let [tool (f.tools/resolve-tool full-name all-tools) resolved-full-name (or (:full-name tool) full-name)] (when-not tool (logger/warn logger-tag "Tool not found for prepare"