{"version":3,"file":"GrantAccessMessage.mjs","names":[],"sources":["../../src/messages/GrantAccessMessage.ts"],"sourcesContent":["import { DidCommMessage, IsValidMessageType, parseMessageType } from '@credo-ts/didcomm'\nimport { Expose } from 'class-transformer'\nimport { IsObject, IsString } from 'class-validator'\n\nimport type { CapabilityDict } from '../zcap'\n\nexport interface GrantAccessMessageOptions {\n  id?: string\n  /** DID the capability is granted to (matches capability.controller). */\n  to: string\n  /** Full ZCAP-LD capability document, including proof. */\n  capability: CapabilityDict | Record<string, unknown>\n}\n\n/**\n * Spec § grant-access — controller delegates a ZCAP-LD capability to\n * a participant.\n *\n * Wire shape:\n *\n *     {\n *       \"to\": \"did:example:bob\",\n *       \"capability\": { ...ZCAP-LD document... }\n *     }\n *\n * Replaces the legacy `cekWrap`/`wrapMethod` shape — content keys\n * live inside the JWE the client uploads to the EDV. This message\n * conveys *authorization*, not content keys.\n *\n * @see https://didcomm.org/vaults/1.0/grant-access\n */\nexport class GrantAccessMessage extends DidCommMessage {\n  public constructor(options: GrantAccessMessageOptions) {\n    super()\n    if (options) {\n      this.id = options.id ?? this.generateId()\n      this.to = options.to\n      this.capability = options.capability\n    }\n  }\n\n  @IsValidMessageType(GrantAccessMessage.type)\n  public readonly type = GrantAccessMessage.type.messageTypeUri\n  public static readonly type = parseMessageType('https://didcomm.org/vaults/1.0/grant-access')\n\n  @IsString()\n  @Expose()\n  public to!: string\n\n  /** Opaque dict — ZCAP verification happens at the EDV, not here. */\n  @IsObject()\n  @Expose()\n  public capability!: CapabilityDict | Record<string, unknown>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA+BA,IAAa,qBAAb,MAAa,2BAA2B,eAAe;CACrD,AAAO,YAAY,SAAoC;AACrD,SAAO;OASO,OAAO,mBAAmB,KAAK;AAR7C,MAAI,SAAS;AACX,QAAK,KAAK,QAAQ,MAAM,KAAK,YAAY;AACzC,QAAK,KAAK,QAAQ;AAClB,QAAK,aAAa,QAAQ;;;;mBAMP,OAAO,iBAAiB,8CAA8C;YAF5F,mBAAmB,mBAAmB,KAAK;;CAI3C,UAAU;CACV,QAAQ;;;;CAIR,UAAU;CACV,QAAQ"}