Skip to content

Commit 356fade

Browse files
committed
Add error rewrite message content message.
1 parent 8a37c44 commit 356fade

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
- Prefix tool name with server to LLM: <server>__<toolname>. #196
66
- Remove `eca_` prefix from eca tools, we already pass server prefix (eca) after #196.
77
- Add `approval` arg to preToolCall hook input.
8+
- Add error rewrite message content message.
89

910
## 0.77.1
1011

docs/protocol.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1486,6 +1486,12 @@ interface RewriteTextContent {
14861486
text: string;
14871487
}
14881488

1489+
interface RewriteErrorContent {
1490+
type: 'error';
1491+
1492+
message: string;
1493+
}
1494+
14891495
interface RewriteFinishedContent {
14901496
type: 'finished';
14911497
}
@@ -1494,6 +1500,7 @@ type RewriteContent =
14941500
RewriteStartedContent
14951501
| RewriteReasoningContent
14961502
| RewriteTextContent
1503+
| RewriteErrorContent
14971504
| RewriteFinishedContent;
14981505

14991506
```

src/eca/features/rewrite.clj

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@
3838
:on-error (fn [error-msg]
3939
(logger/error logger-tag (format "Auth token renew failed: %s" error-msg))
4040
(throw (ex-info error-msg {:error-response {:message error-msg}})))}
41-
ctx)]
41+
ctx)
42+
;; get refreshed auth in case of token renew
43+
provider-auth (get-in @db* [:auth provider])]
4244
(future* config
4345
(llm-api/sync-or-async-prompt!
4446
{:provider provider
@@ -48,7 +50,7 @@
4850
:config config
4951
:user-messages [{:role "user" :content [{:type :text :text prompt}]}]
5052
:past-messages []
51-
:provider-auth (get-in db [:auth provider])
53+
:provider-auth provider-auth
5254
:on-first-response-received (fn [& _]
5355
(send-content! ctx {:type :started}))
5456
:on-reason (fn [{:keys [status]}]
@@ -60,6 +62,9 @@
6062
:text (:text msg)})
6163
:finish (send-content! ctx {:type :finished
6264
:total-time-ms (- (System/currentTimeMillis) start-time)})
63-
nil))}))
65+
nil))
66+
:on-error (fn [{:keys [message exception]}]
67+
(send-content! ctx {:type :error
68+
:message (or message (str "Error: " (ex-message exception)))}))}))
6469
{:status "prompting"
6570
:model full-model}))

0 commit comments

Comments
 (0)