{"version":3,"file":"pi.mjs","names":["rootSession","commandTasks","hookSessionCompact","hookSessionStart","hookSessionTree","hookToolExecutionEnd","messageDoomTaskNotify","toolTask","renderTask"],"sources":["../../generated/pi.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { definePiExtension, piToolContributions, withPiRenderers, 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 commandTasks from '../src/extensions/workspaces/sessions/(backend)/command/tasks.cli';\nimport hookSessionCompact from '../src/extensions/workspaces/sessions/(backend)/hook/session-compact.cli';\nimport hookSessionStart from '../src/extensions/workspaces/sessions/(backend)/hook/session-start.cli';\nimport hookSessionTree from '../src/extensions/workspaces/sessions/(backend)/hook/session-tree.cli';\nimport hookToolExecutionEnd from '../src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.cli';\nimport toolTask from '../src/extensions/workspaces/sessions/(backend)/tool/task.cli';\nimport renderTask from '../src/extensions/workspaces/sessions/(frontend)/tool/task.cli';\nimport messageDoomTaskNotify from '../src/extensions/workspaces/sessions/(frontend)/message/doom-task-notify.cli';\n\ntype OptionsOf<T> = T extends (context: PiPluginContext<infer Options>) => unknown ? Options : never;\ntype InferredOptions = Exclude<OptionsOf<typeof rootSession> | OptionsOf<typeof commandTasks> | OptionsOf<typeof hookSessionCompact> | OptionsOf<typeof hookSessionStart> | OptionsOf<typeof hookSessionTree> | OptionsOf<typeof hookToolExecutionEnd> | OptionsOf<typeof toolTask> | OptionsOf<typeof messageDoomTaskNotify>, 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;\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T => ({ ...identity, ...(value as object) }) as T;\n\nexport const extension = definePiExtension<ExtensionOptions>('@agimon-ai/doompi-task', 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 [at(commandTasks, contextSession)]; },\n    events: {\n      session_compact: at(hookSessionCompact, contextSession) as NonNullable<PiPluginContributions['events']>['session_compact'],\n      session_start: at(hookSessionStart, contextSession) as NonNullable<PiPluginContributions['events']>['session_start'],\n      session_tree: at(hookSessionTree, contextSession) as NonNullable<PiPluginContributions['events']>['session_tree'],\n      tool_execution_end: at(hookToolExecutionEnd, contextSession) as NonNullable<PiPluginContributions['events']>['tool_execution_end'],\n    },\n    get messageRenderers(): PiPluginContributions['messageRenderers'] { return [at(messageDoomTaskNotify, contextSession)]; },\n    ...piToolContributions('@agimon-ai/doompi-task', [via({ name: 'task' }, withPiRenderers(at(toolTask, contextSession), at(renderTask, contextSession)))]),\n    services: [...(scopeSession.services ?? [])],\n  };\n});\n\nexport default extension;\n"],"mappings":";;;;;;;;;;;;AAqBA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;AACpE,MAAM,OAAU,UAAmC,WAAuB;CAAE,GAAG;CAAU,GAAI;AAAiB;AAE9G,MAAa,YAAY,kBAAoC,0BAA0B,OAAO,YAAY;CACxG,MAAM,eAAe,MAAMA,iBAAY,OAAO;CAC9C,MAAM,iBAAiB;EAAE,GAAG;EAAS,MAAM,aAAa;CAAM;CAC9D,OAAO;EACL,GAAG,iBAAiB,YAAY;EAChC,IAAI,WAA8C;GAAE,OAAO,CAAC,GAAGC,mBAAc,cAAc,CAAC;EAAG;EAC/F,QAAQ;GACN,iBAAiB,GAAGC,6BAAoB,cAAc;GACtD,eAAe,GAAGC,2BAAkB,cAAc;GAClD,cAAc,GAAGC,0BAAiB,cAAc;GAChD,oBAAoB,GAAGC,gCAAsB,cAAc;EAC7D;EACA,IAAI,mBAA8D;GAAE,OAAO,CAAC,GAAGC,8BAAuB,cAAc,CAAC;EAAG;EACxH,GAAG,oBAAoB,0BAA0B,CAAC,IAAI,EAAE,MAAM,OAAO,GAAG,gBAAgB,GAAGC,kBAAU,cAAc,GAAG,GAAGC,oBAAY,cAAc,CAAC,CAAC,CAAC,CAAC;EACvJ,UAAU,CAAC,GAAI,aAAa,YAAY,CAAC,CAAE;CAC7C;AACF,CAAC"}