@cxtms/cx-schema 1.9.255 → 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 +1 -1
- package/schemas/schema.graphql +1 -0
- package/schemas/workflows/tasks/all.json +3 -0
- package/schemas/workflows/tasks/calendar.json +25 -0
- package/skills/cxtms-developer/ref-entity-dispatch-routing.md +2 -0
- package/skills/cxtms-module-builder/ref-components-forms.md +3 -1
- package/skills/cxtms-workflow-builder/SKILL.md +2 -0
- package/skills/cxtms-workflow-builder/ref-entity.md +12 -0
package/package.json
CHANGED
package/schemas/schema.graphql
CHANGED
|
@@ -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!
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Calendar Tasks",
|
|
4
|
+
"description": "Issue and import iCalendar feed links",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"task": { "type": "string", "enum": ["Calendar/IssueLink@1", "Calendar/ImportFeed@1"] },
|
|
8
|
+
"name": { "type": "string" },
|
|
9
|
+
"description": { "type": "string" },
|
|
10
|
+
"conditions": { "type": "array" },
|
|
11
|
+
"continueOnError": { "type": "boolean" },
|
|
12
|
+
"inputs": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"properties": {
|
|
15
|
+
"organizationId": {}, "calendarId": {}, "label": {},
|
|
16
|
+
"organizationConnectionId": {}, "url": {}, "etag": {}
|
|
17
|
+
},
|
|
18
|
+
"required": ["organizationId"],
|
|
19
|
+
"additionalProperties": true
|
|
20
|
+
},
|
|
21
|
+
"outputs": { "type": "array" }
|
|
22
|
+
},
|
|
23
|
+
"required": ["task", "name", "inputs"],
|
|
24
|
+
"additionalProperties": true
|
|
25
|
+
}
|
|
@@ -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`
|
|
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' }`
|
|
@@ -53,6 +53,8 @@ npx cxtms create workflow <name> --template <template>
|
|
|
53
53
|
|
|
54
54
|
**All templates** — update `name`, `description`, `tags`, `inputs`, `variables`, replace placeholder steps.
|
|
55
55
|
|
|
56
|
+
**Workflow overrides** — active workflows in the same organization with the same case-insensitive `workflow.name` form an override group. Only the highest `workflow.priority` is effective (default 50; lowest workflow ID wins ties). Use a higher priority to replace a base-app workflow without modifying it. The rule covers triggers, schedules, execution by name, MCP surfaces, public API routes, and document workflows; deactivating or deleting the winner restores the next-highest definition.
|
|
57
|
+
|
|
56
58
|
**`entity-trigger`** — set `entityName`, `eventType` (Modified/Created/Deleted), `position` (Before/After), `conditions` on `changes`. Access entity via `{{ entity.* }}`. Before: use `Validation/Validate@1`. After: cascade changes.
|
|
57
59
|
|
|
58
60
|
**`document`** — keep `file`/`fileName`/`fileDisposition` outputs. Update `Document/Render@1`: `engine` (handlebars/jsrender), `recipe` (chrome-pdf/html-to-xlsx), `content` (HTML template), `data` mapping.
|
|
@@ -18,9 +18,21 @@
|
|
|
18
18
|
- Notification tasks (Create)
|
|
19
19
|
- Note tasks (Create, Update, Delete, Import, Export, RenameThread)
|
|
20
20
|
- AccountingTransaction/ApplyCredit task
|
|
21
|
+
- Calendar feed tasks (IssueLink, ImportFeed)
|
|
21
22
|
|
|
22
23
|
All entity tasks follow the `Namespace/Operation@Version` pattern. Outputs are stored as `ActivityName.StepName.outputKey`.
|
|
23
24
|
|
|
25
|
+
## Calendar feeds
|
|
26
|
+
|
|
27
|
+
| Task | Description |
|
|
28
|
+
|------|-------------|
|
|
29
|
+
| `Calendar/IssueLink@1` | Issue a user or organization-connection iCalendar feed link |
|
|
30
|
+
| `Calendar/ImportFeed@1` | Reconcile an iCalendar feed into a local mirror calendar |
|
|
31
|
+
|
|
32
|
+
`Calendar/IssueLink@1` requires `organizationId` and `calendarId`; optional `label` and `organizationConnectionId` create a labeled user link or an idempotent system link. Outputs: `calendarLinkId`, `url`, `isSystem`. The URL contains the token and must be stored securely.
|
|
33
|
+
|
|
34
|
+
`Calendar/ImportFeed@1` requires `organizationId` and accepts `url`, prior mirror `calendarId`, and prior `etag`. Outputs: `status`, `reason`, `calendarId`, `etag`, `businessHours`, and `availabilityBlocks`. Status is `ok`, `unchanged`, `revoked`, `error`, or `skipped`. Persist the returned calendar ID and ETag after successful calls; do not delete a previous mirror on `error`.
|
|
35
|
+
|
|
24
36
|
## PostalCodes
|
|
25
37
|
|
|
26
38
|
| Task | Description |
|