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

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 10 месяцев назад
Родитель
С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() {