File tree Expand file tree Collapse file tree 3 files changed +17
-2
lines changed
Expand file tree Collapse file tree 3 files changed +17
-2
lines changed Original file line number Diff line number Diff line change 33## Unreleased
44
55- Fix token renew when using rewrite feature.
6+ - Improve rewrite error handling.
67
78## 0.77.0
89
Original file line number Diff line number Diff line change 3535 :rewrite-id id}
3636 _ (f.login/maybe-renew-auth-token!
3737 {:provider provider
38- :on-error (fn [error-msg] (logger/error logger-tag (format " Auth token renew failed: %s" error-msg)))}
38+ :on-error (fn [error-msg]
39+ (logger/error logger-tag (format " Auth token renew failed: %s" error-msg))
40+ (throw (ex-info error-msg {:error-response {:message error-msg}})))}
3941 ctx)]
4042 (future* config
4143 (llm-api/sync-or-async-prompt!
Original file line number Diff line number Diff line change 162162 (metrics/task metrics :eca/completion-inline
163163 (f.completion/complete params db* config messenger metrics)))
164164
165+ (defmacro handle-expected-errors
166+ " Executes body, catching any ExceptionInfo with :error-response.
167+ If caught, return {:error error-response}"
168+ [& body]
169+ `(try
170+ ~@body
171+ (catch clojure.lang.ExceptionInfo e#
172+ (if-let [error-response# (:error-response (ex-data e#))]
173+ {:error error-response#}
174+ (throw e#)))))
175+
165176(defn rewrite-prompt
166177 [{:keys [db* config metrics messenger]} params]
167178 (metrics/task metrics :eca/rewrite-prompt
168- (f.rewrite/prompt params db* config messenger metrics)))
179+ (handle-expected-errors
180+ (f.rewrite/prompt params db* config messenger metrics))))
You can’t perform that action at this time.
0 commit comments