@learncard/ceramic-plugin 1.1.1 → 1.1.4

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.
@@ -63994,7 +63994,7 @@ var FullClaimHookValidator = external_exports.object({ id: external_exports.stri
63994
63994
  var PaginatedClaimHooksValidator = PaginationResponseValidator.extend({
63995
63995
  records: FullClaimHookValidator.array()
63996
63996
  });
63997
- var LCNBoostStatus = external_exports.enum(["DRAFT", "LIVE"]);
63997
+ var LCNBoostStatus = external_exports.enum(["DRAFT", "PROVISIONAL", "LIVE"]);
63998
63998
  var BoostValidator = external_exports.object({
63999
63999
  uri: external_exports.string(),
64000
64000
  name: external_exports.string().optional(),
@@ -64078,21 +64078,46 @@ var SendBoostTemplateValidator = BoostValidator.partial().omit({ uri: true, clai
64078
64078
  claimPermissions: BoostPermissionsValidator.partial().optional(),
64079
64079
  skills: external_exports.array(external_exports.object({ frameworkId: external_exports.string(), id: external_exports.string() })).min(1).optional()
64080
64080
  });
64081
+ var SendBrandingOptionsValidator = external_exports.object({
64082
+ issuerName: external_exports.string().optional().describe("Name of the issuing organization"),
64083
+ issuerLogoUrl: external_exports.string().url().optional().describe("Logo URL of the issuing organization"),
64084
+ credentialName: external_exports.string().optional().describe("Display name for the credential"),
64085
+ recipientName: external_exports.string().optional().describe("Name of the recipient for personalization")
64086
+ });
64087
+ var SendOptionsValidator = external_exports.object({
64088
+ webhookUrl: external_exports.string().url().optional().describe("Webhook URL to receive claim notifications"),
64089
+ suppressDelivery: external_exports.boolean().optional().describe("If true, returns claimUrl without sending email/SMS"),
64090
+ branding: SendBrandingOptionsValidator.optional().describe("Branding for email/SMS delivery")
64091
+ });
64081
64092
  var SendBoostInputValidator = external_exports.object({
64082
64093
  type: external_exports.literal("boost"),
64083
- recipient: external_exports.string(),
64094
+ recipient: external_exports.string().describe("Profile ID, DID, email, or phone number (auto-detected)"),
64084
64095
  contractUri: external_exports.string().optional(),
64085
64096
  templateUri: external_exports.string().optional(),
64086
64097
  template: SendBoostTemplateValidator.optional(),
64087
- signedCredential: VCValidator.optional()
64098
+ signedCredential: VCValidator.optional(),
64099
+ options: SendOptionsValidator.optional().describe(
64100
+ "Options for email/phone recipients (Universal Inbox)"
64101
+ ),
64102
+ templateData: external_exports.record(external_exports.string(), external_exports.unknown()).optional(),
64103
+ integrationId: external_exports.string().optional().describe("Integration ID for activity tracking")
64088
64104
  }).refine((data) => data.templateUri || data.template, {
64089
64105
  message: "Either templateUri or template creation data must be provided.",
64090
64106
  path: ["templateUri"]
64091
64107
  });
64108
+ var SendInboxResponseValidator = external_exports.object({
64109
+ issuanceId: external_exports.string(),
64110
+ status: external_exports.enum(["PENDING", "ISSUED", "EXPIRED", "DELIVERED", "CLAIMED"]),
64111
+ claimUrl: external_exports.string().url().optional().describe("Present when suppressDelivery=true")
64112
+ });
64092
64113
  var SendBoostResponseValidator = external_exports.object({
64093
64114
  type: external_exports.literal("boost"),
64094
64115
  credentialUri: external_exports.string(),
64095
- uri: external_exports.string()
64116
+ uri: external_exports.string(),
64117
+ activityId: external_exports.string().describe("Links to the activity lifecycle for this issuance"),
64118
+ inbox: SendInboxResponseValidator.optional().describe(
64119
+ "Present when sent via email/phone (Universal Inbox)"
64120
+ )
64096
64121
  });
64097
64122
  var SendInputValidator = external_exports.discriminatedUnion("type", [SendBoostInputValidator]);
64098
64123
  var SendResponseValidator = external_exports.discriminatedUnion("type", [SendBoostResponseValidator]);
@@ -64444,6 +64469,8 @@ var InboxCredentialValidator = external_exports.object({
64444
64469
  createdAt: external_exports.string(),
64445
64470
  issuerDid: external_exports.string(),
64446
64471
  webhookUrl: external_exports.string().optional(),
64472
+ boostUri: external_exports.string().optional(),
64473
+ activityId: external_exports.string().optional(),
64447
64474
  signingAuthority: external_exports.object({
64448
64475
  endpoint: external_exports.string().optional(),
64449
64476
  name: external_exports.string().optional()
@@ -64459,7 +64486,8 @@ var InboxCredentialQueryValidator = external_exports.object({
64459
64486
  id: external_exports.string(),
64460
64487
  isSigned: external_exports.boolean(),
64461
64488
  isAccepted: external_exports.boolean().optional(),
64462
- issuerDid: external_exports.string()
64489
+ issuerDid: external_exports.string(),
64490
+ boostUri: external_exports.string()
64463
64491
  }).partial();
64464
64492
  var IssueInboxSigningAuthorityValidator = external_exports.object({
64465
64493
  endpoint: external_exports.string().url(),
@@ -64469,9 +64497,13 @@ var IssueInboxCredentialValidator = external_exports.object({
64469
64497
  // === CORE DATA (Required) ===
64470
64498
  // WHAT is being sent and WHO is it for?
64471
64499
  recipient: ContactMethodQueryValidator.describe("The recipient of the credential"),
64472
- credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).describe(
64500
+ // Either credential OR templateUri must be provided
64501
+ credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).optional().describe(
64473
64502
  "The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."
64474
64503
  ),
64504
+ templateUri: external_exports.string().optional().describe(
64505
+ "URI of a boost template to use for issuance. The boost credential will be resolved and used. Mutually exclusive with credential field."
64506
+ ),
64475
64507
  // === OPTIONAL FEATURES ===
64476
64508
  // Add major, distinct features at the top level.
64477
64509
  //consentRequest: ConsentRequestValidator.optional(),
@@ -64483,6 +64515,9 @@ var IssueInboxCredentialValidator = external_exports.object({
64483
64515
  ),
64484
64516
  webhookUrl: external_exports.string().url().optional().describe("The webhook URL to receive credential issuance events."),
64485
64517
  expiresInDays: external_exports.number().min(1).max(365).optional().describe("The number of days the credential will be valid for."),
64518
+ templateData: external_exports.record(external_exports.string(), external_exports.unknown()).optional().describe(
64519
+ "Template data to render into the boost credential template using Mustache syntax. Only used when boostUri is provided."
64520
+ ),
64486
64521
  // --- For User-Facing Delivery (Email/SMS) ---
64487
64522
  delivery: external_exports.object({
64488
64523
  suppress: external_exports.boolean().optional().default(false).describe(
@@ -64497,7 +64532,9 @@ var IssueInboxCredentialValidator = external_exports.object({
64497
64532
  name: external_exports.string().optional().describe(
64498
64533
  'The name of the organization (e.g., "State University").'
64499
64534
  ),
64500
- logoUrl: external_exports.string().url().optional().describe("The URL of the organization's logo.")
64535
+ logoUrl: external_exports.string().url().optional().describe(
64536
+ "The URL of the organization's logo."
64537
+ )
64501
64538
  }).optional(),
64502
64539
  credential: external_exports.object({
64503
64540
  name: external_exports.string().optional().describe(
@@ -64524,6 +64561,9 @@ var IssueInboxCredentialValidator = external_exports.object({
64524
64561
  }).optional().describe(
64525
64562
  "Configuration for the credential issuance. If not provided, the default configuration will be used."
64526
64563
  )
64564
+ }).refine((data) => data.credential || data.templateUri, {
64565
+ message: "Either credential or templateUri must be provided.",
64566
+ path: ["credential"]
64527
64567
  });
64528
64568
  var IssueInboxCredentialResponseValidator = external_exports.object({
64529
64569
  issuanceId: external_exports.string(),
@@ -64551,28 +64591,43 @@ var LCNDomainOrOriginValidator = external_exports.union([
64551
64591
  { message: "Must be a valid http(s) origin" }
64552
64592
  )
64553
64593
  ]);
64594
+ var LCNIntegrationStatusEnum = external_exports.enum(["setup", "active", "paused"]);
64554
64595
  var LCNIntegrationValidator = external_exports.object({
64555
64596
  id: external_exports.string(),
64556
64597
  name: external_exports.string(),
64557
64598
  description: external_exports.string().optional(),
64558
64599
  publishableKey: external_exports.string(),
64559
- whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([])
64600
+ whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([]),
64601
+ // Setup/onboarding status
64602
+ status: LCNIntegrationStatusEnum.default("setup"),
64603
+ guideType: external_exports.string().optional(),
64604
+ guideState: external_exports.record(external_exports.string(), external_exports.any()).optional(),
64605
+ // Timestamps
64606
+ createdAt: external_exports.string().optional(),
64607
+ updatedAt: external_exports.string().optional()
64560
64608
  });
64561
64609
  var LCNIntegrationCreateValidator = external_exports.object({
64562
64610
  name: external_exports.string(),
64563
64611
  description: external_exports.string().optional(),
64564
- whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([])
64612
+ whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([]),
64613
+ guideType: external_exports.string().optional()
64565
64614
  });
64566
64615
  var LCNIntegrationUpdateValidator = external_exports.object({
64567
64616
  name: external_exports.string().optional(),
64568
64617
  description: external_exports.string().optional(),
64569
64618
  whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).optional(),
64570
- rotatePublishableKey: external_exports.boolean().optional()
64619
+ rotatePublishableKey: external_exports.boolean().optional(),
64620
+ // Setup/onboarding updates
64621
+ status: LCNIntegrationStatusEnum.optional(),
64622
+ guideType: external_exports.string().optional(),
64623
+ guideState: external_exports.record(external_exports.string(), external_exports.any()).optional()
64571
64624
  });
64572
64625
  var LCNIntegrationQueryValidator = external_exports.object({
64573
64626
  id: StringQuery,
64574
64627
  name: StringQuery,
64575
- description: StringQuery
64628
+ description: StringQuery,
64629
+ status: StringQuery,
64630
+ guideType: StringQuery
64576
64631
  }).partial();
64577
64632
  var PaginatedLCNIntegrationsValidator = PaginationResponseValidator.extend({
64578
64633
  records: LCNIntegrationValidator.array()
@@ -64787,6 +64842,7 @@ var PromotionLevelValidator = external_exports.enum([
64787
64842
  ]);
64788
64843
  var AppStoreListingValidator = external_exports.object({
64789
64844
  listing_id: external_exports.string(),
64845
+ slug: external_exports.string().optional(),
64790
64846
  display_name: external_exports.string(),
64791
64847
  tagline: external_exports.string(),
64792
64848
  full_description: external_exports.string(),
@@ -64824,6 +64880,77 @@ var PaginatedAppStoreListingsValidator = PaginationResponseValidator.extend({
64824
64880
  var PaginatedInstalledAppsValidator = PaginationResponseValidator.extend({
64825
64881
  records: InstalledAppValidator.array()
64826
64882
  });
64883
+ var AppBoostValidator = external_exports.object({
64884
+ templateAlias: external_exports.string().min(1).max(50).regex(/^[a-z0-9-]+$/),
64885
+ boostUri: external_exports.string()
64886
+ });
64887
+ var SendCredentialEventValidator = external_exports.object({
64888
+ type: external_exports.literal("send-credential"),
64889
+ templateAlias: external_exports.string(),
64890
+ templateData: external_exports.record(external_exports.string(), external_exports.unknown()).optional()
64891
+ });
64892
+ var AppEventValidator = external_exports.discriminatedUnion("type", [SendCredentialEventValidator]);
64893
+ var AppEventInputValidator = external_exports.object({
64894
+ listingId: external_exports.string(),
64895
+ event: AppEventValidator
64896
+ });
64897
+ var AppEventResponseValidator = external_exports.record(external_exports.string(), external_exports.unknown());
64898
+ var CredentialActivityEventTypeValidator = external_exports.enum([
64899
+ "CREATED",
64900
+ "DELIVERED",
64901
+ "CLAIMED",
64902
+ "EXPIRED",
64903
+ "FAILED"
64904
+ ]);
64905
+ var CredentialActivityRecipientTypeValidator = external_exports.enum(["profile", "email", "phone"]);
64906
+ var CredentialActivitySourceTypeValidator = external_exports.enum([
64907
+ "send",
64908
+ "sendBoost",
64909
+ "sendCredential",
64910
+ "contract",
64911
+ "claim",
64912
+ "inbox",
64913
+ "claimLink",
64914
+ "acceptCredential"
64915
+ ]);
64916
+ var CredentialActivityValidator = external_exports.object({
64917
+ id: external_exports.string(),
64918
+ activityId: external_exports.string(),
64919
+ eventType: CredentialActivityEventTypeValidator,
64920
+ timestamp: external_exports.string(),
64921
+ actorProfileId: external_exports.string(),
64922
+ recipientType: CredentialActivityRecipientTypeValidator,
64923
+ recipientIdentifier: external_exports.string(),
64924
+ boostUri: external_exports.string().optional(),
64925
+ credentialUri: external_exports.string().optional(),
64926
+ inboxCredentialId: external_exports.string().optional(),
64927
+ integrationId: external_exports.string().optional(),
64928
+ source: CredentialActivitySourceTypeValidator,
64929
+ metadata: external_exports.record(external_exports.string(), external_exports.unknown()).optional()
64930
+ });
64931
+ var CredentialActivityWithDetailsValidator = CredentialActivityValidator.extend({
64932
+ boost: external_exports.object({
64933
+ id: external_exports.string(),
64934
+ name: external_exports.string().optional(),
64935
+ category: external_exports.string().optional()
64936
+ }).optional(),
64937
+ recipientProfile: external_exports.object({
64938
+ profileId: external_exports.string(),
64939
+ displayName: external_exports.string().optional()
64940
+ }).optional()
64941
+ });
64942
+ var PaginatedCredentialActivitiesValidator = PaginationResponseValidator.extend({
64943
+ records: CredentialActivityWithDetailsValidator.array()
64944
+ });
64945
+ var CredentialActivityStatsValidator = external_exports.object({
64946
+ total: external_exports.number(),
64947
+ created: external_exports.number(),
64948
+ delivered: external_exports.number(),
64949
+ claimed: external_exports.number(),
64950
+ expired: external_exports.number(),
64951
+ failed: external_exports.number(),
64952
+ claimRate: external_exports.number()
64953
+ });
64827
64954
 
64828
64955
  // src/helpers.ts
64829
64956
  var streamIdToCeramicURI = /* @__PURE__ */ __name((id) => `lc:ceramic:${id}`, "streamIdToCeramicURI");