cxtms 1.9.13

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.
Files changed (215) hide show
  1. package/README.md +384 -0
  2. package/dist/cli.d.ts +6 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +4784 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/extractUtils.d.ts +11 -0
  7. package/dist/extractUtils.d.ts.map +1 -0
  8. package/dist/extractUtils.js +19 -0
  9. package/dist/extractUtils.js.map +1 -0
  10. package/dist/index.d.ts +7 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +11 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/types.d.ts +129 -0
  15. package/dist/types.d.ts.map +1 -0
  16. package/dist/types.js +6 -0
  17. package/dist/types.js.map +1 -0
  18. package/dist/utils/schemaLoader.d.ts +17 -0
  19. package/dist/utils/schemaLoader.d.ts.map +1 -0
  20. package/dist/utils/schemaLoader.js +134 -0
  21. package/dist/utils/schemaLoader.js.map +1 -0
  22. package/dist/validator.d.ts +72 -0
  23. package/dist/validator.d.ts.map +1 -0
  24. package/dist/validator.js +432 -0
  25. package/dist/validator.js.map +1 -0
  26. package/dist/workflowValidator.d.ts +103 -0
  27. package/dist/workflowValidator.d.ts.map +1 -0
  28. package/dist/workflowValidator.js +753 -0
  29. package/dist/workflowValidator.js.map +1 -0
  30. package/package.json +51 -0
  31. package/schemas/actions/all.json +27 -0
  32. package/schemas/actions/clipboard.json +46 -0
  33. package/schemas/actions/confirm.json +21 -0
  34. package/schemas/actions/consoleLog.json +16 -0
  35. package/schemas/actions/dialog.json +25 -0
  36. package/schemas/actions/fileDownload.json +16 -0
  37. package/schemas/actions/forEach.json +31 -0
  38. package/schemas/actions/if.json +12 -0
  39. package/schemas/actions/mutation.json +25 -0
  40. package/schemas/actions/navigate.json +18 -0
  41. package/schemas/actions/navigateBack.json +22 -0
  42. package/schemas/actions/navigateBackOrClose.json +21 -0
  43. package/schemas/actions/notification.json +19 -0
  44. package/schemas/actions/openBarcodeScanner.json +104 -0
  45. package/schemas/actions/query.json +32 -0
  46. package/schemas/actions/refresh.json +13 -0
  47. package/schemas/actions/resetDirtyState.json +22 -0
  48. package/schemas/actions/setFields.json +21 -0
  49. package/schemas/actions/setStore.json +13 -0
  50. package/schemas/actions/validateForm.json +15 -0
  51. package/schemas/actions/workflow.json +24 -0
  52. package/schemas/components/README.md +147 -0
  53. package/schemas/components/appComponent.json +58 -0
  54. package/schemas/components/barcodeScanner.json +69 -0
  55. package/schemas/components/button.json +123 -0
  56. package/schemas/components/calendar.json +489 -0
  57. package/schemas/components/card.json +176 -0
  58. package/schemas/components/collection.json +54 -0
  59. package/schemas/components/dataGrid.json +119 -0
  60. package/schemas/components/datasource.json +151 -0
  61. package/schemas/components/dropdown.json +57 -0
  62. package/schemas/components/field-collection.json +618 -0
  63. package/schemas/components/field.json +265 -0
  64. package/schemas/components/form.json +234 -0
  65. package/schemas/components/index.json +71 -0
  66. package/schemas/components/layout.json +69 -0
  67. package/schemas/components/module.json +167 -0
  68. package/schemas/components/navDropdown.json +36 -0
  69. package/schemas/components/navbar.json +78 -0
  70. package/schemas/components/navbarItem.json +28 -0
  71. package/schemas/components/navbarLink.json +36 -0
  72. package/schemas/components/row.json +31 -0
  73. package/schemas/components/slot.json +30 -0
  74. package/schemas/components/tab.json +34 -0
  75. package/schemas/components/tabs.json +35 -0
  76. package/schemas/components/timeline.json +172 -0
  77. package/schemas/components/timelineGrid.json +328 -0
  78. package/schemas/fields/README.md +66 -0
  79. package/schemas/fields/attachment.json +156 -0
  80. package/schemas/fields/autocomplete-googleplaces.json +130 -0
  81. package/schemas/fields/checkbox.json +82 -0
  82. package/schemas/fields/date.json +88 -0
  83. package/schemas/fields/datetime.json +75 -0
  84. package/schemas/fields/email.json +75 -0
  85. package/schemas/fields/index.json +53 -0
  86. package/schemas/fields/number.json +91 -0
  87. package/schemas/fields/password.json +70 -0
  88. package/schemas/fields/radio.json +94 -0
  89. package/schemas/fields/rangedatetime.json +56 -0
  90. package/schemas/fields/select-async.json +334 -0
  91. package/schemas/fields/select.json +115 -0
  92. package/schemas/fields/tel.json +79 -0
  93. package/schemas/fields/text.json +86 -0
  94. package/schemas/fields/textarea.json +95 -0
  95. package/schemas/fields/time.json +91 -0
  96. package/schemas/fields/url.json +74 -0
  97. package/schemas/schema.graphql +12248 -0
  98. package/schemas/schemas.json +610 -0
  99. package/schemas/workflows/activity.json +96 -0
  100. package/schemas/workflows/common/condition.json +48 -0
  101. package/schemas/workflows/common/expression.json +76 -0
  102. package/schemas/workflows/common/mapping.json +173 -0
  103. package/schemas/workflows/common/step.json +38 -0
  104. package/schemas/workflows/flow/aggregation.json +44 -0
  105. package/schemas/workflows/flow/entity.json +129 -0
  106. package/schemas/workflows/flow/state.json +105 -0
  107. package/schemas/workflows/flow/transition.json +143 -0
  108. package/schemas/workflows/input.json +122 -0
  109. package/schemas/workflows/output.json +61 -0
  110. package/schemas/workflows/schedule.json +26 -0
  111. package/schemas/workflows/tasks/accounting-transaction.json +95 -0
  112. package/schemas/workflows/tasks/action-event.json +65 -0
  113. package/schemas/workflows/tasks/all.json +152 -0
  114. package/schemas/workflows/tasks/appmodule.json +56 -0
  115. package/schemas/workflows/tasks/attachment.json +97 -0
  116. package/schemas/workflows/tasks/authentication.json +86 -0
  117. package/schemas/workflows/tasks/caching.json +68 -0
  118. package/schemas/workflows/tasks/charge.json +92 -0
  119. package/schemas/workflows/tasks/commodity.json +92 -0
  120. package/schemas/workflows/tasks/contact-address.json +72 -0
  121. package/schemas/workflows/tasks/contact-payment-method.json +72 -0
  122. package/schemas/workflows/tasks/contact.json +82 -0
  123. package/schemas/workflows/tasks/csv.json +81 -0
  124. package/schemas/workflows/tasks/document-render.json +105 -0
  125. package/schemas/workflows/tasks/document-send.json +84 -0
  126. package/schemas/workflows/tasks/edi.json +157 -0
  127. package/schemas/workflows/tasks/email-send.json +110 -0
  128. package/schemas/workflows/tasks/error.json +72 -0
  129. package/schemas/workflows/tasks/export.json +90 -0
  130. package/schemas/workflows/tasks/filetransfer.json +102 -0
  131. package/schemas/workflows/tasks/flow-transition.json +68 -0
  132. package/schemas/workflows/tasks/foreach.json +69 -0
  133. package/schemas/workflows/tasks/generic.json +47 -0
  134. package/schemas/workflows/tasks/graphql.json +78 -0
  135. package/schemas/workflows/tasks/httpRequest.json +161 -0
  136. package/schemas/workflows/tasks/import.json +64 -0
  137. package/schemas/workflows/tasks/inventory.json +67 -0
  138. package/schemas/workflows/tasks/job.json +88 -0
  139. package/schemas/workflows/tasks/log.json +73 -0
  140. package/schemas/workflows/tasks/map.json +58 -0
  141. package/schemas/workflows/tasks/movement.json +54 -0
  142. package/schemas/workflows/tasks/note.json +59 -0
  143. package/schemas/workflows/tasks/number.json +65 -0
  144. package/schemas/workflows/tasks/order-tracking-event.json +109 -0
  145. package/schemas/workflows/tasks/order.json +139 -0
  146. package/schemas/workflows/tasks/payment.json +85 -0
  147. package/schemas/workflows/tasks/pdf-document.json +60 -0
  148. package/schemas/workflows/tasks/postal-codes.json +92 -0
  149. package/schemas/workflows/tasks/resolve-timezone.json +65 -0
  150. package/schemas/workflows/tasks/setVariable.json +76 -0
  151. package/schemas/workflows/tasks/switch.json +75 -0
  152. package/schemas/workflows/tasks/template.json +73 -0
  153. package/schemas/workflows/tasks/tracking-event.json +137 -0
  154. package/schemas/workflows/tasks/transmission.json +185 -0
  155. package/schemas/workflows/tasks/unzip-file.json +68 -0
  156. package/schemas/workflows/tasks/user.json +70 -0
  157. package/schemas/workflows/tasks/validation.json +99 -0
  158. package/schemas/workflows/tasks/while.json +53 -0
  159. package/schemas/workflows/tasks/workflow-execute.json +82 -0
  160. package/schemas/workflows/trigger.json +90 -0
  161. package/schemas/workflows/variable.json +46 -0
  162. package/schemas/workflows/workflow.json +335 -0
  163. package/scripts/postinstall.js +291 -0
  164. package/scripts/setup-vscode.js +80 -0
  165. package/skills/cxtms-developer/SKILL.md +118 -0
  166. package/skills/cxtms-developer/ref-cli-auth.md +120 -0
  167. package/skills/cxtms-developer/ref-entity-accounting.md +180 -0
  168. package/skills/cxtms-developer/ref-entity-commodity.md +239 -0
  169. package/skills/cxtms-developer/ref-entity-contact.md +163 -0
  170. package/skills/cxtms-developer/ref-entity-geography.md +154 -0
  171. package/skills/cxtms-developer/ref-entity-job.md +77 -0
  172. package/skills/cxtms-developer/ref-entity-notification.md +85 -0
  173. package/skills/cxtms-developer/ref-entity-order-sub.md +160 -0
  174. package/skills/cxtms-developer/ref-entity-order.md +183 -0
  175. package/skills/cxtms-developer/ref-entity-organization.md +41 -0
  176. package/skills/cxtms-developer/ref-entity-rate.md +182 -0
  177. package/skills/cxtms-developer/ref-entity-shared.md +176 -0
  178. package/skills/cxtms-developer/ref-entity-warehouse.md +115 -0
  179. package/skills/cxtms-developer/ref-graphql-query.md +309 -0
  180. package/skills/cxtms-module-builder/SKILL.md +477 -0
  181. package/skills/cxtms-module-builder/ref-components-data.md +293 -0
  182. package/skills/cxtms-module-builder/ref-components-display.md +411 -0
  183. package/skills/cxtms-module-builder/ref-components-forms.md +369 -0
  184. package/skills/cxtms-module-builder/ref-components-interactive.md +317 -0
  185. package/skills/cxtms-module-builder/ref-components-layout.md +390 -0
  186. package/skills/cxtms-module-builder/ref-components-specialized.md +477 -0
  187. package/skills/cxtms-workflow-builder/SKILL.md +438 -0
  188. package/skills/cxtms-workflow-builder/ref-accounting.md +66 -0
  189. package/skills/cxtms-workflow-builder/ref-communication.md +169 -0
  190. package/skills/cxtms-workflow-builder/ref-entity.md +342 -0
  191. package/skills/cxtms-workflow-builder/ref-expressions-ncalc.md +128 -0
  192. package/skills/cxtms-workflow-builder/ref-expressions-template.md +161 -0
  193. package/skills/cxtms-workflow-builder/ref-filetransfer.md +80 -0
  194. package/skills/cxtms-workflow-builder/ref-flow.md +210 -0
  195. package/skills/cxtms-workflow-builder/ref-other.md +157 -0
  196. package/skills/cxtms-workflow-builder/ref-query.md +105 -0
  197. package/skills/cxtms-workflow-builder/ref-utilities.md +417 -0
  198. package/templates/module-configuration.yaml +44 -0
  199. package/templates/module-form.yaml +152 -0
  200. package/templates/module-grid.yaml +229 -0
  201. package/templates/module-select.yaml +139 -0
  202. package/templates/module.yaml +84 -0
  203. package/templates/workflow-api-tracking.yaml +189 -0
  204. package/templates/workflow-basic.yaml +76 -0
  205. package/templates/workflow-document.yaml +155 -0
  206. package/templates/workflow-entity-trigger.yaml +90 -0
  207. package/templates/workflow-ftp-edi.yaml +158 -0
  208. package/templates/workflow-ftp-tracking.yaml +161 -0
  209. package/templates/workflow-mcp-tool.yaml +112 -0
  210. package/templates/workflow-public-api.yaml +135 -0
  211. package/templates/workflow-scheduled-execute.yaml +75 -0
  212. package/templates/workflow-scheduled.yaml +125 -0
  213. package/templates/workflow-utility.yaml +96 -0
  214. package/templates/workflow-webhook.yaml +128 -0
  215. package/templates/workflow.yaml +140 -0
@@ -0,0 +1,137 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "TrackingEvent Tasks",
4
+ "description": "Tracking event import operations",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": [
10
+ "TrackingEvent/Import@1"
11
+ ],
12
+ "description": "Task type identifier"
13
+ },
14
+ "name": {
15
+ "type": "string",
16
+ "description": "Step name identifier"
17
+ },
18
+ "description": {
19
+ "type": "string",
20
+ "description": "Step description"
21
+ },
22
+ "conditions": {
23
+ "type": "array",
24
+ "items": {
25
+ "type": "object",
26
+ "properties": {
27
+ "expression": {
28
+ "type": "string"
29
+ }
30
+ },
31
+ "required": ["expression"]
32
+ }
33
+ },
34
+ "continueOnError": {
35
+ "type": "boolean"
36
+ },
37
+ "inputs": {
38
+ "type": "object",
39
+ "description": "TrackingEvent/Import inputs",
40
+ "properties": {
41
+ "orderId": {
42
+ "type": "string",
43
+ "description": "Target order ID (required)"
44
+ },
45
+ "events": {
46
+ "type": ["array", "string"],
47
+ "description": "Array of tracking event objects to import. Each event: eventDefinitionName, eventDate, description, location, includeInTracking, sendEmail, isInactive, customValues",
48
+ "items": {
49
+ "type": "object",
50
+ "properties": {
51
+ "eventDefinitionName": {
52
+ "type": "string",
53
+ "description": "Name of the event definition to match or create"
54
+ },
55
+ "eventDate": {
56
+ "type": "string",
57
+ "description": "Event date (converted to UTC)"
58
+ },
59
+ "description": {
60
+ "type": "string",
61
+ "description": "Event description (overrides EventDefinition default)"
62
+ },
63
+ "location": {
64
+ "type": "string",
65
+ "description": "Event location (overrides EventDefinition default)"
66
+ },
67
+ "includeInTracking": {
68
+ "type": ["boolean", "string"],
69
+ "description": "Include in tracking display"
70
+ },
71
+ "sendEmail": {
72
+ "type": ["boolean", "string"],
73
+ "description": "Send email notification"
74
+ },
75
+ "isInactive": {
76
+ "type": ["boolean", "string"],
77
+ "description": "Mark event as inactive"
78
+ },
79
+ "customValues": {
80
+ "type": "object",
81
+ "description": "Free-form custom values (carrierId, carrierEventCode, etc.)",
82
+ "additionalProperties": true
83
+ }
84
+ },
85
+ "additionalProperties": true
86
+ }
87
+ },
88
+ "matchByFields": {
89
+ "type": "array",
90
+ "description": "Fields used to detect duplicate events. Supports dot notation for customValues (e.g., customValues.eventType). Default: [eventDefinitionName, eventDate]",
91
+ "items": {
92
+ "type": "string"
93
+ }
94
+ },
95
+ "skipIfExists": {
96
+ "type": ["boolean", "string"],
97
+ "description": "Skip event if duplicate found via matchByFields. Default: true"
98
+ },
99
+ "createEventDefinitions": {
100
+ "type": ["boolean", "string"],
101
+ "description": "Auto-create EventDefinition if name not found. Default: true"
102
+ },
103
+ "eventDefinitionDefaults": {
104
+ "type": "object",
105
+ "description": "Default values when creating new EventDefinitions (includeInTracking, sendEmail, eventName, etc.)",
106
+ "additionalProperties": true
107
+ },
108
+ "matchByEventDefinition": {
109
+ "type": "array",
110
+ "description": "Match EventDefinition by customValues fields instead of name (e.g., [customValues.carrierId, customValues.carrierEventCode])",
111
+ "items": {
112
+ "type": "string"
113
+ }
114
+ }
115
+ },
116
+ "additionalProperties": true
117
+ },
118
+ "outputs": {
119
+ "type": "array",
120
+ "description": "Output mapping. Result contains: added, updated, skipped, failed, total, errors",
121
+ "items": {
122
+ "type": "object",
123
+ "properties": {
124
+ "name": {
125
+ "type": "string"
126
+ },
127
+ "mapping": {
128
+ "type": "string"
129
+ }
130
+ },
131
+ "required": ["name", "mapping"]
132
+ }
133
+ }
134
+ },
135
+ "required": ["task"],
136
+ "additionalProperties": true
137
+ }
@@ -0,0 +1,185 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Transmission Tasks",
4
+ "description": "Create, update, and delete transmission records linked to orders",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": [
10
+ "Transmission/Create@1",
11
+ "Transmission/Update@1",
12
+ "Transmission/Delete@1"
13
+ ],
14
+ "description": "Task type identifier"
15
+ },
16
+ "name": {
17
+ "type": "string",
18
+ "description": "Step name identifier"
19
+ },
20
+ "description": {
21
+ "type": "string",
22
+ "description": "Step description"
23
+ },
24
+ "conditions": {
25
+ "type": "array",
26
+ "items": {
27
+ "type": "object",
28
+ "properties": {
29
+ "expression": {
30
+ "type": "string"
31
+ }
32
+ },
33
+ "required": ["expression"]
34
+ }
35
+ },
36
+ "continueOnError": {
37
+ "type": "boolean"
38
+ },
39
+ "inputs": {
40
+ "type": "object",
41
+ "description": "Task inputs — shape depends on task type",
42
+ "properties": {
43
+ "organizationId": {
44
+ "type": ["string", "integer"],
45
+ "description": "Organization ID (required for all task types)"
46
+ },
47
+ "transmissionId": {
48
+ "type": ["string", "integer"],
49
+ "description": "Transmission ID (required for Update and Delete)"
50
+ },
51
+ "transmission": {
52
+ "type": "object",
53
+ "description": "Transmission field values (Create: full object; Update: partial/dynamic)",
54
+ "properties": {
55
+ "orderIds": {
56
+ "type": ["array", "string"],
57
+ "items": { "type": ["integer", "string"] },
58
+ "description": "Order IDs to link (required for Create, at least one)"
59
+ },
60
+ "channel": {
61
+ "type": "string",
62
+ "maxLength": 20,
63
+ "description": "Communication channel (e.g. EDI, API, EMAIL, WEBHOOK)"
64
+ },
65
+ "direction": {
66
+ "type": ["string", "integer"],
67
+ "enum": ["Inbound", "Outbound", 0, 1],
68
+ "description": "Inbound (0) or Outbound (1)"
69
+ },
70
+ "messageType": {
71
+ "type": "string",
72
+ "maxLength": 50,
73
+ "description": "Message type identifier (e.g. 204, 990, 214)"
74
+ },
75
+ "sender": {
76
+ "type": "string",
77
+ "maxLength": 100,
78
+ "description": "Sender identifier"
79
+ },
80
+ "receiver": {
81
+ "type": "string",
82
+ "maxLength": 100,
83
+ "description": "Receiver identifier"
84
+ },
85
+ "correlationId": {
86
+ "type": "string",
87
+ "format": "uuid",
88
+ "description": "Correlation ID (auto-generated if omitted on Create)"
89
+ },
90
+ "parentId": {
91
+ "type": ["integer", "string", "null"],
92
+ "description": "Parent transmission ID for chaining"
93
+ },
94
+ "status": {
95
+ "type": ["string", "integer"],
96
+ "enum": ["Pending", "InProgress", "Sent", "Received", "Delivered", "Acknowledged", "Rejected", "Error", "RetryScheduled", "Cancelled", "Expired", "Accepted", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
97
+ "description": "Transmission status"
98
+ },
99
+ "endpoint": {
100
+ "type": "string",
101
+ "maxLength": 500,
102
+ "description": "Target endpoint URL"
103
+ },
104
+ "protocol": {
105
+ "type": "string",
106
+ "maxLength": 20,
107
+ "description": "Protocol (e.g. HTTPS, SFTP, AS2)"
108
+ },
109
+ "httpStatus": {
110
+ "type": ["integer", "string", "null"],
111
+ "description": "HTTP response status code"
112
+ },
113
+ "byteSize": {
114
+ "type": ["integer", "string", "null"],
115
+ "description": "Payload size in bytes"
116
+ },
117
+ "retryCount": {
118
+ "type": ["integer", "string"],
119
+ "description": "Current retry count (default: 0)"
120
+ },
121
+ "maxRetries": {
122
+ "type": ["integer", "string"],
123
+ "description": "Maximum retry attempts (default: 3)"
124
+ },
125
+ "nextRetryAt": {
126
+ "type": ["string", "null"],
127
+ "description": "Scheduled next retry time (ISO 8601)"
128
+ },
129
+ "errorCode": {
130
+ "type": ["string", "null"],
131
+ "maxLength": 50,
132
+ "description": "Error code"
133
+ },
134
+ "errorMessage": {
135
+ "type": ["string", "null"],
136
+ "description": "Error description"
137
+ },
138
+ "customValues": {
139
+ "type": ["object", "string", "null"],
140
+ "description": "Arbitrary key-value metadata (JSONB)"
141
+ },
142
+ "headers": {
143
+ "type": ["object", "string", "null"],
144
+ "description": "Message headers (JSONB)"
145
+ },
146
+ "payloadRef": {
147
+ "type": ["string", "null"],
148
+ "description": "Reference to stored payload (e.g. blob URI)"
149
+ },
150
+ "scheduledAt": {
151
+ "type": ["string", "null"],
152
+ "description": "Scheduled send time (ISO 8601)"
153
+ },
154
+ "startedAt": {
155
+ "type": ["string", "null"],
156
+ "description": "Processing start time (ISO 8601)"
157
+ },
158
+ "completedAt": {
159
+ "type": ["string", "null"],
160
+ "description": "Processing end time (ISO 8601)"
161
+ },
162
+ "durationMs": {
163
+ "type": ["integer", "string", "null"],
164
+ "description": "Processing duration in milliseconds"
165
+ }
166
+ }
167
+ }
168
+ },
169
+ "required": ["organizationId"]
170
+ },
171
+ "outputs": {
172
+ "type": "array",
173
+ "items": {
174
+ "type": "object",
175
+ "properties": {
176
+ "name": { "type": "string" },
177
+ "mapping": { "type": "string" }
178
+ },
179
+ "required": ["name", "mapping"]
180
+ },
181
+ "description": "Create outputs: transmission (TransmissionDto). Delete outputs: success (boolean)."
182
+ }
183
+ },
184
+ "required": ["task", "name", "inputs"]
185
+ }
@@ -0,0 +1,68 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "UnzipFile Task",
4
+ "description": "Extract files from a ZIP archive (local path or URL)",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Utilities/UnzipFile@1"],
10
+ "description": "Task type identifier"
11
+ },
12
+ "name": {
13
+ "type": "string",
14
+ "description": "Step name identifier"
15
+ },
16
+ "description": {
17
+ "type": "string",
18
+ "description": "Step description"
19
+ },
20
+ "conditions": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "object",
24
+ "properties": {
25
+ "expression": {
26
+ "type": "string"
27
+ }
28
+ },
29
+ "required": ["expression"]
30
+ }
31
+ },
32
+ "continueOnError": {
33
+ "type": "boolean"
34
+ },
35
+ "inputs": {
36
+ "type": "object",
37
+ "description": "UnzipFile inputs — provide either filePath or fileUrl",
38
+ "properties": {
39
+ "filePath": {
40
+ "type": "string",
41
+ "description": "Local file path to ZIP archive (from saveToFile or previous step)"
42
+ },
43
+ "fileUrl": {
44
+ "type": "string",
45
+ "description": "URL to ZIP archive (file://, http://, https://)"
46
+ },
47
+ "filePattern": {
48
+ "type": "string",
49
+ "description": "Glob-style pattern to filter extracted files (e.g. '*.csv', 'data_*.json'). If omitted, all files returned."
50
+ }
51
+ },
52
+ "additionalProperties": true
53
+ },
54
+ "outputs": {
55
+ "type": "array",
56
+ "items": {
57
+ "type": "object",
58
+ "properties": {
59
+ "name": { "type": "string" },
60
+ "mapping": { "type": "string" }
61
+ },
62
+ "required": ["name", "mapping"]
63
+ },
64
+ "description": "Outputs: Files (string[] — full paths to extracted files), Count (int — number of matched files)"
65
+ }
66
+ },
67
+ "required": ["task", "name", "inputs"]
68
+ }
@@ -0,0 +1,70 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "User Tasks",
4
+ "description": "User account management operations",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": [
10
+ "User/Create",
11
+ "User/Update",
12
+ "User/Delete",
13
+ "User/GetVerificationCode",
14
+ "User/GetEmailVerificationCode",
15
+ "User/GetResetPasswordToken"
16
+ ],
17
+ "description": "Task type identifier"
18
+ },
19
+ "name": {
20
+ "type": "string",
21
+ "description": "Step name identifier"
22
+ },
23
+ "description": {
24
+ "type": "string",
25
+ "description": "Step description"
26
+ },
27
+ "conditions": {
28
+ "type": "array",
29
+ "items": {
30
+ "type": "object",
31
+ "properties": {
32
+ "expression": { "type": "string" }
33
+ },
34
+ "required": ["expression"]
35
+ }
36
+ },
37
+ "continueOnError": {
38
+ "type": "boolean"
39
+ },
40
+ "inputs": {
41
+ "type": "object",
42
+ "description": "User operation inputs",
43
+ "properties": {
44
+ "userId": {
45
+ "type": "string",
46
+ "description": "User ID"
47
+ },
48
+ "entity": {
49
+ "type": "object",
50
+ "description": "User entity data",
51
+ "additionalProperties": true
52
+ }
53
+ },
54
+ "additionalProperties": true
55
+ },
56
+ "outputs": {
57
+ "type": "array",
58
+ "items": {
59
+ "type": "object",
60
+ "properties": {
61
+ "name": { "type": "string" },
62
+ "mapping": { "type": "string" }
63
+ },
64
+ "required": ["name", "mapping"]
65
+ }
66
+ }
67
+ },
68
+ "required": ["task"],
69
+ "additionalProperties": true
70
+ }
@@ -0,0 +1,99 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Validation Task",
4
+ "description": "Validate data with rules",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Validation/Validate@1"],
10
+ "description": "Task type identifier"
11
+ },
12
+ "name": {
13
+ "type": "string",
14
+ "description": "Step name identifier"
15
+ },
16
+ "description": {
17
+ "type": "string",
18
+ "description": "Step description"
19
+ },
20
+ "conditions": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "object",
24
+ "properties": {
25
+ "expression": {
26
+ "type": "string"
27
+ }
28
+ },
29
+ "required": ["expression"]
30
+ },
31
+ "description": "Conditions for execution"
32
+ },
33
+ "continueOnError": {
34
+ "type": "boolean",
35
+ "description": "Continue on error"
36
+ },
37
+ "inputs": {
38
+ "type": "object",
39
+ "description": "Validation inputs",
40
+ "properties": {
41
+ "rules": {
42
+ "type": "array",
43
+ "description": "Validation rules",
44
+ "items": {
45
+ "type": "object",
46
+ "properties": {
47
+ "rule": {
48
+ "type": "string",
49
+ "enum": ["required"],
50
+ "description": "Rule type. Use 'required' to check a value is not null or empty"
51
+ },
52
+ "value": {
53
+ "description": "Value to validate (used with rule: required). Typically a template expression e.g. {{ fieldName }}",
54
+ "oneOf": [
55
+ { "type": "string" },
56
+ { "type": "number" },
57
+ { "type": "boolean" },
58
+ { "type": "object" },
59
+ { "type": "null" }
60
+ ]
61
+ },
62
+ "conditions": {
63
+ "type": "string",
64
+ "description": "NCalc expression evaluated against task variables. Fails when expression is false. Variables use bracket syntax e.g. [orderId] > 0"
65
+ },
66
+ "message": {
67
+ "type": "string",
68
+ "description": "Custom error message returned when validation fails"
69
+ }
70
+ },
71
+ "anyOf": [
72
+ { "required": ["rule"] },
73
+ { "required": ["conditions"] }
74
+ ]
75
+ }
76
+ }
77
+ },
78
+ "additionalProperties": true
79
+ },
80
+ "outputs": {
81
+ "type": "array",
82
+ "items": {
83
+ "type": "object",
84
+ "properties": {
85
+ "name": {
86
+ "type": "string"
87
+ },
88
+ "mapping": {
89
+ "type": "string"
90
+ }
91
+ },
92
+ "required": ["name", "mapping"]
93
+ },
94
+ "description": "Output mappings"
95
+ }
96
+ },
97
+ "required": ["task"],
98
+ "additionalProperties": true
99
+ }
@@ -0,0 +1,53 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "While Task",
4
+ "description": "Loop while conditions are true",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "const": "while",
10
+ "description": "Task type identifier"
11
+ },
12
+ "name": {
13
+ "type": "string",
14
+ "description": "Step name identifier"
15
+ },
16
+ "description": {
17
+ "type": "string",
18
+ "description": "Step description"
19
+ },
20
+ "conditions": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "object",
24
+ "properties": {
25
+ "expression": {
26
+ "type": "string"
27
+ }
28
+ },
29
+ "required": ["expression"]
30
+ },
31
+ "description": "Conditions to continue looping"
32
+ },
33
+ "continueOnError": {
34
+ "type": "boolean",
35
+ "description": "Continue on error"
36
+ },
37
+ "maxIterations": {
38
+ "type": "integer",
39
+ "minimum": 1,
40
+ "description": "Maximum number of iterations to prevent infinite loops"
41
+ },
42
+ "steps": {
43
+ "type": "array",
44
+ "description": "Steps to execute each iteration",
45
+ "items": {
46
+ "$ref": "generic.json"
47
+ },
48
+ "minItems": 1
49
+ }
50
+ },
51
+ "required": ["task", "conditions", "steps"],
52
+ "additionalProperties": true
53
+ }