@camunda8/orchestration-cluster-api 8.9.0-alpha.32 → 8.9.0-alpha.34
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 +16 -0
- package/README.md +98 -0
- package/dist/{chunk-5B3A2LNR.js → chunk-DP5HJTAU.js} +3 -3
- package/dist/{chunk-5B3A2LNR.js.map → chunk-DP5HJTAU.js.map} +1 -1
- package/dist/fp/index.cjs +2 -2
- package/dist/fp/index.cjs.map +1 -1
- package/dist/fp/index.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
# [8.9.0-alpha.34](https://github.com/camunda/orchestration-cluster-api-js/compare/v8.9.0-alpha.33...v8.9.0-alpha.34) (2026-04-09)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* add missing examples for all template methods (green) ([6fabac5](https://github.com/camunda/orchestration-cluster-api-js/commit/6fabac5bf3423037d4d7d05d9c176d0a45422b5c)), closes [#122](https://github.com/camunda/orchestration-cluster-api-js/issues/122)
|
|
7
|
+
* Update scripts/check-method-example-completeness.cjs ([8503c12](https://github.com/camunda/orchestration-cluster-api-js/commit/8503c120b65bf4002fbe153e1b790ed6e2342130))
|
|
8
|
+
|
|
9
|
+
# [8.9.0-alpha.33](https://github.com/camunda/orchestration-cluster-api-js/compare/v8.9.0-alpha.32...v8.9.0-alpha.33) (2026-04-09)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* exclude union response schemas from VOID_RESPONSES set ([52c36ab](https://github.com/camunda/orchestration-cluster-api-js/commit/52c36abaacaf79398f47f35b4bbd28d25663ae17)), closes [#120](https://github.com/camunda/orchestration-cluster-api-js/issues/120)
|
|
15
|
+
* remove accidentally committed .tmp-clone gitlink ([9301965](https://github.com/camunda/orchestration-cluster-api-js/commit/9301965ce991135bff9dcc4301cc026c8fc92d4c))
|
|
16
|
+
|
|
1
17
|
# [8.9.0-alpha.32](https://github.com/camunda/orchestration-cluster-api-js/compare/v8.9.0-alpha.31...v8.9.0-alpha.32) (2026-04-09)
|
|
2
18
|
|
|
3
19
|
|
package/README.md
CHANGED
|
@@ -50,6 +50,104 @@ In the vast majority of use-cases, this will not be an issue; but you should be
|
|
|
50
50
|
- Check the [CHANGELOG](https://github.com/camunda/orchestration-cluster-api-js/releases).
|
|
51
51
|
- As a sanity check during server version upgrade, rebuild applications with the matching SDK major version to identify any affected runtime surfaces.
|
|
52
52
|
|
|
53
|
+
## Migrating from 8.8
|
|
54
|
+
|
|
55
|
+
SDK 9.x (for Camunda 8.9) introduces two categories of breaking type changes relative to SDK 8.x (for Camunda 8.8). Neither change affects runtime behavior — existing code that compiled against 8.x will run identically — but the compiler will flag type mismatches until you update.
|
|
56
|
+
|
|
57
|
+
### Search results: optional → required fields
|
|
58
|
+
|
|
59
|
+
The search result types changed several fields from **optional** to **required**:
|
|
60
|
+
|
|
61
|
+
**`SearchQueryPageResponse` (page metadata)**
|
|
62
|
+
|
|
63
|
+
| Field | SDK 8.x (Camunda 8.8) | SDK 9.x (Camunda 8.9) |
|
|
64
|
+
|-------|----------------------|----------------------|
|
|
65
|
+
| `totalItems` | `totalItems?: number` | `totalItems: number` |
|
|
66
|
+
| `hasMoreTotalItems` | `hasMoreTotalItems?: boolean` | `hasMoreTotalItems: boolean` |
|
|
67
|
+
| `endCursor` | `endCursor?: EndCursor` | `endCursor: EndCursor \| null` |
|
|
68
|
+
| `startCursor` | `startCursor?: StartCursor` | `startCursor: StartCursor \| null` |
|
|
69
|
+
|
|
70
|
+
**`*SearchQueryResult` types (result containers)**
|
|
71
|
+
|
|
72
|
+
| Field | SDK 8.x (Camunda 8.8) | SDK 9.x (Camunda 8.9) |
|
|
73
|
+
|-------|----------------------|----------------------|
|
|
74
|
+
| `items` | `items?: T[]` | `items: T[]` |
|
|
75
|
+
| `page` | `page?: SearchQueryPageResponse` | `page: SearchQueryPageResponse` |
|
|
76
|
+
|
|
77
|
+
This reflects upstream OpenAPI spec changes where these fields are now always present in the response, with `null` indicating "no value" for cursors rather than being absent.
|
|
78
|
+
|
|
79
|
+
**What to change**: Update code that checks for these fields using optional chaining or `undefined` comparisons. The `items` array and `page` object are now always present, so optional chaining on them is unnecessary:
|
|
80
|
+
|
|
81
|
+
<!-- snippet-exempt: migration example showing before/after patterns -->
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
// Before (8.x) — checking for undefined
|
|
85
|
+
if (result.page?.endCursor !== undefined) {
|
|
86
|
+
nextPage(result.page.endCursor);
|
|
87
|
+
}
|
|
88
|
+
const count = result.items?.length ?? 0;
|
|
89
|
+
|
|
90
|
+
// After (9.x) — page and items are always present; check cursors for null
|
|
91
|
+
if (result.page.endCursor !== null) {
|
|
92
|
+
nextPage(result.page.endCursor);
|
|
93
|
+
}
|
|
94
|
+
const count = result.items.length;
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
If you have a custom `PagedResponse` type, update its `page` shape to match:
|
|
98
|
+
|
|
99
|
+
<!-- snippet-exempt: migration example showing type definition update -->
|
|
100
|
+
|
|
101
|
+
```ts
|
|
102
|
+
// Before (8.x)
|
|
103
|
+
type PagedResponse<T> = {
|
|
104
|
+
items?: T[];
|
|
105
|
+
page?: {
|
|
106
|
+
totalItems?: number;
|
|
107
|
+
endCursor?: string;
|
|
108
|
+
startCursor?: string;
|
|
109
|
+
hasMoreTotalItems?: boolean;
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
// After (9.x)
|
|
114
|
+
type PagedResponse<T> = {
|
|
115
|
+
items: T[];
|
|
116
|
+
page: {
|
|
117
|
+
totalItems: number;
|
|
118
|
+
endCursor: EndCursor | null;
|
|
119
|
+
startCursor: StartCursor | null;
|
|
120
|
+
hasMoreTotalItems: boolean;
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Branded key types for `tenantId`
|
|
126
|
+
|
|
127
|
+
The `tenantId` field on request types (e.g. `CreateDeploymentData`) changed from `string` to the branded `TenantId` type. A plain `string` is no longer assignable:
|
|
128
|
+
|
|
129
|
+
<!-- snippet-exempt: migration example showing branded type usage -->
|
|
130
|
+
|
|
131
|
+
```ts
|
|
132
|
+
import { TenantId } from '@camunda8/orchestration-cluster-api';
|
|
133
|
+
|
|
134
|
+
// Before (8.x) — plain string worked
|
|
135
|
+
await camunda.createDeployment({
|
|
136
|
+
tenantId: 'my-tenant',
|
|
137
|
+
resources: [file],
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
// After (9.x) — use the branded type helper
|
|
141
|
+
await camunda.createDeployment({
|
|
142
|
+
tenantId: TenantId.assumeExists('my-tenant'),
|
|
143
|
+
resources: [file],
|
|
144
|
+
});
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
`TenantId.assumeExists()` validates the string against the tenant ID pattern and brands it at zero runtime cost. See [Branded Keys](#branded-keys) for more on this pattern.
|
|
148
|
+
|
|
149
|
+
> **Tip**: If your tenant ID comes from a validated source (environment variable, config file), call `TenantId.assumeExists()` once at startup and pass the branded value throughout your application.
|
|
150
|
+
|
|
53
151
|
## Quick Start (Zero‑Config – Recommended)
|
|
54
152
|
|
|
55
153
|
Keep configuration out of application code. Let the factory read `CAMUNDA_*` variables from the environment (12‑factor style). This makes rotation, secret management, and environment promotion safer & simpler.
|
|
@@ -4412,7 +4412,7 @@ function installAuthInterceptor(client2, getStrategy, getAuthHeaders) {
|
|
|
4412
4412
|
}
|
|
4413
4413
|
|
|
4414
4414
|
// src/runtime/version.ts
|
|
4415
|
-
var packageVersion = "8.9.0-alpha.
|
|
4415
|
+
var packageVersion = "8.9.0-alpha.34";
|
|
4416
4416
|
|
|
4417
4417
|
// src/runtime/supportLogger.ts
|
|
4418
4418
|
var NoopSupportLogger = class {
|
|
@@ -6088,7 +6088,7 @@ function deepFreeze2(obj) {
|
|
|
6088
6088
|
}
|
|
6089
6089
|
return obj;
|
|
6090
6090
|
}
|
|
6091
|
-
var VOID_RESPONSES = /* @__PURE__ */ new Set(["zDeleteAuthorizationResponse", "zUpdateAuthorizationResponse", "zCancelBatchOperationResponse", "zResumeBatchOperationResponse", "zSuspendBatchOperationResponse", "zPinClockResponse", "zResetClockResponse", "zDeleteGlobalClusterVariableResponse", "zDeleteTenantClusterVariableResponse", "zDeleteDecisionInstanceResponse", "zDeleteDocumentResponse", "zActivateAdHocSubProcessActivitiesResponse", "zCreateElementInstanceVariablesResponse", "zDeleteGlobalTaskListenerResponse", "zDeleteGroupResponse", "zUnassignClientFromGroupResponse", "zAssignClientToGroupResponse", "zUnassignMappingRuleFromGroupResponse", "zAssignMappingRuleToGroupResponse", "zUnassignUserFromGroupResponse", "zAssignUserToGroupResponse", "zResolveIncidentResponse", "zUpdateJobResponse", "zCompleteJobResponse", "zThrowJobErrorResponse", "zFailJobResponse", "zDeleteMappingRuleResponse", "
|
|
6091
|
+
var VOID_RESPONSES = /* @__PURE__ */ new Set(["zDeleteAuthorizationResponse", "zUpdateAuthorizationResponse", "zCancelBatchOperationResponse", "zResumeBatchOperationResponse", "zSuspendBatchOperationResponse", "zPinClockResponse", "zResetClockResponse", "zDeleteGlobalClusterVariableResponse", "zDeleteTenantClusterVariableResponse", "zDeleteDecisionInstanceResponse", "zDeleteDocumentResponse", "zActivateAdHocSubProcessActivitiesResponse", "zCreateElementInstanceVariablesResponse", "zDeleteGlobalTaskListenerResponse", "zDeleteGroupResponse", "zUnassignClientFromGroupResponse", "zAssignClientToGroupResponse", "zUnassignMappingRuleFromGroupResponse", "zAssignMappingRuleToGroupResponse", "zUnassignUserFromGroupResponse", "zAssignUserToGroupResponse", "zResolveIncidentResponse", "zUpdateJobResponse", "zCompleteJobResponse", "zThrowJobErrorResponse", "zFailJobResponse", "zDeleteMappingRuleResponse", "zCancelProcessInstanceResponse", "zDeleteProcessInstanceResponse", "zMigrateProcessInstanceResponse", "zModifyProcessInstanceResponse", "zDeleteRoleResponse", "zUnassignRoleFromClientResponse", "zAssignRoleToClientResponse", "zUnassignRoleFromGroupResponse", "zAssignRoleToGroupResponse", "zUnassignRoleFromMappingRuleResponse", "zAssignRoleToMappingRuleResponse", "zUnassignRoleFromUserResponse", "zAssignRoleToUserResponse", "zGetStatusResponse", "zDeleteTenantResponse", "zUnassignClientFromTenantResponse", "zAssignClientToTenantResponse", "zUnassignGroupFromTenantResponse", "zAssignGroupToTenantResponse", "zUnassignMappingRuleFromTenantResponse", "zAssignMappingRuleToTenantResponse", "zUnassignRoleFromTenantResponse", "zAssignRoleToTenantResponse", "zUnassignUserFromTenantResponse", "zAssignUserToTenantResponse", "zDeleteUserResponse", "zUpdateUserTaskResponse", "zUnassignUserTaskResponse", "zAssignUserTaskResponse", "zCompleteUserTaskResponse"]);
|
|
6092
6092
|
var CancelError = class extends Error {
|
|
6093
6093
|
constructor() {
|
|
6094
6094
|
super("Cancelled");
|
|
@@ -16721,4 +16721,4 @@ export {
|
|
|
16721
16721
|
withTimeoutTE,
|
|
16722
16722
|
eventuallyTE
|
|
16723
16723
|
};
|
|
16724
|
-
//# sourceMappingURL=chunk-
|
|
16724
|
+
//# sourceMappingURL=chunk-DP5HJTAU.js.map
|