{"record":{"id":"98bd63d058273f10","repo":"diegosouzapw/OmniRoute","slug":"missing-required-field-path","errorCode":null,"errorMessage":"Missing required field: path","messagePattern":"Missing required field: path","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/lib/skills/builtins.ts","lineNumber":204,"sourceCode":"function normalizeArgs(args: unknown): string[] {\n  if (args === undefined) return [];\n  if (!Array.isArray(args)) throw new Error(\"Field args must be an array\");\n  return args.map((arg) => {\n    if (typeof arg !== \"string\" && typeof arg !== \"number\" && typeof arg !== \"boolean\") {\n      throw new Error(\"Command arguments must be strings, numbers, or booleans\");\n    }\n    return String(arg);\n  });\n}\n\nexport const builtinSkills: Record<string, SkillHandler> = {\n  file_read: async (input, context) => {\n    const { path: inputPath, encoding = \"utf8\" } = input as {\n      path: string;\n      encoding?: BufferEncoding;\n    };\n    if (!inputPath || typeof inputPath !== \"string\") {\n      throw new Error(\"Missing required field: path\");\n    }\n    if (encoding !== \"utf8\" && encoding !== \"base64\") {\n      throw new Error(\"Unsupported encoding. Use utf8 or base64.\");\n    }\n\n    const { resolved, relative } = resolveWorkspacePath(inputPath, context);\n    const stat = await fs.stat(resolved);\n    if (!stat.isFile()) throw new Error(\"Skill file path must point to a file\");\n    if (stat.size > MAX_FILE_BYTES) {\n      throw new Error(`Skill file exceeds the ${MAX_FILE_BYTES} byte read limit`);\n    }\n\n    return {\n      success: true,\n      path: relative,\n      content: await fs.readFile(resolved, encoding),\n      bytesRead: stat.size,\n      encoding,","sourceCodeStart":186,"sourceCodeEnd":222,"githubUrl":"https://github.com/diegosouzapw/OmniRoute/blob/a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d/src/lib/skills/builtins.ts#L186-L222","documentation":"Error \"Missing required field: path\" thrown in diegosouzapw/OmniRoute.","triggerScenarios":"Thrown at src/lib/skills/builtins.ts:204 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a179ffed5bb2e0b883b9ae7214ce8717b2a94c4d","analyzedAt":"2026-08-25T18:35:09.898Z","schemaVersion":2},"datasetVersion":"2026-08-25T21:54:21.419Z"}