{"record":{"id":"2dda7030cc423f60","repo":"deepseek-ai/deepseek-harness","slug":"typert-kind-provider-key-is-already-regis","errorCode":null,"errorMessage":"typert: ${kind} provider \"${key}\" is already registered","messagePattern":"typert: (.+?) provider \"(.+?)\" is already registered","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/typert/registry/src/service.ts","lineNumber":421,"sourceCode":"    validateSegment('Context key', key)\n    validateWireName('Context wire field', provider.wire)\n    validateNonempty('Context wire type symbol', provider.wireTypeSymbol)\n    return this.registerProvider(ctx, this.hosts, 'host-context', key, provider)\n  }\n\n  private registerClient<Wire>(ctx: Context, key: string, binder: TypertClientContextBinder<Wire>): TypertDisposer {\n    validateSegment('Context key', key)\n    return this.registerProvider(ctx, this.clients, 'client-context', key, binder)\n  }\n\n  private registerProvider<Provider>(\n    ctx: Context,\n    table: Map<string, ProviderEntry<Provider>>,\n    kind: 'host-context' | 'client-context',\n    key: string,\n    provider: Provider,\n  ): TypertDisposer {\n    if (table.has(key)) throw new Error(`typert: ${kind} provider \"${key}\" is already registered`)\n    const entry: ProviderEntry<Provider> = { provider, owner: {} }\n    const { changes } = this\n    return ctx.effect(function* () {\n      table.set(key, entry)\n      changes.emit({ kind, key })\n      yield () => {\n        /* v8 ignore next -- duplicate registration is rejected, so this effect remains the key's unique owner. */\n        if (table.get(key) !== entry) return\n        table.delete(key)\n        changes.emit({ kind, key })\n      }\n    }, `typert.contexts.register(${JSON.stringify(key)})`)\n  }\n}\n\ninterface HostContextResolverEntry {\n  resolve(id: unknown): Promise<Context | undefined>\n}","sourceCodeStart":403,"sourceCodeEnd":439,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/typert/registry/src/service.ts#L403-L439","documentation":"Error \"typert: ${kind} provider \"${key}\" is already registered\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/typert/registry/src/service.ts:421 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Register the provider once per key; dispose the existing registration 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"}