{"version":3,"file":"uiHub.cjs","names":[],"sources":["../../src/schemas/uiHub.ts"],"sourcesContent":["import type { Context } from '@deepseek-ai/cordis';\nimport type { DoomConfigContributionHandle, DoomConfigContributionOptions, DoomExtensionContext } from './config.ts';\nimport type { DoomFooterContributionDefinition, DoomFooterContributionHandle } from './footer.ts';\nimport type { DoomLeaderActionHandlerOptions, DoomLeaderContributionHandle, LeaderContribution } from './leader.ts';\n\n/** The application-scoped UI aggregation service owned by doompi-ui. */\nexport const DOOM_UI_HUB_SERVICE = 'doom/ui-hub';\n\n/** Direct, process-local aggregation for optional UI contributions. */\nexport interface DoomUiHubService {\n  registerLeader(contribution: LeaderContribution): DoomLeaderContributionHandle;\n  registerLeaderActions<ExtensionContext extends DoomExtensionContext = DoomExtensionContext>(\n    options: DoomLeaderActionHandlerOptions<ExtensionContext>,\n  ): () => void;\n  registerFooter(definition: DoomFooterContributionDefinition): DoomFooterContributionHandle;\n  registerConfig<ExtensionContext extends DoomExtensionContext = DoomExtensionContext>(\n    options: DoomConfigContributionOptions<ExtensionContext>,\n  ): DoomConfigContributionHandle;\n}\n\ndeclare module '@deepseek-ai/cordis' {\n  interface Context {\n    'doom/ui-hub': DoomUiHubService;\n  }\n}\n\nexport function readDoomUiHub(context: Context): DoomUiHubService | undefined {\n  return context.get(DOOM_UI_HUB_SERVICE) as DoomUiHubService | undefined;\n}\n\nexport function requireDoomUiHub(context: Context): DoomUiHubService {\n  const hub = readDoomUiHub(context);\n  if (!hub) throw new Error('Doom UI hub is unavailable. Load @agimon-ai/doompi-ui.');\n  return hub;\n}\n"],"mappings":"AAMA,MAAa,EAAsB,cAoBnC,SAAgB,EAAc,EAAgD,CAC5E,OAAO,EAAQ,IAAI,CAAmB,CACxC,CAEA,SAAgB,EAAiB,EAAoC,CACnE,IAAM,EAAM,EAAc,CAAO,EACjC,GAAI,CAAC,EAAK,MAAU,MAAM,wDAAwD,EAClF,OAAO,CACT"}