@dsptch-work/api-client 0.43.0 → 0.44.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.
- package/CHANGELOG.md +44 -0
- package/dist/gen/sdk.gen.d.ts +9 -3
- package/dist/gen/sdk.gen.js +9 -3
- package/dist/gen/types.gen.d.ts +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,50 @@ All notable changes to `@dsptch-work/api-client` are documented here. The format
|
|
|
5
5
|
[Semantic Versioning](https://semver.org) — currently `0.x`, so breaking changes may land in a
|
|
6
6
|
minor bump until `1.0.0`. See [RELEASING.md](./RELEASING.md) for the release and versioning process.
|
|
7
7
|
|
|
8
|
+
## [0.44.0] - 2026-10-26
|
|
9
|
+
|
|
10
|
+
Generated method signatures, request/response types, and Zod validators are unchanged.
|
|
11
|
+
The validation changes below are enforced by the API.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- `Todos.listTodoInbox()` includes highlighted compliance checks awaiting an approval decision,
|
|
16
|
+
alongside failed checks. Handle `status: 'pending'` on `TodoInboxComplianceCheckResponseObject`;
|
|
17
|
+
that enum value already existed, and no response shape or generated type changes.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- **Breaking runtime validation:** `Users.createUser()` requires `body.hire_date` when the
|
|
22
|
+
company has no configured time zone; omission returns `400`. Supply a `YYYY-MM-DD` date or
|
|
23
|
+
configure the company time zone. `UserParameters.hire_date` remains optional, and
|
|
24
|
+
`zUserParameters` / `zCreateUserBody` cannot enforce this company-dependent requirement.
|
|
25
|
+
- **Breaking runtime validation:** `Jobs.updateJob()` with `body.project_id` and
|
|
26
|
+
`Projects.updateProject()` with `body.parent_id` return `422` when the move would collide
|
|
27
|
+
wage-determination classifications or combine opposite apprentice-scope decisions.
|
|
28
|
+
`PwaTrades.createMerge()` also refuses opposite scope decisions with `422` at
|
|
29
|
+
`#/target_trade_id`. Resolve the reported conflict before retrying; generated request
|
|
30
|
+
types and validators are unchanged.
|
|
31
|
+
- **Breaking runtime validation:** `TimeEntryImports.createTimeEntryImport()` now requires a
|
|
32
|
+
schedule that keeps time entries, and `CprImports.createDsptchCprImport()` requires both
|
|
33
|
+
aggregate time and aggregate payroll; incompatible schedules return `422`.
|
|
34
|
+
`AggregateTimeImports.createAggregateTimeImport()` additionally accepts aggregate-time
|
|
35
|
+
schedules with no payroll. Generated signatures and Zod schemas are unchanged; the API
|
|
36
|
+
enforces schedule eligibility.
|
|
37
|
+
- **Breaking runtime validation:** on-cycle `PaystubImports.createPaystubImport()` and
|
|
38
|
+
`WidePaystubImports.createWidePaystubImport()` require a schedule paid from paystubs
|
|
39
|
+
(base payroll), otherwise returning `422`. Off-cycle imports remain independent of time
|
|
40
|
+
and payroll mode; both formats still refuse a connected payroll provider, and wide
|
|
41
|
+
imports still require an external-map contributor. Import creation now checks permissions
|
|
42
|
+
before schedule eligibility or queued-import conflicts, so unauthorized callers receive
|
|
43
|
+
`403` before those `422` / `409` responses.
|
|
44
|
+
- `Jobs.listPositions()` / `getPosition()` return unique, currently effective IDs in
|
|
45
|
+
`PositionResponseObject.federal_wage_determination_ids` and
|
|
46
|
+
`regional_wage_determination_ids`, without expired or future assignments. Array types are
|
|
47
|
+
unchanged; consumers should not use these fields as assignment history.
|
|
48
|
+
|
|
49
|
+
See the [October 26 API changelog](https://dsptch.app/support/docs/developers/api-changelog#2026-10-26)
|
|
50
|
+
for the full REST behavior changes.
|
|
51
|
+
|
|
8
52
|
## [0.43.0] - 2026-10-22
|
|
9
53
|
|
|
10
54
|
### Added
|
package/dist/gen/sdk.gen.d.ts
CHANGED
|
@@ -3132,6 +3132,11 @@ export declare class PwaTrades {
|
|
|
3132
3132
|
* decisions carry over where the target holds none of its own, and the emptied
|
|
3133
3133
|
* craft is deleted — all in one transaction.
|
|
3134
3134
|
*
|
|
3135
|
+
* A merge is refused (422) when the two crafts decided an occupation's apprentice
|
|
3136
|
+
* scope opposite ways, in scope on one and out of scope on the other. The detail
|
|
3137
|
+
* lists each clash and the employer companies of the occupation's program, whose
|
|
3138
|
+
* admins and managers can change either decision or remove one. Nothing changes.
|
|
3139
|
+
*
|
|
3135
3140
|
* Use this rather than `DELETE` when the craft still groups determinations:
|
|
3136
3141
|
* deleting one is refused precisely because it would orphan them, and merging
|
|
3137
3142
|
* moves them first.
|
|
@@ -6982,9 +6987,10 @@ export declare class Todos {
|
|
|
6982
6987
|
/**
|
|
6983
6988
|
* List Todos
|
|
6984
6989
|
*
|
|
6985
|
-
* List your company's open work in one list: todos that are not yet completed, and
|
|
6986
|
-
* compliance checks on a requirement your company has highlighted
|
|
6987
|
-
*
|
|
6990
|
+
* List your company's open work in one list: todos that are not yet completed, and
|
|
6991
|
+
* compliance checks on a requirement your company has highlighted that are failing or
|
|
6992
|
+
* waiting for an approval decision (`status` is `failed` or `pending`). Entries come
|
|
6993
|
+
* back soonest-due first, with undated entries last.
|
|
6988
6994
|
*
|
|
6989
6995
|
* Read `kind` on an entry before anything else — a `todo` and a `compliance_check` are
|
|
6990
6996
|
* different resources, with different fields and separate id spaces. Both also carry a
|
package/dist/gen/sdk.gen.js
CHANGED
|
@@ -5200,6 +5200,11 @@ export class PwaTrades {
|
|
|
5200
5200
|
* decisions carry over where the target holds none of its own, and the emptied
|
|
5201
5201
|
* craft is deleted — all in one transaction.
|
|
5202
5202
|
*
|
|
5203
|
+
* A merge is refused (422) when the two crafts decided an occupation's apprentice
|
|
5204
|
+
* scope opposite ways, in scope on one and out of scope on the other. The detail
|
|
5205
|
+
* lists each clash and the employer companies of the occupation's program, whose
|
|
5206
|
+
* admins and managers can change either decision or remove one. Nothing changes.
|
|
5207
|
+
*
|
|
5203
5208
|
* Use this rather than `DELETE` when the craft still groups determinations:
|
|
5204
5209
|
* deleting one is refused precisely because it would orphan them, and merging
|
|
5205
5210
|
* moves them first.
|
|
@@ -11117,9 +11122,10 @@ export class Todos {
|
|
|
11117
11122
|
/**
|
|
11118
11123
|
* List Todos
|
|
11119
11124
|
*
|
|
11120
|
-
* List your company's open work in one list: todos that are not yet completed, and
|
|
11121
|
-
* compliance checks on a requirement your company has highlighted
|
|
11122
|
-
*
|
|
11125
|
+
* List your company's open work in one list: todos that are not yet completed, and
|
|
11126
|
+
* compliance checks on a requirement your company has highlighted that are failing or
|
|
11127
|
+
* waiting for an approval decision (`status` is `failed` or `pending`). Entries come
|
|
11128
|
+
* back soonest-due first, with undated entries last.
|
|
11123
11129
|
*
|
|
11124
11130
|
* Read `kind` on an entry before anything else — a `todo` and a `compliance_check` are
|
|
11125
11131
|
* different resources, with different fields and separate id spaces. Both also carry a
|
package/dist/gen/types.gen.d.ts
CHANGED
|
@@ -5911,7 +5911,7 @@ export type UserParameters = {
|
|
|
5911
5911
|
*/
|
|
5912
5912
|
skip_invite?: boolean;
|
|
5913
5913
|
/**
|
|
5914
|
-
* First day of employment (YYYY-MM-DD). Sets the start of the employment record; defaults to today in your company's time zone when omitted. Null, blank text, or any other form answers 422.
|
|
5914
|
+
* First day of employment (YYYY-MM-DD). Sets the start of the employment record; defaults to today in your company's time zone when omitted. Required while your company has no time zone set; omitting it then answers 400. Null, blank text, or any other form answers 422.
|
|
5915
5915
|
*/
|
|
5916
5916
|
hire_date?: string;
|
|
5917
5917
|
/**
|