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 CHANGED
@@ -99308,8 +99308,16 @@ function migratePending(oldSessionId, newSessionId) {
99308
99308
  pendingBySession.set(newSessionId, payload);
99309
99309
  }
99310
99310
  }
99311
- function isModelError(errMsg) {
99312
- return errMsg.includes("ModelNotFound") || errMsg.includes("ProviderModelNotFound");
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 errMsg = props.error?.message ?? String(props.error);
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
  });