@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.
@@ -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,21 +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
- signedCredential: VCValidator.optional()
14346
+ signedCredential: VCValidator.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")
14320
14352
  }).refine((data) => data.templateUri || data.template, {
14321
14353
  message: "Either templateUri or template creation data must be provided.",
14322
14354
  path: ["templateUri"]
14323
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
+ });
14324
14361
  var SendBoostResponseValidator = external_exports.object({
14325
14362
  type: external_exports.literal("boost"),
14326
14363
  credentialUri: external_exports.string(),
14327
- 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
+ )
14328
14369
  });
14329
14370
  var SendInputValidator = external_exports.discriminatedUnion("type", [SendBoostInputValidator]);
14330
14371
  var SendResponseValidator = external_exports.discriminatedUnion("type", [SendBoostResponseValidator]);
@@ -14676,6 +14717,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14676
14717
  createdAt: external_exports.string(),
14677
14718
  issuerDid: external_exports.string(),
14678
14719
  webhookUrl: external_exports.string().optional(),
14720
+ boostUri: external_exports.string().optional(),
14721
+ activityId: external_exports.string().optional(),
14679
14722
  signingAuthority: external_exports.object({
14680
14723
  endpoint: external_exports.string().optional(),
14681
14724
  name: external_exports.string().optional()
@@ -14691,7 +14734,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14691
14734
  id: external_exports.string(),
14692
14735
  isSigned: external_exports.boolean(),
14693
14736
  isAccepted: external_exports.boolean().optional(),
14694
- issuerDid: external_exports.string()
14737
+ issuerDid: external_exports.string(),
14738
+ boostUri: external_exports.string()
14695
14739
  }).partial();
14696
14740
  var IssueInboxSigningAuthorityValidator = external_exports.object({
14697
14741
  endpoint: external_exports.string().url(),
@@ -14701,9 +14745,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14701
14745
  // === CORE DATA (Required) ===
14702
14746
  // WHAT is being sent and WHO is it for?
14703
14747
  recipient: ContactMethodQueryValidator.describe("The recipient of the credential"),
14704
- credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).describe(
14748
+ // Either credential OR templateUri must be provided
14749
+ credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).optional().describe(
14705
14750
  "The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."
14706
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
+ ),
14707
14755
  // === OPTIONAL FEATURES ===
14708
14756
  // Add major, distinct features at the top level.
14709
14757
  //consentRequest: ConsentRequestValidator.optional(),
@@ -14715,6 +14763,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14715
14763
  ),
14716
14764
  webhookUrl: external_exports.string().url().optional().describe("The webhook URL to receive credential issuance events."),
14717
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
+ ),
14718
14769
  // --- For User-Facing Delivery (Email/SMS) ---
14719
14770
  delivery: external_exports.object({
14720
14771
  suppress: external_exports.boolean().optional().default(false).describe(
@@ -14729,7 +14780,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14729
14780
  name: external_exports.string().optional().describe(
14730
14781
  'The name of the organization (e.g., "State University").'
14731
14782
  ),
14732
- 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
+ )
14733
14786
  }).optional(),
14734
14787
  credential: external_exports.object({
14735
14788
  name: external_exports.string().optional().describe(
@@ -14756,6 +14809,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14756
14809
  }).optional().describe(
14757
14810
  "Configuration for the credential issuance. If not provided, the default configuration will be used."
14758
14811
  )
14812
+ }).refine((data) => data.credential || data.templateUri, {
14813
+ message: "Either credential or templateUri must be provided.",
14814
+ path: ["credential"]
14759
14815
  });
14760
14816
  var IssueInboxCredentialResponseValidator = external_exports.object({
14761
14817
  issuanceId: external_exports.string(),
@@ -14783,28 +14839,43 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
14783
14839
  { message: "Must be a valid http(s) origin" }
14784
14840
  )
14785
14841
  ]);
14842
+ var LCNIntegrationStatusEnum = external_exports.enum(["setup", "active", "paused"]);
14786
14843
  var LCNIntegrationValidator = external_exports.object({
14787
14844
  id: external_exports.string(),
14788
14845
  name: external_exports.string(),
14789
14846
  description: external_exports.string().optional(),
14790
14847
  publishableKey: external_exports.string(),
14791
- 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()
14792
14856
  });
14793
14857
  var LCNIntegrationCreateValidator = external_exports.object({
14794
14858
  name: external_exports.string(),
14795
14859
  description: external_exports.string().optional(),
14796
- whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([])
14860
+ whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).default([]),
14861
+ guideType: external_exports.string().optional()
14797
14862
  });
14798
14863
  var LCNIntegrationUpdateValidator = external_exports.object({
14799
14864
  name: external_exports.string().optional(),
14800
14865
  description: external_exports.string().optional(),
14801
14866
  whitelistedDomains: external_exports.array(LCNDomainOrOriginValidator).optional(),
14802
- 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()
14803
14872
  });
14804
14873
  var LCNIntegrationQueryValidator = external_exports.object({
14805
14874
  id: StringQuery,
14806
14875
  name: StringQuery,
14807
- description: StringQuery
14876
+ description: StringQuery,
14877
+ status: StringQuery,
14878
+ guideType: StringQuery
14808
14879
  }).partial();
14809
14880
  var PaginatedLCNIntegrationsValidator = PaginationResponseValidator.extend({
14810
14881
  records: LCNIntegrationValidator.array()
@@ -15019,6 +15090,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15019
15090
  ]);
15020
15091
  var AppStoreListingValidator = external_exports.object({
15021
15092
  listing_id: external_exports.string(),
15093
+ slug: external_exports.string().optional(),
15022
15094
  display_name: external_exports.string(),
15023
15095
  tagline: external_exports.string(),
15024
15096
  full_description: external_exports.string(),
@@ -15056,6 +15128,77 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
15056
15128
  var PaginatedInstalledAppsValidator = PaginationResponseValidator.extend({
15057
15129
  records: InstalledAppValidator.array()
15058
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
+ });
15059
15202
  }
15060
15203
  });
15061
15204