@learncard/network-plugin 2.9.2 → 2.9.5

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.
@@ -14500,6 +14500,10 @@ var require_types_cjs_development = __commonJS22({
14500
14500
  AddressValidator: /* @__PURE__ */ __name22(() => AddressValidator2, "AddressValidator"),
14501
14501
  AlignmentTargetTypeValidator: /* @__PURE__ */ __name22(() => AlignmentTargetTypeValidator2, "AlignmentTargetTypeValidator"),
14502
14502
  AlignmentValidator: /* @__PURE__ */ __name22(() => AlignmentValidator2, "AlignmentValidator"),
14503
+ AppBoostValidator: /* @__PURE__ */ __name22(() => AppBoostValidator2, "AppBoostValidator"),
14504
+ AppEventInputValidator: /* @__PURE__ */ __name22(() => AppEventInputValidator2, "AppEventInputValidator"),
14505
+ AppEventResponseValidator: /* @__PURE__ */ __name22(() => AppEventResponseValidator2, "AppEventResponseValidator"),
14506
+ AppEventValidator: /* @__PURE__ */ __name22(() => AppEventValidator2, "AppEventValidator"),
14503
14507
  AppListingStatusValidator: /* @__PURE__ */ __name22(() => AppListingStatusValidator2, "AppListingStatusValidator"),
14504
14508
  AppStoreListingCreateValidator: /* @__PURE__ */ __name22(() => AppStoreListingCreateValidator2, "AppStoreListingCreateValidator"),
14505
14509
  AppStoreListingUpdateValidator: /* @__PURE__ */ __name22(() => AppStoreListingUpdateValidator2, "AppStoreListingUpdateValidator"),
@@ -14548,6 +14552,12 @@ var require_types_cjs_development = __commonJS22({
14548
14552
  CreateManagedFrameworkInputValidator: /* @__PURE__ */ __name22(() => CreateManagedFrameworkInputValidator2, "CreateManagedFrameworkInputValidator"),
14549
14553
  CreateSkillInputValidator: /* @__PURE__ */ __name22(() => CreateSkillInputValidator2, "CreateSkillInputValidator"),
14550
14554
  CreateSkillsBatchInputValidator: /* @__PURE__ */ __name22(() => CreateSkillsBatchInputValidator2, "CreateSkillsBatchInputValidator"),
14555
+ CredentialActivityEventTypeValidator: /* @__PURE__ */ __name22(() => CredentialActivityEventTypeValidator2, "CredentialActivityEventTypeValidator"),
14556
+ CredentialActivityRecipientTypeValidator: /* @__PURE__ */ __name22(() => CredentialActivityRecipientTypeValidator2, "CredentialActivityRecipientTypeValidator"),
14557
+ CredentialActivitySourceTypeValidator: /* @__PURE__ */ __name22(() => CredentialActivitySourceTypeValidator2, "CredentialActivitySourceTypeValidator"),
14558
+ CredentialActivityStatsValidator: /* @__PURE__ */ __name22(() => CredentialActivityStatsValidator2, "CredentialActivityStatsValidator"),
14559
+ CredentialActivityValidator: /* @__PURE__ */ __name22(() => CredentialActivityValidator2, "CredentialActivityValidator"),
14560
+ CredentialActivityWithDetailsValidator: /* @__PURE__ */ __name22(() => CredentialActivityWithDetailsValidator2, "CredentialActivityWithDetailsValidator"),
14551
14561
  CredentialInfoValidator: /* @__PURE__ */ __name22(() => CredentialInfoValidator2, "CredentialInfoValidator"),
14552
14562
  CredentialRecordValidator: /* @__PURE__ */ __name22(() => CredentialRecordValidator2, "CredentialRecordValidator"),
14553
14563
  CredentialSchemaValidator: /* @__PURE__ */ __name22(() => CredentialSchemaValidator2, "CredentialSchemaValidator"),
@@ -14594,6 +14604,7 @@ var require_types_cjs_development = __commonJS22({
14594
14604
  LCNInboxStatusEnumValidator: /* @__PURE__ */ __name22(() => LCNInboxStatusEnumValidator2, "LCNInboxStatusEnumValidator"),
14595
14605
  LCNIntegrationCreateValidator: /* @__PURE__ */ __name22(() => LCNIntegrationCreateValidator2, "LCNIntegrationCreateValidator"),
14596
14606
  LCNIntegrationQueryValidator: /* @__PURE__ */ __name22(() => LCNIntegrationQueryValidator2, "LCNIntegrationQueryValidator"),
14607
+ LCNIntegrationStatusEnum: /* @__PURE__ */ __name22(() => LCNIntegrationStatusEnum2, "LCNIntegrationStatusEnum"),
14597
14608
  LCNIntegrationUpdateValidator: /* @__PURE__ */ __name22(() => LCNIntegrationUpdateValidator2, "LCNIntegrationUpdateValidator"),
14598
14609
  LCNIntegrationValidator: /* @__PURE__ */ __name22(() => LCNIntegrationValidator2, "LCNIntegrationValidator"),
14599
14610
  LCNNotificationDataValidator: /* @__PURE__ */ __name22(() => LCNNotificationDataValidator2, "LCNNotificationDataValidator"),
@@ -14622,6 +14633,7 @@ var require_types_cjs_development = __commonJS22({
14622
14633
  PaginatedConsentFlowTermsValidator: /* @__PURE__ */ __name22(() => PaginatedConsentFlowTermsValidator2, "PaginatedConsentFlowTermsValidator"),
14623
14634
  PaginatedConsentFlowTransactionsValidator: /* @__PURE__ */ __name22(() => PaginatedConsentFlowTransactionsValidator2, "PaginatedConsentFlowTransactionsValidator"),
14624
14635
  PaginatedContractCredentialsValidator: /* @__PURE__ */ __name22(() => PaginatedContractCredentialsValidator2, "PaginatedContractCredentialsValidator"),
14636
+ PaginatedCredentialActivitiesValidator: /* @__PURE__ */ __name22(() => PaginatedCredentialActivitiesValidator2, "PaginatedCredentialActivitiesValidator"),
14625
14637
  PaginatedEncryptedCredentialRecordsValidator: /* @__PURE__ */ __name22(() => PaginatedEncryptedCredentialRecordsValidator2, "PaginatedEncryptedCredentialRecordsValidator"),
14626
14638
  PaginatedEncryptedRecordsValidator: /* @__PURE__ */ __name22(() => PaginatedEncryptedRecordsValidator2, "PaginatedEncryptedRecordsValidator"),
14627
14639
  PaginatedInboxCredentialsValidator: /* @__PURE__ */ __name22(() => PaginatedInboxCredentialsValidator2, "PaginatedInboxCredentialsValidator"),
@@ -14649,7 +14661,11 @@ var require_types_cjs_development = __commonJS22({
14649
14661
  RubricCriterionValidator: /* @__PURE__ */ __name22(() => RubricCriterionValidator2, "RubricCriterionValidator"),
14650
14662
  SendBoostInputValidator: /* @__PURE__ */ __name22(() => SendBoostInputValidator2, "SendBoostInputValidator"),
14651
14663
  SendBoostResponseValidator: /* @__PURE__ */ __name22(() => SendBoostResponseValidator2, "SendBoostResponseValidator"),
14664
+ SendBrandingOptionsValidator: /* @__PURE__ */ __name22(() => SendBrandingOptionsValidator2, "SendBrandingOptionsValidator"),
14665
+ SendCredentialEventValidator: /* @__PURE__ */ __name22(() => SendCredentialEventValidator2, "SendCredentialEventValidator"),
14666
+ SendInboxResponseValidator: /* @__PURE__ */ __name22(() => SendInboxResponseValidator2, "SendInboxResponseValidator"),
14652
14667
  SendInputValidator: /* @__PURE__ */ __name22(() => SendInputValidator2, "SendInputValidator"),
14668
+ SendOptionsValidator: /* @__PURE__ */ __name22(() => SendOptionsValidator2, "SendOptionsValidator"),
14653
14669
  SendResponseValidator: /* @__PURE__ */ __name22(() => SendResponseValidator2, "SendResponseValidator"),
14654
14670
  SentCredentialInfoValidator: /* @__PURE__ */ __name22(() => SentCredentialInfoValidator2, "SentCredentialInfoValidator"),
14655
14671
  ServiceValidator: /* @__PURE__ */ __name22(() => ServiceValidator2, "ServiceValidator"),
@@ -29426,7 +29442,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29426
29442
  var PaginatedClaimHooksValidator2 = PaginationResponseValidator2.extend({
29427
29443
  records: FullClaimHookValidator2.array()
29428
29444
  });
29429
- var LCNBoostStatus2 = external_exports22.enum(["DRAFT", "LIVE"]);
29445
+ var LCNBoostStatus2 = external_exports22.enum(["DRAFT", "PROVISIONAL", "LIVE"]);
29430
29446
  var BoostValidator2 = external_exports22.object({
29431
29447
  uri: external_exports22.string(),
29432
29448
  name: external_exports22.string().optional(),
@@ -29510,22 +29526,46 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29510
29526
  claimPermissions: BoostPermissionsValidator2.partial().optional(),
29511
29527
  skills: external_exports22.array(external_exports22.object({ frameworkId: external_exports22.string(), id: external_exports22.string() })).min(1).optional()
29512
29528
  });
29529
+ var SendBrandingOptionsValidator2 = external_exports22.object({
29530
+ issuerName: external_exports22.string().optional().describe("Name of the issuing organization"),
29531
+ issuerLogoUrl: external_exports22.string().url().optional().describe("Logo URL of the issuing organization"),
29532
+ credentialName: external_exports22.string().optional().describe("Display name for the credential"),
29533
+ recipientName: external_exports22.string().optional().describe("Name of the recipient for personalization")
29534
+ });
29535
+ var SendOptionsValidator2 = external_exports22.object({
29536
+ webhookUrl: external_exports22.string().url().optional().describe("Webhook URL to receive claim notifications"),
29537
+ suppressDelivery: external_exports22.boolean().optional().describe("If true, returns claimUrl without sending email/SMS"),
29538
+ branding: SendBrandingOptionsValidator2.optional().describe("Branding for email/SMS delivery")
29539
+ });
29513
29540
  var SendBoostInputValidator2 = external_exports22.object({
29514
29541
  type: external_exports22.literal("boost"),
29515
- recipient: external_exports22.string(),
29542
+ recipient: external_exports22.string().describe("Profile ID, DID, email, or phone number (auto-detected)"),
29516
29543
  contractUri: external_exports22.string().optional(),
29517
29544
  templateUri: external_exports22.string().optional(),
29518
29545
  template: SendBoostTemplateValidator2.optional(),
29519
29546
  signedCredential: VCValidator2.optional(),
29520
- templateData: external_exports22.record(external_exports22.string(), external_exports22.unknown()).optional()
29547
+ options: SendOptionsValidator2.optional().describe(
29548
+ "Options for email/phone recipients (Universal Inbox)"
29549
+ ),
29550
+ templateData: external_exports22.record(external_exports22.string(), external_exports22.unknown()).optional(),
29551
+ integrationId: external_exports22.string().optional().describe("Integration ID for activity tracking")
29521
29552
  }).refine((data) => data.templateUri || data.template, {
29522
29553
  message: "Either templateUri or template creation data must be provided.",
29523
29554
  path: ["templateUri"]
29524
29555
  });
29556
+ var SendInboxResponseValidator2 = external_exports22.object({
29557
+ issuanceId: external_exports22.string(),
29558
+ status: external_exports22.enum(["PENDING", "ISSUED", "EXPIRED", "DELIVERED", "CLAIMED"]),
29559
+ claimUrl: external_exports22.string().url().optional().describe("Present when suppressDelivery=true")
29560
+ });
29525
29561
  var SendBoostResponseValidator2 = external_exports22.object({
29526
29562
  type: external_exports22.literal("boost"),
29527
29563
  credentialUri: external_exports22.string(),
29528
- uri: external_exports22.string()
29564
+ uri: external_exports22.string(),
29565
+ activityId: external_exports22.string().describe("Links to the activity lifecycle for this issuance"),
29566
+ inbox: SendInboxResponseValidator2.optional().describe(
29567
+ "Present when sent via email/phone (Universal Inbox)"
29568
+ )
29529
29569
  });
29530
29570
  var SendInputValidator2 = external_exports22.discriminatedUnion("type", [SendBoostInputValidator2]);
29531
29571
  var SendResponseValidator2 = external_exports22.discriminatedUnion("type", [SendBoostResponseValidator2]);
@@ -29877,6 +29917,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29877
29917
  createdAt: external_exports22.string(),
29878
29918
  issuerDid: external_exports22.string(),
29879
29919
  webhookUrl: external_exports22.string().optional(),
29920
+ boostUri: external_exports22.string().optional(),
29921
+ activityId: external_exports22.string().optional(),
29880
29922
  signingAuthority: external_exports22.object({
29881
29923
  endpoint: external_exports22.string().optional(),
29882
29924
  name: external_exports22.string().optional()
@@ -29892,7 +29934,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29892
29934
  id: external_exports22.string(),
29893
29935
  isSigned: external_exports22.boolean(),
29894
29936
  isAccepted: external_exports22.boolean().optional(),
29895
- issuerDid: external_exports22.string()
29937
+ issuerDid: external_exports22.string(),
29938
+ boostUri: external_exports22.string()
29896
29939
  }).partial();
29897
29940
  var IssueInboxSigningAuthorityValidator2 = external_exports22.object({
29898
29941
  endpoint: external_exports22.string().url(),
@@ -29902,9 +29945,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29902
29945
  // === CORE DATA (Required) ===
29903
29946
  // WHAT is being sent and WHO is it for?
29904
29947
  recipient: ContactMethodQueryValidator2.describe("The recipient of the credential"),
29905
- credential: VCValidator2.or(VPValidator2).or(UnsignedVCValidator2).describe(
29948
+ // Either credential OR templateUri must be provided
29949
+ credential: VCValidator2.or(VPValidator2).or(UnsignedVCValidator2).optional().describe(
29906
29950
  "The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."
29907
29951
  ),
29952
+ templateUri: external_exports22.string().optional().describe(
29953
+ "URI of a boost template to use for issuance. The boost credential will be resolved and used. Mutually exclusive with credential field."
29954
+ ),
29908
29955
  // === OPTIONAL FEATURES ===
29909
29956
  // Add major, distinct features at the top level.
29910
29957
  //consentRequest: ConsentRequestValidator.optional(),
@@ -29916,6 +29963,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29916
29963
  ),
29917
29964
  webhookUrl: external_exports22.string().url().optional().describe("The webhook URL to receive credential issuance events."),
29918
29965
  expiresInDays: external_exports22.number().min(1).max(365).optional().describe("The number of days the credential will be valid for."),
29966
+ templateData: external_exports22.record(external_exports22.string(), external_exports22.unknown()).optional().describe(
29967
+ "Template data to render into the boost credential template using Mustache syntax. Only used when boostUri is provided."
29968
+ ),
29919
29969
  // --- For User-Facing Delivery (Email/SMS) ---
29920
29970
  delivery: external_exports22.object({
29921
29971
  suppress: external_exports22.boolean().optional().default(false).describe(
@@ -29930,7 +29980,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29930
29980
  name: external_exports22.string().optional().describe(
29931
29981
  'The name of the organization (e.g., "State University").'
29932
29982
  ),
29933
- logoUrl: external_exports22.string().url().optional().describe("The URL of the organization's logo.")
29983
+ logoUrl: external_exports22.string().url().optional().describe(
29984
+ "The URL of the organization's logo."
29985
+ )
29934
29986
  }).optional(),
29935
29987
  credential: external_exports22.object({
29936
29988
  name: external_exports22.string().optional().describe(
@@ -29957,6 +30009,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29957
30009
  }).optional().describe(
29958
30010
  "Configuration for the credential issuance. If not provided, the default configuration will be used."
29959
30011
  )
30012
+ }).refine((data) => data.credential || data.templateUri, {
30013
+ message: "Either credential or templateUri must be provided.",
30014
+ path: ["credential"]
29960
30015
  });
29961
30016
  var IssueInboxCredentialResponseValidator2 = external_exports22.object({
29962
30017
  issuanceId: external_exports22.string(),
@@ -29984,28 +30039,43 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29984
30039
  { message: "Must be a valid http(s) origin" }
29985
30040
  )
29986
30041
  ]);
30042
+ var LCNIntegrationStatusEnum2 = external_exports22.enum(["setup", "active", "paused"]);
29987
30043
  var LCNIntegrationValidator2 = external_exports22.object({
29988
30044
  id: external_exports22.string(),
29989
30045
  name: external_exports22.string(),
29990
30046
  description: external_exports22.string().optional(),
29991
30047
  publishableKey: external_exports22.string(),
29992
- whitelistedDomains: external_exports22.array(LCNDomainOrOriginValidator2).default([])
30048
+ whitelistedDomains: external_exports22.array(LCNDomainOrOriginValidator2).default([]),
30049
+ // Setup/onboarding status
30050
+ status: LCNIntegrationStatusEnum2.default("setup"),
30051
+ guideType: external_exports22.string().optional(),
30052
+ guideState: external_exports22.record(external_exports22.string(), external_exports22.any()).optional(),
30053
+ // Timestamps
30054
+ createdAt: external_exports22.string().optional(),
30055
+ updatedAt: external_exports22.string().optional()
29993
30056
  });
29994
30057
  var LCNIntegrationCreateValidator2 = external_exports22.object({
29995
30058
  name: external_exports22.string(),
29996
30059
  description: external_exports22.string().optional(),
29997
- whitelistedDomains: external_exports22.array(LCNDomainOrOriginValidator2).default([])
30060
+ whitelistedDomains: external_exports22.array(LCNDomainOrOriginValidator2).default([]),
30061
+ guideType: external_exports22.string().optional()
29998
30062
  });
29999
30063
  var LCNIntegrationUpdateValidator2 = external_exports22.object({
30000
30064
  name: external_exports22.string().optional(),
30001
30065
  description: external_exports22.string().optional(),
30002
30066
  whitelistedDomains: external_exports22.array(LCNDomainOrOriginValidator2).optional(),
30003
- rotatePublishableKey: external_exports22.boolean().optional()
30067
+ rotatePublishableKey: external_exports22.boolean().optional(),
30068
+ // Setup/onboarding updates
30069
+ status: LCNIntegrationStatusEnum2.optional(),
30070
+ guideType: external_exports22.string().optional(),
30071
+ guideState: external_exports22.record(external_exports22.string(), external_exports22.any()).optional()
30004
30072
  });
30005
30073
  var LCNIntegrationQueryValidator2 = external_exports22.object({
30006
30074
  id: StringQuery2,
30007
30075
  name: StringQuery2,
30008
- description: StringQuery2
30076
+ description: StringQuery2,
30077
+ status: StringQuery2,
30078
+ guideType: StringQuery2
30009
30079
  }).partial();
30010
30080
  var PaginatedLCNIntegrationsValidator2 = PaginationResponseValidator2.extend({
30011
30081
  records: LCNIntegrationValidator2.array()
@@ -30220,6 +30290,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
30220
30290
  ]);
30221
30291
  var AppStoreListingValidator2 = external_exports22.object({
30222
30292
  listing_id: external_exports22.string(),
30293
+ slug: external_exports22.string().optional(),
30223
30294
  display_name: external_exports22.string(),
30224
30295
  tagline: external_exports22.string(),
30225
30296
  full_description: external_exports22.string(),
@@ -30257,6 +30328,77 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
30257
30328
  var PaginatedInstalledAppsValidator2 = PaginationResponseValidator2.extend({
30258
30329
  records: InstalledAppValidator2.array()
30259
30330
  });
30331
+ var AppBoostValidator2 = external_exports22.object({
30332
+ templateAlias: external_exports22.string().min(1).max(50).regex(/^[a-z0-9-]+$/),
30333
+ boostUri: external_exports22.string()
30334
+ });
30335
+ var SendCredentialEventValidator2 = external_exports22.object({
30336
+ type: external_exports22.literal("send-credential"),
30337
+ templateAlias: external_exports22.string(),
30338
+ templateData: external_exports22.record(external_exports22.string(), external_exports22.unknown()).optional()
30339
+ });
30340
+ var AppEventValidator2 = external_exports22.discriminatedUnion("type", [SendCredentialEventValidator2]);
30341
+ var AppEventInputValidator2 = external_exports22.object({
30342
+ listingId: external_exports22.string(),
30343
+ event: AppEventValidator2
30344
+ });
30345
+ var AppEventResponseValidator2 = external_exports22.record(external_exports22.string(), external_exports22.unknown());
30346
+ var CredentialActivityEventTypeValidator2 = external_exports22.enum([
30347
+ "CREATED",
30348
+ "DELIVERED",
30349
+ "CLAIMED",
30350
+ "EXPIRED",
30351
+ "FAILED"
30352
+ ]);
30353
+ var CredentialActivityRecipientTypeValidator2 = external_exports22.enum(["profile", "email", "phone"]);
30354
+ var CredentialActivitySourceTypeValidator2 = external_exports22.enum([
30355
+ "send",
30356
+ "sendBoost",
30357
+ "sendCredential",
30358
+ "contract",
30359
+ "claim",
30360
+ "inbox",
30361
+ "claimLink",
30362
+ "acceptCredential"
30363
+ ]);
30364
+ var CredentialActivityValidator2 = external_exports22.object({
30365
+ id: external_exports22.string(),
30366
+ activityId: external_exports22.string(),
30367
+ eventType: CredentialActivityEventTypeValidator2,
30368
+ timestamp: external_exports22.string(),
30369
+ actorProfileId: external_exports22.string(),
30370
+ recipientType: CredentialActivityRecipientTypeValidator2,
30371
+ recipientIdentifier: external_exports22.string(),
30372
+ boostUri: external_exports22.string().optional(),
30373
+ credentialUri: external_exports22.string().optional(),
30374
+ inboxCredentialId: external_exports22.string().optional(),
30375
+ integrationId: external_exports22.string().optional(),
30376
+ source: CredentialActivitySourceTypeValidator2,
30377
+ metadata: external_exports22.record(external_exports22.string(), external_exports22.unknown()).optional()
30378
+ });
30379
+ var CredentialActivityWithDetailsValidator2 = CredentialActivityValidator2.extend({
30380
+ boost: external_exports22.object({
30381
+ id: external_exports22.string(),
30382
+ name: external_exports22.string().optional(),
30383
+ category: external_exports22.string().optional()
30384
+ }).optional(),
30385
+ recipientProfile: external_exports22.object({
30386
+ profileId: external_exports22.string(),
30387
+ displayName: external_exports22.string().optional()
30388
+ }).optional()
30389
+ });
30390
+ var PaginatedCredentialActivitiesValidator2 = PaginationResponseValidator2.extend({
30391
+ records: CredentialActivityWithDetailsValidator2.array()
30392
+ });
30393
+ var CredentialActivityStatsValidator2 = external_exports22.object({
30394
+ total: external_exports22.number(),
30395
+ created: external_exports22.number(),
30396
+ delivered: external_exports22.number(),
30397
+ claimed: external_exports22.number(),
30398
+ expired: external_exports22.number(),
30399
+ failed: external_exports22.number(),
30400
+ claimRate: external_exports22.number()
30401
+ });
30260
30402
  }
30261
30403
  });
30262
30404
  var require_dist = __commonJS22({
@@ -46027,7 +46169,7 @@ var FullClaimHookValidator = external_exports2.object({ id: external_exports2.st
46027
46169
  var PaginatedClaimHooksValidator = PaginationResponseValidator.extend({
46028
46170
  records: FullClaimHookValidator.array()
46029
46171
  });
46030
- var LCNBoostStatus = external_exports2.enum(["DRAFT", "LIVE"]);
46172
+ var LCNBoostStatus = external_exports2.enum(["DRAFT", "PROVISIONAL", "LIVE"]);
46031
46173
  var BoostValidator = external_exports2.object({
46032
46174
  uri: external_exports2.string(),
46033
46175
  name: external_exports2.string().optional(),
@@ -46111,22 +46253,46 @@ var SendBoostTemplateValidator = BoostValidator.partial().omit({ uri: true, clai
46111
46253
  claimPermissions: BoostPermissionsValidator.partial().optional(),
46112
46254
  skills: external_exports2.array(external_exports2.object({ frameworkId: external_exports2.string(), id: external_exports2.string() })).min(1).optional()
46113
46255
  });
46256
+ var SendBrandingOptionsValidator = external_exports2.object({
46257
+ issuerName: external_exports2.string().optional().describe("Name of the issuing organization"),
46258
+ issuerLogoUrl: external_exports2.string().url().optional().describe("Logo URL of the issuing organization"),
46259
+ credentialName: external_exports2.string().optional().describe("Display name for the credential"),
46260
+ recipientName: external_exports2.string().optional().describe("Name of the recipient for personalization")
46261
+ });
46262
+ var SendOptionsValidator = external_exports2.object({
46263
+ webhookUrl: external_exports2.string().url().optional().describe("Webhook URL to receive claim notifications"),
46264
+ suppressDelivery: external_exports2.boolean().optional().describe("If true, returns claimUrl without sending email/SMS"),
46265
+ branding: SendBrandingOptionsValidator.optional().describe("Branding for email/SMS delivery")
46266
+ });
46114
46267
  var SendBoostInputValidator = external_exports2.object({
46115
46268
  type: external_exports2.literal("boost"),
46116
- recipient: external_exports2.string(),
46269
+ recipient: external_exports2.string().describe("Profile ID, DID, email, or phone number (auto-detected)"),
46117
46270
  contractUri: external_exports2.string().optional(),
46118
46271
  templateUri: external_exports2.string().optional(),
46119
46272
  template: SendBoostTemplateValidator.optional(),
46120
46273
  signedCredential: VCValidator.optional(),
46121
- templateData: external_exports2.record(external_exports2.string(), external_exports2.unknown()).optional()
46274
+ options: SendOptionsValidator.optional().describe(
46275
+ "Options for email/phone recipients (Universal Inbox)"
46276
+ ),
46277
+ templateData: external_exports2.record(external_exports2.string(), external_exports2.unknown()).optional(),
46278
+ integrationId: external_exports2.string().optional().describe("Integration ID for activity tracking")
46122
46279
  }).refine((data) => data.templateUri || data.template, {
46123
46280
  message: "Either templateUri or template creation data must be provided.",
46124
46281
  path: ["templateUri"]
46125
46282
  });
46283
+ var SendInboxResponseValidator = external_exports2.object({
46284
+ issuanceId: external_exports2.string(),
46285
+ status: external_exports2.enum(["PENDING", "ISSUED", "EXPIRED", "DELIVERED", "CLAIMED"]),
46286
+ claimUrl: external_exports2.string().url().optional().describe("Present when suppressDelivery=true")
46287
+ });
46126
46288
  var SendBoostResponseValidator = external_exports2.object({
46127
46289
  type: external_exports2.literal("boost"),
46128
46290
  credentialUri: external_exports2.string(),
46129
- uri: external_exports2.string()
46291
+ uri: external_exports2.string(),
46292
+ activityId: external_exports2.string().describe("Links to the activity lifecycle for this issuance"),
46293
+ inbox: SendInboxResponseValidator.optional().describe(
46294
+ "Present when sent via email/phone (Universal Inbox)"
46295
+ )
46130
46296
  });
46131
46297
  var SendInputValidator = external_exports2.discriminatedUnion("type", [SendBoostInputValidator]);
46132
46298
  var SendResponseValidator = external_exports2.discriminatedUnion("type", [SendBoostResponseValidator]);
@@ -46478,6 +46644,8 @@ var InboxCredentialValidator = external_exports2.object({
46478
46644
  createdAt: external_exports2.string(),
46479
46645
  issuerDid: external_exports2.string(),
46480
46646
  webhookUrl: external_exports2.string().optional(),
46647
+ boostUri: external_exports2.string().optional(),
46648
+ activityId: external_exports2.string().optional(),
46481
46649
  signingAuthority: external_exports2.object({
46482
46650
  endpoint: external_exports2.string().optional(),
46483
46651
  name: external_exports2.string().optional()
@@ -46493,7 +46661,8 @@ var InboxCredentialQueryValidator = external_exports2.object({
46493
46661
  id: external_exports2.string(),
46494
46662
  isSigned: external_exports2.boolean(),
46495
46663
  isAccepted: external_exports2.boolean().optional(),
46496
- issuerDid: external_exports2.string()
46664
+ issuerDid: external_exports2.string(),
46665
+ boostUri: external_exports2.string()
46497
46666
  }).partial();
46498
46667
  var IssueInboxSigningAuthorityValidator = external_exports2.object({
46499
46668
  endpoint: external_exports2.string().url(),
@@ -46503,9 +46672,13 @@ var IssueInboxCredentialValidator = external_exports2.object({
46503
46672
  // === CORE DATA (Required) ===
46504
46673
  // WHAT is being sent and WHO is it for?
46505
46674
  recipient: ContactMethodQueryValidator.describe("The recipient of the credential"),
46506
- credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).describe(
46675
+ // Either credential OR templateUri must be provided
46676
+ credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).optional().describe(
46507
46677
  "The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."
46508
46678
  ),
46679
+ templateUri: external_exports2.string().optional().describe(
46680
+ "URI of a boost template to use for issuance. The boost credential will be resolved and used. Mutually exclusive with credential field."
46681
+ ),
46509
46682
  // === OPTIONAL FEATURES ===
46510
46683
  // Add major, distinct features at the top level.
46511
46684
  //consentRequest: ConsentRequestValidator.optional(),
@@ -46517,6 +46690,9 @@ var IssueInboxCredentialValidator = external_exports2.object({
46517
46690
  ),
46518
46691
  webhookUrl: external_exports2.string().url().optional().describe("The webhook URL to receive credential issuance events."),
46519
46692
  expiresInDays: external_exports2.number().min(1).max(365).optional().describe("The number of days the credential will be valid for."),
46693
+ templateData: external_exports2.record(external_exports2.string(), external_exports2.unknown()).optional().describe(
46694
+ "Template data to render into the boost credential template using Mustache syntax. Only used when boostUri is provided."
46695
+ ),
46520
46696
  // --- For User-Facing Delivery (Email/SMS) ---
46521
46697
  delivery: external_exports2.object({
46522
46698
  suppress: external_exports2.boolean().optional().default(false).describe(
@@ -46531,7 +46707,9 @@ var IssueInboxCredentialValidator = external_exports2.object({
46531
46707
  name: external_exports2.string().optional().describe(
46532
46708
  'The name of the organization (e.g., "State University").'
46533
46709
  ),
46534
- logoUrl: external_exports2.string().url().optional().describe("The URL of the organization's logo.")
46710
+ logoUrl: external_exports2.string().url().optional().describe(
46711
+ "The URL of the organization's logo."
46712
+ )
46535
46713
  }).optional(),
46536
46714
  credential: external_exports2.object({
46537
46715
  name: external_exports2.string().optional().describe(
@@ -46558,6 +46736,9 @@ var IssueInboxCredentialValidator = external_exports2.object({
46558
46736
  }).optional().describe(
46559
46737
  "Configuration for the credential issuance. If not provided, the default configuration will be used."
46560
46738
  )
46739
+ }).refine((data) => data.credential || data.templateUri, {
46740
+ message: "Either credential or templateUri must be provided.",
46741
+ path: ["credential"]
46561
46742
  });
46562
46743
  var IssueInboxCredentialResponseValidator = external_exports2.object({
46563
46744
  issuanceId: external_exports2.string(),
@@ -46585,28 +46766,43 @@ var LCNDomainOrOriginValidator = external_exports2.union([
46585
46766
  { message: "Must be a valid http(s) origin" }
46586
46767
  )
46587
46768
  ]);
46769
+ var LCNIntegrationStatusEnum = external_exports2.enum(["setup", "active", "paused"]);
46588
46770
  var LCNIntegrationValidator = external_exports2.object({
46589
46771
  id: external_exports2.string(),
46590
46772
  name: external_exports2.string(),
46591
46773
  description: external_exports2.string().optional(),
46592
46774
  publishableKey: external_exports2.string(),
46593
- whitelistedDomains: external_exports2.array(LCNDomainOrOriginValidator).default([])
46775
+ whitelistedDomains: external_exports2.array(LCNDomainOrOriginValidator).default([]),
46776
+ // Setup/onboarding status
46777
+ status: LCNIntegrationStatusEnum.default("setup"),
46778
+ guideType: external_exports2.string().optional(),
46779
+ guideState: external_exports2.record(external_exports2.string(), external_exports2.any()).optional(),
46780
+ // Timestamps
46781
+ createdAt: external_exports2.string().optional(),
46782
+ updatedAt: external_exports2.string().optional()
46594
46783
  });
46595
46784
  var LCNIntegrationCreateValidator = external_exports2.object({
46596
46785
  name: external_exports2.string(),
46597
46786
  description: external_exports2.string().optional(),
46598
- whitelistedDomains: external_exports2.array(LCNDomainOrOriginValidator).default([])
46787
+ whitelistedDomains: external_exports2.array(LCNDomainOrOriginValidator).default([]),
46788
+ guideType: external_exports2.string().optional()
46599
46789
  });
46600
46790
  var LCNIntegrationUpdateValidator = external_exports2.object({
46601
46791
  name: external_exports2.string().optional(),
46602
46792
  description: external_exports2.string().optional(),
46603
46793
  whitelistedDomains: external_exports2.array(LCNDomainOrOriginValidator).optional(),
46604
- rotatePublishableKey: external_exports2.boolean().optional()
46794
+ rotatePublishableKey: external_exports2.boolean().optional(),
46795
+ // Setup/onboarding updates
46796
+ status: LCNIntegrationStatusEnum.optional(),
46797
+ guideType: external_exports2.string().optional(),
46798
+ guideState: external_exports2.record(external_exports2.string(), external_exports2.any()).optional()
46605
46799
  });
46606
46800
  var LCNIntegrationQueryValidator = external_exports2.object({
46607
46801
  id: StringQuery,
46608
46802
  name: StringQuery,
46609
- description: StringQuery
46803
+ description: StringQuery,
46804
+ status: StringQuery,
46805
+ guideType: StringQuery
46610
46806
  }).partial();
46611
46807
  var PaginatedLCNIntegrationsValidator = PaginationResponseValidator.extend({
46612
46808
  records: LCNIntegrationValidator.array()
@@ -46821,6 +47017,7 @@ var PromotionLevelValidator = external_exports2.enum([
46821
47017
  ]);
46822
47018
  var AppStoreListingValidator = external_exports2.object({
46823
47019
  listing_id: external_exports2.string(),
47020
+ slug: external_exports2.string().optional(),
46824
47021
  display_name: external_exports2.string(),
46825
47022
  tagline: external_exports2.string(),
46826
47023
  full_description: external_exports2.string(),
@@ -46858,6 +47055,77 @@ var PaginatedAppStoreListingsValidator = PaginationResponseValidator.extend({
46858
47055
  var PaginatedInstalledAppsValidator = PaginationResponseValidator.extend({
46859
47056
  records: InstalledAppValidator.array()
46860
47057
  });
47058
+ var AppBoostValidator = external_exports2.object({
47059
+ templateAlias: external_exports2.string().min(1).max(50).regex(/^[a-z0-9-]+$/),
47060
+ boostUri: external_exports2.string()
47061
+ });
47062
+ var SendCredentialEventValidator = external_exports2.object({
47063
+ type: external_exports2.literal("send-credential"),
47064
+ templateAlias: external_exports2.string(),
47065
+ templateData: external_exports2.record(external_exports2.string(), external_exports2.unknown()).optional()
47066
+ });
47067
+ var AppEventValidator = external_exports2.discriminatedUnion("type", [SendCredentialEventValidator]);
47068
+ var AppEventInputValidator = external_exports2.object({
47069
+ listingId: external_exports2.string(),
47070
+ event: AppEventValidator
47071
+ });
47072
+ var AppEventResponseValidator = external_exports2.record(external_exports2.string(), external_exports2.unknown());
47073
+ var CredentialActivityEventTypeValidator = external_exports2.enum([
47074
+ "CREATED",
47075
+ "DELIVERED",
47076
+ "CLAIMED",
47077
+ "EXPIRED",
47078
+ "FAILED"
47079
+ ]);
47080
+ var CredentialActivityRecipientTypeValidator = external_exports2.enum(["profile", "email", "phone"]);
47081
+ var CredentialActivitySourceTypeValidator = external_exports2.enum([
47082
+ "send",
47083
+ "sendBoost",
47084
+ "sendCredential",
47085
+ "contract",
47086
+ "claim",
47087
+ "inbox",
47088
+ "claimLink",
47089
+ "acceptCredential"
47090
+ ]);
47091
+ var CredentialActivityValidator = external_exports2.object({
47092
+ id: external_exports2.string(),
47093
+ activityId: external_exports2.string(),
47094
+ eventType: CredentialActivityEventTypeValidator,
47095
+ timestamp: external_exports2.string(),
47096
+ actorProfileId: external_exports2.string(),
47097
+ recipientType: CredentialActivityRecipientTypeValidator,
47098
+ recipientIdentifier: external_exports2.string(),
47099
+ boostUri: external_exports2.string().optional(),
47100
+ credentialUri: external_exports2.string().optional(),
47101
+ inboxCredentialId: external_exports2.string().optional(),
47102
+ integrationId: external_exports2.string().optional(),
47103
+ source: CredentialActivitySourceTypeValidator,
47104
+ metadata: external_exports2.record(external_exports2.string(), external_exports2.unknown()).optional()
47105
+ });
47106
+ var CredentialActivityWithDetailsValidator = CredentialActivityValidator.extend({
47107
+ boost: external_exports2.object({
47108
+ id: external_exports2.string(),
47109
+ name: external_exports2.string().optional(),
47110
+ category: external_exports2.string().optional()
47111
+ }).optional(),
47112
+ recipientProfile: external_exports2.object({
47113
+ profileId: external_exports2.string(),
47114
+ displayName: external_exports2.string().optional()
47115
+ }).optional()
47116
+ });
47117
+ var PaginatedCredentialActivitiesValidator = PaginationResponseValidator.extend({
47118
+ records: CredentialActivityWithDetailsValidator.array()
47119
+ });
47120
+ var CredentialActivityStatsValidator = external_exports2.object({
47121
+ total: external_exports2.number(),
47122
+ created: external_exports2.number(),
47123
+ delivered: external_exports2.number(),
47124
+ claimed: external_exports2.number(),
47125
+ expired: external_exports2.number(),
47126
+ failed: external_exports2.number(),
47127
+ claimRate: external_exports2.number()
47128
+ });
46861
47129
 
46862
47130
  // ../../learn-card-helpers/dist/helpers.esm.js
46863
47131
  var import_decode_uri_component2 = __toESM(require_decode_uri_component2());
@@ -47691,6 +47959,10 @@ var require_types_cjs_development2 = __commonJS4({
47691
47959
  AddressValidator: /* @__PURE__ */ __name4(() => AddressValidator2, "AddressValidator"),
47692
47960
  AlignmentTargetTypeValidator: /* @__PURE__ */ __name4(() => AlignmentTargetTypeValidator2, "AlignmentTargetTypeValidator"),
47693
47961
  AlignmentValidator: /* @__PURE__ */ __name4(() => AlignmentValidator2, "AlignmentValidator"),
47962
+ AppBoostValidator: /* @__PURE__ */ __name4(() => AppBoostValidator2, "AppBoostValidator"),
47963
+ AppEventInputValidator: /* @__PURE__ */ __name4(() => AppEventInputValidator2, "AppEventInputValidator"),
47964
+ AppEventResponseValidator: /* @__PURE__ */ __name4(() => AppEventResponseValidator2, "AppEventResponseValidator"),
47965
+ AppEventValidator: /* @__PURE__ */ __name4(() => AppEventValidator2, "AppEventValidator"),
47694
47966
  AppListingStatusValidator: /* @__PURE__ */ __name4(() => AppListingStatusValidator2, "AppListingStatusValidator"),
47695
47967
  AppStoreListingCreateValidator: /* @__PURE__ */ __name4(() => AppStoreListingCreateValidator2, "AppStoreListingCreateValidator"),
47696
47968
  AppStoreListingUpdateValidator: /* @__PURE__ */ __name4(() => AppStoreListingUpdateValidator2, "AppStoreListingUpdateValidator"),
@@ -47739,6 +48011,12 @@ var require_types_cjs_development2 = __commonJS4({
47739
48011
  CreateManagedFrameworkInputValidator: /* @__PURE__ */ __name4(() => CreateManagedFrameworkInputValidator2, "CreateManagedFrameworkInputValidator"),
47740
48012
  CreateSkillInputValidator: /* @__PURE__ */ __name4(() => CreateSkillInputValidator2, "CreateSkillInputValidator"),
47741
48013
  CreateSkillsBatchInputValidator: /* @__PURE__ */ __name4(() => CreateSkillsBatchInputValidator2, "CreateSkillsBatchInputValidator"),
48014
+ CredentialActivityEventTypeValidator: /* @__PURE__ */ __name4(() => CredentialActivityEventTypeValidator2, "CredentialActivityEventTypeValidator"),
48015
+ CredentialActivityRecipientTypeValidator: /* @__PURE__ */ __name4(() => CredentialActivityRecipientTypeValidator2, "CredentialActivityRecipientTypeValidator"),
48016
+ CredentialActivitySourceTypeValidator: /* @__PURE__ */ __name4(() => CredentialActivitySourceTypeValidator2, "CredentialActivitySourceTypeValidator"),
48017
+ CredentialActivityStatsValidator: /* @__PURE__ */ __name4(() => CredentialActivityStatsValidator2, "CredentialActivityStatsValidator"),
48018
+ CredentialActivityValidator: /* @__PURE__ */ __name4(() => CredentialActivityValidator2, "CredentialActivityValidator"),
48019
+ CredentialActivityWithDetailsValidator: /* @__PURE__ */ __name4(() => CredentialActivityWithDetailsValidator2, "CredentialActivityWithDetailsValidator"),
47742
48020
  CredentialInfoValidator: /* @__PURE__ */ __name4(() => CredentialInfoValidator2, "CredentialInfoValidator"),
47743
48021
  CredentialRecordValidator: /* @__PURE__ */ __name4(() => CredentialRecordValidator2, "CredentialRecordValidator"),
47744
48022
  CredentialSchemaValidator: /* @__PURE__ */ __name4(() => CredentialSchemaValidator2, "CredentialSchemaValidator"),
@@ -47785,6 +48063,7 @@ var require_types_cjs_development2 = __commonJS4({
47785
48063
  LCNInboxStatusEnumValidator: /* @__PURE__ */ __name4(() => LCNInboxStatusEnumValidator2, "LCNInboxStatusEnumValidator"),
47786
48064
  LCNIntegrationCreateValidator: /* @__PURE__ */ __name4(() => LCNIntegrationCreateValidator2, "LCNIntegrationCreateValidator"),
47787
48065
  LCNIntegrationQueryValidator: /* @__PURE__ */ __name4(() => LCNIntegrationQueryValidator2, "LCNIntegrationQueryValidator"),
48066
+ LCNIntegrationStatusEnum: /* @__PURE__ */ __name4(() => LCNIntegrationStatusEnum2, "LCNIntegrationStatusEnum"),
47788
48067
  LCNIntegrationUpdateValidator: /* @__PURE__ */ __name4(() => LCNIntegrationUpdateValidator2, "LCNIntegrationUpdateValidator"),
47789
48068
  LCNIntegrationValidator: /* @__PURE__ */ __name4(() => LCNIntegrationValidator2, "LCNIntegrationValidator"),
47790
48069
  LCNNotificationDataValidator: /* @__PURE__ */ __name4(() => LCNNotificationDataValidator2, "LCNNotificationDataValidator"),
@@ -47813,6 +48092,7 @@ var require_types_cjs_development2 = __commonJS4({
47813
48092
  PaginatedConsentFlowTermsValidator: /* @__PURE__ */ __name4(() => PaginatedConsentFlowTermsValidator2, "PaginatedConsentFlowTermsValidator"),
47814
48093
  PaginatedConsentFlowTransactionsValidator: /* @__PURE__ */ __name4(() => PaginatedConsentFlowTransactionsValidator2, "PaginatedConsentFlowTransactionsValidator"),
47815
48094
  PaginatedContractCredentialsValidator: /* @__PURE__ */ __name4(() => PaginatedContractCredentialsValidator2, "PaginatedContractCredentialsValidator"),
48095
+ PaginatedCredentialActivitiesValidator: /* @__PURE__ */ __name4(() => PaginatedCredentialActivitiesValidator2, "PaginatedCredentialActivitiesValidator"),
47816
48096
  PaginatedEncryptedCredentialRecordsValidator: /* @__PURE__ */ __name4(() => PaginatedEncryptedCredentialRecordsValidator2, "PaginatedEncryptedCredentialRecordsValidator"),
47817
48097
  PaginatedEncryptedRecordsValidator: /* @__PURE__ */ __name4(() => PaginatedEncryptedRecordsValidator2, "PaginatedEncryptedRecordsValidator"),
47818
48098
  PaginatedInboxCredentialsValidator: /* @__PURE__ */ __name4(() => PaginatedInboxCredentialsValidator2, "PaginatedInboxCredentialsValidator"),
@@ -47840,7 +48120,11 @@ var require_types_cjs_development2 = __commonJS4({
47840
48120
  RubricCriterionValidator: /* @__PURE__ */ __name4(() => RubricCriterionValidator2, "RubricCriterionValidator"),
47841
48121
  SendBoostInputValidator: /* @__PURE__ */ __name4(() => SendBoostInputValidator2, "SendBoostInputValidator"),
47842
48122
  SendBoostResponseValidator: /* @__PURE__ */ __name4(() => SendBoostResponseValidator2, "SendBoostResponseValidator"),
48123
+ SendBrandingOptionsValidator: /* @__PURE__ */ __name4(() => SendBrandingOptionsValidator2, "SendBrandingOptionsValidator"),
48124
+ SendCredentialEventValidator: /* @__PURE__ */ __name4(() => SendCredentialEventValidator2, "SendCredentialEventValidator"),
48125
+ SendInboxResponseValidator: /* @__PURE__ */ __name4(() => SendInboxResponseValidator2, "SendInboxResponseValidator"),
47843
48126
  SendInputValidator: /* @__PURE__ */ __name4(() => SendInputValidator2, "SendInputValidator"),
48127
+ SendOptionsValidator: /* @__PURE__ */ __name4(() => SendOptionsValidator2, "SendOptionsValidator"),
47844
48128
  SendResponseValidator: /* @__PURE__ */ __name4(() => SendResponseValidator2, "SendResponseValidator"),
47845
48129
  SentCredentialInfoValidator: /* @__PURE__ */ __name4(() => SentCredentialInfoValidator2, "SentCredentialInfoValidator"),
47846
48130
  ServiceValidator: /* @__PURE__ */ __name4(() => ServiceValidator2, "ServiceValidator"),
@@ -62215,7 +62499,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62215
62499
  var PaginatedClaimHooksValidator2 = PaginationResponseValidator2.extend({
62216
62500
  records: FullClaimHookValidator2.array()
62217
62501
  });
62218
- var LCNBoostStatus2 = external_exports3.enum(["DRAFT", "LIVE"]);
62502
+ var LCNBoostStatus2 = external_exports3.enum(["DRAFT", "PROVISIONAL", "LIVE"]);
62219
62503
  var BoostValidator2 = external_exports3.object({
62220
62504
  uri: external_exports3.string(),
62221
62505
  name: external_exports3.string().optional(),
@@ -62299,22 +62583,46 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62299
62583
  claimPermissions: BoostPermissionsValidator2.partial().optional(),
62300
62584
  skills: external_exports3.array(external_exports3.object({ frameworkId: external_exports3.string(), id: external_exports3.string() })).min(1).optional()
62301
62585
  });
62586
+ var SendBrandingOptionsValidator2 = external_exports3.object({
62587
+ issuerName: external_exports3.string().optional().describe("Name of the issuing organization"),
62588
+ issuerLogoUrl: external_exports3.string().url().optional().describe("Logo URL of the issuing organization"),
62589
+ credentialName: external_exports3.string().optional().describe("Display name for the credential"),
62590
+ recipientName: external_exports3.string().optional().describe("Name of the recipient for personalization")
62591
+ });
62592
+ var SendOptionsValidator2 = external_exports3.object({
62593
+ webhookUrl: external_exports3.string().url().optional().describe("Webhook URL to receive claim notifications"),
62594
+ suppressDelivery: external_exports3.boolean().optional().describe("If true, returns claimUrl without sending email/SMS"),
62595
+ branding: SendBrandingOptionsValidator2.optional().describe("Branding for email/SMS delivery")
62596
+ });
62302
62597
  var SendBoostInputValidator2 = external_exports3.object({
62303
62598
  type: external_exports3.literal("boost"),
62304
- recipient: external_exports3.string(),
62599
+ recipient: external_exports3.string().describe("Profile ID, DID, email, or phone number (auto-detected)"),
62305
62600
  contractUri: external_exports3.string().optional(),
62306
62601
  templateUri: external_exports3.string().optional(),
62307
62602
  template: SendBoostTemplateValidator2.optional(),
62308
62603
  signedCredential: VCValidator2.optional(),
62309
- templateData: external_exports3.record(external_exports3.string(), external_exports3.unknown()).optional()
62604
+ options: SendOptionsValidator2.optional().describe(
62605
+ "Options for email/phone recipients (Universal Inbox)"
62606
+ ),
62607
+ templateData: external_exports3.record(external_exports3.string(), external_exports3.unknown()).optional(),
62608
+ integrationId: external_exports3.string().optional().describe("Integration ID for activity tracking")
62310
62609
  }).refine((data) => data.templateUri || data.template, {
62311
62610
  message: "Either templateUri or template creation data must be provided.",
62312
62611
  path: ["templateUri"]
62313
62612
  });
62613
+ var SendInboxResponseValidator2 = external_exports3.object({
62614
+ issuanceId: external_exports3.string(),
62615
+ status: external_exports3.enum(["PENDING", "ISSUED", "EXPIRED", "DELIVERED", "CLAIMED"]),
62616
+ claimUrl: external_exports3.string().url().optional().describe("Present when suppressDelivery=true")
62617
+ });
62314
62618
  var SendBoostResponseValidator2 = external_exports3.object({
62315
62619
  type: external_exports3.literal("boost"),
62316
62620
  credentialUri: external_exports3.string(),
62317
- uri: external_exports3.string()
62621
+ uri: external_exports3.string(),
62622
+ activityId: external_exports3.string().describe("Links to the activity lifecycle for this issuance"),
62623
+ inbox: SendInboxResponseValidator2.optional().describe(
62624
+ "Present when sent via email/phone (Universal Inbox)"
62625
+ )
62318
62626
  });
62319
62627
  var SendInputValidator2 = external_exports3.discriminatedUnion("type", [SendBoostInputValidator2]);
62320
62628
  var SendResponseValidator2 = external_exports3.discriminatedUnion("type", [SendBoostResponseValidator2]);
@@ -62666,6 +62974,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62666
62974
  createdAt: external_exports3.string(),
62667
62975
  issuerDid: external_exports3.string(),
62668
62976
  webhookUrl: external_exports3.string().optional(),
62977
+ boostUri: external_exports3.string().optional(),
62978
+ activityId: external_exports3.string().optional(),
62669
62979
  signingAuthority: external_exports3.object({
62670
62980
  endpoint: external_exports3.string().optional(),
62671
62981
  name: external_exports3.string().optional()
@@ -62681,7 +62991,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62681
62991
  id: external_exports3.string(),
62682
62992
  isSigned: external_exports3.boolean(),
62683
62993
  isAccepted: external_exports3.boolean().optional(),
62684
- issuerDid: external_exports3.string()
62994
+ issuerDid: external_exports3.string(),
62995
+ boostUri: external_exports3.string()
62685
62996
  }).partial();
62686
62997
  var IssueInboxSigningAuthorityValidator2 = external_exports3.object({
62687
62998
  endpoint: external_exports3.string().url(),
@@ -62691,9 +63002,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62691
63002
  // === CORE DATA (Required) ===
62692
63003
  // WHAT is being sent and WHO is it for?
62693
63004
  recipient: ContactMethodQueryValidator2.describe("The recipient of the credential"),
62694
- credential: VCValidator2.or(VPValidator2).or(UnsignedVCValidator2).describe(
63005
+ // Either credential OR templateUri must be provided
63006
+ credential: VCValidator2.or(VPValidator2).or(UnsignedVCValidator2).optional().describe(
62695
63007
  "The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."
62696
63008
  ),
63009
+ templateUri: external_exports3.string().optional().describe(
63010
+ "URI of a boost template to use for issuance. The boost credential will be resolved and used. Mutually exclusive with credential field."
63011
+ ),
62697
63012
  // === OPTIONAL FEATURES ===
62698
63013
  // Add major, distinct features at the top level.
62699
63014
  //consentRequest: ConsentRequestValidator.optional(),
@@ -62705,6 +63020,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62705
63020
  ),
62706
63021
  webhookUrl: external_exports3.string().url().optional().describe("The webhook URL to receive credential issuance events."),
62707
63022
  expiresInDays: external_exports3.number().min(1).max(365).optional().describe("The number of days the credential will be valid for."),
63023
+ templateData: external_exports3.record(external_exports3.string(), external_exports3.unknown()).optional().describe(
63024
+ "Template data to render into the boost credential template using Mustache syntax. Only used when boostUri is provided."
63025
+ ),
62708
63026
  // --- For User-Facing Delivery (Email/SMS) ---
62709
63027
  delivery: external_exports3.object({
62710
63028
  suppress: external_exports3.boolean().optional().default(false).describe(
@@ -62719,7 +63037,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62719
63037
  name: external_exports3.string().optional().describe(
62720
63038
  'The name of the organization (e.g., "State University").'
62721
63039
  ),
62722
- logoUrl: external_exports3.string().url().optional().describe("The URL of the organization's logo.")
63040
+ logoUrl: external_exports3.string().url().optional().describe(
63041
+ "The URL of the organization's logo."
63042
+ )
62723
63043
  }).optional(),
62724
63044
  credential: external_exports3.object({
62725
63045
  name: external_exports3.string().optional().describe(
@@ -62746,6 +63066,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62746
63066
  }).optional().describe(
62747
63067
  "Configuration for the credential issuance. If not provided, the default configuration will be used."
62748
63068
  )
63069
+ }).refine((data) => data.credential || data.templateUri, {
63070
+ message: "Either credential or templateUri must be provided.",
63071
+ path: ["credential"]
62749
63072
  });
62750
63073
  var IssueInboxCredentialResponseValidator2 = external_exports3.object({
62751
63074
  issuanceId: external_exports3.string(),
@@ -62773,28 +63096,43 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62773
63096
  { message: "Must be a valid http(s) origin" }
62774
63097
  )
62775
63098
  ]);
63099
+ var LCNIntegrationStatusEnum2 = external_exports3.enum(["setup", "active", "paused"]);
62776
63100
  var LCNIntegrationValidator2 = external_exports3.object({
62777
63101
  id: external_exports3.string(),
62778
63102
  name: external_exports3.string(),
62779
63103
  description: external_exports3.string().optional(),
62780
63104
  publishableKey: external_exports3.string(),
62781
- whitelistedDomains: external_exports3.array(LCNDomainOrOriginValidator2).default([])
63105
+ whitelistedDomains: external_exports3.array(LCNDomainOrOriginValidator2).default([]),
63106
+ // Setup/onboarding status
63107
+ status: LCNIntegrationStatusEnum2.default("setup"),
63108
+ guideType: external_exports3.string().optional(),
63109
+ guideState: external_exports3.record(external_exports3.string(), external_exports3.any()).optional(),
63110
+ // Timestamps
63111
+ createdAt: external_exports3.string().optional(),
63112
+ updatedAt: external_exports3.string().optional()
62782
63113
  });
62783
63114
  var LCNIntegrationCreateValidator2 = external_exports3.object({
62784
63115
  name: external_exports3.string(),
62785
63116
  description: external_exports3.string().optional(),
62786
- whitelistedDomains: external_exports3.array(LCNDomainOrOriginValidator2).default([])
63117
+ whitelistedDomains: external_exports3.array(LCNDomainOrOriginValidator2).default([]),
63118
+ guideType: external_exports3.string().optional()
62787
63119
  });
62788
63120
  var LCNIntegrationUpdateValidator2 = external_exports3.object({
62789
63121
  name: external_exports3.string().optional(),
62790
63122
  description: external_exports3.string().optional(),
62791
63123
  whitelistedDomains: external_exports3.array(LCNDomainOrOriginValidator2).optional(),
62792
- rotatePublishableKey: external_exports3.boolean().optional()
63124
+ rotatePublishableKey: external_exports3.boolean().optional(),
63125
+ // Setup/onboarding updates
63126
+ status: LCNIntegrationStatusEnum2.optional(),
63127
+ guideType: external_exports3.string().optional(),
63128
+ guideState: external_exports3.record(external_exports3.string(), external_exports3.any()).optional()
62793
63129
  });
62794
63130
  var LCNIntegrationQueryValidator2 = external_exports3.object({
62795
63131
  id: StringQuery2,
62796
63132
  name: StringQuery2,
62797
- description: StringQuery2
63133
+ description: StringQuery2,
63134
+ status: StringQuery2,
63135
+ guideType: StringQuery2
62798
63136
  }).partial();
62799
63137
  var PaginatedLCNIntegrationsValidator2 = PaginationResponseValidator2.extend({
62800
63138
  records: LCNIntegrationValidator2.array()
@@ -63009,6 +63347,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
63009
63347
  ]);
63010
63348
  var AppStoreListingValidator2 = external_exports3.object({
63011
63349
  listing_id: external_exports3.string(),
63350
+ slug: external_exports3.string().optional(),
63012
63351
  display_name: external_exports3.string(),
63013
63352
  tagline: external_exports3.string(),
63014
63353
  full_description: external_exports3.string(),
@@ -63046,6 +63385,77 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
63046
63385
  var PaginatedInstalledAppsValidator2 = PaginationResponseValidator2.extend({
63047
63386
  records: InstalledAppValidator2.array()
63048
63387
  });
63388
+ var AppBoostValidator2 = external_exports3.object({
63389
+ templateAlias: external_exports3.string().min(1).max(50).regex(/^[a-z0-9-]+$/),
63390
+ boostUri: external_exports3.string()
63391
+ });
63392
+ var SendCredentialEventValidator2 = external_exports3.object({
63393
+ type: external_exports3.literal("send-credential"),
63394
+ templateAlias: external_exports3.string(),
63395
+ templateData: external_exports3.record(external_exports3.string(), external_exports3.unknown()).optional()
63396
+ });
63397
+ var AppEventValidator2 = external_exports3.discriminatedUnion("type", [SendCredentialEventValidator2]);
63398
+ var AppEventInputValidator2 = external_exports3.object({
63399
+ listingId: external_exports3.string(),
63400
+ event: AppEventValidator2
63401
+ });
63402
+ var AppEventResponseValidator2 = external_exports3.record(external_exports3.string(), external_exports3.unknown());
63403
+ var CredentialActivityEventTypeValidator2 = external_exports3.enum([
63404
+ "CREATED",
63405
+ "DELIVERED",
63406
+ "CLAIMED",
63407
+ "EXPIRED",
63408
+ "FAILED"
63409
+ ]);
63410
+ var CredentialActivityRecipientTypeValidator2 = external_exports3.enum(["profile", "email", "phone"]);
63411
+ var CredentialActivitySourceTypeValidator2 = external_exports3.enum([
63412
+ "send",
63413
+ "sendBoost",
63414
+ "sendCredential",
63415
+ "contract",
63416
+ "claim",
63417
+ "inbox",
63418
+ "claimLink",
63419
+ "acceptCredential"
63420
+ ]);
63421
+ var CredentialActivityValidator2 = external_exports3.object({
63422
+ id: external_exports3.string(),
63423
+ activityId: external_exports3.string(),
63424
+ eventType: CredentialActivityEventTypeValidator2,
63425
+ timestamp: external_exports3.string(),
63426
+ actorProfileId: external_exports3.string(),
63427
+ recipientType: CredentialActivityRecipientTypeValidator2,
63428
+ recipientIdentifier: external_exports3.string(),
63429
+ boostUri: external_exports3.string().optional(),
63430
+ credentialUri: external_exports3.string().optional(),
63431
+ inboxCredentialId: external_exports3.string().optional(),
63432
+ integrationId: external_exports3.string().optional(),
63433
+ source: CredentialActivitySourceTypeValidator2,
63434
+ metadata: external_exports3.record(external_exports3.string(), external_exports3.unknown()).optional()
63435
+ });
63436
+ var CredentialActivityWithDetailsValidator2 = CredentialActivityValidator2.extend({
63437
+ boost: external_exports3.object({
63438
+ id: external_exports3.string(),
63439
+ name: external_exports3.string().optional(),
63440
+ category: external_exports3.string().optional()
63441
+ }).optional(),
63442
+ recipientProfile: external_exports3.object({
63443
+ profileId: external_exports3.string(),
63444
+ displayName: external_exports3.string().optional()
63445
+ }).optional()
63446
+ });
63447
+ var PaginatedCredentialActivitiesValidator2 = PaginationResponseValidator2.extend({
63448
+ records: CredentialActivityWithDetailsValidator2.array()
63449
+ });
63450
+ var CredentialActivityStatsValidator2 = external_exports3.object({
63451
+ total: external_exports3.number(),
63452
+ created: external_exports3.number(),
63453
+ delivered: external_exports3.number(),
63454
+ claimed: external_exports3.number(),
63455
+ expired: external_exports3.number(),
63456
+ failed: external_exports3.number(),
63457
+ claimRate: external_exports3.number()
63458
+ });
63049
63459
  }
63050
63460
  });
63051
63461
  var require_dist2 = __commonJS4({
@@ -64954,18 +65364,21 @@ async function getLearnCardNetworkPlugin(learnCard, url3, apiToken) {
64954
65364
  send: /* @__PURE__ */ __name(async (_learnCard, input) => {
64955
65365
  await ensureUser();
64956
65366
  if (input.type === "boost") {
65367
+ const recipient = input.recipient;
65368
+ const isDid = recipient.startsWith("did:");
65369
+ const isEmail = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(recipient);
65370
+ const isPhone = /^\+?[\d\s-]{10,}$/.test(recipient.replace(/[\s-]/g, ""));
64957
65371
  const canIssueLocally = "issueCredential" in _learnCard.invoke;
64958
- if (canIssueLocally && input.templateUri) {
65372
+ const isDirectRecipient = isDid || !isEmail && !isPhone;
65373
+ if (canIssueLocally && isDirectRecipient && input.templateUri) {
64959
65374
  const result = await _learnCard.invoke.resolveFromLCN(input.templateUri);
64960
65375
  const data = await UnsignedVCValidator.spa(result);
64961
65376
  if (data.success) {
64962
65377
  let targetDid;
64963
- if (input.recipient.startsWith("did:")) {
64964
- targetDid = input.recipient;
65378
+ if (isDid) {
65379
+ targetDid = recipient;
64965
65380
  } else {
64966
- const targetProfile = await _learnCard.invoke.getProfile(
64967
- input.recipient
64968
- );
65381
+ const targetProfile = await _learnCard.invoke.getProfile(recipient);
64969
65382
  if (!targetProfile) return client.boost.send.mutate(input);
64970
65383
  targetDid = targetProfile.did;
64971
65384
  }
@@ -65546,11 +65959,46 @@ async function getLearnCardNetworkPlugin(learnCard, url3, apiToken) {
65546
65959
  await ensureUser();
65547
65960
  return client.appStore.adminGetAllListings.query(options);
65548
65961
  }, "adminGetAllListings"),
65962
+ // App Store Boost Management
65963
+ addBoostToApp: /* @__PURE__ */ __name(async (_learnCard, listingId, boostUri, templateAlias) => {
65964
+ await ensureUser();
65965
+ return client.appStore.addBoostToListing.mutate({ listingId, boostUri, templateAlias });
65966
+ }, "addBoostToApp"),
65967
+ removeBoostFromApp: /* @__PURE__ */ __name(async (_learnCard, listingId, templateAlias) => {
65968
+ await ensureUser();
65969
+ return client.appStore.removeBoostFromListing.mutate({ listingId, templateAlias });
65970
+ }, "removeBoostFromApp"),
65971
+ getAppBoosts: /* @__PURE__ */ __name(async (_learnCard, listingId) => {
65972
+ await ensureUser();
65973
+ return client.appStore.getBoostsForListing.query({ listingId });
65974
+ }, "getAppBoosts"),
65975
+ // Generic App Event
65976
+ sendAppEvent: /* @__PURE__ */ __name(async (_learnCard, listingId, event) => {
65977
+ await ensureUser();
65978
+ return client.appStore.appEvent.mutate({ listingId, event });
65979
+ }, "sendAppEvent"),
65549
65980
  resolveFromLCN: /* @__PURE__ */ __name(async (_learnCard, uri) => {
65550
65981
  const result = await client.storage.resolve.query({ uri });
65551
65982
  return UnsignedVCValidator.or(VCValidator).or(VPValidator).or(JWEValidator).or(ConsentFlowContractValidator).or(ConsentFlowTermsValidator).parseAsync(result);
65552
65983
  }, "resolveFromLCN"),
65553
- getLCNClient: /* @__PURE__ */ __name(() => client, "getLCNClient")
65984
+ getLCNClient: /* @__PURE__ */ __name(() => client, "getLCNClient"),
65985
+ // Activity
65986
+ getMyActivities: /* @__PURE__ */ __name(async (_learnCard, options = {}) => {
65987
+ await ensureUser();
65988
+ return client.activity.getMyActivities.query(options);
65989
+ }, "getMyActivities"),
65990
+ getActivityStats: /* @__PURE__ */ __name(async (_learnCard, options = {}) => {
65991
+ await ensureUser();
65992
+ return client.activity.getActivityStats.query(options);
65993
+ }, "getActivityStats"),
65994
+ getActivity: /* @__PURE__ */ __name(async (_learnCard, options) => {
65995
+ await ensureUser();
65996
+ return client.activity.getActivity.query(options);
65997
+ }, "getActivity"),
65998
+ getActivityChain: /* @__PURE__ */ __name(async (_learnCard, options) => {
65999
+ await ensureUser();
66000
+ return client.activity.getActivityChain.query(options);
66001
+ }, "getActivityChain")
65554
66002
  }
65555
66003
  };
65556
66004
  }