@toolproof-core/schema 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/types/standalone/Resource_Genesis.d.ts +3 -0
- package/dist/generated/types/standalone/Resource_Job.d.ts +3 -0
- package/dist/generated/types/standalone/Resource_RawStrategy.d.ts +3 -0
- package/dist/generated/types/standalone/Resource_ResourceType.d.ts +3 -0
- package/dist/generated/types/standalone/Resource_RunnableStrategy.d.ts +3 -0
- package/dist/generated/types/types.d.ts +487 -548
- package/dist/scripts/_lib/config.d.ts +12 -6
- package/dist/scripts/_lib/config.js +33 -15
- package/dist/scripts/{extractSchemas.js → extractSchemasFromResourceTypeShells.js} +14 -27
- package/dist/scripts/generateDependencies.js +2 -2
- package/dist/scripts/generateSchemaShims.js +22 -4
- package/dist/scripts/{extractSubSchemaWithDefs.js → generateStandaloneSchema.js} +12 -34
- package/dist/scripts/{generateResourceTypeType.js → generateStandaloneType.js} +23 -14
- package/dist/scripts/generateTypes.js +1 -1
- package/dist/scripts/{rewriteAnchors.js → normalizeAnchorsToPointers.js} +2 -2
- package/dist/scripts/{generateResourceShells.js → wrapResourceTypesWithResourceShells.js} +12 -34
- package/package.json +8 -8
- package/src/Genesis.json +44 -87
- package/src/generated/{dependencies.json → dependencyMap.json} +207 -214
- package/src/generated/{resourceTypes → normalized}/Genesis.json +44 -87
- package/src/generated/resources/Genesis.json +415 -478
- package/src/generated/schemas/Genesis.json +1026 -1057
- package/src/generated/schemas/{Goal.json → standalone/Goal.json} +34 -34
- package/src/generated/schemas/{Job.json → standalone/Job.json} +85 -85
- package/src/generated/schemas/{RawStrategy.json → standalone/RawStrategy.json} +238 -263
- package/src/generated/schemas/{ResourceType.json → standalone/ResourceType.json} +60 -60
- package/src/generated/schemas/{RunnableStrategy.json → standalone/RunnableStrategy.json} +296 -321
- package/src/generated/schemas/{StrategyRun.json → standalone/StrategyRun.json} +390 -421
- package/src/generated/types/standalone/Resource_Genesis.d.ts +3 -0
- package/src/generated/types/standalone/Resource_Job.d.ts +3 -0
- package/src/generated/types/standalone/Resource_RawStrategy.d.ts +3 -0
- package/src/generated/types/standalone/Resource_ResourceType.d.ts +3 -0
- package/src/generated/types/standalone/Resource_RunnableStrategy.d.ts +3 -0
- package/src/generated/types/types.d.ts +487 -548
- package/src/generated/types/types.js +1 -1
- package/src/scripts/_lib/config.ts +42 -18
- package/src/scripts/extractSchemasFromResourceTypeShells.ts +218 -0
- package/src/scripts/generateDependencies.ts +2 -2
- package/src/scripts/generateSchemaShims.ts +24 -4
- package/src/scripts/{extractSubSchemaWithDefs.ts → generateStandaloneSchema.ts} +13 -34
- package/src/scripts/{generateResourceTypeType.ts → generateStandaloneType.ts} +23 -14
- package/src/scripts/generateTypes.ts +1 -1
- package/src/scripts/{rewriteAnchors.ts → normalizeAnchorsToPointers.ts} +3 -3
- package/src/scripts/{generateResourceShells.ts → wrapResourceTypesWithResourceShells.ts} +13 -34
- package/dist/generated/types/Resource_Genesis.d.ts +0 -3
- package/dist/generated/types/Resource_Job.d.ts +0 -3
- package/dist/generated/types/Resource_RawStrategy.d.ts +0 -3
- package/dist/generated/types/Resource_ResourceType.d.ts +0 -3
- package/dist/generated/types/Resource_RunnableStrategy.d.ts +0 -3
- package/src/Roadmap.json +0 -102
- package/src/generated/types/Resource_Genesis.d.ts +0 -3
- package/src/generated/types/Resource_Job.d.ts +0 -3
- package/src/generated/types/Resource_RawStrategy.d.ts +0 -3
- package/src/generated/types/Resource_ResourceType.d.ts +0 -3
- package/src/generated/types/Resource_RunnableStrategy.d.ts +0 -3
- package/src/scripts/extractSchemas.ts +0 -229
- /package/dist/generated/types/{Resource_Genesis.js → standalone/Resource_Genesis.js} +0 -0
- /package/dist/generated/types/{Resource_Job.js → standalone/Resource_Job.js} +0 -0
- /package/dist/generated/types/{Resource_RawStrategy.js → standalone/Resource_RawStrategy.js} +0 -0
- /package/dist/generated/types/{Resource_ResourceType.js → standalone/Resource_ResourceType.js} +0 -0
- /package/dist/generated/types/{Resource_RunnableStrategy.js → standalone/Resource_RunnableStrategy.js} +0 -0
- /package/dist/scripts/{extractSchemas.d.ts → extractSchemasFromResourceTypeShells.d.ts} +0 -0
- /package/dist/scripts/{extractSubSchemaWithDefs.d.ts → generateStandaloneSchema.d.ts} +0 -0
- /package/dist/scripts/{generateResourceShells.d.ts → generateStandaloneType.d.ts} +0 -0
- /package/dist/scripts/{generateResourceTypeType.d.ts → normalizeAnchorsToPointers.d.ts} +0 -0
- /package/dist/scripts/{rewriteAnchors.d.ts → wrapResourceTypesWithResourceShells.d.ts} +0 -0
- /package/src/generated/{resourceTypes → normalized}/Genesis.ts +0 -0
- /package/src/generated/schemas/{Goal.ts → standalone/Goal.ts} +0 -0
- /package/src/generated/schemas/{Job.ts → standalone/Job.ts} +0 -0
- /package/src/generated/schemas/{RawStrategy.ts → standalone/RawStrategy.ts} +0 -0
- /package/src/generated/schemas/{ResourceType.ts → standalone/ResourceType.ts} +0 -0
- /package/src/generated/schemas/{RunnableStrategy.ts → standalone/RunnableStrategy.ts} +0 -0
- /package/src/generated/schemas/{StrategyRun.ts → standalone/StrategyRun.ts} +0 -0
- /package/src/generated/types/{Resource_Genesis.js → standalone/Resource_Genesis.js} +0 -0
- /package/src/generated/types/{Resource_Job.js → standalone/Resource_Job.js} +0 -0
- /package/src/generated/types/{Resource_RawStrategy.js → standalone/Resource_RawStrategy.js} +0 -0
- /package/src/generated/types/{Resource_ResourceType.js → standalone/Resource_ResourceType.js} +0 -0
- /package/src/generated/types/{Resource_RunnableStrategy.js → standalone/Resource_RunnableStrategy.js} +0 -0
|
@@ -1,135 +1,54 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$id": "https://schemas.toolproof.com/v2/Genesis.json",
|
|
3
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$comment": "This file defines all schemas used internally by ToolProof.",
|
|
4
|
+
"$anchor": "Genesis",
|
|
5
|
+
"$id": "https://schemas.toolproof.com/v2/Genesis.json",
|
|
4
6
|
"$defs": {
|
|
5
|
-
"
|
|
6
|
-
"$
|
|
7
|
-
"$defs": {
|
|
8
|
-
"BooleanIdentity": {
|
|
9
|
-
"type": "boolean"
|
|
10
|
-
}
|
|
11
|
-
},
|
|
12
|
-
"type": "object",
|
|
13
|
-
"properties": {
|
|
14
|
-
"identity": {
|
|
15
|
-
"$ref": "#/$defs/BooleanIdentity"
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
"required": [
|
|
19
|
-
"identity"
|
|
20
|
-
],
|
|
21
|
-
"additionalProperties": false,
|
|
22
|
-
"$anchor": "Boolean"
|
|
23
|
-
},
|
|
24
|
-
"BooleanIdentity": {
|
|
25
|
-
"type": "boolean"
|
|
26
|
-
},
|
|
27
|
-
"BranchStep": {
|
|
28
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
29
|
-
"type": "object",
|
|
30
|
-
"allOf": [
|
|
31
|
-
{
|
|
32
|
-
"$ref": "#/$defs/StepKindFacet"
|
|
33
|
-
}
|
|
34
|
-
],
|
|
35
|
-
"properties": {
|
|
36
|
-
"cases": {
|
|
37
|
-
"type": "array",
|
|
38
|
-
"items": {
|
|
39
|
-
"$ref": "#/$defs/Conditional"
|
|
40
|
-
},
|
|
41
|
-
"minItems": 1,
|
|
42
|
-
"uniqueItems": true
|
|
43
|
-
},
|
|
44
|
-
"identity": {
|
|
45
|
-
"$ref": "#/$defs/BranchStepIdentity"
|
|
46
|
-
},
|
|
47
|
-
"stepKind": {
|
|
48
|
-
"const": "branch"
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
"required": [
|
|
52
|
-
"identity",
|
|
53
|
-
"cases"
|
|
54
|
-
],
|
|
55
|
-
"$anchor": "BranchStep"
|
|
56
|
-
},
|
|
57
|
-
"BranchStepIdentity": {
|
|
7
|
+
"Name": {
|
|
8
|
+
"$anchor": "Name",
|
|
58
9
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
59
10
|
"type": "string",
|
|
60
|
-
"
|
|
61
|
-
"pattern": "^
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
65
|
-
"type": "object",
|
|
66
|
-
"properties": {
|
|
67
|
-
"what": {
|
|
68
|
-
"$ref": "#/$defs/JobStep"
|
|
69
|
-
},
|
|
70
|
-
"when": {
|
|
71
|
-
"$ref": "#/$defs/JobStep"
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
"required": [
|
|
75
|
-
"when",
|
|
76
|
-
"what"
|
|
77
|
-
],
|
|
78
|
-
"unevaluatedProperties": false,
|
|
79
|
-
"$anchor": "Conditional"
|
|
11
|
+
"minLength": 1,
|
|
12
|
+
"pattern": "^(?:[A-Z][^0-9]*|[a-z]+/[a-z.+&-]+)$",
|
|
13
|
+
"$comment": "Validation is intercepted by an AI Agent that verifies the name against Toolproof's naming conventions.",
|
|
14
|
+
"semanticValidation": "Ajv custom keyword to verify name."
|
|
80
15
|
},
|
|
81
|
-
"
|
|
16
|
+
"NameFacet": {
|
|
17
|
+
"$anchor": "NameFacet",
|
|
82
18
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
83
19
|
"type": "object",
|
|
84
|
-
"properties": {
|
|
85
|
-
"jobRunHandle": {
|
|
86
|
-
"$ref": "#/$defs/JobRunIdentity"
|
|
87
|
-
},
|
|
88
|
-
"resourceRoleHandle": {
|
|
89
|
-
"$ref": "#/$defs/ResourceRoleIdentity"
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
20
|
"required": [
|
|
93
|
-
"
|
|
94
|
-
"jobRunHandle"
|
|
21
|
+
"name"
|
|
95
22
|
],
|
|
96
|
-
"$anchor": "CreationContext"
|
|
97
|
-
},
|
|
98
|
-
"CreationContextFacet": {
|
|
99
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
100
|
-
"type": "object",
|
|
101
23
|
"properties": {
|
|
102
|
-
"
|
|
103
|
-
"$ref": "#/$defs/
|
|
24
|
+
"name": {
|
|
25
|
+
"$ref": "#/$defs/Name"
|
|
104
26
|
}
|
|
105
|
-
}
|
|
106
|
-
"required": [
|
|
107
|
-
"creationContext"
|
|
108
|
-
],
|
|
109
|
-
"$anchor": "CreationContextFacet"
|
|
27
|
+
}
|
|
110
28
|
},
|
|
111
29
|
"Description": {
|
|
30
|
+
"$anchor": "Description",
|
|
112
31
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
113
32
|
"type": "string",
|
|
114
|
-
"$anchor": "Description",
|
|
115
|
-
"$comment": "Validation is intercepted by an AI Agent that verifies the description against Toolproof's documentation standards.",
|
|
116
33
|
"minLength": 1,
|
|
34
|
+
"$comment": "Validation is intercepted by an AI Agent that verifies the description against Toolproof's documentation standards.",
|
|
117
35
|
"semanticValidation": "Ajv custom keyword to verify description."
|
|
118
36
|
},
|
|
119
37
|
"DescriptionFacet": {
|
|
38
|
+
"$anchor": "DescriptionFacet",
|
|
120
39
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
121
40
|
"type": "object",
|
|
41
|
+
"required": [
|
|
42
|
+
"description"
|
|
43
|
+
],
|
|
122
44
|
"properties": {
|
|
123
45
|
"description": {
|
|
124
46
|
"$ref": "#/$defs/Description"
|
|
125
47
|
}
|
|
126
|
-
}
|
|
127
|
-
"required": [
|
|
128
|
-
"description"
|
|
129
|
-
],
|
|
130
|
-
"$anchor": "DescriptionFacet"
|
|
48
|
+
}
|
|
131
49
|
},
|
|
132
50
|
"DocumentationFacet": {
|
|
51
|
+
"$anchor": "DocumentationFacet",
|
|
133
52
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
134
53
|
"type": "object",
|
|
135
54
|
"allOf": [
|
|
@@ -139,300 +58,767 @@
|
|
|
139
58
|
{
|
|
140
59
|
"$ref": "#/$defs/DescriptionFacet"
|
|
141
60
|
}
|
|
142
|
-
]
|
|
143
|
-
"$anchor": "DocumentationFacet"
|
|
61
|
+
]
|
|
144
62
|
},
|
|
145
|
-
"
|
|
63
|
+
"ResourceTypeImplementationKind": {
|
|
64
|
+
"$anchor": "ResourceTypeImplementationKind",
|
|
146
65
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
147
66
|
"type": "string",
|
|
148
|
-
"$anchor": "Domain",
|
|
149
67
|
"enum": [
|
|
150
|
-
"internal",
|
|
151
|
-
"
|
|
152
|
-
"
|
|
153
|
-
"logical",
|
|
154
|
-
"augmental"
|
|
68
|
+
"internal-without-identity",
|
|
69
|
+
"internal-with-identity",
|
|
70
|
+
"external"
|
|
155
71
|
]
|
|
156
72
|
},
|
|
157
|
-
"
|
|
73
|
+
"ResourceTypeImplementationKindFacet": {
|
|
74
|
+
"$anchor": "ResourceTypeImplementationKindFacet",
|
|
158
75
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
159
76
|
"type": "object",
|
|
160
|
-
"properties": {
|
|
161
|
-
"domain": {
|
|
162
|
-
"$ref": "#/$defs/Domain"
|
|
163
|
-
}
|
|
164
|
-
},
|
|
165
77
|
"required": [
|
|
166
|
-
"
|
|
78
|
+
"resourceTypeImplementationKind"
|
|
167
79
|
],
|
|
168
|
-
"
|
|
80
|
+
"properties": {
|
|
81
|
+
"resourceTypeImplementationKind": {
|
|
82
|
+
"$ref": "#/$defs/ResourceTypeImplementationKind"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
169
85
|
},
|
|
170
|
-
"
|
|
86
|
+
"Uri": {
|
|
87
|
+
"$anchor": "Uri",
|
|
88
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
89
|
+
"type": "string",
|
|
90
|
+
"format": "uri"
|
|
91
|
+
},
|
|
92
|
+
"ResourceTypeIdentity": {
|
|
93
|
+
"$anchor": "ResourceTypeIdentity",
|
|
94
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
95
|
+
"type": "string",
|
|
96
|
+
"pattern": "^TYPE-.+$"
|
|
97
|
+
},
|
|
98
|
+
"ResourceType": {
|
|
99
|
+
"$anchor": "ResourceType",
|
|
171
100
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
172
101
|
"type": "object",
|
|
102
|
+
"required": [
|
|
103
|
+
"identity",
|
|
104
|
+
"nucleusSchema"
|
|
105
|
+
],
|
|
106
|
+
"properties": {
|
|
107
|
+
"identity": {
|
|
108
|
+
"$ref": "#/$defs/ResourceTypeIdentity"
|
|
109
|
+
},
|
|
110
|
+
"nucleusSchema": true,
|
|
111
|
+
"embeddingUriMap": {
|
|
112
|
+
"type": "object",
|
|
113
|
+
"propertyNames": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"pattern": "^EMBEDDING-.+$"
|
|
116
|
+
},
|
|
117
|
+
"additionalProperties": {
|
|
118
|
+
"$ref": "#/$defs/Uri"
|
|
119
|
+
},
|
|
120
|
+
"minProperties": 1,
|
|
121
|
+
"$comment": "A ResourceType may specify a set of embedding models that convert the raw data (or one of its alternative representations) into vector embeddings. The build process enforces that the keys of this map are members of a set of predefined embedding models."
|
|
122
|
+
},
|
|
123
|
+
"generatorUriMap": {
|
|
124
|
+
"type": "object",
|
|
125
|
+
"propertyNames": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"pattern": "^GENERATOR-.+$"
|
|
128
|
+
},
|
|
129
|
+
"additionalProperties": {
|
|
130
|
+
"$ref": "#/$defs/Uri"
|
|
131
|
+
},
|
|
132
|
+
"minProperties": 1,
|
|
133
|
+
"$comment": "A ResourceType may specify a set of generators that generate different representations of its instances from the raw file. A ToolProof Resource is always backed by a raw file. This is also true for the Resources (of type ResourceType) defined in this file! The build process enforces that the keys of this map are members of a set of predefined generators. GENERATOR-Json is an identifier for a generator that generates JSON data from the raw file. If the raw file is a JSON file, GENERATOR-Json is an implicit identity operation (i.e. an operation that does nothing) and must not be present in the map. A ResourceType may also specify other generators, such as GENERATOR-LeanTerm, which generates an instance (or 'term' in Lean jargon) of a corresponding Lean type from the raw file. ResourceTypes that specify GENERATOR-LeanTerm must also specify a corresponding GENERATOR-LeanType. While the term-version runs when data instances enter the ecosystem, the type-version runs when the ResourceType itself enters the ecosystem."
|
|
134
|
+
}
|
|
135
|
+
},
|
|
173
136
|
"allOf": [
|
|
174
137
|
{
|
|
175
138
|
"$ref": "#/$defs/DocumentationFacet"
|
|
176
139
|
},
|
|
177
140
|
{
|
|
178
|
-
"
|
|
179
|
-
"details": {
|
|
180
|
-
"type": "object"
|
|
181
|
-
}
|
|
182
|
-
}
|
|
141
|
+
"$ref": "#/$defs/ResourceTypeImplementationKindFacet"
|
|
183
142
|
}
|
|
184
|
-
]
|
|
185
|
-
"unevaluatedProperties": false,
|
|
186
|
-
"$anchor": "Error"
|
|
143
|
+
]
|
|
187
144
|
},
|
|
188
|
-
"
|
|
145
|
+
"ResourceRoleIdentity": {
|
|
146
|
+
"$anchor": "ResourceRoleIdentity",
|
|
147
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
148
|
+
"type": "string",
|
|
149
|
+
"pattern": "^ROLE-.+$"
|
|
150
|
+
},
|
|
151
|
+
"ResourceRoleValue": {
|
|
152
|
+
"$anchor": "ResourceRoleValue",
|
|
189
153
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
190
154
|
"type": "object",
|
|
191
155
|
"allOf": [
|
|
192
156
|
{
|
|
193
|
-
"$
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
157
|
+
"$comment": "A ResourceRole does not have a self-contained identity, as it is always defined in the context of a RoleMap. ResourceRoleValue uses the Value suffix to mean 'the value stored in this map' (RoleMap.additionalProperties).",
|
|
158
|
+
"required": [
|
|
159
|
+
"resourceTypeHandle"
|
|
160
|
+
],
|
|
161
|
+
"properties": {
|
|
162
|
+
"resourceTypeHandle": {
|
|
163
|
+
"$ref": "#/$defs/ResourceTypeIdentity"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
202
166
|
},
|
|
203
|
-
|
|
204
|
-
"
|
|
167
|
+
{
|
|
168
|
+
"$ref": "#/$defs/DocumentationFacet"
|
|
205
169
|
}
|
|
206
|
-
|
|
207
|
-
"required": [
|
|
208
|
-
"identity",
|
|
209
|
-
"case"
|
|
210
|
-
],
|
|
211
|
-
"$anchor": "ForStep"
|
|
170
|
+
]
|
|
212
171
|
},
|
|
213
|
-
"
|
|
172
|
+
"RoleMap": {
|
|
173
|
+
"$anchor": "RoleMap",
|
|
214
174
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
215
|
-
"type": "
|
|
216
|
-
"
|
|
217
|
-
|
|
175
|
+
"type": "object",
|
|
176
|
+
"propertyNames": {
|
|
177
|
+
"$ref": "#/$defs/ResourceRoleIdentity"
|
|
178
|
+
},
|
|
179
|
+
"additionalProperties": {
|
|
180
|
+
"$ref": "#/$defs/ResourceRoleValue"
|
|
181
|
+
}
|
|
218
182
|
},
|
|
219
|
-
"
|
|
183
|
+
"Error": {
|
|
184
|
+
"$anchor": "Error",
|
|
220
185
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
221
186
|
"type": "object",
|
|
222
187
|
"allOf": [
|
|
223
188
|
{
|
|
224
|
-
"$ref": "#/$defs/
|
|
189
|
+
"$ref": "#/$defs/DocumentationFacet"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"properties": {
|
|
193
|
+
"details": {
|
|
194
|
+
"type": "object"
|
|
195
|
+
}
|
|
196
|
+
}
|
|
225
197
|
}
|
|
226
198
|
],
|
|
227
|
-
"
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
199
|
+
"unevaluatedProperties": false
|
|
200
|
+
},
|
|
201
|
+
"Roles": {
|
|
202
|
+
"$anchor": "Roles",
|
|
203
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
204
|
+
"type": "object",
|
|
205
|
+
"required": [
|
|
206
|
+
"inputMap",
|
|
207
|
+
"outputMap"
|
|
208
|
+
],
|
|
209
|
+
"properties": {
|
|
210
|
+
"inputMap": {
|
|
211
|
+
"$ref": "#/$defs/RoleMap"
|
|
212
|
+
},
|
|
213
|
+
"outputMap": {
|
|
214
|
+
"allOf": [
|
|
215
|
+
{
|
|
216
|
+
"$ref": "#/$defs/RoleMap"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"required": [
|
|
220
|
+
"ROLE-ErrorOutput"
|
|
221
|
+
],
|
|
222
|
+
"properties": {
|
|
223
|
+
"ROLE-ErrorOutput": {
|
|
224
|
+
"type": "object",
|
|
225
|
+
"allOf": [
|
|
226
|
+
{
|
|
227
|
+
"$ref": "#/$defs/ResourceRoleValue"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"required": [
|
|
231
|
+
"resourceTypeHandle",
|
|
232
|
+
"name",
|
|
233
|
+
"description"
|
|
234
|
+
],
|
|
235
|
+
"properties": {
|
|
236
|
+
"resourceTypeHandle": {
|
|
237
|
+
"const": "TYPE-Error"
|
|
238
|
+
},
|
|
239
|
+
"name": {
|
|
240
|
+
"const": "ErrorOutput"
|
|
241
|
+
},
|
|
242
|
+
"description": {
|
|
243
|
+
"const": "Represents error outputs from job runs."
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
]
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
]
|
|
252
|
+
}
|
|
253
|
+
},
|
|
254
|
+
"unevaluatedProperties": false
|
|
255
|
+
},
|
|
256
|
+
"RolesFacet": {
|
|
257
|
+
"$anchor": "RolesFacet",
|
|
258
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
259
|
+
"type": "object",
|
|
260
|
+
"required": [
|
|
261
|
+
"roles"
|
|
262
|
+
],
|
|
263
|
+
"properties": {
|
|
264
|
+
"roles": {
|
|
265
|
+
"$ref": "#/$defs/Roles"
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
"Domain": {
|
|
270
|
+
"$anchor": "Domain",
|
|
271
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
272
|
+
"type": "string",
|
|
273
|
+
"enum": [
|
|
274
|
+
"internal",
|
|
275
|
+
"numerical",
|
|
276
|
+
"biological",
|
|
277
|
+
"logical",
|
|
278
|
+
"augmental"
|
|
279
|
+
]
|
|
280
|
+
},
|
|
281
|
+
"DomainFacet": {
|
|
282
|
+
"$anchor": "DomainFacet",
|
|
283
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
284
|
+
"type": "object",
|
|
285
|
+
"required": [
|
|
286
|
+
"domain"
|
|
287
|
+
],
|
|
288
|
+
"properties": {
|
|
289
|
+
"domain": {
|
|
290
|
+
"$ref": "#/$defs/Domain"
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
"JobIdentity": {
|
|
295
|
+
"$anchor": "JobIdentity",
|
|
296
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
297
|
+
"type": "string",
|
|
298
|
+
"pattern": "^JOB-.+$"
|
|
299
|
+
},
|
|
300
|
+
"Job": {
|
|
301
|
+
"$anchor": "Job",
|
|
302
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
303
|
+
"type": "object",
|
|
304
|
+
"required": [
|
|
305
|
+
"identity",
|
|
306
|
+
"implementationUri"
|
|
307
|
+
],
|
|
308
|
+
"properties": {
|
|
309
|
+
"identity": {
|
|
310
|
+
"$ref": "#/$defs/JobIdentity"
|
|
311
|
+
},
|
|
312
|
+
"implementationUri": {
|
|
313
|
+
"$ref": "#/$defs/Uri"
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
"allOf": [
|
|
317
|
+
{
|
|
318
|
+
"$ref": "#/$defs/DocumentationFacet"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"$ref": "#/$defs/DomainFacet"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"$ref": "#/$defs/RolesFacet"
|
|
325
|
+
}
|
|
326
|
+
],
|
|
327
|
+
"unevaluatedProperties": false
|
|
328
|
+
},
|
|
329
|
+
"RoleBindingArray": {
|
|
330
|
+
"$anchor": "RoleBindingArray",
|
|
331
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
332
|
+
"type": "array",
|
|
333
|
+
"items": {
|
|
334
|
+
"$ref": "#/$defs/ResourceRoleIdentity"
|
|
335
|
+
}
|
|
336
|
+
},
|
|
337
|
+
"RoleBindings": {
|
|
338
|
+
"$anchor": "RoleBindings",
|
|
339
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
340
|
+
"type": "object",
|
|
341
|
+
"required": [
|
|
342
|
+
"inputBindings",
|
|
343
|
+
"outputBindings"
|
|
344
|
+
],
|
|
345
|
+
"properties": {
|
|
346
|
+
"inputBindings": {
|
|
347
|
+
"$ref": "#/$defs/RoleBindingArray"
|
|
348
|
+
},
|
|
349
|
+
"outputBindings": {
|
|
350
|
+
"$ref": "#/$defs/RoleBindingArray"
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
},
|
|
354
|
+
"RoleBindingsFacet": {
|
|
355
|
+
"$anchor": "RoleBindingsFacet",
|
|
356
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
357
|
+
"type": "object",
|
|
358
|
+
"required": [
|
|
359
|
+
"roleBindings"
|
|
360
|
+
],
|
|
361
|
+
"properties": {
|
|
362
|
+
"roleBindings": {
|
|
363
|
+
"$ref": "#/$defs/RoleBindings"
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
"StepKind": {
|
|
368
|
+
"$anchor": "StepKind",
|
|
369
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
370
|
+
"type": "string",
|
|
371
|
+
"enum": [
|
|
372
|
+
"job",
|
|
373
|
+
"branch",
|
|
374
|
+
"while",
|
|
375
|
+
"for"
|
|
376
|
+
]
|
|
377
|
+
},
|
|
378
|
+
"StepKindFacet": {
|
|
379
|
+
"$anchor": "StepKindFacet",
|
|
380
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
381
|
+
"type": "object",
|
|
382
|
+
"required": [
|
|
383
|
+
"stepKind"
|
|
384
|
+
],
|
|
385
|
+
"properties": {
|
|
386
|
+
"stepKind": {
|
|
387
|
+
"$ref": "#/$defs/StepKind"
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
},
|
|
391
|
+
"JobStepIdentity": {
|
|
392
|
+
"$anchor": "JobStepIdentity",
|
|
393
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
394
|
+
"type": "string",
|
|
395
|
+
"pattern": "^JOB_STEP-.+$"
|
|
396
|
+
},
|
|
397
|
+
"JobStep": {
|
|
398
|
+
"$anchor": "JobStep",
|
|
399
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
400
|
+
"type": "object",
|
|
401
|
+
"required": [
|
|
402
|
+
"identity",
|
|
403
|
+
"jobHandle"
|
|
404
|
+
],
|
|
405
|
+
"properties": {
|
|
406
|
+
"identity": {
|
|
407
|
+
"$ref": "#/$defs/JobStepIdentity"
|
|
408
|
+
},
|
|
409
|
+
"stepKind": {
|
|
410
|
+
"const": "job"
|
|
411
|
+
},
|
|
412
|
+
"jobHandle": {
|
|
413
|
+
"$ref": "#/$defs/JobIdentity"
|
|
414
|
+
}
|
|
415
|
+
},
|
|
416
|
+
"allOf": [
|
|
417
|
+
{
|
|
418
|
+
"$ref": "#/$defs/StepKindFacet"
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"$comment": "This will be overlayed dynamically to specify roleBindings corresponding to the roles of the underlying job.",
|
|
422
|
+
"$ref": "#/$defs/RoleBindingsFacet"
|
|
423
|
+
}
|
|
424
|
+
]
|
|
425
|
+
},
|
|
426
|
+
"Conditional": {
|
|
427
|
+
"$anchor": "Conditional",
|
|
428
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
429
|
+
"type": "object",
|
|
430
|
+
"required": [
|
|
431
|
+
"when",
|
|
432
|
+
"what"
|
|
433
|
+
],
|
|
434
|
+
"properties": {
|
|
435
|
+
"when": {
|
|
436
|
+
"$ref": "#/$defs/JobStep"
|
|
437
|
+
},
|
|
438
|
+
"what": {
|
|
439
|
+
"$ref": "#/$defs/JobStep"
|
|
440
|
+
}
|
|
441
|
+
},
|
|
442
|
+
"unevaluatedProperties": false
|
|
443
|
+
},
|
|
444
|
+
"BranchStepIdentity": {
|
|
445
|
+
"$anchor": "BranchStepIdentity",
|
|
446
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
447
|
+
"type": "string",
|
|
448
|
+
"pattern": "^BRANCH_STEP-.+$"
|
|
449
|
+
},
|
|
450
|
+
"BranchStep": {
|
|
451
|
+
"$anchor": "BranchStep",
|
|
452
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
453
|
+
"type": "object",
|
|
454
|
+
"required": [
|
|
455
|
+
"identity",
|
|
456
|
+
"cases"
|
|
457
|
+
],
|
|
458
|
+
"properties": {
|
|
459
|
+
"identity": {
|
|
460
|
+
"$ref": "#/$defs/BranchStepIdentity"
|
|
461
|
+
},
|
|
462
|
+
"stepKind": {
|
|
463
|
+
"const": "branch"
|
|
464
|
+
},
|
|
465
|
+
"cases": {
|
|
466
|
+
"type": "array",
|
|
467
|
+
"items": {
|
|
468
|
+
"$ref": "#/$defs/Conditional"
|
|
469
|
+
},
|
|
470
|
+
"minItems": 1,
|
|
471
|
+
"uniqueItems": true
|
|
472
|
+
}
|
|
473
|
+
},
|
|
474
|
+
"allOf": [
|
|
475
|
+
{
|
|
476
|
+
"$ref": "#/$defs/StepKindFacet"
|
|
477
|
+
}
|
|
478
|
+
]
|
|
479
|
+
},
|
|
480
|
+
"WhileStepIdentity": {
|
|
481
|
+
"$anchor": "WhileStepIdentity",
|
|
482
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
483
|
+
"type": "string",
|
|
484
|
+
"pattern": "^WHILE_STEP-.+$"
|
|
485
|
+
},
|
|
486
|
+
"WhileStep": {
|
|
487
|
+
"$anchor": "WhileStep",
|
|
488
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
489
|
+
"type": "object",
|
|
490
|
+
"required": [
|
|
491
|
+
"identity",
|
|
492
|
+
"case"
|
|
493
|
+
],
|
|
494
|
+
"properties": {
|
|
495
|
+
"identity": {
|
|
496
|
+
"$ref": "#/$defs/WhileStepIdentity"
|
|
497
|
+
},
|
|
498
|
+
"stepKind": {
|
|
499
|
+
"const": "while"
|
|
500
|
+
},
|
|
501
|
+
"case": {
|
|
502
|
+
"$ref": "#/$defs/Conditional"
|
|
503
|
+
}
|
|
504
|
+
},
|
|
505
|
+
"allOf": [
|
|
506
|
+
{
|
|
507
|
+
"$ref": "#/$defs/StepKindFacet"
|
|
508
|
+
}
|
|
509
|
+
]
|
|
510
|
+
},
|
|
511
|
+
"ForStepIdentity": {
|
|
512
|
+
"$anchor": "ForStepIdentity",
|
|
513
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
514
|
+
"type": "string",
|
|
515
|
+
"pattern": "^FOR_STEP-.+$"
|
|
516
|
+
},
|
|
517
|
+
"ForStep": {
|
|
518
|
+
"$anchor": "ForStep",
|
|
519
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
520
|
+
"type": "object",
|
|
521
|
+
"required": [
|
|
522
|
+
"identity",
|
|
523
|
+
"case"
|
|
524
|
+
],
|
|
525
|
+
"properties": {
|
|
526
|
+
"identity": {
|
|
527
|
+
"$ref": "#/$defs/ForStepIdentity"
|
|
528
|
+
},
|
|
529
|
+
"stepKind": {
|
|
530
|
+
"const": "for"
|
|
531
|
+
},
|
|
532
|
+
"case": {
|
|
533
|
+
"$ref": "#/$defs/Conditional"
|
|
534
|
+
}
|
|
535
|
+
},
|
|
536
|
+
"allOf": [
|
|
537
|
+
{
|
|
538
|
+
"$ref": "#/$defs/StepKindFacet"
|
|
539
|
+
}
|
|
540
|
+
]
|
|
541
|
+
},
|
|
542
|
+
"StepIdentity": {
|
|
543
|
+
"$anchor": "StepIdentity",
|
|
544
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
545
|
+
"type": "object",
|
|
546
|
+
"oneOf": [
|
|
547
|
+
{
|
|
548
|
+
"$ref": "#/$defs/JobStepIdentity"
|
|
233
549
|
},
|
|
234
|
-
|
|
235
|
-
"
|
|
236
|
-
"items": {
|
|
237
|
-
"type": "array",
|
|
238
|
-
"items": {
|
|
239
|
-
"$ref": "#/$defs/JobIdentity"
|
|
240
|
-
}
|
|
241
|
-
}
|
|
550
|
+
{
|
|
551
|
+
"$ref": "#/$defs/BranchStepIdentity"
|
|
242
552
|
},
|
|
243
|
-
|
|
244
|
-
"$ref": "#/$defs/
|
|
553
|
+
{
|
|
554
|
+
"$ref": "#/$defs/WhileStepIdentity"
|
|
245
555
|
},
|
|
246
|
-
|
|
247
|
-
"
|
|
248
|
-
|
|
556
|
+
{
|
|
557
|
+
"$ref": "#/$defs/ForStepIdentity"
|
|
558
|
+
}
|
|
559
|
+
]
|
|
560
|
+
},
|
|
561
|
+
"Step": {
|
|
562
|
+
"$anchor": "Step",
|
|
563
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
564
|
+
"type": "object",
|
|
565
|
+
"oneOf": [
|
|
566
|
+
{
|
|
567
|
+
"$ref": "#/$defs/JobStep"
|
|
249
568
|
},
|
|
250
|
-
|
|
251
|
-
"
|
|
252
|
-
"minimum": 1
|
|
569
|
+
{
|
|
570
|
+
"$ref": "#/$defs/BranchStep"
|
|
253
571
|
},
|
|
254
|
-
|
|
255
|
-
"
|
|
256
|
-
|
|
572
|
+
{
|
|
573
|
+
"$ref": "#/$defs/WhileStep"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"$ref": "#/$defs/ForStep"
|
|
257
577
|
}
|
|
258
|
-
|
|
578
|
+
],
|
|
579
|
+
"unevaluatedProperties": false
|
|
580
|
+
},
|
|
581
|
+
"CreationContext": {
|
|
582
|
+
"$anchor": "CreationContext",
|
|
583
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
584
|
+
"type": "object",
|
|
259
585
|
"required": [
|
|
260
|
-
"
|
|
261
|
-
"
|
|
586
|
+
"resourceRoleHandle",
|
|
587
|
+
"jobStepHandle"
|
|
262
588
|
],
|
|
263
|
-
"
|
|
264
|
-
|
|
589
|
+
"properties": {
|
|
590
|
+
"resourceRoleHandle": {
|
|
591
|
+
"$ref": "#/$defs/ResourceRoleIdentity"
|
|
592
|
+
},
|
|
593
|
+
"jobStepHandle": {
|
|
594
|
+
"$ref": "#/$defs/JobStepIdentity"
|
|
595
|
+
}
|
|
596
|
+
}
|
|
265
597
|
},
|
|
266
|
-
"
|
|
598
|
+
"CreationContextFacet": {
|
|
599
|
+
"$anchor": "CreationContextFacet",
|
|
600
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
601
|
+
"type": "object",
|
|
602
|
+
"required": [
|
|
603
|
+
"creationContext"
|
|
604
|
+
],
|
|
605
|
+
"properties": {
|
|
606
|
+
"creationContext": {
|
|
607
|
+
"$ref": "#/$defs/CreationContext"
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
},
|
|
611
|
+
"ResourceIdentity": {
|
|
612
|
+
"$anchor": "ResourceIdentity",
|
|
267
613
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
268
614
|
"type": "string",
|
|
269
|
-
"
|
|
270
|
-
"pattern": "^GOAL-.+$"
|
|
615
|
+
"pattern": "^RESOURCE-.+$"
|
|
271
616
|
},
|
|
272
|
-
"
|
|
617
|
+
"ResourceBase": {
|
|
618
|
+
"$anchor": "ResourceBase",
|
|
273
619
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
274
|
-
"
|
|
275
|
-
|
|
276
|
-
|
|
620
|
+
"type": "object",
|
|
621
|
+
"required": [
|
|
622
|
+
"identity",
|
|
623
|
+
"resourceTypeHandle"
|
|
624
|
+
],
|
|
625
|
+
"properties": {
|
|
626
|
+
"identity": {
|
|
627
|
+
"$ref": "#/$defs/ResourceIdentity"
|
|
277
628
|
},
|
|
278
|
-
{
|
|
279
|
-
"
|
|
280
|
-
"properties": {
|
|
281
|
-
"runEventKind": {
|
|
282
|
-
"const": "graph_end"
|
|
283
|
-
}
|
|
284
|
-
}
|
|
629
|
+
"resourceTypeHandle": {
|
|
630
|
+
"$ref": "#/$defs/ResourceTypeIdentity"
|
|
285
631
|
}
|
|
632
|
+
}
|
|
633
|
+
},
|
|
634
|
+
"ResourceKind": {
|
|
635
|
+
"$anchor": "ResourceKind",
|
|
636
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
637
|
+
"type": "string",
|
|
638
|
+
"enum": [
|
|
639
|
+
"missing",
|
|
640
|
+
"input-potential",
|
|
641
|
+
"output-potential",
|
|
642
|
+
"materialized"
|
|
643
|
+
]
|
|
644
|
+
},
|
|
645
|
+
"ResourceKindFacet": {
|
|
646
|
+
"$anchor": "ResourceKindFacet",
|
|
647
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
648
|
+
"type": "object",
|
|
649
|
+
"required": [
|
|
650
|
+
"resourceKind"
|
|
286
651
|
],
|
|
287
|
-
"
|
|
652
|
+
"properties": {
|
|
653
|
+
"resourceKind": {
|
|
654
|
+
"$ref": "#/$defs/ResourceKind"
|
|
655
|
+
}
|
|
656
|
+
}
|
|
288
657
|
},
|
|
289
|
-
"
|
|
658
|
+
"ShellMissing": {
|
|
659
|
+
"$anchor": "ShellMissing",
|
|
290
660
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
661
|
+
"type": "object",
|
|
662
|
+
"properties": {
|
|
663
|
+
"resourceKind": {
|
|
664
|
+
"const": "missing"
|
|
665
|
+
}
|
|
666
|
+
},
|
|
291
667
|
"allOf": [
|
|
292
668
|
{
|
|
293
|
-
"$ref": "#/$defs/
|
|
669
|
+
"$ref": "#/$defs/ResourceBase"
|
|
294
670
|
},
|
|
295
671
|
{
|
|
296
|
-
"
|
|
297
|
-
"properties": {
|
|
298
|
-
"runEventKind": {
|
|
299
|
-
"const": "graph_start"
|
|
300
|
-
},
|
|
301
|
-
"runnableStrategySeed": {
|
|
302
|
-
"$ref": "#/$defs/RunnableStrategy"
|
|
303
|
-
}
|
|
304
|
-
},
|
|
305
|
-
"required": [
|
|
306
|
-
"runnableStrategySeed"
|
|
307
|
-
]
|
|
672
|
+
"$ref": "#/$defs/ResourceKindFacet"
|
|
308
673
|
}
|
|
309
674
|
],
|
|
310
|
-
"
|
|
675
|
+
"unevaluatedProperties": false
|
|
311
676
|
},
|
|
312
|
-
"
|
|
677
|
+
"ShellInputPotential": {
|
|
678
|
+
"$anchor": "ShellInputPotential",
|
|
313
679
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
680
|
+
"type": "object",
|
|
681
|
+
"properties": {
|
|
682
|
+
"resourceKind": {
|
|
683
|
+
"const": "input-potential"
|
|
684
|
+
}
|
|
685
|
+
},
|
|
314
686
|
"allOf": [
|
|
315
687
|
{
|
|
316
|
-
"$ref": "#/$defs/
|
|
688
|
+
"$ref": "#/$defs/ResourceBase"
|
|
317
689
|
},
|
|
318
690
|
{
|
|
319
|
-
"
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
}
|
|
324
|
-
}
|
|
691
|
+
"$ref": "#/$defs/CreationContextFacet"
|
|
692
|
+
},
|
|
693
|
+
{
|
|
694
|
+
"$ref": "#/$defs/ResourceKindFacet"
|
|
325
695
|
}
|
|
326
696
|
],
|
|
327
|
-
"
|
|
697
|
+
"unevaluatedProperties": false
|
|
328
698
|
},
|
|
329
|
-
"
|
|
699
|
+
"ShellOutputPotential": {
|
|
700
|
+
"$anchor": "ShellOutputPotential",
|
|
330
701
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
331
702
|
"type": "object",
|
|
703
|
+
"properties": {
|
|
704
|
+
"resourceKind": {
|
|
705
|
+
"const": "output-potential"
|
|
706
|
+
}
|
|
707
|
+
},
|
|
332
708
|
"allOf": [
|
|
333
709
|
{
|
|
334
|
-
"$ref": "#/$defs/
|
|
710
|
+
"$ref": "#/$defs/ResourceBase"
|
|
335
711
|
},
|
|
336
712
|
{
|
|
337
|
-
"$ref": "#/$defs/
|
|
713
|
+
"$ref": "#/$defs/CreationContextFacet"
|
|
338
714
|
},
|
|
339
715
|
{
|
|
340
|
-
"$ref": "#/$defs/
|
|
716
|
+
"$ref": "#/$defs/ResourceKindFacet"
|
|
341
717
|
}
|
|
342
718
|
],
|
|
343
|
-
"
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
719
|
+
"unevaluatedProperties": false
|
|
720
|
+
},
|
|
721
|
+
"Timestamp": {
|
|
722
|
+
"$anchor": "Timestamp",
|
|
723
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
724
|
+
"type": "string",
|
|
725
|
+
"format": "date-time"
|
|
726
|
+
},
|
|
727
|
+
"TimestampFacet": {
|
|
728
|
+
"$anchor": "TimestampFacet",
|
|
729
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
730
|
+
"type": "object",
|
|
351
731
|
"required": [
|
|
352
|
-
"
|
|
353
|
-
"implementationUri"
|
|
732
|
+
"timestamp"
|
|
354
733
|
],
|
|
355
|
-
"
|
|
356
|
-
|
|
734
|
+
"properties": {
|
|
735
|
+
"timestamp": {
|
|
736
|
+
"$ref": "#/$defs/Timestamp"
|
|
737
|
+
}
|
|
738
|
+
}
|
|
357
739
|
},
|
|
358
|
-
"
|
|
740
|
+
"Path": {
|
|
741
|
+
"$anchor": "Path",
|
|
359
742
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
360
743
|
"type": "string",
|
|
361
|
-
"
|
|
362
|
-
"pattern": "^JOB-.+$"
|
|
744
|
+
"format": "uri-reference"
|
|
363
745
|
},
|
|
364
|
-
"
|
|
746
|
+
"PathFacet": {
|
|
747
|
+
"$anchor": "PathFacet",
|
|
365
748
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
366
749
|
"type": "object",
|
|
367
|
-
"
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
750
|
+
"required": [
|
|
751
|
+
"path"
|
|
752
|
+
],
|
|
753
|
+
"properties": {
|
|
754
|
+
"path": {
|
|
755
|
+
"$ref": "#/$defs/Path"
|
|
371
756
|
}
|
|
757
|
+
}
|
|
758
|
+
},
|
|
759
|
+
"ShellMaterializedBase": {
|
|
760
|
+
"$anchor": "ShellMaterializedBase",
|
|
761
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
762
|
+
"type": "object",
|
|
763
|
+
"required": [
|
|
764
|
+
"version"
|
|
372
765
|
],
|
|
373
766
|
"properties": {
|
|
374
|
-
"
|
|
375
|
-
"
|
|
767
|
+
"version": {
|
|
768
|
+
"const": 1
|
|
376
769
|
},
|
|
377
|
-
"
|
|
378
|
-
"
|
|
770
|
+
"resourceKind": {
|
|
771
|
+
"const": "materialized"
|
|
379
772
|
}
|
|
380
773
|
},
|
|
381
|
-
"
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
774
|
+
"allOf": [
|
|
775
|
+
{
|
|
776
|
+
"$ref": "#/$defs/ResourceBase"
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"$ref": "#/$defs/CreationContextFacet"
|
|
780
|
+
},
|
|
781
|
+
{
|
|
782
|
+
"$ref": "#/$defs/ResourceKindFacet"
|
|
783
|
+
},
|
|
784
|
+
{
|
|
785
|
+
"$ref": "#/$defs/TimestampFacet"
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
"$ref": "#/$defs/PathFacet"
|
|
789
|
+
}
|
|
790
|
+
]
|
|
386
791
|
},
|
|
387
|
-
"
|
|
792
|
+
"ShellMaterialized": {
|
|
793
|
+
"$anchor": "ShellMaterialized",
|
|
388
794
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
389
|
-
"type": "
|
|
390
|
-
"$
|
|
391
|
-
"
|
|
795
|
+
"type": "object",
|
|
796
|
+
"$ref": "#/$defs/ShellMaterializedBase",
|
|
797
|
+
"unevaluatedProperties": false
|
|
392
798
|
},
|
|
393
|
-
"
|
|
799
|
+
"ResourceMissing": {
|
|
800
|
+
"$anchor": "ResourceMissing",
|
|
394
801
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
395
802
|
"type": "object",
|
|
396
|
-
"
|
|
397
|
-
|
|
398
|
-
},
|
|
399
|
-
"$anchor": "JobRunSocket",
|
|
400
|
-
"propertyNames": {
|
|
401
|
-
"$ref": "#/$defs/ResourceRoleIdentity"
|
|
402
|
-
}
|
|
803
|
+
"$ref": "#/$defs/ShellMissing",
|
|
804
|
+
"unevaluatedProperties": false
|
|
403
805
|
},
|
|
404
|
-
"
|
|
806
|
+
"ResourceInputPotential": {
|
|
807
|
+
"$anchor": "ResourceInputPotential",
|
|
405
808
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
406
809
|
"type": "object",
|
|
407
|
-
"
|
|
408
|
-
|
|
409
|
-
"$ref": "#/$defs/StepKindFacet"
|
|
410
|
-
}
|
|
411
|
-
],
|
|
412
|
-
"properties": {
|
|
413
|
-
"identity": {
|
|
414
|
-
"$ref": "#/$defs/JobStepIdentity"
|
|
415
|
-
},
|
|
416
|
-
"jobRun": {
|
|
417
|
-
"$ref": "#/$defs/JobRun"
|
|
418
|
-
},
|
|
419
|
-
"stepKind": {
|
|
420
|
-
"const": "job"
|
|
421
|
-
}
|
|
422
|
-
},
|
|
423
|
-
"required": [
|
|
424
|
-
"identity",
|
|
425
|
-
"jobRun"
|
|
426
|
-
],
|
|
427
|
-
"$anchor": "JobStep"
|
|
810
|
+
"$ref": "#/$defs/ShellInputPotential",
|
|
811
|
+
"unevaluatedProperties": false
|
|
428
812
|
},
|
|
429
|
-
"
|
|
813
|
+
"ResourceOutputPotential": {
|
|
814
|
+
"$anchor": "ResourceOutputPotential",
|
|
430
815
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
431
|
-
"type": "
|
|
432
|
-
"$
|
|
433
|
-
"
|
|
816
|
+
"type": "object",
|
|
817
|
+
"$ref": "#/$defs/ShellOutputPotential",
|
|
818
|
+
"unevaluatedProperties": false
|
|
434
819
|
},
|
|
435
820
|
"JsonData": {
|
|
821
|
+
"$anchor": "JsonData",
|
|
436
822
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
437
823
|
"oneOf": [
|
|
438
824
|
{
|
|
@@ -459,108 +845,46 @@
|
|
|
459
845
|
"$ref": "#/$defs/JsonData"
|
|
460
846
|
}
|
|
461
847
|
}
|
|
462
|
-
]
|
|
463
|
-
"$anchor": "JsonData"
|
|
464
|
-
},
|
|
465
|
-
"Name": {
|
|
466
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
467
|
-
"type": "string",
|
|
468
|
-
"$anchor": "Name",
|
|
469
|
-
"$comment": "Validation is intercepted by an AI Agent that verifies the name against Toolproof's naming conventions.",
|
|
470
|
-
"minLength": 1,
|
|
471
|
-
"pattern": "^(?:[A-Z][^0-9]*|[a-z]+/[a-z.+&-]+)$",
|
|
472
|
-
"semanticValidation": "Ajv custom keyword to verify name."
|
|
473
|
-
},
|
|
474
|
-
"NameFacet": {
|
|
475
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
476
|
-
"type": "object",
|
|
477
|
-
"properties": {
|
|
478
|
-
"name": {
|
|
479
|
-
"$ref": "#/$defs/Name"
|
|
480
|
-
}
|
|
481
|
-
},
|
|
482
|
-
"required": [
|
|
483
|
-
"name"
|
|
484
|
-
],
|
|
485
|
-
"$anchor": "NameFacet"
|
|
486
|
-
},
|
|
487
|
-
"Natural": {
|
|
488
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
489
|
-
"$defs": {
|
|
490
|
-
"NaturalIdentity": {
|
|
491
|
-
"type": "integer"
|
|
492
|
-
}
|
|
493
|
-
},
|
|
494
|
-
"type": "object",
|
|
495
|
-
"properties": {
|
|
496
|
-
"identity": {
|
|
497
|
-
"$ref": "#/$defs/NaturalIdentity"
|
|
498
|
-
}
|
|
499
|
-
},
|
|
500
|
-
"required": [
|
|
501
|
-
"identity"
|
|
502
|
-
],
|
|
503
|
-
"additionalProperties": false,
|
|
504
|
-
"$anchor": "Natural"
|
|
505
|
-
},
|
|
506
|
-
"NaturalIdentity": {
|
|
507
|
-
"type": "integer"
|
|
848
|
+
]
|
|
508
849
|
},
|
|
509
850
|
"Nucleus": {
|
|
851
|
+
"$anchor": "Nucleus",
|
|
510
852
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
511
853
|
"type": "object",
|
|
512
854
|
"additionalProperties": {
|
|
513
855
|
"$ref": "#/$defs/JsonData"
|
|
514
|
-
}
|
|
515
|
-
"$anchor": "Nucleus"
|
|
856
|
+
}
|
|
516
857
|
},
|
|
517
858
|
"NucleusFacet": {
|
|
859
|
+
"$anchor": "NucleusFacet",
|
|
518
860
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
519
861
|
"type": "object",
|
|
520
|
-
"properties": {
|
|
521
|
-
"nucleus": {
|
|
522
|
-
"$ref": "#/$defs/Nucleus"
|
|
523
|
-
}
|
|
524
|
-
},
|
|
525
862
|
"required": [
|
|
526
863
|
"nucleus"
|
|
527
864
|
],
|
|
528
|
-
"$anchor": "NucleusFacet"
|
|
529
|
-
},
|
|
530
|
-
"Path": {
|
|
531
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
532
|
-
"type": "string",
|
|
533
|
-
"$anchor": "Path",
|
|
534
|
-
"format": "uri-reference"
|
|
535
|
-
},
|
|
536
|
-
"PathFacet": {
|
|
537
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
538
|
-
"type": "object",
|
|
539
865
|
"properties": {
|
|
540
|
-
"
|
|
541
|
-
"$ref": "#/$defs/
|
|
866
|
+
"nucleus": {
|
|
867
|
+
"$ref": "#/$defs/Nucleus"
|
|
542
868
|
}
|
|
543
|
-
}
|
|
544
|
-
"required": [
|
|
545
|
-
"path"
|
|
546
|
-
],
|
|
547
|
-
"$anchor": "PathFacet"
|
|
869
|
+
}
|
|
548
870
|
},
|
|
549
|
-
"
|
|
871
|
+
"ResourceMaterialized": {
|
|
872
|
+
"$anchor": "ResourceMaterialized",
|
|
550
873
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
551
874
|
"type": "object",
|
|
552
875
|
"allOf": [
|
|
553
876
|
{
|
|
554
|
-
"$ref": "#/$defs/
|
|
877
|
+
"$ref": "#/$defs/ShellMaterializedBase"
|
|
555
878
|
},
|
|
556
879
|
{
|
|
557
|
-
"$
|
|
880
|
+
"$comment": "This will be overlayed dynamically to match the data structure of the underlying ResourceType's nucleusSchema.",
|
|
881
|
+
"$ref": "#/$defs/NucleusFacet"
|
|
558
882
|
}
|
|
559
883
|
],
|
|
560
|
-
"unevaluatedProperties": false
|
|
561
|
-
"$anchor": "RawStrategy"
|
|
884
|
+
"unevaluatedProperties": false
|
|
562
885
|
},
|
|
563
886
|
"Resource": {
|
|
887
|
+
"$anchor": "Resource",
|
|
564
888
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
565
889
|
"type": "object",
|
|
566
890
|
"oneOf": [
|
|
@@ -577,407 +901,235 @@
|
|
|
577
901
|
"$ref": "#/$defs/ResourceMaterialized"
|
|
578
902
|
}
|
|
579
903
|
],
|
|
580
|
-
"unevaluatedProperties": false
|
|
581
|
-
"$anchor": "Resource"
|
|
904
|
+
"unevaluatedProperties": false
|
|
582
905
|
},
|
|
583
|
-
"
|
|
906
|
+
"JobStepSocket": {
|
|
907
|
+
"$anchor": "JobStepSocket",
|
|
584
908
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
585
909
|
"type": "object",
|
|
586
|
-
"
|
|
587
|
-
"
|
|
588
|
-
"$ref": "#/$defs/ResourceIdentity"
|
|
589
|
-
},
|
|
590
|
-
"resourceTypeHandle": {
|
|
591
|
-
"$ref": "#/$defs/ResourceTypeIdentity"
|
|
592
|
-
}
|
|
910
|
+
"propertyNames": {
|
|
911
|
+
"$ref": "#/$defs/ResourceRoleIdentity"
|
|
593
912
|
},
|
|
594
|
-
"
|
|
595
|
-
"
|
|
596
|
-
|
|
597
|
-
],
|
|
598
|
-
"$anchor": "ResourceBase"
|
|
599
|
-
},
|
|
600
|
-
"ResourceIdentity": {
|
|
601
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
602
|
-
"type": "string",
|
|
603
|
-
"$anchor": "ResourceIdentity",
|
|
604
|
-
"pattern": "^RESOURCE-.+$"
|
|
913
|
+
"additionalProperties": {
|
|
914
|
+
"$ref": "#/$defs/Resource"
|
|
915
|
+
}
|
|
605
916
|
},
|
|
606
|
-
"
|
|
917
|
+
"StrategyState": {
|
|
918
|
+
"$anchor": "StrategyState",
|
|
607
919
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
608
920
|
"type": "object",
|
|
609
|
-
"
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
"type": "string",
|
|
616
|
-
"$anchor": "ResourceKind",
|
|
617
|
-
"enum": [
|
|
618
|
-
"missing",
|
|
619
|
-
"input-potential",
|
|
620
|
-
"output-potential",
|
|
621
|
-
"materialized"
|
|
622
|
-
]
|
|
921
|
+
"propertyNames": {
|
|
922
|
+
"$ref": "#/$defs/JobStepIdentity"
|
|
923
|
+
},
|
|
924
|
+
"additionalProperties": {
|
|
925
|
+
"$ref": "#/$defs/JobStepSocket"
|
|
926
|
+
}
|
|
623
927
|
},
|
|
624
|
-
"
|
|
928
|
+
"StrategyStateFacet": {
|
|
929
|
+
"$anchor": "StrategyStateFacet",
|
|
625
930
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
626
931
|
"type": "object",
|
|
627
|
-
"properties": {
|
|
628
|
-
"resourceKind": {
|
|
629
|
-
"$ref": "#/$defs/ResourceKind"
|
|
630
|
-
}
|
|
631
|
-
},
|
|
632
932
|
"required": [
|
|
633
|
-
"
|
|
933
|
+
"strategyState"
|
|
634
934
|
],
|
|
635
|
-
"
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
639
|
-
"type": "object",
|
|
640
|
-
"allOf": [
|
|
641
|
-
{
|
|
642
|
-
"$ref": "#/$defs/ShellMaterializedBase"
|
|
643
|
-
},
|
|
644
|
-
{
|
|
645
|
-
"$comment": "This will be overlayed dynamically to match the data structure of the underlying ResourceType's nucleusSchema.",
|
|
646
|
-
"$ref": "#/$defs/NucleusFacet"
|
|
935
|
+
"properties": {
|
|
936
|
+
"strategyState": {
|
|
937
|
+
"$ref": "#/$defs/StrategyState"
|
|
647
938
|
}
|
|
648
|
-
|
|
649
|
-
"unevaluatedProperties": false,
|
|
650
|
-
"$anchor": "ResourceMaterialized"
|
|
651
|
-
},
|
|
652
|
-
"ResourceMissing": {
|
|
653
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
654
|
-
"type": "object",
|
|
655
|
-
"unevaluatedProperties": false,
|
|
656
|
-
"$anchor": "ResourceMissing",
|
|
657
|
-
"$ref": "#/$defs/ShellMissing"
|
|
658
|
-
},
|
|
659
|
-
"ResourceOutputPotential": {
|
|
660
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
661
|
-
"type": "object",
|
|
662
|
-
"unevaluatedProperties": false,
|
|
663
|
-
"$anchor": "ResourceOutputPotential",
|
|
664
|
-
"$ref": "#/$defs/ShellOutputPotential"
|
|
665
|
-
},
|
|
666
|
-
"ResourceRoleIdentity": {
|
|
667
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
668
|
-
"type": "string",
|
|
669
|
-
"$anchor": "ResourceRoleIdentity",
|
|
670
|
-
"pattern": "^ROLE-.+$"
|
|
939
|
+
}
|
|
671
940
|
},
|
|
672
|
-
"
|
|
941
|
+
"StepArray": {
|
|
942
|
+
"$anchor": "StepArray",
|
|
673
943
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
674
|
-
"type": "
|
|
675
|
-
"
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
"$ref": "#/$defs/ResourceTypeIdentity"
|
|
680
|
-
}
|
|
681
|
-
},
|
|
682
|
-
"required": [
|
|
683
|
-
"resourceTypeHandle"
|
|
684
|
-
],
|
|
685
|
-
"$comment": "A ResourceRole does not have a self-contained identity, as it is always defined in the context of a RoleMap. ResourceRoleValue uses the Value suffix to mean 'the value stored in this map' (RoleMap.additionalProperties)."
|
|
686
|
-
},
|
|
687
|
-
{
|
|
688
|
-
"$ref": "#/$defs/DocumentationFacet"
|
|
689
|
-
}
|
|
690
|
-
],
|
|
691
|
-
"$anchor": "ResourceRoleValue"
|
|
944
|
+
"type": "array",
|
|
945
|
+
"items": {
|
|
946
|
+
"$ref": "#/$defs/Step"
|
|
947
|
+
},
|
|
948
|
+
"uniqueItems": true
|
|
692
949
|
},
|
|
693
|
-
"
|
|
950
|
+
"StepsFacet": {
|
|
951
|
+
"$anchor": "StepsFacet",
|
|
694
952
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
695
953
|
"type": "object",
|
|
696
|
-
"allOf": [
|
|
697
|
-
{
|
|
698
|
-
"$ref": "#/$defs/DocumentationFacet"
|
|
699
|
-
},
|
|
700
|
-
{
|
|
701
|
-
"$ref": "#/$defs/ResourceTypeImplementationKindFacet"
|
|
702
|
-
}
|
|
703
|
-
],
|
|
704
|
-
"properties": {
|
|
705
|
-
"embeddingUriMap": {
|
|
706
|
-
"type": "object",
|
|
707
|
-
"additionalProperties": {
|
|
708
|
-
"$ref": "#/$defs/Uri"
|
|
709
|
-
},
|
|
710
|
-
"$comment": "A ResourceType may specify a set of embedding models that convert the raw data (or one of its alternative representations) into vector embeddings. The build process enforces that the keys of this map are members of a set of predefined embedding models.",
|
|
711
|
-
"minProperties": 1,
|
|
712
|
-
"propertyNames": {
|
|
713
|
-
"type": "string",
|
|
714
|
-
"pattern": "^EMBEDDING-.+$"
|
|
715
|
-
}
|
|
716
|
-
},
|
|
717
|
-
"generatorUriMap": {
|
|
718
|
-
"type": "object",
|
|
719
|
-
"additionalProperties": {
|
|
720
|
-
"$ref": "#/$defs/Uri"
|
|
721
|
-
},
|
|
722
|
-
"$comment": "A ResourceType may specify a set of generators that generate different representations of its instances from the raw file. A ToolProof Resource is always backed by a raw file. This is also true for the Resources (of type ResourceType) defined in this file! The build process enforces that the keys of this map are members of a set of predefined generators. GENERATOR-Json is an identifier for a generator that generates JSON data from the raw file. If the raw file is a JSON file, GENERATOR-Json is an implicit identity operation (i.e. an operation that does nothing) and must not be present in the map. A ResourceType may also specify other generators, such as GENERATOR-LeanTerm, which generates an instance (or 'term' in Lean jargon) of a corresponding Lean type from the raw file. ResourceTypes that specify GENERATOR-LeanTerm must also specify a corresponding GENERATOR-LeanType. While the term-version runs when data instances enter the ecosystem, the type-version runs when the ResourceType itself enters the ecosystem.",
|
|
723
|
-
"minProperties": 1,
|
|
724
|
-
"propertyNames": {
|
|
725
|
-
"type": "string",
|
|
726
|
-
"pattern": "^GENERATOR-.+$"
|
|
727
|
-
}
|
|
728
|
-
},
|
|
729
|
-
"identity": {
|
|
730
|
-
"$ref": "#/$defs/ResourceTypeIdentity"
|
|
731
|
-
},
|
|
732
|
-
"nucleusSchema": true
|
|
733
|
-
},
|
|
734
954
|
"required": [
|
|
735
|
-
"
|
|
736
|
-
"nucleusSchema"
|
|
955
|
+
"steps"
|
|
737
956
|
],
|
|
738
|
-
"
|
|
957
|
+
"properties": {
|
|
958
|
+
"steps": {
|
|
959
|
+
"$ref": "#/$defs/StepArray"
|
|
960
|
+
}
|
|
961
|
+
}
|
|
739
962
|
},
|
|
740
|
-
"
|
|
963
|
+
"RawStrategy": {
|
|
964
|
+
"$anchor": "RawStrategy",
|
|
965
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
966
|
+
"type": "object",
|
|
967
|
+
"allOf": [
|
|
968
|
+
{
|
|
969
|
+
"$ref": "#/$defs/StepsFacet"
|
|
970
|
+
},
|
|
971
|
+
{
|
|
972
|
+
"$ref": "#/$defs/StrategyStateFacet"
|
|
973
|
+
}
|
|
974
|
+
],
|
|
975
|
+
"unevaluatedProperties": false
|
|
976
|
+
},
|
|
977
|
+
"RunnableStrategyIdentity": {
|
|
978
|
+
"$anchor": "RunnableStrategyIdentity",
|
|
741
979
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
742
980
|
"type": "string",
|
|
743
|
-
"
|
|
744
|
-
"pattern": "^TYPE-.+$"
|
|
981
|
+
"pattern": "^RUNNABLE_STRATEGY-.+$"
|
|
745
982
|
},
|
|
746
|
-
"
|
|
983
|
+
"RunnableStrategyStatus": {
|
|
984
|
+
"$anchor": "RunnableStrategyStatus",
|
|
747
985
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
748
986
|
"type": "string",
|
|
749
|
-
"$anchor": "ResourceTypeImplementationKind",
|
|
750
987
|
"enum": [
|
|
751
|
-
"
|
|
752
|
-
"
|
|
753
|
-
"
|
|
988
|
+
"pending",
|
|
989
|
+
"running",
|
|
990
|
+
"completed",
|
|
991
|
+
"failed",
|
|
992
|
+
"cancelled"
|
|
754
993
|
]
|
|
755
994
|
},
|
|
756
|
-
"
|
|
995
|
+
"RunnableStrategyContext": {
|
|
996
|
+
"$anchor": "RunnableStrategyContext",
|
|
757
997
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
758
998
|
"type": "object",
|
|
759
|
-
"properties": {
|
|
760
|
-
"resourceTypeImplementationKind": {
|
|
761
|
-
"$ref": "#/$defs/ResourceTypeImplementationKind"
|
|
762
|
-
}
|
|
763
|
-
},
|
|
764
999
|
"required": [
|
|
765
|
-
"
|
|
1000
|
+
"status"
|
|
766
1001
|
],
|
|
767
|
-
"$anchor": "ResourceTypeImplementationKindFacet"
|
|
768
|
-
},
|
|
769
|
-
"RoleBindingArray": {
|
|
770
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
771
|
-
"type": "array",
|
|
772
|
-
"$anchor": "RoleBindingArray",
|
|
773
|
-
"items": {
|
|
774
|
-
"$ref": "#/$defs/ResourceRoleIdentity"
|
|
775
|
-
}
|
|
776
|
-
},
|
|
777
|
-
"RoleBindings": {
|
|
778
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
779
|
-
"type": "object",
|
|
780
1002
|
"properties": {
|
|
781
|
-
"
|
|
782
|
-
"$ref": "#/$defs/
|
|
1003
|
+
"status": {
|
|
1004
|
+
"$ref": "#/$defs/RunnableStrategyStatus"
|
|
783
1005
|
},
|
|
784
|
-
"
|
|
785
|
-
"$ref": "#/$defs/
|
|
1006
|
+
"startedAt": {
|
|
1007
|
+
"$ref": "#/$defs/Timestamp"
|
|
1008
|
+
},
|
|
1009
|
+
"completedAt": {
|
|
1010
|
+
"$ref": "#/$defs/Timestamp"
|
|
786
1011
|
}
|
|
787
1012
|
},
|
|
788
|
-
"
|
|
789
|
-
"inputBindings",
|
|
790
|
-
"outputBindings"
|
|
791
|
-
],
|
|
792
|
-
"$anchor": "RoleBindings"
|
|
1013
|
+
"unevaluatedProperties": false
|
|
793
1014
|
},
|
|
794
|
-
"
|
|
1015
|
+
"StrategyThreadIdentity": {
|
|
1016
|
+
"$anchor": "StrategyThreadIdentity",
|
|
795
1017
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
796
|
-
"type": "
|
|
797
|
-
"
|
|
798
|
-
"roleBindings": {
|
|
799
|
-
"$ref": "#/$defs/RoleBindings"
|
|
800
|
-
}
|
|
801
|
-
},
|
|
802
|
-
"required": [
|
|
803
|
-
"roleBindings"
|
|
804
|
-
],
|
|
805
|
-
"$anchor": "RoleBindingsFacet"
|
|
1018
|
+
"type": "string",
|
|
1019
|
+
"pattern": "^STRATEGY_THREAD-.+$"
|
|
806
1020
|
},
|
|
807
|
-
"
|
|
1021
|
+
"StrategyThreadMap": {
|
|
1022
|
+
"$anchor": "StrategyThreadMap",
|
|
808
1023
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
809
1024
|
"type": "object",
|
|
1025
|
+
"propertyNames": {
|
|
1026
|
+
"$ref": "#/$defs/StrategyThreadIdentity"
|
|
1027
|
+
},
|
|
810
1028
|
"additionalProperties": {
|
|
811
|
-
"$ref": "#/$defs/
|
|
1029
|
+
"$ref": "#/$defs/StepArray"
|
|
812
1030
|
},
|
|
813
|
-
"$
|
|
814
|
-
"propertyNames": {
|
|
815
|
-
"$ref": "#/$defs/ResourceRoleIdentity"
|
|
816
|
-
}
|
|
1031
|
+
"$comment": "Each thread contains an array of steps, allowing for sequential execution within a thread while supporting parallel execution across multiple threads."
|
|
817
1032
|
},
|
|
818
|
-
"
|
|
1033
|
+
"StrategyThreadMapFacet": {
|
|
1034
|
+
"$anchor": "StrategyThreadMapFacet",
|
|
819
1035
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
820
1036
|
"type": "object",
|
|
821
|
-
"properties": {
|
|
822
|
-
"inputMap": {
|
|
823
|
-
"$ref": "#/$defs/RoleMap"
|
|
824
|
-
},
|
|
825
|
-
"outputMap": {
|
|
826
|
-
"allOf": [
|
|
827
|
-
{
|
|
828
|
-
"$ref": "#/$defs/RoleMap"
|
|
829
|
-
},
|
|
830
|
-
{
|
|
831
|
-
"properties": {
|
|
832
|
-
"ROLE-ErrorOutput": {
|
|
833
|
-
"type": "object",
|
|
834
|
-
"allOf": [
|
|
835
|
-
{
|
|
836
|
-
"$ref": "#/$defs/ResourceRoleValue"
|
|
837
|
-
},
|
|
838
|
-
{
|
|
839
|
-
"properties": {
|
|
840
|
-
"description": {
|
|
841
|
-
"const": "Represents error outputs from job runs."
|
|
842
|
-
},
|
|
843
|
-
"name": {
|
|
844
|
-
"const": "ErrorOutput"
|
|
845
|
-
},
|
|
846
|
-
"resourceTypeHandle": {
|
|
847
|
-
"const": "TYPE-Error"
|
|
848
|
-
}
|
|
849
|
-
},
|
|
850
|
-
"required": [
|
|
851
|
-
"resourceTypeHandle",
|
|
852
|
-
"name",
|
|
853
|
-
"description"
|
|
854
|
-
]
|
|
855
|
-
}
|
|
856
|
-
]
|
|
857
|
-
}
|
|
858
|
-
},
|
|
859
|
-
"required": [
|
|
860
|
-
"ROLE-ErrorOutput"
|
|
861
|
-
]
|
|
862
|
-
}
|
|
863
|
-
]
|
|
864
|
-
}
|
|
865
|
-
},
|
|
866
1037
|
"required": [
|
|
867
|
-
"
|
|
868
|
-
"outputMap"
|
|
1038
|
+
"strategyThreadMap"
|
|
869
1039
|
],
|
|
870
|
-
"unevaluatedProperties": false,
|
|
871
|
-
"$anchor": "Roles"
|
|
872
|
-
},
|
|
873
|
-
"RolesFacet": {
|
|
874
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
875
|
-
"type": "object",
|
|
876
1040
|
"properties": {
|
|
877
|
-
"
|
|
878
|
-
"$ref": "#/$defs/
|
|
1041
|
+
"strategyThreadMap": {
|
|
1042
|
+
"$ref": "#/$defs/StrategyThreadMap"
|
|
879
1043
|
}
|
|
880
|
-
}
|
|
881
|
-
"required": [
|
|
882
|
-
"roles"
|
|
883
|
-
],
|
|
884
|
-
"$anchor": "RolesFacet"
|
|
1044
|
+
}
|
|
885
1045
|
},
|
|
886
|
-
"
|
|
1046
|
+
"RunnableStrategy": {
|
|
1047
|
+
"$anchor": "RunnableStrategy",
|
|
887
1048
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
888
1049
|
"type": "object",
|
|
889
|
-
"
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
1050
|
+
"required": [
|
|
1051
|
+
"identity",
|
|
1052
|
+
"runnableStrategyContext"
|
|
1053
|
+
],
|
|
1054
|
+
"properties": {
|
|
1055
|
+
"identity": {
|
|
1056
|
+
"$ref": "#/$defs/RunnableStrategyIdentity"
|
|
895
1057
|
},
|
|
1058
|
+
"runnableStrategyContext": {
|
|
1059
|
+
"$ref": "#/$defs/RunnableStrategyContext"
|
|
1060
|
+
}
|
|
1061
|
+
},
|
|
1062
|
+
"allOf": [
|
|
896
1063
|
{
|
|
897
|
-
"$
|
|
1064
|
+
"$comment": "The Engine runs jobs specified by steps in strategyThreadMap. The Engine also injects repeted steps when encountering loops.",
|
|
1065
|
+
"$ref": "#/$defs/StrategyThreadMapFacet"
|
|
898
1066
|
},
|
|
899
1067
|
{
|
|
900
|
-
"$
|
|
1068
|
+
"$comment": "The Engine updates strategyState with materialized Resources upon job completions and runtime-provided input events. It also inserts input-potential and output-potential Resources upon step injections.",
|
|
1069
|
+
"$ref": "#/$defs/StrategyStateFacet"
|
|
901
1070
|
}
|
|
902
1071
|
],
|
|
903
|
-
"
|
|
1072
|
+
"unevaluatedProperties": false
|
|
904
1073
|
},
|
|
905
|
-
"
|
|
1074
|
+
"StrategyStateDelta": {
|
|
1075
|
+
"$anchor": "StrategyStateDelta",
|
|
906
1076
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
907
1077
|
"type": "object",
|
|
1078
|
+
"required": [
|
|
1079
|
+
"strategyStateUpdate"
|
|
1080
|
+
],
|
|
1081
|
+
"properties": {
|
|
1082
|
+
"strategyStateUpdate": {
|
|
1083
|
+
"$ref": "#/$defs/StrategyState"
|
|
1084
|
+
}
|
|
1085
|
+
}
|
|
1086
|
+
},
|
|
1087
|
+
"RunnableStrategyUpdate": {
|
|
1088
|
+
"$anchor": "RunnableStrategyUpdate",
|
|
1089
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1090
|
+
"type": "object",
|
|
1091
|
+
"required": [
|
|
1092
|
+
"runnableStrategyHandle"
|
|
1093
|
+
],
|
|
908
1094
|
"properties": {
|
|
909
|
-
"counters": {
|
|
910
|
-
"$ref": "#/$defs/RunEventCounters"
|
|
911
|
-
},
|
|
912
|
-
"createdAt": {
|
|
913
|
-
"$ref": "#/$defs/Timestamp"
|
|
914
|
-
},
|
|
915
|
-
"eventSeq": {
|
|
916
|
-
"type": "integer"
|
|
917
|
-
},
|
|
918
|
-
"nodeName": {
|
|
919
|
-
"type": "string"
|
|
920
|
-
},
|
|
921
|
-
"runEventKind": {
|
|
922
|
-
"$ref": "#/$defs/RunEventKind"
|
|
923
|
-
},
|
|
924
1095
|
"runnableStrategyHandle": {
|
|
925
1096
|
"$ref": "#/$defs/RunnableStrategyIdentity"
|
|
926
1097
|
},
|
|
927
|
-
"
|
|
928
|
-
"$
|
|
929
|
-
|
|
930
|
-
"strategyThreadHandle": {
|
|
931
|
-
"$ref": "#/$defs/StrategyThreadIdentity"
|
|
932
|
-
},
|
|
933
|
-
"updates": {
|
|
934
|
-
"$ref": "#/$defs/RunEventUpdates"
|
|
1098
|
+
"runnableStrategy": {
|
|
1099
|
+
"$comment": "Optional embedded snapshot; runnableStrategyHandle remains the canonical pointer.",
|
|
1100
|
+
"$ref": "#/$defs/RunnableStrategy"
|
|
935
1101
|
}
|
|
936
1102
|
},
|
|
937
|
-
"
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
"createdAt",
|
|
942
|
-
"nodeName",
|
|
943
|
-
"eventSeq"
|
|
1103
|
+
"allOf": [
|
|
1104
|
+
{
|
|
1105
|
+
"$ref": "#/$defs/StrategyStateDelta"
|
|
1106
|
+
}
|
|
944
1107
|
],
|
|
945
|
-
"
|
|
1108
|
+
"unevaluatedProperties": false
|
|
946
1109
|
},
|
|
947
1110
|
"RunEventCounters": {
|
|
1111
|
+
"$anchor": "RunEventCounters",
|
|
948
1112
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
949
1113
|
"type": "object",
|
|
950
1114
|
"properties": {
|
|
951
|
-
"
|
|
1115
|
+
"stepCounterAfter": {
|
|
952
1116
|
"type": "integer"
|
|
953
1117
|
},
|
|
954
|
-
"
|
|
1118
|
+
"iterationCounterAfter": {
|
|
955
1119
|
"type": "integer"
|
|
956
1120
|
}
|
|
957
|
-
}
|
|
958
|
-
"$anchor": "RunEventCounters"
|
|
959
|
-
},
|
|
960
|
-
"RunEventKind": {
|
|
961
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
962
|
-
"type": "string",
|
|
963
|
-
"$anchor": "RunEventKind",
|
|
964
|
-
"enum": [
|
|
965
|
-
"graph_start",
|
|
966
|
-
"tick",
|
|
967
|
-
"interrupt",
|
|
968
|
-
"graph_end"
|
|
969
|
-
]
|
|
1121
|
+
}
|
|
970
1122
|
},
|
|
971
1123
|
"RunEventStepMetadata": {
|
|
1124
|
+
"$anchor": "RunEventStepMetadata",
|
|
972
1125
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
973
1126
|
"type": "object",
|
|
1127
|
+
"required": [
|
|
1128
|
+
"stepHandle",
|
|
1129
|
+
"stepKind",
|
|
1130
|
+
"threadStepIndex"
|
|
1131
|
+
],
|
|
974
1132
|
"properties": {
|
|
975
|
-
"jobHandle": {
|
|
976
|
-
"$ref": "#/$defs/JobIdentity"
|
|
977
|
-
},
|
|
978
|
-
"jobRunHandle": {
|
|
979
|
-
"$ref": "#/$defs/JobRunIdentity"
|
|
980
|
-
},
|
|
981
1133
|
"stepHandle": {
|
|
982
1134
|
"$ref": "#/$defs/StepIdentity"
|
|
983
1135
|
},
|
|
@@ -987,32 +1139,19 @@
|
|
|
987
1139
|
"threadStepIndex": {
|
|
988
1140
|
"type": "integer"
|
|
989
1141
|
}
|
|
990
|
-
}
|
|
991
|
-
"required": [
|
|
992
|
-
"stepHandle",
|
|
993
|
-
"stepKind",
|
|
994
|
-
"threadStepIndex"
|
|
995
|
-
],
|
|
996
|
-
"$anchor": "RunEventStepMetadata"
|
|
1142
|
+
}
|
|
997
1143
|
},
|
|
998
1144
|
"RunEventUpdates": {
|
|
1145
|
+
"$anchor": "RunEventUpdates",
|
|
999
1146
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1000
1147
|
"type": "object",
|
|
1001
|
-
"allOf": [
|
|
1002
|
-
{
|
|
1003
|
-
"$ref": "#/$defs/StrategyStateDelta"
|
|
1004
|
-
}
|
|
1005
|
-
],
|
|
1006
1148
|
"properties": {
|
|
1007
|
-
"interruptData": {
|
|
1008
|
-
"type": [
|
|
1009
|
-
"object",
|
|
1010
|
-
"null"
|
|
1011
|
-
],
|
|
1012
|
-
"$comment": "Kept permissive; the engine may evolve interrupt payloads."
|
|
1013
|
-
},
|
|
1014
1149
|
"stepsMutation": {
|
|
1015
1150
|
"type": "object",
|
|
1151
|
+
"required": [
|
|
1152
|
+
"insertAt",
|
|
1153
|
+
"inserted"
|
|
1154
|
+
],
|
|
1016
1155
|
"properties": {
|
|
1017
1156
|
"insertAt": {
|
|
1018
1157
|
"type": "integer"
|
|
@@ -1020,299 +1159,192 @@
|
|
|
1020
1159
|
"inserted": {
|
|
1021
1160
|
"$ref": "#/$defs/StepArray"
|
|
1022
1161
|
}
|
|
1023
|
-
}
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1162
|
+
}
|
|
1163
|
+
},
|
|
1164
|
+
"interruptData": {
|
|
1165
|
+
"$comment": "Kept permissive; the engine may evolve interrupt payloads.",
|
|
1166
|
+
"type": [
|
|
1167
|
+
"object",
|
|
1168
|
+
"null"
|
|
1027
1169
|
]
|
|
1028
1170
|
}
|
|
1029
1171
|
},
|
|
1030
|
-
"$anchor": "RunEventUpdates"
|
|
1031
|
-
},
|
|
1032
|
-
"RunnableStrategy": {
|
|
1033
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1034
|
-
"type": "object",
|
|
1035
1172
|
"allOf": [
|
|
1036
1173
|
{
|
|
1037
|
-
"$
|
|
1038
|
-
"$ref": "#/$defs/StrategyThreadMapFacet"
|
|
1039
|
-
},
|
|
1040
|
-
{
|
|
1041
|
-
"$comment": "The Engine updates strategyState with materialized Resources upon job completions and runtime-provided input events. It also inserts input-potential and output-potential Resources upon step injections.",
|
|
1042
|
-
"$ref": "#/$defs/StrategyStateFacet"
|
|
1043
|
-
}
|
|
1044
|
-
],
|
|
1045
|
-
"properties": {
|
|
1046
|
-
"identity": {
|
|
1047
|
-
"$ref": "#/$defs/RunnableStrategyIdentity"
|
|
1048
|
-
},
|
|
1049
|
-
"runnableStrategyContext": {
|
|
1050
|
-
"$ref": "#/$defs/RunnableStrategyContext"
|
|
1051
|
-
}
|
|
1052
|
-
},
|
|
1053
|
-
"required": [
|
|
1054
|
-
"identity",
|
|
1055
|
-
"runnableStrategyContext"
|
|
1056
|
-
],
|
|
1057
|
-
"unevaluatedProperties": false,
|
|
1058
|
-
"$anchor": "RunnableStrategy"
|
|
1059
|
-
},
|
|
1060
|
-
"RunnableStrategyContext": {
|
|
1061
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1062
|
-
"type": "object",
|
|
1063
|
-
"properties": {
|
|
1064
|
-
"completedAt": {
|
|
1065
|
-
"$ref": "#/$defs/Timestamp"
|
|
1066
|
-
},
|
|
1067
|
-
"startedAt": {
|
|
1068
|
-
"$ref": "#/$defs/Timestamp"
|
|
1069
|
-
},
|
|
1070
|
-
"status": {
|
|
1071
|
-
"$ref": "#/$defs/RunnableStrategyStatus"
|
|
1174
|
+
"$ref": "#/$defs/StrategyStateDelta"
|
|
1072
1175
|
}
|
|
1073
|
-
|
|
1074
|
-
"required": [
|
|
1075
|
-
"status"
|
|
1076
|
-
],
|
|
1077
|
-
"unevaluatedProperties": false,
|
|
1078
|
-
"$anchor": "RunnableStrategyContext"
|
|
1079
|
-
},
|
|
1080
|
-
"RunnableStrategyIdentity": {
|
|
1081
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1082
|
-
"type": "string",
|
|
1083
|
-
"$anchor": "RunnableStrategyIdentity",
|
|
1084
|
-
"pattern": "^RUNNABLE_STRATEGY-.+$"
|
|
1176
|
+
]
|
|
1085
1177
|
},
|
|
1086
|
-
"
|
|
1178
|
+
"RunEventKind": {
|
|
1179
|
+
"$anchor": "RunEventKind",
|
|
1087
1180
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1088
1181
|
"type": "string",
|
|
1089
|
-
"$anchor": "RunnableStrategyStatus",
|
|
1090
1182
|
"enum": [
|
|
1091
|
-
"
|
|
1092
|
-
"
|
|
1093
|
-
"
|
|
1094
|
-
"
|
|
1095
|
-
"cancelled"
|
|
1183
|
+
"graph_start",
|
|
1184
|
+
"tick",
|
|
1185
|
+
"interrupt",
|
|
1186
|
+
"graph_end"
|
|
1096
1187
|
]
|
|
1097
1188
|
},
|
|
1098
|
-
"
|
|
1189
|
+
"RunEventBase": {
|
|
1190
|
+
"$anchor": "RunEventBase",
|
|
1099
1191
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1100
1192
|
"type": "object",
|
|
1101
|
-
"
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1193
|
+
"required": [
|
|
1194
|
+
"runEventKind",
|
|
1195
|
+
"runnableStrategyHandle",
|
|
1196
|
+
"strategyThreadHandle",
|
|
1197
|
+
"createdAt",
|
|
1198
|
+
"nodeName",
|
|
1199
|
+
"eventSeq"
|
|
1105
1200
|
],
|
|
1106
1201
|
"properties": {
|
|
1107
|
-
"
|
|
1108
|
-
"$
|
|
1109
|
-
"$ref": "#/$defs/RunnableStrategy"
|
|
1202
|
+
"runEventKind": {
|
|
1203
|
+
"$ref": "#/$defs/RunEventKind"
|
|
1110
1204
|
},
|
|
1111
1205
|
"runnableStrategyHandle": {
|
|
1112
1206
|
"$ref": "#/$defs/RunnableStrategyIdentity"
|
|
1113
|
-
}
|
|
1114
|
-
},
|
|
1115
|
-
"required": [
|
|
1116
|
-
"runnableStrategyHandle"
|
|
1117
|
-
],
|
|
1118
|
-
"unevaluatedProperties": false,
|
|
1119
|
-
"$anchor": "RunnableStrategyUpdate"
|
|
1120
|
-
},
|
|
1121
|
-
"ShellInputPotential": {
|
|
1122
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1123
|
-
"type": "object",
|
|
1124
|
-
"allOf": [
|
|
1125
|
-
{
|
|
1126
|
-
"$ref": "#/$defs/ResourceBase"
|
|
1127
1207
|
},
|
|
1128
|
-
{
|
|
1129
|
-
"$ref": "#/$defs/
|
|
1208
|
+
"strategyThreadHandle": {
|
|
1209
|
+
"$ref": "#/$defs/StrategyThreadIdentity"
|
|
1130
1210
|
},
|
|
1131
|
-
{
|
|
1132
|
-
"$ref": "#/$defs/
|
|
1133
|
-
}
|
|
1134
|
-
],
|
|
1135
|
-
"properties": {
|
|
1136
|
-
"resourceKind": {
|
|
1137
|
-
"const": "input-potential"
|
|
1138
|
-
}
|
|
1139
|
-
},
|
|
1140
|
-
"unevaluatedProperties": false,
|
|
1141
|
-
"$anchor": "ShellInputPotential"
|
|
1142
|
-
},
|
|
1143
|
-
"ShellMaterialized": {
|
|
1144
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1145
|
-
"type": "object",
|
|
1146
|
-
"unevaluatedProperties": false,
|
|
1147
|
-
"$anchor": "ShellMaterialized",
|
|
1148
|
-
"$ref": "#/$defs/ShellMaterializedBase"
|
|
1149
|
-
},
|
|
1150
|
-
"ShellMaterializedBase": {
|
|
1151
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1152
|
-
"type": "object",
|
|
1153
|
-
"allOf": [
|
|
1154
|
-
{
|
|
1155
|
-
"$ref": "#/$defs/ResourceBase"
|
|
1211
|
+
"createdAt": {
|
|
1212
|
+
"$ref": "#/$defs/Timestamp"
|
|
1156
1213
|
},
|
|
1157
|
-
{
|
|
1158
|
-
"
|
|
1214
|
+
"nodeName": {
|
|
1215
|
+
"type": "string"
|
|
1159
1216
|
},
|
|
1160
|
-
{
|
|
1161
|
-
"
|
|
1217
|
+
"eventSeq": {
|
|
1218
|
+
"type": "integer"
|
|
1162
1219
|
},
|
|
1163
|
-
{
|
|
1164
|
-
"$ref": "#/$defs/
|
|
1220
|
+
"counters": {
|
|
1221
|
+
"$ref": "#/$defs/RunEventCounters"
|
|
1165
1222
|
},
|
|
1166
|
-
{
|
|
1167
|
-
"$ref": "#/$defs/
|
|
1168
|
-
}
|
|
1169
|
-
],
|
|
1170
|
-
"properties": {
|
|
1171
|
-
"resourceKind": {
|
|
1172
|
-
"const": "materialized"
|
|
1223
|
+
"stepMetadata": {
|
|
1224
|
+
"$ref": "#/$defs/RunEventStepMetadata"
|
|
1173
1225
|
},
|
|
1174
|
-
"
|
|
1175
|
-
"
|
|
1226
|
+
"updates": {
|
|
1227
|
+
"$ref": "#/$defs/RunEventUpdates"
|
|
1176
1228
|
}
|
|
1177
|
-
}
|
|
1178
|
-
"required": [
|
|
1179
|
-
"version"
|
|
1180
|
-
],
|
|
1181
|
-
"$anchor": "ShellMaterializedBase"
|
|
1229
|
+
}
|
|
1182
1230
|
},
|
|
1183
|
-
"
|
|
1231
|
+
"GraphStartRunEvent": {
|
|
1232
|
+
"$anchor": "GraphStartRunEvent",
|
|
1184
1233
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1185
|
-
"type": "object",
|
|
1186
1234
|
"allOf": [
|
|
1187
1235
|
{
|
|
1188
|
-
"$ref": "#/$defs/
|
|
1236
|
+
"$ref": "#/$defs/RunEventBase"
|
|
1189
1237
|
},
|
|
1190
1238
|
{
|
|
1191
|
-
"
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1239
|
+
"type": "object",
|
|
1240
|
+
"required": [
|
|
1241
|
+
"runnableStrategySeed"
|
|
1242
|
+
],
|
|
1243
|
+
"properties": {
|
|
1244
|
+
"runEventKind": {
|
|
1245
|
+
"const": "graph_start"
|
|
1246
|
+
},
|
|
1247
|
+
"runnableStrategySeed": {
|
|
1248
|
+
"$ref": "#/$defs/RunnableStrategy"
|
|
1249
|
+
}
|
|
1250
|
+
}
|
|
1197
1251
|
}
|
|
1198
|
-
|
|
1199
|
-
"unevaluatedProperties": false,
|
|
1200
|
-
"$anchor": "ShellMissing"
|
|
1252
|
+
]
|
|
1201
1253
|
},
|
|
1202
|
-
"
|
|
1254
|
+
"TickRunEvent": {
|
|
1255
|
+
"$anchor": "TickRunEvent",
|
|
1203
1256
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1204
|
-
"type": "object",
|
|
1205
1257
|
"allOf": [
|
|
1206
1258
|
{
|
|
1207
|
-
"$ref": "#/$defs/
|
|
1208
|
-
},
|
|
1209
|
-
{
|
|
1210
|
-
"$ref": "#/$defs/CreationContextFacet"
|
|
1259
|
+
"$ref": "#/$defs/RunEventBase"
|
|
1211
1260
|
},
|
|
1212
1261
|
{
|
|
1213
|
-
"
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1262
|
+
"type": "object",
|
|
1263
|
+
"properties": {
|
|
1264
|
+
"runEventKind": {
|
|
1265
|
+
"const": "tick"
|
|
1266
|
+
}
|
|
1267
|
+
}
|
|
1219
1268
|
}
|
|
1220
|
-
|
|
1221
|
-
"unevaluatedProperties": false,
|
|
1222
|
-
"$anchor": "ShellOutputPotential"
|
|
1269
|
+
]
|
|
1223
1270
|
},
|
|
1224
|
-
"
|
|
1271
|
+
"InterruptRunEvent": {
|
|
1272
|
+
"$anchor": "InterruptRunEvent",
|
|
1225
1273
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1226
|
-
"
|
|
1227
|
-
"oneOf": [
|
|
1274
|
+
"allOf": [
|
|
1228
1275
|
{
|
|
1229
|
-
"$ref": "#/$defs/
|
|
1276
|
+
"$ref": "#/$defs/RunEventBase"
|
|
1230
1277
|
},
|
|
1231
1278
|
{
|
|
1232
|
-
"
|
|
1233
|
-
|
|
1279
|
+
"type": "object",
|
|
1280
|
+
"properties": {
|
|
1281
|
+
"runEventKind": {
|
|
1282
|
+
"const": "interrupt"
|
|
1283
|
+
}
|
|
1284
|
+
}
|
|
1285
|
+
}
|
|
1286
|
+
]
|
|
1287
|
+
},
|
|
1288
|
+
"GraphEndRunEvent": {
|
|
1289
|
+
"$anchor": "GraphEndRunEvent",
|
|
1290
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1291
|
+
"allOf": [
|
|
1234
1292
|
{
|
|
1235
|
-
"$ref": "#/$defs/
|
|
1293
|
+
"$ref": "#/$defs/RunEventBase"
|
|
1236
1294
|
},
|
|
1237
1295
|
{
|
|
1238
|
-
"
|
|
1296
|
+
"type": "object",
|
|
1297
|
+
"properties": {
|
|
1298
|
+
"runEventKind": {
|
|
1299
|
+
"const": "graph_end"
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1239
1302
|
}
|
|
1240
|
-
]
|
|
1241
|
-
"unevaluatedProperties": false,
|
|
1242
|
-
"$anchor": "Step"
|
|
1243
|
-
},
|
|
1244
|
-
"StepArray": {
|
|
1245
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1246
|
-
"type": "array",
|
|
1247
|
-
"$anchor": "StepArray",
|
|
1248
|
-
"items": {
|
|
1249
|
-
"$ref": "#/$defs/Step"
|
|
1250
|
-
},
|
|
1251
|
-
"uniqueItems": true
|
|
1303
|
+
]
|
|
1252
1304
|
},
|
|
1253
|
-
"
|
|
1305
|
+
"RunEvent": {
|
|
1306
|
+
"$anchor": "RunEvent",
|
|
1254
1307
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1255
1308
|
"type": "object",
|
|
1256
1309
|
"oneOf": [
|
|
1257
1310
|
{
|
|
1258
|
-
"$ref": "#/$defs/
|
|
1311
|
+
"$ref": "#/$defs/GraphStartRunEvent"
|
|
1259
1312
|
},
|
|
1260
1313
|
{
|
|
1261
|
-
"$ref": "#/$defs/
|
|
1314
|
+
"$ref": "#/$defs/TickRunEvent"
|
|
1262
1315
|
},
|
|
1263
1316
|
{
|
|
1264
|
-
"$ref": "#/$defs/
|
|
1317
|
+
"$ref": "#/$defs/InterruptRunEvent"
|
|
1265
1318
|
},
|
|
1266
1319
|
{
|
|
1267
|
-
"$ref": "#/$defs/
|
|
1320
|
+
"$ref": "#/$defs/GraphEndRunEvent"
|
|
1268
1321
|
}
|
|
1269
|
-
],
|
|
1270
|
-
"$anchor": "StepIdentity"
|
|
1271
|
-
},
|
|
1272
|
-
"StepKind": {
|
|
1273
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1274
|
-
"type": "string",
|
|
1275
|
-
"$anchor": "StepKind",
|
|
1276
|
-
"enum": [
|
|
1277
|
-
"job",
|
|
1278
|
-
"branch",
|
|
1279
|
-
"while",
|
|
1280
|
-
"for"
|
|
1281
1322
|
]
|
|
1282
1323
|
},
|
|
1283
|
-
"
|
|
1324
|
+
"StrategyRunIdentity": {
|
|
1325
|
+
"$anchor": "StrategyRunIdentity",
|
|
1284
1326
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1285
|
-
"type": "
|
|
1286
|
-
"
|
|
1287
|
-
"stepKind": {
|
|
1288
|
-
"$ref": "#/$defs/StepKind"
|
|
1289
|
-
}
|
|
1290
|
-
},
|
|
1291
|
-
"required": [
|
|
1292
|
-
"stepKind"
|
|
1293
|
-
],
|
|
1294
|
-
"$anchor": "StepKindFacet"
|
|
1327
|
+
"type": "string",
|
|
1328
|
+
"pattern": "^STRATEGY_RUN-.+$"
|
|
1295
1329
|
},
|
|
1296
|
-
"
|
|
1330
|
+
"StrategyRun": {
|
|
1331
|
+
"$anchor": "StrategyRun",
|
|
1297
1332
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1298
1333
|
"type": "object",
|
|
1299
|
-
"properties": {
|
|
1300
|
-
"steps": {
|
|
1301
|
-
"$ref": "#/$defs/StepArray"
|
|
1302
|
-
}
|
|
1303
|
-
},
|
|
1304
1334
|
"required": [
|
|
1305
|
-
"
|
|
1335
|
+
"identity",
|
|
1336
|
+
"runnableStrategyHandle",
|
|
1337
|
+
"recordedAt",
|
|
1338
|
+
"runEvents"
|
|
1306
1339
|
],
|
|
1307
|
-
"$anchor": "StepsFacet"
|
|
1308
|
-
},
|
|
1309
|
-
"StrategyRun": {
|
|
1310
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1311
|
-
"type": "object",
|
|
1312
1340
|
"properties": {
|
|
1313
1341
|
"identity": {
|
|
1314
1342
|
"$ref": "#/$defs/StrategyRunIdentity"
|
|
1315
1343
|
},
|
|
1344
|
+
"runnableStrategyHandle": {
|
|
1345
|
+
"$comment": "Could be derived from the first event but useful for indexing.",
|
|
1346
|
+
"$ref": "#/$defs/RunnableStrategyIdentity"
|
|
1347
|
+
},
|
|
1316
1348
|
"recordedAt": {
|
|
1317
1349
|
"$ref": "#/$defs/Timestamp"
|
|
1318
1350
|
},
|
|
@@ -1321,169 +1353,106 @@
|
|
|
1321
1353
|
"items": {
|
|
1322
1354
|
"$ref": "#/$defs/RunEvent"
|
|
1323
1355
|
}
|
|
1324
|
-
},
|
|
1325
|
-
"runnableStrategyHandle": {
|
|
1326
|
-
"$comment": "Could be derived from the first event but useful for indexing.",
|
|
1327
|
-
"$ref": "#/$defs/RunnableStrategyIdentity"
|
|
1328
1356
|
}
|
|
1329
1357
|
},
|
|
1330
|
-
"
|
|
1331
|
-
"identity",
|
|
1332
|
-
"runnableStrategyHandle",
|
|
1333
|
-
"recordedAt",
|
|
1334
|
-
"runEvents"
|
|
1335
|
-
],
|
|
1336
|
-
"unevaluatedProperties": false,
|
|
1337
|
-
"$anchor": "StrategyRun"
|
|
1358
|
+
"unevaluatedProperties": false
|
|
1338
1359
|
},
|
|
1339
|
-
"
|
|
1360
|
+
"GoalIdentity": {
|
|
1361
|
+
"$anchor": "GoalIdentity",
|
|
1340
1362
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1341
1363
|
"type": "string",
|
|
1342
|
-
"
|
|
1343
|
-
"pattern": "^STRATEGY_RUN-.+$"
|
|
1344
|
-
},
|
|
1345
|
-
"StrategyState": {
|
|
1346
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1347
|
-
"type": "object",
|
|
1348
|
-
"additionalProperties": {
|
|
1349
|
-
"$ref": "#/$defs/JobRunSocket"
|
|
1350
|
-
},
|
|
1351
|
-
"$anchor": "StrategyState",
|
|
1352
|
-
"propertyNames": {
|
|
1353
|
-
"$ref": "#/$defs/JobRunIdentity"
|
|
1354
|
-
}
|
|
1355
|
-
},
|
|
1356
|
-
"StrategyStateDelta": {
|
|
1357
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1358
|
-
"type": "object",
|
|
1359
|
-
"properties": {
|
|
1360
|
-
"strategyStateUpdate": {
|
|
1361
|
-
"$ref": "#/$defs/StrategyState"
|
|
1362
|
-
}
|
|
1363
|
-
},
|
|
1364
|
-
"required": [
|
|
1365
|
-
"strategyStateUpdate"
|
|
1366
|
-
],
|
|
1367
|
-
"$anchor": "StrategyStateDelta"
|
|
1364
|
+
"pattern": "^GOAL-.+$"
|
|
1368
1365
|
},
|
|
1369
|
-
"
|
|
1366
|
+
"Goal": {
|
|
1367
|
+
"$anchor": "Goal",
|
|
1370
1368
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1371
1369
|
"type": "object",
|
|
1372
|
-
"properties": {
|
|
1373
|
-
"strategyState": {
|
|
1374
|
-
"$ref": "#/$defs/StrategyState"
|
|
1375
|
-
}
|
|
1376
|
-
},
|
|
1377
1370
|
"required": [
|
|
1378
|
-
"
|
|
1371
|
+
"identity",
|
|
1372
|
+
"target"
|
|
1379
1373
|
],
|
|
1380
|
-
"$anchor": "StrategyStateFacet"
|
|
1381
|
-
},
|
|
1382
|
-
"StrategyThreadIdentity": {
|
|
1383
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1384
|
-
"type": "string",
|
|
1385
|
-
"$anchor": "StrategyThreadIdentity",
|
|
1386
|
-
"pattern": "^STRATEGY_THREAD-.+$"
|
|
1387
|
-
},
|
|
1388
|
-
"StrategyThreadMap": {
|
|
1389
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1390
|
-
"type": "object",
|
|
1391
|
-
"additionalProperties": {
|
|
1392
|
-
"$ref": "#/$defs/StepArray"
|
|
1393
|
-
},
|
|
1394
|
-
"$anchor": "StrategyThreadMap",
|
|
1395
|
-
"$comment": "Each thread contains an array of steps, allowing for sequential execution within a thread while supporting parallel execution across multiple threads.",
|
|
1396
|
-
"propertyNames": {
|
|
1397
|
-
"$ref": "#/$defs/StrategyThreadIdentity"
|
|
1398
|
-
}
|
|
1399
|
-
},
|
|
1400
|
-
"StrategyThreadMapFacet": {
|
|
1401
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1402
|
-
"type": "object",
|
|
1403
1374
|
"properties": {
|
|
1404
|
-
"
|
|
1405
|
-
"$ref": "#/$defs/
|
|
1375
|
+
"identity": {
|
|
1376
|
+
"$ref": "#/$defs/GoalIdentity"
|
|
1377
|
+
},
|
|
1378
|
+
"target": {
|
|
1379
|
+
"type": "integer",
|
|
1380
|
+
"minimum": 0
|
|
1381
|
+
},
|
|
1382
|
+
"disallowedJobs": {
|
|
1383
|
+
"type": "array",
|
|
1384
|
+
"items": {
|
|
1385
|
+
"$ref": "#/$defs/JobIdentity"
|
|
1386
|
+
}
|
|
1387
|
+
},
|
|
1388
|
+
"disallowedSequences": {
|
|
1389
|
+
"type": "array",
|
|
1390
|
+
"items": {
|
|
1391
|
+
"type": "array",
|
|
1392
|
+
"items": {
|
|
1393
|
+
"$ref": "#/$defs/JobIdentity"
|
|
1394
|
+
}
|
|
1395
|
+
}
|
|
1396
|
+
},
|
|
1397
|
+
"minSteps": {
|
|
1398
|
+
"type": "integer",
|
|
1399
|
+
"minimum": 1
|
|
1400
|
+
},
|
|
1401
|
+
"maxSteps": {
|
|
1402
|
+
"type": "integer",
|
|
1403
|
+
"minimum": 1
|
|
1406
1404
|
}
|
|
1407
1405
|
},
|
|
1408
|
-
"required": [
|
|
1409
|
-
"strategyThreadMap"
|
|
1410
|
-
],
|
|
1411
|
-
"$anchor": "StrategyThreadMapFacet"
|
|
1412
|
-
},
|
|
1413
|
-
"TickRunEvent": {
|
|
1414
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1415
1406
|
"allOf": [
|
|
1416
1407
|
{
|
|
1417
|
-
"$ref": "#/$defs/
|
|
1418
|
-
},
|
|
1419
|
-
{
|
|
1420
|
-
"type": "object",
|
|
1421
|
-
"properties": {
|
|
1422
|
-
"runEventKind": {
|
|
1423
|
-
"const": "tick"
|
|
1424
|
-
}
|
|
1425
|
-
}
|
|
1408
|
+
"$ref": "#/$defs/DomainFacet"
|
|
1426
1409
|
}
|
|
1427
1410
|
],
|
|
1428
|
-
"
|
|
1411
|
+
"unevaluatedProperties": false
|
|
1429
1412
|
},
|
|
1430
|
-
"
|
|
1431
|
-
"$
|
|
1432
|
-
"type": "string",
|
|
1433
|
-
"$anchor": "Timestamp",
|
|
1434
|
-
"format": "date-time"
|
|
1435
|
-
},
|
|
1436
|
-
"TimestampFacet": {
|
|
1413
|
+
"Natural": {
|
|
1414
|
+
"$anchor": "Natural",
|
|
1437
1415
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1438
1416
|
"type": "object",
|
|
1417
|
+
"required": [
|
|
1418
|
+
"identity"
|
|
1419
|
+
],
|
|
1439
1420
|
"properties": {
|
|
1440
|
-
"
|
|
1441
|
-
"$ref": "#/$defs/
|
|
1421
|
+
"identity": {
|
|
1422
|
+
"$ref": "#/$defs/NaturalIdentity"
|
|
1442
1423
|
}
|
|
1443
1424
|
},
|
|
1444
|
-
"
|
|
1445
|
-
"
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1451
|
-
"type": "string",
|
|
1452
|
-
"$anchor": "Uri",
|
|
1453
|
-
"format": "uri"
|
|
1425
|
+
"$defs": {
|
|
1426
|
+
"NaturalIdentity": {
|
|
1427
|
+
"type": "integer"
|
|
1428
|
+
}
|
|
1429
|
+
},
|
|
1430
|
+
"additionalProperties": false
|
|
1454
1431
|
},
|
|
1455
|
-
"
|
|
1432
|
+
"Boolean": {
|
|
1433
|
+
"$anchor": "Boolean",
|
|
1456
1434
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1457
1435
|
"type": "object",
|
|
1458
|
-
"
|
|
1459
|
-
|
|
1460
|
-
"$ref": "#/$defs/StepKindFacet"
|
|
1461
|
-
}
|
|
1436
|
+
"required": [
|
|
1437
|
+
"identity"
|
|
1462
1438
|
],
|
|
1463
1439
|
"properties": {
|
|
1464
|
-
"case": {
|
|
1465
|
-
"$ref": "#/$defs/Conditional"
|
|
1466
|
-
},
|
|
1467
1440
|
"identity": {
|
|
1468
|
-
"$ref": "#/$defs/
|
|
1469
|
-
},
|
|
1470
|
-
"stepKind": {
|
|
1471
|
-
"const": "while"
|
|
1441
|
+
"$ref": "#/$defs/BooleanIdentity"
|
|
1472
1442
|
}
|
|
1473
1443
|
},
|
|
1474
|
-
"
|
|
1475
|
-
"
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1444
|
+
"$defs": {
|
|
1445
|
+
"BooleanIdentity": {
|
|
1446
|
+
"type": "boolean"
|
|
1447
|
+
}
|
|
1448
|
+
},
|
|
1449
|
+
"additionalProperties": false
|
|
1479
1450
|
},
|
|
1480
|
-
"
|
|
1481
|
-
"
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
"
|
|
1451
|
+
"NaturalIdentity": {
|
|
1452
|
+
"type": "integer"
|
|
1453
|
+
},
|
|
1454
|
+
"BooleanIdentity": {
|
|
1455
|
+
"type": "boolean"
|
|
1485
1456
|
}
|
|
1486
|
-
}
|
|
1487
|
-
"$anchor": "Genesis",
|
|
1488
|
-
"$comment": "This file defines all schemas used internally by ToolProof."
|
|
1457
|
+
}
|
|
1489
1458
|
}
|