deepseek-ai/deepseek-harness · error
url must be a non-empty string
Error message
url must be a non-empty string
What it means
Error "url must be a non-empty string" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/web/tool-web/src/fetch.ts:89
const row = node as HTMLTableRowElement
const border = isTableHeadingRow(row)
? Array.from(row.cells, (cell, index) => renderTableCell(tableBorder(cell), index)).join('')
: ''
return `\n${content}${border.length > 0 ? `\n${border}` : ''}`
},
})
/**
* Validate value constraints the schema DSL can't express: a non-blank `url`.
* Throws a plain `Error` otherwise. No timeout parameter — the tool-call budget
* is deployment policy declared via `fetchTimeoutMs` config and enforced by
* `@deepseek-ai/dsh-tool-call-timeout-policy`, not a model argument.
*
* @param args - the schema-validated `web_fetch` arguments.
* @returns the arguments as the seam's request fields.
*/
export function parseFetchArgs(args: { url: string }): { url: string } {
if (args.url.trim().length === 0) throw new Error('url must be a non-empty string')
return { url: args.url }
}
/**
* Nesting-depth ceiling above which HTML skips conversion and passes through
* raw. Conversion runs synchronously on the event loop, and unclosed-tag
* nesting makes domino's tree (and turndown's walk over it) superlinear —
* measured: depth 512 ≈ 0.15s, 2,000 ≈ 2s, 20,000 ≈ 5s — during which the
* cooperative `fetchTimeoutMs` timer cannot fire. Real pages nest a few dozen
* levels; 512 is far above content and far below weaponizable. A robustness
* invariant, not a tunable.
*/
const MAX_CONVERSION_DEPTH = 512
/** Elements that never take a closing tag, so they do not grow the lexical stack. */
const VOID_ELEMENTS = new Set([
'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input',
'link', 'meta', 'param', 'source', 'track', 'wbr',View on GitHub (pinned to b150a551b8)
Solutions
- Pass a non-empty url string.
When it happens
Trigger: Thrown at packages/web/tool-web/src/fetch.ts:89 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24).
Data as JSON: /api/errors/6e14eb6a036a1a57.
Report an issue: GitHub.