@toolproof-core/genesis 1.0.47

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 (112) hide show
  1. package/dist/src/utils/constantsAndMappings.d.ts +20 -0
  2. package/dist/src/utils/constantsAndMappings.js +155 -0
  3. package/dist/src/utils/coreProjection.d.ts +16 -0
  4. package/dist/src/utils/coreProjection.js +29 -0
  5. package/dist/src/utils/resourceTypes.d.ts +12 -0
  6. package/dist/src/utils/resourceTypes.js +17 -0
  7. package/dist/src/utils/resources.d.ts +5 -0
  8. package/dist/src/utils/resources.js +17 -0
  9. package/dist/src/utils/schemaDependencies.d.ts +13 -0
  10. package/dist/src/utils/schemaDependencies.js +94 -0
  11. package/dist/src/utils/schemaObjectNormalization.d.ts +1 -0
  12. package/dist/src/utils/schemaObjectNormalization.js +66 -0
  13. package/dist/src/utils/schemaRefNormalization.d.ts +2 -0
  14. package/dist/src/utils/schemaRefNormalization.js +76 -0
  15. package/dist/src/utils/schemaShims.d.ts +2 -0
  16. package/dist/src/utils/schemaShims.js +13 -0
  17. package/dist/src/utils/standaloneSchemas.d.ts +16 -0
  18. package/dist/src/utils/standaloneSchemas.js +101 -0
  19. package/dist/src/utils/standaloneTypes.d.ts +8 -0
  20. package/dist/src/utils/standaloneTypes.js +22 -0
  21. package/dist/src/utils/standaloneZodSchemas.d.ts +8 -0
  22. package/dist/src/utils/standaloneZodSchemas.js +53 -0
  23. package/dist/src/utils/typeGeneration.d.ts +1 -0
  24. package/dist/src/utils/typeGeneration.js +25 -0
  25. package/dist/src/utils/typeGenerationPostProcess.d.ts +2 -0
  26. package/dist/src/utils/typeGenerationPostProcess.js +166 -0
  27. package/dist/src/utils/typeGenerationPreflight.d.ts +2 -0
  28. package/dist/src/utils/typeGenerationPreflight.js +93 -0
  29. package/dist/src/utils/zodCodegen.d.ts +10 -0
  30. package/dist/src/utils/zodCodegen.js +521 -0
  31. package/generated-src/derived/constants.ts +130 -0
  32. package/generated-src/derived/mappings.ts +12 -0
  33. package/generated-src/metadata/Core.json +1919 -0
  34. package/generated-src/metadata/dependencyMap.json +283 -0
  35. package/generated-src/metadata/terminals.json +17 -0
  36. package/generated-src/resourceTypes/resourceTypes.json +375 -0
  37. package/generated-src/resourceTypes/resourceTypes.ts +2 -0
  38. package/generated-src/resources/resourceTypes.json +456 -0
  39. package/generated-src/resources/resourceTypes.ts +2 -0
  40. package/generated-src/schemas/schemas.json +1670 -0
  41. package/generated-src/schemas/schemas.ts +2 -0
  42. package/generated-src/schemas/standalone/Boolean.json +5 -0
  43. package/generated-src/schemas/standalone/Boolean.ts +2 -0
  44. package/generated-src/schemas/standalone/Error.json +78 -0
  45. package/generated-src/schemas/standalone/Error.ts +2 -0
  46. package/generated-src/schemas/standalone/Goal.json +53 -0
  47. package/generated-src/schemas/standalone/Goal.ts +2 -0
  48. package/generated-src/schemas/standalone/Natural.json +6 -0
  49. package/generated-src/schemas/standalone/Natural.ts +2 -0
  50. package/generated-src/schemas/standalone/Resource.json +170 -0
  51. package/generated-src/schemas/standalone/Resource.ts +2 -0
  52. package/generated-src/schemas/standalone/ResourceType.json +131 -0
  53. package/generated-src/schemas/standalone/ResourceType.ts +2 -0
  54. package/generated-src/schemas/standalone/Strategy.json +641 -0
  55. package/generated-src/schemas/standalone/Strategy.ts +2 -0
  56. package/generated-src/schemas/standalone/StrategyTrace.json +820 -0
  57. package/generated-src/schemas/standalone/StrategyTrace.ts +2 -0
  58. package/generated-src/schemas/standalone/Tool.json +508 -0
  59. package/generated-src/schemas/standalone/Tool.ts +2 -0
  60. package/generated-src/schemas/zod/Boolean.ts +6 -0
  61. package/generated-src/schemas/zod/Error.ts +11 -0
  62. package/generated-src/schemas/zod/Goal.ts +8 -0
  63. package/generated-src/schemas/zod/Natural.ts +6 -0
  64. package/generated-src/schemas/zod/Resource.ts +21 -0
  65. package/generated-src/schemas/zod/ResourceType.ts +14 -0
  66. package/generated-src/schemas/zod/Strategy.ts +68 -0
  67. package/generated-src/schemas/zod/StrategyTrace.ts +75 -0
  68. package/generated-src/schemas/zod/Tool.ts +29 -0
  69. package/generated-src/schemas/zod/index.ts +10 -0
  70. package/generated-src/types/standalone/BooleanResource.d.ts +3 -0
  71. package/generated-src/types/standalone/BooleanResource.js +1 -0
  72. package/generated-src/types/standalone/ErrorResource.d.ts +3 -0
  73. package/generated-src/types/standalone/ErrorResource.js +1 -0
  74. package/generated-src/types/standalone/GoalResource.d.ts +3 -0
  75. package/generated-src/types/standalone/GoalResource.js +1 -0
  76. package/generated-src/types/standalone/NaturalResource.d.ts +3 -0
  77. package/generated-src/types/standalone/NaturalResource.js +1 -0
  78. package/generated-src/types/standalone/ResourceResource.d.ts +3 -0
  79. package/generated-src/types/standalone/ResourceResource.js +1 -0
  80. package/generated-src/types/standalone/ResourceTypeResource.d.ts +3 -0
  81. package/generated-src/types/standalone/ResourceTypeResource.js +1 -0
  82. package/generated-src/types/standalone/StrategyResource.d.ts +3 -0
  83. package/generated-src/types/standalone/StrategyResource.js +1 -0
  84. package/generated-src/types/standalone/StrategyTraceResource.d.ts +3 -0
  85. package/generated-src/types/standalone/StrategyTraceResource.js +1 -0
  86. package/generated-src/types/standalone/ToolResource.d.ts +3 -0
  87. package/generated-src/types/standalone/ToolResource.js +1 -0
  88. package/generated-src/types/types.d.ts +701 -0
  89. package/generated-src/types/types.js +1 -0
  90. package/package.json +52 -0
  91. package/src/genesis/resourceTypeShells.json +47 -0
  92. package/src/genesis/resources/booleans.json +24 -0
  93. package/src/genesis/resources/implementations/foo.ts +182 -0
  94. package/src/genesis/resources/naturals.json +112 -0
  95. package/src/genesis/resources/tools.json +840 -0
  96. package/src/genesis/schemas.json +1670 -0
  97. package/src/index.ts +27 -0
  98. package/src/utils/constantsAndMappings.ts +195 -0
  99. package/src/utils/coreProjection.ts +53 -0
  100. package/src/utils/resourceTypes.ts +39 -0
  101. package/src/utils/resources.ts +26 -0
  102. package/src/utils/schemaDependencies.ts +115 -0
  103. package/src/utils/schemaObjectNormalization.ts +71 -0
  104. package/src/utils/schemaRefNormalization.ts +83 -0
  105. package/src/utils/schemaShims.ts +17 -0
  106. package/src/utils/standaloneSchemas.ts +114 -0
  107. package/src/utils/standaloneTypes.ts +28 -0
  108. package/src/utils/standaloneZodSchemas.ts +72 -0
  109. package/src/utils/typeGeneration.ts +31 -0
  110. package/src/utils/typeGenerationPostProcess.ts +246 -0
  111. package/src/utils/typeGenerationPreflight.ts +119 -0
  112. package/src/utils/zodCodegen.ts +549 -0
@@ -0,0 +1,641 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "oneOf": [
4
+ {
5
+ "$ref": "#/$defs/UnthreadedStrategy"
6
+ },
7
+ {
8
+ "$ref": "#/$defs/ThreadedStrategy"
9
+ }
10
+ ],
11
+ "$defs": {
12
+ "UnthreadedStrategy": {
13
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
14
+ "type": "object",
15
+ "allOf": [
16
+ {
17
+ "$ref": "#/$defs/BaseStrategy"
18
+ },
19
+ {
20
+ "type": "object",
21
+ "properties": {
22
+ "strategyKind": {
23
+ "const": "unthreaded"
24
+ }
25
+ }
26
+ },
27
+ {
28
+ "$ref": "#/$defs/StepsFacet"
29
+ },
30
+ {
31
+ "$ref": "#/$defs/UnthreadedStrategyStateFacet"
32
+ }
33
+ ],
34
+ "unevaluatedProperties": false
35
+ },
36
+ "ThreadedStrategy": {
37
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
38
+ "type": "object",
39
+ "allOf": [
40
+ {
41
+ "$ref": "#/$defs/BaseStrategy"
42
+ },
43
+ {
44
+ "type": "object",
45
+ "properties": {
46
+ "strategyKind": {
47
+ "const": "threaded"
48
+ }
49
+ }
50
+ },
51
+ {
52
+ "$ref": "#/$defs/StepsByThreadIndexFacet"
53
+ },
54
+ {
55
+ "$ref": "#/$defs/ThreadedStrategyStateFacet"
56
+ }
57
+ ],
58
+ "unevaluatedProperties": false
59
+ },
60
+ "BaseStrategy": {
61
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
62
+ "type": "object",
63
+ "required": [
64
+ "handle",
65
+ "strategyKind"
66
+ ],
67
+ "properties": {
68
+ "handle": {
69
+ "$ref": "#/$defs/StrategyHandle"
70
+ },
71
+ "strategyKind": {
72
+ "$ref": "#/$defs/StrategyKind"
73
+ }
74
+ }
75
+ },
76
+ "StepsFacet": {
77
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
78
+ "type": "object",
79
+ "required": [
80
+ "steps"
81
+ ],
82
+ "properties": {
83
+ "steps": {
84
+ "$ref": "#/$defs/StepArray"
85
+ }
86
+ }
87
+ },
88
+ "UnthreadedStrategyStateFacet": {
89
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
90
+ "type": "object",
91
+ "required": [
92
+ "strategyState"
93
+ ],
94
+ "properties": {
95
+ "strategyState": {
96
+ "$ref": "#/$defs/UnthreadedStrategyState"
97
+ }
98
+ }
99
+ },
100
+ "StepsByThreadIndexFacet": {
101
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
102
+ "type": "object",
103
+ "required": [
104
+ "stepsByThreadIndex"
105
+ ],
106
+ "properties": {
107
+ "stepsByThreadIndex": {
108
+ "$ref": "#/$defs/StepArrayArray"
109
+ }
110
+ }
111
+ },
112
+ "ThreadedStrategyStateFacet": {
113
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
114
+ "type": "object",
115
+ "required": [
116
+ "strategyState"
117
+ ],
118
+ "properties": {
119
+ "strategyState": {
120
+ "$ref": "#/$defs/ThreadedStrategyState"
121
+ }
122
+ }
123
+ },
124
+ "StrategyHandle": {
125
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
126
+ "type": "string",
127
+ "pattern": "^STRATEGY-.+$"
128
+ },
129
+ "StrategyKind": {
130
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
131
+ "type": "string",
132
+ "enum": [
133
+ "unthreaded",
134
+ "threaded"
135
+ ]
136
+ },
137
+ "StepArray": {
138
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
139
+ "type": "array",
140
+ "items": {
141
+ "$ref": "#/$defs/Step"
142
+ },
143
+ "uniqueItems": true
144
+ },
145
+ "UnthreadedStrategyState": {
146
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
147
+ "type": "object",
148
+ "propertyNames": {
149
+ "$ref": "#/$defs/UnthreadedToolStepPath"
150
+ },
151
+ "additionalProperties": {
152
+ "$ref": "#/$defs/StrategyStateInputEntryByRoleName"
153
+ }
154
+ },
155
+ "StepArrayArray": {
156
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
157
+ "type": "array",
158
+ "items": {
159
+ "$ref": "#/$defs/StepArray"
160
+ }
161
+ },
162
+ "ThreadedStrategyState": {
163
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
164
+ "type": "object",
165
+ "propertyNames": {
166
+ "$ref": "#/$defs/ThreadedToolStepPath"
167
+ },
168
+ "additionalProperties": {
169
+ "$ref": "#/$defs/StrategyStateInputEntryByRoleName"
170
+ }
171
+ },
172
+ "Step": {
173
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
174
+ "type": "object",
175
+ "oneOf": [
176
+ {
177
+ "$ref": "#/$defs/ToolStep"
178
+ },
179
+ {
180
+ "$ref": "#/$defs/BranchStep"
181
+ },
182
+ {
183
+ "$ref": "#/$defs/WhileStep"
184
+ },
185
+ {
186
+ "$ref": "#/$defs/ForStep"
187
+ }
188
+ ],
189
+ "unevaluatedProperties": false
190
+ },
191
+ "UnthreadedToolStepPath": {
192
+ "type": "string",
193
+ "pattern": "^/steps/[0-9]+/(self|case/when|case/what|cases/[0-9]+/when|cases/[0-9]+/what)$"
194
+ },
195
+ "StrategyStateInputEntryByRoleName": {
196
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
197
+ "type": "object",
198
+ "propertyNames": {
199
+ "$ref": "#/$defs/RoleName"
200
+ },
201
+ "additionalProperties": {
202
+ "$ref": "#/$defs/StrategyStateInputEntry"
203
+ }
204
+ },
205
+ "ThreadedToolStepPath": {
206
+ "type": "string",
207
+ "pattern": "^/threads/[0-9]+/steps/[0-9]+/(self|case/when|case/what|cases/[0-9]+/when|cases/[0-9]+/what)$"
208
+ },
209
+ "ToolStep": {
210
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
211
+ "type": "object",
212
+ "required": [
213
+ "stepKind",
214
+ "toolHandle"
215
+ ],
216
+ "properties": {
217
+ "stepKind": {
218
+ "const": "tool"
219
+ },
220
+ "toolHandle": {
221
+ "$ref": "#/$defs/ToolHandle"
222
+ }
223
+ },
224
+ "allOf": [
225
+ {
226
+ "$ref": "#/$defs/StepKindFacet"
227
+ },
228
+ {
229
+ "$comment": "This will be overlaid dynamically to specify roleBindingSpec corresponding to the roleSpec of the underlying tool.",
230
+ "$ref": "#/$defs/RoleBindingSpecFacet"
231
+ }
232
+ ]
233
+ },
234
+ "BranchStep": {
235
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
236
+ "type": "object",
237
+ "required": [
238
+ "stepKind",
239
+ "cases"
240
+ ],
241
+ "properties": {
242
+ "stepKind": {
243
+ "const": "branch"
244
+ },
245
+ "cases": {
246
+ "type": "array",
247
+ "items": {
248
+ "$ref": "#/$defs/Case"
249
+ },
250
+ "minItems": 1,
251
+ "uniqueItems": true
252
+ }
253
+ },
254
+ "allOf": [
255
+ {
256
+ "$ref": "#/$defs/StepKindFacet"
257
+ }
258
+ ]
259
+ },
260
+ "WhileStep": {
261
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
262
+ "type": "object",
263
+ "required": [
264
+ "stepKind",
265
+ "case"
266
+ ],
267
+ "properties": {
268
+ "stepKind": {
269
+ "const": "while"
270
+ },
271
+ "case": {
272
+ "$ref": "#/$defs/Case"
273
+ }
274
+ },
275
+ "allOf": [
276
+ {
277
+ "$ref": "#/$defs/StepKindFacet"
278
+ }
279
+ ]
280
+ },
281
+ "ForStep": {
282
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
283
+ "type": "object",
284
+ "required": [
285
+ "stepKind",
286
+ "case"
287
+ ],
288
+ "properties": {
289
+ "stepKind": {
290
+ "const": "for"
291
+ },
292
+ "case": {
293
+ "$ref": "#/$defs/Case"
294
+ }
295
+ },
296
+ "allOf": [
297
+ {
298
+ "$ref": "#/$defs/StepKindFacet"
299
+ }
300
+ ]
301
+ },
302
+ "RoleName": {
303
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
304
+ "$ref": "#/$defs/Name"
305
+ },
306
+ "StrategyStateInputEntry": {
307
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
308
+ "oneOf": [
309
+ {
310
+ "$ref": "#/$defs/InputPotential"
311
+ },
312
+ {
313
+ "$ref": "#/$defs/InputResource"
314
+ }
315
+ ]
316
+ },
317
+ "ToolHandle": {
318
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
319
+ "type": "string",
320
+ "pattern": "^TOOL-.+$"
321
+ },
322
+ "StepKindFacet": {
323
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
324
+ "type": "object",
325
+ "required": [
326
+ "stepKind"
327
+ ],
328
+ "properties": {
329
+ "stepKind": {
330
+ "$ref": "#/$defs/StepKind"
331
+ }
332
+ }
333
+ },
334
+ "RoleBindingSpecFacet": {
335
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
336
+ "type": "object",
337
+ "required": [
338
+ "roleBindingSpec"
339
+ ],
340
+ "properties": {
341
+ "roleBindingSpec": {
342
+ "$ref": "#/$defs/RoleBindingSpec"
343
+ }
344
+ }
345
+ },
346
+ "Case": {
347
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
348
+ "type": "object",
349
+ "required": [
350
+ "when",
351
+ "what"
352
+ ],
353
+ "properties": {
354
+ "when": {
355
+ "$ref": "#/$defs/ToolStep"
356
+ },
357
+ "what": {
358
+ "$ref": "#/$defs/ToolStep"
359
+ }
360
+ },
361
+ "unevaluatedProperties": false
362
+ },
363
+ "Name": {
364
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
365
+ "type": "string",
366
+ "minLength": 1,
367
+ "pattern": "^[A-Z][a-zA-Z0-9]*$",
368
+ "$comment": "Validation is intercepted by an AI Agent that verifies the name against Toolproof's naming conventions.",
369
+ "semanticValidation": "Ajv custom keyword to verify name."
370
+ },
371
+ "InputPotential": {
372
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
373
+ "oneOf": [
374
+ {
375
+ "$ref": "#/$defs/ExternalInputPotential"
376
+ },
377
+ {
378
+ "$ref": "#/$defs/InternalInputPotential"
379
+ }
380
+ ]
381
+ },
382
+ "InputResource": {
383
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
384
+ "type": "object",
385
+ "required": [
386
+ "strategyStateInputKind"
387
+ ],
388
+ "properties": {
389
+ "strategyStateInputKind": {
390
+ "const": "inputResource"
391
+ }
392
+ },
393
+ "allOf": [
394
+ {
395
+ "$ref": "#/$defs/BaseResource"
396
+ }
397
+ ],
398
+ "unevaluatedProperties": false
399
+ },
400
+ "StepKind": {
401
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
402
+ "type": "string",
403
+ "enum": [
404
+ "tool",
405
+ "branch",
406
+ "while",
407
+ "for"
408
+ ]
409
+ },
410
+ "RoleBindingSpec": {
411
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
412
+ "type": "object",
413
+ "required": [
414
+ "inputBindings",
415
+ "outputBindings"
416
+ ],
417
+ "properties": {
418
+ "inputBindings": {
419
+ "$ref": "#/$defs/RoleNameArray"
420
+ },
421
+ "outputBindings": {
422
+ "$ref": "#/$defs/RoleNameArray"
423
+ }
424
+ },
425
+ "unevaluatedProperties": false
426
+ },
427
+ "ExternalInputPotential": {
428
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
429
+ "type": "object",
430
+ "required": [
431
+ "strategyStateInputKind",
432
+ "id",
433
+ "resourceTypeHandle"
434
+ ],
435
+ "properties": {
436
+ "strategyStateInputKind": {
437
+ "const": "externalInputPotential"
438
+ },
439
+ "id": {
440
+ "$ref": "#/$defs/ResourceId"
441
+ },
442
+ "resourceTypeHandle": {
443
+ "$ref": "#/$defs/ResourceTypeHandle"
444
+ }
445
+ },
446
+ "unevaluatedProperties": false
447
+ },
448
+ "InternalInputPotential": {
449
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
450
+ "type": "object",
451
+ "required": [
452
+ "strategyStateInputKind",
453
+ "id",
454
+ "resourceTypeHandle",
455
+ "provenance"
456
+ ],
457
+ "properties": {
458
+ "strategyStateInputKind": {
459
+ "const": "internalInputPotential"
460
+ },
461
+ "id": {
462
+ "$ref": "#/$defs/ResourceId"
463
+ },
464
+ "resourceTypeHandle": {
465
+ "$ref": "#/$defs/ResourceTypeHandle"
466
+ },
467
+ "provenance": {
468
+ "$ref": "#/$defs/DeferredStrategyProvenance"
469
+ }
470
+ },
471
+ "unevaluatedProperties": false
472
+ },
473
+ "BaseResource": {
474
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
475
+ "type": "object",
476
+ "required": [
477
+ "value"
478
+ ],
479
+ "properties": {
480
+ "value": true
481
+ },
482
+ "$comment": "This will be overlaid dynamically to match the data structure of the underlying ResourceType's valueSchema.",
483
+ "allOf": [
484
+ {
485
+ "$ref": "#/$defs/ResourcePointer"
486
+ }
487
+ ]
488
+ },
489
+ "RoleNameArray": {
490
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
491
+ "type": "array",
492
+ "items": {
493
+ "$ref": "#/$defs/RoleName"
494
+ }
495
+ },
496
+ "ResourceId": {
497
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
498
+ "type": "string",
499
+ "pattern": "^RESOURCE-.+$"
500
+ },
501
+ "ResourceTypeHandle": {
502
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
503
+ "type": "string",
504
+ "pattern": "^TYPE-.+$"
505
+ },
506
+ "DeferredStrategyProvenance": {
507
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
508
+ "$comment": "Build-time strategy provenance without strategyTraceHandle. strategyTraceHandle is only known at runtime.",
509
+ "type": "object",
510
+ "required": [
511
+ "provenanceKind",
512
+ "outputAddress"
513
+ ],
514
+ "properties": {
515
+ "provenanceKind": {
516
+ "const": "strategy"
517
+ },
518
+ "outputAddress": {
519
+ "$ref": "#/$defs/OutputAddress"
520
+ }
521
+ },
522
+ "unevaluatedProperties": false
523
+ },
524
+ "ResourcePointer": {
525
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
526
+ "type": "object",
527
+ "required": [
528
+ "id",
529
+ "resourceTypeHandle",
530
+ "version"
531
+ ],
532
+ "properties": {
533
+ "id": {
534
+ "$ref": "#/$defs/ResourceId"
535
+ },
536
+ "resourceTypeHandle": {
537
+ "$ref": "#/$defs/ResourceTypeHandle"
538
+ },
539
+ "version": {
540
+ "const": 1
541
+ }
542
+ },
543
+ "allOf": [
544
+ {
545
+ "$ref": "#/$defs/ProvenanceFacet"
546
+ }
547
+ ],
548
+ "unevaluatedProperties": false
549
+ },
550
+ "OutputAddress": {
551
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
552
+ "type": "object",
553
+ "required": [
554
+ "roleName",
555
+ "toolStepPath"
556
+ ],
557
+ "properties": {
558
+ "roleName": {
559
+ "$ref": "#/$defs/RoleName"
560
+ },
561
+ "toolStepPath": {
562
+ "$ref": "#/$defs/ToolStepPath"
563
+ }
564
+ },
565
+ "unevaluatedProperties": false
566
+ },
567
+ "ProvenanceFacet": {
568
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
569
+ "type": "object",
570
+ "required": [
571
+ "provenance"
572
+ ],
573
+ "properties": {
574
+ "provenance": {
575
+ "$ref": "#/$defs/Provenance"
576
+ }
577
+ }
578
+ },
579
+ "ToolStepPath": {
580
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
581
+ "oneOf": [
582
+ {
583
+ "$ref": "#/$defs/UnthreadedToolStepPath"
584
+ },
585
+ {
586
+ "$ref": "#/$defs/ThreadedToolStepPath"
587
+ }
588
+ ]
589
+ },
590
+ "Provenance": {
591
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
592
+ "oneOf": [
593
+ {
594
+ "$ref": "#/$defs/GenesisProvenance"
595
+ },
596
+ {
597
+ "$ref": "#/$defs/StrategyProvenance"
598
+ }
599
+ ]
600
+ },
601
+ "GenesisProvenance": {
602
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
603
+ "type": "object",
604
+ "required": [
605
+ "provenanceKind"
606
+ ],
607
+ "properties": {
608
+ "provenanceKind": {
609
+ "const": "genesis"
610
+ }
611
+ },
612
+ "unevaluatedProperties": false
613
+ },
614
+ "StrategyProvenance": {
615
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
616
+ "type": "object",
617
+ "required": [
618
+ "provenanceKind",
619
+ "strategyTraceHandle",
620
+ "outputAddress"
621
+ ],
622
+ "properties": {
623
+ "provenanceKind": {
624
+ "const": "strategy"
625
+ },
626
+ "strategyTraceHandle": {
627
+ "$ref": "#/$defs/StrategyTraceHandle"
628
+ },
629
+ "outputAddress": {
630
+ "$ref": "#/$defs/OutputAddress"
631
+ }
632
+ },
633
+ "unevaluatedProperties": false
634
+ },
635
+ "StrategyTraceHandle": {
636
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
637
+ "type": "string",
638
+ "pattern": "^STRATEGY_TRACE-.+$"
639
+ }
640
+ }
641
+ }
@@ -0,0 +1,2 @@
1
+ import schema from './Strategy.json' with { type: 'json' };
2
+ export default schema;