opencode-feishu 0.7.2 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +30 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -99308,8 +99308,16 @@ function migratePending(oldSessionId, newSessionId) {
|
|
|
99308
99308
|
pendingBySession.set(newSessionId, payload);
|
|
99309
99309
|
}
|
|
99310
99310
|
}
|
|
99311
|
-
function isModelError(errMsg) {
|
|
99312
|
-
|
|
99311
|
+
function isModelError(errMsg, rawError) {
|
|
99312
|
+
if (errMsg.includes("ModelNotFound") || errMsg.includes("ProviderModelNotFound")) {
|
|
99313
|
+
return true;
|
|
99314
|
+
}
|
|
99315
|
+
if (rawError && typeof rawError === "object") {
|
|
99316
|
+
const e = rawError;
|
|
99317
|
+
const fields = [e.type, e.name, e.message].filter(Boolean).map(String);
|
|
99318
|
+
return fields.some((f) => f.includes("ModelNotFound") || f.includes("ProviderModelNotFound"));
|
|
99319
|
+
}
|
|
99320
|
+
return false;
|
|
99313
99321
|
}
|
|
99314
99322
|
async function handleEvent(event, deps) {
|
|
99315
99323
|
switch (event.type) {
|
|
@@ -99339,9 +99347,24 @@ async function handleEvent(event, deps) {
|
|
|
99339
99347
|
const props = event.properties;
|
|
99340
99348
|
const sessionId = props.sessionID;
|
|
99341
99349
|
if (!sessionId) break;
|
|
99342
|
-
const
|
|
99350
|
+
const error = props.error;
|
|
99351
|
+
let errMsg;
|
|
99352
|
+
if (typeof error === "string") {
|
|
99353
|
+
errMsg = error;
|
|
99354
|
+
} else if (error && typeof error === "object") {
|
|
99355
|
+
const e = error;
|
|
99356
|
+
errMsg = String(e.message ?? e.type ?? e.name ?? "An unexpected error occurred");
|
|
99357
|
+
} else {
|
|
99358
|
+
errMsg = String(error);
|
|
99359
|
+
}
|
|
99360
|
+
const safeErrorFields = error && typeof error === "object" ? { type: error.type, name: error.name } : { raw: String(error) };
|
|
99361
|
+
deps.log("warn", "\u6536\u5230 session.error \u4E8B\u4EF6", {
|
|
99362
|
+
sessionId,
|
|
99363
|
+
error: safeErrorFields,
|
|
99364
|
+
extractedMsg: errMsg
|
|
99365
|
+
});
|
|
99343
99366
|
setSessionError(sessionId, errMsg);
|
|
99344
|
-
if (isModelError(errMsg)) {
|
|
99367
|
+
if (isModelError(errMsg, props.error)) {
|
|
99345
99368
|
const sessionKey = invalidateCachedSession(sessionId);
|
|
99346
99369
|
if (sessionKey) {
|
|
99347
99370
|
try {
|
|
@@ -99485,6 +99508,9 @@ async function handleChat(ctx, deps) {
|
|
|
99485
99508
|
const thrownError = err instanceof Error ? err.message : String(err);
|
|
99486
99509
|
const errorMessage = sessionError || thrownError;
|
|
99487
99510
|
log("error", "\u5BF9\u8BDD\u5904\u7406\u5931\u8D25", {
|
|
99511
|
+
sessionId: session.id,
|
|
99512
|
+
sessionKey: sessionKey.replace(/-[^-]+$/, "-***"),
|
|
99513
|
+
chatType,
|
|
99488
99514
|
error: thrownError,
|
|
99489
99515
|
...sessionError ? { sessionError } : {}
|
|
99490
99516
|
});
|