{"record":{"id":"52d07aaa2e66ea82","repo":"deepseek-ai/deepseek-harness","slug":"fs-not-found-52d07a","errorCode":"FS_NOT_FOUND","errorMessage":"file_path must be a non-empty string","messagePattern":"file_path must be a non-empty string","errorType":"exception","errorClass":"FsError","httpStatus":null,"severity":"error","filePath":"packages/fs/fs-local/src/index.ts","lineNumber":136,"sourceCode":"    return pathToFileURL(this.processPath(target)).href\n  }\n\n  override contains(parent: FsTarget, child: FsTarget): boolean {\n    const path = relative(this.processPath(parent), this.processPath(child))\n    return path === '' || (path !== '..' && !path.startsWith(`..${sep}`) && !isAbsolute(path))\n  }\n\n  override async stat(target: FsTarget, signal?: AbortSignal): Promise<FsInfo | undefined> {\n    if (signal?.aborted) throw new FsError('stat aborted', 'FS_ABORTED')\n    const info = await probe(target.targetKey)\n    if (signal?.aborted) throw new FsError('stat aborted', 'FS_ABORTED')\n    if (!info) return undefined\n    return { version: info.version, type: info.type, size: info.size }\n  }\n\n  override async lstat(path: string, opts?: { cwd?: string }, signal?: AbortSignal): Promise<FsPathInfo | undefined> {\n    if (signal?.aborted) throw new FsError('lstat aborted', 'FS_ABORTED')\n    if (path.trim().length === 0) throw new FsError('file_path must be a non-empty string', 'FS_NOT_FOUND')\n    const info = await probeNoFollow(resolve(opts?.cwd ?? this.config.cwd, path))\n    if (signal?.aborted) throw new FsError('lstat aborted', 'FS_ABORTED')\n    if (!info) return undefined\n    return { version: info.version, type: info.type, size: info.size }\n  }\n\n  override async readText(target: FsTarget, signal?: AbortSignal): Promise<string> {\n    return readWholeText({ displayPath: target.displayPath, targetKey: target.targetKey }, signal)\n  }\n\n  override streamText(target: FsTarget, signal?: AbortSignal): Promise<AsyncIterable<string>> {\n    return Promise.resolve(streamWholeText({ displayPath: target.displayPath, targetKey: target.targetKey }, signal))\n  }\n\n  override async readBytes(target: FsTarget, signal: AbortSignal | undefined, maxBytes: number): Promise<Uint8Array> {\n    return readWholeBytes({ displayPath: target.displayPath, targetKey: target.targetKey }, signal, maxBytes, this.internals)\n  }\n","sourceCodeStart":118,"sourceCodeEnd":154,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/fs/fs-local/src/index.ts#L118-L154","documentation":"Error \"file_path must be a non-empty string\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/fs/fs-local/src/index.ts:136 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":"b150a551b8d465e31e418e1b2eaf5e79bbb7d28e","analyzedAt":"2026-08-24T18:12:29.105Z","schemaVersion":2},"datasetVersion":"2026-08-24T22:17:12.610Z"}