summaryrefslogtreecommitdiffhomepage
path: root/packages/core/src/agent
diff options
context:
space:
mode:
Diffstat (limited to 'packages/core/src/agent')
-rw-r--r--packages/core/src/agent/agent.ts14
1 files changed, 12 insertions, 2 deletions
diff --git a/packages/core/src/agent/agent.ts b/packages/core/src/agent/agent.ts
index 6f1a5a4..bf9b22f 100644
--- a/packages/core/src/agent/agent.ts
+++ b/packages/core/src/agent/agent.ts
@@ -311,8 +311,15 @@ export class Agent {
allToolCalls.push(toolCall);
yield { type: "tool-call", toolCall };
} else if (event.type === "error") {
+ const errRecord = event.error as unknown as Record<string, unknown>;
+ const statusCode =
+ typeof errRecord.statusCode === "number" ? errRecord.statusCode : undefined;
const errorMsg = formatError(event.error, this.config);
- yield { type: "error", error: errorMsg };
+ yield {
+ type: "error",
+ error: errorMsg,
+ ...(statusCode !== undefined ? { statusCode } : {}),
+ };
this.status = "error";
yield { type: "status", status: "error" };
return;
@@ -471,8 +478,11 @@ export class Agent {
yield { type: "done", message: assistantMessage };
} catch (err) {
+ const errRecord = err as unknown as Record<string, unknown>;
+ const statusCode =
+ typeof errRecord.statusCode === "number" ? errRecord.statusCode : undefined;
const errorMsg = formatError(err, this.config);
- yield { type: "error", error: errorMsg };
+ yield { type: "error", error: errorMsg, ...(statusCode !== undefined ? { statusCode } : {}) };
this.status = "error";
yield { type: "status", status: "error" };
return;