@learncard/ceramic-plugin 1.1.2 → 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,22 +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
64098
  signedCredential: VCValidator.optional(),
64088
- templateData: external_exports.record(external_exports.string(), external_exports.unknown()).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")
64089
64104
  }).refine((data) => data.templateUri || data.template, {
64090
64105
  message: "Either templateUri or template creation data must be provided.",
64091
64106
  path: ["templateUri"]
64092
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
+ });
64093
64113
  var SendBoostResponseValidator = external_exports.object({
64094
64114
  type: external_exports.literal("boost"),
64095
64115
  credentialUri: external_exports.string(),
64096
- 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
+ )
64097
64121
  });
64098
64122
  var SendInputValidator = external_exports.discriminatedUnion("type", [SendBoostInputValidator]);
64099
64123
  var SendResponseValidator = external_exports.discriminatedUnion("type", [SendBoostResponseValidator]);
@@ -64445,6 +64469,8 @@ var InboxCredentialValidator = external_exports.object({
64445
64469
  createdAt: external_exports.string(),
64446
64470
  issuerDid: external_exports.string(),
64447
64471
  webhookUrl: external_exports.string().optional(),
64472
+ boostUri: external_exports.string().optional(),
64473
+ activityId: external_exports.string().optional(),
64448
64474
  signingAuthority: external_exports.object({
64449
64475
  endpoint: external_exports.string().optional(),
64450
64476
  name: external_exports.string().optional()
@@ -64460,7 +64486,8 @@ var InboxCredentialQueryValidator = external_exports.object({
64460
64486
  id: external_exports.string(),
64461
64487
  isSigned: external_exports.boolean(),
64462
64488
  isAccepted: external_exports.boolean().optional(),
64463
- issuerDid: external_exports.string()
64489
+ issuerDid: external_exports.string(),
64490
+ boostUri: external_exports.string()
64464
64491
  }).partial();
64465
64492
  var IssueInboxSigningAuthorityValidator = external_exports.object({
64466
64493
  endpoint: external_exports.string().url(),
@@ -64470,9 +64497,13 @@ var IssueInboxCredentialValidator = external_exports.object({
64470
64497
  // === CORE DATA (Required) ===
64471
64498
  // WHAT is being sent and WHO is it for?
64472
64499
  recipient: ContactMethodQueryValidator.describe("The recipient of the credential"),
64473
- credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).describe(
64500
+ // Either credential OR templateUri must be provided
64501
+ credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).optional().describe(
64474
64502
  "The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."
64475
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
+ ),
64476
64507
  // === OPTIONAL FEATURES ===
64477
64508
  // Add major, distinct features at the top level.
64478
64509
  //consentRequest: ConsentRequestValidator.optional(),
@@ -64484,6 +64515,9 @@ var IssueInboxCredentialValidator = external_exports.object({
64484
64515
  ),
64485
64516
  webhookUrl: external_exports.string().url().optional().describe("The webhook URL to receive credential issuance events."),
64486
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
+ ),
64487
64521
  // --- For User-Facing Delivery (Email/SMS) ---
64488
64522
  delivery: external_exports.object({
64489
64523
  suppress: external_exports.boolean().optional().default(false).describe(
@@ -64498,7 +64532,9 @@ var IssueInboxCredentialValidator = external_exports.object({
64498
64532
  name: external_exports.string().optional().describe(
64499
64533
  'The name of the organization (e.g., "State University").'
64500
64534
  ),
64501
- 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
+ )
64502
64538
  }).optional(),
64503
64539
  credential: external_exports.object({
64504
64540
  name: external_exports.string().optional().describe(
@@ -64525,6 +64561,9 @@ var IssueInboxCredentialValidator = external_exports.object({
64525
64561
  }).optional().describe(
64526
64562
  "Configuration for the credential issuance. If not provided, the default configuration will be used."
64527
64563
  )
64564
+ }).refine((data) => data.credential || data.templateUri, {
64565
+ message: "Either credential or templateUri must be provided.",
64566
+ path: ["credential"]
64528
64567
  });
64529
64568
  var IssueInboxCredentialResponseValidator = external_exports.object({
64530
64569
  issuanceId: external_exports.string(),
@@ -64552,28 +64591,43 @@ var LCNDomainOrOriginValidator = external_exports.union([
64552
64591
  { message: "Must be a valid http(s) origin" }
64553
64592
  )
64554
64593
  ]);
64594
+ var LCNIntegrationStatusEnum = external_exports.enum(["setup", "active", "paused"]);
64555
64595
  var LCNIntegrationValidator = external_exports.object({
64556
64596
  id: external_exports.string(),
64557
64597
  name: external_exports.string(),
64558
64598
  description: external_exports.string().optional(),
64559
64599
  publishableKey: external_exports.string(),
64560
- 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()
64561
64608
  });
64562
64609
  var LCNIntegrationCreateValidator = external_exports.object({
64563
64610
  name: external_exports.string(),
64564
64611
  description: external_exports.string().optional(),
64565
- whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([])
64612
+ whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([]),
64613
+ guideType: external_exports.string().optional()
64566
64614
  });
64567
64615
  var LCNIntegrationUpdateValidator = external_exports.object({
64568
64616
  name: external_exports.string().optional(),
64569
64617
  description: external_exports.string().optional(),
64570
64618
  whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).optional(),
64571
- 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()
64572
64624
  });
64573
64625
  var LCNIntegrationQueryValidator = external_exports.object({
64574
64626
  id: StringQuery,
64575
64627
  name: StringQuery,
64576
- description: StringQuery
64628
+ description: StringQuery,
64629
+ status: StringQuery,
64630
+ guideType: StringQuery
64577
64631
  }).partial();
64578
64632
  var PaginatedLCNIntegrationsValidator = PaginationResponseValidator.extend({
64579
64633
  records: LCNIntegrationValidator.array()
@@ -64788,6 +64842,7 @@ var PromotionLevelValidator = external_exports.enum([
64788
64842
  ]);
64789
64843
  var AppStoreListingValidator = external_exports.object({
64790
64844
  listing_id: external_exports.string(),
64845
+ slug: external_exports.string().optional(),
64791
64846
  display_name: external_exports.string(),
64792
64847
  tagline: external_exports.string(),
64793
64848
  full_description: external_exports.string(),
@@ -64825,6 +64880,77 @@ var PaginatedAppStoreListingsValidator = PaginationResponseValidator.extend({
64825
64880
  var PaginatedInstalledAppsValidator = PaginationResponseValidator.extend({
64826
64881
  records: InstalledAppValidator.array()
64827
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
+ });
64828
64954
 
64829
64955
  // src/helpers.ts
64830
64956
  var streamIdToCeramicURI = /* @__PURE__ */ __name((id) => `lc:ceramic:${id}`, "streamIdToCeramicURI");