@learncard/ceramic-plugin 1.0.41 → 1.0.43

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.
@@ -54383,7 +54383,7 @@ var LCNProfileValidator = z.object({
54383
54383
  bio: z.string().default("").describe("Longer bio for the profile."),
54384
54384
  did: z.string().describe("Decentralized Identifier for the profile. (auto-assigned)"),
54385
54385
  isPrivate: z.boolean().optional().describe("Whether the profile is private or not and shows up in search results."),
54386
- email: z.string().optional().describe("Contact email address for the profile."),
54386
+ email: z.string().optional().describe("Contact email address for the profile. (deprecated)"),
54387
54387
  image: z.string().optional().describe("Profile image URL for the profile."),
54388
54388
  heroImage: z.string().optional().describe("Hero image URL for the profile."),
54389
54389
  websiteLink: z.string().optional().describe("Website link for the profile."),
@@ -54552,7 +54552,8 @@ var LCNSigningAuthorityForUserValidator = z.object({
54552
54552
  name: z.string().max(15).regex(/^[a-z0-9-]+$/, {
54553
54553
  message: "The input string must contain only lowercase letters, numbers, and hyphens."
54554
54554
  }),
54555
- did: z.string()
54555
+ did: z.string(),
54556
+ isPrimary: z.boolean().optional()
54556
54557
  })
54557
54558
  });
54558
54559
  var AutoBoostConfigValidator = z.object({
@@ -54733,16 +54734,33 @@ var LCNNotificationTypeEnumValidator = z.enum([
54733
54734
  "BOOST_ACCEPTED",
54734
54735
  "PRESENTATION_REQUEST",
54735
54736
  "PRESENTATION_RECEIVED",
54736
- "CONSENT_FLOW_TRANSACTION"
54737
+ "CONSENT_FLOW_TRANSACTION",
54738
+ "ISSUANCE_CLAIMED",
54739
+ "ISSUANCE_DELIVERED"
54737
54740
  ]);
54738
54741
  var LCNNotificationMessageValidator = z.object({
54739
54742
  title: z.string().optional(),
54740
54743
  body: z.string().optional()
54741
54744
  });
54745
+ var LCNInboxContactMethodValidator = z.object({
54746
+ type: z.string(),
54747
+ value: z.string()
54748
+ });
54749
+ var LCNInboxStatusEnumValidator = z.enum(["PENDING", "DELIVERED", "CLAIMED", "EXPIRED"]);
54750
+ var LCNNotificationInboxValidator = z.object({
54751
+ issuanceId: z.string(),
54752
+ status: LCNInboxStatusEnumValidator,
54753
+ recipient: z.object({
54754
+ contactMethod: LCNInboxContactMethodValidator.optional(),
54755
+ learnCardId: z.string().optional()
54756
+ }),
54757
+ timestamp: z.string().datetime().optional()
54758
+ });
54742
54759
  var LCNNotificationDataValidator = z.object({
54743
54760
  vcUris: z.array(z.string()).optional(),
54744
54761
  vpUris: z.array(z.string()).optional(),
54745
- transaction: ConsentFlowTransactionValidator.optional()
54762
+ transaction: ConsentFlowTransactionValidator.optional(),
54763
+ inbox: LCNNotificationInboxValidator.optional()
54746
54764
  });
54747
54765
  var LCNNotificationValidator = z.object({
54748
54766
  type: LCNNotificationTypeEnumValidator,
@@ -54750,7 +54768,8 @@ var LCNNotificationValidator = z.object({
54750
54768
  from: LCNProfileValidator.partial().and(z.object({ did: z.string() })),
54751
54769
  message: LCNNotificationMessageValidator.optional(),
54752
54770
  data: LCNNotificationDataValidator.optional(),
54753
- sent: z.string().datetime().optional()
54771
+ sent: z.string().datetime().optional(),
54772
+ webhookUrl: z.string().optional()
54754
54773
  });
54755
54774
  var AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX = "auth-grant:";
54756
54775
  var AuthGrantValidator = z.object({
@@ -54774,6 +54793,126 @@ var AuthGrantQueryValidator = z.object({
54774
54793
  description: StringQuery,
54775
54794
  status: AuthGrantStatusValidator
54776
54795
  }).partial();
54796
+ var contactMethodBase = z.object({
54797
+ id: z.string(),
54798
+ isVerified: z.boolean(),
54799
+ verifiedAt: z.string().optional(),
54800
+ isPrimary: z.boolean(),
54801
+ createdAt: z.string()
54802
+ });
54803
+ var ContactMethodValidator = z.discriminatedUnion("type", [
54804
+ z.object({
54805
+ type: z.literal("email"),
54806
+ value: z.string().email()
54807
+ }).merge(contactMethodBase),
54808
+ z.object({
54809
+ type: z.literal("phone"),
54810
+ value: z.string()
54811
+ }).merge(contactMethodBase)
54812
+ ]);
54813
+ var createContactMethodBase = z.object({
54814
+ isVerified: z.boolean().optional(),
54815
+ isPrimary: z.boolean().optional()
54816
+ });
54817
+ var ContactMethodCreateValidator = z.discriminatedUnion("type", [
54818
+ z.object({
54819
+ type: z.literal("email"),
54820
+ value: z.string().email()
54821
+ }).merge(createContactMethodBase),
54822
+ z.object({
54823
+ type: z.literal("phone"),
54824
+ value: z.string()
54825
+ }).merge(createContactMethodBase)
54826
+ ]);
54827
+ var ContactMethodQueryValidator = z.discriminatedUnion("type", [
54828
+ z.object({
54829
+ type: z.literal("email"),
54830
+ value: z.string().email()
54831
+ }),
54832
+ z.object({
54833
+ type: z.literal("phone"),
54834
+ value: z.string()
54835
+ })
54836
+ ]);
54837
+ var ContactMethodVerificationRequestValidator = z.object({
54838
+ value: z.string(),
54839
+ type: z.enum(["email", "phone"])
54840
+ });
54841
+ var ContactMethodVerificationValidator = z.object({
54842
+ token: z.string()
54843
+ });
54844
+ var SetPrimaryContactMethodValidator = z.object({
54845
+ contactMethodId: z.string()
54846
+ });
54847
+ var InboxCredentialValidator = z.object({
54848
+ id: z.string(),
54849
+ credential: z.string(),
54850
+ isSigned: z.boolean(),
54851
+ currentStatus: LCNInboxStatusEnumValidator,
54852
+ expiresAt: z.string(),
54853
+ createdAt: z.string(),
54854
+ issuerDid: z.string(),
54855
+ webhookUrl: z.string().optional(),
54856
+ "signingAuthority.endpoint": z.string().optional(),
54857
+ "signingAuthority.name": z.string().optional()
54858
+ });
54859
+ var PaginatedInboxCredentialsValidator = z.object({
54860
+ hasMore: z.boolean(),
54861
+ records: z.array(InboxCredentialValidator),
54862
+ cursor: z.string().optional()
54863
+ });
54864
+ var InboxCredentialQueryValidator = z.object({
54865
+ currentStatus: LCNInboxStatusEnumValidator,
54866
+ id: z.string(),
54867
+ isSigned: z.boolean(),
54868
+ issuerDid: z.string()
54869
+ }).partial();
54870
+ var IssueInboxSigningAuthorityValidator = z.object({
54871
+ endpoint: z.string().url(),
54872
+ name: z.string()
54873
+ });
54874
+ var IssueInboxCredentialValidator = z.object({
54875
+ recipient: ContactMethodQueryValidator.describe("The recipient of the credential"),
54876
+ credential: VCValidator.passthrough().or(VPValidator.passthrough()).or(UnsignedVCValidator.passthrough()).describe("The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."),
54877
+ configuration: z.object({
54878
+ signingAuthority: IssueInboxSigningAuthorityValidator.optional().describe("The signing authority to use for the credential. If not provided, the users default signing authority will be used if the credential is not signed."),
54879
+ webhookUrl: z.string().url().optional().describe("The webhook URL to receive credential issuance events."),
54880
+ expiresInDays: z.number().min(1).max(365).optional().describe("The number of days the credential will be valid for."),
54881
+ delivery: z.object({
54882
+ suppress: z.boolean().optional().default(false).describe("Whether to suppress delivery of the credential to the recipient. If true, the email/sms will not be sent to the recipient. Useful if you would like to manually send claim link to your users."),
54883
+ template: z.object({
54884
+ id: z.enum(["universal-inbox-claim"]).optional().describe("The template ID to use for the credential delivery. If not provided, the default template will be used."),
54885
+ model: z.object({
54886
+ issuer: z.object({
54887
+ name: z.string().optional().describe('The name of the organization (e.g., "State University").'),
54888
+ logoUrl: z.string().url().optional().describe("The URL of the organization's logo.")
54889
+ }).optional(),
54890
+ credential: z.object({
54891
+ name: z.string().optional().describe('The name of the credential (e.g., "Bachelor of Science").'),
54892
+ type: z.string().optional().describe('The type of the credential (e.g., "degree", "certificate").')
54893
+ }).optional(),
54894
+ recipient: z.object({
54895
+ name: z.string().optional().describe('The name of the recipient (e.g., "John Doe").')
54896
+ }).optional()
54897
+ }).describe("The template model to use for the credential delivery. Injects via template variables into email/sms templates. If not provided, the default template will be used.")
54898
+ }).optional().describe("The template to use for the credential delivery. If not provided, the default template will be used.")
54899
+ }).optional().describe("Configuration for the credential delivery i.e. email or SMS. When credentials are sent to a user who has a verified email or phone associated with their account, delivery is skipped, and the credential will be sent using in-app notifications. If not provided, the default configuration will be used.")
54900
+ }).optional().describe("Configuration for the credential issuance. If not provided, the default configuration will be used.")
54901
+ });
54902
+ var IssueInboxCredentialResponseValidator = z.object({
54903
+ issuanceId: z.string(),
54904
+ status: LCNInboxStatusEnumValidator,
54905
+ recipient: ContactMethodQueryValidator,
54906
+ claimUrl: z.string().url().optional(),
54907
+ recipientDid: z.string().optional()
54908
+ });
54909
+ var ClaimTokenValidator = z.object({
54910
+ token: z.string(),
54911
+ contactMethodId: z.string(),
54912
+ createdAt: z.string(),
54913
+ expiresAt: z.string(),
54914
+ used: z.boolean()
54915
+ });
54777
54916
 
54778
54917
  // src/helpers.ts
54779
54918
  var streamIdToCeramicURI = /* @__PURE__ */ __name((id) => `lc:ceramic:${id}`, "streamIdToCeramicURI");