@cxtms/cx-schema 1.9.256 → 1.9.257

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cxtms/cx-schema",
3
- "version": "1.9.256",
3
+ "version": "1.9.257",
4
4
  "description": "Schema validation package for CXTMS YAML modules",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11084,6 +11084,7 @@ type orderMoveLeg {
11084
11084
  orderMoveLegStatus: orderMoveLegStatus
11085
11085
  startDate: DateTime
11086
11086
  endDate: DateTime
11087
+ getAddress(idPropertyName: String!): contactAddress
11087
11088
  trackingEvents: [trackingEvent!]
11088
11089
  customValues: MapOfObject
11089
11090
  isDeleted: Boolean!
@@ -162,6 +162,7 @@ Vertical-specific routing details belong in `customValues`.
162
162
  | `startDate` | `DateTime?` | UTC start |
163
163
  | `endDate` | `DateTime?` | UTC end |
164
164
  | `customValues` | `Dictionary` | Location, event, appointment, and metric data |
165
+ | `getAddress(idPropertyName)` | `ContactAddress?` | Resolves a contact-address ID from the named `customValues` property; tenant-scoped through the parent move |
165
166
  | `trackingEvents` | `[TrackingEvent]` | Leg-level milestones |
166
167
 
167
168
  Entity-trigger payloads load the status navigation before mapping when necessary. This
@@ -184,6 +185,7 @@ are appended and omitted existing records are not deleted.
184
185
 
185
186
  - Queries: `dispatchRouteStatus`, `dispatchRouteStatuses`, `dispatchRouteStopStatus`, `dispatchRouteStopStatuses`, `dispatchRouteTemplate`, `dispatchRouteTemplates`, `dispatchRoute`, `dispatchRoutes`.
186
187
  - Order move queries: `orderMove`, `orderMoves`, `orderMoveStatus`, `orderMoveStatuses`, `orderMoveLegStatus`, and `orderMoveLegStatuses`.
188
+ - Order-move legs expose `getAddress(idPropertyName: String!)` to resolve an integer contact-address ID from the named `customValues` property. Missing or invalid values return `null`, and cross-organization addresses are never returned.
187
189
  - Nested order resolvers: `getOrderMoves(filter, orderBy)` returns pending or statusless moves (defaulted to sequence order), while `getOrderMove(filter, orderBy)` returns the first matching pending or statusless move. Moves whose status stage is no longer `Pending` are excluded.
188
190
  - Order move mutations create, sparse-update, and soft-delete moves; create/update accepts nested `orderMoveLegs`, reconciled by ID and array order. Omitted or `isDeleted: true` legs are soft-deleted, new already-deleted legs are ignored, and only active legs consume sequence positions.
189
191
  - `createOrderMoveLeg`, `updateOrderMoveLeg`, and `deleteOrderMoveLeg` manage one leg without resending the parent move. Create requires `orderMoveId`, appends after the last active leg when `sequence` is omitted, and accepts name, status, dates, and custom values. Update takes a sparse values map; delete is soft. Each operation is organization-scoped through the parent move.
@@ -729,7 +729,9 @@ Headless barcode/keyboard scanner listener. Captures rapid keystrokes and fires
729
729
  | `maxBarcodes` | `number` | — | Mobile: maximum accepted scans in continuous mode |
730
730
  | `onScan` | `action[]` | — | **Required.** Action on scan detection |
731
731
 
732
- **Renders:** Nothing (empty fragment). Web listens on `document` keypress. Mobile supports
732
+ **Renders:** Nothing (empty fragment). Web listens on `document` keydown, ignores form controls
733
+ and non-printable keys, and derives letters, unshifted digits, minus, and period from physical
734
+ key codes to avoid keyboard-layout transformations. Other printable keys use `event.key`. Mobile supports
733
735
  native HID scanners with a hidden-input fallback and shares camera-scanner deduplication rules.
734
736
 
735
737
  **Scan data:** `result: { data: string, format: 'input' }`