@learncard/network-plugin 2.13.10 → 2.13.11

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.
@@ -15603,6 +15603,9 @@ var LCNProfileValidator = external_exports.object({
15603
15603
  role: external_exports.string().default("").optional().describe('Role of the profile: e.g. "teacher", "student".'),
15604
15604
  dob: external_exports.string().default("").optional().describe('Date of birth of the profile: e.g. "1990-01-01".'),
15605
15605
  country: external_exports.string().optional().describe("Country for the profile."),
15606
+ locale: external_exports.string().optional().describe(
15607
+ "BCP-47 language tag (e.g. 'es', 'fr', 'ar') \u2014 the user's preferred language for server-sent notifications and emails."
15608
+ ),
15606
15609
  approved: external_exports.boolean().optional().describe("Approval status for the profile.")
15607
15610
  });
15608
15611
  var LCNPublicProfileValidator = LCNProfileValidator.pick({
@@ -16148,7 +16151,10 @@ var LCNNotificationTypeEnumValidator = external_exports.enum([
16148
16151
  "GUARDIAN_APPROVAL_PENDING",
16149
16152
  "GUARDIAN_APPROVED",
16150
16153
  "GUARDIAN_REJECTED",
16151
- "APP_NOTIFICATION"
16154
+ "APP_NOTIFICATION",
16155
+ "CREDENTIAL_REVOKED",
16156
+ "CREDENTIAL_SUSPENDED",
16157
+ "CREDENTIAL_UNSUSPENDED"
16152
16158
  ]);
16153
16159
  var LCNNotificationMessageValidator = external_exports.object({
16154
16160
  title: external_exports.string().optional(),
@@ -16939,6 +16945,92 @@ var AllocateCredentialStatusInputValidator = external_exports.object({
16939
16945
  statusPurposes: external_exports.array(BitstringStatusPurposeValidator).optional(),
16940
16946
  listSize: external_exports.number().int().positive().optional()
16941
16947
  }).default({});
16948
+ var inAppMessagePlatformValidator = external_exports.enum(["ios", "android", "web"]);
16949
+ var inAppMessageVersionSourceValidator = external_exports.enum(["native", "web", "capgo"]);
16950
+ var inAppMessageVersionOpValidator = external_exports.enum(["lt", "lte", "eq", "gte", "gt"]);
16951
+ var platformPredicateValidator = external_exports.object({ platform: external_exports.array(inAppMessagePlatformValidator).nonempty() }).strict();
16952
+ var rolePredicateValidator = external_exports.object({ role: external_exports.array(external_exports.string()).nonempty() }).strict();
16953
+ var versionPredicateValidator = external_exports.object({
16954
+ version: external_exports.object({
16955
+ source: inAppMessageVersionSourceValidator,
16956
+ op: inAppMessageVersionOpValidator,
16957
+ value: external_exports.string()
16958
+ }).strict()
16959
+ }).strict();
16960
+ var inAppMessagePredicateValidator = external_exports.lazy(
16961
+ () => external_exports.union([
16962
+ platformPredicateValidator,
16963
+ rolePredicateValidator,
16964
+ versionPredicateValidator,
16965
+ external_exports.object({ all: external_exports.array(inAppMessagePredicateValidator) }).strict(),
16966
+ external_exports.object({ any: external_exports.array(inAppMessagePredicateValidator) }).strict(),
16967
+ external_exports.object({ not: inAppMessagePredicateValidator }).strict()
16968
+ ])
16969
+ );
16970
+ var inAppMessageActionStyleValidator = external_exports.enum(["primary", "secondary", "positive", "dismiss"]).default("secondary");
16971
+ var internalLinkActionValidator = external_exports.object({ type: external_exports.literal("internalLink"), path: external_exports.string() }).passthrough();
16972
+ var externalLinkActionValidator = external_exports.object({ type: external_exports.literal("externalLink"), url: external_exports.string() }).passthrough();
16973
+ var appStoreActionValidator = external_exports.object({
16974
+ type: external_exports.literal("appStore"),
16975
+ iosUrl: external_exports.string().optional(),
16976
+ androidUrl: external_exports.string().optional(),
16977
+ webUrl: external_exports.string().optional()
16978
+ }).passthrough();
16979
+ var capgoUpdateActionValidator = external_exports.object({ type: external_exports.literal("capgoUpdate") }).passthrough();
16980
+ var dismissActionValidator = external_exports.object({ type: external_exports.literal("dismiss") }).passthrough();
16981
+ var inAppMessageActionTargetValidator = external_exports.union([
16982
+ internalLinkActionValidator,
16983
+ externalLinkActionValidator,
16984
+ appStoreActionValidator,
16985
+ capgoUpdateActionValidator,
16986
+ dismissActionValidator
16987
+ ]);
16988
+ var inAppMessageActionValidator = external_exports.object({
16989
+ label: external_exports.string(),
16990
+ style: inAppMessageActionStyleValidator,
16991
+ action: inAppMessageActionTargetValidator,
16992
+ /** When true, the message closes after this action runs (default true). */
16993
+ closeOnComplete: external_exports.boolean().default(true)
16994
+ }).passthrough();
16995
+ var inAppMessageMediaValidator = external_exports.object({
16996
+ type: external_exports.enum(["youtube", "image", "gif"]),
16997
+ url: external_exports.string(),
16998
+ /** Aspect ratio hint, e.g. "16:9" or "1:1". Defaults to 16:9. */
16999
+ aspect: external_exports.string().default("16:9"),
17000
+ /** Alt text for images/gifs (accessibility). */
17001
+ alt: external_exports.string().optional()
17002
+ }).passthrough();
17003
+ var inAppMessageFrequencyValidator = external_exports.union([
17004
+ external_exports.literal("once"),
17005
+ external_exports.literal("session"),
17006
+ external_exports.literal("always"),
17007
+ external_exports.object({ everyDays: external_exports.number().positive() }).strict()
17008
+ ]).default("once");
17009
+ var inAppMessagePresentationValidator = external_exports.enum(["modal", "banner", "toast"]).default("modal");
17010
+ var inAppMessageValidator = external_exports.object({
17011
+ /** Stable identifier — used to persist dismissal / frequency state. */
17012
+ id: external_exports.string(),
17013
+ /** Higher priority wins when multiple messages match. Default 0. */
17014
+ priority: external_exports.number().default(0),
17015
+ /** When false, the message is required/blocking (no dismiss affordance). */
17016
+ dismissible: external_exports.boolean().default(true),
17017
+ frequency: inAppMessageFrequencyValidator,
17018
+ presentation: inAppMessagePresentationValidator,
17019
+ media: inAppMessageMediaValidator.optional(),
17020
+ /** Optional emoji hero glyph — rendered only when `media` is not set. */
17021
+ emoji: external_exports.string().optional(),
17022
+ title: external_exports.string(),
17023
+ body: external_exports.string().optional(),
17024
+ actions: external_exports.array(inAppMessageActionValidator).default([]),
17025
+ /** Targeting predicate tree. Omitted → matches everyone. */
17026
+ targeting: inAppMessagePredicateValidator.optional(),
17027
+ /** Allow disabling a message without removing it from the flag. */
17028
+ enabled: external_exports.boolean().default(true)
17029
+ }).passthrough();
17030
+ var inAppMessagesFlagValidator = external_exports.object({
17031
+ version: external_exports.number().default(1),
17032
+ messages: external_exports.array(inAppMessageValidator).default([])
17033
+ }).passthrough();
16942
17034
 
16943
17035
  // src/plugin.ts
16944
17036
  var import_helpers = require("@learncard/helpers");
@@ -19164,6 +19256,10 @@ async function getLearnCardNetworkPlugin(learnCard, url2, apiTokenOrOptions, opt
19164
19256
  await ensureUser();
19165
19257
  return client.activity.getMyActivities.query(options2);
19166
19258
  }, "getMyActivities"),
19259
+ getMyCredentialLifecycleStatuses: /* @__PURE__ */ __name(async (_learnCard, options2) => {
19260
+ await ensureUser();
19261
+ return client.activity.getMyCredentialLifecycleStatuses.query(options2);
19262
+ }, "getMyCredentialLifecycleStatuses"),
19167
19263
  getActivityStats: /* @__PURE__ */ __name(async (_learnCard, options2 = {}) => {
19168
19264
  await ensureUser();
19169
19265
  return client.activity.getActivityStats.query(options2);