@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,90 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Charge Tasks",
4
+ "description": "Charge/billing operations",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": [
10
+ "Charge/Create@1",
11
+ "Charge/Update",
12
+ "Charge/Delete@1",
13
+ "Charge/Calculate"
14
+ ],
15
+ "description": "Task type identifier"
16
+ },
17
+ "name": {
18
+ "type": "string",
19
+ "description": "Step name identifier"
20
+ },
21
+ "description": {
22
+ "type": "string",
23
+ "description": "Step description"
24
+ },
25
+ "conditions": {
26
+ "type": "array",
27
+ "items": {
28
+ "type": "object",
29
+ "properties": {
30
+ "expression": {
31
+ "type": "string"
32
+ }
33
+ },
34
+ "required": ["expression"]
35
+ }
36
+ },
37
+ "continueOnError": {
38
+ "type": "boolean"
39
+ },
40
+ "inputs": {
41
+ "type": "object",
42
+ "description": "Charge operation inputs",
43
+ "properties": {
44
+ "chargeId": {
45
+ "type": "string",
46
+ "description": "Charge ID"
47
+ },
48
+ "orderId": {
49
+ "type": "string",
50
+ "description": "Associated order ID"
51
+ },
52
+ "jobId": {
53
+ "type": "string",
54
+ "description": "Associated job ID"
55
+ },
56
+ "chargeType": {
57
+ "type": "string",
58
+ "description": "Type of charge"
59
+ },
60
+ "amount": {
61
+ "type": "number",
62
+ "description": "Charge amount"
63
+ },
64
+ "entity": {
65
+ "type": "object",
66
+ "description": "Charge entity data",
67
+ "additionalProperties": true
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,89 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Commodity Tasks",
4
+ "description": "Commodity entity CRUD operations",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": [
10
+ "Commodity/Create@1",
11
+ "Commodity/Update@1",
12
+ "Commodity/Delete@1",
13
+ "Commodity/Get@1",
14
+ "Commodity/Repack@1",
15
+ "OrderCommodity/Create@1",
16
+ "OrderCommodity/Update@1",
17
+ "OrderCommodity/Delete@1",
18
+ "CommodityTrackingNumber/Create@1",
19
+ "CommodityTrackingNumber/Update@1",
20
+ "CommodityTrackingNumber/Delete@1"
21
+ ],
22
+ "description": "Task type identifier"
23
+ },
24
+ "name": {
25
+ "type": "string",
26
+ "description": "Step name identifier"
27
+ },
28
+ "description": {
29
+ "type": "string",
30
+ "description": "Step description"
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
+ },
44
+ "continueOnError": {
45
+ "type": "boolean"
46
+ },
47
+ "inputs": {
48
+ "type": "object",
49
+ "description": "Commodity operation inputs",
50
+ "properties": {
51
+ "commodityId": {
52
+ "type": "string",
53
+ "description": "Commodity ID"
54
+ },
55
+ "orderId": {
56
+ "type": "string",
57
+ "description": "Associated order ID"
58
+ },
59
+ "entity": {
60
+ "type": "object",
61
+ "description": "Commodity entity data",
62
+ "additionalProperties": true
63
+ },
64
+ "partial": {
65
+ "type": "boolean",
66
+ "description": "Partial update (patch)"
67
+ }
68
+ },
69
+ "additionalProperties": true
70
+ },
71
+ "outputs": {
72
+ "type": "array",
73
+ "items": {
74
+ "type": "object",
75
+ "properties": {
76
+ "name": {
77
+ "type": "string"
78
+ },
79
+ "mapping": {
80
+ "type": "string"
81
+ }
82
+ },
83
+ "required": ["name", "mapping"]
84
+ }
85
+ }
86
+ },
87
+ "required": ["task"],
88
+ "additionalProperties": true
89
+ }
@@ -0,0 +1,82 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Contact Tasks",
4
+ "description": "Contact entity CRUD operations",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": [
10
+ "Contact/Create@1",
11
+ "Contact/Update@1",
12
+ "Contact/Delete@1",
13
+ "Contact/Get@1"
14
+ ],
15
+ "description": "Task type identifier"
16
+ },
17
+ "name": {
18
+ "type": "string",
19
+ "description": "Step name identifier"
20
+ },
21
+ "description": {
22
+ "type": "string",
23
+ "description": "Step description"
24
+ },
25
+ "conditions": {
26
+ "type": "array",
27
+ "items": {
28
+ "type": "object",
29
+ "properties": {
30
+ "expression": {
31
+ "type": "string"
32
+ }
33
+ },
34
+ "required": ["expression"]
35
+ }
36
+ },
37
+ "continueOnError": {
38
+ "type": "boolean"
39
+ },
40
+ "inputs": {
41
+ "type": "object",
42
+ "description": "Contact operation inputs",
43
+ "properties": {
44
+ "contactId": {
45
+ "type": "string",
46
+ "description": "Contact ID (for update/delete/get operations)"
47
+ },
48
+ "contactType": {
49
+ "type": "string",
50
+ "description": "Contact type"
51
+ },
52
+ "entity": {
53
+ "type": "object",
54
+ "description": "Contact entity data",
55
+ "additionalProperties": true
56
+ },
57
+ "partial": {
58
+ "type": "boolean",
59
+ "description": "Partial update (patch)"
60
+ }
61
+ },
62
+ "additionalProperties": true
63
+ },
64
+ "outputs": {
65
+ "type": "array",
66
+ "items": {
67
+ "type": "object",
68
+ "properties": {
69
+ "name": {
70
+ "type": "string"
71
+ },
72
+ "mapping": {
73
+ "type": "string"
74
+ }
75
+ },
76
+ "required": ["name", "mapping"]
77
+ }
78
+ }
79
+ },
80
+ "required": ["task"],
81
+ "additionalProperties": true
82
+ }
@@ -0,0 +1,79 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "CSV Task",
4
+ "description": "Parse or generate CSV data",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Utilities/CSV@1", "Utilities/CsvParse"],
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": "CSV inputs",
38
+ "properties": {
39
+ "data": {
40
+ "type": "string",
41
+ "description": "CSV data to parse"
42
+ },
43
+ "delimiter": {
44
+ "type": "string",
45
+ "description": "Column delimiter (default: ',')"
46
+ },
47
+ "hasHeader": {
48
+ "type": "boolean",
49
+ "description": "Whether first row is header"
50
+ },
51
+ "columns": {
52
+ "type": "array",
53
+ "items": {
54
+ "type": "string"
55
+ },
56
+ "description": "Column names"
57
+ }
58
+ },
59
+ "additionalProperties": true
60
+ },
61
+ "outputs": {
62
+ "type": "array",
63
+ "items": {
64
+ "type": "object",
65
+ "properties": {
66
+ "name": {
67
+ "type": "string"
68
+ },
69
+ "mapping": {
70
+ "type": "string"
71
+ }
72
+ },
73
+ "required": ["name", "mapping"]
74
+ }
75
+ }
76
+ },
77
+ "required": ["task"],
78
+ "additionalProperties": true
79
+ }
@@ -0,0 +1,105 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Document Render Task",
4
+ "description": "Render documents from templates using JSReport",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Document/Render", "Document/Render@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": "Document render inputs",
38
+ "properties": {
39
+ "template": {
40
+ "type": "object",
41
+ "description": "Template configuration",
42
+ "properties": {
43
+ "content": {
44
+ "type": "string",
45
+ "description": "Template content (HTML)"
46
+ },
47
+ "engine": {
48
+ "type": "string",
49
+ "enum": ["jsrender", "handlebars"],
50
+ "description": "Template engine"
51
+ },
52
+ "recipe": {
53
+ "type": "string",
54
+ "enum": ["html", "chrome-pdf", "xlsx", "docx", "csv"],
55
+ "description": "Output recipe/format"
56
+ },
57
+ "chrome": {
58
+ "type": "object",
59
+ "description": "Chrome PDF options",
60
+ "properties": {
61
+ "marginTop": { "type": "string" },
62
+ "marginBottom": { "type": "string" },
63
+ "marginLeft": { "type": "string" },
64
+ "marginRight": { "type": "string" },
65
+ "landscape": { "type": "boolean" },
66
+ "format": { "type": "string" },
67
+ "printBackground": { "type": "boolean" }
68
+ },
69
+ "additionalProperties": true
70
+ }
71
+ },
72
+ "additionalProperties": true
73
+ },
74
+ "data": {
75
+ "type": "object",
76
+ "description": "Data for template rendering",
77
+ "additionalProperties": true
78
+ },
79
+ "options": {
80
+ "type": "object",
81
+ "description": "Rendering options",
82
+ "additionalProperties": true
83
+ }
84
+ },
85
+ "additionalProperties": true
86
+ },
87
+ "outputs": {
88
+ "type": "array",
89
+ "items": {
90
+ "type": "object",
91
+ "properties": {
92
+ "name": {
93
+ "type": "string"
94
+ },
95
+ "mapping": {
96
+ "type": "string"
97
+ }
98
+ },
99
+ "required": ["name", "mapping"]
100
+ }
101
+ }
102
+ },
103
+ "required": ["task"],
104
+ "additionalProperties": true
105
+ }
@@ -0,0 +1,84 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Document Send Task",
4
+ "description": "Send generated documents",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Document/Send", "OrderDocument/Send@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": "Document send inputs",
38
+ "properties": {
39
+ "orderId": {
40
+ "type": "string",
41
+ "description": "Associated order ID"
42
+ },
43
+ "documentType": {
44
+ "type": "string",
45
+ "description": "Document type"
46
+ },
47
+ "recipients": {
48
+ "type": "array",
49
+ "items": {
50
+ "type": "object",
51
+ "properties": {
52
+ "email": { "type": "string" },
53
+ "name": { "type": "string" }
54
+ }
55
+ },
56
+ "description": "Document recipients"
57
+ },
58
+ "document": {
59
+ "type": "object",
60
+ "description": "Document data",
61
+ "additionalProperties": true
62
+ }
63
+ },
64
+ "additionalProperties": true
65
+ },
66
+ "outputs": {
67
+ "type": "array",
68
+ "items": {
69
+ "type": "object",
70
+ "properties": {
71
+ "name": {
72
+ "type": "string"
73
+ },
74
+ "mapping": {
75
+ "type": "string"
76
+ }
77
+ },
78
+ "required": ["name", "mapping"]
79
+ }
80
+ }
81
+ },
82
+ "required": ["task"],
83
+ "additionalProperties": true
84
+ }
@@ -0,0 +1,110 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Email Send Task",
4
+ "description": "Send emails with templates and attachments",
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "string",
9
+ "enum": ["Email/Send", "Email/Send@1", "Email/VerifyCode@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": "Email inputs",
38
+ "properties": {
39
+ "to": {
40
+ "oneOf": [
41
+ { "type": "string" },
42
+ { "type": "array", "items": { "type": "string" } }
43
+ ],
44
+ "description": "Recipient email address(es)"
45
+ },
46
+ "cc": {
47
+ "oneOf": [
48
+ { "type": "string" },
49
+ { "type": "array", "items": { "type": "string" } }
50
+ ],
51
+ "description": "CC email address(es)"
52
+ },
53
+ "bcc": {
54
+ "oneOf": [
55
+ { "type": "string" },
56
+ { "type": "array", "items": { "type": "string" } }
57
+ ],
58
+ "description": "BCC email address(es)"
59
+ },
60
+ "subject": {
61
+ "type": "string",
62
+ "description": "Email subject"
63
+ },
64
+ "body": {
65
+ "type": "string",
66
+ "description": "Email body (HTML supported)"
67
+ },
68
+ "template": {
69
+ "type": "string",
70
+ "description": "Email template name"
71
+ },
72
+ "templateData": {
73
+ "type": "object",
74
+ "description": "Data for template rendering",
75
+ "additionalProperties": true
76
+ },
77
+ "attachments": {
78
+ "type": "array",
79
+ "items": {
80
+ "type": "object",
81
+ "properties": {
82
+ "fileName": { "type": "string" },
83
+ "content": { "type": "string" },
84
+ "contentType": { "type": "string" }
85
+ }
86
+ },
87
+ "description": "Email attachments"
88
+ }
89
+ },
90
+ "additionalProperties": true
91
+ },
92
+ "outputs": {
93
+ "type": "array",
94
+ "items": {
95
+ "type": "object",
96
+ "properties": {
97
+ "name": {
98
+ "type": "string"
99
+ },
100
+ "mapping": {
101
+ "type": "string"
102
+ }
103
+ },
104
+ "required": ["name", "mapping"]
105
+ }
106
+ }
107
+ },
108
+ "required": ["task"],
109
+ "additionalProperties": true
110
+ }