@cxtms/cx-schema 1.0.0

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 (133) 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 +1523 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/index.d.ts +7 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +11 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/types.d.ts +111 -0
  11. package/dist/types.d.ts.map +1 -0
  12. package/dist/types.js +6 -0
  13. package/dist/types.js.map +1 -0
  14. package/dist/utils/schemaLoader.d.ts +17 -0
  15. package/dist/utils/schemaLoader.d.ts.map +1 -0
  16. package/dist/utils/schemaLoader.js +134 -0
  17. package/dist/utils/schemaLoader.js.map +1 -0
  18. package/dist/validator.d.ts +64 -0
  19. package/dist/validator.d.ts.map +1 -0
  20. package/dist/validator.js +380 -0
  21. package/dist/validator.js.map +1 -0
  22. package/dist/workflowValidator.d.ts +64 -0
  23. package/dist/workflowValidator.d.ts.map +1 -0
  24. package/dist/workflowValidator.js +410 -0
  25. package/dist/workflowValidator.js.map +1 -0
  26. package/package.json +50 -0
  27. package/schemas/actions/all.json +26 -0
  28. package/schemas/actions/confirm.json +21 -0
  29. package/schemas/actions/consoleLog.json +16 -0
  30. package/schemas/actions/dialog.json +25 -0
  31. package/schemas/actions/fileDownload.json +16 -0
  32. package/schemas/actions/forEach.json +31 -0
  33. package/schemas/actions/if.json +12 -0
  34. package/schemas/actions/mutation.json +25 -0
  35. package/schemas/actions/navigate.json +18 -0
  36. package/schemas/actions/navigateBack.json +22 -0
  37. package/schemas/actions/navigateBackOrClose.json +21 -0
  38. package/schemas/actions/notification.json +19 -0
  39. package/schemas/actions/openBarcodeScanner.json +104 -0
  40. package/schemas/actions/query.json +32 -0
  41. package/schemas/actions/refresh.json +13 -0
  42. package/schemas/actions/resetDirtyState.json +22 -0
  43. package/schemas/actions/setFields.json +21 -0
  44. package/schemas/actions/setStore.json +13 -0
  45. package/schemas/actions/validateForm.json +15 -0
  46. package/schemas/actions/workflow.json +24 -0
  47. package/schemas/components/README.md +147 -0
  48. package/schemas/components/appComponent.json +50 -0
  49. package/schemas/components/barcodeScanner.json +69 -0
  50. package/schemas/components/button.json +123 -0
  51. package/schemas/components/calendar.json +489 -0
  52. package/schemas/components/card.json +176 -0
  53. package/schemas/components/collection.json +54 -0
  54. package/schemas/components/dataGrid.json +119 -0
  55. package/schemas/components/datasource.json +151 -0
  56. package/schemas/components/dropdown.json +57 -0
  57. package/schemas/components/field-collection.json +618 -0
  58. package/schemas/components/field.json +265 -0
  59. package/schemas/components/form.json +234 -0
  60. package/schemas/components/index.json +68 -0
  61. package/schemas/components/layout.json +69 -0
  62. package/schemas/components/module.json +138 -0
  63. package/schemas/components/navDropdown.json +36 -0
  64. package/schemas/components/navbar.json +78 -0
  65. package/schemas/components/navbarItem.json +28 -0
  66. package/schemas/components/navbarLink.json +36 -0
  67. package/schemas/components/row.json +31 -0
  68. package/schemas/components/tab.json +34 -0
  69. package/schemas/components/tabs.json +35 -0
  70. package/schemas/components/timeline.json +172 -0
  71. package/schemas/components/timelineGrid.json +324 -0
  72. package/schemas/fields/README.md +66 -0
  73. package/schemas/fields/attachment.json +156 -0
  74. package/schemas/fields/autocomplete-googleplaces.json +130 -0
  75. package/schemas/fields/checkbox.json +82 -0
  76. package/schemas/fields/date.json +88 -0
  77. package/schemas/fields/datetime.json +75 -0
  78. package/schemas/fields/email.json +75 -0
  79. package/schemas/fields/index.json +53 -0
  80. package/schemas/fields/number.json +91 -0
  81. package/schemas/fields/password.json +70 -0
  82. package/schemas/fields/radio.json +94 -0
  83. package/schemas/fields/rangedatetime.json +56 -0
  84. package/schemas/fields/select-async.json +334 -0
  85. package/schemas/fields/select.json +115 -0
  86. package/schemas/fields/tel.json +79 -0
  87. package/schemas/fields/text.json +86 -0
  88. package/schemas/fields/textarea.json +95 -0
  89. package/schemas/fields/time.json +91 -0
  90. package/schemas/fields/url.json +74 -0
  91. package/schemas/schema.graphql +10492 -0
  92. package/schemas/schemas.json +598 -0
  93. package/schemas/workflows/activity.json +111 -0
  94. package/schemas/workflows/common/condition.json +48 -0
  95. package/schemas/workflows/common/expression.json +76 -0
  96. package/schemas/workflows/common/mapping.json +134 -0
  97. package/schemas/workflows/input.json +76 -0
  98. package/schemas/workflows/output.json +41 -0
  99. package/schemas/workflows/schedule.json +26 -0
  100. package/schemas/workflows/tasks/accounting-transaction.json +95 -0
  101. package/schemas/workflows/tasks/all.json +34 -0
  102. package/schemas/workflows/tasks/attachment.json +94 -0
  103. package/schemas/workflows/tasks/charge.json +90 -0
  104. package/schemas/workflows/tasks/commodity.json +89 -0
  105. package/schemas/workflows/tasks/contact.json +82 -0
  106. package/schemas/workflows/tasks/csv.json +79 -0
  107. package/schemas/workflows/tasks/document-render.json +105 -0
  108. package/schemas/workflows/tasks/document-send.json +84 -0
  109. package/schemas/workflows/tasks/email-send.json +110 -0
  110. package/schemas/workflows/tasks/error.json +72 -0
  111. package/schemas/workflows/tasks/export.json +90 -0
  112. package/schemas/workflows/tasks/foreach.json +69 -0
  113. package/schemas/workflows/tasks/generic.json +47 -0
  114. package/schemas/workflows/tasks/graphql.json +78 -0
  115. package/schemas/workflows/tasks/httpRequest.json +119 -0
  116. package/schemas/workflows/tasks/job.json +88 -0
  117. package/schemas/workflows/tasks/log.json +73 -0
  118. package/schemas/workflows/tasks/map.json +58 -0
  119. package/schemas/workflows/tasks/order.json +87 -0
  120. package/schemas/workflows/tasks/payment.json +85 -0
  121. package/schemas/workflows/tasks/setVariable.json +76 -0
  122. package/schemas/workflows/tasks/switch.json +75 -0
  123. package/schemas/workflows/tasks/template.json +73 -0
  124. package/schemas/workflows/tasks/validation.json +90 -0
  125. package/schemas/workflows/tasks/while.json +53 -0
  126. package/schemas/workflows/tasks/workflow-execute.json +82 -0
  127. package/schemas/workflows/trigger.json +86 -0
  128. package/schemas/workflows/variable.json +46 -0
  129. package/schemas/workflows/workflow.json +172 -0
  130. package/scripts/postinstall.js +161 -0
  131. package/scripts/setup-vscode.js +80 -0
  132. package/templates/module.yaml +83 -0
  133. package/templates/workflow.yaml +100 -0
@@ -0,0 +1,72 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Error Task",
4
+ "description": "Throw an error to stop workflow execution",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Utilities/Error@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": "Error inputs",
38
+ "properties": {
39
+ "message": {
40
+ "type": "string",
41
+ "description": "Error message"
42
+ },
43
+ "code": {
44
+ "type": "string",
45
+ "description": "Error code"
46
+ },
47
+ "data": {
48
+ "description": "Additional error data"
49
+ }
50
+ },
51
+ "required": ["message"],
52
+ "additionalProperties": true
53
+ },
54
+ "outputs": {
55
+ "type": "array",
56
+ "items": {
57
+ "type": "object",
58
+ "properties": {
59
+ "name": {
60
+ "type": "string"
61
+ },
62
+ "mapping": {
63
+ "type": "string"
64
+ }
65
+ },
66
+ "required": ["name", "mapping"]
67
+ }
68
+ }
69
+ },
70
+ "required": ["task"],
71
+ "additionalProperties": true
72
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Export Task",
4
+ "description": "Export data to various formats (CSV, XLSX, JSON)",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Utilities/Export@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": "Export inputs",
38
+ "properties": {
39
+ "data": {
40
+ "description": "Data to export"
41
+ },
42
+ "format": {
43
+ "type": "string",
44
+ "enum": ["csv", "xlsx", "json"],
45
+ "description": "Export format"
46
+ },
47
+ "fileName": {
48
+ "type": "string",
49
+ "description": "Output file name"
50
+ },
51
+ "columns": {
52
+ "type": "array",
53
+ "items": {
54
+ "type": "object",
55
+ "properties": {
56
+ "name": {
57
+ "type": "string"
58
+ },
59
+ "header": {
60
+ "type": "string"
61
+ },
62
+ "mapping": {
63
+ "type": "string"
64
+ }
65
+ }
66
+ },
67
+ "description": "Column definitions"
68
+ }
69
+ },
70
+ "additionalProperties": true
71
+ },
72
+ "outputs": {
73
+ "type": "array",
74
+ "items": {
75
+ "type": "object",
76
+ "properties": {
77
+ "name": {
78
+ "type": "string"
79
+ },
80
+ "mapping": {
81
+ "type": "string"
82
+ }
83
+ },
84
+ "required": ["name", "mapping"]
85
+ }
86
+ }
87
+ },
88
+ "required": ["task"],
89
+ "additionalProperties": true
90
+ }
@@ -0,0 +1,69 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "ForEach Task",
4
+ "description": "Iterate over a collection and execute steps for each item",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "const": "foreach",
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
+ "collection": {
21
+ "type": "string",
22
+ "description": "Expression evaluating to array (e.g., 'activityName.stepName.items')"
23
+ },
24
+ "item": {
25
+ "type": "string",
26
+ "description": "Variable name for current item (default: 'item')"
27
+ },
28
+ "index": {
29
+ "type": "string",
30
+ "description": "Variable name for current index"
31
+ },
32
+ "conditions": {
33
+ "type": "array",
34
+ "items": {
35
+ "type": "object",
36
+ "properties": {
37
+ "expression": {
38
+ "type": "string"
39
+ }
40
+ },
41
+ "required": ["expression"]
42
+ },
43
+ "description": "Conditions for execution"
44
+ },
45
+ "continueOnError": {
46
+ "type": "boolean",
47
+ "description": "Continue on error"
48
+ },
49
+ "steps": {
50
+ "type": "array",
51
+ "description": "Steps to execute for each item",
52
+ "items": {
53
+ "$ref": "generic.json"
54
+ },
55
+ "minItems": 1
56
+ },
57
+ "parallel": {
58
+ "type": "boolean",
59
+ "description": "Execute iterations in parallel"
60
+ },
61
+ "maxParallelism": {
62
+ "type": "integer",
63
+ "minimum": 1,
64
+ "description": "Maximum parallel executions"
65
+ }
66
+ },
67
+ "required": ["task", "collection", "steps"],
68
+ "additionalProperties": true
69
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Generic Workflow Task",
4
+ "description": "Generic task schema for unrecognized task types - validates basic structure",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "description": "Task type identifier"
10
+ },
11
+ "name": {
12
+ "type": "string",
13
+ "description": "Step name identifier"
14
+ },
15
+ "description": {
16
+ "type": "string",
17
+ "description": "Step description"
18
+ },
19
+ "conditions": {
20
+ "type": "array",
21
+ "items": {
22
+ "type": "object",
23
+ "properties": {
24
+ "expression": {
25
+ "type": "string"
26
+ }
27
+ }
28
+ }
29
+ },
30
+ "continueOnError": {
31
+ "type": "boolean"
32
+ },
33
+ "inputs": {
34
+ "type": "object",
35
+ "additionalProperties": true
36
+ },
37
+ "outputs": {
38
+ "type": "array",
39
+ "items": {
40
+ "type": "object",
41
+ "additionalProperties": true
42
+ }
43
+ }
44
+ },
45
+ "required": ["task"],
46
+ "additionalProperties": true
47
+ }
@@ -0,0 +1,78 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "GraphQL Query Task",
4
+ "description": "Execute GraphQL queries",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Query/GraphQL", "Query/GraphQL@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": "GraphQL query inputs",
38
+ "properties": {
39
+ "query": {
40
+ "type": "string",
41
+ "description": "GraphQL query string"
42
+ },
43
+ "variables": {
44
+ "type": "object",
45
+ "description": "Query variables (can contain expressions)",
46
+ "additionalProperties": true
47
+ },
48
+ "cacheKey": {
49
+ "type": "string",
50
+ "description": "Cache key for query results"
51
+ },
52
+ "cacheDuration": {
53
+ "type": "string",
54
+ "description": "Cache duration (e.g., '5m', '1h', 'EndOfDay|EST')"
55
+ }
56
+ },
57
+ "required": ["query"],
58
+ "additionalProperties": true
59
+ },
60
+ "outputs": {
61
+ "type": "array",
62
+ "items": {
63
+ "type": "object",
64
+ "properties": {
65
+ "name": {
66
+ "type": "string"
67
+ },
68
+ "mapping": {
69
+ "type": "string"
70
+ }
71
+ },
72
+ "required": ["name", "mapping"]
73
+ }
74
+ }
75
+ },
76
+ "required": ["task"],
77
+ "additionalProperties": true
78
+ }
@@ -0,0 +1,119 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "HTTP Request Task",
4
+ "description": "Make HTTP API requests",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Utilities/HttpRequest@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": "HTTP request inputs",
38
+ "properties": {
39
+ "url": {
40
+ "type": "string",
41
+ "description": "Request URL"
42
+ },
43
+ "method": {
44
+ "type": "string",
45
+ "enum": ["GET", "POST", "PUT", "PATCH", "DELETE"],
46
+ "description": "HTTP method"
47
+ },
48
+ "contentType": {
49
+ "type": "string",
50
+ "description": "Content-Type header value"
51
+ },
52
+ "headers": {
53
+ "type": "array",
54
+ "items": {
55
+ "type": "object",
56
+ "properties": {
57
+ "name": {
58
+ "type": "string"
59
+ },
60
+ "value": {}
61
+ },
62
+ "required": ["name", "value"]
63
+ },
64
+ "description": "Request headers"
65
+ },
66
+ "body": {
67
+ "description": "Request body (can be string or object)"
68
+ },
69
+ "timeout": {
70
+ "type": "integer",
71
+ "description": "Request timeout in milliseconds"
72
+ },
73
+ "retry": {
74
+ "type": "object",
75
+ "properties": {
76
+ "count": {
77
+ "type": "integer"
78
+ },
79
+ "delay": {
80
+ "type": "integer"
81
+ }
82
+ },
83
+ "description": "Retry configuration"
84
+ },
85
+ "cache": {
86
+ "type": "object",
87
+ "properties": {
88
+ "key": {
89
+ "type": "string"
90
+ },
91
+ "duration": {
92
+ "type": "string"
93
+ }
94
+ },
95
+ "description": "Response caching configuration"
96
+ }
97
+ },
98
+ "required": ["url", "method"],
99
+ "additionalProperties": true
100
+ },
101
+ "outputs": {
102
+ "type": "array",
103
+ "items": {
104
+ "type": "object",
105
+ "properties": {
106
+ "name": {
107
+ "type": "string"
108
+ },
109
+ "mapping": {
110
+ "type": "string"
111
+ }
112
+ },
113
+ "required": ["name", "mapping"]
114
+ }
115
+ }
116
+ },
117
+ "required": ["task", "inputs"],
118
+ "additionalProperties": true
119
+ }
@@ -0,0 +1,88 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Job Tasks",
4
+ "description": "Job entity CRUD and assignment operations",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": [
10
+ "Job/Create@1",
11
+ "Job/Update@1",
12
+ "Job/Delete@1",
13
+ "Job/Get@1",
14
+ "Job/Assign@1",
15
+ "Job/Unassign@1"
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": {
33
+ "type": "string"
34
+ }
35
+ },
36
+ "required": ["expression"]
37
+ }
38
+ },
39
+ "continueOnError": {
40
+ "type": "boolean"
41
+ },
42
+ "inputs": {
43
+ "type": "object",
44
+ "description": "Job operation inputs",
45
+ "properties": {
46
+ "jobId": {
47
+ "type": "string",
48
+ "description": "Job ID"
49
+ },
50
+ "orderId": {
51
+ "type": "string",
52
+ "description": "Associated order ID"
53
+ },
54
+ "assigneeId": {
55
+ "type": "string",
56
+ "description": "Assignee ID (for assign/unassign)"
57
+ },
58
+ "entity": {
59
+ "type": "object",
60
+ "description": "Job entity data",
61
+ "additionalProperties": true
62
+ },
63
+ "partial": {
64
+ "type": "boolean",
65
+ "description": "Partial update (patch)"
66
+ }
67
+ },
68
+ "additionalProperties": true
69
+ },
70
+ "outputs": {
71
+ "type": "array",
72
+ "items": {
73
+ "type": "object",
74
+ "properties": {
75
+ "name": {
76
+ "type": "string"
77
+ },
78
+ "mapping": {
79
+ "type": "string"
80
+ }
81
+ },
82
+ "required": ["name", "mapping"]
83
+ }
84
+ }
85
+ },
86
+ "required": ["task"],
87
+ "additionalProperties": true
88
+ }
@@ -0,0 +1,73 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Log Task",
4
+ "description": "Log messages for debugging and monitoring",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Utilities/Log@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": "Log inputs",
38
+ "properties": {
39
+ "message": {
40
+ "type": "string",
41
+ "description": "Log message (can include template expressions)"
42
+ },
43
+ "level": {
44
+ "type": "string",
45
+ "enum": ["Debug", "Information", "Warning", "Error"],
46
+ "description": "Log level"
47
+ },
48
+ "data": {
49
+ "description": "Additional data to log"
50
+ }
51
+ },
52
+ "required": ["message"],
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
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Map Task",
4
+ "description": "Transform and map data",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Utilities/Map@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": "Map inputs",
38
+ "additionalProperties": true
39
+ },
40
+ "outputs": {
41
+ "type": "array",
42
+ "items": {
43
+ "type": "object",
44
+ "properties": {
45
+ "name": {
46
+ "type": "string"
47
+ },
48
+ "mapping": {
49
+ "type": "string"
50
+ }
51
+ },
52
+ "required": ["name", "mapping"]
53
+ }
54
+ }
55
+ },
56
+ "required": ["task"],
57
+ "additionalProperties": true
58
+ }