@learncard/init 2.0.3 → 2.0.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.
package/dist/init.esm.js CHANGED
@@ -11438,6 +11438,28 @@ var LCNNotificationValidator = mod.object({
11438
11438
  data: LCNNotificationDataValidator.optional(),
11439
11439
  sent: mod.string().datetime().optional()
11440
11440
  });
11441
+ var AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX = "auth-grant:";
11442
+ var AuthGrantValidator = mod.object({
11443
+ id: mod.string(),
11444
+ name: mod.string(),
11445
+ description: mod.string().optional(),
11446
+ challenge: mod.string().startsWith(AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX).min(10, { message: "Challenge is too short" }).max(100, { message: "Challenge is too long" }),
11447
+ status: mod.enum(["revoked", "active"], {
11448
+ required_error: "Status is required",
11449
+ invalid_type_error: "Status must be either active or revoked"
11450
+ }),
11451
+ scope: mod.string(),
11452
+ createdAt: mod.string().datetime({ message: "createdAt must be a valid ISO 8601 datetime string" }),
11453
+ expiresAt: mod.string().datetime({ message: "expiresAt must be a valid ISO 8601 datetime string" }).nullish().optional()
11454
+ });
11455
+ var FlatAuthGrantValidator = mod.object({ id: mod.string() }).catchall(mod.any());
11456
+ var AuthGrantStatusValidator = mod.enum(["active", "revoked"]);
11457
+ var AuthGrantQueryValidator = mod.object({
11458
+ id: StringQuery,
11459
+ name: StringQuery,
11460
+ description: StringQuery,
11461
+ status: AuthGrantStatusValidator
11462
+ }).partial();
11441
11463
  function _typeof(o) {
11442
11464
  "@babel/helpers - typeof";
11443
11465
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
@@ -13116,6 +13138,7 @@ var require_types_cjs_development = __commonJS2({
13116
13138
  var __toCommonJS = /* @__PURE__ */ __name23((mod22) => __copyProps23(__defProp222({}, "__esModule", { value: true }), mod22), "__toCommonJS");
13117
13139
  var src_exports = {};
13118
13140
  __export2(src_exports, {
13141
+ AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX: () => AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX5,
13119
13142
  AchievementCredentialValidator: () => AchievementCredentialValidator5,
13120
13143
  AchievementCriteriaValidator: () => AchievementCriteriaValidator5,
13121
13144
  AchievementSubjectValidator: () => AchievementSubjectValidator5,
@@ -13124,6 +13147,9 @@ var require_types_cjs_development = __commonJS2({
13124
13147
  AddressValidator: () => AddressValidator5,
13125
13148
  AlignmentTargetTypeValidator: () => AlignmentTargetTypeValidator5,
13126
13149
  AlignmentValidator: () => AlignmentValidator5,
13150
+ AuthGrantQueryValidator: () => AuthGrantQueryValidator5,
13151
+ AuthGrantStatusValidator: () => AuthGrantStatusValidator5,
13152
+ AuthGrantValidator: () => AuthGrantValidator5,
13127
13153
  AutoBoostConfigValidator: () => AutoBoostConfigValidator5,
13128
13154
  BoostPermissionsQueryValidator: () => BoostPermissionsQueryValidator5,
13129
13155
  BoostPermissionsValidator: () => BoostPermissionsValidator5,
@@ -13161,6 +13187,7 @@ var require_types_cjs_development = __commonJS2({
13161
13187
  EndorsementCredentialValidator: () => EndorsementCredentialValidator5,
13162
13188
  EndorsementSubjectValidator: () => EndorsementSubjectValidator5,
13163
13189
  EvidenceValidator: () => EvidenceValidator5,
13190
+ FlatAuthGrantValidator: () => FlatAuthGrantValidator5,
13164
13191
  FullClaimHookValidator: () => FullClaimHookValidator5,
13165
13192
  GeoCoordinatesValidator: () => GeoCoordinatesValidator5,
13166
13193
  IdentifierEntryValidator: () => IdentifierEntryValidator5,
@@ -13207,6 +13234,7 @@ var require_types_cjs_development = __commonJS2({
13207
13234
  ProfileValidator: () => ProfileValidator5,
13208
13235
  ProofValidator: () => ProofValidator5,
13209
13236
  RefreshServiceValidator: () => RefreshServiceValidator5,
13237
+ RegExpValidator: () => RegExpValidator5,
13210
13238
  RelatedValidator: () => RelatedValidator5,
13211
13239
  ResultDescriptionValidator: () => ResultDescriptionValidator5,
13212
13240
  ResultStatusTypeValidator: () => ResultStatusTypeValidator5,
@@ -13215,6 +13243,7 @@ var require_types_cjs_development = __commonJS2({
13215
13243
  RubricCriterionValidator: () => RubricCriterionValidator5,
13216
13244
  SentCredentialInfoValidator: () => SentCredentialInfoValidator5,
13217
13245
  ServiceValidator: () => ServiceValidator5,
13246
+ StringQuery: () => StringQuery5,
13218
13247
  UnsignedAchievementCredentialValidator: () => UnsignedAchievementCredentialValidator5,
13219
13248
  UnsignedVCValidator: () => UnsignedVCValidator5,
13220
13249
  UnsignedVPValidator: () => UnsignedVPValidator5,
@@ -17409,6 +17438,28 @@ var require_types_cjs_development = __commonJS2({
17409
17438
  data: LCNNotificationDataValidator5.optional(),
17410
17439
  sent: mod5.string().datetime().optional()
17411
17440
  });
17441
+ var AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX5 = "auth-grant:";
17442
+ var AuthGrantValidator5 = mod5.object({
17443
+ id: mod5.string(),
17444
+ name: mod5.string(),
17445
+ description: mod5.string().optional(),
17446
+ challenge: mod5.string().startsWith(AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX5).min(10, { message: "Challenge is too short" }).max(100, { message: "Challenge is too long" }),
17447
+ status: mod5.enum(["revoked", "active"], {
17448
+ required_error: "Status is required",
17449
+ invalid_type_error: "Status must be either active or revoked"
17450
+ }),
17451
+ scope: mod5.string(),
17452
+ createdAt: mod5.string().datetime({ message: "createdAt must be a valid ISO 8601 datetime string" }),
17453
+ expiresAt: mod5.string().datetime({ message: "expiresAt must be a valid ISO 8601 datetime string" }).nullish().optional()
17454
+ });
17455
+ var FlatAuthGrantValidator5 = mod5.object({ id: mod5.string() }).catchall(mod5.any());
17456
+ var AuthGrantStatusValidator5 = mod5.enum(["active", "revoked"]);
17457
+ var AuthGrantQueryValidator5 = mod5.object({
17458
+ id: StringQuery5,
17459
+ name: StringQuery5,
17460
+ description: StringQuery5,
17461
+ status: AuthGrantStatusValidator5
17462
+ }).partial();
17412
17463
  }
17413
17464
  });
17414
17465
  var require_dist = __commonJS2({
@@ -25445,6 +25496,7 @@ var require_types_cjs_development2 = __commonJS22({
25445
25496
  var __toCommonJS = /* @__PURE__ */ __name32((mod222) => __copyProps222(__defProp222({}, "__esModule", { value: true }), mod222), "__toCommonJS");
25446
25497
  var src_exports = {};
25447
25498
  __export2(src_exports, {
25499
+ AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX: () => AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX22,
25448
25500
  AchievementCredentialValidator: () => AchievementCredentialValidator22,
25449
25501
  AchievementCriteriaValidator: () => AchievementCriteriaValidator22,
25450
25502
  AchievementSubjectValidator: () => AchievementSubjectValidator22,
@@ -25453,6 +25505,9 @@ var require_types_cjs_development2 = __commonJS22({
25453
25505
  AddressValidator: () => AddressValidator22,
25454
25506
  AlignmentTargetTypeValidator: () => AlignmentTargetTypeValidator22,
25455
25507
  AlignmentValidator: () => AlignmentValidator22,
25508
+ AuthGrantQueryValidator: () => AuthGrantQueryValidator22,
25509
+ AuthGrantStatusValidator: () => AuthGrantStatusValidator22,
25510
+ AuthGrantValidator: () => AuthGrantValidator22,
25456
25511
  AutoBoostConfigValidator: () => AutoBoostConfigValidator22,
25457
25512
  BoostPermissionsQueryValidator: () => BoostPermissionsQueryValidator22,
25458
25513
  BoostPermissionsValidator: () => BoostPermissionsValidator22,
@@ -25490,6 +25545,7 @@ var require_types_cjs_development2 = __commonJS22({
25490
25545
  EndorsementCredentialValidator: () => EndorsementCredentialValidator22,
25491
25546
  EndorsementSubjectValidator: () => EndorsementSubjectValidator22,
25492
25547
  EvidenceValidator: () => EvidenceValidator22,
25548
+ FlatAuthGrantValidator: () => FlatAuthGrantValidator22,
25493
25549
  FullClaimHookValidator: () => FullClaimHookValidator22,
25494
25550
  GeoCoordinatesValidator: () => GeoCoordinatesValidator22,
25495
25551
  IdentifierEntryValidator: () => IdentifierEntryValidator22,
@@ -25536,6 +25592,7 @@ var require_types_cjs_development2 = __commonJS22({
25536
25592
  ProfileValidator: () => ProfileValidator22,
25537
25593
  ProofValidator: () => ProofValidator22,
25538
25594
  RefreshServiceValidator: () => RefreshServiceValidator22,
25595
+ RegExpValidator: () => RegExpValidator22,
25539
25596
  RelatedValidator: () => RelatedValidator22,
25540
25597
  ResultDescriptionValidator: () => ResultDescriptionValidator22,
25541
25598
  ResultStatusTypeValidator: () => ResultStatusTypeValidator22,
@@ -25544,6 +25601,7 @@ var require_types_cjs_development2 = __commonJS22({
25544
25601
  RubricCriterionValidator: () => RubricCriterionValidator22,
25545
25602
  SentCredentialInfoValidator: () => SentCredentialInfoValidator22,
25546
25603
  ServiceValidator: () => ServiceValidator22,
25604
+ StringQuery: () => StringQuery22,
25547
25605
  UnsignedAchievementCredentialValidator: () => UnsignedAchievementCredentialValidator22,
25548
25606
  UnsignedVCValidator: () => UnsignedVCValidator22,
25549
25607
  UnsignedVPValidator: () => UnsignedVPValidator22,
@@ -29738,6 +29796,28 @@ var require_types_cjs_development2 = __commonJS22({
29738
29796
  data: LCNNotificationDataValidator22.optional(),
29739
29797
  sent: mod22.string().datetime().optional()
29740
29798
  });
29799
+ var AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX22 = "auth-grant:";
29800
+ var AuthGrantValidator22 = mod22.object({
29801
+ id: mod22.string(),
29802
+ name: mod22.string(),
29803
+ description: mod22.string().optional(),
29804
+ challenge: mod22.string().startsWith(AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX22).min(10, { message: "Challenge is too short" }).max(100, { message: "Challenge is too long" }),
29805
+ status: mod22.enum(["revoked", "active"], {
29806
+ required_error: "Status is required",
29807
+ invalid_type_error: "Status must be either active or revoked"
29808
+ }),
29809
+ scope: mod22.string(),
29810
+ createdAt: mod22.string().datetime({ message: "createdAt must be a valid ISO 8601 datetime string" }),
29811
+ expiresAt: mod22.string().datetime({ message: "expiresAt must be a valid ISO 8601 datetime string" }).nullish().optional()
29812
+ });
29813
+ var FlatAuthGrantValidator22 = mod22.object({ id: mod22.string() }).catchall(mod22.any());
29814
+ var AuthGrantStatusValidator22 = mod22.enum(["active", "revoked"]);
29815
+ var AuthGrantQueryValidator22 = mod22.object({
29816
+ id: StringQuery22,
29817
+ name: StringQuery22,
29818
+ description: StringQuery22,
29819
+ status: AuthGrantStatusValidator22
29820
+ }).partial();
29741
29821
  }
29742
29822
  });
29743
29823
  var require_dist2 = __commonJS22({
@@ -33908,6 +33988,28 @@ var LCNNotificationValidator2 = mod2.object({
33908
33988
  data: LCNNotificationDataValidator2.optional(),
33909
33989
  sent: mod2.string().datetime().optional()
33910
33990
  });
33991
+ var AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX2 = "auth-grant:";
33992
+ var AuthGrantValidator2 = mod2.object({
33993
+ id: mod2.string(),
33994
+ name: mod2.string(),
33995
+ description: mod2.string().optional(),
33996
+ challenge: mod2.string().startsWith(AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX2).min(10, { message: "Challenge is too short" }).max(100, { message: "Challenge is too long" }),
33997
+ status: mod2.enum(["revoked", "active"], {
33998
+ required_error: "Status is required",
33999
+ invalid_type_error: "Status must be either active or revoked"
34000
+ }),
34001
+ scope: mod2.string(),
34002
+ createdAt: mod2.string().datetime({ message: "createdAt must be a valid ISO 8601 datetime string" }),
34003
+ expiresAt: mod2.string().datetime({ message: "expiresAt must be a valid ISO 8601 datetime string" }).nullish().optional()
34004
+ });
34005
+ var FlatAuthGrantValidator2 = mod2.object({ id: mod2.string() }).catchall(mod2.any());
34006
+ var AuthGrantStatusValidator2 = mod2.enum(["active", "revoked"]);
34007
+ var AuthGrantQueryValidator2 = mod2.object({
34008
+ id: StringQuery2,
34009
+ name: StringQuery2,
34010
+ description: StringQuery2,
34011
+ status: AuthGrantStatusValidator2
34012
+ }).partial();
33911
34013
  var import_json_stringify_deterministic = __toESM3(require_lib());
33912
34014
  var e2 = { "SHA-1": { outputLength: 20, blockSize: 64 }, "SHA-256": { outputLength: 32, blockSize: 64 }, "SHA-384": { outputLength: 48, blockSize: 128 }, "SHA-512": { outputLength: 64, blockSize: 128 } };
33913
34015
  function t2(t22, a3, o, i2, s3 = "SHA-256") {
@@ -71143,6 +71245,7 @@ var require_helpers_cjs_development = __commonJS6({
71143
71245
  var __toCommonJS2 = /* @__PURE__ */ __name222((mod222) => __copyProps222(__defProp2222({}, "__esModule", { value: true }), mod222), "__toCommonJS");
71144
71246
  var src_exports2 = {};
71145
71247
  __export22(src_exports2, {
71248
+ AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX: () => AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX32,
71146
71249
  AchievementCredentialValidator: () => AchievementCredentialValidator22,
71147
71250
  AchievementCriteriaValidator: () => AchievementCriteriaValidator22,
71148
71251
  AchievementSubjectValidator: () => AchievementSubjectValidator22,
@@ -71151,6 +71254,9 @@ var require_helpers_cjs_development = __commonJS6({
71151
71254
  AddressValidator: () => AddressValidator22,
71152
71255
  AlignmentTargetTypeValidator: () => AlignmentTargetTypeValidator22,
71153
71256
  AlignmentValidator: () => AlignmentValidator22,
71257
+ AuthGrantQueryValidator: () => AuthGrantQueryValidator22,
71258
+ AuthGrantStatusValidator: () => AuthGrantStatusValidator22,
71259
+ AuthGrantValidator: () => AuthGrantValidator22,
71154
71260
  AutoBoostConfigValidator: () => AutoBoostConfigValidator22,
71155
71261
  BoostPermissionsQueryValidator: () => BoostPermissionsQueryValidator22,
71156
71262
  BoostPermissionsValidator: () => BoostPermissionsValidator22,
@@ -71188,6 +71294,7 @@ var require_helpers_cjs_development = __commonJS6({
71188
71294
  EndorsementCredentialValidator: () => EndorsementCredentialValidator22,
71189
71295
  EndorsementSubjectValidator: () => EndorsementSubjectValidator22,
71190
71296
  EvidenceValidator: () => EvidenceValidator22,
71297
+ FlatAuthGrantValidator: () => FlatAuthGrantValidator22,
71191
71298
  FullClaimHookValidator: () => FullClaimHookValidator22,
71192
71299
  GeoCoordinatesValidator: () => GeoCoordinatesValidator22,
71193
71300
  IdentifierEntryValidator: () => IdentifierEntryValidator22,
@@ -71234,6 +71341,7 @@ var require_helpers_cjs_development = __commonJS6({
71234
71341
  ProfileValidator: () => ProfileValidator22,
71235
71342
  ProofValidator: () => ProofValidator22,
71236
71343
  RefreshServiceValidator: () => RefreshServiceValidator22,
71344
+ RegExpValidator: () => RegExpValidator22,
71237
71345
  RelatedValidator: () => RelatedValidator22,
71238
71346
  ResultDescriptionValidator: () => ResultDescriptionValidator22,
71239
71347
  ResultStatusTypeValidator: () => ResultStatusTypeValidator22,
@@ -71242,6 +71350,7 @@ var require_helpers_cjs_development = __commonJS6({
71242
71350
  RubricCriterionValidator: () => RubricCriterionValidator22,
71243
71351
  SentCredentialInfoValidator: () => SentCredentialInfoValidator22,
71244
71352
  ServiceValidator: () => ServiceValidator22,
71353
+ StringQuery: () => StringQuery22,
71245
71354
  UnsignedAchievementCredentialValidator: () => UnsignedAchievementCredentialValidator22,
71246
71355
  UnsignedVCValidator: () => UnsignedVCValidator22,
71247
71356
  UnsignedVPValidator: () => UnsignedVPValidator22,
@@ -75451,6 +75560,28 @@ var require_helpers_cjs_development = __commonJS6({
75451
75560
  data: LCNNotificationDataValidator22.optional(),
75452
75561
  sent: mod22.string().datetime().optional()
75453
75562
  });
75563
+ var AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX32 = "auth-grant:";
75564
+ var AuthGrantValidator22 = mod22.object({
75565
+ id: mod22.string(),
75566
+ name: mod22.string(),
75567
+ description: mod22.string().optional(),
75568
+ challenge: mod22.string().startsWith(AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX32).min(10, { message: "Challenge is too short" }).max(100, { message: "Challenge is too long" }),
75569
+ status: mod22.enum(["revoked", "active"], {
75570
+ required_error: "Status is required",
75571
+ invalid_type_error: "Status must be either active or revoked"
75572
+ }),
75573
+ scope: mod22.string(),
75574
+ createdAt: mod22.string().datetime({ message: "createdAt must be a valid ISO 8601 datetime string" }),
75575
+ expiresAt: mod22.string().datetime({ message: "expiresAt must be a valid ISO 8601 datetime string" }).nullish().optional()
75576
+ });
75577
+ var FlatAuthGrantValidator22 = mod22.object({ id: mod22.string() }).catchall(mod22.any());
75578
+ var AuthGrantStatusValidator22 = mod22.enum(["active", "revoked"]);
75579
+ var AuthGrantQueryValidator22 = mod22.object({
75580
+ id: StringQuery22,
75581
+ name: StringQuery22,
75582
+ description: StringQuery22,
75583
+ status: AuthGrantStatusValidator22
75584
+ }).partial();
75454
75585
  }
75455
75586
  });
75456
75587
  var require_dist22 = __commonJS23({
@@ -79744,6 +79875,28 @@ var LCNNotificationValidator3 = mod3.object({
79744
79875
  data: LCNNotificationDataValidator3.optional(),
79745
79876
  sent: mod3.string().datetime().optional()
79746
79877
  });
79878
+ var AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX3 = "auth-grant:";
79879
+ var AuthGrantValidator3 = mod3.object({
79880
+ id: mod3.string(),
79881
+ name: mod3.string(),
79882
+ description: mod3.string().optional(),
79883
+ challenge: mod3.string().startsWith(AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX3).min(10, { message: "Challenge is too short" }).max(100, { message: "Challenge is too long" }),
79884
+ status: mod3.enum(["revoked", "active"], {
79885
+ required_error: "Status is required",
79886
+ invalid_type_error: "Status must be either active or revoked"
79887
+ }),
79888
+ scope: mod3.string(),
79889
+ createdAt: mod3.string().datetime({ message: "createdAt must be a valid ISO 8601 datetime string" }),
79890
+ expiresAt: mod3.string().datetime({ message: "expiresAt must be a valid ISO 8601 datetime string" }).nullish().optional()
79891
+ });
79892
+ var FlatAuthGrantValidator3 = mod3.object({ id: mod3.string() }).catchall(mod3.any());
79893
+ var AuthGrantStatusValidator3 = mod3.enum(["active", "revoked"]);
79894
+ var AuthGrantQueryValidator3 = mod3.object({
79895
+ id: StringQuery3,
79896
+ name: StringQuery3,
79897
+ description: StringQuery3,
79898
+ status: AuthGrantStatusValidator3
79899
+ }).partial();
79747
79900
  var getLearnCardNetworkPlugin = /* @__PURE__ */ __name14(async (learnCard, url) => {
79748
79901
  let did = learnCard.id.did();
79749
79902
  learnCard?.debug?.("Adding LearnCardNetwork Plugin");
@@ -80432,6 +80585,14 @@ var getLearnCardNetworkPlugin = /* @__PURE__ */ __name14(async (learnCard, url)
80432
80585
  verifyConsent: async (_learnCard, uri, profileId) => {
80433
80586
  return client.contracts.verifyConsent.query({ uri, profileId });
80434
80587
  },
80588
+ syncCredentialsToContract: async (_learnCard, termsUri, categories) => {
80589
+ if (!userData)
80590
+ throw new Error("Please make an account first!");
80591
+ return client.contracts.syncCredentialsToContract.mutate({
80592
+ termsUri,
80593
+ categories
80594
+ });
80595
+ },
80435
80596
  addDidMetadata: async (_learnCard, metadata) => {
80436
80597
  if (!userData)
80437
80598
  throw new Error("Please make an account first!");
@@ -80481,6 +80642,58 @@ var getLearnCardNetworkPlugin = /* @__PURE__ */ __name14(async (learnCard, url)
80481
80642
  throw new Error("Please make an account first!");
80482
80643
  return client.claimHook.deleteClaimHook.mutate({ id: id2 });
80483
80644
  },
80645
+ addAuthGrant: async (_learnCard, authGrant) => {
80646
+ if (!userData)
80647
+ throw new Error("Please make an account first!");
80648
+ return client.authGrants.addAuthGrant.mutate(authGrant);
80649
+ },
80650
+ revokeAuthGrant: async (_learnCard, id2) => {
80651
+ if (!userData)
80652
+ throw new Error("Please make an account first!");
80653
+ return client.authGrants.revokeAuthGrant.mutate({ id: id2 });
80654
+ },
80655
+ deleteAuthGrant: async (_learnCard, id2) => {
80656
+ if (!userData)
80657
+ throw new Error("Please make an account first!");
80658
+ return client.authGrants.deleteAuthGrant.mutate({ id: id2 });
80659
+ },
80660
+ updateAuthGrant: async (_learnCard, id2, updates) => {
80661
+ if (!userData)
80662
+ throw new Error("Please make an account first!");
80663
+ return client.authGrants.updateAuthGrant.mutate({ id: id2, updates });
80664
+ },
80665
+ getAuthGrant: async (_learnCard, id2) => {
80666
+ if (!userData)
80667
+ throw new Error("Please make an account first!");
80668
+ return client.authGrants.getAuthGrant.query({ id: id2 });
80669
+ },
80670
+ getAuthGrants: async (_learnCard, options) => {
80671
+ if (!userData)
80672
+ throw new Error("Please make an account first!");
80673
+ return client.authGrants.getAuthGrants.query(options);
80674
+ },
80675
+ getAPITokenForAuthGrant: async (_learnCard, id2) => {
80676
+ if (!userData)
80677
+ throw new Error("Please make an account first!");
80678
+ const authGrant = await client.authGrants.getAuthGrant.query({ id: id2 });
80679
+ if (!authGrant)
80680
+ throw new Error("Auth grant not found");
80681
+ if (authGrant.status !== "active")
80682
+ throw new Error("Auth grant is not active");
80683
+ if (!authGrant.challenge)
80684
+ throw new Error("Auth grant has no challenge");
80685
+ if (!authGrant.scope)
80686
+ throw new Error("Auth grant has no scope");
80687
+ if (authGrant.expiresAt && new Date(authGrant.expiresAt) < new Date())
80688
+ throw new Error("Auth grant is expired");
80689
+ const apiToken = await _learnCard.invoke.getDidAuthVp({
80690
+ challenge: authGrant.challenge,
80691
+ proofFormat: "jwt"
80692
+ });
80693
+ if (!apiToken)
80694
+ throw new Error("Failed to get API Token for auth grant");
80695
+ return apiToken;
80696
+ },
80484
80697
  resolveFromLCN: async (_learnCard, uri) => {
80485
80698
  const result = await client.storage.resolve.query({ uri });
80486
80699
  return UnsignedVCValidator3.or(VCValidator3).or(VPValidator3).or(JWEValidator3).or(ConsentFlowContractValidator3).or(ConsentFlowTermsValidator3).parseAsync(result);
@@ -84896,6 +85109,28 @@ var LCNNotificationValidator4 = mod4.object({
84896
85109
  data: LCNNotificationDataValidator4.optional(),
84897
85110
  sent: mod4.string().datetime().optional()
84898
85111
  });
85112
+ var AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX4 = "auth-grant:";
85113
+ var AuthGrantValidator4 = mod4.object({
85114
+ id: mod4.string(),
85115
+ name: mod4.string(),
85116
+ description: mod4.string().optional(),
85117
+ challenge: mod4.string().startsWith(AUTH_GRANT_AUDIENCE_DOMAIN_PREFIX4).min(10, { message: "Challenge is too short" }).max(100, { message: "Challenge is too long" }),
85118
+ status: mod4.enum(["revoked", "active"], {
85119
+ required_error: "Status is required",
85120
+ invalid_type_error: "Status must be either active or revoked"
85121
+ }),
85122
+ scope: mod4.string(),
85123
+ createdAt: mod4.string().datetime({ message: "createdAt must be a valid ISO 8601 datetime string" }),
85124
+ expiresAt: mod4.string().datetime({ message: "expiresAt must be a valid ISO 8601 datetime string" }).nullish().optional()
85125
+ });
85126
+ var FlatAuthGrantValidator4 = mod4.object({ id: mod4.string() }).catchall(mod4.any());
85127
+ var AuthGrantStatusValidator4 = mod4.enum(["active", "revoked"]);
85128
+ var AuthGrantQueryValidator4 = mod4.object({
85129
+ id: StringQuery4,
85130
+ name: StringQuery4,
85131
+ description: StringQuery4,
85132
+ status: AuthGrantStatusValidator4
85133
+ }).partial();
84899
85134
  var post = /* @__PURE__ */ __name16(async (url, data) => fetch(url, {
84900
85135
  method: "POST",
84901
85136
  headers: { "Content-Type": "application/json" },