{"version":3,"file":"OfferMessage.mjs","names":[],"sources":["../../src/messages/OfferMessage.ts"],"sourcesContent":["import { DidCommMessage, IsValidMessageType, parseMessageType } from '@credo-ts/didcomm'\nimport { Expose } from 'class-transformer'\nimport { IsObject, IsOptional, IsString } from 'class-validator'\n\nexport interface OfferMessageOptions {\n  id?: string\n  /** Full VaultDescriptor per spec § Data Model. */\n  vaultDescriptor: Record<string, unknown>\n  /** DID of the host doing the provisioning. */\n  provisioner?: string\n}\n\n/**\n * Spec § offer — return a ready vault. Reply to ProposeMessage.\n *\n * @see https://didcomm.org/vaults/1.0/offer\n */\nexport class OfferMessage extends DidCommMessage {\n  public constructor(options: OfferMessageOptions) {\n    super()\n    if (options) {\n      this.id = options.id ?? this.generateId()\n      this.vaultDescriptor = options.vaultDescriptor\n      this.provisioner = options.provisioner\n    }\n  }\n\n  @IsValidMessageType(OfferMessage.type)\n  public readonly type = OfferMessage.type.messageTypeUri\n  public static readonly type = parseMessageType('https://didcomm.org/vaults/1.0/offer')\n\n  /** Opaque dict — VaultDescriptor carries operator-extension fields. */\n  @IsObject()\n  @Expose({ name: 'vault_descriptor' })\n  public vaultDescriptor!: Record<string, unknown>\n\n  @IsOptional()\n  @IsString()\n  @Expose()\n  public provisioner?: string\n}\n"],"mappings":";;;;;;;;;;;;;AAiBA,IAAa,eAAb,MAAa,qBAAqB,eAAe;CAC/C,AAAO,YAAY,SAA8B;AAC/C,SAAO;OASO,OAAO,aAAa,KAAK;AARvC,MAAI,SAAS;AACX,QAAK,KAAK,QAAQ,MAAM,KAAK,YAAY;AACzC,QAAK,kBAAkB,QAAQ;AAC/B,QAAK,cAAc,QAAQ;;;;aAMR,OAAO,iBAAiB,uCAAuC;YAFrF,mBAAmB,aAAa,KAAK;;CAKrC,UAAU;CACV,OAAO,EAAE,MAAM,oBAAoB,CAAC;;;;CAGpC,YAAY;CACZ,UAAU;CACV,QAAQ"}