@dsptch-work/api-client 0.33.0 → 0.34.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.
@@ -216,7 +216,7 @@ export const zProblem = z.object({
216
216
  *
217
217
  * **Version Overlap**
218
218
  *
219
- * The write conflicts with what is already recorded for the resource — another version occupies the same span, or the write contradicts the resource's recorded identity. Re-read the current state and retry on top of it.
219
+ * The write collides with another version of the same resource — another version occupies the same span, or the write contradicts the identity the resource's versions record. Re-read the current state and retry on top of it.
220
220
  *
221
221
  * ## 412
222
222
  *
@@ -492,6 +492,135 @@ export const zDirectUploadResponseObject = z.object({
492
492
  headers: z.record(z.string(), z.string())
493
493
  })
494
494
  });
495
+ /**
496
+ * A competence standard owned by your company. Content lives on named revisions, not a valid-time history. current_version_id is the active revision and draft_version_id is the in-progress revision; either is null when absent.
497
+ */
498
+ export const zCompetencyStandardResponseObject = z.object({
499
+ id: z.string(),
500
+ name: z.string(),
501
+ companies_department_id: z.string().nullable(),
502
+ archived_at: z.iso.datetime().nullable(),
503
+ current_version_id: z.string().nullable(),
504
+ draft_version_id: z.string().nullable(),
505
+ created_at: z.iso.datetime(),
506
+ updated_at: z.iso.datetime()
507
+ });
508
+ /**
509
+ * Archive a competence standard. The body takes no fields; send an empty object or no body. Archiving an archived standard returns it unchanged.
510
+ */
511
+ export const zCompetencyStandardArchiveParameters = z.record(z.string(), z.never());
512
+ /**
513
+ * Create a competence standard. Revision 1 is opened as a draft. sort_order and revision are server-assigned and are not accepted.
514
+ */
515
+ export const zCompetencyStandardParameters = z.object({
516
+ name: z.string(),
517
+ companies_department_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish()
518
+ });
519
+ /**
520
+ * Update a competence standard's name or department. Send only the fields to change. Revisions are not edited here.
521
+ */
522
+ export const zCompetencyStandardUpdateParameters = z.object({
523
+ name: z.string().optional(),
524
+ companies_department_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish()
525
+ });
526
+ /**
527
+ * One named revision of a competence standard. revision is a positive integer and status is draft, active, or superseded. This is not a temporal history entry.
528
+ */
529
+ export const zCompetencyStandardVersionResponseObject = z.object({
530
+ id: z.string(),
531
+ competencies_standard_id: z.string(),
532
+ revision: z.int(),
533
+ status: z.enum([
534
+ 'draft',
535
+ 'active',
536
+ 'superseded'
537
+ ]),
538
+ change_notes: z.string().nullable(),
539
+ approved_by_user_id: z.string().nullable(),
540
+ approved_at: z.iso.datetime().nullable(),
541
+ controlled_pdf_attached: z.boolean(),
542
+ created_at: z.iso.datetime(),
543
+ updated_at: z.iso.datetime()
544
+ });
545
+ /**
546
+ * Notes for a new draft revision, or a replacement of the notes on an existing draft. Cutting a revision copies the active level, key-activity, and criterion tree and does not copy the controlled PDF.
547
+ */
548
+ export const zCompetencyStandardVersionParameters = z.object({
549
+ change_notes: z.string().nullish()
550
+ });
551
+ /**
552
+ * Promote a draft revision to active. A user key promotes as its user and must omit approved_by_user_id. A company key must name an admin or safety manager.
553
+ */
554
+ export const zCompetencyStandardVersionPromotionParameters = z.object({
555
+ approved_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).optional()
556
+ });
557
+ /**
558
+ * A proficiency tier on one standard revision. sort_order is the durable tier qualifications record, and it is server-assigned.
559
+ */
560
+ export const zCompetencyLevelResponseObject = z.object({
561
+ id: z.string(),
562
+ competencies_standard_version_id: z.string(),
563
+ sort_order: z.int(),
564
+ name: z.string().nullable(),
565
+ description: z.string().nullable(),
566
+ created_at: z.iso.datetime(),
567
+ updated_at: z.iso.datetime()
568
+ });
569
+ /**
570
+ * Create or update a level on a draft revision. sort_order is server-assigned and is rejected if sent.
571
+ */
572
+ export const zCompetencyLevelParameters = z.object({
573
+ name: z.string().nullish(),
574
+ description: z.string().nullish()
575
+ });
576
+ /**
577
+ * A task on a level. Catalog text is editable only while the parent revision is a draft. sort_order is server-assigned.
578
+ */
579
+ export const zCompetencyKeyActivityResponseObject = z.object({
580
+ id: z.string(),
581
+ competencies_level_id: z.string(),
582
+ sort_order: z.int(),
583
+ number: z.string().nullable(),
584
+ title: z.string().nullable(),
585
+ notes: z.string().nullable(),
586
+ created_at: z.iso.datetime(),
587
+ updated_at: z.iso.datetime()
588
+ });
589
+ /**
590
+ * Create or update a key activity on a draft revision. sort_order is server-assigned and is rejected if sent.
591
+ */
592
+ export const zCompetencyKeyActivityParameters = z.object({
593
+ number: z.string().nullish(),
594
+ title: z.string().nullish(),
595
+ notes: z.string().nullish()
596
+ });
597
+ /**
598
+ * One evidence criterion on a key activity. Editable only while the parent revision is a draft. sort_order is server-assigned.
599
+ */
600
+ export const zCompetencyCriterionResponseObject = z.object({
601
+ id: z.string(),
602
+ competencies_key_activity_id: z.string(),
603
+ sort_order: z.int(),
604
+ number: z.string().nullable(),
605
+ body: z.string().nullable(),
606
+ evidence_note: z.string().nullable(),
607
+ created_at: z.iso.datetime(),
608
+ updated_at: z.iso.datetime()
609
+ });
610
+ /**
611
+ * Create or update a criterion on a draft revision. sort_order is server-assigned and is rejected if sent.
612
+ */
613
+ export const zCompetencyCriterionParameters = z.object({
614
+ number: z.string().nullish(),
615
+ body: z.string().nullish(),
616
+ evidence_note: z.string().nullish()
617
+ });
618
+ /**
619
+ * Swap a draft catalog row with its neighbor. The row cannot move past either end of the list.
620
+ */
621
+ export const zCompetencySortOrderMoveParameters = z.object({
622
+ direction: z.enum(['up', 'down'])
623
+ });
495
624
  /**
496
625
  * One assessor-registry grant for one standard. Department scope is informational. revoked_at is null while the grant is active.
497
626
  */
@@ -1947,7 +2076,7 @@ export const zPwaCompanyUserDetailsResponseObject = z.object({
1947
2076
  * Create a worker's PWA compliance details at a company. The company is taken from the API key. user_id names the worker and is required; every other field is optional — send whichever your jurisdiction's certified-payroll export requires.
1948
2077
  */
1949
2078
  export const zPwaCompanyUserDetailsParameters = z.object({
1950
- user_id: z.string(),
2079
+ user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/),
1951
2080
  address1: z.string().nullish(),
1952
2081
  address2: z.string().nullish(),
1953
2082
  city: z.string().nullish(),
@@ -1960,7 +2089,7 @@ export const zPwaCompanyUserDetailsParameters = z.object({
1960
2089
  'NATIVE_AMERICAN',
1961
2090
  'NOT_SPECIFIED',
1962
2091
  'OTHER'
1963
- ])).nullish(),
2092
+ ])).optional(),
1964
2093
  sex: z.enum([
1965
2094
  'female',
1966
2095
  'male',
@@ -2015,7 +2144,7 @@ export const zPwaCompanyUserDetailsParameters = z.object({
2015
2144
  'formerly_incarcerated',
2016
2145
  'equity_investment_eligible_community',
2017
2146
  'self_registered_or_unknown'
2018
- ])).nullish(),
2147
+ ])).optional(),
2019
2148
  il_shines_other_programs: z.array(z.enum([
2020
2149
  'solar_training_pipeline_program',
2021
2150
  'craft_apprenticeship_program',
@@ -2024,7 +2153,7 @@ export const zPwaCompanyUserDetailsParameters = z.object({
2024
2153
  'illinois_climate_works_prep_apprenticeship_program',
2025
2154
  'returning_residents_clean_jobs_training_program',
2026
2155
  'other'
2027
- ])).nullish(),
2156
+ ])).optional(),
2028
2157
  or_boli_schedule_type: z.enum(['five_eight', 'four_ten']).nullish(),
2029
2158
  or_boli_race: z.array(z.enum([
2030
2159
  'american_indian_or_alaska_native',
@@ -2034,7 +2163,7 @@ export const zPwaCompanyUserDetailsParameters = z.object({
2034
2163
  'native_hawaiian_or_pacific_islander',
2035
2164
  'white',
2036
2165
  'portuguese_or_brazilian'
2037
- ])).nullish()
2166
+ ])).optional()
2038
2167
  });
2039
2168
  /**
2040
2169
  * Update a worker's PWA compliance details. The company is taken from the API key. Every field is optional — send only what changes, and omitted fields are left unchanged. The company/user pair is fixed at creation.
@@ -2052,7 +2181,7 @@ export const zPwaCompanyUserDetailsUpdateParameters = z.object({
2052
2181
  'NATIVE_AMERICAN',
2053
2182
  'NOT_SPECIFIED',
2054
2183
  'OTHER'
2055
- ])).nullish(),
2184
+ ])).optional(),
2056
2185
  sex: z.enum([
2057
2186
  'female',
2058
2187
  'male',
@@ -2107,7 +2236,7 @@ export const zPwaCompanyUserDetailsUpdateParameters = z.object({
2107
2236
  'formerly_incarcerated',
2108
2237
  'equity_investment_eligible_community',
2109
2238
  'self_registered_or_unknown'
2110
- ])).nullish(),
2239
+ ])).optional(),
2111
2240
  il_shines_other_programs: z.array(z.enum([
2112
2241
  'solar_training_pipeline_program',
2113
2242
  'craft_apprenticeship_program',
@@ -2116,7 +2245,7 @@ export const zPwaCompanyUserDetailsUpdateParameters = z.object({
2116
2245
  'illinois_climate_works_prep_apprenticeship_program',
2117
2246
  'returning_residents_clean_jobs_training_program',
2118
2247
  'other'
2119
- ])).nullish(),
2248
+ ])).optional(),
2120
2249
  or_boli_schedule_type: z.enum(['five_eight', 'four_ten']).nullish(),
2121
2250
  or_boli_race: z.array(z.enum([
2122
2251
  'american_indian_or_alaska_native',
@@ -2126,7 +2255,7 @@ export const zPwaCompanyUserDetailsUpdateParameters = z.object({
2126
2255
  'native_hawaiian_or_pacific_islander',
2127
2256
  'white',
2128
2257
  'portuguese_or_brazilian'
2129
- ])).nullish()
2258
+ ])).optional()
2130
2259
  });
2131
2260
  /**
2132
2261
  * A craft grouping used for prevailing-wage / apprenticeship (PWA) compliance — the unit an apprenticeship ratio is measured against. Owned by either a project (pooling the craft across the project's jobs) or a standalone job, never both.
@@ -2605,7 +2734,7 @@ export const zJobParameters = z.object({
2605
2734
  name: z.string().nullish(),
2606
2735
  description: z.string().optional(),
2607
2736
  requested_by_company_id: z.string().optional(),
2608
- manager_user_ids: z.array(z.string()).nullish(),
2737
+ manager_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
2609
2738
  purchase_order_number: z.string().nullish(),
2610
2739
  project_id: z.string().nullish(),
2611
2740
  companies_department_id: z.string().nullish(),
@@ -2633,7 +2762,7 @@ export const zJobParameters = z.object({
2633
2762
  ]).optional(),
2634
2763
  send_geofence_reminders: z.boolean().nullish(),
2635
2764
  allow_customer_access: z.boolean().optional(),
2636
- timekeeping_timecode_ids: z.array(z.string()).nullish(),
2765
+ timekeeping_timecode_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
2637
2766
  tracks_feature_allocations: z.boolean().nullish(),
2638
2767
  requires_feature_allocation: z.boolean().nullish(),
2639
2768
  max_one_feature_allocation: z.boolean().nullish(),
@@ -3449,7 +3578,7 @@ export const zProjectParameters = z.object({
3449
3578
  description: z.string().nullish(),
3450
3579
  created_by_user_id: z.string(),
3451
3580
  parent_id: z.string().nullish(),
3452
- participating_company_ids: z.array(z.string()).optional(),
3581
+ participating_company_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
3453
3582
  start_date: z.iso.date().nullish(),
3454
3583
  end_date: z.iso.date().nullish(),
3455
3584
  tz_name: z.string().nullish(),
@@ -3484,7 +3613,7 @@ export const zProjectUpdateParameters = z.object({
3484
3613
  name: z.string().optional(),
3485
3614
  description: z.string().nullish(),
3486
3615
  parent_id: z.string().nullish(),
3487
- participating_company_ids: z.array(z.string()).optional(),
3616
+ participating_company_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
3488
3617
  start_date: z.iso.date().nullish(),
3489
3618
  end_date: z.iso.date().nullish(),
3490
3619
  tz_name: z.string().nullish(),
@@ -4816,8 +4945,8 @@ export const zPayRatesRulePackageUpdateParameters = z.object({
4816
4945
  */
4817
4946
  export const zPositionParameters = z.object({
4818
4947
  fulfilled_by_user_id: z.string().nullish(),
4819
- start_time: z.iso.datetime().nullish(),
4820
- end_time: z.iso.datetime().nullish(),
4948
+ start_time: z.iso.date().nullish(),
4949
+ end_time: z.iso.date().nullish(),
4821
4950
  position_function_id: z.string().nullish(),
4822
4951
  per_diem_id: z.string().nullish(),
4823
4952
  per_diem_rate_cents: z.number().nullish(),
@@ -4826,7 +4955,7 @@ export const zPositionParameters = z.object({
4826
4955
  hourly_rate_cents: z.number().nullish(),
4827
4956
  pwa_wage_pay_rate_cents: z.number().nullish(),
4828
4957
  wage_adder_rate_cents: z.number().nullish(),
4829
- job_wage_determination_ids: z.array(z.string()).optional(),
4958
+ job_wage_determination_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
4830
4959
  pwa_details_attributes: z.object({
4831
4960
  skill_level: z.string().nullish()
4832
4961
  }).optional()
@@ -4868,7 +4997,7 @@ export const zProductionJobScopePriceResponseObject = z.object({
4868
4997
  export const zProductionCompletionUpdateParameters = z.object({
4869
4998
  notes: z.string().nullish(),
4870
4999
  work_date: z.iso.date().optional(),
4871
- position_ids: z.array(z.string()).optional(),
5000
+ position_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
4872
5001
  completable_attributes: z.object({
4873
5002
  quantity_completed: z.int().optional()
4874
5003
  }).optional()
@@ -4881,7 +5010,7 @@ export const zProductionCompletionBaseParameters = z.object({
4881
5010
  performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/),
4882
5011
  notes: z.string().nullish(),
4883
5012
  work_date: z.iso.date().optional(),
4884
- position_ids: z.array(z.string()).optional()
5013
+ position_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional()
4885
5014
  });
4886
5015
  /**
4887
5016
  * Payload for completions on feature-tracked jobs (the scope price's job tracks production by feature). quantity_completed is not accepted; the feature reference is immutable after create, so update accepts no completable_attributes at all.
@@ -5211,8 +5340,8 @@ export const zPositionResponseObject = z.object({
5211
5340
  pwa_details: z.object({
5212
5341
  skill_level: z.string().nullable()
5213
5342
  }),
5214
- start_time: z.iso.datetime().nullable(),
5215
- end_time: z.iso.datetime().nullable(),
5343
+ start_time: z.iso.date().nullable(),
5344
+ end_time: z.iso.date().nullable(),
5216
5345
  created_at: z.iso.datetime(),
5217
5346
  updated_at: z.iso.datetime()
5218
5347
  });
@@ -5427,16 +5556,38 @@ export const zUserParameters = z.intersection(z.union([
5427
5556
  city: z.string().nullish(),
5428
5557
  state: z.string().nullish(),
5429
5558
  zip: z.string().nullish(),
5430
- race: z.array(z.string()).nullish(),
5431
- sex: z.string().nullish(),
5559
+ race: z.array(z.enum([
5560
+ 'AFRICAN_AMERICAN',
5561
+ 'ASIAN',
5562
+ 'CAUCASIAN',
5563
+ 'NATIVE_AMERICAN',
5564
+ 'NOT_SPECIFIED',
5565
+ 'OTHER'
5566
+ ])).optional(),
5567
+ sex: z.enum([
5568
+ 'female',
5569
+ 'male',
5570
+ 'non_binary',
5571
+ 'not_specified'
5572
+ ]).nullish(),
5432
5573
  local_business_license: z.string().nullish(),
5433
5574
  drivers_license_state: z.string().nullish(),
5434
5575
  drivers_license_number: z.string().nullish(),
5435
- veteran_status: z.string().nullish(),
5436
- hispanic_origin: z.string().nullish(),
5437
5576
  ssn: z.string().nullish(),
5438
- disabled: z.boolean().nullish(),
5577
+ veteran_status: z.enum([
5578
+ 'protected_veteran',
5579
+ 'not_protected_veteran',
5580
+ 'reserves',
5581
+ 'guard',
5582
+ 'not_specified'
5583
+ ]).nullish(),
5584
+ hispanic_origin: z.enum([
5585
+ 'yes',
5586
+ 'no',
5587
+ 'not_specified'
5588
+ ]).nullish(),
5439
5589
  ca_dir_withholding_exemptions: z.int().nullish(),
5590
+ disabled: z.boolean().optional(),
5440
5591
  il_dol_race: z.enum([
5441
5592
  'white',
5442
5593
  'black',
@@ -5467,7 +5618,7 @@ export const zUserParameters = z.intersection(z.union([
5467
5618
  'formerly_incarcerated',
5468
5619
  'equity_investment_eligible_community',
5469
5620
  'self_registered_or_unknown'
5470
- ])).nullish(),
5621
+ ])).optional(),
5471
5622
  il_shines_other_programs: z.array(z.enum([
5472
5623
  'solar_training_pipeline_program',
5473
5624
  'craft_apprenticeship_program',
@@ -5476,7 +5627,7 @@ export const zUserParameters = z.intersection(z.union([
5476
5627
  'illinois_climate_works_prep_apprenticeship_program',
5477
5628
  'returning_residents_clean_jobs_training_program',
5478
5629
  'other'
5479
- ])).nullish(),
5630
+ ])).optional(),
5480
5631
  or_boli_schedule_type: z.enum(['five_eight', 'four_ten']).nullish(),
5481
5632
  or_boli_race: z.array(z.enum([
5482
5633
  'american_indian_or_alaska_native',
@@ -5486,7 +5637,7 @@ export const zUserParameters = z.intersection(z.union([
5486
5637
  'native_hawaiian_or_pacific_islander',
5487
5638
  'white',
5488
5639
  'portuguese_or_brazilian'
5489
- ])).nullish()
5640
+ ])).optional()
5490
5641
  }).nullish()
5491
5642
  }));
5492
5643
  /**
@@ -6120,8 +6271,7 @@ export const zFederalJobWageDeterminationParameters = z.object({
6120
6271
  'highway',
6121
6272
  'residential'
6122
6273
  ]).nullish(),
6123
- general_wage_determination: z.string().nullish(),
6124
- pay_rates_rule_package_id: z.string().nullish()
6274
+ general_wage_determination: z.string().nullish()
6125
6275
  });
6126
6276
  /**
6127
6277
  * Parameters for creating a Regional (state prevailing-wage) wage determination on a job.
@@ -6134,7 +6284,6 @@ export const zRegionalJobWageDeterminationParameters = z.object({
6134
6284
  fringe_rate_cents: z.string().optional(),
6135
6285
  general_wage_determination: z.string().nullish(),
6136
6286
  overtime_package_id: z.string().nullish(),
6137
- pay_rates_rule_package_id: z.string().nullish(),
6138
6287
  regional_fields: zRegionalWageDeterminationFields.optional()
6139
6288
  });
6140
6289
  /**
@@ -6150,7 +6299,6 @@ export const zJobWageDeterminationParameters = z.discriminatedUnion('type', [
6150
6299
  export const zJobWageDeterminationUpdateParameters = z.object({
6151
6300
  effective_from: z.iso.date().optional(),
6152
6301
  overtime_package_id: z.string().nullish(),
6153
- pay_rates_rule_package_id: z.string().nullish(),
6154
6302
  labor_classification: z.string().optional(),
6155
6303
  pwa_trade_id: z.string().optional(),
6156
6304
  hourly_rate_cents: z.string().optional(),
@@ -6364,8 +6512,7 @@ export const zFederalProjectWageDeterminationParameters = z.object({
6364
6512
  'highway',
6365
6513
  'residential'
6366
6514
  ]).nullish(),
6367
- general_wage_determination: z.string().nullish(),
6368
- pay_rates_rule_package_id: z.string().nullish()
6515
+ general_wage_determination: z.string().nullish()
6369
6516
  });
6370
6517
  /**
6371
6518
  * Parameters for creating a Regional (state prevailing-wage) wage determination on a project.
@@ -6378,7 +6525,6 @@ export const zRegionalProjectWageDeterminationParameters = z.object({
6378
6525
  fringe_rate_cents: z.string().optional(),
6379
6526
  general_wage_determination: z.string().nullish(),
6380
6527
  overtime_package_id: z.string().nullish(),
6381
- pay_rates_rule_package_id: z.string().nullish(),
6382
6528
  regional_fields: zRegionalWageDeterminationFields.optional()
6383
6529
  });
6384
6530
  /**
@@ -6394,7 +6540,6 @@ export const zProjectWageDeterminationParameters = z.discriminatedUnion('type',
6394
6540
  export const zProjectWageDeterminationUpdateParameters = z.object({
6395
6541
  effective_from: z.iso.date().optional(),
6396
6542
  overtime_package_id: z.string().nullish(),
6397
- pay_rates_rule_package_id: z.string().nullish(),
6398
6543
  labor_classification: z.string().optional(),
6399
6544
  pwa_trade_id: z.string().optional(),
6400
6545
  hourly_rate_cents: z.string().optional(),
@@ -6628,7 +6773,7 @@ export const zPayRatesRuleScheduledTerminationParameters = z.object({
6628
6773
  effective_date: z.iso.date()
6629
6774
  });
6630
6775
  /**
6631
- * Schedule a rule recipe change from a company-local effective date.
6776
+ * Schedule a rule recipe change from an effective date in the package's timezone, which is that of the project or job holding the package, else its company's.
6632
6777
  */
6633
6778
  export const zPayRatesRuleScheduledChangeParameters = z.object({
6634
6779
  effective_date: z.iso.date(),
@@ -7763,6 +7908,10 @@ export const zAssetsServiceScheduleSyncParameters = z.object({
7763
7908
  schedule_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).min(1).optional(),
7764
7909
  performed_by_user_id: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)
7765
7910
  });
7911
+ /**
7912
+ * Archive a competence standard. The body takes no fields; send an empty object or no body. Archiving an archived standard returns it unchanged.
7913
+ */
7914
+ export const zCompetencyStandardArchiveParametersWritable = z.record(z.string(), z.never());
7766
7915
  /**
7767
7916
  * Revoke an active grant. The body takes no fields; send an empty object or no body. Revocation sets revoked_at and keeps the row; revoking it again answers 409 authorization_revoked.
7768
7917
  */
@@ -9392,6 +9541,213 @@ export const zRevokeAssessorAuthorizationPath = z.object({
9392
9541
  * Created
9393
9542
  */
9394
9543
  export const zRevokeAssessorAuthorizationResponse = zCompetencyAssessorAuthorizationResponseObject;
9544
+ export const zListLevelsPath = z.object({
9545
+ standard_id: z.string(),
9546
+ version_id: z.string()
9547
+ });
9548
+ export const zListLevelsQuery = z.object({
9549
+ filter: z.string().optional(),
9550
+ 'filter[unexpected]': z.string().optional()
9551
+ });
9552
+ /**
9553
+ * Success
9554
+ */
9555
+ export const zListLevelsResponse = z.object({
9556
+ meta: zMeta,
9557
+ links: zLinks,
9558
+ data: z.array(zCompetencyLevelResponseObject)
9559
+ });
9560
+ export const zCreateLevelBody = zCompetencyLevelParameters;
9561
+ export const zCreateLevelPath = z.object({
9562
+ standard_id: z.string(),
9563
+ version_id: z.string()
9564
+ });
9565
+ /**
9566
+ * Created
9567
+ */
9568
+ export const zCreateLevelResponse = zCompetencyLevelResponseObject;
9569
+ export const zDeleteLevelPath = z.object({
9570
+ standard_id: z.string(),
9571
+ version_id: z.string(),
9572
+ id: z.string()
9573
+ });
9574
+ /**
9575
+ * No Content
9576
+ */
9577
+ export const zDeleteLevelResponse = z.void();
9578
+ export const zGetLevelPath = z.object({
9579
+ standard_id: z.string(),
9580
+ version_id: z.string(),
9581
+ id: z.string()
9582
+ });
9583
+ /**
9584
+ * Success
9585
+ */
9586
+ export const zGetLevelResponse = zCompetencyLevelResponseObject;
9587
+ export const zUpdateLevelBody = zCompetencyLevelParameters;
9588
+ export const zUpdateLevelPath = z.object({
9589
+ standard_id: z.string(),
9590
+ version_id: z.string(),
9591
+ id: z.string()
9592
+ });
9593
+ /**
9594
+ * Success
9595
+ */
9596
+ export const zUpdateLevelResponse = zCompetencyLevelResponseObject;
9597
+ export const zMoveCompetencyLevelBody = zCompetencySortOrderMoveParameters;
9598
+ export const zMoveCompetencyLevelPath = z.object({
9599
+ standard_id: z.string(),
9600
+ version_id: z.string(),
9601
+ level_id: z.string()
9602
+ });
9603
+ /**
9604
+ * Success
9605
+ */
9606
+ export const zMoveCompetencyLevelResponse = zCompetencyLevelResponseObject;
9607
+ export const zListKeyActivitiesPath = z.object({
9608
+ standard_id: z.string(),
9609
+ version_id: z.string(),
9610
+ level_id: z.string()
9611
+ });
9612
+ export const zListKeyActivitiesQuery = z.object({
9613
+ filter: z.string().optional(),
9614
+ 'filter[unexpected]': z.string().optional()
9615
+ });
9616
+ /**
9617
+ * Success
9618
+ */
9619
+ export const zListKeyActivitiesResponse = z.object({
9620
+ meta: zMeta,
9621
+ links: zLinks,
9622
+ data: z.array(zCompetencyKeyActivityResponseObject)
9623
+ });
9624
+ export const zCreateKeyActivityBody = zCompetencyKeyActivityParameters;
9625
+ export const zCreateKeyActivityPath = z.object({
9626
+ standard_id: z.string(),
9627
+ version_id: z.string(),
9628
+ level_id: z.string()
9629
+ });
9630
+ /**
9631
+ * Created
9632
+ */
9633
+ export const zCreateKeyActivityResponse = zCompetencyKeyActivityResponseObject;
9634
+ export const zDeleteKeyActivityPath = z.object({
9635
+ standard_id: z.string(),
9636
+ version_id: z.string(),
9637
+ level_id: z.string(),
9638
+ id: z.string()
9639
+ });
9640
+ /**
9641
+ * No Content
9642
+ */
9643
+ export const zDeleteKeyActivityResponse = z.void();
9644
+ export const zGetKeyActivityPath = z.object({
9645
+ standard_id: z.string(),
9646
+ version_id: z.string(),
9647
+ level_id: z.string(),
9648
+ id: z.string()
9649
+ });
9650
+ /**
9651
+ * Success
9652
+ */
9653
+ export const zGetKeyActivityResponse = zCompetencyKeyActivityResponseObject;
9654
+ export const zUpdateKeyActivityBody = zCompetencyKeyActivityParameters;
9655
+ export const zUpdateKeyActivityPath = z.object({
9656
+ standard_id: z.string(),
9657
+ version_id: z.string(),
9658
+ level_id: z.string(),
9659
+ id: z.string()
9660
+ });
9661
+ /**
9662
+ * Success
9663
+ */
9664
+ export const zUpdateKeyActivityResponse = zCompetencyKeyActivityResponseObject;
9665
+ export const zMoveCompetencyKeyActivityBody = zCompetencySortOrderMoveParameters;
9666
+ export const zMoveCompetencyKeyActivityPath = z.object({
9667
+ standard_id: z.string(),
9668
+ version_id: z.string(),
9669
+ level_id: z.string(),
9670
+ key_activity_id: z.string()
9671
+ });
9672
+ /**
9673
+ * Success
9674
+ */
9675
+ export const zMoveCompetencyKeyActivityResponse = zCompetencyKeyActivityResponseObject;
9676
+ export const zListCriteriaPath = z.object({
9677
+ standard_id: z.string(),
9678
+ version_id: z.string(),
9679
+ level_id: z.string(),
9680
+ key_activity_id: z.string()
9681
+ });
9682
+ export const zListCriteriaQuery = z.object({
9683
+ filter: z.string().optional(),
9684
+ 'filter[unexpected]': z.string().optional()
9685
+ });
9686
+ /**
9687
+ * Success
9688
+ */
9689
+ export const zListCriteriaResponse = z.object({
9690
+ meta: zMeta,
9691
+ links: zLinks,
9692
+ data: z.array(zCompetencyCriterionResponseObject)
9693
+ });
9694
+ export const zCreateCriterionBody = zCompetencyCriterionParameters;
9695
+ export const zCreateCriterionPath = z.object({
9696
+ standard_id: z.string(),
9697
+ version_id: z.string(),
9698
+ level_id: z.string(),
9699
+ key_activity_id: z.string()
9700
+ });
9701
+ /**
9702
+ * Created
9703
+ */
9704
+ export const zCreateCriterionResponse = zCompetencyCriterionResponseObject;
9705
+ export const zDeleteCriterionPath = z.object({
9706
+ standard_id: z.string(),
9707
+ version_id: z.string(),
9708
+ level_id: z.string(),
9709
+ key_activity_id: z.string(),
9710
+ id: z.string()
9711
+ });
9712
+ /**
9713
+ * No Content
9714
+ */
9715
+ export const zDeleteCriterionResponse = z.void();
9716
+ export const zGetCriterionPath = z.object({
9717
+ standard_id: z.string(),
9718
+ version_id: z.string(),
9719
+ level_id: z.string(),
9720
+ key_activity_id: z.string(),
9721
+ id: z.string()
9722
+ });
9723
+ /**
9724
+ * Success
9725
+ */
9726
+ export const zGetCriterionResponse = zCompetencyCriterionResponseObject;
9727
+ export const zUpdateCriterionBody = zCompetencyCriterionParameters;
9728
+ export const zUpdateCriterionPath = z.object({
9729
+ standard_id: z.string(),
9730
+ version_id: z.string(),
9731
+ level_id: z.string(),
9732
+ key_activity_id: z.string(),
9733
+ id: z.string()
9734
+ });
9735
+ /**
9736
+ * Success
9737
+ */
9738
+ export const zUpdateCriterionResponse = zCompetencyCriterionResponseObject;
9739
+ export const zMoveCompetencyCriterionBody = zCompetencySortOrderMoveParameters;
9740
+ export const zMoveCompetencyCriterionPath = z.object({
9741
+ standard_id: z.string(),
9742
+ version_id: z.string(),
9743
+ level_id: z.string(),
9744
+ key_activity_id: z.string(),
9745
+ criterion_id: z.string()
9746
+ });
9747
+ /**
9748
+ * Success
9749
+ */
9750
+ export const zMoveCompetencyCriterionResponse = zCompetencyCriterionResponseObject;
9395
9751
  export const zListQualificationsQuery = z.object({
9396
9752
  'filter[candidate_user_id]': z.string().optional(),
9397
9753
  'filter[competencies_standard_id]': z.string().optional(),
@@ -9417,6 +9773,136 @@ export const zGetQualificationPath = z.object({
9417
9773
  * Success
9418
9774
  */
9419
9775
  export const zGetQualificationResponse = zCompetencyQualificationResponseObject;
9776
+ export const zListStandardsQuery = z.object({
9777
+ 'filter[name]': z.string().optional(),
9778
+ 'filter[companies_department_id]': z.string().optional(),
9779
+ 'filter[catalog_status]': z.enum([
9780
+ 'active',
9781
+ 'draft',
9782
+ 'archived'
9783
+ ]).optional(),
9784
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
9785
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
9786
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
9787
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
9788
+ filter: z.string().optional(),
9789
+ 'filter[unexpected]': z.string().optional(),
9790
+ 'page[cursor]': z.string().optional(),
9791
+ 'page[limit]': z.int().gte(1).optional().default(20),
9792
+ page: z.string().optional()
9793
+ });
9794
+ /**
9795
+ * Success
9796
+ */
9797
+ export const zListStandardsResponse = z.object({
9798
+ meta: zMeta,
9799
+ links: zLinks,
9800
+ data: z.array(zCompetencyStandardResponseObject)
9801
+ });
9802
+ export const zCreateStandardBody = zCompetencyStandardParameters;
9803
+ /**
9804
+ * Created
9805
+ */
9806
+ export const zCreateStandardResponse = zCompetencyStandardResponseObject;
9807
+ export const zGetStandardPath = z.object({
9808
+ id: z.string()
9809
+ });
9810
+ /**
9811
+ * Success
9812
+ */
9813
+ export const zGetStandardResponse = zCompetencyStandardResponseObject;
9814
+ export const zUpdateStandardBody = zCompetencyStandardUpdateParameters;
9815
+ export const zUpdateStandardPath = z.object({
9816
+ id: z.string()
9817
+ });
9818
+ /**
9819
+ * Success
9820
+ */
9821
+ export const zUpdateStandardResponse = zCompetencyStandardResponseObject;
9822
+ export const zUnarchiveCompetencyStandardPath = z.object({
9823
+ standard_id: z.string()
9824
+ });
9825
+ /**
9826
+ * Success
9827
+ */
9828
+ export const zUnarchiveCompetencyStandardResponse = zCompetencyStandardResponseObject;
9829
+ export const zArchiveCompetencyStandardBody = zCompetencyStandardArchiveParametersWritable;
9830
+ export const zArchiveCompetencyStandardPath = z.object({
9831
+ standard_id: z.string()
9832
+ });
9833
+ /**
9834
+ * Created
9835
+ */
9836
+ export const zArchiveCompetencyStandardResponse = zCompetencyStandardResponseObject;
9837
+ export const zListCompetencyStandardVersionsPath = z.object({
9838
+ standard_id: z.string()
9839
+ });
9840
+ export const zListCompetencyStandardVersionsQuery = z.object({
9841
+ 'filter[status]': z.enum([
9842
+ 'draft',
9843
+ 'active',
9844
+ 'superseded'
9845
+ ]).optional(),
9846
+ 'filter[created_at][gte]': z.iso.datetime().optional(),
9847
+ 'filter[created_at][lte]': z.iso.datetime().optional(),
9848
+ 'filter[updated_at][gte]': z.iso.datetime().optional(),
9849
+ 'filter[updated_at][lte]': z.iso.datetime().optional(),
9850
+ filter: z.string().optional(),
9851
+ 'filter[unexpected]': z.string().optional(),
9852
+ 'page[cursor]': z.string().optional(),
9853
+ 'page[limit]': z.int().gte(1).optional().default(20),
9854
+ page: z.string().optional()
9855
+ });
9856
+ /**
9857
+ * Success
9858
+ */
9859
+ export const zListCompetencyStandardVersionsResponse = z.object({
9860
+ meta: zMeta,
9861
+ links: zLinks,
9862
+ data: z.array(zCompetencyStandardVersionResponseObject)
9863
+ });
9864
+ export const zCreateCompetencyStandardVersionBody = zCompetencyStandardVersionParameters;
9865
+ export const zCreateCompetencyStandardVersionPath = z.object({
9866
+ standard_id: z.string()
9867
+ });
9868
+ /**
9869
+ * Created
9870
+ */
9871
+ export const zCreateCompetencyStandardVersionResponse = zCompetencyStandardVersionResponseObject;
9872
+ export const zDeleteCompetencyStandardVersionPath = z.object({
9873
+ standard_id: z.string(),
9874
+ id: z.string()
9875
+ });
9876
+ /**
9877
+ * No Content
9878
+ */
9879
+ export const zDeleteCompetencyStandardVersionResponse = z.void();
9880
+ export const zGetCompetencyStandardVersionPath = z.object({
9881
+ standard_id: z.string(),
9882
+ id: z.string()
9883
+ });
9884
+ /**
9885
+ * Success
9886
+ */
9887
+ export const zGetCompetencyStandardVersionResponse = zCompetencyStandardVersionResponseObject;
9888
+ export const zUpdateCompetencyStandardVersionBody = zCompetencyStandardVersionParameters;
9889
+ export const zUpdateCompetencyStandardVersionPath = z.object({
9890
+ standard_id: z.string(),
9891
+ id: z.string()
9892
+ });
9893
+ /**
9894
+ * Success
9895
+ */
9896
+ export const zUpdateCompetencyStandardVersionResponse = zCompetencyStandardVersionResponseObject;
9897
+ export const zPromoteCompetencyStandardVersionBody = zCompetencyStandardVersionPromotionParameters;
9898
+ export const zPromoteCompetencyStandardVersionPath = z.object({
9899
+ standard_id: z.string(),
9900
+ version_id: z.string()
9901
+ });
9902
+ /**
9903
+ * Created
9904
+ */
9905
+ export const zPromoteCompetencyStandardVersionResponse = zCompetencyStandardVersionResponseObject;
9420
9906
  export const zListChecksQuery = z.object({
9421
9907
  'filter[status]': z.enum([
9422
9908
  'passed',