@learncard/react 2.9.21 → 2.9.23

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 (97) hide show
  1. package/dist/cjs/{BoostGenericCard-7fadd6af.js → BoostGenericCard-39cc570b.js} +2 -2
  2. package/dist/cjs/{BoostGenericCard-7fadd6af.js.map → BoostGenericCard-39cc570b.js.map} +1 -1
  3. package/dist/cjs/{CertificateDisplayCard-3dd9a3f8.js → CertificateDisplayCard-350dba34.js} +4 -4
  4. package/dist/cjs/{CertificateDisplayCard-3dd9a3f8.js.map → CertificateDisplayCard-350dba34.js.map} +1 -1
  5. package/dist/cjs/{MeritBadgeDisplayCard-2a690a63.js → MeritBadgeDisplayCard-d2f7f4af.js} +4 -4
  6. package/dist/cjs/{MeritBadgeDisplayCard-2a690a63.js.map → MeritBadgeDisplayCard-d2f7f4af.js.map} +1 -1
  7. package/dist/cjs/{MeritBadgeSkillsCount-ae6e8ed4.js → MeritBadgeSkillsCount-956da4c4.js} +2 -2
  8. package/dist/cjs/{MeritBadgeSkillsCount-ae6e8ed4.js.map → MeritBadgeSkillsCount-956da4c4.js.map} +1 -1
  9. package/dist/cjs/{SchoolIDCard-dddb3b1d.js → SchoolIDCard-e22d0d80.js} +1184 -3
  10. package/dist/cjs/SchoolIDCard-e22d0d80.js.map +1 -0
  11. package/dist/cjs/{VCCard-7473b581.js → VCCard-1dcd78da.js} +3 -3
  12. package/dist/cjs/{VCCard-7473b581.js.map → VCCard-1dcd78da.js.map} +1 -1
  13. package/dist/cjs/{VCDisplayBackFace-a05e4046.js → VCDisplayBackFace-c9af2743.js} +3 -3
  14. package/dist/cjs/{VCDisplayBackFace-a05e4046.js.map → VCDisplayBackFace-c9af2743.js.map} +1 -1
  15. package/dist/cjs/{VCDisplayCard-3346d2f9.js → VCDisplayCard-6d725b13.js} +3 -3
  16. package/dist/cjs/{VCDisplayCard-3346d2f9.js.map → VCDisplayCard-6d725b13.js.map} +1 -1
  17. package/dist/cjs/{VCDisplayCard2-d713808f.js → VCDisplayCard2-a3855ae5.js} +6 -7
  18. package/dist/{esm/VCDisplayCard2-325d6536.js.map → cjs/VCDisplayCard2-a3855ae5.js.map} +1 -1
  19. package/dist/cjs/{VCVerificationPill-08b37c5d.js → VCVerificationPill-d1dd6081.js} +2 -2
  20. package/dist/cjs/{VCVerificationPill-08b37c5d.js.map → VCVerificationPill-d1dd6081.js.map} +1 -1
  21. package/dist/cjs/{VerifierStateBadgeAndText-af68fd70.js → VerifierStateBadgeAndText-43521e22.js} +166 -10
  22. package/dist/cjs/VerifierStateBadgeAndText-43521e22.js.map +1 -0
  23. package/dist/cjs/{credential.helpers-f060ee96.js → credential.helpers-e66ed2ac.js} +2 -2
  24. package/dist/cjs/{credential.helpers-f060ee96.js.map → credential.helpers-e66ed2ac.js.map} +1 -1
  25. package/dist/cjs/index.js +13 -14
  26. package/dist/cjs/index.js.map +1 -1
  27. package/dist/cjs/index13.js +13 -14
  28. package/dist/cjs/index13.js.map +1 -1
  29. package/dist/cjs/index21.js +5 -5
  30. package/dist/cjs/index3.js +3 -3
  31. package/dist/cjs/index30.js +1 -2
  32. package/dist/cjs/index30.js.map +1 -1
  33. package/dist/cjs/index38.js +10 -11
  34. package/dist/cjs/index38.js.map +1 -1
  35. package/dist/cjs/index39.js +4 -4
  36. package/dist/cjs/index40.js +5 -5
  37. package/dist/cjs/index41.js +6 -7
  38. package/dist/cjs/index41.js.map +1 -1
  39. package/dist/cjs/index42.js +1 -1
  40. package/dist/cjs/index45.js +2 -2
  41. package/dist/cjs/index6.js +4 -4
  42. package/dist/cjs/{types.esm-4a1c2fcd.js → types.esm-fecf5c28.js} +151 -9
  43. package/dist/cjs/types.esm-fecf5c28.js.map +1 -0
  44. package/dist/esm/{BoostGenericCard-39cf631c.js → BoostGenericCard-cb7a0cd2.js} +2 -2
  45. package/dist/esm/{BoostGenericCard-39cf631c.js.map → BoostGenericCard-cb7a0cd2.js.map} +1 -1
  46. package/dist/esm/{CertificateDisplayCard-110ddfae.js → CertificateDisplayCard-d4199b64.js} +4 -4
  47. package/dist/esm/{CertificateDisplayCard-110ddfae.js.map → CertificateDisplayCard-d4199b64.js.map} +1 -1
  48. package/dist/esm/{MeritBadgeDisplayCard-8a1cb8fb.js → MeritBadgeDisplayCard-b93d8519.js} +4 -4
  49. package/dist/esm/{MeritBadgeDisplayCard-8a1cb8fb.js.map → MeritBadgeDisplayCard-b93d8519.js.map} +1 -1
  50. package/dist/esm/{MeritBadgeSkillsCount-0d7bec55.js → MeritBadgeSkillsCount-5d2426cd.js} +2 -2
  51. package/dist/esm/{MeritBadgeSkillsCount-0d7bec55.js.map → MeritBadgeSkillsCount-5d2426cd.js.map} +1 -1
  52. package/dist/esm/{SchoolIDCard-4e51671c.js → SchoolIDCard-8b151cd3.js} +1183 -2
  53. package/dist/esm/SchoolIDCard-8b151cd3.js.map +1 -0
  54. package/dist/esm/{VCCard-e89d7a98.js → VCCard-d3012adf.js} +3 -3
  55. package/dist/esm/{VCCard-e89d7a98.js.map → VCCard-d3012adf.js.map} +1 -1
  56. package/dist/esm/{VCDisplayBackFace-eeaa642e.js → VCDisplayBackFace-b011a5f5.js} +3 -3
  57. package/dist/esm/{VCDisplayBackFace-eeaa642e.js.map → VCDisplayBackFace-b011a5f5.js.map} +1 -1
  58. package/dist/esm/{VCDisplayCard-fb1b7706.js → VCDisplayCard-1a94a3dc.js} +3 -3
  59. package/dist/esm/{VCDisplayCard-fb1b7706.js.map → VCDisplayCard-1a94a3dc.js.map} +1 -1
  60. package/dist/esm/{VCDisplayCard2-325d6536.js → VCDisplayCard2-a4fbe924.js} +6 -7
  61. package/dist/{cjs/VCDisplayCard2-d713808f.js.map → esm/VCDisplayCard2-a4fbe924.js.map} +1 -1
  62. package/dist/esm/{VCVerificationPill-ba90b49b.js → VCVerificationPill-da503f98.js} +2 -2
  63. package/dist/esm/{VCVerificationPill-ba90b49b.js.map → VCVerificationPill-da503f98.js.map} +1 -1
  64. package/dist/esm/{VerifierStateBadgeAndText-6d33089b.js → VerifierStateBadgeAndText-92e57581.js} +166 -10
  65. package/dist/esm/VerifierStateBadgeAndText-92e57581.js.map +1 -0
  66. package/dist/esm/{credential.helpers-30058000.js → credential.helpers-e5f5dede.js} +2 -2
  67. package/dist/esm/{credential.helpers-30058000.js.map → credential.helpers-e5f5dede.js.map} +1 -1
  68. package/dist/esm/index.js +13 -14
  69. package/dist/esm/index.js.map +1 -1
  70. package/dist/esm/index13.js +13 -14
  71. package/dist/esm/index13.js.map +1 -1
  72. package/dist/esm/index21.js +5 -5
  73. package/dist/esm/index3.js +3 -3
  74. package/dist/esm/index30.js +1 -2
  75. package/dist/esm/index30.js.map +1 -1
  76. package/dist/esm/index38.js +10 -11
  77. package/dist/esm/index38.js.map +1 -1
  78. package/dist/esm/index39.js +4 -4
  79. package/dist/esm/index40.js +5 -5
  80. package/dist/esm/index41.js +6 -7
  81. package/dist/esm/index41.js.map +1 -1
  82. package/dist/esm/index42.js +1 -1
  83. package/dist/esm/index45.js +2 -2
  84. package/dist/esm/index6.js +4 -4
  85. package/dist/esm/{types.esm-f58818d5.js → types.esm-3b925b3f.js} +151 -9
  86. package/dist/esm/types.esm-3b925b3f.js.map +1 -0
  87. package/package.json +3 -3
  88. package/dist/cjs/SchoolIDCard-dddb3b1d.js.map +0 -1
  89. package/dist/cjs/VerifierStateBadgeAndText-af68fd70.js.map +0 -1
  90. package/dist/cjs/index-838fa72c.js +0 -1186
  91. package/dist/cjs/index-838fa72c.js.map +0 -1
  92. package/dist/cjs/types.esm-4a1c2fcd.js.map +0 -1
  93. package/dist/esm/SchoolIDCard-4e51671c.js.map +0 -1
  94. package/dist/esm/VerifierStateBadgeAndText-6d33089b.js.map +0 -1
  95. package/dist/esm/index-4fa491c1.js +0 -1184
  96. package/dist/esm/index-4fa491c1.js.map +0 -1
  97. package/dist/esm/types.esm-f58818d5.js.map +0 -1
@@ -4331,6 +4331,42 @@ var UnsignedAchievementCredentialValidator = UnsignedVCValidator.extend({
4331
4331
  UnsignedAchievementCredentialValidator.extend({
4332
4332
  proof: ProofValidator.or(ProofValidator.array())
4333
4333
  });
4334
+ var AssociationTypeValidator = _enum([
4335
+ "exactMatchOf",
4336
+ "extends",
4337
+ "isChildOf",
4338
+ "isParentOf",
4339
+ "isPartOf",
4340
+ "isPeerOf",
4341
+ "isRelatedTo",
4342
+ "precedes",
4343
+ "replacedBy"
4344
+ ]).or(string());
4345
+ var AssociationValidator = object({
4346
+ type: string().array().nonempty(),
4347
+ associationType: AssociationTypeValidator,
4348
+ sourceId: string().optional(),
4349
+ targetId: string()
4350
+ }).catchall(any());
4351
+ var ClrSubjectValidator = object({
4352
+ id: string().optional(),
4353
+ type: string().array().nonempty(),
4354
+ identifier: any().array().optional(),
4355
+ achievement: AchievementValidator.array().optional(),
4356
+ association: AssociationValidator.array().optional(),
4357
+ verifiableCredential: any().array().optional()
4358
+ }).catchall(any());
4359
+ var UnsignedClrCredentialValidator = UnsignedVCValidator.extend({
4360
+ name: string().optional(),
4361
+ description: string().optional(),
4362
+ image: ImageValidator.optional(),
4363
+ credentialSubject: ClrSubjectValidator.or(ClrSubjectValidator.array()),
4364
+ endorsement: EndorsementCredentialValidator.array().optional(),
4365
+ partial: boolean().optional()
4366
+ });
4367
+ UnsignedClrCredentialValidator.extend({
4368
+ proof: ProofValidator.or(ProofValidator.array())
4369
+ });
4334
4370
  object({
4335
4371
  checks: string().array(),
4336
4372
  warnings: string().array(),
@@ -4682,10 +4718,16 @@ var SendBrandingOptionsValidator = object({
4682
4718
  credentialName: string().optional().describe("Display name for the credential"),
4683
4719
  recipientName: string().optional().describe("Name of the recipient for personalization")
4684
4720
  });
4721
+ var GuardianStatusValidator = _enum([
4722
+ "AWAITING_GUARDIAN",
4723
+ "GUARDIAN_APPROVED",
4724
+ "GUARDIAN_REJECTED"
4725
+ ]);
4685
4726
  var SendOptionsValidator = object({
4686
4727
  webhookUrl: string().url().optional().describe("Webhook URL to receive claim notifications"),
4687
4728
  suppressDelivery: boolean().optional().describe("If true, returns claimUrl without sending email/SMS"),
4688
- branding: SendBrandingOptionsValidator.optional().describe("Branding for email/SMS delivery")
4729
+ branding: SendBrandingOptionsValidator.optional().describe("Branding for email/SMS delivery"),
4730
+ guardianEmail: string().email().optional().describe("Guardian email that must approve before student can claim")
4689
4731
  });
4690
4732
  var SendBoostInputValidator = object({
4691
4733
  type: literal("boost"),
@@ -4702,11 +4744,26 @@ var SendBoostInputValidator = object({
4702
4744
  }).refine((data) => data.templateUri || data.template || data.signedCredential, {
4703
4745
  message: "Either templateUri, template, or signedCredential must be provided.",
4704
4746
  path: ["templateUri"]
4705
- });
4747
+ }).refine(
4748
+ (data) => {
4749
+ var _a2;
4750
+ if ((_a2 = data.options) == null ? void 0 : _a2.guardianEmail) {
4751
+ return data.options.guardianEmail.toLowerCase() !== data.recipient.toLowerCase();
4752
+ }
4753
+ return true;
4754
+ },
4755
+ {
4756
+ message: "guardianEmail must differ from recipient (self-approval not allowed)",
4757
+ path: ["options", "guardianEmail"]
4758
+ }
4759
+ );
4706
4760
  var SendInboxResponseValidator = object({
4707
4761
  issuanceId: string(),
4708
4762
  status: _enum(["PENDING", "ISSUED", "EXPIRED", "DELIVERED", "CLAIMED"]),
4709
- claimUrl: string().url().optional().describe("Present when suppressDelivery=true")
4763
+ claimUrl: string().url().optional().describe("Present when suppressDelivery=true"),
4764
+ guardianStatus: GuardianStatusValidator.optional().describe(
4765
+ "Present when guardianEmail was specified"
4766
+ )
4710
4767
  });
4711
4768
  var SendBoostResponseValidator = object({
4712
4769
  type: literal("boost"),
@@ -4943,7 +5000,11 @@ var LCNNotificationTypeEnumValidator = _enum([
4943
5000
  "APP_LISTING_APPROVED",
4944
5001
  "APP_LISTING_REJECTED",
4945
5002
  "APP_LISTING_WITHDRAWN",
4946
- "DEVICE_LINK_REQUEST"
5003
+ "DEVICE_LINK_REQUEST",
5004
+ "GUARDIAN_APPROVAL_PENDING",
5005
+ "GUARDIAN_APPROVED",
5006
+ "GUARDIAN_REJECTED",
5007
+ "APP_NOTIFICATION"
4947
5008
  ]);
4948
5009
  var LCNNotificationMessageValidator = object({
4949
5010
  title: string().optional(),
@@ -4981,7 +5042,10 @@ var LCNNotificationDataValidator = object({
4981
5042
  object({
4982
5043
  type: LCNNotificationTypeEnumValidator,
4983
5044
  to: LCNProfileValidator.partial().and(object({ did: string() })),
4984
- from: LCNProfileValidator.partial().and(object({ did: string() })),
5045
+ from: union([
5046
+ string(),
5047
+ LCNProfileValidator.partial().and(object({ did: string() }))
5048
+ ]),
4985
5049
  message: LCNNotificationMessageValidator.optional(),
4986
5050
  data: LCNNotificationDataValidator.optional(),
4987
5051
  sent: datetime().optional(),
@@ -5086,7 +5150,12 @@ var InboxCredentialValidator = object({
5086
5150
  signingAuthority: object({
5087
5151
  endpoint: string().optional(),
5088
5152
  name: string().optional()
5089
- }).optional()
5153
+ }).optional(),
5154
+ // Guardian gate fields (all optional — absent on pre-existing credentials)
5155
+ guardianEmail: string().email().optional(),
5156
+ guardianStatus: GuardianStatusValidator.optional(),
5157
+ guardianApprovedAt: string().optional(),
5158
+ guardianApprovedByDid: string().optional()
5090
5159
  });
5091
5160
  object({
5092
5161
  hasMore: boolean(),
@@ -5554,11 +5623,84 @@ var GetTemplateRecipientsEventValidator = object({
5554
5623
  }).refine((input) => Boolean(input.templateAlias) !== Boolean(input.boostUri), {
5555
5624
  message: "Exactly one of templateAlias or boostUri is required"
5556
5625
  });
5626
+ var RequestLearnerContextEventValidator = object({
5627
+ type: literal("request-learner-context"),
5628
+ includeCredentials: boolean().optional().default(true),
5629
+ includePersonalData: boolean().optional().default(false),
5630
+ format: _enum(["prompt", "structured"]).optional().default("prompt"),
5631
+ instructions: string().optional(),
5632
+ detailLevel: _enum(["compact", "expanded"]).optional().default("compact")
5633
+ });
5634
+ var SummaryCredentialKeywordValidator = object({
5635
+ occupations: array(string()).nullable(),
5636
+ careers: array(string()).nullable(),
5637
+ jobs: array(string()).nullable(),
5638
+ skills: array(string()).nullable(),
5639
+ fieldOfStudy: string().nullable()
5640
+ });
5641
+ var SummaryCredentialDataValidator = object({
5642
+ title: string().describe("Short, concise title for the learning session or credential"),
5643
+ summary: string().describe("Comprehensive summary of what happened during the session"),
5644
+ learned: array(string()).describe("Bullet points of key knowledge gained"),
5645
+ skills: array(
5646
+ object({
5647
+ title: string().describe("Name of the skill category"),
5648
+ description: string().describe("Detailed description of what this skill category involves")
5649
+ })
5650
+ ).describe("Categorized skills learned during the session"),
5651
+ nextSteps: array(
5652
+ object({
5653
+ title: string().describe("Title of the suggested next step"),
5654
+ description: string().describe("Description explaining why this next step is recommended"),
5655
+ keywords: SummaryCredentialKeywordValidator
5656
+ })
5657
+ ).describe("Recommended follow-up activities or learning modules"),
5658
+ reflections: array(
5659
+ object({
5660
+ title: string().describe("Title of the reflection"),
5661
+ description: string().describe("Detailed description of what this reflection involves")
5662
+ })
5663
+ ).describe("Reflections on the learning experience")
5664
+ });
5665
+ var SendAiSessionCredentialEventValidator = object({
5666
+ type: literal("send-ai-session-credential"),
5667
+ sessionTitle: string(),
5668
+ summaryData: SummaryCredentialDataValidator,
5669
+ metadata: record(string(), unknown()).optional()
5670
+ });
5671
+ var SendNotificationEventValidator = object({
5672
+ type: literal("send-notification"),
5673
+ title: string().optional(),
5674
+ body: string().optional(),
5675
+ actionPath: string().optional(),
5676
+ category: string().optional(),
5677
+ priority: _enum(["normal", "high"]).optional()
5678
+ });
5679
+ var counterKeyValidator = string().min(1).max(64).regex(/^[a-zA-Z0-9_-]+$/, "Key must be alphanumeric with _ or -");
5680
+ var IncrementCounterEventValidator = object({
5681
+ type: literal("increment-counter"),
5682
+ key: counterKeyValidator,
5683
+ amount: number().int().finite()
5684
+ });
5685
+ var GetCounterEventValidator = object({
5686
+ type: literal("get-counter"),
5687
+ key: counterKeyValidator
5688
+ });
5689
+ var GetCountersEventValidator = object({
5690
+ type: literal("get-counters"),
5691
+ keys: array(counterKeyValidator).min(1).max(50).optional()
5692
+ });
5557
5693
  var AppEventValidator = discriminatedUnion("type", [
5558
5694
  SendCredentialEventValidator,
5559
5695
  CheckCredentialEventValidator,
5560
5696
  CheckIssuanceStatusEventValidator,
5561
- GetTemplateRecipientsEventValidator
5697
+ GetTemplateRecipientsEventValidator,
5698
+ RequestLearnerContextEventValidator,
5699
+ SendAiSessionCredentialEventValidator,
5700
+ SendNotificationEventValidator,
5701
+ IncrementCounterEventValidator,
5702
+ GetCounterEventValidator,
5703
+ GetCountersEventValidator
5562
5704
  ]);
5563
5705
  object({
5564
5706
  listingId: string(),
@@ -5589,7 +5731,7 @@ var CredentialActivityValidator = object({
5589
5731
  activityId: string(),
5590
5732
  eventType: CredentialActivityEventTypeValidator,
5591
5733
  timestamp: string(),
5592
- actorProfileId: string(),
5734
+ actorProfileId: string().optional(),
5593
5735
  recipientType: CredentialActivityRecipientTypeValidator,
5594
5736
  recipientIdentifier: string(),
5595
5737
  boostUri: string().optional(),
@@ -5631,4 +5773,4 @@ object({
5631
5773
  }, __name(_a, "AuthSessionError"), _a);
5632
5774
 
5633
5775
  export { VerificationStatusEnum as V, literal as l, number as n, object as o, string as s, union as u };
5634
- //# sourceMappingURL=types.esm-f58818d5.js.map
5776
+ //# sourceMappingURL=types.esm-3b925b3f.js.map