deepseek-ai/deepseek-harness · error
typert: invocation "${descriptor.id}" scope wire "${descript
Error message
typert: invocation "${descriptor.id}" scope wire "${descriptor.scope.wire}" must select its only lookup parameter What it means
Error "typert: invocation "${descriptor.id}" scope wire "${descriptor.scope.wire}" must select its only lookup parameter" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/typert/registry/src/service.ts:682
throw new Error(`typert: invocation "${descriptor.id}" JSON parameter "${parameter.name}" declares a lookup key`)
}
validateCodec(parameter.codec, `${descriptor.id} parameter ${parameter.name}`)
}
const cancellation = descriptor.cancellation as { readonly parameter: string } | undefined
if (cancellation !== undefined && cancellation.parameter !== 'signal') {
throw new Error(`typert: invocation "${descriptor.id}" cancellation parameter must be "signal"`)
}
if (descriptor.scope !== undefined) {
if (descriptor.invocation.kind !== 'direct') {
throw new Error(`typert: invocation "${descriptor.id}" Context receiver cannot declare a direct scope projection`)
}
validateSegment('scope Context key', descriptor.scope.context)
validateWireName('scope wire field', descriptor.scope.wire)
const lookups = descriptor.parameters.filter(candidate => candidate.source === 'lookup')
const parameter = lookups.length === 1 ? lookups[0] : undefined
if (parameter === undefined || parameter.wire !== descriptor.scope.wire
|| parameter.lookup !== descriptor.scope.context) {
throw new Error(
`typert: invocation "${descriptor.id}" scope wire "${descriptor.scope.wire}" must select its only lookup parameter`,
)
}
}
if (descriptor.invocation.kind === 'context') {
validateSegment('Context key', descriptor.invocation.context)
validateWireName('Context wire field', descriptor.invocation.wire)
if (wires.has(descriptor.invocation.wire)) {
throw new Error(`typert: invocation "${descriptor.id}" repeats wire field "${descriptor.invocation.wire}"`)
}
validateCodec(descriptor.invocation.codec, `${descriptor.id} Context`)
}
}
function validateCodec(codec: InvocationDescriptor['result'], subject: string): void {
if (codec.mode === 'src-json') return
validateNonempty(`${subject} type symbol`, codec.typeSymbol)
if (typeof codec.schema.parse !== 'function') {View on GitHub (pinned to b150a551b8)
Solutions
- Point the scope wire at the invocation's only lookup parameter.
When it happens
Trigger: Thrown at packages/typert/registry/src/service.ts:682 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/67f2b0582a98dc19.
Report an issue: GitHub.