@toolproof-core/genesis 1.0.53 → 1.0.54

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 (185) hide show
  1. package/dist/generated-src/declarations/booleans.d.ts +2 -0
  2. package/{generated-src → dist/generated-src}/declarations/booleans.json +1 -1
  3. package/dist/generated-src/declarations/naturals.d.ts +2 -0
  4. package/{generated-src → dist/generated-src}/declarations/naturals.json +1 -1
  5. package/dist/generated-src/declarations/resourceTypes.d.ts +2 -0
  6. package/{generated-src → dist/generated-src}/declarations/resourceTypes.json +1 -1
  7. package/dist/generated-src/declarations/tools.d.ts +2 -0
  8. package/{generated-src → dist/generated-src}/declarations/tools.json +1 -1
  9. package/dist/generated-src/implementations/tools.d.ts +100 -0
  10. package/dist/generated-src/implementations/tools.js +135 -0
  11. package/dist/generated-src/lookups/constants.d.ts +195 -0
  12. package/{generated-src/lookups/constants.ts → dist/generated-src/lookups/constants.js} +1 -2
  13. package/dist/generated-src/lookups/mappings.d.ts +11 -0
  14. package/{generated-src/lookups/mappings.ts → dist/generated-src/lookups/mappings.js} +1 -2
  15. package/dist/generated-src/schemas/schemas.d.ts +2 -0
  16. package/{generated-src → dist/generated-src}/schemas/schemas.json +1 -1
  17. package/dist/generated-src/schemas/standalone/Boolean.d.ts +2 -0
  18. package/dist/generated-src/schemas/standalone/Boolean.json +5 -0
  19. package/dist/generated-src/schemas/standalone/Error.d.ts +2 -0
  20. package/dist/generated-src/schemas/standalone/Error.json +78 -0
  21. package/dist/generated-src/schemas/standalone/Goal.d.ts +2 -0
  22. package/dist/generated-src/schemas/standalone/Goal.json +53 -0
  23. package/dist/generated-src/schemas/standalone/Natural.d.ts +2 -0
  24. package/dist/generated-src/schemas/standalone/Natural.json +6 -0
  25. package/dist/generated-src/schemas/standalone/Resource.d.ts +2 -0
  26. package/dist/generated-src/schemas/standalone/Resource.json +166 -0
  27. package/dist/generated-src/schemas/standalone/ResourceType.d.ts +2 -0
  28. package/dist/generated-src/schemas/standalone/ResourceType.json +147 -0
  29. package/dist/generated-src/schemas/standalone/Strategy.d.ts +2 -0
  30. package/dist/generated-src/schemas/standalone/Strategy.json +637 -0
  31. package/dist/generated-src/schemas/standalone/StrategyTrace.d.ts +2 -0
  32. package/dist/generated-src/schemas/standalone/StrategyTrace.json +816 -0
  33. package/dist/generated-src/schemas/standalone/Suite.d.ts +2 -0
  34. package/dist/generated-src/schemas/standalone/Suite.json +646 -0
  35. package/dist/generated-src/schemas/standalone/Tool.d.ts +2 -0
  36. package/dist/generated-src/schemas/standalone/Tool.json +533 -0
  37. package/dist/generated-src/schemas/zod/Boolean.d.ts +2 -0
  38. package/{generated-src/schemas/zod/Boolean.ts → dist/generated-src/schemas/zod/Boolean.js} +1 -4
  39. package/dist/generated-src/schemas/zod/Error.d.ts +2 -0
  40. package/dist/generated-src/schemas/zod/Error.js +8 -0
  41. package/dist/generated-src/schemas/zod/Goal.d.ts +2 -0
  42. package/dist/generated-src/schemas/zod/Goal.js +5 -0
  43. package/dist/generated-src/schemas/zod/Natural.d.ts +2 -0
  44. package/{generated-src/schemas/zod/Natural.ts → dist/generated-src/schemas/zod/Natural.js} +1 -4
  45. package/dist/generated-src/schemas/zod/Resource.d.ts +2 -0
  46. package/dist/generated-src/schemas/zod/Resource.js +18 -0
  47. package/dist/generated-src/schemas/zod/ResourceType.d.ts +2 -0
  48. package/dist/generated-src/schemas/zod/ResourceType.js +11 -0
  49. package/dist/generated-src/schemas/zod/Strategy.d.ts +12 -0
  50. package/dist/generated-src/schemas/zod/Strategy.js +70 -0
  51. package/dist/generated-src/schemas/zod/StrategyTrace.d.ts +12 -0
  52. package/dist/generated-src/schemas/zod/StrategyTrace.js +74 -0
  53. package/dist/generated-src/schemas/zod/Suite.d.ts +15 -0
  54. package/dist/generated-src/schemas/zod/Suite.js +40 -0
  55. package/dist/generated-src/schemas/zod/Tool.d.ts +9 -0
  56. package/dist/generated-src/schemas/zod/Tool.js +30 -0
  57. package/dist/generated-src/schemas/zod/index.d.ts +10 -0
  58. package/dist/generated-src/timestampedResources/booleans.d.ts +2 -0
  59. package/{generated-src → dist/generated-src}/timestampedResources/booleans.json +1 -1
  60. package/dist/generated-src/timestampedResources/naturals.d.ts +2 -0
  61. package/{generated-src → dist/generated-src}/timestampedResources/naturals.json +1 -1
  62. package/dist/generated-src/timestampedResources/resourceTypes.d.ts +2 -0
  63. package/{generated-src → dist/generated-src}/timestampedResources/resourceTypes.json +1 -1
  64. package/dist/generated-src/timestampedResources/tools.d.ts +2 -0
  65. package/{generated-src → dist/generated-src}/timestampedResources/tools.json +1 -1
  66. package/dist/index.d.ts +1 -0
  67. package/dist/index.js +1 -0
  68. package/dist/scripts/_lib/config.d.ts +83 -0
  69. package/dist/scripts/_lib/config.js +269 -0
  70. package/dist/scripts/generateConstantsAndMappings.d.ts +1 -0
  71. package/dist/scripts/generateConstantsAndMappings.js +41 -0
  72. package/dist/scripts/generateCoreProjection.d.ts +1 -0
  73. package/dist/scripts/generateCoreProjection.js +56 -0
  74. package/dist/scripts/generateDeclarations.d.ts +1 -0
  75. package/dist/scripts/generateDeclarations.js +43 -0
  76. package/dist/scripts/generateDependencies.d.ts +1 -0
  77. package/dist/scripts/generateDependencies.js +25 -0
  78. package/dist/scripts/generateImplementations.d.ts +1 -0
  79. package/dist/scripts/generateImplementations.js +45 -0
  80. package/dist/scripts/generateResourceTypes.d.ts +1 -0
  81. package/dist/scripts/generateResourceTypes.js +33 -0
  82. package/dist/scripts/generateSchemaShims.d.ts +1 -0
  83. package/dist/scripts/generateSchemaShims.js +39 -0
  84. package/dist/scripts/generateStandaloneSchemas.d.ts +1 -0
  85. package/dist/scripts/generateStandaloneSchemas.js +37 -0
  86. package/dist/scripts/generateStandaloneTypes.d.ts +1 -0
  87. package/dist/scripts/generateStandaloneTypes.js +39 -0
  88. package/dist/scripts/generateStandaloneZodSchemas.d.ts +1 -0
  89. package/dist/scripts/generateStandaloneZodSchemas.js +36 -0
  90. package/dist/scripts/generateTerminals.d.ts +1 -0
  91. package/dist/scripts/generateTerminals.js +26 -0
  92. package/dist/scripts/generateTimestampedResources.d.ts +1 -0
  93. package/dist/scripts/generateTimestampedResources.js +79 -0
  94. package/dist/scripts/generateTypes.d.ts +1 -0
  95. package/dist/scripts/generateTypes.js +40 -0
  96. package/dist/scripts/normalizeAnchorsToPointers.d.ts +1 -0
  97. package/dist/scripts/normalizeAnchorsToPointers.js +32 -0
  98. package/dist/tsconfig.tsbuildinfo +1 -0
  99. package/package.json +42 -8
  100. package/generated-src/implementations/tools.ts +0 -214
  101. package/generated-src/metadata/Core.json +0 -1929
  102. package/generated-src/metadata/dependencyMap.json +0 -297
  103. package/generated-src/metadata/terminals.json +0 -16
  104. package/generated-src/schemas/standalone/Boolean.json +0 -5
  105. package/generated-src/schemas/standalone/Error.json +0 -78
  106. package/generated-src/schemas/standalone/Goal.json +0 -53
  107. package/generated-src/schemas/standalone/Natural.json +0 -6
  108. package/generated-src/schemas/standalone/Resource.json +0 -166
  109. package/generated-src/schemas/standalone/ResourceType.json +0 -147
  110. package/generated-src/schemas/standalone/Strategy.json +0 -637
  111. package/generated-src/schemas/standalone/StrategyTrace.json +0 -816
  112. package/generated-src/schemas/standalone/Suite.json +0 -646
  113. package/generated-src/schemas/standalone/Tool.json +0 -533
  114. package/generated-src/schemas/zod/Error.ts +0 -11
  115. package/generated-src/schemas/zod/Goal.ts +0 -8
  116. package/generated-src/schemas/zod/Resource.ts +0 -21
  117. package/generated-src/schemas/zod/ResourceType.ts +0 -14
  118. package/generated-src/schemas/zod/Strategy.ts +0 -68
  119. package/generated-src/schemas/zod/StrategyTrace.ts +0 -75
  120. package/generated-src/schemas/zod/Suite.ts +0 -44
  121. package/generated-src/schemas/zod/Tool.ts +0 -34
  122. package/src/declarations/booleans.json +0 -4
  123. package/src/declarations/naturals.json +0 -13
  124. package/src/declarations/resourceTypes/resourceTypeShells.json +0 -53
  125. package/src/declarations/resourceTypes/schemas.json +0 -1839
  126. package/src/declarations/tools.json +0 -705
  127. package/src/implementations/tools.ts +0 -214
  128. package/src/index.ts +0 -131
  129. package/src/utils/constantsAndMappings.ts +0 -361
  130. package/src/utils/coreProjection.ts +0 -53
  131. package/src/utils/resourceTypes.ts +0 -71
  132. package/src/utils/schemaDependencies.ts +0 -115
  133. package/src/utils/schemaObjectNormalization.ts +0 -71
  134. package/src/utils/schemaRefNormalization.ts +0 -83
  135. package/src/utils/schemaShims.ts +0 -17
  136. package/src/utils/standaloneSchemas.ts +0 -114
  137. package/src/utils/standaloneTypes.ts +0 -28
  138. package/src/utils/standaloneZodSchemas.ts +0 -72
  139. package/src/utils/timestampedResources.ts +0 -42
  140. package/src/utils/typeGeneration.ts +0 -31
  141. package/src/utils/typeGenerationPostProcess.ts +0 -246
  142. package/src/utils/typeGenerationPreflight.ts +0 -119
  143. package/src/utils/zodCodegen.ts +0 -549
  144. /package/{generated-src/declarations/booleans.ts → dist/generated-src/declarations/booleans.js} +0 -0
  145. /package/{generated-src/declarations/naturals.ts → dist/generated-src/declarations/naturals.js} +0 -0
  146. /package/{generated-src/declarations/resourceTypes.ts → dist/generated-src/declarations/resourceTypes.js} +0 -0
  147. /package/{generated-src/declarations/tools.ts → dist/generated-src/declarations/tools.js} +0 -0
  148. /package/{generated-src/schemas/schemas.ts → dist/generated-src/schemas/schemas.js} +0 -0
  149. /package/{generated-src/schemas/standalone/Boolean.ts → dist/generated-src/schemas/standalone/Boolean.js} +0 -0
  150. /package/{generated-src/schemas/standalone/Error.ts → dist/generated-src/schemas/standalone/Error.js} +0 -0
  151. /package/{generated-src/schemas/standalone/Goal.ts → dist/generated-src/schemas/standalone/Goal.js} +0 -0
  152. /package/{generated-src/schemas/standalone/Natural.ts → dist/generated-src/schemas/standalone/Natural.js} +0 -0
  153. /package/{generated-src/schemas/standalone/Resource.ts → dist/generated-src/schemas/standalone/Resource.js} +0 -0
  154. /package/{generated-src/schemas/standalone/ResourceType.ts → dist/generated-src/schemas/standalone/ResourceType.js} +0 -0
  155. /package/{generated-src/schemas/standalone/Strategy.ts → dist/generated-src/schemas/standalone/Strategy.js} +0 -0
  156. /package/{generated-src/schemas/standalone/StrategyTrace.ts → dist/generated-src/schemas/standalone/StrategyTrace.js} +0 -0
  157. /package/{generated-src/schemas/standalone/Suite.ts → dist/generated-src/schemas/standalone/Suite.js} +0 -0
  158. /package/{generated-src/schemas/standalone/Tool.ts → dist/generated-src/schemas/standalone/Tool.js} +0 -0
  159. /package/{generated-src/schemas/zod/index.ts → dist/generated-src/schemas/zod/index.js} +0 -0
  160. /package/{generated-src/timestampedResources/booleans.ts → dist/generated-src/timestampedResources/booleans.js} +0 -0
  161. /package/{generated-src/timestampedResources/naturals.ts → dist/generated-src/timestampedResources/naturals.js} +0 -0
  162. /package/{generated-src/timestampedResources/resourceTypes.ts → dist/generated-src/timestampedResources/resourceTypes.js} +0 -0
  163. /package/{generated-src/timestampedResources/tools.ts → dist/generated-src/timestampedResources/tools.js} +0 -0
  164. /package/{generated-src → dist/generated-src}/types/standalone/BooleanResource.d.ts +0 -0
  165. /package/{generated-src → dist/generated-src}/types/standalone/BooleanResource.js +0 -0
  166. /package/{generated-src → dist/generated-src}/types/standalone/ErrorResource.d.ts +0 -0
  167. /package/{generated-src → dist/generated-src}/types/standalone/ErrorResource.js +0 -0
  168. /package/{generated-src → dist/generated-src}/types/standalone/GoalResource.d.ts +0 -0
  169. /package/{generated-src → dist/generated-src}/types/standalone/GoalResource.js +0 -0
  170. /package/{generated-src → dist/generated-src}/types/standalone/NaturalResource.d.ts +0 -0
  171. /package/{generated-src → dist/generated-src}/types/standalone/NaturalResource.js +0 -0
  172. /package/{generated-src → dist/generated-src}/types/standalone/ResourceResource.d.ts +0 -0
  173. /package/{generated-src → dist/generated-src}/types/standalone/ResourceResource.js +0 -0
  174. /package/{generated-src → dist/generated-src}/types/standalone/ResourceTypeResource.d.ts +0 -0
  175. /package/{generated-src → dist/generated-src}/types/standalone/ResourceTypeResource.js +0 -0
  176. /package/{generated-src → dist/generated-src}/types/standalone/StrategyResource.d.ts +0 -0
  177. /package/{generated-src → dist/generated-src}/types/standalone/StrategyResource.js +0 -0
  178. /package/{generated-src → dist/generated-src}/types/standalone/StrategyTraceResource.d.ts +0 -0
  179. /package/{generated-src → dist/generated-src}/types/standalone/StrategyTraceResource.js +0 -0
  180. /package/{generated-src → dist/generated-src}/types/standalone/SuiteResource.d.ts +0 -0
  181. /package/{generated-src → dist/generated-src}/types/standalone/SuiteResource.js +0 -0
  182. /package/{generated-src → dist/generated-src}/types/standalone/ToolResource.d.ts +0 -0
  183. /package/{generated-src → dist/generated-src}/types/standalone/ToolResource.js +0 -0
  184. /package/{generated-src → dist/generated-src}/types/types.d.ts +0 -0
  185. /package/{generated-src → dist/generated-src}/types/types.js +0 -0
@@ -0,0 +1,816 @@
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
+ "projection"
658
+ ],
659
+ "properties": {
660
+ "projection": true
661
+ },
662
+ "$comment": "The projection field stores the Core-visible JSON projection of the Resource, not the raw underlying artifact. This will be overlaid dynamically to match the data structure of the underlying ResourceType's projectionSchema.",
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
+ ],
711
+ "properties": {
712
+ "id": {
713
+ "$ref": "#/$defs/ResourceId"
714
+ },
715
+ "resourceTypeHandle": {
716
+ "$ref": "#/$defs/ResourceTypeHandle"
717
+ }
718
+ },
719
+ "allOf": [
720
+ {
721
+ "$ref": "#/$defs/ProvenanceFacet"
722
+ }
723
+ ],
724
+ "unevaluatedProperties": false
725
+ },
726
+ "OutputAddress": {
727
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
728
+ "type": "object",
729
+ "required": [
730
+ "roleName",
731
+ "toolStepPath"
732
+ ],
733
+ "properties": {
734
+ "roleName": {
735
+ "$ref": "#/$defs/RoleName"
736
+ },
737
+ "toolStepPath": {
738
+ "$ref": "#/$defs/ToolStepPath"
739
+ }
740
+ },
741
+ "unevaluatedProperties": false
742
+ },
743
+ "ProvenanceFacet": {
744
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
745
+ "type": "object",
746
+ "required": [
747
+ "provenance"
748
+ ],
749
+ "properties": {
750
+ "provenance": {
751
+ "$ref": "#/$defs/Provenance"
752
+ }
753
+ }
754
+ },
755
+ "ToolStepPath": {
756
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
757
+ "oneOf": [
758
+ {
759
+ "$ref": "#/$defs/UnthreadedToolStepPath"
760
+ },
761
+ {
762
+ "$ref": "#/$defs/ThreadedToolStepPath"
763
+ }
764
+ ]
765
+ },
766
+ "Provenance": {
767
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
768
+ "oneOf": [
769
+ {
770
+ "$ref": "#/$defs/GenesisProvenance"
771
+ },
772
+ {
773
+ "$ref": "#/$defs/StrategyProvenance"
774
+ }
775
+ ]
776
+ },
777
+ "UnthreadedToolStepPath": {
778
+ "type": "string",
779
+ "pattern": "^/steps/[0-9]+/(self|case/when|case/what|cases/[0-9]+/when|cases/[0-9]+/what)$"
780
+ },
781
+ "GenesisProvenance": {
782
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
783
+ "type": "object",
784
+ "required": [
785
+ "provenanceKind"
786
+ ],
787
+ "properties": {
788
+ "provenanceKind": {
789
+ "const": "genesis"
790
+ }
791
+ },
792
+ "unevaluatedProperties": false
793
+ },
794
+ "StrategyProvenance": {
795
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
796
+ "type": "object",
797
+ "required": [
798
+ "provenanceKind",
799
+ "strategyTraceHandle",
800
+ "outputAddress"
801
+ ],
802
+ "properties": {
803
+ "provenanceKind": {
804
+ "const": "strategy"
805
+ },
806
+ "strategyTraceHandle": {
807
+ "$ref": "#/$defs/StrategyTraceHandle"
808
+ },
809
+ "outputAddress": {
810
+ "$ref": "#/$defs/OutputAddress"
811
+ }
812
+ },
813
+ "unevaluatedProperties": false
814
+ }
815
+ }
816
+ }