{"version":3,"file":"ActionMenuModule.mjs","names":[],"sources":["../src/ActionMenuModule.ts"],"sourcesContent":["import type { AgentContext, DependencyManager, Module } from '@credo-ts/core'\n\nimport { DidCommFeatureRegistry, DidCommMessageHandlerRegistry, DidCommProtocol } from '@credo-ts/didcomm'\n\nimport { ActionMenuApi } from './ActionMenuApi'\nimport { ActionMenuModuleConfig, type ActionMenuModuleConfigOptions } from './ActionMenuModuleConfig'\nimport { ActionMenuRole } from './ActionMenuRole'\nimport {\n  ActionMenuProblemReportHandler,\n  MenuMessageHandler,\n  MenuRequestMessageHandler,\n  PerformMessageHandler,\n} from './handlers'\nimport { ActionMenuRepository } from './repository'\nimport { ActionMenuService } from './services'\n\n/**\n * @public\n */\nexport class ActionMenuModule implements Module {\n  public readonly api = ActionMenuApi\n  public readonly config: ActionMenuModuleConfig\n\n  public constructor(config?: ActionMenuModuleConfigOptions) {\n    this.config = new ActionMenuModuleConfig(config ?? {})\n  }\n\n  /**\n   * Registers the dependencies of the question answer module on the dependency manager.\n   */\n  public register(dependencyManager: DependencyManager) {\n    dependencyManager.registerInstance(ActionMenuModuleConfig, this.config)\n\n    // Services\n    dependencyManager.registerSingleton(ActionMenuService)\n\n    // Repositories\n    dependencyManager.registerSingleton(ActionMenuRepository)\n  }\n\n  public async initialize(agentContext: AgentContext): Promise<void> {\n    const featureRegistry = agentContext.resolve(DidCommFeatureRegistry)\n    const messageHandlerRegistry = agentContext.resolve(DidCommMessageHandlerRegistry)\n    const actionMenuService = agentContext.resolve(ActionMenuService)\n\n    messageHandlerRegistry.registerMessageHandlers([\n      new ActionMenuProblemReportHandler(actionMenuService),\n      new MenuMessageHandler(actionMenuService),\n      new MenuRequestMessageHandler(actionMenuService),\n      new PerformMessageHandler(actionMenuService),\n    ])\n\n    featureRegistry.register(\n      new DidCommProtocol({\n        id: 'https://didcomm.org/action-menu/1.0',\n        roles: [ActionMenuRole.Requester, ActionMenuRole.Responder],\n      })\n    )\n  }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAmBA,IAAa,mBAAb,MAAgD;CAI9C,AAAO,YAAY,QAAwC;OAH3C,MAAM;AAIpB,OAAK,SAAS,IAAI,uBAAuB,UAAU,EAAE,CAAC;;;;;CAMxD,AAAO,SAAS,mBAAsC;AACpD,oBAAkB,iBAAiB,wBAAwB,KAAK,OAAO;AAGvE,oBAAkB,kBAAkB,kBAAkB;AAGtD,oBAAkB,kBAAkB,qBAAqB;;CAG3D,MAAa,WAAW,cAA2C;EACjE,MAAM,kBAAkB,aAAa,QAAQ,uBAAuB;EACpE,MAAM,yBAAyB,aAAa,QAAQ,8BAA8B;EAClF,MAAM,oBAAoB,aAAa,QAAQ,kBAAkB;AAEjE,yBAAuB,wBAAwB;GAC7C,IAAI,+BAA+B,kBAAkB;GACrD,IAAI,mBAAmB,kBAAkB;GACzC,IAAI,0BAA0B,kBAAkB;GAChD,IAAI,sBAAsB,kBAAkB;GAC7C,CAAC;AAEF,kBAAgB,SACd,IAAI,gBAAgB;GAClB,IAAI;GACJ,OAAO,CAAC,eAAe,WAAW,eAAe,UAAU;GAC5D,CAAC,CACH"}