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,139 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Order Tasks",
4
+ "description": "Order entity CRUD operations",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": [
10
+ "Order/Create@1",
11
+ "Order/Update@1",
12
+ "Order/Update@2",
13
+ "Order/Delete@1",
14
+ "Order/Get@1",
15
+ "Order/Copy@1",
16
+ "Order/Split@1",
17
+ "Order/Import@1",
18
+ "Order/RecalculateCharges@1",
19
+ "Order/GenerateTrackingNumber@1",
20
+ "Order/Purge@1",
21
+ "Order/GetCargoMovementByPalletQuery"
22
+ ],
23
+ "description": "Task type identifier"
24
+ },
25
+ "name": {
26
+ "type": "string",
27
+ "description": "Step name identifier"
28
+ },
29
+ "description": {
30
+ "type": "string",
31
+ "description": "Step description"
32
+ },
33
+ "conditions": {
34
+ "type": "array",
35
+ "items": {
36
+ "type": "object",
37
+ "properties": {
38
+ "expression": {
39
+ "type": "string"
40
+ }
41
+ },
42
+ "required": ["expression"]
43
+ }
44
+ },
45
+ "continueOnError": {
46
+ "type": "boolean"
47
+ },
48
+ "inputs": {
49
+ "type": "object",
50
+ "description": "Order operation inputs",
51
+ "properties": {
52
+ "orderId": {
53
+ "type": "string",
54
+ "description": "Order ID (for update/delete/get operations)"
55
+ },
56
+ "orderType": {
57
+ "type": "string",
58
+ "description": "Order type (for create operations)"
59
+ },
60
+ "entity": {
61
+ "type": "object",
62
+ "description": "Order entity data",
63
+ "additionalProperties": true
64
+ },
65
+ "partial": {
66
+ "type": "boolean",
67
+ "description": "Partial update (patch)"
68
+ },
69
+ "validateOnly": {
70
+ "type": "boolean",
71
+ "description": "Only validate, don't persist"
72
+ },
73
+ "data": {
74
+ "description": "Structured import data (for Order/Import@1)",
75
+ "additionalProperties": true
76
+ },
77
+ "options": {
78
+ "type": "object",
79
+ "description": "Import options (for Order/Import@1)",
80
+ "properties": {
81
+ "orderMatchByFields": {
82
+ "type": "array",
83
+ "items": { "type": "string" },
84
+ "description": "Fields to match existing orders. If null, creates new orders."
85
+ },
86
+ "contactMatchByFields": {
87
+ "type": "array",
88
+ "items": { "type": "string" },
89
+ "description": "Fields to match existing contacts for order entities."
90
+ },
91
+ "contactAddressMatchByFields": {
92
+ "type": "array",
93
+ "items": { "type": "string" },
94
+ "description": "Fields to match existing contact addresses within order entities."
95
+ },
96
+ "inventoryItemMatchByFields": {
97
+ "type": "array",
98
+ "items": { "type": "string" },
99
+ "description": "Fields to match existing inventory items on commodities."
100
+ },
101
+ "tagMatchByFields": {
102
+ "type": "array",
103
+ "items": { "type": "string" },
104
+ "description": "Fields to match existing tags."
105
+ },
106
+ "commodityMatchByFields": {
107
+ "type": "array",
108
+ "items": { "type": "string" },
109
+ "description": "Fields to match existing commodities."
110
+ },
111
+ "linkTrackingEventsToCommodities": {
112
+ "type": "boolean",
113
+ "description": "When true, imported tracking events are linked to the order's first-level (non-container) commodities. Default: false."
114
+ }
115
+ },
116
+ "additionalProperties": true
117
+ }
118
+ },
119
+ "additionalProperties": true
120
+ },
121
+ "outputs": {
122
+ "type": "array",
123
+ "items": {
124
+ "type": "object",
125
+ "properties": {
126
+ "name": {
127
+ "type": "string"
128
+ },
129
+ "mapping": {
130
+ "type": "string"
131
+ }
132
+ },
133
+ "required": ["name", "mapping"]
134
+ }
135
+ }
136
+ },
137
+ "required": ["task"],
138
+ "additionalProperties": true
139
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Payment Tasks",
4
+ "description": "Payment processing operations",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Payment/Create", "Payment/Create@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": "Payment inputs",
38
+ "properties": {
39
+ "paymentId": {
40
+ "type": "string",
41
+ "description": "Payment ID"
42
+ },
43
+ "amount": {
44
+ "type": "number",
45
+ "description": "Payment amount"
46
+ },
47
+ "customerId": {
48
+ "type": "string",
49
+ "description": "Customer contact ID"
50
+ },
51
+ "invoiceId": {
52
+ "type": "string",
53
+ "description": "Invoice to apply payment to"
54
+ },
55
+ "paymentMethod": {
56
+ "type": "string",
57
+ "description": "Payment method"
58
+ },
59
+ "entity": {
60
+ "type": "object",
61
+ "description": "Payment entity data",
62
+ "additionalProperties": true
63
+ }
64
+ },
65
+ "additionalProperties": true
66
+ },
67
+ "outputs": {
68
+ "type": "array",
69
+ "items": {
70
+ "type": "object",
71
+ "properties": {
72
+ "name": {
73
+ "type": "string"
74
+ },
75
+ "mapping": {
76
+ "type": "string"
77
+ }
78
+ },
79
+ "required": ["name", "mapping"]
80
+ }
81
+ }
82
+ },
83
+ "required": ["task"],
84
+ "additionalProperties": true
85
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "PDF Document Tasks",
4
+ "description": "PDF document operations",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": [
10
+ "PdfDocument/Merge@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": { "type": "string" }
28
+ },
29
+ "required": ["expression"]
30
+ }
31
+ },
32
+ "continueOnError": {
33
+ "type": "boolean"
34
+ },
35
+ "inputs": {
36
+ "type": "object",
37
+ "description": "PDF document operation inputs",
38
+ "properties": {
39
+ "documents": {
40
+ "type": "array",
41
+ "description": "Array of PDF documents to merge"
42
+ }
43
+ },
44
+ "additionalProperties": true
45
+ },
46
+ "outputs": {
47
+ "type": "array",
48
+ "items": {
49
+ "type": "object",
50
+ "properties": {
51
+ "name": { "type": "string" },
52
+ "mapping": { "type": "string" }
53
+ },
54
+ "required": ["name", "mapping"]
55
+ }
56
+ }
57
+ },
58
+ "required": ["task"],
59
+ "additionalProperties": true
60
+ }
@@ -0,0 +1,92 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "PostalCodes Import Task",
4
+ "description": "Import postal codes from file, URL, or direct data",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["PostalCodes/Import@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": "PostalCodes/Import inputs — provide fileUrl, stream, or postalCodes",
38
+ "properties": {
39
+ "fileUrl": {
40
+ "type": "string",
41
+ "description": "URL to import file (CSV, XLSX, JSON, XML). File type is auto-detected from URL extension."
42
+ },
43
+ "fileType": {
44
+ "type": "string",
45
+ "enum": ["Csv", "Xlsx", "Json", "Xml", "Html"],
46
+ "description": "File format. Required when using stream input; auto-detected from fileUrl otherwise."
47
+ },
48
+ "stream": {
49
+ "description": "Raw stream data (binary). Requires fileType to be set."
50
+ },
51
+ "postalCodes": {
52
+ "type": "array",
53
+ "items": {
54
+ "type": "object",
55
+ "properties": {
56
+ "Code": { "type": "string" },
57
+ "CountryCode": { "type": "string" },
58
+ "PlaceName": { "type": "string" },
59
+ "StateCode": { "type": "string" },
60
+ "Latitude": { "type": "number" },
61
+ "Longitude": { "type": "number" },
62
+ "TimeZone": { "type": "string" },
63
+ "CustomValues": { "type": "object", "additionalProperties": true }
64
+ },
65
+ "required": ["Code", "CountryCode", "PlaceName"]
66
+ },
67
+ "description": "Direct postal code objects for import"
68
+ },
69
+ "matchByFields": {
70
+ "type": "array",
71
+ "items": { "type": "string" },
72
+ "description": "Fields to match existing records for upsert (e.g. ['Code', 'CountryCode'])"
73
+ }
74
+ },
75
+ "additionalProperties": true
76
+ },
77
+ "outputs": {
78
+ "type": "array",
79
+ "items": {
80
+ "type": "object",
81
+ "properties": {
82
+ "name": { "type": "string" },
83
+ "mapping": { "type": "string" }
84
+ },
85
+ "required": ["name", "mapping"]
86
+ },
87
+ "description": "Outputs: result.success (boolean), result.added (int), result.updated (int), result.totalProcessed (int), result.errors (string[]), result.hasErrors (boolean)"
88
+ }
89
+ },
90
+ "required": ["task", "name", "inputs"],
91
+ "additionalProperties": true
92
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "ResolveTimezone Task",
4
+ "description": "Resolve IANA timezone ID and UTC offset from geographic coordinates",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Utilities/ResolveTimezone@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": "ResolveTimezone inputs",
38
+ "properties": {
39
+ "latitude": {
40
+ "type": ["string", "number"],
41
+ "description": "Latitude coordinate (decimal degrees)"
42
+ },
43
+ "longitude": {
44
+ "type": ["string", "number"],
45
+ "description": "Longitude coordinate (decimal degrees)"
46
+ }
47
+ },
48
+ "required": ["latitude", "longitude"],
49
+ "additionalProperties": true
50
+ },
51
+ "outputs": {
52
+ "type": "array",
53
+ "items": {
54
+ "type": "object",
55
+ "properties": {
56
+ "name": { "type": "string" },
57
+ "mapping": { "type": "string" }
58
+ },
59
+ "required": ["name", "mapping"]
60
+ },
61
+ "description": "Outputs: timezoneId (IANA timezone string, e.g. 'America/Chicago'), utcOffset (number, hours from UTC, e.g. -5)"
62
+ }
63
+ },
64
+ "required": ["task", "name", "inputs"]
65
+ }
@@ -0,0 +1,76 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "SetVariable Task",
4
+ "description": "Set or update workflow variables",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Utilities/SetVariable", "Utilities/SetVariable@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": "SetVariable inputs",
38
+ "properties": {
39
+ "variables": {
40
+ "type": "array",
41
+ "items": {
42
+ "type": "object",
43
+ "properties": {
44
+ "name": {
45
+ "type": "string",
46
+ "description": "Variable name to set"
47
+ },
48
+ "value": {
49
+ "description": "Value to assign (can be expression, template, or complex object)"
50
+ }
51
+ },
52
+ "required": ["name", "value"]
53
+ }
54
+ }
55
+ },
56
+ "additionalProperties": true
57
+ },
58
+ "outputs": {
59
+ "type": "array",
60
+ "items": {
61
+ "type": "object",
62
+ "properties": {
63
+ "name": {
64
+ "type": "string"
65
+ },
66
+ "mapping": {
67
+ "type": "string"
68
+ }
69
+ },
70
+ "required": ["name", "mapping"]
71
+ }
72
+ }
73
+ },
74
+ "required": ["task"],
75
+ "additionalProperties": true
76
+ }
@@ -0,0 +1,75 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Switch Task",
4
+ "description": "Conditional branching with multiple cases",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "const": "switch",
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
+ "cases": {
38
+ "type": "array",
39
+ "description": "Switch cases",
40
+ "items": {
41
+ "type": "object",
42
+ "properties": {
43
+ "when": {
44
+ "type": "string",
45
+ "description": "Condition expression for this case"
46
+ },
47
+ "steps": {
48
+ "type": "array",
49
+ "items": {
50
+ "$ref": "generic.json"
51
+ },
52
+ "minItems": 1
53
+ }
54
+ },
55
+ "required": ["when", "steps"],
56
+ "additionalProperties": true
57
+ },
58
+ "minItems": 1
59
+ },
60
+ "default": {
61
+ "type": "object",
62
+ "description": "Default case if no conditions match",
63
+ "properties": {
64
+ "steps": {
65
+ "type": "array",
66
+ "items": {
67
+ "$ref": "generic.json"
68
+ }
69
+ }
70
+ }
71
+ }
72
+ },
73
+ "required": ["task", "cases"],
74
+ "additionalProperties": true
75
+ }
@@ -0,0 +1,73 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Template Task",
4
+ "description": "Render templates using Handlebars",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Utilities/Template@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": "Template inputs",
38
+ "properties": {
39
+ "template": {
40
+ "type": "string",
41
+ "description": "Handlebars template string"
42
+ },
43
+ "data": {
44
+ "description": "Data to pass to template"
45
+ },
46
+ "helpers": {
47
+ "type": "object",
48
+ "description": "Custom Handlebars helpers",
49
+ "additionalProperties": true
50
+ }
51
+ },
52
+ "required": ["template"],
53
+ "additionalProperties": true
54
+ },
55
+ "outputs": {
56
+ "type": "array",
57
+ "items": {
58
+ "type": "object",
59
+ "properties": {
60
+ "name": {
61
+ "type": "string"
62
+ },
63
+ "mapping": {
64
+ "type": "string"
65
+ }
66
+ },
67
+ "required": ["name", "mapping"]
68
+ }
69
+ }
70
+ },
71
+ "required": ["task"],
72
+ "additionalProperties": true
73
+ }