@cxtms/cx-schema 1.9.247 → 1.9.249
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/components/dataGrid.json +6 -0
- package/schemas/schemas.json +9 -0
- package/schemas/workflows/tasks/all.json +3 -0
- package/schemas/workflows/tasks/browser-run.json +17 -0
- package/skills/cxtms-developer/ref-graphql-query.md +2 -0
- package/skills/cxtms-module-builder/ref-components-data.md +13 -0
- package/skills/cxtms-module-builder/ref-components-display.md +1 -0
- package/skills/cxtms-module-builder/ref-components-specialized.md +3 -0
- package/skills/cxtms-workflow-builder/SKILL.md +1 -0
- package/skills/cxtms-workflow-builder/ref-browser.md +17 -0
package/package.json
CHANGED
|
@@ -23,6 +23,12 @@
|
|
|
23
23
|
"description": "Name of the refresh handler",
|
|
24
24
|
"x-example": "states"
|
|
25
25
|
},
|
|
26
|
+
"toolbarSx": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"description": "MUI sx overrides merged onto the toolbar CardContent, useful for reducing padding in narrow hosts",
|
|
29
|
+
"additionalProperties": true,
|
|
30
|
+
"x-example": { "px": 2, "py": 1 }
|
|
31
|
+
},
|
|
26
32
|
"enableStore": {
|
|
27
33
|
"type": "boolean",
|
|
28
34
|
"description": "Enable store for the datagrid, row data will be placed in the store"
|
package/schemas/schemas.json
CHANGED
|
@@ -200,6 +200,15 @@
|
|
|
200
200
|
"type": "string",
|
|
201
201
|
"description": "Default search term seeded once when the grid first loads this view. Supports template expressions; URL search parameters and user input take precedence."
|
|
202
202
|
},
|
|
203
|
+
"collection": {
|
|
204
|
+
"type": "object",
|
|
205
|
+
"properties": {
|
|
206
|
+
"itemName": { "type": "string" },
|
|
207
|
+
"children": { "$ref": "#/definitions/componentChildren" },
|
|
208
|
+
"dragSource": { "type": "object", "required": ["type"], "properties": { "type": { "type": "string" }, "data": {}, "canDrag": {} }, "additionalProperties": false }
|
|
209
|
+
},
|
|
210
|
+
"additionalProperties": true
|
|
211
|
+
},
|
|
203
212
|
"childViews": {
|
|
204
213
|
"type": "array",
|
|
205
214
|
"description": "Nested child views",
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
"description": "Aggregator schema for all workflow task types. Uses anyOf to allow matching any known task type or falling back to generic task structure.",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"anyOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "browser-run.json"
|
|
9
|
+
},
|
|
7
10
|
{
|
|
8
11
|
"$ref": "accounting-transaction.json"
|
|
9
12
|
},
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Browser/Run Workflow Task",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": ["task", "inputs"],
|
|
6
|
+
"properties": {
|
|
7
|
+
"task": { "type": "string", "pattern": "^Browser/Run(?:@1)?$" }, "name": { "type": "string" }, "description": { "type": "string" }, "continueOnError": { "type": "boolean" },
|
|
8
|
+
"inputs": { "type": "object", "required": ["actions"], "properties": {
|
|
9
|
+
"allowedDomains": { "type": "array", "items": { "type": "string" } }, "provider": { "type": "string" }, "session": { "enum": ["reuse", "new"] }, "timeout": { "type": "number", "exclusiveMinimum": 0 },
|
|
10
|
+
"actions": { "type": "array", "minItems": 1, "items": { "type": "object", "required": ["do"], "properties": {
|
|
11
|
+
"do": { "enum": ["goto", "click", "check", "uncheck", "hover", "waitFor", "fill", "press", "selectOption", "waitForNavigation", "extractText", "extractAttribute", "extractTable", "extractUrl", "screenshot", "uploadFile", "download", "llm/act"] },
|
|
12
|
+
"target": { "type": "string" }, "value": {}, "url": { "type": "string" }, "query": { "type": "object" }, "file": { "type": "object" }, "attribute": { "type": "string" }, "as": { "type": "string" }, "all": { "type": "boolean" }, "if": { "type": "string" }, "sensitive": { "type": "boolean" }, "timeout": { "type": "number", "exclusiveMinimum": 0 }, "instructions": { "type": "string" }, "model": { "type": "string" }, "maxTurns": { "type": "integer", "minimum": 1, "maximum": 20 }
|
|
13
|
+
}, "additionalProperties": false } }
|
|
14
|
+
}, "additionalProperties": false },
|
|
15
|
+
"outputs": { "type": "array", "items": { "type": "object", "additionalProperties": true } }
|
|
16
|
+
}, "additionalProperties": true
|
|
17
|
+
}
|
|
@@ -36,6 +36,8 @@ Available root queries: `orders`, `contacts`, `commodities`, `accountingTransact
|
|
|
36
36
|
|
|
37
37
|
Order quick search (`orders.search` and `orderGroupBy.search`) matches order number, bill-to, carriers, tracking numbers, order entities, commodity text/tracking numbers, and InventoryItem values linked through order commodities or child/container commodities. Inventory item matches include `sku`, `productName`, `description`, `modelNumber`, and JSON `customValues` such as color or size.
|
|
38
38
|
|
|
39
|
+
Order-move quick search (`orderMoves.search`) matches the move name plus its owning order's tracking number and JSON custom values (for example, a container number). Matching is case-insensitive and accepts partial text.
|
|
40
|
+
|
|
39
41
|
## App Module Metadata Visibility
|
|
40
42
|
|
|
41
43
|
GraphQL metadata queries hide rows attached to soft-deleted app modules:
|
|
@@ -49,6 +49,19 @@ props:
|
|
|
49
49
|
|
|
50
50
|
Use `options.items` for already-loaded arrays; use `options.query` for server-side search/sort/pagination.
|
|
51
51
|
|
|
52
|
+
## dataGrid collection drag sources
|
|
53
|
+
|
|
54
|
+
Collection views can publish cards to planner drop targets. Configure `collection.dragSource.type`, with optional per-row `data` and `canDrag` templates. Omitted `data` sends the whole row; prefer a small JSON-safe payload. Native drag is desktop-only.
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
collection:
|
|
58
|
+
itemName: item
|
|
59
|
+
dragSource:
|
|
60
|
+
type: orderMove
|
|
61
|
+
canDrag: "{{ eval !item.assignedDriverContactId }}"
|
|
62
|
+
data: { orderMoveId: "{{ item.orderMoveId }}" }
|
|
63
|
+
```
|
|
64
|
+
|
|
52
65
|
---
|
|
53
66
|
|
|
54
67
|
## dataGrid conditional filter columns
|
|
@@ -26,6 +26,7 @@ Full-featured data table with views, filtering, sorting, pagination, and row act
|
|
|
26
26
|
| Prop | Type | Description |
|
|
27
27
|
|------|------|-------------|
|
|
28
28
|
| `toolbar` | `component[]` | Header toolbar components |
|
|
29
|
+
| `toolbarSx` | `object` | MUI `sx` overrides merged onto the toolbar `CardContent`; use this to reduce padding in narrow hosts without hiding toolbar controls |
|
|
29
30
|
| `dotsMenu` | `{items[]}` | Three-dot menu per row |
|
|
30
31
|
| `dotsMenu.items[]` | `{label, icon, onClick, permission, isHidden, disabled}` | Menu item |
|
|
31
32
|
|
|
@@ -623,3 +623,6 @@ props:
|
|
|
623
623
|
variables: { token: "{{ token }}" }
|
|
624
624
|
- notification: { message: { en-US: "Connected!" }, type: success }
|
|
625
625
|
```
|
|
626
|
+
# Planner drop targets
|
|
627
|
+
|
|
628
|
+
Planner `props.drop` accepts DataGrid collection drag sources. Configure `accept`, `onlyEmptyCells` (default true), `canDrop`, and `autoScroll` (default true), then handle `events.onItemDrop`. The action receives `dragItem`, `dragType`, `row`, `column`, `rowIndex`, and `columnIndex`. Keep `onCellClick` as the touch and keyboard alternative.
|
|
@@ -327,6 +327,7 @@ Implicit variable: `iteration` (zero-based).
|
|
|
327
327
|
| File Transfer | Connect, Disconnect, ListFiles, Download, Upload, Move, Delete | `!cat skills/cxtms-workflow-builder/ref-filetransfer.md` |
|
|
328
328
|
| Accounting | AccountingTransaction, Payment, Number/Generate, SequenceNumber | `!cat skills/cxtms-workflow-builder/ref-accounting.md` |
|
|
329
329
|
| Other | User, Auth, Caching, X12/Parse, EDIFACT, Flow/Transition, Notes, AppModule, ActionEvent | `!cat skills/cxtms-workflow-builder/ref-other.md` |
|
|
330
|
+
| Browser Automation | Browser/Run | `!cat skills/cxtms-workflow-builder/ref-browser.md` |
|
|
330
331
|
|
|
331
332
|
## Entity Field Reference (cxtms-developer)
|
|
332
333
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Browser Automation
|
|
2
|
+
|
|
3
|
+
## Browser/Run@1
|
|
4
|
+
|
|
5
|
+
Automates a web portal through a configured remote Chromium provider. Always restrict navigation with `allowedDomains`; use `$` inputs or `fromConfig` variables for credentials and mark credential fills `sensitive: true`.
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
- task: Browser/Run@1
|
|
9
|
+
name: Portal
|
|
10
|
+
inputs:
|
|
11
|
+
allowedDomains: [portal.example.com]
|
|
12
|
+
actions:
|
|
13
|
+
- { do: goto, url: "https://portal.example.com" }
|
|
14
|
+
- { do: extractText, target: "css=.status", as: status }
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Inputs: required `actions`; optional `allowedDomains`, `provider`, `session` (`reuse` or `new`), and `timeout`. Actions support deterministic navigation/input/extraction, screenshots, upload/download, plus `llm/act`. Locator targets require a `css=`, `xpath=`, `text=`, `label=`, `placeholder=`, or `role=` prefix. Captures use `as`; the task also returns final `url` and an action audit list.
|