@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.
@@ -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,22 +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
64103
  signedCredential: VCValidator.optional(),
64093
- templateData: external_exports.record(external_exports.string(), external_exports.unknown()).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")
64094
64109
  }).refine((data) => data.templateUri || data.template, {
64095
64110
  message: "Either templateUri or template creation data must be provided.",
64096
64111
  path: ["templateUri"]
64097
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
+ });
64098
64118
  var SendBoostResponseValidator = external_exports.object({
64099
64119
  type: external_exports.literal("boost"),
64100
64120
  credentialUri: external_exports.string(),
64101
- 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
+ )
64102
64126
  });
64103
64127
  var SendInputValidator = external_exports.discriminatedUnion("type", [SendBoostInputValidator]);
64104
64128
  var SendResponseValidator = external_exports.discriminatedUnion("type", [SendBoostResponseValidator]);
@@ -64450,6 +64474,8 @@ var InboxCredentialValidator = external_exports.object({
64450
64474
  createdAt: external_exports.string(),
64451
64475
  issuerDid: external_exports.string(),
64452
64476
  webhookUrl: external_exports.string().optional(),
64477
+ boostUri: external_exports.string().optional(),
64478
+ activityId: external_exports.string().optional(),
64453
64479
  signingAuthority: external_exports.object({
64454
64480
  endpoint: external_exports.string().optional(),
64455
64481
  name: external_exports.string().optional()
@@ -64465,7 +64491,8 @@ var InboxCredentialQueryValidator = external_exports.object({
64465
64491
  id: external_exports.string(),
64466
64492
  isSigned: external_exports.boolean(),
64467
64493
  isAccepted: external_exports.boolean().optional(),
64468
- issuerDid: external_exports.string()
64494
+ issuerDid: external_exports.string(),
64495
+ boostUri: external_exports.string()
64469
64496
  }).partial();
64470
64497
  var IssueInboxSigningAuthorityValidator = external_exports.object({
64471
64498
  endpoint: external_exports.string().url(),
@@ -64475,9 +64502,13 @@ var IssueInboxCredentialValidator = external_exports.object({
64475
64502
  // === CORE DATA (Required) ===
64476
64503
  // WHAT is being sent and WHO is it for?
64477
64504
  recipient: ContactMethodQueryValidator.describe("The recipient of the credential"),
64478
- credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).describe(
64505
+ // Either credential OR templateUri must be provided
64506
+ credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).optional().describe(
64479
64507
  "The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."
64480
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
+ ),
64481
64512
  // === OPTIONAL FEATURES ===
64482
64513
  // Add major, distinct features at the top level.
64483
64514
  //consentRequest: ConsentRequestValidator.optional(),
@@ -64489,6 +64520,9 @@ var IssueInboxCredentialValidator = external_exports.object({
64489
64520
  ),
64490
64521
  webhookUrl: external_exports.string().url().optional().describe("The webhook URL to receive credential issuance events."),
64491
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
+ ),
64492
64526
  // --- For User-Facing Delivery (Email/SMS) ---
64493
64527
  delivery: external_exports.object({
64494
64528
  suppress: external_exports.boolean().optional().default(false).describe(
@@ -64503,7 +64537,9 @@ var IssueInboxCredentialValidator = external_exports.object({
64503
64537
  name: external_exports.string().optional().describe(
64504
64538
  'The name of the organization (e.g., "State University").'
64505
64539
  ),
64506
- 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
+ )
64507
64543
  }).optional(),
64508
64544
  credential: external_exports.object({
64509
64545
  name: external_exports.string().optional().describe(
@@ -64530,6 +64566,9 @@ var IssueInboxCredentialValidator = external_exports.object({
64530
64566
  }).optional().describe(
64531
64567
  "Configuration for the credential issuance. If not provided, the default configuration will be used."
64532
64568
  )
64569
+ }).refine((data) => data.credential || data.templateUri, {
64570
+ message: "Either credential or templateUri must be provided.",
64571
+ path: ["credential"]
64533
64572
  });
64534
64573
  var IssueInboxCredentialResponseValidator = external_exports.object({
64535
64574
  issuanceId: external_exports.string(),
@@ -64557,28 +64596,43 @@ var LCNDomainOrOriginValidator = external_exports.union([
64557
64596
  { message: "Must be a valid http(s) origin" }
64558
64597
  )
64559
64598
  ]);
64599
+ var LCNIntegrationStatusEnum = external_exports.enum(["setup", "active", "paused"]);
64560
64600
  var LCNIntegrationValidator = external_exports.object({
64561
64601
  id: external_exports.string(),
64562
64602
  name: external_exports.string(),
64563
64603
  description: external_exports.string().optional(),
64564
64604
  publishableKey: external_exports.string(),
64565
- 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()
64566
64613
  });
64567
64614
  var LCNIntegrationCreateValidator = external_exports.object({
64568
64615
  name: external_exports.string(),
64569
64616
  description: external_exports.string().optional(),
64570
- whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([])
64617
+ whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([]),
64618
+ guideType: external_exports.string().optional()
64571
64619
  });
64572
64620
  var LCNIntegrationUpdateValidator = external_exports.object({
64573
64621
  name: external_exports.string().optional(),
64574
64622
  description: external_exports.string().optional(),
64575
64623
  whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).optional(),
64576
- 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()
64577
64629
  });
64578
64630
  var LCNIntegrationQueryValidator = external_exports.object({
64579
64631
  id: StringQuery,
64580
64632
  name: StringQuery,
64581
- description: StringQuery
64633
+ description: StringQuery,
64634
+ status: StringQuery,
64635
+ guideType: StringQuery
64582
64636
  }).partial();
64583
64637
  var PaginatedLCNIntegrationsValidator = PaginationResponseValidator.extend({
64584
64638
  records: LCNIntegrationValidator.array()
@@ -64793,6 +64847,7 @@ var PromotionLevelValidator = external_exports.enum([
64793
64847
  ]);
64794
64848
  var AppStoreListingValidator = external_exports.object({
64795
64849
  listing_id: external_exports.string(),
64850
+ slug: external_exports.string().optional(),
64796
64851
  display_name: external_exports.string(),
64797
64852
  tagline: external_exports.string(),
64798
64853
  full_description: external_exports.string(),
@@ -64830,6 +64885,77 @@ var PaginatedAppStoreListingsValidator = PaginationResponseValidator.extend({
64830
64885
  var PaginatedInstalledAppsValidator = PaginationResponseValidator.extend({
64831
64886
  records: InstalledAppValidator.array()
64832
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
+ });
64833
64959
 
64834
64960
  // src/helpers.ts
64835
64961
  var streamIdToCeramicURI = /* @__PURE__ */ __name((id) => `lc:ceramic:${id}`, "streamIdToCeramicURI");