@learncard/render-method-plugin 5.0.1 → 6.0.0

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.
@@ -15960,6 +15960,8 @@ var require_types_cjs_development = __commonJS({
15960
15960
  AgeRatingValidator: /* @__PURE__ */ __name2(() => AgeRatingValidator2, "AgeRatingValidator"),
15961
15961
  AlignmentTargetTypeValidator: /* @__PURE__ */ __name2(() => AlignmentTargetTypeValidator2, "AlignmentTargetTypeValidator"),
15962
15962
  AlignmentValidator: /* @__PURE__ */ __name2(() => AlignmentValidator2, "AlignmentValidator"),
15963
+ AllocateCredentialRefreshInputValidator: /* @__PURE__ */ __name2(() => AllocateCredentialRefreshInputValidator2, "AllocateCredentialRefreshInputValidator"),
15964
+ AllocateCredentialRefreshResultValidator: /* @__PURE__ */ __name2(() => AllocateCredentialRefreshResultValidator2, "AllocateCredentialRefreshResultValidator"),
15963
15965
  AllocateCredentialStatusInputValidator: /* @__PURE__ */ __name2(() => AllocateCredentialStatusInputValidator2, "AllocateCredentialStatusInputValidator"),
15964
15966
  AllocatedBitstringStatusListEntryValidator: /* @__PURE__ */ __name2(() => AllocatedBitstringStatusListEntryValidator2, "AllocatedBitstringStatusListEntryValidator"),
15965
15967
  AllowConnectionRequestsEnum: /* @__PURE__ */ __name2(() => AllowConnectionRequestsEnum2, "AllowConnectionRequestsEnum"),
@@ -16041,6 +16043,16 @@ var require_types_cjs_development = __commonJS({
16041
16043
  CredentialInfoValidator: /* @__PURE__ */ __name2(() => CredentialInfoValidator2, "CredentialInfoValidator"),
16042
16044
  CredentialNameRefValidator: /* @__PURE__ */ __name2(() => CredentialNameRefValidator2, "CredentialNameRefValidator"),
16043
16045
  CredentialRecordValidator: /* @__PURE__ */ __name2(() => CredentialRecordValidator2, "CredentialRecordValidator"),
16046
+ CredentialRefreshChallengeValidator: /* @__PURE__ */ __name2(() => CredentialRefreshChallengeValidator2, "CredentialRefreshChallengeValidator"),
16047
+ CredentialRefreshFailedResultValidator: /* @__PURE__ */ __name2(() => CredentialRefreshFailedResultValidator2, "CredentialRefreshFailedResultValidator"),
16048
+ CredentialRefreshFailureCodeValidator: /* @__PURE__ */ __name2(() => CredentialRefreshFailureCodeValidator2, "CredentialRefreshFailureCodeValidator"),
16049
+ CredentialRefreshResponseEnvelopeValidator: /* @__PURE__ */ __name2(() => CredentialRefreshResponseEnvelopeValidator2, "CredentialRefreshResponseEnvelopeValidator"),
16050
+ CredentialRefreshResultValidator: /* @__PURE__ */ __name2(() => CredentialRefreshResultValidator2, "CredentialRefreshResultValidator"),
16051
+ CredentialRefreshSigningModeValidator: /* @__PURE__ */ __name2(() => CredentialRefreshSigningModeValidator2, "CredentialRefreshSigningModeValidator"),
16052
+ CredentialRefreshUnchangedResultValidator: /* @__PURE__ */ __name2(() => CredentialRefreshUnchangedResultValidator2, "CredentialRefreshUnchangedResultValidator"),
16053
+ CredentialRefreshUnsupportedResultValidator: /* @__PURE__ */ __name2(() => CredentialRefreshUnsupportedResultValidator2, "CredentialRefreshUnsupportedResultValidator"),
16054
+ CredentialRefreshUpdatedResultValidator: /* @__PURE__ */ __name2(() => CredentialRefreshUpdatedResultValidator2, "CredentialRefreshUpdatedResultValidator"),
16055
+ CredentialRefreshVersionMetadataValidator: /* @__PURE__ */ __name2(() => CredentialRefreshVersionMetadataValidator2, "CredentialRefreshVersionMetadataValidator"),
16044
16056
  CredentialSchemaValidator: /* @__PURE__ */ __name2(() => CredentialSchemaValidator2, "CredentialSchemaValidator"),
16045
16057
  CredentialStatusValidator: /* @__PURE__ */ __name2(() => CredentialStatusValidator2, "CredentialStatusValidator"),
16046
16058
  CredentialSubjectValidator: /* @__PURE__ */ __name2(() => CredentialSubjectValidator2, "CredentialSubjectValidator"),
@@ -16061,6 +16073,8 @@ var require_types_cjs_development = __commonJS({
16061
16073
  GeoCoordinatesValidator: /* @__PURE__ */ __name2(() => GeoCoordinatesValidator2, "GeoCoordinatesValidator"),
16062
16074
  GetCounterEventValidator: /* @__PURE__ */ __name2(() => GetCounterEventValidator2, "GetCounterEventValidator"),
16063
16075
  GetCountersEventValidator: /* @__PURE__ */ __name2(() => GetCountersEventValidator2, "GetCountersEventValidator"),
16076
+ GetCredentialRefreshHistoryInputValidator: /* @__PURE__ */ __name2(() => GetCredentialRefreshHistoryInputValidator2, "GetCredentialRefreshHistoryInputValidator"),
16077
+ GetCredentialRefreshHistoryResultValidator: /* @__PURE__ */ __name2(() => GetCredentialRefreshHistoryResultValidator2, "GetCredentialRefreshHistoryResultValidator"),
16064
16078
  GetFullSkillTreeInputValidator: /* @__PURE__ */ __name2(() => GetFullSkillTreeInputValidator2, "GetFullSkillTreeInputValidator"),
16065
16079
  GetFullSkillTreeResultValidator: /* @__PURE__ */ __name2(() => GetFullSkillTreeResultValidator2, "GetFullSkillTreeResultValidator"),
16066
16080
  GetSkillPathInputValidator: /* @__PURE__ */ __name2(() => GetSkillPathInputValidator2, "GetSkillPathInputValidator"),
@@ -16085,6 +16099,7 @@ var require_types_cjs_development = __commonJS({
16085
16099
  JWEValidator: /* @__PURE__ */ __name2(() => JWEValidator2, "JWEValidator"),
16086
16100
  JWKValidator: /* @__PURE__ */ __name2(() => JWKValidator2, "JWKValidator"),
16087
16101
  JWKWithPrivateKeyValidator: /* @__PURE__ */ __name2(() => JWKWithPrivateKeyValidator2, "JWKWithPrivateKeyValidator"),
16102
+ JweCredentialRefreshEnvelopeValidator: /* @__PURE__ */ __name2(() => JweCredentialRefreshEnvelopeValidator2, "JweCredentialRefreshEnvelopeValidator"),
16088
16103
  KnownAchievementTypeValidator: /* @__PURE__ */ __name2(() => KnownAchievementTypeValidator2, "KnownAchievementTypeValidator"),
16089
16104
  LCNAuthedProfileValidator: /* @__PURE__ */ __name2(() => LCNAuthedProfileValidator2, "LCNAuthedProfileValidator"),
16090
16105
  LCNBoostClaimLinkOptionsValidator: /* @__PURE__ */ __name2(() => LCNBoostClaimLinkOptionsValidator2, "LCNBoostClaimLinkOptionsValidator"),
@@ -16122,7 +16137,9 @@ var require_types_cjs_development = __commonJS({
16122
16137
  LCNSigningAuthorityValidator: /* @__PURE__ */ __name2(() => LCNSigningAuthorityValidator2, "LCNSigningAuthorityValidator"),
16123
16138
  LCNVisibleProfileValidator: /* @__PURE__ */ __name2(() => LCNVisibleProfileValidator2, "LCNVisibleProfileValidator"),
16124
16139
  LaunchTypeValidator: /* @__PURE__ */ __name2(() => LaunchTypeValidator2, "LaunchTypeValidator"),
16140
+ LearnCardRefreshAuthorizationValidator: /* @__PURE__ */ __name2(() => LearnCardRefreshAuthorizationValidator2, "LearnCardRefreshAuthorizationValidator"),
16125
16141
  LinkProviderFrameworkInputValidator: /* @__PURE__ */ __name2(() => LinkProviderFrameworkInputValidator2, "LinkProviderFrameworkInputValidator"),
16142
+ ManagedCredentialRefreshServiceValidator: /* @__PURE__ */ __name2(() => ManagedCredentialRefreshServiceValidator2, "ManagedCredentialRefreshServiceValidator"),
16126
16143
  PaginatedAppStoreListingsValidator: /* @__PURE__ */ __name2(() => PaginatedAppStoreListingsValidator2, "PaginatedAppStoreListingsValidator"),
16127
16144
  PaginatedBoostRecipientsValidator: /* @__PURE__ */ __name2(() => PaginatedBoostRecipientsValidator2, "PaginatedBoostRecipientsValidator"),
16128
16145
  PaginatedBoostRecipientsWithChildrenValidator: /* @__PURE__ */ __name2(() => PaginatedBoostRecipientsWithChildrenValidator2, "PaginatedBoostRecipientsWithChildrenValidator"),
@@ -16152,6 +16169,12 @@ var require_types_cjs_development = __commonJS({
16152
16169
  ProfileVisibilityEnum: /* @__PURE__ */ __name2(() => ProfileVisibilityEnum2, "ProfileVisibilityEnum"),
16153
16170
  PromotionLevelValidator: /* @__PURE__ */ __name2(() => PromotionLevelValidator2, "PromotionLevelValidator"),
16154
16171
  ProofValidator: /* @__PURE__ */ __name2(() => ProofValidator2, "ProofValidator"),
16172
+ PublicCredentialRefreshEnvelopeValidator: /* @__PURE__ */ __name2(() => PublicCredentialRefreshEnvelopeValidator2, "PublicCredentialRefreshEnvelopeValidator"),
16173
+ PublishCredentialRefreshInputValidator: /* @__PURE__ */ __name2(() => PublishCredentialRefreshInputValidator2, "PublishCredentialRefreshInputValidator"),
16174
+ PublishCredentialRefreshNotificationValidator: /* @__PURE__ */ __name2(() => PublishCredentialRefreshNotificationValidator2, "PublishCredentialRefreshNotificationValidator"),
16175
+ PublishCredentialRefreshResultValidator: /* @__PURE__ */ __name2(() => PublishCredentialRefreshResultValidator2, "PublishCredentialRefreshResultValidator"),
16176
+ PublishIssuerSignedRefreshValidator: /* @__PURE__ */ __name2(() => PublishIssuerSignedRefreshValidator2, "PublishIssuerSignedRefreshValidator"),
16177
+ PublishSigningAuthorityRefreshValidator: /* @__PURE__ */ __name2(() => PublishSigningAuthorityRefreshValidator2, "PublishSigningAuthorityRefreshValidator"),
16155
16178
  RefreshServiceValidator: /* @__PURE__ */ __name2(() => RefreshServiceValidator2, "RefreshServiceValidator"),
16156
16179
  RegExpValidator: /* @__PURE__ */ __name2(() => RegExpValidator2, "RegExpValidator"),
16157
16180
  RelatedValidator: /* @__PURE__ */ __name2(() => RelatedValidator2, "RelatedValidator"),
@@ -16192,11 +16215,13 @@ var require_types_cjs_development = __commonJS({
16192
16215
  SkillTreeNodeInputValidator: /* @__PURE__ */ __name2(() => SkillTreeNodeInputValidator2, "SkillTreeNodeInputValidator"),
16193
16216
  SkillTreeNodeValidator: /* @__PURE__ */ __name2(() => SkillTreeNodeValidator2, "SkillTreeNodeValidator"),
16194
16217
  SkillValidator: /* @__PURE__ */ __name2(() => SkillValidator2, "SkillValidator"),
16218
+ StandardCredentialRefreshServiceValidator: /* @__PURE__ */ __name2(() => StandardCredentialRefreshServiceValidator2, "StandardCredentialRefreshServiceValidator"),
16195
16219
  StatusCheckEntryValidator: /* @__PURE__ */ __name2(() => StatusCheckEntryValidator2, "StatusCheckEntryValidator"),
16196
16220
  StoredCredentialEnvelopeValidator: /* @__PURE__ */ __name2(() => StoredCredentialEnvelopeValidator2, "StoredCredentialEnvelopeValidator"),
16197
16221
  StringQuery: /* @__PURE__ */ __name2(() => StringQuery2, "StringQuery"),
16198
16222
  SummaryCredentialDataValidator: /* @__PURE__ */ __name2(() => SummaryCredentialDataValidator2, "SummaryCredentialDataValidator"),
16199
16223
  SummaryCredentialKeywordValidator: /* @__PURE__ */ __name2(() => SummaryCredentialKeywordValidator2, "SummaryCredentialKeywordValidator"),
16224
+ SupportedCredentialRefreshServiceValidator: /* @__PURE__ */ __name2(() => SupportedCredentialRefreshServiceValidator2, "SupportedCredentialRefreshServiceValidator"),
16200
16225
  SyncFrameworkInputValidator: /* @__PURE__ */ __name2(() => SyncFrameworkInputValidator2, "SyncFrameworkInputValidator"),
16201
16226
  TagValidator: /* @__PURE__ */ __name2(() => TagValidator2, "TagValidator"),
16202
16227
  TemplateRenderMethodValidator: /* @__PURE__ */ __name2(() => TemplateRenderMethodValidator2, "TemplateRenderMethodValidator"),
@@ -32793,7 +32818,10 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
32793
32818
  webhookUrl: external_exports2.string().url().optional().describe("Webhook URL to receive claim notifications"),
32794
32819
  suppressDelivery: external_exports2.boolean().optional().describe("If true, returns claimUrl without sending email/SMS"),
32795
32820
  branding: SendBrandingOptionsValidator2.optional().describe("Branding for email/SMS delivery"),
32796
- guardianEmail: external_exports2.string().email().optional().describe("Guardian email that must approve before student can claim")
32821
+ guardianEmail: external_exports2.string().email().optional().describe("Guardian email that must approve before student can claim"),
32822
+ expiresInDays: external_exports2.number().int().min(1).max(720).optional().describe(
32823
+ "How many days the credential stays claimable in the Universal Inbox (default 30). Does not change the credential validity period."
32824
+ )
32797
32825
  });
32798
32826
  var SendBoostInputValidator2 = external_exports2.object({
32799
32827
  type: external_exports2.literal("boost"),
@@ -33088,7 +33116,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
33088
33116
  "APP_NOTIFICATION",
33089
33117
  "CREDENTIAL_REVOKED",
33090
33118
  "CREDENTIAL_SUSPENDED",
33091
- "CREDENTIAL_UNSUSPENDED"
33119
+ "CREDENTIAL_UNSUSPENDED",
33120
+ "CREDENTIAL_REFRESHED"
33092
33121
  ]);
33093
33122
  var LCNNotificationMessageValidator2 = external_exports2.object({
33094
33123
  title: external_exports2.string().optional(),
@@ -33220,12 +33249,16 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
33220
33249
  });
33221
33250
  var InboxCredentialValidator2 = external_exports2.object({
33222
33251
  id: external_exports2.string(),
33223
- credential: external_exports2.string(),
33252
+ credential: external_exports2.string().optional(),
33224
33253
  isSigned: external_exports2.boolean(),
33225
33254
  currentStatus: LCNInboxStatusEnumValidator2,
33226
33255
  isAccepted: external_exports2.boolean().optional(),
33227
33256
  expiresAt: external_exports2.string(),
33228
33257
  createdAt: external_exports2.string(),
33258
+ finalizedAt: external_exports2.string().optional(),
33259
+ expiredAt: external_exports2.string().optional(),
33260
+ credentialName: external_exports2.string().optional(),
33261
+ achievementType: external_exports2.string().optional(),
33229
33262
  issuerDid: external_exports2.string(),
33230
33263
  webhookUrl: external_exports2.string().optional(),
33231
33264
  boostUri: external_exports2.string().optional(),
@@ -33279,7 +33312,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
33279
33312
  "The signing authority to use for the credential. If not provided, the users default signing authority will be used if the credential is not signed."
33280
33313
  ),
33281
33314
  webhookUrl: external_exports2.string().url().optional().describe("The webhook URL to receive credential issuance events."),
33282
- expiresInDays: external_exports2.number().min(1).max(365).optional().describe("The number of days the credential will be valid for."),
33315
+ expiresInDays: external_exports2.number().int().min(1).max(720).optional().describe(
33316
+ "How many days the encrypted inbox payload remains claimable. This does not change the credential validity period."
33317
+ ),
33283
33318
  templateData: external_exports2.record(external_exports2.string(), external_exports2.unknown()).optional().describe(
33284
33319
  "Template data to render into the boost credential template using Mustache syntax. Only used when boostUri is provided."
33285
33320
  ),
@@ -33342,6 +33377,9 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
33342
33377
  credential: VCValidator2.or(VPValidator2).or(UnsignedVCValidator2).or(CredentialNameRefValidator2).describe("The credential to issue, or a { name } reference to resolve a boost template."),
33343
33378
  configuration: external_exports2.object({
33344
33379
  publishableKey: external_exports2.string(),
33380
+ expiresInDays: external_exports2.number().int().min(1).max(720).optional().describe(
33381
+ "Inbox claim window in days. Defaults to 720; use a shorter window for sensitive records."
33382
+ ),
33345
33383
  signingAuthorityName: external_exports2.string().optional(),
33346
33384
  listingId: external_exports2.string().optional(),
33347
33385
  listingSlug: external_exports2.string().optional()
@@ -33973,6 +34011,191 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
33973
34011
  const result = inAppMessagesFlagValidator2.safeParse(raw);
33974
34012
  return result.success ? result.data : EMPTY_IN_APP_MESSAGES_FLAG;
33975
34013
  }, "parseInAppMessagesFlag");
34014
+ var LearnCardRefreshAuthorizationValidator2 = external_exports2.object({ type: external_exports2.literal("LearnCardDIDAuth") }).catchall(external_exports2.any());
34015
+ var ManagedCredentialRefreshServiceValidator2 = external_exports2.object({
34016
+ id: external_exports2.string().min(1),
34017
+ type: external_exports2.literal("LearnCardCredentialRefresh2026"),
34018
+ authorization: LearnCardRefreshAuthorizationValidator2.optional()
34019
+ }).catchall(external_exports2.any());
34020
+ var StandardCredentialRefreshServiceValidator2 = external_exports2.object({
34021
+ id: external_exports2.string().min(1),
34022
+ type: external_exports2.literal("1EdTechCredentialRefresh")
34023
+ }).catchall(external_exports2.any());
34024
+ var SupportedCredentialRefreshServiceValidator2 = external_exports2.union([
34025
+ ManagedCredentialRefreshServiceValidator2,
34026
+ StandardCredentialRefreshServiceValidator2
34027
+ ]);
34028
+ var AllocateCredentialRefreshInputValidator2 = external_exports2.object({
34029
+ holder: external_exports2.object({
34030
+ profileId: external_exports2.string().optional(),
34031
+ did: external_exports2.string().min(1)
34032
+ }),
34033
+ credentialId: external_exports2.string().min(1)
34034
+ });
34035
+ var AllocateCredentialRefreshResultValidator2 = external_exports2.object({
34036
+ refreshId: external_exports2.string().min(1),
34037
+ refreshService: ManagedCredentialRefreshServiceValidator2.extend({
34038
+ authorization: LearnCardRefreshAuthorizationValidator2
34039
+ })
34040
+ });
34041
+ var CredentialRefreshSigningModeValidator2 = external_exports2.enum(["issuer-signed", "signing-authority"]);
34042
+ var PublishCredentialRefreshBaseFields2 = {
34043
+ refreshId: external_exports2.string().min(1),
34044
+ notifyHolder: external_exports2.boolean().optional(),
34045
+ updateSummary: external_exports2.string().optional(),
34046
+ idempotencyKey: external_exports2.string().optional()
34047
+ };
34048
+ var PublishIssuerSignedRefreshValidator2 = external_exports2.object({
34049
+ ...PublishCredentialRefreshBaseFields2,
34050
+ mode: external_exports2.literal("issuer-signed"),
34051
+ signedCredential: VCValidator2
34052
+ });
34053
+ var PublishSigningAuthorityRefreshValidator2 = external_exports2.object({
34054
+ ...PublishCredentialRefreshBaseFields2,
34055
+ mode: external_exports2.literal("signing-authority"),
34056
+ credential: UnsignedVCValidator2,
34057
+ signingAuthority: external_exports2.object({
34058
+ type: external_exports2.string().min(1)
34059
+ }).catchall(external_exports2.any())
34060
+ });
34061
+ var PublishCredentialRefreshInputValidator2 = external_exports2.object({
34062
+ ...PublishCredentialRefreshBaseFields2,
34063
+ mode: CredentialRefreshSigningModeValidator2,
34064
+ signedCredential: VCValidator2.optional(),
34065
+ credential: UnsignedVCValidator2.optional(),
34066
+ signingAuthority: external_exports2.object({
34067
+ type: external_exports2.string().min(1)
34068
+ }).catchall(external_exports2.any()).optional()
34069
+ }).superRefine((input, ctx) => {
34070
+ if (input.mode === "issuer-signed" && !input.signedCredential) {
34071
+ ctx.addIssue({
34072
+ code: "custom",
34073
+ path: ["signedCredential"],
34074
+ message: "signedCredential is required for issuer-signed publication"
34075
+ });
34076
+ }
34077
+ if (input.mode === "issuer-signed" && (input.credential !== void 0 || input.signingAuthority !== void 0)) {
34078
+ ctx.addIssue({
34079
+ code: "custom",
34080
+ path: ["mode"],
34081
+ message: "issuer-signed publication cannot include signing-authority fields"
34082
+ });
34083
+ }
34084
+ if (input.mode === "signing-authority") {
34085
+ if (input.signedCredential !== void 0) {
34086
+ ctx.addIssue({
34087
+ code: "custom",
34088
+ path: ["signedCredential"],
34089
+ message: "signing-authority publication cannot include signedCredential"
34090
+ });
34091
+ }
34092
+ if (!input.credential) {
34093
+ ctx.addIssue({
34094
+ code: "custom",
34095
+ path: ["credential"],
34096
+ message: "credential is required for signing-authority publication"
34097
+ });
34098
+ }
34099
+ if (!input.signingAuthority) {
34100
+ ctx.addIssue({
34101
+ code: "custom",
34102
+ path: ["signingAuthority"],
34103
+ message: "signingAuthority is required for signing-authority publication"
34104
+ });
34105
+ }
34106
+ }
34107
+ });
34108
+ var PublishCredentialRefreshNotificationValidator2 = external_exports2.enum([
34109
+ "queued",
34110
+ "suppressed",
34111
+ "not-applicable",
34112
+ /** Publication succeeded, but the post-commit notification enqueue must be retried. */
34113
+ "delivery-failed"
34114
+ ]);
34115
+ var PublishCredentialRefreshResultValidator2 = external_exports2.object({
34116
+ refreshId: external_exports2.string().min(1),
34117
+ version: external_exports2.number().int().positive(),
34118
+ publishedAt: external_exports2.string().min(1),
34119
+ notification: PublishCredentialRefreshNotificationValidator2
34120
+ });
34121
+ var CredentialRefreshVersionMetadataValidator2 = external_exports2.object({
34122
+ version: external_exports2.number().int().positive(),
34123
+ publishedAt: external_exports2.string().min(1),
34124
+ effectiveAt: external_exports2.string().optional(),
34125
+ etag: external_exports2.string().optional(),
34126
+ signingMode: CredentialRefreshSigningModeValidator2.optional(),
34127
+ updateSummary: external_exports2.string().optional()
34128
+ });
34129
+ var GetCredentialRefreshHistoryInputValidator2 = external_exports2.object({
34130
+ refreshId: external_exports2.string().min(1),
34131
+ cursor: external_exports2.string().optional(),
34132
+ limit: external_exports2.number().int().positive().optional()
34133
+ });
34134
+ var GetCredentialRefreshHistoryResultValidator2 = external_exports2.object({
34135
+ records: CredentialRefreshVersionMetadataValidator2.array(),
34136
+ hasMore: external_exports2.boolean(),
34137
+ cursor: external_exports2.string().optional()
34138
+ });
34139
+ var CredentialRefreshChallengeValidator2 = external_exports2.object({
34140
+ challenge: external_exports2.string().min(1),
34141
+ expiresAt: external_exports2.string().min(1),
34142
+ domain: external_exports2.string().optional(),
34143
+ scheme: external_exports2.literal("LearnCardDIDAuth").optional()
34144
+ });
34145
+ var PublicCredentialRefreshEnvelopeValidator2 = external_exports2.object({
34146
+ format: external_exports2.literal("vc"),
34147
+ credential: VCValidator2,
34148
+ etag: external_exports2.string().optional()
34149
+ });
34150
+ var JweCredentialRefreshEnvelopeValidator2 = external_exports2.object({
34151
+ format: external_exports2.literal("jwe"),
34152
+ jwe: JWEValidator2,
34153
+ etag: external_exports2.string().optional(),
34154
+ /** Present on LearnCard-managed endpoints; optional for interoperable JWE services. */
34155
+ version: external_exports2.number().int().positive().optional()
34156
+ });
34157
+ var CredentialRefreshResponseEnvelopeValidator2 = external_exports2.discriminatedUnion("format", [
34158
+ PublicCredentialRefreshEnvelopeValidator2,
34159
+ JweCredentialRefreshEnvelopeValidator2
34160
+ ]);
34161
+ var CredentialRefreshFailureCodeValidator2 = external_exports2.enum([
34162
+ "UNAVAILABLE",
34163
+ "TIMEOUT",
34164
+ "UNSUPPORTED_SERVICE",
34165
+ "UNAUTHORIZED",
34166
+ "MALFORMED_RESPONSE",
34167
+ "INVALID_PROOF",
34168
+ "ISSUER_MISMATCH",
34169
+ "ID_MISMATCH",
34170
+ "ROLLBACK",
34171
+ "REVOKED",
34172
+ "UNSAFE_ENDPOINT"
34173
+ ]);
34174
+ var CredentialRefreshUpdatedResultValidator2 = external_exports2.object({
34175
+ status: external_exports2.literal("updated"),
34176
+ credential: VCValidator2,
34177
+ etag: external_exports2.string().optional(),
34178
+ managedVersion: external_exports2.number().int().positive().optional()
34179
+ });
34180
+ var CredentialRefreshUnchangedResultValidator2 = external_exports2.object({
34181
+ status: external_exports2.literal("unchanged"),
34182
+ checkedAt: external_exports2.string().min(1),
34183
+ etag: external_exports2.string().optional()
34184
+ });
34185
+ var CredentialRefreshUnsupportedResultValidator2 = external_exports2.object({
34186
+ status: external_exports2.literal("unsupported")
34187
+ });
34188
+ var CredentialRefreshFailedResultValidator2 = external_exports2.object({
34189
+ status: external_exports2.literal("failed"),
34190
+ code: CredentialRefreshFailureCodeValidator2,
34191
+ retryable: external_exports2.boolean()
34192
+ });
34193
+ var CredentialRefreshResultValidator2 = external_exports2.discriminatedUnion("status", [
34194
+ CredentialRefreshUpdatedResultValidator2,
34195
+ CredentialRefreshUnchangedResultValidator2,
34196
+ CredentialRefreshUnsupportedResultValidator2,
34197
+ CredentialRefreshFailedResultValidator2
34198
+ ]);
33976
34199
  }
33977
34200
  });
33978
34201
  var require_dist = __commonJS({
@@ -33985,7 +34208,7 @@ var require_dist = __commonJS({
33985
34208
  }
33986
34209
  }
33987
34210
  });
33988
- var import_types2 = __toESM(require_dist());
34211
+ var import_types3 = __toESM(require_dist());
33989
34212
  var filestack_helpers_exports = {};
33990
34213
  __export2(filestack_helpers_exports, {
33991
34214
  changeQuality: /* @__PURE__ */ __name(() => changeQuality, "changeQuality"),
@@ -34266,7 +34489,8 @@ var ImageWithLoadingStateValdator = external_exports.object({
34266
34489
  image: external_exports.string(),
34267
34490
  loading: external_exports.union([ImageResizingValidator, ImageUploadingValidator]).optional()
34268
34491
  });
34269
- var import_types3 = __toESM(require_dist());
34492
+ var import_types2 = __toESM(require_dist());
34493
+ var import_types22 = __toESM(require_dist());
34270
34494
  var _a4;
34271
34495
  var EnvironmentConfigurationError = (_a4 = class extends Error {
34272
34496
  constructor(message) {
@@ -35200,7 +35424,10 @@ var SendOptionsValidator = external_exports.object({
35200
35424
  webhookUrl: external_exports.string().url().optional().describe("Webhook URL to receive claim notifications"),
35201
35425
  suppressDelivery: external_exports.boolean().optional().describe("If true, returns claimUrl without sending email/SMS"),
35202
35426
  branding: SendBrandingOptionsValidator.optional().describe("Branding for email/SMS delivery"),
35203
- guardianEmail: external_exports.string().email().optional().describe("Guardian email that must approve before student can claim")
35427
+ guardianEmail: external_exports.string().email().optional().describe("Guardian email that must approve before student can claim"),
35428
+ expiresInDays: external_exports.number().int().min(1).max(720).optional().describe(
35429
+ "How many days the credential stays claimable in the Universal Inbox (default 30). Does not change the credential validity period."
35430
+ )
35204
35431
  });
35205
35432
  var SendBoostInputValidator = external_exports.object({
35206
35433
  type: external_exports.literal("boost"),
@@ -35495,7 +35722,8 @@ var LCNNotificationTypeEnumValidator = external_exports.enum([
35495
35722
  "APP_NOTIFICATION",
35496
35723
  "CREDENTIAL_REVOKED",
35497
35724
  "CREDENTIAL_SUSPENDED",
35498
- "CREDENTIAL_UNSUSPENDED"
35725
+ "CREDENTIAL_UNSUSPENDED",
35726
+ "CREDENTIAL_REFRESHED"
35499
35727
  ]);
35500
35728
  var LCNNotificationMessageValidator = external_exports.object({
35501
35729
  title: external_exports.string().optional(),
@@ -35627,12 +35855,16 @@ var CreateContactMethodSessionResponseValidator = external_exports.object({
35627
35855
  });
35628
35856
  var InboxCredentialValidator = external_exports.object({
35629
35857
  id: external_exports.string(),
35630
- credential: external_exports.string(),
35858
+ credential: external_exports.string().optional(),
35631
35859
  isSigned: external_exports.boolean(),
35632
35860
  currentStatus: LCNInboxStatusEnumValidator,
35633
35861
  isAccepted: external_exports.boolean().optional(),
35634
35862
  expiresAt: external_exports.string(),
35635
35863
  createdAt: external_exports.string(),
35864
+ finalizedAt: external_exports.string().optional(),
35865
+ expiredAt: external_exports.string().optional(),
35866
+ credentialName: external_exports.string().optional(),
35867
+ achievementType: external_exports.string().optional(),
35636
35868
  issuerDid: external_exports.string(),
35637
35869
  webhookUrl: external_exports.string().optional(),
35638
35870
  boostUri: external_exports.string().optional(),
@@ -35686,7 +35918,9 @@ var IssueInboxCredentialValidator = external_exports.object({
35686
35918
  "The signing authority to use for the credential. If not provided, the users default signing authority will be used if the credential is not signed."
35687
35919
  ),
35688
35920
  webhookUrl: external_exports.string().url().optional().describe("The webhook URL to receive credential issuance events."),
35689
- expiresInDays: external_exports.number().min(1).max(365).optional().describe("The number of days the credential will be valid for."),
35921
+ expiresInDays: external_exports.number().int().min(1).max(720).optional().describe(
35922
+ "How many days the encrypted inbox payload remains claimable. This does not change the credential validity period."
35923
+ ),
35690
35924
  templateData: external_exports.record(external_exports.string(), external_exports.unknown()).optional().describe(
35691
35925
  "Template data to render into the boost credential template using Mustache syntax. Only used when boostUri is provided."
35692
35926
  ),
@@ -35749,6 +35983,9 @@ var ClaimInboxCredentialValidator = external_exports.object({
35749
35983
  credential: VCValidator.or(VPValidator).or(UnsignedVCValidator).or(CredentialNameRefValidator).describe("The credential to issue, or a { name } reference to resolve a boost template."),
35750
35984
  configuration: external_exports.object({
35751
35985
  publishableKey: external_exports.string(),
35986
+ expiresInDays: external_exports.number().int().min(1).max(720).optional().describe(
35987
+ "Inbox claim window in days. Defaults to 720; use a shorter window for sensitive records."
35988
+ ),
35752
35989
  signingAuthorityName: external_exports.string().optional(),
35753
35990
  listingId: external_exports.string().optional(),
35754
35991
  listingSlug: external_exports.string().optional()
@@ -36375,6 +36612,191 @@ var inAppMessagesFlagValidator = external_exports.object({
36375
36612
  version: external_exports.number().default(1),
36376
36613
  messages: external_exports.array(inAppMessageValidator).default([])
36377
36614
  }).passthrough();
36615
+ var LearnCardRefreshAuthorizationValidator = external_exports.object({ type: external_exports.literal("LearnCardDIDAuth") }).catchall(external_exports.any());
36616
+ var ManagedCredentialRefreshServiceValidator = external_exports.object({
36617
+ id: external_exports.string().min(1),
36618
+ type: external_exports.literal("LearnCardCredentialRefresh2026"),
36619
+ authorization: LearnCardRefreshAuthorizationValidator.optional()
36620
+ }).catchall(external_exports.any());
36621
+ var StandardCredentialRefreshServiceValidator = external_exports.object({
36622
+ id: external_exports.string().min(1),
36623
+ type: external_exports.literal("1EdTechCredentialRefresh")
36624
+ }).catchall(external_exports.any());
36625
+ var SupportedCredentialRefreshServiceValidator = external_exports.union([
36626
+ ManagedCredentialRefreshServiceValidator,
36627
+ StandardCredentialRefreshServiceValidator
36628
+ ]);
36629
+ var AllocateCredentialRefreshInputValidator = external_exports.object({
36630
+ holder: external_exports.object({
36631
+ profileId: external_exports.string().optional(),
36632
+ did: external_exports.string().min(1)
36633
+ }),
36634
+ credentialId: external_exports.string().min(1)
36635
+ });
36636
+ var AllocateCredentialRefreshResultValidator = external_exports.object({
36637
+ refreshId: external_exports.string().min(1),
36638
+ refreshService: ManagedCredentialRefreshServiceValidator.extend({
36639
+ authorization: LearnCardRefreshAuthorizationValidator
36640
+ })
36641
+ });
36642
+ var CredentialRefreshSigningModeValidator = external_exports.enum(["issuer-signed", "signing-authority"]);
36643
+ var PublishCredentialRefreshBaseFields = {
36644
+ refreshId: external_exports.string().min(1),
36645
+ notifyHolder: external_exports.boolean().optional(),
36646
+ updateSummary: external_exports.string().optional(),
36647
+ idempotencyKey: external_exports.string().optional()
36648
+ };
36649
+ var PublishIssuerSignedRefreshValidator = external_exports.object({
36650
+ ...PublishCredentialRefreshBaseFields,
36651
+ mode: external_exports.literal("issuer-signed"),
36652
+ signedCredential: VCValidator
36653
+ });
36654
+ var PublishSigningAuthorityRefreshValidator = external_exports.object({
36655
+ ...PublishCredentialRefreshBaseFields,
36656
+ mode: external_exports.literal("signing-authority"),
36657
+ credential: UnsignedVCValidator,
36658
+ signingAuthority: external_exports.object({
36659
+ type: external_exports.string().min(1)
36660
+ }).catchall(external_exports.any())
36661
+ });
36662
+ var PublishCredentialRefreshInputValidator = external_exports.object({
36663
+ ...PublishCredentialRefreshBaseFields,
36664
+ mode: CredentialRefreshSigningModeValidator,
36665
+ signedCredential: VCValidator.optional(),
36666
+ credential: UnsignedVCValidator.optional(),
36667
+ signingAuthority: external_exports.object({
36668
+ type: external_exports.string().min(1)
36669
+ }).catchall(external_exports.any()).optional()
36670
+ }).superRefine((input, ctx) => {
36671
+ if (input.mode === "issuer-signed" && !input.signedCredential) {
36672
+ ctx.addIssue({
36673
+ code: "custom",
36674
+ path: ["signedCredential"],
36675
+ message: "signedCredential is required for issuer-signed publication"
36676
+ });
36677
+ }
36678
+ if (input.mode === "issuer-signed" && (input.credential !== void 0 || input.signingAuthority !== void 0)) {
36679
+ ctx.addIssue({
36680
+ code: "custom",
36681
+ path: ["mode"],
36682
+ message: "issuer-signed publication cannot include signing-authority fields"
36683
+ });
36684
+ }
36685
+ if (input.mode === "signing-authority") {
36686
+ if (input.signedCredential !== void 0) {
36687
+ ctx.addIssue({
36688
+ code: "custom",
36689
+ path: ["signedCredential"],
36690
+ message: "signing-authority publication cannot include signedCredential"
36691
+ });
36692
+ }
36693
+ if (!input.credential) {
36694
+ ctx.addIssue({
36695
+ code: "custom",
36696
+ path: ["credential"],
36697
+ message: "credential is required for signing-authority publication"
36698
+ });
36699
+ }
36700
+ if (!input.signingAuthority) {
36701
+ ctx.addIssue({
36702
+ code: "custom",
36703
+ path: ["signingAuthority"],
36704
+ message: "signingAuthority is required for signing-authority publication"
36705
+ });
36706
+ }
36707
+ }
36708
+ });
36709
+ var PublishCredentialRefreshNotificationValidator = external_exports.enum([
36710
+ "queued",
36711
+ "suppressed",
36712
+ "not-applicable",
36713
+ /** Publication succeeded, but the post-commit notification enqueue must be retried. */
36714
+ "delivery-failed"
36715
+ ]);
36716
+ var PublishCredentialRefreshResultValidator = external_exports.object({
36717
+ refreshId: external_exports.string().min(1),
36718
+ version: external_exports.number().int().positive(),
36719
+ publishedAt: external_exports.string().min(1),
36720
+ notification: PublishCredentialRefreshNotificationValidator
36721
+ });
36722
+ var CredentialRefreshVersionMetadataValidator = external_exports.object({
36723
+ version: external_exports.number().int().positive(),
36724
+ publishedAt: external_exports.string().min(1),
36725
+ effectiveAt: external_exports.string().optional(),
36726
+ etag: external_exports.string().optional(),
36727
+ signingMode: CredentialRefreshSigningModeValidator.optional(),
36728
+ updateSummary: external_exports.string().optional()
36729
+ });
36730
+ var GetCredentialRefreshHistoryInputValidator = external_exports.object({
36731
+ refreshId: external_exports.string().min(1),
36732
+ cursor: external_exports.string().optional(),
36733
+ limit: external_exports.number().int().positive().optional()
36734
+ });
36735
+ var GetCredentialRefreshHistoryResultValidator = external_exports.object({
36736
+ records: CredentialRefreshVersionMetadataValidator.array(),
36737
+ hasMore: external_exports.boolean(),
36738
+ cursor: external_exports.string().optional()
36739
+ });
36740
+ var CredentialRefreshChallengeValidator = external_exports.object({
36741
+ challenge: external_exports.string().min(1),
36742
+ expiresAt: external_exports.string().min(1),
36743
+ domain: external_exports.string().optional(),
36744
+ scheme: external_exports.literal("LearnCardDIDAuth").optional()
36745
+ });
36746
+ var PublicCredentialRefreshEnvelopeValidator = external_exports.object({
36747
+ format: external_exports.literal("vc"),
36748
+ credential: VCValidator,
36749
+ etag: external_exports.string().optional()
36750
+ });
36751
+ var JweCredentialRefreshEnvelopeValidator = external_exports.object({
36752
+ format: external_exports.literal("jwe"),
36753
+ jwe: JWEValidator,
36754
+ etag: external_exports.string().optional(),
36755
+ /** Present on LearnCard-managed endpoints; optional for interoperable JWE services. */
36756
+ version: external_exports.number().int().positive().optional()
36757
+ });
36758
+ var CredentialRefreshResponseEnvelopeValidator = external_exports.discriminatedUnion("format", [
36759
+ PublicCredentialRefreshEnvelopeValidator,
36760
+ JweCredentialRefreshEnvelopeValidator
36761
+ ]);
36762
+ var CredentialRefreshFailureCodeValidator = external_exports.enum([
36763
+ "UNAVAILABLE",
36764
+ "TIMEOUT",
36765
+ "UNSUPPORTED_SERVICE",
36766
+ "UNAUTHORIZED",
36767
+ "MALFORMED_RESPONSE",
36768
+ "INVALID_PROOF",
36769
+ "ISSUER_MISMATCH",
36770
+ "ID_MISMATCH",
36771
+ "ROLLBACK",
36772
+ "REVOKED",
36773
+ "UNSAFE_ENDPOINT"
36774
+ ]);
36775
+ var CredentialRefreshUpdatedResultValidator = external_exports.object({
36776
+ status: external_exports.literal("updated"),
36777
+ credential: VCValidator,
36778
+ etag: external_exports.string().optional(),
36779
+ managedVersion: external_exports.number().int().positive().optional()
36780
+ });
36781
+ var CredentialRefreshUnchangedResultValidator = external_exports.object({
36782
+ status: external_exports.literal("unchanged"),
36783
+ checkedAt: external_exports.string().min(1),
36784
+ etag: external_exports.string().optional()
36785
+ });
36786
+ var CredentialRefreshUnsupportedResultValidator = external_exports.object({
36787
+ status: external_exports.literal("unsupported")
36788
+ });
36789
+ var CredentialRefreshFailedResultValidator = external_exports.object({
36790
+ status: external_exports.literal("failed"),
36791
+ code: CredentialRefreshFailureCodeValidator,
36792
+ retryable: external_exports.boolean()
36793
+ });
36794
+ var CredentialRefreshResultValidator = external_exports.discriminatedUnion("status", [
36795
+ CredentialRefreshUpdatedResultValidator,
36796
+ CredentialRefreshUnchangedResultValidator,
36797
+ CredentialRefreshUnsupportedResultValidator,
36798
+ CredentialRefreshFailedResultValidator
36799
+ ]);
36378
36800
 
36379
36801
  // src/read.ts
36380
36802
  var isTemplateRenderMethod = /* @__PURE__ */ __name((rm) => TemplateRenderMethodValidator.safeParse(rm).success, "isTemplateRenderMethod");