{"record":{"id":"f0fd96130a8162f8","repo":"deepseek-ai/deepseek-harness","slug":"client-cordis-inspect-provider-id-must-not-be-empt","errorCode":null,"errorMessage":"Client Cordis inspect provider id must not be empty","messagePattern":"Client Cordis inspect provider id must not be empty","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/extensions/cordis-client-runner/src/client/inspect-registry.ts","lineNumber":55,"sourceCode":"\n/** Client provider registry, manifest publisher, and live query dispatcher. */\nexport class ClientCordisInspectRegistry {\n  private readonly providers = new Map<string, ClientCordisInspectProviderRegistration>()\n  private readonly active = new Map<CordisInspectRequestId, AbortController>()\n  private publishQueued = false\n  private syncChain = Promise.resolve()\n\n  /** @param host - folded manifest and query result transport. */\n  constructor(private readonly host: ClientCordisInspectHost) {}\n\n  /**\n   * Register one Client provider and publish a new complete manifest.\n   * @param registration - provider manifest and local handler.\n   * @returns idempotent disposer.\n   */\n  register(registration: ClientCordisInspectProviderRegistration): () => void {\n    const { manifest } = registration\n    if (manifest.id.trim() === '') throw new Error('Client Cordis inspect provider id must not be empty')\n    if (this.providers.has(manifest.id)) throw new Error(`Client Cordis inspect provider \"${manifest.id}\" is already registered`)\n    const names = new Set<string>()\n    for (const method of manifest.methods) {\n      if (names.has(method.name)) throw new Error(`Client Cordis inspect provider \"${manifest.id}\" repeats method \"${method.name}\"`)\n      names.add(method.name)\n    }\n    this.providers.set(manifest.id, registration)\n    this.publish()\n    let disposed = false\n    return () => {\n      if (disposed) return\n      disposed = true\n      if (this.providers.get(manifest.id) === registration) {\n        this.providers.delete(manifest.id)\n        this.publish()\n      }\n    }\n  }","sourceCodeStart":37,"sourceCodeEnd":73,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/extensions/cordis-client-runner/src/client/inspect-registry.ts#L37-L73","documentation":"Error \"Client Cordis inspect provider id must not be empty\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/extensions/cordis-client-runner/src/client/inspect-registry.ts:55 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"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"}