@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,820 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "required": [
5
+ "handle",
6
+ "strategyHandle",
7
+ "tracePoints"
8
+ ],
9
+ "properties": {
10
+ "handle": {
11
+ "$ref": "#/$defs/StrategyTraceHandle"
12
+ },
13
+ "strategyHandle": {
14
+ "$comment": "Could be derived from the first event but useful for indexing.",
15
+ "$ref": "#/$defs/StrategyHandle"
16
+ },
17
+ "tracePoints": {
18
+ "type": "array",
19
+ "items": {
20
+ "$ref": "#/$defs/TracePoint"
21
+ }
22
+ }
23
+ },
24
+ "unevaluatedProperties": false,
25
+ "$defs": {
26
+ "StrategyTraceHandle": {
27
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
28
+ "type": "string",
29
+ "pattern": "^STRATEGY_TRACE-.+$"
30
+ },
31
+ "StrategyHandle": {
32
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
33
+ "type": "string",
34
+ "pattern": "^STRATEGY-.+$"
35
+ },
36
+ "TracePoint": {
37
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
38
+ "type": "object",
39
+ "oneOf": [
40
+ {
41
+ "$ref": "#/$defs/GraphStartTracePoint"
42
+ },
43
+ {
44
+ "$ref": "#/$defs/TickTracePoint"
45
+ },
46
+ {
47
+ "$ref": "#/$defs/InterruptTracePoint"
48
+ },
49
+ {
50
+ "$ref": "#/$defs/GraphEndTracePoint"
51
+ }
52
+ ]
53
+ },
54
+ "GraphStartTracePoint": {
55
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
56
+ "allOf": [
57
+ {
58
+ "$ref": "#/$defs/BaseTracePoint"
59
+ },
60
+ {
61
+ "type": "object",
62
+ "properties": {
63
+ "tracePointKind": {
64
+ "const": "graph_start"
65
+ }
66
+ }
67
+ },
68
+ {
69
+ "$ref": "#/$defs/ThreadedStrategyFacet"
70
+ }
71
+ ]
72
+ },
73
+ "TickTracePoint": {
74
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
75
+ "allOf": [
76
+ {
77
+ "$ref": "#/$defs/BaseTracePoint"
78
+ },
79
+ {
80
+ "type": "object",
81
+ "required": [
82
+ "counterSnapshot",
83
+ "toolStepPath",
84
+ "delta"
85
+ ],
86
+ "properties": {
87
+ "tracePointKind": {
88
+ "const": "tick"
89
+ },
90
+ "counterSnapshot": {
91
+ "$ref": "#/$defs/TracePointCounterSnapshot"
92
+ },
93
+ "toolStepPath": {
94
+ "$ref": "#/$defs/ThreadedToolStepPath"
95
+ },
96
+ "delta": {
97
+ "$ref": "#/$defs/TracePointDelta"
98
+ }
99
+ }
100
+ }
101
+ ]
102
+ },
103
+ "InterruptTracePoint": {
104
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
105
+ "allOf": [
106
+ {
107
+ "$ref": "#/$defs/BaseTracePoint"
108
+ },
109
+ {
110
+ "type": "object",
111
+ "required": [
112
+ "counterSnapshot",
113
+ "toolStepPath",
114
+ "delta"
115
+ ],
116
+ "properties": {
117
+ "tracePointKind": {
118
+ "const": "interrupt"
119
+ },
120
+ "counterSnapshot": {
121
+ "$ref": "#/$defs/TracePointCounterSnapshot"
122
+ },
123
+ "toolStepPath": {
124
+ "$ref": "#/$defs/ThreadedToolStepPath"
125
+ },
126
+ "delta": {
127
+ "allOf": [
128
+ {
129
+ "$ref": "#/$defs/TracePointDelta"
130
+ },
131
+ {
132
+ "type": "object",
133
+ "required": [
134
+ "interruptData"
135
+ ],
136
+ "properties": {
137
+ "interruptData": {
138
+ "$comment": "Interrupt events must include a non-null interrupt payload.",
139
+ "type": "object"
140
+ }
141
+ }
142
+ }
143
+ ]
144
+ }
145
+ }
146
+ }
147
+ ]
148
+ },
149
+ "GraphEndTracePoint": {
150
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
151
+ "allOf": [
152
+ {
153
+ "$ref": "#/$defs/BaseTracePoint"
154
+ },
155
+ {
156
+ "type": "object",
157
+ "properties": {
158
+ "tracePointKind": {
159
+ "const": "graph_end"
160
+ }
161
+ }
162
+ }
163
+ ]
164
+ },
165
+ "BaseTracePoint": {
166
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
167
+ "type": "object",
168
+ "required": [
169
+ "tracePointKind",
170
+ "strategyHandle",
171
+ "threadIndex",
172
+ "tracePointIndex"
173
+ ],
174
+ "properties": {
175
+ "tracePointKind": {
176
+ "$ref": "#/$defs/TracePointKind"
177
+ },
178
+ "strategyHandle": {
179
+ "$ref": "#/$defs/StrategyHandle"
180
+ },
181
+ "threadIndex": {
182
+ "$ref": "#/$defs/Natural"
183
+ },
184
+ "tracePointIndex": {
185
+ "$ref": "#/$defs/Natural"
186
+ }
187
+ }
188
+ },
189
+ "ThreadedStrategyFacet": {
190
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
191
+ "type": "object",
192
+ "required": [
193
+ "threadedStrategy"
194
+ ],
195
+ "properties": {
196
+ "threadedStrategy": {
197
+ "$ref": "#/$defs/ThreadedStrategy"
198
+ }
199
+ }
200
+ },
201
+ "TracePointCounterSnapshot": {
202
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
203
+ "type": "object",
204
+ "properties": {
205
+ "stepCounterAfter": {
206
+ "$ref": "#/$defs/Natural"
207
+ },
208
+ "iterationCounterAfter": {
209
+ "$ref": "#/$defs/Natural"
210
+ }
211
+ }
212
+ },
213
+ "ThreadedToolStepPath": {
214
+ "type": "string",
215
+ "pattern": "^/threads/[0-9]+/steps/[0-9]+/(self|case/when|case/what|cases/[0-9]+/when|cases/[0-9]+/what)$"
216
+ },
217
+ "TracePointDelta": {
218
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
219
+ "type": "object",
220
+ "properties": {
221
+ "stepsMutation": {
222
+ "type": "object",
223
+ "required": [
224
+ "insertAt",
225
+ "insertedSteps"
226
+ ],
227
+ "properties": {
228
+ "insertAt": {
229
+ "$ref": "#/$defs/Natural"
230
+ },
231
+ "insertedSteps": {
232
+ "$ref": "#/$defs/StepArray"
233
+ }
234
+ }
235
+ },
236
+ "strategyStateDelta": {
237
+ "$ref": "#/$defs/ThreadedStrategyState"
238
+ },
239
+ "interruptData": {
240
+ "$comment": "Kept permissive; the engine may evolve interrupt payloads.",
241
+ "type": [
242
+ "object",
243
+ "null"
244
+ ]
245
+ }
246
+ }
247
+ },
248
+ "TracePointKind": {
249
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
250
+ "type": "string",
251
+ "enum": [
252
+ "graph_start",
253
+ "tick",
254
+ "interrupt",
255
+ "graph_end"
256
+ ]
257
+ },
258
+ "Natural": {
259
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
260
+ "type": "integer",
261
+ "minimum": 0
262
+ },
263
+ "ThreadedStrategy": {
264
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
265
+ "type": "object",
266
+ "allOf": [
267
+ {
268
+ "$ref": "#/$defs/BaseStrategy"
269
+ },
270
+ {
271
+ "type": "object",
272
+ "properties": {
273
+ "strategyKind": {
274
+ "const": "threaded"
275
+ }
276
+ }
277
+ },
278
+ {
279
+ "$ref": "#/$defs/StepsByThreadIndexFacet"
280
+ },
281
+ {
282
+ "$ref": "#/$defs/ThreadedStrategyStateFacet"
283
+ }
284
+ ],
285
+ "unevaluatedProperties": false
286
+ },
287
+ "StepArray": {
288
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
289
+ "type": "array",
290
+ "items": {
291
+ "$ref": "#/$defs/Step"
292
+ },
293
+ "uniqueItems": true
294
+ },
295
+ "ThreadedStrategyState": {
296
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
297
+ "type": "object",
298
+ "propertyNames": {
299
+ "$ref": "#/$defs/ThreadedToolStepPath"
300
+ },
301
+ "additionalProperties": {
302
+ "$ref": "#/$defs/StrategyStateInputEntryByRoleName"
303
+ }
304
+ },
305
+ "BaseStrategy": {
306
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
307
+ "type": "object",
308
+ "required": [
309
+ "handle",
310
+ "strategyKind"
311
+ ],
312
+ "properties": {
313
+ "handle": {
314
+ "$ref": "#/$defs/StrategyHandle"
315
+ },
316
+ "strategyKind": {
317
+ "$ref": "#/$defs/StrategyKind"
318
+ }
319
+ }
320
+ },
321
+ "StepsByThreadIndexFacet": {
322
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
323
+ "type": "object",
324
+ "required": [
325
+ "stepsByThreadIndex"
326
+ ],
327
+ "properties": {
328
+ "stepsByThreadIndex": {
329
+ "$ref": "#/$defs/StepArrayArray"
330
+ }
331
+ }
332
+ },
333
+ "ThreadedStrategyStateFacet": {
334
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
335
+ "type": "object",
336
+ "required": [
337
+ "strategyState"
338
+ ],
339
+ "properties": {
340
+ "strategyState": {
341
+ "$ref": "#/$defs/ThreadedStrategyState"
342
+ }
343
+ }
344
+ },
345
+ "Step": {
346
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
347
+ "type": "object",
348
+ "oneOf": [
349
+ {
350
+ "$ref": "#/$defs/ToolStep"
351
+ },
352
+ {
353
+ "$ref": "#/$defs/BranchStep"
354
+ },
355
+ {
356
+ "$ref": "#/$defs/WhileStep"
357
+ },
358
+ {
359
+ "$ref": "#/$defs/ForStep"
360
+ }
361
+ ],
362
+ "unevaluatedProperties": false
363
+ },
364
+ "StrategyStateInputEntryByRoleName": {
365
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
366
+ "type": "object",
367
+ "propertyNames": {
368
+ "$ref": "#/$defs/RoleName"
369
+ },
370
+ "additionalProperties": {
371
+ "$ref": "#/$defs/StrategyStateInputEntry"
372
+ }
373
+ },
374
+ "StrategyKind": {
375
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
376
+ "type": "string",
377
+ "enum": [
378
+ "unthreaded",
379
+ "threaded"
380
+ ]
381
+ },
382
+ "StepArrayArray": {
383
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
384
+ "type": "array",
385
+ "items": {
386
+ "$ref": "#/$defs/StepArray"
387
+ }
388
+ },
389
+ "ToolStep": {
390
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
391
+ "type": "object",
392
+ "required": [
393
+ "stepKind",
394
+ "toolHandle"
395
+ ],
396
+ "properties": {
397
+ "stepKind": {
398
+ "const": "tool"
399
+ },
400
+ "toolHandle": {
401
+ "$ref": "#/$defs/ToolHandle"
402
+ }
403
+ },
404
+ "allOf": [
405
+ {
406
+ "$ref": "#/$defs/StepKindFacet"
407
+ },
408
+ {
409
+ "$comment": "This will be overlaid dynamically to specify roleBindingSpec corresponding to the roleSpec of the underlying tool.",
410
+ "$ref": "#/$defs/RoleBindingSpecFacet"
411
+ }
412
+ ]
413
+ },
414
+ "BranchStep": {
415
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
416
+ "type": "object",
417
+ "required": [
418
+ "stepKind",
419
+ "cases"
420
+ ],
421
+ "properties": {
422
+ "stepKind": {
423
+ "const": "branch"
424
+ },
425
+ "cases": {
426
+ "type": "array",
427
+ "items": {
428
+ "$ref": "#/$defs/Case"
429
+ },
430
+ "minItems": 1,
431
+ "uniqueItems": true
432
+ }
433
+ },
434
+ "allOf": [
435
+ {
436
+ "$ref": "#/$defs/StepKindFacet"
437
+ }
438
+ ]
439
+ },
440
+ "WhileStep": {
441
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
442
+ "type": "object",
443
+ "required": [
444
+ "stepKind",
445
+ "case"
446
+ ],
447
+ "properties": {
448
+ "stepKind": {
449
+ "const": "while"
450
+ },
451
+ "case": {
452
+ "$ref": "#/$defs/Case"
453
+ }
454
+ },
455
+ "allOf": [
456
+ {
457
+ "$ref": "#/$defs/StepKindFacet"
458
+ }
459
+ ]
460
+ },
461
+ "ForStep": {
462
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
463
+ "type": "object",
464
+ "required": [
465
+ "stepKind",
466
+ "case"
467
+ ],
468
+ "properties": {
469
+ "stepKind": {
470
+ "const": "for"
471
+ },
472
+ "case": {
473
+ "$ref": "#/$defs/Case"
474
+ }
475
+ },
476
+ "allOf": [
477
+ {
478
+ "$ref": "#/$defs/StepKindFacet"
479
+ }
480
+ ]
481
+ },
482
+ "RoleName": {
483
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
484
+ "$ref": "#/$defs/Name"
485
+ },
486
+ "StrategyStateInputEntry": {
487
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
488
+ "oneOf": [
489
+ {
490
+ "$ref": "#/$defs/InputPotential"
491
+ },
492
+ {
493
+ "$ref": "#/$defs/InputResource"
494
+ }
495
+ ]
496
+ },
497
+ "ToolHandle": {
498
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
499
+ "type": "string",
500
+ "pattern": "^TOOL-.+$"
501
+ },
502
+ "StepKindFacet": {
503
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
504
+ "type": "object",
505
+ "required": [
506
+ "stepKind"
507
+ ],
508
+ "properties": {
509
+ "stepKind": {
510
+ "$ref": "#/$defs/StepKind"
511
+ }
512
+ }
513
+ },
514
+ "RoleBindingSpecFacet": {
515
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
516
+ "type": "object",
517
+ "required": [
518
+ "roleBindingSpec"
519
+ ],
520
+ "properties": {
521
+ "roleBindingSpec": {
522
+ "$ref": "#/$defs/RoleBindingSpec"
523
+ }
524
+ }
525
+ },
526
+ "Case": {
527
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
528
+ "type": "object",
529
+ "required": [
530
+ "when",
531
+ "what"
532
+ ],
533
+ "properties": {
534
+ "when": {
535
+ "$ref": "#/$defs/ToolStep"
536
+ },
537
+ "what": {
538
+ "$ref": "#/$defs/ToolStep"
539
+ }
540
+ },
541
+ "unevaluatedProperties": false
542
+ },
543
+ "Name": {
544
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
545
+ "type": "string",
546
+ "minLength": 1,
547
+ "pattern": "^[A-Z][a-zA-Z0-9]*$",
548
+ "$comment": "Validation is intercepted by an AI Agent that verifies the name against Toolproof's naming conventions.",
549
+ "semanticValidation": "Ajv custom keyword to verify name."
550
+ },
551
+ "InputPotential": {
552
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
553
+ "oneOf": [
554
+ {
555
+ "$ref": "#/$defs/ExternalInputPotential"
556
+ },
557
+ {
558
+ "$ref": "#/$defs/InternalInputPotential"
559
+ }
560
+ ]
561
+ },
562
+ "InputResource": {
563
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
564
+ "type": "object",
565
+ "required": [
566
+ "strategyStateInputKind"
567
+ ],
568
+ "properties": {
569
+ "strategyStateInputKind": {
570
+ "const": "inputResource"
571
+ }
572
+ },
573
+ "allOf": [
574
+ {
575
+ "$ref": "#/$defs/BaseResource"
576
+ }
577
+ ],
578
+ "unevaluatedProperties": false
579
+ },
580
+ "StepKind": {
581
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
582
+ "type": "string",
583
+ "enum": [
584
+ "tool",
585
+ "branch",
586
+ "while",
587
+ "for"
588
+ ]
589
+ },
590
+ "RoleBindingSpec": {
591
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
592
+ "type": "object",
593
+ "required": [
594
+ "inputBindings",
595
+ "outputBindings"
596
+ ],
597
+ "properties": {
598
+ "inputBindings": {
599
+ "$ref": "#/$defs/RoleNameArray"
600
+ },
601
+ "outputBindings": {
602
+ "$ref": "#/$defs/RoleNameArray"
603
+ }
604
+ },
605
+ "unevaluatedProperties": false
606
+ },
607
+ "ExternalInputPotential": {
608
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
609
+ "type": "object",
610
+ "required": [
611
+ "strategyStateInputKind",
612
+ "id",
613
+ "resourceTypeHandle"
614
+ ],
615
+ "properties": {
616
+ "strategyStateInputKind": {
617
+ "const": "externalInputPotential"
618
+ },
619
+ "id": {
620
+ "$ref": "#/$defs/ResourceId"
621
+ },
622
+ "resourceTypeHandle": {
623
+ "$ref": "#/$defs/ResourceTypeHandle"
624
+ }
625
+ },
626
+ "unevaluatedProperties": false
627
+ },
628
+ "InternalInputPotential": {
629
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
630
+ "type": "object",
631
+ "required": [
632
+ "strategyStateInputKind",
633
+ "id",
634
+ "resourceTypeHandle",
635
+ "provenance"
636
+ ],
637
+ "properties": {
638
+ "strategyStateInputKind": {
639
+ "const": "internalInputPotential"
640
+ },
641
+ "id": {
642
+ "$ref": "#/$defs/ResourceId"
643
+ },
644
+ "resourceTypeHandle": {
645
+ "$ref": "#/$defs/ResourceTypeHandle"
646
+ },
647
+ "provenance": {
648
+ "$ref": "#/$defs/DeferredStrategyProvenance"
649
+ }
650
+ },
651
+ "unevaluatedProperties": false
652
+ },
653
+ "BaseResource": {
654
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
655
+ "type": "object",
656
+ "required": [
657
+ "value"
658
+ ],
659
+ "properties": {
660
+ "value": true
661
+ },
662
+ "$comment": "This will be overlaid dynamically to match the data structure of the underlying ResourceType's valueSchema.",
663
+ "allOf": [
664
+ {
665
+ "$ref": "#/$defs/ResourcePointer"
666
+ }
667
+ ]
668
+ },
669
+ "RoleNameArray": {
670
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
671
+ "type": "array",
672
+ "items": {
673
+ "$ref": "#/$defs/RoleName"
674
+ }
675
+ },
676
+ "ResourceId": {
677
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
678
+ "type": "string",
679
+ "pattern": "^RESOURCE-.+$"
680
+ },
681
+ "ResourceTypeHandle": {
682
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
683
+ "type": "string",
684
+ "pattern": "^TYPE-.+$"
685
+ },
686
+ "DeferredStrategyProvenance": {
687
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
688
+ "$comment": "Build-time strategy provenance without strategyTraceHandle. strategyTraceHandle is only known at runtime.",
689
+ "type": "object",
690
+ "required": [
691
+ "provenanceKind",
692
+ "outputAddress"
693
+ ],
694
+ "properties": {
695
+ "provenanceKind": {
696
+ "const": "strategy"
697
+ },
698
+ "outputAddress": {
699
+ "$ref": "#/$defs/OutputAddress"
700
+ }
701
+ },
702
+ "unevaluatedProperties": false
703
+ },
704
+ "ResourcePointer": {
705
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
706
+ "type": "object",
707
+ "required": [
708
+ "id",
709
+ "resourceTypeHandle",
710
+ "version"
711
+ ],
712
+ "properties": {
713
+ "id": {
714
+ "$ref": "#/$defs/ResourceId"
715
+ },
716
+ "resourceTypeHandle": {
717
+ "$ref": "#/$defs/ResourceTypeHandle"
718
+ },
719
+ "version": {
720
+ "const": 1
721
+ }
722
+ },
723
+ "allOf": [
724
+ {
725
+ "$ref": "#/$defs/ProvenanceFacet"
726
+ }
727
+ ],
728
+ "unevaluatedProperties": false
729
+ },
730
+ "OutputAddress": {
731
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
732
+ "type": "object",
733
+ "required": [
734
+ "roleName",
735
+ "toolStepPath"
736
+ ],
737
+ "properties": {
738
+ "roleName": {
739
+ "$ref": "#/$defs/RoleName"
740
+ },
741
+ "toolStepPath": {
742
+ "$ref": "#/$defs/ToolStepPath"
743
+ }
744
+ },
745
+ "unevaluatedProperties": false
746
+ },
747
+ "ProvenanceFacet": {
748
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
749
+ "type": "object",
750
+ "required": [
751
+ "provenance"
752
+ ],
753
+ "properties": {
754
+ "provenance": {
755
+ "$ref": "#/$defs/Provenance"
756
+ }
757
+ }
758
+ },
759
+ "ToolStepPath": {
760
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
761
+ "oneOf": [
762
+ {
763
+ "$ref": "#/$defs/UnthreadedToolStepPath"
764
+ },
765
+ {
766
+ "$ref": "#/$defs/ThreadedToolStepPath"
767
+ }
768
+ ]
769
+ },
770
+ "Provenance": {
771
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
772
+ "oneOf": [
773
+ {
774
+ "$ref": "#/$defs/GenesisProvenance"
775
+ },
776
+ {
777
+ "$ref": "#/$defs/StrategyProvenance"
778
+ }
779
+ ]
780
+ },
781
+ "UnthreadedToolStepPath": {
782
+ "type": "string",
783
+ "pattern": "^/steps/[0-9]+/(self|case/when|case/what|cases/[0-9]+/when|cases/[0-9]+/what)$"
784
+ },
785
+ "GenesisProvenance": {
786
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
787
+ "type": "object",
788
+ "required": [
789
+ "provenanceKind"
790
+ ],
791
+ "properties": {
792
+ "provenanceKind": {
793
+ "const": "genesis"
794
+ }
795
+ },
796
+ "unevaluatedProperties": false
797
+ },
798
+ "StrategyProvenance": {
799
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
800
+ "type": "object",
801
+ "required": [
802
+ "provenanceKind",
803
+ "strategyTraceHandle",
804
+ "outputAddress"
805
+ ],
806
+ "properties": {
807
+ "provenanceKind": {
808
+ "const": "strategy"
809
+ },
810
+ "strategyTraceHandle": {
811
+ "$ref": "#/$defs/StrategyTraceHandle"
812
+ },
813
+ "outputAddress": {
814
+ "$ref": "#/$defs/OutputAddress"
815
+ }
816
+ },
817
+ "unevaluatedProperties": false
818
+ }
819
+ }
820
+ }