{"version":3,"file":"VaultProblemReportHandler.mjs","names":[],"sources":["../../src/handlers/VaultProblemReportHandler.ts"],"sourcesContent":["/**\n * Handler for vault problem-report messages\n *\n * When we receive an error from a peer:\n * 1. Logs the error\n * 2. Emits an event for the application to handle\n */\n\nimport type { Logger } from '@credo-ts/core'\nimport type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\n\nimport { EventEmitter } from '@credo-ts/core'\n\nimport { VaultProblemReportMessage } from '../messages'\nimport { VaultEventTypes } from '../VaultsEvents'\n\nexport class VaultProblemReportHandler implements DidCommMessageHandler {\n  private logger: Logger\n  private eventEmitter: EventEmitter\n  public supportedMessages = [VaultProblemReportMessage]\n\n  public constructor(logger: Logger, eventEmitter: EventEmitter) {\n    this.logger = logger\n    this.eventEmitter = eventEmitter\n  }\n\n  public async handle(messageContext: DidCommMessageHandlerInboundMessage<VaultProblemReportHandler>) {\n    const { agentContext, connection, message } = messageContext\n\n    this.logger.warn(`Received vault problem report: ${message.errorCode} - ${message.description}`, {\n      vaultId: message.vaultId,\n      connectionId: connection?.id,\n      errorCode: message.errorCode,\n    })\n\n    // Emit event for application to handle\n    this.eventEmitter.emit(agentContext, {\n      type: VaultEventTypes.ProblemReport,\n      payload: {\n        vaultId: message.vaultId,\n        errorCode: message.errorCode,\n        description: message.description,\n        threadId: message.threadId,\n        from: connection?.id,\n      },\n    })\n    return undefined\n  }\n}\n"],"mappings":";;;;;;AAgBA,IAAa,4BAAb,MAAwE;CAKtE,AAAO,YAAY,QAAgB,cAA4B;OAFxD,oBAAoB,CAAC,0BAA0B;AAGpD,OAAK,SAAS;AACd,OAAK,eAAe;;CAGtB,MAAa,OAAO,gBAAgF;EAClG,MAAM,EAAE,cAAc,YAAY,YAAY;AAE9C,OAAK,OAAO,KAAK,kCAAkC,QAAQ,UAAU,KAAK,QAAQ,eAAe;GAC/F,SAAS,QAAQ;GACjB,cAAc,YAAY;GAC1B,WAAW,QAAQ;GACpB,CAAC;AAGF,OAAK,aAAa,KAAK,cAAc;GACnC,MAAM,gBAAgB;GACtB,SAAS;IACP,SAAS,QAAQ;IACjB,WAAW,QAAQ;IACnB,aAAa,QAAQ;IACrB,UAAU,QAAQ;IAClB,MAAM,YAAY;IACnB;GACF,CAAC"}