{"version":3,"file":"toolOverrides.cjs","names":[],"sources":["../../src/schemas/toolOverrides.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\n\n/** Runtime-scoped ownership registry for Pi tool replacements. */\nexport const DOOM_TOOL_OVERRIDES_SERVICE = 'doom/tool-overrides';\n\nexport interface DoomToolOverrideClaim {\n  readonly source: string;\n  /** One atomic set. The claim is denied when any requested tool is already owned. */\n  readonly tools: readonly string[];\n}\n\nexport interface DoomToolOverrideRegistration {\n  readonly granted: boolean;\n  readonly tools: readonly string[];\n  /** Releases a granted claim. Repeated disposal is a no-op. */\n  dispose(): void;\n}\n\nexport interface DoomToolOverridesService {\n  readonly generation: string;\n  claim(claim: DoomToolOverrideClaim): DoomToolOverrideRegistration;\n  owner(tool: string): string | undefined;\n}\n\ndeclare module '@deepseek-ai/cordis' {\n  interface Context {\n    'doom/tool-overrides': DoomToolOverridesService;\n  }\n}\n\nexport function readDoomToolOverrides(context: Context): DoomToolOverridesService | undefined {\n  return context.get(DOOM_TOOL_OVERRIDES_SERVICE) as DoomToolOverridesService | undefined;\n}\n\nexport function requireDoomToolOverrides(context: Context): DoomToolOverridesService {\n  const service = readDoomToolOverrides(context);\n  if (!service) throw new Error('Doom tool overrides are unavailable. Start a Doom runtime first.');\n  return service;\n}\n"],"mappings":"AAGA,MAAa,EAA8B,sBA2B3C,SAAgB,EAAsB,EAAwD,CAC5F,OAAO,EAAQ,IAAI,CAA2B,CAChD,CAEA,SAAgB,EAAyB,EAA4C,CACnF,IAAM,EAAU,EAAsB,CAAO,EAC7C,GAAI,CAAC,EAAS,MAAU,MAAM,kEAAkE,EAChG,OAAO,CACT"}