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