{"record":{"id":"18069907b5ea9ae3","repo":"deepseek-ai/deepseek-harness","slug":"typert-this-kind-invocation-id-descriptor-i","errorCode":null,"errorMessage":"typert: ${this.kind} invocation id \"${descriptor.id}\" is already registered","messagePattern":"typert: (.+?) invocation id \"(.+?)\" is already registered","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/typert/registry/src/service.ts","lineNumber":130,"sourceCode":"\n  constructor(\n    private readonly kind: 'local' | 'remote',\n    report: ReportObserverError,\n  ) {\n    this.changes = new ChangeSource(report)\n  }\n\n  validate(descriptors: readonly InvocationDescriptor[]): void {\n    const endpoints = new Set<string>()\n    const ids = new Set<string>()\n    for (const descriptor of descriptors) {\n      validateInvocation(descriptor)\n      const endpoint = typertEndpoint(descriptor)\n      if (endpoints.has(endpoint) || this.entries.has(endpoint)) {\n        throw new Error(`typert: ${this.kind} endpoint \"${endpoint}\" is already registered`)\n      }\n      if (ids.has(descriptor.id) || this.ids.has(descriptor.id)) {\n        throw new Error(`typert: ${this.kind} invocation id \"${descriptor.id}\" is already registered`)\n      }\n      endpoints.add(endpoint)\n      ids.add(descriptor.id)\n    }\n  }\n\n  commit(owner: object, descriptors: readonly InvocationDescriptor[]): void {\n    for (const descriptor of descriptors) {\n      const entry = { descriptor, owner }\n      const endpoint = typertEndpoint(descriptor)\n      this.entries.set(endpoint, entry)\n      this.ids.set(descriptor.id, entry)\n      this.history.add(endpoint)\n    }\n    for (const descriptor of descriptors) {\n      this.changes.emit({ kind: this.kind, key: typertEndpoint(descriptor) })\n    }\n  }","sourceCodeStart":112,"sourceCodeEnd":148,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/typert/registry/src/service.ts#L112-L148","documentation":"Error \"typert: ${this.kind} invocation id \"${descriptor.id}\" is already registered\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/typert/registry/src/service.ts:130 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a unique invocation id, or unregister the existing descriptor first."],"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"}