{"version":3,"file":"pi.cjs","names":["definePiExtension","rootSession","composeRootHooks","commandWorkflowLaunch","hookResourcesDiscover","hookSessionStart","messageWorkflowFinished","messageWorkflowStep","resourceWorkflowSkills","shortcutWorkflowPanel","shortcutWorkflowViewClose","toolRestrictionWorkflow","piToolContributions","toolWorkflow"],"sources":["../../generated/pi.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { definePiExtension, piToolContributions, type PiPluginContext, type PiPluginContributions } from '@agimon-ai/doompi-core/pi-extension';\nimport { composeRootHooks } from '@agimon-ai/doompi-core/extension-file';\n\nimport rootSession from '../src/extensions/workspaces/sessions/(backend)/root.cli';\nimport commandWorkflowLaunch from '../src/extensions/workspaces/sessions/(backend)/command/workflow-launch.cli';\nimport hookResourcesDiscover from '../src/extensions/workspaces/sessions/(backend)/hook/resources-discover.cli';\nimport hookSessionStart from '../src/extensions/workspaces/sessions/(backend)/hook/session-start.cli';\nimport resourceWorkflowSkills from '../src/extensions/workspaces/sessions/(backend)/resource/workflow-skills.cli';\nimport shortcutWorkflowPanel from '../src/extensions/workspaces/sessions/(backend)/shortcut/workflow-panel.cli';\nimport shortcutWorkflowViewClose from '../src/extensions/workspaces/sessions/(backend)/shortcut/workflow-view-close.cli';\nimport toolRestrictionWorkflow from '../src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.cli';\nimport toolWorkflow from '../src/extensions/workspaces/sessions/(backend)/tool/workflow.cli';\nimport messageWorkflowFinished from '../src/extensions/workspaces/sessions/(frontend)/message/workflow-finished.cli';\nimport messageWorkflowStep from '../src/extensions/workspaces/sessions/(frontend)/message/workflow-step.cli';\n\ntype OptionsOf<T> = T extends (context: PiPluginContext<infer Options>) => unknown ? Options : never;\ntype InferredOptions = Exclude<OptionsOf<typeof rootSession> | OptionsOf<typeof commandWorkflowLaunch> | OptionsOf<typeof hookResourcesDiscover> | OptionsOf<typeof hookSessionStart> | OptionsOf<typeof resourceWorkflowSkills> | OptionsOf<typeof shortcutWorkflowPanel> | OptionsOf<typeof shortcutWorkflowViewClose> | OptionsOf<typeof toolRestrictionWorkflow> | OptionsOf<typeof toolWorkflow> | OptionsOf<typeof messageWorkflowFinished> | OptionsOf<typeof messageWorkflowStep>, undefined>;\ntype Intersect<Union> =\n  (Union extends unknown ? (value: Union) => void : never) extends (value: infer Value) => void ? Value : never;\ntype ExtensionOptions = [InferredOptions] extends [never] ? undefined : Intersect<InferredOptions>;\n\ntype Factory<T, C> = (context: C) => T;\nconst at = <T, C>(value: T | Factory<T, C>, context: C): T =>\n  typeof value === 'function' ? (value as Factory<T, C>)(context) : value;\ntype ManyFactory<T, C> = (context: C) => T | readonly T[];\nconst many = <T, C>(value: T | readonly T[] | ManyFactory<T, C>, context: C): readonly T[] => {\n  const resolved = typeof value === 'function' ? (value as ManyFactory<T, C>)(context) : value;\n  return Array.isArray(resolved) ? resolved : [resolved as T];\n};\n/* v8 ignore next -- generated normalization branch */\nconst defined = <T>(values: readonly (T | undefined)[]): T[] =>\n  values.filter((value): value is T => value !== undefined);\n/* v8 ignore next -- generated normalization branch */\nconst keyed = <T>(key: string, value: T | undefined): Record<string, T> =>\n  value === undefined ? {} : { [key]: value };\n\nexport const extension = definePiExtension<ExtensionOptions>('@agimon-ai/doompi-workflow', async (context) => {\n  const scopeSession = await rootSession(context);\n  const contextSession = { ...context, root: scopeSession.value };\n  return {\n    ...composeRootHooks(scopeSession),\n    get commands(): PiPluginContributions['commands'] { return defined([at(commandWorkflowLaunch, contextSession)]); },\n    events: {\n      ...keyed('resources_discover', at(hookResourcesDiscover, contextSession) as NonNullable<PiPluginContributions['events']>['resources_discover']),\n      ...keyed('session_start', at(hookSessionStart, contextSession) as NonNullable<PiPluginContributions['events']>['session_start']),\n    },\n    get messageRenderers(): PiPluginContributions['messageRenderers'] { return [at(messageWorkflowFinished, contextSession), at(messageWorkflowStep, contextSession)]; },\n    get resources(): PiPluginContributions['resources'] { return defined([at(resourceWorkflowSkills, contextSession)]); },\n    get shortcuts(): PiPluginContributions['shortcuts'] { return defined([at(shortcutWorkflowPanel, contextSession), at(shortcutWorkflowViewClose, contextSession)]); },\n    get toolRestrictions(): PiPluginContributions['toolRestrictions'] { return [...many(toolRestrictionWorkflow, contextSession)]; },\n    ...piToolContributions('@agimon-ai/doompi-workflow', [...many(toolWorkflow, contextSession)]),\n    services: [...(scopeSession.services ?? [])],\n  };\n});\n\nexport default extension;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAuBA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AAEpE,MAAM,QAAc,OAA6C,YAA6B;CAC5F,MAAM,WAAW,OAAO,UAAU,aAAc,MAA4B,OAAO,IAAI;CACvF,OAAO,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAa;AAC5D;;AAEA,MAAM,WAAc,WAClB,OAAO,QAAQ,UAAsB,UAAU,KAAA,CAAS;;AAE1D,MAAM,SAAY,KAAa,UAC7B,UAAU,KAAA,IAAY,CAAC,IAAI,GAAG,MAAM,MAAM;AAE5C,MAAa,aAAA,GAAYA,oCAAAA,kBAAAA,CAAoC,8BAA8B,OAAO,YAAY;CAC5G,MAAM,eAAe,MAAMC,iBAAAA,QAAY,OAAO;CAC9C,MAAM,iBAAiB;EAAE,GAAG;EAAS,MAAM,aAAa;CAAM;CAC9D,OAAO;EACL,IAAA,GAAGC,sCAAAA,iBAAAA,CAAiB,YAAY;EAChC,IAAI,WAA8C;GAAE,OAAO,QAAQ,CAAC,GAAGC,4BAAAA,SAAuB,cAAc,CAAC,CAAC;EAAG;EACjH,QAAQ;GACN,GAAG,MAAM,sBAAsB,GAAGC,+BAAAA,SAAuB,cAAc,CAAuE;GAC9I,GAAG,MAAM,iBAAiB,GAAGC,0BAAAA,SAAkB,cAAc,CAAkE;EACjI;EACA,IAAI,mBAA8D;GAAE,OAAO,CAAC,GAAGC,8BAAAA,SAAyB,cAAc,GAAG,GAAGC,0BAAAA,SAAqB,cAAc,CAAC;EAAG;EACnK,IAAI,YAAgD;GAAE,OAAO,QAAQ,CAAC,GAAGC,4BAAAA,SAAwB,cAAc,CAAC,CAAC;EAAG;EACpH,IAAI,YAAgD;GAAE,OAAO,QAAQ,CAAC,GAAGC,2BAAAA,SAAuB,cAAc,GAAG,GAAGC,gCAAAA,SAA2B,cAAc,CAAC,CAAC;EAAG;EAClK,IAAI,mBAA8D;GAAE,OAAO,CAAC,GAAG,KAAKC,qBAAAA,SAAyB,cAAc,CAAC;EAAG;EAC/H,IAAA,GAAGC,oCAAAA,oBAAAA,CAAoB,8BAA8B,CAAC,GAAG,KAAKC,uBAAAA,SAAc,cAAc,CAAC,CAAC;EAC5F,UAAU,CAAC,GAAI,aAAa,YAAY,CAAC,CAAE;CAC7C;AACF,CAAC"}