{"version":3,"file":"utils.mjs","names":[],"sources":["../../src/plugins/utils.ts"],"sourcesContent":["import type { AgentContext } from '../agent'\nimport type { ApiModule, Module } from './Module'\n\nexport function getRegisteredModuleByInstance<M extends Module>(\n  agentContext: AgentContext,\n  moduleType: { new (...args: unknown[]): M }\n): M | undefined {\n  const module = Object.values(agentContext.dependencyManager.registeredModules).find(\n    (module): module is M => module instanceof moduleType\n  )\n\n  return module\n}\n\nexport function getRegisteredModuleByName<M extends Module>(\n  agentContext: AgentContext,\n  constructorName: string\n): M | undefined {\n  const module = Object.values(agentContext.dependencyManager.registeredModules).find(\n    (module): module is M => module.constructor.name === constructorName\n  )\n\n  return module\n}\n\nexport function getApiForModuleByName<M extends ApiModule>(\n  agentContext: AgentContext,\n  constructorName: string\n): InstanceType<M['api']> | undefined {\n  const module = getRegisteredModuleByName(agentContext, constructorName)\n  if (!module || !module.api) return undefined\n\n  return agentContext.dependencyManager.resolve(module.api) as InstanceType<M['api']>\n}\n"],"mappings":";;;AAGA,SAAgB,8BACd,cACA,YACe;AAKf,QAJe,OAAO,OAAO,aAAa,kBAAkB,kBAAkB,CAAC,MAC5E,WAAwB,kBAAkB,WAC5C;;AAKH,SAAgB,0BACd,cACA,iBACe;AAKf,QAJe,OAAO,OAAO,aAAa,kBAAkB,kBAAkB,CAAC,MAC5E,WAAwB,OAAO,YAAY,SAAS,gBACtD;;AAKH,SAAgB,sBACd,cACA,iBACoC;CACpC,MAAM,SAAS,0BAA0B,cAAc,gBAAgB;AACvE,KAAI,CAAC,UAAU,CAAC,OAAO,IAAK,QAAO;AAEnC,QAAO,aAAa,kBAAkB,QAAQ,OAAO,IAAI"}