@nanobpm/urban 0.90.2 → 0.92.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.
@@ -314,16 +314,20 @@ export interface ElementInstanceSummary {
314
314
  * {@link ElementInstanceWaitStateFilter} whose `waitStateType` falls outside that floor is
315
315
  * rejected (the gateway answers HTTP 422); {@link assertDeployedWaitStateType} enforces the
316
316
  * same floor client-side so the divergence surfaces as a clear error offline, in tests, and
317
- * against a live engine alike. Ref: Magikcraft/nano-bpm#1042.
317
+ * against a live engine alike. The floor now covers `JOB | MESSAGE | USER_TASK`
318
+ * (Magikcraft/nano-bpm#1042 shipped `USER_TASK` parks); `TIMER`/`SIGNAL`/`CONDITION` remain
319
+ * the follow-on. Ref: Magikcraft/nano-bpm#1042.
318
320
  */
319
321
  export type WaitStateType = "JOB" | "MESSAGE" | "USER_TASK" | "TIMER" | "SIGNAL" | "CONDITION";
320
322
  /**
321
323
  * The `waitStateType` values the *currently deployed* nanobpmn gateway's wait-state read
322
324
  * model actually implements — the **deployed floor**, a strict subset of the canonical
323
- * {@link WaitStateType} union. The gateway's read model is a snapshot of the Zeebe contract
324
- * taken 2026-06-09 (the same day Zeebe extended it with `USER_TASK`, then `TIMER`/`SIGNAL`/
325
- * `CONDITION`), so it recognizes only `JOB | MESSAGE` and rejects any other filter value
326
- * with HTTP 422.
325
+ * {@link WaitStateType} union. The gateway's read model started as a snapshot of the Zeebe
326
+ * contract taken 2026-06-09 that recognized only `JOB | MESSAGE`; Magikcraft/nano-bpm#1042
327
+ * has since shipped `USER_TASK` parks (added on user-task CREATED, removed on
328
+ * COMPLETED/CANCELED, with the park identity under `details.taskKey`), moving the floor up to
329
+ * `JOB | MESSAGE | USER_TASK`. `TIMER`/`SIGNAL`/`CONDITION` are still rejected with HTTP 422
330
+ * (the 8.10 follow-on tracked in Magikcraft/nano-bpm#1042).
327
331
  *
328
332
  * This constant is the **single source of truth** for that floor: the SDK-backed and
329
333
  * WASM-backed {@link EngineClient} adapters both gate through {@link assertDeployedWaitStateType},
@@ -645,14 +649,14 @@ export interface EngineClient {
645
649
  * (see {@link ElementInstanceWaitState}), so a consumer can read the job/message parks a
646
650
  * {@link searchUserTasks} cannot surface.
647
651
  *
648
- * **Deployed floor.** The currently deployed nanobpmn gateway implements only
649
- * `JOB | MESSAGE` ({@link DEPLOYED_WAIT_STATE_TYPES}) — a `USER_TASK` park is read via
650
- * {@link searchUserTasks}, not here. A `waitStateType` filter outside the floor is rejected
651
- * with {@link UnsupportedWaitStateTypeError} (the live gateway answers HTTP 422); an
652
- * unfiltered search returns only in-floor parks. The `waitStateType` union is
653
- * forward-looking (richer engines may serve more), but this adapter contract pins the
654
- * floor so a query cannot pass in emulation while a real engine rejects it. Ref:
655
- * Magikcraft/nano-bpm#1042.
652
+ * **Deployed floor.** The currently deployed nanobpmn gateway implements
653
+ * `JOB | MESSAGE | USER_TASK` ({@link DEPLOYED_WAIT_STATE_TYPES}); a `USER_TASK` park can be
654
+ * read here (or through {@link searchUserTasks}). A `waitStateType` filter outside the floor
655
+ * (`TIMER`/`SIGNAL`/`CONDITION`) is rejected with {@link UnsupportedWaitStateTypeError} (the
656
+ * live gateway answers HTTP 422); an unfiltered search returns only in-floor parks. The
657
+ * `waitStateType` union is forward-looking (richer engines may serve more), but this adapter
658
+ * contract pins the floor so a query cannot pass in emulation while a real engine rejects it.
659
+ * Ref: Magikcraft/nano-bpm#1042.
656
660
  */
657
661
  searchElementInstanceWaitStates(filter?: ElementInstanceWaitStateFilter): Promise<ElementInstanceWaitState[]>;
658
662
  /**
@@ -45,10 +45,12 @@ export function presentFormIdentifier(value) {
45
45
  /**
46
46
  * The `waitStateType` values the *currently deployed* nanobpmn gateway's wait-state read
47
47
  * model actually implements — the **deployed floor**, a strict subset of the canonical
48
- * {@link WaitStateType} union. The gateway's read model is a snapshot of the Zeebe contract
49
- * taken 2026-06-09 (the same day Zeebe extended it with `USER_TASK`, then `TIMER`/`SIGNAL`/
50
- * `CONDITION`), so it recognizes only `JOB | MESSAGE` and rejects any other filter value
51
- * with HTTP 422.
48
+ * {@link WaitStateType} union. The gateway's read model started as a snapshot of the Zeebe
49
+ * contract taken 2026-06-09 that recognized only `JOB | MESSAGE`; Magikcraft/nano-bpm#1042
50
+ * has since shipped `USER_TASK` parks (added on user-task CREATED, removed on
51
+ * COMPLETED/CANCELED, with the park identity under `details.taskKey`), moving the floor up to
52
+ * `JOB | MESSAGE | USER_TASK`. `TIMER`/`SIGNAL`/`CONDITION` are still rejected with HTTP 422
53
+ * (the 8.10 follow-on tracked in Magikcraft/nano-bpm#1042).
52
54
  *
53
55
  * This constant is the **single source of truth** for that floor: the SDK-backed and
54
56
  * WASM-backed {@link EngineClient} adapters both gate through {@link assertDeployedWaitStateType},
@@ -57,7 +59,7 @@ export function presentFormIdentifier(value) {
57
59
  * backed by the real gateway) only once the engine actually serves the richer type — the
58
60
  * tracking gap is Magikcraft/nano-bpm#1042.
59
61
  */
60
- export const DEPLOYED_WAIT_STATE_TYPES = ["JOB", "MESSAGE"];
62
+ export const DEPLOYED_WAIT_STATE_TYPES = ["JOB", "MESSAGE", "USER_TASK"];
61
63
  /**
62
64
  * Thrown when a wait-state search is asked to filter on a {@link WaitStateType} the deployed
63
65
  * gateway's read model does not implement (outside {@link DEPLOYED_WAIT_STATE_TYPES}). It