{"version":3,"file":"server.cjs","names":["defineServerPlugin","apiRoute","channelWorkflowCatalog","channelWorkflows","rootSession","composeRootHooks","apiRoute2","commandWorkflowLaunch","hookSessionShutdown","hookToolExecutionEnd","resourceDoompiAuthorWorkflow","resourceDoompiUseWorkflow","resourceWorkflowRecovery","toolRestrictionWorkflow","toolLaunchWorkflow","toolListWorkflows","toolWorkflowRun"],"sources":["../../generated/server.ts"],"sourcesContent":["// Generated by @agimon-ai/doompi-build. Do not edit by hand.\nimport { defineServerPlugin, type DoomServerSessionPlugin } from '@agimon-ai/doompi-core/server-facet';\nimport { composeRootHooks } from '@agimon-ai/doompi-core/extension-file';\n\nimport rootSession from '../src/extensions/workspaces/sessions/(backend)/root.server';\nimport apiRoute from '../src/extensions/(backend)/api/workflow/route.server';\nimport channelWorkflowCatalog from '../src/extensions/(backend)/channel/workflow-catalog.server';\nimport channelWorkflows from '../src/extensions/(backend)/channel/workflows.server';\nimport apiRoute2 from '../src/extensions/workspaces/sessions/(backend)/api/workflow/route.server';\nimport commandWorkflowLaunch from '../src/extensions/workspaces/sessions/(backend)/command/workflow-launch.server';\nimport hookSessionShutdown from '../src/extensions/workspaces/sessions/(backend)/hook/session-shutdown.server';\nimport hookToolExecutionEnd from '../src/extensions/workspaces/sessions/(backend)/hook/tool-execution-end.server';\nimport resourceDoompiAuthorWorkflow from '../src/extensions/workspaces/sessions/(backend)/resource/doompi-author-workflow.server';\nimport resourceDoompiUseWorkflow from '../src/extensions/workspaces/sessions/(backend)/resource/doompi-use-workflow.server';\nimport resourceWorkflowRecovery from '../src/extensions/workspaces/sessions/(backend)/resource/workflow-recovery.server';\nimport toolRestrictionWorkflow from '../src/extensions/workspaces/sessions/(backend)/tool-restriction/workflow.server';\nimport toolLaunchWorkflow from '../src/extensions/workspaces/sessions/(backend)/tool/launch-workflow.server';\nimport toolListWorkflows from '../src/extensions/workspaces/sessions/(backend)/tool/list-workflows.server';\nimport toolWorkflowRun from '../src/extensions/workspaces/sessions/(backend)/tool/workflow-run.server';\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;\n/* v8 ignore next -- generated normalization branch */\nconst defined = <T>(values: readonly (T | undefined)[]): T[] =>\n  values.filter((value): value is T => value !== undefined);\nconst via = <T>(identity: Record<string, unknown>, value: unknown): T => ({ ...identity, ...(value as object) }) as T;\n\nexport const facet = defineServerPlugin({\n  name: '@agimon-ai/doompi-workflow',\n  global: (context) => ({\n    get api(): DoomServerSessionPlugin['api'] { return defined([at(apiRoute, context)]); },\n    get channels(): DoomServerSessionPlugin['channels'] { return [() => via({ frameType: 'workflow_catalog' }, channelWorkflowCatalog()), () => via({ frameType: 'workflows' }, channelWorkflows())]; },\n  }),\n  workspace: (context) => ({\n    get api(): DoomServerSessionPlugin['api'] { return defined([at(apiRoute, context)]); },\n    get channels(): DoomServerSessionPlugin['channels'] { return [() => via({ frameType: 'workflow_catalog' }, channelWorkflowCatalog()), () => via({ frameType: 'workflows' }, channelWorkflows())]; },\n  }),\n  session: async (context) => {\n    const scopeSession = await rootSession(context);\n    const contextSession = { ...context, root: scopeSession.value };\n    return {\n      ...composeRootHooks(scopeSession),\n      get api(): DoomServerSessionPlugin['api'] { return defined([at(apiRoute, context), at(apiRoute2, contextSession)]); },\n      get channels(): DoomServerSessionPlugin['channels'] { return [() => via({ frameType: 'workflow_catalog' }, channelWorkflowCatalog()), () => via({ frameType: 'workflows' }, channelWorkflows())]; },\n      get commands(): DoomServerSessionPlugin['commands'] { return defined([via({ name: 'workflow-launch' }, at(commandWorkflowLaunch, contextSession))]); },\n      get hooks(): DoomServerSessionPlugin['hooks'] { return defined([via({ event: 'session_shutdown' }, at(hookSessionShutdown, contextSession)), via({ event: 'tool_execution_end' }, at(hookToolExecutionEnd, contextSession))]); },\n      get resources(): DoomServerSessionPlugin['resources'] { return defined([at(resourceDoompiAuthorWorkflow, contextSession), at(resourceDoompiUseWorkflow, contextSession), at(resourceWorkflowRecovery, contextSession)]); },\n      get toolRestrictions(): DoomServerSessionPlugin['toolRestrictions'] { return defined([at(toolRestrictionWorkflow, contextSession)]); },\n      get tools(): DoomServerSessionPlugin['tools'] { return defined([via({ name: 'launch_workflow' }, at(toolLaunchWorkflow, contextSession)), via({ name: 'list_workflows' }, at(toolListWorkflows, contextSession)), via({ name: 'workflow_run' }, at(toolWorkflowRun, contextSession))]); },\n      services: [...(scopeSession.services ?? [])],\n      get activities(): DoomServerSessionPlugin['activities'] { return [...(scopeSession.activities ?? [])]; },\n    };\n  },\n});\n\nexport default facet;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqBA,MAAM,MAAY,OAA0B,YAC1C,OAAO,UAAU,aAAc,MAAwB,OAAO,IAAI;;AAEpE,MAAM,WAAc,WAClB,OAAO,QAAQ,UAAsB,UAAU,KAAA,CAAS;AAC1D,MAAM,OAAU,UAAmC,WAAuB;CAAE,GAAG;CAAU,GAAI;AAAiB;AAE9G,MAAa,SAAA,GAAQA,oCAAAA,mBAAAA,CAAmB;CACtC,MAAM;CACN,SAAS,aAAa;EACpB,IAAI,MAAsC;GAAE,OAAO,QAAQ,CAAC,GAAGC,qBAAAA,SAAU,OAAO,CAAC,CAAC;EAAG;EACrF,IAAI,WAAgD;GAAE,OAAO,OAAO,IAAI,EAAE,WAAW,mBAAmB,GAAGC,gCAAAA,QAAuB,CAAC,SAAS,IAAI,EAAE,WAAW,YAAY,GAAGC,yBAAAA,QAAiB,CAAC,CAAC;EAAG;CACpM;CACA,YAAY,aAAa;EACvB,IAAI,MAAsC;GAAE,OAAO,QAAQ,CAAC,GAAGF,qBAAAA,SAAU,OAAO,CAAC,CAAC;EAAG;EACrF,IAAI,WAAgD;GAAE,OAAO,OAAO,IAAI,EAAE,WAAW,mBAAmB,GAAGC,gCAAAA,QAAuB,CAAC,SAAS,IAAI,EAAE,WAAW,YAAY,GAAGC,yBAAAA,QAAiB,CAAC,CAAC;EAAG;CACpM;CACA,SAAS,OAAO,YAAY;EAC1B,MAAM,eAAe,MAAMC,oBAAAA,QAAY,OAAO;EAC9C,MAAM,iBAAiB;GAAE,GAAG;GAAS,MAAM,aAAa;EAAM;EAC9D,OAAO;GACL,IAAA,GAAGC,sCAAAA,iBAAAA,CAAiB,YAAY;GAChC,IAAI,MAAsC;IAAE,OAAO,QAAQ,CAAC,GAAGJ,qBAAAA,SAAU,OAAO,GAAG,GAAGK,uBAAAA,SAAW,cAAc,CAAC,CAAC;GAAG;GACpH,IAAI,WAAgD;IAAE,OAAO,OAAO,IAAI,EAAE,WAAW,mBAAmB,GAAGJ,gCAAAA,QAAuB,CAAC,SAAS,IAAI,EAAE,WAAW,YAAY,GAAGC,yBAAAA,QAAiB,CAAC,CAAC;GAAG;GAClM,IAAI,WAAgD;IAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,MAAM,kBAAkB,GAAG,GAAGI,+BAAAA,SAAuB,cAAc,CAAC,CAAC,CAAC;GAAG;GACrJ,IAAI,QAA0C;IAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,OAAO,mBAAmB,GAAG,GAAGC,gCAAAA,SAAqB,cAAc,CAAC,GAAG,IAAI,EAAE,OAAO,qBAAqB,GAAG,GAAGC,kCAAAA,SAAsB,cAAc,CAAC,CAAC,CAAC;GAAG;GAC/N,IAAI,YAAkD;IAAE,OAAO,QAAQ;KAAC,GAAGC,sCAAAA,SAA8B,cAAc;KAAG,GAAGC,mCAAAA,SAA2B,cAAc;KAAG,GAAGC,iCAAAA,SAA0B,cAAc;IAAC,CAAC;GAAG;GACzN,IAAI,mBAAgE;IAAE,OAAO,QAAQ,CAAC,GAAGC,wBAAAA,SAAyB,cAAc,CAAC,CAAC;GAAG;GACrI,IAAI,QAA0C;IAAE,OAAO,QAAQ;KAAC,IAAI,EAAE,MAAM,kBAAkB,GAAG,GAAGC,+BAAAA,SAAoB,cAAc,CAAC;KAAG,IAAI,EAAE,MAAM,iBAAiB,GAAG,GAAGC,8BAAAA,SAAmB,cAAc,CAAC;KAAG,IAAI,EAAE,MAAM,eAAe,GAAG,GAAGC,4BAAAA,SAAiB,cAAc,CAAC;IAAC,CAAC;GAAG;GACxR,UAAU,CAAC,GAAI,aAAa,YAAY,CAAC,CAAE;GAC3C,IAAI,aAAoD;IAAE,OAAO,CAAC,GAAI,aAAa,cAAc,CAAC,CAAE;GAAG;EACzG;CACF;AACF,CAAC"}