{"version":3,"file":"TombstoneHandler.mjs","names":[],"sources":["../../src/handlers/TombstoneHandler.ts"],"sourcesContent":["/**\n * Handler for `vaults/1.0/tombstone`.\n *\n * Local state transitions SEALED → RETIRED. The host-side document\n * deletion happens against the EDV.\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 { TombstoneMessage } from '../messages'\nimport { VaultEventTypes } from '../VaultsEvents'\n\nexport class TombstoneHandler implements DidCommMessageHandler {\n  private logger: Logger\n  private eventEmitter: EventEmitter\n  public supportedMessages = [TombstoneMessage]\n\n  public constructor(logger: Logger, eventEmitter: EventEmitter) {\n    this.logger = logger\n    this.eventEmitter = eventEmitter\n  }\n\n  public async handle(messageContext: DidCommMessageHandlerInboundMessage<TombstoneHandler>) {\n    const { agentContext, connection, message } = messageContext\n    this.logger.info('vaults.tombstone received', {\n      vaultId: message.vaultId,\n      strategy: message.strategy,\n      evidenceDocId: message.evidenceDocId,\n      connectionId: connection?.id,\n    })\n    this.eventEmitter.emit(agentContext, {\n      type: VaultEventTypes.Retired,\n      payload: {\n        vaultId: message.vaultId,\n        strategy: message.strategy,\n        evidenceDocId: message.evidenceDocId,\n        from: connection?.id,\n      },\n    })\n    return undefined\n  }\n}\n"],"mappings":";;;;;;AAeA,IAAa,mBAAb,MAA+D;CAK7D,AAAO,YAAY,QAAgB,cAA4B;OAFxD,oBAAoB,CAAC,iBAAiB;AAG3C,OAAK,SAAS;AACd,OAAK,eAAe;;CAGtB,MAAa,OAAO,gBAAuE;EACzF,MAAM,EAAE,cAAc,YAAY,YAAY;AAC9C,OAAK,OAAO,KAAK,6BAA6B;GAC5C,SAAS,QAAQ;GACjB,UAAU,QAAQ;GAClB,eAAe,QAAQ;GACvB,cAAc,YAAY;GAC3B,CAAC;AACF,OAAK,aAAa,KAAK,cAAc;GACnC,MAAM,gBAAgB;GACtB,SAAS;IACP,SAAS,QAAQ;IACjB,UAAU,QAAQ;IAClB,eAAe,QAAQ;IACvB,MAAM,YAAY;IACnB;GACF,CAAC"}