@learncard/types 5.8.11 → 5.9.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.
@@ -27,6 +27,7 @@ __export(src_exports, {
27
27
  AchievementSubjectValidator: () => AchievementSubjectValidator,
28
28
  AchievementTypeValidator: () => AchievementTypeValidator,
29
29
  AchievementValidator: () => AchievementValidator,
30
+ AddTagInputValidator: () => AddTagInputValidator,
30
31
  AddressValidator: () => AddressValidator,
31
32
  AlignmentTargetTypeValidator: () => AlignmentTargetTypeValidator,
32
33
  AlignmentValidator: () => AlignmentValidator,
@@ -66,14 +67,22 @@ __export(src_exports, {
66
67
  ContactMethodVerificationValidator: () => ContactMethodVerificationValidator,
67
68
  ContextValidator: () => ContextValidator,
68
69
  ContractCredentialValidator: () => ContractCredentialValidator,
70
+ CountSkillsInputValidator: () => CountSkillsInputValidator,
71
+ CountSkillsResultValidator: () => CountSkillsResultValidator,
69
72
  CreateContactMethodSessionResponseValidator: () => CreateContactMethodSessionResponseValidator,
70
73
  CreateContactMethodSessionValidator: () => CreateContactMethodSessionValidator,
74
+ CreateManagedFrameworkBatchInputValidator: () => CreateManagedFrameworkBatchInputValidator,
75
+ CreateManagedFrameworkInputValidator: () => CreateManagedFrameworkInputValidator,
76
+ CreateSkillInputValidator: () => CreateSkillInputValidator,
77
+ CreateSkillsBatchInputValidator: () => CreateSkillsBatchInputValidator,
71
78
  CredentialInfoValidator: () => CredentialInfoValidator,
72
79
  CredentialRecordValidator: () => CredentialRecordValidator,
73
80
  CredentialSchemaValidator: () => CredentialSchemaValidator,
74
81
  CredentialStatusValidator: () => CredentialStatusValidator,
75
82
  CredentialSubjectValidator: () => CredentialSubjectValidator,
76
83
  CriteriaValidator: () => CriteriaValidator,
84
+ DeleteFrameworkInputValidator: () => DeleteFrameworkInputValidator,
85
+ DeleteSkillInputValidator: () => DeleteSkillInputValidator,
77
86
  DidDocumentValidator: () => DidDocumentValidator,
78
87
  EncryptedCredentialRecordValidator: () => EncryptedCredentialRecordValidator,
79
88
  EncryptedRecordValidator: () => EncryptedRecordValidator,
@@ -81,8 +90,13 @@ __export(src_exports, {
81
90
  EndorsementSubjectValidator: () => EndorsementSubjectValidator,
82
91
  EvidenceValidator: () => EvidenceValidator,
83
92
  FlatAuthGrantValidator: () => FlatAuthGrantValidator,
93
+ FrameworkWithSkillsValidator: () => FrameworkWithSkillsValidator,
84
94
  FullClaimHookValidator: () => FullClaimHookValidator,
85
95
  GeoCoordinatesValidator: () => GeoCoordinatesValidator,
96
+ GetFullSkillTreeInputValidator: () => GetFullSkillTreeInputValidator,
97
+ GetFullSkillTreeResultValidator: () => GetFullSkillTreeResultValidator,
98
+ GetSkillPathInputValidator: () => GetSkillPathInputValidator,
99
+ GetSkillPathResultValidator: () => GetSkillPathResultValidator,
86
100
  IdentifierEntryValidator: () => IdentifierEntryValidator,
87
101
  IdentifierTypeValidator: () => IdentifierTypeValidator,
88
102
  IdentityObjectValidator: () => IdentityObjectValidator,
@@ -121,6 +135,7 @@ __export(src_exports, {
121
135
  LCNProfileValidator: () => LCNProfileValidator,
122
136
  LCNSigningAuthorityForUserValidator: () => LCNSigningAuthorityForUserValidator,
123
137
  LCNSigningAuthorityValidator: () => LCNSigningAuthorityValidator,
138
+ LinkProviderFrameworkInputValidator: () => LinkProviderFrameworkInputValidator,
124
139
  PaginatedBoostRecipientsValidator: () => PaginatedBoostRecipientsValidator,
125
140
  PaginatedBoostRecipientsWithChildrenValidator: () => PaginatedBoostRecipientsWithChildrenValidator,
126
141
  PaginatedBoostsValidator: () => PaginatedBoostsValidator,
@@ -138,6 +153,8 @@ __export(src_exports, {
138
153
  PaginatedLCNProfileManagersValidator: () => PaginatedLCNProfileManagersValidator,
139
154
  PaginatedLCNProfilesAndManagersValidator: () => PaginatedLCNProfilesAndManagersValidator,
140
155
  PaginatedLCNProfilesValidator: () => PaginatedLCNProfilesValidator,
156
+ PaginatedSkillFrameworksValidator: () => PaginatedSkillFrameworksValidator,
157
+ PaginatedSkillTreeValidator: () => PaginatedSkillTreeValidator,
141
158
  PaginationOptionsValidator: () => PaginationOptionsValidator,
142
159
  PaginationResponseValidator: () => PaginationResponseValidator,
143
160
  ProfileValidator: () => ProfileValidator,
@@ -145,6 +162,8 @@ __export(src_exports, {
145
162
  RefreshServiceValidator: () => RefreshServiceValidator,
146
163
  RegExpValidator: () => RegExpValidator,
147
164
  RelatedValidator: () => RelatedValidator,
165
+ ReplaceSkillFrameworkSkillsInputValidator: () => ReplaceSkillFrameworkSkillsInputValidator,
166
+ ReplaceSkillFrameworkSkillsResultValidator: () => ReplaceSkillFrameworkSkillsResultValidator,
148
167
  ResultDescriptionValidator: () => ResultDescriptionValidator,
149
168
  ResultStatusTypeValidator: () => ResultStatusTypeValidator,
150
169
  ResultTypeValidator: () => ResultTypeValidator,
@@ -153,11 +172,27 @@ __export(src_exports, {
153
172
  SentCredentialInfoValidator: () => SentCredentialInfoValidator,
154
173
  ServiceValidator: () => ServiceValidator,
155
174
  SetPrimaryContactMethodValidator: () => SetPrimaryContactMethodValidator,
175
+ SkillDeletionStrategyValidator: () => SkillDeletionStrategyValidator,
176
+ SkillFrameworkAdminInputValidator: () => SkillFrameworkAdminInputValidator,
177
+ SkillFrameworkAdminsValidator: () => SkillFrameworkAdminsValidator,
178
+ SkillFrameworkIdInputValidator: () => SkillFrameworkIdInputValidator,
179
+ SkillFrameworkQueryValidator: () => SkillFrameworkQueryValidator,
180
+ SkillFrameworkStatusEnum: () => SkillFrameworkStatusEnum,
181
+ SkillFrameworkValidator: () => SkillFrameworkValidator,
182
+ SkillQueryValidator: () => SkillQueryValidator,
183
+ SkillStatusEnum: () => SkillStatusEnum,
184
+ SkillTreeNodeInputValidator: () => SkillTreeNodeInputValidator,
185
+ SkillTreeNodeValidator: () => SkillTreeNodeValidator,
186
+ SkillValidator: () => SkillValidator,
156
187
  StringQuery: () => StringQuery,
188
+ SyncFrameworkInputValidator: () => SyncFrameworkInputValidator,
189
+ TagValidator: () => TagValidator,
157
190
  TermsOfUseValidator: () => TermsOfUseValidator,
158
191
  UnsignedAchievementCredentialValidator: () => UnsignedAchievementCredentialValidator,
159
192
  UnsignedVCValidator: () => UnsignedVCValidator,
160
193
  UnsignedVPValidator: () => UnsignedVPValidator,
194
+ UpdateFrameworkInputValidator: () => UpdateFrameworkInputValidator,
195
+ UpdateSkillInputValidator: () => UpdateSkillInputValidator,
161
196
  VC2EvidenceValidator: () => VC2EvidenceValidator,
162
197
  VCValidator: () => VCValidator,
163
198
  VPValidator: () => VPValidator,
@@ -4718,9 +4753,16 @@ var RegExpValidator = z.instanceof(RegExp).or(
4718
4753
  }
4719
4754
  })
4720
4755
  );
4721
- var StringQuery = z.string().or(z.object({ $in: z.string().array() })).or(z.object({ $regex: RegExpValidator }));
4756
+ var BaseStringQuery = z.string().or(z.object({ $in: z.string().array() })).or(z.object({ $regex: RegExpValidator }));
4757
+ var StringQuery = z.union([
4758
+ BaseStringQuery,
4759
+ z.object({
4760
+ $or: BaseStringQuery.array()
4761
+ })
4762
+ ]);
4722
4763
 
4723
4764
  // src/lcn.ts
4765
+ extendZodWithOpenApi(z);
4724
4766
  var LCNProfileDisplayValidator = z.object({
4725
4767
  backgroundColor: z.string().optional(),
4726
4768
  backgroundImage: z.string().optional(),
@@ -4878,7 +4920,7 @@ var BoostValidator = z.object({
4878
4920
  claimPermissions: BoostPermissionsValidator.optional(),
4879
4921
  allowAnyoneToCreateChildren: z.boolean().optional()
4880
4922
  });
4881
- var BoostQueryValidator = z.object({
4923
+ var BaseBoostQueryValidator = z.object({
4882
4924
  uri: StringQuery,
4883
4925
  name: StringQuery,
4884
4926
  type: StringQuery,
@@ -4887,6 +4929,12 @@ var BoostQueryValidator = z.object({
4887
4929
  status: LCNBoostStatus.or(z.object({ $in: LCNBoostStatus.array() })),
4888
4930
  autoConnectRecipients: z.boolean()
4889
4931
  }).partial();
4932
+ var BoostQueryValidator = z.union([
4933
+ z.object({
4934
+ $or: BaseBoostQueryValidator.array()
4935
+ }),
4936
+ BaseBoostQueryValidator
4937
+ ]);
4890
4938
  var PaginatedBoostsValidator = PaginationResponseValidator.extend({
4891
4939
  records: BoostValidator.array()
4892
4940
  });
@@ -4942,11 +4990,25 @@ var ConsentFlowTermsStatusValidator = z.enum(["live", "stale", "withdrawn"]);
4942
4990
  var ConsentFlowContractValidator = z.object({
4943
4991
  read: z.object({
4944
4992
  anonymize: z.boolean().optional(),
4945
- credentials: z.object({ categories: z.record(z.object({ required: z.boolean(), defaultEnabled: z.boolean().optional() })).default({}) }).default({}),
4993
+ credentials: z.object({
4994
+ categories: z.record(
4995
+ z.object({
4996
+ required: z.boolean(),
4997
+ defaultEnabled: z.boolean().optional()
4998
+ })
4999
+ ).default({})
5000
+ }).default({}),
4946
5001
  personal: z.record(z.object({ required: z.boolean(), defaultEnabled: z.boolean().optional() })).default({})
4947
5002
  }).default({}),
4948
5003
  write: z.object({
4949
- credentials: z.object({ categories: z.record(z.object({ required: z.boolean(), defaultEnabled: z.boolean().optional() })).default({}) }).default({}),
5004
+ credentials: z.object({
5005
+ categories: z.record(
5006
+ z.object({
5007
+ required: z.boolean(),
5008
+ defaultEnabled: z.boolean().optional()
5009
+ })
5010
+ ).default({})
5011
+ }).default({}),
4950
5012
  personal: z.record(z.object({ required: z.boolean(), defaultEnabled: z.boolean().optional() })).default({})
4951
5013
  }).default({})
4952
5014
  });
@@ -5089,6 +5151,17 @@ var ConsentFlowTransactionValidator = z.object({
5089
5151
  var PaginatedConsentFlowTransactionsValidator = PaginationResponseValidator.extend({
5090
5152
  records: ConsentFlowTransactionValidator.array()
5091
5153
  });
5154
+ var BaseSkillFrameworkQueryValidator = z.object({
5155
+ id: StringQuery,
5156
+ name: StringQuery,
5157
+ description: StringQuery,
5158
+ sourceURI: StringQuery,
5159
+ status: StringQuery
5160
+ }).partial();
5161
+ var SkillFrameworkQueryValidator = z.union([
5162
+ z.object({ $or: BaseSkillFrameworkQueryValidator.array() }),
5163
+ BaseSkillFrameworkQueryValidator
5164
+ ]);
5092
5165
  var ContractCredentialValidator = z.object({
5093
5166
  credentialUri: z.string(),
5094
5167
  termsUri: z.string(),
@@ -5272,37 +5345,61 @@ var IssueInboxCredentialValidator = z.object({
5272
5345
  // === CORE DATA (Required) ===
5273
5346
  // WHAT is being sent and WHO is it for?
5274
5347
  recipient: ContactMethodQueryValidator.describe("The recipient of the credential"),
5275
- credential: VCValidator.passthrough().or(VPValidator.passthrough()).or(UnsignedVCValidator.passthrough()).describe("The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."),
5348
+ credential: VCValidator.passthrough().or(VPValidator.passthrough()).or(UnsignedVCValidator.passthrough()).describe(
5349
+ "The credential to issue. If not signed, the users default signing authority will be used, or the specified signing authority in the configuration."
5350
+ ),
5276
5351
  // === OPTIONAL FEATURES ===
5277
5352
  // Add major, distinct features at the top level.
5278
5353
  //consentRequest: ConsentRequestValidator.optional(),
5279
5354
  // === PROCESS CONFIGURATION (Optional) ===
5280
5355
  // HOW should this issuance be handled?
5281
5356
  configuration: z.object({
5282
- signingAuthority: IssueInboxSigningAuthorityValidator.optional().describe("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."),
5357
+ signingAuthority: IssueInboxSigningAuthorityValidator.optional().describe(
5358
+ "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."
5359
+ ),
5283
5360
  webhookUrl: z.string().url().optional().describe("The webhook URL to receive credential issuance events."),
5284
5361
  expiresInDays: z.number().min(1).max(365).optional().describe("The number of days the credential will be valid for."),
5285
5362
  // --- For User-Facing Delivery (Email/SMS) ---
5286
5363
  delivery: z.object({
5287
- suppress: z.boolean().optional().default(false).describe("Whether to suppress delivery of the credential to the recipient. If true, the email/sms will not be sent to the recipient. Useful if you would like to manually send claim link to your users."),
5364
+ suppress: z.boolean().optional().default(false).describe(
5365
+ "Whether to suppress delivery of the credential to the recipient. If true, the email/sms will not be sent to the recipient. Useful if you would like to manually send claim link to your users."
5366
+ ),
5288
5367
  template: z.object({
5289
- id: z.enum(["universal-inbox-claim"]).optional().describe("The template ID to use for the credential delivery. If not provided, the default template will be used."),
5368
+ id: z.enum(["universal-inbox-claim"]).optional().describe(
5369
+ "The template ID to use for the credential delivery. If not provided, the default template will be used."
5370
+ ),
5290
5371
  model: z.object({
5291
5372
  issuer: z.object({
5292
- name: z.string().optional().describe('The name of the organization (e.g., "State University").'),
5373
+ name: z.string().optional().describe(
5374
+ 'The name of the organization (e.g., "State University").'
5375
+ ),
5293
5376
  logoUrl: z.string().url().optional().describe("The URL of the organization's logo.")
5294
5377
  }).optional(),
5295
5378
  credential: z.object({
5296
- name: z.string().optional().describe('The name of the credential (e.g., "Bachelor of Science").'),
5297
- type: z.string().optional().describe('The type of the credential (e.g., "degree", "certificate").')
5379
+ name: z.string().optional().describe(
5380
+ 'The name of the credential (e.g., "Bachelor of Science").'
5381
+ ),
5382
+ type: z.string().optional().describe(
5383
+ 'The type of the credential (e.g., "degree", "certificate").'
5384
+ )
5298
5385
  }).optional(),
5299
5386
  recipient: z.object({
5300
- name: z.string().optional().describe('The name of the recipient (e.g., "John Doe").')
5387
+ name: z.string().optional().describe(
5388
+ 'The name of the recipient (e.g., "John Doe").'
5389
+ )
5301
5390
  }).optional()
5302
- }).describe("The template model to use for the credential delivery. Injects via template variables into email/sms templates. If not provided, the default template will be used.")
5303
- }).optional().describe("The template to use for the credential delivery. If not provided, the default template will be used.")
5304
- }).optional().describe("Configuration for the credential delivery i.e. email or SMS. When credentials are sent to a user who has a verified email or phone associated with their account, delivery is skipped, and the credential will be sent using in-app notifications. If not provided, the default configuration will be used.")
5305
- }).optional().describe("Configuration for the credential issuance. If not provided, the default configuration will be used.")
5391
+ }).describe(
5392
+ "The template model to use for the credential delivery. Injects via template variables into email/sms templates. If not provided, the default template will be used."
5393
+ )
5394
+ }).optional().describe(
5395
+ "The template to use for the credential delivery. If not provided, the default template will be used."
5396
+ )
5397
+ }).optional().describe(
5398
+ "Configuration for the credential delivery i.e. email or SMS. When credentials are sent to a user who has a verified email or phone associated with their account, delivery is skipped, and the credential will be sent using in-app notifications. If not provided, the default configuration will be used."
5399
+ )
5400
+ }).optional().describe(
5401
+ "Configuration for the credential issuance. If not provided, the default configuration will be used."
5402
+ )
5306
5403
  });
5307
5404
  var IssueInboxCredentialResponseValidator = z.object({
5308
5405
  issuanceId: z.string(),
@@ -5364,3 +5461,188 @@ var ClaimTokenValidator = z.object({
5364
5461
  expiresAt: z.string(),
5365
5462
  used: z.boolean()
5366
5463
  });
5464
+ var TagValidator = z.object({
5465
+ id: z.string(),
5466
+ name: z.string().min(1),
5467
+ slug: z.string().min(1),
5468
+ createdAt: z.string().optional(),
5469
+ updatedAt: z.string().optional()
5470
+ });
5471
+ var SkillStatusEnum = z.enum(["active", "archived"]);
5472
+ var SkillValidator = z.object({
5473
+ id: z.string(),
5474
+ statement: z.string(),
5475
+ description: z.string().optional(),
5476
+ code: z.string().optional(),
5477
+ icon: z.string().optional(),
5478
+ type: z.string().default("skill"),
5479
+ status: SkillStatusEnum.default("active"),
5480
+ frameworkId: z.string().optional(),
5481
+ createdAt: z.string().optional(),
5482
+ updatedAt: z.string().optional()
5483
+ });
5484
+ var BaseSkillQueryValidator = z.object({
5485
+ id: StringQuery,
5486
+ statement: StringQuery,
5487
+ description: StringQuery,
5488
+ code: StringQuery,
5489
+ type: StringQuery,
5490
+ status: SkillStatusEnum.or(z.object({ $in: SkillStatusEnum.array() }))
5491
+ }).partial();
5492
+ var SkillQueryValidator = z.union([
5493
+ z.object({
5494
+ $or: BaseSkillQueryValidator.array()
5495
+ }),
5496
+ BaseSkillQueryValidator
5497
+ ]);
5498
+ var SkillFrameworkStatusEnum = z.enum(["active", "archived"]);
5499
+ var SkillFrameworkValidator = z.object({
5500
+ id: z.string(),
5501
+ name: z.string(),
5502
+ description: z.string().optional(),
5503
+ image: z.string().optional(),
5504
+ sourceURI: z.string().url().optional(),
5505
+ status: SkillFrameworkStatusEnum.default("active"),
5506
+ createdAt: z.string().optional(),
5507
+ updatedAt: z.string().optional()
5508
+ });
5509
+ var PaginatedSkillFrameworksValidator = PaginationResponseValidator.extend({
5510
+ records: SkillFrameworkValidator.array()
5511
+ });
5512
+ var SkillTreeNodeValidator = SkillValidator.extend({
5513
+ children: z.array(z.lazy(() => SkillTreeNodeValidator)),
5514
+ hasChildren: z.boolean(),
5515
+ childrenCursor: z.string().nullable().optional()
5516
+ }).openapi({ ref: "SkillTreeNode" });
5517
+ var PaginatedSkillTreeValidator = z.object({
5518
+ hasMore: z.boolean(),
5519
+ cursor: z.string().nullable(),
5520
+ records: z.array(SkillTreeNodeValidator)
5521
+ });
5522
+ var SkillTreeNodeInputValidator = z.lazy(
5523
+ () => z.object({
5524
+ id: z.string().optional(),
5525
+ statement: z.string(),
5526
+ description: z.string().optional(),
5527
+ code: z.string().optional(),
5528
+ icon: z.string().optional(),
5529
+ type: z.string().optional(),
5530
+ status: SkillStatusEnum.optional(),
5531
+ children: z.array(SkillTreeNodeInputValidator).optional()
5532
+ })
5533
+ ).openapi({ ref: "SkillTreeNodeInput" });
5534
+ var LinkProviderFrameworkInputValidator = z.object({
5535
+ frameworkId: z.string()
5536
+ });
5537
+ var CreateManagedFrameworkInputValidator = z.object({
5538
+ id: z.string().optional(),
5539
+ name: z.string().min(1),
5540
+ description: z.string().optional(),
5541
+ image: z.string().optional(),
5542
+ sourceURI: z.string().url().optional(),
5543
+ status: SkillFrameworkStatusEnum.optional(),
5544
+ skills: z.array(SkillTreeNodeInputValidator).optional(),
5545
+ boostUris: z.array(z.string()).optional()
5546
+ });
5547
+ var UpdateFrameworkInputValidator = z.object({
5548
+ id: z.string(),
5549
+ name: z.string().min(1).optional(),
5550
+ description: z.string().optional(),
5551
+ image: z.string().optional(),
5552
+ sourceURI: z.string().url().optional(),
5553
+ status: SkillFrameworkStatusEnum.optional()
5554
+ }).refine(
5555
+ (data) => data.name !== void 0 || data.description !== void 0 || data.image !== void 0 || data.sourceURI !== void 0 || data.status !== void 0,
5556
+ {
5557
+ message: "At least one field must be provided to update",
5558
+ path: ["name"]
5559
+ }
5560
+ );
5561
+ var DeleteFrameworkInputValidator = z.object({ id: z.string() });
5562
+ var CreateManagedFrameworkBatchInputValidator = z.object({
5563
+ frameworks: z.array(
5564
+ CreateManagedFrameworkInputValidator.extend({
5565
+ skills: z.array(SkillTreeNodeInputValidator).optional()
5566
+ })
5567
+ ).min(1)
5568
+ });
5569
+ var SkillFrameworkAdminInputValidator = z.object({
5570
+ frameworkId: z.string(),
5571
+ profileId: z.string()
5572
+ });
5573
+ var SkillFrameworkIdInputValidator = z.object({ frameworkId: z.string() });
5574
+ var SkillFrameworkAdminsValidator = LCNProfileValidator.array();
5575
+ var SyncFrameworkInputValidator = z.object({ id: z.string() });
5576
+ var AddTagInputValidator = z.object({
5577
+ slug: z.string().min(1),
5578
+ name: z.string().min(1)
5579
+ });
5580
+ var CreateSkillInputValidator = z.object({
5581
+ frameworkId: z.string(),
5582
+ skill: SkillTreeNodeInputValidator,
5583
+ parentId: z.string().nullable().optional()
5584
+ });
5585
+ var UpdateSkillInputValidator = z.object({
5586
+ frameworkId: z.string(),
5587
+ id: z.string(),
5588
+ statement: z.string().optional(),
5589
+ description: z.string().optional(),
5590
+ code: z.string().optional(),
5591
+ icon: z.string().optional(),
5592
+ type: z.string().optional(),
5593
+ status: SkillStatusEnum.optional()
5594
+ }).refine(
5595
+ (data) => data.statement !== void 0 || data.description !== void 0 || data.code !== void 0 || data.icon !== void 0 || data.type !== void 0 || data.status !== void 0,
5596
+ {
5597
+ message: "At least one field must be provided to update a skill",
5598
+ path: ["statement"]
5599
+ }
5600
+ );
5601
+ var SkillDeletionStrategyValidator = z.enum(["recursive", "reparent"]);
5602
+ var DeleteSkillInputValidator = z.object({
5603
+ frameworkId: z.string(),
5604
+ id: z.string(),
5605
+ strategy: SkillDeletionStrategyValidator.optional().default("reparent")
5606
+ });
5607
+ var CreateSkillsBatchInputValidator = z.object({
5608
+ frameworkId: z.string(),
5609
+ skills: z.array(SkillTreeNodeInputValidator).min(1),
5610
+ parentId: z.string().nullable().optional()
5611
+ });
5612
+ var ReplaceSkillFrameworkSkillsInputValidator = z.object({
5613
+ frameworkId: z.string(),
5614
+ skills: z.array(SkillTreeNodeInputValidator).min(0)
5615
+ });
5616
+ var ReplaceSkillFrameworkSkillsResultValidator = z.object({
5617
+ created: z.number().int().min(0),
5618
+ updated: z.number().int().min(0),
5619
+ deleted: z.number().int().min(0),
5620
+ unchanged: z.number().int().min(0),
5621
+ total: z.number().int().min(0)
5622
+ });
5623
+ var CountSkillsInputValidator = z.object({
5624
+ frameworkId: z.string(),
5625
+ skillId: z.string().optional(),
5626
+ recursive: z.boolean().optional().default(false),
5627
+ onlyCountCompetencies: z.boolean().optional().default(false)
5628
+ });
5629
+ var CountSkillsResultValidator = z.object({
5630
+ count: z.number().int().min(0)
5631
+ });
5632
+ var GetFullSkillTreeInputValidator = z.object({
5633
+ frameworkId: z.string()
5634
+ });
5635
+ var GetFullSkillTreeResultValidator = z.object({
5636
+ skills: z.array(SkillTreeNodeValidator)
5637
+ });
5638
+ var GetSkillPathInputValidator = z.object({
5639
+ frameworkId: z.string(),
5640
+ skillId: z.string()
5641
+ });
5642
+ var GetSkillPathResultValidator = z.object({
5643
+ path: z.array(SkillValidator)
5644
+ });
5645
+ var FrameworkWithSkillsValidator = z.object({
5646
+ framework: SkillFrameworkValidator,
5647
+ skills: PaginatedSkillTreeValidator
5648
+ });