@learncard/react 2.12.8 → 2.12.10

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.
Files changed (189) hide show
  1. package/dist/cjs/{AchievementCard-98d6c7f9.js → AchievementCard-f6bdb95c.js} +5 -5
  2. package/dist/cjs/{AchievementCard-98d6c7f9.js.map → AchievementCard-f6bdb95c.js.map} +1 -1
  3. package/dist/cjs/{BoostGenericCard-64c11fe1.js → BoostGenericCard-a414aaef.js} +5 -5
  4. package/dist/cjs/BoostGenericCard-a414aaef.js.map +1 -0
  5. package/dist/cjs/{BoostSmallCard-ac8ab73d.js → BoostSmallCard-507de790.js} +6 -4
  6. package/dist/cjs/BoostSmallCard-507de790.js.map +1 -0
  7. package/dist/cjs/{CertificateDisplayCard-b5e72ee5.js → CertificateDisplayCard-8bd3b831.js} +18 -19
  8. package/dist/cjs/{CertificateDisplayCard-b5e72ee5.js.map → CertificateDisplayCard-8bd3b831.js.map} +1 -1
  9. package/dist/cjs/{CircleCheckButton-f76e5b5d.js → CircleCheckButton-05f58196.js} +2 -2
  10. package/dist/cjs/{CircleCheckButton-f76e5b5d.js.map → CircleCheckButton-05f58196.js.map} +1 -1
  11. package/dist/cjs/{CircleIcon-f0fa68c7.js → CircleIcon-47392efc.js} +3 -3
  12. package/dist/cjs/{CircleIcon-f0fa68c7.js.map → CircleIcon-47392efc.js.map} +1 -1
  13. package/dist/cjs/{CourseVerticalCard-0a8ea4dc.js → CourseVerticalCard-0d046145.js} +4 -4
  14. package/dist/cjs/{CourseVerticalCard-0a8ea4dc.js.map → CourseVerticalCard-0d046145.js.map} +1 -1
  15. package/dist/cjs/{GenericCard-cdc6eede.js → GenericCard-e2faac81.js} +4 -4
  16. package/dist/cjs/{GenericCard-cdc6eede.js.map → GenericCard-e2faac81.js.map} +1 -1
  17. package/dist/cjs/{JobListCard-c53660e8.js → JobListCard-a90be136.js} +3 -3
  18. package/dist/cjs/{JobListCard-c53660e8.js.map → JobListCard-a90be136.js.map} +1 -1
  19. package/dist/cjs/{LearnPill-da2d2a8e.js → LearnPill-29ffbdcd.js} +3 -3
  20. package/dist/cjs/{LearnPill-da2d2a8e.js.map → LearnPill-29ffbdcd.js.map} +1 -1
  21. package/dist/cjs/{MeritBadgeDisplayCard-50423eeb.js → MeritBadgeDisplayCard-cc7b75af.js} +4 -4
  22. package/dist/cjs/{MeritBadgeDisplayCard-50423eeb.js.map → MeritBadgeDisplayCard-cc7b75af.js.map} +1 -1
  23. package/dist/cjs/{MeritBadgeSkillsCount-f121a3db.js → MeritBadgeSkillsCount-3e797913.js} +2 -2
  24. package/dist/cjs/{MeritBadgeSkillsCount-f121a3db.js.map → MeritBadgeSkillsCount-3e797913.js.map} +1 -1
  25. package/dist/cjs/{RoundedPill-b54f3ac1.js → RoundedPill-542ecd7a.js} +2 -2
  26. package/dist/cjs/{RoundedPill-b54f3ac1.js.map → RoundedPill-542ecd7a.js.map} +1 -1
  27. package/dist/cjs/{SkillTabCard-efade17a.js → SkillTabCard-353cc2d1.js} +4 -4
  28. package/dist/cjs/{SkillTabCard-efade17a.js.map → SkillTabCard-353cc2d1.js.map} +1 -1
  29. package/dist/cjs/{VCCard-72ec54b5.js → VCCard-bb89310a.js} +3 -3
  30. package/dist/cjs/{VCCard-72ec54b5.js.map → VCCard-bb89310a.js.map} +1 -1
  31. package/dist/cjs/{VCDisplayBackFace-c6204dda.js → VCDisplayBackFace-2eb4300a.js} +3 -3
  32. package/dist/cjs/{VCDisplayBackFace-c6204dda.js.map → VCDisplayBackFace-2eb4300a.js.map} +1 -1
  33. package/dist/cjs/{VCDisplayCard-e0fbeb3c.js → VCDisplayCard-4276378b.js} +3 -3
  34. package/dist/cjs/{VCDisplayCard-e0fbeb3c.js.map → VCDisplayCard-4276378b.js.map} +1 -1
  35. package/dist/cjs/{VCDisplayCard2-5d805202.js → VCDisplayCard2-f18ff4c4.js} +6 -6
  36. package/dist/cjs/{VCDisplayCard2-5d805202.js.map → VCDisplayCard2-f18ff4c4.js.map} +1 -1
  37. package/dist/cjs/{VCVerificationPill-90e6ab77.js → VCVerificationPill-fe1eb97b.js} +2 -2
  38. package/dist/cjs/{VCVerificationPill-90e6ab77.js.map → VCVerificationPill-fe1eb97b.js.map} +1 -1
  39. package/dist/cjs/{constants-2430d4bc.js → constants-dd01b5de.js} +5 -5
  40. package/dist/cjs/{constants-2430d4bc.js.map → constants-dd01b5de.js.map} +1 -1
  41. package/dist/cjs/{credential.helpers-0f0e8f00.js → credential.helpers-2d2d8bf5.js} +69 -3
  42. package/dist/cjs/credential.helpers-2d2d8bf5.js.map +1 -0
  43. package/dist/cjs/{icons-857d4be1.js → icons-4693cac7.js} +2 -2
  44. package/dist/cjs/{icons-857d4be1.js.map → icons-4693cac7.js.map} +1 -1
  45. package/dist/cjs/{index-5488badc.js → index-3daa4cfe.js} +3 -1
  46. package/dist/cjs/index-3daa4cfe.js.map +1 -0
  47. package/dist/cjs/{index-ba659c28.js → index-603feb35.js} +8 -2
  48. package/dist/cjs/index-603feb35.js.map +1 -0
  49. package/dist/cjs/index.js +26 -25
  50. package/dist/cjs/index.js.map +1 -1
  51. package/dist/cjs/index11.js +5 -5
  52. package/dist/cjs/index13.js +7 -6
  53. package/dist/cjs/index13.js.map +1 -1
  54. package/dist/cjs/index14.js +26 -25
  55. package/dist/cjs/index14.js.map +1 -1
  56. package/dist/cjs/index16.js +4 -3
  57. package/dist/cjs/index16.js.map +1 -1
  58. package/dist/cjs/index19.js +4 -3
  59. package/dist/cjs/index19.js.map +1 -1
  60. package/dist/cjs/index2.js +7 -6
  61. package/dist/cjs/index2.js.map +1 -1
  62. package/dist/cjs/index22.js +5 -5
  63. package/dist/cjs/index29.js +3 -3
  64. package/dist/cjs/index30.js +6 -5
  65. package/dist/cjs/index30.js.map +1 -1
  66. package/dist/cjs/index34.js +5 -5
  67. package/dist/cjs/index39.js +10 -10
  68. package/dist/cjs/index4.js +9 -8
  69. package/dist/cjs/index4.js.map +1 -1
  70. package/dist/cjs/index40.js +5 -5
  71. package/dist/cjs/index41.js +6 -6
  72. package/dist/cjs/index42.js +6 -6
  73. package/dist/cjs/index43.js +1 -1
  74. package/dist/cjs/index46.js +2 -2
  75. package/dist/cjs/index5.js +7 -6
  76. package/dist/cjs/index5.js.map +1 -1
  77. package/dist/cjs/index7.js +4 -4
  78. package/dist/cjs/index8.js +4 -4
  79. package/dist/cjs/index9.js +3 -3
  80. package/dist/cjs/qualifications.svg +10 -0
  81. package/dist/cjs/{types.esm-9062360c.js → types.esm-6ef18f40.js} +323 -20
  82. package/dist/cjs/types.esm-6ef18f40.js.map +1 -0
  83. package/dist/esm/{AchievementCard-0f183e9d.js → AchievementCard-d0cf882f.js} +5 -5
  84. package/dist/esm/{AchievementCard-0f183e9d.js.map → AchievementCard-d0cf882f.js.map} +1 -1
  85. package/dist/esm/{BoostGenericCard-a2c5d561.js → BoostGenericCard-c5cdd66b.js} +5 -5
  86. package/dist/esm/BoostGenericCard-c5cdd66b.js.map +1 -0
  87. package/dist/esm/{BoostSmallCard-35b0290d.js → BoostSmallCard-3f5d83b9.js} +6 -4
  88. package/dist/esm/BoostSmallCard-3f5d83b9.js.map +1 -0
  89. package/dist/esm/{CertificateDisplayCard-68d8d6ee.js → CertificateDisplayCard-98c807c3.js} +18 -19
  90. package/dist/esm/{CertificateDisplayCard-68d8d6ee.js.map → CertificateDisplayCard-98c807c3.js.map} +1 -1
  91. package/dist/esm/{CircleCheckButton-23a9c7d4.js → CircleCheckButton-50702ec6.js} +2 -2
  92. package/dist/esm/{CircleCheckButton-23a9c7d4.js.map → CircleCheckButton-50702ec6.js.map} +1 -1
  93. package/dist/esm/{CircleIcon-abd5ff06.js → CircleIcon-060ef060.js} +3 -3
  94. package/dist/esm/{CircleIcon-abd5ff06.js.map → CircleIcon-060ef060.js.map} +1 -1
  95. package/dist/esm/{CourseVerticalCard-fe85271e.js → CourseVerticalCard-2544cfbb.js} +4 -4
  96. package/dist/esm/{CourseVerticalCard-fe85271e.js.map → CourseVerticalCard-2544cfbb.js.map} +1 -1
  97. package/dist/esm/{GenericCard-b40c0617.js → GenericCard-31644ac4.js} +4 -4
  98. package/dist/esm/{GenericCard-b40c0617.js.map → GenericCard-31644ac4.js.map} +1 -1
  99. package/dist/esm/{JobListCard-dfb94830.js → JobListCard-4fc7fbe4.js} +3 -3
  100. package/dist/esm/{JobListCard-dfb94830.js.map → JobListCard-4fc7fbe4.js.map} +1 -1
  101. package/dist/esm/{LearnPill-ce240a4a.js → LearnPill-a2b93b1d.js} +3 -3
  102. package/dist/esm/{LearnPill-ce240a4a.js.map → LearnPill-a2b93b1d.js.map} +1 -1
  103. package/dist/esm/{MeritBadgeDisplayCard-7a32129d.js → MeritBadgeDisplayCard-e55e904e.js} +4 -4
  104. package/dist/esm/{MeritBadgeDisplayCard-7a32129d.js.map → MeritBadgeDisplayCard-e55e904e.js.map} +1 -1
  105. package/dist/esm/{MeritBadgeSkillsCount-f0a53047.js → MeritBadgeSkillsCount-942ebe6f.js} +2 -2
  106. package/dist/esm/{MeritBadgeSkillsCount-f0a53047.js.map → MeritBadgeSkillsCount-942ebe6f.js.map} +1 -1
  107. package/dist/esm/{RoundedPill-50279e5d.js → RoundedPill-8e97b9e3.js} +2 -2
  108. package/dist/esm/{RoundedPill-50279e5d.js.map → RoundedPill-8e97b9e3.js.map} +1 -1
  109. package/dist/esm/{SkillTabCard-f2edb3fc.js → SkillTabCard-a3f601e8.js} +4 -4
  110. package/dist/esm/{SkillTabCard-f2edb3fc.js.map → SkillTabCard-a3f601e8.js.map} +1 -1
  111. package/dist/esm/{VCCard-a117cfd8.js → VCCard-97d0c512.js} +3 -3
  112. package/dist/esm/{VCCard-a117cfd8.js.map → VCCard-97d0c512.js.map} +1 -1
  113. package/dist/esm/{VCDisplayBackFace-2381affa.js → VCDisplayBackFace-7510b046.js} +3 -3
  114. package/dist/esm/{VCDisplayBackFace-2381affa.js.map → VCDisplayBackFace-7510b046.js.map} +1 -1
  115. package/dist/esm/{VCDisplayCard-52e66021.js → VCDisplayCard-43ac58ba.js} +3 -3
  116. package/dist/esm/{VCDisplayCard-52e66021.js.map → VCDisplayCard-43ac58ba.js.map} +1 -1
  117. package/dist/esm/{VCDisplayCard2-b3b641a1.js → VCDisplayCard2-5f2fbc83.js} +6 -6
  118. package/dist/esm/{VCDisplayCard2-b3b641a1.js.map → VCDisplayCard2-5f2fbc83.js.map} +1 -1
  119. package/dist/esm/{VCVerificationPill-680c4e23.js → VCVerificationPill-8f6be696.js} +2 -2
  120. package/dist/esm/{VCVerificationPill-680c4e23.js.map → VCVerificationPill-8f6be696.js.map} +1 -1
  121. package/dist/esm/{constants-010faf74.js → constants-e2e2e619.js} +5 -5
  122. package/dist/esm/{constants-010faf74.js.map → constants-e2e2e619.js.map} +1 -1
  123. package/dist/esm/{credential.helpers-43119589.js → credential.helpers-72ff82a4.js} +69 -3
  124. package/dist/esm/credential.helpers-72ff82a4.js.map +1 -0
  125. package/dist/esm/{icons-fdd35170.js → icons-a6c7fed6.js} +2 -2
  126. package/dist/esm/{icons-fdd35170.js.map → icons-a6c7fed6.js.map} +1 -1
  127. package/dist/esm/{index-28917993.js → index-8be2f857.js} +3 -1
  128. package/dist/esm/index-8be2f857.js.map +1 -0
  129. package/dist/esm/{index-7542e9ee.js → index-e3586083.js} +7 -2
  130. package/dist/esm/index-e3586083.js.map +1 -0
  131. package/dist/esm/index.js +26 -25
  132. package/dist/esm/index.js.map +1 -1
  133. package/dist/esm/index11.js +5 -5
  134. package/dist/esm/index13.js +7 -6
  135. package/dist/esm/index13.js.map +1 -1
  136. package/dist/esm/index14.js +26 -25
  137. package/dist/esm/index14.js.map +1 -1
  138. package/dist/esm/index16.js +4 -3
  139. package/dist/esm/index16.js.map +1 -1
  140. package/dist/esm/index19.js +4 -3
  141. package/dist/esm/index19.js.map +1 -1
  142. package/dist/esm/index2.js +7 -6
  143. package/dist/esm/index2.js.map +1 -1
  144. package/dist/esm/index22.js +5 -5
  145. package/dist/esm/index29.js +3 -3
  146. package/dist/esm/index30.js +6 -5
  147. package/dist/esm/index30.js.map +1 -1
  148. package/dist/esm/index34.js +5 -5
  149. package/dist/esm/index39.js +10 -10
  150. package/dist/esm/index4.js +9 -8
  151. package/dist/esm/index4.js.map +1 -1
  152. package/dist/esm/index40.js +5 -5
  153. package/dist/esm/index41.js +6 -6
  154. package/dist/esm/index42.js +6 -6
  155. package/dist/esm/index43.js +1 -1
  156. package/dist/esm/index46.js +2 -2
  157. package/dist/esm/index5.js +7 -6
  158. package/dist/esm/index5.js.map +1 -1
  159. package/dist/esm/index7.js +4 -4
  160. package/dist/esm/index8.js +4 -4
  161. package/dist/esm/index9.js +3 -3
  162. package/dist/esm/qualifications.svg +10 -0
  163. package/dist/esm/{types.esm-b9cb7331.js → types.esm-4968f4d0.js} +323 -20
  164. package/dist/esm/types.esm-4968f4d0.js.map +1 -0
  165. package/dist/index.d.ts +2 -0
  166. package/dist/main.css +1 -1
  167. package/dist/main.js +1 -1
  168. package/package.json +4 -4
  169. package/src/assets/images/qualifications.svg +10 -0
  170. package/src/components/CertificateDisplayCard/CertificateFrontFace.tsx +15 -16
  171. package/src/components/svgs/QualificationsIcon.tsx +44 -0
  172. package/src/components/svgs/index.ts +1 -0
  173. package/src/constants/index.ts +5 -0
  174. package/src/helpers/color.helpers.ts +2 -0
  175. package/src/helpers/credential.helpers.tsx +9 -0
  176. package/src/helpers/display.helpers.ts +1 -0
  177. package/src/types/index.ts +2 -0
  178. package/dist/cjs/BoostGenericCard-64c11fe1.js.map +0 -1
  179. package/dist/cjs/BoostSmallCard-ac8ab73d.js.map +0 -1
  180. package/dist/cjs/credential.helpers-0f0e8f00.js.map +0 -1
  181. package/dist/cjs/index-5488badc.js.map +0 -1
  182. package/dist/cjs/index-ba659c28.js.map +0 -1
  183. package/dist/cjs/types.esm-9062360c.js.map +0 -1
  184. package/dist/esm/BoostGenericCard-a2c5d561.js.map +0 -1
  185. package/dist/esm/BoostSmallCard-35b0290d.js.map +0 -1
  186. package/dist/esm/credential.helpers-43119589.js.map +0 -1
  187. package/dist/esm/index-28917993.js.map +0 -1
  188. package/dist/esm/index-7542e9ee.js.map +0 -1
  189. package/dist/esm/types.esm-b9cb7331.js.map +0 -1
@@ -7422,7 +7422,7 @@ var __spreadValues = (a, b) => {
7422
7422
  return a;
7423
7423
  };
7424
7424
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
7425
- var _a;
7425
+ var _a, _b;
7426
7426
  var __defProp2 = Object.defineProperty;
7427
7427
  var __name = (target, value) => __defProp2(target, "name", { value, configurable: true });
7428
7428
  var ContextValidator = array(string().or(record(string(), any())));
@@ -7848,7 +7848,8 @@ var AssociationTypeValidator = _enum([
7848
7848
  "replacedBy"
7849
7849
  ]).or(string());
7850
7850
  var AssociationValidator = object({
7851
- type: string().array().nonempty(),
7851
+ // Accept compacted scalars while retaining the existing permissive array contract.
7852
+ type: string().min(1).or(string().array().nonempty()),
7852
7853
  associationType: AssociationTypeValidator,
7853
7854
  sourceId: string().optional(),
7854
7855
  targetId: string()
@@ -8662,11 +8663,48 @@ var ConsentFlowContractDetailsValidator = object({
8662
8663
  updatedAt: string(),
8663
8664
  expiresAt: string().optional(),
8664
8665
  autoBoosts: string().array().optional(),
8665
- writers: array(LCNProfileValidator).optional()
8666
+ writers: array(LCNProfileValidator).optional(),
8667
+ recipients: array(LCNPublicProfileValidator.extend({ did: string() })).optional(),
8668
+ audienceVersion: number().int().nonnegative().optional()
8666
8669
  });
8667
- var ConsentFlowContractRequestStatusValidator = _enum(["pending", "accepted", "denied"]).nullable();
8670
+ var ConsentFlowContractRequestStatusValidator = _enum(["pending", "accepted", "denied", "cancelled"]).nullable();
8668
8671
  var ConsentFlowContractRequestReadStatusValidator = _enum(["unseen", "seen"]).nullable();
8669
- var ConsentFlowContractRequestForProfileValidator = object({
8672
+ var ConsentFlowReferralValidator = object({
8673
+ requestId: string(),
8674
+ requestedBy: string(),
8675
+ externalReferenceId: string().max(256).optional()
8676
+ });
8677
+ var ContractRequestFieldsValidator = ConsentFlowReferralValidator.partial().extend({
8678
+ requestedAt: string().optional(),
8679
+ message: string().max(500).optional()
8680
+ });
8681
+ object({
8682
+ contractUri: string(),
8683
+ targetProfileId: string(),
8684
+ externalReferenceId: string().trim().min(1).max(256).optional(),
8685
+ message: string().trim().max(500).optional()
8686
+ });
8687
+ object({
8688
+ eventId: string(),
8689
+ deliveryKey: string(),
8690
+ event: _enum([
8691
+ "request_sent",
8692
+ "request_accepted",
8693
+ "request_denied",
8694
+ "request_cancelled",
8695
+ "consent_created",
8696
+ "consent_updated",
8697
+ "consent_withdrawn",
8698
+ "credentials_synced"
8699
+ ]),
8700
+ contractUri: string(),
8701
+ termsUri: string().optional(),
8702
+ requestId: string().optional(),
8703
+ requestedBy: string().optional(),
8704
+ externalReferenceId: string().optional(),
8705
+ recipientRole: _enum(["owner", "recipient", "requester", "target"])
8706
+ });
8707
+ var ConsentFlowContractRequestForProfileValidator = ContractRequestFieldsValidator.extend({
8670
8708
  profile: LCNProfileValidator,
8671
8709
  status: ConsentFlowContractRequestStatusValidator,
8672
8710
  readStatus: ConsentFlowContractRequestReadStatusValidator.optional()
@@ -8712,6 +8750,7 @@ PaginationResponseValidator.extend({
8712
8750
  expiresAt: string().optional(),
8713
8751
  oneTime: boolean().optional(),
8714
8752
  terms: ConsentFlowTermsValidator,
8753
+ referral: ConsentFlowReferralValidator.optional(),
8715
8754
  contract: ConsentFlowContractDetailsValidator,
8716
8755
  uri: string(),
8717
8756
  consenter: LCNProfileValidator,
@@ -8807,6 +8846,7 @@ var ConsentFlowTransactionValidator = object({
8807
8846
  oneTime: boolean().optional(),
8808
8847
  terms: ConsentFlowTermsValidator.optional(),
8809
8848
  guardianApproval: ConsentFlowGuardianApprovalValidator.optional(),
8849
+ referral: ConsentFlowReferralValidator.optional(),
8810
8850
  id: string(),
8811
8851
  action: ConsentFlowTransactionActionValidator,
8812
8852
  date: string(),
@@ -8817,6 +8857,7 @@ var HolderExportConsentRecordValidator = object({
8817
8857
  status: ConsentFlowTermsStatusValidator,
8818
8858
  contract: ConsentFlowContractDetailsValidator,
8819
8859
  terms: ConsentFlowTermsValidator,
8860
+ referral: ConsentFlowReferralValidator.optional(),
8820
8861
  transactions: ConsentFlowTransactionValidator.array()
8821
8862
  });
8822
8863
  object({
@@ -9183,9 +9224,9 @@ object({
9183
9224
  configuration: InboxBatchConfigurationValidator.optional()
9184
9225
  }).superRefine((batch, ctx) => {
9185
9226
  batch.items.forEach((item, index) => {
9186
- var _a2, _b;
9227
+ var _a2, _b2;
9187
9228
  const itemGuardian = (_a2 = item.configuration) == null ? void 0 : _a2.guardianEmail;
9188
- const guardian = itemGuardian === null ? void 0 : itemGuardian != null ? itemGuardian : (_b = batch.configuration) == null ? void 0 : _b.guardianEmail;
9229
+ const guardian = itemGuardian === null ? void 0 : itemGuardian != null ? itemGuardian : (_b2 = batch.configuration) == null ? void 0 : _b2.guardianEmail;
9189
9230
  if (guardian && item.recipient.type === "email" && guardian.toLowerCase() === item.recipient.value.toLowerCase()) {
9190
9231
  ctx.addIssue({
9191
9232
  code: "custom",
@@ -9555,7 +9596,7 @@ var AppStoreListingSubmitterValidator = object({
9555
9596
  displayName: string(),
9556
9597
  email: string().optional()
9557
9598
  });
9558
- var AppStoreListingValidator = object({
9599
+ var AppStoreListingFieldsValidator = object({
9559
9600
  listing_id: string(),
9560
9601
  slug: string().optional(),
9561
9602
  display_name: string(),
@@ -9581,15 +9622,33 @@ var AppStoreListingValidator = object({
9581
9622
  submitter: AppStoreListingSubmitterValidator.optional(),
9582
9623
  contact_email: string().email().optional()
9583
9624
  });
9625
+ var PendingListingUpdateStatusValidator = _enum(["DRAFT", "PENDING_REVIEW"]);
9626
+ var PendingListingUpdateValidator = object({
9627
+ status: PendingListingUpdateStatusValidator,
9628
+ submitted_at: string().optional(),
9629
+ changes: AppStoreListingFieldsValidator.omit({
9630
+ listing_id: true,
9631
+ app_listing_status: true,
9632
+ promotion_level: true,
9633
+ submitted_at: true,
9634
+ submitter: true
9635
+ }).partial(),
9636
+ manifest_version: number().int().min(1).optional()
9637
+ });
9638
+ var AppStoreListingValidator = AppStoreListingFieldsValidator.extend({
9639
+ pending_update: PendingListingUpdateValidator.optional()
9640
+ });
9584
9641
  AppStoreListingValidator.omit({
9585
9642
  listing_id: true,
9586
9643
  app_listing_status: true,
9587
- promotion_level: true
9644
+ promotion_level: true,
9645
+ pending_update: true
9588
9646
  });
9589
9647
  AppStoreListingValidator.partial().omit({
9590
9648
  listing_id: true,
9591
9649
  app_listing_status: true,
9592
- promotion_level: true
9650
+ promotion_level: true,
9651
+ pending_update: true
9593
9652
  });
9594
9653
  var InstalledAppValidator = AppStoreListingValidator.extend({
9595
9654
  installed_at: string()
@@ -9604,12 +9663,87 @@ object({
9604
9663
  templateAlias: string().min(1).max(50).regex(/^[a-z0-9-]+$/),
9605
9664
  boostUri: string()
9606
9665
  });
9607
- var SendCredentialEventValidator = object({
9666
+ var InlineWalletCategoryValidator = _enum([
9667
+ "Achievement",
9668
+ "Skill",
9669
+ "ID",
9670
+ "Learning History",
9671
+ "Work History",
9672
+ "Social Badges",
9673
+ "Membership",
9674
+ "Accomplishment",
9675
+ "Experiences",
9676
+ "Accommodation",
9677
+ "Family"
9678
+ ]);
9679
+ var InlineAlignmentValidator = object({
9680
+ name: string(),
9681
+ url: string(),
9682
+ framework: string().optional(),
9683
+ code: string().optional()
9684
+ }).passthrough();
9685
+ var InlineEvidenceValidator = object({
9686
+ id: string().optional(),
9687
+ name: string().optional(),
9688
+ narrative: string().optional()
9689
+ }).passthrough();
9690
+ var InlineWalletSkillTagValidator = object({
9691
+ frameworkId: string(),
9692
+ id: string(),
9693
+ proficiencyLevel: string().optional()
9694
+ }).passthrough();
9695
+ var SimpleInlineCredentialTemplateValidator = object({
9696
+ rawCredential: _undefined().optional(),
9697
+ name: string(),
9698
+ description: string().optional(),
9699
+ image: string().optional(),
9700
+ issuerName: string().optional(),
9701
+ achievementType: string().optional(),
9702
+ category: InlineWalletCategoryValidator.optional(),
9703
+ criteria: object({
9704
+ narrative: string().optional(),
9705
+ url: string().optional()
9706
+ }).passthrough().optional(),
9707
+ alignments: array(InlineAlignmentValidator).optional(),
9708
+ tags: array(string()).optional(),
9709
+ activity: object({
9710
+ startDate: string().optional(),
9711
+ endDate: string().optional()
9712
+ }).passthrough().optional(),
9713
+ credits: object({
9714
+ earned: union([number(), string()]).optional(),
9715
+ available: union([number(), string()]).optional()
9716
+ }).passthrough().optional(),
9717
+ validUntil: string().optional(),
9718
+ evidence: array(InlineEvidenceValidator).optional(),
9719
+ walletSkills: array(InlineWalletSkillTagValidator).optional()
9720
+ }).passthrough();
9721
+ var RawInlineCredentialTemplateValidator = object({
9722
+ rawCredential: record(string(), unknown()),
9723
+ category: InlineWalletCategoryValidator.optional(),
9724
+ walletSkills: array(InlineWalletSkillTagValidator).optional()
9725
+ }).passthrough();
9726
+ var InlineCredentialTemplateValidator = union([
9727
+ RawInlineCredentialTemplateValidator,
9728
+ SimpleInlineCredentialTemplateValidator
9729
+ ]);
9730
+ var LegacySendCredentialEventValidator = object({
9608
9731
  type: literal("send-credential"),
9609
9732
  templateAlias: string(),
9610
9733
  templateData: record(string(), unknown()).optional(),
9611
9734
  preventDuplicateClaim: boolean().optional()
9612
9735
  });
9736
+ var InlineSendCredentialEventValidator = object({
9737
+ type: literal("send-credential"),
9738
+ alias: string(),
9739
+ template: InlineCredentialTemplateValidator,
9740
+ templateData: record(string(), unknown()).optional(),
9741
+ preventDuplicateClaim: boolean().optional()
9742
+ });
9743
+ var SendCredentialEventValidator = union([
9744
+ LegacySendCredentialEventValidator,
9745
+ InlineSendCredentialEventValidator
9746
+ ]);
9613
9747
  var CheckCredentialEventValidator = object({
9614
9748
  type: literal("check-credential"),
9615
9749
  templateAlias: string().optional(),
@@ -9704,7 +9838,119 @@ var GetCountersEventValidator = object({
9704
9838
  type: literal("get-counters"),
9705
9839
  keys: array(counterKeyValidator).min(1).max(50).optional()
9706
9840
  });
9707
- var AppEventValidator = discriminatedUnion("type", [
9841
+ var ConsentRequestWalletCategoryValidator = _enum([
9842
+ "Achievement",
9843
+ "Skill",
9844
+ "ID",
9845
+ "Learning History",
9846
+ "Work History",
9847
+ "Social Badges",
9848
+ "Membership",
9849
+ "Accomplishment",
9850
+ "Experiences",
9851
+ "Accommodation",
9852
+ "Family"
9853
+ ]);
9854
+ var ConsentRequestPersonalFieldValidator = _enum([
9855
+ "name",
9856
+ "email",
9857
+ "phone",
9858
+ "birthDate",
9859
+ "country",
9860
+ "avatar"
9861
+ ]);
9862
+ var ConsentRequestValidator = object({
9863
+ read: object({
9864
+ credentialCategories: array(ConsentRequestWalletCategoryValidator).optional(),
9865
+ personalFields: array(ConsentRequestPersonalFieldValidator).optional()
9866
+ }).optional(),
9867
+ write: object({
9868
+ credentialCategories: array(ConsentRequestWalletCategoryValidator).optional()
9869
+ }).optional(),
9870
+ reason: string().optional()
9871
+ });
9872
+ var NormalizedConsentScopesValidator = object({
9873
+ read: object({
9874
+ credentialCategories: array(ConsentRequestWalletCategoryValidator).default([]),
9875
+ personalFields: array(ConsentRequestPersonalFieldValidator).default([])
9876
+ }),
9877
+ write: object({
9878
+ credentialCategories: array(ConsentRequestWalletCategoryValidator).default([])
9879
+ })
9880
+ });
9881
+ var CapturedTemplateRecordValidator = object({
9882
+ alias: string(),
9883
+ template: InlineCredentialTemplateValidator,
9884
+ version: number().int().min(1),
9885
+ lastUsedAt: string()
9886
+ }).passthrough();
9887
+ var CapturedConsentRecordValidator = object({
9888
+ scopes: NormalizedConsentScopesValidator,
9889
+ reason: string().optional(),
9890
+ lastUsedAt: string()
9891
+ }).passthrough();
9892
+ var AppManifestValidator = object({
9893
+ manifestVersion: literal(1),
9894
+ appUrl: string(),
9895
+ appKey: string().max(200).optional(),
9896
+ suggestedName: string().optional(),
9897
+ suggestedIconUrl: string().optional(),
9898
+ permissions: array(string()).default([]),
9899
+ templates: array(CapturedTemplateRecordValidator).default([]),
9900
+ consentRequests: array(CapturedConsentRecordValidator).default([]),
9901
+ usedConsentContract: boolean().optional(),
9902
+ featuresLaunched: array(string()).default([]),
9903
+ counterKeys: array(string()).default([]),
9904
+ usedLearnerContext: boolean(),
9905
+ usedNotifications: boolean(),
9906
+ firstCapturedAt: string(),
9907
+ lastUpdatedAt: string()
9908
+ }).passthrough();
9909
+ var AppManifestVersionStatusValidator = _enum(["draft", "active", "superseded"]);
9910
+ object({
9911
+ id: string(),
9912
+ version: number().int().min(1),
9913
+ manifestHash: string(),
9914
+ manifest: AppManifestValidator,
9915
+ status: AppManifestVersionStatusValidator,
9916
+ createdAt: string(),
9917
+ activatedAt: string().optional()
9918
+ });
9919
+ var AppManifestStringDiffValidator = object({
9920
+ added: array(string()),
9921
+ removed: array(string()),
9922
+ changed: array(string())
9923
+ });
9924
+ var AppManifestTemplateRefValidator = object({
9925
+ alias: string(),
9926
+ version: number().int().min(1)
9927
+ });
9928
+ var AppManifestTemplateChangeValidator = object({
9929
+ alias: string(),
9930
+ fromVersion: number().int().min(1),
9931
+ toVersion: number().int().min(1)
9932
+ });
9933
+ object({
9934
+ permissions: AppManifestStringDiffValidator,
9935
+ templates: object({
9936
+ added: array(AppManifestTemplateRefValidator),
9937
+ removed: array(AppManifestTemplateRefValidator),
9938
+ changed: array(AppManifestTemplateChangeValidator)
9939
+ }),
9940
+ consentScopes: AppManifestStringDiffValidator,
9941
+ featurePaths: AppManifestStringDiffValidator,
9942
+ counterKeys: AppManifestStringDiffValidator,
9943
+ requiresReview: boolean()
9944
+ });
9945
+ var UpsertConsentContractEventValidator = object({
9946
+ type: literal("upsert-consent-contract"),
9947
+ scopes: ConsentRequestValidator
9948
+ });
9949
+ object({
9950
+ contractUri: string(),
9951
+ created: boolean()
9952
+ });
9953
+ var AppEventValidator = union([
9708
9954
  SendCredentialEventValidator,
9709
9955
  CheckCredentialEventValidator,
9710
9956
  CheckIssuanceStatusEventValidator,
@@ -9714,7 +9960,8 @@ var AppEventValidator = discriminatedUnion("type", [
9714
9960
  SendNotificationEventValidator,
9715
9961
  IncrementCounterEventValidator,
9716
9962
  GetCounterEventValidator,
9717
- GetCountersEventValidator
9963
+ GetCountersEventValidator,
9964
+ UpsertConsentContractEventValidator
9718
9965
  ]);
9719
9966
  object({
9720
9967
  listingId: string(),
@@ -9787,6 +10034,14 @@ object({
9787
10034
  this.name = "AuthSessionError";
9788
10035
  }
9789
10036
  }, __name(_a, "AuthSessionError"), _a);
10037
+ (_b = class extends Error {
10038
+ constructor(operation, providerType) {
10039
+ super(`${operation} is not supported by ${providerType}`);
10040
+ this.operation = operation;
10041
+ this.providerType = providerType;
10042
+ this.name = "UnsupportedSignInOperationError";
10043
+ }
10044
+ }, __name(_b, "UnsupportedSignInOperationError"), _b);
9790
10045
  object({
9791
10046
  state: _enum(["none", "enabled", "locked", "stale"]),
9792
10047
  enabled: boolean(),
@@ -9965,6 +10220,10 @@ var isCanonicalBase64Url = /* @__PURE__ */ __name((value, expectedBytes) => {
9965
10220
  if (expectedBytes !== void 0 && decoded.length !== expectedBytes) return false;
9966
10221
  return encodeBase64Url(decoded) === value;
9967
10222
  }, "isCanonicalBase64Url");
10223
+ var decodedBase64UrlByteLength = /* @__PURE__ */ __name((value) => {
10224
+ var _a2, _b2;
10225
+ return (_b2 = (_a2 = decodeBase64Url(value)) == null ? void 0 : _a2.length) != null ? _b2 : null;
10226
+ }, "decodedBase64UrlByteLength");
9968
10227
  var utf8ByteLength = /* @__PURE__ */ __name((value) => new TextEncoder().encode(value).length, "utf8ByteLength");
9969
10228
  var canonicalBase64Url = /* @__PURE__ */ __name((bytes) => string().refine((value) => isCanonicalBase64Url(value, bytes), {
9970
10229
  message: `must be canonical base64url for exactly ${bytes} bytes`
@@ -10040,7 +10299,7 @@ var SharePayloadValidatorShape = object({
10040
10299
  }).strict();
10041
10300
  var classificationFailure = /* @__PURE__ */ __name((code, message, path = []) => ({ ok: false, code, message, path }), "classificationFailure");
10042
10301
  var readSignedClaimId = /* @__PURE__ */ __name((member) => {
10043
- var _a2, _b;
10302
+ var _a2, _b2;
10044
10303
  if (member === null || typeof member !== "object") return void 0;
10045
10304
  const record = member;
10046
10305
  const claim = (_a2 = record.credentialSubject) != null ? _a2 : record.endorsement;
@@ -10048,10 +10307,10 @@ var readSignedClaimId = /* @__PURE__ */ __name((member) => {
10048
10307
  const claimRecord = claim;
10049
10308
  const nested = claimRecord.endorsement;
10050
10309
  const nestedId = nested !== null && typeof nested === "object" ? nested.id : void 0;
10051
- return (_b = claimRecord.id) != null ? _b : nestedId;
10310
+ return (_b2 = claimRecord.id) != null ? _b2 : nestedId;
10052
10311
  }, "readSignedClaimId");
10053
10312
  var classifyShareManifest = /* @__PURE__ */ __name((payload) => {
10054
- var _a2, _b;
10313
+ var _a2, _b2;
10055
10314
  const members = (_a2 = payload.presentation) == null ? void 0 : _a2.verifiableCredential;
10056
10315
  if (!Array.isArray(members) || members.length === 0) {
10057
10316
  return classificationFailure("NO_PRESENTATION_MEMBERS", "presentation has no credentials");
@@ -10063,7 +10322,7 @@ var classifyShareManifest = /* @__PURE__ */ __name((payload) => {
10063
10322
  );
10064
10323
  }
10065
10324
  const selection = payload.selection;
10066
- const endorsements = (_b = payload.endorsements) != null ? _b : [];
10325
+ const endorsements = (_b2 = payload.endorsements) != null ? _b2 : [];
10067
10326
  if (!Array.isArray(selection) || selection.length < 1 || selection.length > MAX_SELECTED_CREDENTIALS) {
10068
10327
  return classificationFailure("BAD_SELECTION", "selection must contain 1..50 entries");
10069
10328
  }
@@ -10205,6 +10464,8 @@ var ShareLinkValidator = object({
10205
10464
  version: safeVersion,
10206
10465
  contentVersion: safeVersion,
10207
10466
  status: ShareLinkStatusValidator,
10467
+ attachmentId: string().uuid().nullable().optional(),
10468
+ attachmentChunkCount: number().int().min(1).max(16).nullable().optional(),
10208
10469
  contentState: ShareContentStateValidator,
10209
10470
  createdAt: datetime(),
10210
10471
  updatedAt: datetime(),
@@ -10228,6 +10489,43 @@ var ShareLinkValidator = object({
10228
10489
  contentUrl: string().optional()
10229
10490
  });
10230
10491
  var clientRequestId = string().uuid();
10492
+ var ShareLinkAttachmentValidator = object({
10493
+ id: string().uuid(),
10494
+ chunkCount: number().int().min(1).max(16)
10495
+ }).strict();
10496
+ var attachmentChunkKey = {
10497
+ id: ShareLinkIdValidator,
10498
+ contentVersion: safeVersion,
10499
+ attachmentId: string().uuid(),
10500
+ chunkIndex: number().int().min(0).max(15)
10501
+ };
10502
+ var ShareLinkAttachmentChunkEnvelopeValidator = ShareEnvelopeValidator.refine(
10503
+ (value) => {
10504
+ var _a2;
10505
+ return ((_a2 = decodedBase64UrlByteLength(value.ct)) != null ? _a2 : Infinity) <= 256 * 1024 + SHARE_TAG_BYTES;
10506
+ }
10507
+ );
10508
+ object(__spreadProps(__spreadValues({}, attachmentChunkKey), {
10509
+ chunkCount: number().int().min(1).max(16),
10510
+ envelope: ShareLinkAttachmentChunkEnvelopeValidator,
10511
+ ownerEncryptedRecovery: ShareOwnerRecoveryValidator
10512
+ })).strict().refine((value) => value.chunkIndex < value.chunkCount);
10513
+ object(__spreadProps(__spreadValues({}, attachmentChunkKey), {
10514
+ passcode: string().min(4).max(64).optional(),
10515
+ accessToken: string().min(1).max(2048).optional()
10516
+ })).strict();
10517
+ object(__spreadProps(__spreadValues({}, attachmentChunkKey), {
10518
+ envelope: ShareLinkAttachmentChunkEnvelopeValidator,
10519
+ accessToken: string().min(1).max(2048).optional()
10520
+ })).strict();
10521
+ object({
10522
+ id: ShareLinkIdValidator,
10523
+ contentVersion: safeVersion,
10524
+ attachmentId: string().uuid(),
10525
+ chunkCount: number().int().min(1).max(16)
10526
+ }).strict();
10527
+ object({ ok: literal(true) }).strict();
10528
+ object({ ok: boolean() }).strict();
10231
10529
  object({
10232
10530
  id: ShareLinkIdValidator,
10233
10531
  clientRequestId,
@@ -10239,7 +10537,8 @@ object({
10239
10537
  selectedCount: number().int().min(1).max(MAX_SELECTED_CREDENTIALS),
10240
10538
  contentVersion: literal(1),
10241
10539
  envelope: ShareEnvelopeValidator,
10242
- ownerEncryptedRecovery: ShareOwnerRecoveryValidator
10540
+ ownerEncryptedRecovery: ShareOwnerRecoveryValidator,
10541
+ attachment: ShareLinkAttachmentValidator.optional()
10243
10542
  }).strict();
10244
10543
  object({
10245
10544
  id: ShareLinkIdValidator,
@@ -10254,7 +10553,8 @@ object({
10254
10553
  contentVersion: safeVersion.optional(),
10255
10554
  selectedCount: number().int().min(1).max(MAX_SELECTED_CREDENTIALS).optional(),
10256
10555
  envelope: ShareEnvelopeValidator.optional(),
10257
- ownerEncryptedRecovery: ShareOwnerRecoveryValidator.optional()
10556
+ ownerEncryptedRecovery: ShareOwnerRecoveryValidator.optional(),
10557
+ attachment: ShareLinkAttachmentValidator.optional()
10258
10558
  }).strict().superRefine((value, ctx) => {
10259
10559
  const provided = [
10260
10560
  value.contentVersion,
@@ -10268,6 +10568,9 @@ object({
10268
10568
  message: "content replacement requires contentVersion, selectedCount, envelope and ownerEncryptedRecovery together"
10269
10569
  });
10270
10570
  }
10571
+ if (value.attachment !== void 0 && provided !== 4) {
10572
+ ctx.addIssue({ code: "custom", message: "attachment requires a content replacement" });
10573
+ }
10271
10574
  });
10272
10575
  object({ id: ShareLinkIdValidator }).strict();
10273
10576
  object({ id: ShareLinkIdValidator, operationId: string().uuid() }).strict();
@@ -10353,4 +10656,4 @@ object({
10353
10656
  }).strict();
10354
10657
 
10355
10658
  exports.VerificationStatusEnum = VerificationStatusEnum;
10356
- //# sourceMappingURL=types.esm-9062360c.js.map
10659
+ //# sourceMappingURL=types.esm-6ef18f40.js.map