{"record":{"id":"25be28ec16128a38","repo":"deepseek-ai/deepseek-harness","slug":"32603","errorCode":"-32603","errorMessage":"the ACP bridge has been disposed","messagePattern":"the ACP bridge has been disposed","errorType":"exception","errorClass":"RequestError","httpStatus":null,"severity":"error","filePath":"packages/acp/acp/src/index.ts","lineNumber":138,"sourceCode":" */\nexport function apply(ctx: Context, config: AcpConfig): void {\n  // ACP handlers execute outside this plugin's injection scope, so capture the\n  // injected service during apply rather than reading it lazily in a callback.\n  const agents = ctx.agents\n  const logger = ctx.logger\n  const sessions = new Map<SessionId, SessionRecord>()\n  let closed = false\n  let conn: AgentSideConnection\n  let imagePromptEnabled = false\n\n  /** Return the bridge-owned record for an agent, rejecting same-id impostors. */\n  const ownedRecord = (agent: Agent): SessionRecord | undefined => {\n    const record = sessions.get(agent.session.id)\n    return record?.agent === agent ? record : undefined\n  }\n\n  const assertOpen = (): void => {\n    if (closed) throw internalError('the ACP bridge has been disposed')\n  }\n\n  const requireSession = (sessionId: SessionId): SessionRecord => {\n    const record = sessions.get(sessionId)\n    if (record === undefined) throw invalidParams(`unknown session: ${sessionId}`)\n    return record\n  }\n\n  /** Send one ordered protocol update while containing transport-only failure. */\n  const notify = async (notification: SessionNotification): Promise<void> => {\n    try {\n      await conn.sessionUpdate(notification)\n    /* v8 ignore start -- the ACP SDK contains notification-handler failures; only a transport write failure reaches this guard. */\n    } catch (error: unknown) {\n      logger.warn(`acp: session/update failed: ${String(error)}`)\n    }\n    /* v8 ignore stop */\n  }","sourceCodeStart":120,"sourceCodeEnd":156,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/acp/acp/src/index.ts#L120-L156","documentation":"Error \"the ACP bridge has been disposed\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/acp/acp/src/index.ts:138 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Create a new ACP bridge or session; do not call bridge methods after dispose."],"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"}