deepseek-ai/deepseek-harness · error · Error

llm-retry: retryPolicy belongs under each provider configura

Error message

llm-retry: retryPolicy belongs under each provider configuration

What it means

Error "llm-retry: retryPolicy belongs under each provider configuration" thrown in deepseek-ai/deepseek-harness.

Source

Thrown at packages/llm/llm-retry/src/index.ts:33

import type { LlmRetryEventData } from './types.ts'

export type { LlmRetryEventData, LlmRetryStartedEventData } from './types.ts'
export { RetryId } from './brand.ts'

export const name = 'llm-retry'
export const inject = ['agents']

/** This policy executor has no config; providers own `retryPolicy`. */
export type Config = Readonly<Record<string, never>>

/** Runtime schema for {@link Config}. */
export const Config = z.object({}) as unknown as z<Config>

function validateConfig(config: Config): void {
  const [key] = Object.keys(config)
  if (key === undefined) return
  if (key === 'retryPolicy') {
    throw new Error('llm-retry: retryPolicy belongs under each provider configuration')
  }
  throw new Error(`llm-retry: unknown key "${key}"`)
}

/** Non-serializable hooks used to make timing policy deterministic in tests. */
export interface RetryInternals {
  /** Random sample in the inclusive zero-to-one range used for jitter. */
  random?: () => number
}

type DownstreamOutcome =
  | { readonly type: 'decision'; readonly decision: RequestErrorAction }
  | { readonly type: 'error'; readonly error: unknown }

async function settleDownstream(
  next: () => Promise<RequestErrorAction>,
): Promise<DownstreamOutcome> {
  try {

View on GitHub (pinned to b150a551b8)

Solutions

  1. Move retryPolicy under each provider configuration.

When it happens

Trigger: Thrown at packages/llm/llm-retry/src/index.ts:33 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/6a69e9a2f25ecd43. Report an issue: GitHub.