{"record":{"id":"131db97ff569e78c","repo":"deepseek-ai/deepseek-harness","slug":"client-modules-pkgname-has-a-non-object-dsh-cl","errorCode":null,"errorMessage":"client-modules: ${pkgName} has a non-object dsh.client declaration","messagePattern":"client-modules: (.+?) has a non-object dsh\\.client declaration","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/client/modules/src/index.ts","lineNumber":129,"sourceCode":"    }\n    if (otherFailures.length > 0) {\n      lines.push('  other failures:', ...otherFailures.map(error => `    - ${error.message}`))\n    }\n    super(failures, lines.join('\\n'))\n  }\n}\n\n/** One composed table row: the wire entry plus the resolved package metadata behind it. */\ninterface WebPluginRecord {\n  entry: WebBootEntry\n  meta: PkgMeta\n}\n\n/** Narrow an unknown parsed JSON value to the `dsh.client` declaration, throwing on malformed fields. */\nfunction parseDshClient(pkgName: string, value: unknown): DshClientDeclaration | undefined {\n  if (value === undefined) return undefined\n  if (typeof value !== 'object' || value === null) {\n    throw new Error(`client-modules: ${pkgName} has a non-object dsh.client declaration`)\n  }\n  const decl = value as Record<string, unknown>\n  if (typeof decl.platform !== 'string') {\n    throw new Error(`client-modules: ${pkgName} dsh.client.platform must be a string`)\n  }\n  const inject = optionalStringArray(pkgName, 'dsh.client.inject', decl.inject)\n  const external = optionalStringArray(pkgName, 'dsh.client.external', decl.external)\n  if (decl.immediately !== undefined && typeof decl.immediately !== 'boolean') {\n    throw new Error(`client-modules: ${pkgName} dsh.client.immediately must be a boolean`)\n  }\n  return {\n    platform: decl.platform,\n    ...(inject !== undefined ? { inject } : {}),\n    ...(external !== undefined ? { external } : {}),\n    ...(decl.immediately !== undefined ? { immediately: decl.immediately } : {}),\n  }\n}\n","sourceCodeStart":111,"sourceCodeEnd":147,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/client/modules/src/index.ts#L111-L147","documentation":"Error \"client-modules: ${pkgName} has a non-object dsh.client declaration\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/client/modules/src/index.ts:129 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Make the package dsh.client declaration an object."],"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"}