{"record":{"id":"fc4481dbda96f379","repo":"deepseek-ai/deepseek-harness","slug":"client-modules-boot-manifest-entry-is-not-an-obje","errorCode":null,"errorMessage":"client-modules: boot manifest entry is not an object","messagePattern":"client-modules: boot manifest entry is not an object","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/client/modules/src/client/manifest.ts","lineNumber":162,"sourceCode":" * @param wire - the raw `window.__DSH_BOOT__` value.\n * @returns the manifest with optional plugin-view fields normalized.\n */\nexport function parseBootManifest(wire: unknown): BootManifest {\n  if (typeof wire !== 'object' || wire === null) {\n    throw new Error('client-modules: window.__DSH_BOOT__ is missing or not an object')\n  }\n  const graph = wire as Record<string, unknown>\n  if (typeof graph.rev !== 'string') {\n    throw new Error('client-modules: boot manifest rev must be a string')\n  }\n  if (!Array.isArray(graph.entries)) {\n    throw new Error('client-modules: boot manifest entries must be an array')\n  }\n  const modules: BootModuleRow[] = []\n  const plugins: BootPluginRow[] = []\n  for (const value of graph.entries as unknown[]) {\n    if (typeof value !== 'object' || value === null) {\n      throw new Error('client-modules: boot manifest entry is not an object')\n    }\n    const row = value as Record<string, unknown>\n    const where = typeof row.id === 'string' ? `\"${row.id}\"` : JSON.stringify(row)\n    if (typeof row.id !== 'string' || typeof row.url !== 'string' || typeof row.rev !== 'string') {\n      throw new Error(`client-modules: boot manifest entry ${where} must carry string id/url/rev`)\n    }\n    const subject = `boot manifest entry ${where}`\n    const inject = optionalStringArray(subject, 'inject', row.inject)\n    const external = optionalStringArray(subject, 'external', row.external)\n    if (row.immediately !== undefined && typeof row.immediately !== 'boolean') {\n      throw new Error(`client-modules: boot manifest entry ${where} immediately must be a boolean`)\n    }\n    modules.push({\n      id: row.id,\n      url: row.url,\n      rev: row.rev,\n      external: external === undefined ? [] : [...external],\n    })","sourceCodeStart":144,"sourceCodeEnd":180,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/client/modules/src/client/manifest.ts#L144-L180","documentation":"Error \"client-modules: boot manifest entry is not an object\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/client/modules/src/client/manifest.ts:162 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Make each boot manifest entry 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"}