@vess-id/ai-identity 0.16.0-alpha.12 → 0.16.0-alpha.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -195,7 +195,17 @@ declare enum CredentialType {
195
195
  DEVELOPER = "DeveloperCredential",
196
196
  TEMPORARY = "TemporaryCredential",
197
197
  ADMIN = "AdminCredential",
198
- RECEIPT = "ReceiptCredential"
198
+ RECEIPT = "ReceiptCredential",
199
+ /**
200
+ * Account attributes asserted by an organisation about the account holder
201
+ * (OEM ⑯). Issued server-to-server, never from a user's own grants.
202
+ */
203
+ ACCOUNT = "AccountCredential",
204
+ /**
205
+ * Agent instance card (OEM ⑯, Model C). Carries a pointer to the service
206
+ * card and the hash that pins it — not the capability description itself.
207
+ */
208
+ AGENT_CARD = "AgentCardCredential"
199
209
  }
200
210
  /**
201
211
  * Credential Status enumeration
package/dist/index.js CHANGED
@@ -2763,6 +2763,8 @@ var CredentialType = /* @__PURE__ */ ((CredentialType2) => {
2763
2763
  CredentialType2["TEMPORARY"] = "TemporaryCredential";
2764
2764
  CredentialType2["ADMIN"] = "AdminCredential";
2765
2765
  CredentialType2["RECEIPT"] = "ReceiptCredential";
2766
+ CredentialType2["ACCOUNT"] = "AccountCredential";
2767
+ CredentialType2["AGENT_CARD"] = "AgentCardCredential";
2766
2768
  return CredentialType2;
2767
2769
  })(CredentialType || {});
2768
2770
  var CredentialStatus = /* @__PURE__ */ ((CredentialStatus2) => {
@@ -3209,6 +3211,38 @@ var DEFAULT_DISCLOSURE_CONFIGS = {
3209
3211
  mandatoryFields: [],
3210
3212
  neverDisclose: DEFAULT_NEVER_DISCLOSE
3211
3213
  },
3214
+ // OEM ⑯ — account attributes an organisation asserts about the holder.
3215
+ //
3216
+ // Everything identifying is selective. An account credential is presented to
3217
+ // decide whether an action is permitted, and that rarely requires knowing
3218
+ // the account number or whose name is on it. Left always-disclosed, every
3219
+ // verifier the holder ever presents to would learn both — and the fallback
3220
+ // for an unregistered type is TEMPORARY, whose selectiveFields is empty,
3221
+ // which is exactly that outcome. Hence this entry.
3222
+ ["AccountCredential" /* ACCOUNT */]: {
3223
+ selectiveFields: ["accountNumber", "accountHolderName", "branchCode"],
3224
+ mandatoryFields: [],
3225
+ neverDisclose: DEFAULT_NEVER_DISCLOSE
3226
+ },
3227
+ // OEM ⑯ Model C — the instance card.
3228
+ //
3229
+ // service_card_url and service_card_hash are absent from selectiveFields,
3230
+ // which is what makes them always-disclosed: the hash proves the fetched
3231
+ // card is the one the issuer signed over, and a holder able to withhold it
3232
+ // could present a card body nobody attested to (AP2 binds checkout_hash for
3233
+ // the same reason).
3234
+ //
3235
+ // 🔴 They are listed in mandatoryFields as documentation, NOT as
3236
+ // enforcement. APIVCManager.issueSDJWTVC passes only `selectiveFields` to
3237
+ // the SD-JWT builder — `mandatoryFields` and `neverDisclose` are not
3238
+ // consumed on that path. Moving these three into selectiveFields would
3239
+ // silently make the hash withholdable and nothing would fail, so the
3240
+ // omission below is the actual guarantee.
3241
+ ["AgentCardCredential" /* AGENT_CARD */]: {
3242
+ selectiveFields: ["version"],
3243
+ mandatoryFields: ["service_card_url", "service_card_hash", "service_id"],
3244
+ neverDisclose: DEFAULT_NEVER_DISCLOSE
3245
+ },
3212
3246
  ["ReceiptCredential" /* RECEIPT */]: {
3213
3247
  selectiveFields: ["action", "resource", "outcome", "amount", "description", "date", "transactionId"],
3214
3248
  mandatoryFields: ["grantId", "auditEventId", "receiptType"],