@learncard/learn-cloud-plugin 2.3.33 → 2.3.35

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.
@@ -21181,7 +21181,7 @@ var ProfileValidator = external_exports.string().or(
21181
21181
  }).catchall(external_exports.any())
21182
21182
  );
21183
21183
  var CredentialSubjectValidator = external_exports.object({ id: external_exports.string().optional() }).catchall(external_exports.any());
21184
- var CredentialStatusValidator = external_exports.object({ type: external_exports.string(), id: external_exports.string() }).catchall(external_exports.any());
21184
+ var CredentialStatusValidator = external_exports.object({ type: external_exports.string(), id: external_exports.string().optional() }).catchall(external_exports.any());
21185
21185
  var CredentialSchemaValidator = external_exports.object({ id: external_exports.string(), type: external_exports.string() }).catchall(external_exports.any());
21186
21186
  var RefreshServiceValidator = external_exports.object({ id: external_exports.string().optional(), type: external_exports.string() }).catchall(external_exports.any());
21187
21187
  var TermsOfUseValidator = external_exports.object({ type: external_exports.string(), id: external_exports.string().optional() }).catchall(external_exports.any());
@@ -21582,8 +21582,17 @@ var StatusCheckEntryValidator = external_exports.object({
21582
21582
  statusListIndex: external_exports.string().optional()
21583
21583
  });
21584
21584
  var VerificationCheckValidator = external_exports.object({
21585
+ /**
21586
+ * Checks that completed successfully. This does not imply that warnings can be ignored.
21587
+ */
21585
21588
  checks: external_exports.string().array(),
21589
+ /**
21590
+ * Security-relevant conditions that did not prevent the requested cryptographic checks from
21591
+ * completing. In particular, a non-DID issuer warning means the signature is valid but the
21592
+ * named URL issuer's authorization of that signing key was not established.
21593
+ */
21586
21594
  warnings: external_exports.string().array(),
21595
+ /** Verification failures that prevented one or more requested checks from succeeding. */
21587
21596
  errors: external_exports.string().array(),
21588
21597
  /**
21589
21598
  * Per-entry results for the `credentialStatus` check, populated
@@ -21712,6 +21721,9 @@ var LCNProfileValidator = external_exports.object({
21712
21721
  role: external_exports.string().default("").optional().describe('Role of the profile: e.g. "teacher", "student".'),
21713
21722
  dob: external_exports.string().default("").optional().describe('Date of birth of the profile: e.g. "1990-01-01".'),
21714
21723
  country: external_exports.string().optional().describe("Country for the profile."),
21724
+ locale: external_exports.string().optional().describe(
21725
+ "BCP-47 language tag (e.g. 'es', 'fr', 'ar') \u2014 the user's preferred language for server-sent notifications and emails."
21726
+ ),
21715
21727
  approved: external_exports.boolean().optional().describe("Approval status for the profile.")
21716
21728
  });
21717
21729
  var LCNPublicProfileValidator = LCNProfileValidator.pick({
@@ -22257,7 +22269,10 @@ var LCNNotificationTypeEnumValidator = external_exports.enum([
22257
22269
  "GUARDIAN_APPROVAL_PENDING",
22258
22270
  "GUARDIAN_APPROVED",
22259
22271
  "GUARDIAN_REJECTED",
22260
- "APP_NOTIFICATION"
22272
+ "APP_NOTIFICATION",
22273
+ "CREDENTIAL_REVOKED",
22274
+ "CREDENTIAL_SUSPENDED",
22275
+ "CREDENTIAL_UNSUSPENDED"
22261
22276
  ]);
22262
22277
  var LCNNotificationMessageValidator = external_exports.object({
22263
22278
  title: external_exports.string().optional(),
@@ -23032,7 +23047,7 @@ var BitstringStatusListEntryValidator = external_exports.object({
23032
23047
  id: external_exports.string().optional(),
23033
23048
  type: external_exports.literal("BitstringStatusListEntry"),
23034
23049
  statusPurpose: BitstringStatusPurposeValidator,
23035
- statusListIndex: external_exports.string(),
23050
+ statusListIndex: external_exports.string().or(external_exports.number().int().nonnegative()),
23036
23051
  statusListCredential: external_exports.string()
23037
23052
  });
23038
23053
  var AllocatedBitstringStatusListEntryValidator = BitstringStatusListEntryValidator.extend({
@@ -23048,6 +23063,92 @@ var AllocateCredentialStatusInputValidator = external_exports.object({
23048
23063
  statusPurposes: external_exports.array(BitstringStatusPurposeValidator).optional(),
23049
23064
  listSize: external_exports.number().int().positive().optional()
23050
23065
  }).default({});
23066
+ var inAppMessagePlatformValidator = external_exports.enum(["ios", "android", "web"]);
23067
+ var inAppMessageVersionSourceValidator = external_exports.enum(["native", "web", "capgo"]);
23068
+ var inAppMessageVersionOpValidator = external_exports.enum(["lt", "lte", "eq", "gte", "gt"]);
23069
+ var platformPredicateValidator = external_exports.object({ platform: external_exports.array(inAppMessagePlatformValidator).nonempty() }).strict();
23070
+ var rolePredicateValidator = external_exports.object({ role: external_exports.array(external_exports.string()).nonempty() }).strict();
23071
+ var versionPredicateValidator = external_exports.object({
23072
+ version: external_exports.object({
23073
+ source: inAppMessageVersionSourceValidator,
23074
+ op: inAppMessageVersionOpValidator,
23075
+ value: external_exports.string()
23076
+ }).strict()
23077
+ }).strict();
23078
+ var inAppMessagePredicateValidator = external_exports.lazy(
23079
+ () => external_exports.union([
23080
+ platformPredicateValidator,
23081
+ rolePredicateValidator,
23082
+ versionPredicateValidator,
23083
+ external_exports.object({ all: external_exports.array(inAppMessagePredicateValidator) }).strict(),
23084
+ external_exports.object({ any: external_exports.array(inAppMessagePredicateValidator) }).strict(),
23085
+ external_exports.object({ not: inAppMessagePredicateValidator }).strict()
23086
+ ])
23087
+ );
23088
+ var inAppMessageActionStyleValidator = external_exports.enum(["primary", "secondary", "positive", "dismiss"]).default("secondary");
23089
+ var internalLinkActionValidator = external_exports.object({ type: external_exports.literal("internalLink"), path: external_exports.string() }).passthrough();
23090
+ var externalLinkActionValidator = external_exports.object({ type: external_exports.literal("externalLink"), url: external_exports.string() }).passthrough();
23091
+ var appStoreActionValidator = external_exports.object({
23092
+ type: external_exports.literal("appStore"),
23093
+ iosUrl: external_exports.string().optional(),
23094
+ androidUrl: external_exports.string().optional(),
23095
+ webUrl: external_exports.string().optional()
23096
+ }).passthrough();
23097
+ var capgoUpdateActionValidator = external_exports.object({ type: external_exports.literal("capgoUpdate") }).passthrough();
23098
+ var dismissActionValidator = external_exports.object({ type: external_exports.literal("dismiss") }).passthrough();
23099
+ var inAppMessageActionTargetValidator = external_exports.union([
23100
+ internalLinkActionValidator,
23101
+ externalLinkActionValidator,
23102
+ appStoreActionValidator,
23103
+ capgoUpdateActionValidator,
23104
+ dismissActionValidator
23105
+ ]);
23106
+ var inAppMessageActionValidator = external_exports.object({
23107
+ label: external_exports.string(),
23108
+ style: inAppMessageActionStyleValidator,
23109
+ action: inAppMessageActionTargetValidator,
23110
+ /** When true, the message closes after this action runs (default true). */
23111
+ closeOnComplete: external_exports.boolean().default(true)
23112
+ }).passthrough();
23113
+ var inAppMessageMediaValidator = external_exports.object({
23114
+ type: external_exports.enum(["youtube", "image", "gif"]),
23115
+ url: external_exports.string(),
23116
+ /** Aspect ratio hint, e.g. "16:9" or "1:1". Defaults to 16:9. */
23117
+ aspect: external_exports.string().default("16:9"),
23118
+ /** Alt text for images/gifs (accessibility). */
23119
+ alt: external_exports.string().optional()
23120
+ }).passthrough();
23121
+ var inAppMessageFrequencyValidator = external_exports.union([
23122
+ external_exports.literal("once"),
23123
+ external_exports.literal("session"),
23124
+ external_exports.literal("always"),
23125
+ external_exports.object({ everyDays: external_exports.number().positive() }).strict()
23126
+ ]).default("once");
23127
+ var inAppMessagePresentationValidator = external_exports.enum(["modal", "banner", "toast"]).default("modal");
23128
+ var inAppMessageValidator = external_exports.object({
23129
+ /** Stable identifier — used to persist dismissal / frequency state. */
23130
+ id: external_exports.string(),
23131
+ /** Higher priority wins when multiple messages match. Default 0. */
23132
+ priority: external_exports.number().default(0),
23133
+ /** When false, the message is required/blocking (no dismiss affordance). */
23134
+ dismissible: external_exports.boolean().default(true),
23135
+ frequency: inAppMessageFrequencyValidator,
23136
+ presentation: inAppMessagePresentationValidator,
23137
+ media: inAppMessageMediaValidator.optional(),
23138
+ /** Optional emoji hero glyph — rendered only when `media` is not set. */
23139
+ emoji: external_exports.string().optional(),
23140
+ title: external_exports.string(),
23141
+ body: external_exports.string().optional(),
23142
+ actions: external_exports.array(inAppMessageActionValidator).default([]),
23143
+ /** Targeting predicate tree. Omitted → matches everyone. */
23144
+ targeting: inAppMessagePredicateValidator.optional(),
23145
+ /** Allow disabling a message without removing it from the flag. */
23146
+ enabled: external_exports.boolean().default(true)
23147
+ }).passthrough();
23148
+ var inAppMessagesFlagValidator = external_exports.object({
23149
+ version: external_exports.number().default(1),
23150
+ messages: external_exports.array(inAppMessageValidator).default([])
23151
+ }).passthrough();
23051
23152
 
23052
23153
  // src/helpers.ts
23053
23154
  var import_json_stringify_deterministic = __toESM(require_lib(), 1);