Просмотр исходного кода

core: prevent TypeError when error handling encounters non-object errors

When API errors like token limit exceeded errors are passed as strings to error checking methods, the 'in' operator would throw a TypeError. This fix adds a type guard to check that the input is an object before attempting to access its properties, allowing proper error classification even when encountering unexpected error formats from providers.
Aiden Cline 3 месяцев назад
Родитель
Сommit
88f12b0822
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      packages/opencode/src/util/error.ts

+ 1 - 1
packages/opencode/src/util/error.ts

@@ -27,7 +27,7 @@ export abstract class NamedError extends Error {
       }
 
       static isInstance(input: any): input is InstanceType<typeof result> {
-        return "name" in input && input.name === name
+        return typeof input === "object" && "name" in input && input.name === name
       }
 
       schema() {