@learncard/helpers 1.2.2 → 1.2.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.
@@ -63,6 +63,10 @@ var require_types_cjs_development = __commonJS({
63
63
  AddressValidator: /* @__PURE__ */ __name(() => AddressValidator, "AddressValidator"),
64
64
  AlignmentTargetTypeValidator: /* @__PURE__ */ __name(() => AlignmentTargetTypeValidator, "AlignmentTargetTypeValidator"),
65
65
  AlignmentValidator: /* @__PURE__ */ __name(() => AlignmentValidator, "AlignmentValidator"),
66
+ AppBoostValidator: /* @__PURE__ */ __name(() => AppBoostValidator, "AppBoostValidator"),
67
+ AppEventInputValidator: /* @__PURE__ */ __name(() => AppEventInputValidator, "AppEventInputValidator"),
68
+ AppEventResponseValidator: /* @__PURE__ */ __name(() => AppEventResponseValidator, "AppEventResponseValidator"),
69
+ AppEventValidator: /* @__PURE__ */ __name(() => AppEventValidator, "AppEventValidator"),
66
70
  AppListingStatusValidator: /* @__PURE__ */ __name(() => AppListingStatusValidator, "AppListingStatusValidator"),
67
71
  AppStoreListingCreateValidator: /* @__PURE__ */ __name(() => AppStoreListingCreateValidator, "AppStoreListingCreateValidator"),
68
72
  AppStoreListingUpdateValidator: /* @__PURE__ */ __name(() => AppStoreListingUpdateValidator, "AppStoreListingUpdateValidator"),
@@ -111,6 +115,12 @@ var require_types_cjs_development = __commonJS({
111
115
  CreateManagedFrameworkInputValidator: /* @__PURE__ */ __name(() => CreateManagedFrameworkInputValidator, "CreateManagedFrameworkInputValidator"),
112
116
  CreateSkillInputValidator: /* @__PURE__ */ __name(() => CreateSkillInputValidator, "CreateSkillInputValidator"),
113
117
  CreateSkillsBatchInputValidator: /* @__PURE__ */ __name(() => CreateSkillsBatchInputValidator, "CreateSkillsBatchInputValidator"),
118
+ CredentialActivityEventTypeValidator: /* @__PURE__ */ __name(() => CredentialActivityEventTypeValidator, "CredentialActivityEventTypeValidator"),
119
+ CredentialActivityRecipientTypeValidator: /* @__PURE__ */ __name(() => CredentialActivityRecipientTypeValidator, "CredentialActivityRecipientTypeValidator"),
120
+ CredentialActivitySourceTypeValidator: /* @__PURE__ */ __name(() => CredentialActivitySourceTypeValidator, "CredentialActivitySourceTypeValidator"),
121
+ CredentialActivityStatsValidator: /* @__PURE__ */ __name(() => CredentialActivityStatsValidator, "CredentialActivityStatsValidator"),
122
+ CredentialActivityValidator: /* @__PURE__ */ __name(() => CredentialActivityValidator, "CredentialActivityValidator"),
123
+ CredentialActivityWithDetailsValidator: /* @__PURE__ */ __name(() => CredentialActivityWithDetailsValidator, "CredentialActivityWithDetailsValidator"),
114
124
  CredentialInfoValidator: /* @__PURE__ */ __name(() => CredentialInfoValidator, "CredentialInfoValidator"),
115
125
  CredentialRecordValidator: /* @__PURE__ */ __name(() => CredentialRecordValidator, "CredentialRecordValidator"),
116
126
  CredentialSchemaValidator: /* @__PURE__ */ __name(() => CredentialSchemaValidator, "CredentialSchemaValidator"),
@@ -157,6 +167,7 @@ var require_types_cjs_development = __commonJS({
157
167
  LCNInboxStatusEnumValidator: /* @__PURE__ */ __name(() => LCNInboxStatusEnumValidator, "LCNInboxStatusEnumValidator"),
158
168
  LCNIntegrationCreateValidator: /* @__PURE__ */ __name(() => LCNIntegrationCreateValidator, "LCNIntegrationCreateValidator"),
159
169
  LCNIntegrationQueryValidator: /* @__PURE__ */ __name(() => LCNIntegrationQueryValidator, "LCNIntegrationQueryValidator"),
170
+ LCNIntegrationStatusEnum: /* @__PURE__ */ __name(() => LCNIntegrationStatusEnum, "LCNIntegrationStatusEnum"),
160
171
  LCNIntegrationUpdateValidator: /* @__PURE__ */ __name(() => LCNIntegrationUpdateValidator, "LCNIntegrationUpdateValidator"),
161
172
  LCNIntegrationValidator: /* @__PURE__ */ __name(() => LCNIntegrationValidator, "LCNIntegrationValidator"),
162
173
  LCNNotificationDataValidator: /* @__PURE__ */ __name(() => LCNNotificationDataValidator, "LCNNotificationDataValidator"),
@@ -185,6 +196,7 @@ var require_types_cjs_development = __commonJS({
185
196
  PaginatedConsentFlowTermsValidator: /* @__PURE__ */ __name(() => PaginatedConsentFlowTermsValidator, "PaginatedConsentFlowTermsValidator"),
186
197
  PaginatedConsentFlowTransactionsValidator: /* @__PURE__ */ __name(() => PaginatedConsentFlowTransactionsValidator, "PaginatedConsentFlowTransactionsValidator"),
187
198
  PaginatedContractCredentialsValidator: /* @__PURE__ */ __name(() => PaginatedContractCredentialsValidator, "PaginatedContractCredentialsValidator"),
199
+ PaginatedCredentialActivitiesValidator: /* @__PURE__ */ __name(() => PaginatedCredentialActivitiesValidator, "PaginatedCredentialActivitiesValidator"),
188
200
  PaginatedEncryptedCredentialRecordsValidator: /* @__PURE__ */ __name(() => PaginatedEncryptedCredentialRecordsValidator, "PaginatedEncryptedCredentialRecordsValidator"),
189
201
  PaginatedEncryptedRecordsValidator: /* @__PURE__ */ __name(() => PaginatedEncryptedRecordsValidator, "PaginatedEncryptedRecordsValidator"),
190
202
  PaginatedInboxCredentialsValidator: /* @__PURE__ */ __name(() => PaginatedInboxCredentialsValidator, "PaginatedInboxCredentialsValidator"),
@@ -212,7 +224,11 @@ var require_types_cjs_development = __commonJS({
212
224
  RubricCriterionValidator: /* @__PURE__ */ __name(() => RubricCriterionValidator, "RubricCriterionValidator"),
213
225
  SendBoostInputValidator: /* @__PURE__ */ __name(() => SendBoostInputValidator, "SendBoostInputValidator"),
214
226
  SendBoostResponseValidator: /* @__PURE__ */ __name(() => SendBoostResponseValidator, "SendBoostResponseValidator"),
227
+ SendBrandingOptionsValidator: /* @__PURE__ */ __name(() => SendBrandingOptionsValidator, "SendBrandingOptionsValidator"),
228
+ SendCredentialEventValidator: /* @__PURE__ */ __name(() => SendCredentialEventValidator, "SendCredentialEventValidator"),
229
+ SendInboxResponseValidator: /* @__PURE__ */ __name(() => SendInboxResponseValidator, "SendInboxResponseValidator"),
215
230
  SendInputValidator: /* @__PURE__ */ __name(() => SendInputValidator, "SendInputValidator"),
231
+ SendOptionsValidator: /* @__PURE__ */ __name(() => SendOptionsValidator, "SendOptionsValidator"),
216
232
  SendResponseValidator: /* @__PURE__ */ __name(() => SendResponseValidator, "SendResponseValidator"),
217
233
  SentCredentialInfoValidator: /* @__PURE__ */ __name(() => SentCredentialInfoValidator, "SentCredentialInfoValidator"),
218
234
  ServiceValidator: /* @__PURE__ */ __name(() => ServiceValidator, "ServiceValidator"),
@@ -14224,7 +14240,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14224
14240
  var PaginatedClaimHooksValidator = PaginationResponseValidator.extend({
14225
14241
  records: FullClaimHookValidator.array()
14226
14242
  });
14227
- var LCNBoostStatus = external_exports.enum(["DRAFT", "LIVE"]);
14243
+ var LCNBoostStatus = external_exports.enum(["DRAFT", "PROVISIONAL", "LIVE"]);
14228
14244
  var BoostValidator = external_exports.object({
14229
14245
  uri: external_exports.string(),
14230
14246
  name: external_exports.string().optional(),
@@ -14308,22 +14324,46 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14308
14324
  claimPermissions: BoostPermissionsValidator.partial().optional(),
14309
14325
  skills: external_exports.array(external_exports.object({ frameworkId: external_exports.string(), id: external_exports.string() })).min(1).optional()
14310
14326
  });
14327
+ var SendBrandingOptionsValidator = external_exports.object({
14328
+ issuerName: external_exports.string().optional().describe("Name of the issuing organization"),
14329
+ issuerLogoUrl: external_exports.string().url().optional().describe("Logo URL of the issuing organization"),
14330
+ credentialName: external_exports.string().optional().describe("Display name for the credential"),
14331
+ recipientName: external_exports.string().optional().describe("Name of the recipient for personalization")
14332
+ });
14333
+ var SendOptionsValidator = external_exports.object({
14334
+ webhookUrl: external_exports.string().url().optional().describe("Webhook URL to receive claim notifications"),
14335
+ suppressDelivery: external_exports.boolean().optional().describe("If true, returns claimUrl without sending email/SMS"),
14336
+ branding: SendBrandingOptionsValidator.optional().describe("Branding for email/SMS delivery")
14337
+ });
14311
14338
  var SendBoostInputValidator = external_exports.object({
14312
14339
  type: external_exports.literal("boost"),
14313
- recipient: external_exports.string(),
14340
+ recipient: external_exports.string().describe("Profile ID, DID, email, or phone number (auto-detected)"),
14314
14341
  contractUri: external_exports.string().optional(),
14315
14342
  templateUri: external_exports.string().optional(),
14316
14343
  template: SendBoostTemplateValidator.optional(),
14317
14344
  signedCredential: VCValidator.optional(),
14318
- templateData: external_exports.record(external_exports.string(), external_exports.unknown()).optional()
14345
+ options: SendOptionsValidator.optional().describe(
14346
+ "Options for email/phone recipients (Universal Inbox)"
14347
+ ),
14348
+ templateData: external_exports.record(external_exports.string(), external_exports.unknown()).optional(),
14349
+ integrationId: external_exports.string().optional().describe("Integration ID for activity tracking")
14319
14350
  }).refine((data) => data.templateUri || data.template, {
14320
14351
  message: "Either templateUri or template creation data must be provided.",
14321
14352
  path: ["templateUri"]
14322
14353
  });
14354
+ var SendInboxResponseValidator = external_exports.object({
14355
+ issuanceId: external_exports.string(),
14356
+ status: external_exports.enum(["PENDING", "ISSUED", "EXPIRED", "DELIVERED", "CLAIMED"]),
14357
+ claimUrl: external_exports.string().url().optional().describe("Present when suppressDelivery=true")
14358
+ });
14323
14359
  var SendBoostResponseValidator = external_exports.object({
14324
14360
  type: external_exports.literal("boost"),
14325
14361
  credentialUri: external_exports.string(),
14326
- uri: external_exports.string()
14362
+ uri: external_exports.string(),
14363
+ activityId: external_exports.string().describe("Links to the activity lifecycle for this issuance"),
14364
+ inbox: SendInboxResponseValidator.optional().describe(
14365
+ "Present when sent via email/phone (Universal Inbox)"
14366
+ )
14327
14367
  });
14328
14368
  var SendInputValidator = external_exports.discriminatedUnion("type", [SendBoostInputValidator]);
14329
14369
  var SendResponseValidator = external_exports.discriminatedUnion("type", [SendBoostResponseValidator]);
@@ -14675,6 +14715,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14675
14715
  createdAt: external_exports.string(),
14676
14716
  issuerDid: external_exports.string(),
14677
14717
  webhookUrl: external_exports.string().optional(),
14718
+ boostUri: external_exports.string().optional(),
14719
+ activityId: external_exports.string().optional(),
14678
14720
  signingAuthority: external_exports.object({
14679
14721
  endpoint: external_exports.string().optional(),
14680
14722
  name: external_exports.string().optional()
@@ -14690,7 +14732,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14690
14732
  id: external_exports.string(),
14691
14733
  isSigned: external_exports.boolean(),
14692
14734
  isAccepted: external_exports.boolean().optional(),
14693
- issuerDid: external_exports.string()
14735
+ issuerDid: external_exports.string(),
14736
+ boostUri: external_exports.string()
14694
14737
  }).partial();
14695
14738
  var IssueInboxSigningAuthorityValidator = external_exports.object({
14696
14739
  endpoint: external_exports.string().url(),
@@ -14700,9 +14743,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14700
14743
  // === CORE DATA (Required) ===
14701
14744
  // WHAT is being sent and WHO is it for?
14702
14745
  recipient: ContactMethodQueryValidator.describe("The recipient of the credential"),
14703
- credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).describe(
14746
+ // Either credential OR templateUri must be provided
14747
+ credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).optional().describe(
14704
14748
  "The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."
14705
14749
  ),
14750
+ templateUri: external_exports.string().optional().describe(
14751
+ "URI of a boost template to use for issuance. The boost credential will be resolved and used. Mutually exclusive with credential field."
14752
+ ),
14706
14753
  // === OPTIONAL FEATURES ===
14707
14754
  // Add major, distinct features at the top level.
14708
14755
  //consentRequest: ConsentRequestValidator.optional(),
@@ -14714,6 +14761,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14714
14761
  ),
14715
14762
  webhookUrl: external_exports.string().url().optional().describe("The webhook URL to receive credential issuance events."),
14716
14763
  expiresInDays: external_exports.number().min(1).max(365).optional().describe("The number of days the credential will be valid for."),
14764
+ templateData: external_exports.record(external_exports.string(), external_exports.unknown()).optional().describe(
14765
+ "Template data to render into the boost credential template using Mustache syntax. Only used when boostUri is provided."
14766
+ ),
14717
14767
  // --- For User-Facing Delivery (Email/SMS) ---
14718
14768
  delivery: external_exports.object({
14719
14769
  suppress: external_exports.boolean().optional().default(false).describe(
@@ -14728,7 +14778,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14728
14778
  name: external_exports.string().optional().describe(
14729
14779
  'The name of the organization (e.g., "State University").'
14730
14780
  ),
14731
- logoUrl: external_exports.string().url().optional().describe("The URL of the organization's logo.")
14781
+ logoUrl: external_exports.string().url().optional().describe(
14782
+ "The URL of the organization's logo."
14783
+ )
14732
14784
  }).optional(),
14733
14785
  credential: external_exports.object({
14734
14786
  name: external_exports.string().optional().describe(
@@ -14755,6 +14807,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14755
14807
  }).optional().describe(
14756
14808
  "Configuration for the credential issuance. If not provided, the default configuration will be used."
14757
14809
  )
14810
+ }).refine((data) => data.credential || data.templateUri, {
14811
+ message: "Either credential or templateUri must be provided.",
14812
+ path: ["credential"]
14758
14813
  });
14759
14814
  var IssueInboxCredentialResponseValidator = external_exports.object({
14760
14815
  issuanceId: external_exports.string(),
@@ -14782,28 +14837,43 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14782
14837
  { message: "Must be a valid http(s) origin" }
14783
14838
  )
14784
14839
  ]);
14840
+ var LCNIntegrationStatusEnum = external_exports.enum(["setup", "active", "paused"]);
14785
14841
  var LCNIntegrationValidator = external_exports.object({
14786
14842
  id: external_exports.string(),
14787
14843
  name: external_exports.string(),
14788
14844
  description: external_exports.string().optional(),
14789
14845
  publishableKey: external_exports.string(),
14790
- whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([])
14846
+ whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([]),
14847
+ // Setup/onboarding status
14848
+ status: LCNIntegrationStatusEnum.default("setup"),
14849
+ guideType: external_exports.string().optional(),
14850
+ guideState: external_exports.record(external_exports.string(), external_exports.any()).optional(),
14851
+ // Timestamps
14852
+ createdAt: external_exports.string().optional(),
14853
+ updatedAt: external_exports.string().optional()
14791
14854
  });
14792
14855
  var LCNIntegrationCreateValidator = external_exports.object({
14793
14856
  name: external_exports.string(),
14794
14857
  description: external_exports.string().optional(),
14795
- whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([])
14858
+ whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([]),
14859
+ guideType: external_exports.string().optional()
14796
14860
  });
14797
14861
  var LCNIntegrationUpdateValidator = external_exports.object({
14798
14862
  name: external_exports.string().optional(),
14799
14863
  description: external_exports.string().optional(),
14800
14864
  whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).optional(),
14801
- rotatePublishableKey: external_exports.boolean().optional()
14865
+ rotatePublishableKey: external_exports.boolean().optional(),
14866
+ // Setup/onboarding updates
14867
+ status: LCNIntegrationStatusEnum.optional(),
14868
+ guideType: external_exports.string().optional(),
14869
+ guideState: external_exports.record(external_exports.string(), external_exports.any()).optional()
14802
14870
  });
14803
14871
  var LCNIntegrationQueryValidator = external_exports.object({
14804
14872
  id: StringQuery,
14805
14873
  name: StringQuery,
14806
- description: StringQuery
14874
+ description: StringQuery,
14875
+ status: StringQuery,
14876
+ guideType: StringQuery
14807
14877
  }).partial();
14808
14878
  var PaginatedLCNIntegrationsValidator = PaginationResponseValidator.extend({
14809
14879
  records: LCNIntegrationValidator.array()
@@ -15018,6 +15088,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15018
15088
  ]);
15019
15089
  var AppStoreListingValidator = external_exports.object({
15020
15090
  listing_id: external_exports.string(),
15091
+ slug: external_exports.string().optional(),
15021
15092
  display_name: external_exports.string(),
15022
15093
  tagline: external_exports.string(),
15023
15094
  full_description: external_exports.string(),
@@ -15055,6 +15126,77 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15055
15126
  var PaginatedInstalledAppsValidator = PaginationResponseValidator.extend({
15056
15127
  records: InstalledAppValidator.array()
15057
15128
  });
15129
+ var AppBoostValidator = external_exports.object({
15130
+ templateAlias: external_exports.string().min(1).max(50).regex(/^[a-z0-9-]+$/),
15131
+ boostUri: external_exports.string()
15132
+ });
15133
+ var SendCredentialEventValidator = external_exports.object({
15134
+ type: external_exports.literal("send-credential"),
15135
+ templateAlias: external_exports.string(),
15136
+ templateData: external_exports.record(external_exports.string(), external_exports.unknown()).optional()
15137
+ });
15138
+ var AppEventValidator = external_exports.discriminatedUnion("type", [SendCredentialEventValidator]);
15139
+ var AppEventInputValidator = external_exports.object({
15140
+ listingId: external_exports.string(),
15141
+ event: AppEventValidator
15142
+ });
15143
+ var AppEventResponseValidator = external_exports.record(external_exports.string(), external_exports.unknown());
15144
+ var CredentialActivityEventTypeValidator = external_exports.enum([
15145
+ "CREATED",
15146
+ "DELIVERED",
15147
+ "CLAIMED",
15148
+ "EXPIRED",
15149
+ "FAILED"
15150
+ ]);
15151
+ var CredentialActivityRecipientTypeValidator = external_exports.enum(["profile", "email", "phone"]);
15152
+ var CredentialActivitySourceTypeValidator = external_exports.enum([
15153
+ "send",
15154
+ "sendBoost",
15155
+ "sendCredential",
15156
+ "contract",
15157
+ "claim",
15158
+ "inbox",
15159
+ "claimLink",
15160
+ "acceptCredential"
15161
+ ]);
15162
+ var CredentialActivityValidator = external_exports.object({
15163
+ id: external_exports.string(),
15164
+ activityId: external_exports.string(),
15165
+ eventType: CredentialActivityEventTypeValidator,
15166
+ timestamp: external_exports.string(),
15167
+ actorProfileId: external_exports.string(),
15168
+ recipientType: CredentialActivityRecipientTypeValidator,
15169
+ recipientIdentifier: external_exports.string(),
15170
+ boostUri: external_exports.string().optional(),
15171
+ credentialUri: external_exports.string().optional(),
15172
+ inboxCredentialId: external_exports.string().optional(),
15173
+ integrationId: external_exports.string().optional(),
15174
+ source: CredentialActivitySourceTypeValidator,
15175
+ metadata: external_exports.record(external_exports.string(), external_exports.unknown()).optional()
15176
+ });
15177
+ var CredentialActivityWithDetailsValidator = CredentialActivityValidator.extend({
15178
+ boost: external_exports.object({
15179
+ id: external_exports.string(),
15180
+ name: external_exports.string().optional(),
15181
+ category: external_exports.string().optional()
15182
+ }).optional(),
15183
+ recipientProfile: external_exports.object({
15184
+ profileId: external_exports.string(),
15185
+ displayName: external_exports.string().optional()
15186
+ }).optional()
15187
+ });
15188
+ var PaginatedCredentialActivitiesValidator = PaginationResponseValidator.extend({
15189
+ records: CredentialActivityWithDetailsValidator.array()
15190
+ });
15191
+ var CredentialActivityStatsValidator = external_exports.object({
15192
+ total: external_exports.number(),
15193
+ created: external_exports.number(),
15194
+ delivered: external_exports.number(),
15195
+ claimed: external_exports.number(),
15196
+ expired: external_exports.number(),
15197
+ failed: external_exports.number(),
15198
+ claimRate: external_exports.number()
15199
+ });
15058
15200
  }
15059
15201
  });
15060
15202