jakemanger/whatmodel 的最新提交 2769f5b 于 2026 年 11 月 3 日 05:48 UTC 合入。提交标题为 'Declare the validated benchmark table type to bound type-checking cost',变更涉及 2 个文件、新增 6 行、删除 0 行。新建的 data/results.d.json.ts 从 ../lib/types.ts 导入 Result 类型,把结果 JSON 声明为 Result[],并加上默认导出。tsconfig.json 中新增了一行 allowArbitraryExtensions。
该仓库是一个 AI 模型发现项目,描述栏写着 'Find the best AI models you can run'。多个模型的运行结果堆积成一个 JSON 表格,同时还有读取该表格的 TypeScript 代码。如果直接导入该 JSON,TypeScript 会生成把各结果行的种类全部合并的 union 类型,类型检查成本可能因此变大。新建该文件,是为了给这张表附上经过验证的 schema(Result[]),同时跳过 union 推断。文件中的注释说明实际的运行时校验位于 scripts/check.ts。tsconfig 这边的改动是开启了 allowArbitraryExtensions 选项,该选项允许针对任意扩展名使用声明文件,并且它与此前已开启的 resolveJsonModule、isolatedModules 并列放置。
不过,本次提交并未改动结果数据、模型列表和验证逻辑的内容,只处理了类型声明与构建设置。给定的数据中没有说明 scripts/check.ts 实际检查什么,许可证与 star 数、结果表格的规模也未得到确认。同样也没有任何数值显示类型检查成本究竟降低了多少。因此,这次提交看起来并不是会影响模型推荐结果准确性的变更,更适合读作一项在处理大型 JSON 表格的 TypeScript 项目中降低开发成本的整理工作。