@toolproof-core/schema 1.0.3 → 1.0.5

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