@learncard/types 5.8.9 → 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,
@@ -43,6 +44,7 @@ __export(src_exports, {
43
44
  ClaimHookQueryValidator: () => ClaimHookQueryValidator,
44
45
  ClaimHookTypeValidator: () => ClaimHookTypeValidator,
45
46
  ClaimHookValidator: () => ClaimHookValidator,
47
+ ClaimInboxCredentialValidator: () => ClaimInboxCredentialValidator,
46
48
  ClaimTokenValidator: () => ClaimTokenValidator,
47
49
  ConsentFlowContractDataForDidValidator: () => ConsentFlowContractDataForDidValidator,
48
50
  ConsentFlowContractDataValidator: () => ConsentFlowContractDataValidator,
@@ -65,12 +67,22 @@ __export(src_exports, {
65
67
  ContactMethodVerificationValidator: () => ContactMethodVerificationValidator,
66
68
  ContextValidator: () => ContextValidator,
67
69
  ContractCredentialValidator: () => ContractCredentialValidator,
70
+ CountSkillsInputValidator: () => CountSkillsInputValidator,
71
+ CountSkillsResultValidator: () => CountSkillsResultValidator,
72
+ CreateContactMethodSessionResponseValidator: () => CreateContactMethodSessionResponseValidator,
73
+ CreateContactMethodSessionValidator: () => CreateContactMethodSessionValidator,
74
+ CreateManagedFrameworkBatchInputValidator: () => CreateManagedFrameworkBatchInputValidator,
75
+ CreateManagedFrameworkInputValidator: () => CreateManagedFrameworkInputValidator,
76
+ CreateSkillInputValidator: () => CreateSkillInputValidator,
77
+ CreateSkillsBatchInputValidator: () => CreateSkillsBatchInputValidator,
68
78
  CredentialInfoValidator: () => CredentialInfoValidator,
69
79
  CredentialRecordValidator: () => CredentialRecordValidator,
70
80
  CredentialSchemaValidator: () => CredentialSchemaValidator,
71
81
  CredentialStatusValidator: () => CredentialStatusValidator,
72
82
  CredentialSubjectValidator: () => CredentialSubjectValidator,
73
83
  CriteriaValidator: () => CriteriaValidator,
84
+ DeleteFrameworkInputValidator: () => DeleteFrameworkInputValidator,
85
+ DeleteSkillInputValidator: () => DeleteSkillInputValidator,
74
86
  DidDocumentValidator: () => DidDocumentValidator,
75
87
  EncryptedCredentialRecordValidator: () => EncryptedCredentialRecordValidator,
76
88
  EncryptedRecordValidator: () => EncryptedRecordValidator,
@@ -78,8 +90,13 @@ __export(src_exports, {
78
90
  EndorsementSubjectValidator: () => EndorsementSubjectValidator,
79
91
  EvidenceValidator: () => EvidenceValidator,
80
92
  FlatAuthGrantValidator: () => FlatAuthGrantValidator,
93
+ FrameworkWithSkillsValidator: () => FrameworkWithSkillsValidator,
81
94
  FullClaimHookValidator: () => FullClaimHookValidator,
82
95
  GeoCoordinatesValidator: () => GeoCoordinatesValidator,
96
+ GetFullSkillTreeInputValidator: () => GetFullSkillTreeInputValidator,
97
+ GetFullSkillTreeResultValidator: () => GetFullSkillTreeResultValidator,
98
+ GetSkillPathInputValidator: () => GetSkillPathInputValidator,
99
+ GetSkillPathResultValidator: () => GetSkillPathResultValidator,
83
100
  IdentifierEntryValidator: () => IdentifierEntryValidator,
84
101
  IdentifierTypeValidator: () => IdentifierTypeValidator,
85
102
  IdentityObjectValidator: () => IdentityObjectValidator,
@@ -98,8 +115,13 @@ __export(src_exports, {
98
115
  LCNBoostClaimLinkOptionsValidator: () => LCNBoostClaimLinkOptionsValidator,
99
116
  LCNBoostClaimLinkSigningAuthorityValidator: () => LCNBoostClaimLinkSigningAuthorityValidator,
100
117
  LCNBoostStatus: () => LCNBoostStatus,
118
+ LCNDomainOrOriginValidator: () => LCNDomainOrOriginValidator,
101
119
  LCNInboxContactMethodValidator: () => LCNInboxContactMethodValidator,
102
120
  LCNInboxStatusEnumValidator: () => LCNInboxStatusEnumValidator,
121
+ LCNIntegrationCreateValidator: () => LCNIntegrationCreateValidator,
122
+ LCNIntegrationQueryValidator: () => LCNIntegrationQueryValidator,
123
+ LCNIntegrationUpdateValidator: () => LCNIntegrationUpdateValidator,
124
+ LCNIntegrationValidator: () => LCNIntegrationValidator,
103
125
  LCNNotificationDataValidator: () => LCNNotificationDataValidator,
104
126
  LCNNotificationInboxValidator: () => LCNNotificationInboxValidator,
105
127
  LCNNotificationMessageValidator: () => LCNNotificationMessageValidator,
@@ -113,6 +135,7 @@ __export(src_exports, {
113
135
  LCNProfileValidator: () => LCNProfileValidator,
114
136
  LCNSigningAuthorityForUserValidator: () => LCNSigningAuthorityForUserValidator,
115
137
  LCNSigningAuthorityValidator: () => LCNSigningAuthorityValidator,
138
+ LinkProviderFrameworkInputValidator: () => LinkProviderFrameworkInputValidator,
116
139
  PaginatedBoostRecipientsValidator: () => PaginatedBoostRecipientsValidator,
117
140
  PaginatedBoostRecipientsWithChildrenValidator: () => PaginatedBoostRecipientsWithChildrenValidator,
118
141
  PaginatedBoostsValidator: () => PaginatedBoostsValidator,
@@ -126,9 +149,12 @@ __export(src_exports, {
126
149
  PaginatedEncryptedCredentialRecordsValidator: () => PaginatedEncryptedCredentialRecordsValidator,
127
150
  PaginatedEncryptedRecordsValidator: () => PaginatedEncryptedRecordsValidator,
128
151
  PaginatedInboxCredentialsValidator: () => PaginatedInboxCredentialsValidator,
152
+ PaginatedLCNIntegrationsValidator: () => PaginatedLCNIntegrationsValidator,
129
153
  PaginatedLCNProfileManagersValidator: () => PaginatedLCNProfileManagersValidator,
130
154
  PaginatedLCNProfilesAndManagersValidator: () => PaginatedLCNProfilesAndManagersValidator,
131
155
  PaginatedLCNProfilesValidator: () => PaginatedLCNProfilesValidator,
156
+ PaginatedSkillFrameworksValidator: () => PaginatedSkillFrameworksValidator,
157
+ PaginatedSkillTreeValidator: () => PaginatedSkillTreeValidator,
132
158
  PaginationOptionsValidator: () => PaginationOptionsValidator,
133
159
  PaginationResponseValidator: () => PaginationResponseValidator,
134
160
  ProfileValidator: () => ProfileValidator,
@@ -136,6 +162,8 @@ __export(src_exports, {
136
162
  RefreshServiceValidator: () => RefreshServiceValidator,
137
163
  RegExpValidator: () => RegExpValidator,
138
164
  RelatedValidator: () => RelatedValidator,
165
+ ReplaceSkillFrameworkSkillsInputValidator: () => ReplaceSkillFrameworkSkillsInputValidator,
166
+ ReplaceSkillFrameworkSkillsResultValidator: () => ReplaceSkillFrameworkSkillsResultValidator,
139
167
  ResultDescriptionValidator: () => ResultDescriptionValidator,
140
168
  ResultStatusTypeValidator: () => ResultStatusTypeValidator,
141
169
  ResultTypeValidator: () => ResultTypeValidator,
@@ -144,11 +172,27 @@ __export(src_exports, {
144
172
  SentCredentialInfoValidator: () => SentCredentialInfoValidator,
145
173
  ServiceValidator: () => ServiceValidator,
146
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,
147
187
  StringQuery: () => StringQuery,
188
+ SyncFrameworkInputValidator: () => SyncFrameworkInputValidator,
189
+ TagValidator: () => TagValidator,
148
190
  TermsOfUseValidator: () => TermsOfUseValidator,
149
191
  UnsignedAchievementCredentialValidator: () => UnsignedAchievementCredentialValidator,
150
192
  UnsignedVCValidator: () => UnsignedVCValidator,
151
193
  UnsignedVPValidator: () => UnsignedVPValidator,
194
+ UpdateFrameworkInputValidator: () => UpdateFrameworkInputValidator,
195
+ UpdateSkillInputValidator: () => UpdateSkillInputValidator,
152
196
  VC2EvidenceValidator: () => VC2EvidenceValidator,
153
197
  VCValidator: () => VCValidator,
154
198
  VPValidator: () => VPValidator,
@@ -4709,9 +4753,16 @@ var RegExpValidator = z.instanceof(RegExp).or(
4709
4753
  }
4710
4754
  })
4711
4755
  );
4712
- 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
+ ]);
4713
4763
 
4714
4764
  // src/lcn.ts
4765
+ extendZodWithOpenApi(z);
4715
4766
  var LCNProfileDisplayValidator = z.object({
4716
4767
  backgroundColor: z.string().optional(),
4717
4768
  backgroundImage: z.string().optional(),
@@ -4869,7 +4920,7 @@ var BoostValidator = z.object({
4869
4920
  claimPermissions: BoostPermissionsValidator.optional(),
4870
4921
  allowAnyoneToCreateChildren: z.boolean().optional()
4871
4922
  });
4872
- var BoostQueryValidator = z.object({
4923
+ var BaseBoostQueryValidator = z.object({
4873
4924
  uri: StringQuery,
4874
4925
  name: StringQuery,
4875
4926
  type: StringQuery,
@@ -4878,6 +4929,12 @@ var BoostQueryValidator = z.object({
4878
4929
  status: LCNBoostStatus.or(z.object({ $in: LCNBoostStatus.array() })),
4879
4930
  autoConnectRecipients: z.boolean()
4880
4931
  }).partial();
4932
+ var BoostQueryValidator = z.union([
4933
+ z.object({
4934
+ $or: BaseBoostQueryValidator.array()
4935
+ }),
4936
+ BaseBoostQueryValidator
4937
+ ]);
4881
4938
  var PaginatedBoostsValidator = PaginationResponseValidator.extend({
4882
4939
  records: BoostValidator.array()
4883
4940
  });
@@ -4933,11 +4990,25 @@ var ConsentFlowTermsStatusValidator = z.enum(["live", "stale", "withdrawn"]);
4933
4990
  var ConsentFlowContractValidator = z.object({
4934
4991
  read: z.object({
4935
4992
  anonymize: z.boolean().optional(),
4936
- 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({}),
4937
5001
  personal: z.record(z.object({ required: z.boolean(), defaultEnabled: z.boolean().optional() })).default({})
4938
5002
  }).default({}),
4939
5003
  write: z.object({
4940
- 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({}),
4941
5012
  personal: z.record(z.object({ required: z.boolean(), defaultEnabled: z.boolean().optional() })).default({})
4942
5013
  }).default({})
4943
5014
  });
@@ -5080,6 +5151,17 @@ var ConsentFlowTransactionValidator = z.object({
5080
5151
  var PaginatedConsentFlowTransactionsValidator = PaginationResponseValidator.extend({
5081
5152
  records: ConsentFlowTransactionValidator.array()
5082
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
+ ]);
5083
5165
  var ContractCredentialValidator = z.object({
5084
5166
  credentialUri: z.string(),
5085
5167
  termsUri: z.string(),
@@ -5114,7 +5196,15 @@ var LCNInboxContactMethodValidator = z.object({
5114
5196
  type: z.string(),
5115
5197
  value: z.string()
5116
5198
  });
5117
- var LCNInboxStatusEnumValidator = z.enum(["PENDING", "DELIVERED", "CLAIMED", "EXPIRED"]);
5199
+ var LCNInboxStatusEnumValidator = z.enum([
5200
+ "PENDING",
5201
+ "ISSUED",
5202
+ "EXPIRED",
5203
+ /* DEPRECATED — use ISSUED */
5204
+ "DELIVERED",
5205
+ /* DEPRECATED — use ISSUED */
5206
+ "CLAIMED"
5207
+ ]);
5118
5208
  var LCNNotificationInboxValidator = z.object({
5119
5209
  issuanceId: z.string(),
5120
5210
  status: LCNInboxStatusEnumValidator,
@@ -5213,11 +5303,19 @@ var ContactMethodVerificationValidator = z.object({
5213
5303
  var SetPrimaryContactMethodValidator = z.object({
5214
5304
  contactMethodId: z.string()
5215
5305
  });
5306
+ var CreateContactMethodSessionValidator = z.object({
5307
+ contactMethod: ContactMethodVerificationRequestValidator,
5308
+ otpChallenge: z.string()
5309
+ });
5310
+ var CreateContactMethodSessionResponseValidator = z.object({
5311
+ sessionJwt: z.string()
5312
+ });
5216
5313
  var InboxCredentialValidator = z.object({
5217
5314
  id: z.string(),
5218
5315
  credential: z.string(),
5219
5316
  isSigned: z.boolean(),
5220
5317
  currentStatus: LCNInboxStatusEnumValidator,
5318
+ isAccepted: z.boolean().optional(),
5221
5319
  expiresAt: z.string(),
5222
5320
  createdAt: z.string(),
5223
5321
  issuerDid: z.string(),
@@ -5236,6 +5334,7 @@ var InboxCredentialQueryValidator = z.object({
5236
5334
  currentStatus: LCNInboxStatusEnumValidator,
5237
5335
  id: z.string(),
5238
5336
  isSigned: z.boolean(),
5337
+ isAccepted: z.boolean().optional(),
5239
5338
  issuerDid: z.string()
5240
5339
  }).partial();
5241
5340
  var IssueInboxSigningAuthorityValidator = z.object({
@@ -5246,37 +5345,61 @@ var IssueInboxCredentialValidator = z.object({
5246
5345
  // === CORE DATA (Required) ===
5247
5346
  // WHAT is being sent and WHO is it for?
5248
5347
  recipient: ContactMethodQueryValidator.describe("The recipient of the credential"),
5249
- 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
+ ),
5250
5351
  // === OPTIONAL FEATURES ===
5251
5352
  // Add major, distinct features at the top level.
5252
5353
  //consentRequest: ConsentRequestValidator.optional(),
5253
5354
  // === PROCESS CONFIGURATION (Optional) ===
5254
5355
  // HOW should this issuance be handled?
5255
5356
  configuration: z.object({
5256
- 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
+ ),
5257
5360
  webhookUrl: z.string().url().optional().describe("The webhook URL to receive credential issuance events."),
5258
5361
  expiresInDays: z.number().min(1).max(365).optional().describe("The number of days the credential will be valid for."),
5259
5362
  // --- For User-Facing Delivery (Email/SMS) ---
5260
5363
  delivery: z.object({
5261
- 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
+ ),
5262
5367
  template: z.object({
5263
- 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
+ ),
5264
5371
  model: z.object({
5265
5372
  issuer: z.object({
5266
- 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
+ ),
5267
5376
  logoUrl: z.string().url().optional().describe("The URL of the organization's logo.")
5268
5377
  }).optional(),
5269
5378
  credential: z.object({
5270
- name: z.string().optional().describe('The name of the credential (e.g., "Bachelor of Science").'),
5271
- 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
+ )
5272
5385
  }).optional(),
5273
5386
  recipient: z.object({
5274
- 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
+ )
5275
5390
  }).optional()
5276
- }).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.")
5277
- }).optional().describe("The template to use for the credential delivery. If not provided, the default template will be used.")
5278
- }).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.")
5279
- }).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
+ )
5280
5403
  });
5281
5404
  var IssueInboxCredentialResponseValidator = z.object({
5282
5405
  issuanceId: z.string(),
@@ -5285,6 +5408,51 @@ var IssueInboxCredentialResponseValidator = z.object({
5285
5408
  claimUrl: z.string().url().optional(),
5286
5409
  recipientDid: z.string().optional()
5287
5410
  });
5411
+ var ClaimInboxCredentialValidator = z.object({
5412
+ credential: VCValidator.passthrough().or(VPValidator.passthrough()).or(UnsignedVCValidator.passthrough()).describe("The credential to issue."),
5413
+ configuration: z.object({
5414
+ publishableKey: z.string(),
5415
+ signingAuthorityName: z.string().optional()
5416
+ }).optional()
5417
+ });
5418
+ var LCNDomainOrOriginValidator = z.union([
5419
+ z.string().regex(
5420
+ /^(?:(?:[a-zA-Z0-9-]{1,63}\.)+[a-zA-Z]{2,63}|localhost|\d{1,3}(?:\.\d{1,3}){3})(?::\d{1,5})?$/,
5421
+ {
5422
+ message: "Must be a valid domain (incl. subdomains), localhost, or IPv4, optionally with port"
5423
+ }
5424
+ ),
5425
+ z.string().regex(
5426
+ /^https?:\/\/(?:(?:[a-zA-Z0-9-]{1,63}\.)+[a-zA-Z]{2,63}|localhost|\d{1,3}(?:\.\d{1,3}){3})(?::\d{1,5})?$/,
5427
+ { message: "Must be a valid http(s) origin" }
5428
+ )
5429
+ ]);
5430
+ var LCNIntegrationValidator = z.object({
5431
+ id: z.string(),
5432
+ name: z.string(),
5433
+ description: z.string().optional(),
5434
+ publishableKey: z.string(),
5435
+ whitelistedDomains: z.array(LCNDomainOrOriginValidator).default([])
5436
+ });
5437
+ var LCNIntegrationCreateValidator = z.object({
5438
+ name: z.string(),
5439
+ description: z.string().optional(),
5440
+ whitelistedDomains: z.array(LCNDomainOrOriginValidator).default([])
5441
+ });
5442
+ var LCNIntegrationUpdateValidator = z.object({
5443
+ name: z.string().optional(),
5444
+ description: z.string().optional(),
5445
+ whitelistedDomains: z.array(LCNDomainOrOriginValidator).optional(),
5446
+ rotatePublishableKey: z.boolean().optional()
5447
+ });
5448
+ var LCNIntegrationQueryValidator = z.object({
5449
+ id: StringQuery,
5450
+ name: StringQuery,
5451
+ description: StringQuery
5452
+ }).partial();
5453
+ var PaginatedLCNIntegrationsValidator = PaginationResponseValidator.extend({
5454
+ records: LCNIntegrationValidator.array()
5455
+ });
5288
5456
  var ClaimTokenValidator = z.object({
5289
5457
  token: z.string(),
5290
5458
  contactMethodId: z.string(),
@@ -5293,3 +5461,188 @@ var ClaimTokenValidator = z.object({
5293
5461
  expiresAt: z.string(),
5294
5462
  used: z.boolean()
5295
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
+ });