@dsptch-work/api-client 0.51.1 → 0.52.1

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.
@@ -234,6 +234,12 @@ export const zProblem = z.object({
234
234
  *
235
235
  * ## 422
236
236
  *
237
+ * ### aggregate_time_mode_required
238
+ *
239
+ * **Aggregate Time Mode Required**
240
+ *
241
+ * Writing a job time card day is only supported when that day's pay schedule keeps time in aggregate mode. A day on a base-mode schedule cannot be written this way; record that time through time entries instead.
242
+ *
237
243
  * ### attachment_not_image
238
244
  *
239
245
  * **Attachment Not An Image**
@@ -433,6 +439,7 @@ export const zProblemTypeCatalog = z.enum([
433
439
  'span_beyond_timeline_end',
434
440
  'version_overlap',
435
441
  'precondition_failed',
442
+ 'aggregate_time_mode_required',
436
443
  'attachment_not_image',
437
444
  'certified_payroll_export_blocked',
438
445
  'certified_payroll_format_unavailable',
@@ -640,6 +647,7 @@ export const zCompetencyCriterionResponseObject = z.object({
640
647
  number: z.string().nullable(),
641
648
  body: z.string().nullable(),
642
649
  evidence_note: z.string().nullable(),
650
+ allow_not_applicable: z.boolean(),
643
651
  assessment_methods: z.array(z.enum([
644
652
  'direct_observation',
645
653
  'simulation',
@@ -660,6 +668,7 @@ export const zCompetencyCriterionParameters = z.object({
660
668
  number: z.string().nullish(),
661
669
  body: z.string().nullish(),
662
670
  evidence_note: z.string().nullish(),
671
+ allow_not_applicable: z.boolean().optional(),
663
672
  assessment_methods: z.array(z.enum([
664
673
  'direct_observation',
665
674
  'simulation',
@@ -778,6 +787,7 @@ export const zCompetencyAssessmentCriterionResponseObject = z.object({
778
787
  assessed_at: z.iso.datetime().nullable(),
779
788
  carried_from_id: z.string().nullable(),
780
789
  decided_at: z.iso.datetime().nullable(),
790
+ not_applicable: z.boolean(),
781
791
  decision: z.enum([
782
792
  'pending',
783
793
  'competent',
@@ -3780,6 +3790,19 @@ export const zJobTimeCardDayResponseObject = z.object({
3780
3790
  created_at: z.iso.datetime(),
3781
3791
  updated_at: z.iso.datetime()
3782
3792
  });
3793
+ /**
3794
+ * Partial update of an aggregate-mode job time card day. Send only the fields to change; omitted fields keep their current values. Minutes are integer minutes, not GUI hours. Derived totals such as minutes_worked and cumulatives are not writable.
3795
+ */
3796
+ export const zJobTimeCardDayUpdateParameters = z.object({
3797
+ overtime_minutes_worked: z.object({
3798
+ 1: z.int().gte(0),
3799
+ 1.5: z.int().gte(0),
3800
+ 2: z.int().gte(0)
3801
+ }).optional(),
3802
+ pay_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).optional(),
3803
+ one_five_x_adder_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).optional(),
3804
+ two_x_adder_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).optional()
3805
+ });
3783
3806
  /**
3784
3807
  * A single approval event on a time card. Manager and worker approvals are both recorded here; which role filed it is conveyed by the endpoint, not the payload.
3785
3808
  */
@@ -4455,6 +4478,16 @@ export const zSiteCheckInResponseObject = z.object({
4455
4478
  site_contact_last_name: z.string().nullable(),
4456
4479
  employer_name: z.string().nullable(),
4457
4480
  description: z.string().nullable(),
4481
+ visit_reason: z.enum([
4482
+ 'om_team',
4483
+ 'oem_service_tickets',
4484
+ 'owners_visit',
4485
+ 'warranty_service',
4486
+ 'audit_inspections',
4487
+ 'regulatory_compliance',
4488
+ 'third_party_vendor_support',
4489
+ 'other'
4490
+ ]).nullable(),
4458
4491
  rationale: z.string().nullable(),
4459
4492
  source: z.enum([
4460
4493
  'manual',
@@ -6041,6 +6074,7 @@ export const zProductionJobScopePriceResponseObject = z.object({
6041
6074
  export const zProductionPlannedFeatureTaskParameters = z.object({
6042
6075
  name: z.string().optional(),
6043
6076
  description: z.string().nullish(),
6077
+ planned_start_date: z.iso.date().nullish(),
6044
6078
  time_due: z.iso.datetime().nullish(),
6045
6079
  tz_name: z.string().optional(),
6046
6080
  task_assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
@@ -6053,6 +6087,7 @@ export const zProductionPlannedFeatureTaskParameters = z.object({
6053
6087
  export const zProductionPlannedFeatureTaskUpdateParameters = z.object({
6054
6088
  name: z.string().optional(),
6055
6089
  description: z.string().nullish(),
6090
+ planned_start_date: z.iso.date().nullish(),
6056
6091
  time_due: z.iso.datetime().nullish(),
6057
6092
  tz_name: z.string().optional(),
6058
6093
  task_assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
@@ -6077,12 +6112,68 @@ export const zProductionPlannedFeatureTaskResponseObject = z.object({
6077
6112
  archived_at: z.iso.datetime().nullable(),
6078
6113
  name: z.string(),
6079
6114
  description: z.string(),
6115
+ planned_start_date: z.iso.date().nullable(),
6080
6116
  time_due: z.iso.datetime().nullable(),
6081
6117
  tz_name: z.string(),
6082
6118
  task_assignee_user_ids: z.array(z.string()),
6083
6119
  created_at: z.iso.datetime(),
6084
6120
  updated_at: z.iso.datetime()
6085
6121
  });
6122
+ /**
6123
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
6124
+ */
6125
+ export const zProductionPhaseParameters = z.object({
6126
+ name: z.string(),
6127
+ description: z.string().nullish(),
6128
+ planned_start_date: z.iso.date().nullish(),
6129
+ time_due: z.iso.datetime().nullish(),
6130
+ tz_name: z.string().optional(),
6131
+ performed_by_user_id: z.string().max(36).regex(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/).optional()
6132
+ });
6133
+ /**
6134
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
6135
+ */
6136
+ export const zProductionPhaseUpdateParameters = z.object({
6137
+ name: z.string().optional(),
6138
+ description: z.string().nullish(),
6139
+ planned_start_date: z.iso.date().nullish(),
6140
+ time_due: z.iso.datetime().nullish(),
6141
+ tz_name: z.string().optional(),
6142
+ performed_by_user_id: z.string().max(36).regex(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/).optional()
6143
+ });
6144
+ /**
6145
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
6146
+ */
6147
+ export const zProductionPhaseArchiveParameters = z.object({
6148
+ archived: z.boolean(),
6149
+ performed_by_user_id: z.string().max(36).regex(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/).optional()
6150
+ });
6151
+ /**
6152
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
6153
+ */
6154
+ export const zProductionPhaseResponseObject = z.object({
6155
+ id: z.string(),
6156
+ production_planned_feature_task_id: z.string(),
6157
+ production_job_scope_price_id: z.string(),
6158
+ task_id: z.string(),
6159
+ name: z.string(),
6160
+ description: z.string(),
6161
+ planned_start_date: z.iso.date().nullable(),
6162
+ time_due: z.iso.datetime().nullable(),
6163
+ tz_name: z.string(),
6164
+ actual_start_date: z.iso.date().nullable(),
6165
+ archived_at: z.iso.datetime().nullable(),
6166
+ created_at: z.iso.datetime(),
6167
+ updated_at: z.iso.datetime(),
6168
+ completion: z.object({
6169
+ id: z.string(),
6170
+ work_date: z.iso.date(),
6171
+ notes: z.string().nullable(),
6172
+ created_by_user_id: z.string(),
6173
+ position_ids: z.array(z.string()),
6174
+ withdrawn_at: z.iso.datetime().nullable()
6175
+ }).nullable()
6176
+ });
6086
6177
  /**
6087
6178
  * Create a dated commitment on a Feature-tracked Job scope. The date and condition object are required; condition.requirement_kind is required. Omission answers 400. The server chooses and owns the condition type and identity. A Quantity-tracked scope answers 422. No performed_by_user_id is required or accepted; audit records the authenticated user, or null for a company key.
6088
6179
  */
@@ -8132,6 +8223,7 @@ export const zAssetsSiteResponseObject = z.object({
8132
8223
  name: z.string(),
8133
8224
  site_type: z.string().nullable(),
8134
8225
  responsible_user_ids: z.array(z.string()),
8226
+ archived_at: z.iso.datetime().nullable(),
8135
8227
  created_at: z.iso.datetime(),
8136
8228
  updated_at: z.iso.datetime()
8137
8229
  });
@@ -8144,6 +8236,10 @@ export const zAssetsSiteParameters = z.object({
8144
8236
  name: z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/).nullish(),
8145
8237
  responsible_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional()
8146
8238
  });
8239
+ /**
8240
+ * Archive a site. The body takes no fields; send an empty object or no body. Archiving an archived site returns it unchanged.
8241
+ */
8242
+ export const zAssetsSiteArchiveParameters = z.record(z.string(), z.never());
8147
8243
  /**
8148
8244
  * Request body for updating an asset location. Every field is optional; send only the fields to change. The saved location must still have a name or a backing `site_id`.
8149
8245
  */
@@ -9131,6 +9227,10 @@ export const zUserCertificationsResponseObjWritable = z.object({
9131
9227
  links: zLinks,
9132
9228
  data: z.array(zUserCertificationResponseObjectWritable)
9133
9229
  });
9230
+ /**
9231
+ * Archive a site. The body takes no fields; send an empty object or no body. Archiving an archived site returns it unchanged.
9232
+ */
9233
+ export const zAssetsSiteArchiveParametersWritable = z.record(z.string(), z.never());
9134
9234
  /**
9135
9235
  * Success
9136
9236
  */
@@ -10225,6 +10325,7 @@ export const zListProductDocumentVersionsResponse = z.object({
10225
10325
  data: z.array(zAssetsDocumentVersionResponseObject)
10226
10326
  });
10227
10327
  export const zListAssetsSitesQuery = z.object({
10328
+ 'filter[state]': z.string().optional(),
10228
10329
  'filter[created_at][gte]': z.iso.datetime().optional(),
10229
10330
  'filter[created_at][lte]': z.iso.datetime().optional(),
10230
10331
  'filter[updated_at][gte]': z.iso.datetime().optional(),
@@ -10270,6 +10371,21 @@ export const zUpdateSitePath = z.object({
10270
10371
  * Success
10271
10372
  */
10272
10373
  export const zUpdateSiteResponse = zAssetsSiteResponseObject;
10374
+ export const zUnarchiveAssetsSitePath = z.object({
10375
+ site_id: z.string()
10376
+ });
10377
+ /**
10378
+ * Success
10379
+ */
10380
+ export const zUnarchiveAssetsSiteResponse = zAssetsSiteResponseObject;
10381
+ export const zArchiveAssetsSiteBody = zAssetsSiteArchiveParametersWritable;
10382
+ export const zArchiveAssetsSitePath = z.object({
10383
+ site_id: z.string()
10384
+ });
10385
+ /**
10386
+ * Created
10387
+ */
10388
+ export const zArchiveAssetsSiteResponse = zAssetsSiteResponseObject;
10273
10389
  export const zListSubLocationsQuery = z.object({
10274
10390
  'filter[assets_site_id]': z.string().optional(),
10275
10391
  'filter[container_item_id]': z.string().optional(),
@@ -11734,6 +11850,69 @@ export const zUpdateArchivePath = z.object({
11734
11850
  * Success
11735
11851
  */
11736
11852
  export const zUpdateArchiveResponse = zProductionPlannedFeatureTaskResponseObject;
11853
+ export const zListPhasesPath = z.object({
11854
+ job_id: z.string(),
11855
+ job_scope_price_id: z.string(),
11856
+ planned_feature_task_id: z.string()
11857
+ });
11858
+ export const zListPhasesQuery = z.object({
11859
+ 'filter[archived]': z.boolean().optional(),
11860
+ filter: z.string().optional(),
11861
+ 'filter[unexpected]': z.string().optional(),
11862
+ 'page[cursor]': z.string().optional(),
11863
+ 'page[limit]': z.int().gte(1).optional().default(20),
11864
+ page: z.string().optional()
11865
+ });
11866
+ /**
11867
+ * Success
11868
+ */
11869
+ export const zListPhasesResponse = z.object({
11870
+ meta: zMeta,
11871
+ links: zLinks,
11872
+ data: z.array(zProductionPhaseResponseObject)
11873
+ });
11874
+ export const zCreatePhaseBody = zProductionPhaseParameters;
11875
+ export const zCreatePhasePath = z.object({
11876
+ job_id: z.string(),
11877
+ job_scope_price_id: z.string(),
11878
+ planned_feature_task_id: z.string()
11879
+ });
11880
+ /**
11881
+ * Created
11882
+ */
11883
+ export const zCreatePhaseResponse = zProductionPhaseResponseObject;
11884
+ export const zGetPhasePath = z.object({
11885
+ job_id: z.string(),
11886
+ job_scope_price_id: z.string(),
11887
+ planned_feature_task_id: z.string(),
11888
+ id: z.string()
11889
+ });
11890
+ /**
11891
+ * Success
11892
+ */
11893
+ export const zGetPhaseResponse = zProductionPhaseResponseObject;
11894
+ export const zUpdatePhaseBody = zProductionPhaseUpdateParameters;
11895
+ export const zUpdatePhasePath = z.object({
11896
+ job_id: z.string(),
11897
+ job_scope_price_id: z.string(),
11898
+ planned_feature_task_id: z.string(),
11899
+ id: z.string()
11900
+ });
11901
+ /**
11902
+ * Success
11903
+ */
11904
+ export const zUpdatePhaseResponse = zProductionPhaseResponseObject;
11905
+ export const zSetPhaseArchiveBody = zProductionPhaseArchiveParameters;
11906
+ export const zSetPhaseArchivePath = z.object({
11907
+ job_id: z.string(),
11908
+ job_scope_price_id: z.string(),
11909
+ planned_feature_task_id: z.string(),
11910
+ phase_id: z.string()
11911
+ });
11912
+ /**
11913
+ * Success
11914
+ */
11915
+ export const zSetPhaseArchiveResponse = zProductionPhaseResponseObject;
11737
11916
  export const zListPlannedFeatureTasksPath = z.object({
11738
11917
  job_id: z.string(),
11739
11918
  job_scope_price_id: z.string()
@@ -15008,6 +15187,14 @@ export const zGetJobTimeCardDayPath = z.object({
15008
15187
  * Success
15009
15188
  */
15010
15189
  export const zGetJobTimeCardDayResponse = zJobTimeCardDayResponseObject;
15190
+ export const zUpdateJobTimeCardDayBody = zJobTimeCardDayUpdateParameters;
15191
+ export const zUpdateJobTimeCardDayPath = z.object({
15192
+ id: z.string()
15193
+ });
15194
+ /**
15195
+ * Success
15196
+ */
15197
+ export const zUpdateJobTimeCardDayResponse = zJobTimeCardDayResponseObject;
15011
15198
  export const zCreateManagerTimeEntryApprovalBody = zManagerTimeEntryApprovalParameters;
15012
15199
  export const zCreateManagerTimeEntryApprovalPath = z.object({
15013
15200
  time_entry_id: z.string()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dsptch-work/api-client",
3
- "version": "0.51.1",
3
+ "version": "0.52.1",
4
4
  "description": "Generated TypeScript client for the DSPTCH REST API.",
5
5
  "keywords": [
6
6
  "dsptch",