{"version":3,"file":"OfferHandler.mjs","names":[],"sources":["../../src/handlers/OfferHandler.ts"],"sourcesContent":["/**\n * Handler for `vaults/1.0/offer`.\n *\n * The controller persists the VaultDescriptor and transitions local\n * state NEW → ACTIVE. Emits an event so application code can react.\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 { OfferMessage } from '../messages'\nimport { VaultEventTypes } from '../VaultsEvents'\n\nexport class OfferHandler implements DidCommMessageHandler {\n  private logger: Logger\n  private eventEmitter: EventEmitter\n  public supportedMessages = [OfferMessage]\n\n  public constructor(logger: Logger, eventEmitter: EventEmitter) {\n    this.logger = logger\n    this.eventEmitter = eventEmitter\n  }\n\n  public async handle(messageContext: DidCommMessageHandlerInboundMessage<OfferHandler>) {\n    const { agentContext, connection, message } = messageContext\n    const descriptor = (message.vaultDescriptor ?? {}) as Record<string, unknown>\n    this.logger.info('vaults.offer received', {\n      vaultId: descriptor.vault_id,\n      provisioner: message.provisioner,\n      connectionId: connection?.id,\n    })\n    this.eventEmitter.emit(agentContext, {\n      type: VaultEventTypes.OfferReceived,\n      payload: {\n        vaultDescriptor: descriptor,\n        provisioner: message.provisioner,\n        from: connection?.id,\n        threadId: message.threadId,\n      },\n    })\n    return undefined\n  }\n}\n"],"mappings":";;;;;;AAeA,IAAa,eAAb,MAA2D;CAKzD,AAAO,YAAY,QAAgB,cAA4B;OAFxD,oBAAoB,CAAC,aAAa;AAGvC,OAAK,SAAS;AACd,OAAK,eAAe;;CAGtB,MAAa,OAAO,gBAAmE;EACrF,MAAM,EAAE,cAAc,YAAY,YAAY;EAC9C,MAAM,aAAc,QAAQ,mBAAmB,EAAE;AACjD,OAAK,OAAO,KAAK,yBAAyB;GACxC,SAAS,WAAW;GACpB,aAAa,QAAQ;GACrB,cAAc,YAAY;GAC3B,CAAC;AACF,OAAK,aAAa,KAAK,cAAc;GACnC,MAAM,gBAAgB;GACtB,SAAS;IACP,iBAAiB;IACjB,aAAa,QAAQ;IACrB,MAAM,YAAY;IAClB,UAAU,QAAQ;IACnB;GACF,CAAC"}