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