@learncard/helpers 1.2.1 → 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,21 +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
- signedCredential: VCValidator.optional()
14344
+ signedCredential: VCValidator.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")
14318
14350
  }).refine((data) => data.templateUri || data.template, {
14319
14351
  message: "Either templateUri or template creation data must be provided.",
14320
14352
  path: ["templateUri"]
14321
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
+ });
14322
14359
  var SendBoostResponseValidator = external_exports.object({
14323
14360
  type: external_exports.literal("boost"),
14324
14361
  credentialUri: external_exports.string(),
14325
- 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
+ )
14326
14367
  });
14327
14368
  var SendInputValidator = external_exports.discriminatedUnion("type", [SendBoostInputValidator]);
14328
14369
  var SendResponseValidator = external_exports.discriminatedUnion("type", [SendBoostResponseValidator]);
@@ -14674,6 +14715,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14674
14715
  createdAt: external_exports.string(),
14675
14716
  issuerDid: external_exports.string(),
14676
14717
  webhookUrl: external_exports.string().optional(),
14718
+ boostUri: external_exports.string().optional(),
14719
+ activityId: external_exports.string().optional(),
14677
14720
  signingAuthority: external_exports.object({
14678
14721
  endpoint: external_exports.string().optional(),
14679
14722
  name: external_exports.string().optional()
@@ -14689,7 +14732,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14689
14732
  id: external_exports.string(),
14690
14733
  isSigned: external_exports.boolean(),
14691
14734
  isAccepted: external_exports.boolean().optional(),
14692
- issuerDid: external_exports.string()
14735
+ issuerDid: external_exports.string(),
14736
+ boostUri: external_exports.string()
14693
14737
  }).partial();
14694
14738
  var IssueInboxSigningAuthorityValidator = external_exports.object({
14695
14739
  endpoint: external_exports.string().url(),
@@ -14699,9 +14743,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14699
14743
  // === CORE DATA (Required) ===
14700
14744
  // WHAT is being sent and WHO is it for?
14701
14745
  recipient: ContactMethodQueryValidator.describe("The recipient of the credential"),
14702
- credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).describe(
14746
+ // Either credential OR templateUri must be provided
14747
+ credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).optional().describe(
14703
14748
  "The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."
14704
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
+ ),
14705
14753
  // === OPTIONAL FEATURES ===
14706
14754
  // Add major, distinct features at the top level.
14707
14755
  //consentRequest: ConsentRequestValidator.optional(),
@@ -14713,6 +14761,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14713
14761
  ),
14714
14762
  webhookUrl: external_exports.string().url().optional().describe("The webhook URL to receive credential issuance events."),
14715
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
+ ),
14716
14767
  // --- For User-Facing Delivery (Email/SMS) ---
14717
14768
  delivery: external_exports.object({
14718
14769
  suppress: external_exports.boolean().optional().default(false).describe(
@@ -14727,7 +14778,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14727
14778
  name: external_exports.string().optional().describe(
14728
14779
  'The name of the organization (e.g., "State University").'
14729
14780
  ),
14730
- 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
+ )
14731
14784
  }).optional(),
14732
14785
  credential: external_exports.object({
14733
14786
  name: external_exports.string().optional().describe(
@@ -14754,6 +14807,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14754
14807
  }).optional().describe(
14755
14808
  "Configuration for the credential issuance. If not provided, the default configuration will be used."
14756
14809
  )
14810
+ }).refine((data) => data.credential || data.templateUri, {
14811
+ message: "Either credential or templateUri must be provided.",
14812
+ path: ["credential"]
14757
14813
  });
14758
14814
  var IssueInboxCredentialResponseValidator = external_exports.object({
14759
14815
  issuanceId: external_exports.string(),
@@ -14781,28 +14837,43 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14781
14837
  { message: "Must be a valid http(s) origin" }
14782
14838
  )
14783
14839
  ]);
14840
+ var LCNIntegrationStatusEnum = external_exports.enum(["setup", "active", "paused"]);
14784
14841
  var LCNIntegrationValidator = external_exports.object({
14785
14842
  id: external_exports.string(),
14786
14843
  name: external_exports.string(),
14787
14844
  description: external_exports.string().optional(),
14788
14845
  publishableKey: external_exports.string(),
14789
- 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()
14790
14854
  });
14791
14855
  var LCNIntegrationCreateValidator = external_exports.object({
14792
14856
  name: external_exports.string(),
14793
14857
  description: external_exports.string().optional(),
14794
- whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([])
14858
+ whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([]),
14859
+ guideType: external_exports.string().optional()
14795
14860
  });
14796
14861
  var LCNIntegrationUpdateValidator = external_exports.object({
14797
14862
  name: external_exports.string().optional(),
14798
14863
  description: external_exports.string().optional(),
14799
14864
  whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).optional(),
14800
- 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()
14801
14870
  });
14802
14871
  var LCNIntegrationQueryValidator = external_exports.object({
14803
14872
  id: StringQuery,
14804
14873
  name: StringQuery,
14805
- description: StringQuery
14874
+ description: StringQuery,
14875
+ status: StringQuery,
14876
+ guideType: StringQuery
14806
14877
  }).partial();
14807
14878
  var PaginatedLCNIntegrationsValidator = PaginationResponseValidator.extend({
14808
14879
  records: LCNIntegrationValidator.array()
@@ -15017,6 +15088,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15017
15088
  ]);
15018
15089
  var AppStoreListingValidator = external_exports.object({
15019
15090
  listing_id: external_exports.string(),
15091
+ slug: external_exports.string().optional(),
15020
15092
  display_name: external_exports.string(),
15021
15093
  tagline: external_exports.string(),
15022
15094
  full_description: external_exports.string(),
@@ -15054,6 +15126,77 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15054
15126
  var PaginatedInstalledAppsValidator = PaginationResponseValidator.extend({
15055
15127
  records: InstalledAppValidator.array()
15056
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
+ });
15057
15200
  }
15058
15201
  });
15059
15202