{"version":3,"file":"SealHandler.mjs","names":[],"sources":["../../src/handlers/SealHandler.ts"],"sourcesContent":["/**\n * Handler for `vaults/1.0/seal`.\n *\n * Local state transitions ACTIVE → SEALED. The host's cap rotation\n * is enforced by the EDV server (which already received the cap\n * revocation via grant-access reissuance or revocation list).\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 { SealMessage } from '../messages'\nimport { VaultEventTypes } from '../VaultsEvents'\n\nexport class SealHandler implements DidCommMessageHandler {\n  private logger: Logger\n  private eventEmitter: EventEmitter\n  public supportedMessages = [SealMessage]\n\n  public constructor(logger: Logger, eventEmitter: EventEmitter) {\n    this.logger = logger\n    this.eventEmitter = eventEmitter\n  }\n\n  public async handle(messageContext: DidCommMessageHandlerInboundMessage<SealHandler>) {\n    const { agentContext, connection, message } = messageContext\n    this.logger.info('vaults.seal received', {\n      vaultId: message.vaultId,\n      mode: message.mode,\n      connectionId: connection?.id,\n    })\n    this.eventEmitter.emit(agentContext, {\n      type: VaultEventTypes.Sealed,\n      payload: {\n        vaultId: message.vaultId,\n        mode: message.mode,\n        from: connection?.id,\n      },\n    })\n    return undefined\n  }\n}\n"],"mappings":";;;;;;AAgBA,IAAa,cAAb,MAA0D;CAKxD,AAAO,YAAY,QAAgB,cAA4B;OAFxD,oBAAoB,CAAC,YAAY;AAGtC,OAAK,SAAS;AACd,OAAK,eAAe;;CAGtB,MAAa,OAAO,gBAAkE;EACpF,MAAM,EAAE,cAAc,YAAY,YAAY;AAC9C,OAAK,OAAO,KAAK,wBAAwB;GACvC,SAAS,QAAQ;GACjB,MAAM,QAAQ;GACd,cAAc,YAAY;GAC3B,CAAC;AACF,OAAK,aAAa,KAAK,cAAc;GACnC,MAAM,gBAAgB;GACtB,SAAS;IACP,SAAS,QAAQ;IACjB,MAAM,QAAQ;IACd,MAAM,YAAY;IACnB;GACF,CAAC"}