{"record":{"id":"6c7693f3582e151f","repo":"deepseek-ai/deepseek-harness","slug":"web-fetch-http-timeoutms-must-be-no-greater-than","errorCode":null,"errorMessage":"web-fetch-http: timeoutMs must be no greater than ${MAX_NODE_TIMER_DELAY_MS}","messagePattern":"web-fetch-http: timeoutMs must be no greater than (.+?)","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/web/web-fetch-http/src/index.ts","lineNumber":72,"sourceCode":"  maxRedirects: z.number().default(5),\n  userAgent: z.string().default(DEFAULT_USER_AGENT),\n})\n\n/** Complete config after schemastery applies every field default. */\ntype ResolvedConfig = Required<Config>\n\n/** A resource limit (byte/char/length/timeout cap) must be a positive finite number. */\nfunction assertPositiveFinite(name: string, value: number): void {\n  if (!Number.isFinite(value) || value <= 0) {\n    throw new Error(`web-fetch-http: ${name} must be a positive finite number`)\n  }\n}\n\n/** Node coerces larger timer delays to 1 ms, so reject them at configuration time. */\nfunction assertTimeoutMs(value: number): void {\n  assertPositiveFinite('timeoutMs', value)\n  if (value > MAX_NODE_TIMER_DELAY_MS) {\n    throw new Error(`web-fetch-http: timeoutMs must be no greater than ${MAX_NODE_TIMER_DELAY_MS}`)\n  }\n}\n\n/** The redirect hop cap must be a non-negative integer (0 follows no redirects). */\nfunction assertNonNegativeInteger(name: string, value: number): void {\n  if (!Number.isInteger(value) || value < 0) {\n    throw new Error(`web-fetch-http: ${name} must be a non-negative integer`)\n  }\n}\n\n/** Register the local HTTP(S) fetch provider with `ctx.web`. */\nexport function apply(ctx: Context, config: Config): void {\n  // schemastery (Config) has already filled every defaulted field.\n  const resolved = config as ResolvedConfig\n  assertPositiveFinite('maxUrlLength', resolved.maxUrlLength)\n  assertPositiveFinite('maxResponseBytes', resolved.maxResponseBytes)\n  assertPositiveFinite('maxBodyChars', resolved.maxBodyChars)\n  assertTimeoutMs(resolved.timeoutMs)","sourceCodeStart":54,"sourceCodeEnd":90,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/web/web-fetch-http/src/index.ts#L54-L90","documentation":"Error \"web-fetch-http: timeoutMs must be no greater than ${MAX_NODE_TIMER_DELAY_MS}\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/web/web-fetch-http/src/index.ts:72 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Lower timeoutMs to at most the maximum Node timer delay."],"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"}