@toolproof-core/schema 1.0.0 → 1.0.2

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 (83) hide show
  1. package/dist/generated/types/standalone/Resource_Genesis.d.ts +3 -0
  2. package/dist/generated/types/standalone/Resource_Job.d.ts +3 -0
  3. package/dist/generated/types/standalone/Resource_RawStrategy.d.ts +3 -0
  4. package/dist/generated/types/standalone/Resource_ResourceType.d.ts +3 -0
  5. package/dist/generated/types/standalone/Resource_RunnableStrategy.d.ts +3 -0
  6. package/dist/generated/types/types.d.ts +487 -548
  7. package/dist/scripts/_lib/config.d.ts +12 -6
  8. package/dist/scripts/_lib/config.js +33 -15
  9. package/dist/scripts/{extractSchemas.js → extractSchemasFromResourceTypeShells.js} +14 -27
  10. package/dist/scripts/generateDependencies.js +2 -2
  11. package/dist/scripts/generateSchemaShims.js +22 -4
  12. package/dist/scripts/{extractSubSchemaWithDefs.js → generateStandaloneSchema.js} +12 -34
  13. package/dist/scripts/{generateResourceTypeType.js → generateStandaloneType.js} +23 -14
  14. package/dist/scripts/generateTypes.js +1 -1
  15. package/dist/scripts/{rewriteAnchors.js → normalizeAnchorsToPointers.js} +2 -2
  16. package/dist/scripts/{generateResourceShells.js → wrapResourceTypesWithResourceShells.js} +12 -34
  17. package/package.json +15 -14
  18. package/src/Genesis.json +1999 -2042
  19. package/src/generated/{dependencies.json → dependencyMap.json} +207 -214
  20. package/src/generated/{resourceTypes → normalized}/Genesis.json +44 -87
  21. package/src/generated/resources/Genesis.json +415 -478
  22. package/src/generated/schemas/Genesis.json +1026 -1057
  23. package/src/generated/schemas/{Goal.json → standalone/Goal.json} +34 -34
  24. package/src/generated/schemas/{Job.json → standalone/Job.json} +85 -85
  25. package/src/generated/schemas/{RawStrategy.json → standalone/RawStrategy.json} +238 -263
  26. package/src/generated/schemas/{ResourceType.json → standalone/ResourceType.json} +60 -60
  27. package/src/generated/schemas/{RunnableStrategy.json → standalone/RunnableStrategy.json} +296 -321
  28. package/src/generated/schemas/{StrategyRun.json → standalone/StrategyRun.json} +390 -421
  29. package/src/generated/types/standalone/Resource_Genesis.d.ts +3 -0
  30. package/src/generated/types/standalone/Resource_Genesis.js +1 -0
  31. package/src/generated/types/standalone/Resource_Job.d.ts +3 -0
  32. package/src/generated/types/standalone/Resource_Job.js +1 -0
  33. package/src/generated/types/standalone/Resource_RawStrategy.d.ts +3 -0
  34. package/src/generated/types/standalone/Resource_RawStrategy.js +1 -0
  35. package/src/generated/types/standalone/Resource_ResourceType.d.ts +3 -0
  36. package/src/generated/types/standalone/Resource_ResourceType.js +1 -0
  37. package/src/generated/types/standalone/Resource_RunnableStrategy.d.ts +3 -0
  38. package/src/generated/types/standalone/Resource_RunnableStrategy.js +1 -0
  39. package/src/generated/types/types.d.ts +487 -548
  40. package/src/generated/types/types.js +1 -1
  41. package/src/scripts/_lib/config.ts +205 -181
  42. package/src/scripts/extractSchemasFromResourceTypeShells.ts +218 -0
  43. package/src/scripts/generateDependencies.ts +120 -120
  44. package/src/scripts/generateSchemaShims.ts +135 -115
  45. package/src/scripts/{extractSubSchemaWithDefs.ts → generateStandaloneSchema.ts} +175 -196
  46. package/src/scripts/{generateResourceTypeType.ts → generateStandaloneType.ts} +119 -110
  47. package/src/scripts/generateTypes.ts +614 -614
  48. package/src/scripts/{rewriteAnchors.ts → normalizeAnchorsToPointers.ts} +123 -123
  49. package/src/scripts/{generateResourceShells.ts → wrapResourceTypesWithResourceShells.ts} +84 -105
  50. package/dist/generated/types/Resource_Genesis.d.ts +0 -3
  51. package/dist/generated/types/Resource_Job.d.ts +0 -3
  52. package/dist/generated/types/Resource_RawStrategy.d.ts +0 -3
  53. package/dist/generated/types/Resource_ResourceType.d.ts +0 -3
  54. package/dist/generated/types/Resource_RunnableStrategy.d.ts +0 -3
  55. package/src/Roadmap.json +0 -102
  56. package/src/generated/types/Resource_Genesis.d.ts +0 -3
  57. package/src/generated/types/Resource_Genesis.js +0 -1
  58. package/src/generated/types/Resource_Job.d.ts +0 -3
  59. package/src/generated/types/Resource_Job.js +0 -1
  60. package/src/generated/types/Resource_RawStrategy.d.ts +0 -3
  61. package/src/generated/types/Resource_RawStrategy.js +0 -1
  62. package/src/generated/types/Resource_ResourceType.d.ts +0 -3
  63. package/src/generated/types/Resource_ResourceType.js +0 -1
  64. package/src/generated/types/Resource_RunnableStrategy.d.ts +0 -3
  65. package/src/generated/types/Resource_RunnableStrategy.js +0 -1
  66. package/src/scripts/extractSchemas.ts +0 -229
  67. /package/dist/generated/types/{Resource_Genesis.js → standalone/Resource_Genesis.js} +0 -0
  68. /package/dist/generated/types/{Resource_Job.js → standalone/Resource_Job.js} +0 -0
  69. /package/dist/generated/types/{Resource_RawStrategy.js → standalone/Resource_RawStrategy.js} +0 -0
  70. /package/dist/generated/types/{Resource_ResourceType.js → standalone/Resource_ResourceType.js} +0 -0
  71. /package/dist/generated/types/{Resource_RunnableStrategy.js → standalone/Resource_RunnableStrategy.js} +0 -0
  72. /package/dist/scripts/{extractSchemas.d.ts → extractSchemasFromResourceTypeShells.d.ts} +0 -0
  73. /package/dist/scripts/{extractSubSchemaWithDefs.d.ts → generateStandaloneSchema.d.ts} +0 -0
  74. /package/dist/scripts/{generateResourceShells.d.ts → generateStandaloneType.d.ts} +0 -0
  75. /package/dist/scripts/{generateResourceTypeType.d.ts → normalizeAnchorsToPointers.d.ts} +0 -0
  76. /package/dist/scripts/{rewriteAnchors.d.ts → wrapResourceTypesWithResourceShells.d.ts} +0 -0
  77. /package/src/generated/{resourceTypes → normalized}/Genesis.ts +0 -0
  78. /package/src/generated/schemas/{Goal.ts → standalone/Goal.ts} +0 -0
  79. /package/src/generated/schemas/{Job.ts → standalone/Job.ts} +0 -0
  80. /package/src/generated/schemas/{RawStrategy.ts → standalone/RawStrategy.ts} +0 -0
  81. /package/src/generated/schemas/{ResourceType.ts → standalone/ResourceType.ts} +0 -0
  82. /package/src/generated/schemas/{RunnableStrategy.ts → standalone/RunnableStrategy.ts} +0 -0
  83. /package/src/generated/schemas/{StrategyRun.ts → standalone/StrategyRun.ts} +0 -0
package/src/Genesis.json CHANGED
@@ -1,2043 +1,2000 @@
1
- {
2
- "identity": "TYPE-Genesis",
3
- "name": "Genesis",
4
- "description": "dummy-description",
5
- "resourceTypeImplementationKind": "internal-without-identity",
6
- "nucleusSchema": {
7
- "$comment": "This file defines all schemas used internally by ToolProof.",
8
- "$anchor": "Genesis",
9
- "$id": "https://schemas.toolproof.com/v2/Genesis.json",
10
- "$schema": "https://json-schema.org/draft/2020-12/schema",
11
- "$defs": {
12
- "Name": {
13
- "identity": "TYPE-Name",
14
- "name": "Name",
15
- "description": "dummy-description",
16
- "resourceTypeImplementationKind": "internal-without-identity",
17
- "nucleusSchema": {
18
- "$anchor": "Name",
19
- "$schema": "https://json-schema.org/draft/2020-12/schema",
20
- "type": "string",
21
- "minLength": 1,
22
- "pattern": "^(?:[A-Z][^0-9]*|[a-z]+/[a-z.+&-]+)$",
23
- "$comment": "Validation is intercepted by an AI Agent that verifies the name against Toolproof's naming conventions.",
24
- "semanticValidation": "Ajv custom keyword to verify name."
25
- }
26
- },
27
- "NameFacet": {
28
- "identity": "TYPE-NameFacet",
29
- "name": "NameFacet",
30
- "description": "dummy-description",
31
- "resourceTypeImplementationKind": "internal-without-identity",
32
- "nucleusSchema": {
33
- "$anchor": "NameFacet",
34
- "$schema": "https://json-schema.org/draft/2020-12/schema",
35
- "type": "object",
36
- "required": [
37
- "name"
38
- ],
39
- "properties": {
40
- "name": {
41
- "$ref": "#Name"
42
- }
43
- }
44
- }
45
- },
46
- "Description": {
47
- "identity": "TYPE-Description",
48
- "name": "Description",
49
- "description": "dummy-description",
50
- "resourceTypeImplementationKind": "internal-without-identity",
51
- "nucleusSchema": {
52
- "$anchor": "Description",
53
- "$schema": "https://json-schema.org/draft/2020-12/schema",
54
- "type": "string",
55
- "minLength": 1,
56
- "$comment": "Validation is intercepted by an AI Agent that verifies the description against Toolproof's documentation standards.",
57
- "semanticValidation": "Ajv custom keyword to verify description."
58
- }
59
- },
60
- "DescriptionFacet": {
61
- "identity": "TYPE-DescriptionFacet",
62
- "name": "DescriptionFacet",
63
- "description": "dummy-description",
64
- "resourceTypeImplementationKind": "internal-without-identity",
65
- "nucleusSchema": {
66
- "$anchor": "DescriptionFacet",
67
- "$schema": "https://json-schema.org/draft/2020-12/schema",
68
- "type": "object",
69
- "required": [
70
- "description"
71
- ],
72
- "properties": {
73
- "description": {
74
- "$ref": "#Description"
75
- }
76
- }
77
- }
78
- },
79
- "DocumentationFacet": {
80
- "identity": "TYPE-DocumentationFacet",
81
- "name": "DocumentationFacet",
82
- "description": "dummy-description",
83
- "resourceTypeImplementationKind": "internal-without-identity",
84
- "nucleusSchema": {
85
- "$anchor": "DocumentationFacet",
86
- "$schema": "https://json-schema.org/draft/2020-12/schema",
87
- "type": "object",
88
- "allOf": [
89
- {
90
- "$ref": "#NameFacet"
91
- },
92
- {
93
- "$ref": "#DescriptionFacet"
94
- }
95
- ]
96
- }
97
- },
98
- "ResourceTypeImplementationKind": {
99
- "identity": "TYPE-ResourceTypeImplementationKind",
100
- "name": "ResourceTypeImplementationKind",
101
- "description": "dummy-description",
102
- "resourceTypeImplementationKind": "internal-without-identity",
103
- "nucleusSchema": {
104
- "$anchor": "ResourceTypeImplementationKind",
105
- "$schema": "https://json-schema.org/draft/2020-12/schema",
106
- "type": "string",
107
- "enum": [
108
- "internal-without-identity",
109
- "internal-with-identity",
110
- "external"
111
- ]
112
- }
113
- },
114
- "ResourceTypeImplementationKindFacet": {
115
- "identity": "TYPE-ResourceTypeImplementationKindFacet",
116
- "name": "ResourceTypeImplementationKindFacet",
117
- "description": "dummy-description",
118
- "resourceTypeImplementationKind": "internal-without-identity",
119
- "nucleusSchema": {
120
- "$anchor": "ResourceTypeImplementationKindFacet",
121
- "$schema": "https://json-schema.org/draft/2020-12/schema",
122
- "type": "object",
123
- "required": [
124
- "resourceTypeImplementationKind"
125
- ],
126
- "properties": {
127
- "resourceTypeImplementationKind": {
128
- "$ref": "#ResourceTypeImplementationKind"
129
- }
130
- }
131
- }
132
- },
133
- "Uri": {
134
- "identity": "TYPE-Uri",
135
- "name": "Uri",
136
- "description": "dummy-description",
137
- "resourceTypeImplementationKind": "internal-without-identity",
138
- "nucleusSchema": {
139
- "$anchor": "Uri",
140
- "$schema": "https://json-schema.org/draft/2020-12/schema",
141
- "type": "string",
142
- "format": "uri"
143
- }
144
- },
145
- "ResourceTypeIdentity": {
146
- "identity": "TYPE-ResourceTypeIdentity",
147
- "name": "ResourceTypeIdentity",
148
- "description": "dummy-description",
149
- "resourceTypeImplementationKind": "internal-without-identity",
150
- "nucleusSchema": {
151
- "$anchor": "ResourceTypeIdentity",
152
- "$schema": "https://json-schema.org/draft/2020-12/schema",
153
- "type": "string",
154
- "pattern": "^TYPE-.+$"
155
- }
156
- },
157
- "ResourceType": {
158
- "identity": "TYPE-ResourceType",
159
- "name": "ResourceType",
160
- "description": "dummy-description",
161
- "resourceTypeImplementationKind": "internal-with-identity",
162
- "nucleusSchema": {
163
- "$anchor": "ResourceType",
164
- "$schema": "https://json-schema.org/draft/2020-12/schema",
165
- "type": "object",
166
- "required": [
167
- "identity",
168
- "nucleusSchema"
169
- ],
170
- "properties": {
171
- "identity": {
172
- "$ref": "#ResourceTypeIdentity"
173
- },
174
- "nucleusSchema": true,
175
- "embeddingUriMap": {
176
- "type": "object",
177
- "propertyNames": {
178
- "type": "string",
179
- "pattern": "^EMBEDDING-.+$"
180
- },
181
- "additionalProperties": {
182
- "$ref": "#Uri"
183
- },
184
- "minProperties": 1,
185
- "$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."
186
- },
187
- "generatorUriMap": {
188
- "type": "object",
189
- "propertyNames": {
190
- "type": "string",
191
- "pattern": "^GENERATOR-.+$"
192
- },
193
- "additionalProperties": {
194
- "$ref": "#Uri"
195
- },
196
- "minProperties": 1,
197
- "$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."
198
- }
199
- },
200
- "allOf": [
201
- {
202
- "$ref": "#DocumentationFacet"
203
- },
204
- {
205
- "$ref": "#ResourceTypeImplementationKindFacet"
206
- }
207
- ]
208
- }
209
- },
210
- "ResourceRoleIdentity": {
211
- "identity": "TYPE-ResourceRoleIdentity",
212
- "name": "ResourceRoleIdentity",
213
- "description": "dummy-description",
214
- "resourceTypeImplementationKind": "internal-without-identity",
215
- "nucleusSchema": {
216
- "$anchor": "ResourceRoleIdentity",
217
- "$schema": "https://json-schema.org/draft/2020-12/schema",
218
- "type": "string",
219
- "pattern": "^ROLE-.+$"
220
- }
221
- },
222
- "ResourceRoleValue": {
223
- "identity": "TYPE-ResourceRoleValue",
224
- "name": "ResourceRoleValue",
225
- "description": "dummy-description",
226
- "resourceTypeImplementationKind": "internal-without-identity",
227
- "nucleusSchema": {
228
- "$anchor": "ResourceRoleValue",
229
- "$schema": "https://json-schema.org/draft/2020-12/schema",
230
- "type": "object",
231
- "allOf": [
232
- {
233
- "$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).",
234
- "required": [
235
- "resourceTypeHandle"
236
- ],
237
- "properties": {
238
- "resourceTypeHandle": {
239
- "$ref": "#ResourceTypeIdentity"
240
- }
241
- }
242
- },
243
- {
244
- "$ref": "#DocumentationFacet"
245
- }
246
- ]
247
- },
248
- "unevaluatedProperties": false
249
- },
250
- "RoleMap": {
251
- "identity": "TYPE-RoleMap",
252
- "name": "RoleMap",
253
- "description": "dummy-description",
254
- "resourceTypeImplementationKind": "internal-without-identity",
255
- "nucleusSchema": {
256
- "$anchor": "RoleMap",
257
- "$schema": "https://json-schema.org/draft/2020-12/schema",
258
- "type": "object",
259
- "propertyNames": {
260
- "$ref": "#ResourceRoleIdentity"
261
- },
262
- "additionalProperties": {
263
- "$ref": "#ResourceRoleValue"
264
- }
265
- }
266
- },
267
- "Error": {
268
- "identity": "TYPE-Error",
269
- "name": "Error",
270
- "description": "dummy-description",
271
- "resourceTypeImplementationKind": "internal-without-identity",
272
- "nucleusSchema": {
273
- "$anchor": "Error",
274
- "$schema": "https://json-schema.org/draft/2020-12/schema",
275
- "type": "object",
276
- "allOf": [
277
- {
278
- "$ref": "#DocumentationFacet"
279
- },
280
- {
281
- "properties": {
282
- "details": {
283
- "type": "object"
284
- }
285
- }
286
- }
287
- ],
288
- "unevaluatedProperties": false
289
- }
290
- },
291
- "Roles": {
292
- "identity": "TYPE-Roles",
293
- "name": "Roles",
294
- "description": "dummy-description",
295
- "resourceTypeImplementationKind": "internal-without-identity",
296
- "nucleusSchema": {
297
- "$anchor": "Roles",
298
- "$schema": "https://json-schema.org/draft/2020-12/schema",
299
- "type": "object",
300
- "required": [
301
- "inputMap",
302
- "outputMap"
303
- ],
304
- "properties": {
305
- "inputMap": {
306
- "$ref": "#RoleMap"
307
- },
308
- "outputMap": {
309
- "allOf": [
310
- {
311
- "$ref": "#RoleMap"
312
- },
313
- {
314
- "required": [
315
- "ROLE-ErrorOutput"
316
- ],
317
- "properties": {
318
- "ROLE-ErrorOutput": {
319
- "type": "object",
320
- "allOf": [
321
- {
322
- "$ref": "#ResourceRoleValue"
323
- },
324
- {
325
- "required": [
326
- "resourceTypeHandle",
327
- "name",
328
- "description"
329
- ],
330
- "properties": {
331
- "resourceTypeHandle": {
332
- "const": "TYPE-Error"
333
- },
334
- "name": {
335
- "const": "ErrorOutput"
336
- },
337
- "description": {
338
- "const": "Represents error outputs from job runs."
339
- }
340
- }
341
- }
342
- ]
343
- }
344
- }
345
- }
346
- ]
347
- }
348
- },
349
- "unevaluatedProperties": false
350
- }
351
- },
352
- "RolesFacet": {
353
- "identity": "TYPE-RolesFacet",
354
- "name": "RolesFacet",
355
- "description": "dummy-description",
356
- "resourceTypeImplementationKind": "internal-without-identity",
357
- "nucleusSchema": {
358
- "$anchor": "RolesFacet",
359
- "$schema": "https://json-schema.org/draft/2020-12/schema",
360
- "type": "object",
361
- "required": [
362
- "roles"
363
- ],
364
- "properties": {
365
- "roles": {
366
- "$ref": "#Roles"
367
- }
368
- }
369
- }
370
- },
371
- "Domain": {
372
- "identity": "TYPE-Domain",
373
- "name": "Domain",
374
- "description": "dummy-description",
375
- "resourceTypeImplementationKind": "internal-without-identity",
376
- "nucleusSchema": {
377
- "$anchor": "Domain",
378
- "$schema": "https://json-schema.org/draft/2020-12/schema",
379
- "type": "string",
380
- "enum": [
381
- "internal",
382
- "numerical",
383
- "biological",
384
- "logical",
385
- "augmental"
386
- ]
387
- }
388
- },
389
- "DomainFacet": {
390
- "identity": "TYPE-DomainFacet",
391
- "name": "DomainFacet",
392
- "description": "dummy-description",
393
- "resourceTypeImplementationKind": "internal-without-identity",
394
- "nucleusSchema": {
395
- "$anchor": "DomainFacet",
396
- "$schema": "https://json-schema.org/draft/2020-12/schema",
397
- "type": "object",
398
- "required": [
399
- "domain"
400
- ],
401
- "properties": {
402
- "domain": {
403
- "$ref": "#Domain"
404
- }
405
- }
406
- }
407
- },
408
- "JobIdentity": {
409
- "identity": "TYPE-JobIdentity",
410
- "name": "JobIdentity",
411
- "description": "dummy-description",
412
- "resourceTypeImplementationKind": "internal-without-identity",
413
- "nucleusSchema": {
414
- "$anchor": "JobIdentity",
415
- "$schema": "https://json-schema.org/draft/2020-12/schema",
416
- "type": "string",
417
- "pattern": "^JOB-.+$"
418
- }
419
- },
420
- "Job": {
421
- "identity": "TYPE-Job",
422
- "name": "Job",
423
- "description": "dummy-description",
424
- "resourceTypeImplementationKind": "internal-with-identity",
425
- "nucleusSchema": {
426
- "$anchor": "Job",
427
- "$schema": "https://json-schema.org/draft/2020-12/schema",
428
- "type": "object",
429
- "required": [
430
- "identity",
431
- "implementationUri"
432
- ],
433
- "properties": {
434
- "identity": {
435
- "$ref": "#JobIdentity"
436
- },
437
- "implementationUri": {
438
- "$ref": "#Uri"
439
- }
440
- },
441
- "allOf": [
442
- {
443
- "$ref": "#DocumentationFacet"
444
- },
445
- {
446
- "$ref": "#DomainFacet"
447
- },
448
- {
449
- "$ref": "#RolesFacet"
450
- }
451
- ],
452
- "unevaluatedProperties": false
453
- }
454
- },
455
- "RoleBindingArray": {
456
- "identity": "TYPE-RoleBindingArray",
457
- "name": "RoleBindingArray",
458
- "description": "dummy-description",
459
- "resourceTypeImplementationKind": "internal-without-identity",
460
- "nucleusSchema": {
461
- "$anchor": "RoleBindingArray",
462
- "$schema": "https://json-schema.org/draft/2020-12/schema",
463
- "type": "array",
464
- "items": {
465
- "$ref": "#ResourceRoleIdentity"
466
- }
467
- }
468
- },
469
- "RoleBindings": {
470
- "identity": "TYPE-RoleBindings",
471
- "name": "RoleBindings",
472
- "description": "dummy-description",
473
- "resourceTypeImplementationKind": "internal-without-identity",
474
- "nucleusSchema": {
475
- "$anchor": "RoleBindings",
476
- "$schema": "https://json-schema.org/draft/2020-12/schema",
477
- "type": "object",
478
- "required": [
479
- "inputBindings",
480
- "outputBindings"
481
- ],
482
- "properties": {
483
- "inputBindings": {
484
- "$ref": "#RoleBindingArray"
485
- },
486
- "outputBindings": {
487
- "$ref": "#RoleBindingArray"
488
- }
489
- }
490
- },
491
- "unevaluatedProperties": false
492
- },
493
- "RoleBindingsFacet": {
494
- "identity": "TYPE-RoleBindingsFacet",
495
- "name": "RoleBindingsFacet",
496
- "description": "dummy-description",
497
- "resourceTypeImplementationKind": "internal-without-identity",
498
- "nucleusSchema": {
499
- "$anchor": "RoleBindingsFacet",
500
- "$schema": "https://json-schema.org/draft/2020-12/schema",
501
- "type": "object",
502
- "required": [
503
- "roleBindings"
504
- ],
505
- "properties": {
506
- "roleBindings": {
507
- "$ref": "#RoleBindings"
508
- }
509
- }
510
- }
511
- },
512
- "JobRunIdentity": {
513
- "identity": "TYPE-JobRunIdentity",
514
- "name": "JobRunIdentity",
515
- "description": "dummy-description",
516
- "resourceTypeImplementationKind": "internal-without-identity",
517
- "nucleusSchema": {
518
- "$anchor": "JobRunIdentity",
519
- "$schema": "https://json-schema.org/draft/2020-12/schema",
520
- "type": "string",
521
- "pattern": "^JobRun-.+$"
522
- }
523
- },
524
- "JobRun": {
525
- "identity": "TYPE-JobRun",
526
- "name": "JobRun",
527
- "description": "dummy-description",
528
- "resourceTypeImplementationKind": "internal-with-identity",
529
- "nucleusSchema": {
530
- "$anchor": "JobRun",
531
- "$schema": "https://json-schema.org/draft/2020-12/schema",
532
- "type": "object",
533
- "required": [
534
- "identity",
535
- "jobHandle"
536
- ],
537
- "properties": {
538
- "identity": {
539
- "$ref": "#JobRunIdentity"
540
- },
541
- "jobHandle": {
542
- "$ref": "#JobIdentity"
543
- }
544
- },
545
- "allOf": [
546
- {
547
- "$comment": "This will be overlayed dynamically to specify roleBindings corresponding to the roles of the underlying job.",
548
- "$ref": "#RoleBindingsFacet"
549
- }
550
- ]
551
- }
552
- },
553
- "Conditional": {
554
- "identity": "TYPE-Conditional",
555
- "name": "Conditional",
556
- "description": "dummy-description",
557
- "resourceTypeImplementationKind": "internal-without-identity",
558
- "nucleusSchema": {
559
- "$anchor": "Conditional",
560
- "$schema": "https://json-schema.org/draft/2020-12/schema",
561
- "type": "object",
562
- "required": [
563
- "when",
564
- "what"
565
- ],
566
- "properties": {
567
- "when": {
568
- "$ref": "#JobStep"
569
- },
570
- "what": {
571
- "$ref": "#JobStep"
572
- }
573
- },
574
- "unevaluatedProperties": false
575
- }
576
- },
577
- "StepKind": {
578
- "identity": "TYPE-StepKind",
579
- "name": "StepKind",
580
- "description": "dummy-description",
581
- "resourceTypeImplementationKind": "internal-without-identity",
582
- "nucleusSchema": {
583
- "$anchor": "StepKind",
584
- "$schema": "https://json-schema.org/draft/2020-12/schema",
585
- "type": "string",
586
- "enum": [
587
- "job",
588
- "branch",
589
- "while",
590
- "for"
591
- ]
592
- }
593
- },
594
- "StepKindFacet": {
595
- "identity": "TYPE-StepKindFacet",
596
- "name": "StepKindFacet",
597
- "description": "dummy-description",
598
- "resourceTypeImplementationKind": "internal-without-identity",
599
- "nucleusSchema": {
600
- "$anchor": "StepKindFacet",
601
- "$schema": "https://json-schema.org/draft/2020-12/schema",
602
- "type": "object",
603
- "required": [
604
- "stepKind"
605
- ],
606
- "properties": {
607
- "stepKind": {
608
- "$ref": "#StepKind"
609
- }
610
- }
611
- }
612
- },
613
- "JobStepIdentity": {
614
- "identity": "TYPE-JobStepIdentity",
615
- "name": "JobStepIdentity",
616
- "description": "dummy-description",
617
- "resourceTypeImplementationKind": "internal-without-identity",
618
- "nucleusSchema": {
619
- "$anchor": "JobStepIdentity",
620
- "$schema": "https://json-schema.org/draft/2020-12/schema",
621
- "type": "string",
622
- "pattern": "^JobStep-.+$"
623
- }
624
- },
625
- "JobStep": {
626
- "identity": "TYPE-JobStep",
627
- "name": "JobStep",
628
- "description": "dummy-description",
629
- "resourceTypeImplementationKind": "internal-with-identity",
630
- "nucleusSchema": {
631
- "$anchor": "JobStep",
632
- "$schema": "https://json-schema.org/draft/2020-12/schema",
633
- "type": "object",
634
- "required": [
635
- "identity",
636
- "jobRun"
637
- ],
638
- "properties": {
639
- "identity": {
640
- "$ref": "#JobStepIdentity"
641
- },
642
- "stepKind": {
643
- "const": "job"
644
- },
645
- "jobRun": {
646
- "$ref": "#JobRun"
647
- }
648
- },
649
- "allOf": [
650
- {
651
- "$ref": "#StepKindFacet"
652
- }
653
- ]
654
- }
655
- },
656
- "BranchStepIdentity": {
657
- "identity": "TYPE-BranchStepIdentity",
658
- "name": "BranchStepIdentity",
659
- "description": "dummy-description",
660
- "resourceTypeImplementationKind": "internal-without-identity",
661
- "nucleusSchema": {
662
- "$anchor": "BranchStepIdentity",
663
- "$schema": "https://json-schema.org/draft/2020-12/schema",
664
- "type": "string",
665
- "pattern": "^BRANCHSTEP-.+$"
666
- }
667
- },
668
- "BranchStep": {
669
- "identity": "TYPE-BranchStep",
670
- "name": "BranchStep",
671
- "description": "dummy-description",
672
- "resourceTypeImplementationKind": "internal-with-identity",
673
- "nucleusSchema": {
674
- "$anchor": "BranchStep",
675
- "$schema": "https://json-schema.org/draft/2020-12/schema",
676
- "type": "object",
677
- "required": [
678
- "identity",
679
- "cases"
680
- ],
681
- "properties": {
682
- "identity": {
683
- "$ref": "#BranchStepIdentity"
684
- },
685
- "stepKind": {
686
- "const": "branch"
687
- },
688
- "cases": {
689
- "type": "array",
690
- "items": {
691
- "$ref": "#Conditional"
692
- },
693
- "minItems": 1,
694
- "uniqueItems": true
695
- }
696
- },
697
- "allOf": [
698
- {
699
- "$ref": "#StepKindFacet"
700
- }
701
- ]
702
- }
703
- },
704
- "WhileStepIdentity": {
705
- "identity": "TYPE-WhileStepIdentity",
706
- "name": "WhileStepIdentity",
707
- "description": "dummy-description",
708
- "resourceTypeImplementationKind": "internal-without-identity",
709
- "nucleusSchema": {
710
- "$anchor": "WhileStepIdentity",
711
- "$schema": "https://json-schema.org/draft/2020-12/schema",
712
- "type": "string",
713
- "pattern": "^WHILESTEP-.+$"
714
- }
715
- },
716
- "WhileStep": {
717
- "identity": "TYPE-WhileStep",
718
- "name": "WhileStep",
719
- "description": "dummy-description",
720
- "resourceTypeImplementationKind": "internal-with-identity",
721
- "nucleusSchema": {
722
- "$anchor": "WhileStep",
723
- "$schema": "https://json-schema.org/draft/2020-12/schema",
724
- "type": "object",
725
- "required": [
726
- "identity",
727
- "case"
728
- ],
729
- "properties": {
730
- "identity": {
731
- "$ref": "#WhileStepIdentity"
732
- },
733
- "stepKind": {
734
- "const": "while"
735
- },
736
- "case": {
737
- "$ref": "#Conditional"
738
- }
739
- },
740
- "allOf": [
741
- {
742
- "$ref": "#StepKindFacet"
743
- }
744
- ]
745
- }
746
- },
747
- "ForStepIdentity": {
748
- "identity": "TYPE-ForStepIdentity",
749
- "name": "ForStepIdentity",
750
- "description": "dummy-description",
751
- "resourceTypeImplementationKind": "internal-without-identity",
752
- "nucleusSchema": {
753
- "$anchor": "ForStepIdentity",
754
- "$schema": "https://json-schema.org/draft/2020-12/schema",
755
- "type": "string",
756
- "pattern": "^FORSTEP-.+$"
757
- }
758
- },
759
- "ForStep": {
760
- "identity": "TYPE-ForStep",
761
- "name": "ForStep",
762
- "description": "dummy-description",
763
- "resourceTypeImplementationKind": "internal-with-identity",
764
- "nucleusSchema": {
765
- "$anchor": "ForStep",
766
- "$schema": "https://json-schema.org/draft/2020-12/schema",
767
- "type": "object",
768
- "required": [
769
- "identity",
770
- "case"
771
- ],
772
- "properties": {
773
- "identity": {
774
- "$ref": "#ForStepIdentity"
775
- },
776
- "stepKind": {
777
- "const": "for"
778
- },
779
- "case": {
780
- "$ref": "#Conditional"
781
- }
782
- },
783
- "allOf": [
784
- {
785
- "$ref": "#StepKindFacet"
786
- }
787
- ]
788
- }
789
- },
790
- "StepIdentity": {
791
- "identity": "TYPE-StepIdentity",
792
- "name": "StepIdentity",
793
- "description": "dummy-description",
794
- "resourceTypeImplementationKind": "internal-without-identity",
795
- "nucleusSchema": {
796
- "$anchor": "StepIdentity",
797
- "$schema": "https://json-schema.org/draft/2020-12/schema",
798
- "type": "object",
799
- "oneOf": [
800
- {
801
- "$ref": "#JobStepIdentity"
802
- },
803
- {
804
- "$ref": "#BranchStepIdentity"
805
- },
806
- {
807
- "$ref": "#WhileStepIdentity"
808
- },
809
- {
810
- "$ref": "#ForStepIdentity"
811
- }
812
- ]
813
- }
814
- },
815
- "Step": {
816
- "identity": "TYPE-Step",
817
- "name": "Step",
818
- "description": "dummy-description",
819
- "resourceTypeImplementationKind": "internal-without-identity",
820
- "nucleusSchema": {
821
- "$anchor": "Step",
822
- "$schema": "https://json-schema.org/draft/2020-12/schema",
823
- "type": "object",
824
- "oneOf": [
825
- {
826
- "$ref": "#JobStep"
827
- },
828
- {
829
- "$ref": "#BranchStep"
830
- },
831
- {
832
- "$ref": "#WhileStep"
833
- },
834
- {
835
- "$ref": "#ForStep"
836
- }
837
- ],
838
- "unevaluatedProperties": false
839
- }
840
- },
841
- "CreationContext": {
842
- "identity": "TYPE-CreationContext",
843
- "name": "CreationContext",
844
- "description": "dummy-description",
845
- "resourceTypeImplementationKind": "internal-without-identity",
846
- "nucleusSchema": {
847
- "$anchor": "CreationContext",
848
- "$schema": "https://json-schema.org/draft/2020-12/schema",
849
- "type": "object",
850
- "required": [
851
- "resourceRoleHandle",
852
- "jobRunHandle"
853
- ],
854
- "properties": {
855
- "resourceRoleHandle": {
856
- "$ref": "#ResourceRoleIdentity"
857
- },
858
- "jobRunHandle": {
859
- "$ref": "#JobRunIdentity"
860
- }
861
- }
862
- }
863
- },
864
- "CreationContextFacet": {
865
- "identity": "TYPE-CreationContextFacet",
866
- "name": "CreationContextFacet",
867
- "description": "dummy-description",
868
- "resourceTypeImplementationKind": "internal-without-identity",
869
- "nucleusSchema": {
870
- "$anchor": "CreationContextFacet",
871
- "$schema": "https://json-schema.org/draft/2020-12/schema",
872
- "type": "object",
873
- "required": [
874
- "creationContext"
875
- ],
876
- "properties": {
877
- "creationContext": {
878
- "$ref": "#CreationContext"
879
- }
880
- }
881
- }
882
- },
883
- "ResourceIdentity": {
884
- "identity": "TYPE-ResourceIdentity",
885
- "name": "ResourceIdentity",
886
- "description": "dummy-description",
887
- "resourceTypeImplementationKind": "internal-without-identity",
888
- "nucleusSchema": {
889
- "$anchor": "ResourceIdentity",
890
- "$schema": "https://json-schema.org/draft/2020-12/schema",
891
- "type": "string",
892
- "pattern": "^RESOURCE-.+$"
893
- }
894
- },
895
- "ResourceBase": {
896
- "identity": "TYPE-ResourceBase",
897
- "name": "ResourceBase",
898
- "description": "dummy-description",
899
- "resourceTypeImplementationKind": "internal-with-identity",
900
- "nucleusSchema": {
901
- "$anchor": "ResourceBase",
902
- "$schema": "https://json-schema.org/draft/2020-12/schema",
903
- "type": "object",
904
- "required": [
905
- "identity",
906
- "resourceTypeHandle"
907
- ],
908
- "properties": {
909
- "identity": {
910
- "$ref": "#ResourceIdentity"
911
- },
912
- "resourceTypeHandle": {
913
- "$ref": "#ResourceTypeIdentity"
914
- }
915
- }
916
- }
917
- },
918
- "ResourceKind": {
919
- "identity": "TYPE-ResourceKind",
920
- "name": "ResourceKind",
921
- "description": "dummy-description",
922
- "resourceTypeImplementationKind": "internal-without-identity",
923
- "nucleusSchema": {
924
- "$anchor": "ResourceKind",
925
- "$schema": "https://json-schema.org/draft/2020-12/schema",
926
- "type": "string",
927
- "enum": [
928
- "missing",
929
- "input-potential",
930
- "output-potential",
931
- "materialized"
932
- ]
933
- }
934
- },
935
- "ResourceKindFacet": {
936
- "identity": "TYPE-ResourceKindFacet",
937
- "name": "ResourceKindFacet",
938
- "description": "dummy-description",
939
- "resourceTypeImplementationKind": "internal-without-identity",
940
- "nucleusSchema": {
941
- "$anchor": "ResourceKindFacet",
942
- "$schema": "https://json-schema.org/draft/2020-12/schema",
943
- "type": "object",
944
- "required": [
945
- "resourceKind"
946
- ],
947
- "properties": {
948
- "resourceKind": {
949
- "$ref": "#ResourceKind"
950
- }
951
- }
952
- }
953
- },
954
- "ShellMissing": {
955
- "identity": "TYPE-ShellMissing",
956
- "name": "ShellMissing",
957
- "description": "dummy-description",
958
- "resourceTypeImplementationKind": "internal-with-identity",
959
- "nucleusSchema": {
960
- "$anchor": "ShellMissing",
961
- "$schema": "https://json-schema.org/draft/2020-12/schema",
962
- "type": "object",
963
- "properties": {
964
- "resourceKind": {
965
- "const": "missing"
966
- }
967
- },
968
- "allOf": [
969
- {
970
- "$ref": "#ResourceBase"
971
- },
972
- {
973
- "$ref": "#ResourceKindFacet"
974
- }
975
- ],
976
- "unevaluatedProperties": false
977
- }
978
- },
979
- "ShellInputPotential": {
980
- "identity": "TYPE-ShellInputPotential",
981
- "name": "ShellInputPotential",
982
- "description": "dummy-description",
983
- "resourceTypeImplementationKind": "internal-with-identity",
984
- "nucleusSchema": {
985
- "$anchor": "ShellInputPotential",
986
- "$schema": "https://json-schema.org/draft/2020-12/schema",
987
- "type": "object",
988
- "properties": {
989
- "resourceKind": {
990
- "const": "input-potential"
991
- }
992
- },
993
- "allOf": [
994
- {
995
- "$ref": "#ResourceBase"
996
- },
997
- {
998
- "$ref": "#CreationContextFacet"
999
- },
1000
- {
1001
- "$ref": "#ResourceKindFacet"
1002
- }
1003
- ],
1004
- "unevaluatedProperties": false
1005
- }
1006
- },
1007
- "ShellOutputPotential": {
1008
- "identity": "TYPE-ShellOutputPotential",
1009
- "name": "ShellOutputPotential",
1010
- "description": "dummy-description",
1011
- "resourceTypeImplementationKind": "internal-with-identity",
1012
- "nucleusSchema": {
1013
- "$anchor": "ShellOutputPotential",
1014
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1015
- "type": "object",
1016
- "properties": {
1017
- "resourceKind": {
1018
- "const": "output-potential"
1019
- }
1020
- },
1021
- "allOf": [
1022
- {
1023
- "$ref": "#ResourceBase"
1024
- },
1025
- {
1026
- "$ref": "#CreationContextFacet"
1027
- },
1028
- {
1029
- "$ref": "#ResourceKindFacet"
1030
- }
1031
- ],
1032
- "unevaluatedProperties": false
1033
- }
1034
- },
1035
- "Timestamp": {
1036
- "identity": "TYPE-Timestamp",
1037
- "name": "Timestamp",
1038
- "description": "dummy-description",
1039
- "resourceTypeImplementationKind": "internal-without-identity",
1040
- "nucleusSchema": {
1041
- "$anchor": "Timestamp",
1042
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1043
- "type": "string",
1044
- "format": "date-time"
1045
- }
1046
- },
1047
- "TimestampFacet": {
1048
- "identity": "TYPE-TimestampFacet",
1049
- "name": "TimestampFacet",
1050
- "description": "dummy-description",
1051
- "resourceTypeImplementationKind": "internal-without-identity",
1052
- "nucleusSchema": {
1053
- "$anchor": "TimestampFacet",
1054
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1055
- "type": "object",
1056
- "required": [
1057
- "timestamp"
1058
- ],
1059
- "properties": {
1060
- "timestamp": {
1061
- "$ref": "#Timestamp"
1062
- }
1063
- }
1064
- }
1065
- },
1066
- "Path": {
1067
- "identity": "TYPE-Path",
1068
- "name": "Path",
1069
- "description": "dummy-description",
1070
- "resourceTypeImplementationKind": "internal-without-identity",
1071
- "nucleusSchema": {
1072
- "$anchor": "Path",
1073
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1074
- "type": "string",
1075
- "format": "uri-reference"
1076
- }
1077
- },
1078
- "PathFacet": {
1079
- "identity": "TYPE-PathFacet",
1080
- "name": "PathFacet",
1081
- "description": "dummy-description",
1082
- "resourceTypeImplementationKind": "internal-without-identity",
1083
- "nucleusSchema": {
1084
- "$anchor": "PathFacet",
1085
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1086
- "type": "object",
1087
- "required": [
1088
- "path"
1089
- ],
1090
- "properties": {
1091
- "path": {
1092
- "$ref": "#Path"
1093
- }
1094
- }
1095
- }
1096
- },
1097
- "ShellMaterializedBase": {
1098
- "identity": "TYPE-ShellMaterializedBase",
1099
- "name": "ShellMaterializedBase",
1100
- "description": "dummy-description",
1101
- "resourceTypeImplementationKind": "internal-with-identity",
1102
- "nucleusSchema": {
1103
- "$anchor": "ShellMaterializedBase",
1104
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1105
- "type": "object",
1106
- "required": [
1107
- "version"
1108
- ],
1109
- "properties": {
1110
- "version": {
1111
- "const": 1
1112
- },
1113
- "resourceKind": {
1114
- "const": "materialized"
1115
- }
1116
- },
1117
- "allOf": [
1118
- {
1119
- "$ref": "#ResourceBase"
1120
- },
1121
- {
1122
- "$ref": "#CreationContextFacet"
1123
- },
1124
- {
1125
- "$ref": "#ResourceKindFacet"
1126
- },
1127
- {
1128
- "$ref": "#TimestampFacet"
1129
- },
1130
- {
1131
- "$ref": "#PathFacet"
1132
- }
1133
- ]
1134
- }
1135
- },
1136
- "ShellMaterialized": {
1137
- "identity": "TYPE-ShellMaterialized",
1138
- "name": "ShellMaterialized",
1139
- "description": "dummy-description",
1140
- "resourceTypeImplementationKind": "internal-with-identity",
1141
- "nucleusSchema": {
1142
- "$anchor": "ShellMaterialized",
1143
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1144
- "type": "object",
1145
- "$ref": "#ShellMaterializedBase",
1146
- "unevaluatedProperties": false
1147
- }
1148
- },
1149
- "ResourceMissing": {
1150
- "identity": "TYPE-ResourceMissing",
1151
- "name": "ResourceMissing",
1152
- "description": "dummy-description",
1153
- "resourceTypeImplementationKind": "internal-with-identity",
1154
- "nucleusSchema": {
1155
- "$anchor": "ResourceMissing",
1156
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1157
- "type": "object",
1158
- "$ref": "#ShellMissing",
1159
- "unevaluatedProperties": false
1160
- }
1161
- },
1162
- "ResourceInputPotential": {
1163
- "identity": "TYPE-ResourceInputPotential",
1164
- "name": "ResourceInputPotential",
1165
- "description": "dummy-description",
1166
- "resourceTypeImplementationKind": "internal-with-identity",
1167
- "nucleusSchema": {
1168
- "$anchor": "ResourceInputPotential",
1169
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1170
- "type": "object",
1171
- "$ref": "#ShellInputPotential",
1172
- "unevaluatedProperties": false
1173
- }
1174
- },
1175
- "ResourceOutputPotential": {
1176
- "identity": "TYPE-ResourceOutputPotential",
1177
- "name": "ResourceOutputPotential",
1178
- "description": "dummy-description",
1179
- "resourceTypeImplementationKind": "internal-with-identity",
1180
- "nucleusSchema": {
1181
- "$anchor": "ResourceOutputPotential",
1182
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1183
- "type": "object",
1184
- "$ref": "#ShellOutputPotential",
1185
- "unevaluatedProperties": false
1186
- }
1187
- },
1188
- "JsonData": {
1189
- "identity": "TYPE-JsonData",
1190
- "name": "JsonData",
1191
- "description": "dummy-description",
1192
- "resourceTypeImplementationKind": "internal-without-identity",
1193
- "nucleusSchema": {
1194
- "$anchor": "JsonData",
1195
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1196
- "oneOf": [
1197
- {
1198
- "type": "null"
1199
- },
1200
- {
1201
- "type": "boolean"
1202
- },
1203
- {
1204
- "type": "number"
1205
- },
1206
- {
1207
- "type": "string"
1208
- },
1209
- {
1210
- "type": "array",
1211
- "items": {
1212
- "$ref": "#JsonData"
1213
- }
1214
- },
1215
- {
1216
- "type": "object",
1217
- "additionalProperties": {
1218
- "$ref": "#JsonData"
1219
- }
1220
- }
1221
- ]
1222
- }
1223
- },
1224
- "Nucleus": {
1225
- "identity": "TYPE-Nucleus",
1226
- "name": "Nucleus",
1227
- "description": "dummy-description",
1228
- "resourceTypeImplementationKind": "internal-without-identity",
1229
- "nucleusSchema": {
1230
- "$anchor": "Nucleus",
1231
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1232
- "type": "object",
1233
- "additionalProperties": {
1234
- "$ref": "#JsonData"
1235
- }
1236
- }
1237
- },
1238
- "NucleusFacet": {
1239
- "identity": "TYPE-NucleusFacet",
1240
- "name": "NucleusFacet",
1241
- "description": "dummy-description",
1242
- "resourceTypeImplementationKind": "internal-without-identity",
1243
- "nucleusSchema": {
1244
- "$anchor": "NucleusFacet",
1245
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1246
- "type": "object",
1247
- "required": [
1248
- "nucleus"
1249
- ],
1250
- "properties": {
1251
- "nucleus": {
1252
- "$ref": "#Nucleus"
1253
- }
1254
- }
1255
- }
1256
- },
1257
- "ResourceMaterialized": {
1258
- "identity": "TYPE-ResourceMaterialized",
1259
- "name": "ResourceMaterialized",
1260
- "description": "dummy-description",
1261
- "resourceTypeImplementationKind": "internal-with-identity",
1262
- "nucleusSchema": {
1263
- "$anchor": "ResourceMaterialized",
1264
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1265
- "type": "object",
1266
- "allOf": [
1267
- {
1268
- "$ref": "#ShellMaterializedBase"
1269
- },
1270
- {
1271
- "$comment": "This will be overlayed dynamically to match the data structure of the underlying ResourceType's nucleusSchema.",
1272
- "$ref": "#NucleusFacet"
1273
- }
1274
- ],
1275
- "unevaluatedProperties": false
1276
- }
1277
- },
1278
- "Resource": {
1279
- "identity": "TYPE-Resource",
1280
- "name": "Resource",
1281
- "description": "dummy-description",
1282
- "resourceTypeImplementationKind": "internal-with-identity",
1283
- "nucleusSchema": {
1284
- "$anchor": "Resource",
1285
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1286
- "type": "object",
1287
- "oneOf": [
1288
- {
1289
- "$ref": "#ResourceMissing"
1290
- },
1291
- {
1292
- "$ref": "#ResourceInputPotential"
1293
- },
1294
- {
1295
- "$ref": "#ResourceOutputPotential"
1296
- },
1297
- {
1298
- "$ref": "#ResourceMaterialized"
1299
- }
1300
- ],
1301
- "unevaluatedProperties": false
1302
- }
1303
- },
1304
- "JobRunSocket": {
1305
- "identity": "TYPE-JobRunSocket",
1306
- "name": "JobRunSocket",
1307
- "description": "dummy-description",
1308
- "resourceTypeImplementationKind": "internal-without-identity",
1309
- "nucleusSchema": {
1310
- "$anchor": "JobRunSocket",
1311
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1312
- "type": "object",
1313
- "propertyNames": {
1314
- "$ref": "#ResourceRoleIdentity"
1315
- },
1316
- "additionalProperties": {
1317
- "$ref": "#Resource"
1318
- }
1319
- }
1320
- },
1321
- "StrategyState": {
1322
- "identity": "TYPE-StrategyState",
1323
- "name": "StrategyState",
1324
- "description": "dummy-description",
1325
- "resourceTypeImplementationKind": "internal-without-identity",
1326
- "nucleusSchema": {
1327
- "$anchor": "StrategyState",
1328
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1329
- "type": "object",
1330
- "propertyNames": {
1331
- "$ref": "#JobRunIdentity"
1332
- },
1333
- "additionalProperties": {
1334
- "$ref": "#JobRunSocket"
1335
- }
1336
- }
1337
- },
1338
- "StrategyStateFacet": {
1339
- "identity": "TYPE-StrategyStateFacet",
1340
- "name": "StrategyStateFacet",
1341
- "description": "dummy-description",
1342
- "resourceTypeImplementationKind": "internal-without-identity",
1343
- "nucleusSchema": {
1344
- "$anchor": "StrategyStateFacet",
1345
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1346
- "type": "object",
1347
- "required": [
1348
- "strategyState"
1349
- ],
1350
- "properties": {
1351
- "strategyState": {
1352
- "$ref": "#StrategyState"
1353
- }
1354
- }
1355
- }
1356
- },
1357
- "StepArray": {
1358
- "identity": "TYPE-StepArray",
1359
- "name": "StepArray",
1360
- "description": "dummy-description",
1361
- "resourceTypeImplementationKind": "internal-without-identity",
1362
- "nucleusSchema": {
1363
- "$anchor": "StepArray",
1364
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1365
- "type": "array",
1366
- "items": {
1367
- "$ref": "#Step"
1368
- },
1369
- "uniqueItems": true
1370
- }
1371
- },
1372
- "StepsFacet": {
1373
- "identity": "TYPE-StepsFacet",
1374
- "name": "StepsFacet",
1375
- "description": "dummy-description",
1376
- "resourceTypeImplementationKind": "internal-without-identity",
1377
- "nucleusSchema": {
1378
- "$anchor": "StepsFacet",
1379
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1380
- "type": "object",
1381
- "required": [
1382
- "steps"
1383
- ],
1384
- "properties": {
1385
- "steps": {
1386
- "$ref": "#StepArray"
1387
- }
1388
- }
1389
- }
1390
- },
1391
- "RawStrategy": {
1392
- "identity": "TYPE-RawStrategy",
1393
- "name": "RawStrategy",
1394
- "description": "dummy-description",
1395
- "resourceTypeImplementationKind": "internal-without-identity",
1396
- "nucleusSchema": {
1397
- "$anchor": "RawStrategy",
1398
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1399
- "type": "object",
1400
- "allOf": [
1401
- {
1402
- "$ref": "#StepsFacet"
1403
- },
1404
- {
1405
- "$ref": "#StrategyStateFacet"
1406
- }
1407
- ],
1408
- "unevaluatedProperties": false
1409
- }
1410
- },
1411
- "RunnableStrategyIdentity": {
1412
- "identity": "TYPE-RunnableStrategyIdentity",
1413
- "name": "RunnableStrategyIdentity",
1414
- "description": "dummy-description",
1415
- "resourceTypeImplementationKind": "internal-without-identity",
1416
- "nucleusSchema": {
1417
- "$anchor": "RunnableStrategyIdentity",
1418
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1419
- "type": "string",
1420
- "pattern": "^RUNNABLE_STRATEGY-.+$"
1421
- }
1422
- },
1423
- "RunnableStrategyStatus": {
1424
- "identity": "TYPE-RunnableStrategyStatus",
1425
- "name": "RunnableStrategyStatus",
1426
- "description": "dummy-description",
1427
- "resourceTypeImplementationKind": "internal-without-identity",
1428
- "nucleusSchema": {
1429
- "$anchor": "RunnableStrategyStatus",
1430
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1431
- "type": "string",
1432
- "enum": [
1433
- "pending",
1434
- "running",
1435
- "completed",
1436
- "failed",
1437
- "cancelled"
1438
- ]
1439
- }
1440
- },
1441
- "RunnableStrategyContext": {
1442
- "identity": "TYPE-RunnableStrategyContext",
1443
- "name": "RunnableStrategyContext",
1444
- "description": "dummy-description",
1445
- "resourceTypeImplementationKind": "internal-without-identity",
1446
- "nucleusSchema": {
1447
- "$anchor": "RunnableStrategyContext",
1448
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1449
- "type": "object",
1450
- "required": [
1451
- "status"
1452
- ],
1453
- "properties": {
1454
- "status": {
1455
- "$ref": "#RunnableStrategyStatus"
1456
- },
1457
- "startedAt": {
1458
- "$ref": "#Timestamp"
1459
- },
1460
- "completedAt": {
1461
- "$ref": "#Timestamp"
1462
- }
1463
- },
1464
- "unevaluatedProperties": false
1465
- }
1466
- },
1467
- "StrategyThreadIdentity": {
1468
- "identity": "TYPE-StrategyThreadIdentity",
1469
- "name": "StrategyThreadIdentity",
1470
- "description": "dummy-description",
1471
- "resourceTypeImplementationKind": "internal-without-identity",
1472
- "nucleusSchema": {
1473
- "$anchor": "StrategyThreadIdentity",
1474
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1475
- "type": "string",
1476
- "pattern": "^STRATEGY_THREAD-.+$"
1477
- }
1478
- },
1479
- "StrategyThreadMap": {
1480
- "identity": "TYPE-StrategyThreadMap",
1481
- "name": "StrategyThreadMap",
1482
- "description": "dummy-description",
1483
- "resourceTypeImplementationKind": "internal-without-identity",
1484
- "nucleusSchema": {
1485
- "$anchor": "StrategyThreadMap",
1486
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1487
- "type": "object",
1488
- "propertyNames": {
1489
- "$ref": "#StrategyThreadIdentity"
1490
- },
1491
- "additionalProperties": {
1492
- "$ref": "#StepArray"
1493
- },
1494
- "$comment": "Each thread contains an array of steps, allowing for sequential execution within a thread while supporting parallel execution across multiple threads."
1495
- }
1496
- },
1497
- "StrategyThreadMapFacet": {
1498
- "identity": "TYPE-StrategyThreadMapFacet",
1499
- "name": "StrategyThreadMapFacet",
1500
- "description": "dummy-description",
1501
- "resourceTypeImplementationKind": "internal-without-identity",
1502
- "nucleusSchema": {
1503
- "$anchor": "StrategyThreadMapFacet",
1504
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1505
- "type": "object",
1506
- "required": [
1507
- "strategyThreadMap"
1508
- ],
1509
- "properties": {
1510
- "strategyThreadMap": {
1511
- "$ref": "#StrategyThreadMap"
1512
- }
1513
- }
1514
- }
1515
- },
1516
- "RunnableStrategy": {
1517
- "identity": "TYPE-RunnableStrategy",
1518
- "name": "RunnableStrategy",
1519
- "description": "dummy-description",
1520
- "resourceTypeImplementationKind": "internal-with-identity",
1521
- "nucleusSchema": {
1522
- "$anchor": "RunnableStrategy",
1523
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1524
- "type": "object",
1525
- "required": [
1526
- "identity",
1527
- "runnableStrategyContext"
1528
- ],
1529
- "properties": {
1530
- "identity": {
1531
- "$ref": "#RunnableStrategyIdentity"
1532
- },
1533
- "runnableStrategyContext": {
1534
- "$ref": "#RunnableStrategyContext"
1535
- }
1536
- },
1537
- "allOf": [
1538
- {
1539
- "$comment": "The Engine runs jobs specified by steps in strategyThreadMap. The Engine also injects repeted steps when encountering loops.",
1540
- "$ref": "#StrategyThreadMapFacet"
1541
- },
1542
- {
1543
- "$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.",
1544
- "$ref": "#StrategyStateFacet"
1545
- }
1546
- ],
1547
- "unevaluatedProperties": false
1548
- }
1549
- },
1550
- "StrategyStateDelta": {
1551
- "identity": "TYPE-StrategyStateDelta",
1552
- "name": "StrategyStateDelta",
1553
- "description": "dummy-description",
1554
- "resourceTypeImplementationKind": "internal-without-identity",
1555
- "nucleusSchema": {
1556
- "$anchor": "StrategyStateDelta",
1557
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1558
- "type": "object",
1559
- "required": [
1560
- "strategyStateUpdate"
1561
- ],
1562
- "properties": {
1563
- "strategyStateUpdate": {
1564
- "$ref": "#StrategyState"
1565
- }
1566
- }
1567
- }
1568
- },
1569
- "RunnableStrategyUpdate": {
1570
- "identity": "TYPE-RunnableStrategyUpdate",
1571
- "name": "RunnableStrategyUpdate",
1572
- "description": "dummy-description",
1573
- "resourceTypeImplementationKind": "internal-without-identity",
1574
- "nucleusSchema": {
1575
- "$anchor": "RunnableStrategyUpdate",
1576
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1577
- "type": "object",
1578
- "required": [
1579
- "runnableStrategyHandle"
1580
- ],
1581
- "properties": {
1582
- "runnableStrategyHandle": {
1583
- "$ref": "#RunnableStrategyIdentity"
1584
- },
1585
- "runnableStrategy": {
1586
- "$comment": "Optional embedded snapshot; runnableStrategyHandle remains the canonical pointer.",
1587
- "$ref": "#RunnableStrategy"
1588
- }
1589
- },
1590
- "allOf": [
1591
- {
1592
- "$ref": "#StrategyStateDelta"
1593
- }
1594
- ],
1595
- "unevaluatedProperties": false
1596
- }
1597
- },
1598
- "RunEventCounters": {
1599
- "identity": "TYPE-RunEventCounters",
1600
- "name": "RunEventCounters",
1601
- "description": "dummy-description",
1602
- "resourceTypeImplementationKind": "internal-without-identity",
1603
- "nucleusSchema": {
1604
- "$anchor": "RunEventCounters",
1605
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1606
- "type": "object",
1607
- "properties": {
1608
- "stepCounterAfter": {
1609
- "type": "integer"
1610
- },
1611
- "iterationCounterAfter": {
1612
- "type": "integer"
1613
- }
1614
- }
1615
- }
1616
- },
1617
- "RunEventStepMetadata": {
1618
- "identity": "TYPE-RunEventStepMetadata",
1619
- "name": "RunEventStepMetadata",
1620
- "description": "dummy-description",
1621
- "resourceTypeImplementationKind": "internal-without-identity",
1622
- "nucleusSchema": {
1623
- "$anchor": "RunEventStepMetadata",
1624
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1625
- "type": "object",
1626
- "required": [
1627
- "stepHandle",
1628
- "stepKind",
1629
- "threadStepIndex"
1630
- ],
1631
- "properties": {
1632
- "stepHandle": {
1633
- "$ref": "#StepIdentity"
1634
- },
1635
- "stepKind": {
1636
- "$ref": "#StepKind"
1637
- },
1638
- "threadStepIndex": {
1639
- "type": "integer"
1640
- },
1641
- "jobRunHandle": {
1642
- "$ref": "#JobRunIdentity"
1643
- },
1644
- "jobHandle": {
1645
- "$ref": "#JobIdentity"
1646
- }
1647
- }
1648
- }
1649
- },
1650
- "RunEventUpdates": {
1651
- "identity": "TYPE-RunEventUpdates",
1652
- "name": "RunEventUpdates",
1653
- "description": "dummy-description",
1654
- "resourceTypeImplementationKind": "internal-without-identity",
1655
- "nucleusSchema": {
1656
- "$anchor": "RunEventUpdates",
1657
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1658
- "type": "object",
1659
- "properties": {
1660
- "stepsMutation": {
1661
- "type": "object",
1662
- "required": [
1663
- "insertAt",
1664
- "inserted"
1665
- ],
1666
- "properties": {
1667
- "insertAt": {
1668
- "type": "integer"
1669
- },
1670
- "inserted": {
1671
- "$ref": "#StepArray"
1672
- }
1673
- }
1674
- },
1675
- "interruptData": {
1676
- "$comment": "Kept permissive; the engine may evolve interrupt payloads.",
1677
- "type": [
1678
- "object",
1679
- "null"
1680
- ]
1681
- }
1682
- },
1683
- "allOf": [
1684
- {
1685
- "$ref": "#StrategyStateDelta"
1686
- }
1687
- ]
1688
- }
1689
- },
1690
- "RunEventKind": {
1691
- "identity": "TYPE-RunEventKind",
1692
- "name": "RunEventKind",
1693
- "description": "dummy-description",
1694
- "resourceTypeImplementationKind": "internal-without-identity",
1695
- "nucleusSchema": {
1696
- "$anchor": "RunEventKind",
1697
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1698
- "type": "string",
1699
- "enum": [
1700
- "graph_start",
1701
- "tick",
1702
- "interrupt",
1703
- "graph_end"
1704
- ]
1705
- }
1706
- },
1707
- "RunEventBase": {
1708
- "identity": "TYPE-RunEventBase",
1709
- "name": "RunEventBase",
1710
- "description": "dummy-description",
1711
- "resourceTypeImplementationKind": "internal-without-identity",
1712
- "nucleusSchema": {
1713
- "$anchor": "RunEventBase",
1714
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1715
- "type": "object",
1716
- "required": [
1717
- "runEventKind",
1718
- "runnableStrategyHandle",
1719
- "strategyThreadHandle",
1720
- "createdAt",
1721
- "nodeName",
1722
- "eventSeq"
1723
- ],
1724
- "properties": {
1725
- "runEventKind": {
1726
- "$ref": "#RunEventKind"
1727
- },
1728
- "runnableStrategyHandle": {
1729
- "$ref": "#RunnableStrategyIdentity"
1730
- },
1731
- "strategyThreadHandle": {
1732
- "$ref": "#StrategyThreadIdentity"
1733
- },
1734
- "createdAt": {
1735
- "$ref": "#Timestamp"
1736
- },
1737
- "nodeName": {
1738
- "type": "string"
1739
- },
1740
- "eventSeq": {
1741
- "type": "integer"
1742
- },
1743
- "counters": {
1744
- "$ref": "#RunEventCounters"
1745
- },
1746
- "stepMetadata": {
1747
- "$ref": "#RunEventStepMetadata"
1748
- },
1749
- "updates": {
1750
- "$ref": "#RunEventUpdates"
1751
- }
1752
- }
1753
- }
1754
- },
1755
- "GraphStartRunEvent": {
1756
- "identity": "TYPE-GraphStartRunEvent",
1757
- "name": "GraphStartRunEvent",
1758
- "description": "dummy-description",
1759
- "resourceTypeImplementationKind": "internal-without-identity",
1760
- "nucleusSchema": {
1761
- "$anchor": "GraphStartRunEvent",
1762
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1763
- "allOf": [
1764
- {
1765
- "$ref": "#RunEventBase"
1766
- },
1767
- {
1768
- "type": "object",
1769
- "required": [
1770
- "runnableStrategySeed"
1771
- ],
1772
- "properties": {
1773
- "runEventKind": {
1774
- "const": "graph_start"
1775
- },
1776
- "runnableStrategySeed": {
1777
- "$ref": "#RunnableStrategy"
1778
- }
1779
- }
1780
- }
1781
- ]
1782
- }
1783
- },
1784
- "TickRunEvent": {
1785
- "identity": "TYPE-TickRunEvent",
1786
- "name": "TickRunEvent",
1787
- "description": "dummy-description",
1788
- "resourceTypeImplementationKind": "internal-without-identity",
1789
- "nucleusSchema": {
1790
- "$anchor": "TickRunEvent",
1791
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1792
- "allOf": [
1793
- {
1794
- "$ref": "#RunEventBase"
1795
- },
1796
- {
1797
- "type": "object",
1798
- "properties": {
1799
- "runEventKind": {
1800
- "const": "tick"
1801
- }
1802
- }
1803
- }
1804
- ]
1805
- }
1806
- },
1807
- "InterruptRunEvent": {
1808
- "identity": "TYPE-InterruptRunEvent",
1809
- "name": "InterruptRunEvent",
1810
- "description": "dummy-description",
1811
- "resourceTypeImplementationKind": "internal-without-identity",
1812
- "nucleusSchema": {
1813
- "$anchor": "InterruptRunEvent",
1814
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1815
- "allOf": [
1816
- {
1817
- "$ref": "#RunEventBase"
1818
- },
1819
- {
1820
- "type": "object",
1821
- "properties": {
1822
- "runEventKind": {
1823
- "const": "interrupt"
1824
- }
1825
- }
1826
- }
1827
- ]
1828
- }
1829
- },
1830
- "GraphEndRunEvent": {
1831
- "identity": "TYPE-GraphEndRunEvent",
1832
- "name": "GraphEndRunEvent",
1833
- "description": "dummy-description",
1834
- "resourceTypeImplementationKind": "internal-without-identity",
1835
- "nucleusSchema": {
1836
- "$anchor": "GraphEndRunEvent",
1837
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1838
- "allOf": [
1839
- {
1840
- "$ref": "#RunEventBase"
1841
- },
1842
- {
1843
- "type": "object",
1844
- "properties": {
1845
- "runEventKind": {
1846
- "const": "graph_end"
1847
- }
1848
- }
1849
- }
1850
- ]
1851
- }
1852
- },
1853
- "RunEvent": {
1854
- "identity": "TYPE-RunEvent",
1855
- "name": "RunEvent",
1856
- "description": "dummy-description",
1857
- "resourceTypeImplementationKind": "internal-without-identity",
1858
- "nucleusSchema": {
1859
- "$anchor": "RunEvent",
1860
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1861
- "type": "object",
1862
- "oneOf": [
1863
- {
1864
- "$ref": "#GraphStartRunEvent"
1865
- },
1866
- {
1867
- "$ref": "#TickRunEvent"
1868
- },
1869
- {
1870
- "$ref": "#InterruptRunEvent"
1871
- },
1872
- {
1873
- "$ref": "#GraphEndRunEvent"
1874
- }
1875
- ]
1876
- }
1877
- },
1878
- "StrategyRunIdentity": {
1879
- "identity": "TYPE-StrategyRunIdentity",
1880
- "name": "StrategyRunIdentity",
1881
- "description": "dummy-description",
1882
- "resourceTypeImplementationKind": "internal-without-identity",
1883
- "nucleusSchema": {
1884
- "$anchor": "StrategyRunIdentity",
1885
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1886
- "type": "string",
1887
- "pattern": "^STRATEGY_RUN-.+$"
1888
- }
1889
- },
1890
- "StrategyRun": {
1891
- "identity": "TYPE-StrategyRun",
1892
- "name": "StrategyRun",
1893
- "description": "dummy-description",
1894
- "resourceTypeImplementationKind": "internal-with-identity",
1895
- "nucleusSchema": {
1896
- "$anchor": "StrategyRun",
1897
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1898
- "type": "object",
1899
- "required": [
1900
- "identity",
1901
- "runnableStrategyHandle",
1902
- "recordedAt",
1903
- "runEvents"
1904
- ],
1905
- "properties": {
1906
- "identity": {
1907
- "$ref": "#StrategyRunIdentity"
1908
- },
1909
- "runnableStrategyHandle": {
1910
- "$comment": "Could be derived from the first event but useful for indexing.",
1911
- "$ref": "#RunnableStrategyIdentity"
1912
- },
1913
- "recordedAt": {
1914
- "$ref": "#Timestamp"
1915
- },
1916
- "runEvents": {
1917
- "type": "array",
1918
- "items": {
1919
- "$ref": "#RunEvent"
1920
- }
1921
- }
1922
- },
1923
- "unevaluatedProperties": false
1924
- }
1925
- },
1926
- "GoalIdentity": {
1927
- "identity": "TYPE-GoalIdentity",
1928
- "name": "GoalIdentity",
1929
- "description": "dummy-description",
1930
- "resourceTypeImplementationKind": "internal-without-identity",
1931
- "nucleusSchema": {
1932
- "$anchor": "GoalIdentity",
1933
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1934
- "type": "string",
1935
- "pattern": "^GOAL-.+$"
1936
- }
1937
- },
1938
- "Goal": {
1939
- "identity": "TYPE-Goal",
1940
- "name": "Goal",
1941
- "description": "dummy-description",
1942
- "resourceTypeImplementationKind": "internal-with-identity",
1943
- "nucleusSchema": {
1944
- "$anchor": "Goal",
1945
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1946
- "type": "object",
1947
- "required": [
1948
- "identity",
1949
- "target"
1950
- ],
1951
- "properties": {
1952
- "identity": {
1953
- "$ref": "#GoalIdentity"
1954
- },
1955
- "target": {
1956
- "type": "integer",
1957
- "minimum": 0
1958
- },
1959
- "disallowedJobs": {
1960
- "type": "array",
1961
- "items": {
1962
- "$ref": "#JobIdentity"
1963
- }
1964
- },
1965
- "disallowedSequences": {
1966
- "type": "array",
1967
- "items": {
1968
- "type": "array",
1969
- "items": {
1970
- "$ref": "#JobIdentity"
1971
- }
1972
- }
1973
- },
1974
- "minSteps": {
1975
- "type": "integer",
1976
- "minimum": 1
1977
- },
1978
- "maxSteps": {
1979
- "type": "integer",
1980
- "minimum": 1
1981
- }
1982
- },
1983
- "allOf": [
1984
- {
1985
- "$ref": "#DomainFacet"
1986
- }
1987
- ],
1988
- "unevaluatedProperties": false
1989
- }
1990
- },
1991
- "Natural": {
1992
- "identity": "TYPE-Natural",
1993
- "name": "Natural",
1994
- "description": "dummy-description",
1995
- "resourceTypeImplementationKind": "internal-with-identity",
1996
- "nucleusSchema": {
1997
- "$anchor": "Natural",
1998
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1999
- "type": "object",
2000
- "required": [
2001
- "identity"
2002
- ],
2003
- "properties": {
2004
- "identity": {
2005
- "$ref": "#/$defs/NaturalIdentity"
2006
- }
2007
- },
2008
- "$defs": {
2009
- "NaturalIdentity": {
2010
- "type": "integer"
2011
- }
2012
- },
2013
- "additionalProperties": false
2014
- }
2015
- },
2016
- "Boolean": {
2017
- "identity": "TYPE-Boolean",
2018
- "name": "Boolean",
2019
- "description": "dummy-description",
2020
- "resourceTypeImplementationKind": "internal-with-identity",
2021
- "nucleusSchema": {
2022
- "$anchor": "Boolean",
2023
- "$schema": "https://json-schema.org/draft/2020-12/schema",
2024
- "type": "object",
2025
- "required": [
2026
- "identity"
2027
- ],
2028
- "properties": {
2029
- "identity": {
2030
- "$ref": "#/$defs/BooleanIdentity"
2031
- }
2032
- },
2033
- "$defs": {
2034
- "BooleanIdentity": {
2035
- "type": "boolean"
2036
- }
2037
- },
2038
- "additionalProperties": false
2039
- }
2040
- }
2041
- }
2042
- }
1
+ {
2
+ "identity": "TYPE-Genesis",
3
+ "name": "Genesis",
4
+ "description": "dummy-description",
5
+ "resourceTypeImplementationKind": "internal-without-identity",
6
+ "nucleusSchema": {
7
+ "$comment": "This file defines all schemas used internally by ToolProof.",
8
+ "$anchor": "Genesis",
9
+ "$id": "https://schemas.toolproof.com/v2/Genesis.json",
10
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
11
+ "$defs": {
12
+ "Name": {
13
+ "identity": "TYPE-Name",
14
+ "name": "Name",
15
+ "description": "dummy-description",
16
+ "resourceTypeImplementationKind": "internal-without-identity",
17
+ "nucleusSchema": {
18
+ "$anchor": "Name",
19
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
20
+ "type": "string",
21
+ "minLength": 1,
22
+ "pattern": "^(?:[A-Z][^0-9]*|[a-z]+/[a-z.+&-]+)$",
23
+ "$comment": "Validation is intercepted by an AI Agent that verifies the name against Toolproof's naming conventions.",
24
+ "semanticValidation": "Ajv custom keyword to verify name."
25
+ }
26
+ },
27
+ "NameFacet": {
28
+ "identity": "TYPE-NameFacet",
29
+ "name": "NameFacet",
30
+ "description": "dummy-description",
31
+ "resourceTypeImplementationKind": "internal-without-identity",
32
+ "nucleusSchema": {
33
+ "$anchor": "NameFacet",
34
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
35
+ "type": "object",
36
+ "required": [
37
+ "name"
38
+ ],
39
+ "properties": {
40
+ "name": {
41
+ "$ref": "#Name"
42
+ }
43
+ }
44
+ }
45
+ },
46
+ "Description": {
47
+ "identity": "TYPE-Description",
48
+ "name": "Description",
49
+ "description": "dummy-description",
50
+ "resourceTypeImplementationKind": "internal-without-identity",
51
+ "nucleusSchema": {
52
+ "$anchor": "Description",
53
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
54
+ "type": "string",
55
+ "minLength": 1,
56
+ "$comment": "Validation is intercepted by an AI Agent that verifies the description against Toolproof's documentation standards.",
57
+ "semanticValidation": "Ajv custom keyword to verify description."
58
+ }
59
+ },
60
+ "DescriptionFacet": {
61
+ "identity": "TYPE-DescriptionFacet",
62
+ "name": "DescriptionFacet",
63
+ "description": "dummy-description",
64
+ "resourceTypeImplementationKind": "internal-without-identity",
65
+ "nucleusSchema": {
66
+ "$anchor": "DescriptionFacet",
67
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
68
+ "type": "object",
69
+ "required": [
70
+ "description"
71
+ ],
72
+ "properties": {
73
+ "description": {
74
+ "$ref": "#Description"
75
+ }
76
+ }
77
+ }
78
+ },
79
+ "DocumentationFacet": {
80
+ "identity": "TYPE-DocumentationFacet",
81
+ "name": "DocumentationFacet",
82
+ "description": "dummy-description",
83
+ "resourceTypeImplementationKind": "internal-without-identity",
84
+ "nucleusSchema": {
85
+ "$anchor": "DocumentationFacet",
86
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
87
+ "type": "object",
88
+ "allOf": [
89
+ {
90
+ "$ref": "#NameFacet"
91
+ },
92
+ {
93
+ "$ref": "#DescriptionFacet"
94
+ }
95
+ ]
96
+ }
97
+ },
98
+ "ResourceTypeImplementationKind": {
99
+ "identity": "TYPE-ResourceTypeImplementationKind",
100
+ "name": "ResourceTypeImplementationKind",
101
+ "description": "dummy-description",
102
+ "resourceTypeImplementationKind": "internal-without-identity",
103
+ "nucleusSchema": {
104
+ "$anchor": "ResourceTypeImplementationKind",
105
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
106
+ "type": "string",
107
+ "enum": [
108
+ "internal-without-identity",
109
+ "internal-with-identity",
110
+ "external"
111
+ ]
112
+ }
113
+ },
114
+ "ResourceTypeImplementationKindFacet": {
115
+ "identity": "TYPE-ResourceTypeImplementationKindFacet",
116
+ "name": "ResourceTypeImplementationKindFacet",
117
+ "description": "dummy-description",
118
+ "resourceTypeImplementationKind": "internal-without-identity",
119
+ "nucleusSchema": {
120
+ "$anchor": "ResourceTypeImplementationKindFacet",
121
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
122
+ "type": "object",
123
+ "required": [
124
+ "resourceTypeImplementationKind"
125
+ ],
126
+ "properties": {
127
+ "resourceTypeImplementationKind": {
128
+ "$ref": "#ResourceTypeImplementationKind"
129
+ }
130
+ }
131
+ }
132
+ },
133
+ "Uri": {
134
+ "identity": "TYPE-Uri",
135
+ "name": "Uri",
136
+ "description": "dummy-description",
137
+ "resourceTypeImplementationKind": "internal-without-identity",
138
+ "nucleusSchema": {
139
+ "$anchor": "Uri",
140
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
141
+ "type": "string",
142
+ "format": "uri"
143
+ }
144
+ },
145
+ "ResourceTypeIdentity": {
146
+ "identity": "TYPE-ResourceTypeIdentity",
147
+ "name": "ResourceTypeIdentity",
148
+ "description": "dummy-description",
149
+ "resourceTypeImplementationKind": "internal-without-identity",
150
+ "nucleusSchema": {
151
+ "$anchor": "ResourceTypeIdentity",
152
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
153
+ "type": "string",
154
+ "pattern": "^TYPE-.+$"
155
+ }
156
+ },
157
+ "ResourceType": {
158
+ "identity": "TYPE-ResourceType",
159
+ "name": "ResourceType",
160
+ "description": "dummy-description",
161
+ "resourceTypeImplementationKind": "internal-with-identity",
162
+ "nucleusSchema": {
163
+ "$anchor": "ResourceType",
164
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
165
+ "type": "object",
166
+ "required": [
167
+ "identity",
168
+ "nucleusSchema"
169
+ ],
170
+ "properties": {
171
+ "identity": {
172
+ "$ref": "#ResourceTypeIdentity"
173
+ },
174
+ "nucleusSchema": true,
175
+ "embeddingUriMap": {
176
+ "type": "object",
177
+ "propertyNames": {
178
+ "type": "string",
179
+ "pattern": "^EMBEDDING-.+$"
180
+ },
181
+ "additionalProperties": {
182
+ "$ref": "#Uri"
183
+ },
184
+ "minProperties": 1,
185
+ "$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."
186
+ },
187
+ "generatorUriMap": {
188
+ "type": "object",
189
+ "propertyNames": {
190
+ "type": "string",
191
+ "pattern": "^GENERATOR-.+$"
192
+ },
193
+ "additionalProperties": {
194
+ "$ref": "#Uri"
195
+ },
196
+ "minProperties": 1,
197
+ "$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."
198
+ }
199
+ },
200
+ "allOf": [
201
+ {
202
+ "$ref": "#DocumentationFacet"
203
+ },
204
+ {
205
+ "$ref": "#ResourceTypeImplementationKindFacet"
206
+ }
207
+ ]
208
+ }
209
+ },
210
+ "ResourceRoleIdentity": {
211
+ "identity": "TYPE-ResourceRoleIdentity",
212
+ "name": "ResourceRoleIdentity",
213
+ "description": "dummy-description",
214
+ "resourceTypeImplementationKind": "internal-without-identity",
215
+ "nucleusSchema": {
216
+ "$anchor": "ResourceRoleIdentity",
217
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
218
+ "type": "string",
219
+ "pattern": "^ROLE-.+$"
220
+ }
221
+ },
222
+ "ResourceRoleValue": {
223
+ "identity": "TYPE-ResourceRoleValue",
224
+ "name": "ResourceRoleValue",
225
+ "description": "dummy-description",
226
+ "resourceTypeImplementationKind": "internal-without-identity",
227
+ "nucleusSchema": {
228
+ "$anchor": "ResourceRoleValue",
229
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
230
+ "type": "object",
231
+ "allOf": [
232
+ {
233
+ "$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).",
234
+ "required": [
235
+ "resourceTypeHandle"
236
+ ],
237
+ "properties": {
238
+ "resourceTypeHandle": {
239
+ "$ref": "#ResourceTypeIdentity"
240
+ }
241
+ }
242
+ },
243
+ {
244
+ "$ref": "#DocumentationFacet"
245
+ }
246
+ ]
247
+ },
248
+ "unevaluatedProperties": false
249
+ },
250
+ "RoleMap": {
251
+ "identity": "TYPE-RoleMap",
252
+ "name": "RoleMap",
253
+ "description": "dummy-description",
254
+ "resourceTypeImplementationKind": "internal-without-identity",
255
+ "nucleusSchema": {
256
+ "$anchor": "RoleMap",
257
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
258
+ "type": "object",
259
+ "propertyNames": {
260
+ "$ref": "#ResourceRoleIdentity"
261
+ },
262
+ "additionalProperties": {
263
+ "$ref": "#ResourceRoleValue"
264
+ }
265
+ }
266
+ },
267
+ "Error": {
268
+ "identity": "TYPE-Error",
269
+ "name": "Error",
270
+ "description": "dummy-description",
271
+ "resourceTypeImplementationKind": "internal-without-identity",
272
+ "nucleusSchema": {
273
+ "$anchor": "Error",
274
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
275
+ "type": "object",
276
+ "allOf": [
277
+ {
278
+ "$ref": "#DocumentationFacet"
279
+ },
280
+ {
281
+ "properties": {
282
+ "details": {
283
+ "type": "object"
284
+ }
285
+ }
286
+ }
287
+ ],
288
+ "unevaluatedProperties": false
289
+ }
290
+ },
291
+ "Roles": {
292
+ "identity": "TYPE-Roles",
293
+ "name": "Roles",
294
+ "description": "dummy-description",
295
+ "resourceTypeImplementationKind": "internal-without-identity",
296
+ "nucleusSchema": {
297
+ "$anchor": "Roles",
298
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
299
+ "type": "object",
300
+ "required": [
301
+ "inputMap",
302
+ "outputMap"
303
+ ],
304
+ "properties": {
305
+ "inputMap": {
306
+ "$ref": "#RoleMap"
307
+ },
308
+ "outputMap": {
309
+ "allOf": [
310
+ {
311
+ "$ref": "#RoleMap"
312
+ },
313
+ {
314
+ "required": [
315
+ "ROLE-ErrorOutput"
316
+ ],
317
+ "properties": {
318
+ "ROLE-ErrorOutput": {
319
+ "type": "object",
320
+ "allOf": [
321
+ {
322
+ "$ref": "#ResourceRoleValue"
323
+ },
324
+ {
325
+ "required": [
326
+ "resourceTypeHandle",
327
+ "name",
328
+ "description"
329
+ ],
330
+ "properties": {
331
+ "resourceTypeHandle": {
332
+ "const": "TYPE-Error"
333
+ },
334
+ "name": {
335
+ "const": "ErrorOutput"
336
+ },
337
+ "description": {
338
+ "const": "Represents error outputs from job runs."
339
+ }
340
+ }
341
+ }
342
+ ]
343
+ }
344
+ }
345
+ }
346
+ ]
347
+ }
348
+ },
349
+ "unevaluatedProperties": false
350
+ }
351
+ },
352
+ "RolesFacet": {
353
+ "identity": "TYPE-RolesFacet",
354
+ "name": "RolesFacet",
355
+ "description": "dummy-description",
356
+ "resourceTypeImplementationKind": "internal-without-identity",
357
+ "nucleusSchema": {
358
+ "$anchor": "RolesFacet",
359
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
360
+ "type": "object",
361
+ "required": [
362
+ "roles"
363
+ ],
364
+ "properties": {
365
+ "roles": {
366
+ "$ref": "#Roles"
367
+ }
368
+ }
369
+ }
370
+ },
371
+ "Domain": {
372
+ "identity": "TYPE-Domain",
373
+ "name": "Domain",
374
+ "description": "dummy-description",
375
+ "resourceTypeImplementationKind": "internal-without-identity",
376
+ "nucleusSchema": {
377
+ "$anchor": "Domain",
378
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
379
+ "type": "string",
380
+ "enum": [
381
+ "internal",
382
+ "numerical",
383
+ "biological",
384
+ "logical",
385
+ "augmental"
386
+ ]
387
+ }
388
+ },
389
+ "DomainFacet": {
390
+ "identity": "TYPE-DomainFacet",
391
+ "name": "DomainFacet",
392
+ "description": "dummy-description",
393
+ "resourceTypeImplementationKind": "internal-without-identity",
394
+ "nucleusSchema": {
395
+ "$anchor": "DomainFacet",
396
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
397
+ "type": "object",
398
+ "required": [
399
+ "domain"
400
+ ],
401
+ "properties": {
402
+ "domain": {
403
+ "$ref": "#Domain"
404
+ }
405
+ }
406
+ }
407
+ },
408
+ "JobIdentity": {
409
+ "identity": "TYPE-JobIdentity",
410
+ "name": "JobIdentity",
411
+ "description": "dummy-description",
412
+ "resourceTypeImplementationKind": "internal-without-identity",
413
+ "nucleusSchema": {
414
+ "$anchor": "JobIdentity",
415
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
416
+ "type": "string",
417
+ "pattern": "^JOB-.+$"
418
+ }
419
+ },
420
+ "Job": {
421
+ "identity": "TYPE-Job",
422
+ "name": "Job",
423
+ "description": "dummy-description",
424
+ "resourceTypeImplementationKind": "internal-with-identity",
425
+ "nucleusSchema": {
426
+ "$anchor": "Job",
427
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
428
+ "type": "object",
429
+ "required": [
430
+ "identity",
431
+ "implementationUri"
432
+ ],
433
+ "properties": {
434
+ "identity": {
435
+ "$ref": "#JobIdentity"
436
+ },
437
+ "implementationUri": {
438
+ "$ref": "#Uri"
439
+ }
440
+ },
441
+ "allOf": [
442
+ {
443
+ "$ref": "#DocumentationFacet"
444
+ },
445
+ {
446
+ "$ref": "#DomainFacet"
447
+ },
448
+ {
449
+ "$ref": "#RolesFacet"
450
+ }
451
+ ],
452
+ "unevaluatedProperties": false
453
+ }
454
+ },
455
+ "RoleBindingArray": {
456
+ "identity": "TYPE-RoleBindingArray",
457
+ "name": "RoleBindingArray",
458
+ "description": "dummy-description",
459
+ "resourceTypeImplementationKind": "internal-without-identity",
460
+ "nucleusSchema": {
461
+ "$anchor": "RoleBindingArray",
462
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
463
+ "type": "array",
464
+ "items": {
465
+ "$ref": "#ResourceRoleIdentity"
466
+ }
467
+ }
468
+ },
469
+ "RoleBindings": {
470
+ "identity": "TYPE-RoleBindings",
471
+ "name": "RoleBindings",
472
+ "description": "dummy-description",
473
+ "resourceTypeImplementationKind": "internal-without-identity",
474
+ "nucleusSchema": {
475
+ "$anchor": "RoleBindings",
476
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
477
+ "type": "object",
478
+ "required": [
479
+ "inputBindings",
480
+ "outputBindings"
481
+ ],
482
+ "properties": {
483
+ "inputBindings": {
484
+ "$ref": "#RoleBindingArray"
485
+ },
486
+ "outputBindings": {
487
+ "$ref": "#RoleBindingArray"
488
+ }
489
+ }
490
+ },
491
+ "unevaluatedProperties": false
492
+ },
493
+ "RoleBindingsFacet": {
494
+ "identity": "TYPE-RoleBindingsFacet",
495
+ "name": "RoleBindingsFacet",
496
+ "description": "dummy-description",
497
+ "resourceTypeImplementationKind": "internal-without-identity",
498
+ "nucleusSchema": {
499
+ "$anchor": "RoleBindingsFacet",
500
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
501
+ "type": "object",
502
+ "required": [
503
+ "roleBindings"
504
+ ],
505
+ "properties": {
506
+ "roleBindings": {
507
+ "$ref": "#RoleBindings"
508
+ }
509
+ }
510
+ }
511
+ },
512
+ "StepKind": {
513
+ "identity": "TYPE-StepKind",
514
+ "name": "StepKind",
515
+ "description": "dummy-description",
516
+ "resourceTypeImplementationKind": "internal-without-identity",
517
+ "nucleusSchema": {
518
+ "$anchor": "StepKind",
519
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
520
+ "type": "string",
521
+ "enum": [
522
+ "job",
523
+ "branch",
524
+ "while",
525
+ "for"
526
+ ]
527
+ }
528
+ },
529
+ "StepKindFacet": {
530
+ "identity": "TYPE-StepKindFacet",
531
+ "name": "StepKindFacet",
532
+ "description": "dummy-description",
533
+ "resourceTypeImplementationKind": "internal-without-identity",
534
+ "nucleusSchema": {
535
+ "$anchor": "StepKindFacet",
536
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
537
+ "type": "object",
538
+ "required": [
539
+ "stepKind"
540
+ ],
541
+ "properties": {
542
+ "stepKind": {
543
+ "$ref": "#StepKind"
544
+ }
545
+ }
546
+ }
547
+ },
548
+ "JobStepIdentity": {
549
+ "identity": "TYPE-JobStepIdentity",
550
+ "name": "JobStepIdentity",
551
+ "description": "dummy-description",
552
+ "resourceTypeImplementationKind": "internal-without-identity",
553
+ "nucleusSchema": {
554
+ "$anchor": "JobStepIdentity",
555
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
556
+ "type": "string",
557
+ "pattern": "^JOB_STEP-.+$"
558
+ }
559
+ },
560
+ "JobStep": {
561
+ "identity": "TYPE-JobStep",
562
+ "name": "JobStep",
563
+ "description": "dummy-description",
564
+ "resourceTypeImplementationKind": "internal-with-identity",
565
+ "nucleusSchema": {
566
+ "$anchor": "JobStep",
567
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
568
+ "type": "object",
569
+ "required": [
570
+ "identity",
571
+ "jobHandle"
572
+ ],
573
+ "properties": {
574
+ "identity": {
575
+ "$ref": "#JobStepIdentity"
576
+ },
577
+ "stepKind": {
578
+ "const": "job"
579
+ },
580
+ "jobHandle": {
581
+ "$ref": "#JobIdentity"
582
+ }
583
+ },
584
+ "allOf": [
585
+ {
586
+ "$ref": "#StepKindFacet"
587
+ },
588
+ {
589
+ "$comment": "This will be overlayed dynamically to specify roleBindings corresponding to the roles of the underlying job.",
590
+ "$ref": "#RoleBindingsFacet"
591
+ }
592
+ ]
593
+ }
594
+ },
595
+ "Conditional": {
596
+ "identity": "TYPE-Conditional",
597
+ "name": "Conditional",
598
+ "description": "dummy-description",
599
+ "resourceTypeImplementationKind": "internal-without-identity",
600
+ "nucleusSchema": {
601
+ "$anchor": "Conditional",
602
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
603
+ "type": "object",
604
+ "required": [
605
+ "when",
606
+ "what"
607
+ ],
608
+ "properties": {
609
+ "when": {
610
+ "$ref": "#JobStep"
611
+ },
612
+ "what": {
613
+ "$ref": "#JobStep"
614
+ }
615
+ },
616
+ "unevaluatedProperties": false
617
+ }
618
+ },
619
+ "BranchStepIdentity": {
620
+ "identity": "TYPE-BranchStepIdentity",
621
+ "name": "BranchStepIdentity",
622
+ "description": "dummy-description",
623
+ "resourceTypeImplementationKind": "internal-without-identity",
624
+ "nucleusSchema": {
625
+ "$anchor": "BranchStepIdentity",
626
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
627
+ "type": "string",
628
+ "pattern": "^BRANCH_STEP-.+$"
629
+ }
630
+ },
631
+ "BranchStep": {
632
+ "identity": "TYPE-BranchStep",
633
+ "name": "BranchStep",
634
+ "description": "dummy-description",
635
+ "resourceTypeImplementationKind": "internal-with-identity",
636
+ "nucleusSchema": {
637
+ "$anchor": "BranchStep",
638
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
639
+ "type": "object",
640
+ "required": [
641
+ "identity",
642
+ "cases"
643
+ ],
644
+ "properties": {
645
+ "identity": {
646
+ "$ref": "#BranchStepIdentity"
647
+ },
648
+ "stepKind": {
649
+ "const": "branch"
650
+ },
651
+ "cases": {
652
+ "type": "array",
653
+ "items": {
654
+ "$ref": "#Conditional"
655
+ },
656
+ "minItems": 1,
657
+ "uniqueItems": true
658
+ }
659
+ },
660
+ "allOf": [
661
+ {
662
+ "$ref": "#StepKindFacet"
663
+ }
664
+ ]
665
+ }
666
+ },
667
+ "WhileStepIdentity": {
668
+ "identity": "TYPE-WhileStepIdentity",
669
+ "name": "WhileStepIdentity",
670
+ "description": "dummy-description",
671
+ "resourceTypeImplementationKind": "internal-without-identity",
672
+ "nucleusSchema": {
673
+ "$anchor": "WhileStepIdentity",
674
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
675
+ "type": "string",
676
+ "pattern": "^WHILE_STEP-.+$"
677
+ }
678
+ },
679
+ "WhileStep": {
680
+ "identity": "TYPE-WhileStep",
681
+ "name": "WhileStep",
682
+ "description": "dummy-description",
683
+ "resourceTypeImplementationKind": "internal-with-identity",
684
+ "nucleusSchema": {
685
+ "$anchor": "WhileStep",
686
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
687
+ "type": "object",
688
+ "required": [
689
+ "identity",
690
+ "case"
691
+ ],
692
+ "properties": {
693
+ "identity": {
694
+ "$ref": "#WhileStepIdentity"
695
+ },
696
+ "stepKind": {
697
+ "const": "while"
698
+ },
699
+ "case": {
700
+ "$ref": "#Conditional"
701
+ }
702
+ },
703
+ "allOf": [
704
+ {
705
+ "$ref": "#StepKindFacet"
706
+ }
707
+ ]
708
+ }
709
+ },
710
+ "ForStepIdentity": {
711
+ "identity": "TYPE-ForStepIdentity",
712
+ "name": "ForStepIdentity",
713
+ "description": "dummy-description",
714
+ "resourceTypeImplementationKind": "internal-without-identity",
715
+ "nucleusSchema": {
716
+ "$anchor": "ForStepIdentity",
717
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
718
+ "type": "string",
719
+ "pattern": "^FOR_STEP-.+$"
720
+ }
721
+ },
722
+ "ForStep": {
723
+ "identity": "TYPE-ForStep",
724
+ "name": "ForStep",
725
+ "description": "dummy-description",
726
+ "resourceTypeImplementationKind": "internal-with-identity",
727
+ "nucleusSchema": {
728
+ "$anchor": "ForStep",
729
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
730
+ "type": "object",
731
+ "required": [
732
+ "identity",
733
+ "case"
734
+ ],
735
+ "properties": {
736
+ "identity": {
737
+ "$ref": "#ForStepIdentity"
738
+ },
739
+ "stepKind": {
740
+ "const": "for"
741
+ },
742
+ "case": {
743
+ "$ref": "#Conditional"
744
+ }
745
+ },
746
+ "allOf": [
747
+ {
748
+ "$ref": "#StepKindFacet"
749
+ }
750
+ ]
751
+ }
752
+ },
753
+ "StepIdentity": {
754
+ "identity": "TYPE-StepIdentity",
755
+ "name": "StepIdentity",
756
+ "description": "dummy-description",
757
+ "resourceTypeImplementationKind": "internal-without-identity",
758
+ "nucleusSchema": {
759
+ "$anchor": "StepIdentity",
760
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
761
+ "type": "object",
762
+ "oneOf": [
763
+ {
764
+ "$ref": "#JobStepIdentity"
765
+ },
766
+ {
767
+ "$ref": "#BranchStepIdentity"
768
+ },
769
+ {
770
+ "$ref": "#WhileStepIdentity"
771
+ },
772
+ {
773
+ "$ref": "#ForStepIdentity"
774
+ }
775
+ ]
776
+ }
777
+ },
778
+ "Step": {
779
+ "identity": "TYPE-Step",
780
+ "name": "Step",
781
+ "description": "dummy-description",
782
+ "resourceTypeImplementationKind": "internal-without-identity",
783
+ "nucleusSchema": {
784
+ "$anchor": "Step",
785
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
786
+ "type": "object",
787
+ "oneOf": [
788
+ {
789
+ "$ref": "#JobStep"
790
+ },
791
+ {
792
+ "$ref": "#BranchStep"
793
+ },
794
+ {
795
+ "$ref": "#WhileStep"
796
+ },
797
+ {
798
+ "$ref": "#ForStep"
799
+ }
800
+ ],
801
+ "unevaluatedProperties": false
802
+ }
803
+ },
804
+ "CreationContext": {
805
+ "identity": "TYPE-CreationContext",
806
+ "name": "CreationContext",
807
+ "description": "dummy-description",
808
+ "resourceTypeImplementationKind": "internal-without-identity",
809
+ "nucleusSchema": {
810
+ "$anchor": "CreationContext",
811
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
812
+ "type": "object",
813
+ "required": [
814
+ "resourceRoleHandle",
815
+ "jobStepHandle"
816
+ ],
817
+ "properties": {
818
+ "resourceRoleHandle": {
819
+ "$ref": "#ResourceRoleIdentity"
820
+ },
821
+ "jobStepHandle": {
822
+ "$ref": "#JobStepIdentity"
823
+ }
824
+ }
825
+ }
826
+ },
827
+ "CreationContextFacet": {
828
+ "identity": "TYPE-CreationContextFacet",
829
+ "name": "CreationContextFacet",
830
+ "description": "dummy-description",
831
+ "resourceTypeImplementationKind": "internal-without-identity",
832
+ "nucleusSchema": {
833
+ "$anchor": "CreationContextFacet",
834
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
835
+ "type": "object",
836
+ "required": [
837
+ "creationContext"
838
+ ],
839
+ "properties": {
840
+ "creationContext": {
841
+ "$ref": "#CreationContext"
842
+ }
843
+ }
844
+ }
845
+ },
846
+ "ResourceIdentity": {
847
+ "identity": "TYPE-ResourceIdentity",
848
+ "name": "ResourceIdentity",
849
+ "description": "dummy-description",
850
+ "resourceTypeImplementationKind": "internal-without-identity",
851
+ "nucleusSchema": {
852
+ "$anchor": "ResourceIdentity",
853
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
854
+ "type": "string",
855
+ "pattern": "^RESOURCE-.+$"
856
+ }
857
+ },
858
+ "ResourceBase": {
859
+ "identity": "TYPE-ResourceBase",
860
+ "name": "ResourceBase",
861
+ "description": "dummy-description",
862
+ "resourceTypeImplementationKind": "internal-with-identity",
863
+ "nucleusSchema": {
864
+ "$anchor": "ResourceBase",
865
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
866
+ "type": "object",
867
+ "required": [
868
+ "identity",
869
+ "resourceTypeHandle"
870
+ ],
871
+ "properties": {
872
+ "identity": {
873
+ "$ref": "#ResourceIdentity"
874
+ },
875
+ "resourceTypeHandle": {
876
+ "$ref": "#ResourceTypeIdentity"
877
+ }
878
+ }
879
+ }
880
+ },
881
+ "ResourceKind": {
882
+ "identity": "TYPE-ResourceKind",
883
+ "name": "ResourceKind",
884
+ "description": "dummy-description",
885
+ "resourceTypeImplementationKind": "internal-without-identity",
886
+ "nucleusSchema": {
887
+ "$anchor": "ResourceKind",
888
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
889
+ "type": "string",
890
+ "enum": [
891
+ "missing",
892
+ "input-potential",
893
+ "output-potential",
894
+ "materialized"
895
+ ]
896
+ }
897
+ },
898
+ "ResourceKindFacet": {
899
+ "identity": "TYPE-ResourceKindFacet",
900
+ "name": "ResourceKindFacet",
901
+ "description": "dummy-description",
902
+ "resourceTypeImplementationKind": "internal-without-identity",
903
+ "nucleusSchema": {
904
+ "$anchor": "ResourceKindFacet",
905
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
906
+ "type": "object",
907
+ "required": [
908
+ "resourceKind"
909
+ ],
910
+ "properties": {
911
+ "resourceKind": {
912
+ "$ref": "#ResourceKind"
913
+ }
914
+ }
915
+ }
916
+ },
917
+ "ShellMissing": {
918
+ "identity": "TYPE-ShellMissing",
919
+ "name": "ShellMissing",
920
+ "description": "dummy-description",
921
+ "resourceTypeImplementationKind": "internal-with-identity",
922
+ "nucleusSchema": {
923
+ "$anchor": "ShellMissing",
924
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
925
+ "type": "object",
926
+ "properties": {
927
+ "resourceKind": {
928
+ "const": "missing"
929
+ }
930
+ },
931
+ "allOf": [
932
+ {
933
+ "$ref": "#ResourceBase"
934
+ },
935
+ {
936
+ "$ref": "#ResourceKindFacet"
937
+ }
938
+ ],
939
+ "unevaluatedProperties": false
940
+ }
941
+ },
942
+ "ShellInputPotential": {
943
+ "identity": "TYPE-ShellInputPotential",
944
+ "name": "ShellInputPotential",
945
+ "description": "dummy-description",
946
+ "resourceTypeImplementationKind": "internal-with-identity",
947
+ "nucleusSchema": {
948
+ "$anchor": "ShellInputPotential",
949
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
950
+ "type": "object",
951
+ "properties": {
952
+ "resourceKind": {
953
+ "const": "input-potential"
954
+ }
955
+ },
956
+ "allOf": [
957
+ {
958
+ "$ref": "#ResourceBase"
959
+ },
960
+ {
961
+ "$ref": "#CreationContextFacet"
962
+ },
963
+ {
964
+ "$ref": "#ResourceKindFacet"
965
+ }
966
+ ],
967
+ "unevaluatedProperties": false
968
+ }
969
+ },
970
+ "ShellOutputPotential": {
971
+ "identity": "TYPE-ShellOutputPotential",
972
+ "name": "ShellOutputPotential",
973
+ "description": "dummy-description",
974
+ "resourceTypeImplementationKind": "internal-with-identity",
975
+ "nucleusSchema": {
976
+ "$anchor": "ShellOutputPotential",
977
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
978
+ "type": "object",
979
+ "properties": {
980
+ "resourceKind": {
981
+ "const": "output-potential"
982
+ }
983
+ },
984
+ "allOf": [
985
+ {
986
+ "$ref": "#ResourceBase"
987
+ },
988
+ {
989
+ "$ref": "#CreationContextFacet"
990
+ },
991
+ {
992
+ "$ref": "#ResourceKindFacet"
993
+ }
994
+ ],
995
+ "unevaluatedProperties": false
996
+ }
997
+ },
998
+ "Timestamp": {
999
+ "identity": "TYPE-Timestamp",
1000
+ "name": "Timestamp",
1001
+ "description": "dummy-description",
1002
+ "resourceTypeImplementationKind": "internal-without-identity",
1003
+ "nucleusSchema": {
1004
+ "$anchor": "Timestamp",
1005
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1006
+ "type": "string",
1007
+ "format": "date-time"
1008
+ }
1009
+ },
1010
+ "TimestampFacet": {
1011
+ "identity": "TYPE-TimestampFacet",
1012
+ "name": "TimestampFacet",
1013
+ "description": "dummy-description",
1014
+ "resourceTypeImplementationKind": "internal-without-identity",
1015
+ "nucleusSchema": {
1016
+ "$anchor": "TimestampFacet",
1017
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1018
+ "type": "object",
1019
+ "required": [
1020
+ "timestamp"
1021
+ ],
1022
+ "properties": {
1023
+ "timestamp": {
1024
+ "$ref": "#Timestamp"
1025
+ }
1026
+ }
1027
+ }
1028
+ },
1029
+ "Path": {
1030
+ "identity": "TYPE-Path",
1031
+ "name": "Path",
1032
+ "description": "dummy-description",
1033
+ "resourceTypeImplementationKind": "internal-without-identity",
1034
+ "nucleusSchema": {
1035
+ "$anchor": "Path",
1036
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1037
+ "type": "string",
1038
+ "format": "uri-reference"
1039
+ }
1040
+ },
1041
+ "PathFacet": {
1042
+ "identity": "TYPE-PathFacet",
1043
+ "name": "PathFacet",
1044
+ "description": "dummy-description",
1045
+ "resourceTypeImplementationKind": "internal-without-identity",
1046
+ "nucleusSchema": {
1047
+ "$anchor": "PathFacet",
1048
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1049
+ "type": "object",
1050
+ "required": [
1051
+ "path"
1052
+ ],
1053
+ "properties": {
1054
+ "path": {
1055
+ "$ref": "#Path"
1056
+ }
1057
+ }
1058
+ }
1059
+ },
1060
+ "ShellMaterializedBase": {
1061
+ "identity": "TYPE-ShellMaterializedBase",
1062
+ "name": "ShellMaterializedBase",
1063
+ "description": "dummy-description",
1064
+ "resourceTypeImplementationKind": "internal-with-identity",
1065
+ "nucleusSchema": {
1066
+ "$anchor": "ShellMaterializedBase",
1067
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1068
+ "type": "object",
1069
+ "required": [
1070
+ "version"
1071
+ ],
1072
+ "properties": {
1073
+ "version": {
1074
+ "const": 1
1075
+ },
1076
+ "resourceKind": {
1077
+ "const": "materialized"
1078
+ }
1079
+ },
1080
+ "allOf": [
1081
+ {
1082
+ "$ref": "#ResourceBase"
1083
+ },
1084
+ {
1085
+ "$ref": "#CreationContextFacet"
1086
+ },
1087
+ {
1088
+ "$ref": "#ResourceKindFacet"
1089
+ },
1090
+ {
1091
+ "$ref": "#TimestampFacet"
1092
+ },
1093
+ {
1094
+ "$ref": "#PathFacet"
1095
+ }
1096
+ ]
1097
+ }
1098
+ },
1099
+ "ShellMaterialized": {
1100
+ "identity": "TYPE-ShellMaterialized",
1101
+ "name": "ShellMaterialized",
1102
+ "description": "dummy-description",
1103
+ "resourceTypeImplementationKind": "internal-with-identity",
1104
+ "nucleusSchema": {
1105
+ "$anchor": "ShellMaterialized",
1106
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1107
+ "type": "object",
1108
+ "$ref": "#ShellMaterializedBase",
1109
+ "unevaluatedProperties": false
1110
+ }
1111
+ },
1112
+ "ResourceMissing": {
1113
+ "identity": "TYPE-ResourceMissing",
1114
+ "name": "ResourceMissing",
1115
+ "description": "dummy-description",
1116
+ "resourceTypeImplementationKind": "internal-with-identity",
1117
+ "nucleusSchema": {
1118
+ "$anchor": "ResourceMissing",
1119
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1120
+ "type": "object",
1121
+ "$ref": "#ShellMissing",
1122
+ "unevaluatedProperties": false
1123
+ }
1124
+ },
1125
+ "ResourceInputPotential": {
1126
+ "identity": "TYPE-ResourceInputPotential",
1127
+ "name": "ResourceInputPotential",
1128
+ "description": "dummy-description",
1129
+ "resourceTypeImplementationKind": "internal-with-identity",
1130
+ "nucleusSchema": {
1131
+ "$anchor": "ResourceInputPotential",
1132
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1133
+ "type": "object",
1134
+ "$ref": "#ShellInputPotential",
1135
+ "unevaluatedProperties": false
1136
+ }
1137
+ },
1138
+ "ResourceOutputPotential": {
1139
+ "identity": "TYPE-ResourceOutputPotential",
1140
+ "name": "ResourceOutputPotential",
1141
+ "description": "dummy-description",
1142
+ "resourceTypeImplementationKind": "internal-with-identity",
1143
+ "nucleusSchema": {
1144
+ "$anchor": "ResourceOutputPotential",
1145
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1146
+ "type": "object",
1147
+ "$ref": "#ShellOutputPotential",
1148
+ "unevaluatedProperties": false
1149
+ }
1150
+ },
1151
+ "JsonData": {
1152
+ "identity": "TYPE-JsonData",
1153
+ "name": "JsonData",
1154
+ "description": "dummy-description",
1155
+ "resourceTypeImplementationKind": "internal-without-identity",
1156
+ "nucleusSchema": {
1157
+ "$anchor": "JsonData",
1158
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1159
+ "oneOf": [
1160
+ {
1161
+ "type": "null"
1162
+ },
1163
+ {
1164
+ "type": "boolean"
1165
+ },
1166
+ {
1167
+ "type": "number"
1168
+ },
1169
+ {
1170
+ "type": "string"
1171
+ },
1172
+ {
1173
+ "type": "array",
1174
+ "items": {
1175
+ "$ref": "#JsonData"
1176
+ }
1177
+ },
1178
+ {
1179
+ "type": "object",
1180
+ "additionalProperties": {
1181
+ "$ref": "#JsonData"
1182
+ }
1183
+ }
1184
+ ]
1185
+ }
1186
+ },
1187
+ "Nucleus": {
1188
+ "identity": "TYPE-Nucleus",
1189
+ "name": "Nucleus",
1190
+ "description": "dummy-description",
1191
+ "resourceTypeImplementationKind": "internal-without-identity",
1192
+ "nucleusSchema": {
1193
+ "$anchor": "Nucleus",
1194
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1195
+ "type": "object",
1196
+ "additionalProperties": {
1197
+ "$ref": "#JsonData"
1198
+ }
1199
+ }
1200
+ },
1201
+ "NucleusFacet": {
1202
+ "identity": "TYPE-NucleusFacet",
1203
+ "name": "NucleusFacet",
1204
+ "description": "dummy-description",
1205
+ "resourceTypeImplementationKind": "internal-without-identity",
1206
+ "nucleusSchema": {
1207
+ "$anchor": "NucleusFacet",
1208
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1209
+ "type": "object",
1210
+ "required": [
1211
+ "nucleus"
1212
+ ],
1213
+ "properties": {
1214
+ "nucleus": {
1215
+ "$ref": "#Nucleus"
1216
+ }
1217
+ }
1218
+ }
1219
+ },
1220
+ "ResourceMaterialized": {
1221
+ "identity": "TYPE-ResourceMaterialized",
1222
+ "name": "ResourceMaterialized",
1223
+ "description": "dummy-description",
1224
+ "resourceTypeImplementationKind": "internal-with-identity",
1225
+ "nucleusSchema": {
1226
+ "$anchor": "ResourceMaterialized",
1227
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1228
+ "type": "object",
1229
+ "allOf": [
1230
+ {
1231
+ "$ref": "#ShellMaterializedBase"
1232
+ },
1233
+ {
1234
+ "$comment": "This will be overlayed dynamically to match the data structure of the underlying ResourceType's nucleusSchema.",
1235
+ "$ref": "#NucleusFacet"
1236
+ }
1237
+ ],
1238
+ "unevaluatedProperties": false
1239
+ }
1240
+ },
1241
+ "Resource": {
1242
+ "identity": "TYPE-Resource",
1243
+ "name": "Resource",
1244
+ "description": "dummy-description",
1245
+ "resourceTypeImplementationKind": "internal-with-identity",
1246
+ "nucleusSchema": {
1247
+ "$anchor": "Resource",
1248
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1249
+ "type": "object",
1250
+ "oneOf": [
1251
+ {
1252
+ "$ref": "#ResourceMissing"
1253
+ },
1254
+ {
1255
+ "$ref": "#ResourceInputPotential"
1256
+ },
1257
+ {
1258
+ "$ref": "#ResourceOutputPotential"
1259
+ },
1260
+ {
1261
+ "$ref": "#ResourceMaterialized"
1262
+ }
1263
+ ],
1264
+ "unevaluatedProperties": false
1265
+ }
1266
+ },
1267
+ "JobStepSocket": {
1268
+ "identity": "TYPE-JobStepSocket",
1269
+ "name": "JobStepSocket",
1270
+ "description": "dummy-description",
1271
+ "resourceTypeImplementationKind": "internal-without-identity",
1272
+ "nucleusSchema": {
1273
+ "$anchor": "JobStepSocket",
1274
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1275
+ "type": "object",
1276
+ "propertyNames": {
1277
+ "$ref": "#ResourceRoleIdentity"
1278
+ },
1279
+ "additionalProperties": {
1280
+ "$ref": "#Resource"
1281
+ }
1282
+ }
1283
+ },
1284
+ "StrategyState": {
1285
+ "identity": "TYPE-StrategyState",
1286
+ "name": "StrategyState",
1287
+ "description": "dummy-description",
1288
+ "resourceTypeImplementationKind": "internal-without-identity",
1289
+ "nucleusSchema": {
1290
+ "$anchor": "StrategyState",
1291
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1292
+ "type": "object",
1293
+ "propertyNames": {
1294
+ "$ref": "#JobStepIdentity"
1295
+ },
1296
+ "additionalProperties": {
1297
+ "$ref": "#JobStepSocket"
1298
+ }
1299
+ }
1300
+ },
1301
+ "StrategyStateFacet": {
1302
+ "identity": "TYPE-StrategyStateFacet",
1303
+ "name": "StrategyStateFacet",
1304
+ "description": "dummy-description",
1305
+ "resourceTypeImplementationKind": "internal-without-identity",
1306
+ "nucleusSchema": {
1307
+ "$anchor": "StrategyStateFacet",
1308
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1309
+ "type": "object",
1310
+ "required": [
1311
+ "strategyState"
1312
+ ],
1313
+ "properties": {
1314
+ "strategyState": {
1315
+ "$ref": "#StrategyState"
1316
+ }
1317
+ }
1318
+ }
1319
+ },
1320
+ "StepArray": {
1321
+ "identity": "TYPE-StepArray",
1322
+ "name": "StepArray",
1323
+ "description": "dummy-description",
1324
+ "resourceTypeImplementationKind": "internal-without-identity",
1325
+ "nucleusSchema": {
1326
+ "$anchor": "StepArray",
1327
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1328
+ "type": "array",
1329
+ "items": {
1330
+ "$ref": "#Step"
1331
+ },
1332
+ "uniqueItems": true
1333
+ }
1334
+ },
1335
+ "StepsFacet": {
1336
+ "identity": "TYPE-StepsFacet",
1337
+ "name": "StepsFacet",
1338
+ "description": "dummy-description",
1339
+ "resourceTypeImplementationKind": "internal-without-identity",
1340
+ "nucleusSchema": {
1341
+ "$anchor": "StepsFacet",
1342
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1343
+ "type": "object",
1344
+ "required": [
1345
+ "steps"
1346
+ ],
1347
+ "properties": {
1348
+ "steps": {
1349
+ "$ref": "#StepArray"
1350
+ }
1351
+ }
1352
+ }
1353
+ },
1354
+ "RawStrategy": {
1355
+ "identity": "TYPE-RawStrategy",
1356
+ "name": "RawStrategy",
1357
+ "description": "dummy-description",
1358
+ "resourceTypeImplementationKind": "internal-without-identity",
1359
+ "nucleusSchema": {
1360
+ "$anchor": "RawStrategy",
1361
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1362
+ "type": "object",
1363
+ "allOf": [
1364
+ {
1365
+ "$ref": "#StepsFacet"
1366
+ },
1367
+ {
1368
+ "$ref": "#StrategyStateFacet"
1369
+ }
1370
+ ],
1371
+ "unevaluatedProperties": false
1372
+ }
1373
+ },
1374
+ "RunnableStrategyIdentity": {
1375
+ "identity": "TYPE-RunnableStrategyIdentity",
1376
+ "name": "RunnableStrategyIdentity",
1377
+ "description": "dummy-description",
1378
+ "resourceTypeImplementationKind": "internal-without-identity",
1379
+ "nucleusSchema": {
1380
+ "$anchor": "RunnableStrategyIdentity",
1381
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1382
+ "type": "string",
1383
+ "pattern": "^RUNNABLE_STRATEGY-.+$"
1384
+ }
1385
+ },
1386
+ "RunnableStrategyStatus": {
1387
+ "identity": "TYPE-RunnableStrategyStatus",
1388
+ "name": "RunnableStrategyStatus",
1389
+ "description": "dummy-description",
1390
+ "resourceTypeImplementationKind": "internal-without-identity",
1391
+ "nucleusSchema": {
1392
+ "$anchor": "RunnableStrategyStatus",
1393
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1394
+ "type": "string",
1395
+ "enum": [
1396
+ "pending",
1397
+ "running",
1398
+ "completed",
1399
+ "failed",
1400
+ "cancelled"
1401
+ ]
1402
+ }
1403
+ },
1404
+ "RunnableStrategyContext": {
1405
+ "identity": "TYPE-RunnableStrategyContext",
1406
+ "name": "RunnableStrategyContext",
1407
+ "description": "dummy-description",
1408
+ "resourceTypeImplementationKind": "internal-without-identity",
1409
+ "nucleusSchema": {
1410
+ "$anchor": "RunnableStrategyContext",
1411
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1412
+ "type": "object",
1413
+ "required": [
1414
+ "status"
1415
+ ],
1416
+ "properties": {
1417
+ "status": {
1418
+ "$ref": "#RunnableStrategyStatus"
1419
+ },
1420
+ "startedAt": {
1421
+ "$ref": "#Timestamp"
1422
+ },
1423
+ "completedAt": {
1424
+ "$ref": "#Timestamp"
1425
+ }
1426
+ },
1427
+ "unevaluatedProperties": false
1428
+ }
1429
+ },
1430
+ "StrategyThreadIdentity": {
1431
+ "identity": "TYPE-StrategyThreadIdentity",
1432
+ "name": "StrategyThreadIdentity",
1433
+ "description": "dummy-description",
1434
+ "resourceTypeImplementationKind": "internal-without-identity",
1435
+ "nucleusSchema": {
1436
+ "$anchor": "StrategyThreadIdentity",
1437
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1438
+ "type": "string",
1439
+ "pattern": "^STRATEGY_THREAD-.+$"
1440
+ }
1441
+ },
1442
+ "StrategyThreadMap": {
1443
+ "identity": "TYPE-StrategyThreadMap",
1444
+ "name": "StrategyThreadMap",
1445
+ "description": "dummy-description",
1446
+ "resourceTypeImplementationKind": "internal-without-identity",
1447
+ "nucleusSchema": {
1448
+ "$anchor": "StrategyThreadMap",
1449
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1450
+ "type": "object",
1451
+ "propertyNames": {
1452
+ "$ref": "#StrategyThreadIdentity"
1453
+ },
1454
+ "additionalProperties": {
1455
+ "$ref": "#StepArray"
1456
+ },
1457
+ "$comment": "Each thread contains an array of steps, allowing for sequential execution within a thread while supporting parallel execution across multiple threads."
1458
+ }
1459
+ },
1460
+ "StrategyThreadMapFacet": {
1461
+ "identity": "TYPE-StrategyThreadMapFacet",
1462
+ "name": "StrategyThreadMapFacet",
1463
+ "description": "dummy-description",
1464
+ "resourceTypeImplementationKind": "internal-without-identity",
1465
+ "nucleusSchema": {
1466
+ "$anchor": "StrategyThreadMapFacet",
1467
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1468
+ "type": "object",
1469
+ "required": [
1470
+ "strategyThreadMap"
1471
+ ],
1472
+ "properties": {
1473
+ "strategyThreadMap": {
1474
+ "$ref": "#StrategyThreadMap"
1475
+ }
1476
+ }
1477
+ }
1478
+ },
1479
+ "RunnableStrategy": {
1480
+ "identity": "TYPE-RunnableStrategy",
1481
+ "name": "RunnableStrategy",
1482
+ "description": "dummy-description",
1483
+ "resourceTypeImplementationKind": "internal-with-identity",
1484
+ "nucleusSchema": {
1485
+ "$anchor": "RunnableStrategy",
1486
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1487
+ "type": "object",
1488
+ "required": [
1489
+ "identity",
1490
+ "runnableStrategyContext"
1491
+ ],
1492
+ "properties": {
1493
+ "identity": {
1494
+ "$ref": "#RunnableStrategyIdentity"
1495
+ },
1496
+ "runnableStrategyContext": {
1497
+ "$ref": "#RunnableStrategyContext"
1498
+ }
1499
+ },
1500
+ "allOf": [
1501
+ {
1502
+ "$comment": "The Engine runs jobs specified by steps in strategyThreadMap. The Engine also injects repeted steps when encountering loops.",
1503
+ "$ref": "#StrategyThreadMapFacet"
1504
+ },
1505
+ {
1506
+ "$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.",
1507
+ "$ref": "#StrategyStateFacet"
1508
+ }
1509
+ ],
1510
+ "unevaluatedProperties": false
1511
+ }
1512
+ },
1513
+ "StrategyStateDelta": {
1514
+ "identity": "TYPE-StrategyStateDelta",
1515
+ "name": "StrategyStateDelta",
1516
+ "description": "dummy-description",
1517
+ "resourceTypeImplementationKind": "internal-without-identity",
1518
+ "nucleusSchema": {
1519
+ "$anchor": "StrategyStateDelta",
1520
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1521
+ "type": "object",
1522
+ "required": [
1523
+ "strategyStateUpdate"
1524
+ ],
1525
+ "properties": {
1526
+ "strategyStateUpdate": {
1527
+ "$ref": "#StrategyState"
1528
+ }
1529
+ }
1530
+ }
1531
+ },
1532
+ "RunnableStrategyUpdate": {
1533
+ "identity": "TYPE-RunnableStrategyUpdate",
1534
+ "name": "RunnableStrategyUpdate",
1535
+ "description": "dummy-description",
1536
+ "resourceTypeImplementationKind": "internal-without-identity",
1537
+ "nucleusSchema": {
1538
+ "$anchor": "RunnableStrategyUpdate",
1539
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1540
+ "type": "object",
1541
+ "required": [
1542
+ "runnableStrategyHandle"
1543
+ ],
1544
+ "properties": {
1545
+ "runnableStrategyHandle": {
1546
+ "$ref": "#RunnableStrategyIdentity"
1547
+ },
1548
+ "runnableStrategy": {
1549
+ "$comment": "Optional embedded snapshot; runnableStrategyHandle remains the canonical pointer.",
1550
+ "$ref": "#RunnableStrategy"
1551
+ }
1552
+ },
1553
+ "allOf": [
1554
+ {
1555
+ "$ref": "#StrategyStateDelta"
1556
+ }
1557
+ ],
1558
+ "unevaluatedProperties": false
1559
+ }
1560
+ },
1561
+ "RunEventCounters": {
1562
+ "identity": "TYPE-RunEventCounters",
1563
+ "name": "RunEventCounters",
1564
+ "description": "dummy-description",
1565
+ "resourceTypeImplementationKind": "internal-without-identity",
1566
+ "nucleusSchema": {
1567
+ "$anchor": "RunEventCounters",
1568
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1569
+ "type": "object",
1570
+ "properties": {
1571
+ "stepCounterAfter": {
1572
+ "type": "integer"
1573
+ },
1574
+ "iterationCounterAfter": {
1575
+ "type": "integer"
1576
+ }
1577
+ }
1578
+ }
1579
+ },
1580
+ "RunEventStepMetadata": {
1581
+ "identity": "TYPE-RunEventStepMetadata",
1582
+ "name": "RunEventStepMetadata",
1583
+ "description": "dummy-description",
1584
+ "resourceTypeImplementationKind": "internal-without-identity",
1585
+ "nucleusSchema": {
1586
+ "$anchor": "RunEventStepMetadata",
1587
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1588
+ "type": "object",
1589
+ "required": [
1590
+ "stepHandle",
1591
+ "stepKind",
1592
+ "threadStepIndex"
1593
+ ],
1594
+ "properties": {
1595
+ "stepHandle": {
1596
+ "$ref": "#StepIdentity"
1597
+ },
1598
+ "stepKind": {
1599
+ "$ref": "#StepKind"
1600
+ },
1601
+ "threadStepIndex": {
1602
+ "type": "integer"
1603
+ }
1604
+ }
1605
+ }
1606
+ },
1607
+ "RunEventUpdates": {
1608
+ "identity": "TYPE-RunEventUpdates",
1609
+ "name": "RunEventUpdates",
1610
+ "description": "dummy-description",
1611
+ "resourceTypeImplementationKind": "internal-without-identity",
1612
+ "nucleusSchema": {
1613
+ "$anchor": "RunEventUpdates",
1614
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1615
+ "type": "object",
1616
+ "properties": {
1617
+ "stepsMutation": {
1618
+ "type": "object",
1619
+ "required": [
1620
+ "insertAt",
1621
+ "inserted"
1622
+ ],
1623
+ "properties": {
1624
+ "insertAt": {
1625
+ "type": "integer"
1626
+ },
1627
+ "inserted": {
1628
+ "$ref": "#StepArray"
1629
+ }
1630
+ }
1631
+ },
1632
+ "interruptData": {
1633
+ "$comment": "Kept permissive; the engine may evolve interrupt payloads.",
1634
+ "type": [
1635
+ "object",
1636
+ "null"
1637
+ ]
1638
+ }
1639
+ },
1640
+ "allOf": [
1641
+ {
1642
+ "$ref": "#StrategyStateDelta"
1643
+ }
1644
+ ]
1645
+ }
1646
+ },
1647
+ "RunEventKind": {
1648
+ "identity": "TYPE-RunEventKind",
1649
+ "name": "RunEventKind",
1650
+ "description": "dummy-description",
1651
+ "resourceTypeImplementationKind": "internal-without-identity",
1652
+ "nucleusSchema": {
1653
+ "$anchor": "RunEventKind",
1654
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1655
+ "type": "string",
1656
+ "enum": [
1657
+ "graph_start",
1658
+ "tick",
1659
+ "interrupt",
1660
+ "graph_end"
1661
+ ]
1662
+ }
1663
+ },
1664
+ "RunEventBase": {
1665
+ "identity": "TYPE-RunEventBase",
1666
+ "name": "RunEventBase",
1667
+ "description": "dummy-description",
1668
+ "resourceTypeImplementationKind": "internal-without-identity",
1669
+ "nucleusSchema": {
1670
+ "$anchor": "RunEventBase",
1671
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1672
+ "type": "object",
1673
+ "required": [
1674
+ "runEventKind",
1675
+ "runnableStrategyHandle",
1676
+ "strategyThreadHandle",
1677
+ "createdAt",
1678
+ "nodeName",
1679
+ "eventSeq"
1680
+ ],
1681
+ "properties": {
1682
+ "runEventKind": {
1683
+ "$ref": "#RunEventKind"
1684
+ },
1685
+ "runnableStrategyHandle": {
1686
+ "$ref": "#RunnableStrategyIdentity"
1687
+ },
1688
+ "strategyThreadHandle": {
1689
+ "$ref": "#StrategyThreadIdentity"
1690
+ },
1691
+ "createdAt": {
1692
+ "$ref": "#Timestamp"
1693
+ },
1694
+ "nodeName": {
1695
+ "type": "string"
1696
+ },
1697
+ "eventSeq": {
1698
+ "type": "integer"
1699
+ },
1700
+ "counters": {
1701
+ "$ref": "#RunEventCounters"
1702
+ },
1703
+ "stepMetadata": {
1704
+ "$ref": "#RunEventStepMetadata"
1705
+ },
1706
+ "updates": {
1707
+ "$ref": "#RunEventUpdates"
1708
+ }
1709
+ }
1710
+ }
1711
+ },
1712
+ "GraphStartRunEvent": {
1713
+ "identity": "TYPE-GraphStartRunEvent",
1714
+ "name": "GraphStartRunEvent",
1715
+ "description": "dummy-description",
1716
+ "resourceTypeImplementationKind": "internal-without-identity",
1717
+ "nucleusSchema": {
1718
+ "$anchor": "GraphStartRunEvent",
1719
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1720
+ "allOf": [
1721
+ {
1722
+ "$ref": "#RunEventBase"
1723
+ },
1724
+ {
1725
+ "type": "object",
1726
+ "required": [
1727
+ "runnableStrategySeed"
1728
+ ],
1729
+ "properties": {
1730
+ "runEventKind": {
1731
+ "const": "graph_start"
1732
+ },
1733
+ "runnableStrategySeed": {
1734
+ "$ref": "#RunnableStrategy"
1735
+ }
1736
+ }
1737
+ }
1738
+ ]
1739
+ }
1740
+ },
1741
+ "TickRunEvent": {
1742
+ "identity": "TYPE-TickRunEvent",
1743
+ "name": "TickRunEvent",
1744
+ "description": "dummy-description",
1745
+ "resourceTypeImplementationKind": "internal-without-identity",
1746
+ "nucleusSchema": {
1747
+ "$anchor": "TickRunEvent",
1748
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1749
+ "allOf": [
1750
+ {
1751
+ "$ref": "#RunEventBase"
1752
+ },
1753
+ {
1754
+ "type": "object",
1755
+ "properties": {
1756
+ "runEventKind": {
1757
+ "const": "tick"
1758
+ }
1759
+ }
1760
+ }
1761
+ ]
1762
+ }
1763
+ },
1764
+ "InterruptRunEvent": {
1765
+ "identity": "TYPE-InterruptRunEvent",
1766
+ "name": "InterruptRunEvent",
1767
+ "description": "dummy-description",
1768
+ "resourceTypeImplementationKind": "internal-without-identity",
1769
+ "nucleusSchema": {
1770
+ "$anchor": "InterruptRunEvent",
1771
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1772
+ "allOf": [
1773
+ {
1774
+ "$ref": "#RunEventBase"
1775
+ },
1776
+ {
1777
+ "type": "object",
1778
+ "properties": {
1779
+ "runEventKind": {
1780
+ "const": "interrupt"
1781
+ }
1782
+ }
1783
+ }
1784
+ ]
1785
+ }
1786
+ },
1787
+ "GraphEndRunEvent": {
1788
+ "identity": "TYPE-GraphEndRunEvent",
1789
+ "name": "GraphEndRunEvent",
1790
+ "description": "dummy-description",
1791
+ "resourceTypeImplementationKind": "internal-without-identity",
1792
+ "nucleusSchema": {
1793
+ "$anchor": "GraphEndRunEvent",
1794
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1795
+ "allOf": [
1796
+ {
1797
+ "$ref": "#RunEventBase"
1798
+ },
1799
+ {
1800
+ "type": "object",
1801
+ "properties": {
1802
+ "runEventKind": {
1803
+ "const": "graph_end"
1804
+ }
1805
+ }
1806
+ }
1807
+ ]
1808
+ }
1809
+ },
1810
+ "RunEvent": {
1811
+ "identity": "TYPE-RunEvent",
1812
+ "name": "RunEvent",
1813
+ "description": "dummy-description",
1814
+ "resourceTypeImplementationKind": "internal-without-identity",
1815
+ "nucleusSchema": {
1816
+ "$anchor": "RunEvent",
1817
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1818
+ "type": "object",
1819
+ "oneOf": [
1820
+ {
1821
+ "$ref": "#GraphStartRunEvent"
1822
+ },
1823
+ {
1824
+ "$ref": "#TickRunEvent"
1825
+ },
1826
+ {
1827
+ "$ref": "#InterruptRunEvent"
1828
+ },
1829
+ {
1830
+ "$ref": "#GraphEndRunEvent"
1831
+ }
1832
+ ]
1833
+ }
1834
+ },
1835
+ "StrategyRunIdentity": {
1836
+ "identity": "TYPE-StrategyRunIdentity",
1837
+ "name": "StrategyRunIdentity",
1838
+ "description": "dummy-description",
1839
+ "resourceTypeImplementationKind": "internal-without-identity",
1840
+ "nucleusSchema": {
1841
+ "$anchor": "StrategyRunIdentity",
1842
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1843
+ "type": "string",
1844
+ "pattern": "^STRATEGY_RUN-.+$"
1845
+ }
1846
+ },
1847
+ "StrategyRun": {
1848
+ "identity": "TYPE-StrategyRun",
1849
+ "name": "StrategyRun",
1850
+ "description": "dummy-description",
1851
+ "resourceTypeImplementationKind": "internal-with-identity",
1852
+ "nucleusSchema": {
1853
+ "$anchor": "StrategyRun",
1854
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1855
+ "type": "object",
1856
+ "required": [
1857
+ "identity",
1858
+ "runnableStrategyHandle",
1859
+ "recordedAt",
1860
+ "runEvents"
1861
+ ],
1862
+ "properties": {
1863
+ "identity": {
1864
+ "$ref": "#StrategyRunIdentity"
1865
+ },
1866
+ "runnableStrategyHandle": {
1867
+ "$comment": "Could be derived from the first event but useful for indexing.",
1868
+ "$ref": "#RunnableStrategyIdentity"
1869
+ },
1870
+ "recordedAt": {
1871
+ "$ref": "#Timestamp"
1872
+ },
1873
+ "runEvents": {
1874
+ "type": "array",
1875
+ "items": {
1876
+ "$ref": "#RunEvent"
1877
+ }
1878
+ }
1879
+ },
1880
+ "unevaluatedProperties": false
1881
+ }
1882
+ },
1883
+ "GoalIdentity": {
1884
+ "identity": "TYPE-GoalIdentity",
1885
+ "name": "GoalIdentity",
1886
+ "description": "dummy-description",
1887
+ "resourceTypeImplementationKind": "internal-without-identity",
1888
+ "nucleusSchema": {
1889
+ "$anchor": "GoalIdentity",
1890
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1891
+ "type": "string",
1892
+ "pattern": "^GOAL-.+$"
1893
+ }
1894
+ },
1895
+ "Goal": {
1896
+ "identity": "TYPE-Goal",
1897
+ "name": "Goal",
1898
+ "description": "dummy-description",
1899
+ "resourceTypeImplementationKind": "internal-with-identity",
1900
+ "nucleusSchema": {
1901
+ "$anchor": "Goal",
1902
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1903
+ "type": "object",
1904
+ "required": [
1905
+ "identity",
1906
+ "target"
1907
+ ],
1908
+ "properties": {
1909
+ "identity": {
1910
+ "$ref": "#GoalIdentity"
1911
+ },
1912
+ "target": {
1913
+ "type": "integer",
1914
+ "minimum": 0
1915
+ },
1916
+ "disallowedJobs": {
1917
+ "type": "array",
1918
+ "items": {
1919
+ "$ref": "#JobIdentity"
1920
+ }
1921
+ },
1922
+ "disallowedSequences": {
1923
+ "type": "array",
1924
+ "items": {
1925
+ "type": "array",
1926
+ "items": {
1927
+ "$ref": "#JobIdentity"
1928
+ }
1929
+ }
1930
+ },
1931
+ "minSteps": {
1932
+ "type": "integer",
1933
+ "minimum": 1
1934
+ },
1935
+ "maxSteps": {
1936
+ "type": "integer",
1937
+ "minimum": 1
1938
+ }
1939
+ },
1940
+ "allOf": [
1941
+ {
1942
+ "$ref": "#DomainFacet"
1943
+ }
1944
+ ],
1945
+ "unevaluatedProperties": false
1946
+ }
1947
+ },
1948
+ "Natural": {
1949
+ "identity": "TYPE-Natural",
1950
+ "name": "Natural",
1951
+ "description": "dummy-description",
1952
+ "resourceTypeImplementationKind": "internal-with-identity",
1953
+ "nucleusSchema": {
1954
+ "$anchor": "Natural",
1955
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1956
+ "type": "object",
1957
+ "required": [
1958
+ "identity"
1959
+ ],
1960
+ "properties": {
1961
+ "identity": {
1962
+ "$ref": "#/$defs/NaturalIdentity"
1963
+ }
1964
+ },
1965
+ "$defs": {
1966
+ "NaturalIdentity": {
1967
+ "type": "integer"
1968
+ }
1969
+ },
1970
+ "additionalProperties": false
1971
+ }
1972
+ },
1973
+ "Boolean": {
1974
+ "identity": "TYPE-Boolean",
1975
+ "name": "Boolean",
1976
+ "description": "dummy-description",
1977
+ "resourceTypeImplementationKind": "internal-with-identity",
1978
+ "nucleusSchema": {
1979
+ "$anchor": "Boolean",
1980
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1981
+ "type": "object",
1982
+ "required": [
1983
+ "identity"
1984
+ ],
1985
+ "properties": {
1986
+ "identity": {
1987
+ "$ref": "#/$defs/BooleanIdentity"
1988
+ }
1989
+ },
1990
+ "$defs": {
1991
+ "BooleanIdentity": {
1992
+ "type": "boolean"
1993
+ }
1994
+ },
1995
+ "additionalProperties": false
1996
+ }
1997
+ }
1998
+ }
1999
+ }
2043
2000
  }