@learncard/network-plugin 2.9.2 → 2.9.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.
@@ -14490,6 +14490,10 @@ var require_types_cjs_development = __commonJS22({
14490
14490
  AddressValidator: /* @__PURE__ */ __name22(() => AddressValidator2, "AddressValidator"),
14491
14491
  AlignmentTargetTypeValidator: /* @__PURE__ */ __name22(() => AlignmentTargetTypeValidator2, "AlignmentTargetTypeValidator"),
14492
14492
  AlignmentValidator: /* @__PURE__ */ __name22(() => AlignmentValidator2, "AlignmentValidator"),
14493
+ AppBoostValidator: /* @__PURE__ */ __name22(() => AppBoostValidator2, "AppBoostValidator"),
14494
+ AppEventInputValidator: /* @__PURE__ */ __name22(() => AppEventInputValidator2, "AppEventInputValidator"),
14495
+ AppEventResponseValidator: /* @__PURE__ */ __name22(() => AppEventResponseValidator2, "AppEventResponseValidator"),
14496
+ AppEventValidator: /* @__PURE__ */ __name22(() => AppEventValidator2, "AppEventValidator"),
14493
14497
  AppListingStatusValidator: /* @__PURE__ */ __name22(() => AppListingStatusValidator2, "AppListingStatusValidator"),
14494
14498
  AppStoreListingCreateValidator: /* @__PURE__ */ __name22(() => AppStoreListingCreateValidator2, "AppStoreListingCreateValidator"),
14495
14499
  AppStoreListingUpdateValidator: /* @__PURE__ */ __name22(() => AppStoreListingUpdateValidator2, "AppStoreListingUpdateValidator"),
@@ -14538,6 +14542,12 @@ var require_types_cjs_development = __commonJS22({
14538
14542
  CreateManagedFrameworkInputValidator: /* @__PURE__ */ __name22(() => CreateManagedFrameworkInputValidator2, "CreateManagedFrameworkInputValidator"),
14539
14543
  CreateSkillInputValidator: /* @__PURE__ */ __name22(() => CreateSkillInputValidator2, "CreateSkillInputValidator"),
14540
14544
  CreateSkillsBatchInputValidator: /* @__PURE__ */ __name22(() => CreateSkillsBatchInputValidator2, "CreateSkillsBatchInputValidator"),
14545
+ CredentialActivityEventTypeValidator: /* @__PURE__ */ __name22(() => CredentialActivityEventTypeValidator2, "CredentialActivityEventTypeValidator"),
14546
+ CredentialActivityRecipientTypeValidator: /* @__PURE__ */ __name22(() => CredentialActivityRecipientTypeValidator2, "CredentialActivityRecipientTypeValidator"),
14547
+ CredentialActivitySourceTypeValidator: /* @__PURE__ */ __name22(() => CredentialActivitySourceTypeValidator2, "CredentialActivitySourceTypeValidator"),
14548
+ CredentialActivityStatsValidator: /* @__PURE__ */ __name22(() => CredentialActivityStatsValidator2, "CredentialActivityStatsValidator"),
14549
+ CredentialActivityValidator: /* @__PURE__ */ __name22(() => CredentialActivityValidator2, "CredentialActivityValidator"),
14550
+ CredentialActivityWithDetailsValidator: /* @__PURE__ */ __name22(() => CredentialActivityWithDetailsValidator2, "CredentialActivityWithDetailsValidator"),
14541
14551
  CredentialInfoValidator: /* @__PURE__ */ __name22(() => CredentialInfoValidator2, "CredentialInfoValidator"),
14542
14552
  CredentialRecordValidator: /* @__PURE__ */ __name22(() => CredentialRecordValidator2, "CredentialRecordValidator"),
14543
14553
  CredentialSchemaValidator: /* @__PURE__ */ __name22(() => CredentialSchemaValidator2, "CredentialSchemaValidator"),
@@ -14584,6 +14594,7 @@ var require_types_cjs_development = __commonJS22({
14584
14594
  LCNInboxStatusEnumValidator: /* @__PURE__ */ __name22(() => LCNInboxStatusEnumValidator2, "LCNInboxStatusEnumValidator"),
14585
14595
  LCNIntegrationCreateValidator: /* @__PURE__ */ __name22(() => LCNIntegrationCreateValidator2, "LCNIntegrationCreateValidator"),
14586
14596
  LCNIntegrationQueryValidator: /* @__PURE__ */ __name22(() => LCNIntegrationQueryValidator2, "LCNIntegrationQueryValidator"),
14597
+ LCNIntegrationStatusEnum: /* @__PURE__ */ __name22(() => LCNIntegrationStatusEnum2, "LCNIntegrationStatusEnum"),
14587
14598
  LCNIntegrationUpdateValidator: /* @__PURE__ */ __name22(() => LCNIntegrationUpdateValidator2, "LCNIntegrationUpdateValidator"),
14588
14599
  LCNIntegrationValidator: /* @__PURE__ */ __name22(() => LCNIntegrationValidator2, "LCNIntegrationValidator"),
14589
14600
  LCNNotificationDataValidator: /* @__PURE__ */ __name22(() => LCNNotificationDataValidator2, "LCNNotificationDataValidator"),
@@ -14612,6 +14623,7 @@ var require_types_cjs_development = __commonJS22({
14612
14623
  PaginatedConsentFlowTermsValidator: /* @__PURE__ */ __name22(() => PaginatedConsentFlowTermsValidator2, "PaginatedConsentFlowTermsValidator"),
14613
14624
  PaginatedConsentFlowTransactionsValidator: /* @__PURE__ */ __name22(() => PaginatedConsentFlowTransactionsValidator2, "PaginatedConsentFlowTransactionsValidator"),
14614
14625
  PaginatedContractCredentialsValidator: /* @__PURE__ */ __name22(() => PaginatedContractCredentialsValidator2, "PaginatedContractCredentialsValidator"),
14626
+ PaginatedCredentialActivitiesValidator: /* @__PURE__ */ __name22(() => PaginatedCredentialActivitiesValidator2, "PaginatedCredentialActivitiesValidator"),
14615
14627
  PaginatedEncryptedCredentialRecordsValidator: /* @__PURE__ */ __name22(() => PaginatedEncryptedCredentialRecordsValidator2, "PaginatedEncryptedCredentialRecordsValidator"),
14616
14628
  PaginatedEncryptedRecordsValidator: /* @__PURE__ */ __name22(() => PaginatedEncryptedRecordsValidator2, "PaginatedEncryptedRecordsValidator"),
14617
14629
  PaginatedInboxCredentialsValidator: /* @__PURE__ */ __name22(() => PaginatedInboxCredentialsValidator2, "PaginatedInboxCredentialsValidator"),
@@ -14639,7 +14651,11 @@ var require_types_cjs_development = __commonJS22({
14639
14651
  RubricCriterionValidator: /* @__PURE__ */ __name22(() => RubricCriterionValidator2, "RubricCriterionValidator"),
14640
14652
  SendBoostInputValidator: /* @__PURE__ */ __name22(() => SendBoostInputValidator2, "SendBoostInputValidator"),
14641
14653
  SendBoostResponseValidator: /* @__PURE__ */ __name22(() => SendBoostResponseValidator2, "SendBoostResponseValidator"),
14654
+ SendBrandingOptionsValidator: /* @__PURE__ */ __name22(() => SendBrandingOptionsValidator2, "SendBrandingOptionsValidator"),
14655
+ SendCredentialEventValidator: /* @__PURE__ */ __name22(() => SendCredentialEventValidator2, "SendCredentialEventValidator"),
14656
+ SendInboxResponseValidator: /* @__PURE__ */ __name22(() => SendInboxResponseValidator2, "SendInboxResponseValidator"),
14642
14657
  SendInputValidator: /* @__PURE__ */ __name22(() => SendInputValidator2, "SendInputValidator"),
14658
+ SendOptionsValidator: /* @__PURE__ */ __name22(() => SendOptionsValidator2, "SendOptionsValidator"),
14643
14659
  SendResponseValidator: /* @__PURE__ */ __name22(() => SendResponseValidator2, "SendResponseValidator"),
14644
14660
  SentCredentialInfoValidator: /* @__PURE__ */ __name22(() => SentCredentialInfoValidator2, "SentCredentialInfoValidator"),
14645
14661
  ServiceValidator: /* @__PURE__ */ __name22(() => ServiceValidator2, "ServiceValidator"),
@@ -29416,7 +29432,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29416
29432
  var PaginatedClaimHooksValidator2 = PaginationResponseValidator2.extend({
29417
29433
  records: FullClaimHookValidator2.array()
29418
29434
  });
29419
- var LCNBoostStatus2 = external_exports22.enum(["DRAFT", "LIVE"]);
29435
+ var LCNBoostStatus2 = external_exports22.enum(["DRAFT", "PROVISIONAL", "LIVE"]);
29420
29436
  var BoostValidator2 = external_exports22.object({
29421
29437
  uri: external_exports22.string(),
29422
29438
  name: external_exports22.string().optional(),
@@ -29500,22 +29516,46 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29500
29516
  claimPermissions: BoostPermissionsValidator2.partial().optional(),
29501
29517
  skills: external_exports22.array(external_exports22.object({ frameworkId: external_exports22.string(), id: external_exports22.string() })).min(1).optional()
29502
29518
  });
29519
+ var SendBrandingOptionsValidator2 = external_exports22.object({
29520
+ issuerName: external_exports22.string().optional().describe("Name of the issuing organization"),
29521
+ issuerLogoUrl: external_exports22.string().url().optional().describe("Logo URL of the issuing organization"),
29522
+ credentialName: external_exports22.string().optional().describe("Display name for the credential"),
29523
+ recipientName: external_exports22.string().optional().describe("Name of the recipient for personalization")
29524
+ });
29525
+ var SendOptionsValidator2 = external_exports22.object({
29526
+ webhookUrl: external_exports22.string().url().optional().describe("Webhook URL to receive claim notifications"),
29527
+ suppressDelivery: external_exports22.boolean().optional().describe("If true, returns claimUrl without sending email/SMS"),
29528
+ branding: SendBrandingOptionsValidator2.optional().describe("Branding for email/SMS delivery")
29529
+ });
29503
29530
  var SendBoostInputValidator2 = external_exports22.object({
29504
29531
  type: external_exports22.literal("boost"),
29505
- recipient: external_exports22.string(),
29532
+ recipient: external_exports22.string().describe("Profile ID, DID, email, or phone number (auto-detected)"),
29506
29533
  contractUri: external_exports22.string().optional(),
29507
29534
  templateUri: external_exports22.string().optional(),
29508
29535
  template: SendBoostTemplateValidator2.optional(),
29509
29536
  signedCredential: VCValidator2.optional(),
29510
- templateData: external_exports22.record(external_exports22.string(), external_exports22.unknown()).optional()
29537
+ options: SendOptionsValidator2.optional().describe(
29538
+ "Options for email/phone recipients (Universal Inbox)"
29539
+ ),
29540
+ templateData: external_exports22.record(external_exports22.string(), external_exports22.unknown()).optional(),
29541
+ integrationId: external_exports22.string().optional().describe("Integration ID for activity tracking")
29511
29542
  }).refine((data) => data.templateUri || data.template, {
29512
29543
  message: "Either templateUri or template creation data must be provided.",
29513
29544
  path: ["templateUri"]
29514
29545
  });
29546
+ var SendInboxResponseValidator2 = external_exports22.object({
29547
+ issuanceId: external_exports22.string(),
29548
+ status: external_exports22.enum(["PENDING", "ISSUED", "EXPIRED", "DELIVERED", "CLAIMED"]),
29549
+ claimUrl: external_exports22.string().url().optional().describe("Present when suppressDelivery=true")
29550
+ });
29515
29551
  var SendBoostResponseValidator2 = external_exports22.object({
29516
29552
  type: external_exports22.literal("boost"),
29517
29553
  credentialUri: external_exports22.string(),
29518
- uri: external_exports22.string()
29554
+ uri: external_exports22.string(),
29555
+ activityId: external_exports22.string().describe("Links to the activity lifecycle for this issuance"),
29556
+ inbox: SendInboxResponseValidator2.optional().describe(
29557
+ "Present when sent via email/phone (Universal Inbox)"
29558
+ )
29519
29559
  });
29520
29560
  var SendInputValidator2 = external_exports22.discriminatedUnion("type", [SendBoostInputValidator2]);
29521
29561
  var SendResponseValidator2 = external_exports22.discriminatedUnion("type", [SendBoostResponseValidator2]);
@@ -29867,6 +29907,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29867
29907
  createdAt: external_exports22.string(),
29868
29908
  issuerDid: external_exports22.string(),
29869
29909
  webhookUrl: external_exports22.string().optional(),
29910
+ boostUri: external_exports22.string().optional(),
29911
+ activityId: external_exports22.string().optional(),
29870
29912
  signingAuthority: external_exports22.object({
29871
29913
  endpoint: external_exports22.string().optional(),
29872
29914
  name: external_exports22.string().optional()
@@ -29882,7 +29924,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29882
29924
  id: external_exports22.string(),
29883
29925
  isSigned: external_exports22.boolean(),
29884
29926
  isAccepted: external_exports22.boolean().optional(),
29885
- issuerDid: external_exports22.string()
29927
+ issuerDid: external_exports22.string(),
29928
+ boostUri: external_exports22.string()
29886
29929
  }).partial();
29887
29930
  var IssueInboxSigningAuthorityValidator2 = external_exports22.object({
29888
29931
  endpoint: external_exports22.string().url(),
@@ -29892,9 +29935,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29892
29935
  // === CORE DATA (Required) ===
29893
29936
  // WHAT is being sent and WHO is it for?
29894
29937
  recipient: ContactMethodQueryValidator2.describe("The recipient of the credential"),
29895
- credential: VCValidator2.or(VPValidator2).or(UnsignedVCValidator2).describe(
29938
+ // Either credential OR templateUri must be provided
29939
+ credential: VCValidator2.or(VPValidator2).or(UnsignedVCValidator2).optional().describe(
29896
29940
  "The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."
29897
29941
  ),
29942
+ templateUri: external_exports22.string().optional().describe(
29943
+ "URI of a boost template to use for issuance. The boost credential will be resolved and used. Mutually exclusive with credential field."
29944
+ ),
29898
29945
  // === OPTIONAL FEATURES ===
29899
29946
  // Add major, distinct features at the top level.
29900
29947
  //consentRequest: ConsentRequestValidator.optional(),
@@ -29906,6 +29953,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29906
29953
  ),
29907
29954
  webhookUrl: external_exports22.string().url().optional().describe("The webhook URL to receive credential issuance events."),
29908
29955
  expiresInDays: external_exports22.number().min(1).max(365).optional().describe("The number of days the credential will be valid for."),
29956
+ templateData: external_exports22.record(external_exports22.string(), external_exports22.unknown()).optional().describe(
29957
+ "Template data to render into the boost credential template using Mustache syntax. Only used when boostUri is provided."
29958
+ ),
29909
29959
  // --- For User-Facing Delivery (Email/SMS) ---
29910
29960
  delivery: external_exports22.object({
29911
29961
  suppress: external_exports22.boolean().optional().default(false).describe(
@@ -29920,7 +29970,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29920
29970
  name: external_exports22.string().optional().describe(
29921
29971
  'The name of the organization (e.g., "State University").'
29922
29972
  ),
29923
- logoUrl: external_exports22.string().url().optional().describe("The URL of the organization's logo.")
29973
+ logoUrl: external_exports22.string().url().optional().describe(
29974
+ "The URL of the organization's logo."
29975
+ )
29924
29976
  }).optional(),
29925
29977
  credential: external_exports22.object({
29926
29978
  name: external_exports22.string().optional().describe(
@@ -29947,6 +29999,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29947
29999
  }).optional().describe(
29948
30000
  "Configuration for the credential issuance. If not provided, the default configuration will be used."
29949
30001
  )
30002
+ }).refine((data) => data.credential || data.templateUri, {
30003
+ message: "Either credential or templateUri must be provided.",
30004
+ path: ["credential"]
29950
30005
  });
29951
30006
  var IssueInboxCredentialResponseValidator2 = external_exports22.object({
29952
30007
  issuanceId: external_exports22.string(),
@@ -29974,28 +30029,43 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
29974
30029
  { message: "Must be a valid http(s) origin" }
29975
30030
  )
29976
30031
  ]);
30032
+ var LCNIntegrationStatusEnum2 = external_exports22.enum(["setup", "active", "paused"]);
29977
30033
  var LCNIntegrationValidator2 = external_exports22.object({
29978
30034
  id: external_exports22.string(),
29979
30035
  name: external_exports22.string(),
29980
30036
  description: external_exports22.string().optional(),
29981
30037
  publishableKey: external_exports22.string(),
29982
- whitelistedDomains: external_exports22.array(LCNDomainOrOriginValidator2).default([])
30038
+ whitelistedDomains: external_exports22.array(LCNDomainOrOriginValidator2).default([]),
30039
+ // Setup/onboarding status
30040
+ status: LCNIntegrationStatusEnum2.default("setup"),
30041
+ guideType: external_exports22.string().optional(),
30042
+ guideState: external_exports22.record(external_exports22.string(), external_exports22.any()).optional(),
30043
+ // Timestamps
30044
+ createdAt: external_exports22.string().optional(),
30045
+ updatedAt: external_exports22.string().optional()
29983
30046
  });
29984
30047
  var LCNIntegrationCreateValidator2 = external_exports22.object({
29985
30048
  name: external_exports22.string(),
29986
30049
  description: external_exports22.string().optional(),
29987
- whitelistedDomains: external_exports22.array(LCNDomainOrOriginValidator2).default([])
30050
+ whitelistedDomains: external_exports22.array(LCNDomainOrOriginValidator2).default([]),
30051
+ guideType: external_exports22.string().optional()
29988
30052
  });
29989
30053
  var LCNIntegrationUpdateValidator2 = external_exports22.object({
29990
30054
  name: external_exports22.string().optional(),
29991
30055
  description: external_exports22.string().optional(),
29992
30056
  whitelistedDomains: external_exports22.array(LCNDomainOrOriginValidator2).optional(),
29993
- rotatePublishableKey: external_exports22.boolean().optional()
30057
+ rotatePublishableKey: external_exports22.boolean().optional(),
30058
+ // Setup/onboarding updates
30059
+ status: LCNIntegrationStatusEnum2.optional(),
30060
+ guideType: external_exports22.string().optional(),
30061
+ guideState: external_exports22.record(external_exports22.string(), external_exports22.any()).optional()
29994
30062
  });
29995
30063
  var LCNIntegrationQueryValidator2 = external_exports22.object({
29996
30064
  id: StringQuery2,
29997
30065
  name: StringQuery2,
29998
- description: StringQuery2
30066
+ description: StringQuery2,
30067
+ status: StringQuery2,
30068
+ guideType: StringQuery2
29999
30069
  }).partial();
30000
30070
  var PaginatedLCNIntegrationsValidator2 = PaginationResponseValidator2.extend({
30001
30071
  records: LCNIntegrationValidator2.array()
@@ -30210,6 +30280,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
30210
30280
  ]);
30211
30281
  var AppStoreListingValidator2 = external_exports22.object({
30212
30282
  listing_id: external_exports22.string(),
30283
+ slug: external_exports22.string().optional(),
30213
30284
  display_name: external_exports22.string(),
30214
30285
  tagline: external_exports22.string(),
30215
30286
  full_description: external_exports22.string(),
@@ -30247,6 +30318,77 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
30247
30318
  var PaginatedInstalledAppsValidator2 = PaginationResponseValidator2.extend({
30248
30319
  records: InstalledAppValidator2.array()
30249
30320
  });
30321
+ var AppBoostValidator2 = external_exports22.object({
30322
+ templateAlias: external_exports22.string().min(1).max(50).regex(/^[a-z0-9-]+$/),
30323
+ boostUri: external_exports22.string()
30324
+ });
30325
+ var SendCredentialEventValidator2 = external_exports22.object({
30326
+ type: external_exports22.literal("send-credential"),
30327
+ templateAlias: external_exports22.string(),
30328
+ templateData: external_exports22.record(external_exports22.string(), external_exports22.unknown()).optional()
30329
+ });
30330
+ var AppEventValidator2 = external_exports22.discriminatedUnion("type", [SendCredentialEventValidator2]);
30331
+ var AppEventInputValidator2 = external_exports22.object({
30332
+ listingId: external_exports22.string(),
30333
+ event: AppEventValidator2
30334
+ });
30335
+ var AppEventResponseValidator2 = external_exports22.record(external_exports22.string(), external_exports22.unknown());
30336
+ var CredentialActivityEventTypeValidator2 = external_exports22.enum([
30337
+ "CREATED",
30338
+ "DELIVERED",
30339
+ "CLAIMED",
30340
+ "EXPIRED",
30341
+ "FAILED"
30342
+ ]);
30343
+ var CredentialActivityRecipientTypeValidator2 = external_exports22.enum(["profile", "email", "phone"]);
30344
+ var CredentialActivitySourceTypeValidator2 = external_exports22.enum([
30345
+ "send",
30346
+ "sendBoost",
30347
+ "sendCredential",
30348
+ "contract",
30349
+ "claim",
30350
+ "inbox",
30351
+ "claimLink",
30352
+ "acceptCredential"
30353
+ ]);
30354
+ var CredentialActivityValidator2 = external_exports22.object({
30355
+ id: external_exports22.string(),
30356
+ activityId: external_exports22.string(),
30357
+ eventType: CredentialActivityEventTypeValidator2,
30358
+ timestamp: external_exports22.string(),
30359
+ actorProfileId: external_exports22.string(),
30360
+ recipientType: CredentialActivityRecipientTypeValidator2,
30361
+ recipientIdentifier: external_exports22.string(),
30362
+ boostUri: external_exports22.string().optional(),
30363
+ credentialUri: external_exports22.string().optional(),
30364
+ inboxCredentialId: external_exports22.string().optional(),
30365
+ integrationId: external_exports22.string().optional(),
30366
+ source: CredentialActivitySourceTypeValidator2,
30367
+ metadata: external_exports22.record(external_exports22.string(), external_exports22.unknown()).optional()
30368
+ });
30369
+ var CredentialActivityWithDetailsValidator2 = CredentialActivityValidator2.extend({
30370
+ boost: external_exports22.object({
30371
+ id: external_exports22.string(),
30372
+ name: external_exports22.string().optional(),
30373
+ category: external_exports22.string().optional()
30374
+ }).optional(),
30375
+ recipientProfile: external_exports22.object({
30376
+ profileId: external_exports22.string(),
30377
+ displayName: external_exports22.string().optional()
30378
+ }).optional()
30379
+ });
30380
+ var PaginatedCredentialActivitiesValidator2 = PaginationResponseValidator2.extend({
30381
+ records: CredentialActivityWithDetailsValidator2.array()
30382
+ });
30383
+ var CredentialActivityStatsValidator2 = external_exports22.object({
30384
+ total: external_exports22.number(),
30385
+ created: external_exports22.number(),
30386
+ delivered: external_exports22.number(),
30387
+ claimed: external_exports22.number(),
30388
+ expired: external_exports22.number(),
30389
+ failed: external_exports22.number(),
30390
+ claimRate: external_exports22.number()
30391
+ });
30250
30392
  }
30251
30393
  });
30252
30394
  var require_dist = __commonJS22({
@@ -46017,7 +46159,7 @@ var FullClaimHookValidator = external_exports2.object({ id: external_exports2.st
46017
46159
  var PaginatedClaimHooksValidator = PaginationResponseValidator.extend({
46018
46160
  records: FullClaimHookValidator.array()
46019
46161
  });
46020
- var LCNBoostStatus = external_exports2.enum(["DRAFT", "LIVE"]);
46162
+ var LCNBoostStatus = external_exports2.enum(["DRAFT", "PROVISIONAL", "LIVE"]);
46021
46163
  var BoostValidator = external_exports2.object({
46022
46164
  uri: external_exports2.string(),
46023
46165
  name: external_exports2.string().optional(),
@@ -46101,22 +46243,46 @@ var SendBoostTemplateValidator = BoostValidator.partial().omit({ uri: true, clai
46101
46243
  claimPermissions: BoostPermissionsValidator.partial().optional(),
46102
46244
  skills: external_exports2.array(external_exports2.object({ frameworkId: external_exports2.string(), id: external_exports2.string() })).min(1).optional()
46103
46245
  });
46246
+ var SendBrandingOptionsValidator = external_exports2.object({
46247
+ issuerName: external_exports2.string().optional().describe("Name of the issuing organization"),
46248
+ issuerLogoUrl: external_exports2.string().url().optional().describe("Logo URL of the issuing organization"),
46249
+ credentialName: external_exports2.string().optional().describe("Display name for the credential"),
46250
+ recipientName: external_exports2.string().optional().describe("Name of the recipient for personalization")
46251
+ });
46252
+ var SendOptionsValidator = external_exports2.object({
46253
+ webhookUrl: external_exports2.string().url().optional().describe("Webhook URL to receive claim notifications"),
46254
+ suppressDelivery: external_exports2.boolean().optional().describe("If true, returns claimUrl without sending email/SMS"),
46255
+ branding: SendBrandingOptionsValidator.optional().describe("Branding for email/SMS delivery")
46256
+ });
46104
46257
  var SendBoostInputValidator = external_exports2.object({
46105
46258
  type: external_exports2.literal("boost"),
46106
- recipient: external_exports2.string(),
46259
+ recipient: external_exports2.string().describe("Profile ID, DID, email, or phone number (auto-detected)"),
46107
46260
  contractUri: external_exports2.string().optional(),
46108
46261
  templateUri: external_exports2.string().optional(),
46109
46262
  template: SendBoostTemplateValidator.optional(),
46110
46263
  signedCredential: VCValidator.optional(),
46111
- templateData: external_exports2.record(external_exports2.string(), external_exports2.unknown()).optional()
46264
+ options: SendOptionsValidator.optional().describe(
46265
+ "Options for email/phone recipients (Universal Inbox)"
46266
+ ),
46267
+ templateData: external_exports2.record(external_exports2.string(), external_exports2.unknown()).optional(),
46268
+ integrationId: external_exports2.string().optional().describe("Integration ID for activity tracking")
46112
46269
  }).refine((data) => data.templateUri || data.template, {
46113
46270
  message: "Either templateUri or template creation data must be provided.",
46114
46271
  path: ["templateUri"]
46115
46272
  });
46273
+ var SendInboxResponseValidator = external_exports2.object({
46274
+ issuanceId: external_exports2.string(),
46275
+ status: external_exports2.enum(["PENDING", "ISSUED", "EXPIRED", "DELIVERED", "CLAIMED"]),
46276
+ claimUrl: external_exports2.string().url().optional().describe("Present when suppressDelivery=true")
46277
+ });
46116
46278
  var SendBoostResponseValidator = external_exports2.object({
46117
46279
  type: external_exports2.literal("boost"),
46118
46280
  credentialUri: external_exports2.string(),
46119
- uri: external_exports2.string()
46281
+ uri: external_exports2.string(),
46282
+ activityId: external_exports2.string().describe("Links to the activity lifecycle for this issuance"),
46283
+ inbox: SendInboxResponseValidator.optional().describe(
46284
+ "Present when sent via email/phone (Universal Inbox)"
46285
+ )
46120
46286
  });
46121
46287
  var SendInputValidator = external_exports2.discriminatedUnion("type", [SendBoostInputValidator]);
46122
46288
  var SendResponseValidator = external_exports2.discriminatedUnion("type", [SendBoostResponseValidator]);
@@ -46468,6 +46634,8 @@ var InboxCredentialValidator = external_exports2.object({
46468
46634
  createdAt: external_exports2.string(),
46469
46635
  issuerDid: external_exports2.string(),
46470
46636
  webhookUrl: external_exports2.string().optional(),
46637
+ boostUri: external_exports2.string().optional(),
46638
+ activityId: external_exports2.string().optional(),
46471
46639
  signingAuthority: external_exports2.object({
46472
46640
  endpoint: external_exports2.string().optional(),
46473
46641
  name: external_exports2.string().optional()
@@ -46483,7 +46651,8 @@ var InboxCredentialQueryValidator = external_exports2.object({
46483
46651
  id: external_exports2.string(),
46484
46652
  isSigned: external_exports2.boolean(),
46485
46653
  isAccepted: external_exports2.boolean().optional(),
46486
- issuerDid: external_exports2.string()
46654
+ issuerDid: external_exports2.string(),
46655
+ boostUri: external_exports2.string()
46487
46656
  }).partial();
46488
46657
  var IssueInboxSigningAuthorityValidator = external_exports2.object({
46489
46658
  endpoint: external_exports2.string().url(),
@@ -46493,9 +46662,13 @@ var IssueInboxCredentialValidator = external_exports2.object({
46493
46662
  // === CORE DATA (Required) ===
46494
46663
  // WHAT is being sent and WHO is it for?
46495
46664
  recipient: ContactMethodQueryValidator.describe("The recipient of the credential"),
46496
- credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).describe(
46665
+ // Either credential OR templateUri must be provided
46666
+ credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).optional().describe(
46497
46667
  "The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."
46498
46668
  ),
46669
+ templateUri: external_exports2.string().optional().describe(
46670
+ "URI of a boost template to use for issuance. The boost credential will be resolved and used. Mutually exclusive with credential field."
46671
+ ),
46499
46672
  // === OPTIONAL FEATURES ===
46500
46673
  // Add major, distinct features at the top level.
46501
46674
  //consentRequest: ConsentRequestValidator.optional(),
@@ -46507,6 +46680,9 @@ var IssueInboxCredentialValidator = external_exports2.object({
46507
46680
  ),
46508
46681
  webhookUrl: external_exports2.string().url().optional().describe("The webhook URL to receive credential issuance events."),
46509
46682
  expiresInDays: external_exports2.number().min(1).max(365).optional().describe("The number of days the credential will be valid for."),
46683
+ templateData: external_exports2.record(external_exports2.string(), external_exports2.unknown()).optional().describe(
46684
+ "Template data to render into the boost credential template using Mustache syntax. Only used when boostUri is provided."
46685
+ ),
46510
46686
  // --- For User-Facing Delivery (Email/SMS) ---
46511
46687
  delivery: external_exports2.object({
46512
46688
  suppress: external_exports2.boolean().optional().default(false).describe(
@@ -46521,7 +46697,9 @@ var IssueInboxCredentialValidator = external_exports2.object({
46521
46697
  name: external_exports2.string().optional().describe(
46522
46698
  'The name of the organization (e.g., "State University").'
46523
46699
  ),
46524
- logoUrl: external_exports2.string().url().optional().describe("The URL of the organization's logo.")
46700
+ logoUrl: external_exports2.string().url().optional().describe(
46701
+ "The URL of the organization's logo."
46702
+ )
46525
46703
  }).optional(),
46526
46704
  credential: external_exports2.object({
46527
46705
  name: external_exports2.string().optional().describe(
@@ -46548,6 +46726,9 @@ var IssueInboxCredentialValidator = external_exports2.object({
46548
46726
  }).optional().describe(
46549
46727
  "Configuration for the credential issuance. If not provided, the default configuration will be used."
46550
46728
  )
46729
+ }).refine((data) => data.credential || data.templateUri, {
46730
+ message: "Either credential or templateUri must be provided.",
46731
+ path: ["credential"]
46551
46732
  });
46552
46733
  var IssueInboxCredentialResponseValidator = external_exports2.object({
46553
46734
  issuanceId: external_exports2.string(),
@@ -46575,28 +46756,43 @@ var LCNDomainOrOriginValidator = external_exports2.union([
46575
46756
  { message: "Must be a valid http(s) origin" }
46576
46757
  )
46577
46758
  ]);
46759
+ var LCNIntegrationStatusEnum = external_exports2.enum(["setup", "active", "paused"]);
46578
46760
  var LCNIntegrationValidator = external_exports2.object({
46579
46761
  id: external_exports2.string(),
46580
46762
  name: external_exports2.string(),
46581
46763
  description: external_exports2.string().optional(),
46582
46764
  publishableKey: external_exports2.string(),
46583
- whitelistedDomains: external_exports2.array(LCNDomainOrOriginValidator).default([])
46765
+ whitelistedDomains: external_exports2.array(LCNDomainOrOriginValidator).default([]),
46766
+ // Setup/onboarding status
46767
+ status: LCNIntegrationStatusEnum.default("setup"),
46768
+ guideType: external_exports2.string().optional(),
46769
+ guideState: external_exports2.record(external_exports2.string(), external_exports2.any()).optional(),
46770
+ // Timestamps
46771
+ createdAt: external_exports2.string().optional(),
46772
+ updatedAt: external_exports2.string().optional()
46584
46773
  });
46585
46774
  var LCNIntegrationCreateValidator = external_exports2.object({
46586
46775
  name: external_exports2.string(),
46587
46776
  description: external_exports2.string().optional(),
46588
- whitelistedDomains: external_exports2.array(LCNDomainOrOriginValidator).default([])
46777
+ whitelistedDomains: external_exports2.array(LCNDomainOrOriginValidator).default([]),
46778
+ guideType: external_exports2.string().optional()
46589
46779
  });
46590
46780
  var LCNIntegrationUpdateValidator = external_exports2.object({
46591
46781
  name: external_exports2.string().optional(),
46592
46782
  description: external_exports2.string().optional(),
46593
46783
  whitelistedDomains: external_exports2.array(LCNDomainOrOriginValidator).optional(),
46594
- rotatePublishableKey: external_exports2.boolean().optional()
46784
+ rotatePublishableKey: external_exports2.boolean().optional(),
46785
+ // Setup/onboarding updates
46786
+ status: LCNIntegrationStatusEnum.optional(),
46787
+ guideType: external_exports2.string().optional(),
46788
+ guideState: external_exports2.record(external_exports2.string(), external_exports2.any()).optional()
46595
46789
  });
46596
46790
  var LCNIntegrationQueryValidator = external_exports2.object({
46597
46791
  id: StringQuery,
46598
46792
  name: StringQuery,
46599
- description: StringQuery
46793
+ description: StringQuery,
46794
+ status: StringQuery,
46795
+ guideType: StringQuery
46600
46796
  }).partial();
46601
46797
  var PaginatedLCNIntegrationsValidator = PaginationResponseValidator.extend({
46602
46798
  records: LCNIntegrationValidator.array()
@@ -46811,6 +47007,7 @@ var PromotionLevelValidator = external_exports2.enum([
46811
47007
  ]);
46812
47008
  var AppStoreListingValidator = external_exports2.object({
46813
47009
  listing_id: external_exports2.string(),
47010
+ slug: external_exports2.string().optional(),
46814
47011
  display_name: external_exports2.string(),
46815
47012
  tagline: external_exports2.string(),
46816
47013
  full_description: external_exports2.string(),
@@ -46848,6 +47045,77 @@ var PaginatedAppStoreListingsValidator = PaginationResponseValidator.extend({
46848
47045
  var PaginatedInstalledAppsValidator = PaginationResponseValidator.extend({
46849
47046
  records: InstalledAppValidator.array()
46850
47047
  });
47048
+ var AppBoostValidator = external_exports2.object({
47049
+ templateAlias: external_exports2.string().min(1).max(50).regex(/^[a-z0-9-]+$/),
47050
+ boostUri: external_exports2.string()
47051
+ });
47052
+ var SendCredentialEventValidator = external_exports2.object({
47053
+ type: external_exports2.literal("send-credential"),
47054
+ templateAlias: external_exports2.string(),
47055
+ templateData: external_exports2.record(external_exports2.string(), external_exports2.unknown()).optional()
47056
+ });
47057
+ var AppEventValidator = external_exports2.discriminatedUnion("type", [SendCredentialEventValidator]);
47058
+ var AppEventInputValidator = external_exports2.object({
47059
+ listingId: external_exports2.string(),
47060
+ event: AppEventValidator
47061
+ });
47062
+ var AppEventResponseValidator = external_exports2.record(external_exports2.string(), external_exports2.unknown());
47063
+ var CredentialActivityEventTypeValidator = external_exports2.enum([
47064
+ "CREATED",
47065
+ "DELIVERED",
47066
+ "CLAIMED",
47067
+ "EXPIRED",
47068
+ "FAILED"
47069
+ ]);
47070
+ var CredentialActivityRecipientTypeValidator = external_exports2.enum(["profile", "email", "phone"]);
47071
+ var CredentialActivitySourceTypeValidator = external_exports2.enum([
47072
+ "send",
47073
+ "sendBoost",
47074
+ "sendCredential",
47075
+ "contract",
47076
+ "claim",
47077
+ "inbox",
47078
+ "claimLink",
47079
+ "acceptCredential"
47080
+ ]);
47081
+ var CredentialActivityValidator = external_exports2.object({
47082
+ id: external_exports2.string(),
47083
+ activityId: external_exports2.string(),
47084
+ eventType: CredentialActivityEventTypeValidator,
47085
+ timestamp: external_exports2.string(),
47086
+ actorProfileId: external_exports2.string(),
47087
+ recipientType: CredentialActivityRecipientTypeValidator,
47088
+ recipientIdentifier: external_exports2.string(),
47089
+ boostUri: external_exports2.string().optional(),
47090
+ credentialUri: external_exports2.string().optional(),
47091
+ inboxCredentialId: external_exports2.string().optional(),
47092
+ integrationId: external_exports2.string().optional(),
47093
+ source: CredentialActivitySourceTypeValidator,
47094
+ metadata: external_exports2.record(external_exports2.string(), external_exports2.unknown()).optional()
47095
+ });
47096
+ var CredentialActivityWithDetailsValidator = CredentialActivityValidator.extend({
47097
+ boost: external_exports2.object({
47098
+ id: external_exports2.string(),
47099
+ name: external_exports2.string().optional(),
47100
+ category: external_exports2.string().optional()
47101
+ }).optional(),
47102
+ recipientProfile: external_exports2.object({
47103
+ profileId: external_exports2.string(),
47104
+ displayName: external_exports2.string().optional()
47105
+ }).optional()
47106
+ });
47107
+ var PaginatedCredentialActivitiesValidator = PaginationResponseValidator.extend({
47108
+ records: CredentialActivityWithDetailsValidator.array()
47109
+ });
47110
+ var CredentialActivityStatsValidator = external_exports2.object({
47111
+ total: external_exports2.number(),
47112
+ created: external_exports2.number(),
47113
+ delivered: external_exports2.number(),
47114
+ claimed: external_exports2.number(),
47115
+ expired: external_exports2.number(),
47116
+ failed: external_exports2.number(),
47117
+ claimRate: external_exports2.number()
47118
+ });
46851
47119
 
46852
47120
  // ../../learn-card-helpers/dist/helpers.esm.js
46853
47121
  var import_decode_uri_component2 = __toESM(require_decode_uri_component2());
@@ -47681,6 +47949,10 @@ var require_types_cjs_development2 = __commonJS4({
47681
47949
  AddressValidator: /* @__PURE__ */ __name4(() => AddressValidator2, "AddressValidator"),
47682
47950
  AlignmentTargetTypeValidator: /* @__PURE__ */ __name4(() => AlignmentTargetTypeValidator2, "AlignmentTargetTypeValidator"),
47683
47951
  AlignmentValidator: /* @__PURE__ */ __name4(() => AlignmentValidator2, "AlignmentValidator"),
47952
+ AppBoostValidator: /* @__PURE__ */ __name4(() => AppBoostValidator2, "AppBoostValidator"),
47953
+ AppEventInputValidator: /* @__PURE__ */ __name4(() => AppEventInputValidator2, "AppEventInputValidator"),
47954
+ AppEventResponseValidator: /* @__PURE__ */ __name4(() => AppEventResponseValidator2, "AppEventResponseValidator"),
47955
+ AppEventValidator: /* @__PURE__ */ __name4(() => AppEventValidator2, "AppEventValidator"),
47684
47956
  AppListingStatusValidator: /* @__PURE__ */ __name4(() => AppListingStatusValidator2, "AppListingStatusValidator"),
47685
47957
  AppStoreListingCreateValidator: /* @__PURE__ */ __name4(() => AppStoreListingCreateValidator2, "AppStoreListingCreateValidator"),
47686
47958
  AppStoreListingUpdateValidator: /* @__PURE__ */ __name4(() => AppStoreListingUpdateValidator2, "AppStoreListingUpdateValidator"),
@@ -47729,6 +48001,12 @@ var require_types_cjs_development2 = __commonJS4({
47729
48001
  CreateManagedFrameworkInputValidator: /* @__PURE__ */ __name4(() => CreateManagedFrameworkInputValidator2, "CreateManagedFrameworkInputValidator"),
47730
48002
  CreateSkillInputValidator: /* @__PURE__ */ __name4(() => CreateSkillInputValidator2, "CreateSkillInputValidator"),
47731
48003
  CreateSkillsBatchInputValidator: /* @__PURE__ */ __name4(() => CreateSkillsBatchInputValidator2, "CreateSkillsBatchInputValidator"),
48004
+ CredentialActivityEventTypeValidator: /* @__PURE__ */ __name4(() => CredentialActivityEventTypeValidator2, "CredentialActivityEventTypeValidator"),
48005
+ CredentialActivityRecipientTypeValidator: /* @__PURE__ */ __name4(() => CredentialActivityRecipientTypeValidator2, "CredentialActivityRecipientTypeValidator"),
48006
+ CredentialActivitySourceTypeValidator: /* @__PURE__ */ __name4(() => CredentialActivitySourceTypeValidator2, "CredentialActivitySourceTypeValidator"),
48007
+ CredentialActivityStatsValidator: /* @__PURE__ */ __name4(() => CredentialActivityStatsValidator2, "CredentialActivityStatsValidator"),
48008
+ CredentialActivityValidator: /* @__PURE__ */ __name4(() => CredentialActivityValidator2, "CredentialActivityValidator"),
48009
+ CredentialActivityWithDetailsValidator: /* @__PURE__ */ __name4(() => CredentialActivityWithDetailsValidator2, "CredentialActivityWithDetailsValidator"),
47732
48010
  CredentialInfoValidator: /* @__PURE__ */ __name4(() => CredentialInfoValidator2, "CredentialInfoValidator"),
47733
48011
  CredentialRecordValidator: /* @__PURE__ */ __name4(() => CredentialRecordValidator2, "CredentialRecordValidator"),
47734
48012
  CredentialSchemaValidator: /* @__PURE__ */ __name4(() => CredentialSchemaValidator2, "CredentialSchemaValidator"),
@@ -47775,6 +48053,7 @@ var require_types_cjs_development2 = __commonJS4({
47775
48053
  LCNInboxStatusEnumValidator: /* @__PURE__ */ __name4(() => LCNInboxStatusEnumValidator2, "LCNInboxStatusEnumValidator"),
47776
48054
  LCNIntegrationCreateValidator: /* @__PURE__ */ __name4(() => LCNIntegrationCreateValidator2, "LCNIntegrationCreateValidator"),
47777
48055
  LCNIntegrationQueryValidator: /* @__PURE__ */ __name4(() => LCNIntegrationQueryValidator2, "LCNIntegrationQueryValidator"),
48056
+ LCNIntegrationStatusEnum: /* @__PURE__ */ __name4(() => LCNIntegrationStatusEnum2, "LCNIntegrationStatusEnum"),
47778
48057
  LCNIntegrationUpdateValidator: /* @__PURE__ */ __name4(() => LCNIntegrationUpdateValidator2, "LCNIntegrationUpdateValidator"),
47779
48058
  LCNIntegrationValidator: /* @__PURE__ */ __name4(() => LCNIntegrationValidator2, "LCNIntegrationValidator"),
47780
48059
  LCNNotificationDataValidator: /* @__PURE__ */ __name4(() => LCNNotificationDataValidator2, "LCNNotificationDataValidator"),
@@ -47803,6 +48082,7 @@ var require_types_cjs_development2 = __commonJS4({
47803
48082
  PaginatedConsentFlowTermsValidator: /* @__PURE__ */ __name4(() => PaginatedConsentFlowTermsValidator2, "PaginatedConsentFlowTermsValidator"),
47804
48083
  PaginatedConsentFlowTransactionsValidator: /* @__PURE__ */ __name4(() => PaginatedConsentFlowTransactionsValidator2, "PaginatedConsentFlowTransactionsValidator"),
47805
48084
  PaginatedContractCredentialsValidator: /* @__PURE__ */ __name4(() => PaginatedContractCredentialsValidator2, "PaginatedContractCredentialsValidator"),
48085
+ PaginatedCredentialActivitiesValidator: /* @__PURE__ */ __name4(() => PaginatedCredentialActivitiesValidator2, "PaginatedCredentialActivitiesValidator"),
47806
48086
  PaginatedEncryptedCredentialRecordsValidator: /* @__PURE__ */ __name4(() => PaginatedEncryptedCredentialRecordsValidator2, "PaginatedEncryptedCredentialRecordsValidator"),
47807
48087
  PaginatedEncryptedRecordsValidator: /* @__PURE__ */ __name4(() => PaginatedEncryptedRecordsValidator2, "PaginatedEncryptedRecordsValidator"),
47808
48088
  PaginatedInboxCredentialsValidator: /* @__PURE__ */ __name4(() => PaginatedInboxCredentialsValidator2, "PaginatedInboxCredentialsValidator"),
@@ -47830,7 +48110,11 @@ var require_types_cjs_development2 = __commonJS4({
47830
48110
  RubricCriterionValidator: /* @__PURE__ */ __name4(() => RubricCriterionValidator2, "RubricCriterionValidator"),
47831
48111
  SendBoostInputValidator: /* @__PURE__ */ __name4(() => SendBoostInputValidator2, "SendBoostInputValidator"),
47832
48112
  SendBoostResponseValidator: /* @__PURE__ */ __name4(() => SendBoostResponseValidator2, "SendBoostResponseValidator"),
48113
+ SendBrandingOptionsValidator: /* @__PURE__ */ __name4(() => SendBrandingOptionsValidator2, "SendBrandingOptionsValidator"),
48114
+ SendCredentialEventValidator: /* @__PURE__ */ __name4(() => SendCredentialEventValidator2, "SendCredentialEventValidator"),
48115
+ SendInboxResponseValidator: /* @__PURE__ */ __name4(() => SendInboxResponseValidator2, "SendInboxResponseValidator"),
47833
48116
  SendInputValidator: /* @__PURE__ */ __name4(() => SendInputValidator2, "SendInputValidator"),
48117
+ SendOptionsValidator: /* @__PURE__ */ __name4(() => SendOptionsValidator2, "SendOptionsValidator"),
47834
48118
  SendResponseValidator: /* @__PURE__ */ __name4(() => SendResponseValidator2, "SendResponseValidator"),
47835
48119
  SentCredentialInfoValidator: /* @__PURE__ */ __name4(() => SentCredentialInfoValidator2, "SentCredentialInfoValidator"),
47836
48120
  ServiceValidator: /* @__PURE__ */ __name4(() => ServiceValidator2, "ServiceValidator"),
@@ -62205,7 +62489,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62205
62489
  var PaginatedClaimHooksValidator2 = PaginationResponseValidator2.extend({
62206
62490
  records: FullClaimHookValidator2.array()
62207
62491
  });
62208
- var LCNBoostStatus2 = external_exports3.enum(["DRAFT", "LIVE"]);
62492
+ var LCNBoostStatus2 = external_exports3.enum(["DRAFT", "PROVISIONAL", "LIVE"]);
62209
62493
  var BoostValidator2 = external_exports3.object({
62210
62494
  uri: external_exports3.string(),
62211
62495
  name: external_exports3.string().optional(),
@@ -62289,22 +62573,46 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62289
62573
  claimPermissions: BoostPermissionsValidator2.partial().optional(),
62290
62574
  skills: external_exports3.array(external_exports3.object({ frameworkId: external_exports3.string(), id: external_exports3.string() })).min(1).optional()
62291
62575
  });
62576
+ var SendBrandingOptionsValidator2 = external_exports3.object({
62577
+ issuerName: external_exports3.string().optional().describe("Name of the issuing organization"),
62578
+ issuerLogoUrl: external_exports3.string().url().optional().describe("Logo URL of the issuing organization"),
62579
+ credentialName: external_exports3.string().optional().describe("Display name for the credential"),
62580
+ recipientName: external_exports3.string().optional().describe("Name of the recipient for personalization")
62581
+ });
62582
+ var SendOptionsValidator2 = external_exports3.object({
62583
+ webhookUrl: external_exports3.string().url().optional().describe("Webhook URL to receive claim notifications"),
62584
+ suppressDelivery: external_exports3.boolean().optional().describe("If true, returns claimUrl without sending email/SMS"),
62585
+ branding: SendBrandingOptionsValidator2.optional().describe("Branding for email/SMS delivery")
62586
+ });
62292
62587
  var SendBoostInputValidator2 = external_exports3.object({
62293
62588
  type: external_exports3.literal("boost"),
62294
- recipient: external_exports3.string(),
62589
+ recipient: external_exports3.string().describe("Profile ID, DID, email, or phone number (auto-detected)"),
62295
62590
  contractUri: external_exports3.string().optional(),
62296
62591
  templateUri: external_exports3.string().optional(),
62297
62592
  template: SendBoostTemplateValidator2.optional(),
62298
62593
  signedCredential: VCValidator2.optional(),
62299
- templateData: external_exports3.record(external_exports3.string(), external_exports3.unknown()).optional()
62594
+ options: SendOptionsValidator2.optional().describe(
62595
+ "Options for email/phone recipients (Universal Inbox)"
62596
+ ),
62597
+ templateData: external_exports3.record(external_exports3.string(), external_exports3.unknown()).optional(),
62598
+ integrationId: external_exports3.string().optional().describe("Integration ID for activity tracking")
62300
62599
  }).refine((data) => data.templateUri || data.template, {
62301
62600
  message: "Either templateUri or template creation data must be provided.",
62302
62601
  path: ["templateUri"]
62303
62602
  });
62603
+ var SendInboxResponseValidator2 = external_exports3.object({
62604
+ issuanceId: external_exports3.string(),
62605
+ status: external_exports3.enum(["PENDING", "ISSUED", "EXPIRED", "DELIVERED", "CLAIMED"]),
62606
+ claimUrl: external_exports3.string().url().optional().describe("Present when suppressDelivery=true")
62607
+ });
62304
62608
  var SendBoostResponseValidator2 = external_exports3.object({
62305
62609
  type: external_exports3.literal("boost"),
62306
62610
  credentialUri: external_exports3.string(),
62307
- uri: external_exports3.string()
62611
+ uri: external_exports3.string(),
62612
+ activityId: external_exports3.string().describe("Links to the activity lifecycle for this issuance"),
62613
+ inbox: SendInboxResponseValidator2.optional().describe(
62614
+ "Present when sent via email/phone (Universal Inbox)"
62615
+ )
62308
62616
  });
62309
62617
  var SendInputValidator2 = external_exports3.discriminatedUnion("type", [SendBoostInputValidator2]);
62310
62618
  var SendResponseValidator2 = external_exports3.discriminatedUnion("type", [SendBoostResponseValidator2]);
@@ -62656,6 +62964,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62656
62964
  createdAt: external_exports3.string(),
62657
62965
  issuerDid: external_exports3.string(),
62658
62966
  webhookUrl: external_exports3.string().optional(),
62967
+ boostUri: external_exports3.string().optional(),
62968
+ activityId: external_exports3.string().optional(),
62659
62969
  signingAuthority: external_exports3.object({
62660
62970
  endpoint: external_exports3.string().optional(),
62661
62971
  name: external_exports3.string().optional()
@@ -62671,7 +62981,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62671
62981
  id: external_exports3.string(),
62672
62982
  isSigned: external_exports3.boolean(),
62673
62983
  isAccepted: external_exports3.boolean().optional(),
62674
- issuerDid: external_exports3.string()
62984
+ issuerDid: external_exports3.string(),
62985
+ boostUri: external_exports3.string()
62675
62986
  }).partial();
62676
62987
  var IssueInboxSigningAuthorityValidator2 = external_exports3.object({
62677
62988
  endpoint: external_exports3.string().url(),
@@ -62681,9 +62992,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62681
62992
  // === CORE DATA (Required) ===
62682
62993
  // WHAT is being sent and WHO is it for?
62683
62994
  recipient: ContactMethodQueryValidator2.describe("The recipient of the credential"),
62684
- credential: VCValidator2.or(VPValidator2).or(UnsignedVCValidator2).describe(
62995
+ // Either credential OR templateUri must be provided
62996
+ credential: VCValidator2.or(VPValidator2).or(UnsignedVCValidator2).optional().describe(
62685
62997
  "The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."
62686
62998
  ),
62999
+ templateUri: external_exports3.string().optional().describe(
63000
+ "URI of a boost template to use for issuance. The boost credential will be resolved and used. Mutually exclusive with credential field."
63001
+ ),
62687
63002
  // === OPTIONAL FEATURES ===
62688
63003
  // Add major, distinct features at the top level.
62689
63004
  //consentRequest: ConsentRequestValidator.optional(),
@@ -62695,6 +63010,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62695
63010
  ),
62696
63011
  webhookUrl: external_exports3.string().url().optional().describe("The webhook URL to receive credential issuance events."),
62697
63012
  expiresInDays: external_exports3.number().min(1).max(365).optional().describe("The number of days the credential will be valid for."),
63013
+ templateData: external_exports3.record(external_exports3.string(), external_exports3.unknown()).optional().describe(
63014
+ "Template data to render into the boost credential template using Mustache syntax. Only used when boostUri is provided."
63015
+ ),
62698
63016
  // --- For User-Facing Delivery (Email/SMS) ---
62699
63017
  delivery: external_exports3.object({
62700
63018
  suppress: external_exports3.boolean().optional().default(false).describe(
@@ -62709,7 +63027,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62709
63027
  name: external_exports3.string().optional().describe(
62710
63028
  'The name of the organization (e.g., "State University").'
62711
63029
  ),
62712
- logoUrl: external_exports3.string().url().optional().describe("The URL of the organization's logo.")
63030
+ logoUrl: external_exports3.string().url().optional().describe(
63031
+ "The URL of the organization's logo."
63032
+ )
62713
63033
  }).optional(),
62714
63034
  credential: external_exports3.object({
62715
63035
  name: external_exports3.string().optional().describe(
@@ -62736,6 +63056,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62736
63056
  }).optional().describe(
62737
63057
  "Configuration for the credential issuance. If not provided, the default configuration will be used."
62738
63058
  )
63059
+ }).refine((data) => data.credential || data.templateUri, {
63060
+ message: "Either credential or templateUri must be provided.",
63061
+ path: ["credential"]
62739
63062
  });
62740
63063
  var IssueInboxCredentialResponseValidator2 = external_exports3.object({
62741
63064
  issuanceId: external_exports3.string(),
@@ -62763,28 +63086,43 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62763
63086
  { message: "Must be a valid http(s) origin" }
62764
63087
  )
62765
63088
  ]);
63089
+ var LCNIntegrationStatusEnum2 = external_exports3.enum(["setup", "active", "paused"]);
62766
63090
  var LCNIntegrationValidator2 = external_exports3.object({
62767
63091
  id: external_exports3.string(),
62768
63092
  name: external_exports3.string(),
62769
63093
  description: external_exports3.string().optional(),
62770
63094
  publishableKey: external_exports3.string(),
62771
- whitelistedDomains: external_exports3.array(LCNDomainOrOriginValidator2).default([])
63095
+ whitelistedDomains: external_exports3.array(LCNDomainOrOriginValidator2).default([]),
63096
+ // Setup/onboarding status
63097
+ status: LCNIntegrationStatusEnum2.default("setup"),
63098
+ guideType: external_exports3.string().optional(),
63099
+ guideState: external_exports3.record(external_exports3.string(), external_exports3.any()).optional(),
63100
+ // Timestamps
63101
+ createdAt: external_exports3.string().optional(),
63102
+ updatedAt: external_exports3.string().optional()
62772
63103
  });
62773
63104
  var LCNIntegrationCreateValidator2 = external_exports3.object({
62774
63105
  name: external_exports3.string(),
62775
63106
  description: external_exports3.string().optional(),
62776
- whitelistedDomains: external_exports3.array(LCNDomainOrOriginValidator2).default([])
63107
+ whitelistedDomains: external_exports3.array(LCNDomainOrOriginValidator2).default([]),
63108
+ guideType: external_exports3.string().optional()
62777
63109
  });
62778
63110
  var LCNIntegrationUpdateValidator2 = external_exports3.object({
62779
63111
  name: external_exports3.string().optional(),
62780
63112
  description: external_exports3.string().optional(),
62781
63113
  whitelistedDomains: external_exports3.array(LCNDomainOrOriginValidator2).optional(),
62782
- rotatePublishableKey: external_exports3.boolean().optional()
63114
+ rotatePublishableKey: external_exports3.boolean().optional(),
63115
+ // Setup/onboarding updates
63116
+ status: LCNIntegrationStatusEnum2.optional(),
63117
+ guideType: external_exports3.string().optional(),
63118
+ guideState: external_exports3.record(external_exports3.string(), external_exports3.any()).optional()
62783
63119
  });
62784
63120
  var LCNIntegrationQueryValidator2 = external_exports3.object({
62785
63121
  id: StringQuery2,
62786
63122
  name: StringQuery2,
62787
- description: StringQuery2
63123
+ description: StringQuery2,
63124
+ status: StringQuery2,
63125
+ guideType: StringQuery2
62788
63126
  }).partial();
62789
63127
  var PaginatedLCNIntegrationsValidator2 = PaginationResponseValidator2.extend({
62790
63128
  records: LCNIntegrationValidator2.array()
@@ -62999,6 +63337,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
62999
63337
  ]);
63000
63338
  var AppStoreListingValidator2 = external_exports3.object({
63001
63339
  listing_id: external_exports3.string(),
63340
+ slug: external_exports3.string().optional(),
63002
63341
  display_name: external_exports3.string(),
63003
63342
  tagline: external_exports3.string(),
63004
63343
  full_description: external_exports3.string(),
@@ -63036,6 +63375,77 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
63036
63375
  var PaginatedInstalledAppsValidator2 = PaginationResponseValidator2.extend({
63037
63376
  records: InstalledAppValidator2.array()
63038
63377
  });
63378
+ var AppBoostValidator2 = external_exports3.object({
63379
+ templateAlias: external_exports3.string().min(1).max(50).regex(/^[a-z0-9-]+$/),
63380
+ boostUri: external_exports3.string()
63381
+ });
63382
+ var SendCredentialEventValidator2 = external_exports3.object({
63383
+ type: external_exports3.literal("send-credential"),
63384
+ templateAlias: external_exports3.string(),
63385
+ templateData: external_exports3.record(external_exports3.string(), external_exports3.unknown()).optional()
63386
+ });
63387
+ var AppEventValidator2 = external_exports3.discriminatedUnion("type", [SendCredentialEventValidator2]);
63388
+ var AppEventInputValidator2 = external_exports3.object({
63389
+ listingId: external_exports3.string(),
63390
+ event: AppEventValidator2
63391
+ });
63392
+ var AppEventResponseValidator2 = external_exports3.record(external_exports3.string(), external_exports3.unknown());
63393
+ var CredentialActivityEventTypeValidator2 = external_exports3.enum([
63394
+ "CREATED",
63395
+ "DELIVERED",
63396
+ "CLAIMED",
63397
+ "EXPIRED",
63398
+ "FAILED"
63399
+ ]);
63400
+ var CredentialActivityRecipientTypeValidator2 = external_exports3.enum(["profile", "email", "phone"]);
63401
+ var CredentialActivitySourceTypeValidator2 = external_exports3.enum([
63402
+ "send",
63403
+ "sendBoost",
63404
+ "sendCredential",
63405
+ "contract",
63406
+ "claim",
63407
+ "inbox",
63408
+ "claimLink",
63409
+ "acceptCredential"
63410
+ ]);
63411
+ var CredentialActivityValidator2 = external_exports3.object({
63412
+ id: external_exports3.string(),
63413
+ activityId: external_exports3.string(),
63414
+ eventType: CredentialActivityEventTypeValidator2,
63415
+ timestamp: external_exports3.string(),
63416
+ actorProfileId: external_exports3.string(),
63417
+ recipientType: CredentialActivityRecipientTypeValidator2,
63418
+ recipientIdentifier: external_exports3.string(),
63419
+ boostUri: external_exports3.string().optional(),
63420
+ credentialUri: external_exports3.string().optional(),
63421
+ inboxCredentialId: external_exports3.string().optional(),
63422
+ integrationId: external_exports3.string().optional(),
63423
+ source: CredentialActivitySourceTypeValidator2,
63424
+ metadata: external_exports3.record(external_exports3.string(), external_exports3.unknown()).optional()
63425
+ });
63426
+ var CredentialActivityWithDetailsValidator2 = CredentialActivityValidator2.extend({
63427
+ boost: external_exports3.object({
63428
+ id: external_exports3.string(),
63429
+ name: external_exports3.string().optional(),
63430
+ category: external_exports3.string().optional()
63431
+ }).optional(),
63432
+ recipientProfile: external_exports3.object({
63433
+ profileId: external_exports3.string(),
63434
+ displayName: external_exports3.string().optional()
63435
+ }).optional()
63436
+ });
63437
+ var PaginatedCredentialActivitiesValidator2 = PaginationResponseValidator2.extend({
63438
+ records: CredentialActivityWithDetailsValidator2.array()
63439
+ });
63440
+ var CredentialActivityStatsValidator2 = external_exports3.object({
63441
+ total: external_exports3.number(),
63442
+ created: external_exports3.number(),
63443
+ delivered: external_exports3.number(),
63444
+ claimed: external_exports3.number(),
63445
+ expired: external_exports3.number(),
63446
+ failed: external_exports3.number(),
63447
+ claimRate: external_exports3.number()
63448
+ });
63039
63449
  }
63040
63450
  });
63041
63451
  var require_dist2 = __commonJS4({
@@ -64944,18 +65354,21 @@ async function getLearnCardNetworkPlugin(learnCard, url3, apiToken) {
64944
65354
  send: /* @__PURE__ */ __name(async (_learnCard, input) => {
64945
65355
  await ensureUser();
64946
65356
  if (input.type === "boost") {
65357
+ const recipient = input.recipient;
65358
+ const isDid = recipient.startsWith("did:");
65359
+ const isEmail = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(recipient);
65360
+ const isPhone = /^\+?[\d\s-]{10,}$/.test(recipient.replace(/[\s-]/g, ""));
64947
65361
  const canIssueLocally = "issueCredential" in _learnCard.invoke;
64948
- if (canIssueLocally && input.templateUri) {
65362
+ const isDirectRecipient = isDid || !isEmail && !isPhone;
65363
+ if (canIssueLocally && isDirectRecipient && input.templateUri) {
64949
65364
  const result = await _learnCard.invoke.resolveFromLCN(input.templateUri);
64950
65365
  const data = await UnsignedVCValidator.spa(result);
64951
65366
  if (data.success) {
64952
65367
  let targetDid;
64953
- if (input.recipient.startsWith("did:")) {
64954
- targetDid = input.recipient;
65368
+ if (isDid) {
65369
+ targetDid = recipient;
64955
65370
  } else {
64956
- const targetProfile = await _learnCard.invoke.getProfile(
64957
- input.recipient
64958
- );
65371
+ const targetProfile = await _learnCard.invoke.getProfile(recipient);
64959
65372
  if (!targetProfile) return client.boost.send.mutate(input);
64960
65373
  targetDid = targetProfile.did;
64961
65374
  }
@@ -65536,11 +65949,46 @@ async function getLearnCardNetworkPlugin(learnCard, url3, apiToken) {
65536
65949
  await ensureUser();
65537
65950
  return client.appStore.adminGetAllListings.query(options);
65538
65951
  }, "adminGetAllListings"),
65952
+ // App Store Boost Management
65953
+ addBoostToApp: /* @__PURE__ */ __name(async (_learnCard, listingId, boostUri, templateAlias) => {
65954
+ await ensureUser();
65955
+ return client.appStore.addBoostToListing.mutate({ listingId, boostUri, templateAlias });
65956
+ }, "addBoostToApp"),
65957
+ removeBoostFromApp: /* @__PURE__ */ __name(async (_learnCard, listingId, templateAlias) => {
65958
+ await ensureUser();
65959
+ return client.appStore.removeBoostFromListing.mutate({ listingId, templateAlias });
65960
+ }, "removeBoostFromApp"),
65961
+ getAppBoosts: /* @__PURE__ */ __name(async (_learnCard, listingId) => {
65962
+ await ensureUser();
65963
+ return client.appStore.getBoostsForListing.query({ listingId });
65964
+ }, "getAppBoosts"),
65965
+ // Generic App Event
65966
+ sendAppEvent: /* @__PURE__ */ __name(async (_learnCard, listingId, event) => {
65967
+ await ensureUser();
65968
+ return client.appStore.appEvent.mutate({ listingId, event });
65969
+ }, "sendAppEvent"),
65539
65970
  resolveFromLCN: /* @__PURE__ */ __name(async (_learnCard, uri) => {
65540
65971
  const result = await client.storage.resolve.query({ uri });
65541
65972
  return UnsignedVCValidator.or(VCValidator).or(VPValidator).or(JWEValidator).or(ConsentFlowContractValidator).or(ConsentFlowTermsValidator).parseAsync(result);
65542
65973
  }, "resolveFromLCN"),
65543
- getLCNClient: /* @__PURE__ */ __name(() => client, "getLCNClient")
65974
+ getLCNClient: /* @__PURE__ */ __name(() => client, "getLCNClient"),
65975
+ // Activity
65976
+ getMyActivities: /* @__PURE__ */ __name(async (_learnCard, options = {}) => {
65977
+ await ensureUser();
65978
+ return client.activity.getMyActivities.query(options);
65979
+ }, "getMyActivities"),
65980
+ getActivityStats: /* @__PURE__ */ __name(async (_learnCard, options = {}) => {
65981
+ await ensureUser();
65982
+ return client.activity.getActivityStats.query(options);
65983
+ }, "getActivityStats"),
65984
+ getActivity: /* @__PURE__ */ __name(async (_learnCard, options) => {
65985
+ await ensureUser();
65986
+ return client.activity.getActivity.query(options);
65987
+ }, "getActivity"),
65988
+ getActivityChain: /* @__PURE__ */ __name(async (_learnCard, options) => {
65989
+ await ensureUser();
65990
+ return client.activity.getActivityChain.query(options);
65991
+ }, "getActivityChain")
65544
65992
  }
65545
65993
  };
65546
65994
  }