@dsptch-work/api-client 0.51.1 → 0.52.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.
@@ -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',
@@ -3780,6 +3789,19 @@ export const zJobTimeCardDayResponseObject = z.object({
3780
3789
  created_at: z.iso.datetime(),
3781
3790
  updated_at: z.iso.datetime()
3782
3791
  });
3792
+ /**
3793
+ * 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.
3794
+ */
3795
+ export const zJobTimeCardDayUpdateParameters = z.object({
3796
+ overtime_minutes_worked: z.object({
3797
+ 1: z.int().gte(0),
3798
+ 1.5: z.int().gte(0),
3799
+ 2: z.int().gte(0)
3800
+ }).optional(),
3801
+ pay_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).optional(),
3802
+ one_five_x_adder_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).optional(),
3803
+ two_x_adder_cents: z.string().regex(/^[0-9]+(\.[0-9]+)?$/).optional()
3804
+ });
3783
3805
  /**
3784
3806
  * 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
3807
  */
@@ -6041,6 +6063,7 @@ export const zProductionJobScopePriceResponseObject = z.object({
6041
6063
  export const zProductionPlannedFeatureTaskParameters = z.object({
6042
6064
  name: z.string().optional(),
6043
6065
  description: z.string().nullish(),
6066
+ planned_start_date: z.iso.date().nullish(),
6044
6067
  time_due: z.iso.datetime().nullish(),
6045
6068
  tz_name: z.string().optional(),
6046
6069
  task_assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
@@ -6053,6 +6076,7 @@ export const zProductionPlannedFeatureTaskParameters = z.object({
6053
6076
  export const zProductionPlannedFeatureTaskUpdateParameters = z.object({
6054
6077
  name: z.string().optional(),
6055
6078
  description: z.string().nullish(),
6079
+ planned_start_date: z.iso.date().nullish(),
6056
6080
  time_due: z.iso.datetime().nullish(),
6057
6081
  tz_name: z.string().optional(),
6058
6082
  task_assignee_user_ids: z.array(z.string().regex(/[^\x09-\x0D\x20…   - ‧-‪   ]|[‧‪]/)).optional(),
@@ -6077,12 +6101,68 @@ export const zProductionPlannedFeatureTaskResponseObject = z.object({
6077
6101
  archived_at: z.iso.datetime().nullable(),
6078
6102
  name: z.string(),
6079
6103
  description: z.string(),
6104
+ planned_start_date: z.iso.date().nullable(),
6080
6105
  time_due: z.iso.datetime().nullable(),
6081
6106
  tz_name: z.string(),
6082
6107
  task_assignee_user_ids: z.array(z.string()),
6083
6108
  created_at: z.iso.datetime(),
6084
6109
  updated_at: z.iso.datetime()
6085
6110
  });
6111
+ /**
6112
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
6113
+ */
6114
+ export const zProductionPhaseParameters = z.object({
6115
+ name: z.string(),
6116
+ description: z.string().nullish(),
6117
+ planned_start_date: z.iso.date().nullish(),
6118
+ time_due: z.iso.datetime().nullish(),
6119
+ tz_name: z.string().optional(),
6120
+ 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()
6121
+ });
6122
+ /**
6123
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
6124
+ */
6125
+ export const zProductionPhaseUpdateParameters = z.object({
6126
+ name: z.string().optional(),
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 zProductionPhaseArchiveParameters = z.object({
6137
+ archived: z.boolean(),
6138
+ 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()
6139
+ });
6140
+ /**
6141
+ * Optional phase planning and explicit retained work facts, independently of whole-service completion.
6142
+ */
6143
+ export const zProductionPhaseResponseObject = z.object({
6144
+ id: z.string(),
6145
+ production_planned_feature_task_id: z.string(),
6146
+ production_job_scope_price_id: z.string(),
6147
+ task_id: z.string(),
6148
+ name: z.string(),
6149
+ description: z.string(),
6150
+ planned_start_date: z.iso.date().nullable(),
6151
+ time_due: z.iso.datetime().nullable(),
6152
+ tz_name: z.string(),
6153
+ actual_start_date: z.iso.date().nullable(),
6154
+ archived_at: z.iso.datetime().nullable(),
6155
+ created_at: z.iso.datetime(),
6156
+ updated_at: z.iso.datetime(),
6157
+ completion: z.object({
6158
+ id: z.string(),
6159
+ work_date: z.iso.date(),
6160
+ notes: z.string().nullable(),
6161
+ created_by_user_id: z.string(),
6162
+ position_ids: z.array(z.string()),
6163
+ withdrawn_at: z.iso.datetime().nullable()
6164
+ }).nullable()
6165
+ });
6086
6166
  /**
6087
6167
  * 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
6168
  */
@@ -11734,6 +11814,69 @@ export const zUpdateArchivePath = z.object({
11734
11814
  * Success
11735
11815
  */
11736
11816
  export const zUpdateArchiveResponse = zProductionPlannedFeatureTaskResponseObject;
11817
+ export const zListPhasesPath = z.object({
11818
+ job_id: z.string(),
11819
+ job_scope_price_id: z.string(),
11820
+ planned_feature_task_id: z.string()
11821
+ });
11822
+ export const zListPhasesQuery = z.object({
11823
+ 'filter[archived]': z.boolean().optional(),
11824
+ filter: z.string().optional(),
11825
+ 'filter[unexpected]': z.string().optional(),
11826
+ 'page[cursor]': z.string().optional(),
11827
+ 'page[limit]': z.int().gte(1).optional().default(20),
11828
+ page: z.string().optional()
11829
+ });
11830
+ /**
11831
+ * Success
11832
+ */
11833
+ export const zListPhasesResponse = z.object({
11834
+ meta: zMeta,
11835
+ links: zLinks,
11836
+ data: z.array(zProductionPhaseResponseObject)
11837
+ });
11838
+ export const zCreatePhaseBody = zProductionPhaseParameters;
11839
+ export const zCreatePhasePath = z.object({
11840
+ job_id: z.string(),
11841
+ job_scope_price_id: z.string(),
11842
+ planned_feature_task_id: z.string()
11843
+ });
11844
+ /**
11845
+ * Created
11846
+ */
11847
+ export const zCreatePhaseResponse = zProductionPhaseResponseObject;
11848
+ export const zGetPhasePath = z.object({
11849
+ job_id: z.string(),
11850
+ job_scope_price_id: z.string(),
11851
+ planned_feature_task_id: z.string(),
11852
+ id: z.string()
11853
+ });
11854
+ /**
11855
+ * Success
11856
+ */
11857
+ export const zGetPhaseResponse = zProductionPhaseResponseObject;
11858
+ export const zUpdatePhaseBody = zProductionPhaseUpdateParameters;
11859
+ export const zUpdatePhasePath = z.object({
11860
+ job_id: z.string(),
11861
+ job_scope_price_id: z.string(),
11862
+ planned_feature_task_id: z.string(),
11863
+ id: z.string()
11864
+ });
11865
+ /**
11866
+ * Success
11867
+ */
11868
+ export const zUpdatePhaseResponse = zProductionPhaseResponseObject;
11869
+ export const zSetPhaseArchiveBody = zProductionPhaseArchiveParameters;
11870
+ export const zSetPhaseArchivePath = z.object({
11871
+ job_id: z.string(),
11872
+ job_scope_price_id: z.string(),
11873
+ planned_feature_task_id: z.string(),
11874
+ phase_id: z.string()
11875
+ });
11876
+ /**
11877
+ * Success
11878
+ */
11879
+ export const zSetPhaseArchiveResponse = zProductionPhaseResponseObject;
11737
11880
  export const zListPlannedFeatureTasksPath = z.object({
11738
11881
  job_id: z.string(),
11739
11882
  job_scope_price_id: z.string()
@@ -15008,6 +15151,14 @@ export const zGetJobTimeCardDayPath = z.object({
15008
15151
  * Success
15009
15152
  */
15010
15153
  export const zGetJobTimeCardDayResponse = zJobTimeCardDayResponseObject;
15154
+ export const zUpdateJobTimeCardDayBody = zJobTimeCardDayUpdateParameters;
15155
+ export const zUpdateJobTimeCardDayPath = z.object({
15156
+ id: z.string()
15157
+ });
15158
+ /**
15159
+ * Success
15160
+ */
15161
+ export const zUpdateJobTimeCardDayResponse = zJobTimeCardDayResponseObject;
15011
15162
  export const zCreateManagerTimeEntryApprovalBody = zManagerTimeEntryApprovalParameters;
15012
15163
  export const zCreateManagerTimeEntryApprovalPath = z.object({
15013
15164
  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.0",
4
4
  "description": "Generated TypeScript client for the DSPTCH REST API.",
5
5
  "keywords": [
6
6
  "dsptch",